@openc3/vue-common 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/ArrayWidget-BbsN1dzF.js +106 -0
  2. package/dist/ArrayWidget-BbsN1dzF.js.map +1 -0
  3. package/dist/ArrayWidget-DkjHrXsu.cjs +3 -0
  4. package/dist/ArrayWidget-DkjHrXsu.cjs.map +1 -0
  5. package/dist/ArrayplotWidget-CCKEyYIx.js +199 -0
  6. package/dist/ArrayplotWidget-CCKEyYIx.js.map +1 -0
  7. package/dist/ArrayplotWidget-COeaK_Lz.cjs +2 -0
  8. package/dist/ArrayplotWidget-COeaK_Lz.cjs.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  10. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  11. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  12. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  13. package/dist/BarColumn-C6p07yWK.js +108 -0
  14. package/dist/BarColumn-C6p07yWK.js.map +1 -0
  15. package/dist/BarColumn-CJLW1nXy.cjs +2 -0
  16. package/dist/BarColumn-CJLW1nXy.cjs.map +1 -0
  17. package/dist/BlockWidget-BFVYgbd_.cjs +3 -0
  18. package/dist/BlockWidget-BFVYgbd_.cjs.map +1 -0
  19. package/dist/BlockWidget-DlCHbqZX.js +112 -0
  20. package/dist/BlockWidget-DlCHbqZX.js.map +1 -0
  21. package/dist/ButtonWidget-CtfJzCBR.js +166 -0
  22. package/dist/ButtonWidget-CtfJzCBR.js.map +1 -0
  23. package/dist/ButtonWidget-HN8UHsme.cjs +3 -0
  24. package/dist/ButtonWidget-HN8UHsme.cjs.map +1 -0
  25. package/dist/CanvasWidget-CHmkxxMO.cjs +2 -0
  26. package/dist/CanvasWidget-CHmkxxMO.cjs.map +1 -0
  27. package/dist/CanvasWidget-CqRlXc4r.js +39 -0
  28. package/dist/CanvasWidget-CqRlXc4r.js.map +1 -0
  29. package/dist/CanvasdotWidget--Xr_KsZs.js +19 -0
  30. package/dist/CanvasdotWidget--Xr_KsZs.js.map +1 -0
  31. package/dist/CanvasdotWidget-B4bUcKRc.cjs +2 -0
  32. package/dist/CanvasdotWidget-B4bUcKRc.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-B5YozXoI.cjs +2 -0
  34. package/dist/CanvasimageWidget-B5YozXoI.cjs.map +1 -0
  35. package/dist/CanvasimageWidget-BPlj5QYK.js +58 -0
  36. package/dist/CanvasimageWidget-BPlj5QYK.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DVFGLt8f.js +107 -0
  38. package/dist/CanvasimagevalueWidget-DVFGLt8f.js.map +1 -0
  39. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs +2 -0
  40. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs.map +1 -0
  41. package/dist/CanvaslabelWidget-CYNqmyP0.js +23 -0
  42. package/dist/CanvaslabelWidget-CYNqmyP0.js.map +1 -0
  43. package/dist/CanvaslabelWidget-DgadQD-D.cjs +2 -0
  44. package/dist/CanvaslabelWidget-DgadQD-D.cjs.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js +42 -0
  46. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js.map +1 -0
  47. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs +2 -0
  48. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-BICdxX0Q.js +28 -0
  50. package/dist/CanvaslineWidget-BICdxX0Q.js.map +1 -0
  51. package/dist/CanvaslineWidget-CYHkes0a.cjs +2 -0
  52. package/dist/CanvaslineWidget-CYHkes0a.cjs.map +1 -0
  53. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs.map +1 -0
  55. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js +44 -0
  56. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js.map +1 -0
  57. package/dist/CheckbuttonWidget-B74AWeaW.js +37 -0
  58. package/dist/CheckbuttonWidget-B74AWeaW.js.map +1 -0
  59. package/dist/CheckbuttonWidget-BCzsXnIF.cjs +2 -0
  60. package/dist/CheckbuttonWidget-BCzsXnIF.cjs.map +1 -0
  61. package/dist/ComboboxWidget-CtyKbEWb.js +37 -0
  62. package/dist/ComboboxWidget-CtyKbEWb.js.map +1 -0
  63. package/dist/ComboboxWidget-DQgDyDAC.cjs +2 -0
  64. package/dist/ComboboxWidget-DQgDyDAC.cjs.map +1 -0
  65. package/dist/CriticalCmdDialog-BnxZlt7W.cjs +2 -0
  66. package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +1 -0
  67. package/dist/CriticalCmdDialog-DPIZOBeP.js +270 -0
  68. package/dist/CriticalCmdDialog-DPIZOBeP.js.map +1 -0
  69. package/dist/CustomIcon-Bop2mEnu.cjs +2 -0
  70. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -0
  71. package/dist/CustomIcon-h5X7369N.js +50 -0
  72. package/dist/CustomIcon-h5X7369N.js.map +1 -0
  73. package/dist/DateWidget-BB4cIuUS.cjs +2 -0
  74. package/dist/DateWidget-BB4cIuUS.cjs.map +1 -0
  75. package/dist/DateWidget-BEVSczU8.js +40 -0
  76. package/dist/DateWidget-BEVSczU8.js.map +1 -0
  77. package/dist/DetailsDialog-DmEC5BTs.js +767 -0
  78. package/dist/DetailsDialog-DmEC5BTs.js.map +1 -0
  79. package/dist/DetailsDialog-mvxMFmgV.cjs +2 -0
  80. package/dist/DetailsDialog-mvxMFmgV.cjs.map +1 -0
  81. package/dist/DynamicWidget-BWEVCUfd.cjs +2 -0
  82. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -0
  83. package/dist/DynamicWidget-CfMtj7H8.js +35 -0
  84. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -0
  85. package/dist/EventListDialog-BHZLl28V.cjs +2 -0
  86. package/dist/EventListDialog-BHZLl28V.cjs.map +1 -0
  87. package/dist/EventListDialog-CSMSmCIT.js +1586 -0
  88. package/dist/EventListDialog-CSMSmCIT.js.map +1 -0
  89. package/dist/FormatvalueWidget-CdjCEAI7.cjs +2 -0
  90. package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +1 -0
  91. package/dist/FormatvalueWidget-DN12xymS.js +44 -0
  92. package/dist/FormatvalueWidget-DN12xymS.js.map +1 -0
  93. package/dist/Graph-Bgo0cjl3.js +1988 -0
  94. package/dist/Graph-Bgo0cjl3.js.map +1 -0
  95. package/dist/Graph-Ujd2yaeI.cjs +2 -0
  96. package/dist/Graph-Ujd2yaeI.cjs.map +1 -0
  97. package/dist/GraphWidget-DurWDmpg.js +130 -0
  98. package/dist/GraphWidget-DurWDmpg.js.map +1 -0
  99. package/dist/GraphWidget-sid4Ws9H.cjs +2 -0
  100. package/dist/GraphWidget-sid4Ws9H.cjs.map +1 -0
  101. package/dist/HorizontalWidget-Cd_wl1b3.js +41 -0
  102. package/dist/HorizontalWidget-Cd_wl1b3.js.map +1 -0
  103. package/dist/HorizontalWidget-_6IR0cR8.cjs +2 -0
  104. package/dist/HorizontalWidget-_6IR0cR8.cjs.map +1 -0
  105. package/dist/HorizontalboxWidget-BcMTFBU-.js +47 -0
  106. package/dist/HorizontalboxWidget-BcMTFBU-.js.map +1 -0
  107. package/dist/HorizontalboxWidget-zmnurtv1.cjs +2 -0
  108. package/dist/HorizontalboxWidget-zmnurtv1.cjs.map +1 -0
  109. package/dist/HorizontallineWidget-CM-6WqCj.cjs +2 -0
  110. package/dist/HorizontallineWidget-CM-6WqCj.cjs.map +1 -0
  111. package/dist/HorizontallineWidget-CXFqHclf.js +16 -0
  112. package/dist/HorizontallineWidget-CXFqHclf.js.map +1 -0
  113. package/dist/IframeWidget-BPerHCCa.js +90 -0
  114. package/dist/IframeWidget-BPerHCCa.js.map +1 -0
  115. package/dist/IframeWidget-EhncMob0.cjs +2 -0
  116. package/dist/IframeWidget-EhncMob0.cjs.map +1 -0
  117. package/dist/ImageLoader-4N-7Gj61.js +36 -0
  118. package/dist/ImageLoader-4N-7Gj61.js.map +1 -0
  119. package/dist/ImageLoader-cRmBcpU9.cjs +2 -0
  120. package/dist/ImageLoader-cRmBcpU9.cjs.map +1 -0
  121. package/dist/ImageviewerWidget-Bv3CreXd.cjs +2 -0
  122. package/dist/ImageviewerWidget-Bv3CreXd.cjs.map +1 -0
  123. package/dist/ImageviewerWidget-Cw_H_HmZ.js +37 -0
  124. package/dist/ImageviewerWidget-Cw_H_HmZ.js.map +1 -0
  125. package/dist/InterfacesTab-B4glsR9Z.js +93 -0
  126. package/dist/InterfacesTab-B4glsR9Z.js.map +1 -0
  127. package/dist/InterfacesTab-Co1Kd6Fa.cjs +2 -0
  128. package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +1 -0
  129. package/dist/LabelWidget-mMcf5S8K.cjs +2 -0
  130. package/dist/LabelWidget-mMcf5S8K.cjs.map +1 -0
  131. package/dist/LabelWidget-xrmcVeq8.js +48 -0
  132. package/dist/LabelWidget-xrmcVeq8.js.map +1 -0
  133. package/dist/LabelledWidget-BoYCuDaH.cjs +2 -0
  134. package/dist/LabelledWidget-BoYCuDaH.cjs.map +1 -0
  135. package/dist/LabelledWidget-D48QoyMk.js +42 -0
  136. package/dist/LabelledWidget-D48QoyMk.js.map +1 -0
  137. package/dist/LabelprogressbarWidget-C_950t6g.js +43 -0
  138. package/dist/LabelprogressbarWidget-C_950t6g.js.map +1 -0
  139. package/dist/LabelprogressbarWidget-DiucKsT2.cjs +2 -0
  140. package/dist/LabelprogressbarWidget-DiucKsT2.cjs.map +1 -0
  141. package/dist/LabelsparklineWidget-0KXQyPoU.js +44 -0
  142. package/dist/LabelsparklineWidget-0KXQyPoU.js.map +1 -0
  143. package/dist/LabelsparklineWidget-A3MTEhQc.cjs +2 -0
  144. package/dist/LabelsparklineWidget-A3MTEhQc.cjs.map +1 -0
  145. package/dist/LabelvalueWidget-CQ06wWDK.js +58 -0
  146. package/dist/LabelvalueWidget-CQ06wWDK.js.map +1 -0
  147. package/dist/LabelvalueWidget-DnKoz0-N.cjs +2 -0
  148. package/dist/LabelvalueWidget-DnKoz0-N.cjs.map +1 -0
  149. package/dist/LabelvaluedescWidget-Bo8zT01X.js +59 -0
  150. package/dist/LabelvaluedescWidget-Bo8zT01X.js.map +1 -0
  151. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +2 -0
  152. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs.map +1 -0
  153. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js +57 -0
  154. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js.map +1 -0
  155. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs +2 -0
  156. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map +1 -0
  157. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs +2 -0
  158. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map +1 -0
  159. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js +47 -0
  160. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js.map +1 -0
  161. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs +2 -0
  162. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs.map +1 -0
  163. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js +79 -0
  164. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js.map +1 -0
  165. package/dist/Layout-DuCYyOw4.cjs +2 -0
  166. package/dist/Layout-DuCYyOw4.cjs.map +1 -0
  167. package/dist/Layout-Tf--nruw.js +14 -0
  168. package/dist/Layout-Tf--nruw.js.map +1 -0
  169. package/dist/LedWidget-B2BcwiYF.cjs +2 -0
  170. package/dist/LedWidget-B2BcwiYF.cjs.map +1 -0
  171. package/dist/LedWidget-qH_FthkK.js +145 -0
  172. package/dist/LedWidget-qH_FthkK.js.map +1 -0
  173. package/dist/LimitsbarWidget-B9lAB2RD.js +69 -0
  174. package/dist/LimitsbarWidget-B9lAB2RD.js.map +1 -0
  175. package/dist/LimitsbarWidget-CVCLFIhG.cjs +2 -0
  176. package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +1 -0
  177. package/dist/LimitscolorWidget-DORhDxRo.cjs +2 -0
  178. package/dist/LimitscolorWidget-DORhDxRo.cjs.map +1 -0
  179. package/dist/LimitscolorWidget-c6Qa6su7.js +63 -0
  180. package/dist/LimitscolorWidget-c6Qa6su7.js.map +1 -0
  181. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs +2 -0
  182. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs.map +1 -0
  183. package/dist/LimitscolumnWidget-CcLs_443.js +66 -0
  184. package/dist/LimitscolumnWidget-CcLs_443.js.map +1 -0
  185. package/dist/LinegraphWidget-BSVYLFo1.js +39 -0
  186. package/dist/LinegraphWidget-BSVYLFo1.js.map +1 -0
  187. package/dist/LinegraphWidget-Bf8DIwEn.cjs +2 -0
  188. package/dist/LinegraphWidget-Bf8DIwEn.cjs.map +1 -0
  189. package/dist/MatrixbycolumnsWidget-DXFpZTre.js +56 -0
  190. package/dist/MatrixbycolumnsWidget-DXFpZTre.js.map +1 -0
  191. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +2 -0
  192. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs.map +1 -0
  193. package/dist/MicroservicesTab-B5n-mN8G.cjs +2 -0
  194. package/dist/MicroservicesTab-B5n-mN8G.cjs.map +1 -0
  195. package/dist/MicroservicesTab-mCdS0v39.js +264 -0
  196. package/dist/MicroservicesTab-mCdS0v39.js.map +1 -0
  197. package/dist/Openc3Screen-BYhHaH_I.cjs +5 -0
  198. package/dist/Openc3Screen-BYhHaH_I.cjs.map +1 -0
  199. package/dist/Openc3Screen-Cud0OCFu.js +1789 -0
  200. package/dist/Openc3Screen-Cud0OCFu.js.map +1 -0
  201. package/dist/OutputDialog-DXoL9VPw.cjs +2 -0
  202. package/dist/OutputDialog-DXoL9VPw.cjs.map +1 -0
  203. package/dist/OutputDialog-zVPZiZay.js +242 -0
  204. package/dist/OutputDialog-zVPZiZay.js.map +1 -0
  205. package/dist/PackagesTab-CvT2JyMA.cjs +2 -0
  206. package/dist/PackagesTab-CvT2JyMA.cjs.map +1 -0
  207. package/dist/PackagesTab-SWcXumpK.js +332 -0
  208. package/dist/PackagesTab-SWcXumpK.js.map +1 -0
  209. package/dist/PluginsTab-B64OvayB.js +599 -0
  210. package/dist/PluginsTab-B64OvayB.js.map +1 -0
  211. package/dist/PluginsTab-CfpwWsqv.cjs +6 -0
  212. package/dist/PluginsTab-CfpwWsqv.cjs.map +1 -0
  213. package/dist/ProgressbarWidget-fGWa6ipm.cjs +2 -0
  214. package/dist/ProgressbarWidget-fGWa6ipm.cjs.map +1 -0
  215. package/dist/ProgressbarWidget-iYGw8-Dc.js +46 -0
  216. package/dist/ProgressbarWidget-iYGw8-Dc.js.map +1 -0
  217. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs +2 -0
  218. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs.map +1 -0
  219. package/dist/RadiobuttonWidget-ytmoVZ3u.js +34 -0
  220. package/dist/RadiobuttonWidget-ytmoVZ3u.js.map +1 -0
  221. package/dist/RadiogroupWidget-CusMBhKH.js +48 -0
  222. package/dist/RadiogroupWidget-CusMBhKH.js.map +1 -0
  223. package/dist/RadiogroupWidget-EK4rEGUC.cjs +2 -0
  224. package/dist/RadiogroupWidget-EK4rEGUC.cjs.map +1 -0
  225. package/dist/RangebarWidget-D_zGTtCa.js +67 -0
  226. package/dist/RangebarWidget-D_zGTtCa.js.map +1 -0
  227. package/dist/RangebarWidget-DwIs-L5k.cjs +2 -0
  228. package/dist/RangebarWidget-DwIs-L5k.cjs.map +1 -0
  229. package/dist/RedisTab-67UcKoPf.cjs +2 -0
  230. package/dist/RedisTab-67UcKoPf.cjs.map +1 -0
  231. package/dist/RedisTab-CyPo6ADN.js +135 -0
  232. package/dist/RedisTab-CyPo6ADN.js.map +1 -0
  233. package/dist/RollupWidget-DC3OIP6G.cjs +2 -0
  234. package/dist/RollupWidget-DC3OIP6G.cjs.map +1 -0
  235. package/dist/RollupWidget-Dolsixyt.js +83 -0
  236. package/dist/RollupWidget-Dolsixyt.js.map +1 -0
  237. package/dist/RoutersTab-BBPlFi_z.cjs +2 -0
  238. package/dist/RoutersTab-BBPlFi_z.cjs.map +1 -0
  239. package/dist/RoutersTab-Cs2dFVNA.js +95 -0
  240. package/dist/RoutersTab-Cs2dFVNA.js.map +1 -0
  241. package/dist/ScriptChooser-EV65rbWx.js +199 -0
  242. package/dist/ScriptChooser-EV65rbWx.js.map +1 -0
  243. package/dist/ScriptChooser-vyZwngrz.cjs +2 -0
  244. package/dist/ScriptChooser-vyZwngrz.cjs.map +1 -0
  245. package/dist/ScrollwindowWidget-BWeqSUPc.cjs +2 -0
  246. package/dist/ScrollwindowWidget-BWeqSUPc.cjs.map +1 -0
  247. package/dist/ScrollwindowWidget-DV2nZuNi.js +45 -0
  248. package/dist/ScrollwindowWidget-DV2nZuNi.js.map +1 -0
  249. package/dist/SecretsTab-0IFqUxNJ.cjs +2 -0
  250. package/dist/SecretsTab-0IFqUxNJ.cjs.map +1 -0
  251. package/dist/SecretsTab-DVyyyGlG.js +202 -0
  252. package/dist/SecretsTab-DVyyyGlG.js.map +1 -0
  253. package/dist/SettingsTab-B1LvOLG2.cjs +3 -0
  254. package/dist/SettingsTab-B1LvOLG2.cjs.map +1 -0
  255. package/dist/SettingsTab-g29K6FyC.js +1445 -0
  256. package/dist/SettingsTab-g29K6FyC.js.map +1 -0
  257. package/dist/SignalWidget-RvRwpE8T.cjs +2 -0
  258. package/dist/SignalWidget-RvRwpE8T.cjs.map +1 -0
  259. package/dist/SignalWidget-d9-6h85k.js +66 -0
  260. package/dist/SignalWidget-d9-6h85k.js.map +1 -0
  261. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +2 -0
  262. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +1 -0
  263. package/dist/SimpleTextDialog-pwN8oRy1.js +107 -0
  264. package/dist/SimpleTextDialog-pwN8oRy1.js.map +1 -0
  265. package/dist/SpacerWidget-7_8bpLCb.cjs +2 -0
  266. package/dist/SpacerWidget-7_8bpLCb.cjs.map +1 -0
  267. package/dist/SpacerWidget-BH0p2OLi.js +19 -0
  268. package/dist/SpacerWidget-BH0p2OLi.js.map +1 -0
  269. package/dist/SparklineWidget-60jVlbHA.cjs +2 -0
  270. package/dist/SparklineWidget-60jVlbHA.cjs.map +1 -0
  271. package/dist/SparklineWidget-coxi9r2g.js +48 -0
  272. package/dist/SparklineWidget-coxi9r2g.js.map +1 -0
  273. package/dist/TabbookWidget-B1XKplGH.js +66 -0
  274. package/dist/TabbookWidget-B1XKplGH.js.map +1 -0
  275. package/dist/TabbookWidget-D1CVT9IK.cjs +2 -0
  276. package/dist/TabbookWidget-D1CVT9IK.cjs.map +1 -0
  277. package/dist/TargetsTab-BkBkXn9A.js +129 -0
  278. package/dist/TargetsTab-BkBkXn9A.js.map +1 -0
  279. package/dist/TargetsTab-C-m26Eqq.cjs +2 -0
  280. package/dist/TargetsTab-C-m26Eqq.cjs.map +1 -0
  281. package/dist/TextBoxDialog-DOJ5d2RM.js +110 -0
  282. package/dist/TextBoxDialog-DOJ5d2RM.js.map +1 -0
  283. package/dist/TextBoxDialog-DfMXg_5C.cjs +2 -0
  284. package/dist/TextBoxDialog-DfMXg_5C.cjs.map +1 -0
  285. package/dist/TextboxWidget-BDG4NxRw.cjs +2 -0
  286. package/dist/TextboxWidget-BDG4NxRw.cjs.map +1 -0
  287. package/dist/TextboxWidget-C-_M2M4l.js +93 -0
  288. package/dist/TextboxWidget-C-_M2M4l.js.map +1 -0
  289. package/dist/TextfieldWidget-BGJv9Lox.cjs +2 -0
  290. package/dist/TextfieldWidget-BGJv9Lox.cjs.map +1 -0
  291. package/dist/TextfieldWidget-C08N4JE8.js +37 -0
  292. package/dist/TextfieldWidget-C08N4JE8.js.map +1 -0
  293. package/dist/TimeWidget-CGCOIouj.cjs +2 -0
  294. package/dist/TimeWidget-CGCOIouj.cjs.map +1 -0
  295. package/dist/TimeWidget-DtwdEcFg.js +40 -0
  296. package/dist/TimeWidget-DtwdEcFg.js.map +1 -0
  297. package/dist/TitleWidget-BljFH9RB.cjs +2 -0
  298. package/dist/TitleWidget-BljFH9RB.cjs.map +1 -0
  299. package/dist/TitleWidget-CT-aLcNb.js +26 -0
  300. package/dist/TitleWidget-CT-aLcNb.js.map +1 -0
  301. package/dist/ToolsTab-NveeVXz2.js +1521 -0
  302. package/dist/ToolsTab-NveeVXz2.js.map +1 -0
  303. package/dist/ToolsTab-RMTst_Sy.cjs +7 -0
  304. package/dist/ToolsTab-RMTst_Sy.cjs.map +1 -0
  305. package/dist/TopBar-CnJNNJlV.js +278 -0
  306. package/dist/TopBar-CnJNNJlV.js.map +1 -0
  307. package/dist/TopBar-Cnmb6DyC.cjs +2 -0
  308. package/dist/TopBar-Cnmb6DyC.cjs.map +1 -0
  309. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +94 -0
  310. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +1 -0
  311. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +2 -0
  312. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +1 -0
  313. package/dist/VWidget-2N2cOosI.cjs +2 -0
  314. package/dist/VWidget-2N2cOosI.cjs.map +1 -0
  315. package/dist/VWidget-DQqb7NVW.js +323 -0
  316. package/dist/VWidget-DQqb7NVW.js.map +1 -0
  317. package/dist/ValueWidget-C6RanBj3.js +116 -0
  318. package/dist/ValueWidget-C6RanBj3.js.map +1 -0
  319. package/dist/ValueWidget-Cu7hgKja.cjs +2 -0
  320. package/dist/ValueWidget-Cu7hgKja.cjs.map +1 -0
  321. package/dist/ValuelimitsbarWidget-B3bvjfxc.js +41 -0
  322. package/dist/ValuelimitsbarWidget-B3bvjfxc.js.map +1 -0
  323. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs +2 -0
  324. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs.map +1 -0
  325. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs +2 -0
  326. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs.map +1 -0
  327. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js +40 -0
  328. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js.map +1 -0
  329. package/dist/ValuerangebarWidget-Dt3K9BnC.js +65 -0
  330. package/dist/ValuerangebarWidget-Dt3K9BnC.js.map +1 -0
  331. package/dist/ValuerangebarWidget-DyN78cQl.cjs +2 -0
  332. package/dist/ValuerangebarWidget-DyN78cQl.cjs.map +1 -0
  333. package/dist/VerticalWidget-BIIViZgI.js +40 -0
  334. package/dist/VerticalWidget-BIIViZgI.js.map +1 -0
  335. package/dist/VerticalWidget-CFTOu4H8.cjs +2 -0
  336. package/dist/VerticalWidget-CFTOu4H8.cjs.map +1 -0
  337. package/dist/VerticalboxWidget-DY72fLHW.js +46 -0
  338. package/dist/VerticalboxWidget-DY72fLHW.js.map +1 -0
  339. package/dist/VerticalboxWidget-Z8-DWI8t.cjs +2 -0
  340. package/dist/VerticalboxWidget-Z8-DWI8t.cjs.map +1 -0
  341. package/dist/Widget-ChoIB2dd.cjs +2 -0
  342. package/dist/Widget-ChoIB2dd.cjs.map +1 -0
  343. package/dist/Widget-oyqWpFXJ.js +197 -0
  344. package/dist/Widget-oyqWpFXJ.js.map +1 -0
  345. package/dist/WidgetComponents-C1lSLZ0I.js +30205 -0
  346. package/dist/WidgetComponents-C1lSLZ0I.js.map +1 -0
  347. package/dist/WidgetComponents-utpQ592X.cjs +1493 -0
  348. package/dist/WidgetComponents-utpQ592X.cjs.map +1 -0
  349. package/dist/addMonths-BtG7uZLJ.js +19 -0
  350. package/dist/addMonths-BtG7uZLJ.js.map +1 -0
  351. package/dist/addMonths-n1tnl3ab.cjs +2 -0
  352. package/dist/addMonths-n1tnl3ab.cjs.map +1 -0
  353. package/dist/components.cjs +4 -0
  354. package/dist/components.cjs.map +1 -0
  355. package/dist/components.js +1379 -0
  356. package/dist/components.js.map +1 -0
  357. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  358. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  359. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  360. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  361. package/dist/format-B22VpiOS.cjs +2 -0
  362. package/dist/format-B22VpiOS.cjs.map +1 -0
  363. package/dist/format-CVeawcIv.js +1295 -0
  364. package/dist/format-CVeawcIv.js.map +1 -0
  365. package/dist/getDefaultOptions-Batab9o8.cjs +2 -0
  366. package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -0
  367. package/dist/getDefaultOptions-BhSDk-Jo.js +8 -0
  368. package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -0
  369. package/dist/icons/status-dark.png +0 -0
  370. package/dist/icons/status-dark.xcf +0 -0
  371. package/dist/icons/status-light.png +0 -0
  372. package/dist/icons.cjs +2 -0
  373. package/dist/icons.cjs.map +1 -0
  374. package/dist/icons.js +164 -0
  375. package/dist/icons.js.map +1 -0
  376. package/dist/index-BX05anye.cjs +7 -0
  377. package/dist/index-BX05anye.cjs.map +1 -0
  378. package/dist/index-DwP8ryNM.js +1694 -0
  379. package/dist/index-DwP8ryNM.js.map +1 -0
  380. package/dist/parse-DnkEsW-3.js +1603 -0
  381. package/dist/parse-DnkEsW-3.js.map +1 -0
  382. package/dist/parse-DwfgQboe.cjs +2 -0
  383. package/dist/parse-DwfgQboe.cjs.map +1 -0
  384. package/dist/plugins.cjs +9 -0
  385. package/dist/plugins.cjs.map +1 -0
  386. package/dist/plugins.js +776 -0
  387. package/dist/plugins.js.map +1 -0
  388. package/dist/timeFilters-8SaYvcH0.cjs +2 -0
  389. package/dist/timeFilters-8SaYvcH0.cjs.map +1 -0
  390. package/dist/timeFilters-CRYpYDdf.js +622 -0
  391. package/dist/timeFilters-CRYpYDdf.js.map +1 -0
  392. package/dist/tools/admin.cjs +13 -0
  393. package/dist/tools/admin.cjs.map +1 -0
  394. package/dist/tools/admin.js +2024 -0
  395. package/dist/tools/admin.js.map +1 -0
  396. package/dist/tools/base.cjs +2 -0
  397. package/dist/tools/base.cjs.map +1 -0
  398. package/dist/tools/base.js +1677 -0
  399. package/dist/tools/base.js.map +1 -0
  400. package/dist/tools/calendar.cjs +2 -0
  401. package/dist/tools/calendar.cjs.map +1 -0
  402. package/dist/tools/calendar.js +12 -0
  403. package/dist/tools/calendar.js.map +1 -0
  404. package/dist/tools/scriptrunner.cjs +86 -0
  405. package/dist/tools/scriptrunner.cjs.map +1 -0
  406. package/dist/tools/scriptrunner.js +4564 -0
  407. package/dist/tools/scriptrunner.js.map +1 -0
  408. package/dist/util.cjs +2 -0
  409. package/dist/util.cjs.map +1 -0
  410. package/dist/util.js +9 -0
  411. package/dist/util.js.map +1 -0
  412. package/dist/vue-common.css +1 -0
  413. package/dist/widgets.cjs +2 -0
  414. package/dist/widgets.cjs.map +1 -0
  415. package/dist/widgets.js +132 -0
  416. package/dist/widgets.js.map +1 -0
  417. package/package.json +20 -15
