@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";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Layout-DDktMnzb.cjs"),m=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs"),e=require("vue"),p=require("./CustomIcon-Bop2mEnu.cjs"),d={mixins:[u.Layout],computed:{columns(){return parseInt(this.parameters[0])},widgetChunks(){return m._.chunk(this.widgets,this.columns)}},created:function(){if(this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",n])})}}};function k(n,s,o,r,g,a){return e.openBlock(),e.createElementBlock("table",{style:e.normalizeStyle(n.computedStyle),role:"presentation"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.widgetChunks,(l,c)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+c},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l,(t,i)=>(e.openBlock(),e.createElementBlock("td",{key:"c"+i},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},n.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.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))]))),128))],4)}const f=p._export_sfc(d,[["render",k]]);exports.default=f;
2
- //# sourceMappingURL=MatrixbycolumnsWidget-CPFzRQN5.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Layout-CSbYbZWA.cjs"),m=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),e=require("vue"),p=require("./CustomIcon-Bop2mEnu.cjs"),d={mixins:[u.Layout],computed:{columns(){return parseInt(this.parameters[0])},widgetChunks(){return m._.chunk(this.widgets,this.columns)}},created:function(){if(this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(r=>r[0]==="MARGIN"||r[0].startsWith("RAW")&&r[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",n])})}}};function k(n,s,o,r,g,a){return e.openBlock(),e.createElementBlock("table",{style:e.normalizeStyle(n.computedStyle),role:"presentation"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.widgetChunks,(l,c)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+c},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l,(t,i)=>(e.openBlock(),e.createElementBlock("td",{key:"c"+i},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},n.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.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))]))),128))],4)}const f=p._export_sfc(d,[["render",k]]);exports.default=f;
2
+ //# sourceMappingURL=MatrixbycolumnsWidget-DWouVj7A.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatrixbycolumnsWidget-CPFzRQN5.cjs","sources":["../src/widgets/MatrixbycolumnsWidget.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 <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\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 </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\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","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"uRA+CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,SAAU,CACR,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CACpC,EACA,cAAe,CACb,OAAOC,EAAAA,EAAE,MAAM,KAAK,QAAS,KAAK,OAAO,CAC3C,GAEF,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CACjBA,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,+CAlDEG,EAAAA,mBAkBQ,QAAA,CAlBA,uBAAOC,EAAA,aAAa,EAAE,KAAK,kBACjCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAgBKG,WAAA,KAAAC,EAAAA,WAhByBC,EAAA,aAAY,CAA9BC,EAAOC,mBAAnBP,EAAAA,mBAgBK,KAAA,CAhBwC,QAAWO,KACtDL,YAAA,EAAA,EAAAF,EAAAA,mBAcKG,EAAAA,SAAA,KAAAC,EAAAA,WAd0BE,EAAK,CAAxBR,EAAQU,mBAApBR,EAAAA,mBAcK,KAAA,CAdkC,QAAWQ,KAChDN,EAAAA,YAAAO,EAAAA,YAYEC,EAAAA,wBAVKZ,EAAO,IAAI,EAFlBa,EAAAA,WAYE,aAXQV,EAAA,UAAS,CAEhB,OAAQH,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":"MatrixbycolumnsWidget-DWouVj7A.cjs","sources":["../src/widgets/MatrixbycolumnsWidget.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 <table :style=\"computedStyle\" role=\"presentation\">\n <tr v-for=\"(chunk, rindex) in widgetChunks\" :key=\"'r' + rindex\">\n <td v-for=\"(widget, cindex) in chunk\" :key=\"'c' + cindex\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\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 </td>\n </tr>\n </table>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport _ from 'lodash'\nexport default {\n mixins: [Layout],\n computed: {\n columns() {\n return parseInt(this.parameters[0])\n },\n widgetChunks() {\n return _.chunk(this.widgets, this.columns)\n },\n },\n created: function () {\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\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","Layout","_","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"uRA+CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,SAAU,CACR,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CACpC,EACA,cAAe,CACb,OAAOC,EAAAA,EAAE,MAAM,KAAK,QAAS,KAAK,OAAO,CAC3C,GAEF,QAAS,UAAY,CACnB,GAAI,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CACjBA,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,+CAlDEG,EAAAA,mBAkBQ,QAAA,CAlBA,uBAAOC,EAAA,aAAa,EAAE,KAAK,kBACjCC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAgBKG,WAAA,KAAAC,EAAAA,WAhByBC,EAAA,aAAY,CAA9BC,EAAOC,mBAAnBP,EAAAA,mBAgBK,KAAA,CAhBwC,QAAWO,KACtDL,YAAA,EAAA,EAAAF,EAAAA,mBAcKG,EAAAA,SAAA,KAAAC,EAAAA,WAd0BE,EAAK,CAAxBR,EAAQU,mBAApBR,EAAAA,mBAcK,KAAA,CAdkC,QAAWQ,KAChDN,EAAAA,YAAAO,EAAAA,YAYEC,EAAAA,wBAVKZ,EAAO,IAAI,EAFlBa,EAAAA,WAYE,aAXQV,EAAA,UAAS,CAEhB,OAAQH,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 c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-mEnslAi4.cjs"),e=require("vue"),y=require("./CustomIcon-Bop2mEnu.cjs");require("single-spa");const k=require("./OutputDialog-2CmOBAEE.cjs"),T=require("./TextBoxDialog--uIDsNPU.cjs"),d=require("./format-B22VpiOS.cjs"),V={components:{OutputDialog:k.OutputDialog,TextBoxDialog:T.TextBoxDialog},data(){return{microservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1,alert:"",alertType:"success",showAlert:!1,updater:null}},mounted(){this.update(),this.updater=setInterval(()=>{this.update()},2e3)},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{update:function(){c.ci.get("/openc3-api/microservice_status/all").then(t=>{this.microservice_status=t.data}),c.ci.get("/openc3-api/microservices/all").then(t=>{let i=[];for(const[r,l]of Object.entries(t.data))i.push(l);i.sort((r,l)=>r.name.localeCompare(l.name)),this.microservices=i})},startMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to restart microservice: ${t}?`,{okText:"Start",cancelText:"Cancel"}).then(i=>{c.ci.post(`/openc3-api/microservices/${t}/start`).then(r=>{this.alert=`Started ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},stopMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to stop microservice: ${t}?`,{okText:"Stop",cancelText:"Cancel"}).then(i=>{c.ci.post(`/openc3-api/microservices/${t}/stop`).then(r=>{this.alert=`Stopped ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},showMicroservice:function(t){c.ci.get(`/openc3-api/microservices/${t}`).then(i=>{this.microservice_id=t,this.dialogTitle=t,this.jsonContent=JSON.stringify(i.data,null," "),this.showDialog=!0})},showMicroserviceError:function(t){this.dialogTitle=t;const i=this.microservice_status[t].error;this.jsonContent=JSON.stringify(i,null," "),this.showError=!0},formatDate(t){return d.format(d.toDate(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},dialogCallback:function(t){if(this.showDialog=!1,t!==null){let i=JSON.parse(t),r="put",l=`/openc3-api/microservices/${this.microservice_id}`;i.name!==this.microservice_id&&(r="post",l="/openc3-api/microservices"),c.ci[r](l,{data:{json:t}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}};function S(t,i,r,l,o,n){const h=e.resolveComponent("v-alert"),v=e.resolveComponent("v-list-item-title"),_=e.resolveComponent("v-list-item-subtitle"),a=e.resolveComponent("v-btn"),u=e.resolveComponent("v-list-item-icon"),g=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-divider"),C=e.resolveComponent("v-list"),w=e.resolveComponent("output-dialog"),x=e.resolveComponent("text-box-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{modelValue:o.showAlert,"onUpdate:modelValue":i[0]||(i[0]=s=>o.showAlert=s),dismissible:"",transition:"scale-transition",type:o.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(C,{class:"list","data-test":"microserviceList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.microservices,s=>(e.openBlock(),e.createElementBlock("div",{key:s},[e.createVNode(g,null,{append:e.withCtx(()=>{var m;return[e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",onClick:p=>n.showMicroserviceError(s.name)},null,8,["onClick"]),[[e.vShow,(m=o.microservice_status[s.name])==null?void 0:m.error]]),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Start Microservice",icon:"mdi-play",variant:"text",onClick:p=>n.startMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Stop Microservice",icon:"mdi-stop",variant:"text",onClick:p=>n.stopMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Show Microservice Details",icon:"mdi-eye",variant:"text",onClick:p=>n.showMicroservice(s.name)},null,8,["onClick"])]),_:2},1024)]}),default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.name),1)]),_:2},1024),o.microservice_status[s.name]?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Updated: "+e.toDisplayString(n.formatDate(o.microservice_status[s.name].updated_at))+", State: "+e.toDisplayString(o.microservice_status[s.name].state)+", Enabled: "+e.toDisplayString(s.enabled===!1?"False":"True")+", Count: "+e.toDisplayString(o.microservice_status[s.name].count),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(f)]))),128))]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(w,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":i[1]||(i[1]=s=>o.showDialog=s),content:o.jsonContent,type:"Microservice",name:o.dialogTitle,onSubmit:n.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0),o.showError?(e.openBlock(),e.createBlock(x,{key:1,modelValue:o.showError,"onUpdate:modelValue":i[2]||(i[2]=s=>o.showError=s),text:o.jsonContent,title:o.dialogTitle},null,8,["modelValue","text","title"])):e.createCommentVNode("",!0)])}const D=y._export_sfc(V,[["render",S],["__scopeId","data-v-61eec86a"]]);exports.default=D;
2
- //# sourceMappingURL=MicroservicesTab-BGgwT56M.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-BflJrsRh.cjs"),e=require("vue"),y=require("./CustomIcon-Bop2mEnu.cjs");require("single-spa");const k=require("./OutputDialog-DgM7aoa-.cjs"),T=require("./TextBoxDialog-DbD8P4Xc.cjs"),d=require("./format-B22VpiOS.cjs"),V={components:{OutputDialog:k.OutputDialog,TextBoxDialog:T.TextBoxDialog},data(){return{microservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1,alert:"",alertType:"success",showAlert:!1,updater:null}},mounted(){this.update(),this.updater=setInterval(()=>{this.update()},2e3)},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{update:function(){c.ci.get("/openc3-api/microservice_status/all").then(t=>{this.microservice_status=t.data}),c.ci.get("/openc3-api/microservices/all").then(t=>{let i=[];for(const[r,l]of Object.entries(t.data))i.push(l);i.sort((r,l)=>r.name.localeCompare(l.name)),this.microservices=i})},startMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to restart microservice: ${t}?`,{okText:"Start",cancelText:"Cancel"}).then(i=>{c.ci.post(`/openc3-api/microservices/${t}/start`).then(r=>{this.alert=`Started ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},stopMicroservice:function(t){this.$dialog.confirm(`Are you sure you want to stop microservice: ${t}?`,{okText:"Stop",cancelText:"Cancel"}).then(i=>{c.ci.post(`/openc3-api/microservices/${t}/stop`).then(r=>{this.alert=`Stopped ${t}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},showMicroservice:function(t){c.ci.get(`/openc3-api/microservices/${t}`).then(i=>{this.microservice_id=t,this.dialogTitle=t,this.jsonContent=JSON.stringify(i.data,null," "),this.showDialog=!0})},showMicroserviceError:function(t){this.dialogTitle=t;const i=this.microservice_status[t].error;this.jsonContent=JSON.stringify(i,null," "),this.showError=!0},formatDate(t){return d.format(d.toDate(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},dialogCallback:function(t){if(this.showDialog=!1,t!==null){let i=JSON.parse(t),r="put",l=`/openc3-api/microservices/${this.microservice_id}`;i.name!==this.microservice_id&&(r="post",l="/openc3-api/microservices"),c.ci[r](l,{data:{json:t}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}};function S(t,i,r,l,o,n){const h=e.resolveComponent("v-alert"),v=e.resolveComponent("v-list-item-title"),_=e.resolveComponent("v-list-item-subtitle"),a=e.resolveComponent("v-btn"),u=e.resolveComponent("v-list-item-icon"),g=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-divider"),C=e.resolveComponent("v-list"),w=e.resolveComponent("output-dialog"),x=e.resolveComponent("text-box-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{modelValue:o.showAlert,"onUpdate:modelValue":i[0]||(i[0]=s=>o.showAlert=s),dismissible:"",transition:"scale-transition",type:o.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(C,{class:"list","data-test":"microserviceList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.microservices,s=>(e.openBlock(),e.createElementBlock("div",{key:s},[e.createVNode(g,null,{append:e.withCtx(()=>{var m;return[e.withDirectives(e.createVNode(a,{icon:"mdi-alert",variant:"text",onClick:p=>n.showMicroserviceError(s.name)},null,8,["onClick"]),[[e.vShow,(m=o.microservice_status[s.name])==null?void 0:m.error]]),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Start Microservice",icon:"mdi-play",variant:"text",onClick:p=>n.startMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Stop Microservice",icon:"mdi-stop",variant:"text",onClick:p=>n.stopMicroservice(s.name)},null,8,["onClick"])]),_:2},1024),e.createVNode(u,null,{default:e.withCtx(()=>[e.createVNode(a,{"aria-label":"Show Microservice Details",icon:"mdi-eye",variant:"text",onClick:p=>n.showMicroservice(s.name)},null,8,["onClick"])]),_:2},1024)]}),default:e.withCtx(()=>[e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.name),1)]),_:2},1024),o.microservice_status[s.name]?(e.openBlock(),e.createBlock(_,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Updated: "+e.toDisplayString(n.formatDate(o.microservice_status[s.name].updated_at))+", State: "+e.toDisplayString(o.microservice_status[s.name].state)+", Enabled: "+e.toDisplayString(s.enabled===!1?"False":"True")+", Count: "+e.toDisplayString(o.microservice_status[s.name].count),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(f)]))),128))]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(w,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":i[1]||(i[1]=s=>o.showDialog=s),content:o.jsonContent,type:"Microservice",name:o.dialogTitle,onSubmit:n.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0),o.showError?(e.openBlock(),e.createBlock(x,{key:1,modelValue:o.showError,"onUpdate:modelValue":i[2]||(i[2]=s=>o.showError=s),text:o.jsonContent,title:o.dialogTitle},null,8,["modelValue","text","title"])):e.createCommentVNode("",!0)])}const D=y._export_sfc(V,[["render",S],["__scopeId","data-v-61eec86a"]]);exports.default=D;
2
+ //# sourceMappingURL=MicroservicesTab-L6qMAy4x.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MicroservicesTab-BGgwT56M.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"MicroservicesTab-L6qMAy4x.cjs","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { c as u } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-DWYRspHE.js";
1
+ import { c as u } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-quWsUlLr.js";
2
2
  import { resolveComponent as r, createElementBlock as v, openBlock as m, createVNode as s, createBlock as f, createCommentVNode as g, withCtx as l, createTextVNode as w, toDisplayString as p, Fragment as V, renderList as A, withDirectives as E, vShow as j } from "vue";
