@openc3/vue-common 6.10.2 → 6.10.3

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 (536) hide show
  1. package/dist/{ArrayWidget-ByKRAWXn.cjs → ArrayWidget-B35vCzAo.cjs} +3 -3
  2. package/dist/{ArrayWidget-ByKRAWXn.cjs.map → ArrayWidget-B35vCzAo.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-CR7Wpw3N.js → ArrayWidget-Bc-Awsbn.js} +11 -11
  4. package/dist/{ArrayWidget-CR7Wpw3N.js.map → ArrayWidget-Bc-Awsbn.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-Cty7KQ_h.cjs → ArrayplotWidget-B67ip6aR.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-Cty7KQ_h.cjs.map → ArrayplotWidget-B67ip6aR.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-DDEd-jRJ.js → ArrayplotWidget-B9UGCr4-.js} +4 -4
  8. package/dist/{ArrayplotWidget-DDEd-jRJ.js.map → ArrayplotWidget-B9UGCr4-.js.map} +1 -1
  9. package/dist/BarColumn-3fKM-em2.cjs +2 -0
  10. package/dist/BarColumn-3fKM-em2.cjs.map +1 -0
  11. package/dist/{BarColumn-XWs-3Cwb.js → BarColumn-ClLBRGll.js} +11 -11
  12. package/dist/BarColumn-ClLBRGll.js.map +1 -0
  13. package/dist/{BlockWidget-CfFgdNSv.js → BlockWidget-CoQp-LZM.js} +14 -14
  14. package/dist/{BlockWidget-CfFgdNSv.js.map → BlockWidget-CoQp-LZM.js.map} +1 -1
  15. package/dist/{BlockWidget-BDzoqpxO.cjs → BlockWidget-DWexy9Dx.cjs} +3 -3
  16. package/dist/{BlockWidget-BDzoqpxO.cjs.map → BlockWidget-DWexy9Dx.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-BBMDS_YF.cjs → ButtonWidget-BBpVoIzj.cjs} +3 -3
  18. package/dist/ButtonWidget-BBpVoIzj.cjs.map +1 -0
  19. package/dist/{ButtonWidget-BaSvtElA.js → ButtonWidget-CTTwpFec.js} +15 -15
  20. package/dist/ButtonWidget-CTTwpFec.js.map +1 -0
  21. package/dist/{CanvasWidget-CFNpgqfW.cjs → CanvasWidget-Qlx-Mo8v.cjs} +2 -2
  22. package/dist/{CanvasWidget-CFNpgqfW.cjs.map → CanvasWidget-Qlx-Mo8v.cjs.map} +1 -1
  23. package/dist/{CanvasWidget-DcwDi5Zk.js → CanvasWidget-jFarbJ3t.js} +4 -4
  24. package/dist/{CanvasWidget-DcwDi5Zk.js.map → CanvasWidget-jFarbJ3t.js.map} +1 -1
  25. package/dist/{CanvasdotWidget-BZ9TrTvw.cjs → CanvasdotWidget-BROyk4FH.cjs} +2 -2
  26. package/dist/{CanvasdotWidget-BZ9TrTvw.cjs.map → CanvasdotWidget-BROyk4FH.cjs.map} +1 -1
  27. package/dist/{CanvasdotWidget--awMOWyz.js → CanvasdotWidget-BoyUcwiB.js} +3 -3
  28. package/dist/{CanvasdotWidget--awMOWyz.js.map → CanvasdotWidget-BoyUcwiB.js.map} +1 -1
  29. package/dist/CanvasimageWidget-BvTJnGXu.cjs +2 -0
  30. package/dist/CanvasimageWidget-BvTJnGXu.cjs.map +1 -0
  31. package/dist/{CanvasimageWidget-YP1pCtvb.js → CanvasimageWidget-DmyCSnuQ.js} +8 -7
  32. package/dist/CanvasimageWidget-DmyCSnuQ.js.map +1 -0
  33. package/dist/{CanvasimagevalueWidget-CjVHb2uj.js → CanvasimagevalueWidget-CmbngMqv.js} +5 -4
  34. package/dist/CanvasimagevalueWidget-CmbngMqv.js.map +1 -0
  35. package/dist/CanvasimagevalueWidget-CzVrDo-Z.cjs +2 -0
  36. package/dist/CanvasimagevalueWidget-CzVrDo-Z.cjs.map +1 -0
  37. package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs → CanvaslabelWidget-BnvwV9MA.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-Dw1YmiY0.cjs.map → CanvaslabelWidget-BnvwV9MA.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-DoMplTTO.js → CanvaslabelWidget-D8NzLKqi.js} +3 -3
  40. package/dist/{CanvaslabelWidget-DoMplTTO.js.map → CanvaslabelWidget-D8NzLKqi.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-Dyo_ogHn.js → CanvaslabelvalueWidget-DOybGI9D.js} +4 -3
  42. package/dist/CanvaslabelvalueWidget-DOybGI9D.js.map +1 -0
  43. package/dist/CanvaslabelvalueWidget-DVnkclHD.cjs +2 -0
  44. package/dist/CanvaslabelvalueWidget-DVnkclHD.cjs.map +1 -0
  45. package/dist/{CanvaslineWidget-D7W1TIxm.js → CanvaslineWidget-D2NEei7j.js} +3 -3
  46. package/dist/{CanvaslineWidget-D7W1TIxm.js.map → CanvaslineWidget-D2NEei7j.js.map} +1 -1
  47. package/dist/{CanvaslineWidget-tm194dw1.cjs → CanvaslineWidget-DgbXSH1K.cjs} +2 -2
  48. package/dist/{CanvaslineWidget-tm194dw1.cjs.map → CanvaslineWidget-DgbXSH1K.cjs.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-BOZyJuLE.js → CanvaslinevalueWidget-Ctvv9owf.js} +11 -10
  50. package/dist/CanvaslinevalueWidget-Ctvv9owf.js.map +1 -0
  51. package/dist/CanvaslinevalueWidget-E3NDHyPl.cjs +2 -0
  52. package/dist/CanvaslinevalueWidget-E3NDHyPl.cjs.map +1 -0
  53. package/dist/CheckbuttonWidget-BdvWAgg_.cjs +2 -0
  54. package/dist/{CheckbuttonWidget-BSvTWD3x.cjs.map → CheckbuttonWidget-BdvWAgg_.cjs.map} +1 -1
  55. package/dist/{CheckbuttonWidget-B1E4BC6v.js → CheckbuttonWidget-CQeR0BMF.js} +6 -6
  56. package/dist/{CheckbuttonWidget-B1E4BC6v.js.map → CheckbuttonWidget-CQeR0BMF.js.map} +1 -1
  57. package/dist/{ClassificationBanners-CzZoKcRy.cjs → ClassificationBanners-0BNhyyMS.cjs} +2 -2
  58. package/dist/{ClassificationBanners-CzZoKcRy.cjs.map → ClassificationBanners-0BNhyyMS.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-DQeVwmYp.js → ClassificationBanners-STI2n2yD.js} +2 -2
  60. package/dist/{ClassificationBanners-DQeVwmYp.js.map → ClassificationBanners-STI2n2yD.js.map} +1 -1
  61. package/dist/{ComboboxWidget-BExUBH57.js → ComboboxWidget-4N-MagvN.js} +6 -6
  62. package/dist/{ComboboxWidget-BExUBH57.js.map → ComboboxWidget-4N-MagvN.js.map} +1 -1
  63. package/dist/ComboboxWidget-Dh0q9xpJ.cjs +2 -0
  64. package/dist/{ComboboxWidget-B_KAnIVB.cjs.map → ComboboxWidget-Dh0q9xpJ.cjs.map} +1 -1
  65. package/dist/CriticalCmdDialog-Dy1cQZxQ.cjs +2 -0
  66. package/dist/CriticalCmdDialog-Dy1cQZxQ.cjs.map +1 -0
  67. package/dist/{CriticalCmdDialog-BtzhxuZi.js → CriticalCmdDialog-trVtKZft.js} +62 -52
  68. package/dist/CriticalCmdDialog-trVtKZft.js.map +1 -0
  69. package/dist/{CustomIcon-DTfsnDJn.js → CustomIcon-B9m73Gqm.js} +5 -4
  70. package/dist/{CustomIcon-DTfsnDJn.js.map → CustomIcon-B9m73Gqm.js.map} +1 -1
  71. package/dist/CustomIcon-CEc927h0.cjs +2 -0
  72. package/dist/{CustomIcon-eie3rPKh.cjs.map → CustomIcon-CEc927h0.cjs.map} +1 -1
  73. package/dist/{DateWidget-kTJBAHVp.cjs → DateWidget-DXN7u3vL.cjs} +2 -2
  74. package/dist/{DateWidget-kTJBAHVp.cjs.map → DateWidget-DXN7u3vL.cjs.map} +1 -1
  75. package/dist/{DateWidget-_ZmPsi2l.js → DateWidget-rYTjwUdb.js} +3 -3
  76. package/dist/{DateWidget-_ZmPsi2l.js.map → DateWidget-rYTjwUdb.js.map} +1 -1
  77. package/dist/DetailsDialog-CLCCuoHV.cjs +2 -0
  78. package/dist/DetailsDialog-CLCCuoHV.cjs.map +1 -0
  79. package/dist/{DetailsDialog-Bq7SS7bc.js → DetailsDialog-p_vutijL.js} +130 -100
  80. package/dist/DetailsDialog-p_vutijL.js.map +1 -0
  81. package/dist/DynamicWidget-C4V2H2VJ.cjs +2 -0
  82. package/dist/DynamicWidget-C4V2H2VJ.cjs.map +1 -0
  83. package/dist/{DynamicWidget-DHL7pbgW.js → DynamicWidget-DEHWYr8i.js} +7 -7
  84. package/dist/DynamicWidget-DEHWYr8i.js.map +1 -0
  85. package/dist/{EventListDialog-jdNF3szO.js → EventListDialog-BshKrOuQ.js} +70 -62
  86. package/dist/EventListDialog-BshKrOuQ.js.map +1 -0
  87. package/dist/EventListDialog-D0iBpLSR.cjs +2 -0
  88. package/dist/EventListDialog-D0iBpLSR.cjs.map +1 -0
  89. package/dist/FilechecksumWidget-Ddlm1UED.cjs +2 -0
  90. package/dist/FilechecksumWidget-Ddlm1UED.cjs.map +1 -0
  91. package/dist/FilechecksumWidget-gcmXxJHl.js +158 -0
  92. package/dist/FilechecksumWidget-gcmXxJHl.js.map +1 -0
  93. package/dist/FiledisplayWidget-CYX4HChi.cjs +2 -0
  94. package/dist/FiledisplayWidget-CYX4HChi.cjs.map +1 -0
  95. package/dist/FiledisplayWidget-CqM549A4.js +114 -0
  96. package/dist/FiledisplayWidget-CqM549A4.js.map +1 -0
  97. package/dist/{FormatvalueWidget-4C0vrL2i.js → FormatvalueWidget-BEwH0C7S.js} +4 -4
  98. package/dist/{FormatvalueWidget-4C0vrL2i.js.map → FormatvalueWidget-BEwH0C7S.js.map} +1 -1
  99. package/dist/{FormatvalueWidget-CVoJgFJA.cjs → FormatvalueWidget-CpsyYKXD.cjs} +2 -2
  100. package/dist/{FormatvalueWidget-CVoJgFJA.cjs.map → FormatvalueWidget-CpsyYKXD.cjs.map} +1 -1
  101. package/dist/{Graph-B7KPo9Ul.js → Graph-CbjlChwf.js} +93 -82
  102. package/dist/Graph-CbjlChwf.js.map +1 -0
  103. package/dist/Graph-kmTrth08.cjs +2 -0
  104. package/dist/Graph-kmTrth08.cjs.map +1 -0
  105. package/dist/{GraphWidget-BpkPpAbd.js → GraphWidget-CjxnC0Dc.js} +2 -2
  106. package/dist/{GraphWidget-BpkPpAbd.js.map → GraphWidget-CjxnC0Dc.js.map} +1 -1
  107. package/dist/{GraphWidget-D3HueIZi.cjs → GraphWidget-SamHg2AA.cjs} +2 -2
  108. package/dist/{GraphWidget-D3HueIZi.cjs.map → GraphWidget-SamHg2AA.cjs.map} +1 -1
  109. package/dist/HorizontalWidget-ByZjU21C.cjs +2 -0
  110. package/dist/HorizontalWidget-ByZjU21C.cjs.map +1 -0
  111. package/dist/HorizontalWidget-Dt8bkM3k.js +69 -0
  112. package/dist/HorizontalWidget-Dt8bkM3k.js.map +1 -0
  113. package/dist/{HorizontalboxWidget-CTomf_Iy.js → HorizontalboxWidget-CdAZ5Sa6.js} +6 -6
  114. package/dist/{HorizontalboxWidget-CTomf_Iy.js.map → HorizontalboxWidget-CdAZ5Sa6.js.map} +1 -1
  115. package/dist/{HorizontalboxWidget-ysq7slso.cjs → HorizontalboxWidget-DzYz5SXs.cjs} +2 -2
  116. package/dist/{HorizontalboxWidget-ysq7slso.cjs.map → HorizontalboxWidget-DzYz5SXs.cjs.map} +1 -1
  117. package/dist/{HorizontallineWidget-BgXZZymr.cjs → HorizontallineWidget-C8Zhqxik.cjs} +2 -2
  118. package/dist/{HorizontallineWidget-BgXZZymr.cjs.map → HorizontallineWidget-C8Zhqxik.cjs.map} +1 -1
  119. package/dist/{HorizontallineWidget-B7xx7ofY.js → HorizontallineWidget-CXZJTeU2.js} +3 -3
  120. package/dist/{HorizontallineWidget-B7xx7ofY.js.map → HorizontallineWidget-CXZJTeU2.js.map} +1 -1
  121. package/dist/{IframeWidget-fV9e-Nm1.cjs → IframeWidget-BuNXXziR.cjs} +2 -2
  122. package/dist/{IframeWidget-fV9e-Nm1.cjs.map → IframeWidget-BuNXXziR.cjs.map} +1 -1
  123. package/dist/{IframeWidget-DK7rbULe.js → IframeWidget-CrcWiAVE.js} +3 -3
  124. package/dist/{IframeWidget-DK7rbULe.js.map → IframeWidget-CrcWiAVE.js.map} +1 -1
  125. package/dist/{ImageLoader-CJxiBXAL.cjs → ImageLoader-130w4tXJ.cjs} +2 -2
  126. package/dist/{ImageLoader-CJxiBXAL.cjs.map → ImageLoader-130w4tXJ.cjs.map} +1 -1
  127. package/dist/{ImageLoader-C9rN_pSY.js → ImageLoader-DPqax8yu.js} +2 -2
  128. package/dist/{ImageLoader-C9rN_pSY.js.map → ImageLoader-DPqax8yu.js.map} +1 -1
  129. package/dist/{ImageviewerWidget-6d6Kl3W_.js → ImageviewerWidget-CTEl6iPg.js} +10 -9
  130. package/dist/ImageviewerWidget-CTEl6iPg.js.map +1 -0
  131. package/dist/ImageviewerWidget-CafLbLp2.cjs +2 -0
  132. package/dist/ImageviewerWidget-CafLbLp2.cjs.map +1 -0
  133. package/dist/{InterfacesTab-BCqTanhV.js → InterfacesTab-B9ApLB5q.js} +4 -4
  134. package/dist/{InterfacesTab-BCqTanhV.js.map → InterfacesTab-B9ApLB5q.js.map} +1 -1
  135. package/dist/{InterfacesTab-0pmK3KNu.cjs → InterfacesTab-wPQSLcSj.cjs} +2 -2
  136. package/dist/{InterfacesTab-0pmK3KNu.cjs.map → InterfacesTab-wPQSLcSj.cjs.map} +1 -1
  137. package/dist/{LabelWidget-DdZz2NWv.cjs → LabelWidget-BfBP3Xme.cjs} +2 -2
  138. package/dist/{LabelWidget-DdZz2NWv.cjs.map → LabelWidget-BfBP3Xme.cjs.map} +1 -1
  139. package/dist/{LabelWidget-D71FfOSw.js → LabelWidget-CPqKGMx0.js} +3 -3
  140. package/dist/{LabelWidget-D71FfOSw.js.map → LabelWidget-CPqKGMx0.js.map} +1 -1
  141. package/dist/{LabelledWidget-D2ir5kVU.js → LabelledWidget-BHYzRMFd.js} +6 -6
  142. package/dist/{LabelledWidget-D2ir5kVU.js.map → LabelledWidget-BHYzRMFd.js.map} +1 -1
  143. package/dist/{LabelledWidget-BZ319slb.cjs → LabelledWidget-CZvKfFNW.cjs} +2 -2
  144. package/dist/{LabelledWidget-BZ319slb.cjs.map → LabelledWidget-CZvKfFNW.cjs.map} +1 -1
  145. package/dist/{LabelprogressbarWidget-LyevJNuz.cjs → LabelprogressbarWidget-Bv0G5oT3.cjs} +2 -2
  146. package/dist/{LabelprogressbarWidget-LyevJNuz.cjs.map → LabelprogressbarWidget-Bv0G5oT3.cjs.map} +1 -1
  147. package/dist/{LabelprogressbarWidget-C4_YbROz.js → LabelprogressbarWidget-D9deeUo7.js} +6 -6
  148. package/dist/{LabelprogressbarWidget-C4_YbROz.js.map → LabelprogressbarWidget-D9deeUo7.js.map} +1 -1
  149. package/dist/{LabelsparklineWidget-CdZ_pM2B.js → LabelsparklineWidget-7mYre3CP.js} +13 -13
  150. package/dist/LabelsparklineWidget-7mYre3CP.js.map +1 -0
  151. package/dist/LabelsparklineWidget-dyqEroDN.cjs +2 -0
  152. package/dist/LabelsparklineWidget-dyqEroDN.cjs.map +1 -0
  153. package/dist/{LabelvalueWidget-DSHwAKma.cjs → LabelvalueWidget-Bsl7Z3wM.cjs} +2 -2
  154. package/dist/{LabelvalueWidget-DSHwAKma.cjs.map → LabelvalueWidget-Bsl7Z3wM.cjs.map} +1 -1
  155. package/dist/{LabelvalueWidget-BS0EPY5h.js → LabelvalueWidget-NLsD60n4.js} +6 -6
  156. package/dist/{LabelvalueWidget-BS0EPY5h.js.map → LabelvalueWidget-NLsD60n4.js.map} +1 -1
  157. package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs → LabelvaluedescWidget-B_Xih-c5.cjs} +2 -2
  158. package/dist/{LabelvaluedescWidget-3lwQxkKj.cjs.map → LabelvaluedescWidget-B_Xih-c5.cjs.map} +1 -1
  159. package/dist/{LabelvaluedescWidget-Cpr8_Voq.js → LabelvaluedescWidget-DXROG4Gs.js} +6 -6
  160. package/dist/{LabelvaluedescWidget-Cpr8_Voq.js.map → LabelvaluedescWidget-DXROG4Gs.js.map} +1 -1
  161. package/dist/{LabelvaluelimitsbarWidget-DbO_Q5ex.cjs → LabelvaluelimitsbarWidget-DDd0RIs5.cjs} +2 -2
  162. package/dist/LabelvaluelimitsbarWidget-DDd0RIs5.cjs.map +1 -0
  163. package/dist/{LabelvaluelimitsbarWidget-DTcYbEQS.js → LabelvaluelimitsbarWidget-DqVqHF4W.js} +10 -10
  164. package/dist/LabelvaluelimitsbarWidget-DqVqHF4W.js.map +1 -0
  165. package/dist/{LabelvaluelimitscolumnWidget-D0ltQ9Ta.js → LabelvaluelimitscolumnWidget-BK6_31pC.js} +12 -12
  166. package/dist/LabelvaluelimitscolumnWidget-BK6_31pC.js.map +1 -0
  167. package/dist/LabelvaluelimitscolumnWidget-C1aqkXh5.cjs +2 -0
  168. package/dist/LabelvaluelimitscolumnWidget-C1aqkXh5.cjs.map +1 -0
  169. package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js → LabelvaluerangebarWidget-DR7C8gqw.js} +6 -6
  170. package/dist/{LabelvaluerangebarWidget-O8IHjvHs.js.map → LabelvaluerangebarWidget-DR7C8gqw.js.map} +1 -1
  171. package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs → LabelvaluerangebarWidget-a8u5LXBD.cjs} +2 -2
  172. package/dist/{LabelvaluerangebarWidget-B6_alHq4.cjs.map → LabelvaluerangebarWidget-a8u5LXBD.cjs.map} +1 -1
  173. package/dist/Layout-B_Hgw3gd.js +36 -0
  174. package/dist/Layout-B_Hgw3gd.js.map +1 -0
  175. package/dist/Layout-CVGghwYm.cjs +2 -0
  176. package/dist/Layout-CVGghwYm.cjs.map +1 -0
  177. package/dist/{LedWidget-DUvJ2v8k.js → LedWidget-CiAVs2tj.js} +46 -39
  178. package/dist/LedWidget-CiAVs2tj.js.map +1 -0
  179. package/dist/LedWidget-Cmy47xfg.cjs +2 -0
  180. package/dist/LedWidget-Cmy47xfg.cjs.map +1 -0
  181. package/dist/LimitsBar-DTtMywOw.cjs +2 -0
  182. package/dist/LimitsBar-DTtMywOw.cjs.map +1 -0
  183. package/dist/LimitsBar-_UQG-M6e.js +134 -0
  184. package/dist/LimitsBar-_UQG-M6e.js.map +1 -0
  185. package/dist/LimitsbarWidget-CIwcOhC8.js +65 -0
  186. package/dist/LimitsbarWidget-CIwcOhC8.js.map +1 -0
  187. package/dist/LimitsbarWidget-CYm_f1FN.cjs +2 -0
  188. package/dist/LimitsbarWidget-CYm_f1FN.cjs.map +1 -0
  189. package/dist/{LimitscolorWidget-FXT0ZPPH.js → LimitscolorWidget-CGPfJwvT.js} +14 -13
  190. package/dist/LimitscolorWidget-CGPfJwvT.js.map +1 -0
  191. package/dist/LimitscolorWidget-oH6NGl1C.cjs +2 -0
  192. package/dist/LimitscolorWidget-oH6NGl1C.cjs.map +1 -0
  193. package/dist/{LimitscolumnWidget-CjBy-CCI.js → LimitscolumnWidget-Bj_UPEC8.js} +3 -3
  194. package/dist/{LimitscolumnWidget-CjBy-CCI.js.map → LimitscolumnWidget-Bj_UPEC8.js.map} +1 -1
  195. package/dist/{LimitscolumnWidget-C5yozwf0.cjs → LimitscolumnWidget-CnGOCckG.cjs} +2 -2
  196. package/dist/{LimitscolumnWidget-C5yozwf0.cjs.map → LimitscolumnWidget-CnGOCckG.cjs.map} +1 -1
  197. package/dist/{LinegraphWidget-lmu_tFKd.js → LinegraphWidget-DccnHbWa.js} +5 -5
  198. package/dist/{LinegraphWidget-lmu_tFKd.js.map → LinegraphWidget-DccnHbWa.js.map} +1 -1
  199. package/dist/{LinegraphWidget-dO_B0T3E.cjs → LinegraphWidget-zHs3NG-6.cjs} +2 -2
  200. package/dist/{LinegraphWidget-dO_B0T3E.cjs.map → LinegraphWidget-zHs3NG-6.cjs.map} +1 -1
  201. package/dist/MatrixbycolumnsWidget-Dd-udu5V.cjs +2 -0
  202. package/dist/MatrixbycolumnsWidget-Dd-udu5V.cjs.map +1 -0
  203. package/dist/MatrixbycolumnsWidget-U_NZ6aW-.js +83 -0
  204. package/dist/MatrixbycolumnsWidget-U_NZ6aW-.js.map +1 -0
  205. package/dist/MicroservicesTab-DG3rdksb.js +203 -0
  206. package/dist/MicroservicesTab-DG3rdksb.js.map +1 -0
  207. package/dist/MicroservicesTab-DXgSxZ0K.cjs +2 -0
  208. package/dist/MicroservicesTab-DXgSxZ0K.cjs.map +1 -0
  209. package/dist/{Openc3Screen-DcIIUO63.js → Openc3Screen-CDwAWaTl.js} +56 -34
  210. package/dist/Openc3Screen-CDwAWaTl.js.map +1 -0
  211. package/dist/{Openc3Screen-CzD9BB0M.cjs → Openc3Screen-CKs-49JN.cjs} +5 -5
  212. package/dist/Openc3Screen-CKs-49JN.cjs.map +1 -0
  213. package/dist/OutputDialog-D2YCbR20.cjs +2 -0
  214. package/dist/OutputDialog-D2YCbR20.cjs.map +1 -0
  215. package/dist/{OutputDialog-CNH74LpJ.js → OutputDialog-Di-pSmJE.js} +24 -17
  216. package/dist/OutputDialog-Di-pSmJE.js.map +1 -0
  217. package/dist/{PackagesTab-BE6W7Aru.js → PackagesTab-Bui5q3rX.js} +4 -4
  218. package/dist/{PackagesTab-BE6W7Aru.js.map → PackagesTab-Bui5q3rX.js.map} +1 -1
  219. package/dist/{PackagesTab-PEPT4CQu.cjs → PackagesTab-C-fV9yxw.cjs} +2 -2
  220. package/dist/{PackagesTab-PEPT4CQu.cjs.map → PackagesTab-C-fV9yxw.cjs.map} +1 -1
  221. package/dist/{PluginsTab-DXf9zX0h.cjs → PluginsTab-DxxlKeVx.cjs} +2 -2
  222. package/dist/PluginsTab-DxxlKeVx.cjs.map +1 -0
  223. package/dist/{PluginsTab-B_Pf2A9c.js → PluginsTab-zR9eZuvc.js} +8 -8
  224. package/dist/PluginsTab-zR9eZuvc.js.map +1 -0
  225. package/dist/ProgressbarWidget-Cxvwcfgn.cjs +2 -0
  226. package/dist/ProgressbarWidget-Cxvwcfgn.cjs.map +1 -0
  227. package/dist/{ProgressbarWidget-B5WN658S.js → ProgressbarWidget-D4JtVzyk.js} +7 -5
  228. package/dist/ProgressbarWidget-D4JtVzyk.js.map +1 -0
  229. package/dist/{RadiobuttonWidget-B_3nys46.js → RadiobuttonWidget-BUaW7pRx.js} +11 -10
  230. package/dist/{RadiobuttonWidget-B_3nys46.js.map → RadiobuttonWidget-BUaW7pRx.js.map} +1 -1
  231. package/dist/RadiobuttonWidget-Ccgftl13.cjs +2 -0
  232. package/dist/{RadiobuttonWidget-DkG9GtAy.cjs.map → RadiobuttonWidget-Ccgftl13.cjs.map} +1 -1
  233. package/dist/{RadiogroupWidget-BnUjXU28.cjs → RadiogroupWidget-CSxjpxCr.cjs} +2 -2
  234. package/dist/{RadiogroupWidget-BnUjXU28.cjs.map → RadiogroupWidget-CSxjpxCr.cjs.map} +1 -1
  235. package/dist/{RadiogroupWidget-BiMIL9li.js → RadiogroupWidget-NIv4CaUQ.js} +6 -6
  236. package/dist/{RadiogroupWidget-BiMIL9li.js.map → RadiogroupWidget-NIv4CaUQ.js.map} +1 -1
  237. package/dist/{RangebarWidget-Dn0GASdi.js → RangebarWidget-1-CsFpcl.js} +12 -11
  238. package/dist/RangebarWidget-1-CsFpcl.js.map +1 -0
  239. package/dist/RangebarWidget-BtxfPo-U.cjs +2 -0
  240. package/dist/RangebarWidget-BtxfPo-U.cjs.map +1 -0
  241. package/dist/{RedisTab-C1yaDRSt.cjs → RedisTab-DOozcC9a.cjs} +2 -2
  242. package/dist/{RedisTab-C1yaDRSt.cjs.map → RedisTab-DOozcC9a.cjs.map} +1 -1
  243. package/dist/{RedisTab-BsKrL4fD.js → RedisTab-DuO-zUV3.js} +3 -3
  244. package/dist/{RedisTab-BsKrL4fD.js.map → RedisTab-DuO-zUV3.js.map} +1 -1
  245. package/dist/RollupWidget-CQxl1mlr.cjs +2 -0
  246. package/dist/RollupWidget-CQxl1mlr.cjs.map +1 -0
  247. package/dist/{RollupWidget-b62qcG5K.js → RollupWidget-ChasTJYP.js} +15 -13
  248. package/dist/RollupWidget-ChasTJYP.js.map +1 -0
  249. package/dist/{RoutersTab-EHz4wDCn.js → RoutersTab-C0UHSj-S.js} +4 -4
  250. package/dist/{RoutersTab-EHz4wDCn.js.map → RoutersTab-C0UHSj-S.js.map} +1 -1
  251. package/dist/{RoutersTab-8wGbiPCk.cjs → RoutersTab-DgWAXGUv.cjs} +2 -2
  252. package/dist/{RoutersTab-8wGbiPCk.cjs.map → RoutersTab-DgWAXGUv.cjs.map} +1 -1
  253. package/dist/{ScriptChooser-DMPY3m8a.js → ScriptChooser-C5HHbbcP.js} +118 -93
  254. package/dist/ScriptChooser-C5HHbbcP.js.map +1 -0
  255. package/dist/ScriptChooser-D1dddugi.cjs +2 -0
  256. package/dist/ScriptChooser-D1dddugi.cjs.map +1 -0
  257. package/dist/ScrollwindowWidget-Bkyjw0Qt.cjs +2 -0
  258. package/dist/ScrollwindowWidget-Bkyjw0Qt.cjs.map +1 -0
  259. package/dist/ScrollwindowWidget-Y2J758y6.js +69 -0
  260. package/dist/ScrollwindowWidget-Y2J758y6.js.map +1 -0
  261. package/dist/{SecretsTab-DSMFodJM.cjs → SecretsTab-Ds3kGOmd.cjs} +2 -2
  262. package/dist/{SecretsTab-DSMFodJM.cjs.map → SecretsTab-Ds3kGOmd.cjs.map} +1 -1
  263. package/dist/{SecretsTab-Cbt_r-1I.js → SecretsTab-c5g8Zk4g.js} +3 -3
  264. package/dist/{SecretsTab-Cbt_r-1I.js.map → SecretsTab-c5g8Zk4g.js.map} +1 -1
  265. package/dist/{SettingsTab-L5xbCAW_.js → SettingsTab-CTd3_Ipy.js} +74 -70
  266. package/dist/SettingsTab-CTd3_Ipy.js.map +1 -0
  267. package/dist/SettingsTab-DMPRJELP.cjs +3 -0
  268. package/dist/SettingsTab-DMPRJELP.cjs.map +1 -0
  269. package/dist/SignalWidget-BkTXZpGV.cjs +2 -0
  270. package/dist/SignalWidget-BkTXZpGV.cjs.map +1 -0
  271. package/dist/{SignalWidget-CLi6qask.js → SignalWidget-DFhHDicI.js} +5 -3
  272. package/dist/SignalWidget-DFhHDicI.js.map +1 -0
  273. package/dist/{SimpleTextDialog-8vDPDt6X.js → SimpleTextDialog-CXIEKlX0.js} +26 -19
  274. package/dist/SimpleTextDialog-CXIEKlX0.js.map +1 -0
  275. package/dist/SimpleTextDialog-Dv5ypyUQ.cjs +2 -0
  276. package/dist/SimpleTextDialog-Dv5ypyUQ.cjs.map +1 -0
  277. package/dist/{SpacerWidget-BCA3gdap.js → SpacerWidget-D4KojaGb.js} +3 -3
  278. package/dist/{SpacerWidget-BCA3gdap.js.map → SpacerWidget-D4KojaGb.js.map} +1 -1
  279. package/dist/{SpacerWidget-BJpqoaeP.cjs → SpacerWidget-HsSCc07C.cjs} +2 -2
  280. package/dist/{SpacerWidget-BJpqoaeP.cjs.map → SpacerWidget-HsSCc07C.cjs.map} +1 -1
  281. package/dist/SparklineWidget-BdRM-ymk.cjs +2 -0
  282. package/dist/SparklineWidget-BdRM-ymk.cjs.map +1 -0
  283. package/dist/{SparklineWidget-D8mb4zLt.js → SparklineWidget-DMHFzw8L.js} +11 -11
  284. package/dist/SparklineWidget-DMHFzw8L.js.map +1 -0
  285. package/dist/TabbookWidget-NVLYMdFG.js +96 -0
  286. package/dist/TabbookWidget-NVLYMdFG.js.map +1 -0
  287. package/dist/TabbookWidget-NmIK-Lgf.cjs +2 -0
  288. package/dist/TabbookWidget-NmIK-Lgf.cjs.map +1 -0
  289. package/dist/TargetPacketItemChooser-B0IVMSib.cjs +2 -0
  290. package/dist/TargetPacketItemChooser-B0IVMSib.cjs.map +1 -0
  291. package/dist/{TargetPacketItemChooser-DGcXvdTX.js → TargetPacketItemChooser-D5h9Octy.js} +83 -67
  292. package/dist/TargetPacketItemChooser-D5h9Octy.js.map +1 -0
  293. package/dist/{TargetsTab-C4tQ1auc.cjs → TargetsTab-JLjpJ1wn.cjs} +2 -2
  294. package/dist/{TargetsTab-C4tQ1auc.cjs.map → TargetsTab-JLjpJ1wn.cjs.map} +1 -1
  295. package/dist/{TargetsTab-c-qMsGHh.js → TargetsTab-b35HgnRl.js} +4 -4
  296. package/dist/{TargetsTab-c-qMsGHh.js.map → TargetsTab-b35HgnRl.js.map} +1 -1
  297. package/dist/{TextBoxDialog-Xs-gitZd.js → TextBoxDialog-CJHrE2Sh.js} +29 -22
  298. package/dist/TextBoxDialog-CJHrE2Sh.js.map +1 -0
  299. package/dist/TextBoxDialog-DzCvdsJj.cjs +2 -0
  300. package/dist/TextBoxDialog-DzCvdsJj.cjs.map +1 -0
  301. package/dist/{TextboxWidget-CR05wO-t.js → TextboxWidget-CrMYPQIF.js} +19 -19
  302. package/dist/{TextboxWidget-CR05wO-t.js.map → TextboxWidget-CrMYPQIF.js.map} +1 -1
  303. package/dist/{TextboxWidget-BcRfHcF6.cjs → TextboxWidget-xk3OFSUZ.cjs} +2 -2
  304. package/dist/{TextboxWidget-BcRfHcF6.cjs.map → TextboxWidget-xk3OFSUZ.cjs.map} +1 -1
  305. package/dist/{TextfieldWidget-Be_Pz2bF.js → TextfieldWidget-DMBQwtnb.js} +5 -5
  306. package/dist/{TextfieldWidget-Be_Pz2bF.js.map → TextfieldWidget-DMBQwtnb.js.map} +1 -1
  307. package/dist/{TextfieldWidget-Ct1hZr2M.cjs → TextfieldWidget-DnnKM6vS.cjs} +2 -2
  308. package/dist/{TextfieldWidget-Ct1hZr2M.cjs.map → TextfieldWidget-DnnKM6vS.cjs.map} +1 -1
  309. package/dist/{TimeWidget-Dy8zpkC6.js → TimeWidget-CWLJZ2bt.js} +3 -3
  310. package/dist/{TimeWidget-Dy8zpkC6.js.map → TimeWidget-CWLJZ2bt.js.map} +1 -1
  311. package/dist/{TimeWidget-3M7CQ893.cjs → TimeWidget-W-flXfLb.cjs} +2 -2
  312. package/dist/{TimeWidget-3M7CQ893.cjs.map → TimeWidget-W-flXfLb.cjs.map} +1 -1
  313. package/dist/{TitleWidget-C1qzja9l.cjs → TitleWidget-CfFyUkSu.cjs} +2 -2
  314. package/dist/{TitleWidget-C1qzja9l.cjs.map → TitleWidget-CfFyUkSu.cjs.map} +1 -1
  315. package/dist/{TitleWidget-BcmxUDzM.js → TitleWidget-V1FGI8l3.js} +3 -3
  316. package/dist/{TitleWidget-BcmxUDzM.js.map → TitleWidget-V1FGI8l3.js.map} +1 -1
  317. package/dist/{ToolsTab-Buklih4C.js → ToolsTab-7qOQPnN3.js} +4 -4
  318. package/dist/{ToolsTab-Buklih4C.js.map → ToolsTab-7qOQPnN3.js.map} +1 -1
  319. package/dist/{ToolsTab-CbY2K86w.cjs → ToolsTab-jUNdj09m.cjs} +2 -2
  320. package/dist/{ToolsTab-CbY2K86w.cjs.map → ToolsTab-jUNdj09m.cjs.map} +1 -1
  321. package/dist/{TopBar-D4C9DJcu.js → TopBar-BkwvK0oj.js} +3 -3
  322. package/dist/{TopBar-D4C9DJcu.js.map → TopBar-BkwvK0oj.js.map} +1 -1
  323. package/dist/{TopBar-HxaiWynT.cjs → TopBar-DdOFDiCo.cjs} +2 -2
  324. package/dist/{TopBar-HxaiWynT.cjs.map → TopBar-DdOFDiCo.cjs.map} +1 -1
  325. package/dist/{UpgradeToEnterpriseDialog-D0AGxldj.js → UpgradeToEnterpriseDialog-CEUcvlkx.js} +16 -13
  326. package/dist/UpgradeToEnterpriseDialog-CEUcvlkx.js.map +1 -0
  327. package/dist/UpgradeToEnterpriseDialog-CP-jJxU4.cjs +2 -0
  328. package/dist/UpgradeToEnterpriseDialog-CP-jJxU4.cjs.map +1 -0
  329. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs} +77 -77
  330. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs.map} +1 -1
  331. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js} +5 -5
  332. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-B8ikVCn7.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-D9LFRi0t.js.map} +1 -1
  333. package/dist/{VWidget-DhGLFGS2.cjs → VWidget-BJArPtqI.cjs} +2 -2
  334. package/dist/{VWidget-DhGLFGS2.cjs.map → VWidget-BJArPtqI.cjs.map} +1 -1
  335. package/dist/{VWidget-CBmUpKSV.js → VWidget-rAFU-0vj.js} +3 -3
  336. package/dist/{VWidget-CBmUpKSV.js.map → VWidget-rAFU-0vj.js.map} +1 -1
  337. package/dist/ValueWidget-BI3uXmda.js +138 -0
  338. package/dist/ValueWidget-BI3uXmda.js.map +1 -0
  339. package/dist/ValueWidget-CwuH7beM.cjs +2 -0
  340. package/dist/ValueWidget-CwuH7beM.cjs.map +1 -0
  341. package/dist/{ValuelimitsbarWidget-BdY02gqc.js → ValuelimitsbarWidget-BGSJLpw4.js} +11 -11
  342. package/dist/{ValuelimitsbarWidget-BdY02gqc.js.map → ValuelimitsbarWidget-BGSJLpw4.js.map} +1 -1
  343. package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs → ValuelimitsbarWidget-BSkGhA_y.cjs} +2 -2
  344. package/dist/{ValuelimitsbarWidget-KsFz7ipK.cjs.map → ValuelimitsbarWidget-BSkGhA_y.cjs.map} +1 -1
  345. package/dist/ValuelimitscolumnWidget-BXdPahDO.cjs +2 -0
  346. package/dist/ValuelimitscolumnWidget-BXdPahDO.cjs.map +1 -0
  347. package/dist/{ValuelimitscolumnWidget-CuJ6rqtC.js → ValuelimitscolumnWidget-CaNjHy4v.js} +11 -11
  348. package/dist/ValuelimitscolumnWidget-CaNjHy4v.js.map +1 -0
  349. package/dist/{ValuerangebarWidget-C5rolGDi.js → ValuerangebarWidget-Do40-aaL.js} +6 -6
  350. package/dist/{ValuerangebarWidget-C5rolGDi.js.map → ValuerangebarWidget-Do40-aaL.js.map} +1 -1
  351. package/dist/{ValuerangebarWidget-CDJeamPr.cjs → ValuerangebarWidget-DvWGqBNM.cjs} +2 -2
  352. package/dist/{ValuerangebarWidget-CDJeamPr.cjs.map → ValuerangebarWidget-DvWGqBNM.cjs.map} +1 -1
  353. package/dist/VerticalWidget-DZqghqIm.js +68 -0
  354. package/dist/VerticalWidget-DZqghqIm.js.map +1 -0
  355. package/dist/VerticalWidget-y238HI2A.cjs +2 -0
  356. package/dist/VerticalWidget-y238HI2A.cjs.map +1 -0
  357. package/dist/{VerticalboxWidget-D-3H1PYU.cjs → VerticalboxWidget--dgKnG5Z.cjs} +2 -2
  358. package/dist/{VerticalboxWidget-D-3H1PYU.cjs.map → VerticalboxWidget--dgKnG5Z.cjs.map} +1 -1
  359. package/dist/{VerticalboxWidget-CzDgveBl.js → VerticalboxWidget-CQ__4FcS.js} +6 -6
  360. package/dist/{VerticalboxWidget-CzDgveBl.js.map → VerticalboxWidget-CQ__4FcS.js.map} +1 -1
  361. package/dist/{Widget-VCl8Ts8s.js → Widget-6-Nvewdp.js} +27 -19
  362. package/dist/Widget-6-Nvewdp.js.map +1 -0
  363. package/dist/Widget-DdxHKVWn.cjs +2 -0
  364. package/dist/Widget-DdxHKVWn.cjs.map +1 -0
  365. package/dist/components.cjs +3 -3
  366. package/dist/components.cjs.map +1 -1
  367. package/dist/components.js +96 -88
  368. package/dist/components.js.map +1 -1
  369. package/dist/icons.cjs +1 -1
  370. package/dist/icons.cjs.map +1 -1
  371. package/dist/icons.js +6 -4
  372. package/dist/icons.js.map +1 -1
  373. package/dist/plugins.cjs +2 -2
  374. package/dist/plugins.cjs.map +1 -1
  375. package/dist/plugins.js +23 -17
  376. package/dist/plugins.js.map +1 -1
  377. package/dist/{settings-sg_XHXQ-.cjs → settings-BCE3SW-9.cjs} +2 -2
  378. package/dist/{settings-sg_XHXQ-.cjs.map → settings-BCE3SW-9.cjs.map} +1 -1
  379. package/dist/{settings-DlX9yvJJ.js → settings-CHPWZcnU.js} +2 -2
  380. package/dist/{settings-DlX9yvJJ.js.map → settings-CHPWZcnU.js.map} +1 -1
  381. package/dist/tools/admin.cjs +1 -1
  382. package/dist/tools/admin.cjs.map +1 -1
  383. package/dist/tools/admin.js +72 -64
  384. package/dist/tools/admin.js.map +1 -1
  385. package/dist/tools/base.cjs +1 -1
  386. package/dist/tools/base.cjs.map +1 -1
  387. package/dist/tools/base.js +38 -37
  388. package/dist/tools/base.js.map +1 -1
  389. package/dist/tools/calendar.cjs +1 -1
  390. package/dist/tools/calendar.js +1 -1
  391. package/dist/tools/scriptrunner.cjs +8 -8
  392. package/dist/tools/scriptrunner.cjs.map +1 -1
  393. package/dist/tools/scriptrunner.js +397 -339
  394. package/dist/tools/scriptrunner.js.map +1 -1
  395. package/dist/useContainerHeight-BAw05dIa.js.map +1 -1
  396. package/dist/useContainerHeight-BEd4f2Lr.cjs.map +1 -1
  397. package/dist/vue-common.css +1 -1
  398. package/dist/widgets.cjs +1 -1
  399. package/dist/widgets.js +118 -116
  400. package/dist/widgets.js.map +1 -1
  401. package/package.json +5 -5
  402. package/dist/BarColumn-BZSUr33b.cjs +0 -2
  403. package/dist/BarColumn-BZSUr33b.cjs.map +0 -1
  404. package/dist/BarColumn-XWs-3Cwb.js.map +0 -1
  405. package/dist/ButtonWidget-BBMDS_YF.cjs.map +0 -1
  406. package/dist/ButtonWidget-BaSvtElA.js.map +0 -1
  407. package/dist/CanvasimageWidget-Dk15uRRu.cjs +0 -2
  408. package/dist/CanvasimageWidget-Dk15uRRu.cjs.map +0 -1
  409. package/dist/CanvasimageWidget-YP1pCtvb.js.map +0 -1
  410. package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs +0 -2
  411. package/dist/CanvasimagevalueWidget-BQHjJCuq.cjs.map +0 -1
  412. package/dist/CanvasimagevalueWidget-CjVHb2uj.js.map +0 -1
  413. package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs +0 -2
  414. package/dist/CanvaslabelvalueWidget-BYmsu9r_.cjs.map +0 -1
  415. package/dist/CanvaslabelvalueWidget-Dyo_ogHn.js.map +0 -1
  416. package/dist/CanvaslinevalueWidget-BOZyJuLE.js.map +0 -1
  417. package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs +0 -2
  418. package/dist/CanvaslinevalueWidget-DM5c-ciY.cjs.map +0 -1
  419. package/dist/CheckbuttonWidget-BSvTWD3x.cjs +0 -2
  420. package/dist/ComboboxWidget-B_KAnIVB.cjs +0 -2
  421. package/dist/CriticalCmdDialog-BtzhxuZi.js.map +0 -1
  422. package/dist/CriticalCmdDialog-CeohXoAG.cjs +0 -2
  423. package/dist/CriticalCmdDialog-CeohXoAG.cjs.map +0 -1
  424. package/dist/CustomIcon-eie3rPKh.cjs +0 -2
  425. package/dist/DetailsDialog-Bc_VEG95.cjs +0 -2
  426. package/dist/DetailsDialog-Bc_VEG95.cjs.map +0 -1
  427. package/dist/DetailsDialog-Bq7SS7bc.js.map +0 -1
  428. package/dist/DynamicWidget-BNfJRfR5.cjs +0 -2
  429. package/dist/DynamicWidget-BNfJRfR5.cjs.map +0 -1
  430. package/dist/DynamicWidget-DHL7pbgW.js.map +0 -1
  431. package/dist/EventListDialog-Dycx70tY.cjs +0 -2
  432. package/dist/EventListDialog-Dycx70tY.cjs.map +0 -1
  433. package/dist/EventListDialog-jdNF3szO.js.map +0 -1
  434. package/dist/Graph-B7KPo9Ul.js.map +0 -1
  435. package/dist/Graph-C9FS6KR3.cjs +0 -2
  436. package/dist/Graph-C9FS6KR3.cjs.map +0 -1
  437. package/dist/HorizontalWidget-CN6goWHY.cjs +0 -2
  438. package/dist/HorizontalWidget-CN6goWHY.cjs.map +0 -1
  439. package/dist/HorizontalWidget-DbEQYjFC.js +0 -41
  440. package/dist/HorizontalWidget-DbEQYjFC.js.map +0 -1
  441. package/dist/ImageviewerWidget-6d6Kl3W_.js.map +0 -1
  442. package/dist/ImageviewerWidget-CULuNsiD.cjs +0 -2
  443. package/dist/ImageviewerWidget-CULuNsiD.cjs.map +0 -1
  444. package/dist/LabelsparklineWidget-Cbug97Ne.cjs +0 -2
  445. package/dist/LabelsparklineWidget-Cbug97Ne.cjs.map +0 -1
  446. package/dist/LabelsparklineWidget-CdZ_pM2B.js.map +0 -1
  447. package/dist/LabelvaluelimitsbarWidget-DTcYbEQS.js.map +0 -1
  448. package/dist/LabelvaluelimitsbarWidget-DbO_Q5ex.cjs.map +0 -1
  449. package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs +0 -2
  450. package/dist/LabelvaluelimitscolumnWidget-BMSwK1Ys.cjs.map +0 -1
  451. package/dist/LabelvaluelimitscolumnWidget-D0ltQ9Ta.js.map +0 -1
  452. package/dist/Layout-DDewLzbI.cjs +0 -2
  453. package/dist/Layout-DDewLzbI.cjs.map +0 -1
  454. package/dist/Layout-DW5yNlp7.js +0 -14
  455. package/dist/Layout-DW5yNlp7.js.map +0 -1
  456. package/dist/LedWidget-Cif7vC7q.cjs +0 -2
  457. package/dist/LedWidget-Cif7vC7q.cjs.map +0 -1
  458. package/dist/LedWidget-DUvJ2v8k.js.map +0 -1
  459. package/dist/LimitsbarWidget-BehZv0-k.js +0 -72
  460. package/dist/LimitsbarWidget-BehZv0-k.js.map +0 -1
  461. package/dist/LimitsbarWidget-BodNPbuH.cjs +0 -2
  462. package/dist/LimitsbarWidget-BodNPbuH.cjs.map +0 -1
  463. package/dist/LimitscolorWidget-DPhymKgB.cjs +0 -2
  464. package/dist/LimitscolorWidget-DPhymKgB.cjs.map +0 -1
  465. package/dist/LimitscolorWidget-FXT0ZPPH.js.map +0 -1
  466. package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs +0 -2
  467. package/dist/MatrixbycolumnsWidget-BLkwvpMk.cjs.map +0 -1
  468. package/dist/MatrixbycolumnsWidget-CCF7rCkV.js +0 -56
  469. package/dist/MatrixbycolumnsWidget-CCF7rCkV.js.map +0 -1
  470. package/dist/MicroservicesTab-rxOATXLO.js +0 -219
  471. package/dist/MicroservicesTab-rxOATXLO.js.map +0 -1
  472. package/dist/MicroservicesTab-uesXuuM4.cjs +0 -2
  473. package/dist/MicroservicesTab-uesXuuM4.cjs.map +0 -1
  474. package/dist/Openc3Screen-CzD9BB0M.cjs.map +0 -1
  475. package/dist/Openc3Screen-DcIIUO63.js.map +0 -1
  476. package/dist/OutputDialog-CNH74LpJ.js.map +0 -1
  477. package/dist/OutputDialog-QIabyvK1.cjs +0 -2
  478. package/dist/OutputDialog-QIabyvK1.cjs.map +0 -1
  479. package/dist/PluginsTab-B_Pf2A9c.js.map +0 -1
  480. package/dist/PluginsTab-DXf9zX0h.cjs.map +0 -1
  481. package/dist/ProgressbarWidget-B5WN658S.js.map +0 -1
  482. package/dist/ProgressbarWidget-D2NHSJny.cjs +0 -2
  483. package/dist/ProgressbarWidget-D2NHSJny.cjs.map +0 -1
  484. package/dist/RadiobuttonWidget-DkG9GtAy.cjs +0 -2
  485. package/dist/RangebarWidget-CJgtAk5z.cjs +0 -2
  486. package/dist/RangebarWidget-CJgtAk5z.cjs.map +0 -1
  487. package/dist/RangebarWidget-Dn0GASdi.js.map +0 -1
  488. package/dist/RollupWidget-B2pGGoET.cjs +0 -2
  489. package/dist/RollupWidget-B2pGGoET.cjs.map +0 -1
  490. package/dist/RollupWidget-b62qcG5K.js.map +0 -1
  491. package/dist/ScriptChooser-CtV7dDJS.cjs +0 -2
  492. package/dist/ScriptChooser-CtV7dDJS.cjs.map +0 -1
  493. package/dist/ScriptChooser-DMPY3m8a.js.map +0 -1
  494. package/dist/ScrollwindowWidget-ByJRy528.cjs +0 -2
  495. package/dist/ScrollwindowWidget-ByJRy528.cjs.map +0 -1
  496. package/dist/ScrollwindowWidget-Dn29gs-U.js +0 -45
  497. package/dist/ScrollwindowWidget-Dn29gs-U.js.map +0 -1
  498. package/dist/SettingsTab-8Zeg3G0C.cjs +0 -3
  499. package/dist/SettingsTab-8Zeg3G0C.cjs.map +0 -1
  500. package/dist/SettingsTab-L5xbCAW_.js.map +0 -1
  501. package/dist/SignalWidget-CEmQymzQ.cjs +0 -2
  502. package/dist/SignalWidget-CEmQymzQ.cjs.map +0 -1
  503. package/dist/SignalWidget-CLi6qask.js.map +0 -1
  504. package/dist/SimpleTextDialog-8vDPDt6X.js.map +0 -1
  505. package/dist/SimpleTextDialog-CJ8pLBGz.cjs +0 -2
  506. package/dist/SimpleTextDialog-CJ8pLBGz.cjs.map +0 -1
  507. package/dist/SparklineWidget-CIkMm4O-.cjs +0 -2
  508. package/dist/SparklineWidget-CIkMm4O-.cjs.map +0 -1
  509. package/dist/SparklineWidget-D8mb4zLt.js.map +0 -1
  510. package/dist/TabbookWidget-Bkt4g02d.js +0 -66
  511. package/dist/TabbookWidget-Bkt4g02d.js.map +0 -1
  512. package/dist/TabbookWidget-DqcScWwW.cjs +0 -2
  513. package/dist/TabbookWidget-DqcScWwW.cjs.map +0 -1
  514. package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs +0 -2
  515. package/dist/TargetPacketItemChooser-Cm6mQvhI.cjs.map +0 -1
  516. package/dist/TargetPacketItemChooser-DGcXvdTX.js.map +0 -1
  517. package/dist/TextBoxDialog-DXG7H7kQ.cjs +0 -2
  518. package/dist/TextBoxDialog-DXG7H7kQ.cjs.map +0 -1
  519. package/dist/TextBoxDialog-Xs-gitZd.js.map +0 -1
  520. package/dist/UpgradeToEnterpriseDialog-D0AGxldj.js.map +0 -1
  521. package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs +0 -2
  522. package/dist/UpgradeToEnterpriseDialog-D8BkzmVD.cjs.map +0 -1
  523. package/dist/ValueWidget-BxWrHkYY.js +0 -118
  524. package/dist/ValueWidget-BxWrHkYY.js.map +0 -1
  525. package/dist/ValueWidget-yuZ8tPzG.cjs +0 -2
  526. package/dist/ValueWidget-yuZ8tPzG.cjs.map +0 -1
  527. package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs +0 -2
  528. package/dist/ValuelimitscolumnWidget-B0HGnyS5.cjs.map +0 -1
  529. package/dist/ValuelimitscolumnWidget-CuJ6rqtC.js.map +0 -1
  530. package/dist/VerticalWidget-DsnEzKZ2.js +0 -40
  531. package/dist/VerticalWidget-DsnEzKZ2.js.map +0 -1
  532. package/dist/VerticalWidget-wuRCrd7Q.cjs +0 -2
  533. package/dist/VerticalWidget-wuRCrd7Q.cjs.map +0 -1
  534. package/dist/Widget-CKianvfR.cjs +0 -2
  535. package/dist/Widget-CKianvfR.cjs.map +0 -1
  536. package/dist/Widget-VCl8Ts8s.js.map +0 -1
