@openc3/vue-common 6.2.1 → 6.4.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 (541) hide show
  1. package/dist/{ArrayWidget-BIQi_bWC.cjs → ArrayWidget-Ba-YDfZB.cjs} +3 -3
  2. package/dist/{ArrayWidget-BIQi_bWC.cjs.map → ArrayWidget-Ba-YDfZB.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-BxEO5hEG.js → ArrayWidget-DAZApfkV.js} +5 -5
  4. package/dist/{ArrayWidget-BxEO5hEG.js.map → ArrayWidget-DAZApfkV.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-B_VPoV4v.js → ArrayplotWidget-BfsxDplv.js} +4 -4
  6. package/dist/{ArrayplotWidget-B_VPoV4v.js.map → ArrayplotWidget-BfsxDplv.js.map} +1 -1
  7. package/dist/ArrayplotWidget-Ckm4lmSc.cjs +2 -0
  8. package/dist/{ArrayplotWidget-Donxhd8_.cjs.map → ArrayplotWidget-Ckm4lmSc.cjs.map} +1 -1
  9. package/dist/{BarColumn-CyRSZHMh.cjs → BarColumn-Cp7oEFJR.cjs} +2 -2
  10. package/dist/{BarColumn-CyRSZHMh.cjs.map → BarColumn-Cp7oEFJR.cjs.map} +1 -1
  11. package/dist/{BarColumn-C9dkpg2O.js → BarColumn-q0nAsvrd.js} +3 -3
  12. package/dist/{BarColumn-C9dkpg2O.js.map → BarColumn-q0nAsvrd.js.map} +1 -1
  13. package/dist/BlockWidget-DRB-TDL_.cjs +3 -0
  14. package/dist/{BlockWidget-DPLN1jgj.cjs.map → BlockWidget-DRB-TDL_.cjs.map} +1 -1
  15. package/dist/{BlockWidget-CuefOin6.js → BlockWidget-SDCUWcMQ.js} +5 -5
  16. package/dist/{BlockWidget-CuefOin6.js.map → BlockWidget-SDCUWcMQ.js.map} +1 -1
  17. package/dist/{ButtonWidget-B6HM0Doo.js → ButtonWidget-BVMjwC19.js} +7 -7
  18. package/dist/{ButtonWidget-B6HM0Doo.js.map → ButtonWidget-BVMjwC19.js.map} +1 -1
  19. package/dist/ButtonWidget-yJ70adEU.cjs +3 -0
  20. package/dist/{ButtonWidget-DccYzIY3.cjs.map → ButtonWidget-yJ70adEU.cjs.map} +1 -1
  21. package/dist/CanvasWidget-DXkxnt1x.cjs +2 -0
  22. package/dist/{CanvasWidget-BzTU9rc9.cjs.map → CanvasWidget-DXkxnt1x.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-DZQGG-yQ.js → CanvasWidget-bVkufjRQ.js} +3 -3
  24. package/dist/{CanvasWidget-DZQGG-yQ.js.map → CanvasWidget-bVkufjRQ.js.map} +1 -1
  25. package/dist/CanvasdotWidget-Bi3nZh7g.cjs +2 -0
  26. package/dist/{CanvasdotWidget-B7VTS1QI.cjs.map → CanvasdotWidget-Bi3nZh7g.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget-6wuCSnw_.js → CanvasdotWidget-DpniFfca.js} +3 -3
  28. package/dist/{CanvasdotWidget-6wuCSnw_.js.map → CanvasdotWidget-DpniFfca.js.map} +1 -1
  29. package/dist/CanvasimageWidget-C-aBl-by.cjs +2 -0
  30. package/dist/{CanvasimageWidget-BwYpfmDE.cjs.map → CanvasimageWidget-C-aBl-by.cjs.map} +1 -1
  31. package/dist/{CanvasimageWidget-mhcPpAuN.js → CanvasimageWidget-DHOSz-dJ.js} +4 -4
  32. package/dist/{CanvasimageWidget-mhcPpAuN.js.map → CanvasimageWidget-DHOSz-dJ.js.map} +1 -1
  33. package/dist/CanvasimagevalueWidget-DAbbV-LB.cjs +2 -0
  34. package/dist/{CanvasimagevalueWidget-E_NsZ82T.cjs.map → CanvasimagevalueWidget-DAbbV-LB.cjs.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-Cx-dH8Gc.js → CanvasimagevalueWidget-zrURWWUL.js} +4 -4
  36. package/dist/{CanvasimagevalueWidget-Cx-dH8Gc.js.map → CanvasimagevalueWidget-zrURWWUL.js.map} +1 -1
  37. package/dist/CanvaslabelWidget-82bf_Awf.cjs +2 -0
  38. package/dist/{CanvaslabelWidget-BBDuXWfU.cjs.map → CanvaslabelWidget-82bf_Awf.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-CQZCeohU.js → CanvaslabelWidget-D-XAMifp.js} +3 -3
  40. package/dist/{CanvaslabelWidget-CQZCeohU.js.map → CanvaslabelWidget-D-XAMifp.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-CwmYDCjr.js → CanvaslabelvalueWidget-BsIdBtEb.js} +3 -3
  42. package/dist/{CanvaslabelvalueWidget-CwmYDCjr.js.map → CanvaslabelvalueWidget-BsIdBtEb.js.map} +1 -1
  43. package/dist/CanvaslabelvalueWidget-DgDzwLdi.cjs +2 -0
  44. package/dist/{CanvaslabelvalueWidget-DAdu7ujn.cjs.map → CanvaslabelvalueWidget-DgDzwLdi.cjs.map} +1 -1
  45. package/dist/CanvaslineWidget-BRRPuuqS.cjs +2 -0
  46. package/dist/{CanvaslineWidget-Bv5da1Vy.cjs.map → CanvaslineWidget-BRRPuuqS.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-nTP3fJB4.js → CanvaslineWidget-CA2aPGRg.js} +3 -3
  48. package/dist/{CanvaslineWidget-nTP3fJB4.js.map → CanvaslineWidget-CA2aPGRg.js.map} +1 -1
  49. package/dist/CanvaslinevalueWidget-BYjWr2gq.cjs +2 -0
  50. package/dist/{CanvaslinevalueWidget-BVfUB96K.cjs.map → CanvaslinevalueWidget-BYjWr2gq.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-C3sJnjLQ.js → CanvaslinevalueWidget-J7epKRlo.js} +3 -3
  52. package/dist/{CanvaslinevalueWidget-C3sJnjLQ.js.map → CanvaslinevalueWidget-J7epKRlo.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-5-8YDsQL.js → CheckbuttonWidget-ByH-PDRG.js} +3 -3
  54. package/dist/{CheckbuttonWidget-5-8YDsQL.js.map → CheckbuttonWidget-ByH-PDRG.js.map} +1 -1
  55. package/dist/CheckbuttonWidget-DkoFFTcM.cjs +2 -0
  56. package/dist/{CheckbuttonWidget-BGqD-BGc.cjs.map → CheckbuttonWidget-DkoFFTcM.cjs.map} +1 -1
  57. package/dist/{ComboboxWidget-DzBL8h9f.js → ComboboxWidget-Bdm_fMzW.js} +3 -3
  58. package/dist/{ComboboxWidget-DzBL8h9f.js.map → ComboboxWidget-Bdm_fMzW.js.map} +1 -1
  59. package/dist/ComboboxWidget-Dq28F4bs.cjs +2 -0
  60. package/dist/{ComboboxWidget-DoHMlSAr.cjs.map → ComboboxWidget-Dq28F4bs.cjs.map} +1 -1
  61. package/dist/{CriticalCmdDialog-DLEasFsx.js → CriticalCmdDialog-Bcq8PGag.js} +17 -17
  62. package/dist/CriticalCmdDialog-Bcq8PGag.js.map +1 -0
  63. package/dist/CriticalCmdDialog-CLF7hYKu.cjs +2 -0
  64. package/dist/CriticalCmdDialog-CLF7hYKu.cjs.map +1 -0
  65. package/dist/CustomIcon-Bop2mEnu.cjs +2 -0
  66. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -0
  67. package/dist/CustomIcon-h5X7369N.js +50 -0
  68. package/dist/CustomIcon-h5X7369N.js.map +1 -0
  69. package/dist/{DateWidget-CW7Od7lB.js → DateWidget-BaQqthC7.js} +4 -4
  70. package/dist/{DateWidget-CW7Od7lB.js.map → DateWidget-BaQqthC7.js.map} +1 -1
  71. package/dist/DateWidget-DCayVS3o.cjs +2 -0
  72. package/dist/{DateWidget-DKZz1J9J.cjs.map → DateWidget-DCayVS3o.cjs.map} +1 -1
  73. package/dist/{DetailsDialog-BvbziA7Y.js → DetailsDialog-C5jf8o0K.js} +16 -16
  74. package/dist/DetailsDialog-C5jf8o0K.js.map +1 -0
  75. package/dist/DetailsDialog-CangkVuF.cjs +2 -0
  76. package/dist/DetailsDialog-CangkVuF.cjs.map +1 -0
  77. package/dist/DynamicWidget-BWEVCUfd.cjs +2 -0
  78. package/dist/{DynamicWidget-3wHr6Ng-.cjs.map → DynamicWidget-BWEVCUfd.cjs.map} +1 -1
  79. package/dist/{DynamicWidget-gFSYxzvT.js → DynamicWidget-CfMtj7H8.js} +2 -2
  80. package/dist/{DynamicWidget-gFSYxzvT.js.map → DynamicWidget-CfMtj7H8.js.map} +1 -1
  81. package/dist/EventListDialog-Bniar26O.js +1509 -0
  82. package/dist/EventListDialog-Bniar26O.js.map +1 -0
  83. package/dist/EventListDialog-D_KXhGDO.cjs +2 -0
  84. package/dist/EventListDialog-D_KXhGDO.cjs.map +1 -0
  85. package/dist/FormatvalueWidget--H5B9i_Y.js +48 -0
  86. package/dist/FormatvalueWidget--H5B9i_Y.js.map +1 -0
  87. package/dist/FormatvalueWidget-CDh1rF5P.cjs +2 -0
  88. package/dist/FormatvalueWidget-CDh1rF5P.cjs.map +1 -0
  89. package/dist/Graph-DIR-5tJu.cjs +2 -0
  90. package/dist/Graph-DIR-5tJu.cjs.map +1 -0
  91. package/dist/{Graph-3rkhFP3G.js → Graph-M382Zo8o.js} +676 -806
  92. package/dist/Graph-M382Zo8o.js.map +1 -0
  93. package/dist/{GraphWidget-22NxFa9k.cjs → GraphWidget-CNUOLw5-.cjs} +2 -2
  94. package/dist/{GraphWidget-22NxFa9k.cjs.map → GraphWidget-CNUOLw5-.cjs.map} +1 -1
  95. package/dist/{GraphWidget-Dycey-mj.js → GraphWidget-_YOGDD1U.js} +2 -2
  96. package/dist/{GraphWidget-Dycey-mj.js.map → GraphWidget-_YOGDD1U.js.map} +1 -1
  97. package/dist/HorizontalWidget-Bix4q7It.cjs +2 -0
  98. package/dist/{HorizontalWidget-BBeB0eBI.cjs.map → HorizontalWidget-Bix4q7It.cjs.map} +1 -1
  99. package/dist/{HorizontalWidget-D31NRWy5.js → HorizontalWidget-D_gzrOWs.js} +3 -3
  100. package/dist/{HorizontalWidget-D31NRWy5.js.map → HorizontalWidget-D_gzrOWs.js.map} +1 -1
  101. package/dist/HorizontalboxWidget-B8a4-h2J.cjs +2 -0
  102. package/dist/HorizontalboxWidget-B8a4-h2J.cjs.map +1 -0
  103. package/dist/HorizontalboxWidget-GDcjO-UB.js +47 -0
  104. package/dist/HorizontalboxWidget-GDcjO-UB.js.map +1 -0
  105. package/dist/HorizontallineWidget-BD6dqVhE.cjs +2 -0
  106. package/dist/{HorizontallineWidget-BCKOQase.cjs.map → HorizontallineWidget-BD6dqVhE.cjs.map} +1 -1
  107. package/dist/HorizontallineWidget-DZvOYFxf.js +16 -0
  108. package/dist/{HorizontallineWidget-CbxREBYI.js.map → HorizontallineWidget-DZvOYFxf.js.map} +1 -1
  109. package/dist/{IframeWidget-Ctj8OIcG.js → IframeWidget-CuUav9b3.js} +3 -3
  110. package/dist/{IframeWidget-Ctj8OIcG.js.map → IframeWidget-CuUav9b3.js.map} +1 -1
  111. package/dist/IframeWidget-DL_CET3B.cjs +2 -0
  112. package/dist/{IframeWidget-CZwsTgvX.cjs.map → IframeWidget-DL_CET3B.cjs.map} +1 -1
  113. package/dist/{ImageLoader-BrNrCBvi.js → ImageLoader-3KLKJ5mV.js} +2 -2
  114. package/dist/{ImageLoader-BrNrCBvi.js.map → ImageLoader-3KLKJ5mV.js.map} +1 -1
  115. package/dist/{ImageLoader-D_Gq-KxR.cjs → ImageLoader-DaWMqoJS.cjs} +2 -2
  116. package/dist/{ImageLoader-D_Gq-KxR.cjs.map → ImageLoader-DaWMqoJS.cjs.map} +1 -1
  117. package/dist/{ImageviewerWidget-XrsqxmLo.js → ImageviewerWidget-BMZ6REN4.js} +3 -3
  118. package/dist/{ImageviewerWidget-XrsqxmLo.js.map → ImageviewerWidget-BMZ6REN4.js.map} +1 -1
  119. package/dist/ImageviewerWidget-_0YopZ1s.cjs +2 -0
  120. package/dist/{ImageviewerWidget-DwRPFSLR.cjs.map → ImageviewerWidget-_0YopZ1s.cjs.map} +1 -1
  121. package/dist/InterfacesTab-DGrLsTA0.cjs +2 -0
  122. package/dist/InterfacesTab-DGrLsTA0.cjs.map +1 -0
  123. package/dist/InterfacesTab-DTixVrGo.js +83 -0
  124. package/dist/InterfacesTab-DTixVrGo.js.map +1 -0
  125. package/dist/LabelWidget-DkZvBxYg.cjs +2 -0
  126. package/dist/LabelWidget-DkZvBxYg.cjs.map +1 -0
  127. package/dist/{LabelWidget-t7I87dp7.js → LabelWidget-oh6FIG6s.js} +5 -5
  128. package/dist/LabelWidget-oh6FIG6s.js.map +1 -0
  129. package/dist/{LabelledWidget-C7TDf92M.js → LabelledWidget-Bic36les.js} +5 -5
  130. package/dist/{LabelledWidget-C7TDf92M.js.map → LabelledWidget-Bic36les.js.map} +1 -1
  131. package/dist/LabelledWidget-D7nm73kj.cjs +2 -0
  132. package/dist/{LabelledWidget-DUpHxc9z.cjs.map → LabelledWidget-D7nm73kj.cjs.map} +1 -1
  133. package/dist/{LabelprogressbarWidget-wwLURt1u.js → LabelprogressbarWidget-CqIiGoDb.js} +5 -5
  134. package/dist/{LabelprogressbarWidget-wwLURt1u.js.map → LabelprogressbarWidget-CqIiGoDb.js.map} +1 -1
  135. package/dist/LabelprogressbarWidget-DY0Xd2c2.cjs +2 -0
  136. package/dist/{LabelprogressbarWidget-D6cpayCR.cjs.map → LabelprogressbarWidget-DY0Xd2c2.cjs.map} +1 -1
  137. package/dist/{LabelsparklineWidget-B3awLUyP.js → LabelsparklineWidget-DLhmqO02.js} +5 -5
  138. package/dist/{LabelsparklineWidget-B3awLUyP.js.map → LabelsparklineWidget-DLhmqO02.js.map} +1 -1
  139. package/dist/LabelsparklineWidget-DZ5-iEcK.cjs +2 -0
  140. package/dist/{LabelsparklineWidget-CJRnLETe.cjs.map → LabelsparklineWidget-DZ5-iEcK.cjs.map} +1 -1
  141. package/dist/{LabelvalueWidget-Zx_yHCtl.js → LabelvalueWidget-BefwSSVq.js} +5 -5
  142. package/dist/{LabelvalueWidget-Zx_yHCtl.js.map → LabelvalueWidget-BefwSSVq.js.map} +1 -1
  143. package/dist/LabelvalueWidget-D-u38nLh.cjs +2 -0
  144. package/dist/{LabelvalueWidget-owiMSCYl.cjs.map → LabelvalueWidget-D-u38nLh.cjs.map} +1 -1
  145. package/dist/LabelvaluedescWidget-DMuBCLM8.cjs +2 -0
  146. package/dist/{LabelvaluedescWidget-MRmZBUc0.cjs.map → LabelvaluedescWidget-DMuBCLM8.cjs.map} +1 -1
  147. package/dist/{LabelvaluedescWidget-BBSBh4vI.js → LabelvaluedescWidget-NxrCzznm.js} +10 -10
  148. package/dist/{LabelvaluedescWidget-BBSBh4vI.js.map → LabelvaluedescWidget-NxrCzznm.js.map} +1 -1
  149. package/dist/LabelvaluelimitsbarWidget-BY212bgc.cjs +2 -0
  150. package/dist/{LabelvaluelimitsbarWidget-BQ2XYPNE.cjs.map → LabelvaluelimitsbarWidget-BY212bgc.cjs.map} +1 -1
  151. package/dist/{LabelvaluelimitsbarWidget-CZueHYWG.js → LabelvaluelimitsbarWidget-pq7qoolL.js} +5 -5
  152. package/dist/{LabelvaluelimitsbarWidget-CZueHYWG.js.map → LabelvaluelimitsbarWidget-pq7qoolL.js.map} +1 -1
  153. package/dist/LabelvaluelimitscolumnWidget-DVLGU6ja.cjs +2 -0
  154. package/dist/{LabelvaluelimitscolumnWidget-DNmVpU8J.cjs.map → LabelvaluelimitscolumnWidget-DVLGU6ja.cjs.map} +1 -1
  155. package/dist/{LabelvaluelimitscolumnWidget-BTvzyQMq.js → LabelvaluelimitscolumnWidget-edkpogsl.js} +6 -6
  156. package/dist/{LabelvaluelimitscolumnWidget-BTvzyQMq.js.map → LabelvaluelimitscolumnWidget-edkpogsl.js.map} +1 -1
  157. package/dist/LabelvaluerangebarWidget-CA_7kTS2.cjs +2 -0
  158. package/dist/{LabelvaluerangebarWidget-DL0U8cbw.cjs.map → LabelvaluerangebarWidget-CA_7kTS2.cjs.map} +1 -1
  159. package/dist/{LabelvaluerangebarWidget-BhYTBgDq.js → LabelvaluerangebarWidget-DpJNv9dh.js} +5 -5
  160. package/dist/{LabelvaluerangebarWidget-BhYTBgDq.js.map → LabelvaluerangebarWidget-DpJNv9dh.js.map} +1 -1
  161. package/dist/{Layout-Bh7VzCZd.js → Layout-B0hvhBQO.js} +2 -2
  162. package/dist/{Layout-Bh7VzCZd.js.map → Layout-B0hvhBQO.js.map} +1 -1
  163. package/dist/Layout-BLADjt_A.cjs +2 -0
  164. package/dist/{Layout-DRL0EeSA.cjs.map → Layout-BLADjt_A.cjs.map} +1 -1
  165. package/dist/LedWidget--4eSxBnn.js +148 -0
  166. package/dist/LedWidget--4eSxBnn.js.map +1 -0
  167. package/dist/LedWidget-BoZKOBZg.cjs +2 -0
  168. package/dist/LedWidget-BoZKOBZg.cjs.map +1 -0
  169. package/dist/{LimitsbarWidget-Djui0IpK.js → LimitsbarWidget-BQaumgRt.js} +11 -8
  170. package/dist/LimitsbarWidget-BQaumgRt.js.map +1 -0
  171. package/dist/LimitsbarWidget-CyHbbNx3.cjs +2 -0
  172. package/dist/LimitsbarWidget-CyHbbNx3.cjs.map +1 -0
  173. package/dist/{LimitscolorWidget-DdmvKzmx.js → LimitscolorWidget-BBF9sRtF.js} +3 -3
  174. package/dist/{LimitscolorWidget-DdmvKzmx.js.map → LimitscolorWidget-BBF9sRtF.js.map} +1 -1
  175. package/dist/LimitscolorWidget-CsuRoqxm.cjs +2 -0
  176. package/dist/{LimitscolorWidget-CS0wpX9A.cjs.map → LimitscolorWidget-CsuRoqxm.cjs.map} +1 -1
  177. package/dist/LimitscolumnWidget-Cr1qFT8M.cjs +2 -0
  178. package/dist/{LimitscolumnWidget-C_UW6xKq.cjs.map → LimitscolumnWidget-Cr1qFT8M.cjs.map} +1 -1
  179. package/dist/{LimitscolumnWidget-Cc19IEjq.js → LimitscolumnWidget-DZZtSoXw.js} +3 -3
  180. package/dist/{LimitscolumnWidget-Cc19IEjq.js.map → LimitscolumnWidget-DZZtSoXw.js.map} +1 -1
  181. package/dist/LinegraphWidget-Cw9vua8K.cjs +2 -0
  182. package/dist/{LinegraphWidget-8td_PqgU.cjs.map → LinegraphWidget-Cw9vua8K.cjs.map} +1 -1
  183. package/dist/{LinegraphWidget-BtieJxeL.js → LinegraphWidget-DTLZmyWs.js} +5 -5
  184. package/dist/{LinegraphWidget-BtieJxeL.js.map → LinegraphWidget-DTLZmyWs.js.map} +1 -1
  185. package/dist/MatrixbycolumnsWidget-Digh2kY7.cjs +2 -0
  186. package/dist/{MatrixbycolumnsWidget-CGOeCNW2.cjs.map → MatrixbycolumnsWidget-Digh2kY7.cjs.map} +1 -1
  187. package/dist/{MatrixbycolumnsWidget-DnExVRF8.js → MatrixbycolumnsWidget-dpgZz4wR.js} +4 -4
  188. package/dist/{MatrixbycolumnsWidget-DnExVRF8.js.map → MatrixbycolumnsWidget-dpgZz4wR.js.map} +1 -1
  189. package/dist/MicroservicesTab-BQywJ_ya.cjs +2 -0
  190. package/dist/MicroservicesTab-BQywJ_ya.cjs.map +1 -0
  191. package/dist/MicroservicesTab-DbL48MBc.js +219 -0
  192. package/dist/MicroservicesTab-DbL48MBc.js.map +1 -0
  193. package/dist/Openc3Screen-COi4u-9k.cjs +5 -0
  194. package/dist/Openc3Screen-COi4u-9k.cjs.map +1 -0
  195. package/dist/Openc3Screen-CtwGKfq-.js +1690 -0
  196. package/dist/Openc3Screen-CtwGKfq-.js.map +1 -0
  197. package/dist/{OutputDialog-Ci5OT_fH.js → OutputDialog-B5qHVyck.js} +66 -81
  198. package/dist/OutputDialog-B5qHVyck.js.map +1 -0
  199. package/dist/OutputDialog-CFhG2RY9.cjs +2 -0
  200. package/dist/OutputDialog-CFhG2RY9.cjs.map +1 -0
  201. package/dist/PackagesTab-Bw34RkLc.js +313 -0
  202. package/dist/PackagesTab-Bw34RkLc.js.map +1 -0
  203. package/dist/PackagesTab-DXSowjd4.cjs +2 -0
  204. package/dist/PackagesTab-DXSowjd4.cjs.map +1 -0
  205. package/dist/{PluginsTab-Ds3jk64b.js → PluginsTab-C9t0-QVm.js} +206 -245
  206. package/dist/PluginsTab-C9t0-QVm.js.map +1 -0
  207. package/dist/PluginsTab-CPaBGJMa.cjs +6 -0
  208. package/dist/PluginsTab-CPaBGJMa.cjs.map +1 -0
  209. package/dist/{ProgressbarWidget-DIfqhHRE.js → ProgressbarWidget-7cYr8136.js} +3 -3
  210. package/dist/{ProgressbarWidget-DIfqhHRE.js.map → ProgressbarWidget-7cYr8136.js.map} +1 -1
  211. package/dist/ProgressbarWidget-CdOWGViG.cjs +2 -0
  212. package/dist/{ProgressbarWidget-CUIAYySg.cjs.map → ProgressbarWidget-CdOWGViG.cjs.map} +1 -1
  213. package/dist/RadiobuttonWidget-5t4ofYx3.cjs +2 -0
  214. package/dist/{RadiobuttonWidget-Cjk1JAP_.cjs.map → RadiobuttonWidget-5t4ofYx3.cjs.map} +1 -1
  215. package/dist/{RadiobuttonWidget-QzIkNP7m.js → RadiobuttonWidget-DTfn-7F2.js} +3 -3
  216. package/dist/{RadiobuttonWidget-QzIkNP7m.js.map → RadiobuttonWidget-DTfn-7F2.js.map} +1 -1
  217. package/dist/{RadiogroupWidget-Ci9sCX39.js → RadiogroupWidget-DWvTpw94.js} +3 -3
  218. package/dist/{RadiogroupWidget-Ci9sCX39.js.map → RadiogroupWidget-DWvTpw94.js.map} +1 -1
  219. package/dist/RadiogroupWidget-emxyymRZ.cjs +2 -0
  220. package/dist/{RadiogroupWidget-B4lkYWaC.cjs.map → RadiogroupWidget-emxyymRZ.cjs.map} +1 -1
  221. package/dist/{RangebarWidget-CN0YuHqy.js → RangebarWidget-CG2Y7eYp.js} +3 -3
  222. package/dist/{RangebarWidget-CN0YuHqy.js.map → RangebarWidget-CG2Y7eYp.js.map} +1 -1
  223. package/dist/RangebarWidget-CLMKfbiT.cjs +2 -0
  224. package/dist/{RangebarWidget-nl0rzj93.cjs.map → RangebarWidget-CLMKfbiT.cjs.map} +1 -1
  225. package/dist/{RedisTab-CVimDkIE.js → RedisTab-CvPLS0Qe.js} +3 -3
  226. package/dist/{RedisTab-CVimDkIE.js.map → RedisTab-CvPLS0Qe.js.map} +1 -1
  227. package/dist/RedisTab-PbizvHjY.cjs +2 -0
  228. package/dist/{RedisTab-DhS4GHDj.cjs.map → RedisTab-PbizvHjY.cjs.map} +1 -1
  229. package/dist/{RollupWidget-y4jBtJB2.js → RollupWidget-C6HKTfCR.js} +3 -3
  230. package/dist/{RollupWidget-y4jBtJB2.js.map → RollupWidget-C6HKTfCR.js.map} +1 -1
  231. package/dist/RollupWidget-CHKUdXMx.cjs +2 -0
  232. package/dist/{RollupWidget-Bgudi_bt.cjs.map → RollupWidget-CHKUdXMx.cjs.map} +1 -1
  233. package/dist/RoutersTab-D-ex_yMO.js +85 -0
  234. package/dist/RoutersTab-D-ex_yMO.js.map +1 -0
  235. package/dist/RoutersTab-zkaML-Xt.cjs +2 -0
  236. package/dist/RoutersTab-zkaML-Xt.cjs.map +1 -0
  237. package/dist/ScriptChooser-Dkf84RzQ.cjs +2 -0
  238. package/dist/ScriptChooser-Dkf84RzQ.cjs.map +1 -0
  239. package/dist/ScriptChooser-qiC2xQ_W.js +176 -0
  240. package/dist/ScriptChooser-qiC2xQ_W.js.map +1 -0
  241. package/dist/ScrollwindowWidget-CVc9EXW2.cjs +2 -0
  242. package/dist/{ScrollwindowWidget-BIiV7xwi.cjs.map → ScrollwindowWidget-CVc9EXW2.cjs.map} +1 -1
  243. package/dist/{ScrollwindowWidget-CBzYk4Y3.js → ScrollwindowWidget-DvhBCYd2.js} +4 -4
  244. package/dist/{ScrollwindowWidget-CBzYk4Y3.js.map → ScrollwindowWidget-DvhBCYd2.js.map} +1 -1
  245. package/dist/{SecretsTab-BjviaTxh.js → SecretsTab-CLkJfzf-.js} +39 -49
  246. package/dist/SecretsTab-CLkJfzf-.js.map +1 -0
  247. package/dist/SecretsTab-Clw9ErBz.cjs +2 -0
  248. package/dist/SecretsTab-Clw9ErBz.cjs.map +1 -0
  249. package/dist/SettingsTab-BJ9mrQ8U.cjs +3 -0
  250. package/dist/SettingsTab-BJ9mrQ8U.cjs.map +1 -0
  251. package/dist/{SettingsTab-Bo_dYXgb.js → SettingsTab-CysOMBFu.js} +198 -135
  252. package/dist/SettingsTab-CysOMBFu.js.map +1 -0
  253. package/dist/{SignalWidget-DQ5Uc2uV.js → SignalWidget-BZIoGjam.js} +16 -18
  254. package/dist/SignalWidget-BZIoGjam.js.map +1 -0
  255. package/dist/SignalWidget-DpNUpQNW.cjs +2 -0
  256. package/dist/SignalWidget-DpNUpQNW.cjs.map +1 -0
  257. package/dist/SimpleTextDialog-CGStqYvO.js +97 -0
  258. package/dist/SimpleTextDialog-CGStqYvO.js.map +1 -0
  259. package/dist/SimpleTextDialog-P2KPhVHq.cjs +2 -0
  260. package/dist/SimpleTextDialog-P2KPhVHq.cjs.map +1 -0
  261. package/dist/SpacerWidget-CHuv4qDR.cjs +2 -0
  262. package/dist/{SpacerWidget-BBJR6HBQ.cjs.map → SpacerWidget-CHuv4qDR.cjs.map} +1 -1
  263. package/dist/{SpacerWidget-6rsc_dSM.js → SpacerWidget-YBS8RZIE.js} +3 -3
  264. package/dist/{SpacerWidget-6rsc_dSM.js.map → SpacerWidget-YBS8RZIE.js.map} +1 -1
  265. package/dist/{SparklineWidget-CZtvu2ss.js → SparklineWidget-BMhY9vYe.js} +5 -5
  266. package/dist/{SparklineWidget-CZtvu2ss.js.map → SparklineWidget-BMhY9vYe.js.map} +1 -1
  267. package/dist/SparklineWidget-qWQGTMwn.cjs +2 -0
  268. package/dist/{SparklineWidget-BxBLnjAO.cjs.map → SparklineWidget-qWQGTMwn.cjs.map} +1 -1
  269. package/dist/TabbookWidget-C4jdzkQl.cjs +2 -0
  270. package/dist/{TabbookWidget-DyFQnA10.cjs.map → TabbookWidget-C4jdzkQl.cjs.map} +1 -1
  271. package/dist/{TabbookWidget-DNALU0jl.js → TabbookWidget-RfET19pq.js} +3 -3
  272. package/dist/{TabbookWidget-DNALU0jl.js.map → TabbookWidget-RfET19pq.js.map} +1 -1
  273. package/dist/TargetsTab-CVZR_Bp6.cjs +2 -0
  274. package/dist/TargetsTab-CVZR_Bp6.cjs.map +1 -0
  275. package/dist/TargetsTab-CfBt-dZW.js +117 -0
  276. package/dist/TargetsTab-CfBt-dZW.js.map +1 -0
  277. package/dist/TextBoxDialog-C60jmnyN.js +98 -0
  278. package/dist/TextBoxDialog-C60jmnyN.js.map +1 -0
  279. package/dist/TextBoxDialog-DWt30tB8.cjs +2 -0
  280. package/dist/TextBoxDialog-DWt30tB8.cjs.map +1 -0
  281. package/dist/TextboxWidget-Cm7-yWTZ.cjs +2 -0
  282. package/dist/{TextboxWidget-D6lW_dsU.cjs.map → TextboxWidget-Cm7-yWTZ.cjs.map} +1 -1
  283. package/dist/{TextboxWidget-5hqPj74D.js → TextboxWidget-M8vFBSxS.js} +5 -5
  284. package/dist/{TextboxWidget-5hqPj74D.js.map → TextboxWidget-M8vFBSxS.js.map} +1 -1
  285. package/dist/TextfieldWidget-Bfk2NPtC.cjs +2 -0
  286. package/dist/{TextfieldWidget-iHN7-fyF.cjs.map → TextfieldWidget-Bfk2NPtC.cjs.map} +1 -1
  287. package/dist/{TextfieldWidget-Df0ANSiU.js → TextfieldWidget-Dev7lCsT.js} +3 -3
  288. package/dist/{TextfieldWidget-Df0ANSiU.js.map → TextfieldWidget-Dev7lCsT.js.map} +1 -1
  289. package/dist/TimeWidget-BqkZJdg7.cjs +2 -0
  290. package/dist/{TimeWidget-C3NZqTEG.cjs.map → TimeWidget-BqkZJdg7.cjs.map} +1 -1
  291. package/dist/{TimeWidget-C6XQMUG2.js → TimeWidget-CQzn13rQ.js} +4 -4
  292. package/dist/{TimeWidget-C6XQMUG2.js.map → TimeWidget-CQzn13rQ.js.map} +1 -1
  293. package/dist/{TitleWidget-B9SPUlbW.js → TitleWidget-C4zbSian.js} +3 -3
  294. package/dist/{TitleWidget-B9SPUlbW.js.map → TitleWidget-C4zbSian.js.map} +1 -1
  295. package/dist/TitleWidget-DW0hJ0FE.cjs +2 -0
  296. package/dist/{TitleWidget-CWZs33c4.cjs.map → TitleWidget-DW0hJ0FE.cjs.map} +1 -1
  297. package/dist/ToolsTab-CKeFb94Y.cjs +7 -0
  298. package/dist/{ToolsTab-CUpUmkZL.cjs.map → ToolsTab-CKeFb94Y.cjs.map} +1 -1
  299. package/dist/ToolsTab-CnhhRS3J.js +1501 -0
  300. package/dist/{ToolsTab-Cgpb2nAW.js.map → ToolsTab-CnhhRS3J.js.map} +1 -1
  301. package/dist/TopBar-4zZ-wYMY.cjs +2 -0
  302. package/dist/TopBar-4zZ-wYMY.cjs.map +1 -0
  303. package/dist/{TopBar-F1jHuFan.js → TopBar-BQhv8Jcc.js} +102 -68
  304. package/dist/TopBar-BQhv8Jcc.js.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog-C0MA3Uc-.cjs +2 -0
  306. package/dist/UpgradeToEnterpriseDialog-C0MA3Uc-.cjs.map +1 -0
  307. package/dist/{UpgradeToEnterpriseDialog-DVcAH30Y.js → UpgradeToEnterpriseDialog-c6twungI.js} +27 -27
  308. package/dist/UpgradeToEnterpriseDialog-c6twungI.js.map +1 -0
  309. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs +1497 -0
  310. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-Bowkx8lp.cjs.map +1 -0
  311. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js +30244 -0
  312. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CVrrWDJ_.js.map +1 -0
  313. package/dist/{VWidget-C4spAawK.js → VWidget-iASFPjdx.js} +3 -3
  314. package/dist/{VWidget-C4spAawK.js.map → VWidget-iASFPjdx.js.map} +1 -1
  315. package/dist/{VWidget-C2x_zSC2.cjs → VWidget-iTwRH6Qq.cjs} +2 -2
  316. package/dist/{VWidget-C2x_zSC2.cjs.map → VWidget-iTwRH6Qq.cjs.map} +1 -1
  317. package/dist/{ValueWidget-D4RrYVEK.js → ValueWidget-BVI6uUVX.js} +17 -15
  318. package/dist/ValueWidget-BVI6uUVX.js.map +1 -0
  319. package/dist/ValueWidget-CPuSUgn9.cjs +2 -0
  320. package/dist/ValueWidget-CPuSUgn9.cjs.map +1 -0
  321. package/dist/{ValuelimitsbarWidget-Bc9_Vj_f.js → ValuelimitsbarWidget-BiIcery0.js} +5 -5
  322. package/dist/{ValuelimitsbarWidget-Bc9_Vj_f.js.map → ValuelimitsbarWidget-BiIcery0.js.map} +1 -1
  323. package/dist/ValuelimitsbarWidget-CNdyobcf.cjs +2 -0
  324. package/dist/{ValuelimitsbarWidget-DJuh7FOs.cjs.map → ValuelimitsbarWidget-CNdyobcf.cjs.map} +1 -1
  325. package/dist/{ValuelimitscolumnWidget-DHKIL7sf.js → ValuelimitscolumnWidget-BiRI8GbI.js} +5 -5
  326. package/dist/{ValuelimitscolumnWidget-DHKIL7sf.js.map → ValuelimitscolumnWidget-BiRI8GbI.js.map} +1 -1
  327. package/dist/ValuelimitscolumnWidget-Db0K4OjQ.cjs +2 -0
  328. package/dist/{ValuelimitscolumnWidget-BFpG-H7v.cjs.map → ValuelimitscolumnWidget-Db0K4OjQ.cjs.map} +1 -1
  329. package/dist/{ValuerangebarWidget-CecQRIok.js → ValuerangebarWidget-CtMFQu9-.js} +5 -5
  330. package/dist/{ValuerangebarWidget-CecQRIok.js.map → ValuerangebarWidget-CtMFQu9-.js.map} +1 -1
  331. package/dist/ValuerangebarWidget-DAEr-D_E.cjs +2 -0
  332. package/dist/{ValuerangebarWidget-BlZSaiXo.cjs.map → ValuerangebarWidget-DAEr-D_E.cjs.map} +1 -1
  333. package/dist/{VerticalWidget-D8jUFxjS.js → VerticalWidget-CRmcpQBn.js} +3 -3
  334. package/dist/{VerticalWidget-D8jUFxjS.js.map → VerticalWidget-CRmcpQBn.js.map} +1 -1
  335. package/dist/VerticalWidget-YG3auPJa.cjs +2 -0
  336. package/dist/{VerticalWidget--8UErB4q.cjs.map → VerticalWidget-YG3auPJa.cjs.map} +1 -1
  337. package/dist/VerticalboxWidget-C-qChjug.js +46 -0
  338. package/dist/VerticalboxWidget-C-qChjug.js.map +1 -0
  339. package/dist/VerticalboxWidget-DX8-gFay.cjs +2 -0
  340. package/dist/VerticalboxWidget-DX8-gFay.cjs.map +1 -0
  341. package/dist/{Widget-fRCERxGf.js → Widget-CFEnOKms.js} +19 -19
  342. package/dist/Widget-CFEnOKms.js.map +1 -0
  343. package/dist/Widget-EsyLQi_8.cjs +2 -0
  344. package/dist/Widget-EsyLQi_8.cjs.map +1 -0
  345. package/dist/components.cjs +3 -6
  346. package/dist/components.cjs.map +1 -1
  347. package/dist/components.js +402 -2029
  348. package/dist/components.js.map +1 -1
  349. package/dist/icons.cjs +1 -1
  350. package/dist/icons.cjs.map +1 -1
  351. package/dist/icons.js +59 -52
  352. package/dist/icons.js.map +1 -1
  353. package/dist/index-DcL65Mqb.cjs +7 -0
  354. package/dist/index-DcL65Mqb.cjs.map +1 -0
  355. package/dist/{index-CFQnWdPA.js → index-qCq0L4jN.js} +404 -406
  356. package/dist/index-qCq0L4jN.js.map +1 -0
  357. package/dist/plugins.cjs +4 -4
  358. package/dist/plugins.cjs.map +1 -1
  359. package/dist/plugins.js +86 -77
  360. package/dist/plugins.js.map +1 -1
  361. package/dist/{timeFilters-CRYpYDdf.js → timeFilters-BKnCM4rv.js} +139 -136
  362. package/dist/{timeFilters-CRYpYDdf.js.map → timeFilters-BKnCM4rv.js.map} +1 -1
  363. package/dist/timeFilters-CJFxfjqN.cjs +2 -0
  364. package/dist/{timeFilters-8SaYvcH0.cjs.map → timeFilters-CJFxfjqN.cjs.map} +1 -1
  365. package/dist/tools/admin.cjs +10 -10
  366. package/dist/tools/admin.cjs.map +1 -1
  367. package/dist/tools/admin.js +790 -736
  368. package/dist/tools/admin.js.map +1 -1
  369. package/dist/tools/base.cjs +1 -1
  370. package/dist/tools/base.cjs.map +1 -1
  371. package/dist/tools/base.js +217 -226
  372. package/dist/tools/base.js.map +1 -1
  373. package/dist/tools/calendar.cjs +1 -1
  374. package/dist/tools/calendar.cjs.map +1 -1
  375. package/dist/tools/calendar.js +9 -1583
  376. package/dist/tools/calendar.js.map +1 -1
  377. package/dist/tools/scriptrunner.cjs +85 -0
  378. package/dist/tools/scriptrunner.cjs.map +1 -0
  379. package/dist/tools/scriptrunner.js +4574 -0
  380. package/dist/tools/scriptrunner.js.map +1 -0
  381. package/dist/util.cjs +1 -1
  382. package/dist/util.js +1 -1
  383. package/dist/vue-common.css +1 -1
  384. package/dist/widgets.cjs +1 -1
  385. package/dist/widgets.js +64 -64
  386. package/package.json +20 -15
  387. package/dist/ArrayplotWidget-Donxhd8_.cjs +0 -2
  388. package/dist/BlockWidget-DPLN1jgj.cjs +0 -3
  389. package/dist/ButtonWidget-DccYzIY3.cjs +0 -3
  390. package/dist/CanvasWidget-BzTU9rc9.cjs +0 -2
  391. package/dist/CanvasdotWidget-B7VTS1QI.cjs +0 -2
  392. package/dist/CanvasimageWidget-BwYpfmDE.cjs +0 -2
  393. package/dist/CanvasimagevalueWidget-E_NsZ82T.cjs +0 -2
  394. package/dist/CanvaslabelWidget-BBDuXWfU.cjs +0 -2
  395. package/dist/CanvaslabelvalueWidget-DAdu7ujn.cjs +0 -2
  396. package/dist/CanvaslineWidget-Bv5da1Vy.cjs +0 -2
  397. package/dist/CanvaslinevalueWidget-BVfUB96K.cjs +0 -2
  398. package/dist/CheckbuttonWidget-BGqD-BGc.cjs +0 -2
  399. package/dist/ComboboxWidget-DoHMlSAr.cjs +0 -2
  400. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +0 -2
  401. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +0 -1
  402. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +0 -10
  403. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +0 -1
  404. package/dist/CriticalCmdDialog-DLEasFsx.js.map +0 -1
  405. package/dist/CriticalCmdDialog-DoLBrU2k.cjs +0 -2
  406. package/dist/CriticalCmdDialog-DoLBrU2k.cjs.map +0 -1
  407. package/dist/DateWidget-DKZz1J9J.cjs +0 -2
  408. package/dist/DetailsDialog-BvbziA7Y.js.map +0 -1
  409. package/dist/DetailsDialog-CiuQYvJK.cjs +0 -2
  410. package/dist/DetailsDialog-CiuQYvJK.cjs.map +0 -1
  411. package/dist/DynamicWidget-3wHr6Ng-.cjs +0 -2
  412. package/dist/FormatvalueWidget-CGpnTqVH.js +0 -44
  413. package/dist/FormatvalueWidget-CGpnTqVH.js.map +0 -1
  414. package/dist/FormatvalueWidget-DFrbeKb9.cjs +0 -2
  415. package/dist/FormatvalueWidget-DFrbeKb9.cjs.map +0 -1
  416. package/dist/Graph-3rkhFP3G.js.map +0 -1
  417. package/dist/Graph-C3vGMcos.cjs +0 -2
  418. package/dist/Graph-C3vGMcos.cjs.map +0 -1
  419. package/dist/HorizontalWidget-BBeB0eBI.cjs +0 -2
  420. package/dist/HorizontalboxWidget-Br8dSVHD.js +0 -38
  421. package/dist/HorizontalboxWidget-Br8dSVHD.js.map +0 -1
  422. package/dist/HorizontalboxWidget-DsdzrCJx.cjs +0 -2
  423. package/dist/HorizontalboxWidget-DsdzrCJx.cjs.map +0 -1
  424. package/dist/HorizontallineWidget-BCKOQase.cjs +0 -2
  425. package/dist/HorizontallineWidget-CbxREBYI.js +0 -11
  426. package/dist/IframeWidget-CZwsTgvX.cjs +0 -2
  427. package/dist/ImageviewerWidget-DwRPFSLR.cjs +0 -2
  428. package/dist/InterfacesTab-CLaicsHA.cjs +0 -2
  429. package/dist/InterfacesTab-CLaicsHA.cjs.map +0 -1
  430. package/dist/InterfacesTab-DAeNlGlB.js +0 -93
  431. package/dist/InterfacesTab-DAeNlGlB.js.map +0 -1
  432. package/dist/LabelWidget-C-s8OVmA.cjs +0 -2
  433. package/dist/LabelWidget-C-s8OVmA.cjs.map +0 -1
  434. package/dist/LabelWidget-t7I87dp7.js.map +0 -1
  435. package/dist/LabelledWidget-DUpHxc9z.cjs +0 -2
  436. package/dist/LabelprogressbarWidget-D6cpayCR.cjs +0 -2
  437. package/dist/LabelsparklineWidget-CJRnLETe.cjs +0 -2
  438. package/dist/LabelvalueWidget-owiMSCYl.cjs +0 -2
  439. package/dist/LabelvaluedescWidget-MRmZBUc0.cjs +0 -2
  440. package/dist/LabelvaluelimitsbarWidget-BQ2XYPNE.cjs +0 -2
  441. package/dist/LabelvaluelimitscolumnWidget-DNmVpU8J.cjs +0 -2
  442. package/dist/LabelvaluerangebarWidget-DL0U8cbw.cjs +0 -2
  443. package/dist/Layout-DRL0EeSA.cjs +0 -2
  444. package/dist/LedWidget-B8rjFe1b.cjs +0 -2
  445. package/dist/LedWidget-B8rjFe1b.cjs.map +0 -1
  446. package/dist/LedWidget-CxJjJBBS.js +0 -71
  447. package/dist/LedWidget-CxJjJBBS.js.map +0 -1
  448. package/dist/LimitsbarWidget-CYIH8fdp.cjs +0 -2
  449. package/dist/LimitsbarWidget-CYIH8fdp.cjs.map +0 -1
  450. package/dist/LimitsbarWidget-Djui0IpK.js.map +0 -1
  451. package/dist/LimitscolorWidget-CS0wpX9A.cjs +0 -2
  452. package/dist/LimitscolumnWidget-C_UW6xKq.cjs +0 -2
  453. package/dist/LinegraphWidget-8td_PqgU.cjs +0 -2
  454. package/dist/MatrixbycolumnsWidget-CGOeCNW2.cjs +0 -2
  455. package/dist/MicroservicesTab-IbTmbPxO.js +0 -268
  456. package/dist/MicroservicesTab-IbTmbPxO.js.map +0 -1
  457. package/dist/MicroservicesTab-uMC8NebS.cjs +0 -2
  458. package/dist/MicroservicesTab-uMC8NebS.cjs.map +0 -1
  459. package/dist/OutputDialog-B4Q0QMJ1.cjs +0 -2
  460. package/dist/OutputDialog-B4Q0QMJ1.cjs.map +0 -1
  461. package/dist/OutputDialog-Ci5OT_fH.js.map +0 -1
  462. package/dist/PackagesTab-BX8YP3H1.js +0 -332
  463. package/dist/PackagesTab-BX8YP3H1.js.map +0 -1
  464. package/dist/PackagesTab-eYbk2vw7.cjs +0 -2
  465. package/dist/PackagesTab-eYbk2vw7.cjs.map +0 -1
  466. package/dist/PluginsTab-Ck3DvEGm.cjs +0 -6
  467. package/dist/PluginsTab-Ck3DvEGm.cjs.map +0 -1
  468. package/dist/PluginsTab-Ds3jk64b.js.map +0 -1
  469. package/dist/ProgressbarWidget-CUIAYySg.cjs +0 -2
  470. package/dist/RadiobuttonWidget-Cjk1JAP_.cjs +0 -2
  471. package/dist/RadiogroupWidget-B4lkYWaC.cjs +0 -2
  472. package/dist/RangebarWidget-nl0rzj93.cjs +0 -2
  473. package/dist/RedisTab-DhS4GHDj.cjs +0 -2
  474. package/dist/RollupWidget-Bgudi_bt.cjs +0 -2
  475. package/dist/RoutersTab-CzO10cVP.cjs +0 -2
  476. package/dist/RoutersTab-CzO10cVP.cjs.map +0 -1
  477. package/dist/RoutersTab-Dki_66av.js +0 -95
  478. package/dist/RoutersTab-Dki_66av.js.map +0 -1
  479. package/dist/ScriptChooser-BNm_zXxX.cjs +0 -2
  480. package/dist/ScriptChooser-BNm_zXxX.cjs.map +0 -1
  481. package/dist/ScriptChooser-l5i8c8KP.js +0 -199
  482. package/dist/ScriptChooser-l5i8c8KP.js.map +0 -1
  483. package/dist/ScrollwindowWidget-BIiV7xwi.cjs +0 -2
  484. package/dist/SecretsTab-BSzFZ81X.cjs +0 -2
  485. package/dist/SecretsTab-BSzFZ81X.cjs.map +0 -1
  486. package/dist/SecretsTab-BjviaTxh.js.map +0 -1
  487. package/dist/SettingsTab-Bo_dYXgb.js.map +0 -1
  488. package/dist/SettingsTab-DH8LAAoG.cjs +0 -3
  489. package/dist/SettingsTab-DH8LAAoG.cjs.map +0 -1
  490. package/dist/SignalWidget-CvZkvejy.cjs +0 -2
  491. package/dist/SignalWidget-CvZkvejy.cjs.map +0 -1
  492. package/dist/SignalWidget-DQ5Uc2uV.js.map +0 -1
  493. package/dist/SimpleTextDialog-CheuP_ls.js +0 -108
  494. package/dist/SimpleTextDialog-CheuP_ls.js.map +0 -1
  495. package/dist/SimpleTextDialog-DmeNMMCR.cjs +0 -2
  496. package/dist/SimpleTextDialog-DmeNMMCR.cjs.map +0 -1
  497. package/dist/SpacerWidget-BBJR6HBQ.cjs +0 -2
  498. package/dist/SparklineWidget-BxBLnjAO.cjs +0 -2
  499. package/dist/TabbookWidget-DyFQnA10.cjs +0 -2
  500. package/dist/TargetsTab-Cd8U1aN_.js +0 -129
  501. package/dist/TargetsTab-Cd8U1aN_.js.map +0 -1
  502. package/dist/TargetsTab-DMiOliqg.cjs +0 -2
  503. package/dist/TargetsTab-DMiOliqg.cjs.map +0 -1
  504. package/dist/TextBoxDialog-DvUf3Cak.cjs +0 -2
  505. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +0 -1
  506. package/dist/TextBoxDialog-fHkDTtzI.js +0 -110
  507. package/dist/TextBoxDialog-fHkDTtzI.js.map +0 -1
  508. package/dist/TextboxWidget-D6lW_dsU.cjs +0 -2
  509. package/dist/TextfieldWidget-iHN7-fyF.cjs +0 -2
  510. package/dist/TimeWidget-C3NZqTEG.cjs +0 -2
  511. package/dist/TitleWidget-CWZs33c4.cjs +0 -2
  512. package/dist/ToolsTab-CUpUmkZL.cjs +0 -7
  513. package/dist/ToolsTab-Cgpb2nAW.js +0 -1521
  514. package/dist/TopBar-DuXL27iD.cjs +0 -2
  515. package/dist/TopBar-DuXL27iD.cjs.map +0 -1
  516. package/dist/TopBar-F1jHuFan.js.map +0 -1
  517. package/dist/UpgradeToEnterpriseDialog-DVcAH30Y.js.map +0 -1
  518. package/dist/UpgradeToEnterpriseDialog-DfIKahNK.cjs +0 -2
  519. package/dist/UpgradeToEnterpriseDialog-DfIKahNK.cjs.map +0 -1
  520. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs +0 -1417
  521. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs.map +0 -1
  522. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js +0 -26941
  523. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js.map +0 -1
  524. package/dist/ValueWidget-D4RrYVEK.js.map +0 -1
  525. package/dist/ValueWidget-Do3Yn47P.cjs +0 -2
  526. package/dist/ValueWidget-Do3Yn47P.cjs.map +0 -1
  527. package/dist/ValuelimitsbarWidget-DJuh7FOs.cjs +0 -2
  528. package/dist/ValuelimitscolumnWidget-BFpG-H7v.cjs +0 -2
  529. package/dist/ValuerangebarWidget-BlZSaiXo.cjs +0 -2
  530. package/dist/VerticalWidget--8UErB4q.cjs +0 -2
  531. package/dist/VerticalboxWidget-B4eGUSYH.js +0 -37
  532. package/dist/VerticalboxWidget-B4eGUSYH.js.map +0 -1
  533. package/dist/VerticalboxWidget-cxHq1WKQ.cjs +0 -2
  534. package/dist/VerticalboxWidget-cxHq1WKQ.cjs.map +0 -1
  535. package/dist/Widget-DNf52jRQ.cjs +0 -2
  536. package/dist/Widget-DNf52jRQ.cjs.map +0 -1
  537. package/dist/Widget-fRCERxGf.js.map +0 -1
  538. package/dist/index-Bz_jHTkl.cjs +0 -7
  539. package/dist/index-Bz_jHTkl.cjs.map +0 -1
  540. package/dist/index-CFQnWdPA.js.map +0 -1
  541. package/dist/timeFilters-8SaYvcH0.cjs +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginsTab-Ck3DvEGm.cjs","sources":["../src/tools/admin/tabs/PluginsTab.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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col class=\"pa-2 mt-2\">\n <v-btn @click=\"selectFile\">Install New Plugin</v-btn>\n <input\n style=\"display: none\"\n type=\"file\"\n ref=\"fileInput\"\n @change=\"fileChange\"\n />\n &nbsp;Note: Use <v-icon>mdi-update</v-icon> to upgrade existing plugins\n </v-col>\n <v-col class=\"ml-4 mr-2\" cols=\"4\">\n <rux-progress :value=\"progress\"></rux-progress>\n </v-col>\n </v-row>\n <v-row no-gutters class=\"px-2\">\n <v-col>\n <v-checkbox\n v-model=\"showDefaultTools\"\n label=\"Show Default Tools\"\n class=\"mt-0\"\n data-test=\"show-default-tools\"\n />\n </v-col>\n <v-col align=\"right\" class=\"mr-2\">\n <div>* indicates a modified plugin</div>\n <div>Click target link to download modifications</div>\n </v-col>\n </v-row>\n <v-divider />\n <!-- TODO This alert shows both success and failure. Make consistent with rest of OpenC3. -->\n <v-alert\n closable\n :type=\"alertType\"\n v-model=\"showAlert\"\n data-test=\"plugin-alert\"\n >{{ alert }}</v-alert\n >\n <v-list\n class=\"list\"\n v-if=\"Object.keys(processes).length > 0\"\n data-test=\"process-list\"\n >\n <v-row no-gutters class=\"px-4\"\n ><v-col class=\"text-h6\">Process List</v-col>\n <v-col align=\"right\">\n <!-- See openc3/lib/openc3/utilities/process_manager.rb CLEANUP_CYCLE_SECONDS -->\n <div>Showing last 10 min of activity</div>\n </v-col>\n </v-row>\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-title>\n <span\n :class=\"process.state.toLowerCase()\"\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span v-text=\"' Updated At: ' + formatDate(process.updated_at)\"\n /></v-list-item-subtitle>\n\n <template v-slot:append>\n <div v-if=\"process.state === 'Running'\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <v-tooltip v-else location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"showOutput(process)\"\n data-test=\"show-output\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>Show Output</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-list class=\"list\" data-test=\"plugin-list\">\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Plugin List</v-col></v-row>\n <div v-for=\"(plugin, index) in shownPlugins\" :key=\"index\">\n <v-list-item data-test=\"plugin-list-item\">\n <v-list-item-title\n ><span v-if=\"isModified(plugin)\">* </span\n >{{ plugin }}</v-list-item-title\n >\n <v-list-item-subtitle v-if=\"pluginTargets(plugin).length !== 0\">\n <span\n v-for=\"(target, index) in pluginTargets(plugin)\"\n :key=\"index\"\n class=\"mr-2\"\n >\n <a\n v-if=\"target.modified\"\n @click.prevent=\"downloadTarget(target.name)\"\n >{{ target.name }}\n </a>\n <span v-else>{{ target.name }} </span>\n </span>\n </v-list-item-subtitle>\n\n <template v-slot:append>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"downloadPlugin(plugin)\"\n data-test=\"download-plugin\"\n >\n mdi-download\n </v-icon>\n </template>\n <span>Download Plugin</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"editPlugin(plugin)\"\n data-test=\"edit-plugin\"\n >\n mdi-pencil\n </v-icon>\n </template>\n <span>Edit Plugin Details</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"upgradePlugin(plugin)\"\n data-test=\"upgrade-plugin\"\n >\n mdi-update\n </v-icon>\n </template>\n <span>Upgrade Plugin</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"deletePrompt(plugin)\"\n data-test=\"delete-plugin\"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Plugin</span>\n </v-tooltip>\n </div>\n </template>\n </v-list-item>\n <v-divider v-if=\"index < plugins.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <plugin-dialog\n v-if=\"showPluginDialog\"\n v-model=\"showPluginDialog\"\n :pluginName=\"pluginName\"\n :variables=\"variables\"\n :pluginTxt=\"pluginTxt\"\n :existingPluginTxt=\"existingPluginTxt\"\n @callback=\"pluginCallback\"\n />\n <modified-plugin-dialog\n v-if=\"showModifiedPluginDialog\"\n v-model=\"showModifiedPluginDialog\"\n :pluginName=\"currentPlugin\"\n :targets=\"pluginTargets(currentPlugin)\"\n :pluginDelete=\"pluginDelete\"\n @submit=\"modifiedSubmit\"\n />\n <!-- <download-dialog v-model=\"showDownloadDialog\" /> -->\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { SimpleTextDialog } from '@/components'\nimport { ModifiedPluginDialog, PluginDialog } from '@/tools/admin'\n\nexport default {\n components: {\n PluginDialog,\n ModifiedPluginDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n file: null,\n currentPlugin: null,\n plugins: [],\n targets: [],\n processes: {},\n alert: '',\n alertType: 'success',\n showAlert: false,\n pluginName: null,\n variables: {},\n pluginTxt: '',\n pluginHashTmp: null,\n existingPluginTxt: null,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n showPluginDialog: false,\n showModifiedPluginDialog: false,\n showDefaultTools: false,\n progress: 0,\n pluginDelete: false,\n // When updating update local_mode.rb, local_mode.py, plugins.spec.ts\n defaultPlugins: [\n 'openc3-cosmos-tool-admin',\n 'openc3-cosmos-tool-bucketexplorer',\n 'openc3-cosmos-tool-cmdsender',\n 'openc3-cosmos-tool-cmdhistory', // Enterprise only\n 'openc3-cosmos-tool-cmdtlmserver',\n 'openc3-cosmos-tool-dataextractor',\n 'openc3-cosmos-tool-dataviewer',\n 'openc3-cosmos-tool-docs',\n 'openc3-cosmos-tool-handbooks',\n 'openc3-cosmos-tool-iframe',\n 'openc3-cosmos-tool-limitsmonitor',\n 'openc3-cosmos-tool-packetviewer',\n 'openc3-cosmos-tool-scriptrunner',\n 'openc3-cosmos-tool-tablemanager',\n 'openc3-cosmos-tool-tlmgrapher',\n 'openc3-cosmos-tool-tlmviewer',\n 'openc3-cosmos-enterprise-tool-admin', // Enterprise only\n 'openc3-cosmos-tool-autonomic', // Enterprise only\n 'openc3-cosmos-tool-calendar', // Enterprise only\n 'openc3-cosmos-tool-grafana', // Enterprise only\n 'openc3-enterprise-tool-base', // Enterprise only\n 'openc3-tool-base',\n ],\n }\n },\n watch: {\n // watcher to reset the file input when the dialog is closed\n showPluginDialog: function (newValue, oldValue) {\n if (newValue === false) {\n this.file = null\n this.$refs.fileInput.value = null\n }\n },\n },\n computed: {\n shownPlugins() {\n let result = []\n for (let plugin of this.plugins) {\n let pluginNameFirst = plugin.split('__')[0]\n let pluginNameSplit = pluginNameFirst.split('-')\n pluginNameSplit = pluginNameSplit.slice(0, -1)\n let pluginName = pluginNameSplit.join('-')\n if (\n !this.defaultPlugins.includes(pluginName) ||\n this.showDefaultTools\n ) {\n result.push(plugin)\n }\n }\n return result\n },\n pluginTargets() {\n return (plugin) => {\n let result = []\n for (const target in this.targets) {\n if (this.targets[target]['plugin'] === plugin) {\n result.push(this.targets[target])\n }\n }\n return result\n }\n },\n isModified() {\n return (plugin) => {\n let result = false\n for (const target in this.targets) {\n if (\n this.targets[target]['plugin'] === plugin &&\n this.targets[target]['modified'] === true\n ) {\n result = true\n break\n }\n }\n return result\n }\n },\n },\n mounted() {\n this.update()\n this.updateProcesses()\n },\n methods: {\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update: function () {\n Api.get('/openc3-api/plugins').then((response) => {\n this.plugins = response.data\n })\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n updateProcesses: function () {\n Api.get('openc3-api/process_status/plugin_?substr=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 5000)\n }\n },\n )\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n upload: function (existing = null) {\n const method = existing ? 'put' : 'post'\n const path = existing\n ? `/openc3-api/plugins/${existing}`\n : '/openc3-api/plugins'\n const formData = new FormData()\n formData.append('plugin', this.file, this.file.name)\n let self = this\n const promise = Api[method](path, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: function (progressEvent) {\n let percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total,\n )\n self.progress = percentCompleted\n },\n })\n promise\n .then((response) => {\n this.progress = 100\n this.alert = 'Uploaded file'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.currentPlugin = null\n this.file = undefined\n })\n },\n pluginCallback: function (pluginHash) {\n this.showPluginDialog = false\n if (this.currentPlugin !== null) {\n pluginHash['name'] = this.currentPlugin\n }\n this.pluginHashTmp = pluginHash\n if (this.isModified(this.currentPlugin)) {\n this.pluginDelete = false\n this.showModifiedPluginDialog = true\n } else {\n this.pluginInstall()\n }\n },\n modifiedSubmit: async function (deleteModified) {\n if (deleteModified === true) {\n for (let target of this.pluginTargets(this.currentPlugin)) {\n if (target.modified == true) {\n await Api.post(`/openc3-api/targets/${target.name}/delete_modified`)\n }\n }\n }\n if (this.pluginDelete) {\n this.deletePlugin(this.currentPlugin)\n } else {\n this.pluginInstall()\n }\n },\n pluginInstall: function () {\n Api.post(`/openc3-api/plugins/install/${this.pluginName}`, {\n data: {\n plugin_hash: JSON.stringify(this.pluginHashTmp),\n },\n }).then((response) => {\n this.alert = `Started installing plugin ${this.pluginName} ...`\n this.alertType = 'success'\n this.showAlert = true\n this.currentPlugin = null\n this.file = undefined\n this.variables = {}\n this.pluginTxt = ''\n this.existingPluginTxt = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n downloadPlugin: function (plugin) {\n Api.post(`/openc3-api/packages/${plugin}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n editPlugin: function (plugin) {\n Api.get(`/openc3-api/plugins/${plugin}`).then((response) => {\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt = response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n })\n },\n deletePrompt: function (plugin) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${plugin}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.isModified(plugin)) {\n this.currentPlugin = plugin\n this.pluginDelete = true\n this.showModifiedPluginDialog = true\n } else {\n this.deletePlugin(plugin)\n }\n })\n },\n deletePlugin: function (plugin) {\n this.alert = `Removing plugin ${plugin} ...`\n this.alertType = 'success'\n this.showAlert = true\n Api.delete(`/openc3-api/plugins/${plugin}`).then((response) => {\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n })\n this.update()\n },\n upgradePlugin(plugin) {\n this.file = null\n this.currentPlugin = plugin\n this.progress = 0\n this.$refs.fileInput.click()\n },\n selectFile() {\n this.file = null\n this.currentPlugin = null\n this.progress = 0\n this.$refs.fileInput.click()\n },\n fileChange(event) {\n const files = event.target.files\n if (files.length > 0) {\n this.file = files[0]\n if (this.currentPlugin !== null) {\n if (\n this.file.name.split('.gem')[0] ==\n this.currentPlugin.split('.gem')[0]\n ) {\n this.$dialog\n .confirm(\n `The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n .catch((error) => {\n // do nothing\n })\n } else {\n // Split up the gem name to determine if this is an upgrade\n // or mistakenly trying to install a different gem\n // Gems are named like openc3-cosmos-demo-5.3.2.gem or\n // openc3-cosmos-pw-test-1.0.0.20230213074527.gem\n // So split on - and match everything until the first .\n let parts = this.file.name.split('-')\n let i = parts.findIndex((x) => x.includes('.'))\n let newName = parts.slice(0, i).join('-')\n parts = this.currentPlugin.split('-')\n i = parts.findIndex((x) => x.includes('.'))\n let existingName = parts.slice(0, i).join('-')\n if (newName !== existingName) {\n this.$dialog\n .confirm(\n `The new gem base name ${newName} doesn't match the existing ${existingName}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n } else {\n this.upload(this.currentPlugin)\n }\n }\n } else {\n this.upload()\n }\n } else {\n // Reset the input element\n this.$refs.fileInput.value = null\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.crashed {\n color: red;\n}\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","PluginDialog","ModifiedPluginDialog","SimpleTextDialog","newValue","oldValue","result","plugin","pluginNameSplit","pluginName","target","process","Api","response","nanoSecs","format","toDate","existing","method","path","formData","self","progressEvent","percentCompleted","existingPluginTxt","pluginTxt","error","pluginHash","deleteModified","name","decodedData","uInt8Array","i","blob","link","dialog","event","files","parts","x","newName","existingName","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_createElementBlock","_createVNode","_component_v_row","_withCtx","_component_v_col","_component_v_btn","$options","_cache","_createTextVNode","_createElementVNode","args","_component_v_icon","_component_rux_progress","$data","_component_v_checkbox","$event","_component_v_divider","_component_v_alert","_toDisplayString","_createBlock","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_hoisted_3","_component_v_progress_circular","_component_v_tooltip","props","_mergeProps","_component_v_list_item_title","_normalizeClass","_component_v_list_item_subtitle","_createCommentVNode","index","_hoisted_4","_withModifiers","_hoisted_6","_component_plugin_dialog","_component_modified_plugin_dialog","_component_simple_text_dialog"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PluginsTab-Ds3jk64b.js","sources":["../src/tools/admin/tabs/PluginsTab.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 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row no-gutters align=\"center\" class=\"px-2\">\n <v-col class=\"pa-2 mt-2\">\n <v-btn @click=\"selectFile\">Install New Plugin</v-btn>\n <input\n style=\"display: none\"\n type=\"file\"\n ref=\"fileInput\"\n @change=\"fileChange\"\n />\n &nbsp;Note: Use <v-icon>mdi-update</v-icon> to upgrade existing plugins\n </v-col>\n <v-col class=\"ml-4 mr-2\" cols=\"4\">\n <rux-progress :value=\"progress\"></rux-progress>\n </v-col>\n </v-row>\n <v-row no-gutters class=\"px-2\">\n <v-col>\n <v-checkbox\n v-model=\"showDefaultTools\"\n label=\"Show Default Tools\"\n class=\"mt-0\"\n data-test=\"show-default-tools\"\n />\n </v-col>\n <v-col align=\"right\" class=\"mr-2\">\n <div>* indicates a modified plugin</div>\n <div>Click target link to download modifications</div>\n </v-col>\n </v-row>\n <v-divider />\n <!-- TODO This alert shows both success and failure. Make consistent with rest of OpenC3. -->\n <v-alert\n closable\n :type=\"alertType\"\n v-model=\"showAlert\"\n data-test=\"plugin-alert\"\n >{{ alert }}</v-alert\n >\n <v-list\n class=\"list\"\n v-if=\"Object.keys(processes).length > 0\"\n data-test=\"process-list\"\n >\n <v-row no-gutters class=\"px-4\"\n ><v-col class=\"text-h6\">Process List</v-col>\n <v-col align=\"right\">\n <!-- See openc3/lib/openc3/utilities/process_manager.rb CLEANUP_CYCLE_SECONDS -->\n <div>Showing last 10 min of activity</div>\n </v-col>\n </v-row>\n <div v-for=\"process in processes\" :key=\"process.name\">\n <v-list-item>\n <v-list-item-title>\n <span\n :class=\"process.state.toLowerCase()\"\n v-text=\"\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n \"\n />\n </v-list-item-title>\n <v-list-item-subtitle>\n <span v-text=\"' Updated At: ' + formatDate(process.updated_at)\"\n /></v-list-item-subtitle>\n\n <template v-slot:append>\n <div v-if=\"process.state === 'Running'\">\n <v-progress-circular indeterminate color=\"primary\" />\n </div>\n <v-tooltip v-else location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"showOutput(process)\"\n data-test=\"show-output\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>Show Output</span>\n </v-tooltip>\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <v-list class=\"list\" data-test=\"plugin-list\">\n <v-row class=\"px-4\"><v-col class=\"text-h6\">Plugin List</v-col></v-row>\n <div v-for=\"(plugin, index) in shownPlugins\" :key=\"index\">\n <v-list-item data-test=\"plugin-list-item\">\n <v-list-item-title\n ><span v-if=\"isModified(plugin)\">* </span\n >{{ plugin }}</v-list-item-title\n >\n <v-list-item-subtitle v-if=\"pluginTargets(plugin).length !== 0\">\n <span\n v-for=\"(target, index) in pluginTargets(plugin)\"\n :key=\"index\"\n class=\"mr-2\"\n >\n <a\n v-if=\"target.modified\"\n @click.prevent=\"downloadTarget(target.name)\"\n >{{ target.name }}\n </a>\n <span v-else>{{ target.name }} </span>\n </span>\n </v-list-item-subtitle>\n\n <template v-slot:append>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"downloadPlugin(plugin)\"\n data-test=\"download-plugin\"\n >\n mdi-download\n </v-icon>\n </template>\n <span>Download Plugin</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"editPlugin(plugin)\"\n data-test=\"edit-plugin\"\n >\n mdi-pencil\n </v-icon>\n </template>\n <span>Edit Plugin Details</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"upgradePlugin(plugin)\"\n data-test=\"upgrade-plugin\"\n >\n mdi-update\n </v-icon>\n </template>\n <span>Upgrade Plugin</span>\n </v-tooltip>\n </div>\n <div class=\"mx-3\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon\n v-bind=\"props\"\n @click=\"deletePrompt(plugin)\"\n data-test=\"delete-plugin\"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Plugin</span>\n </v-tooltip>\n </div>\n </template>\n </v-list-item>\n <v-divider v-if=\"index < plugins.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <plugin-dialog\n v-if=\"showPluginDialog\"\n v-model=\"showPluginDialog\"\n :pluginName=\"pluginName\"\n :variables=\"variables\"\n :pluginTxt=\"pluginTxt\"\n :existingPluginTxt=\"existingPluginTxt\"\n @callback=\"pluginCallback\"\n />\n <modified-plugin-dialog\n v-if=\"showModifiedPluginDialog\"\n v-model=\"showModifiedPluginDialog\"\n :pluginName=\"currentPlugin\"\n :targets=\"pluginTargets(currentPlugin)\"\n :pluginDelete=\"pluginDelete\"\n @submit=\"modifiedSubmit\"\n />\n <!-- <download-dialog v-model=\"showDownloadDialog\" /> -->\n <simple-text-dialog\n v-model=\"showProcessOutput\"\n title=\"Process Output\"\n :text=\"processOutput\"\n />\n </div>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport { Api } from '@openc3/js-common/services'\nimport { SimpleTextDialog } from '@/components'\nimport { ModifiedPluginDialog, PluginDialog } from '@/tools/admin'\n\nexport default {\n components: {\n PluginDialog,\n ModifiedPluginDialog,\n SimpleTextDialog,\n },\n data() {\n return {\n file: null,\n currentPlugin: null,\n plugins: [],\n targets: [],\n processes: {},\n alert: '',\n alertType: 'success',\n showAlert: false,\n pluginName: null,\n variables: {},\n pluginTxt: '',\n pluginHashTmp: null,\n existingPluginTxt: null,\n showDownloadDialog: false,\n showProcessOutput: false,\n processOutput: '',\n showPluginDialog: false,\n showModifiedPluginDialog: false,\n showDefaultTools: false,\n progress: 0,\n pluginDelete: false,\n // When updating update local_mode.rb, local_mode.py, plugins.spec.ts\n defaultPlugins: [\n 'openc3-cosmos-tool-admin',\n 'openc3-cosmos-tool-bucketexplorer',\n 'openc3-cosmos-tool-cmdsender',\n 'openc3-cosmos-tool-cmdhistory', // Enterprise only\n 'openc3-cosmos-tool-cmdtlmserver',\n 'openc3-cosmos-tool-dataextractor',\n 'openc3-cosmos-tool-dataviewer',\n 'openc3-cosmos-tool-docs',\n 'openc3-cosmos-tool-handbooks',\n 'openc3-cosmos-tool-iframe',\n 'openc3-cosmos-tool-limitsmonitor',\n 'openc3-cosmos-tool-packetviewer',\n 'openc3-cosmos-tool-scriptrunner',\n 'openc3-cosmos-tool-tablemanager',\n 'openc3-cosmos-tool-tlmgrapher',\n 'openc3-cosmos-tool-tlmviewer',\n 'openc3-cosmos-enterprise-tool-admin', // Enterprise only\n 'openc3-cosmos-tool-autonomic', // Enterprise only\n 'openc3-cosmos-tool-calendar', // Enterprise only\n 'openc3-cosmos-tool-grafana', // Enterprise only\n 'openc3-enterprise-tool-base', // Enterprise only\n 'openc3-tool-base',\n ],\n }\n },\n watch: {\n // watcher to reset the file input when the dialog is closed\n showPluginDialog: function (newValue, oldValue) {\n if (newValue === false) {\n this.file = null\n this.$refs.fileInput.value = null\n }\n },\n },\n computed: {\n shownPlugins() {\n let result = []\n for (let plugin of this.plugins) {\n let pluginNameFirst = plugin.split('__')[0]\n let pluginNameSplit = pluginNameFirst.split('-')\n pluginNameSplit = pluginNameSplit.slice(0, -1)\n let pluginName = pluginNameSplit.join('-')\n if (\n !this.defaultPlugins.includes(pluginName) ||\n this.showDefaultTools\n ) {\n result.push(plugin)\n }\n }\n return result\n },\n pluginTargets() {\n return (plugin) => {\n let result = []\n for (const target in this.targets) {\n if (this.targets[target]['plugin'] === plugin) {\n result.push(this.targets[target])\n }\n }\n return result\n }\n },\n isModified() {\n return (plugin) => {\n let result = false\n for (const target in this.targets) {\n if (\n this.targets[target]['plugin'] === plugin &&\n this.targets[target]['modified'] === true\n ) {\n result = true\n break\n }\n }\n return result\n }\n },\n },\n mounted() {\n this.update()\n this.updateProcesses()\n },\n methods: {\n showOutput: function (process) {\n this.processOutput = process.output\n this.showProcessOutput = true\n },\n update: function () {\n Api.get('/openc3-api/plugins').then((response) => {\n this.plugins = response.data\n })\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n updateProcesses: function () {\n Api.get('openc3-api/process_status/plugin_?substr=true').then(\n (response) => {\n this.processes = response.data\n if (Object.keys(this.processes).length > 0) {\n setTimeout(() => {\n this.updateProcesses()\n this.update()\n }, 5000)\n }\n },\n )\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1000000),\n 'yyyy-MM-dd HH:mm:ss.SSS',\n )\n },\n upload: function (existing = null) {\n const method = existing ? 'put' : 'post'\n const path = existing\n ? `/openc3-api/plugins/${existing}`\n : '/openc3-api/plugins'\n const formData = new FormData()\n formData.append('plugin', this.file, this.file.name)\n let self = this\n const promise = Api[method](path, {\n data: formData,\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: function (progressEvent) {\n let percentCompleted = Math.round(\n (progressEvent.loaded * 100) / progressEvent.total,\n )\n self.progress = percentCompleted\n },\n })\n promise\n .then((response) => {\n this.progress = 100\n this.alert = 'Uploaded file'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt =\n response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n this.file = undefined\n })\n .catch((error) => {\n this.currentPlugin = null\n this.file = undefined\n })\n },\n pluginCallback: function (pluginHash) {\n this.showPluginDialog = false\n if (this.currentPlugin !== null) {\n pluginHash['name'] = this.currentPlugin\n }\n this.pluginHashTmp = pluginHash\n if (this.isModified(this.currentPlugin)) {\n this.pluginDelete = false\n this.showModifiedPluginDialog = true\n } else {\n this.pluginInstall()\n }\n },\n modifiedSubmit: async function (deleteModified) {\n if (deleteModified === true) {\n for (let target of this.pluginTargets(this.currentPlugin)) {\n if (target.modified == true) {\n await Api.post(`/openc3-api/targets/${target.name}/delete_modified`)\n }\n }\n }\n if (this.pluginDelete) {\n this.deletePlugin(this.currentPlugin)\n } else {\n this.pluginInstall()\n }\n },\n pluginInstall: function () {\n Api.post(`/openc3-api/plugins/install/${this.pluginName}`, {\n data: {\n plugin_hash: JSON.stringify(this.pluginHashTmp),\n },\n }).then((response) => {\n this.alert = `Started installing plugin ${this.pluginName} ...`\n this.alertType = 'success'\n this.showAlert = true\n this.currentPlugin = null\n this.file = undefined\n this.variables = {}\n this.pluginTxt = ''\n this.existingPluginTxt = null\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n this.update()\n })\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n downloadPlugin: function (plugin) {\n Api.post(`/openc3-api/packages/${plugin}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n editPlugin: function (plugin) {\n Api.get(`/openc3-api/plugins/${plugin}`).then((response) => {\n let existingPluginTxt = null\n if (response.data.existing_plugin_txt_lines !== undefined) {\n existingPluginTxt = response.data.existing_plugin_txt_lines.join('\\n')\n }\n let pluginTxt = response.data.plugin_txt_lines.join('\\n')\n ;(this.pluginName = response.data.name),\n (this.variables = response.data.variables),\n (this.pluginTxt = pluginTxt),\n (this.existingPluginTxt = existingPluginTxt)\n this.showPluginDialog = true\n })\n },\n deletePrompt: function (plugin) {\n this.$dialog\n .confirm(`Are you sure you want to remove: ${plugin}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n if (this.isModified(plugin)) {\n this.currentPlugin = plugin\n this.pluginDelete = true\n this.showModifiedPluginDialog = true\n } else {\n this.deletePlugin(plugin)\n }\n })\n },\n deletePlugin: function (plugin) {\n this.alert = `Removing plugin ${plugin} ...`\n this.alertType = 'success'\n this.showAlert = true\n Api.delete(`/openc3-api/plugins/${plugin}`).then((response) => {\n setTimeout(() => {\n this.showAlert = false\n this.updateProcesses()\n }, 5000)\n })\n this.update()\n },\n upgradePlugin(plugin) {\n this.file = null\n this.currentPlugin = plugin\n this.progress = 0\n this.$refs.fileInput.click()\n },\n selectFile() {\n this.file = null\n this.currentPlugin = null\n this.progress = 0\n this.$refs.fileInput.click()\n },\n fileChange(event) {\n const files = event.target.files\n if (files.length > 0) {\n this.file = files[0]\n if (this.currentPlugin !== null) {\n if (\n this.file.name.split('.gem')[0] ==\n this.currentPlugin.split('.gem')[0]\n ) {\n this.$dialog\n .confirm(\n `The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n .catch((error) => {\n // do nothing\n })\n } else {\n // Split up the gem name to determine if this is an upgrade\n // or mistakenly trying to install a different gem\n // Gems are named like openc3-cosmos-demo-5.3.2.gem or\n // openc3-cosmos-pw-test-1.0.0.20230213074527.gem\n // So split on - and match everything until the first .\n let parts = this.file.name.split('-')\n let i = parts.findIndex((x) => x.includes('.'))\n let newName = parts.slice(0, i).join('-')\n parts = this.currentPlugin.split('-')\n i = parts.findIndex((x) => x.includes('.'))\n let existingName = parts.slice(0, i).join('-')\n if (newName !== existingName) {\n this.$dialog\n .confirm(\n `The new gem base name ${newName} doesn't match the existing ${existingName}. Install?`,\n {\n okText: 'Ok',\n cancelText: 'Cancel',\n },\n )\n .then(() => {\n this.upload(this.currentPlugin)\n })\n } else {\n this.upload(this.currentPlugin)\n }\n }\n } else {\n this.upload()\n }\n } else {\n // Reset the input element\n this.$refs.fileInput.value = null\n }\n },\n },\n}\n</script>\n\n<style scoped>\n.crashed {\n color: red;\n}\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","PluginDialog","ModifiedPluginDialog","SimpleTextDialog","newValue","oldValue","result","plugin","pluginNameSplit","pluginName","target","process","Api","response","nanoSecs","format","toDate","existing","method","path","formData","self","progressEvent","percentCompleted","existingPluginTxt","pluginTxt","error","pluginHash","deleteModified","name","decodedData","uInt8Array","i","blob","link","dialog","event","files","parts","x","newName","existingName","_hoisted_1","_hoisted_2","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_createElementBlock","_createVNode","_component_v_row","_withCtx","_component_v_col","_component_v_btn","$options","_cache","_createTextVNode","_createElementVNode","args","_component_v_icon","_component_rux_progress","$data","_component_v_checkbox","$event","_component_v_divider","_component_v_alert","_toDisplayString","_createBlock","_component_v_list","_openBlock","_Fragment","_renderList","_component_v_list_item","_hoisted_3","_component_v_progress_circular","_component_v_tooltip","props","_mergeProps","_component_v_list_item_title","_normalizeClass","_component_v_list_item_subtitle","_createCommentVNode","index","_hoisted_4","_withModifiers","_hoisted_6","_component_plugin_dialog","_component_modified_plugin_dialog","_component_simple_text_dialog"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./Widget-DNf52jRQ.cjs"),t=require("vue"),i=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),l={mixins:[r.Widget],props:{value:{default:null}},data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let e=this.value;return e===null&&(e=this.screenValues[this.valueId][0]),parseInt(parseFloat(e)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let e="CONVERTED";this.parameters[5]&&(e=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function u(e,n,c,d,p,s){const a=t.resolveComponent("rux-progress");return t.openBlock(),t.createBlock(a,{value:s._value,class:"progress",style:t.normalizeStyle(e.computedStyle)},null,8,["value","style"])}const o=i._export_sfc(l,[["render",u],["__scopeId","data-v-85bc2857"]]);exports.default=o;