@@ -0,0 +1,66 @@
1
+ import { B as e } from "./BarColumn-C6p07yWK.js";
2
+ import { createElementBlock as s, openBlock as l, normalizeStyle as r, createStaticVNode as h } from "vue";
3
+ import { _ as d } from "./CustomIcon-h5X7369N.js";
4
+ const o = {
5
+ mixins: [e],
6
+ data() {
7
+ return {
8
+ width: 22,
9
+ // px
10
+ height: 120
11
+ // users will override with px
12
+ };
13
+ },
14
+ computed: {
15
+ // TODO: Not sure why we have to reimplement this from BarColumn
16
+ // strangely enough LimitsbarWidget.vue works fine without it
17
+ cssProps: function() {
18
+ let t = this.screenValues[this.valueId][0], i = this.modifyLimits(
19
+ this.limitsSettings[this.selectedLimitsSet]
20
+ );
21
+ if (i)
22
+ return this.calcLimits(i), {
23
+ "--height": this.height + "px",
24
+ "--width": this.width + "px",
25
+ "--container-width": this.width - 5 + "px",
26
+ "--position": this.calcPosition(t, i) + "%",
27
+ "--redlow-height": this.redLow + "%",
28
+ "--redhigh-height": this.redHigh + "%",
29
+ "--yellowlow-height": this.yellowLow + "%",
30
+ "--yellowhigh-height": this.yellowHigh + "%",
31
+ "--greenlow-height": this.greenLow + "%",
32
+ "--greenhigh-height": this.greenHigh + "%",
33
+ "--blue-height": this.blue + "%"
34
+ };
35
+ throw {
36
+ line: this.line,
37
+ lineNumber: this.lineNumber,
38
+ keyword: "LIMITSCOLUMN",
39
+ parameters: this.parameters,
40
+ message: "Item has no limits settings",
41
+ usage: "Only items with limits"
42
+ };
43
+ }
44
+ },
45
+ created() {
46
+ this.verifyNumParams(
47
+ "LIMITSCOLUMN",
48
+ 3,
49
+ 6,
50
+ "LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>"
51
+ );
52
+ }
53
+ };
54
+ function m(t, i, n, c, v, a) {
55
+ return l(), s("div", {
56
+ class: "limitsbar",
57
+ style: r([a.cssProps, t.computedStyle])
58
+ }, i[0] || (i[0] = [
59
+ h('<div class="limitsbar__container" data-v-a4a8f4ab><div class="limitsbar__redlow" data-v-a4a8f4ab></div><div class="limitsbar__redhigh" data-v-a4a8f4ab></div><div class="limitsbar__yellowlow" data-v-a4a8f4ab></div><div class="limitsbar__yellowhigh" data-v-a4a8f4ab></div><div class="limitsbar__greenlow" data-v-a4a8f4ab></div><div class="limitsbar__greenhigh" data-v-a4a8f4ab></div><div class="limitsbar__blue" data-v-a4a8f4ab></div><div class="limitsbar__line" data-v-a4a8f4ab></div><div class="limitsbar__arrow" data-v-a4a8f4ab></div></div>', 1)
60
+ ]), 4);
61
+ }
62
+ const w = /* @__PURE__ */ d(o, [["render", m], ["__scopeId", "data-v-a4a8f4ab"]]);
63
+ export {
64
+ w as default
65
+ };
66
+ //# sourceMappingURL=LimitscolumnWidget-CcLs_443.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LimitscolumnWidget-CcLs_443.js","sources":["../src/widgets/LimitscolumnWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"limitsbar\" :style=\"[cssProps, computedStyle]\">\n <div class=\"limitsbar__container\">\n <div class=\"limitsbar__redlow\" />\n <div class=\"limitsbar__redhigh\" />\n <div class=\"limitsbar__yellowlow\" />\n <div class=\"limitsbar__yellowhigh\" />\n <div class=\"limitsbar__greenlow\" />\n <div class=\"limitsbar__greenhigh\" />\n <div class=\"limitsbar__blue\" />\n\n <div class=\"limitsbar__line\" />\n <div class=\"limitsbar__arrow\" />\n </div>\n </div>\n</template>\n\n<script>\nimport BarColumn from './BarColumn'\n\nexport default {\n mixins: [BarColumn],\n data() {\n return {\n width: 22, // px\n height: 120, // users will override with px\n }\n },\n computed: {\n // TODO: Not sure why we have to reimplement this from BarColumn\n // strangely enough LimitsbarWidget.vue works fine without it\n cssProps: function () {\n let value = this.screenValues[this.valueId][0]\n let limits = this.modifyLimits(\n this.limitsSettings[this.selectedLimitsSet],\n )\n if (limits) {\n this.calcLimits(limits)\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-width': this.width - 5 + 'px',\n '--position': this.calcPosition(value, limits) + '%',\n '--redlow-height': this.redLow + '%',\n '--redhigh-height': this.redHigh + '%',\n '--yellowlow-height': this.yellowLow + '%',\n '--yellowhigh-height': this.yellowHigh + '%',\n '--greenlow-height': this.greenLow + '%',\n '--greenhigh-height': this.greenHigh + '%',\n '--blue-height': this.blue + '%',\n }\n } else {\n // See errorCaptured in Openc3Screen.vue for how this is parsed\n throw {\n line: this.line,\n lineNumber: this.lineNumber,\n keyword: 'LIMITSCOLUMN',\n parameters: this.parameters,\n message: 'Item has no limits settings',\n usage: 'Only items with limits',\n }\n }\n },\n },\n created() {\n this.verifyNumParams(\n 'LIMITSCOLUMN',\n 3,\n 6,\n 'LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>',\n )\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.limitsbar {\n cursor: default;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 5px;\n height: var(--height);\n margin-right: 5px;\n}\n.limitsbar__container {\n position: relative;\n flex: 1 1 100%;\n width: var(--container-width);\n border: 1px solid black;\n background-color: white;\n}\n.limitsbar__redlow {\n position: absolute;\n bottom: 0px;\n width: var(--container-width);\n height: var(--redlow-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__redhigh {\n position: absolute;\n top: 0px;\n width: var(--container-width);\n height: var(--redhigh-height);\n background-color: rgb(255, 45, 45);\n}\n.limitsbar__yellowlow {\n position: absolute;\n bottom: var(--redlow-height);\n height: var(--yellowlow-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__yellowhigh {\n position: absolute;\n top: var(--redhigh-height);\n height: var(--yellowhigh-height);\n width: var(--container-width);\n background-color: rgb(255, 220, 0);\n}\n.limitsbar__greenlow {\n position: absolute;\n bottom: calc(var(--redlow-height) + var(--yellowlow-height));\n width: var(--container-width);\n height: var(--greenlow-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__greenhigh {\n position: absolute;\n top: calc(var(--redhigh-height) + var(--yellowhigh-height));\n width: var(--container-width);\n height: var(--greenhigh-height);\n background-color: rgb(0, 200, 0);\n}\n.limitsbar__blue {\n position: absolute;\n bottom: calc(\n var(--redlow-height) + var(--yellowlow-height) + var(--greenlow-height)\n );\n width: var(--container-width);\n height: var(--blue-height);\n background-color: rgb(0, 153, 255);\n}\n.limitsbar__line {\n position: absolute;\n bottom: var(--position);\n width: var(--container-width);\n height: 1px;\n background-color: rgb(128, 128, 128);\n}\n$arrow-size: 5px;\n.limitsbar__arrow {\n position: absolute;\n bottom: var(--position);\n left: var(--container-width);\n width: 0;\n height: 0;\n transform: translateY($arrow-size); // Transform so it sits over the line\n border-top: $arrow-size solid transparent;\n border-bottom: $arrow-size solid transparent;\n border-right: $arrow-size solid rgb(128, 128, 128);\n}\n</style>\n"],"names":["_sfc_main","BarColumn","value","limits","_createElementBlock","_normalizeStyle","$options","_ctx","_createStaticVNode"],"mappings":";;;AAsCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAS;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,MACL,OAAO;AAAA;AAAA,MACP,QAAQ;AAAA;AAAA,IACV;AAAA,EACD;AAAA,EACD,UAAU;AAAA;AAAA;AAAA,IAGR,UAAU,WAAY;AACpB,UAAIC,IAAQ,KAAK,aAAa,KAAK,OAAO,EAAE,CAAC,GACzCC,IAAS,KAAK;AAAA,QAChB,KAAK,eAAe,KAAK,iBAAiB;AAAA,MAC5C;AACA,UAAIA;AACF,oBAAK,WAAWA,CAAM,GACf;AAAA,UACL,YAAY,KAAK,SAAS;AAAA,UAC1B,WAAW,KAAK,QAAQ;AAAA,UACxB,qBAAqB,KAAK,QAAQ,IAAI;AAAA,UACtC,cAAc,KAAK,aAAaD,GAAOC,CAAM,IAAI;AAAA,UACjD,mBAAmB,KAAK,SAAS;AAAA,UACjC,oBAAoB,KAAK,UAAU;AAAA,UACnC,sBAAsB,KAAK,YAAY;AAAA,UACvC,uBAAuB,KAAK,aAAa;AAAA,UACzC,qBAAqB,KAAK,WAAW;AAAA,UACrC,sBAAsB,KAAK,YAAY;AAAA,UACvC,iBAAiB,KAAK,OAAO;AAAA,QAC/B;AAGA,YAAM;AAAA,QACJ,MAAM,KAAK;AAAA,QACX,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,YAAY,KAAK;AAAA,QACjB,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,IAEH;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACD;AACH;;cAvEEC,EAaM,OAAA;AAAA,IAbD,OAAM;AAAA,IAAa,OAnB1BC,EAAA,CAmBkCC,EAAQ,UAAEC,EAAa,aAAA,CAAA;AAAA;IAnBzDC,EAAA,iiBAAA,CAAA;AAAA;;;"}
@@ -0,0 +1,39 @@
1
+ import { G as s } from "./GraphWidget-DurWDmpg.js";
2
+ import "./WidgetComponents-C1lSLZ0I.js";
3
+ import { resolveComponent as o, createBlock as r, openBlock as a, normalizeStyle as n } from "vue";
4
+ import { _ as p } from "./CustomIcon-h5X7369N.js";
5
+ import { G as d } from "./Graph-Bgo0cjl3.js";
6
+ import "single-spa";
7
+ const m = {
8
+ components: {
9
+ Graph: d
10
+ },
11
+ mixins: [s]
12
+ };
13
+ function h(e, t, l, g, f, u) {
14
+ const i = o("graph");
15
+ return a(), r(i, {
16
+ ref: "graph" + e.id,
17
+ id: e.id,
18
+ state: e.state,
19
+ "selected-graph-id": e.id,
20
+ startTime: e.startTime,
21
+ "seconds-graphed": e.secondsGraphed,
22
+ "points-saved": e.pointsSaved,
23
+ "points-graphed": e.pointsGraphed,
24
+ "initial-items": e.items,
25
+ height: e.size.height,
26
+ width: e.size.width,
27
+ style: n(e.computedStyle),
28
+ "time-zone": this.screenTimeZone,
29
+ onPause: t[0] || (t[0] = () => e.state = "pause"),
30
+ onStart: t[1] || (t[1] = () => e.state = "start"),
31
+ "hide-toolbar": "",
32
+ "hide-overview": ""
33
+ }, null, 8, ["id", "state", "selected-graph-id", "startTime", "seconds-graphed", "points-saved", "points-graphed", "initial-items", "height", "width", "style", "time-zone"]);
34
+ }
35
+ const T = /* @__PURE__ */ p(m, [["render", h]]);
36
+ export {
37
+ T as default
38
+ };
39
+ //# sourceMappingURL=LinegraphWidget-BSVYLFo1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinegraphWidget-BSVYLFo1.js","sources":["../src/widgets/LinegraphWidget.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 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :ref=\"'graph' + id\"\n :id=\"id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :startTime=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"this.screenTimeZone\"\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n hide-toolbar\n hide-overview\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx","_normalizeStyle"],"mappings":";;;;;;AAgDA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,OAAAC;AAAA,EACD;AAAA,EACD,QAAQ,CAACC,CAAW;AACtB;;;cA9BEC,EAkBEC,GAAA;AAAA,IAjBC,eAAeC,EAAE;AAAA,IACjB,IAAIA,EAAE;AAAA,IACN,OAAOA,EAAK;AAAA,IACZ,qBAAmBA,EAAE;AAAA,IACrB,WAAWA,EAAS;AAAA,IACpB,mBAAiBA,EAAc;AAAA,IAC/B,gBAAcA,EAAW;AAAA,IACzB,kBAAgBA,EAAa;AAAA,IAC7B,iBAAeA,EAAK;AAAA,IACpB,QAAQA,EAAI,KAAC;AAAA,IACb,OAAOA,EAAI,KAAC;AAAA,IACZ,OAnCLC,EAmCYD,EAAa,aAAA;AAAA,IACpB,kBAAgB;AAAA,IAChB,+BAAcA,EAAK,QAAA;AAAA,IACnB,+BAAcA,EAAK,QAAA;AAAA,IACpB,gBAAA;AAAA,IACA,iBAAA;AAAA;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./GraphWidget-sid4Ws9H.cjs");require("./WidgetComponents-utpQ592X.cjs");const i=require("vue"),o=require("./CustomIcon-Bop2mEnu.cjs"),n=require("./Graph-Ujd2yaeI.cjs");require("single-spa");const a={components:{Graph:n.Graph},mixins:[r.GraphWidget]};function d(e,t,h,l,u,g){const s=i.resolveComponent("graph");return i.openBlock(),i.createBlock(s,{ref:"graph"+e.id,id:e.id,state:e.state,"selected-graph-id":e.id,startTime:e.startTime,"seconds-graphed":e.secondsGraphed,"points-saved":e.pointsSaved,"points-graphed":e.pointsGraphed,"initial-items":e.items,height:e.size.height,width:e.size.width,style:i.normalizeStyle(e.computedStyle),"time-zone":this.screenTimeZone,onPause:t[0]||(t[0]=()=>e.state="pause"),onStart:t[1]||(t[1]=()=>e.state="start"),"hide-toolbar":"","hide-overview":""},null,8,["id","state","selected-graph-id","startTime","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style","time-zone"])}const p=o._export_sfc(a,[["render",d]]);exports.default=p;
2
+ //# sourceMappingURL=LinegraphWidget-Bf8DIwEn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinegraphWidget-Bf8DIwEn.cjs","sources":["../src/widgets/LinegraphWidget.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 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <graph\n :ref=\"'graph' + id\"\n :id=\"id\"\n :state=\"state\"\n :selected-graph-id=\"id\"\n :startTime=\"startTime\"\n :seconds-graphed=\"secondsGraphed\"\n :points-saved=\"pointsSaved\"\n :points-graphed=\"pointsGraphed\"\n :initial-items=\"items\"\n :height=\"size.height\"\n :width=\"size.width\"\n :style=\"computedStyle\"\n :time-zone=\"this.screenTimeZone\"\n @pause=\"() => (state = 'pause')\"\n @start=\"() => (state = 'start')\"\n hide-toolbar\n hide-overview\n />\n</template>\n\n<script>\nimport GraphWidget from './GraphWidget'\nimport { Graph } from '@/components'\n\nexport default {\n components: {\n Graph,\n },\n mixins: [GraphWidget],\n}\n</script>\n"],"names":["_sfc_main","Graph","GraphWidget","_createBlock","_component_graph","_ctx","_normalizeStyle"],"mappings":"+RAgDA,MAAKA,EAAU,CACb,WAAY,OACVC,EAAK,KACN,EACD,OAAQ,CAACC,EAAAA,WAAW,CACtB,mFA9BEC,EAkBE,YAAAC,EAAA,CAjBC,YAAeC,EAAE,GACjB,GAAIA,EAAE,GACN,MAAOA,EAAK,MACZ,oBAAmBA,EAAE,GACrB,UAAWA,EAAS,UACpB,kBAAiBA,EAAc,eAC/B,eAAcA,EAAW,YACzB,iBAAgBA,EAAa,cAC7B,gBAAeA,EAAK,MACpB,OAAQA,EAAI,KAAC,OACb,MAAOA,EAAI,KAAC,MACZ,MAnCLC,EAAAA,eAmCYD,EAAa,aAAA,EACpB,iBAAgB,eAChB,wBAAcA,EAAK,MAAA,SACnB,wBAAcA,EAAK,MAAA,SACpB,eAAA,GACA,gBAAA"}
@@ -0,0 +1,56 @@
1
+ import { L as f } from "./Layout-Tf--nruw.js";
2
+ import { _ as d } from "./WidgetComponents-C1lSLZ0I.js";
3
+ import { createElementBlock as n, openBlock as t, normalizeStyle as h, Fragment as o, renderList as i, createBlock as g, resolveDynamicComponent as y, mergeProps as k } from "vue";
4
+ import { _ } from "./CustomIcon-h5X7369N.js";
5
+ const b = {
6
+ mixins: [f],
7
+ computed: {
8
+ columns() {
9
+ return parseInt(this.parameters[0]);
10
+ },
11
+ widgetChunks() {
12
+ return d.chunk(this.widgets, this.columns);
13
+ }
14
+ },
15
+ created: function() {
16
+ if (this.parameters[1]) {
17
+ let r = this.parameters[1];
18
+ this.widgets.forEach((a) => {
19
+ a.settings.find(
20
+ (s) => s[0] === "MARGIN" || s[0] === "RAW" && s[1].toUpperCase().includes("MARGIN")
21
+ ) === void 0 && a.settings.push(["MARGIN", r]);
22
+ });
23
+ }
24
+ }
25
+ };
26
+ function A(r, a, m, s, C, u) {
27
+ return t(), n("table", {
28
+ style: h(r.computedStyle),
29
+ role: "presentation"
30
+ }, [
31
+ (t(!0), n(o, null, i(u.widgetChunks, (l, c) => (t(), n("tr", {
32
+ key: "r" + c
33
+ }, [
34
+ (t(!0), n(o, null, i(l, (e, p) => (t(), n("td", {
35
+ key: "c" + p
36
+ }, [
37
+ (t(), g(y(e.type), k({ ref_for: !0 }, r.listeners, {
38
+ target: e.target,
39
+ parameters: e.parameters,
40
+ settings: e.settings,
41
+ "screen-values": r.screenValues,
42
+ "screen-time-zone": r.screenTimeZone,
43
+ widgets: e.widgets,
44
+ name: e.name,
45
+ line: e.line,
46
+ "line-number": e.lineNumber
47
+ }), null, 16, ["target", "parameters", "settings", "screen-values", "screen-time-zone", "widgets", "name", "line", "line-number"]))
48
+ ]))), 128))
49
+ ]))), 128))
50
+ ], 4);
51
+ }
52
+ const v = /* @__PURE__ */ _(b, [["render", A]]);
53
+ export {
54
+ v as default
55
+ };
56
+ //# sourceMappingURL=MatrixbycolumnsWidget-DXFpZTre.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixbycolumnsWidget-DXFpZTre.js","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 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <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] === '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","_normalizeStyle","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;AA+CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA,IACR,UAAU;AACR,aAAO,SAAS,KAAK,WAAW,CAAC,CAAC;AAAA,IACnC;AAAA,IACD,eAAe;AACb,aAAOC,EAAE,MAAM,KAAK,SAAS,KAAK,OAAO;AAAA,IAC1C;AAAA,EACF;AAAA,EACD,SAAS,WAAY;AACnB,QAAI,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAO/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,MAAM,SACdA,EAAQ,CAAC,EAAE,YAAa,EAAC,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE1C,CAAA;AAAA,IACH;AAAA,EACD;AACH;;cAlDEG,EAkBQ,SAAA;AAAA,IAlBA,OAvBVC,EAuBiBC,EAAa,aAAA;AAAA,IAAE,MAAK;AAAA;KACjCC,EAAA,EAAA,GAAAH,EAgBKI,SAxCTC,EAwBkCC,EAAA,cAxBlC,CAwBgBC,GAAOC,YAAnBR,EAgBK,MAAA;AAAA,MAhBwC,WAAWQ;AAAA;OACtDL,EAAA,EAAA,GAAAH,EAcKI,SAvCXC,EAyBqCE,GAzBrC,CAyBkBT,GAAQW,YAApBT,EAcK,MAAA;AAAA,QAdkC,WAAWS;AAAA;cAChDC,EA1BRC,EA4Beb,EAAO,IAAI,GAFlBc,EAYE,EAtCV,SAAA,MA2BkBV,EAAS,WAAA;AAAA,UAEhB,QAAQJ,EAAO;AAAA,UACf,YAAYA,EAAO;AAAA,UACnB,UAAUA,EAAO;AAAA,UACjB,iBAAeI,EAAY;AAAA,UAC3B,oBAAkBA,EAAc;AAAA,UAChC,SAASJ,EAAO;AAAA,UAChB,MAAMA,EAAO;AAAA,UACb,MAAMA,EAAO;AAAA,UACb,eAAaA,EAAO;AAAA;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-DuCYyOw4.cjs"),m=require("./WidgetComponents-utpQ592X.cjs"),e=require("vue"),p=require("./CustomIcon-Bop2mEnu.cjs"),d={mixins:[i.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]==="RAW"&&r[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",n])})}}};function k(n,s,o,r,g,c){return e.openBlock(),e.createElementBlock("table",{style:e.normalizeStyle(n.computedStyle),role:"presentation"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.widgetChunks,(l,a)=>(e.openBlock(),e.createElementBlock("tr",{key:"r"+a},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l,(t,u)=>(e.openBlock(),e.createElementBlock("td",{key:"c"+u},[(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-DpdFzNeP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatrixbycolumnsWidget-DpdFzNeP.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 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <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] === '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","_normalizeStyle","_ctx","_openBlock","_Fragment","_renderList","$options","chunk","rindex","cindex","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"8NA+CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,SAAU,CACR,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CACnC,EACD,cAAe,CACb,OAAOC,EAAC,EAAC,MAAM,KAAK,QAAS,KAAK,OAAO,CAC1C,CACF,EACD,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,IAAM,OACdA,EAAQ,CAAC,EAAE,YAAa,EAAC,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE1C,CAAA,CACH,CACD,CACH,+CAlDEG,EAkBQ,mBAAA,QAAA,CAlBA,MAvBVC,EAAAA,eAuBiBC,EAAa,aAAA,EAAE,KAAK,kBACjCC,EAAAA,UAAA,EAAA,EAAAH,EAAA,mBAgBKI,gBAxCTC,EAwBkC,WAAAC,EAAA,aAxBlC,CAwBgBC,EAAOC,mBAAnBR,EAgBK,mBAAA,KAAA,CAhBwC,QAAWQ,KACtDL,YAAA,EAAA,EAAAH,EAAAA,mBAcKI,gBAvCXC,EAAAA,WAyBqCE,EAzBrC,CAyBkBT,EAAQW,mBAApBT,EAcK,mBAAA,KAAA,CAdkC,QAAWS,mBAChDC,EAAAA,YA1BRC,EA4Be,wBAAAb,EAAO,IAAI,EAFlBc,EAYE,WAAA,CAtCV,QAAA,IA2BkBV,EAAS,UAAA,CAEhB,OAAQJ,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeI,EAAY,aAC3B,mBAAkBA,EAAc,eAChC,QAASJ,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./WidgetComponents-utpQ592X.cjs"),e=require("vue"),y=require("./CustomIcon-Bop2mEnu.cjs");require("single-spa");const k=require("./OutputDialog-DXoL9VPw.cjs"),T=require("./TextBoxDialog-DfMXg_5C.cjs"),h=require("./format-B22VpiOS.cjs"),S={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(){u.oi.get("/openc3-api/microservice_status/all").then(o=>{this.microservice_status=o.data}),u.oi.get("/openc3-api/microservices/all").then(o=>{let t=[];for(const[s,l]of Object.entries(o.data))t.push(l);t.sort((s,l)=>s.name.localeCompare(l.name)),this.microservices=t})},startMicroservice:function(o){this.$dialog.confirm(`Are you sure you want to restart microservice: ${o}?`,{okText:"Start",cancelText:"Cancel"}).then(t=>{u.oi.post(`/openc3-api/microservices/${o}/start`).then(s=>{this.alert=`Started ${o}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},stopMicroservice:function(o){this.$dialog.confirm(`Are you sure you want to stop microservice: ${o}?`,{okText:"Stop",cancelText:"Cancel"}).then(t=>{u.oi.post(`/openc3-api/microservices/${o}/stop`).then(s=>{this.alert=`Stopped ${o}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3)}).then(()=>{this.update()})})},showMicroservice:function(o){u.oi.get(`/openc3-api/microservices/${o}`).then(t=>{this.microservice_id=o,this.dialogTitle=o,this.jsonContent=JSON.stringify(t.data,null," "),this.showDialog=!0})},showMicroserviceError:function(o){this.dialogTitle=o;const t=this.microservice_status[o].error;this.jsonContent=JSON.stringify(t,null," "),this.showError=!0},formatDate(o){return h.format(h.toDate(parseInt(o)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},dialogCallback:function(o){if(this.showDialog=!1,o!==null){let t=JSON.parse(o),s="put",l=`/openc3-api/microservices/${this.microservice_id}`;t.name!==this.microservice_id&&(s="post",l="/openc3-api/microservices"),u.oi[s](l,{data:{json:o}}).then(r=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}},D={key:0};function b(o,t,s,l,r,a){const _=e.resolveComponent("v-alert"),f=e.resolveComponent("v-list-item-title"),C=e.resolveComponent("v-list-item-subtitle"),m=e.resolveComponent("v-icon"),d=e.resolveComponent("v-tooltip"),p=e.resolveComponent("v-list-item-icon"),w=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),x=e.resolveComponent("v-list"),V=e.resolveComponent("output-dialog"),N=e.resolveComponent("text-box-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(_,{modelValue:r.showAlert,"onUpdate:modelValue":t[0]||(t[0]=i=>r.showAlert=i),dismissible:"",transition:"scale-transition",type:r.alertType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.alert),1)]),_:1},8,["modelValue","type"]),e.createVNode(x,{class:"list","data-test":"microserviceList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.microservices,i=>(e.openBlock(),e.createElementBlock("div",{key:i},[e.createVNode(w,null,{append:e.withCtx(()=>[r.microservice_status[i.name]?(e.openBlock(),e.createElementBlock("div",D,[e.withDirectives(e.createElementVNode("div",null,[e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:n})=>[e.createVNode(m,e.mergeProps({ref_for:!0},n,{onClick:c=>a.showMicroserviceError(i.name)}),{default:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode(" mdi-alert ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[4]||(t[4]=e.createElementVNode("span",null,"View Error",-1))]),_:2},1024)],512),[[e.vShow,!!r.microservice_status[i.name].error]])])):e.createCommentVNode("",!0),e.createVNode(p,{class:"mr-3"},{default:e.withCtx(()=>[e.createVNode(d,{bottom:""},{activator:e.withCtx(({on:n,attrs:c})=>[e.createVNode(m,e.mergeProps({onClick:v=>a.startMicroservice(i.name),ref_for:!0},c,e.toHandlers(n)),{default:e.withCtx(()=>t[5]||(t[5]=[e.createTextVNode(" mdi-play ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[6]||(t[6]=e.createElementVNode("span",null,"Start Microservice",-1))]),_:2},1024)]),_:2},1024),e.createVNode(p,{class:"mr-3"},{default:e.withCtx(()=>[e.createVNode(d,{bottom:""},{activator:e.withCtx(({on:n,attrs:c})=>[e.createVNode(m,e.mergeProps({onClick:v=>a.stopMicroservice(i.name),ref_for:!0},c,e.toHandlers(n)),{default:e.withCtx(()=>t[7]||(t[7]=[e.createTextVNode(" mdi-stop ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[8]||(t[8]=e.createElementVNode("span",null,"Stop Microservice",-1))]),_:2},1024)]),_:2},1024),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(d,{bottom:""},{activator:e.withCtx(({on:n,attrs:c})=>[e.createVNode(m,e.mergeProps({onClick:v=>a.showMicroservice(i.name),ref_for:!0},c,e.toHandlers(n)),{default:e.withCtx(()=>t[9]||(t[9]=[e.createTextVNode(" mdi-eye ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("span",null,"View Microservice",-1))]),_:2},1024)]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.name),1)]),_:2},1024),r.microservice_status[i.name]?(e.openBlock(),e.createBlock(C,{key:0},{default:e.withCtx(()=>[e.createTextVNode(" Updated: "+e.toDisplayString(a.formatDate(r.microservice_status[i.name].updated_at))+", State: "+e.toDisplayString(r.microservice_status[i.name].state)+", Enabled: "+e.toDisplayString(i.enabled===!1?"False":"True")+", Count: "+e.toDisplayString(r.microservice_status[i.name].count),1)]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1024),e.createVNode(g)]))),128))]),_:1}),r.showDialog?(e.openBlock(),e.createBlock(V,{key:0,modelValue:r.showDialog,"onUpdate:modelValue":t[1]||(t[1]=i=>r.showDialog=i),content:r.jsonContent,type:"Microservice",name:r.dialogTitle,onSubmit:a.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0),r.showError?(e.openBlock(),e.createBlock(N,{key:1,modelValue:r.showError,"onUpdate:modelValue":t[2]||(t[2]=i=>r.showError=i),text:r.jsonContent,title:r.dialogTitle},null,8,["modelValue","text","title"])):e.createCommentVNode("",!0)])}const E=y._export_sfc(S,[["render",b],["__scopeId","data-v-af1fc783"]]);exports.default=E;
2
+ //# sourceMappingURL=MicroservicesTab-B5n-mN8G.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicroservicesTab-B5n-mN8G.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 v-slot:append>\n <div v-if=\"microservice_status[microservice.name]\">\n <div v-show=\"!!microservice_status[microservice.name].error\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"showMicroserviceError(microservice.name)\"\n >\n mdi-alert\n </v-icon>\n </template>\n <span>View Error</span>\n </v-tooltip>\n </div>\n </div>\n <v-list-item-icon class=\"mr-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"startMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-play\n </v-icon>\n </template>\n <span>Start Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n <v-list-item-icon class=\"mr-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"stopMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-stop\n </v-icon>\n </template>\n <span>Stop Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"showMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>View Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-model=\"showDialog\"\n v-if=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-model=\"showError\"\n v-if=\"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","_cache","$event","_withCtx","_createTextVNode","_toDisplayString","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_hoisted_1","_createElementVNode","_component_v_tooltip","props","_component_v_icon","_mergeProps","$options","_vShow","_createCommentVNode","_component_v_list_item_icon","on","attrs","_toHandlers","_component_v_list_item_title","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ import { o as v } from "./WidgetComponents-C1lSLZ0I.js";
2
+ import { resolveComponent as l, createElementBlock as w, openBlock as c, createVNode as r, createBlock as k, createCommentVNode as y, withCtx as s, createTextVNode as m, toDisplayString as _, Fragment as O, renderList as U, withDirectives as B, createElementVNode as f, mergeProps as C, vShow as I, toHandlers as b } from "vue";
3
+ import { _ as H } from "./CustomIcon-h5X7369N.js";
4
+ import "single-spa";
5
+ import { O as J } from "./OutputDialog-zVPZiZay.js";
6
+ import { T as F } from "./TextBoxDialog-DOJ5d2RM.js";
7
+ import { f as L, t as P } from "./format-CVeawcIv.js";
8
+ const q = {
9
+ components: {
10
+ OutputDialog: J,
11
+ TextBoxDialog: F
12
+ },
13
+ data() {
14
+ return {
15
+ microservices: [],
16
+ microservice_status: {},
17
+ microservice_id: null,
18
+ jsonContent: "",
19
+ dialogTitle: "",
20
+ showDialog: !1,
21
+ showError: !1,
22
+ alert: "",
23
+ alertType: "success",
24
+ showAlert: !1,
25
+ updater: null
26
+ };
27
+ },
28
+ mounted() {
29
+ this.update(), this.updater = setInterval(() => {
30
+ this.update();
31
+ }, 2e3);
32
+ },
33
+ beforeUnmount() {
34
+ clearInterval(this.updater), this.updater = null;
35
+ },
36
+ methods: {
37
+ update: function() {
38
+ v.get("/openc3-api/microservice_status/all").then((e) => {
39
+ this.microservice_status = e.data;
40
+ }), v.get("/openc3-api/microservices/all").then((e) => {
41
+ let t = [];
42
+ for (const [n, a] of Object.entries(
43
+ e.data
44
+ ))
45
+ t.push(a);
46
+ t.sort((n, a) => n.name.localeCompare(a.name)), this.microservices = t;
47
+ });
48
+ },
49
+ startMicroservice: function(e) {
50
+ this.$dialog.confirm(`Are you sure you want to restart microservice: ${e}?`, {
51
+ okText: "Start",
52
+ cancelText: "Cancel"
53
+ }).then((t) => {
54
+ v.post(`/openc3-api/microservices/${e}/start`).then((n) => {
55
+ this.alert = `Started ${e}`, this.alertType = "success", this.showAlert = !0, setTimeout(() => {
56
+ this.showAlert = !1;
57
+ }, 5e3);
58
+ }).then(() => {
59
+ this.update();
60
+ });
61
+ });
62
+ },
63
+ stopMicroservice: function(e) {
64
+ this.$dialog.confirm(`Are you sure you want to stop microservice: ${e}?`, {
65
+ okText: "Stop",
66
+ cancelText: "Cancel"
67
+ }).then((t) => {
68
+ v.post(`/openc3-api/microservices/${e}/stop`).then((n) => {
69
+ this.alert = `Stopped ${e}`, this.alertType = "success", this.showAlert = !0, setTimeout(() => {
70
+ this.showAlert = !1;
71
+ }, 5e3);
72
+ }).then(() => {
73
+ this.update();
74
+ });
75
+ });
76
+ },
77
+ showMicroservice: function(e) {
78
+ v.get(`/openc3-api/microservices/${e}`).then((t) => {
79
+ this.microservice_id = e, this.dialogTitle = e, this.jsonContent = JSON.stringify(t.data, null, " "), this.showDialog = !0;
80
+ });
81
+ },
82
+ showMicroserviceError: function(e) {
83
+ this.dialogTitle = e;
84
+ const t = this.microservice_status[e].error;
85
+ this.jsonContent = JSON.stringify(t, null, " "), this.showError = !0;
86
+ },
87
+ formatDate(e) {
88
+ return L(
89
+ P(parseInt(e) / 1e6),
90
+ "yyyy-MM-dd HH:mm:ss.SSS"
91
+ );
92
+ },
93
+ dialogCallback: function(e) {
94
+ if (this.showDialog = !1, e !== null) {
95
+ let t = JSON.parse(e), n = "put", a = `/openc3-api/microservices/${this.microservice_id}`;
96
+ t.name !== this.microservice_id && (n = "post", a = "/openc3-api/microservices"), v[n](a, {
97
+ data: {
98
+ json: e
99
+ }
100
+ }).then((o) => {
101
+ this.alert = "Modified Microservice", this.alertType = "success", this.showAlert = !0, setTimeout(() => {
102
+ this.showAlert = !1;
103
+ }, 5e3), this.update();
104
+ });
105
+ }
106
+ }
107
+ }
108
+ }, z = { key: 0 };
109
+ function G(e, t, n, a, o, p) {
110
+ const M = l("v-alert"), S = l("v-list-item-title"), V = l("v-list-item-subtitle"), h = l("v-icon"), g = l("v-tooltip"), T = l("v-list-item-icon"), D = l("v-list-item"), A = l("v-divider"), E = l("v-list"), j = l("output-dialog"), N = l("text-box-dialog");
111
+ return c(), w("div", null, [
112
+ r(M, {
113
+ modelValue: o.showAlert,
114
+ "onUpdate:modelValue": t[0] || (t[0] = (i) => o.showAlert = i),
115
+ dismissible: "",
116
+ transition: "scale-transition",
117
+ type: o.alertType
118
+ }, {
119
+ default: s(() => [
120
+ m(_(o.alert), 1)
121
+ ]),
122
+ _: 1
123
+ }, 8, ["modelValue", "type"]),
124
+ r(E, {
125
+ class: "list",
126
+ "data-test": "microserviceList"
127
+ }, {
128
+ default: s(() => [
129
+ (c(!0), w(O, null, U(o.microservices, (i) => (c(), w("div", { key: i }, [
130
+ r(D, null, {
131
+ append: s(() => [
132
+ o.microservice_status[i.name] ? (c(), w("div", z, [
133
+ B(f("div", null, [
134
+ r(g, { location: "top" }, {
135
+ activator: s(({ props: u }) => [
136
+ r(h, C({ ref_for: !0 }, u, {
137
+ onClick: (d) => p.showMicroserviceError(i.name)
138
+ }), {
139
+ default: s(() => t[3] || (t[3] = [
140
+ m(" mdi-alert ")
141
+ ])),
142
+ _: 2
143
+ }, 1040, ["onClick"])
144
+ ]),
145
+ default: s(() => [
146
+ t[4] || (t[4] = f("span", null, "View Error", -1))
147
+ ]),
148
+ _: 2
149
+ }, 1024)
150
+ ], 512), [
151
+ [I, !!o.microservice_status[i.name].error]
152
+ ])
153
+ ])) : y("", !0),
154
+ r(T, { class: "mr-3" }, {
155
+ default: s(() => [
156
+ r(g, { bottom: "" }, {
157
+ activator: s(({ on: u, attrs: d }) => [
158
+ r(h, C({
159
+ onClick: (x) => p.startMicroservice(i.name),
160
+ ref_for: !0
161
+ }, d, b(u)), {
162
+ default: s(() => t[5] || (t[5] = [
163
+ m(" mdi-play ")
164
+ ])),
165
+ _: 2
166
+ }, 1040, ["onClick"])
167
+ ]),
168
+ default: s(() => [
169
+ t[6] || (t[6] = f("span", null, "Start Microservice", -1))
170
+ ]),
171
+ _: 2
172
+ }, 1024)
173
+ ]),
174
+ _: 2
175
+ }, 1024),
176
+ r(T, { class: "mr-3" }, {
177
+ default: s(() => [
178
+ r(g, { bottom: "" }, {
179
+ activator: s(({ on: u, attrs: d }) => [
180
+ r(h, C({
181
+ onClick: (x) => p.stopMicroservice(i.name),
182
+ ref_for: !0
183
+ }, d, b(u)), {
184
+ default: s(() => t[7] || (t[7] = [
185
+ m(" mdi-stop ")
186
+ ])),
187
+ _: 2
188
+ }, 1040, ["onClick"])
189
+ ]),
190
+ default: s(() => [
191
+ t[8] || (t[8] = f("span", null, "Stop Microservice", -1))
192
+ ]),
193
+ _: 2
194
+ }, 1024)
195
+ ]),
196
+ _: 2
197
+ }, 1024),
198
+ r(T, null, {
199
+ default: s(() => [
200
+ r(g, { bottom: "" }, {
201
+ activator: s(({ on: u, attrs: d }) => [
202
+ r(h, C({
203
+ onClick: (x) => p.showMicroservice(i.name),
204
+ ref_for: !0
205
+ }, d, b(u)), {
206
+ default: s(() => t[9] || (t[9] = [
207
+ m(" mdi-eye ")
208
+ ])),
209
+ _: 2
210
+ }, 1040, ["onClick"])
211
+ ]),
212
+ default: s(() => [
213
+ t[10] || (t[10] = f("span", null, "View Microservice", -1))
214
+ ]),
215
+ _: 2
216
+ }, 1024)
217
+ ]),
218
+ _: 2
219
+ }, 1024)
220
+ ]),
221
+ default: s(() => [
222
+ r(S, null, {
223
+ default: s(() => [
224
+ m(_(i.name), 1)
225
+ ]),
226
+ _: 2
227
+ }, 1024),
228
+ o.microservice_status[i.name] ? (c(), k(V, { key: 0 }, {
229
+ default: s(() => [
230
+ m(" Updated: " + _(p.formatDate(o.microservice_status[i.name].updated_at)) + ", State: " + _(o.microservice_status[i.name].state) + ", Enabled: " + _(i.enabled === !1 ? "False" : "True") + ", Count: " + _(o.microservice_status[i.name].count), 1)
231
+ ]),
232
+ _: 2
233
+ }, 1024)) : y("", !0)
234
+ ]),
235
+ _: 2
236
+ }, 1024),
237
+ r(A)
238
+ ]))), 128))
239
+ ]),
240
+ _: 1
241
+ }),
242
+ o.showDialog ? (c(), k(j, {
243
+ key: 0,
244
+ modelValue: o.showDialog,
245
+ "onUpdate:modelValue": t[1] || (t[1] = (i) => o.showDialog = i),
246
+ content: o.jsonContent,
247
+ type: "Microservice",
248
+ name: o.dialogTitle,
249
+ onSubmit: p.dialogCallback
250
+ }, null, 8, ["modelValue", "content", "name", "onSubmit"])) : y("", !0),
251
+ o.showError ? (c(), k(N, {
252
+ key: 1,
253
+ modelValue: o.showError,
254
+ "onUpdate:modelValue": t[2] || (t[2] = (i) => o.showError = i),
255
+ text: o.jsonContent,
256
+ title: o.dialogTitle
257
+ }, null, 8, ["modelValue", "text", "title"])) : y("", !0)
258
+ ]);
259
+ }
260
+ const $ = /* @__PURE__ */ H(q, [["render", G], ["__scopeId", "data-v-af1fc783"]]);
261
+ export {
262
+ $ as default
263
+ };
264
+ //# sourceMappingURL=MicroservicesTab-mCdS0v39.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicroservicesTab-mCdS0v39.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 v-slot:append>\n <div v-if=\"microservice_status[microservice.name]\">\n <div v-show=\"!!microservice_status[microservice.name].error\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"showMicroserviceError(microservice.name)\"\n >\n mdi-alert\n </v-icon>\n </template>\n <span>View Error</span>\n </v-tooltip>\n </div>\n </div>\n <v-list-item-icon class=\"mr-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"startMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-play\n </v-icon>\n </template>\n <span>Start Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n <v-list-item-icon class=\"mr-3\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"stopMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-stop\n </v-icon>\n </template>\n <span>Stop Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"showMicroservice(microservice.name)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>View Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-model=\"showDialog\"\n v-if=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Microservice\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-model=\"showError\"\n v-if=\"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","_cache","$event","_withCtx","_createTextVNode","_toDisplayString","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_hoisted_1","_createElementVNode","_component_v_tooltip","props","_component_v_icon","_mergeProps","$options","_vShow","_createCommentVNode","_component_v_list_item_icon","on","attrs","_toHandlers","_component_v_list_item_title","_createBlock","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog","_component_text_box_dialog"],"mappings":"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"}