@@ -1,9 +1,9 @@
1
- "use strict";var Pe=Object.defineProperty;var ye=i=>{throw TypeError(i)};var Ie=(i,t,s)=>t in i?Pe(i,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[t]=s;var _e=(i,t,s)=>Ie(i,typeof t!="symbol"?t+"":t,s),Ve=(i,t,s)=>t.has(i)||ye("Cannot "+s);var R=(i,t,s)=>(Ve(i,t,"read from private field"),s?s.call(i):t.get(i)),z=(i,t,s)=>t.has(i)?ye("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,s),j=(i,t,s,r)=>(Ve(i,t,"write to private field"),r?r.call(i,s):t.set(i,s),s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs"),e=require("vue"),I=require("../CustomIcon-eie3rPKh.cjs"),Ue=require("../timeFilters-CJFxfjqN.cjs");require("single-spa");const Te=require("../OutputDialog-QIabyvK1.cjs"),ae=require("../format-B22VpiOS.cjs"),ze=require("../index-DlWUR7vt.cjs"),Le=require("../useContainerHeight-BEd4f2Lr.cjs"),X=require("../TopBar-HxaiWynT.cjs"),Be=require("../ScriptChooser-CtV7dDJS.cjs"),Fe=require("../fileIcon-BduOQcTc.cjs"),Ae=require("../CriticalCmdDialog-CeohXoAG.cjs"),Ce=require("../Openc3Screen-CzD9BB0M.cjs"),He=require("../SimpleTextDialog-CJ8pLBGz.cjs"),qe=require("../ClassificationBanners-CzZoKcRy.cjs");require("../purify.es-B608WQkR.cjs");const Ge=require("../EventListDialog-Dycx70tY.cjs"),Ke={components:{OutputDialog:Te.OutputDialog},mixins:[Ue.TimeFilters],props:{tabId:Number,curTab:Number,connectInNewTab:Boolean},data(){return{api:null,timeZone:"local",activeTab:"completed",downloadScript:null,refreshTimer:null,runningSearch:"",runningScripts:[],runningTotal:0,runningLoading:!1,runningPage:1,runningItemsPerPage:10,runningHeaders:[{title:"Connect",key:"connect",sortable:!1,filterable:!1},{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Stop",key:"stop",sortable:!1,filterable:!1}],completedSearch:"",completedScripts:[],completedTotal:0,completedLoading:!1,completedPage:1,completedItemsPerPage:10,completedHeaders:[{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Log",key:"log",sortable:!1,filterable:!1},{title:"Report",key:"report",sortable:!1,filterable:!1}],showDialog:!1,dialogName:"",dialogContent:"",dialogFilename:""}},watch:{activeTab(i){i==="running"?this.getRunningScripts():i==="completed"&&this.getCompletedScripts()}},created(){this.api=new y.yi,this.api.get_setting("time_zone").then(i=>{i&&(this.timeZone=i)}).catch(i=>{}),this.getRunningScripts(),this.getCompletedScripts(),this.refreshTimer=setInterval(()=>{this.activeTab==="running"&&this.getRunningScripts()},5e3)},beforeUnmount(){this.refreshTimer&&clearInterval(this.refreshTimer)},methods:{getRunningScripts:function(){this.runningLoading=!0;const i=(this.runningPage-1)*this.runningItemsPerPage;y.fi.get(`/script-api/running-script?scope=DEFAULT&offset=${i}&limit=${this.runningItemsPerPage}`).then(t=>{const s=t.data.items||[],r=new Date;s.forEach(o=>{if(o.user_display=`${o.user_full_name} (${o.username})`,o.start_time){const n=new Date(o.start_time),l=r-n;if(o.start_time_formatted=this.formatDateTimeHMS(n,this.timeZone),l<0)o.duration="N/A";else if(l<1e3)o.duration="< 1s";else if(l<6e4)o.duration=`${Math.round(l/1e3)}s`;else if(l<36e5){const u=Math.floor(l/6e4),d=Math.round(l%6e4/1e3);o.duration=`${u}m ${d}s`}else{const u=Math.floor(l/36e5),d=Math.floor(l%36e5/6e4),v=Math.round(l%6e4/1e3);o.duration=`${u}h ${d}m ${v}s`}}else o.duration="N/A"}),this.runningScripts=s,this.runningTotal=t.data.total||s.length,this.runningLoading=!1}).catch(t=>{this.runningLoading=!1,this.$notify.caution({title:"Error Loading Running Scripts",body:t.message})})},updateRunningPage:function(i){this.runningPage=i,this.getRunningScripts()},updateRunningItemsPerPage:function(i){this.runningItemsPerPage=i,this.runningPage=1,this.getRunningScripts()},getCompletedScripts:function(){this.completedLoading=!0;const i=(this.completedPage-1)*this.completedItemsPerPage;y.fi.get(`/script-api/completed-scripts?scope=DEFAULT&offset=${i}&limit=${this.completedItemsPerPage}`).then(t=>{const s=t.data.items||[];s.forEach(r=>{if(r.user_display=`${r.user_full_name} (${r.username})`,r.start_time&&r.end_time){const o=new Date(r.start_time),l=new Date(r.end_time)-o;if(r.start_time_formatted=this.formatDateTimeHMS(o,this.timeZone),l<0)r.duration="N/A";else if(l<1e3)r.duration="< 1s";else if(l<6e4)r.duration=`${Math.round(l/1e3)}s`;else if(l<36e5){const u=Math.floor(l/6e4),d=Math.round(l%6e4/1e3);r.duration=`${u}m ${d}s`}else{const u=Math.floor(l/36e5),d=Math.floor(l%36e5/6e4),v=Math.round(l%6e4/1e3);r.duration=`${u}h ${d}m ${v}s`}}else r.duration="N/A"}),this.completedScripts=s,this.completedTotal=t.data.total||s.length,this.completedLoading=!1}).catch(t=>{this.completedLoading=!1,this.$notify.caution({title:"Error Loading Completed Scripts",body:t.message})})},updateCompletedPage:function(i){this.completedPage=i,this.getCompletedScripts()},updateCompletedItemsPerPage:function(i){this.completedItemsPerPage=i,this.completedPage=1,this.getCompletedScripts()},showScript:function(i){this.dialogContent=JSON.stringify(i,null,2),this.dialogName="Script: "+i.name,this.dialogFilename="",this.showDialog=!0},connectScript:function(i){this.$emit("disconnect");const t={name:"ScriptRunner",params:{id:i.name}};if(this.connectInNewTab){let{href:s}=this.$router.resolve(t);window.open(s,"_blank")}else this.$router.push(t),this.$emit("close")},deleteScript:function(i){this.$dialog.confirm(`Are you sure you want to stop script: ${i.name} ${i.filename}?
2
- `,{okText:"Stop",cancelText:"Cancel"}).then(t=>y.fi.post(`/script-api/running-script/${i.name}/delete`)).then(t=>{this.$notify.normal({body:`Stopped script: ${i.name} ${i.filename}`}),this.getRunningScripts()}).catch(t=>{t!==!0&&this.$notify.caution({body:`Failed to stop script: ${i.name} ${i.filename}`})})},viewScriptLog:function(i,t){let s=null;t==="report"?(this.dialogName="Report",s=i.report):(this.dialogName="Log",s=i.log),y.fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(s)}?bucket=OPENC3_LOGS_BUCKET`).then(r=>{const o=s.split("/");this.dialogFilename=o[o.length-1],this.dialogContent=window.atob(r.data.contents),this.showDialog=!0})},downloadScriptLog:function(i,t,s="text"){let r=null;t==="report"?(this.dialogName="Report",r=i.report):(this.dialogName="Log",r=i.log),this.downloadScript=i,s==="ctrf"&&t==="report"?y.fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}?bucket=OPENC3_LOGS_BUCKET&format=ctrf`).then(o=>{const n=new Blob([window.atob(o.data.contents)],{type:"application/json"}),l=document.createElement("a");l.href=URL.createObjectURL(n),l.setAttribute("download",o.data.filename),l.click(),this.downloadScript=null}).catch(()=>{this.$notify.caution({title:`Unable to download log ${r}`,body:`You may be able to download this log manually from the 'logs' bucket at ${r}`}),this.downloadScript=null}):y.fi.get(`/openc3-api/storage/download/${encodeURIComponent(r)}?bucket=OPENC3_LOGS_BUCKET`).then(o=>{const n=r.split("/"),l=n[n.length-1],u=document.createElement("a");u.href=o.data.url,u.setAttribute("download",l),u.click(),this.downloadScript=null}).catch(()=>{this.$notify.caution({title:`Unable to download log ${r}`,body:`You may be able to download this log manually from the 'logs' bucket at ${r}`}),this.downloadScript=null})}}},je={key:0},We={key:1};function Je(i,t,s,r,o,n){const l=e.resolveComponent("v-tab"),u=e.resolveComponent("v-tabs"),d=e.resolveComponent("v-spacer"),v=e.resolveComponent("v-btn"),_=e.resolveComponent("v-text-field"),b=e.resolveComponent("v-row"),w=e.resolveComponent("v-card-title"),k=e.resolveComponent("v-icon"),x=e.resolveComponent("v-data-table-server"),N=e.resolveComponent("v-window-item"),g=e.resolveComponent("v-list-item-title"),E=e.resolveComponent("v-list-item"),D=e.resolveComponent("v-list"),A=e.resolveComponent("v-menu"),q=e.resolveComponent("v-window"),U=e.resolveComponent("v-card"),G=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(U,{flat:"",class:"tab-card"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.activeTab,"onUpdate:modelValue":t[0]||(t[0]=S=>o.activeTab=S),"bg-color":"var(--color-background-base-default)"},{default:e.withCtx(()=>[e.createVNode(l,{value:"running"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("Running Scripts",-1)])]),_:1}),e.createVNode(l,{value:"completed"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Completed Scripts",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(q,{modelValue:o.activeTab,"onUpdate:modelValue":t[3]||(t[3]=S=>o.activeTab=S)},{default:e.withCtx(()=>[e.createVNode(N,{value:"running"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{dense:""},{default:e.withCtx(()=>[e.createVNode(d),e.createVNode(v,{class:"mr-3",color:"primary",onClick:n.getRunningScripts},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Refresh",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{modelValue:o.runningSearch,"onUpdate:modelValue":t[1]||(t[1]=S=>o.runningSearch=S),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"running-search",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(x,{headers:o.runningHeaders,items:o.runningScripts,"items-length":o.runningTotal,loading:o.runningLoading,search:o.runningSearch,density:"compact","data-test":"running-scripts","items-per-page":o.runningItemsPerPage,page:o.runningPage,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":n.updateRunningPage,"onUpdate:itemsPerPage":n.updateRunningItemsPerPage},{"item.name":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",onClick:B=>n.showScript(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1032,["onClick"])]),"item.connect":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",onClick:B=>n.connectScript(S)},{default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("span",null,"Connect",-1)),e.withDirectives(e.createVNode(k,{end:""},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" mdi-open-in-new ",-1)])]),_:1},512),[[e.vShow,s.connectInNewTab]])]),_:1},8,["onClick"])]),"item.stop":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",onClick:B=>n.deleteScript(S)},{default:e.withCtx(()=>[t[12]||(t[12]=e.createElementVNode("span",null,"Stop",-1)),e.createVNode(k,{end:""},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" mdi-close-circle-outline ",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1},8,["headers","items","items-length","loading","search","items-per-page","page","onUpdate:page","onUpdate:itemsPerPage"])]),_:1}),e.createVNode(N,{value:"completed"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{dense:""},{default:e.withCtx(()=>[e.createVNode(d),e.createVNode(v,{class:"mr-3",color:"primary",onClick:n.getCompletedScripts},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode("Refresh",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{modelValue:o.completedSearch,"onUpdate:modelValue":t[2]||(t[2]=S=>o.completedSearch=S),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(x,{headers:o.completedHeaders,items:o.completedScripts,"items-length":o.completedTotal,loading:o.completedLoading,search:o.completedSearch,density:"compact","data-test":"completed-scripts","items-per-page":o.completedItemsPerPage,page:o.completedPage,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":n.updateCompletedPage,"onUpdate:itemsPerPage":n.updateCompletedItemsPerPage},{"item.name":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",onClick:B=>n.showScript(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1032,["onClick"])]),"item.log":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:B=>n.viewScriptLog(S,"log")},null,8,["onClick"]),e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:o.downloadScript,loading:o.downloadScript&&o.downloadScript.name===S.name,onClick:B=>n.downloadScriptLog(S,"log")},null,8,["disabled","loading","onClick"])]),"item.report":e.withCtx(({item:S})=>[S.report?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:B=>n.viewScriptLog(S,"report")},null,8,["onClick"]),e.createVNode(A,null,{activator:e.withCtx(({props:B})=>[e.createVNode(v,e.mergeProps({color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:o.downloadScript,loading:o.downloadScript&&o.downloadScript.name===S.name},B),null,16,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(E,{onClick:B=>n.downloadScriptLog(S,"report","text")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode("Download as Text",-1)])]),_:1})]),_:1},8,["onClick"]),e.createVNode(E,{onClick:B=>n.downloadScriptLog(S,"report","ctrf")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode("Download as CTRF",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",je,[...t[14]||(t[14]=[e.createElementVNode("span",null,"N/A",-1)])]))]),_:1},8,["headers","items","items-length","loading","search","items-per-page","page","onUpdate:page","onUpdate:itemsPerPage"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(G,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":t[4]||(t[4]=S=>o.showDialog=S),content:o.dialogContent,type:"Script",name:o.dialogName,filename:o.dialogFilename,onSubmit:t[5]||(t[5]=S=>o.showDialog=!1)},null,8,["modelValue","content","name","filename"])):e.createCommentVNode("",!0)])}const Re=I._export_sfc(Ke,[["render",Je]]),Ye={props:{modelValue:{type:Array,required:!0}},emits:["sort","update:modelValue"],data(){return{search:"",headers:[{title:"Message",value:"message",sortable:!1}],messageOrderOptions:["Newest on Top","Newest on Bottom"],messageOrder:"Newest on Top"}},computed:{messages:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},watch:{messageOrder:function(i,t){this.$emit("sort",i)}},methods:{messageClass(i){return i.match(/(CHECK|WAIT): .*(success|was within range.*) with value/)?"openc3-green":i.match(/(CHECK|WAIT): .*(failed|failed to be within range.*) with value/)?"openc3-red":""},downloadLog(){const i=this.messages.map(r=>r.message).join(`
3
- `),t=new Blob([i],{type:"text/plain"}),s=document.createElement("a");s.href=URL.createObjectURL(t),s.setAttribute("download",ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_sr_message_log.txt"),s.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then(i=>{this.messages=[]}).catch(function(i){})}}};function Ze(i,t,s,r,o,n){const l=e.resolveComponent("v-btn"),u=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-select"),v=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-card-title"),b=e.resolveComponent("v-data-table"),w=e.resolveComponent("v-card-text"),k=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(k,{class:"d-flex flex-column h-100"},{default:e.withCtx(()=>[e.createVNode(_,{class:"d-flex align-center"},{default:e.withCtx(()=>[e.createVNode(l,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-log","aria-label":"Download Log",onClick:n.downloadLog},null,8,["onClick"]),t[2]||(t[2]=e.createTextVNode(" Script Messages ",-1)),e.createVNode(u),e.createVNode(d,{modelValue:o.messageOrder,"onUpdate:modelValue":t[0]||(t[0]=x=>o.messageOrder=x),density:"compact","hide-details":"",variant:"outlined",items:o.messageOrderOptions,class:"mr-2",style:{"max-width":"200px"},"data-test":"message-order"},null,8,["modelValue","items"]),e.createVNode(u),e.createVNode(v,{modelValue:o.search,"onUpdate:modelValue":t[1]||(t[1]=x=>o.search=x),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search","data-test":"search-messages"},null,8,["modelValue"]),e.createVNode(l,{class:"mx-2",icon:"mdi-delete-sweep",variant:"text",density:"compact","data-test":"clear-log","aria-label":"Clear Log",onClick:n.clearLog},null,8,["onClick"])]),_:1}),e.createVNode(w,{class:"overflow-auto"},{default:e.withCtx(()=>[e.createVNode(b,{id:"script-log-messages",headers:o.headers,items:n.messages,search:o.search,"items-per-page":-1,"hide-default-footer":"",density:"compact","data-test":"output-messages"},{"item.message":e.withCtx(({item:x})=>[e.createElementVNode("div",{class:e.normalizeClass(n.messageClass(x.message))},e.toDisplayString(x.message),3)]),_:1},8,["headers","items","search"])]),_:1})]),_:1})}const Me=I._export_sfc(Ye,[["render",Ze]]),Xe={__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick"],setup(i,{emit:t}){const s=t,r=i,o=e.useSlots(),n=e.ref([]),l=e.computed(()=>n.value.reduce((a,m)=>(a[~~m.id]=m)&&a,{})),u=e.computed(()=>n.value.length),d=e.ref(null),v=e.ref(!1),_=e.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),b=e.ref({splitter:null,timeoutId:null}),w=e.computed(()=>({[`splitpanes splitpanes--${r.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":_.value.dragging})),k=()=>{document.addEventListener("mousemove",g,{passive:!1}),document.addEventListener("mouseup",E),"ontouchstart"in window&&(document.addEventListener("touchmove",g,{passive:!1}),document.addEventListener("touchend",E))},x=()=>{document.removeEventListener("mousemove",g,{passive:!1}),document.removeEventListener("mouseup",E),"ontouchstart"in window&&(document.removeEventListener("touchmove",g,{passive:!1}),document.removeEventListener("touchend",E))},N=(a,m)=>{const f=a.target.closest(".splitpanes__splitter");if(f){const{left:p,top:h}=f.getBoundingClientRect(),{clientX:C,clientY:V}="ontouchstart"in window&&a.touches?a.touches[0]:a;_.value.cursorOffset=r.horizontal?V-h:C-p}k(),_.value.mouseDown=!0,_.value.activeSplitter=m},g=a=>{_.value.mouseDown&&(a.preventDefault(),_.value.dragging=!0,requestAnimationFrame(()=>{S(U(a)),M("resize",{event:a},!0)}))},E=a=>{_.value.dragging&&(window.getSelection().removeAllRanges(),M("resized",{event:a},!0)),_.value.mouseDown=!1,_.value.activeSplitter=null,setTimeout(()=>{_.value.dragging=!1,x()},100)},D=(a,m)=>{"ontouchstart"in window&&(a.preventDefault(),b.value.splitter===m?(clearTimeout(b.value.timeoutId),b.value.timeoutId=null,A(a,m),b.value.splitter=null):(b.value.splitter=m,b.value.timeoutId=setTimeout(()=>b.value.splitter=null,500))),_.value.dragging||M("splitter-click",{event:a,index:m},!0)},A=(a,m)=>{if(M("splitter-dblclick",{event:a,index:m},!0),r.maximizePanes){let f=0;n.value=n.value.map((p,h)=>(p.size=h===m?p.max:p.min,h!==m&&(f+=p.min),p)),n.value[m].size-=f,M("pane-maximize",{event:a,index:m,pane:n.value[m]}),M("resized",{event:a,index:m},!0)}},q=(a,m)=>{M("pane-click",{event:a,index:l.value[m].index,pane:l.value[m]})},U=a=>{const m=d.value.getBoundingClientRect(),{clientX:f,clientY:p}="ontouchstart"in window&&a.touches?a.touches[0]:a;return{x:f-(r.horizontal?0:_.value.cursorOffset)-m.left,y:p-(r.horizontal?_.value.cursorOffset:0)-m.top}},G=a=>{a=a[r.horizontal?"y":"x"];const m=d.value[r.horizontal?"clientHeight":"clientWidth"];return r.rtl&&!r.horizontal&&(a=m-a),a*100/m},S=a=>{const m=_.value.activeSplitter;let f={prevPanesSize:W(m),nextPanesSize:F(m),prevReachedMinPanes:0,nextReachedMinPanes:0};const p=0+(r.pushOtherPanes?0:f.prevPanesSize),h=100-(r.pushOtherPanes?0:f.nextPanesSize),C=Math.max(Math.min(G(a),h),p);let V=[m,m+1],T=n.value[V[0]]||null,O=n.value[V[1]]||null;const c=T.max<100&&C>=T.max+f.prevPanesSize,L=O.max<100&&C<=100-(O.max+F(m+1));if(c||L){c?(T.size=T.max,O.size=Math.max(100-T.max-f.prevPanesSize-f.nextPanesSize,0)):(T.size=Math.max(100-O.max-f.prevPanesSize-F(m+1),0),O.size=O.max);return}if(r.pushOtherPanes){const ke=B(f,C);if(!ke)return;({sums:f,panesToResize:V}=ke),T=n.value[V[0]]||null,O=n.value[V[1]]||null}T!==null&&(T.size=Math.min(Math.max(C-f.prevPanesSize-f.prevReachedMinPanes,T.min),T.max)),O!==null&&(O.size=Math.min(Math.max(100-C-f.nextPanesSize-f.nextReachedMinPanes,O.min),O.max))},B=(a,m)=>{const f=_.value.activeSplitter,p=[f,f+1];return m<a.prevPanesSize+n.value[p[0]].min&&(p[0]=ue(f).index,a.prevReachedMinPanes=0,p[0]<f&&n.value.forEach((h,C)=>{C>p[0]&&C<=f&&(h.size=h.min,a.prevReachedMinPanes+=h.min)}),a.prevPanesSize=W(p[0]),p[0]===void 0)?(a.prevReachedMinPanes=0,n.value[0].size=n.value[0].min,n.value.forEach((h,C)=>{C>0&&C<=f&&(h.size=h.min,a.prevReachedMinPanes+=h.min)}),n.value[p[1]].size=100-a.prevReachedMinPanes-n.value[0].min-a.prevPanesSize-a.nextPanesSize,null):m>100-a.nextPanesSize-n.value[p[1]].min&&(p[1]=se(f).index,a.nextReachedMinPanes=0,p[1]>f+1&&n.value.forEach((h,C)=>{C>f&&C<p[1]&&(h.size=h.min,a.nextReachedMinPanes+=h.min)}),a.nextPanesSize=F(p[1]-1),p[1]===void 0)?(a.nextReachedMinPanes=0,n.value.forEach((h,C)=>{C<u.value-1&&C>=f+1&&(h.size=h.min,a.nextReachedMinPanes+=h.min)}),n.value[p[0]].size=100-a.prevPanesSize-F(p[0]-1),null):{sums:a,panesToResize:p}},W=a=>n.value.reduce((m,f,p)=>m+(p<a?f.size:0),0),F=a=>n.value.reduce((m,f,p)=>m+(p>a+1?f.size:0),0),ue=a=>[...n.value].reverse().find(m=>m.index<a&&m.size>m.min)||{},se=a=>n.value.find(m=>m.index>a+1&&m.size>m.min)||{},me=()=>{var a;const m=Array.from(((a=d.value)==null?void 0:a.children)||[]);for(const f of m){const p=f.classList.contains("splitpanes__pane"),h=f.classList.contains("splitpanes__splitter");!p&&!h&&(f.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},J=(a,m,f=!1)=>{const p=a-1,h=document.createElement("div");h.classList.add("splitpanes__splitter"),f||(h.onmousedown=C=>N(C,p),typeof window<"u"&&"ontouchstart"in window&&(h.ontouchstart=C=>N(C,p)),h.onclick=C=>D(C,p+1)),h.ondblclick=C=>A(C,p+1),m.parentNode.insertBefore(h,m)},re=a=>{a.onmousedown=void 0,a.onclick=void 0,a.ondblclick=void 0,a.remove()},K=()=>{var a;const m=Array.from(((a=d.value)==null?void 0:a.children)||[]);for(const p of m)p.className.includes("splitpanes__splitter")&&re(p);let f=0;for(const p of m)p.className.includes("splitpanes__pane")&&(!f&&r.firstSplitter?J(f,p,!0):f&&J(f,p),f++)},le=({uid:a,...m})=>{const f=l.value[a];for(const[p,h]of Object.entries(m))f[p]=h},pe=a=>{var m;let f=-1;Array.from(((m=d.value)==null?void 0:m.children)||[]).some(p=>(p.className.includes("splitpanes__pane")&&f++,p.isSameNode(a.el))),n.value.splice(f,0,{...a,index:f}),n.value.forEach((p,h)=>p.index=h),v.value&&e.nextTick(()=>{K(),Y({addedPane:n.value[f]}),M("pane-add",{pane:n.value[f]})})},he=a=>{const m=n.value.findIndex(p=>p.id===a);n.value[m].el=null;const f=n.value.splice(m,1)[0];n.value.forEach((p,h)=>p.index=h),e.nextTick(()=>{K(),M("pane-remove",{pane:f}),Y({removedPane:{...f}})})},Y=(a={})=>{!a.addedPane&&!a.removedPane?ge():n.value.some(m=>m.givenSize!==null||m.min||m.max<100)?ve(a):fe(),v.value&&M("resized")},fe=()=>{const a=100/u.value;let m=0;const f=[],p=[];for(const h of n.value)h.size=Math.max(Math.min(a,h.max),h.min),m-=h.size,h.size>=h.max&&f.push(h.id),h.size<=h.min&&p.push(h.id);m>.1&&Z(m,f,p)},ge=()=>{let a=100;const m=[],f=[];let p=0;for(const C of n.value)a-=C.size,C.givenSize!==null&&p++,C.size>=C.max&&m.push(C.id),C.size<=C.min&&f.push(C.id);let h=100;if(a>.1){for(const C of n.value)C.givenSize===null&&(C.size=Math.max(Math.min(a/(u.value-p),C.max),C.min)),h-=C.size;h>.1&&Z(h,m,f)}},ve=({addedPane:a,removedPane:m}={})=>{let f=100/u.value,p=0;const h=[],C=[];((a==null?void 0:a.givenSize)??null)!==null&&(f=(100-a.givenSize)/(u.value-1));for(const V of n.value)p-=V.size,V.size>=V.max&&h.push(V.id),V.size<=V.min&&C.push(V.id);if(!(Math.abs(p)<.1)){for(const V of n.value)(a==null?void 0:a.givenSize)!==null&&(a==null?void 0:a.id)===V.id||(V.size=Math.max(Math.min(f,V.max),V.min)),p-=V.size,V.size>=V.max&&h.push(V.id),V.size<=V.min&&C.push(V.id);p>.1&&Z(p,h,C)}},Z=(a,m,f)=>{let p;a>0?p=a/(u.value-m.length):p=a/(u.value-f.length),n.value.forEach((h,C)=>{if(a>0&&!m.includes(h.id)){const V=Math.max(Math.min(h.size+p,h.max),h.min),T=V-h.size;a-=T,h.size=V}else if(!f.includes(h.id)){const V=Math.max(Math.min(h.size+p,h.max),h.min),T=V-h.size;a-=T,h.size=V}}),Math.abs(a)>.1&&e.nextTick(()=>{v.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})},M=(a,m=void 0,f=!1)=>{const p=(m==null?void 0:m.index)??_.value.activeSplitter??null;s(a,{...m,...p!==null&&{index:p},...f&&p!==null&&{prevPane:n.value[p-(r.firstSplitter?1:0)],nextPane:n.value[p+(r.firstSplitter?0:1)]},panes:n.value.map(h=>({min:h.min,max:h.max,size:h.size}))})};e.watch(()=>r.firstSplitter,()=>K()),e.onMounted(()=>{me(),K(),Y(),M("ready"),v.value=!0}),e.onBeforeUnmount(()=>v.value=!1);const we=()=>{var a;return e.h("div",{ref:d,class:w.value},(a=o.default)==null?void 0:a.call(o))};return e.provide("panes",n),e.provide("indexedPanes",l),e.provide("horizontal",e.computed(()=>r.horizontal)),e.provide("requestUpdate",le),e.provide("onPaneAdd",pe),e.provide("onPaneRemove",he),e.provide("onPaneClick",q),(a,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(we)))}},Qe={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(i){var t;const s=i,r=e.inject("requestUpdate"),o=e.inject("onPaneAdd"),n=e.inject("horizontal"),l=e.inject("onPaneRemove"),u=e.inject("onPaneClick"),d=(t=e.getCurrentInstance())==null?void 0:t.uid,v=e.inject("indexedPanes"),_=e.computed(()=>v.value[d]),b=e.ref(null),w=e.computed(()=>{const g=isNaN(s.size)||s.size===void 0?0:parseFloat(s.size);return Math.max(Math.min(g,x.value),k.value)}),k=e.computed(()=>{const g=parseFloat(s.minSize);return isNaN(g)?0:g}),x=e.computed(()=>{const g=parseFloat(s.maxSize);return isNaN(g)?100:g}),N=e.computed(()=>{var g;return`${n.value?"height":"width"}: ${(g=_.value)==null?void 0:g.size}%`});return e.watch(()=>w.value,g=>r({uid:d,size:g})),e.watch(()=>k.value,g=>r({uid:d,min:g})),e.watch(()=>x.value,g=>r({uid:d,max:g})),e.onMounted(()=>{o({id:d,el:b.value,min:k.value,max:x.value,givenSize:s.size===void 0?null:w.value,size:w.value})}),e.onBeforeUnmount(()=>l(d)),(g,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"paneEl",ref:b,class:"splitpanes__pane",onClick:E[0]||(E[0]=D=>e.unref(u)(D,g._.uid)),style:e.normalizeStyle(N.value)},[e.renderSlot(g.$slots,"default")],4))}},$e={props:{question:{type:String,required:!0},default:{type:String,default:null},password:{type:Boolean,default:!1},answerRequired:{type:Boolean,default:!0},modelValue:Boolean},data(){return{inputValue:"",valid:!1,rules:[i=>!!i||"Required"]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},created(){this.default&&(this.valid=!0,this.inputValue=this.default),this.answerRequired===!1&&(this.valid=!0,this.rules=[i=>!0])},methods:{submitHandler:function(){this.$emit("response",this.inputValue)},cancelHandler:function(){this.$emit("response","Cancel")}}},et={class:"pa-2"},tt={class:"question"};function it(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-text-field"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-form"),k=e.resolveComponent("v-card"),x=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(x,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=N=>n.show=N),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(w,{modelValue:o.valid,"onUpdate:modelValue":t[1]||(t[1]=N=>o.valid=N),onSubmit:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null," User Input Required ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",et,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createElementVNode("div",tt,e.toDisplayString(s.question),1),e.createVNode(d,{modelValue:o.inputValue,"onUpdate:modelValue":t[0]||(t[0]=N=>o.inputValue=N),autofocus:"","data-test":"ask-value-input",type:s.password?"password":"text",rules:o.rules},null,8,["modelValue","type","rules"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined","data-test":"ask-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{variant:"flat",type:"submit","data-test":"ask-ok",disabled:!o.valid,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["modelValue","onSubmit"])]),_:1})]),_:1},8,["modelValue","onKeydown"])}const ot=I._export_sfc($e,[["render",it],["__scopeId","data-v-eeaa2f66"]]),nt={props:{title:{type:String,required:!0},message:{type:String,default:null},filter:{type:String,default:"*"},multiple:{type:Boolean,default:!1},modelValue:Boolean},data(){return{inputValue:null,valid:null,rules:[i=>this.multiple?i.length!=0||"Required":!!i||"Required"]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{submitHandler:function(){Array.isArray(this.inputValue)||(this.inputValue=[this.inputValue]),this.$emit("response",this.inputValue)},cancelHandler:function(){this.$emit("response","Cancel")}}},st={class:"pa-2"},rt={class:"title"},lt=["textContent"];function at(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),v=e.resolveComponent("v-file-input"),_=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-btn"),w=e.resolveComponent("v-card-actions"),k=e.resolveComponent("v-form"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(k,{modelValue:o.valid,"onUpdate:modelValue":t[1]||(t[1]=g=>o.valid=g),onSubmit:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null," File Dialog ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",st,[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("span",rt,e.toDisplayString(s.title),1)]),_:1}),s.message?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(s.message)},null,8,lt)]),_:1})):e.createCommentVNode("",!0),e.createVNode(d,{class:"my-1"},{default:e.withCtx(()=>[e.createVNode(v,{modelValue:o.inputValue,"onUpdate:modelValue":t[0]||(t[0]=g=>o.inputValue=g),label:"Choose File",rules:o.rules,autofocus:"","data-test":"file-input",accept:s.filter,"small-chips":"",multiple:s.multiple},null,8,["modelValue","rules","accept","multiple"])]),_:1})]),_:1})]),e.createVNode(w,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(b,{variant:"outlined","data-test":"file-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(b,{variant:"flat",type:"submit","data-test":"file-ok",disabled:!o.valid,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["modelValue","onSubmit"])]),_:1})]),_:1},8,["modelValue","onKeydown"])}const dt=I._export_sfc(nt,[["render",at],["__scopeId","data-v-6d77dd67"]]),ct={props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},text:{type:String,required:!0},width:{type:String,required:!0}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{}},ut=["textContent"],mt={class:"pa-2"},pt=["textContent"];function ht(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),width:s.width},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(s.title)},null,8,ut),e.createVNode(l)]),_:1}),e.createElementVNode("div",mt,[e.createVNode(v,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.text,(x,N)=>(e.openBlock(),e.createBlock(d,{"no-gutters":"",key:N},{default:e.withCtx(()=>[e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(x)},null,8,pt)]),_:2},1024))),128))]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"flat",onClick:t[0]||(t[0]=x=>n.show=!n.show)},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}const ft=I._export_sfc(ct,[["render",ht]]),gt={components:{},props:{modelValue:{type:Boolean,required:!0}},data(){return{api:null,overrides:[],search:"",headers:[{text:"Target",value:"target_name"},{text:"Packet",value:"packet_name"},{text:"Item",value:"item_name"},{text:"Type",value:"value_type"},{text:"Value",value:"value"},{text:"Delete",value:"delete"}]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},created:function(){this.api=new y.yi,this.getOverrides()},methods:{getOverrides:function(){this.api.get_overrides().then(i=>{this.overrides=i})},clearOverrides:function(){const i=[...new Map(this.overrides.map(t=>[`${t.target_name}__${t.packet_name}__${t.item_name}`,t])).values()];for(let t of i)this.api.normalize_tlm(t.target_name,t.packet_name,t.item_name,"ALL").then(s=>{this.overrides=[]})},deleteOverride:function(i){this.api.normalize_tlm(i.target_name,i.packet_name,i.item_name,i.value_type).then(t=>{let s=this.overrides.indexOf(i);this.overrides.splice(s,1)})}}},vt={class:"pa-2"};function wt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-btn"),v=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-row"),b=e.resolveComponent("v-data-table"),w=e.resolveComponent("v-card-text"),k=e.resolveComponent("v-card-actions"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),width:"1000"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null,"Overrides",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",vt,[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{class:"ma-1"},{default:e.withCtx(()=>[e.createVNode(d,{color:"primary","data-test":"overrides-dialog-clear-all",onClick:n.clearOverrides},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Clear All Overrides ",-1)])]),_:1},8,["onClick"]),e.createVNode(l),e.createVNode(v,{modelValue:o.search,"onUpdate:modelValue":t[0]||(t[0]=g=>o.search=g),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(b,{headers:o.headers,items:o.overrides,search:o.search,"items-per-page-options":[100],"multi-sort":"",density:"compact"},{"item.delete":e.withCtx(({item:g})=>[e.createVNode(d,{icon:"mdi-delete",variant:"text","aria-label":"Delete Override",onClick:E=>n.deleteOverride(g)},null,8,["onClick"])]),_:1},8,["headers","items","search"])]),_:1})]),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(d,{variant:"flat","data-test":"overrides-dialog-ok",onClick:t[1]||(t[1]=g=>n.show=!n.show)},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const _t=I._export_sfc(gt,[["render",wt]]),Ct={props:{title:{type:String,default:"Prompt Dialog"},subtitle:{type:String,default:""},message:{type:String,required:!0},details:{type:String,default:""},buttons:{type:Array,default:()=>[]},layout:{type:String,default:"horizontal"},multiple:{type:Boolean,default:!1,required:!1},modelValue:Boolean},data(){return{selectOkDisabled:!0,selectedItem:null}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}},layoutClass(){let i="px-2 d-flex align-start";return this.layout==="vertical"?`${i} flex-column`:`${i} flex-row`}},methods:{submitWrapper:function(i){this.selectedItem=i,this.submitHandler()},submitHandler:function(){this.$emit("response",this.selectedItem)},cancelHandler:function(){this.$emit("response","Cancel")}}},bt=["textContent"],xt={class:"pa-2"},kt=["textContent"],yt=["textContent"],Vt={key:0},Nt={key:1};function St(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-card-subtitle"),v=e.resolveComponent("v-row"),_=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-select"),w=e.resolveComponent("v-btn"),k=e.resolveComponent("v-card-actions"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),e.createElementVNode("span",{class:"text",textContent:e.toDisplayString(s.title)},null,8,bt),e.createVNode(l)]),_:1}),e.createElementVNode("div",xt,[e.createVNode(_,{class:"text"},{default:e.withCtx(()=>[s.subtitle?(e.openBlock(),e.createBlock(v,{key:0},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.subtitle),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(v,{class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(s.message)},null,8,kt)]),_:1}),s.details?(e.openBlock(),e.createBlock(v,{key:1,class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(s.details)},null,8,yt)]),_:1})):e.createCommentVNode("",!0)]),_:1})]),s.layout==="combo"?(e.openBlock(),e.createElementBlock("div",Vt,[e.createVNode(v,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.selectedItem,"onUpdate:modelValue":[t[0]||(t[0]=g=>o.selectedItem=g),t[1]||(t[1]=g=>o.selectOkDisabled=!1)],label:"Select",color:"secondary",class:"ma-1","data-test":"prompt-select",items:s.buttons,multiple:s.multiple===!0},null,8,["modelValue","items","multiple"])]),_:1}),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(w,{variant:"outlined","data-test":"prompt-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(w,{variant:"flat","data-test":"prompt-ok",disabled:o.selectOkDisabled,onClick:n.submitHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})])):(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(k,{class:e.normalizeClass(n.layoutClass)},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(w,{variant:"outlined","data-test":"prompt-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.buttons,(g,E)=>(e.openBlock(),e.createElementBlock("div",{key:E},[e.createVNode(w,{variant:"flat","data-test":`prompt-${g.text}`,onClick:D=>n.submitWrapper(g.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.text),1)]),_:2},1032,["data-test","onClick"])]))),128))]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue","onKeydown"])}const Et=I._export_sfc(Ct,[["render",St],["__scopeId","data-v-97ffc307"]]),Tt={components:{},props:{modelValue:{type:Boolean,required:!0},text:{type:String,required:!0}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},mounted(){setTimeout(()=>{this.$refs.okButton.$el.focus()})},methods:{downloadResults(){const i=new Blob([this.text],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.setAttribute("download",ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_suite_results.txt"),t.click()}}},Bt={class:"pa-2"};function Rt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-textarea"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),scrollable:"",width:"800"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[2]||(t[2]=e.createElementVNode("span",null," Script Results ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",Bt,[e.createVNode(v,{style:{width:"100%","max-height":"80vh",overflow:"auto"}},{default:e.withCtx(()=>[e.createVNode(d,{readonly:"","hide-details":"",density:"compact","auto-grow":"","model-value":s.text},null,8,["model-value"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined",onClick:n.downloadResults},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Download ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{ref:"okButton",variant:"flat",onClick:t[0]||(t[0]=x=>n.show=!n.show)},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Mt=I._export_sfc(Tt,[["render",Rt]]),Ot={components:{EnvironmentChooser:Be.EnvironmentChooser},props:{modelValue:{type:Boolean,required:!0},inputEnvironment:{type:Array,required:!0}},data(){return{selected:[]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},mounted:function(){this.loadEnvironment()},methods:{loadEnvironment:function(){this.selected=[...this.inputEnvironment]},updateEnvironment:function(){this.$emit("environment",this.selected),this.show=!this.show},cancel:function(){this.show=!this.show}}},Dt={class:"pa-2"};function Pt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("environment-chooser"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[2]||(t[2]=e.createElementVNode("span",null,"Script Environment Variables",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",Dt,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(d,{modelValue:o.selected,"onUpdate:modelValue":t[0]||(t[0]=x=>o.selected=x)},null,8,["modelValue"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined","data-test":"environment-dialog-cancel",onClick:n.cancel},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{variant:"flat","data-test":"environment-dialog-save",disabled:!!i.inputError,onClick:n.updateEnvironment},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"])}const It=I._export_sfc(Ot,[["render",Pt]]),Ut={props:{suiteMap:{type:Object,required:!0},disableButtons:{type:Boolean,required:!0},filename:{type:String,required:!0}},emits:["button","loaded"],data(){return{suites:[],groups:[],scripts:[],suite:"",group:"",script:"",options:["pauseOnError","manual","continueAfterError"],userInfo:{}}},computed:{checkedManualTooltip(){return this.filename.endsWith(".py")?"Checked sets the RunningScript.manual variable to True":"Checked sets the $manual variable to true"},uncheckedManualTooltip(){return this.filename.endsWith(".py")?"Unchecked sets the RunningScript.manual variable to False":"Unchecked sets the $manual variable to false"},setupSuiteEnabled(){return!!(this.suite&&this.suiteMap[this.suite].setup)},teardownSuiteEnabled(){return!!(this.suite&&this.suiteMap[this.suite].teardown)},setupGroupEnabled(){return!!(this.suite&&this.group&&this.suiteMap[this.suite].groups[this.group].setup)},teardownGroupEnabled(){return!!(this.suite&&this.group&&this.suiteMap[this.suite].groups[this.group].teardown)},scriptNames(){return this.scripts.map(i=>({title:i.replace(/^(script_|test_)/,""),value:i}))}},watch:{suiteMap:{handler:function(i,t){this.updateSuiteMap()},deep:!0}},created(){this.userInfo=JSON.parse(localStorage.script_runner__userinfo),this.initSuites(),this.$emit("loaded")},methods:{updateSuiteMap(){this.suites=Object.keys(this.suiteMap),this.suiteMap[this.suite]==null||this.suiteMap[this.suite].groups[this.group]==null?this.initSuites():(this.groups=Object.keys(this.suiteMap[this.suite].groups),this.scripts=this.suiteMap[this.suite].groups[this.group].scripts)},initSuites(){this.suites=Object.keys(this.suiteMap),this.suiteChanged(this.suites[0])},suiteChanged(i){!i||this.suiteMap[i]==null||(this.suite=i,this.group="",this.script="",this.groups=Object.keys(this.suiteMap[i].groups),this.groupChanged(this.groups[0]))},groupChanged(i){!i||this.suiteMap[this.suite]==null||this.suiteMap[this.suite].groups[i]==null||(this.group=i,this.script="",this.scripts=this.suiteMap[this.suite].groups[i].scripts,this.scriptChanged(this.scripts[0]))},scriptChanged(i){this.script=i}}},zt={id:"tr-container"};function Lt(i,t,s,r,o,n){const l=e.resolveComponent("v-checkbox"),u=e.resolveComponent("v-tooltip"),d=e.resolveComponent("v-col"),v=e.resolveComponent("v-row"),_=e.resolveComponent("v-select"),b=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",zt,[e.createVNode(v,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[0]||(t[0]=k=>o.options=k),label:"Pause on Error",value:"pauseOnError","hide-details":"","data-test":"pause-on-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[16]||(t[16]=e.createElementVNode("span",null,[e.createTextVNode(" Checked pauses the script when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked continues without user interaction ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[1]||(t[1]=k=>o.options=k),label:"Manual",value:"manual","hide-details":"","data-test":"manual"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(n.checkedManualTooltip),1),t[17]||(t[17]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" "+e.toDisplayString(n.uncheckedManualTooltip),1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.suite,"onUpdate:modelValue":[t[2]||(t[2]=w=>o.suite=w),n.suiteChanged],label:"Suite:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:o.suites,"data-test":"select-suite"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-suite",onClick:t[3]||(t[3]=w=>i.$emit("button",{method:"start",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2","data-test":"setup-suite",disabled:s.disableButtons||!n.setupSuiteEnabled||!o.userInfo.execute,onClick:t[4]||(t[4]=w=>i.$emit("button",{method:"setup",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary","data-test":"teardown-suite",disabled:s.disableButtons||!n.teardownSuiteEnabled||!o.userInfo.execute,onClick:t[5]||(t[5]=w=>i.$emit("button",{method:"teardown",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[6]||(t[6]=k=>o.options=k),label:"Continue after Error",value:"continueAfterError","hide-details":"","data-test":"continue-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[21]||(t[21]=e.createElementVNode("span",null,[e.createTextVNode(" Checked allows the script to continue when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked forces the current script to end ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[7]||(t[7]=k=>o.options=k),label:"Loop",value:"loop","hide-details":"","data-test":"loop"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[22]||(t[22]=e.createElementVNode("span",null,[e.createTextVNode(" Checked continuously executes until explicitly stopped"),e.createElementVNode("br"),e.createTextVNode(" Unchecked executes only the started script(s) ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.group,"onUpdate:modelValue":[t[8]||(t[8]=w=>o.group=w),n.groupChanged],label:"Group:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:o.groups,"data-test":"select-group"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-group",onClick:t[9]||(t[9]=w=>i.$emit("button",{method:"start",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2","data-test":"setup-group",disabled:s.disableButtons||!n.setupGroupEnabled||!o.userInfo.execute,onClick:t[10]||(t[10]=w=>i.$emit("button",{method:"setup",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary","data-test":"teardown-group",disabled:s.disableButtons||!n.teardownGroupEnabled||!o.userInfo.execute,onClick:t[11]||(t[11]=w=>i.$emit("button",{method:"teardown",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[12]||(t[12]=k=>o.options=k),label:"Abort after Error",value:"abortAfterError","hide-details":"","data-test":"abort-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[26]||(t[26]=e.createElementVNode("span",null,[e.createTextVNode(" Checked stops additional script execution when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows additional scripts to execute ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[13]||(t[13]=k=>o.options=k),disabled:!o.options.includes("loop"),label:"Break Loop on Error",value:"breakLoopOnError","hide-details":"","data-test":"break-loop-on-error"},null,8,["modelValue","disabled"])],16)]),default:e.withCtx(()=>[t[27]||(t[27]=e.createElementVNode("span",null,[e.createTextVNode(" Checked breaks the loop option when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows the loop to run continuously"),e.createElementVNode("br"),e.createTextVNode(" Note: Abort after Error still breaks the loop ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.script,"onUpdate:modelValue":[t[14]||(t[14]=w=>o.script=w),n.scriptChanged],label:"Script:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:n.scriptNames,"item-title":"title","item-value":"value","data-test":"select-script"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-script",onClick:t[15]||(t[15]=w=>i.$emit("button",{method:"start",suite:o.suite,group:o.group,script:o.script,options:o.options}))},{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2 invisible"},{default:e.withCtx(()=>[...t[29]||(t[29]=[e.createTextVNode(" Setup ",-1)])]),_:1}),e.createVNode(b,{color:"primary",class:"invisible"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode(" Teardown ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])])}const Oe=I._export_sfc(Ut,[["render",Lt],["__scopeId","data-v-6be22c34"]]),xe=i=>y.fi.get(`/openc3-api/autocomplete/keywords/${i}`),Ft=i=>y.fi.get(`/openc3-api/autocomplete/data/${i}`),Ne=(i,t)=>i.reduce((s,r)=>{const o=t(r);return s[o]?s[o].push(r):s[o]=[r],s},{}),At=i=>{const t="(^|[{\\(\\s])",s=`[\\s\\(]f?['"]`,r="(\\S+\\s?){0,3}";return new RegExp(`${t}${i}${s}${r}$`)};class De{constructor(t,s=()=>{},r=()=>{}){this.keywordExpressions=[],this.autocompleteData=[],xe(t).then(o=>{this.keywordExpressions=o.data.map(At),r()}),Ft(t).then(o=>{this.autocompleteData=o.data,s()})}getCompletions(t,s,r,o,n){let l=[];const u=s.doc.$lines[r.row].slice(0,r.column);this.keywordExpressions.some(d=>u.match(d))&&(l=this.autocompleteData),n(null,[...l])}}class Ht extends De{constructor(){super("cmd")}}class qt extends De{constructor(){super("tlm",()=>{this.groupedPacketData=this.autocompleteData.reduce((t,s)=>{const r=s.caption.match(/\S+\s\S+/)[0],o=s.snippet.replace(`${r} `,""),n={caption:o,snippet:o,meta:"item"};return t[r]?t[r].push(n):t[r]=[n],t},{}),this.packets=Object.keys(this.groupedPacketData).map(t=>({caption:t,snippet:t,meta:"packet"}))})}getCompletions(t,s,r,o,n){let l=[];const u=s.doc.$lines[r.row].slice(0,r.column);if(this.keywordExpressions.some(d=>u.match(d))){const d=Object.keys(this.groupedPacketData).find(v=>u.includes(v));d?l=this.groupedPacketData[d]:l=this.packets}n(null,l)}}const Se=i=>{const t="(^|[{\\(\\s])",s="((\\s.+)|(\\(.+\\)))";return new RegExp(`${t}${i}${s}`)},Gt=/\{/,Kt=/['"],\s?['"]/;class jt{constructor(){this.api=new y.yi,this.targets={},this.api.get_target_names().then(t=>{t.forEach(s=>{this.targets[s]={cmd:null,tlm:null}})}),this.cmdKeywordExpressions=[],xe("cmd").then(t=>{this.cmdKeywordExpressions=t.data.map(Se)}),this.tlmKeywordExpressions=[],xe("tlm").then(t=>{this.tlmKeywordExpressions=t.data.map(Se)})}async checkText(t){const{linesToCheck:s,linesToSkip:r}=t.split(`
4
- `).reduce((n,l,u)=>{if(l=l.trim(),l.match(/^#/))return n;const d=this.cmdKeywordExpressions.reduce((g,E)=>g||l.match(E),null),v=this.tlmKeywordExpressions.reduce((g,E)=>g||l.match(E),null);if(!d&&!v)return n;let _=d||v,b=_.length;_=_[b-1];const w=_.substring(_.match(/[\(\s)]/).index+1).replace(/\)+.*$/,"");if(w.match(Gt))return n.linesToSkip.push(u+1),n;const k=!!w.match(Kt),x=w.split(k?",":" ");if(x.length<2)return n;const N={target:x[0],packet:x[1]};if(v)N.item=x[2];else{const g=x.slice(2);k?N.params=g.map(E=>E.split("=>")[0]):N.params=g.filter((E,D)=>D%2)}for(const g in N)typeof N[g]=="string"?N[g]=N[g].replace(/['"]/g,"").trim():N[g]=N[g].map(E=>E.replace(/['"]/g,"").trim());return n.linesToCheck.push({line:l,mnemonic:N,lineNumber:u+1}),n},{linesToCheck:[],linesToSkip:[]}),o=await this._checkLines(s);return{skipped:r.sort(),problems:o.sort((n,l)=>n.lineNumber-l.lineNumber)}}async _checkLines(t){const s=[],r=Ne(t,o=>o.mnemonic.target);for(const o in r){if(!this.targets[o]){for(const l of r[o])s.push({...l,error:`Target "${o}" does not exist.`});continue}const n=Ne(r[o],l=>l.mnemonic.packet);for(const l in n)for(const u of n[l]){const d=u.mnemonic.item?"tlm":"cmd";if(!this.targets[o][d]){const _=u.mnemonic.item?"get_all_tlm":"get_all_cmds",b=await this.api[_](o);this.targets[o][d]=b.reduce((w,k)=>(w[k.packet_name]=k.items.map(x=>x.name),w),{})}const v=this.targets[o][d][l];if(!v){s.push({...u,error:`${d==="tlm"?"Packet":"Command"} "${o} ${l}" does not exist.`});continue}if(u.mnemonic.item){if(!v.some(_=>_===u.mnemonic.item)){s.push({...u,error:`Item "${o} ${l} ${u.mnemonic.item}" does not exist.`});continue}}else for(const _ of u.mnemonic.params)if(!v.some(b=>b===_)){s.push({...u,error:`Command "${o} ${l}" param "${_}" does not exist.`});continue}}}return s}}var H,$,ee,te,ie,de,oe,ne,ce;class Wt{constructor(t,{pattern:s,text:r,type:o}){z(this,H);z(this,$);z(this,ee);z(this,te);z(this,ie);_e(this,"refresh",()=>{const t=R(this,$).session;R(this,ce).call(this,t);const s={lines:t.doc.$lines,action:"insert",start:{row:0},end:{row:t.doc.$lines.length}};this.annotate(s,t)});_e(this,"annotate",(t,s)=>{var r,o;if(t.lines.length>1)switch(t.action){case"insert":R(this,ne).call(this,s,t.start.row,t.lines.length-1);break;case"remove":R(this,ne).call(this,s,t.start.row+1,-t.lines.length+1);break}for(let n=t.start.row;n<=t.end.row;n++){let l=(o=(r=s.doc.$lines[n])==null?void 0:r.match(R(this,ee)))==null?void 0:o.index;l!==void 0?(l!==0&&(l+=1),R(this,de).call(this,s,{row:n,column:l,text:R(this,te),type:R(this,ie),openc3Id:R(this,H)})):t.action==="remove"&&R(this,oe).call(this,s,n)}});z(this,de,(t,s)=>{R(this,oe).call(this,t,s.row),t.setAnnotations([...t.getAnnotations(),s])});z(this,oe,(t,s)=>{t.setAnnotations(t.getAnnotations().filter(r=>r.openc3Id!==R(this,H)||r.row!==s))});z(this,ne,(t,s,r)=>{t.setAnnotations(t.getAnnotations().map(o=>(o.row>s&&(o.row+=r),o)))});z(this,ce,t=>{t.setAnnotations(t.getAnnotations().filter(s=>s.openc3Id!==R(this,H)))});j(this,H,`regexAnnotator-${Math.floor(Math.random()*1e7)}`),j(this,$,t),j(this,ee,s),j(this,te,r),j(this,ie,o)}}H=new WeakMap,$=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,de=new WeakMap,oe=new WeakMap,ne=new WeakMap,ce=new WeakMap;class Jt extends Wt{constructor(t){const s="(^|[{\\s])",r="sleep",o="[\\(\\s]";super(t,{pattern:new RegExp(`${s}${r}${o}`),text:"Use `wait` instead of `sleep` in OpenC3 scripts",type:"warning"})}}const Ee="__TEMP__",P="<Untitled>",be="Start",Yt="Go",Q="Pause",Zt="Retry",Xt={components:{FileOpenSaveDialog:Ce.FileOpenSaveDialog,Openc3Screen:Ce.Openc3Screen,EnvironmentDialog:Ce.EnvironmentDialog,Splitpanes:Xe,Pane:Qe,TopBar:X.TopBar,AskDialog:ot,FileDialog:dt,InformationDialog:ft,EventListDialog:Ge.EventListDialog,OverridesDialog:_t,PromptDialog:Et,ResultsDialog:Mt,ScriptEnvironmentDialog:It,SimpleTextDialog:He.SimpleTextDialog,SuiteRunner:Oe,RunningScripts:Re,ScriptLogMessages:Me,CriticalCmdDialog:Ae.CriticalCmdDialog,CommandEditor:Be.CommandEditor},mixins:[Te.AceEditorModes,qe._sfc_main],beforeRouteUpdate:function(i,t,s){i.params.id?this.tryLoadRunningScript(i.params.id).then(s):s()},props:{inline:{type:Boolean,default:!1},body:{type:String,default:null}},emits:["alert","script-id"],setup(){return{containerHeight:Le.useContainerHeight()}},data(){return{title:"Script Runner",suiteRunner:!1,disableSuiteButtons:!1,suiteMap:{},filenameSelect:null,currentFilename:null,showSave:!1,showAlert:!1,alertType:null,alertText:"",state:null,scriptId:null,startOrGoButton:be,startOrGoDisabled:!1,envDisabled:!1,pauseOrRetryButton:Q,pauseOrRetryDisabled:!1,stopDisabled:!1,showEnvironment:!1,showDebug:!1,debug:"",debugHistory:[],debugHistoryIndex:0,showDisconnect:!1,files:{},breakpoints:{},enableStackTraces:!1,filename:P,readOnlyUser:!1,executeUser:!0,saveAllowed:!0,tempFilename:null,fileModified:"",fileOpen:!1,lockedBy:null,showEditingToast:!1,showSaveAs:!1,areYouSure:!1,subscription:null,cable:null,fatal:!1,updateInterval:null,receivedEvents:[],messages:[],messagesNewestOnTop:!0,inlineTab:"script",maxArrayLength:200,Range:ace.require("ace/range").Range,ask:{show:!1,question:"",default:null,password:!1,answerRequired:!0,callback:()=>{}},file:{show:!1,message:"",directory:null,filter:"*",multiple:!1,callback:()=>{}},prompt:{show:!1,title:"",subtitle:"",message:"",details:"",buttons:null,layout:"horizontal",callback:()=>{}},information:{show:!1,title:"",text:[],width:"600"},inputMetadata:{show:!1,events:[],callback:()=>{}},results:{show:!1,text:""},scriptEnvironment:{show:!1,env:[]},showSuiteError:!1,suiteError:"",executeSelectionMenu:!1,menuX:0,menuY:0,mnemonicChecker:new jt,showScripts:!1,showOverrides:!1,commandEditor:{show:!1,targetName:null,commandName:null,dialogError:null,cmdString:null,isEditing:!1,editLine:null},currentLineHasCommand:!1,activePromptId:"",api:null,timeZone:"local",screens:[],screenKeywords:null,idCounter:0,updateCounter:0,recent:[],waitingInterval:null,waitingTime:0,waitingStart:0,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1,editorBoxSize:50}},computed:{stateTimer:function(){return this.state==="waiting"||this.state==="paused"?`${this.state} ${this.waitingTime}s`:this.state==="completed_errors"?"completed":this.state},stateColorClass:function(){return this.state==="error"||this.state==="crashed"||this.state==="killed"?"script-state-red":this.state==="completed_errors"?"script-state-orange":this.state==="completed"?"script-state-green":""},fileList:function(){const i=Object.keys(this.files);return i.push(this.fullFilename),[...new Set(i)]},environmentModified:function(){return this.scriptEnvironment.env.length>0},isLocked:function(){return!!this.lockedBy},fullFilename:function(){return this.currentFilename?this.currentFilename:this.filename===P?P:`${this.filename} ${this.fileModified}`.trim()},filenameOrBlank:function(){return this.filename===P?"":this.filename},menus:function(){return[{label:"File",items:[{label:"New File",icon:"mdi-file-plus",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.newFileWithConfirm()}},{label:"New Suite",icon:"mdi-file-document-plus",disabled:this.scriptId||this.readOnlyUser,subMenu:[{label:"Ruby",icon:"mdi-language-ruby",command:()=>{this.newRubyTestSuite()}},{label:"Python",icon:"mdi-language-python",command:()=>{this.newPythonTestSuite()}}]},{label:"Open File",icon:"mdi-folder-open",disabled:this.scriptId,command:()=>{this.openFileWithConfirm()}},{label:"Open Recent",icon:"mdi-folder-open",disabled:this.scriptId,subMenu:this.recent},{divider:!0},{label:"Save File",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveFile()}},{label:"Save As...",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveAs()}},{divider:!0},{label:"Download",icon:"mdi-cloud-download",disabled:this.scriptId,command:()=>{this.download()}},{divider:!0},{label:"Delete File",icon:"mdi-delete",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.delete()}}]},{label:"Edit",items:[{label:"Find",icon:"mdi-magnify",command:()=>{this.editor.execCommand("find")}},{label:"Replace",icon:"mdi-find-replace",disabled:this.scriptId,command:()=>{this.editor.execCommand("replace")}},{label:"Set Line Delay",icon:"mdi-invoice-text-clock",disabled:this.scriptId,command:()=>{this.$dialog.open({title:"Info",text:"You can set the line delay in seconds using the api method set_line_delay().<br/><br/>The default line delay is 0.1 seconds between lines. Adding set_line_delay(0) to the top of your script will execute the script at maximum speed. However, this can make it difficult to see and pause the script. Executing set_line_delay(1) will cause a 1 second delay between lines.",okText:"OK",okClass:"primary",validateText:null,cancelText:null,html:!0})}}]},{label:"Script",items:[{label:"Execution Status",icon:"mdi-run",command:()=>{this.showScripts=!0}},{divider:!0},{label:"Global Environment",icon:"mdi-library",disabled:this.scriptId,command:()=>{this.showEnvironment=!this.showEnvironment}},{label:"Metadata",icon:"mdi-calendar",disabled:this.scriptId,command:()=>{this.inputMetadata.callback=()=>{},this.showMetadata()}},{label:"Overrides",icon:"mdi-swap-horizontal",command:()=>{this.showOverrides=!0}},{divider:!0},{label:"Syntax Check",icon:"mdi-file-check",disabled:this.scriptId,command:()=>{this.syntaxCheck()}},{label:"Mnemonic Check",icon:"mdi-spellcheck",disabled:this.scriptId,command:()=>{this.checkMnemonics()}},{label:"Instrumented Script",icon:"mdi-code-braces-box",disabled:this.scriptId,command:()=>{this.showInstrumented()}},{label:"Call Stack",icon:"mdi-format-list-numbered",disabled:!this.scriptId,command:()=>{this.showCallStack()}},{divider:!0},{label:"Toggle Debug",icon:"mdi-bug",command:()=>{this.toggleDebug()}},{label:"Toggle Disconnect",icon:"mdi-connection",disabled:this.scriptId,command:()=>{this.toggleDisconnect()}},{label:"Enable Stack Traces",checkbox:!0,checked:this.enableStackTraces,disabled:this.scriptId,command:()=>{this.enableStackTraces=!this.enableStackTraces}},{divider:!0},{label:"Delete All Breakpoints",icon:"mdi-delete-circle-outline",disabled:this.scriptId,command:()=>{this.deleteAllBreakpoints()}}]}]}},watch:{isLocked:function(i){this.showEditingToast=i,this.suiteRunner||(this.startOrGoDisabled=i),this.readOnlyUser==!1&&i==!1?this.editor.setReadOnly(i):this.editor.setReadOnly(!0)},fullFilename:function(i){this.filenameSelect=i,this.inline||(i===P?localStorage.removeItem("script_runner__filename"):localStorage.script_runner__filename=i)},readOnlyUser:function(i){this.editor&&(i?(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none"):(this.editor.setReadOnly(!1),this.editor.renderer.$cursorLayer.element.style.display=null))}},created:async function(){this.api=new y.yi,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(s=>{s&&(this.timeZone=s)}).catch(s=>{}),this.NEW_FILENAME=P;let i=OpenC3Auth.user(),t=OpenC3Auth.userroles();this.readOnlyUser=!0,this.executeUser=!1;for(let s of t)s!="viewer"&&(s=="admin"||s=="operator"?(this.readOnlyUser=!1,this.executeUser=!0):s=="runner"?this.executeUser=!0:await y.fi.get(`/openc3-api/roles/${s}`).then(r=>{r.data!==null&&r.data.permissions!==void 0&&(r.data.permissions.some(o=>o.permission=="script_edit")&&(this.readOnlyUser=!1),r.data.permissions.some(o=>o.permission=="script_run")&&(this.executeUser=!0))}));if(this.inline||(localStorage.script_runner__userinfo=JSON.stringify({name:i.preferred_username,readOnly:this.readOnlyUser,execute:this.executeUser})),this.readOnlyUser==!0){this.alertType="info";let s=`User ${i.preferred_username} is read only`;this.executeUser&&(s+=" but can execute scripts"),this.alertText=s,this.showAlert=!0}y.fi.get("/openc3-api/autocomplete/keywords/screen").then(s=>{this.screenKeywords=s.data}),this.inline&&(this.readOnly=!0)},mounted:async function(){var o,n;this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const i=this.buildRubyMode(),t=this.buildPythonMode();this.rubyMode=new i,this.pythonMode=new t,X.AceEditorUtils.getDefaultScriptingLanguage()==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new Ht,new qt],this.editor.setHighlightActiveLine(!1),X.AceEditorUtils.applyVimModeIfEnabled(this.editor,{saveFn:this.saveFile}),this.editor.focus(),this.editor.on("guttermousedown",this.toggleBreakpoint),this.editor.session.on("tokenizerUpdate",this.onChange),this.readOnlyUser&&(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none");const r=new Jt(this.editor);this.editor.session.on("change",(l,u)=>{r.annotate(l,u),this.updateBreakpoints(l,u)}),this.editor.container.addEventListener("resize",this.doResize),this.editor.container.addEventListener("keydown",this.keydown),this.cable=new y.gi("/script-api/cable"),!this.inline&&localStorage.script_runner__recent&&(this.recent=JSON.parse(localStorage.script_runner__recent),this.recent=this.recent.map(l=>({...l,command:async u=>{this.filename=u.label,await this.reloadFile()}}))),this.inline?this.body&&(this.editor.setValue(this.body),this.editor.clearSelection()):(o=this.$route.query)!=null&&o.file?(this.filename=this.$route.query.file,await this.reloadFile()):(n=this.$route.params)!=null&&n.id?await this.tryLoadRunningScript(this.$route.params.id):(this.scriptId=sessionStorage.getItem("script_runner__script_id"),this.scriptId?await this.tryLoadRunningScript(this.scriptId):localStorage.script_runner__filename&&(this.filename=localStorage.script_runner__filename,await this.reloadFile(!1))),this.updateInterval=setInterval(async()=>{this.processReceived()},100)},beforeUnmount(){this.scriptId&&!this.inline&&sessionStorage.setItem("script_runner__script_id",this.scriptId),this.editor.destroy(),this.editor.container.remove()},unmounted(){this.unlockFile(),this.updateInterval!=null&&clearInterval(this.updateInterval),this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.cable.disconnect()},methods:{toggleVimMode(){X.AceEditorUtils.toggleVimMode(this.editor)},openCommandEditor(){this.executeSelectionMenu=!1;const i=this.editor.getCursorPosition(),t=this.editor.session.getLine(i.row);if(this.currentLineHasCommand){const s=this.parseCommandFromLine(t);this.commandEditor.cmdString=s,this.commandEditor.isEditing=!0,this.commandEditor.editLine=i.row}else this.commandEditor.cmdString=null,this.commandEditor.isEditing=!1,this.commandEditor.editLine=null;this.commandEditor.show=!0,this.commandEditor.dialogError=null},insertCommand(i){let t="";try{t=this.$refs.commandEditor.getCmdString();let s=t.split(" ");this.commandEditor.targetName=s[0],this.commandEditor.commandName=s[1]}catch(s){this.commandEditor.dialogError=s.message||"Please fix command parameters";return}if(this.commandEditor.isEditing&&this.commandEditor.editLine!==null){const s=this.editor.session.getLine(this.commandEditor.editLine),r=s.match(/^\s*/)[0],o=s.match(/\s+#.*$/),n=o?o[0]:"",l=`${r}cmd("${t}")${n}`,u=this.Range;this.editor.session.replace(new u(this.commandEditor.editLine,0,this.commandEditor.editLine,s.length),l)}else{const s=this.editor.getCursorPosition();this.editor.session.insert(s,`cmd("${t}")
5
- `)}this.fileModified=!0,this.commandEditor.show=!1},closeCommandDialog:function(){this.commandEditor.show=!1},doResize(){this.editor.resize()},scriptDisconnect(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0},showMetadata(){y.fi.get("/openc3-api/metadata").then(i=>{this.inputMetadata.events=i.data.map(t=>({name:"Metadata",start:new Date(t.start*1e3),end:new Date(t.start*1e3),color:t.color,type:t.type,timed:!0,metadata:t})),this.inputMetadata.show=!0})},messageSortOrder(i){i==="Newest on Top"&&this.messagesNewestOnTop===!1?(this.messagesNewestOnTop=!0,this.messages.reverse()):i==="Newest on Bottom"&&this.messagesNewestOnTop===!0&&(this.messagesNewestOnTop=!1,this.messages.reverse())},fileNameChanged(i){i=i.split("*")[0],this.editor.setValue(this.files[i].content),this.restoreBreakpoints(i),this.editor.clearSelection(),this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(this.files[i].lineNo-1,0,this.files[i].lineNo-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(this.files[i].lineNo)},tryLoadRunningScript:function(i){return y.fi.get(`/script-api/running-script/${i}`).then(t=>{if(t.data){let s=t.data.state;s!=="completed"&&s!=="completed_errors"&&s!=="stopped"&&s!=="crashed"&&s!=="killed"?(this.filename=t.data.filename,this.tryLoadSuites(t),this.initScriptStart(),this.scriptStart(i)):(this.$notify.caution({title:`Script ${i} has already completed`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0)}else throw new Error(`Unable to load state for running script ${i}`)}).catch(t=>{this.$notify.caution({title:`Running Script ${i} not found`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0})},tryLoadSuites:function(i){i.data.suites&&(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(i.data.suites)),this.doResize()},showExecuteSelectionMenu:function(i){this.menuX=i.pageX,this.menuY=i.pageY;const t=this.editor.getCursorPosition(),s=this.editor.session.getLine(t.row);this.currentLineHasCommand=this.isCommandLine(s),this.executeSelectionMenu=!0},isCommandLine:function(i){const t=i.trim();return/^\s*cmd(_\w+)?\s*\(/.test(t)},parseCommandFromLine:function(i){const t=i.match(/cmd(_\w+)?\s*\(\s*["'](.+?)["']\s*\)/);return t?t[2]:null},runFromCursor:function(){const i=this.editor.getCursorPosition().row+1;this.scriptId?y.fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,i]}}):this.start(null,null,i)},executeSelection:function(){const i=this.editor.getSelectionRange();let t=i.start.row+1,s=i.end.row+1;i.end.column===0&&(s-=1),this.scriptId?y.fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,t,s]}}):this.start(null,null,t,s)},clearBreakpoints:function(){this.editor.session.clearBreakpoints()},toggleBreakpoint:function(i){if(!this.scriptId){const t=i.getDocumentPosition().row;i.editor.session.getBreakpoints(t,0)[t]?i.editor.session.clearBreakpoint(t):i.editor.session.setBreakpoint(t)}},updateBreakpoints:function(i,t){if(i.lines.length<=1)return;const s=this.getBreakpointRows(t).filter(n=>i.start.column===0&&n===i.start.row||n>i.start.row);let r=[],o=0;switch(i.action){case"insert":o=i.lines.length-1,s.reverse();break;case"remove":o=-i.lines.length+1,r=[...Array(i.lines.length).keys()].map(n=>n+i.start.row);break}s.forEach(n=>{t.clearBreakpoint(n),r.includes(n)||t.setBreakpoint(n+o)})},getBreakpointRows:function(i=this.editor.session){return i.getBreakpoints().map((t,s)=>t&&s).filter(Number.isInteger)},restoreBreakpoints:function(i){var t;this.clearBreakpoints(),(t=this.breakpoints[i])==null||t.forEach(s=>{this.editor.session.setBreakpoint(s)})},deleteAllBreakpoints:function(){this.$dialog.confirm("Permanently delete all breakpoints for ALL scripts?",{okText:"Delete",cancelText:"Cancel"}).then(i=>y.fi.delete("/script-api/breakpoints/delete/all")).then(i=>{this.clearBreakpoints()})},suiteRunnerButton(i){this.startOrGoButton===be?this.start(i,"suiteRunner"):this.go(i,"suiteRunner")},async keydown(i){this.scriptId||this.editor.getReadOnly()===!0||(i.metaKey||i.ctrlKey)&&i.keyCode===83&&(i.shiftKey?(i.preventDefault(),this.saveAs()):(i.preventDefault(),await this.saveFile()))},onChange(i){this.scriptId||this.editor.getReadOnly()===!0||(this.editor.session.getUndoManager().canUndo()?this.fileModified="*":this.fileModified="")},checkMnemonics:function(){let i=this.filename;this.filename!==P&&(i.endsWith(".rb")||i.endsWith(".py")||y.fi.post(`/script-api/scripts/${this.filename}/mnemonics`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(t=>{let s="";s+=`<strong>${t.data.title}</strong><br/><br/>`,s+=JSON.parse(t.data.description),this.$dialog.alert(s.trim(),{html:!0})})),this.mnemonicChecker.checkText(this.editor.getValue()).then(({skipped:t,problems:s})=>{let r="";if(s.length){const o=s.map(n=>`${n.lineNumber}: ${n.error}`).join("<br/>");r+=`<strong>The following lines have problems:</strong><br/>${o}<br/><br/>`}t.length&&(r+="<strong>Mnemonics with string interpolation were not checked.</strong>"),r===""&&(r="<strong>Everything looks good!</strong>"),this.$dialog.alert(r.trim(),{html:!0})})},initScriptStart(){this.disableSuiteButtons=!0,this.startOrGoDisabled=!0,this.envDisabled=!0,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.state="Connecting...",this.startOrGoButton=Yt,this.editor.setReadOnly(!0)},scriptStart(i){this.$emit("script-id",i),this.scriptId=i,this.cable.createSubscription("RunningScriptChannel",window.openc3Scope,{received:t=>this.received(t)},{id:this.scriptId}).then(t=>{this.subscription=t})},async scriptComplete(){this.scriptId=null,sessionStorage.removeItem("script_runner__script_id"),this.currentFilename=null,this.files={},this.subscription&&(await this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0,await this.reloadFile(),this.editor.session.getUndoManager().reset(),this.readOnlyUser==!1&&this.editor.setReadOnly(!1),this.disableSuiteButtons=!1,this.startOrGoButton=be,this.pauseOrRetryButton=Q,this.startOrGoDisabled=this.suiteRunner,this.envDisabled=!1,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0},environmentHandler:function(i){this.scriptEnvironment.env=i},startHandler:function(){this.start()},async start(i=null,t=null,s=null,r=null){this.initScriptStart(),await this.saveFile("start"),this.saveAllowed=!1;let o=this.filename;this.filename===P&&(o=this.tempFilename);let n=`/script-api/scripts/${o}/run`;this.showDisconnect&&(n+="/disconnect");let l=this.scriptEnvironment.env;this.enableStackTraces&&(l=l.concat({key:"OPENC3_FULL_BACKTRACE",value:"1"}));let u={environment:l};t&&(u.suiteRunner=i),s!==null&&(u.line_no=s),r!==null&&(u.end_line_no=r),y.fi.post(n,{data:u}).then(d=>{this.scriptStart(d.data)}).catch(d=>{this.scriptComplete()})},go(){this.filenameSelect=this.currentFilename,this.fileNameChanged(this.currentFilename),y.fi.post(`/script-api/running-script/${this.scriptId}/go`)},pauseOrRetry(){this.pauseOrRetryButton===Q?y.fi.post(`/script-api/running-script/${this.scriptId}/pause`):(this.pauseOrRetryButton=Q,y.fi.post(`/script-api/running-script/${this.scriptId}/retry`))},stop(){y.fi.post(`/script-api/running-script/${this.scriptId}/stop`)},step(){y.fi.post(`/script-api/running-script/${this.scriptId}/step`)},handleWaiting(){if(this.state!=="waiting"&&this.state!=="paused")this.clearWaiting();else if(this.waitingInterval!==null)return;this.waitingStart=Date.now(),this.waitingInterval=setInterval(()=>{this.waitingTime=Math.round((Date.now()-this.waitingStart)/1e3)},1e3)},clearWaiting(){this.waitingTime=0,clearInterval(this.waitingInterval),this.waitingInterval=null},processLine(i){i.filename&&i.filename!==this.currentFilename&&(this.files[i.filename]?(this.currentFilename=i.filename,this.editor.setValue(this.files[i.filename].content),this.restoreBreakpoints(i.filename),this.editor.clearSelection()):(this.files[i.filename]={content:"",lineNo:0},y.fi.get(`/script-api/scripts/${i.filename}`).then(s=>{this.files[i.filename]={content:s.data.contents,lineNo:0},this.breakpoints[i.filename]=s.data.breakpoints,this.restoreBreakpoints(i.filename),this.currentFilename=null}).catch(s=>{this.files[i.filename]=null}))),this.state=i.state;const t=this.editor.session.getMarkers();switch(this.state){case"running":this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,this.pauseOrRetryButton=Q,this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(i.line_no-1,0,i.line_no-1,1),"runningMarker","fullLine"),this.editor.gotoLine(i.line_no),this.files[i.filename].lineNo=i.line_no;break;case"error":this.pauseOrRetryButton=Zt;case"spawning":case"init":case"paused":case"waiting":case"breakpoint":if(this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,Object.keys(t).filter(r=>t[r].clazz===`${this.state}Marker`).length===0){this.removeAllMarkers();let r=i.line_no>0?i.line_no:1;this.editor.session.addMarker(new this.Range(r-1,0,r-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(r),i.filename&&(this.files[i.filename].lineNo=r)}break;case"completed":case"completed_errors":case"stopped":case"crashed":case"killed":this.removeAllMarkers(),this.scriptComplete();break}},processReceived(){let i=0;for(let t of this.receivedEvents){i+=1;let s=0;switch(t.type){case"file":this.files[t.filename]={content:t.text,lineNo:0},this.breakpoints[t.filename]=t.breakpoints,this.currentFilename===t.filename&&this.restoreBreakpoints(t.filename);break;case"line":this.processLine(t);break;case"output":let r=t.line;r==null?r="":typeof r=="object"?r=JSON.stringify(r):r=String(r);for(const u of r.split(`
6
- `))u&&(this.messagesNewestOnTop?this.messages.unshift({message:u}):this.messages.push({message:u}));for(;this.messages.length>this.maxArrayLength;)this.messages.pop();break;case"script":this.handleScript(t);break;case"report":this.results.text=t.report,this.results.show=!0;break;case"complete":this.removeAllMarkers(),this.scriptComplete();break;case"step":this.showDebug=!0;break;case"screen":let o=!1,n={};for(screen of this.screens){if(screen.target==t.target_name&&screen.screen==t.screen_name){n=screen,o=!0;break}s+=1}n.target=t.target_name,n.screen=t.screen_name,n.definition=t.definition,t.x?n.left=t.x:n.left=0,t.y?n.top=t.y:n.top=0,n.count=this.updateCounter++,o?this.screens[s]=n:(n.id=this.idCounter++,this.screens[this.screens.length]=n);break;case"clearscreen":for(screen of this.screens){if(screen.target==t.target_name&&screen.screen==t.screen_name){this.screens.splice(s,1);break}s+=1}break;case"clearallscreens":this.screens=[];break;case"downloadfile":const l=document.createElement("a");l.href=window.location.origin+t.url,l.setAttribute("download",t.filename),l.click();break}}this.receivedEvents.splice(0,i)},received(i){this.cable.recordPing(),this.receivedEvents.push(i)},promptDialogCallback(i){this.prompt.show=!1,y.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.prompt.method,answer:i,prompt_id:this.activePromptId,multiple:this.prompt.multiple}})},handleScript(i){if(i.prompt_complete){this.activePromptId="",this.prompt.show=!1,this.ask.show=!1;return}switch(this.activePromptId=i.prompt_id,this.prompt.method=i.method,this.prompt.layout="horizontal",this.prompt.title="Prompt",this.prompt.subtitle="",this.prompt.details="",this.prompt.buttons=[],this.prompt.multiple=null,i.method){case"ask":case"ask_string":this.ask.default=null,this.ask.answerRequired=!0,this.ask.password=!1,this.ask.question=i.args[0],i.args[1]&&i.args[1]!==!0&&i.args[1]!==!1?this.ask.default=i.args[1].toString():i.args[1]===!0&&(this.ask.answerRequired=!1),i.args[2]===!0&&(this.ask.password=!0),this.ask.callback=t=>{this.ask.show=!1,this.ask.password?y.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,password:t,prompt_id:this.activePromptId}}):y.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,answer:t,prompt_id:this.activePromptId}})},this.ask.show=!0;break;case"prompt_for_hazardous":this.prompt.title="Hazardous Command",this.prompt.message=`Warning: Command ${i.args[0]} ${i.args[1]} is Hazardous. `,i.args[2]&&(this.prompt.message+=i.args[2]+" "),this.prompt.message+="Send?",this.prompt.buttons=[{text:"Send",value:"Send"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"prompt_for_critical_cmd":this.criticalCmdUuid=i.args[0],this.criticalCmdString=i.args[5],this.criticalCmdUser=i.args[1],this.displayCriticalCmd=!0;break;case"prompt":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),this.prompt.message=i.args[0],this.prompt.buttons=[{text:"Ok",value:"Ok"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"combo_box":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),i.kwargs&&i.kwargs.multiple&&(this.prompt.multiple=!0),this.prompt.message=i.args[0],i.args.slice(1).forEach(t=>{this.prompt.buttons.push({title:t,value:t})}),this.prompt.layout="combo",this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"message_box":case"vertical_message_box":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),this.prompt.message=i.args[0],i.args.slice(1).forEach(t=>{this.prompt.buttons.push({text:t,value:t})}),i.method.includes("vertical")&&(this.prompt.layout="vertical"),this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"backtrace":this.information.title="Call Stack",this.information.text=i.args,this.information.show=!0,this.information.width="600";break;case"metadata_input":this.inputMetadata.callback=t=>{this.inputMetadata.show=!1,y.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,answer:t,prompt_id:this.activePromptId}})},this.showMetadata();break;case"open_file_dialog":case"open_files_dialog":this.file.title=i.args[0],this.file.message=i.args[1],i.kwargs&&i.kwargs.filter&&(this.file.filter=i.kwargs.filter),i.method=="open_files_dialog"&&(this.file.multiple=!0),this.file.show=!0;break}},async fileDialogCallback(i){let t="Cancel",s=[];i!="Cancel"&&(t=[],i.forEach(r=>{t.push(r.name),s.push(y.fi.get(`/openc3-api/storage/upload/${encodeURIComponent(`${window.openc3Scope}/tmp/${r.name}`)}?bucket=OPENC3_CONFIG_BUCKET`).then(o=>{s.push(ze.axios({...o.data,data:r}))}))})),Promise.all(s).then(r=>{y.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.file.multiple?"open_files_dialog":"open_file_dialog",answer:t,prompt_id:this.activePromptId}}).then(o=>{this.file.show=!1})})},setError(i){this.alertType="error",this.alertText=`Error: ${i}`,this.showAlert=!0},async confirmUnsavedChanges(){return this.fileModified==="*"?await this.$dialog.confirm("You have unsaved changes. Are you sure you want to continue?",{okText:"Continue",cancelText:"Cancel"}):!0},async newFileWithConfirm(){await this.confirmUnsavedChanges()&&this.newFile()},newFile(){this.unlockFile(),this.filename=P,this.currentFilename=null,this.tempFilename=null,this.files={},this.editor.session.setValue(""),this.saveAllowed=!0,this.fileModified="",this.suiteRunner=!1,this.startOrGoDisabled=!1,this.envDisabled=!1,this.inline||(this.$router.replace({name:"ScriptRunner"}).catch(i=>{}),document.title="Script Runner"),this.doResize()},async newRubyTestSuite(){await this.confirmUnsavedChanges()&&(this.newFile(),this.editor.session.setValue(`require 'openc3/script/suite.rb'
1
+ "use strict";var Pe=Object.defineProperty;var Ve=i=>{throw TypeError(i)};var Ie=(i,t,s)=>t in i?Pe(i,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[t]=s;var _e=(i,t,s)=>Ie(i,typeof t!="symbol"?t+"":t,s),ye=(i,t,s)=>t.has(i)||Ve("Cannot "+s);var R=(i,t,s)=>(ye(i,t,"read from private field"),s?s.call(i):t.get(i)),L=(i,t,s)=>t.has(i)?Ve("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(i):t.set(i,s),j=(i,t,s,r)=>(ye(i,t,"write to private field"),r?r.call(i,s):t.set(i,s),s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-CX-SWpru.cjs"),e=require("vue"),I=require("../CustomIcon-CEc927h0.cjs"),Ue=require("../timeFilters-CJFxfjqN.cjs");require("single-spa");const Te=require("../OutputDialog-D2YCbR20.cjs"),ae=require("../format-B22VpiOS.cjs"),ze=require("../index-DlWUR7vt.cjs"),Le=require("../useContainerHeight-BEd4f2Lr.cjs"),X=require("../TopBar-DdOFDiCo.cjs"),Be=require("../ScriptChooser-D1dddugi.cjs"),Fe=require("../fileIcon-BduOQcTc.cjs"),Ae=require("../CriticalCmdDialog-Dy1cQZxQ.cjs"),Ce=require("../Openc3Screen-CKs-49JN.cjs"),He=require("../SimpleTextDialog-Dv5ypyUQ.cjs"),qe=require("../ClassificationBanners-0BNhyyMS.cjs");require("../purify.es-B608WQkR.cjs");const Ge=require("../EventListDialog-D0iBpLSR.cjs"),Ke={components:{OutputDialog:Te.OutputDialog},mixins:[Ue.TimeFilters],props:{tabId:{type:Number,default:null},curTab:{type:Number,default:null},connectInNewTab:Boolean},emits:["disconnect","close"],data(){return{api:null,timeZone:"local",activeTab:"completed",downloadScript:null,refreshTimer:null,runningSearch:"",runningScripts:[],runningTotal:0,runningLoading:!1,runningPage:1,runningItemsPerPage:10,runningHeaders:[{title:"Connect",key:"connect",sortable:!1,filterable:!1},{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Stop",key:"stop",sortable:!1,filterable:!1}],completedSearch:"",completedScripts:[],completedTotal:0,completedLoading:!1,completedPage:1,completedItemsPerPage:10,completedHeaders:[{title:"Id",key:"name"},{title:"User",key:"user_display"},{title:"Filename",key:"filename"},{title:"Start Time",key:"start_time_formatted"},{title:"Duration",key:"duration"},{title:"State",key:"state"},{title:"Log",key:"log",sortable:!1,filterable:!1},{title:"Report",key:"report",sortable:!1,filterable:!1}],showDialog:!1,dialogName:"",dialogContent:"",dialogFilename:""}},watch:{activeTab(i){i==="running"?this.getRunningScripts():i==="completed"&&this.getCompletedScripts()}},created(){this.api=new V.yi,this.api.get_setting("time_zone").then(i=>{i&&(this.timeZone=i)}).catch(i=>{}),this.getRunningScripts(),this.getCompletedScripts(),this.refreshTimer=setInterval(()=>{this.activeTab==="running"&&this.getRunningScripts()},5e3)},beforeUnmount(){this.refreshTimer&&clearInterval(this.refreshTimer)},methods:{getRunningScripts:function(){this.runningLoading=!0;const i=(this.runningPage-1)*this.runningItemsPerPage;V.fi.get(`/script-api/running-script?scope=DEFAULT&offset=${i}&limit=${this.runningItemsPerPage}`).then(t=>{const s=t.data.items||[],r=new Date;s.forEach(o=>{if(o.user_display=`${o.user_full_name} (${o.username})`,o.start_time){const n=new Date(o.start_time),l=r-n;if(o.start_time_formatted=this.formatDateTimeHMS(n,this.timeZone),l<0)o.duration="N/A";else if(l<1e3)o.duration="< 1s";else if(l<6e4)o.duration=`${Math.round(l/1e3)}s`;else if(l<36e5){const u=Math.floor(l/6e4),d=Math.round(l%6e4/1e3);o.duration=`${u}m ${d}s`}else{const u=Math.floor(l/36e5),d=Math.floor(l%36e5/6e4),v=Math.round(l%6e4/1e3);o.duration=`${u}h ${d}m ${v}s`}}else o.duration="N/A"}),this.runningScripts=s,this.runningTotal=t.data.total||s.length,this.runningLoading=!1}).catch(t=>{this.runningLoading=!1,this.$notify.caution({title:"Error Loading Running Scripts",body:t.message})})},updateRunningPage:function(i){this.runningPage=i,this.getRunningScripts()},updateRunningItemsPerPage:function(i){this.runningItemsPerPage=i,this.runningPage=1,this.getRunningScripts()},getCompletedScripts:function(){this.completedLoading=!0;const i=(this.completedPage-1)*this.completedItemsPerPage;V.fi.get(`/script-api/completed-scripts?scope=DEFAULT&offset=${i}&limit=${this.completedItemsPerPage}`).then(t=>{const s=t.data.items||[];s.forEach(r=>{if(r.user_display=`${r.user_full_name} (${r.username})`,r.start_time&&r.end_time){const o=new Date(r.start_time),l=new Date(r.end_time)-o;if(r.start_time_formatted=this.formatDateTimeHMS(o,this.timeZone),l<0)r.duration="N/A";else if(l<1e3)r.duration="< 1s";else if(l<6e4)r.duration=`${Math.round(l/1e3)}s`;else if(l<36e5){const u=Math.floor(l/6e4),d=Math.round(l%6e4/1e3);r.duration=`${u}m ${d}s`}else{const u=Math.floor(l/36e5),d=Math.floor(l%36e5/6e4),v=Math.round(l%6e4/1e3);r.duration=`${u}h ${d}m ${v}s`}}else r.duration="N/A"}),this.completedScripts=s,this.completedTotal=t.data.total||s.length,this.completedLoading=!1}).catch(t=>{this.completedLoading=!1,this.$notify.caution({title:"Error Loading Completed Scripts",body:t.message})})},updateCompletedPage:function(i){this.completedPage=i,this.getCompletedScripts()},updateCompletedItemsPerPage:function(i){this.completedItemsPerPage=i,this.completedPage=1,this.getCompletedScripts()},showScript:function(i){this.dialogContent=JSON.stringify(i,null,2),this.dialogName="Script: "+i.name,this.dialogFilename="",this.showDialog=!0},connectScript:function(i){this.$emit("disconnect");const t={name:"ScriptRunner",params:{id:i.name}};if(this.connectInNewTab){let{href:s}=this.$router.resolve(t);window.open(s,"_blank")}else this.$router.push(t),this.$emit("close")},deleteScript:function(i){this.$dialog.confirm(`Are you sure you want to stop script: ${i.name} ${i.filename}?
2
+ `,{okText:"Stop",cancelText:"Cancel"}).then(t=>V.fi.post(`/script-api/running-script/${i.name}/delete`)).then(t=>{this.$notify.normal({body:`Stopped script: ${i.name} ${i.filename}`}),this.getRunningScripts()}).catch(t=>{t!==!0&&this.$notify.caution({body:`Failed to stop script: ${i.name} ${i.filename}`})})},viewScriptLog:function(i,t){let s=null;t==="report"?(this.dialogName="Report",s=i.report):(this.dialogName="Log",s=i.log),V.fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(s)}?bucket=OPENC3_LOGS_BUCKET`).then(r=>{const o=s.split("/");this.dialogFilename=o[o.length-1],this.dialogContent=window.atob(r.data.contents),this.showDialog=!0})},downloadScriptLog:function(i,t,s="text"){let r=null;t==="report"?(this.dialogName="Report",r=i.report):(this.dialogName="Log",r=i.log),this.downloadScript=i,s==="ctrf"&&t==="report"?V.fi.get(`/openc3-api/storage/download_file/${encodeURIComponent(r)}?bucket=OPENC3_LOGS_BUCKET&format=ctrf`).then(o=>{const n=new Blob([window.atob(o.data.contents)],{type:"application/json"}),l=document.createElement("a");l.href=URL.createObjectURL(n),l.setAttribute("download",o.data.filename),l.click(),this.downloadScript=null}).catch(()=>{this.$notify.caution({title:`Unable to download log ${r}`,body:`You may be able to download this log manually from the 'logs' bucket at ${r}`}),this.downloadScript=null}):V.fi.get(`/openc3-api/storage/download/${encodeURIComponent(r)}?bucket=OPENC3_LOGS_BUCKET`).then(o=>{const n=r.split("/"),l=n[n.length-1],u=document.createElement("a");u.href=o.data.url,u.setAttribute("download",l),u.click(),this.downloadScript=null}).catch(()=>{this.$notify.caution({title:`Unable to download log ${r}`,body:`You may be able to download this log manually from the 'logs' bucket at ${r}`}),this.downloadScript=null})}}},je={key:0},We={key:1};function Je(i,t,s,r,o,n){const l=e.resolveComponent("v-tab"),u=e.resolveComponent("v-tabs"),d=e.resolveComponent("v-spacer"),v=e.resolveComponent("v-btn"),_=e.resolveComponent("v-text-field"),b=e.resolveComponent("v-row"),w=e.resolveComponent("v-card-title"),k=e.resolveComponent("v-icon"),x=e.resolveComponent("v-data-table-server"),N=e.resolveComponent("v-window-item"),g=e.resolveComponent("v-list-item-title"),E=e.resolveComponent("v-list-item"),D=e.resolveComponent("v-list"),A=e.resolveComponent("v-menu"),q=e.resolveComponent("v-window"),U=e.resolveComponent("v-card"),G=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(U,{flat:"",class:"tab-card"},{default:e.withCtx(()=>[e.createVNode(u,{modelValue:o.activeTab,"onUpdate:modelValue":t[0]||(t[0]=S=>o.activeTab=S),"bg-color":"var(--color-background-base-default)"},{default:e.withCtx(()=>[e.createVNode(l,{value:"running"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("Running Scripts",-1)])]),_:1}),e.createVNode(l,{value:"completed"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode("Completed Scripts",-1)])]),_:1})]),_:1},8,["modelValue"]),e.createVNode(q,{modelValue:o.activeTab,"onUpdate:modelValue":t[3]||(t[3]=S=>o.activeTab=S)},{default:e.withCtx(()=>[e.createVNode(N,{value:"running"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{dense:""},{default:e.withCtx(()=>[e.createVNode(d),e.createVNode(v,{class:"mr-3",color:"primary",onClick:n.getRunningScripts},{default:e.withCtx(()=>[...t[8]||(t[8]=[e.createTextVNode("Refresh",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{modelValue:o.runningSearch,"onUpdate:modelValue":t[1]||(t[1]=S=>o.runningSearch=S),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"running-search",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(x,{headers:o.runningHeaders,items:o.runningScripts,"items-length":o.runningTotal,loading:o.runningLoading,search:o.runningSearch,density:"compact","data-test":"running-scripts","items-per-page":o.runningItemsPerPage,page:o.runningPage,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":n.updateRunningPage,"onUpdate:itemsPerPage":n.updateRunningItemsPerPage},{"item.name":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",onClick:B=>n.showScript(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1032,["onClick"])]),"item.connect":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",onClick:B=>n.connectScript(S)},{default:e.withCtx(()=>[t[10]||(t[10]=e.createElementVNode("span",null,"Connect",-1)),e.withDirectives(e.createVNode(k,{end:""},{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode(" mdi-open-in-new ",-1)])]),_:1},512),[[e.vShow,s.connectInNewTab]])]),_:1},8,["onClick"])]),"item.stop":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",onClick:B=>n.deleteScript(S)},{default:e.withCtx(()=>[t[12]||(t[12]=e.createElementVNode("span",null,"Stop",-1)),e.createVNode(k,{end:""},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" mdi-close-circle-outline ",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1},8,["headers","items","items-length","loading","search","items-per-page","page","onUpdate:page","onUpdate:itemsPerPage"])]),_:1}),e.createVNode(N,{value:"completed"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{dense:""},{default:e.withCtx(()=>[e.createVNode(d),e.createVNode(v,{class:"mr-3",color:"primary",onClick:n.getCompletedScripts},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode("Refresh",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{modelValue:o.completedSearch,"onUpdate:modelValue":t[2]||(t[2]=S=>o.completedSearch=S),class:"pt-0 search",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(x,{headers:o.completedHeaders,items:o.completedScripts,"items-length":o.completedTotal,loading:o.completedLoading,search:o.completedSearch,density:"compact","data-test":"completed-scripts","items-per-page":o.completedItemsPerPage,page:o.completedPage,"items-per-page-options":[10,25,50],class:"script-table","onUpdate:page":n.updateCompletedPage,"onUpdate:itemsPerPage":n.updateCompletedItemsPerPage},{"item.name":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",onClick:B=>n.showScript(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1032,["onClick"])]),"item.log":e.withCtx(({item:S})=>[e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:B=>n.viewScriptLog(S,"log")},null,8,["onClick"]),e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:o.downloadScript,loading:o.downloadScript&&o.downloadScript.name===S.name,onClick:B=>n.downloadScriptLog(S,"log")},null,8,["disabled","loading","onClick"])]),"item.report":e.withCtx(({item:S})=>[S.report?(e.openBlock(),e.createElementBlock("div",We,[e.createVNode(v,{color:"primary",density:"comfortable",icon:"mdi-eye",onClick:B=>n.viewScriptLog(S,"report")},null,8,["onClick"]),e.createVNode(A,null,{activator:e.withCtx(({props:B})=>[e.createVNode(v,e.mergeProps({color:"primary",density:"comfortable",icon:"mdi-file-download-outline",disabled:o.downloadScript,loading:o.downloadScript&&o.downloadScript.name===S.name},B),null,16,["disabled","loading"])]),default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(E,{onClick:B=>n.downloadScriptLog(S,"report","text")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode("Download as Text",-1)])]),_:1})]),_:1},8,["onClick"]),e.createVNode(E,{onClick:B=>n.downloadScriptLog(S,"report","ctrf")},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode("Download as CTRF",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)])):(e.openBlock(),e.createElementBlock("div",je,[...t[14]||(t[14]=[e.createElementVNode("span",null,"N/A",-1)])]))]),_:1},8,["headers","items","items-length","loading","search","items-per-page","page","onUpdate:page","onUpdate:itemsPerPage"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o.showDialog?(e.openBlock(),e.createBlock(G,{key:0,modelValue:o.showDialog,"onUpdate:modelValue":t[4]||(t[4]=S=>o.showDialog=S),content:o.dialogContent,type:"Script",name:o.dialogName,filename:o.dialogFilename,onSubmit:t[5]||(t[5]=S=>o.showDialog=!1)},null,8,["modelValue","content","name","filename"])):e.createCommentVNode("",!0)])}const Re=I._export_sfc(Ke,[["render",Je]]),Ye={props:{modelValue:{type:Array,required:!0}},emits:["sort","update:modelValue"],data(){return{search:"",headers:[{title:"Message",value:"message",sortable:!1}],messageOrderOptions:["Newest on Top","Newest on Bottom"],messageOrder:"Newest on Top"}},computed:{messages:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},watch:{messageOrder:function(i,t){this.$emit("sort",i)}},methods:{messageClass(i){return i.match(/(CHECK|WAIT): .*(success|was within range.*) with value/)?"openc3-green":i.match(/(CHECK|WAIT): .*(failed|failed to be within range.*) with value/)?"openc3-red":""},downloadLog(){const i=this.messages.map(r=>r.message).join(`
3
+ `),t=new Blob([i],{type:"text/plain"}),s=document.createElement("a");s.href=URL.createObjectURL(t),s.setAttribute("download",ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_sr_message_log.txt"),s.click()},clearLog:function(){this.$dialog.confirm("Are you sure you want to clear the log?",{okText:"Clear",cancelText:"Cancel"}).then(i=>{this.messages=[]}).catch(function(i){})}}};function Ze(i,t,s,r,o,n){const l=e.resolveComponent("v-btn"),u=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-select"),v=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-card-title"),b=e.resolveComponent("v-data-table"),w=e.resolveComponent("v-card-text"),k=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(k,{class:"d-flex flex-column h-100"},{default:e.withCtx(()=>[e.createVNode(_,{class:"d-flex align-center"},{default:e.withCtx(()=>[e.createVNode(l,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-log","aria-label":"Download Log",onClick:n.downloadLog},null,8,["onClick"]),t[2]||(t[2]=e.createTextVNode(" Script Messages ",-1)),e.createVNode(u),e.createVNode(d,{modelValue:o.messageOrder,"onUpdate:modelValue":t[0]||(t[0]=x=>o.messageOrder=x),density:"compact","hide-details":"",variant:"outlined",items:o.messageOrderOptions,class:"mr-2",style:{"max-width":"200px"},"data-test":"message-order"},null,8,["modelValue","items"]),e.createVNode(u),e.createVNode(v,{modelValue:o.search,"onUpdate:modelValue":t[1]||(t[1]=x=>o.search=x),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search","data-test":"search-messages"},null,8,["modelValue"]),e.createVNode(l,{class:"mx-2",icon:"mdi-delete-sweep",variant:"text",density:"compact","data-test":"clear-log","aria-label":"Clear Log",onClick:n.clearLog},null,8,["onClick"])]),_:1}),e.createVNode(w,{class:"overflow-auto"},{default:e.withCtx(()=>[e.createVNode(b,{id:"script-log-messages",headers:o.headers,items:n.messages,search:o.search,"items-per-page":-1,"hide-default-footer":"",density:"compact","data-test":"output-messages"},{"item.message":e.withCtx(({item:x})=>[e.createElementVNode("div",{class:e.normalizeClass(n.messageClass(x.message))},e.toDisplayString(x.message),3)]),_:1},8,["headers","items","search"])]),_:1})]),_:1})}const Oe=I._export_sfc(Ye,[["render",Ze]]),Xe={__name:"splitpanes",props:{horizontal:{type:Boolean,default:!1},pushOtherPanes:{type:Boolean,default:!0},maximizePanes:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean,default:!1}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click","splitter-dblclick"],setup(i,{emit:t}){const s=t,r=i,o=e.useSlots(),n=e.ref([]),l=e.computed(()=>n.value.reduce((a,m)=>(a[~~m.id]=m)&&a,{})),u=e.computed(()=>n.value.length),d=e.ref(null),v=e.ref(!1),_=e.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),b=e.ref({splitter:null,timeoutId:null}),w=e.computed(()=>({[`splitpanes splitpanes--${r.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":_.value.dragging})),k=()=>{document.addEventListener("mousemove",g,{passive:!1}),document.addEventListener("mouseup",E),"ontouchstart"in window&&(document.addEventListener("touchmove",g,{passive:!1}),document.addEventListener("touchend",E))},x=()=>{document.removeEventListener("mousemove",g,{passive:!1}),document.removeEventListener("mouseup",E),"ontouchstart"in window&&(document.removeEventListener("touchmove",g,{passive:!1}),document.removeEventListener("touchend",E))},N=(a,m)=>{const f=a.target.closest(".splitpanes__splitter");if(f){const{left:p,top:h}=f.getBoundingClientRect(),{clientX:C,clientY:y}="ontouchstart"in window&&a.touches?a.touches[0]:a;_.value.cursorOffset=r.horizontal?y-h:C-p}k(),_.value.mouseDown=!0,_.value.activeSplitter=m},g=a=>{_.value.mouseDown&&(a.preventDefault(),_.value.dragging=!0,requestAnimationFrame(()=>{S(U(a)),O("resize",{event:a},!0)}))},E=a=>{_.value.dragging&&(window.getSelection().removeAllRanges(),O("resized",{event:a},!0)),_.value.mouseDown=!1,_.value.activeSplitter=null,setTimeout(()=>{_.value.dragging=!1,x()},100)},D=(a,m)=>{"ontouchstart"in window&&(a.preventDefault(),b.value.splitter===m?(clearTimeout(b.value.timeoutId),b.value.timeoutId=null,A(a,m),b.value.splitter=null):(b.value.splitter=m,b.value.timeoutId=setTimeout(()=>b.value.splitter=null,500))),_.value.dragging||O("splitter-click",{event:a,index:m},!0)},A=(a,m)=>{if(O("splitter-dblclick",{event:a,index:m},!0),r.maximizePanes){let f=0;n.value=n.value.map((p,h)=>(p.size=h===m?p.max:p.min,h!==m&&(f+=p.min),p)),n.value[m].size-=f,O("pane-maximize",{event:a,index:m,pane:n.value[m]}),O("resized",{event:a,index:m},!0)}},q=(a,m)=>{O("pane-click",{event:a,index:l.value[m].index,pane:l.value[m]})},U=a=>{const m=d.value.getBoundingClientRect(),{clientX:f,clientY:p}="ontouchstart"in window&&a.touches?a.touches[0]:a;return{x:f-(r.horizontal?0:_.value.cursorOffset)-m.left,y:p-(r.horizontal?_.value.cursorOffset:0)-m.top}},G=a=>{a=a[r.horizontal?"y":"x"];const m=d.value[r.horizontal?"clientHeight":"clientWidth"];return r.rtl&&!r.horizontal&&(a=m-a),a*100/m},S=a=>{const m=_.value.activeSplitter;let f={prevPanesSize:W(m),nextPanesSize:F(m),prevReachedMinPanes:0,nextReachedMinPanes:0};const p=0+(r.pushOtherPanes?0:f.prevPanesSize),h=100-(r.pushOtherPanes?0:f.nextPanesSize),C=Math.max(Math.min(G(a),h),p);let y=[m,m+1],T=n.value[y[0]]||null,M=n.value[y[1]]||null;const c=T.max<100&&C>=T.max+f.prevPanesSize,z=M.max<100&&C<=100-(M.max+F(m+1));if(c||z){c?(T.size=T.max,M.size=Math.max(100-T.max-f.prevPanesSize-f.nextPanesSize,0)):(T.size=Math.max(100-M.max-f.prevPanesSize-F(m+1),0),M.size=M.max);return}if(r.pushOtherPanes){const ke=B(f,C);if(!ke)return;({sums:f,panesToResize:y}=ke),T=n.value[y[0]]||null,M=n.value[y[1]]||null}T!==null&&(T.size=Math.min(Math.max(C-f.prevPanesSize-f.prevReachedMinPanes,T.min),T.max)),M!==null&&(M.size=Math.min(Math.max(100-C-f.nextPanesSize-f.nextReachedMinPanes,M.min),M.max))},B=(a,m)=>{const f=_.value.activeSplitter,p=[f,f+1];return m<a.prevPanesSize+n.value[p[0]].min&&(p[0]=ue(f).index,a.prevReachedMinPanes=0,p[0]<f&&n.value.forEach((h,C)=>{C>p[0]&&C<=f&&(h.size=h.min,a.prevReachedMinPanes+=h.min)}),a.prevPanesSize=W(p[0]),p[0]===void 0)?(a.prevReachedMinPanes=0,n.value[0].size=n.value[0].min,n.value.forEach((h,C)=>{C>0&&C<=f&&(h.size=h.min,a.prevReachedMinPanes+=h.min)}),n.value[p[1]].size=100-a.prevReachedMinPanes-n.value[0].min-a.prevPanesSize-a.nextPanesSize,null):m>100-a.nextPanesSize-n.value[p[1]].min&&(p[1]=se(f).index,a.nextReachedMinPanes=0,p[1]>f+1&&n.value.forEach((h,C)=>{C>f&&C<p[1]&&(h.size=h.min,a.nextReachedMinPanes+=h.min)}),a.nextPanesSize=F(p[1]-1),p[1]===void 0)?(a.nextReachedMinPanes=0,n.value.forEach((h,C)=>{C<u.value-1&&C>=f+1&&(h.size=h.min,a.nextReachedMinPanes+=h.min)}),n.value[p[0]].size=100-a.prevPanesSize-F(p[0]-1),null):{sums:a,panesToResize:p}},W=a=>n.value.reduce((m,f,p)=>m+(p<a?f.size:0),0),F=a=>n.value.reduce((m,f,p)=>m+(p>a+1?f.size:0),0),ue=a=>[...n.value].reverse().find(m=>m.index<a&&m.size>m.min)||{},se=a=>n.value.find(m=>m.index>a+1&&m.size>m.min)||{},me=()=>{var a;const m=Array.from(((a=d.value)==null?void 0:a.children)||[]);for(const f of m){const p=f.classList.contains("splitpanes__pane"),h=f.classList.contains("splitpanes__splitter");!p&&!h&&(f.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))}},J=(a,m,f=!1)=>{const p=a-1,h=document.createElement("div");h.classList.add("splitpanes__splitter"),f||(h.onmousedown=C=>N(C,p),typeof window<"u"&&"ontouchstart"in window&&(h.ontouchstart=C=>N(C,p)),h.onclick=C=>D(C,p+1)),h.ondblclick=C=>A(C,p+1),m.parentNode.insertBefore(h,m)},re=a=>{a.onmousedown=void 0,a.onclick=void 0,a.ondblclick=void 0,a.remove()},K=()=>{var a;const m=Array.from(((a=d.value)==null?void 0:a.children)||[]);for(const p of m)p.className.includes("splitpanes__splitter")&&re(p);let f=0;for(const p of m)p.className.includes("splitpanes__pane")&&(!f&&r.firstSplitter?J(f,p,!0):f&&J(f,p),f++)},le=({uid:a,...m})=>{const f=l.value[a];for(const[p,h]of Object.entries(m))f[p]=h},pe=a=>{var m;let f=-1;Array.from(((m=d.value)==null?void 0:m.children)||[]).some(p=>(p.className.includes("splitpanes__pane")&&f++,p.isSameNode(a.el))),n.value.splice(f,0,{...a,index:f}),n.value.forEach((p,h)=>p.index=h),v.value&&e.nextTick(()=>{K(),Y({addedPane:n.value[f]}),O("pane-add",{pane:n.value[f]})})},he=a=>{const m=n.value.findIndex(p=>p.id===a);n.value[m].el=null;const f=n.value.splice(m,1)[0];n.value.forEach((p,h)=>p.index=h),e.nextTick(()=>{K(),O("pane-remove",{pane:f}),Y({removedPane:{...f}})})},Y=(a={})=>{!a.addedPane&&!a.removedPane?ge():n.value.some(m=>m.givenSize!==null||m.min||m.max<100)?ve(a):fe(),v.value&&O("resized")},fe=()=>{const a=100/u.value;let m=0;const f=[],p=[];for(const h of n.value)h.size=Math.max(Math.min(a,h.max),h.min),m-=h.size,h.size>=h.max&&f.push(h.id),h.size<=h.min&&p.push(h.id);m>.1&&Z(m,f,p)},ge=()=>{let a=100;const m=[],f=[];let p=0;for(const C of n.value)a-=C.size,C.givenSize!==null&&p++,C.size>=C.max&&m.push(C.id),C.size<=C.min&&f.push(C.id);let h=100;if(a>.1){for(const C of n.value)C.givenSize===null&&(C.size=Math.max(Math.min(a/(u.value-p),C.max),C.min)),h-=C.size;h>.1&&Z(h,m,f)}},ve=({addedPane:a,removedPane:m}={})=>{let f=100/u.value,p=0;const h=[],C=[];((a==null?void 0:a.givenSize)??null)!==null&&(f=(100-a.givenSize)/(u.value-1));for(const y of n.value)p-=y.size,y.size>=y.max&&h.push(y.id),y.size<=y.min&&C.push(y.id);if(!(Math.abs(p)<.1)){for(const y of n.value)(a==null?void 0:a.givenSize)!==null&&(a==null?void 0:a.id)===y.id||(y.size=Math.max(Math.min(f,y.max),y.min)),p-=y.size,y.size>=y.max&&h.push(y.id),y.size<=y.min&&C.push(y.id);p>.1&&Z(p,h,C)}},Z=(a,m,f)=>{let p;a>0?p=a/(u.value-m.length):p=a/(u.value-f.length),n.value.forEach((h,C)=>{if(a>0&&!m.includes(h.id)){const y=Math.max(Math.min(h.size+p,h.max),h.min),T=y-h.size;a-=T,h.size=y}else if(!f.includes(h.id)){const y=Math.max(Math.min(h.size+p,h.max),h.min),T=y-h.size;a-=T,h.size=y}}),Math.abs(a)>.1&&e.nextTick(()=>{v.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})},O=(a,m=void 0,f=!1)=>{const p=(m==null?void 0:m.index)??_.value.activeSplitter??null;s(a,{...m,...p!==null&&{index:p},...f&&p!==null&&{prevPane:n.value[p-(r.firstSplitter?1:0)],nextPane:n.value[p+(r.firstSplitter?0:1)]},panes:n.value.map(h=>({min:h.min,max:h.max,size:h.size}))})};e.watch(()=>r.firstSplitter,()=>K()),e.onMounted(()=>{me(),K(),Y(),O("ready"),v.value=!0}),e.onBeforeUnmount(()=>v.value=!1);const we=()=>{var a;return e.h("div",{ref:d,class:w.value},(a=o.default)==null?void 0:a.call(o))};return e.provide("panes",n),e.provide("indexedPanes",l),e.provide("horizontal",e.computed(()=>r.horizontal)),e.provide("requestUpdate",le),e.provide("onPaneAdd",pe),e.provide("onPaneRemove",he),e.provide("onPaneClick",q),(a,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(we)))}},Qe={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(i){var t;const s=i,r=e.inject("requestUpdate"),o=e.inject("onPaneAdd"),n=e.inject("horizontal"),l=e.inject("onPaneRemove"),u=e.inject("onPaneClick"),d=(t=e.getCurrentInstance())==null?void 0:t.uid,v=e.inject("indexedPanes"),_=e.computed(()=>v.value[d]),b=e.ref(null),w=e.computed(()=>{const g=isNaN(s.size)||s.size===void 0?0:parseFloat(s.size);return Math.max(Math.min(g,x.value),k.value)}),k=e.computed(()=>{const g=parseFloat(s.minSize);return isNaN(g)?0:g}),x=e.computed(()=>{const g=parseFloat(s.maxSize);return isNaN(g)?100:g}),N=e.computed(()=>{var g;return`${n.value?"height":"width"}: ${(g=_.value)==null?void 0:g.size}%`});return e.watch(()=>w.value,g=>r({uid:d,size:g})),e.watch(()=>k.value,g=>r({uid:d,min:g})),e.watch(()=>x.value,g=>r({uid:d,max:g})),e.onMounted(()=>{o({id:d,el:b.value,min:k.value,max:x.value,givenSize:s.size===void 0?null:w.value,size:w.value})}),e.onBeforeUnmount(()=>l(d)),(g,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"paneEl",ref:b,class:"splitpanes__pane",onClick:E[0]||(E[0]=D=>e.unref(u)(D,g._.uid)),style:e.normalizeStyle(N.value)},[e.renderSlot(g.$slots,"default")],4))}},$e={props:{question:{type:String,required:!0},default:{type:String,default:null},password:{type:Boolean,default:!1},answerRequired:{type:Boolean,default:!0},modelValue:Boolean},emits:["update:modelValue","response"],data(){return{inputValue:"",valid:!1,rules:[i=>!!i||"Required"]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},created(){this.default&&(this.valid=!0,this.inputValue=this.default),this.answerRequired===!1&&(this.valid=!0,this.rules=[i=>!0])},methods:{submitHandler:function(){this.$emit("response",this.inputValue)},cancelHandler:function(){this.$emit("response","Cancel")}}},et={class:"pa-2"},tt={class:"question"};function it(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-text-field"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-form"),k=e.resolveComponent("v-card"),x=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(x,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=N=>n.show=N),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(w,{modelValue:o.valid,"onUpdate:modelValue":t[1]||(t[1]=N=>o.valid=N),onSubmit:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null," User Input Required ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",et,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createElementVNode("div",tt,e.toDisplayString(s.question),1),e.createVNode(d,{modelValue:o.inputValue,"onUpdate:modelValue":t[0]||(t[0]=N=>o.inputValue=N),autofocus:"","data-test":"ask-value-input",type:s.password?"password":"text",rules:o.rules},null,8,["modelValue","type","rules"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined","data-test":"ask-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{variant:"flat",type:"submit","data-test":"ask-ok",disabled:!o.valid,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["modelValue","onSubmit"])]),_:1})]),_:1},8,["modelValue","onKeydown"])}const ot=I._export_sfc($e,[["render",it],["__scopeId","data-v-a7d2ae62"]]),nt={props:{title:{type:String,required:!0},message:{type:String,default:null},filter:{type:String,default:"*"},multiple:{type:Boolean,default:!1},modelValue:Boolean},emits:["update:modelValue","response"],data(){return{inputValue:null,valid:null,rules:[i=>this.multiple?i.length!=0||"Required":!!i||"Required"]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{submitHandler:function(){Array.isArray(this.inputValue)||(this.inputValue=[this.inputValue]),this.$emit("response",this.inputValue)},cancelHandler:function(){this.$emit("response","Cancel")}}},st={class:"pa-2"},rt={class:"text-h6"},lt=["textContent"];function at(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),v=e.resolveComponent("v-file-input"),_=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-btn"),w=e.resolveComponent("v-card-actions"),k=e.resolveComponent("v-form"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(k,{modelValue:o.valid,"onUpdate:modelValue":t[1]||(t[1]=g=>o.valid=g),onSubmit:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null," File Dialog ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",st,[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createElementVNode("span",rt,e.toDisplayString(s.title),1)]),_:1}),s.message?(e.openBlock(),e.createBlock(d,{key:0},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"ma-3",style:{"white-space":"pre-line"},textContent:e.toDisplayString(s.message)},null,8,lt)]),_:1})):e.createCommentVNode("",!0),e.createVNode(d,{class:"my-1"},{default:e.withCtx(()=>[e.createVNode(v,{modelValue:o.inputValue,"onUpdate:modelValue":t[0]||(t[0]=g=>o.inputValue=g),label:"Choose File",rules:o.rules,autofocus:"","data-test":"file-input",accept:s.filter,"small-chips":"",multiple:s.multiple},null,8,["modelValue","rules","accept","multiple"])]),_:1})]),_:1})]),e.createVNode(w,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(b,{variant:"outlined","data-test":"file-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(b,{variant:"flat",type:"submit","data-test":"file-ok",disabled:!o.valid,onClick:e.withModifiers(n.submitHandler,["prevent"])},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["modelValue","onSubmit"])]),_:1})]),_:1},8,["modelValue","onKeydown"])}const dt=I._export_sfc(nt,[["render",at],["__scopeId","data-v-24d71dd4"]]),ct={props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},text:{type:String,required:!0},width:{type:String,required:!0}},emits:["update:modelValue"],computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{}},ut=["textContent"],mt={class:"pa-2"},pt=["textContent"];function ht(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-row"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),width:s.width},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(s.title)},null,8,ut),e.createVNode(l)]),_:1}),e.createElementVNode("div",mt,[e.createVNode(v,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.text,(x,N)=>(e.openBlock(),e.createBlock(d,{key:N,"no-gutters":""},{default:e.withCtx(()=>[e.createElementVNode("span",{style:{"white-space":"pre"},textContent:e.toDisplayString(x)},null,8,pt)]),_:2},1024))),128))]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"flat",onClick:t[0]||(t[0]=x=>n.show=!n.show)},{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}const ft=I._export_sfc(ct,[["render",ht]]),gt={components:{},props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],data(){return{api:null,overrides:[],search:"",headers:[{text:"Target",value:"target_name"},{text:"Packet",value:"packet_name"},{text:"Item",value:"item_name"},{text:"Type",value:"value_type"},{text:"Value",value:"value"},{text:"Delete",value:"delete"}]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},created:function(){this.api=new V.yi,this.getOverrides()},methods:{getOverrides:function(){this.api.get_overrides().then(i=>{this.overrides=i})},clearOverrides:function(){const i=[...new Map(this.overrides.map(t=>[`${t.target_name}__${t.packet_name}__${t.item_name}`,t])).values()];for(let t of i)this.api.normalize_tlm(t.target_name,t.packet_name,t.item_name,"ALL").then(s=>{this.overrides=[]})},deleteOverride:function(i){this.api.normalize_tlm(i.target_name,i.packet_name,i.item_name,i.value_type).then(t=>{let s=this.overrides.indexOf(i);this.overrides.splice(s,1)})}}},vt={class:"pa-2"};function wt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-btn"),v=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-row"),b=e.resolveComponent("v-data-table"),w=e.resolveComponent("v-card-text"),k=e.resolveComponent("v-card-actions"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),width:"1000"},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[3]||(t[3]=e.createElementVNode("span",null,"Overrides",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",vt,[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(_,{class:"ma-1"},{default:e.withCtx(()=>[e.createVNode(d,{color:"primary","data-test":"overrides-dialog-clear-all",onClick:n.clearOverrides},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Clear All Overrides ",-1)])]),_:1},8,["onClick"]),e.createVNode(l),e.createVNode(v,{modelValue:o.search,"onUpdate:modelValue":t[0]||(t[0]=g=>o.search=g),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":""},null,8,["modelValue"])]),_:1}),e.createVNode(b,{headers:o.headers,items:o.overrides,search:o.search,"items-per-page-options":[100],"multi-sort":"",density:"compact"},{"item.delete":e.withCtx(({item:g})=>[e.createVNode(d,{icon:"mdi-delete",variant:"text","aria-label":"Delete Override",onClick:E=>n.deleteOverride(g)},null,8,["onClick"])]),_:1},8,["headers","items","search"])]),_:1})]),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(d,{variant:"flat","data-test":"overrides-dialog-ok",onClick:t[1]||(t[1]=g=>n.show=!n.show)},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const _t=I._export_sfc(gt,[["render",wt]]),Ct={props:{title:{type:String,default:"Prompt Dialog"},subtitle:{type:String,default:""},message:{type:String,required:!0},details:{type:String,default:""},buttons:{type:Array,default:()=>[]},layout:{type:String,default:"horizontal"},multiple:{type:Boolean,default:!1,required:!1},modelValue:Boolean},emits:["update:modelValue","response"],data(){return{selectOkDisabled:!0,selectedItem:null}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}},layoutClass(){let i="px-2 d-flex align-start";return this.layout==="vertical"?`${i} flex-column`:`${i} flex-row`}},methods:{submitWrapper:function(i){this.selectedItem=i,this.submitHandler()},submitHandler:function(){this.$emit("response",this.selectedItem)},cancelHandler:function(){this.$emit("response","Cancel")}}},bt=["textContent"],xt={class:"pa-2"},kt=["textContent"],Vt=["textContent"],yt={key:0},Nt={key:1};function St(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-card-subtitle"),v=e.resolveComponent("v-row"),_=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-select"),w=e.resolveComponent("v-btn"),k=e.resolveComponent("v-card-actions"),x=e.resolveComponent("v-card"),N=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(N,{modelValue:n.show,"onUpdate:modelValue":t[2]||(t[2]=g=>n.show=g),persistent:"",width:"600",onKeydown:e.withKeys(n.cancelHandler,["esc"])},{default:e.withCtx(()=>[e.createVNode(x,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),e.createElementVNode("span",{class:"text",textContent:e.toDisplayString(s.title)},null,8,bt),e.createVNode(l)]),_:1}),e.createElementVNode("div",xt,[e.createVNode(_,{class:"text"},{default:e.withCtx(()=>[s.subtitle?(e.openBlock(),e.createBlock(v,{key:0},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.subtitle),1)]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(v,{class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(s.message)},null,8,kt)]),_:1}),s.details?(e.openBlock(),e.createBlock(v,{key:1,class:"mt-1"},{default:e.withCtx(()=>[e.createElementVNode("span",{textContent:e.toDisplayString(s.details)},null,8,Vt)]),_:1})):e.createCommentVNode("",!0)]),_:1})]),s.layout==="combo"?(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(v,{class:"ma-2"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:o.selectedItem,"onUpdate:modelValue":[t[0]||(t[0]=g=>o.selectedItem=g),t[1]||(t[1]=g=>o.selectOkDisabled=!1)],label:"Select",color:"secondary",class:"ma-1","data-test":"prompt-select",items:s.buttons,multiple:s.multiple===!0},null,8,["modelValue","items","multiple"])]),_:1}),e.createVNode(k,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(w,{variant:"outlined","data-test":"prompt-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(w,{variant:"flat","data-test":"prompt-ok",disabled:o.selectOkDisabled,onClick:n.submitHandler},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})])):(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(k,{class:e.normalizeClass(n.layoutClass)},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(w,{variant:"outlined","data-test":"prompt-cancel",onClick:n.cancelHandler},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.buttons,(g,E)=>(e.openBlock(),e.createElementBlock("div",{key:E},[e.createVNode(w,{variant:"flat","data-test":`prompt-${g.text}`,onClick:D=>n.submitWrapper(g.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.text),1)]),_:2},1032,["data-test","onClick"])]))),128))]),_:1},8,["class"])]))]),_:1})]),_:1},8,["modelValue","onKeydown"])}const Et=I._export_sfc(Ct,[["render",St],["__scopeId","data-v-2db27529"]]),Tt={components:{},props:{modelValue:{type:Boolean,required:!0},text:{type:String,required:!0}},emits:["update:modelValue"],computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},mounted(){setTimeout(()=>{this.$refs.okButton.$el.focus()})},methods:{downloadResults(){const i=new Blob([this.text],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.setAttribute("download",ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_suite_results.txt"),t.click()}}},Bt={class:"pa-2"};function Rt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("v-textarea"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),scrollable:"",width:"800"},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[2]||(t[2]=e.createElementVNode("span",null," Script Results ",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",Bt,[e.createVNode(v,{style:{width:"100%","max-height":"80vh",overflow:"auto"}},{default:e.withCtx(()=>[e.createVNode(d,{readonly:"","hide-details":"",density:"compact","auto-grow":"","model-value":s.text},null,8,["model-value"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined",onClick:n.downloadResults},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Download ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{ref:"okButton",variant:"flat",onClick:t[0]||(t[0]=x=>n.show=!n.show)},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Ok ",-1)])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Ot=I._export_sfc(Tt,[["render",Rt]]),Mt={components:{EnvironmentChooser:Be.EnvironmentChooser},props:{modelValue:{type:Boolean,required:!0},inputEnvironment:{type:Array,required:!0}},emits:["update:modelValue","environment"],data(){return{selected:[]}},computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},mounted:function(){this.loadEnvironment()},methods:{loadEnvironment:function(){this.selected=[...this.inputEnvironment]},updateEnvironment:function(){this.$emit("environment",this.selected),this.show=!this.show},cancel:function(){this.show=!this.show}}},Dt={class:"pa-2"};function Pt(i,t,s,r,o,n){const l=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),d=e.resolveComponent("environment-chooser"),v=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),k=e.resolveComponent("v-dialog");return e.openBlock(),e.createBlock(k,{modelValue:n.show,"onUpdate:modelValue":t[1]||(t[1]=x=>n.show=x),persistent:"",width:"600",onKeydown:e.withKeys(n.cancel,["esc"])},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(u,{height:"24"},{default:e.withCtx(()=>[e.createVNode(l),t[2]||(t[2]=e.createElementVNode("span",null,"Script Environment Variables",-1)),e.createVNode(l)]),_:1}),e.createElementVNode("div",Dt,[e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(d,{modelValue:o.selected,"onUpdate:modelValue":t[0]||(t[0]=x=>o.selected=x)},null,8,["modelValue"])]),_:1})]),e.createVNode(b,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(l),e.createVNode(_,{variant:"outlined","data-test":"environment-dialog-cancel",onClick:n.cancel},{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(_,{variant:"flat","data-test":"environment-dialog-save",disabled:!!i.inputError,onClick:n.updateEnvironment},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"])}const It=I._export_sfc(Mt,[["render",Pt]]),Ut={props:{suiteMap:{type:Object,required:!0},disableButtons:{type:Boolean,required:!0},filename:{type:String,required:!0}},emits:["button","loaded"],data(){return{suites:[],groups:[],scripts:[],suite:"",group:"",script:"",options:["pauseOnError","manual","continueAfterError"],userInfo:{}}},computed:{checkedManualTooltip(){return this.filename.endsWith(".py")?"Checked sets the RunningScript.manual variable to True":"Checked sets the $manual variable to true"},uncheckedManualTooltip(){return this.filename.endsWith(".py")?"Unchecked sets the RunningScript.manual variable to False":"Unchecked sets the $manual variable to false"},setupSuiteEnabled(){return!!(this.suite&&this.suiteMap[this.suite].setup)},teardownSuiteEnabled(){return!!(this.suite&&this.suiteMap[this.suite].teardown)},setupGroupEnabled(){return!!(this.suite&&this.group&&this.suiteMap[this.suite].groups[this.group].setup)},teardownGroupEnabled(){return!!(this.suite&&this.group&&this.suiteMap[this.suite].groups[this.group].teardown)},scriptNames(){return this.scripts.map(i=>({title:i.replace(/^(script_|test_)/,""),value:i}))}},watch:{suiteMap:{handler:function(i,t){this.updateSuiteMap()},deep:!0}},created(){this.userInfo=JSON.parse(localStorage.script_runner__userinfo),this.initSuites(),this.$emit("loaded")},methods:{updateSuiteMap(){this.suites=Object.keys(this.suiteMap),this.suiteMap[this.suite]==null||this.suiteMap[this.suite].groups[this.group]==null?this.initSuites():(this.groups=Object.keys(this.suiteMap[this.suite].groups),this.scripts=this.suiteMap[this.suite].groups[this.group].scripts)},initSuites(){this.suites=Object.keys(this.suiteMap),this.suiteChanged(this.suites[0])},suiteChanged(i){!i||this.suiteMap[i]==null||(this.suite=i,this.group="",this.script="",this.groups=Object.keys(this.suiteMap[i].groups),this.groupChanged(this.groups[0]))},groupChanged(i){!i||this.suiteMap[this.suite]==null||this.suiteMap[this.suite].groups[i]==null||(this.group=i,this.script="",this.scripts=this.suiteMap[this.suite].groups[i].scripts,this.scriptChanged(this.scripts[0]))},scriptChanged(i){this.script=i}}},zt={id:"tr-container"};function Lt(i,t,s,r,o,n){const l=e.resolveComponent("v-checkbox"),u=e.resolveComponent("v-tooltip"),d=e.resolveComponent("v-col"),v=e.resolveComponent("v-row"),_=e.resolveComponent("v-select"),b=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",zt,[e.createVNode(v,{"no-gutters":"",align:"center"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[0]||(t[0]=k=>o.options=k),label:"Pause on Error",value:"pauseOnError","hide-details":"","data-test":"pause-on-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[16]||(t[16]=e.createElementVNode("span",null,[e.createTextVNode(" Checked pauses the script when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked continues without user interaction ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[1]||(t[1]=k=>o.options=k),label:"Manual",value:"manual","hide-details":"","data-test":"manual"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createTextVNode(e.toDisplayString(n.checkedManualTooltip),1),t[17]||(t[17]=e.createElementVNode("br",null,null,-1)),e.createTextVNode(" "+e.toDisplayString(n.uncheckedManualTooltip),1)])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.suite,"onUpdate:modelValue":[t[2]||(t[2]=w=>o.suite=w),n.suiteChanged],label:"Suite:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:o.suites,"data-test":"select-suite"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-suite",onClick:t[3]||(t[3]=w=>i.$emit("button",{method:"start",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2","data-test":"setup-suite",disabled:s.disableButtons||!n.setupSuiteEnabled||!o.userInfo.execute,onClick:t[4]||(t[4]=w=>i.$emit("button",{method:"setup",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary","data-test":"teardown-suite",disabled:s.disableButtons||!n.teardownSuiteEnabled||!o.userInfo.execute,onClick:t[5]||(t[5]=w=>i.$emit("button",{method:"teardown",suite:o.suite,options:o.options}))},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[6]||(t[6]=k=>o.options=k),label:"Continue after Error",value:"continueAfterError","hide-details":"","data-test":"continue-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[21]||(t[21]=e.createElementVNode("span",null,[e.createTextVNode(" Checked allows the script to continue when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked forces the current script to end ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[7]||(t[7]=k=>o.options=k),label:"Loop",value:"loop","hide-details":"","data-test":"loop"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[22]||(t[22]=e.createElementVNode("span",null,[e.createTextVNode(" Checked continuously executes until explicitly stopped"),e.createElementVNode("br"),e.createTextVNode(" Unchecked executes only the started script(s) ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.group,"onUpdate:modelValue":[t[8]||(t[8]=w=>o.group=w),n.groupChanged],label:"Group:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:o.groups,"data-test":"select-group"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-group",onClick:t[9]||(t[9]=w=>i.$emit("button",{method:"start",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[23]||(t[23]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2","data-test":"setup-group",disabled:s.disableButtons||!n.setupGroupEnabled||!o.userInfo.execute,onClick:t[10]||(t[10]=w=>i.$emit("button",{method:"setup",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[24]||(t[24]=[e.createTextVNode(" Setup ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary","data-test":"teardown-group",disabled:s.disableButtons||!n.teardownGroupEnabled||!o.userInfo.execute,onClick:t[11]||(t[11]=w=>i.$emit("button",{method:"teardown",suite:o.suite,group:o.group,options:o.options}))},{default:e.withCtx(()=>[...t[25]||(t[25]=[e.createTextVNode(" Teardown ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"4"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[12]||(t[12]=k=>o.options=k),label:"Abort after Error",value:"abortAfterError","hide-details":"","data-test":"abort-after-error"},null,8,["modelValue"])],16)]),default:e.withCtx(()=>[t[26]||(t[26]=e.createElementVNode("span",null,[e.createTextVNode(" Checked stops additional script execution when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows additional scripts to execute ")],-1))]),_:1})]),_:1}),e.createVNode(d,{cols:"6"},{default:e.withCtx(()=>[e.createVNode(u,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:w})=>[e.createElementVNode("div",e.normalizeProps(e.guardReactiveProps(w)),[e.createVNode(l,{modelValue:o.options,"onUpdate:modelValue":t[13]||(t[13]=k=>o.options=k),disabled:!o.options.includes("loop"),label:"Break Loop on Error",value:"breakLoopOnError","hide-details":"","data-test":"break-loop-on-error"},null,8,["modelValue","disabled"])],16)]),default:e.withCtx(()=>[t[27]||(t[27]=e.createElementVNode("span",null,[e.createTextVNode(" Checked breaks the loop option when an error is encountered"),e.createElementVNode("br"),e.createTextVNode(" Unchecked allows the loop to run continuously"),e.createElementVNode("br"),e.createTextVNode(" Note: Abort after Error still breaks the loop ")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),e.createVNode(d,{cols:"8"},{default:e.withCtx(()=>[e.createVNode(v,{"no-gutters":"",justify:"end"},{default:e.withCtx(()=>[e.createVNode(d,{cols:"5"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:o.script,"onUpdate:modelValue":[t[14]||(t[14]=w=>o.script=w),n.scriptChanged],label:"Script:",class:"mb-2 mr-2","hide-details":"",density:"compact",variant:"outlined",items:n.scriptNames,"item-title":"title","item-value":"value","data-test":"select-script"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1}),e.createVNode(d,{cols:"auto"},{default:e.withCtx(()=>[e.createVNode(b,{color:"primary",class:"mr-2",disabled:s.disableButtons||!o.userInfo.execute,"data-test":"start-script",onClick:t[15]||(t[15]=w=>i.$emit("button",{method:"start",suite:o.suite,group:o.group,script:o.script,options:o.options}))},{default:e.withCtx(()=>[...t[28]||(t[28]=[e.createTextVNode(" Start ",-1)])]),_:1},8,["disabled"]),e.createVNode(b,{color:"primary",class:"mr-2 invisible"},{default:e.withCtx(()=>[...t[29]||(t[29]=[e.createTextVNode(" Setup ",-1)])]),_:1}),e.createVNode(b,{color:"primary",class:"invisible"},{default:e.withCtx(()=>[...t[30]||(t[30]=[e.createTextVNode(" Teardown ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})])])}const Me=I._export_sfc(Ut,[["render",Lt],["__scopeId","data-v-6be22c34"]]),xe=i=>V.fi.get(`/openc3-api/autocomplete/keywords/${i}`),Ft=i=>V.fi.get(`/openc3-api/autocomplete/data/${i}`),Ne=(i,t)=>i.reduce((s,r)=>{const o=t(r);return s[o]?s[o].push(r):s[o]=[r],s},{}),At=i=>{const t="(^|[{\\(\\s])",s=`[\\s\\(]f?['"]`,r="(\\S+\\s?){0,3}";return new RegExp(`${t}${i}${s}${r}$`)};class De{constructor(t,s=()=>{},r=()=>{}){this.keywordExpressions=[],this.autocompleteData=[],xe(t).then(o=>{this.keywordExpressions=o.data.map(At),r()}),Ft(t).then(o=>{this.autocompleteData=o.data,s()})}getCompletions(t,s,r,o,n){let l=[];const u=s.doc.$lines[r.row].slice(0,r.column);this.keywordExpressions.some(d=>u.match(d))&&(l=this.autocompleteData),n(null,[...l])}}class Ht extends De{constructor(){super("cmd")}}class qt extends De{constructor(){super("tlm",()=>{this.groupedPacketData=this.autocompleteData.reduce((t,s)=>{const r=s.caption.match(/\S+\s\S+/)[0],o=s.snippet.replace(`${r} `,""),n={caption:o,snippet:o,meta:"item"};return t[r]?t[r].push(n):t[r]=[n],t},{}),this.packets=Object.keys(this.groupedPacketData).map(t=>({caption:t,snippet:t,meta:"packet"}))})}getCompletions(t,s,r,o,n){let l=[];const u=s.doc.$lines[r.row].slice(0,r.column);if(this.keywordExpressions.some(d=>u.match(d))){const d=Object.keys(this.groupedPacketData).find(v=>u.includes(v));d?l=this.groupedPacketData[d]:l=this.packets}n(null,l)}}const Se=i=>{const t="(^|[{\\(\\s])",s="((\\s.+)|(\\(.+\\)))";return new RegExp(`${t}${i}${s}`)},Gt=/\{/,Kt=/['"],\s?['"]/;class jt{constructor(){this.api=new V.yi,this.targets={},this.api.get_target_names().then(t=>{t.forEach(s=>{this.targets[s]={cmd:null,tlm:null}})}),this.cmdKeywordExpressions=[],xe("cmd").then(t=>{this.cmdKeywordExpressions=t.data.map(Se)}),this.tlmKeywordExpressions=[],xe("tlm").then(t=>{this.tlmKeywordExpressions=t.data.map(Se)})}async checkText(t){const{linesToCheck:s,linesToSkip:r}=t.split(`
4
+ `).reduce((n,l,u)=>{if(l=l.trim(),l.match(/^#/))return n;const d=this.cmdKeywordExpressions.reduce((g,E)=>g||l.match(E),null),v=this.tlmKeywordExpressions.reduce((g,E)=>g||l.match(E),null);if(!d&&!v)return n;let _=d||v,b=_.length;_=_[b-1];const w=_.substring(_.match(/[\(\s)]/).index+1).replace(/\)+.*$/,"");if(w.match(Gt))return n.linesToSkip.push(u+1),n;const k=!!w.match(Kt),x=w.split(k?",":" ");if(x.length<2)return n;const N={target:x[0],packet:x[1]};if(v)N.item=x[2];else{const g=x.slice(2);k?N.params=g.map(E=>E.split("=>")[0]):N.params=g.filter((E,D)=>D%2)}for(const g in N)typeof N[g]=="string"?N[g]=N[g].replace(/['"]/g,"").trim():N[g]=N[g].map(E=>E.replace(/['"]/g,"").trim());return n.linesToCheck.push({line:l,mnemonic:N,lineNumber:u+1}),n},{linesToCheck:[],linesToSkip:[]}),o=await this._checkLines(s);return{skipped:r.sort(),problems:o.sort((n,l)=>n.lineNumber-l.lineNumber)}}async _checkLines(t){const s=[],r=Ne(t,o=>o.mnemonic.target);for(const o in r){if(!this.targets[o]){for(const l of r[o])s.push({...l,error:`Target "${o}" does not exist.`});continue}const n=Ne(r[o],l=>l.mnemonic.packet);for(const l in n)for(const u of n[l]){const d=u.mnemonic.item?"tlm":"cmd";if(!this.targets[o][d]){const _=u.mnemonic.item?"get_all_tlm":"get_all_cmds",b=await this.api[_](o);this.targets[o][d]=b.reduce((w,k)=>(w[k.packet_name]=k.items.map(x=>x.name),w),{})}const v=this.targets[o][d][l];if(!v){s.push({...u,error:`${d==="tlm"?"Packet":"Command"} "${o} ${l}" does not exist.`});continue}if(u.mnemonic.item){if(!v.some(_=>_===u.mnemonic.item)){s.push({...u,error:`Item "${o} ${l} ${u.mnemonic.item}" does not exist.`});continue}}else for(const _ of u.mnemonic.params)if(!v.some(b=>b===_)){s.push({...u,error:`Command "${o} ${l}" param "${_}" does not exist.`});continue}}}return s}}var H,$,ee,te,ie,de,oe,ne,ce;class Wt{constructor(t,{pattern:s,text:r,type:o}){L(this,H);L(this,$);L(this,ee);L(this,te);L(this,ie);_e(this,"refresh",()=>{const t=R(this,$).session;R(this,ce).call(this,t);const s={lines:t.doc.$lines,action:"insert",start:{row:0},end:{row:t.doc.$lines.length}};this.annotate(s,t)});_e(this,"annotate",(t,s)=>{var r,o;if(t.lines.length>1)switch(t.action){case"insert":R(this,ne).call(this,s,t.start.row,t.lines.length-1);break;case"remove":R(this,ne).call(this,s,t.start.row+1,-t.lines.length+1);break}for(let n=t.start.row;n<=t.end.row;n++){let l=(o=(r=s.doc.$lines[n])==null?void 0:r.match(R(this,ee)))==null?void 0:o.index;l!==void 0?(l!==0&&(l+=1),R(this,de).call(this,s,{row:n,column:l,text:R(this,te),type:R(this,ie),openc3Id:R(this,H)})):t.action==="remove"&&R(this,oe).call(this,s,n)}});L(this,de,(t,s)=>{R(this,oe).call(this,t,s.row),t.setAnnotations([...t.getAnnotations(),s])});L(this,oe,(t,s)=>{t.setAnnotations(t.getAnnotations().filter(r=>r.openc3Id!==R(this,H)||r.row!==s))});L(this,ne,(t,s,r)=>{t.setAnnotations(t.getAnnotations().map(o=>(o.row>s&&(o.row+=r),o)))});L(this,ce,t=>{t.setAnnotations(t.getAnnotations().filter(s=>s.openc3Id!==R(this,H)))});j(this,H,`regexAnnotator-${Math.floor(Math.random()*1e7)}`),j(this,$,t),j(this,ee,s),j(this,te,r),j(this,ie,o)}}H=new WeakMap,$=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,de=new WeakMap,oe=new WeakMap,ne=new WeakMap,ce=new WeakMap;class Jt extends Wt{constructor(t){const s="(^|[{\\s])",r="sleep",o="[\\(\\s]";super(t,{pattern:new RegExp(`${s}${r}${o}`),text:"Use `wait` instead of `sleep` in OpenC3 scripts",type:"warning"})}}const Ee="__TEMP__",P="<Untitled>",be="Start",Yt="Go",Q="Pause",Zt="Retry",Xt={components:{FileOpenSaveDialog:Ce.FileOpenSaveDialog,Openc3Screen:Ce.Openc3Screen,EnvironmentDialog:Ce.EnvironmentDialog,Splitpanes:Xe,Pane:Qe,TopBar:X.TopBar,AskDialog:ot,FileDialog:dt,InformationDialog:ft,EventListDialog:Ge.EventListDialog,OverridesDialog:_t,PromptDialog:Et,ResultsDialog:Ot,ScriptEnvironmentDialog:It,SimpleTextDialog:He.SimpleTextDialog,SuiteRunner:Me,RunningScripts:Re,ScriptLogMessages:Oe,CriticalCmdDialog:Ae.CriticalCmdDialog,CommandEditor:Be.CommandEditor},mixins:[Te.AceEditorModes,qe._sfc_main],beforeRouteUpdate:function(i,t,s){i.params.id?this.tryLoadRunningScript(i.params.id).then(s):s()},props:{inline:{type:Boolean,default:!1},body:{type:String,default:null}},emits:["alert","script-id"],setup(){return{containerHeight:Le.useContainerHeight()}},data(){return{title:"Script Runner",suiteRunner:!1,disableSuiteButtons:!1,suiteMap:{},filenameSelect:null,currentFilename:null,showSave:!1,showAlert:!1,alertType:null,alertText:"",state:null,scriptId:null,startOrGoButton:be,startOrGoDisabled:!1,envDisabled:!1,pauseOrRetryButton:Q,pauseOrRetryDisabled:!1,stopDisabled:!1,showEnvironment:!1,showDebug:!1,debug:"",debugHistory:[],debugHistoryIndex:0,showDisconnect:!1,files:{},breakpoints:{},enableStackTraces:!1,filename:P,readOnlyUser:!1,executeUser:!0,saveAllowed:!0,tempFilename:null,fileModified:"",fileOpen:!1,lockedBy:null,showEditingToast:!1,showSaveAs:!1,areYouSure:!1,subscription:null,cable:null,fatal:!1,updateInterval:null,receivedEvents:[],messages:[],messagesNewestOnTop:!0,inlineTab:"script",maxArrayLength:200,Range:ace.require("ace/range").Range,ask:{show:!1,question:"",default:null,password:!1,answerRequired:!0,callback:()=>{}},file:{show:!1,message:"",directory:null,filter:"*",multiple:!1,callback:()=>{}},prompt:{show:!1,title:"",subtitle:"",message:"",details:"",buttons:null,layout:"horizontal",callback:()=>{}},information:{show:!1,title:"",text:[],width:"600"},inputMetadata:{show:!1,events:[],callback:()=>{}},results:{show:!1,text:""},scriptEnvironment:{show:!1,env:[]},showSuiteError:!1,suiteError:"",executeSelectionMenu:!1,menuX:0,menuY:0,mnemonicChecker:new jt,showScripts:!1,showOverrides:!1,overridesCount:0,commandEditor:{show:!1,targetName:null,commandName:null,dialogError:null,cmdString:null,isEditing:!1,editLine:null},currentLineHasCommand:!1,activePromptId:"",api:null,timeZone:"local",screens:[],screenKeywords:null,idCounter:0,updateCounter:0,recent:[],waitingInterval:null,waitingTime:0,waitingStart:0,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1,editorBoxSize:50}},computed:{stateTimer:function(){return this.state==="waiting"||this.state==="paused"?`${this.state} ${this.waitingTime}s`:this.state==="completed_errors"?"completed":this.state},stateColorClass:function(){return this.state==="error"||this.state==="crashed"||this.state==="killed"?"script-state-red":this.state==="completed_errors"?"script-state-orange":this.state==="completed"?"script-state-green":""},fileList:function(){const i=Object.keys(this.files);return i.push(this.fullFilename),[...new Set(i)]},environmentModified:function(){return this.scriptEnvironment.env.length>0},isLocked:function(){return!!this.lockedBy},fullFilename:function(){return this.currentFilename?this.currentFilename:this.filename===P?P:`${this.filename} ${this.fileModified}`.trim()},filenameOrBlank:function(){return this.filename===P?"":this.filename},menus:function(){return[{label:"File",items:[{label:"New File",icon:"mdi-file-plus",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.newFileWithConfirm()}},{label:"New Suite",icon:"mdi-file-document-plus",disabled:this.scriptId||this.readOnlyUser,subMenu:[{label:"Ruby",icon:"mdi-language-ruby",command:()=>{this.newRubyTestSuite()}},{label:"Python",icon:"mdi-language-python",command:()=>{this.newPythonTestSuite()}}]},{label:"Open File",icon:"mdi-folder-open",disabled:this.scriptId,command:()=>{this.openFileWithConfirm()}},{label:"Open Recent",icon:"mdi-folder-open",disabled:this.scriptId,subMenu:this.recent},{divider:!0},{label:"Save File",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveFile()}},{label:"Save As...",icon:"mdi-content-save",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.saveAs()}},{divider:!0},{label:"Download",icon:"mdi-cloud-download",disabled:this.scriptId,command:()=>{this.download()}},{divider:!0},{label:"Delete File",icon:"mdi-delete",disabled:this.scriptId||this.readOnlyUser,command:()=>{this.delete()}}]},{label:"Edit",items:[{label:"Find",icon:"mdi-magnify",command:()=>{this.editor.execCommand("find")}},{label:"Replace",icon:"mdi-find-replace",disabled:this.scriptId,command:()=>{this.editor.execCommand("replace")}},{label:"Set Line Delay",icon:"mdi-invoice-text-clock",disabled:this.scriptId,command:()=>{this.$dialog.open({title:"Info",text:"You can set the line delay in seconds using the api method set_line_delay().<br/><br/>The default line delay is 0.1 seconds between lines. Adding set_line_delay(0) to the top of your script will execute the script at maximum speed. However, this can make it difficult to see and pause the script. Executing set_line_delay(1) will cause a 1 second delay between lines.",okText:"OK",okClass:"primary",validateText:null,cancelText:null,html:!0})}}]},{label:"Script",items:[{label:"Execution Status",icon:"mdi-run",command:()=>{this.showScripts=!0}},{divider:!0},{label:"Global Environment",icon:"mdi-library",disabled:this.scriptId,command:()=>{this.showEnvironment=!this.showEnvironment}},{label:"Metadata",icon:"mdi-calendar",disabled:this.scriptId,command:()=>{this.inputMetadata.callback=()=>{},this.showMetadata()}},{label:"Overrides",icon:"mdi-swap-horizontal",command:()=>{this.showOverrides=!0}},{divider:!0},{label:"Syntax Check",icon:"mdi-file-check",disabled:this.scriptId,command:()=>{this.syntaxCheck()}},{label:"Mnemonic Check",icon:"mdi-spellcheck",disabled:this.scriptId,command:()=>{this.checkMnemonics()}},{label:"Instrumented Script",icon:"mdi-code-braces-box",disabled:this.scriptId,command:()=>{this.showInstrumented()}},{label:"Call Stack",icon:"mdi-format-list-numbered",disabled:!this.scriptId,command:()=>{this.showCallStack()}},{divider:!0},{label:"Toggle Debug",icon:"mdi-bug",command:()=>{this.toggleDebug()}},{label:"Toggle Disconnect",icon:"mdi-connection",disabled:this.scriptId,command:()=>{this.toggleDisconnect()}},{label:"Enable Stack Traces",checkbox:!0,checked:this.enableStackTraces,disabled:this.scriptId,command:()=>{this.enableStackTraces=!this.enableStackTraces}},{divider:!0},{label:"Delete All Breakpoints",icon:"mdi-delete-circle-outline",disabled:this.scriptId,command:()=>{this.deleteAllBreakpoints()}}]}]}},watch:{isLocked:function(i){this.showEditingToast=i,this.suiteRunner||(this.startOrGoDisabled=i),this.readOnlyUser==!1&&i==!1?this.editor.setReadOnly(i):this.editor.setReadOnly(!0)},fullFilename:function(i){this.filenameSelect=i,this.inline||(i===P?localStorage.removeItem("script_runner__filename"):localStorage.script_runner__filename=i)},readOnlyUser:function(i){this.editor&&(i?(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none"):(this.editor.setReadOnly(!1),this.editor.renderer.$cursorLayer.element.style.display=null))},showOverrides:function(i,t){t&&!i&&this.updateOverridesCount()}},created:async function(){this.api=new V.yi,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(s=>{s&&(this.timeZone=s)}).catch(s=>{}),this.updateOverridesCount(),this.NEW_FILENAME=P;let i=OpenC3Auth.user(),t=OpenC3Auth.userroles();this.readOnlyUser=!0,this.executeUser=!1;for(let s of t)s!="viewer"&&(s=="admin"||s=="operator"?(this.readOnlyUser=!1,this.executeUser=!0):s=="runner"?this.executeUser=!0:await V.fi.get(`/openc3-api/roles/${s}`).then(r=>{r.data!==null&&r.data.permissions!==void 0&&(r.data.permissions.some(o=>o.permission=="script_edit")&&(this.readOnlyUser=!1),r.data.permissions.some(o=>o.permission=="script_run")&&(this.executeUser=!0))}));if(this.inline||(localStorage.script_runner__userinfo=JSON.stringify({name:i.preferred_username,readOnly:this.readOnlyUser,execute:this.executeUser})),this.readOnlyUser==!0){this.alertType="info";let s=`User ${i.preferred_username} is read only`;this.executeUser&&(s+=" but can execute scripts"),this.alertText=s,this.showAlert=!0}V.fi.get("/openc3-api/autocomplete/keywords/screen").then(s=>{this.screenKeywords=s.data}),this.inline&&(this.readOnly=!0)},mounted:async function(){var o,n;this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const i=this.buildRubyMode(),t=this.buildPythonMode();this.rubyMode=new i,this.pythonMode=new t,X.AceEditorUtils.getDefaultScriptingLanguage()==="python"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new Ht,new qt],this.editor.setHighlightActiveLine(!1),X.AceEditorUtils.applyVimModeIfEnabled(this.editor,{saveFn:this.saveFile}),this.editor.focus(),this.editor.on("guttermousedown",this.toggleBreakpoint),this.editor.session.on("tokenizerUpdate",this.onChange),this.readOnlyUser&&(this.editor.setReadOnly(!0),this.editor.renderer.$cursorLayer.element.style.display="none");const r=new Jt(this.editor);this.editor.session.on("change",(l,u)=>{r.annotate(l,u),this.updateBreakpoints(l,u)}),this.editor.container.addEventListener("resize",this.doResize),this.editor.container.addEventListener("keydown",this.keydown),this.cable=new V.gi("/script-api/cable"),!this.inline&&localStorage.script_runner__recent&&(this.recent=JSON.parse(localStorage.script_runner__recent),this.recent=this.recent.map(l=>({...l,command:async u=>{this.filename=u.label,await this.reloadFile()}}))),this.inline?this.body&&(this.editor.setValue(this.body),this.editor.clearSelection()):(o=this.$route.query)!=null&&o.file?(this.filename=this.$route.query.file,await this.reloadFile()):(n=this.$route.params)!=null&&n.id?await this.tryLoadRunningScript(this.$route.params.id):(this.scriptId=sessionStorage.getItem("script_runner__script_id"),this.scriptId?await this.tryLoadRunningScript(this.scriptId):localStorage.script_runner__filename&&(this.filename=localStorage.script_runner__filename,await this.reloadFile(!1))),this.updateInterval=setInterval(async()=>{this.processReceived()},100)},beforeUnmount(){this.scriptId&&!this.inline&&sessionStorage.setItem("script_runner__script_id",this.scriptId),this.editor.destroy(),this.editor.container.remove()},unmounted(){this.unlockFile(),this.updateInterval!=null&&clearInterval(this.updateInterval),this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.cable.disconnect()},methods:{updateOverridesCount:function(){this.api.get_overrides().then(i=>{this.overridesCount=i.length})},toggleVimMode(){X.AceEditorUtils.toggleVimMode(this.editor)},openCommandEditor(){this.executeSelectionMenu=!1;const i=this.editor.getCursorPosition(),t=this.editor.session.getLine(i.row);if(this.currentLineHasCommand){const s=this.parseCommandFromLine(t);this.commandEditor.cmdString=s,this.commandEditor.isEditing=!0,this.commandEditor.editLine=i.row}else this.commandEditor.cmdString=null,this.commandEditor.isEditing=!1,this.commandEditor.editLine=null;this.commandEditor.show=!0,this.commandEditor.dialogError=null},insertCommand(i){let t="";try{t=this.$refs.commandEditor.getCmdString();let s=t.split(" ");this.commandEditor.targetName=s[0],this.commandEditor.commandName=s[1]}catch(s){this.commandEditor.dialogError=s.message||"Please fix command parameters";return}if(this.commandEditor.isEditing&&this.commandEditor.editLine!==null){const s=this.editor.session.getLine(this.commandEditor.editLine),r=s.match(/^\s*/)[0],o=s.match(/\s+#.*$/),n=o?o[0]:"",l=`${r}cmd("${t}")${n}`,u=this.Range;this.editor.session.replace(new u(this.commandEditor.editLine,0,this.commandEditor.editLine,s.length),l)}else{const s=this.editor.getCursorPosition();this.editor.session.insert(s,`cmd("${t}")
5
+ `)}this.fileModified=!0,this.commandEditor.show=!1},closeCommandDialog:function(){this.commandEditor.show=!1},doResize(){this.editor.resize()},scriptDisconnect(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0},showMetadata(){V.fi.get("/openc3-api/metadata").then(i=>{this.inputMetadata.events=i.data.map(t=>({name:"Metadata",start:new Date(t.start*1e3),end:new Date(t.start*1e3),color:t.color,type:t.type,timed:!0,metadata:t})),this.inputMetadata.show=!0})},messageSortOrder(i){i==="Newest on Top"&&this.messagesNewestOnTop===!1?(this.messagesNewestOnTop=!0,this.messages.reverse()):i==="Newest on Bottom"&&this.messagesNewestOnTop===!0&&(this.messagesNewestOnTop=!1,this.messages.reverse())},fileNameChanged(i){i=i.split("*")[0],this.editor.setValue(this.files[i].content),this.restoreBreakpoints(i),this.editor.clearSelection(),this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(this.files[i].lineNo-1,0,this.files[i].lineNo-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(this.files[i].lineNo)},tryLoadRunningScript:function(i){return V.fi.get(`/script-api/running-script/${i}`).then(t=>{if(t.data){let s=t.data.state;s!=="completed"&&s!=="completed_errors"&&s!=="stopped"&&s!=="crashed"&&s!=="killed"?(this.filename=t.data.filename,this.tryLoadSuites(t),this.initScriptStart(),this.scriptStart(i)):(this.$notify.caution({title:`Script ${i} has already completed`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0)}else throw new Error(`Unable to load state for running script ${i}`)}).catch(t=>{this.$notify.caution({title:`Running Script ${i} not found`,body:"Check the Completed Scripts below ..."}),this.scriptComplete(),this.showScripts=!0})},tryLoadSuites:function(i){i.data.suites&&(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(i.data.suites)),this.doResize()},showExecuteSelectionMenu:function(i){this.menuX=i.pageX,this.menuY=i.pageY;const t=this.editor.getCursorPosition(),s=this.editor.session.getLine(t.row);this.currentLineHasCommand=this.isCommandLine(s),this.executeSelectionMenu=!0},isCommandLine:function(i){const t=i.trim();return/^\s*cmd(_\w+)?\s*\(/.test(t)},parseCommandFromLine:function(i){const t=i.match(/cmd(_\w+)?\s*\(\s*["'](.+?)["']\s*\)/);return t?t[2]:null},runFromCursor:function(){const i=this.editor.getCursorPosition().row+1;this.scriptId?V.fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,i]}}):this.start(null,null,i)},executeSelection:function(){const i=this.editor.getSelectionRange();let t=i.start.row+1,s=i.end.row+1;i.end.column===0&&(s-=1),this.scriptId?V.fi.post(`/script-api/running-script/${this.scriptId}/executewhilepaused`,{data:{args:[this.filenameSelect,t,s]}}):this.start(null,null,t,s)},clearBreakpoints:function(){this.editor.session.clearBreakpoints()},toggleBreakpoint:function(i){if(!this.scriptId){const t=i.getDocumentPosition().row;i.editor.session.getBreakpoints(t,0)[t]?i.editor.session.clearBreakpoint(t):i.editor.session.setBreakpoint(t)}},updateBreakpoints:function(i,t){if(i.lines.length<=1)return;const s=this.getBreakpointRows(t).filter(n=>i.start.column===0&&n===i.start.row||n>i.start.row);let r=[],o=0;switch(i.action){case"insert":o=i.lines.length-1,s.reverse();break;case"remove":o=-i.lines.length+1,r=[...Array(i.lines.length).keys()].map(n=>n+i.start.row);break}s.forEach(n=>{t.clearBreakpoint(n),r.includes(n)||t.setBreakpoint(n+o)})},getBreakpointRows:function(i=this.editor.session){return i.getBreakpoints().map((t,s)=>t&&s).filter(Number.isInteger)},restoreBreakpoints:function(i){var t;this.clearBreakpoints(),(t=this.breakpoints[i])==null||t.forEach(s=>{this.editor.session.setBreakpoint(s)})},deleteAllBreakpoints:function(){this.$dialog.confirm("Permanently delete all breakpoints for ALL scripts?",{okText:"Delete",cancelText:"Cancel"}).then(i=>V.fi.delete("/script-api/breakpoints/delete/all")).then(i=>{this.clearBreakpoints()})},suiteRunnerButton(i){this.startOrGoButton===be?this.start(i,"suiteRunner"):this.go(i,"suiteRunner")},async keydown(i){this.scriptId||this.editor.getReadOnly()===!0||(i.metaKey||i.ctrlKey)&&i.keyCode===83&&(i.shiftKey?(i.preventDefault(),this.saveAs()):(i.preventDefault(),await this.saveFile()))},onChange(i){this.scriptId||this.editor.getReadOnly()===!0||(this.editor.session.getUndoManager().canUndo()?this.fileModified="*":this.fileModified="")},checkMnemonics:function(){let i=this.filename;this.filename!==P&&(i.endsWith(".rb")||i.endsWith(".py")||V.fi.post(`/script-api/scripts/${this.filename}/mnemonics`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(t=>{let s="";s+=`<strong>${t.data.title}</strong><br/><br/>`,s+=JSON.parse(t.data.description),this.$dialog.alert(s.trim(),{html:!0})})),this.mnemonicChecker.checkText(this.editor.getValue()).then(({skipped:t,problems:s})=>{let r="";if(s.length){const o=s.map(n=>`${n.lineNumber}: ${n.error}`).join("<br/>");r+=`<strong>The following lines have problems:</strong><br/>${o}<br/><br/>`}t.length&&(r+="<strong>Mnemonics with string interpolation were not checked.</strong>"),r===""&&(r="<strong>Everything looks good!</strong>"),this.$dialog.alert(r.trim(),{html:!0})})},initScriptStart(){this.disableSuiteButtons=!0,this.startOrGoDisabled=!0,this.envDisabled=!0,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.state="Connecting...",this.startOrGoButton=Yt,this.editor.setReadOnly(!0)},scriptStart(i){this.$emit("script-id",i),this.scriptId=i,this.cable.createSubscription("RunningScriptChannel",window.openc3Scope,{received:t=>this.received(t)},{id:this.scriptId}).then(t=>{this.subscription=t})},async scriptComplete(){this.scriptId=null,sessionStorage.removeItem("script_runner__script_id"),this.currentFilename=null,this.files={},this.subscription&&(await this.subscription.unsubscribe(),this.subscription=null),this.receivedEvents.length=0,await this.reloadFile(),this.editor.session.getUndoManager().reset(),this.readOnlyUser==!1&&this.editor.setReadOnly(!1),this.disableSuiteButtons=!1,this.startOrGoButton=be,this.pauseOrRetryButton=Q,this.startOrGoDisabled=this.suiteRunner,this.envDisabled=!1,this.pauseOrRetryDisabled=!0,this.stopDisabled=!0,this.updateOverridesCount()},environmentHandler:function(i){this.scriptEnvironment.env=i},startHandler:function(){this.start()},async start(i=null,t=null,s=null,r=null){this.initScriptStart(),await this.saveFile("start"),this.saveAllowed=!1;let o=this.filename;this.filename===P&&(o=this.tempFilename);let n=`/script-api/scripts/${o}/run`;this.showDisconnect&&(n+="/disconnect");let l=this.scriptEnvironment.env;this.enableStackTraces&&(l=l.concat({key:"OPENC3_FULL_BACKTRACE",value:"1"}));let u={environment:l};t&&(u.suiteRunner=i),s!==null&&(u.line_no=s),r!==null&&(u.end_line_no=r),V.fi.post(n,{data:u}).then(d=>{this.scriptStart(d.data)}).catch(d=>{this.scriptComplete()})},go(){this.filenameSelect=this.currentFilename,this.fileNameChanged(this.currentFilename),V.fi.post(`/script-api/running-script/${this.scriptId}/go`)},pauseOrRetry(){this.pauseOrRetryButton===Q?V.fi.post(`/script-api/running-script/${this.scriptId}/pause`):(this.pauseOrRetryButton=Q,V.fi.post(`/script-api/running-script/${this.scriptId}/retry`))},stop(){V.fi.post(`/script-api/running-script/${this.scriptId}/stop`)},step(){V.fi.post(`/script-api/running-script/${this.scriptId}/step`)},handleWaiting(){if(this.state!=="waiting"&&this.state!=="paused")this.clearWaiting();else if(this.waitingInterval!==null)return;this.waitingStart=Date.now(),this.waitingInterval=setInterval(()=>{this.waitingTime=Math.round((Date.now()-this.waitingStart)/1e3)},1e3)},clearWaiting(){this.waitingTime=0,clearInterval(this.waitingInterval),this.waitingInterval=null},processLine(i){i.filename&&i.filename!==this.currentFilename&&(this.files[i.filename]?(this.currentFilename=i.filename,this.editor.setValue(this.files[i.filename].content),this.restoreBreakpoints(i.filename),this.editor.clearSelection()):(this.files[i.filename]={content:"",lineNo:0},V.fi.get(`/script-api/scripts/${i.filename}`).then(s=>{this.files[i.filename]={content:s.data.contents,lineNo:0},this.breakpoints[i.filename]=s.data.breakpoints,this.restoreBreakpoints(i.filename),this.currentFilename=null}).catch(s=>{this.files[i.filename]=null}))),this.state=i.state;const t=this.editor.session.getMarkers();switch(this.state){case"running":this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,this.pauseOrRetryButton=Q,this.removeAllMarkers(),this.editor.session.addMarker(new this.Range(i.line_no-1,0,i.line_no-1,1),"runningMarker","fullLine"),this.editor.gotoLine(i.line_no),this.files[i.filename].lineNo=i.line_no;break;case"error":this.pauseOrRetryButton=Zt;case"spawning":case"init":case"paused":case"waiting":case"breakpoint":if(this.handleWaiting(),this.startOrGoDisabled=!1,this.pauseOrRetryDisabled=!1,this.stopDisabled=!1,Object.keys(t).filter(r=>t[r].clazz===`${this.state}Marker`).length===0){this.removeAllMarkers();let r=i.line_no>0?i.line_no:1;this.editor.session.addMarker(new this.Range(r-1,0,r-1,1),`${this.state}Marker`,"fullLine"),this.editor.gotoLine(r),i.filename&&(this.files[i.filename].lineNo=r)}break;case"completed":case"completed_errors":case"stopped":case"crashed":case"killed":this.removeAllMarkers(),this.scriptComplete();break}},processReceived(){let i=0;for(let t of this.receivedEvents){i+=1;let s=0;switch(t.type){case"file":this.files[t.filename]={content:t.text,lineNo:0},this.breakpoints[t.filename]=t.breakpoints,this.currentFilename===t.filename&&this.restoreBreakpoints(t.filename);break;case"line":this.processLine(t);break;case"output":let r=t.line;r==null?r="":typeof r=="object"?r=JSON.stringify(r):r=String(r);for(const u of r.split(`
6
+ `))u&&(this.messagesNewestOnTop?this.messages.unshift({message:u}):this.messages.push({message:u}));for(;this.messages.length>this.maxArrayLength;)this.messages.pop();break;case"script":this.handleScript(t);break;case"report":this.results.text=t.report,this.results.show=!0;break;case"complete":this.removeAllMarkers(),this.scriptComplete();break;case"step":this.showDebug=!0;break;case"screen":let o=!1,n={};for(screen of this.screens){if(screen.target==t.target_name&&screen.screen==t.screen_name){n=screen,o=!0;break}s+=1}n.target=t.target_name,n.screen=t.screen_name,n.definition=t.definition,t.x?n.left=t.x:n.left=0,t.y?n.top=t.y:n.top=0,n.count=this.updateCounter++,o?this.screens[s]=n:(n.id=this.idCounter++,this.screens[this.screens.length]=n);break;case"clearscreen":for(screen of this.screens){if(screen.target==t.target_name&&screen.screen==t.screen_name){this.screens.splice(s,1);break}s+=1}break;case"clearallscreens":this.screens=[];break;case"downloadfile":const l=document.createElement("a");l.href=window.location.origin+t.url,l.setAttribute("download",t.filename),l.click();break}}this.receivedEvents.splice(0,i)},received(i){this.cable.recordPing(),this.receivedEvents.push(i)},promptDialogCallback(i){this.prompt.show=!1,V.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.prompt.method,answer:i,prompt_id:this.activePromptId,multiple:this.prompt.multiple}})},handleScript(i){if(i.prompt_complete){this.activePromptId="",this.prompt.show=!1,this.ask.show=!1;return}switch(this.activePromptId=i.prompt_id,this.prompt.method=i.method,this.prompt.layout="horizontal",this.prompt.title="Prompt",this.prompt.subtitle="",this.prompt.details="",this.prompt.buttons=[],this.prompt.multiple=null,i.method){case"ask":case"ask_string":this.ask.default=null,this.ask.answerRequired=!0,this.ask.password=!1,this.ask.question=i.args[0],i.args[1]&&i.args[1]!==!0&&i.args[1]!==!1?this.ask.default=i.args[1].toString():i.args[1]===!0&&(this.ask.answerRequired=!1),i.args[2]===!0&&(this.ask.password=!0),this.ask.callback=t=>{this.ask.show=!1,this.ask.password?V.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,password:t,prompt_id:this.activePromptId}}):V.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,answer:t,prompt_id:this.activePromptId}})},this.ask.show=!0;break;case"prompt_for_hazardous":this.prompt.title="Hazardous Command",this.prompt.message=`Warning: Command ${i.args[0]} ${i.args[1]} is Hazardous. `,i.args[2]&&(this.prompt.message+=i.args[2]+" "),this.prompt.message+="Send?",this.prompt.buttons=[{text:"Send",value:"Send"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"prompt_for_critical_cmd":this.criticalCmdUuid=i.args[0],this.criticalCmdString=i.args[5],this.criticalCmdUser=i.args[1],this.displayCriticalCmd=!0;break;case"prompt":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),this.prompt.message=i.args[0],this.prompt.buttons=[{text:"Ok",value:"Ok"}],this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"combo_box":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),i.kwargs&&i.kwargs.multiple&&(this.prompt.multiple=!0),this.prompt.message=i.args[0],i.args.slice(1).forEach(t=>{this.prompt.buttons.push({title:t,value:t})}),this.prompt.layout="combo",this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"message_box":case"vertical_message_box":i.kwargs&&i.kwargs.informative&&(this.prompt.subtitle=i.kwargs.informative),i.kwargs&&i.kwargs.details&&(this.prompt.details=i.kwargs.details),this.prompt.message=i.args[0],i.args.slice(1).forEach(t=>{this.prompt.buttons.push({text:t,value:t})}),i.method.includes("vertical")&&(this.prompt.layout="vertical"),this.prompt.callback=this.promptDialogCallback,this.prompt.show=!0;break;case"backtrace":this.information.title="Call Stack",this.information.text=i.args,this.information.show=!0,this.information.width="600";break;case"metadata_input":this.inputMetadata.callback=t=>{this.inputMetadata.show=!1,V.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:i.method,answer:t,prompt_id:this.activePromptId}})},this.showMetadata();break;case"open_file_dialog":case"open_files_dialog":this.file.title=i.args[0],this.file.message=i.args[1],i.kwargs&&i.kwargs.filter&&(this.file.filter=i.kwargs.filter),i.method=="open_files_dialog"&&(this.file.multiple=!0),this.file.show=!0;break}},async fileDialogCallback(i){let t="Cancel",s=[];i!="Cancel"&&(t=[],i.forEach(r=>{t.push(r.name),s.push(V.fi.get(`/openc3-api/storage/upload/${encodeURIComponent(`${window.openc3Scope}/tmp/${r.name}`)}?bucket=OPENC3_CONFIG_BUCKET`).then(o=>{s.push(ze.axios({...o.data,data:r}))}))})),Promise.all(s).then(r=>{V.fi.post(`/script-api/running-script/${this.scriptId}/prompt`,{data:{method:this.file.multiple?"open_files_dialog":"open_file_dialog",answer:t,prompt_id:this.activePromptId}}).then(o=>{this.file.show=!1})})},setError(i){this.alertType="error",this.alertText=`Error: ${i}`,this.showAlert=!0},async confirmUnsavedChanges(){return this.fileModified==="*"?await this.$dialog.confirm("You have unsaved changes. Are you sure you want to continue?",{okText:"Continue",cancelText:"Cancel"}):!0},async newFileWithConfirm(){await this.confirmUnsavedChanges()&&this.newFile()},newFile(){this.unlockFile(),this.filename=P,this.currentFilename=null,this.tempFilename=null,this.files={},this.editor.session.setValue(""),this.saveAllowed=!0,this.fileModified="",this.suiteRunner=!1,this.startOrGoDisabled=!1,this.envDisabled=!1,this.inline||(this.$router.replace({name:"ScriptRunner"}).catch(i=>{}),document.title="Script Runner"),this.doResize()},async newRubyTestSuite(){await this.confirmUnsavedChanges()&&(this.newFile(),this.editor.session.setValue(`require 'openc3/script/suite.rb'
7
7
 
8
8
  # Group class name should indicate what the scripts are testing
9
9
  class Power < OpenC3::Group
@@ -81,6 +81,6 @@ class TestSuite(Suite):
81
81
  # Run when Suite Teardown button is pressed
82
82
  # Run after all groups when Suite Start is pressed
83
83
  pass
84
- `),await this.saveFile("auto"))},addToRecent(i){let t=this.recent.findIndex(s=>s.label===i);t!==-1&&this.recent.splice(t,1),this.recent.unshift({label:i,icon:Fe.fileIcon(i),command:async s=>{await this.confirmUnsavedChanges()&&(this.filename=s.label,await this.reloadFile())}}),this.recent.length>8&&this.recent.pop(),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},removeFromRecent(i){this.recent=this.recent.filter(t=>t.label!==i),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent),localStorage.script_runner__filename===i&&localStorage.removeItem("script_runner__filename"))},async openFileWithConfirm(){await this.confirmUnsavedChanges()&&this.openFile()},openFile(){this.fileOpen=!0},async reloadFile(i=!0){this.saveAllowed=!1,this.startOrGoDisabled=!0,await y.fi.get(`/script-api/scripts/${this.filename}`,{headers:{Accept:"application/json","Ignore-Errors":"404"}}).then(t=>{const s={name:this.filename,contents:t.data.contents};t.data.suites&&(s.suites=JSON.parse(t.data.suites)),t.data.error&&(s.error=t.data.error),t.data.success&&(s.success=t.data.success);const r=t.data.locked,o=t.data.breakpoints;this.setFile({file:s,locked:r,breakpoints:o},!0),this.saveAllowed=!0}).catch(t=>{i===!0&&this.$notify.caution({title:"File Open Error",body:`Failed to open ${this.filename} due to ${t}`}),this.removeFromRecent(this.filename),this.newFile()})},setFile({file:i,locked:t,breakpoints:s},r=!1){this.files={};let o=i.name.split("*")[0];if(r===!1&&this.filename!==o&&(this.unlockFile(),this.lockedBy=t),this.filename=o,!this.inline){this.$router.replace({name:"ScriptRunner",query:{file:this.filename}}).catch(l=>{});let n=this.filename.split("/");document.title=`${n.pop()} (${n.join("/")})`}this.filename.split(".").pop()==="py"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.currentFilename=null,this.editor.session.setValue(i.contents),this.breakpoints[this.filename]=s,this.restoreBreakpoints(this.filename),this.fileModified="",this.envDisabled=!1,this.addToRecent(this.filename),i.suites?(this.suiteRunner=!0,this.suiteMap=i.suites,this.startOrGoDisabled=!0):(this.suiteRunner=!1,this.startOrGoDisabled=!1),i.error&&(this.suiteError=i.error,this.showSuiteError=!0),this.disableSuiteButtons=i.success==!1,this.doResize()},clearTemp(){this.recent=this.recent.filter(i=>!i.label.includes("__TEMP__")),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},detectLanguage(){let i=new RegExp("^\\s*(require|load|puts) "),t=new RegExp("^\\s*(import|from) "),s=new RegExp("^\\s*end\\s*$"),r=new RegExp("^\\s*(if|def|while|else|elif|class).*:\\s*$"),o=/\(f"/,n=/\(.*\w+:\s+.+\)(?!:)$/,u=this.editor.getValue().split(`
85
- `);for(let d of u){if(d.match(i))return"ruby";if(d.match(t))return"python";if(d.match(s))return"ruby";if(d.match(r)||d.match(o))return"python";if(d.match(n))return"ruby"}return"unknown"},async saveFile(i="menu"){if(!this.readOnlyUser)if(this.saveAllowed){const t=this.getBreakpointRows();if(this.filename===P){if(i==="menu"){this.saveAs();return}else if(this.tempFilename===null){let s=this.detectLanguage();if(s==="unknown"&&(s=X.AceEditorUtils.getDefaultScriptingLanguage()),s==="ruby")this.tempFilename=Ee+"/"+ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_temp.rb";else if(s==="python")this.tempFilename=Ee+"/"+ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_temp.py";else return;this.filename=this.tempFilename,this.addToRecent(this.filename)}}this.showSave=!0,await y.fi.post(`/script-api/scripts/${this.filename}`,{data:{text:this.editor.getValue(),breakpoints:t}}).then(s=>{s.status==200?(s.data.suites?(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(s.data.suites)):(this.startOrGoDisabled=!1,this.suiteRunner=!1,this.suiteMap={}),s.data.error&&(this.suiteError=s.data.error,this.showSuiteError=!0),this.fileModified="",setTimeout(()=>{this.showSave=!1},2e3)):(this.showSave=!1,this.alertType="error",this.alertText=`Error saving file. Code: ${s.status} Text: ${s.statusText}`,this.showAlert=!0),this.lockFile(),this.doResize()}).catch(({response:s})=>{this.showSave=!1,s.status==422?(this.alertType="error",this.alertText=s.data.suites):(this.alertType="error",this.alertText=`Error saving file. Code: ${s.status} Text: ${s.statusText}`),this.showAlert=!0})}else this.setError("Attempt to save file when not allowed")},saveAs(){this.showSaveAs=!0},async saveAsFilename(i){this.filename=i.split("*")[0],this.currentFilename=null,this.tempFilename&&(y.fi.post(`/script-api/scripts/${this.tempFilename}/delete`),this.tempFilename=null),await this.saveFile("menu")},delete(){let i=this.filename;this.tempFilename&&(i=this.tempFilename),this.$dialog.confirm(`Permanently delete file: ${i}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>y.fi.post(`/script-api/scripts/${i}/delete`,{data:{}})).then(t=>{this.removeFromRecent(i),this.newFile()}).catch(t=>{if(t!==!0){const s={text:`Failed Multi-Delete. ${t}`,type:"error"};this.$emit("alert",s)}})},download(){const i=new Blob([this.editor.getValue()],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.setAttribute("download",this.filename),t.click()},syntaxCheck(){y.fi.post(`/script-api/scripts/${this.filename}/syntax`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(i=>{this.information.title=i.data.title,this.information.text=JSON.parse(i.data.description),this.information.show=!0,this.information.width="600"})},showInstrumented(){y.fi.post(`/script-api/scripts/${this.filename}/instrumented`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(i=>{this.information.title=i.data.title,this.information.text=JSON.parse(i.data.description),this.information.show=!0,this.information.width="90vw"})},showCallStack(){y.fi.post(`/script-api/running-script/${this.scriptId}/backtrace`)},toggleDebug(){this.showDebug=!this.showDebug,this.showDebug&&this.$nextTick(()=>{this.$refs.debug.focus()})},toggleDisconnect(){this.showDisconnect=!this.showDisconnect},debugKeydown(i){i.key==="Escape"?(this.debug="",this.debugHistoryIndex=this.debugHistory.length):i.key==="Enter"?(this.debugHistory.push(this.debug),this.debugHistoryIndex=this.debugHistory.length,y.fi.post(`/script-api/running-script/${this.scriptId}/debug`,{data:{args:this.debug}}),this.debug=""):i.key==="ArrowUp"?(this.debugHistoryIndex-=1,this.debugHistoryIndex<0&&(this.debugHistoryIndex=this.debugHistory.length-1),this.debug=this.debugHistory[this.debugHistoryIndex],i.preventDefault()):i.key==="ArrowDown"&&(this.debugHistoryIndex+=1,this.debugHistoryIndex>=this.debugHistory.length&&(this.debugHistoryIndex=0),this.debug=this.debugHistory[this.debugHistoryIndex])},removeAllMarkers:function(){const i=this.editor.session.getMarkers();Object.keys(i).filter(t=>i[t].type==="fullLine").forEach(t=>this.editor.session.removeMarker(t))},confirmLocalUnlock:function(){this.$dialog.confirm("Are you sure you want to unlock this script for editing? If another user is editing this script, your changes might conflict with each other.",{okText:"Force Unlock",cancelText:"Cancel"}).then(()=>(this.lockedBy=null,this.lockFile()))},lockFile:function(){if(!this.readOnlyUser)return y.fi.post(`/script-api/scripts/${this.filename}/lock`)},unlockFile:function(){this.filename!==P&&!this.readOnly&&!this.readOnlyUser&&y.fi.post(`/script-api/scripts/${this.filename}/unlock`)},backToNewScript:async function(){this.scriptDisconnect(),this.removeAllMarkers(),await this.scriptComplete(),this.newFile()},screenId(i){return"scriptRunnerScreen"+i},closeScreen(i){let t=0;for(screen of this.screens){if(screen.id==i){this.screens.splice(t,1);break}t+=1}}}},Qt={class:"grid"},$t=["id"],ei={class:"item-content"},ti={id:"sr-controls"},ii={class:"d-flex align-center mr-1"},oi={key:0},ni={key:1},si={key:2,style:{width:"40px",height:"40px"},class:"mx-2"},ri={key:3},li={key:4},ai={key:0,id:"debug",class:"pa-0"},di={key:1,style:{"background-color":"var(--color-background-base-default)",margin:"0px",padding:"0px"}},ci={key:0},ui={key:1},mi={style:{height:"200px",overflow:"hidden"}},pi={key:0,class:"error-message"},hi={class:"flex-grow-1"};function fi(i,t,s,r,o,n){const l=e.resolveComponent("top-bar"),u=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),v=e.resolveComponent("v-snackbar"),_=e.resolveComponent("openc3-screen"),b=e.resolveComponent("suite-runner"),w=e.resolveComponent("v-tooltip"),k=e.resolveComponent("v-select"),x=e.resolveComponent("v-text-field"),N=e.resolveComponent("v-progress-circular"),g=e.resolveComponent("v-spacer"),E=e.resolveComponent("v-badge"),D=e.resolveComponent("v-row"),A=e.resolveComponent("v-card-text"),q=e.resolveComponent("v-card"),U=e.resolveComponent("v-list-item"),G=e.resolveComponent("v-divider"),S=e.resolveComponent("v-list"),B=e.resolveComponent("v-menu"),W=e.resolveComponent("pane"),F=e.resolveComponent("script-log-messages"),ue=e.resolveComponent("splitpanes"),se=e.resolveComponent("v-tab"),me=e.resolveComponent("v-tabs"),J=e.resolveComponent("v-col"),re=e.resolveComponent("v-tabs-window-item"),K=e.resolveComponent("v-tabs-window"),le=e.resolveComponent("file-open-save-dialog"),pe=e.resolveComponent("environment-dialog"),he=e.resolveComponent("ask-dialog"),Y=e.resolveComponent("file-dialog"),fe=e.resolveComponent("information-dialog"),ge=e.resolveComponent("event-list-dialog"),ve=e.resolveComponent("overrides-dialog"),Z=e.resolveComponent("prompt-dialog"),M=e.resolveComponent("results-dialog"),we=e.resolveComponent("script-environment-dialog"),a=e.resolveComponent("simple-text-dialog"),m=e.resolveComponent("critical-cmd-dialog"),f=e.resolveComponent("v-card-title"),p=e.resolveComponent("command-editor"),h=e.resolveComponent("v-card-actions"),C=e.resolveComponent("v-dialog"),V=e.resolveComponent("running-scripts"),T=e.resolveComponent("v-sheet"),O=e.resolveComponent("v-bottom-sheet");return e.openBlock(),e.createElementBlock(e.Fragment,null,[s.inline?(e.openBlock(),e.createElementBlock("div",di,[e.createVNode(me,{modelValue:o.inlineTab,"onUpdate:modelValue":t[15]||(t[15]=c=>o.inlineTab=c),density:"compact"},{default:e.withCtx(()=>[e.createVNode(se,{value:"script",text:"Script","data-test":"script-tab"}),e.createVNode(se,{value:"messages",text:"Messages","data-test":"messages-tab"})]),_:1},8,["modelValue"]),e.createVNode(K,{modelValue:o.inlineTab,"onUpdate:modelValue":t[18]||(t[18]=c=>o.inlineTab=c)},{default:e.withCtx(()=>[e.createVNode(re,{value:"script"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(J,{class:"v-col-10",style:{margin:"15px 0px 0px 0px",padding:"0px"}},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"editor",style:{height:"200px"},onContextmenu:t[16]||(t[16]=e.withModifiers((...c)=>n.showExecuteSelectionMenu&&n.showExecuteSelectionMenu(...c),["prevent"]))},null,544)]),_:1}),e.createVNode(J,{class:"v-col-2",style:{display:"flex","justify-content":"center","align-items":"center","background-color":"var(--color-background-surface-default)"}},{default:e.withCtx(()=>[o.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",ci,[e.createVNode(d,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:o.startOrGoDisabled||!o.executeUser,hidden:o.suiteRunner,onClick:n.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",ui,[e.createVNode(d,{color:"primary",class:"ma-2",text:"Go",disabled:o.startOrGoDisabled,"data-test":"go-button",onClick:n.go},null,8,["disabled","onClick"]),e.createVNode(d,{color:"primary",class:"ma-2",text:o.pauseOrRetryButton,disabled:o.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:n.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(d,{color:"primary",class:"ma-2",text:"Stop","data-test":"stop-button",disabled:o.stopDisabled,onClick:n.stop},null,8,["disabled","onClick"])]))]),_:1})]),_:1})]),_:1}),e.createVNode(re,{value:"messages"},{default:e.withCtx(()=>[e.createElementVNode("div",mi,[e.createVNode(F,{modelValue:o.messages,"onUpdate:modelValue":t[17]||(t[17]=c=>o.messages=c),"newest-on-top":o.messagesNewestOnTop,onMessageOrderChanged:i.messageOrderChanged},null,8,["modelValue","newest-on-top","onMessageOrderChanged"])])]),_:1})]),_:1},8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"d-flex flex-column overflow-hidden",style:e.normalizeStyle({height:r.containerHeight})},[e.createVNode(l,{menus:n.menus,title:o.title},null,8,["menus","title"]),e.createVNode(v,{modelValue:o.showAlert,"onUpdate:modelValue":t[1]||(t[1]=c=>o.showAlert=c),absolute:"",color:o.alertType,timeout:3e3,class:"apply-top",style:e.normalizeStyle(i.classificationStyles)},{actions:e.withCtx(({attrs:c})=>[e.createVNode(d,e.mergeProps({variant:"text",text:"Close"},c,{onClick:t[0]||(t[0]=L=>o.showAlert=!1)}),null,16)]),default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createTextVNode(" mdi-"+e.toDisplayString(o.alertType),1)]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.alertText)+" ",1)]),_:1},8,["modelValue","color","style"]),e.createVNode(v,{modelValue:o.showEditingToast,"onUpdate:modelValue":t[3]||(t[3]=c=>o.showEditingToast=c),absolute:"",class:"apply-top",style:e.normalizeStyle(i.classificationStyles),timeout:-1,color:"orange"},{actions:e.withCtx(({attrs:c})=>[e.createVNode(d,e.mergeProps({variant:"text"},c,{color:"danger",text:"Unlock","data-test":"unlock-button",onClick:n.confirmLocalUnlock}),null,16,["onClick"]),e.createVNode(d,e.mergeProps({variant:"text",text:"Dismiss"},c,{onClick:t[2]||(t[2]=()=>{o.showEditingToast=!1})}),null,16)]),default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[...t[44]||(t[44]=[e.createTextVNode(" mdi-pencil-off ",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.lockedBy)+" is editing this script. Editor is in read-only mode ",1)]),_:1},8,["modelValue","style"]),e.createElementVNode("div",Qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.screens,c=>(e.openBlock(),e.createElementBlock("div",{id:n.screenId(c.id),key:c.id,ref_for:!0,ref:"gridItem",class:"item"},[e.createElementVNode("div",ei,[e.createVNode(_,{target:c.target,screen:c.screen,definition:c.definition,keywords:o.screenKeywords,"initial-floated":!0,"initial-top":c.top,"initial-left":c.left,"initial-z":3,"min-z":3,"fix-floated":!0,count:c.count,onCloseScreen:L=>n.closeScreen(c.id),onDeleteScreen:L=>n.closeScreen(c.id)},null,8,["target","screen","definition","keywords","initial-top","initial-left","count","onCloseScreen","onDeleteScreen"])])],8,$t))),128))]),e.createVNode(q,{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(A,null,{default:e.withCtx(()=>[o.suiteRunner?(e.openBlock(),e.createBlock(b,{key:0,class:"suite-runner","suite-map":o.suiteMap,"disable-buttons":o.disableSuiteButtons,filename:n.fullFilename,onButton:n.suiteRunnerButton,onLoaded:n.doResize},null,8,["suite-map","disable-buttons","filename","onButton","onLoaded"])):e.createCommentVNode("",!0),e.createElementVNode("div",ti,[e.createVNode(D,{"no-gutters":"",justify:"space-between"},{default:e.withCtx(()=>[o.showDisconnect?(e.openBlock(),e.createBlock(u,{key:0,class:"mt-2",color:"red"},{default:e.withCtx(()=>[...t[45]||(t[45]=[e.createTextVNode(" mdi-connection ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ii,[e.createVNode(w,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[o.scriptId?(e.openBlock(),e.createBlock(d,e.mergeProps({key:1},c,{icon:"mdi-arrow-left",variant:"text",density:"compact",onClick:n.backToNewScript}),null,16,["onClick"])):(e.openBlock(),e.createBlock(d,e.mergeProps({key:0},c,{icon:"mdi-cached",variant:"text",density:"compact",disabled:o.filename===i.NEW_FILENAME,"aria-label":"Reload File",onClick:n.reloadFile}),null,16,["disabled","onClick"]))]),default:e.withCtx(()=>[o.scriptId?(e.openBlock(),e.createElementBlock("span",ni," Back to New Script ")):(e.openBlock(),e.createElementBlock("span",oi," Reload File "))]),_:1})]),e.createVNode(w,{location:"bottom",text:o.filenameSelect,disabled:!o.filenameSelect||o.filenameSelect.length<=45},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.mergeProps(c,{style:{width:"32rem"}}),[e.createVNode(k,{id:"filename",modelValue:o.filenameSelect,"onUpdate:modelValue":[t[4]||(t[4]=L=>o.filenameSelect=L),n.fileNameChanged],items:n.fileList,disabled:n.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(x,{modelValue:o.scriptId,"onUpdate:modelValue":t[5]||(t[5]=c=>o.scriptId=c),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(x,{modelValue:n.stateTimer,"onUpdate:modelValue":t[6]||(t[6]=c=>n.stateTimer=c),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",n.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),o.state==="Connecting..."?(e.openBlock(),e.createBlock(N,{key:1,size:40,class:"mx-2",indeterminate:"",color:"primary"})):(e.openBlock(),e.createElementBlock("div",si)),e.createVNode(g),o.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",ri,[e.createVNode(w,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{class:"mr-2",icon:"",variant:"text",density:"compact",disabled:o.envDisabled,"data-test":"env-button","aria-label":"Script Environment",onClick:t[8]||(t[8]=L=>o.scriptEnvironment.show=!o.scriptEnvironment.show)}),{default:e.withCtx(()=>[e.createVNode(E,{modelValue:n.environmentModified,"onUpdate:modelValue":t[7]||(t[7]=L=>n.environmentModified=L),floating:"",dot:""},{default:e.withCtx(()=>[e.createVNode(u,{icon:"mdi-application-variable"})]),_:1},8,["modelValue"])]),_:1},16,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,[t[46]||(t[46]=e.createTextVNode(" Script Environment ",-1)),n.environmentModified?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" (modified) ")],64)):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(d,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:o.startOrGoDisabled||!o.executeUser,hidden:o.suiteRunner,onClick:n.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",li,[e.createVNode(d,{color:"primary",class:"mr-2",text:"Go",disabled:o.startOrGoDisabled,"data-test":"go-button",onClick:n.go},null,8,["disabled","onClick"]),e.createVNode(d,{color:"primary",class:"mr-2",text:o.pauseOrRetryButton,disabled:o.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:n.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(d,{color:"primary",text:"Stop","data-test":"stop-button",disabled:o.stopDisabled,onClick:n.stop},null,8,["disabled","onClick"])]))]),_:1})])]),_:1})]),_:1}),e.createVNode(ue,{horizontal:"",class:"flex-grow-1 overflow-hidden",onResize:t[14]||(t[14]=({prevPane:c})=>o.editorBoxSize=c.size)},{default:e.withCtx(()=>[e.createVNode(W,{class:"editorbox",size:o.editorBoxSize},{default:e.withCtx(()=>[e.createVNode(v,{modelValue:o.showSave,"onUpdate:modelValue":t[9]||(t[9]=c=>o.showSave=c),absolute:"",location:"right",timeout:-1,class:"saving apply-top",style:e.normalizeStyle(i.classificationStyles)},{default:e.withCtx(()=>[...t[47]||(t[47]=[e.createTextVNode(" Saving... ",-1)])]),_:1},8,["modelValue","style"]),e.createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:t[10]||(t[10]=e.withModifiers((...c)=>n.showExecuteSelectionMenu&&n.showExecuteSelectionMenu(...c),["prevent"]))},null,544),e.createVNode(B,{modelValue:o.executeSelectionMenu,"onUpdate:modelValue":t[11]||(t[11]=c=>o.executeSelectionMenu=c),target:[o.menuX,o.menuY]},{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(U,{title:o.currentLineHasCommand?"Edit Command":"Insert Command",onClick:n.openCommandEditor},null,8,["title","onClick"]),e.createVNode(G),e.createVNode(U,{title:"Execute Selection",onClick:n.executeSelection},null,8,["onClick"]),o.scriptId?(e.openBlock(),e.createBlock(U,{key:0,title:"Goto Line",onClick:n.runFromCursor},null,8,["onClick"])):e.createCommentVNode("",!0),o.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(U,{key:1,title:"Run From Line",onClick:n.runFromCursor},null,8,["onClick"])),o.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(U,{key:2,title:"Clear Local Breakpoints",onClick:n.clearBreakpoints},null,8,["onClick"])),e.createVNode(G),e.createVNode(U,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:n.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1},8,["size"]),e.createVNode(W,{id:"messages",class:"mt-2",size:100-o.editorBoxSize},{default:e.withCtx(()=>[o.showDebug?(e.openBlock(),e.createElementBlock("div",ai,[e.createVNode(D,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{color:"primary",style:{width:"100px"},class:"mr-4",text:"Step","append-icon":"mdi-step-forward",disabled:!o.scriptId,"data-test":"step-button",onClick:n.step},null,8,["disabled","onClick"]),e.createVNode(x,{ref:"debug",modelValue:o.debug,"onUpdate:modelValue":t[12]||(t[12]=c=>o.debug=c),class:"mb-2",variant:"outlined",density:"compact","hide-details":"",label:"Debug","data-test":"debug-text",onKeydown:n.debugKeydown},null,8,["modelValue","onKeydown"])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(F,{id:"log-messages",modelValue:o.messages,"onUpdate:modelValue":t[13]||(t[13]=c=>o.messages=c),onSort:n.messageSortOrder},null,8,["modelValue","onSort"])]),_:1},8,["size"])]),_:1})],4)),o.fileOpen?(e.openBlock(),e.createBlock(le,{key:2,modelValue:o.fileOpen,"onUpdate:modelValue":t[19]||(t[19]=c=>o.fileOpen=c),type:"open","api-url":"/script-api/scripts",onFile:t[20]||(t[20]=c=>n.setFile(c)),onError:t[21]||(t[21]=c=>n.setError(c)),onClearTemp:t[22]||(t[22]=c=>n.clearTemp(c))},null,8,["modelValue"])):e.createCommentVNode("",!0),o.showSaveAs?(e.openBlock(),e.createBlock(le,{key:3,modelValue:o.showSaveAs,"onUpdate:modelValue":t[23]||(t[23]=c=>o.showSaveAs=c),type:"save","api-url":"/script-api/scripts","require-target-parent-dir":"","input-filename":n.filenameOrBlank,onFilename:t[24]||(t[24]=c=>n.saveAsFilename(c)),onError:t[25]||(t[25]=c=>n.setError(c)),onClearTemp:t[26]||(t[26]=c=>n.clearTemp(c))},null,8,["modelValue","input-filename"])):e.createCommentVNode("",!0),o.showEnvironment?(e.openBlock(),e.createBlock(pe,{key:4,modelValue:o.showEnvironment,"onUpdate:modelValue":t[27]||(t[27]=c=>o.showEnvironment=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),o.ask.show?(e.openBlock(),e.createBlock(he,{key:5,modelValue:o.ask.show,"onUpdate:modelValue":t[28]||(t[28]=c=>o.ask.show=c),question:o.ask.question,default:o.ask.default,password:o.ask.password,"answer-required":o.ask.answerRequired,onResponse:o.ask.callback},null,8,["modelValue","question","default","password","answer-required","onResponse"])):e.createCommentVNode("",!0),o.file.show?(e.openBlock(),e.createBlock(Y,{key:6,modelValue:o.file.show,"onUpdate:modelValue":t[29]||(t[29]=c=>o.file.show=c),title:o.file.title,message:o.file.message,multiple:o.file.multiple,filter:o.file.filter,onResponse:n.fileDialogCallback},null,8,["modelValue","title","message","multiple","filter","onResponse"])):e.createCommentVNode("",!0),o.information.show?(e.openBlock(),e.createBlock(fe,{key:7,modelValue:o.information.show,"onUpdate:modelValue":t[30]||(t[30]=c=>o.information.show=c),title:o.information.title,text:o.information.text,width:o.information.width},null,8,["modelValue","title","text","width"])):e.createCommentVNode("",!0),o.inputMetadata.show?(e.openBlock(),e.createBlock(ge,{key:8,modelValue:o.inputMetadata.show,"onUpdate:modelValue":t[31]||(t[31]=c=>o.inputMetadata.show=c),events:o.inputMetadata.events,"time-zone":o.timeZone,"new-metadata":"",onClose:o.inputMetadata.callback},null,8,["modelValue","events","time-zone","onClose"])):e.createCommentVNode("",!0),o.showOverrides?(e.openBlock(),e.createBlock(ve,{key:9,modelValue:o.showOverrides,"onUpdate:modelValue":t[32]||(t[32]=c=>o.showOverrides=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),o.prompt.show?(e.openBlock(),e.createBlock(Z,{key:10,modelValue:o.prompt.show,"onUpdate:modelValue":t[33]||(t[33]=c=>o.prompt.show=c),title:o.prompt.title,subtitle:o.prompt.subtitle,message:o.prompt.message,details:o.prompt.details,buttons:o.prompt.buttons,layout:o.prompt.layout,multiple:o.prompt.multiple,onResponse:o.prompt.callback},null,8,["modelValue","title","subtitle","message","details","buttons","layout","multiple","onResponse"])):e.createCommentVNode("",!0),o.results.show?(e.openBlock(),e.createBlock(M,{key:11,modelValue:o.results.show,"onUpdate:modelValue":t[34]||(t[34]=c=>o.results.show=c),text:o.results.text},null,8,["modelValue","text"])):e.createCommentVNode("",!0),o.scriptEnvironment.show?(e.openBlock(),e.createBlock(we,{key:12,modelValue:o.scriptEnvironment.show,"onUpdate:modelValue":t[35]||(t[35]=c=>o.scriptEnvironment.show=c),"input-environment":o.scriptEnvironment.env,onEnvironment:n.environmentHandler},null,8,["modelValue","input-environment","onEnvironment"])):e.createCommentVNode("",!0),e.createVNode(a,{modelValue:o.showSuiteError,"onUpdate:modelValue":t[36]||(t[36]=c=>o.showSuiteError=c),title:"Suite Analysis Error",text:o.suiteError,width:1e3},null,8,["modelValue","text"]),e.createVNode(m,{modelValue:o.displayCriticalCmd,"onUpdate:modelValue":t[37]||(t[37]=c=>o.displayCriticalCmd=c),uuid:o.criticalCmdUuid,"cmd-string":o.criticalCmdString,"cmd-user":o.criticalCmdUser,persistent:!0,onStatus:n.promptDialogCallback},null,8,["modelValue","uuid","cmd-string","cmd-user","onStatus"]),e.createVNode(C,{modelValue:o.commandEditor.show,"onUpdate:modelValue":t[41]||(t[41]=c=>o.commandEditor.show=c),"max-width":"1200",persistent:"",scrollable:"",onKeydown:e.withKeys(n.closeCommandDialog,["esc"])},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(f,{class:"d-flex align-center"},{default:e.withCtx(()=>[t[48]||(t[48]=e.createElementVNode("span",null,"Insert Command",-1)),e.createVNode(g),e.createVNode(d,{icon:"mdi-close",variant:"text",onClick:n.closeCommandDialog},null,8,["onClick"])]),_:1}),e.createVNode(A,{class:"pa-0"},{default:e.withCtx(()=>[o.commandEditor.dialogError?(e.openBlock(),e.createElementBlock("div",pi,[e.createVNode(u,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...t[49]||(t[49]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",hi,e.toDisplayString(o.commandEditor.dialogError),1),e.createVNode(d,{icon:"mdi-close",size:"small",variant:"text",color:"error",class:"ml-2",onClick:t[38]||(t[38]=c=>o.commandEditor.dialogError=null)})])):e.createCommentVNode("",!0),e.createVNode(p,{ref:"commandEditor","initial-target-name":o.commandEditor.targetName,"initial-packet-name":o.commandEditor.packetName,"cmd-string":o.commandEditor.cmdString,"send-disabled":!1,"show-command-button":!1,onBuildCmd:t[39]||(t[39]=c=>n.insertCommand(c))},null,8,["initial-target-name","initial-packet-name","cmd-string"])]),_:1}),e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(g),e.createVNode(d,{variant:"outlined",onClick:n.closeCommandDialog},{default:e.withCtx(()=>[...t[50]||(t[50]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(d,{color:"primary",variant:"flat",onClick:t[40]||(t[40]=c=>n.insertCommand())},{default:e.withCtx(()=>[...t[51]||(t[51]=[e.createTextVNode(" Insert Command ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"]),e.createVNode(O,{modelValue:o.showScripts,"onUpdate:modelValue":t[43]||(t[43]=c=>o.showScripts=c)},{default:e.withCtx(()=>[e.createVNode(T,{class:"pb-11 pt-5 px-5"},{default:e.withCtx(()=>[o.showScripts?(e.openBlock(),e.createBlock(V,{key:0,"connect-in-new-tab":!!o.fileModified,onDisconnect:n.scriptDisconnect,onClose:t[42]||(t[42]=()=>{o.showScripts=!1})},null,8,["connect-in-new-tab","onDisconnect"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])],64)}const gi=I._export_sfc(Xt,[["render",fi],["__scopeId","data-v-f00c84ce"]]);exports.RunningScripts=Re;exports.ScriptLogMessages=Me;exports.ScriptRunner=gi;exports.SuiteRunner=Oe;
84
+ `),await this.saveFile("auto"))},addToRecent(i){let t=this.recent.findIndex(s=>s.label===i);t!==-1&&this.recent.splice(t,1),this.recent.unshift({label:i,icon:Fe.fileIcon(i),command:async s=>{await this.confirmUnsavedChanges()&&(this.filename=s.label,await this.reloadFile())}}),this.recent.length>8&&this.recent.pop(),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},removeFromRecent(i){this.recent=this.recent.filter(t=>t.label!==i),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent),localStorage.script_runner__filename===i&&localStorage.removeItem("script_runner__filename"))},async openFileWithConfirm(){await this.confirmUnsavedChanges()&&this.openFile()},openFile(){this.fileOpen=!0},async reloadFile(i=!0){this.saveAllowed=!1,this.startOrGoDisabled=!0,await V.fi.get(`/script-api/scripts/${this.filename}`,{headers:{Accept:"application/json","Ignore-Errors":"404"}}).then(t=>{const s={name:this.filename,contents:t.data.contents};t.data.suites&&(s.suites=JSON.parse(t.data.suites)),t.data.error&&(s.error=t.data.error),t.data.success&&(s.success=t.data.success);const r=t.data.locked,o=t.data.breakpoints;this.setFile({file:s,locked:r,breakpoints:o},!0),this.saveAllowed=!0}).catch(t=>{i===!0&&this.$notify.caution({title:"File Open Error",body:`Failed to open ${this.filename} due to ${t}`}),this.removeFromRecent(this.filename),this.newFile()})},setFile({file:i,locked:t,breakpoints:s},r=!1){this.files={};let o=i.name.split("*")[0];if(r===!1&&this.filename!==o&&(this.unlockFile(),this.lockedBy=t),this.filename=o,!this.inline){this.$router.replace({name:"ScriptRunner",query:{file:this.filename}}).catch(l=>{});let n=this.filename.split("/");document.title=`${n.pop()} (${n.join("/")})`}this.filename.split(".").pop()==="py"?this.editor.session.setMode(this.pythonMode):this.editor.session.setMode(this.rubyMode),this.currentFilename=null,this.editor.session.setValue(i.contents),this.breakpoints[this.filename]=s,this.restoreBreakpoints(this.filename),this.fileModified="",this.envDisabled=!1,this.addToRecent(this.filename),i.suites?(this.suiteRunner=!0,this.suiteMap=i.suites,this.startOrGoDisabled=!0):(this.suiteRunner=!1,this.startOrGoDisabled=!1),i.error&&(this.suiteError=i.error,this.showSuiteError=!0),this.disableSuiteButtons=i.success==!1,this.doResize()},clearTemp(){this.recent=this.recent.filter(i=>!i.label.includes("__TEMP__")),this.inline||(localStorage.script_runner__recent=JSON.stringify(this.recent))},detectLanguage(){let i=new RegExp("^\\s*(require|load|puts) "),t=new RegExp("^\\s*(import|from) "),s=new RegExp("^\\s*end\\s*$"),r=new RegExp("^\\s*(if|def|while|else|elif|class).*:\\s*$"),o=/\(f"/,n=/\(.*\w+:\s+.+\)(?!:)$/,u=this.editor.getValue().split(`
85
+ `);for(let d of u){if(d.match(i))return"ruby";if(d.match(t))return"python";if(d.match(s))return"ruby";if(d.match(r)||d.match(o))return"python";if(d.match(n))return"ruby"}return"unknown"},async saveFile(i="menu"){if(!this.readOnlyUser)if(this.saveAllowed){const t=this.getBreakpointRows();if(this.filename===P){if(i==="menu"){this.saveAs();return}else if(this.tempFilename===null){let s=this.detectLanguage();if(s==="unknown"&&(s=X.AceEditorUtils.getDefaultScriptingLanguage()),s==="ruby")this.tempFilename=Ee+"/"+ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_temp.rb";else if(s==="python")this.tempFilename=Ee+"/"+ae.format(Date.now(),"yyyy_MM_dd_HH_mm_ss_SSS")+"_temp.py";else return;this.filename=this.tempFilename,this.addToRecent(this.filename)}}this.showSave=!0,await V.fi.post(`/script-api/scripts/${this.filename}`,{data:{text:this.editor.getValue(),breakpoints:t}}).then(s=>{s.status==200?(s.data.suites?(this.startOrGoDisabled=!0,this.suiteRunner=!0,this.suiteMap=JSON.parse(s.data.suites)):(this.startOrGoDisabled=!1,this.suiteRunner=!1,this.suiteMap={}),s.data.error&&(this.suiteError=s.data.error,this.showSuiteError=!0),this.fileModified="",setTimeout(()=>{this.showSave=!1},2e3)):(this.showSave=!1,this.alertType="error",this.alertText=`Error saving file. Code: ${s.status} Text: ${s.statusText}`,this.showAlert=!0),this.lockFile(),this.doResize()}).catch(({response:s})=>{this.showSave=!1,s.status==422?(this.alertType="error",this.alertText=s.data.suites):(this.alertType="error",this.alertText=`Error saving file. Code: ${s.status} Text: ${s.statusText}`),this.showAlert=!0})}else this.setError("Attempt to save file when not allowed")},saveAs(){this.showSaveAs=!0},async saveAsFilename(i){this.filename=i.split("*")[0],this.currentFilename=null,this.tempFilename&&(V.fi.post(`/script-api/scripts/${this.tempFilename}/delete`),this.tempFilename=null),await this.saveFile("menu")},delete(){let i=this.filename;this.tempFilename&&(i=this.tempFilename),this.$dialog.confirm(`Permanently delete file: ${i}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>V.fi.post(`/script-api/scripts/${i}/delete`,{data:{}})).then(t=>{this.removeFromRecent(i),this.newFile()}).catch(t=>{if(t!==!0){const s={text:`Failed Multi-Delete. ${t}`,type:"error"};this.$emit("alert",s)}})},download(){const i=new Blob([this.editor.getValue()],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(i),t.setAttribute("download",this.filename),t.click()},syntaxCheck(){V.fi.post(`/script-api/scripts/${this.filename}/syntax`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(i=>{this.information.title=i.data.title,this.information.text=JSON.parse(i.data.description),this.information.show=!0,this.information.width="600"})},showInstrumented(){V.fi.post(`/script-api/scripts/${this.filename}/instrumented`,{data:this.editor.getValue(),headers:{Accept:"application/json","Content-Type":"plain/text"}}).then(i=>{this.information.title=i.data.title,this.information.text=JSON.parse(i.data.description),this.information.show=!0,this.information.width="90vw"})},showCallStack(){V.fi.post(`/script-api/running-script/${this.scriptId}/backtrace`)},toggleDebug(){this.showDebug=!this.showDebug,this.showDebug&&this.$nextTick(()=>{this.$refs.debug.focus()})},toggleDisconnect(){this.showDisconnect=!this.showDisconnect},debugKeydown(i){i.key==="Escape"?(this.debug="",this.debugHistoryIndex=this.debugHistory.length):i.key==="Enter"?(this.debugHistory.push(this.debug),this.debugHistoryIndex=this.debugHistory.length,V.fi.post(`/script-api/running-script/${this.scriptId}/debug`,{data:{args:this.debug}}),this.debug=""):i.key==="ArrowUp"?(this.debugHistoryIndex-=1,this.debugHistoryIndex<0&&(this.debugHistoryIndex=this.debugHistory.length-1),this.debug=this.debugHistory[this.debugHistoryIndex],i.preventDefault()):i.key==="ArrowDown"&&(this.debugHistoryIndex+=1,this.debugHistoryIndex>=this.debugHistory.length&&(this.debugHistoryIndex=0),this.debug=this.debugHistory[this.debugHistoryIndex])},removeAllMarkers:function(){const i=this.editor.session.getMarkers();Object.keys(i).filter(t=>i[t].type==="fullLine").forEach(t=>this.editor.session.removeMarker(t))},confirmLocalUnlock:function(){this.$dialog.confirm("Are you sure you want to unlock this script for editing? If another user is editing this script, your changes might conflict with each other.",{okText:"Force Unlock",cancelText:"Cancel"}).then(()=>(this.lockedBy=null,this.lockFile()))},lockFile:function(){if(!this.readOnlyUser)return V.fi.post(`/script-api/scripts/${this.filename}/lock`)},unlockFile:function(){this.filename!==P&&!this.readOnly&&!this.readOnlyUser&&V.fi.post(`/script-api/scripts/${this.filename}/unlock`)},backToNewScript:async function(){this.scriptDisconnect(),this.removeAllMarkers(),await this.scriptComplete(),this.newFile()},screenId(i){return"scriptRunnerScreen"+i},closeScreen(i){let t=0;for(screen of this.screens){if(screen.id==i){this.screens.splice(t,1);break}t+=1}}}},Qt={class:"grid"},$t=["id"],ei={class:"item-content"},ti={id:"sr-controls"},ii={class:"d-flex align-center mr-1"},oi={key:0},ni={key:1},si={key:2,style:{width:"40px",height:"40px"},class:"mx-2"},ri={key:3},li={key:4},ai={key:0,id:"debug",class:"pa-0"},di={key:1,style:{"background-color":"var(--color-background-base-default)",margin:"0px",padding:"0px"}},ci={key:0},ui={key:1},mi={style:{height:"200px",overflow:"hidden"}},pi={key:0,class:"error-message"},hi={class:"flex-grow-1"};function fi(i,t,s,r,o,n){const l=e.resolveComponent("top-bar"),u=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),v=e.resolveComponent("v-snackbar"),_=e.resolveComponent("openc3-screen"),b=e.resolveComponent("suite-runner"),w=e.resolveComponent("v-tooltip"),k=e.resolveComponent("v-select"),x=e.resolveComponent("v-text-field"),N=e.resolveComponent("v-progress-circular"),g=e.resolveComponent("v-spacer"),E=e.resolveComponent("v-badge"),D=e.resolveComponent("v-row"),A=e.resolveComponent("v-card-text"),q=e.resolveComponent("v-card"),U=e.resolveComponent("v-list-item"),G=e.resolveComponent("v-divider"),S=e.resolveComponent("v-list"),B=e.resolveComponent("v-menu"),W=e.resolveComponent("pane"),F=e.resolveComponent("script-log-messages"),ue=e.resolveComponent("splitpanes"),se=e.resolveComponent("v-tab"),me=e.resolveComponent("v-tabs"),J=e.resolveComponent("v-col"),re=e.resolveComponent("v-tabs-window-item"),K=e.resolveComponent("v-tabs-window"),le=e.resolveComponent("file-open-save-dialog"),pe=e.resolveComponent("environment-dialog"),he=e.resolveComponent("ask-dialog"),Y=e.resolveComponent("file-dialog"),fe=e.resolveComponent("information-dialog"),ge=e.resolveComponent("event-list-dialog"),ve=e.resolveComponent("overrides-dialog"),Z=e.resolveComponent("prompt-dialog"),O=e.resolveComponent("results-dialog"),we=e.resolveComponent("script-environment-dialog"),a=e.resolveComponent("simple-text-dialog"),m=e.resolveComponent("critical-cmd-dialog"),f=e.resolveComponent("v-card-title"),p=e.resolveComponent("command-editor"),h=e.resolveComponent("v-card-actions"),C=e.resolveComponent("v-dialog"),y=e.resolveComponent("running-scripts"),T=e.resolveComponent("v-sheet"),M=e.resolveComponent("v-bottom-sheet");return e.openBlock(),e.createElementBlock(e.Fragment,null,[s.inline?(e.openBlock(),e.createElementBlock("div",di,[e.createVNode(me,{modelValue:o.inlineTab,"onUpdate:modelValue":t[16]||(t[16]=c=>o.inlineTab=c),density:"compact"},{default:e.withCtx(()=>[e.createVNode(se,{value:"script",text:"Script","data-test":"script-tab"}),e.createVNode(se,{value:"messages",text:"Messages","data-test":"messages-tab"})]),_:1},8,["modelValue"]),e.createVNode(K,{modelValue:o.inlineTab,"onUpdate:modelValue":t[19]||(t[19]=c=>o.inlineTab=c)},{default:e.withCtx(()=>[e.createVNode(re,{value:"script"},{default:e.withCtx(()=>[e.createVNode(D,null,{default:e.withCtx(()=>[e.createVNode(J,{class:"v-col-10",style:{margin:"15px 0px 0px 0px",padding:"0px"}},{default:e.withCtx(()=>[e.createElementVNode("pre",{ref:"editor",class:"editor",style:{height:"200px"},onContextmenu:t[17]||(t[17]=e.withModifiers((...c)=>n.showExecuteSelectionMenu&&n.showExecuteSelectionMenu(...c),["prevent"]))},null,544)]),_:1}),e.createVNode(J,{class:"v-col-2",style:{display:"flex","justify-content":"center","align-items":"center","background-color":"var(--color-background-surface-default)"}},{default:e.withCtx(()=>[o.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",ci,[e.createVNode(d,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:o.startOrGoDisabled||!o.executeUser,hidden:o.suiteRunner,onClick:n.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",ui,[e.createVNode(d,{color:"primary",class:"ma-2",text:"Go",disabled:o.startOrGoDisabled,"data-test":"go-button",onClick:n.go},null,8,["disabled","onClick"]),e.createVNode(d,{color:"primary",class:"ma-2",text:o.pauseOrRetryButton,disabled:o.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:n.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(d,{color:"primary",class:"ma-2",text:"Stop","data-test":"stop-button",disabled:o.stopDisabled,onClick:n.stop},null,8,["disabled","onClick"])]))]),_:1})]),_:1})]),_:1}),e.createVNode(re,{value:"messages"},{default:e.withCtx(()=>[e.createElementVNode("div",mi,[e.createVNode(F,{modelValue:o.messages,"onUpdate:modelValue":t[18]||(t[18]=c=>o.messages=c),"newest-on-top":o.messagesNewestOnTop,onMessageOrderChanged:i.messageOrderChanged},null,8,["modelValue","newest-on-top","onMessageOrderChanged"])])]),_:1})]),_:1},8,["modelValue"])])):(e.openBlock(),e.createElementBlock("div",{key:0,class:"d-flex flex-column overflow-hidden",style:e.normalizeStyle({height:r.containerHeight})},[e.createVNode(l,{menus:n.menus,title:o.title},null,8,["menus","title"]),e.createVNode(v,{modelValue:o.showAlert,"onUpdate:modelValue":t[1]||(t[1]=c=>o.showAlert=c),absolute:"",color:o.alertType,timeout:3e3,class:"apply-top",style:e.normalizeStyle(i.classificationStyles)},{actions:e.withCtx(({attrs:c})=>[e.createVNode(d,e.mergeProps({variant:"text",text:"Close"},c,{onClick:t[0]||(t[0]=z=>o.showAlert=!1)}),null,16)]),default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[e.createTextVNode(" mdi-"+e.toDisplayString(o.alertType),1)]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.alertText)+" ",1)]),_:1},8,["modelValue","color","style"]),e.createVNode(v,{modelValue:o.showEditingToast,"onUpdate:modelValue":t[3]||(t[3]=c=>o.showEditingToast=c),absolute:"",class:"apply-top",style:e.normalizeStyle(i.classificationStyles),timeout:-1,color:"orange"},{actions:e.withCtx(({attrs:c})=>[e.createVNode(d,e.mergeProps({variant:"text"},c,{color:"danger",text:"Unlock","data-test":"unlock-button",onClick:n.confirmLocalUnlock}),null,16,["onClick"]),e.createVNode(d,e.mergeProps({variant:"text",text:"Dismiss"},c,{onClick:t[2]||(t[2]=()=>{o.showEditingToast=!1})}),null,16)]),default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[...t[45]||(t[45]=[e.createTextVNode(" mdi-pencil-off ",-1)])]),_:1}),e.createTextVNode(" "+e.toDisplayString(o.lockedBy)+" is editing this script. Editor is in read-only mode ",1)]),_:1},8,["modelValue","style"]),e.createElementVNode("div",Qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.screens,c=>(e.openBlock(),e.createElementBlock("div",{id:n.screenId(c.id),key:c.id,ref_for:!0,ref:"gridItem",class:"item"},[e.createElementVNode("div",ei,[e.createVNode(_,{target:c.target,screen:c.screen,definition:c.definition,keywords:o.screenKeywords,"initial-floated":!0,"initial-top":c.top,"initial-left":c.left,"initial-z":3,"min-z":3,"fix-floated":!0,count:c.count,onCloseScreen:z=>n.closeScreen(c.id),onDeleteScreen:z=>n.closeScreen(c.id)},null,8,["target","screen","definition","keywords","initial-top","initial-left","count","onCloseScreen","onDeleteScreen"])])],8,$t))),128))]),e.createVNode(q,{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(A,null,{default:e.withCtx(()=>[o.suiteRunner?(e.openBlock(),e.createBlock(b,{key:0,class:"suite-runner","suite-map":o.suiteMap,"disable-buttons":o.disableSuiteButtons,filename:n.fullFilename,onButton:n.suiteRunnerButton,onLoaded:n.doResize},null,8,["suite-map","disable-buttons","filename","onButton","onLoaded"])):e.createCommentVNode("",!0),e.createElementVNode("div",ti,[e.createVNode(D,{"no-gutters":"",justify:"space-between"},{default:e.withCtx(()=>[o.showDisconnect?(e.openBlock(),e.createBlock(u,{key:0,class:"mt-2",color:"red"},{default:e.withCtx(()=>[...t[46]||(t[46]=[e.createTextVNode(" mdi-connection ",-1)])]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",ii,[e.createVNode(w,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[o.scriptId?(e.openBlock(),e.createBlock(d,e.mergeProps({key:1},c,{icon:"mdi-arrow-left",variant:"text",density:"compact",onClick:n.backToNewScript}),null,16,["onClick"])):(e.openBlock(),e.createBlock(d,e.mergeProps({key:0},c,{icon:"mdi-cached",variant:"text",density:"compact",disabled:o.filename===i.NEW_FILENAME,"aria-label":"Reload File",onClick:n.reloadFile}),null,16,["disabled","onClick"]))]),default:e.withCtx(()=>[o.scriptId?(e.openBlock(),e.createElementBlock("span",ni," Back to New Script ")):(e.openBlock(),e.createElementBlock("span",oi," Reload File "))]),_:1})]),e.createVNode(w,{location:"bottom",text:o.filenameSelect,disabled:!o.filenameSelect||o.filenameSelect.length<=45},{activator:e.withCtx(({props:c})=>[e.createElementVNode("div",e.mergeProps(c,{style:{width:"32rem"}}),[e.createVNode(k,{id:"filename",modelValue:o.filenameSelect,"onUpdate:modelValue":[t[4]||(t[4]=z=>o.filenameSelect=z),n.fileNameChanged],items:n.fileList,disabled:n.fileList.length<=1,label:"Filename","data-test":"filename",density:"compact",variant:"outlined","hide-details":""},null,8,["modelValue","items","disabled","onUpdate:modelValue"])],16)]),_:1},8,["text","disabled"]),e.createVNode(x,{modelValue:o.scriptId,"onUpdate:modelValue":t[5]||(t[5]=c=>o.scriptId=c),label:"Script ID","data-test":"id",class:"shrink ml-2 script-state",style:{"max-width":"100px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue"]),e.createVNode(x,{modelValue:n.stateTimer,"onUpdate:modelValue":t[6]||(t[6]=c=>n.stateTimer=c),label:"Script State","data-test":"state",class:e.normalizeClass(["shrink","ml-2","script-state",n.stateColorClass]),style:{"max-width":"120px"},density:"compact",variant:"outlined",readonly:"","hide-details":""},null,8,["modelValue","class"]),o.state==="Connecting..."?(e.openBlock(),e.createBlock(N,{key:1,size:40,class:"mx-2",indeterminate:"",color:"primary"})):(e.openBlock(),e.createElementBlock("div",si)),e.createVNode(g),o.startOrGoButton==="Start"?(e.openBlock(),e.createElementBlock("div",ri,[o.overridesCount>0?(e.openBlock(),e.createBlock(w,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{class:"mr-4",icon:"",variant:"text",density:"compact","data-test":"tlm-override-button","aria-label":"TLM Overrides",onClick:t[7]||(t[7]=z=>o.showOverrides=!o.showOverrides)}),{default:e.withCtx(()=>[e.createVNode(E,{content:o.overridesCount>99?"99+":o.overridesCount,floating:"",color:"primary"},{default:e.withCtx(()=>[e.createVNode(u,{icon:"mdi-application-cog-outline"})]),_:1},8,["content"])]),_:1},16)]),default:e.withCtx(()=>[e.createElementVNode("span",null," TLM Overrides ("+e.toDisplayString(o.overridesCount)+") ",1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(w,{"open-delay":600,location:"top"},{activator:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{class:"mr-2",icon:"",variant:"text",density:"compact",disabled:o.envDisabled,"data-test":"env-button","aria-label":"Script Environment",onClick:t[9]||(t[9]=z=>o.scriptEnvironment.show=!o.scriptEnvironment.show)}),{default:e.withCtx(()=>[e.createVNode(E,{modelValue:n.environmentModified,"onUpdate:modelValue":t[8]||(t[8]=z=>n.environmentModified=z),floating:"",dot:""},{default:e.withCtx(()=>[e.createVNode(u,{icon:"mdi-application-variable"})]),_:1},8,["modelValue"])]),_:1},16,["disabled"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,[t[47]||(t[47]=e.createTextVNode(" Script Environment ",-1)),n.environmentModified?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" (modified) ")],64)):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(d,{class:"mx-1",color:"primary",text:"Start","data-test":"start-button",disabled:o.startOrGoDisabled||!o.executeUser,hidden:o.suiteRunner,onClick:n.startHandler},null,8,["disabled","hidden","onClick"])])):(e.openBlock(),e.createElementBlock("div",li,[e.createVNode(d,{color:"primary",class:"mr-2",text:"Go",disabled:o.startOrGoDisabled,"data-test":"go-button",onClick:n.go},null,8,["disabled","onClick"]),e.createVNode(d,{color:"primary",class:"mr-2",text:o.pauseOrRetryButton,disabled:o.pauseOrRetryDisabled,"data-test":"pause-retry-button",onClick:n.pauseOrRetry},null,8,["text","disabled","onClick"]),e.createVNode(d,{color:"primary",text:"Stop","data-test":"stop-button",disabled:o.stopDisabled,onClick:n.stop},null,8,["disabled","onClick"])]))]),_:1})])]),_:1})]),_:1}),e.createVNode(ue,{horizontal:"",class:"flex-grow-1 overflow-hidden",onResize:t[15]||(t[15]=({prevPane:c})=>o.editorBoxSize=c.size)},{default:e.withCtx(()=>[e.createVNode(W,{class:"editorbox",size:o.editorBoxSize},{default:e.withCtx(()=>[e.createVNode(v,{modelValue:o.showSave,"onUpdate:modelValue":t[10]||(t[10]=c=>o.showSave=c),absolute:"",location:"right",timeout:-1,class:"saving apply-top",style:e.normalizeStyle(i.classificationStyles)},{default:e.withCtx(()=>[...t[48]||(t[48]=[e.createTextVNode(" Saving... ",-1)])]),_:1},8,["modelValue","style"]),e.createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:t[11]||(t[11]=e.withModifiers((...c)=>n.showExecuteSelectionMenu&&n.showExecuteSelectionMenu(...c),["prevent"]))},null,544),e.createVNode(B,{modelValue:o.executeSelectionMenu,"onUpdate:modelValue":t[12]||(t[12]=c=>o.executeSelectionMenu=c),target:[o.menuX,o.menuY]},{default:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(U,{title:o.currentLineHasCommand?"Edit Command":"Insert Command",onClick:n.openCommandEditor},null,8,["title","onClick"]),e.createVNode(G),e.createVNode(U,{title:"Execute Selection",onClick:n.executeSelection},null,8,["onClick"]),o.scriptId?(e.openBlock(),e.createBlock(U,{key:0,title:"Goto Line",onClick:n.runFromCursor},null,8,["onClick"])):e.createCommentVNode("",!0),o.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(U,{key:1,title:"Run From Line",onClick:n.runFromCursor},null,8,["onClick"])),o.scriptId?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(U,{key:2,title:"Clear Local Breakpoints",onClick:n.clearBreakpoints},null,8,["onClick"])),e.createVNode(G),e.createVNode(U,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:n.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1},8,["size"]),e.createVNode(W,{id:"messages",class:"mt-2",size:100-o.editorBoxSize},{default:e.withCtx(()=>[o.showDebug?(e.openBlock(),e.createElementBlock("div",ai,[e.createVNode(D,{"no-gutters":""},{default:e.withCtx(()=>[e.createVNode(d,{color:"primary",style:{width:"100px"},class:"mr-4",text:"Step","append-icon":"mdi-step-forward",disabled:!o.scriptId,"data-test":"step-button",onClick:n.step},null,8,["disabled","onClick"]),e.createVNode(x,{ref:"debug",modelValue:o.debug,"onUpdate:modelValue":t[13]||(t[13]=c=>o.debug=c),class:"mb-2",variant:"outlined",density:"compact","hide-details":"",label:"Debug","data-test":"debug-text",onKeydown:n.debugKeydown},null,8,["modelValue","onKeydown"])]),_:1})])):e.createCommentVNode("",!0),e.createVNode(F,{id:"log-messages",modelValue:o.messages,"onUpdate:modelValue":t[14]||(t[14]=c=>o.messages=c),onSort:n.messageSortOrder},null,8,["modelValue","onSort"])]),_:1},8,["size"])]),_:1})],4)),o.fileOpen?(e.openBlock(),e.createBlock(le,{key:2,modelValue:o.fileOpen,"onUpdate:modelValue":t[20]||(t[20]=c=>o.fileOpen=c),type:"open","api-url":"/script-api/scripts",onFile:t[21]||(t[21]=c=>n.setFile(c)),onError:t[22]||(t[22]=c=>n.setError(c)),onClearTemp:t[23]||(t[23]=c=>n.clearTemp(c))},null,8,["modelValue"])):e.createCommentVNode("",!0),o.showSaveAs?(e.openBlock(),e.createBlock(le,{key:3,modelValue:o.showSaveAs,"onUpdate:modelValue":t[24]||(t[24]=c=>o.showSaveAs=c),type:"save","api-url":"/script-api/scripts","require-target-parent-dir":"","input-filename":n.filenameOrBlank,onFilename:t[25]||(t[25]=c=>n.saveAsFilename(c)),onError:t[26]||(t[26]=c=>n.setError(c)),onClearTemp:t[27]||(t[27]=c=>n.clearTemp(c))},null,8,["modelValue","input-filename"])):e.createCommentVNode("",!0),o.showEnvironment?(e.openBlock(),e.createBlock(pe,{key:4,modelValue:o.showEnvironment,"onUpdate:modelValue":t[28]||(t[28]=c=>o.showEnvironment=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),o.ask.show?(e.openBlock(),e.createBlock(he,{key:5,modelValue:o.ask.show,"onUpdate:modelValue":t[29]||(t[29]=c=>o.ask.show=c),question:o.ask.question,default:o.ask.default,password:o.ask.password,"answer-required":o.ask.answerRequired,onResponse:o.ask.callback},null,8,["modelValue","question","default","password","answer-required","onResponse"])):e.createCommentVNode("",!0),o.file.show?(e.openBlock(),e.createBlock(Y,{key:6,modelValue:o.file.show,"onUpdate:modelValue":t[30]||(t[30]=c=>o.file.show=c),title:o.file.title,message:o.file.message,multiple:o.file.multiple,filter:o.file.filter,onResponse:n.fileDialogCallback},null,8,["modelValue","title","message","multiple","filter","onResponse"])):e.createCommentVNode("",!0),o.information.show?(e.openBlock(),e.createBlock(fe,{key:7,modelValue:o.information.show,"onUpdate:modelValue":t[31]||(t[31]=c=>o.information.show=c),title:o.information.title,text:o.information.text,width:o.information.width},null,8,["modelValue","title","text","width"])):e.createCommentVNode("",!0),o.inputMetadata.show?(e.openBlock(),e.createBlock(ge,{key:8,modelValue:o.inputMetadata.show,"onUpdate:modelValue":t[32]||(t[32]=c=>o.inputMetadata.show=c),events:o.inputMetadata.events,"time-zone":o.timeZone,"new-metadata":"",onClose:o.inputMetadata.callback},null,8,["modelValue","events","time-zone","onClose"])):e.createCommentVNode("",!0),o.showOverrides?(e.openBlock(),e.createBlock(ve,{key:9,modelValue:o.showOverrides,"onUpdate:modelValue":t[33]||(t[33]=c=>o.showOverrides=c)},null,8,["modelValue"])):e.createCommentVNode("",!0),o.prompt.show?(e.openBlock(),e.createBlock(Z,{key:10,modelValue:o.prompt.show,"onUpdate:modelValue":t[34]||(t[34]=c=>o.prompt.show=c),title:o.prompt.title,subtitle:o.prompt.subtitle,message:o.prompt.message,details:o.prompt.details,buttons:o.prompt.buttons,layout:o.prompt.layout,multiple:o.prompt.multiple,onResponse:o.prompt.callback},null,8,["modelValue","title","subtitle","message","details","buttons","layout","multiple","onResponse"])):e.createCommentVNode("",!0),o.results.show?(e.openBlock(),e.createBlock(O,{key:11,modelValue:o.results.show,"onUpdate:modelValue":t[35]||(t[35]=c=>o.results.show=c),text:o.results.text},null,8,["modelValue","text"])):e.createCommentVNode("",!0),o.scriptEnvironment.show?(e.openBlock(),e.createBlock(we,{key:12,modelValue:o.scriptEnvironment.show,"onUpdate:modelValue":t[36]||(t[36]=c=>o.scriptEnvironment.show=c),"input-environment":o.scriptEnvironment.env,onEnvironment:n.environmentHandler},null,8,["modelValue","input-environment","onEnvironment"])):e.createCommentVNode("",!0),e.createVNode(a,{modelValue:o.showSuiteError,"onUpdate:modelValue":t[37]||(t[37]=c=>o.showSuiteError=c),title:"Suite Analysis Error",text:o.suiteError,width:1e3},null,8,["modelValue","text"]),e.createVNode(m,{modelValue:o.displayCriticalCmd,"onUpdate:modelValue":t[38]||(t[38]=c=>o.displayCriticalCmd=c),uuid:o.criticalCmdUuid,"cmd-string":o.criticalCmdString,"cmd-user":o.criticalCmdUser,persistent:!0,onStatus:n.promptDialogCallback},null,8,["modelValue","uuid","cmd-string","cmd-user","onStatus"]),e.createVNode(C,{modelValue:o.commandEditor.show,"onUpdate:modelValue":t[42]||(t[42]=c=>o.commandEditor.show=c),"max-width":"1200",persistent:"",scrollable:"",onKeydown:e.withKeys(n.closeCommandDialog,["esc"])},{default:e.withCtx(()=>[e.createVNode(q,null,{default:e.withCtx(()=>[e.createVNode(f,{class:"d-flex align-center"},{default:e.withCtx(()=>[t[49]||(t[49]=e.createElementVNode("span",null,"Insert Command",-1)),e.createVNode(g),e.createVNode(d,{icon:"mdi-close",variant:"text",onClick:n.closeCommandDialog},null,8,["onClick"])]),_:1}),e.createVNode(A,{class:"pa-0"},{default:e.withCtx(()=>[o.commandEditor.dialogError?(e.openBlock(),e.createElementBlock("div",pi,[e.createVNode(u,{class:"mr-2",color:"error"},{default:e.withCtx(()=>[...t[50]||(t[50]=[e.createTextVNode("mdi-alert-circle",-1)])]),_:1}),e.createElementVNode("span",hi,e.toDisplayString(o.commandEditor.dialogError),1),e.createVNode(d,{icon:"mdi-close",size:"small",variant:"text",color:"error",class:"ml-2",onClick:t[39]||(t[39]=c=>o.commandEditor.dialogError=null)})])):e.createCommentVNode("",!0),e.createVNode(p,{ref:"commandEditor","initial-target-name":o.commandEditor.targetName,"initial-packet-name":o.commandEditor.packetName,"cmd-string":o.commandEditor.cmdString,"send-disabled":!1,"show-command-button":!1,onBuildCmd:t[40]||(t[40]=c=>n.insertCommand(c))},null,8,["initial-target-name","initial-packet-name","cmd-string"])]),_:1}),e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(g),e.createVNode(d,{variant:"outlined",onClick:n.closeCommandDialog},{default:e.withCtx(()=>[...t[51]||(t[51]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),e.createVNode(d,{color:"primary",variant:"flat",onClick:t[41]||(t[41]=c=>n.insertCommand())},{default:e.withCtx(()=>[...t[52]||(t[52]=[e.createTextVNode(" Insert Command ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","onKeydown"]),e.createVNode(M,{modelValue:o.showScripts,"onUpdate:modelValue":t[44]||(t[44]=c=>o.showScripts=c)},{default:e.withCtx(()=>[e.createVNode(T,{class:"pb-11 pt-5 px-5"},{default:e.withCtx(()=>[o.showScripts?(e.openBlock(),e.createBlock(y,{key:0,"connect-in-new-tab":!!o.fileModified,onDisconnect:n.scriptDisconnect,onClose:t[43]||(t[43]=()=>{o.showScripts=!1})},null,8,["connect-in-new-tab","onDisconnect"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["modelValue"])],64)}const gi=I._export_sfc(Xt,[["render",fi],["__scopeId","data-v-214cd38d"]]);exports.RunningScripts=Re;exports.ScriptLogMessages=Oe;exports.ScriptRunner=gi;exports.SuiteRunner=Me;
86
86
  //# sourceMappingURL=scriptrunner.cjs.map