2
- //# sourceMappingURL=ProgressbarWidget-CUIAYySg.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./Widget-DNf52jRQ.cjs"),e=require("vue"),a=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),s={props:{value:{type:Number}},mixins:[r.Widget],data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function i(t,c,o,d,l,_){const n=e.resolveComponent("v-radio");return e.openBlock(),e.createBlock(n,{"hide-details":"",dense:"",label:l.label,style:e.normalizeStyle(t.computedStyle),value:o.value},null,8,["label","style","value"])}const u=a._export_sfc(s,[["render",i]]);exports.default=u;
2
- //# sourceMappingURL=RadiobuttonWidget-Cjk1JAP_.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Layout-DRL0EeSA.cjs"),e=require("vue"),u=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),c={mixins:[l.Layout],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function i(r,s,m,p,n,_){const a=e.resolveComponent("v-radio-group");return e.openBlock(),e.createBlock(a,{"hide-details":"",density:"compact",modelValue:n.selectedIndex,"onUpdate:modelValue":s[0]||(s[0]=t=>n.selectedIndex=t),style:e.normalizeStyle(r.computedStyle)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{value:o,key:o,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,name:t.name}),null,16,["value","target","parameters","settings","screen-values","screen-time-zone","name"]))),128))]),_:1},8,["modelValue","style"])}const d=u._export_sfc(c,[["render",i]]);exports.default=d;
2
- //# sourceMappingURL=RadiogroupWidget-B4lkYWaC.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Widget-DNf52jRQ.cjs"),s=require("vue"),a=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),n={mixins:[i.Widget],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return parseInt(this.parameters[3])},max(){return parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const e=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){let e=this.screenValues[this.valueId][0];if(!e)return 0;if(e.raw)return e.raw==="-Infinity"?0:100;const t=(e-this.min)/this.range*100;return t>100?100:t<0?0:t}}};function h(e,t,d,c,u,r){return s.openBlock(),s.createElementBlock("div",{class:"rangebar",style:s.normalizeStyle([r.cssProps,e.computedStyle])},t[0]||(t[0]=[s.createElementVNode("div",{class:"rangebar__container"},[s.createElementVNode("div",{class:"rangebar__line"}),s.createElementVNode("div",{class:"rangebar__arrow"})],-1)]),4)}const o=a._export_sfc(n,[["render",h],["__scopeId","data-v-34d37e7c"]]);exports.default=o;
2
- //# sourceMappingURL=RangebarWidget-nl0rzj93.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs"),e=require("vue"),h=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),C={data(){return{redisCommandText:"",redisResponse:null,redisEndpoint:"/openc3-api/redis/exec",headers:[{text:"Redis",value:"redis",width:150},{text:"Command",value:"command"},{text:"Response",value:"response"}],commands:[]}},methods:{commandKeydown:function(n){n.key==="Enter"&&this.executeRaw()},executeRaw:function(){this.redisResponse=null,x.ui.post(this.redisEndpoint,{data:this.redisCommandText,headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(n=>{this.redisResponse=n.data.result;let t="Ephemeral";this.redisEndpoint==="/openc3-api/redis/exec"&&(t="Persistent"),this.commands.unshift({redis:t,command:this.redisCommandText,response:this.redisResponse})})}}},V={key:0,class:"monospace"};function f(n,t,y,R,o,d){const r=e.resolveComponent("v-card-title"),l=e.resolveComponent("v-card-subtitle"),i=e.resolveComponent("v-text-field"),c=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-btn"),a=e.resolveComponent("v-radio"),p=e.resolveComponent("v-radio-group"),u=e.resolveComponent("v-card-actions"),_=e.resolveComponent("v-data-table"),v=e.resolveComponent("v-card");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode(" Send Raw Redis Commands ")])),_:1}),e.createVNode(l,null,{default:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode(" THIS IS DANGEROUS. This allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. "),e.createElementVNode("br",null,null,-1),e.createElementVNode("br",null,null,-1),e.createTextVNode(" Enter commands like you would at the Redis cli prompt: "),e.createElementVNode("code",null,"ping",-1),e.createTextVNode(" or "),e.createElementVNode("code",null,"hget openc3__settings version",-1)])),_:1}),e.createVNode(c,{class:"pb-0 ml-2"},{default:e.withCtx(()=>[e.createVNode(i,{label:"Redis command",class:"monospace",modelValue:o.redisCommandText,"onUpdate:modelValue":t[0]||(t[0]=s=>o.redisCommandText=s),onKeydown:d.commandKeydown},null,8,["modelValue","onKeydown"]),o.redisResponse?(e.openBlock(),e.createElementBlock("span",V," Response: "+e.toDisplayString(o.redisResponse),1)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(u,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(m,{disabled:!o.redisCommandText.length,onClick:d.executeRaw,color:"success",variant:"text"},{default:e.withCtx(()=>t[4]||(t[4]=[e.createTextVNode(" Execute ")])),_:1},8,["disabled","onClick"]),e.createVNode(p,{modelValue:o.redisEndpoint,"onUpdate:modelValue":t[1]||(t[1]=s=>o.redisEndpoint=s),inline:"","hide-details":"",class:"mt-0"},{default:e.withCtx(()=>[e.createVNode(a,{label:"Persistent",value:"/openc3-api/redis/exec","data-test":"persistent-radio"}),e.createVNode(a,{label:"Ephemeral",value:"/openc3-api/redis/exec?ephemeral=1","data-test":"ephemeral-radio"})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(_,{headers:o.headers,items:o.commands,class:"monospace","items-per-page":-1,"hide-default-footer":"",density:"compact",height:"45vh"},null,8,["headers","items"])]),_:1})])}const N=h._export_sfc(C,[["render",f],["__scopeId","data-v-28716ab0"]]);exports.default=N;
2
- //# sourceMappingURL=RedisTab-DhS4GHDj.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Widget-DNf52jRQ.cjs"),i=require("vue"),c=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),a={mixins:[l.Widget],props:{value:{default:null}},data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const s of this.items){let t=this.screenValues[s][1];t&&((t.includes("BLUE")||t.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),t.includes("YELLOW")&&e!="critical"&&(e="caution"),t.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let s="CONVERTED";e[4]&&(s=e[4]);let t=`${e[1]}__${e[2]}__${e[3]}__${s}`;this.items.push(t),this.$emit("addItem",t);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function o(e,s,t,m,d,r){const n=i.resolveComponent("rux-monitoring-icon");return i.openBlock(),i.createBlock(n,{class:"rux-icon",style:i.normalizeStyle([r.pointerStyle,e.computedStyle]),icon:e.icon,status:r.status,label:e.label,sublabel:e.subLabel,onClick:r.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const u=c._export_sfc(a,[["render",o]]);exports.default=u;
2
- //# sourceMappingURL=RollupWidget-Bgudi_bt.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs"),e=require("vue"),g=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs");require("single-spa");const C=require("./OutputDialog-B4Q0QMJ1.cjs"),h={components:{OutputDialog:C.OutputDialog},data(){return{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){r.ui.get("/openc3-api/routers").then(o=>{this.routers=o.data})},add(){},showRouter(o){r.ui.get(`/openc3-api/routers/${o}`).then(t=>{this.jsonContent=JSON.stringify(t.data,null," "),this.dialogTitle=o,this.showDialog=!0})},dialogCallback(o){this.showDialog=!1}}};function f(o,t,k,x,n,i){const s=e.resolveComponent("v-list-item-title"),a=e.resolveComponent("v-icon"),u=e.resolveComponent("v-tooltip"),c=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-divider"),_=e.resolveComponent("v-list"),p=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(_,{class:"list","data-test":"routerList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.routers,(l,m)=>(e.openBlock(),e.createElementBlock("div",{key:m},[e.createVNode(c,null,{append:e.withCtx(()=>[e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(a,e.mergeProps({ref_for:!0},v,{onClick:V=>i.showRouter(l)}),{default:e.withCtx(()=>t[1]||(t[1]=[e.createTextVNode(" mdi-eye ")])),_:2},1040,["onClick"])]),default:e.withCtx(()=>[t[2]||(t[2]=e.createElementVNode("span",null,"Show Router Details",-1))]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l),1)]),_:2},1024)]),_:2},1024),e.createVNode(d)]))),128))]),_:1}),n.showDialog?(e.openBlock(),e.createBlock(p,{key:0,modelValue:n.showDialog,"onUpdate:modelValue":t[0]||(t[0]=l=>n.showDialog=l),content:n.jsonContent,type:"Router",name:n.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0)])}const w=g._export_sfc(h,[["render",f],["__scopeId","data-v-82fc907b"]]);exports.default=w;
2
- //# sourceMappingURL=RoutersTab-CzO10cVP.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoutersTab-CzO10cVP.cjs","sources":["../src/tools/admin/tabs/RoutersTab.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 2024, 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-list class=\"list\" data-test=\"routerList\">\n <div v-for=\"(router, index) in routers\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ router }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"showRouter(router)\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Router Details</span>\n </v-tooltip>\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=\"Router\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n routers: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/routers').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\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","Api","response","name","content","_createElementBlock","_createVNode","_component_v_list","_withCtx","_openBlock","_Fragment","_renderList","$data","router","index","_component_v_list_item","_component_v_tooltip","props","_component_v_icon","_mergeProps","$event","$options","_cache","_createTextVNode","_createElementVNode","_component_v_list_item_title","_toDisplayString","_component_v_divider","_createBlock","_component_output_dialog","_createCommentVNode"],"mappings":"4WA0DKA,EAAU,CACb,WAAY,CAAEC,aAAAA,EAAAA,YAAc,EAC5B,MAAO,CACL,MAAO,CACL,QAAS,CAAE,EACX,YAAa,GACb,YAAa,GACb,WAAY,EACd,CACD,EACD,SAAU,CACR,KAAK,OAAM,CACZ,EACD,QAAS,CACP,QAAS,CACPC,EAAAA,GAAI,IAAI,qBAAqB,EAAE,KAAMC,GAAa,CAChD,KAAK,QAAUA,EAAS,IACzB,CAAA,CACF,EACD,KAAM,CAAE,EACR,WAAWC,EAAM,CACfF,KAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAMD,GAAa,CACxD,KAAK,YAAc,KAAK,UAAUA,EAAS,KAAM,KAAM,GAAI,EAC3D,KAAK,YAAcC,EACnB,KAAK,WAAa,EACnB,CAAA,CACF,EACD,eAAeC,EAAS,CACtB,KAAK,WAAa,EACnB,CACF,CACH,2SAlEEC,qBA4BM,MAAA,KAAA,CA3BJC,EAAAA,YAkBSC,EAAA,CAlBD,MAAM,OAAO,YAAU,eAxBnC,QAAAC,EAAA,QAyBW,IAAkC,EAAvCC,EAAAA,UAAA,EAAA,EAAAJ,EAAA,mBAgBMK,gBAzCZC,EAyBqC,WAAAC,EAAA,QAzBrC,CAyBmBC,EAAQC,mBAArBT,EAgBM,mBAAA,MAAA,CAhBmC,IAAKS,GAAK,CACjDR,EAac,YAAAS,EAAA,KAAA,CAVK,iBACf,IAOY,CAPZT,EAAAA,YAOYU,EAAA,CAPD,SAAS,KAAK,EAAA,CACN,UAASR,EAAA,QACxB,CAES,CAHmB,MAAAS,KAAK,CACjCX,EAAA,YAESY,EAFTC,EAAA,WAES,CAlCzB,QAAA,IAgCgCF,EAAK,CAAG,QAAKG,GAAEC,EAAU,WAACR,CAAM,KAhChE,QAAAL,EAAA,QAgCmE,IAEnDc,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,CAlChBC,EAAAA,gBAgCmE,WAEnD,KAlChB,EAAA,uBAAA,QAAAf,EAAA,QAoCc,IAAgC,CAAhCc,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAE,EAAA,mBAAgC,YAA1B,sBAAmB,EAAA,KApCvC,EAAA,WAAA,QAAAhB,EAAA,QA2BU,IAAmD,CAAnDF,EAAmD,YAAAmB,EAAA,KAAA,CA3B7D,QAAAjB,EAAA,QA2B6B,IAAY,CA3BzCe,kBAAAG,EAAAA,gBA2BgCb,CAAM,EAAA,CAAA,IA3BtC,EAAA,WAAA,EAAA,SAwCQP,EAAAA,YAAaqB,CAAA,cAxCrB,EAAA,IA6CYf,EAAU,0BAFlBgB,EAOE,YAAAC,EAAA,CAlDN,IAAA,EAAA,WA4CejB,EAAU,WA5CzB,sBAAAU,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GA4CeR,EAAU,WAAAQ,GAElB,QAASR,EAAW,YACrB,KAAK,SACJ,KAAMA,EAAW,YACjB,SAAQS,EAAc,oEAjD7BS,EAAA,mBAAA,GAAA,EAAA"}
@@ -1,95 +0,0 @@
1
- import { a as d } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js";
2
- import { resolveComponent as o, createElementBlock as a, openBlock as r, createVNode as i, createBlock as k, createCommentVNode as D, withCtx as e, Fragment as V, renderList as b, createTextVNode as p, toDisplayString as y, createElementVNode as x, mergeProps as N } from "vue";
3
- import { _ as R } from "./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
4
- import "single-spa";
5
- import { O as S } from "./OutputDialog-Ci5OT_fH.js";
6
- const T = {
7
- components: { OutputDialog: S },
8
- data() {
9
- return {
10
- routers: [],
11
- jsonContent: "",
12
- dialogTitle: "",
13
- showDialog: !1
14
- };
15
- },
16
- mounted() {
17
- this.update();
18
- },
19
- methods: {
20
- update() {
21
- d.get("/openc3-api/routers").then((n) => {
22
- this.routers = n.data;
23
- });
24
- },
25
- add() {
26
- },
27
- showRouter(n) {
28
- d.get(`/openc3-api/routers/${n}`).then((t) => {
29
- this.jsonContent = JSON.stringify(t.data, null, " "), this.dialogTitle = n, this.showDialog = !0;
30
- });
31
- },
32
- dialogCallback(n) {
33
- this.showDialog = !1;
34
- }
35
- }
36
- };
37
- function j(n, t, B, O, l, u) {
38
- const m = o("v-list-item-title"), c = o("v-icon"), _ = o("v-tooltip"), f = o("v-list-item"), g = o("v-divider"), v = o("v-list"), h = o("output-dialog");
39
- return r(), a("div", null, [
40
- i(v, {
41
- class: "list",
42
- "data-test": "routerList"
43
- }, {
44
- default: e(() => [
45
- (r(!0), a(V, null, b(l.routers, (s, w) => (r(), a("div", { key: w }, [
46
- i(f, null, {
47
- append: e(() => [
48
- i(_, { location: "top" }, {
49
- activator: e(({ props: C }) => [
50
- i(c, N({ ref_for: !0 }, C, {
51
- onClick: (E) => u.showRouter(s)
52
- }), {
53
- default: e(() => t[1] || (t[1] = [
54
- p(" mdi-eye ")
55
- ])),
56
- _: 2
57
- }, 1040, ["onClick"])
58
- ]),
59
- default: e(() => [
60
- t[2] || (t[2] = x("span", null, "Show Router Details", -1))
61
- ]),
62
- _: 2
63
- }, 1024)
64
- ]),
65
- default: e(() => [
66
- i(m, null, {
67
- default: e(() => [
68
- p(y(s), 1)
69
- ]),
70
- _: 2
71
- }, 1024)
72
- ]),
73
- _: 2
74
- }, 1024),
75
- i(g)
76
- ]))), 128))
77
- ]),
78
- _: 1
79
- }),
80
- l.showDialog ? (r(), k(h, {
81
- key: 0,
82
- modelValue: l.showDialog,
83
- "onUpdate:modelValue": t[0] || (t[0] = (s) => l.showDialog = s),
84
- content: l.jsonContent,
85
- type: "Router",
86
- name: l.dialogTitle,
87
- onSubmit: u.dialogCallback
88
- }, null, 8, ["modelValue", "content", "name", "onSubmit"])) : D("", !0)
89
- ]);
90
- }
91
- const U = /* @__PURE__ */ R(T, [["render", j], ["__scopeId", "data-v-82fc907b"]]);
92
- export {
93
- U as default
94
- };
95
- //# sourceMappingURL=RoutersTab-Dki_66av.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoutersTab-Dki_66av.js","sources":["../src/tools/admin/tabs/RoutersTab.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 2024, 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-list class=\"list\" data-test=\"routerList\">\n <div v-for=\"(router, index) in routers\" :key=\"index\">\n <v-list-item>\n <v-list-item-title>{{ router }}</v-list-item-title>\n\n <template v-slot:append>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <v-icon v-bind=\"props\" @click=\"showRouter(router)\">\n mdi-eye\n </v-icon>\n </template>\n <span>Show Router Details</span>\n </v-tooltip>\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=\"Router\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n routers: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/routers').then((response) => {\n this.routers = response.data\n })\n },\n add() {},\n showRouter(name) {\n Api.get(`/openc3-api/routers/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\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","Api","response","name","content","_createElementBlock","_createVNode","_component_v_list","_withCtx","_openBlock","_Fragment","_renderList","$data","router","index","_component_v_list_item","_component_v_tooltip","props","_component_v_icon","_mergeProps","$event","$options","_cache","_createTextVNode","_createElementVNode","_component_v_list_item_title","_toDisplayString","_component_v_divider","_createBlock","_component_output_dialog","_createCommentVNode"],"mappings":";;;;;AA0DA,MAAKA,IAAU;AAAA,EACb,YAAY,EAAE,cAAAC,EAAc;AAAA,EAC5B,OAAO;AACL,WAAO;AAAA,MACL,SAAS,CAAE;AAAA,MACX,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,EACD;AAAA,EACD,UAAU;AACR,SAAK,OAAM;AAAA,EACZ;AAAA,EACD,SAAS;AAAA,IACP,SAAS;AACPC,MAAAA,EAAI,IAAI,qBAAqB,EAAE,KAAK,CAACC,MAAa;AAChD,aAAK,UAAUA,EAAS;AAAA,MACzB,CAAA;AAAA,IACF;AAAA,IACD,MAAM;AAAA,IAAE;AAAA,IACR,WAAWC,GAAM;AACfF,MAAAA,EAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAK,CAACD,MAAa;AACxD,aAAK,cAAc,KAAK,UAAUA,EAAS,MAAM,MAAM,GAAI,GAC3D,KAAK,cAAcC,GACnB,KAAK,aAAa;AAAA,MACnB,CAAA;AAAA,IACF;AAAA,IACD,eAAeC,GAAS;AACtB,WAAK,aAAa;AAAA,IACnB;AAAA,EACF;AACH;;;cAlEEC,EA4BM,OAAA,MAAA;AAAA,IA3BJC,EAkBSC,GAAA;AAAA,MAlBD,OAAM;AAAA,MAAO,aAAU;AAAA;MAxBnC,SAAAC,EAyBW,MAAkC;AAAA,SAAvCC,EAAA,EAAA,GAAAJ,EAgBMK,SAzCZC,EAyBqCC,EAAA,SAzBrC,CAyBmBC,GAAQC,YAArBT,EAgBM,OAAA,EAhBmC,KAAKS,KAAK;AAAA,UACjDR,EAacS,GAAA,MAAA;AAAA,YAVK,UACf,MAOY;AAAA,cAPZT,EAOYU,GAAA,EAPD,UAAS,MAAK,GAAA;AAAA,gBACN,WAASR,EACxB,CAES,EAHmB,OAAAS,QAAK;AAAA,kBACjCX,EAESY,GAFTC,EAES,EAlCzB,SAAA,MAgCgCF,GAAK;AAAA,oBAAG,SAAK,CAAAG,MAAEC,EAAU,WAACR,CAAM;AAAA;oBAhChE,SAAAL,EAgCmE,MAEnDc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sBAlChBC,EAgCmE,WAEnD;AAAA;oBAlChB,GAAA;AAAA;;gBAAA,SAAAf,EAoCc,MAAgC;AAAA,kBAAhCc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAE,EAAgC,cAA1B,uBAAmB,EAAA;AAAA;gBApCvC,GAAA;AAAA;;YAAA,SAAAhB,EA2BU,MAAmD;AAAA,cAAnDF,EAAmDmB,GAAA,MAAA;AAAA,gBA3B7D,SAAAjB,EA2B6B,MAAY;AAAA,kBA3BzCe,EAAAG,EA2BgCb,CAAM,GAAA,CAAA;AAAA;gBA3BtC,GAAA;AAAA;;YAAA,GAAA;AAAA;UAwCQP,EAAaqB,CAAA;AAAA;;MAxCrB,GAAA;AAAA;IA6CYf,EAAU,mBAFlBgB,EAOEC,GAAA;AAAA,MAlDN,KAAA;AAAA,MAAA,YA4CejB,EAAU;AAAA,MA5CzB,uBAAAU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAF,MA4CeR,EAAU,aAAAQ;AAAA,MAElB,SAASR,EAAW;AAAA,MACrB,MAAK;AAAA,MACJ,MAAMA,EAAW;AAAA,MACjB,UAAQS,EAAc;AAAA,kEAjD7BS,EAAA,IAAA,EAAA;AAAA;;;"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("vue"),u=require("./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs"),V=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DJX55UPj.cjs"),v={props:{modelValue:{type:Array,required:!0}},computed:{selected:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}}},methods:{addEnvVar:function(){this.selected.push({key:"",value:""})},delEnvVar:function(o){this.selected.splice(o,1)}}},h={scope:"col",class:"text-right"};function f(o,t,m,p,n,a){const i=e.resolveComponent("v-icon"),c=e.resolveComponent("v-tooltip"),s=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-table");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(_,{dense:""},{default:e.withCtx(()=>[t[6]||(t[6]=e.createElementVNode("span",null," Add environment variables (optional)",-1)),e.createElementVNode("tbody",null,[e.createElementVNode("tr",null,[t[2]||(t[2]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),t[3]||(t[3]=e.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),e.createElementVNode("th",h,[e.createVNode(c,{location:"top"},{activator:e.withCtx(({props:l})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(l)),[e.createVNode(i,{"data-test":"new-metadata-icon",onClick:a.addEnvVar},{default:e.withCtx(()=>t[0]||(t[0]=[e.createTextVNode(" mdi-plus ")])),_:1},8,["onClick"])],16)]),default:e.withCtx(()=>[t[1]||(t[1]=e.createElementVNode("span",null," Add Environment ",-1))]),_:1})])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.selected,(l,r)=>(e.openBlock(),e.createElementBlock("tr",{key:`tr-${r}`},[e.createElementVNode("td",null,[e.createVNode(s,{modelValue:l.key,"onUpdate:modelValue":d=>l.key=d,density:"compact",type:"text",readonly:l.readonly,"data-test":`key-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(s,{modelValue:l.value,"onUpdate:modelValue":d=>l.value=d,density:"compact",type:"text",readonly:l.readonly,"data-test":`value-${r}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),e.createElementVNode("td",null,[e.createVNode(c,{location:"top"},{activator:e.withCtx(({props:d})=>[e.createElementVNode("div",e.mergeProps({ref_for:!0},d),[e.createVNode(i,{"data-test":`remove-env-icon-${r}`,onClick:N=>a.delEnvVar(r)},{default:e.withCtx(()=>t[4]||(t[4]=[e.createTextVNode(" mdi-delete ")])),_:2},1032,["data-test","onClick"])],16)]),default:e.withCtx(()=>[t[5]||(t[5]=e.createElementVNode("span",null," Delete Environment ",-1))]),_:2},1024)])]))),128))])]),_:1})])}const y=u._export_sfc(v,[["render",f]]),x={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},created(){this.loading=!0,V.ui.get("/script-api/scripts").then(o=>{this.scripts=o.data.filter(t=>t.includes(".rb")||t.includes(".py")),this.items=this.scripts}).catch(o=>{this.$emit("error",{type:"error",text:`Failed to connect to OpenC3. ${o}`,error:o})}),this.selected=this.modelValue?this.modelValue:null,this.loading=!1},watch:{selected(o,t){o!==t&&(o.slice(-1)==="*"?this.$emit("file",o.substring(0,o.length-1)):this.$emit("file",o))},search(o){o&&o!==this.selected&&this.querySelections(o)}},methods:{querySelections:function(o){this.loading=!0,setTimeout(()=>{this.items=this.scripts.filter(t=>(t||"").toLowerCase().indexOf((o||"").toLowerCase())>-1),this.loading=!1},500)}}};function C(o,t,m,p,n,a){const i=e.resolveComponent("v-autocomplete"),c=e.resolveComponent("v-row");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.selected,"onUpdate:modelValue":t[0]||(t[0]=s=>n.selected=s),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:n.loading,items:n.items,search:n.search,"onUpdate:search":t[1]||(t[1]=s=>n.search=s),"data-test":"select-script"},null,8,["modelValue","loading","items","search"])]),_:1})])}const E=u._export_sfc(x,[["render",C]]);exports.EnvironmentChooser=y;exports.ScriptChooser=E;
2
- //# sourceMappingURL=ScriptChooser-BNm_zXxX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptChooser-BNm_zXxX.cjs","sources":["../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-table dense>\n <span> Add environment variables (optional)</span>\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\">\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-icon data-test=\"new-metadata-icon\" @click=\"addEnvVar\">\n mdi-plus\n </v-icon>\n </div>\n </template>\n <span> Add Environment </span>\n </v-tooltip>\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-tooltip location=\"top\">\n <template v-slot:activator=\"{ props }\">\n <div v-bind=\"props\">\n <v-icon\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n >\n mdi-delete\n </v-icon>\n </div>\n </template>\n <span> Delete Environment </span>\n </v-tooltip>\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n v-model:search=\"search\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","value","index","_createElementBlock","_createVNode","_component_v_table","_withCtx","_cache","_createElementVNode","_hoisted_1","_component_v_tooltip","props","_normalizeProps","_guardReactiveProps","_component_v_icon","$options","_createTextVNode","_openBlock","_Fragment","_renderList","env","i","_component_v_text_field","$event","_mergeProps","Api","response","filename","error","newVal","oldVal","val","v","e","_component_v_row","_component_v_autocomplete","$data"],"mappings":"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"}
@@ -1,199 +0,0 @@
1
- import { resolveComponent as d, createElementBlock as f, openBlock as h, createVNode as l, withCtx as n, createElementVNode as o, normalizeProps as x, guardReactiveProps as k, createTextVNode as v, Fragment as C, renderList as $, mergeProps as E } from "vue";
2
- import { _ } from "./CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
3
- import { a as b } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-iq-jp8dD.js";
4
- const S = {
5
- props: {
6
- modelValue: {
7
- type: Array,
8
- required: !0
9
- }
10
- },
11
- computed: {
12
- selected: {
13
- get() {
14
- return this.modelValue;
15
- },
16
- set(t) {
17
- this.$emit("update:modelValue", t);
18
- }
19
- }
20
- },
21
- methods: {
22
- addEnvVar: function() {
23
- this.selected.push({
24
- key: "",
25
- value: ""
26
- });
27
- },
28
- delEnvVar: function(t) {
29
- this.selected.splice(t, 1);
30
- }
31
- }
32
- }, U = {
33
- scope: "col",
34
- class: "text-right"
35
- };
36
- function q(t, e, y, V, r, c) {
37
- const p = d("v-icon"), m = d("v-tooltip"), i = d("v-text-field"), g = d("v-table");
38
- return h(), f("div", null, [
39
- l(g, { dense: "" }, {
40
- default: n(() => [
41
- e[6] || (e[6] = o("span", null, " Add environment variables (optional)", -1)),
42
- o("tbody", null, [
43
- o("tr", null, [
44
- e[2] || (e[2] = o("th", {
45
- scope: "col",
46
- class: "text-left"
47
- }, "Key", -1)),
48
- e[3] || (e[3] = o("th", {
49
- scope: "col",
50
- class: "text-left"
51
- }, "Value", -1)),
52
- o("th", U, [
53
- l(m, { location: "top" }, {
54
- activator: n(({ props: s }) => [
55
- o("div", x(k(s)), [
56
- l(p, {
57
- "data-test": "new-metadata-icon",
58
- onClick: c.addEnvVar
59
- }, {
60
- default: n(() => e[0] || (e[0] = [
61
- v(" mdi-plus ")
62
- ])),
63
- _: 1
64
- }, 8, ["onClick"])
65
- ], 16)
66
- ]),
67
- default: n(() => [
68
- e[1] || (e[1] = o("span", null, " Add Environment ", -1))
69
- ]),
70
- _: 1
71
- })
72
- ])
73
- ]),
74
- (h(!0), f(C, null, $(c.selected, (s, a) => (h(), f("tr", {
75
- key: `tr-${a}`
76
- }, [
77
- o("td", null, [
78
- l(i, {
79
- modelValue: s.key,
80
- "onUpdate:modelValue": (u) => s.key = u,
81
- density: "compact",
82
- type: "text",
83
- readonly: s.readonly,
84
- "data-test": `key-${a}`
85
- }, null, 8, ["modelValue", "onUpdate:modelValue", "readonly", "data-test"])
86
- ]),
87
- o("td", null, [
88
- l(i, {
89
- modelValue: s.value,
90
- "onUpdate:modelValue": (u) => s.value = u,
91
- density: "compact",
92
- type: "text",
93
- readonly: s.readonly,
94
- "data-test": `value-${a}`
95
- }, null, 8, ["modelValue", "onUpdate:modelValue", "readonly", "data-test"])
96
- ]),
97
- o("td", null, [
98
- l(m, { location: "top" }, {
99
- activator: n(({ props: u }) => [
100
- o("div", E({ ref_for: !0 }, u), [
101
- l(p, {
102
- "data-test": `remove-env-icon-${a}`,
103
- onClick: (L) => c.delEnvVar(a)
104
- }, {
105
- default: n(() => e[4] || (e[4] = [
106
- v(" mdi-delete ")
107
- ])),
108
- _: 2
109
- }, 1032, ["data-test", "onClick"])
110
- ], 16)
111
- ]),
112
- default: n(() => [
113
- e[5] || (e[5] = o("span", null, " Delete Environment ", -1))
114
- ]),
115
- _: 2
116
- }, 1024)
117
- ])
118
- ]))), 128))
119
- ])
120
- ]),
121
- _: 1
122
- })
123
- ]);
124
- }
125
- const F = /* @__PURE__ */ _(S, [["render", q]]), w = {
126
- // TODO: cache items
127
- // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was
128
- // dropped in Vuetify 3
129
- props: {
130
- modelValue: String
131
- // modelValue is the default prop when using v-model
132
- },
133
- data() {
134
- return {
135
- loading: !1,
136
- search: "",
137
- selected: this.modelValue,
138
- scripts: [],
139
- items: []
140
- };
141
- },
142
- created() {
143
- this.loading = !0, b.get("/script-api/scripts").then((t) => {
144
- this.scripts = t.data.filter((e) => e.includes(".rb") || e.includes(".py")), this.items = this.scripts;
145
- }).catch((t) => {
146
- this.$emit("error", {
147
- type: "error",
148
- text: `Failed to connect to OpenC3. ${t}`,
149
- error: t
150
- });
151
- }), this.selected = this.modelValue ? this.modelValue : null, this.loading = !1;
152
- },
153
- watch: {
154
- selected(t, e) {
155
- t !== e && (t.slice(-1) === "*" ? this.$emit("file", t.substring(0, t.length - 1)) : this.$emit("file", t));
156
- },
157
- search(t) {
158
- t && t !== this.selected && this.querySelections(t);
159
- }
160
- },
161
- methods: {
162
- querySelections: function(t) {
163
- this.loading = !0, setTimeout(() => {
164
- this.items = this.scripts.filter((e) => (e || "").toLowerCase().indexOf((t || "").toLowerCase()) > -1), this.loading = !1;
165
- }, 500);
166
- }
167
- }
168
- };
169
- function A(t, e, y, V, r, c) {
170
- const p = d("v-autocomplete"), m = d("v-row");
171
- return h(), f("div", null, [
172
- l(m, null, {
173
- default: n(() => [
174
- l(p, {
175
- modelValue: r.selected,
176
- "onUpdate:modelValue": e[0] || (e[0] = (i) => r.selected = i),
177
- density: "compact",
178
- variant: "outlined",
179
- "hide-no-data": "",
180
- "hide-details": "",
181
- class: "mb-5",
182
- label: "Select script",
183
- loading: r.loading,
184
- items: r.items,
185
- search: r.search,
186
- "onUpdate:search": e[1] || (e[1] = (i) => r.search = i),
187
- "data-test": "select-script"
188
- }, null, 8, ["modelValue", "loading", "items", "search"])
189
- ]),
190
- _: 1
191
- })
192
- ]);
193
- }
194
- const O = /* @__PURE__ */ _(w, [["render", A]]);
195
- export {
196
- F as E,
197
- O as S
198
- };
199
- //# sourceMappingURL=ScriptChooser-l5i8c8KP.js.map