@openc3/vue-common 6.7.0 → 6.8.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.
Files changed (406) hide show
  1. package/dist/{ArrayWidget-B__t3xOt.cjs → ArrayWidget-DaONH8Iv.cjs} +2 -2
  2. package/dist/{ArrayWidget-B__t3xOt.cjs.map → ArrayWidget-DaONH8Iv.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-BSG8KEtf.js → ArrayWidget-j3ncPuPx.js} +4 -4
  4. package/dist/{ArrayWidget-BSG8KEtf.js.map → ArrayWidget-j3ncPuPx.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-BduWyJlL.cjs → ArrayplotWidget-DPMVlst7.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-BduWyJlL.cjs.map → ArrayplotWidget-DPMVlst7.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-WVu76Kqn.js → ArrayplotWidget-DuLaiGa9.js} +3 -3
  8. package/dist/{ArrayplotWidget-WVu76Kqn.js.map → ArrayplotWidget-DuLaiGa9.js.map} +1 -1
  9. package/dist/{BarColumn-Cflh9pUz.js → BarColumn-BWJ0Dd4O.js} +3 -3
  10. package/dist/{BarColumn-Cflh9pUz.js.map → BarColumn-BWJ0Dd4O.js.map} +1 -1
  11. package/dist/{BarColumn-DVn9f2WO.cjs → BarColumn-CchXr_ex.cjs} +2 -2
  12. package/dist/{BarColumn-DVn9f2WO.cjs.map → BarColumn-CchXr_ex.cjs.map} +1 -1
  13. package/dist/{BlockWidget-B7ryWGCq.js → BlockWidget-Bf5Dd6Cr.js} +4 -4
  14. package/dist/{BlockWidget-B7ryWGCq.js.map → BlockWidget-Bf5Dd6Cr.js.map} +1 -1
  15. package/dist/{BlockWidget-CRqA09Ve.cjs → BlockWidget-CeDueZQ0.cjs} +2 -2
  16. package/dist/{BlockWidget-CRqA09Ve.cjs.map → BlockWidget-CeDueZQ0.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-Bb46aUCR.cjs → ButtonWidget-BZulfQct.cjs} +3 -3
  18. package/dist/{ButtonWidget-Bb46aUCR.cjs.map → ButtonWidget-BZulfQct.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-BKih3ix9.js → ButtonWidget-bl_mGFYh.js} +16 -20
  20. package/dist/{ButtonWidget-BKih3ix9.js.map → ButtonWidget-bl_mGFYh.js.map} +1 -1
  21. package/dist/{CanvasWidget-DT_vPAoc.cjs → CanvasWidget-DwAXTAyn.cjs} +2 -2
  22. package/dist/{CanvasWidget-DT_vPAoc.cjs.map → CanvasWidget-DwAXTAyn.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-DT9xMSfb.js → CanvasWidget-boDemgx1.js} +2 -2
  24. package/dist/{CanvasWidget-DT9xMSfb.js.map → CanvasWidget-boDemgx1.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-7H5Hvcn-.js → CanvasdotWidget-BZBbJcER.js} +2 -2
  26. package/dist/{CanvasdotWidget-7H5Hvcn-.js.map → CanvasdotWidget-BZBbJcER.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-DNSQriVo.cjs → CanvasdotWidget-ByJp9ZIa.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-DNSQriVo.cjs.map → CanvasdotWidget-ByJp9ZIa.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-BbWYx6Gj.js → CanvasimageWidget-6ywvT5jd.js} +3 -3
  30. package/dist/{CanvasimageWidget-BbWYx6Gj.js.map → CanvasimageWidget-6ywvT5jd.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-CfleScIF.cjs → CanvasimageWidget-BDprHuH3.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-CfleScIF.cjs.map → CanvasimageWidget-BDprHuH3.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-ouM4DBeD.cjs → CanvasimagevalueWidget-Cl_EuzNC.cjs} +2 -2
  34. package/dist/{CanvasimagevalueWidget-ouM4DBeD.cjs.map → CanvasimagevalueWidget-Cl_EuzNC.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-Blvoe2X4.js → CanvasimagevalueWidget-DjWrA3gX.js} +3 -3
  36. package/dist/{CanvasimagevalueWidget-Blvoe2X4.js.map → CanvasimagevalueWidget-DjWrA3gX.js.map} +1 -1
  37. package/dist/{CanvaslabelWidget-BPx_Rm4o.js → CanvaslabelWidget-Bq4V2BQh.js} +2 -2
  38. package/dist/{CanvaslabelWidget-BPx_Rm4o.js.map → CanvaslabelWidget-Bq4V2BQh.js.map} +1 -1
  39. package/dist/{CanvaslabelWidget-DB3qox5N.cjs → CanvaslabelWidget-aalWFBxK.cjs} +2 -2
  40. package/dist/{CanvaslabelWidget-DB3qox5N.cjs.map → CanvaslabelWidget-aalWFBxK.cjs.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-DzdWvL0W.js → CanvaslabelvalueWidget-C8oNcFLi.js} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-DzdWvL0W.js.map → CanvaslabelvalueWidget-C8oNcFLi.js.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-2k6TjSNj.cjs → CanvaslabelvalueWidget-DIO0fADo.cjs} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-2k6TjSNj.cjs.map → CanvaslabelvalueWidget-DIO0fADo.cjs.map} +1 -1
  45. package/dist/{CanvaslineWidget-oAoznYZP.cjs → CanvaslineWidget-CqNOzV_A.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-oAoznYZP.cjs.map → CanvaslineWidget-CqNOzV_A.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-CqskilGk.js → CanvaslineWidget-nvbL2GoL.js} +2 -2
  48. package/dist/{CanvaslineWidget-CqskilGk.js.map → CanvaslineWidget-nvbL2GoL.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-BmyIxGNz.cjs → CanvaslinevalueWidget-D0kOhxXn.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-BmyIxGNz.cjs.map → CanvaslinevalueWidget-D0kOhxXn.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-C0JIKdvZ.js → CanvaslinevalueWidget-ZACQedKx.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-C0JIKdvZ.js.map → CanvaslinevalueWidget-ZACQedKx.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-C9FbJx2v.js → CheckbuttonWidget-B82UE8AB.js} +2 -2
  54. package/dist/{CheckbuttonWidget-C9FbJx2v.js.map → CheckbuttonWidget-B82UE8AB.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-C548xrRy.cjs → CheckbuttonWidget-L9xyRwfS.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-C548xrRy.cjs.map → CheckbuttonWidget-L9xyRwfS.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-BTdLBSfy.cjs → ClassificationBanners-ZF9Ab7D0.cjs} +2 -2
  58. package/dist/{ClassificationBanners-BTdLBSfy.cjs.map → ClassificationBanners-ZF9Ab7D0.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-CgJiwgTp.js → ClassificationBanners-jiqWjTAZ.js} +2 -2
  60. package/dist/{ClassificationBanners-CgJiwgTp.js.map → ClassificationBanners-jiqWjTAZ.js.map} +1 -1
  61. package/dist/{ComboboxWidget-BbNKT0s8.js → ComboboxWidget-4OFiSkI6.js} +2 -2
  62. package/dist/{ComboboxWidget-BbNKT0s8.js.map → ComboboxWidget-4OFiSkI6.js.map} +1 -1
  63. package/dist/{ComboboxWidget-AErojGw0.cjs → ComboboxWidget-6hmnB_mK.cjs} +2 -2
  64. package/dist/{ComboboxWidget-AErojGw0.cjs.map → ComboboxWidget-6hmnB_mK.cjs.map} +1 -1
  65. package/dist/{CriticalCmdDialog-N06JxCHg.cjs → CriticalCmdDialog-C-UGhtjE.cjs} +2 -2
  66. package/dist/{CriticalCmdDialog-N06JxCHg.cjs.map → CriticalCmdDialog-C-UGhtjE.cjs.map} +1 -1
  67. package/dist/{CriticalCmdDialog-CF7Sqjdm.js → CriticalCmdDialog-FhXDdBn4.js} +9 -12
  68. package/dist/{CriticalCmdDialog-CF7Sqjdm.js.map → CriticalCmdDialog-FhXDdBn4.js.map} +1 -1
  69. package/dist/{DateWidget-CBMsdRUE.js → DateWidget-BmwtdirF.js} +2 -2
  70. package/dist/{DateWidget-CBMsdRUE.js.map → DateWidget-BmwtdirF.js.map} +1 -1
  71. package/dist/{DateWidget-CCIkDM9_.cjs → DateWidget-CmSp7svA.cjs} +2 -2
  72. package/dist/{DateWidget-CCIkDM9_.cjs.map → DateWidget-CmSp7svA.cjs.map} +1 -1
  73. package/dist/{DetailsDialog-DRVahE5z.js → DetailsDialog-CLKEfU0s.js} +126 -158
  74. package/dist/{DetailsDialog-DRVahE5z.js.map → DetailsDialog-CLKEfU0s.js.map} +1 -1
  75. package/dist/DetailsDialog-DEicfRO1.cjs +2 -0
  76. package/dist/{DetailsDialog-CVYBgZll.cjs.map → DetailsDialog-DEicfRO1.cjs.map} +1 -1
  77. package/dist/{EventListDialog-DDWL9gIQ.js → EventListDialog-BvSMSn7J.js} +53 -68
  78. package/dist/{EventListDialog-DDWL9gIQ.js.map → EventListDialog-BvSMSn7J.js.map} +1 -1
  79. package/dist/EventListDialog-Em1RcH7I.cjs +2 -0
  80. package/dist/{EventListDialog-CjYLRdkb.cjs.map → EventListDialog-Em1RcH7I.cjs.map} +1 -1
  81. package/dist/{FormatvalueWidget-BLWsqhIZ.js → FormatvalueWidget-C8exC3bj.js} +3 -3
  82. package/dist/{FormatvalueWidget-BLWsqhIZ.js.map → FormatvalueWidget-C8exC3bj.js.map} +1 -1
  83. package/dist/{FormatvalueWidget-BiaqheLJ.cjs → FormatvalueWidget-auKALSPC.cjs} +2 -2
  84. package/dist/{FormatvalueWidget-BiaqheLJ.cjs.map → FormatvalueWidget-auKALSPC.cjs.map} +1 -1
  85. package/dist/Graph-BJqtVAaV.cjs +2 -0
  86. package/dist/Graph-BJqtVAaV.cjs.map +1 -0
  87. package/dist/{Graph-BiU56Qj2.js → Graph-CWcrowaT.js} +384 -391
  88. package/dist/Graph-CWcrowaT.js.map +1 -0
  89. package/dist/{GraphWidget-cfgX_skM.cjs → GraphWidget-BroqS0SO.cjs} +2 -2
  90. package/dist/{GraphWidget-cfgX_skM.cjs.map → GraphWidget-BroqS0SO.cjs.map} +1 -1
  91. package/dist/{GraphWidget-Ga0AEfrJ.js → GraphWidget-CvzxZYVx.js} +2 -2
  92. package/dist/{GraphWidget-Ga0AEfrJ.js.map → GraphWidget-CvzxZYVx.js.map} +1 -1
  93. package/dist/{HorizontalWidget-CsVhLwZO.js → HorizontalWidget-Ck151zVw.js} +2 -2
  94. package/dist/{HorizontalWidget-CsVhLwZO.js.map → HorizontalWidget-Ck151zVw.js.map} +1 -1
  95. package/dist/{HorizontalWidget-i6aqMSRv.cjs → HorizontalWidget-DBeyBZCp.cjs} +2 -2
  96. package/dist/{HorizontalWidget-i6aqMSRv.cjs.map → HorizontalWidget-DBeyBZCp.cjs.map} +1 -1
  97. package/dist/{HorizontalboxWidget-B_S8mswF.cjs → HorizontalboxWidget-CuWtYdgh.cjs} +2 -2
  98. package/dist/{HorizontalboxWidget-B_S8mswF.cjs.map → HorizontalboxWidget-CuWtYdgh.cjs.map} +1 -1
  99. package/dist/{HorizontalboxWidget-xC6PADl3.js → HorizontalboxWidget-D3P-cl9V.js} +5 -5
  100. package/dist/{HorizontalboxWidget-xC6PADl3.js.map → HorizontalboxWidget-D3P-cl9V.js.map} +1 -1
  101. package/dist/{HorizontallineWidget-NZIxmRVN.js → HorizontallineWidget-BE1TjPU8.js} +2 -2
  102. package/dist/{HorizontallineWidget-NZIxmRVN.js.map → HorizontallineWidget-BE1TjPU8.js.map} +1 -1
  103. package/dist/{HorizontallineWidget-Cpys-185.cjs → HorizontallineWidget-QUFjdOSu.cjs} +2 -2
  104. package/dist/{HorizontallineWidget-Cpys-185.cjs.map → HorizontallineWidget-QUFjdOSu.cjs.map} +1 -1
  105. package/dist/{IframeWidget-BgzjSfag.js → IframeWidget-BgJCgues.js} +2 -2
  106. package/dist/{IframeWidget-BgzjSfag.js.map → IframeWidget-BgJCgues.js.map} +1 -1
  107. package/dist/{IframeWidget-CCdvd8rg.cjs → IframeWidget-DOZ1YyS2.cjs} +2 -2
  108. package/dist/{IframeWidget-CCdvd8rg.cjs.map → IframeWidget-DOZ1YyS2.cjs.map} +1 -1
  109. package/dist/{ImageLoader-BIKl6vGc.cjs → ImageLoader-AGF0VbZ5.cjs} +2 -2
  110. package/dist/{ImageLoader-BIKl6vGc.cjs.map → ImageLoader-AGF0VbZ5.cjs.map} +1 -1
  111. package/dist/{ImageLoader-DbFVK1Ui.js → ImageLoader-CWn-PLOk.js} +2 -2
  112. package/dist/{ImageLoader-DbFVK1Ui.js.map → ImageLoader-CWn-PLOk.js.map} +1 -1
  113. package/dist/{ImageviewerWidget-BnT5m-nw.js → ImageviewerWidget-BlhFZD2f.js} +2 -2
  114. package/dist/{ImageviewerWidget-BnT5m-nw.js.map → ImageviewerWidget-BlhFZD2f.js.map} +1 -1
  115. package/dist/{ImageviewerWidget-lnralJZa.cjs → ImageviewerWidget-DnmhYP68.cjs} +2 -2
  116. package/dist/{ImageviewerWidget-lnralJZa.cjs.map → ImageviewerWidget-DnmhYP68.cjs.map} +1 -1
  117. package/dist/{InterfacesTab-DjlzjJYG.cjs → InterfacesTab-76UJTIwF.cjs} +2 -2
  118. package/dist/{InterfacesTab-DjlzjJYG.cjs.map → InterfacesTab-76UJTIwF.cjs.map} +1 -1
  119. package/dist/{InterfacesTab-Cd_RITVP.js → InterfacesTab-Cwz-zG7j.js} +3 -3
  120. package/dist/{InterfacesTab-Cd_RITVP.js.map → InterfacesTab-Cwz-zG7j.js.map} +1 -1
  121. package/dist/{LabelWidget-CRHSFVPT.cjs → LabelWidget-C0DhD9Mn.cjs} +2 -2
  122. package/dist/{LabelWidget-CRHSFVPT.cjs.map → LabelWidget-C0DhD9Mn.cjs.map} +1 -1
  123. package/dist/{LabelWidget-DSDYmz6X.js → LabelWidget-Cwosk4x2.js} +2 -2
  124. package/dist/{LabelWidget-DSDYmz6X.js.map → LabelWidget-Cwosk4x2.js.map} +1 -1
  125. package/dist/{LabelledWidget-BXf9cTf_.cjs → LabelledWidget-D8-aKfA_.cjs} +2 -2
  126. package/dist/{LabelledWidget-BXf9cTf_.cjs.map → LabelledWidget-D8-aKfA_.cjs.map} +1 -1
  127. package/dist/{LabelledWidget-DMb-myxs.js → LabelledWidget-Dl6rAFTQ.js} +4 -4
  128. package/dist/{LabelledWidget-DMb-myxs.js.map → LabelledWidget-Dl6rAFTQ.js.map} +1 -1
  129. package/dist/{LabelprogressbarWidget-BNHaAUXq.cjs → LabelprogressbarWidget-DosPhvaY.cjs} +2 -2
  130. package/dist/{LabelprogressbarWidget-BNHaAUXq.cjs.map → LabelprogressbarWidget-DosPhvaY.cjs.map} +1 -1
  131. package/dist/{LabelprogressbarWidget-CkjDJBao.js → LabelprogressbarWidget-MuAKesOz.js} +4 -4
  132. package/dist/{LabelprogressbarWidget-CkjDJBao.js.map → LabelprogressbarWidget-MuAKesOz.js.map} +1 -1
  133. package/dist/{LabelsparklineWidget-DBYPFz3Y.js → LabelsparklineWidget-6LA6Ox3d.js} +4 -4
  134. package/dist/{LabelsparklineWidget-DBYPFz3Y.js.map → LabelsparklineWidget-6LA6Ox3d.js.map} +1 -1
  135. package/dist/{LabelsparklineWidget-BpHMkt-L.cjs → LabelsparklineWidget-CLU8722I.cjs} +2 -2
  136. package/dist/{LabelsparklineWidget-BpHMkt-L.cjs.map → LabelsparklineWidget-CLU8722I.cjs.map} +1 -1
  137. package/dist/{LabelvalueWidget-DlTkJC4i.js → LabelvalueWidget-BxAXx-Tf.js} +4 -4
  138. package/dist/{LabelvalueWidget-DlTkJC4i.js.map → LabelvalueWidget-BxAXx-Tf.js.map} +1 -1
  139. package/dist/{LabelvalueWidget-BFHYb64m.cjs → LabelvalueWidget-WP4gK29n.cjs} +2 -2
  140. package/dist/{LabelvalueWidget-BFHYb64m.cjs.map → LabelvalueWidget-WP4gK29n.cjs.map} +1 -1
  141. package/dist/{LabelvaluedescWidget-CUld9MqE.cjs → LabelvaluedescWidget-BQ-6OXHc.cjs} +2 -2
  142. package/dist/{LabelvaluedescWidget-CUld9MqE.cjs.map → LabelvaluedescWidget-BQ-6OXHc.cjs.map} +1 -1
  143. package/dist/{LabelvaluedescWidget-dRqnGZub.js → LabelvaluedescWidget-Dwwlnd1g.js} +5 -5
  144. package/dist/{LabelvaluedescWidget-dRqnGZub.js.map → LabelvaluedescWidget-Dwwlnd1g.js.map} +1 -1
  145. package/dist/{LabelvaluelimitsbarWidget-CS4NAPJ1.js → LabelvaluelimitsbarWidget-Dv8Qk8kK.js} +4 -4
  146. package/dist/{LabelvaluelimitsbarWidget-CS4NAPJ1.js.map → LabelvaluelimitsbarWidget-Dv8Qk8kK.js.map} +1 -1
  147. package/dist/{LabelvaluelimitsbarWidget-Br_PXH0r.cjs → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs} +2 -2
  148. package/dist/{LabelvaluelimitsbarWidget-Br_PXH0r.cjs.map → LabelvaluelimitsbarWidget-Z_7ARnvo.cjs.map} +1 -1
  149. package/dist/{LabelvaluelimitscolumnWidget-D9x4Ppv8.js → LabelvaluelimitscolumnWidget-D-_gl6fq.js} +5 -5
  150. package/dist/{LabelvaluelimitscolumnWidget-D9x4Ppv8.js.map → LabelvaluelimitscolumnWidget-D-_gl6fq.js.map} +1 -1
  151. package/dist/{LabelvaluelimitscolumnWidget-DjLG10C5.cjs → LabelvaluelimitscolumnWidget-DiO1b01N.cjs} +2 -2
  152. package/dist/{LabelvaluelimitscolumnWidget-DjLG10C5.cjs.map → LabelvaluelimitscolumnWidget-DiO1b01N.cjs.map} +1 -1
  153. package/dist/{LabelvaluerangebarWidget-Dhyng4-n.js → LabelvaluerangebarWidget-B3MKT-3Y.js} +4 -4
  154. package/dist/{LabelvaluerangebarWidget-Dhyng4-n.js.map → LabelvaluerangebarWidget-B3MKT-3Y.js.map} +1 -1
  155. package/dist/{LabelvaluerangebarWidget-CsUfrGAM.cjs → LabelvaluerangebarWidget-DtajHP0b.cjs} +2 -2
  156. package/dist/{LabelvaluerangebarWidget-CsUfrGAM.cjs.map → LabelvaluerangebarWidget-DtajHP0b.cjs.map} +1 -1
  157. package/dist/{Layout-mWR35VAD.js → Layout-Bkb6VP3e.js} +2 -2
  158. package/dist/{Layout-mWR35VAD.js.map → Layout-Bkb6VP3e.js.map} +1 -1
  159. package/dist/Layout-CSbYbZWA.cjs +2 -0
  160. package/dist/{Layout-DDktMnzb.cjs.map → Layout-CSbYbZWA.cjs.map} +1 -1
  161. package/dist/{LedWidget-D8cq4pUv.js → LedWidget-DOuDD8LI.js} +4 -4
  162. package/dist/{LedWidget-D8cq4pUv.js.map → LedWidget-DOuDD8LI.js.map} +1 -1
  163. package/dist/{LedWidget-CCQWCw80.cjs → LedWidget-DeREi8-u.cjs} +2 -2
  164. package/dist/{LedWidget-CCQWCw80.cjs.map → LedWidget-DeREi8-u.cjs.map} +1 -1
  165. package/dist/LimitsbarWidget-BHr3IcIx.cjs +2 -0
  166. package/dist/{LimitsbarWidget-D4O0LWuC.cjs.map → LimitsbarWidget-BHr3IcIx.cjs.map} +1 -1
  167. package/dist/{LimitsbarWidget-VGJnDuVM.js → LimitsbarWidget-D1U6SvVL.js} +4 -4
  168. package/dist/{LimitsbarWidget-VGJnDuVM.js.map → LimitsbarWidget-D1U6SvVL.js.map} +1 -1
  169. package/dist/{LimitscolorWidget-BvxsopUs.cjs → LimitscolorWidget-BUkKRrSL.cjs} +2 -2
  170. package/dist/{LimitscolorWidget-BvxsopUs.cjs.map → LimitscolorWidget-BUkKRrSL.cjs.map} +1 -1
  171. package/dist/{LimitscolorWidget-CG6Pqi12.js → LimitscolorWidget-iSMGusqt.js} +2 -2
  172. package/dist/{LimitscolorWidget-CG6Pqi12.js.map → LimitscolorWidget-iSMGusqt.js.map} +1 -1
  173. package/dist/{LimitscolumnWidget-Z9JnMlDS.cjs → LimitscolumnWidget-COfNnb6f.cjs} +2 -2
  174. package/dist/{LimitscolumnWidget-Z9JnMlDS.cjs.map → LimitscolumnWidget-COfNnb6f.cjs.map} +1 -1
  175. package/dist/{LimitscolumnWidget-DjovQdiT.js → LimitscolumnWidget-DjxZTt_r.js} +4 -4
  176. package/dist/{LimitscolumnWidget-DjovQdiT.js.map → LimitscolumnWidget-DjxZTt_r.js.map} +1 -1
  177. package/dist/{LinegraphWidget-DSWAhXgZ.js → LinegraphWidget-BHKU6zlT.js} +4 -4
  178. package/dist/{LinegraphWidget-DSWAhXgZ.js.map → LinegraphWidget-BHKU6zlT.js.map} +1 -1
  179. package/dist/{LinegraphWidget-B_ECNLzU.cjs → LinegraphWidget-RleSRWKa.cjs} +2 -2
  180. package/dist/{LinegraphWidget-B_ECNLzU.cjs.map → LinegraphWidget-RleSRWKa.cjs.map} +1 -1
  181. package/dist/{MatrixbycolumnsWidget-C3cuhRxz.js → MatrixbycolumnsWidget-BKO-A2QD.js} +3 -3
  182. package/dist/{MatrixbycolumnsWidget-C3cuhRxz.js.map → MatrixbycolumnsWidget-BKO-A2QD.js.map} +1 -1
  183. package/dist/{MatrixbycolumnsWidget-CPFzRQN5.cjs → MatrixbycolumnsWidget-DWouVj7A.cjs} +2 -2
  184. package/dist/{MatrixbycolumnsWidget-CPFzRQN5.cjs.map → MatrixbycolumnsWidget-DWouVj7A.cjs.map} +1 -1
  185. package/dist/{MicroservicesTab-BGgwT56M.cjs → MicroservicesTab-L6qMAy4x.cjs} +2 -2
  186. package/dist/{MicroservicesTab-BGgwT56M.cjs.map → MicroservicesTab-L6qMAy4x.cjs.map} +1 -1
  187. package/dist/{MicroservicesTab-Dbp02UlV.js → MicroservicesTab-xLup6THU.js} +4 -4
  188. package/dist/{MicroservicesTab-Dbp02UlV.js.map → MicroservicesTab-xLup6THU.js.map} +1 -1
  189. package/dist/{Openc3Screen-CkdegNDJ.js → Openc3Screen-1rQ_Dbp4.js} +403 -398
  190. package/dist/Openc3Screen-1rQ_Dbp4.js.map +1 -0
  191. package/dist/Openc3Screen-BHHnSEoI.cjs +6 -0
  192. package/dist/Openc3Screen-BHHnSEoI.cjs.map +1 -0
  193. package/dist/{OutputDialog-2CmOBAEE.cjs → OutputDialog-DgM7aoa-.cjs} +2 -2
  194. package/dist/{OutputDialog-2CmOBAEE.cjs.map → OutputDialog-DgM7aoa-.cjs.map} +1 -1
  195. package/dist/{OutputDialog-M5Xc_DqH.js → OutputDialog-Ut5cXGxQ.js} +5 -6
  196. package/dist/{OutputDialog-M5Xc_DqH.js.map → OutputDialog-Ut5cXGxQ.js.map} +1 -1
  197. package/dist/{PackagesTab-HQCOIGZK.js → PackagesTab-ChJDyU3Z.js} +30 -36
  198. package/dist/{PackagesTab-HQCOIGZK.js.map → PackagesTab-ChJDyU3Z.js.map} +1 -1
  199. package/dist/PackagesTab-jqsRJEcJ.cjs +2 -0
  200. package/dist/{PackagesTab-Dwp6g8W0.cjs.map → PackagesTab-jqsRJEcJ.cjs.map} +1 -1
  201. package/dist/{PluginsTab-CZApRILr.js → PluginsTab-CayzDij0.js} +462 -410
  202. package/dist/PluginsTab-CayzDij0.js.map +1 -0
  203. package/dist/PluginsTab-DYEv8EPg.cjs +6 -0
  204. package/dist/PluginsTab-DYEv8EPg.cjs.map +1 -0
  205. package/dist/{ProgressbarWidget-BADSYuUN.cjs → ProgressbarWidget-Xba7gDbW.cjs} +2 -2
  206. package/dist/{ProgressbarWidget-BADSYuUN.cjs.map → ProgressbarWidget-Xba7gDbW.cjs.map} +1 -1
  207. package/dist/{ProgressbarWidget-oCgAEFBO.js → ProgressbarWidget-fbr2qu_N.js} +2 -2
  208. package/dist/{ProgressbarWidget-oCgAEFBO.js.map → ProgressbarWidget-fbr2qu_N.js.map} +1 -1
  209. package/dist/{RadiobuttonWidget-Bklx2_Au.cjs → RadiobuttonWidget-CdpKw7jr.cjs} +2 -2
  210. package/dist/{RadiobuttonWidget-Bklx2_Au.cjs.map → RadiobuttonWidget-CdpKw7jr.cjs.map} +1 -1
  211. package/dist/{RadiobuttonWidget-D4Dak3lc.js → RadiobuttonWidget-DL08zcQT.js} +2 -2
  212. package/dist/{RadiobuttonWidget-D4Dak3lc.js.map → RadiobuttonWidget-DL08zcQT.js.map} +1 -1
  213. package/dist/{RadiogroupWidget-Z2S2tgjG.cjs → RadiogroupWidget-DSA8ENmw.cjs} +2 -2
  214. package/dist/{RadiogroupWidget-Z2S2tgjG.cjs.map → RadiogroupWidget-DSA8ENmw.cjs.map} +1 -1
  215. package/dist/{RadiogroupWidget-Dbe9T4fp.js → RadiogroupWidget-DW9Xpj3c.js} +2 -2
  216. package/dist/{RadiogroupWidget-Dbe9T4fp.js.map → RadiogroupWidget-DW9Xpj3c.js.map} +1 -1
  217. package/dist/{RangebarWidget-C0TpxFDi.cjs → RangebarWidget-B4oRyUwG.cjs} +2 -2
  218. package/dist/{RangebarWidget-C0TpxFDi.cjs.map → RangebarWidget-B4oRyUwG.cjs.map} +1 -1
  219. package/dist/{RangebarWidget-CIVrgqrW.js → RangebarWidget-o9q55kjc.js} +4 -4
  220. package/dist/{RangebarWidget-CIVrgqrW.js.map → RangebarWidget-o9q55kjc.js.map} +1 -1
  221. package/dist/RedisTab-BGz2ZN9T.js +171 -0
  222. package/dist/RedisTab-BGz2ZN9T.js.map +1 -0
  223. package/dist/RedisTab-Uqcfgux1.cjs +2 -0
  224. package/dist/RedisTab-Uqcfgux1.cjs.map +1 -0
  225. package/dist/{RollupWidget-BEDf-mfg.cjs → RollupWidget-43v3NX_Z.cjs} +2 -2
  226. package/dist/{RollupWidget-BEDf-mfg.cjs.map → RollupWidget-43v3NX_Z.cjs.map} +1 -1
  227. package/dist/{RollupWidget-CH1-XNLV.js → RollupWidget-BHnjj-DF.js} +2 -2
  228. package/dist/{RollupWidget-CH1-XNLV.js.map → RollupWidget-BHnjj-DF.js.map} +1 -1
  229. package/dist/{RoutersTab-BA-KlYIm.cjs → RoutersTab-Be53r61Y.cjs} +2 -2
  230. package/dist/{RoutersTab-BA-KlYIm.cjs.map → RoutersTab-Be53r61Y.cjs.map} +1 -1
  231. package/dist/{RoutersTab-WKa6K7B8.js → RoutersTab-CCEPlZ_Y.js} +3 -3
  232. package/dist/{RoutersTab-WKa6K7B8.js.map → RoutersTab-CCEPlZ_Y.js.map} +1 -1
  233. package/dist/{ScriptChooser-LsboGSgh.cjs → ScriptChooser-B6TGFTBN.cjs} +2 -2
  234. package/dist/{ScriptChooser-LsboGSgh.cjs.map → ScriptChooser-B6TGFTBN.cjs.map} +1 -1
  235. package/dist/{ScriptChooser-B5TkGuZ4.js → ScriptChooser-CXjcm3bN.js} +2 -2
  236. package/dist/{ScriptChooser-B5TkGuZ4.js.map → ScriptChooser-CXjcm3bN.js.map} +1 -1
  237. package/dist/{ScrollwindowWidget-BwFG6Wn8.js → ScrollwindowWidget-D-QVwztC.js} +3 -3
  238. package/dist/{ScrollwindowWidget-BwFG6Wn8.js.map → ScrollwindowWidget-D-QVwztC.js.map} +1 -1
  239. package/dist/{ScrollwindowWidget-DWxDmpFB.cjs → ScrollwindowWidget-D6ZHZr3o.cjs} +2 -2
  240. package/dist/{ScrollwindowWidget-DWxDmpFB.cjs.map → ScrollwindowWidget-D6ZHZr3o.cjs.map} +1 -1
  241. package/dist/{SecretsTab-DKX5gLH_.cjs → SecretsTab-DDZ1VoUf.cjs} +2 -2
  242. package/dist/{SecretsTab-DKX5gLH_.cjs.map → SecretsTab-DDZ1VoUf.cjs.map} +1 -1
  243. package/dist/{SecretsTab-Vtvbb_1U.js → SecretsTab-vVy356vr.js} +8 -10
  244. package/dist/{SecretsTab-Vtvbb_1U.js.map → SecretsTab-vVy356vr.js.map} +1 -1
  245. package/dist/{SettingsTab-DilFIQ3K.js → SettingsTab-CbWrf7U9.js} +261 -315
  246. package/dist/{SettingsTab-DilFIQ3K.js.map → SettingsTab-CbWrf7U9.js.map} +1 -1
  247. package/dist/SettingsTab-DsIVE5UL.cjs +3 -0
  248. package/dist/{SettingsTab-Ch52foLm.cjs.map → SettingsTab-DsIVE5UL.cjs.map} +1 -1
  249. package/dist/{SignalWidget-Gz2gHrUm.js → SignalWidget-CsWuufdx.js} +2 -2
  250. package/dist/{SignalWidget-Gz2gHrUm.js.map → SignalWidget-CsWuufdx.js.map} +1 -1
  251. package/dist/{SignalWidget-1WqQFVq9.cjs → SignalWidget-CysAE9ZG.cjs} +2 -2
  252. package/dist/{SignalWidget-1WqQFVq9.cjs.map → SignalWidget-CysAE9ZG.cjs.map} +1 -1
  253. package/dist/{SimpleTextDialog-BwOVWhRY.cjs → SimpleTextDialog-CU6G5CBY.cjs} +2 -2
  254. package/dist/{SimpleTextDialog-BwOVWhRY.cjs.map → SimpleTextDialog-CU6G5CBY.cjs.map} +1 -1
  255. package/dist/{SimpleTextDialog-Cmtrmt79.js → SimpleTextDialog-ChV5vRcV.js} +10 -11
  256. package/dist/{SimpleTextDialog-Cmtrmt79.js.map → SimpleTextDialog-ChV5vRcV.js.map} +1 -1
  257. package/dist/{SpacerWidget-Bzp3aI40.cjs → SpacerWidget-ChNk5TFU.cjs} +2 -2
  258. package/dist/{SpacerWidget-Bzp3aI40.cjs.map → SpacerWidget-ChNk5TFU.cjs.map} +1 -1
  259. package/dist/{SpacerWidget-Bg7VDB0k.js → SpacerWidget-Di9-qunj.js} +2 -2
  260. package/dist/{SpacerWidget-Bg7VDB0k.js.map → SpacerWidget-Di9-qunj.js.map} +1 -1
  261. package/dist/{SparklineWidget-D_b5rfJv.js → SparklineWidget-B6-zhdPW.js} +4 -4
  262. package/dist/{SparklineWidget-D_b5rfJv.js.map → SparklineWidget-B6-zhdPW.js.map} +1 -1
  263. package/dist/{SparklineWidget-kMWjVDrm.cjs → SparklineWidget-D1tVqSRL.cjs} +2 -2
  264. package/dist/{SparklineWidget-kMWjVDrm.cjs.map → SparklineWidget-D1tVqSRL.cjs.map} +1 -1
  265. package/dist/{TabbookWidget-C30f9B6z.js → TabbookWidget-B1E1_mzA.js} +2 -2
  266. package/dist/{TabbookWidget-C30f9B6z.js.map → TabbookWidget-B1E1_mzA.js.map} +1 -1
  267. package/dist/{TabbookWidget-DlVrU3wK.cjs → TabbookWidget-Btg-Axid.cjs} +2 -2
  268. package/dist/{TabbookWidget-DlVrU3wK.cjs.map → TabbookWidget-Btg-Axid.cjs.map} +1 -1
  269. package/dist/{TargetsTab-CEPId9dL.js → TargetsTab-DbbQcBuK.js} +4 -5
  270. package/dist/{TargetsTab-CEPId9dL.js.map → TargetsTab-DbbQcBuK.js.map} +1 -1
  271. package/dist/{TargetsTab-uqjueXlq.cjs → TargetsTab-pbmAAkOA.cjs} +2 -2
  272. package/dist/{TargetsTab-uqjueXlq.cjs.map → TargetsTab-pbmAAkOA.cjs.map} +1 -1
  273. package/dist/{TextBoxDialog-BlZ6MBoW.js → TextBoxDialog-CdFHdj5W.js} +4 -5
  274. package/dist/{TextBoxDialog-BlZ6MBoW.js.map → TextBoxDialog-CdFHdj5W.js.map} +1 -1
  275. package/dist/{TextBoxDialog--uIDsNPU.cjs → TextBoxDialog-DbD8P4Xc.cjs} +2 -2
  276. package/dist/{TextBoxDialog--uIDsNPU.cjs.map → TextBoxDialog-DbD8P4Xc.cjs.map} +1 -1
  277. package/dist/{TextboxWidget-CDqxsgys.js → TextboxWidget-CBVEXPw_.js} +4 -4
  278. package/dist/{TextboxWidget-CDqxsgys.js.map → TextboxWidget-CBVEXPw_.js.map} +1 -1
  279. package/dist/{TextboxWidget-BJka_3dT.cjs → TextboxWidget-CHXcR8lA.cjs} +2 -2
  280. package/dist/{TextboxWidget-BJka_3dT.cjs.map → TextboxWidget-CHXcR8lA.cjs.map} +1 -1
  281. package/dist/{TextfieldWidget-CAyjKJs6.js → TextfieldWidget-DZMHrtQa.js} +2 -2
  282. package/dist/{TextfieldWidget-CAyjKJs6.js.map → TextfieldWidget-DZMHrtQa.js.map} +1 -1
  283. package/dist/{TextfieldWidget-C7_48W7n.cjs → TextfieldWidget-vSJ9CtKs.cjs} +2 -2
  284. package/dist/{TextfieldWidget-C7_48W7n.cjs.map → TextfieldWidget-vSJ9CtKs.cjs.map} +1 -1
  285. package/dist/{TimeWidget-WPWiADCI.cjs → TimeWidget-ClkxS_oo.cjs} +2 -2
  286. package/dist/{TimeWidget-WPWiADCI.cjs.map → TimeWidget-ClkxS_oo.cjs.map} +1 -1
  287. package/dist/{TimeWidget-BQsP0G2X.js → TimeWidget-K4MNmJ7J.js} +2 -2
  288. package/dist/{TimeWidget-BQsP0G2X.js.map → TimeWidget-K4MNmJ7J.js.map} +1 -1
  289. package/dist/{TitleWidget-DXVba53S.js → TitleWidget-8IcwweFE.js} +2 -2
  290. package/dist/{TitleWidget-DXVba53S.js.map → TitleWidget-8IcwweFE.js.map} +1 -1
  291. package/dist/{TitleWidget-DavRJ5B5.cjs → TitleWidget-DJJ17ATm.cjs} +2 -2
  292. package/dist/{TitleWidget-DavRJ5B5.cjs.map → TitleWidget-DJJ17ATm.cjs.map} +1 -1
  293. package/dist/ToolsTab-BkabqeR_.cjs +7 -0
  294. package/dist/{ToolsTab-DUwXt5hn.cjs.map → ToolsTab-BkabqeR_.cjs.map} +1 -1
  295. package/dist/{ToolsTab-CSmjz1H7.js → ToolsTab-tkganPCk.js} +6 -7
  296. package/dist/{ToolsTab-CSmjz1H7.js.map → ToolsTab-tkganPCk.js.map} +1 -1
  297. package/dist/{TopBar-D_2lT9RB.js → TopBar-BoI8SRaF.js} +18 -20
  298. package/dist/{TopBar-D_2lT9RB.js.map → TopBar-BoI8SRaF.js.map} +1 -1
  299. package/dist/TopBar-zJvwq8pr.cjs +2 -0
  300. package/dist/{TopBar-C5lQcY1W.cjs.map → TopBar-zJvwq8pr.cjs.map} +1 -1
  301. package/dist/{UpgradeToEnterpriseDialog-Cvt5MMTj.js → UpgradeToEnterpriseDialog-BYz9YoyY.js} +13 -16
  302. package/dist/{UpgradeToEnterpriseDialog-Cvt5MMTj.js.map → UpgradeToEnterpriseDialog-BYz9YoyY.js.map} +1 -1
  303. package/dist/UpgradeToEnterpriseDialog-BxHUptQB.cjs +2 -0
  304. package/dist/{UpgradeToEnterpriseDialog-BHDDrj0t.cjs.map → UpgradeToEnterpriseDialog-BxHUptQB.cjs.map} +1 -1
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs +1498 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs.map +1 -0
  307. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js} +7475 -7319
  308. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js.map +1 -0
  309. package/dist/VWidget-3ziiUuPM.cjs +2 -0
  310. package/dist/VWidget-3ziiUuPM.cjs.map +1 -0
  311. package/dist/VWidget-CoIgX3hM.js +190 -0
  312. package/dist/VWidget-CoIgX3hM.js.map +1 -0
  313. package/dist/{ValueWidget-B-TWLPdM.js → ValueWidget-BvT1ASar.js} +4 -4
  314. package/dist/{ValueWidget-B-TWLPdM.js.map → ValueWidget-BvT1ASar.js.map} +1 -1
  315. package/dist/{ValueWidget-5ulSOrPw.cjs → ValueWidget-RU-vFOh9.cjs} +2 -2
  316. package/dist/{ValueWidget-5ulSOrPw.cjs.map → ValueWidget-RU-vFOh9.cjs.map} +1 -1
  317. package/dist/{ValuelimitsbarWidget-CTFVDwcL.cjs → ValuelimitsbarWidget-B5UtwjJW.cjs} +2 -2
  318. package/dist/{ValuelimitsbarWidget-CTFVDwcL.cjs.map → ValuelimitsbarWidget-B5UtwjJW.cjs.map} +1 -1
  319. package/dist/{ValuelimitsbarWidget-jsDXdPdC.js → ValuelimitsbarWidget-C5lBnUmB.js} +4 -4
  320. package/dist/{ValuelimitsbarWidget-jsDXdPdC.js.map → ValuelimitsbarWidget-C5lBnUmB.js.map} +1 -1
  321. package/dist/{ValuelimitscolumnWidget-Du3Baz6G.cjs → ValuelimitscolumnWidget-BruOZb26.cjs} +2 -2
  322. package/dist/{ValuelimitscolumnWidget-Du3Baz6G.cjs.map → ValuelimitscolumnWidget-BruOZb26.cjs.map} +1 -1
  323. package/dist/{ValuelimitscolumnWidget-I-uwnXM2.js → ValuelimitscolumnWidget-DHYI0WBL.js} +4 -4
  324. package/dist/{ValuelimitscolumnWidget-I-uwnXM2.js.map → ValuelimitscolumnWidget-DHYI0WBL.js.map} +1 -1
  325. package/dist/{ValuerangebarWidget-OyhSTScu.js → ValuerangebarWidget-BSszZhlE.js} +4 -4
  326. package/dist/{ValuerangebarWidget-OyhSTScu.js.map → ValuerangebarWidget-BSszZhlE.js.map} +1 -1
  327. package/dist/{ValuerangebarWidget-BjXDCLm3.cjs → ValuerangebarWidget-BhQVRHhm.cjs} +2 -2
  328. package/dist/{ValuerangebarWidget-BjXDCLm3.cjs.map → ValuerangebarWidget-BhQVRHhm.cjs.map} +1 -1
  329. package/dist/{VerticalWidget-CkFbX1Gq.js → VerticalWidget-1GhgYrC3.js} +2 -2
  330. package/dist/{VerticalWidget-CkFbX1Gq.js.map → VerticalWidget-1GhgYrC3.js.map} +1 -1
  331. package/dist/{VerticalWidget-CKDTGmhp.cjs → VerticalWidget-XZrIw9zV.cjs} +2 -2
  332. package/dist/{VerticalWidget-CKDTGmhp.cjs.map → VerticalWidget-XZrIw9zV.cjs.map} +1 -1
  333. package/dist/{VerticalboxWidget-D09UbA0I.cjs → VerticalboxWidget-BV-onQ8m.cjs} +2 -2
  334. package/dist/{VerticalboxWidget-D09UbA0I.cjs.map → VerticalboxWidget-BV-onQ8m.cjs.map} +1 -1
  335. package/dist/{VerticalboxWidget-FEQgPM9r.js → VerticalboxWidget-DYHJqEzd.js} +5 -5
  336. package/dist/{VerticalboxWidget-FEQgPM9r.js.map → VerticalboxWidget-DYHJqEzd.js.map} +1 -1
  337. package/dist/{Widget-C3-TBgP7.js → Widget-B8t93Oid.js} +2 -2
  338. package/dist/{Widget-C3-TBgP7.js.map → Widget-B8t93Oid.js.map} +1 -1
  339. package/dist/{Widget-CSBtgNwA.cjs → Widget-Blq-k5SB.cjs} +2 -2
  340. package/dist/{Widget-CSBtgNwA.cjs.map → Widget-Blq-k5SB.cjs.map} +1 -1
  341. package/dist/cmdUtilities-BMsSNjt_.js +46 -0
  342. package/dist/cmdUtilities-BMsSNjt_.js.map +1 -0
  343. package/dist/cmdUtilities-ChD8v8-7.cjs +2 -0
  344. package/dist/cmdUtilities-ChD8v8-7.cjs.map +1 -0
  345. package/dist/components.cjs +3 -3
  346. package/dist/components.cjs.map +1 -1
  347. package/dist/components.js +656 -247
  348. package/dist/components.js.map +1 -1
  349. package/dist/plugins.cjs +2 -2
  350. package/dist/plugins.cjs.map +1 -1
  351. package/dist/plugins.js +6 -8
  352. package/dist/plugins.js.map +1 -1
  353. package/dist/{settings-BboN1VLt.cjs → settings-DyvFSj59.cjs} +2 -2
  354. package/dist/{settings-BboN1VLt.cjs.map → settings-DyvFSj59.cjs.map} +1 -1
  355. package/dist/{settings-spKii1fI.js → settings-UZsgbUSr.js} +2 -2
  356. package/dist/{settings-spKii1fI.js.map → settings-UZsgbUSr.js.map} +1 -1
  357. package/dist/tools/admin.cjs +2 -2
  358. package/dist/tools/admin.cjs.map +1 -1
  359. package/dist/tools/admin.js +75 -98
  360. package/dist/tools/admin.js.map +1 -1
  361. package/dist/tools/base.cjs +1 -1
  362. package/dist/tools/base.cjs.map +1 -1
  363. package/dist/tools/base.js +73 -98
  364. package/dist/tools/base.js.map +1 -1
  365. package/dist/tools/calendar.cjs +1 -1
  366. package/dist/tools/calendar.js +1 -1
  367. package/dist/tools/scriptrunner.cjs +33 -33
  368. package/dist/tools/scriptrunner.cjs.map +1 -1
  369. package/dist/tools/scriptrunner.js +852 -834
  370. package/dist/tools/scriptrunner.js.map +1 -1
  371. package/dist/util.cjs +1 -1
  372. package/dist/util.js +4 -2
  373. package/dist/util.js.map +1 -1
  374. package/dist/vue-common.css +1 -1
  375. package/dist/widgets.cjs +1 -1
  376. package/dist/widgets.js +63 -63
  377. package/package.json +8 -8
  378. package/dist/DetailsDialog-CVYBgZll.cjs +0 -2
  379. package/dist/EventListDialog-CjYLRdkb.cjs +0 -2
  380. package/dist/Graph-BiU56Qj2.js.map +0 -1
  381. package/dist/Graph-CWjf71TK.cjs +0 -2
  382. package/dist/Graph-CWjf71TK.cjs.map +0 -1
  383. package/dist/Layout-DDktMnzb.cjs +0 -2
  384. package/dist/LimitsbarWidget-D4O0LWuC.cjs +0 -2
  385. package/dist/Openc3Screen-BP2oW88G.cjs +0 -6
  386. package/dist/Openc3Screen-BP2oW88G.cjs.map +0 -1
  387. package/dist/Openc3Screen-CkdegNDJ.js.map +0 -1
  388. package/dist/PackagesTab-Dwp6g8W0.cjs +0 -2
  389. package/dist/PluginsTab-COKDXShE.cjs +0 -6
  390. package/dist/PluginsTab-COKDXShE.cjs.map +0 -1
  391. package/dist/PluginsTab-CZApRILr.js.map +0 -1
  392. package/dist/RedisTab-B8U-vEQZ.js +0 -138
  393. package/dist/RedisTab-B8U-vEQZ.js.map +0 -1
  394. package/dist/RedisTab-cgicWb81.cjs +0 -2
  395. package/dist/RedisTab-cgicWb81.cjs.map +0 -1
  396. package/dist/SettingsTab-Ch52foLm.cjs +0 -3
  397. package/dist/ToolsTab-DUwXt5hn.cjs +0 -7
  398. package/dist/TopBar-C5lQcY1W.cjs +0 -2
  399. package/dist/UpgradeToEnterpriseDialog-BHDDrj0t.cjs +0 -2
  400. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js.map +0 -1
  401. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs +0 -1498
  402. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs.map +0 -1
  403. package/dist/VWidget-C7V6pKTg.cjs +0 -2
  404. package/dist/VWidget-C7V6pKTg.cjs.map +0 -1
  405. package/dist/VWidget-CFTCukCL.js +0 -332
  406. package/dist/VWidget-CFTCukCL.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),u=require("./CustomIcon-Bop2mEnu.cjs"),h=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs"),V={props:{modelValue:{type:Array,required:!0}},computed:{selected:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{addEnvVar:function(){this.selected.push({key:"",value:""})},delEnvVar:function(t){this.selected.splice(t,1)}}},_={scope:"col",class:"text-right",width:"52px"};function v(t,o,m,p,l,d){const a=e.resolveComponent("v-btn"),c=e.resolveComponent("v-text-field"),s=e.resolveComponent("v-table");return e.openBlock(),e.createElementBlock("div",null,[o[2]||(o[2]=e.createElementVNode("span",null," Add environment variables (optional)",-1)),e.createVNode(s,{density:"compact"},{default:e.withCtx(()=>[e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[o[0]||(o[0]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),o[1]||(o[1]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),e.createElementVNode("th",_,[e.createVNode(a,{icon:"mdi-plus",variant:"text","data-test":"new-metadata-icon",onClick:d.addEnvVar},null,8,["onClick"])])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.selected,(n,r)=>(e.openBlock(),e.createElementBlock("tr",{key:`tr-${r}`},[e.createElementVNode("td",null,[e.createVNode(c,{modelValue:n.key,"onUpdate:modelValue":i=>n.key=i,density:"compact",type:"text","hide-details":"",readonly:n.readonly,"data-test":`key-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(c,{modelValue:n.value,"onUpdate:modelValue":i=>n.value=i,density:"compact",type:"text","hide-details":"",readonly:n.readonly,"data-test":`value-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(a,{icon:"mdi-delete",variant:"text","data-test":`remove-env-icon-${r}`,onClick:i=>d.delEnvVar(r)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const y=u._export_sfc(V,[["render",v]]),f={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},created(){this.loading=!0,h.ci.get("/script-api/scripts").then(t=>{this.scripts=t.data.filter(o=>o.includes(".rb")||o.includes(".py")),this.items=this.scripts}).catch(t=>{this.$emit("error",{type:"error",text:`Failed to connect to OpenC3. ${t}`,error:t})}),this.selected=this.modelValue?this.modelValue:null,this.loading=!1},watch:{selected(t,o){t!==o&&(t.slice(-1)==="*"?this.$emit("file",t.substring(0,t.length-1)):this.$emit("file",t))},search(t){t&&t!==this.selected&&this.querySelections(t)}},methods:{querySelections:function(t){this.loading=!0,setTimeout(()=>{this.items=this.scripts.filter(o=>(o||"").toLowerCase().indexOf((t||"").toLowerCase())>-1),this.loading=!1},500)}}};function E(t,o,m,p,l,d){const a=e.resolveComponent("v-autocomplete"),c=e.resolveComponent("v-row");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(a,{modelValue:l.selected,"onUpdate:modelValue":o[0]||(o[0]=s=>l.selected=s),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:l.loading,items:l.items,search:l.search,"onUpdate:search":o[1]||(o[1]=s=>l.search=s),"data-test":"select-script"},null,8,["modelValue","loading","items","search"])]),_:1})])}const x=u._export_sfc(f,[["render",E]]);exports.EnvironmentChooser=y;exports.ScriptChooser=x;