3
3
  import { _ as N } from "./CustomIcon-h5X7369N.js";
4
4
  import "single-spa";
5
- import { O } from "./OutputDialog-M5Xc_DqH.js";
6
- import { T as U } from "./TextBoxDialog-BlZ6MBoW.js";
5
+ import { O } from "./OutputDialog-Ut5cXGxQ.js";
6
+ import { T as U } from "./TextBoxDialog-CdFHdj5W.js";
7
7
  import { f as B, t as I } from "./format-CVeawcIv.js";
8
8
  const J = {
9
9
  components: {
@@ -216,4 +216,4 @@ const Q = /* @__PURE__ */ N(J, [["render", F], ["__scopeId", "data-v-61eec86a"]]
216
216
  export {
217
217
  Q as default
218
218
  };
219
- //# sourceMappingURL=MicroservicesTab-Dbp02UlV.js.map
219
+ //# sourceMappingURL=MicroservicesTab-xLup6THU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MicroservicesTab-Dbp02UlV.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":";;;;;;;AAqGA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,cAAAC;AAAA,IACA,eAAAC;AAAA;EAEF,OAAO;AACL,WAAO;AAAA,MACL,eAAe,CAAA;AAAA,MACf,qBAAqB,CAAA;AAAA,MACrB,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,OAAM,GACX,KAAK,UAAU,YAAY,MAAM;AAC/B,WAAK,OAAM;AAAA,IACb,GAAG,GAAI;AAAA,EACT;AAAA,EACA,gBAAgB;AACd,kBAAc,KAAK,OAAO,GAC1B,KAAK,UAAU;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACP,QAAQ,WAAY;AAClBC,MAAAA,EAAI,IAAI,qCAAqC,EAAE,KAAK,CAACC,MAAa;AAChE,aAAK,sBAAsBA,EAAS;AAAA,MACtC,CAAC,GACDD,EAAI,IAAI,+BAA+B,EAAE,KAAK,CAACC,MAAa;AAE1D,YAAIC,IAAgB,CAAA;AACpB,mBAAW,CAACC,GAAmBC,CAAY,KAAK,OAAO;AAAA,UACrDH,EAAS;AAAA,QACX;AACE,UAAAC,EAAc,KAAKE,CAAY;AAEjC,QAAAF,EAAc,KAAK,CAACG,GAAGC,MAAMD,EAAE,KAAK,cAAcC,EAAE,IAAI,CAAC,GACzD,KAAK,gBAAgBJ;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,IACA,mBAAmB,SAAUK,GAAM;AACjC,WAAK,QACF,QAAQ,kDAAkDA,CAAI,KAAK;AAAA,QAClE,QAAQ;AAAA,QACR,YAAY;AAAA,OACb,EACA,KAAK,CAACC,MAAW;AAChBR,QAAAA,EAAI,KAAK,6BAA6BO,CAAI,QAAQ,EAC/C,KAAK,CAACN,MAAa;AAClB,eAAK,QAAQ,WAAWM,CAAI,IAC5B,KAAK,YAAY,WACjB,KAAK,YAAY,IACjB,WAAW,MAAM;AACf,iBAAK,YAAY;AAAA,UACnB,GAAG,GAAI;AAAA,QACT,CAAC,EACA,KAAK,MAAM;AACV,eAAK,OAAM;AAAA,QACb,CAAC;AAAA,MACL,CAAC;AAAA,IACL;AAAA,IACA,kBAAkB,SAAUA,GAAM;AAChC,WAAK,QACF,QAAQ,+CAA+CA,CAAI,KAAK;AAAA,QAC/D,QAAQ;AAAA,QACR,YAAY;AAAA,OACb,EACA,KAAK,CAACC,MAAW;AAChBR,QAAAA,EAAI,KAAK,6BAA6BO,CAAI,OAAO,EAC9C,KAAK,CAACN,MAAa;AAClB,eAAK,QAAQ,WAAWM,CAAI,IAC5B,KAAK,YAAY,WACjB,KAAK,YAAY,IACjB,WAAW,MAAM;AACf,iBAAK,YAAY;AAAA,UACnB,GAAG,GAAI;AAAA,QACT,CAAC,EACA,KAAK,MAAM;AACV,eAAK,OAAM;AAAA,QACb,CAAC;AAAA,MACL,CAAC;AAAA,IACL;AAAA,IACA,kBAAkB,SAAUA,GAAM;AAChCP,MAAAA,EAAI,IAAI,6BAA6BO,CAAI,EAAE,EAAE,KAAK,CAACN,MAAa;AAC9D,aAAK,kBAAkBM,GACvB,KAAK,cAAcA,GACnB,KAAK,cAAc,KAAK,UAAUN,EAAS,MAAM,MAAM,GAAI,GAC3D,KAAK,aAAa;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,IACA,uBAAuB,SAAUM,GAAM;AACrC,WAAK,cAAcA;AACnB,YAAME,IAAI,KAAK,oBAAoBF,CAAI,EAAE;AACzC,WAAK,cAAc,KAAK,UAAUE,GAAG,MAAM,GAAI,GAC/C,KAAK,YAAY;AAAA,IACnB;AAAA,IACA,WAAWC,GAAU;AACnB,aAAOC;AAAA,QACLC,EAAO,SAASF,CAAQ,IAAI,GAAO;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAAA,IACA,gBAAgB,SAAUG,GAAS;AAEjC,UADA,KAAK,aAAa,IACdA,MAAY,MAAM;AACpB,YAAIC,IAAS,KAAK,MAAMD,CAAO,GAC3BE,IAAS,OACTC,IAAM,6BAA6B,KAAK,eAAe;AAC3D,QAAIF,EAAO,SAAY,KAAK,oBAC1BC,IAAS,QACTC,IAAM,8BAGRhB,EAAIe,CAAM,EAAEC,GAAK;AAAA,UACf,MAAM;AAAA,YACJ,MAAMH;AAAA;QAEV,CAAC,EAAE,KAAK,CAACZ,MAAa;AACpB,eAAK,QAAQ,yBACb,KAAK,YAAY,WACjB,KAAK,YAAY,IACjB,WAAW,MAAM;AACf,iBAAK,YAAY;AAAA,UACnB,GAAG,GAAI,GACP,KAAK,OAAM;AAAA,QACb,CAAC;AAAA,MACH;AAAA,IACF;AAAA;AAEJ;;;cAtNEgB,EAsEM,OAAA,MAAA;AAAA,IArEJC,EAMCC,GAAA;AAAA,kBALUC,EAAA;AAAA,oDAAAA,EAAA,YAASC;AAAA,MAClB,aAAA;AAAA,MACA,YAAW;AAAA,MACV,MAAMD,EAAA;AAAA;iBACN,MAAW;AAAA,YAARA,EAAA,KAAK,GAAA,CAAA;AAAA;;;IAEXF,EA+CSI,GAAA;AAAA,MA/CD,OAAM;AAAA,MAAO,aAAU;AAAA;iBACxB,MAAqC;AAAA,gBAA1CL,EA6CMM,GAAA,MAAAC,EA7CsBJ,EAAA,eAAa,CAA7BhB,YAAZa,EA6CM,OAAA,EA7CsC,KAAKb,KAAY;AAAA,UAC3Dc,EA0CcO,GAAA,MAAA;AAAA,YAhCD,UACT,MAAA;;AAKE;AAAA,kBALFP,EAKEQ,GAAA;AAAA,kBAHA,MAAK;AAAA,kBACL,SAAQ;AAAA,kBACP,SAAK,CAAAL,MAAEM,EAAA,sBAAsBvB,EAAa,IAAI;AAAA;kBAHvC,CAAAwB,IAAAC,IAAAT,EAAA,oBAAoBhB,EAAa,IAAI,MAArC,gBAAAyB,EAAwC,KAAK;AAAA;gBAKvDX,EAOmBY,GAAA,MAAA;AAAA,6BANjB,MAKE;AAAA,oBALFZ,EAKEQ,GAAA;AAAA,sBAJA,cAAW;AAAA,sBACX,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACP,SAAK,CAAAL,MAAEM,EAAA,kBAAkBvB,EAAa,IAAI;AAAA;;;;gBAG/Cc,EAOmBY,GAAA,MAAA;AAAA,6BANjB,MAKE;AAAA,oBALFZ,EAKEQ,GAAA;AAAA,sBAJA,cAAW;AAAA,sBACX,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACP,SAAK,CAAAL,MAAEM,EAAA,iBAAiBvB,EAAa,IAAI;AAAA;;;;gBAG9Cc,EAOmBY,GAAA,MAAA;AAAA,6BANjB,MAKE;AAAA,oBALFZ,EAKEQ,GAAA;AAAA,sBAJA,cAAW;AAAA,sBACX,MAAK;AAAA,sBACL,SAAQ;AAAA,sBACP,SAAK,CAAAL,MAAEM,EAAA,iBAAiBvB,EAAa,IAAI;AAAA;;;;;;uBArChD,MAA8D;AAAA,cAA9Dc,EAA8Da,GAAA,MAAA;AAAA,2BAA3C,MAAuB;AAAA,kBAApBC,EAAAC,EAAA7B,EAAa,IAAI,GAAA,CAAA;AAAA;;;cACXgB,EAAA,oBAAoBhB,EAAa,IAAI,UAAjE8B,EAMuBC,GAAA,EAAA,KAAA,EAAA,GAAA;AAAA,2BAN6C,MAElE;AAAA,kBAFkEH,EAAA,eAElEC,EAAGN,EAAA,WAAWP,EAAA,oBAAoBhB,EAAa,IAAI,EAAE,UAAU,CAAA,IAAI,cAC5D6B,EAAGb,EAAA,oBAAoBhB,EAAa,IAAI,EAAE,KAAK,IAAG,gBACzD6B,EAAG7B,EAAa,YAAO,KAAA,UAAA,MAAA,IAAgC,cACvD6B,EAAGb,sBAAoBhB,EAAa,IAAI,EAAE,KAAK,GAAA,CAAA;AAAA;;;;;;UAoCnDc,EAAakB,CAAA;AAAA;;;;IAIThB,EAAA,mBADRc,EAOEG,GAAA;AAAA;kBALSjB,EAAA;AAAA,oDAAAA,EAAA,aAAUC;AAAA,MAClB,SAASD,EAAA;AAAA,MACV,MAAK;AAAA,MACJ,MAAMA,EAAA;AAAA,MACN,UAAQO,EAAA;AAAA;IAGHP,EAAA,kBADRc,EAKEI,GAAA;AAAA;kBAHSlB,EAAA;AAAA,oDAAAA,EAAA,YAASC;AAAA,MACjB,MAAMD,EAAA;AAAA,MACN,OAAOA,EAAA;AAAA;;;;"}
1
+ {"version":3,"file":"MicroservicesTab-xLup6THU.js","sources":["../src/tools/admin/tabs/MicroservicesTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-alert\n v-model=\"showAlert\"\n dismissible\n transition=\"scale-transition\"\n :type=\"alertType\"\n >{{ alert }}</v-alert\n >\n <v-list class=\"list\" data-test=\"microserviceList\">\n <div v-for=\"microservice in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-title>{{ microservice.name }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice.name]\">\n Updated:\n {{ formatDate(microservice_status[microservice.name].updated_at) }},\n State: {{ microservice_status[microservice.name].state }}, Enabled:\n {{ microservice.enabled === false ? 'False' : 'True' }}, Count:\n {{ microservice_status[microservice.name].count }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-btn\n v-show=\"microservice_status[microservice.name]?.error\"\n icon=\"mdi-alert\"\n variant=\"text\"\n @click=\"showMicroserviceError(microservice.name)\"\n />\n <v-list-item-icon>\n <v-btn\n aria-label=\"Start Microservice\"\n icon=\"mdi-play\"\n variant=\"text\"\n @click=\"startMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Stop Microservice\"\n icon=\"mdi-stop\"\n variant=\"text\"\n @click=\"stopMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n <v-list-item-icon>\n <v-btn\n aria-label=\"Show Microservice Details\"\n icon=\"mdi-eye\"\n variant=\"text\"\n @click=\"showMicroservice(microservice.name)\"\n />\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-if=\"showError\"\n v-model=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog, TextBoxDialog } from '@/components'\n\nexport default {\n components: {\n OutputDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n alert: '',\n alertType: 'success',\n showAlert: false,\n updater: null,\n }\n },\n mounted() {\n this.update()\n this.updater = setInterval(() => {\n this.update()\n }, 2000)\n },\n beforeUnmount() {\n clearInterval(this.updater)\n this.updater = null\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices/all').then((response) => {\n // Convert hash of microservices to array of microservices\n let microservices = []\n for (const [microservice_name, microservice] of Object.entries(\n response.data,\n )) {\n microservices.push(microservice)\n }\n microservices.sort((a, b) => a.name.localeCompare(b.name))\n this.microservices = microservices\n })\n },\n startMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to restart microservice: ${name}?`, {\n okText: 'Start',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/start`)\n .then((response) => {\n this.alert = `Started ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n stopMicroservice: function (name) {\n this.$dialog\n .confirm(`Are you sure you want to stop microservice: ${name}?`, {\n okText: 'Stop',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n Api.post(`/openc3-api/microservices/${name}/stop`)\n .then((response) => {\n this.alert = `Stopped ${name}`\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n })\n .then(() => {\n this.update()\n })\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","TextBoxDialog","Api","response","microservices","microservice_name","microservice","a","b","name","dialog","e","nanoSecs","format","toDate","content","parsed","method","url","_createElementBlock","_createVNode","_component_v_alert","$data","$event","_component_v_list","_Fragment","_renderList","_component_v_list_item","_component_v_btn","$options","_vShow","_a","_component_v_list_item_icon","_component_v_list_item_title","_createTextVNode","_toDisplayString","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}