2
- //# sourceMappingURL=ScriptChooser-LsboGSgh.cjs.map
1
+ "use strict";const e=require("vue"),u=require("./CustomIcon-Bop2mEnu.cjs"),h=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),V={props:{modelValue:{type:Array,required:!0}},computed:{selected:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},methods:{addEnvVar:function(){this.selected.push({key:"",value:""})},delEnvVar:function(t){this.selected.splice(t,1)}}},_={scope:"col",class:"text-right",width:"52px"};function v(t,o,m,p,l,d){const a=e.resolveComponent("v-btn"),c=e.resolveComponent("v-text-field"),s=e.resolveComponent("v-table");return e.openBlock(),e.createElementBlock("div",null,[o[2]||(o[2]=e.createElementVNode("span",null," Add environment variables (optional)",-1)),e.createVNode(s,{density:"compact"},{default:e.withCtx(()=>[e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[o[0]||(o[0]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),o[1]||(o[1]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),e.createElementVNode("th",_,[e.createVNode(a,{icon:"mdi-plus",variant:"text","data-test":"new-metadata-icon",onClick:d.addEnvVar},null,8,["onClick"])])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.selected,(n,r)=>(e.openBlock(),e.createElementBlock("tr",{key:`tr-${r}`},[e.createElementVNode("td",null,[e.createVNode(c,{modelValue:n.key,"onUpdate:modelValue":i=>n.key=i,density:"compact",type:"text","hide-details":"",readonly:n.readonly,"data-test":`key-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(c,{modelValue:n.value,"onUpdate:modelValue":i=>n.value=i,density:"compact",type:"text","hide-details":"",readonly:n.readonly,"data-test":`value-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(a,{icon:"mdi-delete",variant:"text","data-test":`remove-env-icon-${r}`,onClick:i=>d.delEnvVar(r)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const y=u._export_sfc(V,[["render",v]]),f={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},created(){this.loading=!0,h.ci.get("/script-api/scripts").then(t=>{this.scripts=t.data.filter(o=>o.includes(".rb")||o.includes(".py")),this.items=this.scripts}).catch(t=>{this.$emit("error",{type:"error",text:`Failed to connect to OpenC3. ${t}`,error:t})}),this.selected=this.modelValue?this.modelValue:null,this.loading=!1},watch:{selected(t,o){t!==o&&(t.slice(-1)==="*"?this.$emit("file",t.substring(0,t.length-1)):this.$emit("file",t))},search(t){t&&t!==this.selected&&this.querySelections(t)}},methods:{querySelections:function(t){this.loading=!0,setTimeout(()=>{this.items=this.scripts.filter(o=>(o||"").toLowerCase().indexOf((t||"").toLowerCase())>-1),this.loading=!1},500)}}};function E(t,o,m,p,l,d){const a=e.resolveComponent("v-autocomplete"),c=e.resolveComponent("v-row");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(a,{modelValue:l.selected,"onUpdate:modelValue":o[0]||(o[0]=s=>l.selected=s),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:l.loading,items:l.items,search:l.search,"onUpdate:search":o[1]||(o[1]=s=>l.search=s),"data-test":"select-script"},null,8,["modelValue","loading","items","search"])]),_:1})])}const x=u._export_sfc(f,[["render",E]]);exports.EnvironmentChooser=y;exports.ScriptChooser=x;
2
+ //# sourceMappingURL=ScriptChooser-B6TGFTBN.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptChooser-LsboGSgh.cjs","sources":["../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","value","index","_createElementBlock","_cache","_createElementVNode","_createVNode","_component_v_table","_hoisted_1","_component_v_btn","$options","_openBlock","_Fragment","_renderList","env","i","_component_v_text_field","$event","Api","response","filename","error","newVal","oldVal","val","v","e","_component_v_row","_component_v_autocomplete","$data"],"mappings":"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"}
1
+ {"version":3,"file":"ScriptChooser-B6TGFTBN.cjs","sources":["../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","value","index","_createElementBlock","_cache","_createElementVNode","_createVNode","_component_v_table","_hoisted_1","_component_v_btn","$options","_openBlock","_Fragment","_renderList","env","i","_component_v_text_field","$event","Api","response","filename","error","newVal","oldVal","val","v","e","_component_v_row","_component_v_autocomplete","$data"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { resolveComponent as d, createElementBlock as p, openBlock as h, createElementVNode as l, createVNode as o, withCtx as f, Fragment as V, renderList as x } from "vue";
2
2
  import { _ as y } from "./CustomIcon-h5X7369N.js";
3
- import { c as g } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js";
3
+ import { c as g } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js";
4
4
  const k = {
5
5
  props: {
6
6
  modelValue: {
@@ -173,4 +173,4 @@ export {
173
173
  q as E,
174
174
  L as S
175
175
  };
176
- //# sourceMappingURL=ScriptChooser-B5TkGuZ4.js.map
176
+ //# sourceMappingURL=ScriptChooser-CXjcm3bN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptChooser-B5TkGuZ4.js","sources":["../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","value","index","_createElementBlock","_cache","_createElementVNode","_createVNode","_component_v_table","_hoisted_1","_component_v_btn","$options","_openBlock","_Fragment","_renderList","env","i","_component_v_text_field","$event","Api","response","filename","error","newVal","oldVal","val","v","e","_component_v_row","_component_v_autocomplete","$data"],"mappings":"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"}
1
+ {"version":3,"file":"ScriptChooser-CXjcm3bN.js","sources":["../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","value","index","_createElementBlock","_cache","_createElementVNode","_createVNode","_component_v_table","_hoisted_1","_component_v_btn","$options","_openBlock","_Fragment","_renderList","env","i","_component_v_text_field","$event","Api","response","filename","error","newVal","oldVal","val","v","e","_component_v_row","_component_v_autocomplete","$data"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { L as m } from "./Layout-mWR35VAD.js";
2
- import l from "./VerticalWidget-CkFbX1Gq.js";
1
+ import { L as m } from "./Layout-Bkb6VP3e.js";
2
+ import l from "./VerticalWidget-1GhgYrC3.js";
3
3
  import { createElementBlock as o, openBlock as n, normalizeStyle as c, Fragment as p, renderList as u, createBlock as f, resolveDynamicComponent as d, mergeProps as h } from "vue";
4
4
  import { _ as g } from "./CustomIcon-h5X7369N.js";
5
5
  const y = {
@@ -42,4 +42,4 @@ const $ = /* @__PURE__ */ g(y, [["render", v]]);
42
42
  export {
43
43
  $ as default
44
44
  };
45
- //# sourceMappingURL=ScrollwindowWidget-BwFG6Wn8.js.map
45
+ //# sourceMappingURL=ScrollwindowWidget-D-QVwztC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollwindowWidget-BwFG6Wn8.js","sources":["../src/widgets/ScrollwindowWidget.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 ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,SAAS,WAAY;AAEnB,QADA,KAAK,UAAU,KAAK,WAAW,CAAC,GAAG,MAAM,GAAG,GACxC,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAQ/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE3C,CAAC;AAAA,IACH;AAAA,EACF;AACF;;cA9CEG,EAgBM,OAAA;AAAA,IAhBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA,IAAE,OAAM;AAAA;KAChDC,EAAA,EAAA,GAAAF,EAcEG,GAAA,MAAAC,EAX0BH,EAAA,SAAO,CAAzBH,GAAQO,OAHlBH,EAAA,GAAAI,EAcEC,EAZKT,EAAO,IAAI,GAFlBU,EAcE,iBAbQP,EAAA,WAAS;AAAA,MAGhB,KAAKI;AAAA,MACL,QAAQP,EAAO;AAAA,MACf,YAAYA,EAAO;AAAA,MACnB,UAAUA,EAAO;AAAA,MACjB,iBAAeG,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,SAASH,EAAO;AAAA,MAChB,MAAMA,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,MACb,eAAaA,EAAO;AAAA;;;;"}
1
+ {"version":3,"file":"ScrollwindowWidget-D-QVwztC.js","sources":["../src/widgets/ScrollwindowWidget.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 ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,SAAS,WAAY;AAEnB,QADA,KAAK,UAAU,KAAK,WAAW,CAAC,GAAG,MAAM,GAAG,GACxC,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAQ/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE3C,CAAC;AAAA,IACH;AAAA,EACF;AACF;;cA9CEG,EAgBM,OAAA;AAAA,IAhBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA,IAAE,OAAM;AAAA;KAChDC,EAAA,EAAA,GAAAF,EAcEG,GAAA,MAAAC,EAX0BH,EAAA,SAAO,CAAzBH,GAAQO,OAHlBH,EAAA,GAAAI,EAcEC,EAZKT,EAAO,IAAI,GAFlBU,EAcE,iBAbQP,EAAA,WAAS;AAAA,MAGhB,KAAKI;AAAA,MACL,QAAQP,EAAO;AAAA,MACf,YAAYA,EAAO;AAAA,MACnB,UAAUA,EAAO;AAAA,MACjB,iBAAeG,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,SAASH,EAAO;AAAA,MAChB,MAAMA,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,MACb,eAAaA,EAAO;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-DDktMnzb.cjs"),l=require("./VerticalWidget-CKDTGmhp.cjs"),e=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),u={components:{VerticalWidget:l.default},mixins:[i.Layout],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let r=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(n=>n[0]==="MARGIN"||n[0].startsWith("RAW")&&n[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",r])})}}};function m(r,s,o,n,f,d){return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(r.computedStyle),class:"overflow-y-auto"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:a,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const p=c._export_sfc(u,[["render",m]]);exports.default=p;
2
- //# sourceMappingURL=ScrollwindowWidget-DWxDmpFB.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-CSbYbZWA.cjs"),l=require("./VerticalWidget-XZrIw9zV.cjs"),e=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),u={components:{VerticalWidget:l.default},mixins:[i.Layout],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let r=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(n=>n[0]==="MARGIN"||n[0].startsWith("RAW")&&n[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",r])})}}};function m(r,s,o,n,f,d){return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(r.computedStyle),class:"overflow-y-auto"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:a,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const p=c._export_sfc(u,[["render",m]]);exports.default=p;
2
+ //# sourceMappingURL=ScrollwindowWidget-D6ZHZr3o.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollwindowWidget-DWxDmpFB.cjs","sources":["../src/widgets/ScrollwindowWidget.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 ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"4NA8CKA,EAAU,CACb,WAAY,CACV,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CAEnB,GADA,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,GAAG,EACxC,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,+CA9CEG,EAAAA,mBAgBM,MAAA,CAhBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,EAAE,MAAM,qBAChDC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAcEG,WAAA,KAAAC,EAAAA,WAX0BH,EAAA,QAAO,CAAzBH,EAAQO,KAHlBH,EAAAA,UAAA,EAAAI,EAAAA,YAcEC,EAAAA,wBAZKT,EAAO,IAAI,EAFlBU,EAAAA,WAcE,aAbQP,EAAA,UAAS,CAGhB,IAAKI,EACL,OAAQP,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
1
+ {"version":3,"file":"ScrollwindowWidget-D6ZHZr3o.cjs","sources":["../src/widgets/ScrollwindowWidget.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 ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"4NA8CKA,EAAU,CACb,WAAY,CACV,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CAEnB,GADA,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,GAAG,EACxC,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,+CA9CEG,EAAAA,mBAgBM,MAAA,CAhBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,EAAE,MAAM,qBAChDC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAcEG,WAAA,KAAAC,EAAAA,WAX0BH,EAAA,QAAO,CAAzBH,EAAQO,KAHlBH,EAAAA,UAAA,EAAAI,EAAAA,YAcEC,EAAAA,wBAZKT,EAAO,IAAI,EAFlBU,EAAAA,WAcE,aAbQP,EAAA,UAAS,CAGhB,IAAKI,EACL,OAAQP,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs"),e=require("vue"),C=require("./CustomIcon-Bop2mEnu.cjs"),N={data(){return{file:null,loadingSecret:!1,secrets:[],secretName:"",secretValue:"",alert:"",alertType:"success",showAlert:!1}},mounted(){this.update()},methods:{update(){r.ci.get("/openc3-api/secrets").then(n=>{this.secrets=n.data})},upload:function(){this.loadingSecret=!0;let n=null;if(this.file){const t=new FormData;t.append("file",this.file,this.file.name),n=r.ci.post(`/openc3-api/secrets/${this.secretName}`,{data:t,headers:{"Content-Type":"multipart/form-data"}})}else n=r.ci.post(`/openc3-api/secrets/${this.secretName}`,{data:{value:this.secretValue}});n.then(t=>{this.loadingSecret=!1,this.file=null,this.secretName="",this.secretValue="",this.update()}).catch(t=>{this.loadingSecret=!1})},deleteSecret:function(n){this.$dialog.confirm(`Are you sure you want to remove: ${n}`,{okText:"Delete",cancelText:"Cancel"}).then(function(t){return r.ci.delete(`/openc3-api/secrets/${n}`)}).then(t=>{this.alert=`Removed secret ${n}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}};function x(n,t,w,y,l,a){const p=e.resolveComponent("v-file-input"),s=e.resolveComponent("v-col"),c=e.resolveComponent("v-row"),d=e.resolveComponent("v-text-field"),m=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),_=e.resolveComponent("v-alert"),f=e.resolveComponent("v-list-item-title"),v=e.resolveComponent("v-list-item"),V=e.resolveComponent("v-divider"),h=e.resolveComponent("v-list");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(p,{ref:"fileInput",modelValue:l.file,"onUpdate:modelValue":t[0]||(t[0]=o=>l.file=o),"show-size":"",accept:"*",class:"mx-2",label:"Click to select a file to create a secret from or enter a secret value"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(c,{"no-gutters":"",align:"center",style:{"padding-left":"10px"}},{default:e.withCtx(()=>[e.createVNode(s,{cols:"3"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:l.secretName,"onUpdate:modelValue":t[1]||(t[1]=o=>l.secretName=o),label:"Secret Name",class:"px-2"},null,8,["modelValue"])]),_:1}),e.createVNode(s,{cols:"3",class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:l.secretValue,"onUpdate:modelValue":t[2]||(t[2]=o=>l.secretValue=o),disabled:l.file,label:"Secret Value"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(s,{cols:"3",class:"px-2"},{default:e.withCtx(()=>[e.createVNode(u,{class:"mx-2",color:"primary","data-test":"secretUpload",disabled:l.secretName===""||l.file==null&&l.secretValue==="",loading:l.loadingSecret,onClick:t[3]||(t[3]=o=>a.upload())},{loader:e.withCtx(()=>t[6]||(t[6]=[e.createElementVNode("span",null,"Loading...",-1)])),default:e.withCtx(()=>[e.createVNode(m,{start:"",theme:"dark"},{default:e.withCtx(()=>t[5]||(t[5]=[e.createTextVNode("mdi-cloud-upload",-1)])),_:1,__:[5]}),t[7]||(t[7]=e.createElementVNode("span",null," Set ",-1))]),_:1,__:[7]},8,["disabled","loading"])]),_:1})]),_:1}),e.createVNode(_,{modelValue:l.showAlert,"onUpdate:modelValue":t[4]||(t[4]=o=>l.showAlert=o),closable:"",type:l.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(h,{"data-test":"secretList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.secrets,(o,i)=>(e.openBlock(),e.createElementBlock("div",{key:i},[e.createVNode(v,null,{append:e.withCtx(()=>[e.createVNode(u,{icon:"mdi-delete",variant:"text","aria-label":"Delete Secret",onClick:k=>a.deleteSecret(o)},null,8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o),1)]),_:2},1024)]),_:2},1024),i<l.secrets.length-1?(e.openBlock(),e.createBlock(V,{key:i})):e.createCommentVNode("",!0)]))),128))]),_:1})])}const g=C._export_sfc(N,[["render",x]]);exports.default=g;
2
- //# sourceMappingURL=SecretsTab-DKX5gLH_.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),e=require("vue"),C=require("./CustomIcon-Bop2mEnu.cjs"),N={data(){return{file:null,loadingSecret:!1,secrets:[],secretName:"",secretValue:"",alert:"",alertType:"success",showAlert:!1}},mounted(){this.update()},methods:{update(){r.ci.get("/openc3-api/secrets").then(n=>{this.secrets=n.data})},upload:function(){this.loadingSecret=!0;let n=null;if(this.file){const t=new FormData;t.append("file",this.file,this.file.name),n=r.ci.post(`/openc3-api/secrets/${this.secretName}`,{data:t,headers:{"Content-Type":"multipart/form-data"}})}else n=r.ci.post(`/openc3-api/secrets/${this.secretName}`,{data:{value:this.secretValue}});n.then(t=>{this.loadingSecret=!1,this.file=null,this.secretName="",this.secretValue="",this.update()}).catch(t=>{this.loadingSecret=!1})},deleteSecret:function(n){this.$dialog.confirm(`Are you sure you want to remove: ${n}`,{okText:"Delete",cancelText:"Cancel"}).then(function(t){return r.ci.delete(`/openc3-api/secrets/${n}`)}).then(t=>{this.alert=`Removed secret ${n}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}};function x(n,t,w,y,l,a){const p=e.resolveComponent("v-file-input"),s=e.resolveComponent("v-col"),c=e.resolveComponent("v-row"),d=e.resolveComponent("v-text-field"),m=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),_=e.resolveComponent("v-alert"),f=e.resolveComponent("v-list-item-title"),v=e.resolveComponent("v-list-item"),V=e.resolveComponent("v-divider"),h=e.resolveComponent("v-list");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createVNode(p,{ref:"fileInput",modelValue:l.file,"onUpdate:modelValue":t[0]||(t[0]=o=>l.file=o),"show-size":"",accept:"*",class:"mx-2",label:"Click to select a file to create a secret from or enter a secret value"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(c,{"no-gutters":"",align:"center",style:{"padding-left":"10px"}},{default:e.withCtx(()=>[e.createVNode(s,{cols:"3"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:l.secretName,"onUpdate:modelValue":t[1]||(t[1]=o=>l.secretName=o),label:"Secret Name",class:"px-2"},null,8,["modelValue"])]),_:1}),e.createVNode(s,{cols:"3",class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{modelValue:l.secretValue,"onUpdate:modelValue":t[2]||(t[2]=o=>l.secretValue=o),disabled:l.file,label:"Secret Value"},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(s,{cols:"3",class:"px-2"},{default:e.withCtx(()=>[e.createVNode(u,{class:"mx-2",color:"primary","data-test":"secretUpload",disabled:l.secretName===""||l.file==null&&l.secretValue==="",loading:l.loadingSecret,onClick:t[3]||(t[3]=o=>a.upload())},{loader:e.withCtx(()=>[...t[6]||(t[6]=[e.createElementVNode("span",null,"Loading...",-1)])]),default:e.withCtx(()=>[e.createVNode(m,{start:"",theme:"dark"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("mdi-cloud-upload",-1)])]),_:1}),t[7]||(t[7]=e.createElementVNode("span",null," Set ",-1))]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),e.createVNode(_,{modelValue:l.showAlert,"onUpdate:modelValue":t[4]||(t[4]=o=>l.showAlert=o),closable:"",type:l.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(h,{"data-test":"secretList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.secrets,(o,i)=>(e.openBlock(),e.createElementBlock("div",{key:i},[e.createVNode(v,null,{append:e.withCtx(()=>[e.createVNode(u,{icon:"mdi-delete",variant:"text","aria-label":"Delete Secret",onClick:k=>a.deleteSecret(o)},null,8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o),1)]),_:2},1024)]),_:2},1024),i<l.secrets.length-1?(e.openBlock(),e.createBlock(V,{key:i})):e.createCommentVNode("",!0)]))),128))]),_:1})])}const g=C._export_sfc(N,[["render",x]]);exports.default=g;
2
+ //# sourceMappingURL=SecretsTab-DDZ1VoUf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsTab-DKX5gLH_.cjs","sources":["../src/tools/admin/tabs/SecretsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <v-col>\n <v-file-input\n ref=\"fileInput\"\n v-model=\"file\"\n show-size\n accept=\"*\"\n class=\"mx-2\"\n label=\"Click to select a file to create a secret from or enter a secret value\"\n />\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\" style=\"padding-left: 10px\">\n <v-col cols=\"3\">\n <v-text-field v-model=\"secretName\" label=\"Secret Name\" class=\"px-2\" />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-text-field\n v-model=\"secretValue\"\n :disabled=\"file\"\n label=\"Secret Value\"\n />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n data-test=\"secretUpload\"\n :disabled=\"secretName === '' || (file == null && secretValue === '')\"\n :loading=\"loadingSecret\"\n @click=\"upload()\"\n >\n <v-icon start theme=\"dark\">mdi-cloud-upload</v-icon>\n <span> Set </span>\n <template #loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">\n {{ alert }}\n </v-alert>\n <v-list data-test=\"secretList\">\n <div v-for=\"(secret, index) in secrets\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ secret }}</v-list-item-title>\n\n <template #append>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n aria-label=\"Delete Secret\"\n @click=\"deleteSecret(secret)\"\n />\n </template>\n </v-list-item>\n <v-divider v-if=\"index < secrets.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n data() {\n return {\n file: null,\n loadingSecret: false,\n secrets: [],\n secretName: '',\n secretValue: '',\n alert: '',\n alertType: 'success',\n showAlert: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/secrets').then((response) => {\n this.secrets = response.data\n })\n },\n upload: function () {\n this.loadingSecret = true\n let promise = null\n if (this.file) {\n const formData = new FormData()\n formData.append('file', this.file, this.file.name)\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n } else {\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: { value: this.secretValue },\n })\n }\n promise\n .then((response) => {\n this.loadingSecret = false\n this.file = null\n this.secretName = ''\n this.secretValue = ''\n this.update()\n })\n .catch((error) => {\n this.loadingSecret = false\n })\n },\n deleteSecret: function (secret) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${secret}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then(function (dialog) {\n return Api.delete(`/openc3-api/secrets/${secret}`)\n })\n .then((response) => {\n this.alert = `Removed secret ${secret}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Api","response","promise","formData","error","secret","dialog","_createElementBlock","_createVNode","_component_v_row","_component_v_col","_component_v_file_input","$data","$event","_component_v_text_field","_component_v_btn","$options","_cache","_createElementVNode","_component_v_icon","_component_v_alert","_component_v_list","_openBlock","_Fragment","_renderList","index","_component_v_list_item","_component_v_list_item_title","_createBlock","_component_v_divider"],"mappings":"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"}
1
+ {"version":3,"file":"SecretsTab-DDZ1VoUf.cjs","sources":["../src/tools/admin/tabs/SecretsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <v-col>\n <v-file-input\n ref=\"fileInput\"\n v-model=\"file\"\n show-size\n accept=\"*\"\n class=\"mx-2\"\n label=\"Click to select a file to create a secret from or enter a secret value\"\n />\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\" style=\"padding-left: 10px\">\n <v-col cols=\"3\">\n <v-text-field v-model=\"secretName\" label=\"Secret Name\" class=\"px-2\" />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-text-field\n v-model=\"secretValue\"\n :disabled=\"file\"\n label=\"Secret Value\"\n />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n data-test=\"secretUpload\"\n :disabled=\"secretName === '' || (file == null && secretValue === '')\"\n :loading=\"loadingSecret\"\n @click=\"upload()\"\n >\n <v-icon start theme=\"dark\">mdi-cloud-upload</v-icon>\n <span> Set </span>\n <template #loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">\n {{ alert }}\n </v-alert>\n <v-list data-test=\"secretList\">\n <div v-for=\"(secret, index) in secrets\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ secret }}</v-list-item-title>\n\n <template #append>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n aria-label=\"Delete Secret\"\n @click=\"deleteSecret(secret)\"\n />\n </template>\n </v-list-item>\n <v-divider v-if=\"index < secrets.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n data() {\n return {\n file: null,\n loadingSecret: false,\n secrets: [],\n secretName: '',\n secretValue: '',\n alert: '',\n alertType: 'success',\n showAlert: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/secrets').then((response) => {\n this.secrets = response.data\n })\n },\n upload: function () {\n this.loadingSecret = true\n let promise = null\n if (this.file) {\n const formData = new FormData()\n formData.append('file', this.file, this.file.name)\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n } else {\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: { value: this.secretValue },\n })\n }\n promise\n .then((response) => {\n this.loadingSecret = false\n this.file = null\n this.secretName = ''\n this.secretValue = ''\n this.update()\n })\n .catch((error) => {\n this.loadingSecret = false\n })\n },\n deleteSecret: function (secret) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${secret}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then(function (dialog) {\n return Api.delete(`/openc3-api/secrets/${secret}`)\n })\n .then((response) => {\n this.alert = `Removed secret ${secret}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Api","response","promise","formData","error","secret","dialog","_createElementBlock","_createVNode","_component_v_row","_component_v_col","_component_v_file_input","$data","$event","_component_v_text_field","_component_v_btn","$options","_cache","_createElementVNode","_component_v_icon","_component_v_alert","_component_v_list","_openBlock","_Fragment","_renderList","index","_component_v_list_item","_component_v_list_item_title","_createBlock","_component_v_divider"],"mappings":"oPAwFKA,EAAU,CACb,MAAO,CACL,MAAO,CACL,KAAM,KACN,cAAe,GACf,QAAS,CAAA,EACT,WAAY,GACZ,YAAa,GACb,MAAO,GACP,UAAW,UACX,UAAW,EACb,CACF,EACA,SAAU,CACR,KAAK,OAAM,CACb,EACA,QAAS,CACP,QAAS,CACPC,EAAAA,GAAI,IAAI,qBAAqB,EAAE,KAAMC,GAAa,CAChD,KAAK,QAAUA,EAAS,IAC1B,CAAC,CACH,EACA,OAAQ,UAAY,CAClB,KAAK,cAAgB,GACrB,IAAIC,EAAU,KACd,GAAI,KAAK,KAAM,CACb,MAAMC,EAAW,IAAI,SACrBA,EAAS,OAAO,OAAQ,KAAK,KAAM,KAAK,KAAK,IAAI,EACjDD,EAAUF,EAAAA,GAAI,KAAK,uBAAuB,KAAK,UAAU,GAAI,CAC3D,KAAMG,EACN,QAAS,CAAE,eAAgB,uBAC5B,CACH,MACED,EAAUF,EAAAA,GAAI,KAAK,uBAAuB,KAAK,UAAU,GAAI,CAC3D,KAAM,CAAE,MAAO,KAAK,WAAU,EAC/B,EAEHE,EACG,KAAMD,GAAa,CAClB,KAAK,cAAgB,GACrB,KAAK,KAAO,KACZ,KAAK,WAAa,GAClB,KAAK,YAAc,GACnB,KAAK,OAAM,CACb,CAAC,EACA,MAAOG,GAAU,CAChB,KAAK,cAAgB,EACvB,CAAC,CACL,EACA,aAAc,SAAUC,EAAQ,CAC9B,KAAK,QACF,QAAQ,oCAAoCA,CAAM,GAAI,CACrD,OAAQ,SACR,WAAY,SACb,EACA,KAAK,SAAUC,EAAQ,CACtB,OAAON,EAAAA,GAAI,OAAO,uBAAuBK,CAAM,EAAE,CACnD,CAAC,EACA,KAAMJ,GAAa,CAClB,KAAK,MAAQ,kBAAkBI,CAAM,GACrC,KAAK,UAAY,UACjB,KAAK,UAAY,GACjB,WAAW,IAAM,CACf,KAAK,UAAY,EACnB,EAAG,GAAI,EACP,KAAK,OAAM,CACb,CAAC,CACL,EAEJ,uaA1IEE,qBA+DM,MAAA,KAAA,CA9DJC,EAAAA,YAWQC,EAAA,CAXD,aAAA,EAAU,EAAA,mBACf,IASQ,CATRD,EAAAA,YASQE,EAAA,KAAA,mBARN,IAOE,CAPFF,EAAAA,YAOEG,EAAA,CANA,IAAI,uBACKC,EAAA,0CAAAA,EAAA,KAAIC,GACb,YAAA,GACA,OAAO,IACP,MAAM,OACN,MAAM,iHAIZL,EAAAA,YA6BQC,EAAA,CA7BD,aAAA,GAAW,MAAM,SAAS,MAAA,CAAA,eAAA,MAAA,sBAC/B,IAEQ,CAFRD,EAAAA,YAEQE,EAAA,CAFD,KAAK,GAAG,EAAA,mBACb,IAAsE,CAAtEF,EAAAA,YAAsEM,EAAA,YAA/CF,EAAA,gDAAAA,EAAA,WAAUC,GAAE,MAAM,cAAc,MAAM,uCAE/DL,EAAAA,YAOQE,EAAA,CAPD,KAAK,IAAI,MAAM,2BAEpB,IAIE,CAJFF,EAAAA,YAIEM,EAAA,YAHSF,EAAA,iDAAAA,EAAA,YAAWC,GACnB,SAAUD,EAAA,KACX,MAAM,0DAGVJ,EAAAA,YAgBQE,EAAA,CAhBD,KAAK,IAAI,MAAM,2BAEpB,IAaQ,CAbRF,EAAAA,YAaQO,EAAA,CAZN,MAAM,OACN,MAAM,UACN,YAAU,eACT,SAAUH,EAAA,aAAU,IAAYA,EAAA,YAAgBA,EAAA,cAAW,GAC3D,QAASA,EAAA,cACT,uBAAOI,EAAA,YAIG,iBACT,IAAuB,CAAA,GAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,CAAvBC,EAAAA,mBAAuB,YAAjB,aAAU,EAAA,wBAHlB,IAAoD,CAApDV,EAAAA,YAAoDW,EAAA,CAA5C,MAAA,GAAM,MAAM,2BAAO,IAAgB,CAAA,GAAAF,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,mBAAhB,mBAAgB,EAAA,YAC3CA,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,EAAAA,mBAAkB,YAAZ,QAAK,EAAA,oDAOjBV,EAAAA,YAEUY,EAAA,YAFQR,EAAA,+CAAAA,EAAA,UAASC,GAAE,SAAA,GAAU,KAAMD,EAAA,8BAC3C,IAAW,qCAARA,EAAA,KAAK,EAAA,CAAA,kCAEVJ,EAAAA,YAgBSa,EAAA,CAhBD,YAAU,YAAY,EAAA,mBACvB,IAAkC,EAAvCC,EAAAA,UAAA,EAAA,EAAAf,EAAAA,mBAcMgB,WAAA,KAAAC,EAAAA,WAdyBZ,EAAA,QAAO,CAAzBP,EAAQoB,mBAArBlB,EAAAA,mBAcM,MAAA,CAdmC,IAAKkB,GAAK,CACjDjB,EAAAA,YAWckB,EAAA,KAAA,CARD,iBACT,IAKE,CALFlB,EAAAA,YAKEO,EAAA,CAJA,KAAK,aACL,QAAQ,OACR,aAAW,gBACV,QAAKF,GAAEG,EAAA,aAAaX,CAAM,2CAP/B,IAAmD,CAAnDG,EAAAA,YAAmDmB,EAAA,KAAA,mBAAhC,IAAY,qCAATtB,CAAM,EAAA,CAAA,4BAWboB,EAAQb,EAAA,QAAQ,OAAM,iBAAvCgB,EAAAA,YAA4DC,EAAA,CAAd,IAAKJ,CAAK,CAAA"}
@@ -1,4 +1,4 @@
1
- import { c as a } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js";
1
+ import { c as a } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js";
2
2
  import { resolveComponent as n, createElementBlock as d, openBlock as c, createVNode as l, withCtx as o, createElementVNode as V, createTextVNode as p, toDisplayString as h, Fragment as w, renderList as C, createBlock as T, createCommentVNode as A } from "vue";
3
3
  import { _ as D } from "./CustomIcon-h5X7369N.js";
4
4
  const U = {
@@ -122,24 +122,22 @@ function B(r, e, L, E, t, m) {
122
122
  loading: t.loadingSecret,
123
123
  onClick: e[3] || (e[3] = (s) => m.upload())
124
124
  }, {
125
- loader: o(() => e[6] || (e[6] = [
125
+ loader: o(() => [...e[6] || (e[6] = [
126
126
  V("span", null, "Loading...", -1)
127
- ])),
127
+ ])]),
128
128
  default: o(() => [
129
129
  l(x, {
130
130
  start: "",
131
131
  theme: "dark"
132
132
  }, {
133
- default: o(() => e[5] || (e[5] = [
133
+ default: o(() => [...e[5] || (e[5] = [
134
134
  p("mdi-cloud-upload", -1)
135
- ])),
136
- _: 1,
137
- __: [5]
135
+ ])]),
136
+ _: 1
138
137
  }),
139
138
  e[7] || (e[7] = V("span", null, " Set ", -1))
140
139
  ]),
141
- _: 1,
142
- __: [7]
140
+ _: 1
143
141
  }, 8, ["disabled", "loading"])
144
142
  ]),
145
143
  _: 1
@@ -191,4 +189,4 @@ const j = /* @__PURE__ */ D(U, [["render", B]]);
191
189
  export {
192
190
  j as default
193
191
  };
194
- //# sourceMappingURL=SecretsTab-Vtvbb_1U.js.map
192
+ //# sourceMappingURL=SecretsTab-vVy356vr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecretsTab-Vtvbb_1U.js","sources":["../src/tools/admin/tabs/SecretsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <v-col>\n <v-file-input\n ref=\"fileInput\"\n v-model=\"file\"\n show-size\n accept=\"*\"\n class=\"mx-2\"\n label=\"Click to select a file to create a secret from or enter a secret value\"\n />\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\" style=\"padding-left: 10px\">\n <v-col cols=\"3\">\n <v-text-field v-model=\"secretName\" label=\"Secret Name\" class=\"px-2\" />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-text-field\n v-model=\"secretValue\"\n :disabled=\"file\"\n label=\"Secret Value\"\n />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n data-test=\"secretUpload\"\n :disabled=\"secretName === '' || (file == null && secretValue === '')\"\n :loading=\"loadingSecret\"\n @click=\"upload()\"\n >\n <v-icon start theme=\"dark\">mdi-cloud-upload</v-icon>\n <span> Set </span>\n <template #loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">\n {{ alert }}\n </v-alert>\n <v-list data-test=\"secretList\">\n <div v-for=\"(secret, index) in secrets\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ secret }}</v-list-item-title>\n\n <template #append>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n aria-label=\"Delete Secret\"\n @click=\"deleteSecret(secret)\"\n />\n </template>\n </v-list-item>\n <v-divider v-if=\"index < secrets.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n data() {\n return {\n file: null,\n loadingSecret: false,\n secrets: [],\n secretName: '',\n secretValue: '',\n alert: '',\n alertType: 'success',\n showAlert: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/secrets').then((response) => {\n this.secrets = response.data\n })\n },\n upload: function () {\n this.loadingSecret = true\n let promise = null\n if (this.file) {\n const formData = new FormData()\n formData.append('file', this.file, this.file.name)\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n } else {\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: { value: this.secretValue },\n })\n }\n promise\n .then((response) => {\n this.loadingSecret = false\n this.file = null\n this.secretName = ''\n this.secretValue = ''\n this.update()\n })\n .catch((error) => {\n this.loadingSecret = false\n })\n },\n deleteSecret: function (secret) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${secret}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then(function (dialog) {\n return Api.delete(`/openc3-api/secrets/${secret}`)\n })\n .then((response) => {\n this.alert = `Removed secret ${secret}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Api","response","promise","formData","error","secret","dialog","_createElementBlock","_createVNode","_component_v_row","_component_v_col","_component_v_file_input","$data","$event","_component_v_text_field","_component_v_btn","$options","_cache","_createElementVNode","_component_v_icon","_component_v_alert","_component_v_list","_openBlock","_Fragment","_renderList","index","_component_v_list_item","_component_v_list_item_title","_createBlock","_component_v_divider"],"mappings":"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"}
1
+ {"version":3,"file":"SecretsTab-vVy356vr.js","sources":["../src/tools/admin/tabs/SecretsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <v-col>\n <v-file-input\n ref=\"fileInput\"\n v-model=\"file\"\n show-size\n accept=\"*\"\n class=\"mx-2\"\n label=\"Click to select a file to create a secret from or enter a secret value\"\n />\n </v-col>\n </v-row>\n <v-row no-gutters align=\"center\" style=\"padding-left: 10px\">\n <v-col cols=\"3\">\n <v-text-field v-model=\"secretName\" label=\"Secret Name\" class=\"px-2\" />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-text-field\n v-model=\"secretValue\"\n :disabled=\"file\"\n label=\"Secret Value\"\n />\n </v-col>\n <v-col cols=\"3\" class=\"px-2\">\n <!-- Intentional double equals -->\n <v-btn\n class=\"mx-2\"\n color=\"primary\"\n data-test=\"secretUpload\"\n :disabled=\"secretName === '' || (file == null && secretValue === '')\"\n :loading=\"loadingSecret\"\n @click=\"upload()\"\n >\n <v-icon start theme=\"dark\">mdi-cloud-upload</v-icon>\n <span> Set </span>\n <template #loader>\n <span>Loading...</span>\n </template>\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"showAlert\" closable :type=\"alertType\">\n {{ alert }}\n </v-alert>\n <v-list data-test=\"secretList\">\n <div v-for=\"(secret, index) in secrets\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ secret }}</v-list-item-title>\n\n <template #append>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n aria-label=\"Delete Secret\"\n @click=\"deleteSecret(secret)\"\n />\n </template>\n </v-list-item>\n <v-divider v-if=\"index < secrets.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n data() {\n return {\n file: null,\n loadingSecret: false,\n secrets: [],\n secretName: '',\n secretValue: '',\n alert: '',\n alertType: 'success',\n showAlert: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/secrets').then((response) => {\n this.secrets = response.data\n })\n },\n upload: function () {\n this.loadingSecret = true\n let promise = null\n if (this.file) {\n const formData = new FormData()\n formData.append('file', this.file, this.file.name)\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n })\n } else {\n promise = Api.post(`/openc3-api/secrets/${this.secretName}`, {\n data: { value: this.secretValue },\n })\n }\n promise\n .then((response) => {\n this.loadingSecret = false\n this.file = null\n this.secretName = ''\n this.secretValue = ''\n this.update()\n })\n .catch((error) => {\n this.loadingSecret = false\n })\n },\n deleteSecret: function (secret) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${secret}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then(function (dialog) {\n return Api.delete(`/openc3-api/secrets/${secret}`)\n })\n .then((response) => {\n this.alert = `Removed secret ${secret}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Api","response","promise","formData","error","secret","dialog","_createElementBlock","_createVNode","_component_v_row","_component_v_col","_component_v_file_input","$data","$event","_component_v_text_field","_component_v_btn","$options","_cache","_createElementVNode","_component_v_icon","_component_v_alert","_component_v_list","_openBlock","_Fragment","_renderList","index","_component_v_list_item","_component_v_list_item_title","_createBlock","_component_v_divider"],"mappings":"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"}