@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,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./Widget-CKianvfR.cjs"),s=require("vue"),c=require("./CustomIcon-eie3rPKh.cjs"),a={mixins:[l.Widget],props:{value:{default:null}},data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const i of this.items){let t=this.screenValues[i][1];t&&((t.includes("BLUE")||t.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),t.includes("YELLOW")&&e!="critical"&&(e="caution"),t.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let i="CONVERTED";e[4]&&(i=e[4]);let t=`${e[1]}__${e[2]}__${e[3]}__${i}`;this.items.push(t),this.$emit("addItem",t);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function o(e,i,t,m,d,r){const n=s.resolveComponent("rux-monitoring-icon");return s.openBlock(),s.createBlock(n,{class:"rux-icon",style:s.normalizeStyle([r.pointerStyle,e.computedStyle]),icon:e.icon,status:r.status,label:e.label,sublabel:e.subLabel,onClick:r.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const u=c._export_sfc(a,[["render",o]]);exports.default=u;
2
- //# sourceMappingURL=RollupWidget-B2pGGoET.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RollupWidget-B2pGGoET.cjs","sources":["../src/widgets/RollupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-monitoring-icon\n class=\"rux-icon\"\n :style=\"[pointerStyle, computedStyle]\"\n :icon=\"icon\"\n :status=\"status\"\n :label=\"label\"\n :sublabel=\"subLabel\"\n @click=\"clickHandler\"\n ></rux-monitoring-icon>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n default: null,\n },\n },\n data: function () {\n return {\n valueId: null,\n icon: '',\n label: '',\n subLabel: '',\n items: [],\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n status: function () {\n let state = 'off'\n // Calculate the overall state of all the items we care about\n for (const item of this.items) {\n let limitsState = this.screenValues[item][1]\n if (limitsState) {\n if (\n (limitsState.includes('BLUE') || limitsState.includes('GREEN')) &&\n state != 'caution' &&\n state != 'critical'\n ) {\n state = 'normal'\n }\n if (limitsState.includes('YELLOW') && state != 'critical') {\n state = 'caution'\n }\n if (limitsState.includes('RED')) {\n state = 'critical'\n }\n }\n }\n return state\n },\n pointerStyle() {\n if (this.screenTarget && this.screenName) {\n return {\n cursor: 'pointer',\n }\n } else {\n return {\n cursor: 'default',\n }\n }\n },\n },\n created: function () {\n this.icon = this.parameters[0]\n this.label = this.parameters[1]\n this.subLabel = this.parameters[2]\n\n // This was an attempt at dynamically importing the rux icon they requested.\n // However, webpack looks at the import line and tries to process all the files.\n // Good discussion here: https://github.com/webpack/webpack/issues/6680\n // and here: https://github.com/webpack/webpack/issues/4175\n // Perhaps there's a way to ignore stuff but we'd still be importing ALL\n // the files which is a LOT. Instead we just import all the icons we need in\n // openc3-cosmos-init/plugins/openc3-tool-base/src/plugins/vuetify.js\n\n // import(\n // `@astrouxds/astro-web-components/dist/components/rux-icon-${this.icon}`\n // ).then((module) => {\n // // First key of the module is the name of the class\n // let name = Object.keys(module)[0]\n // try {\n // customElements.define(`rux-icon-${this.icon}`, module[name])\n // } catch (e) {\n // // Catch the fact that the icon probably already exists and move on\n // }\n // })\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0].toUpperCase()) {\n // Create a link to an existing screen\n case 'SCREEN':\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n break\n\n // Create the list of rollup telemetry\n case 'TLM':\n let type = 'CONVERTED'\n if (setting[4]) {\n type = setting[4]\n }\n let item = `${setting[1]}__${setting[2]}__${setting[3]}__${type}`\n this.items.push(item)\n this.$emit('addItem', item)\n break\n }\n })\n },\n unmounted: function () {\n this.items.forEach((item) => {\n this.$emit('deleteItem', item)\n })\n },\n methods: {\n clickHandler() {\n if (this.screenTarget && this.screenName) {\n this.$emit('open', this.screenTarget, this.screenName)\n }\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","state","item","limitsState","setting","type","_createBlock","_component_rux_monitoring_icon","_normalizeStyle","$options","_ctx"],"mappings":"iLAiCKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,MAAO,CACL,MAAO,CACL,QAAS,OAGb,KAAM,UAAY,CAChB,MAAO,CACL,QAAS,KACT,KAAM,GACN,MAAO,GACP,SAAU,GACV,MAAO,CAAA,EACP,aAAc,KACd,WAAY,IACd,CACF,EACA,SAAU,CACR,OAAQ,UAAY,CAClB,IAAIC,EAAQ,MAEZ,UAAWC,KAAQ,KAAK,MAAO,CAC7B,IAAIC,EAAc,KAAK,aAAaD,CAAI,EAAE,CAAC,EACvCC,KAECA,EAAY,SAAS,MAAM,GAAKA,EAAY,SAAS,OAAO,IAC7DF,GAAS,WACTA,GAAS,aAETA,EAAQ,UAENE,EAAY,SAAS,QAAQ,GAAKF,GAAS,aAC7CA,EAAQ,WAENE,EAAY,SAAS,KAAK,IAC5BF,EAAQ,YAGd,CACA,OAAOA,CACT,EACA,cAAe,CACb,OAAI,KAAK,cAAgB,KAAK,WACrB,CACL,OAAQ,SACV,EAEO,CACL,OAAQ,SACV,CAEJ,GAEF,QAAS,UAAY,CACnB,KAAK,KAAO,KAAK,WAAW,CAAC,EAC7B,KAAK,MAAQ,KAAK,WAAW,CAAC,EAC9B,KAAK,SAAW,KAAK,WAAW,CAAC,EAsBjC,KAAK,gBAAgB,QAASG,GAAY,CACxC,OAAQA,EAAQ,CAAC,EAAE,YAAW,EAAE,CAE9B,IAAK,SACH,KAAK,aAAeA,EAAQ,CAAC,EAC7B,KAAK,WAAaA,EAAQ,CAAC,EAC3B,MAGF,IAAK,MACH,IAAIC,EAAO,YACPD,EAAQ,CAAC,IACXC,EAAOD,EAAQ,CAAC,GAElB,IAAIF,EAAO,GAAGE,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKC,CAAI,GAC/D,KAAK,MAAM,KAAKH,CAAI,EACpB,KAAK,MAAM,UAAWA,CAAI,EAC1B,KACJ,CACF,CAAC,CACH,EACA,UAAW,UAAY,CACrB,KAAK,MAAM,QAASA,GAAS,CAC3B,KAAK,MAAM,aAAcA,CAAI,CAC/B,CAAC,CACH,EACA,QAAS,CACP,cAAe,CACT,KAAK,cAAgB,KAAK,YAC5B,KAAK,MAAM,OAAQ,KAAK,aAAc,KAAK,UAAU,CAEzD,EAEJ,iGA9HEI,EAAAA,YAQuBC,EAAA,CAPrB,MAAM,WACL,MAAKC,EAAAA,eAAA,CAAGC,EAAA,aAAcC,EAAA,aAAa,CAAA,EACnC,KAAMA,EAAA,KACN,OAAQD,EAAA,OACR,MAAOC,EAAA,MACP,SAAUA,EAAA,SACV,QAAOD,EAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RollupWidget-b62qcG5K.js","sources":["../src/widgets/RollupWidget.vue"],"sourcesContent":["<!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <rux-monitoring-icon\n class=\"rux-icon\"\n :style=\"[pointerStyle, computedStyle]\"\n :icon=\"icon\"\n :status=\"status\"\n :label=\"label\"\n :sublabel=\"subLabel\"\n @click=\"clickHandler\"\n ></rux-monitoring-icon>\n</template>\n\n<script>\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n props: {\n value: {\n default: null,\n },\n },\n data: function () {\n return {\n valueId: null,\n icon: '',\n label: '',\n subLabel: '',\n items: [],\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n status: function () {\n let state = 'off'\n // Calculate the overall state of all the items we care about\n for (const item of this.items) {\n let limitsState = this.screenValues[item][1]\n if (limitsState) {\n if (\n (limitsState.includes('BLUE') || limitsState.includes('GREEN')) &&\n state != 'caution' &&\n state != 'critical'\n ) {\n state = 'normal'\n }\n if (limitsState.includes('YELLOW') && state != 'critical') {\n state = 'caution'\n }\n if (limitsState.includes('RED')) {\n state = 'critical'\n }\n }\n }\n return state\n },\n pointerStyle() {\n if (this.screenTarget && this.screenName) {\n return {\n cursor: 'pointer',\n }\n } else {\n return {\n cursor: 'default',\n }\n }\n },\n },\n created: function () {\n this.icon = this.parameters[0]\n this.label = this.parameters[1]\n this.subLabel = this.parameters[2]\n\n // This was an attempt at dynamically importing the rux icon they requested.\n // However, webpack looks at the import line and tries to process all the files.\n // Good discussion here: https://github.com/webpack/webpack/issues/6680\n // and here: https://github.com/webpack/webpack/issues/4175\n // Perhaps there's a way to ignore stuff but we'd still be importing ALL\n // the files which is a LOT. Instead we just import all the icons we need in\n // openc3-cosmos-init/plugins/openc3-tool-base/src/plugins/vuetify.js\n\n // import(\n // `@astrouxds/astro-web-components/dist/components/rux-icon-${this.icon}`\n // ).then((module) => {\n // // First key of the module is the name of the class\n // let name = Object.keys(module)[0]\n // try {\n // customElements.define(`rux-icon-${this.icon}`, module[name])\n // } catch (e) {\n // // Catch the fact that the icon probably already exists and move on\n // }\n // })\n\n this.appliedSettings.forEach((setting) => {\n switch (setting[0].toUpperCase()) {\n // Create a link to an existing screen\n case 'SCREEN':\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n break\n\n // Create the list of rollup telemetry\n case 'TLM':\n let type = 'CONVERTED'\n if (setting[4]) {\n type = setting[4]\n }\n let item = `${setting[1]}__${setting[2]}__${setting[3]}__${type}`\n this.items.push(item)\n this.$emit('addItem', item)\n break\n }\n })\n },\n unmounted: function () {\n this.items.forEach((item) => {\n this.$emit('deleteItem', item)\n })\n },\n methods: {\n clickHandler() {\n if (this.screenTarget && this.screenName) {\n this.$emit('open', this.screenTarget, this.screenName)\n }\n },\n },\n}\n</script>\n"],"names":["_sfc_main","Widget","state","item","limitsState","setting","type","_createBlock","_component_rux_monitoring_icon","_normalizeStyle","$options","_ctx"],"mappings":";;;AAiCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,SAAS;AAAA;;EAGb,MAAM,WAAY;AAChB,WAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO,CAAA;AAAA,MACP,cAAc;AAAA,MACd,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ,WAAY;AAClB,UAAIC,IAAQ;AAEZ,iBAAWC,KAAQ,KAAK,OAAO;AAC7B,YAAIC,IAAc,KAAK,aAAaD,CAAI,EAAE,CAAC;AAC3C,QAAIC,OAECA,EAAY,SAAS,MAAM,KAAKA,EAAY,SAAS,OAAO,MAC7DF,KAAS,aACTA,KAAS,eAETA,IAAQ,WAENE,EAAY,SAAS,QAAQ,KAAKF,KAAS,eAC7CA,IAAQ,YAENE,EAAY,SAAS,KAAK,MAC5BF,IAAQ;AAAA,MAGd;AACA,aAAOA;AAAA,IACT;AAAA,IACA,eAAe;AACb,aAAI,KAAK,gBAAgB,KAAK,aACrB;AAAA,QACL,QAAQ;AAAA,MACV,IAEO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IAEJ;AAAA;EAEF,SAAS,WAAY;AACnB,SAAK,OAAO,KAAK,WAAW,CAAC,GAC7B,KAAK,QAAQ,KAAK,WAAW,CAAC,GAC9B,KAAK,WAAW,KAAK,WAAW,CAAC,GAsBjC,KAAK,gBAAgB,QAAQ,CAACG,MAAY;AACxC,cAAQA,EAAQ,CAAC,EAAE,YAAW,GAAE;AAAA;AAAA,QAE9B,KAAK;AACH,eAAK,eAAeA,EAAQ,CAAC,GAC7B,KAAK,aAAaA,EAAQ,CAAC;AAC3B;AAAA;AAAA,QAGF,KAAK;AACH,cAAIC,IAAO;AACX,UAAID,EAAQ,CAAC,MACXC,IAAOD,EAAQ,CAAC;AAElB,cAAIF,IAAO,GAAGE,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKA,EAAQ,CAAC,CAAC,KAAKC,CAAI;AAC/D,eAAK,MAAM,KAAKH,CAAI,GACpB,KAAK,MAAM,WAAWA,CAAI;AAC1B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,WAAW,WAAY;AACrB,SAAK,MAAM,QAAQ,CAACA,MAAS;AAC3B,WAAK,MAAM,cAAcA,CAAI;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA,EACA,SAAS;AAAA,IACP,eAAe;AACb,MAAI,KAAK,gBAAgB,KAAK,cAC5B,KAAK,MAAM,QAAQ,KAAK,cAAc,KAAK,UAAU;AAAA,IAEzD;AAAA;AAEJ;;;cA9HEI,EAQuBC,GAAA;AAAA,IAPrB,OAAM;AAAA,IACL,OAAKC,EAAA,CAAGC,EAAA,cAAcC,EAAA,aAAa,CAAA;AAAA,IACnC,MAAMA,EAAA;AAAA,IACN,QAAQD,EAAA;AAAA,IACR,OAAOC,EAAA;AAAA,IACP,UAAUA,EAAA;AAAA,IACV,SAAOD,EAAA;AAAA;;;"}
@@ -1,2 +0,0 @@
1
- "use strict";const g=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs"),k=require("./TargetPacketItemChooser-Cm6mQvhI.cjs"),v=require("./cmdUtilities-N30xDV6q.cjs"),t=require("vue"),f=require("./CustomIcon-eie3rPKh.cjs"),w=require("./DetailsDialog-Bc_VEG95.cjs"),S={name:"CommandParameterEditor",mixins:[v.CmdUtilities],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.modelValue===""?null:this.modelValue},stateOptions(){return this.states?Object.keys(this.states).map(a=>({label:a,...this.states[a]})):null},hazardous(){var a,e;return((e=(a=Object.entries(this.states).find(([s,r])=>r.value===this.modelValue))==null?void 0:a.at(1))==null?void 0:e.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange(a){this.$emit("update:modelValue",a)}}},b={key:1,class:"d-flex align-center"};function P(a,e,s,r,n,l){const d=t.resolveComponent("v-text-field"),c=t.resolveComponent("v-select");return t.openBlock(),t.createElementBlock("div",null,[s.states?(t.openBlock(),t.createElementBlock("div",b,[t.createVNode(c,{items:l.stateOptions,"model-value":l.selectValue,"item-title":"label",class:t.normalizeClass(l.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select","onUpdate:modelValue":l.handleChange},null,8,["items","model-value","class","onUpdate:modelValue"]),t.createVNode(d,{"model-value":l.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(t.openBlock(),t.createBlock(d,{key:0,"model-value":l.textFieldValue,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value","onUpdate:modelValue":l.handleChange},null,8,["model-value","onUpdate:modelValue"]))])}const C=f._export_sfc(S,[["render",P],["__scopeId","data-v-b38d5e7f"]]),B={name:"CommandEditor",components:{TargetPacketItemChooser:k.TargetPacketItemChooser,CommandParameterEditor:C,DetailsDialog:w.DetailsDialog},mixins:[v.CmdUtilities],props:{initialTargetName:{type:String,default:null},initialPacketName:{type:String,default:null},cmdString:{type:String,default:null},sendDisabled:{type:Boolean,default:!1},statesInHex:{type:Boolean,default:!1},showIgnoredParams:{type:Boolean,default:!1},cmdRaw:{type:Boolean,default:!1},showCommandButton:{type:Boolean,default:!0},showQueueSelect:{type:Boolean,default:!0}},emits:["command-changed","build-cmd"],data(){return{search:"",headers:[{title:"Name",value:"parameter_name"},{title:"Value or State",value:"val"},{title:"Units",value:"units"},{title:"Range",value:"range"},{title:"Description",value:"description"}],api:null,targetName:"",commandName:"",commandDescription:"",ignoredParams:[],computedRows:[],reservedItemNames:["PACKET_TIMESECONDS","PACKET_TIMEFORMATTED","RECEIVED_TIMESECONDS","RECEIVED_TIMEFORMATTED","RECEIVED_COUNT"],contextMenuShown:!1,viewDetails:!1,parameterName:"",x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}]}},created(){this.api=new g.yi,this.cmdString?this.processCmdString():(this.targetName=this.initialTargetName,this.commandName=this.initialPacketName,this.updateCmdParams())},methods:{commandChanged(a){(this.targetName!==a.targetName||this.commandName!==a.packetName)&&(this.targetName=a.targetName,this.commandName=a.packetName,this.updateCmdParams()),this.$emit("command-changed",a)},buildCmd(a){this.$emit("build-cmd",a)},showContextMenu(a,e){a.preventDefault(),this.parameterName=e.item.parameter_name,this.contextMenuShown=!1,this.x=a.clientX,this.y=a.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},updateCmdParams(){this.ignoredParams=[],this.computedRows=[],this.targetName&&this.commandName&&this.api.get_target(this.targetName).then(a=>(this.ignoredParams=a.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),a=>{console.error("Error getting ignored parameters:",a)}).then(a=>{a&&(a.items.forEach(e=>{if(!this.reservedItemNames.includes(e.name)&&!e.hidden&&(!this.ignoredParams.includes(e.name)||this.showIgnoredParams)){let s=e.default;!e.states&&e.data_type==="STRING"&&typeof e.default=="string"&&(s=`'${s}'`),e.required&&(s=null),e.format_string&&e.default&&(s=sprintf(e.format_string,e.default)),Object.prototype.toString.call(s).slice(8,-1)==="Object"&&(s=this.convertToString(s));let r="N/A";e.minimum!=null&&e.maximum!=null&&(e.data_type==="FLOAT"&&(e.minimum<-1e6&&(e.minimum=e.minimum.toExponential(3)),e.maximum>1e6&&(e.maximum=e.maximum.toExponential(3))),r=`${e.minimum}..${e.maximum}`),this.computedRows.push({parameter_name:e.name,val:s,states:e.states,description:e.description,range:r,units:e.units,type:e.data_type})}}),this.commandDescription=a.description,this.populateParametersFromParsed())},a=>{console.error("Error getting command parameters:",a)})},triggerUpdateCmdParams(){this.updateCmdParams()},getRows(){return this.computedRows},getCmdString(){let a=`${this.targetName} ${this.commandName}`;if(this.computedRows.length===0)return a;a+=" with";for(const e of this.computedRows){if(e.val===null)throw new Error(`Required parameter ${e.parameter_name} not set`);if(e.val!==null&&e.val!==void 0&&e.val!==""){if(e.states){const r=Object.entries(e.states).find(([,n])=>n.value===e.val);if(r){a+=` ${e.parameter_name} '${r[0]}',`;continue}}let s=this.convertToString(e.val);s.includes(" ")&&!this.isArray(s)?a+=` ${e.parameter_name} '${s}',`:a+=` ${e.parameter_name} ${s},`}}return a.slice(0,-1)},parseCmdString(a){const e=a.split(" ");if(e.length<2)return{target:"",command:"",params:{}};if(e.length===2)return{target:e[0],command:e[1],params:{}};if(e[2]!=="with")return{target:"",command:"",params:{}};const s=e[0],r=e[1];let n={};const l=a.split(" with ")[1];let d=[],c=0,m="";for(let o of l)o==="["?(c++,m+=o):o==="]"?(c--,m+=o):o===","&&c===0?(d.push(m.trim()),m=""):m+=o;m.trim()!==""&&d.push(m.trim());for(let o of d){let u=o.indexOf(" ");if(u>0){let p=o.substring(0,u).trim(),h=o.substring(u+1).trim();n[p]=h}}return{target:s,command:r,params:n}},processCmdString(){const a=this.parseCmdString(this.cmdString);a.target&&a.command&&(this.targetName=a.target,this.commandName=a.command,this.parsedParameters=a.params,this.updateCmdParams())},populateParametersFromParsed(){!this.parsedParameters||Object.keys(this.parsedParameters).length===0||this.$nextTick(()=>{setTimeout(()=>{this.computedRows.forEach(a=>{if(this.parsedParameters.hasOwnProperty(a.parameter_name)){const e=this.parsedParameters[a.parameter_name];if(a.states&&typeof e=="string"){const s=Object.keys(a.states).find(r=>r===e||r.toLowerCase()===e.toLowerCase());s?a.val=a.states[s].value:a.val=e}else a.type==="STRING"&&typeof e=="string"?a.val=e.startsWith("'")||e.startsWith('"')?e:`'${e}'`:a.val=e}})},100)})}}},T={style:{padding:"10px"}};function D(a,e,s,r,n,l){const d=t.resolveComponent("target-packet-item-chooser"),c=t.resolveComponent("v-spacer"),m=t.resolveComponent("v-text-field"),o=t.resolveComponent("v-card-title"),u=t.resolveComponent("command-parameter-editor"),p=t.resolveComponent("v-data-table"),h=t.resolveComponent("v-card"),V=t.resolveComponent("v-list-item-title"),x=t.resolveComponent("v-list-item"),N=t.resolveComponent("v-list"),y=t.resolveComponent("v-menu"),E=t.resolveComponent("details-dialog");return t.openBlock(),t.createBlock(h,null,{default:t.withCtx(()=>[t.createElementVNode("div",T,[t.createVNode(d,{"initial-target-name":n.targetName,"initial-packet-name":n.commandName,disabled:s.sendDisabled,"button-text":s.showCommandButton?"Send":null,"show-queue-select":s.showQueueSelect,mode:"cmd",onOnSet:e[0]||(e[0]=i=>l.commandChanged(i)),onAddItem:e[1]||(e[1]=i=>l.buildCmd(i))},null,8,["initial-target-name","initial-packet-name","disabled","button-text","show-queue-select"])]),n.computedRows.length!==0?(t.openBlock(),t.createBlock(h,{key:0},{default:t.withCtx(()=>[t.createVNode(o,{class:"d-flex align-center justify-content-space-between"},{default:t.withCtx(()=>[e[5]||(e[5]=t.createTextVNode(" Parameters ",-1)),t.createVNode(c),t.createVNode(m,{modelValue:n.search,"onUpdate:modelValue":e[2]||(e[2]=i=>n.search=i),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),t.createVNode(p,{headers:n.headers,items:n.computedRows,search:n.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":l.showContextMenu},{"item.val":t.withCtx(({item:i})=>[t.renderSlot(a.$slots,"parameter-editor",{item:i,statesInHex:s.statesInHex},()=>[t.createVNode(u,{modelValue:i.val,"onUpdate:modelValue":_=>i.val=_,states:i.states,"states-in-hex":s.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])])]),_:3},8,["headers","items","search","onContextmenu:row"])]),_:3})):t.createCommentVNode("",!0),t.createVNode(y,{modelValue:n.contextMenuShown,"onUpdate:modelValue":e[3]||(e[3]=i=>n.contextMenuShown=i),target:[n.x,n.y]},{default:t.withCtx(()=>[t.createVNode(N,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.contextMenuOptions,(i,_)=>(t.openBlock(),t.createBlock(x,{key:_,onClick:t.withModifiers(i.action,["stop"])},{default:t.withCtx(()=>[t.createVNode(V,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(i.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),t.createVNode(E,{modelValue:n.viewDetails,"onUpdate:modelValue":e[4]||(e[4]=i=>n.viewDetails=i),"target-name":n.targetName,"packet-name":n.commandName,"item-name":n.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"])]),_:3})}const I=f._export_sfc(B,[["render",D]]),O={props:{modelValue:{type:Array,required:!0}},computed:{selected:{get(){return this.modelValue},set(a){this.$emit("update:modelValue",a)}}},methods:{addEnvVar:function(){this.selected.push({key:"",value:""})},delEnvVar:function(a){this.selected.splice(a,1)}}},U={scope:"col",class:"text-right",width:"52px"};function R(a,e,s,r,n,l){const d=t.resolveComponent("v-btn"),c=t.resolveComponent("v-text-field"),m=t.resolveComponent("v-table");return t.openBlock(),t.createElementBlock("div",null,[e[2]||(e[2]=t.createElementVNode("span",null," Add environment variables (optional)",-1)),t.createVNode(m,{density:"compact"},{default:t.withCtx(()=>[t.createElementVNode("tbody",null,[t.createElementVNode("tr",null,[e[0]||(e[0]=t.createElementVNode("th",{scope:"col",class:"text-left"},"Key",-1)),e[1]||(e[1]=t.createElementVNode("th",{scope:"col",class:"text-left"},"Value",-1)),t.createElementVNode("th",U,[t.createVNode(d,{icon:"mdi-plus",variant:"text","data-test":"new-metadata-icon",onClick:l.addEnvVar},null,8,["onClick"])])]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.selected,(o,u)=>(t.openBlock(),t.createElementBlock("tr",{key:`tr-${u}`},[t.createElementVNode("td",null,[t.createVNode(c,{modelValue:o.key,"onUpdate:modelValue":p=>o.key=p,density:"compact",type:"text","hide-details":"",readonly:o.readonly,"data-test":`key-${u}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),t.createElementVNode("td",null,[t.createVNode(c,{modelValue:o.value,"onUpdate:modelValue":p=>o.value=p,density:"compact",type:"text","hide-details":"",readonly:o.readonly,"data-test":`value-${u}`},null,8,["modelValue","onUpdate:modelValue","readonly","data-test"])]),t.createElementVNode("td",null,[t.createVNode(d,{icon:"mdi-delete",variant:"text","data-test":`remove-env-icon-${u}`,onClick:p=>l.delEnvVar(u)},null,8,["data-test","onClick"])])]))),128))])]),_:1})])}const M=f._export_sfc(O,[["render",R]]),q={props:{modelValue:String},data(){return{loading:!1,search:"",selected:this.modelValue,scripts:[],items:[]}},watch:{selected(a,e){a!==e&&(a&&a.slice(-1)==="*"?this.$emit("file",a.substring(0,a.length-1)):this.$emit("file",a))},search(a){a&&a!==this.selected&&this.querySelections(a)}},created(){this.loading=!0,g.fi.get("/script-api/scripts").then(a=>{this.scripts=a.data.filter(e=>e.includes(".rb")||e.includes(".py")),this.items=this.scripts}).catch(a=>{this.$emit("error",{type:"error",text:`Failed to connect to OpenC3. ${a}`,error:a})}),this.selected=this.modelValue?this.modelValue:null,this.loading=!1},methods:{querySelections:function(a){this.loading=!0,setTimeout(()=>{this.items=this.scripts.filter(e=>(e||"").toLowerCase().indexOf((a||"").toLowerCase())>-1),this.loading=!1},500)}}};function A(a,e,s,r,n,l){const d=t.resolveComponent("v-autocomplete"),c=t.resolveComponent("v-row");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(c,null,{default:t.withCtx(()=>[t.createVNode(d,{modelValue:n.selected,"onUpdate:modelValue":e[0]||(e[0]=m=>n.selected=m),search:n.search,"onUpdate:search":e[1]||(e[1]=m=>n.search=m),density:"compact",variant:"outlined","hide-no-data":"","hide-details":"",class:"mb-5",label:"Select script",loading:n.loading,items:n.items,"data-test":"select-script"},null,8,["modelValue","search","loading","items"])]),_:1})])}const F=f._export_sfc(q,[["render",A]]);exports.CommandEditor=I;exports.CommandParameterEditor=C;exports.EnvironmentChooser=M;exports.ScriptChooser=F;
2
- //# sourceMappingURL=ScriptChooser-CtV7dDJS.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptChooser-CtV7dDJS.cjs","sources":["../src/components/CommandParameterEditor.vue","../src/components/CommandEditor.vue","../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-text-field\n v-if=\"!states\"\n :model-value=\"textFieldValue\"\n hide-details\n density=\"compact\"\n variant=\"filled\"\n data-test=\"cmd-param-value\"\n @update:model-value=\"handleChange\"\n />\n <div v-else class=\"d-flex align-center\">\n <v-select\n :items=\"stateOptions\"\n :model-value=\"selectValue\"\n item-title=\"label\"\n :class=\"stateClass\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n placeholder=\"Select...\"\n min-width=\"120px\"\n data-test=\"cmd-param-select\"\n @update:model-value=\"handleChange\"\n />\n <v-text-field\n :model-value=\"stateValue\"\n disabled\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n min-width=\"60px\"\n data-test=\"cmd-param-value\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport { CmdUtilities } from '../util'\nexport default {\n name: 'CommandParameterEditor',\n mixins: [CmdUtilities],\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n states: {\n type: Object,\n default: () => null,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n computed: {\n textFieldValue() {\n return this.convertToString(this.modelValue)\n },\n stateValue() {\n if (this.statesInHex) {\n return '0x' + this.modelValue.toString(16)\n } else {\n return this.modelValue\n }\n },\n selectValue() {\n // this makes the placeholder prop work\n return this.modelValue === '' ? null : this.modelValue\n },\n stateOptions() {\n if (!this.states) {\n return null\n }\n return Object.keys(this.states).map((label) => {\n return {\n label,\n ...this.states[label],\n }\n })\n },\n hazardous() {\n return (\n Object.entries(this.states)\n .find(([label, state]) => state.value === this.modelValue)\n ?.at(1)?.hazardous !== undefined\n )\n },\n stateClass() {\n return this.hazardous ? 'hazardous mr-4' : 'mr-4'\n },\n },\n methods: {\n handleChange(value) {\n this.$emit('update:modelValue', value)\n },\n },\n}\n</script>\n<style scoped>\n/* This allows Value or State selection to be wider and show state names */\n.container :deep(.v-select__selections) {\n width: auto;\n}\n.v-overflow-btn {\n margin-top: 0px;\n}\n.container {\n padding: 0px;\n}\n.hazardous :deep(.v-select__selection-text) {\n color: rgb(255, 220, 0) !important;\n}\n</style>\n","<!--\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <div style=\"padding: 10px\">\n <target-packet-item-chooser\n :initial-target-name=\"targetName\"\n :initial-packet-name=\"commandName\"\n :disabled=\"sendDisabled\"\n :button-text=\"showCommandButton ? 'Send' : null\"\n :show-queue-select=\"showQueueSelect\"\n mode=\"cmd\"\n @on-set=\"commandChanged($event)\"\n @add-item=\"buildCmd($event)\"\n />\n </div>\n\n <v-card v-if=\"computedRows.length !== 0\">\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n Parameters\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"computedRows\"\n :search=\"search\"\n :items-per-page=\"-1\"\n hide-default-footer\n multi-sort\n density=\"compact\"\n @contextmenu:row=\"showContextMenu\"\n >\n <template #item.val=\"{ item }\">\n <slot\n name=\"parameter-editor\"\n :item=\"item\"\n :states-in-hex=\"statesInHex\"\n >\n <!-- Default parameter editor if slot not provided -->\n <command-parameter-editor\n v-model=\"item.val\"\n :states=\"item.states\"\n :states-in-hex=\"statesInHex\"\n />\n </slot>\n </template>\n </v-data-table>\n </v-card>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"targetName\"\n :packet-name=\"commandName\"\n :item-name=\"parameterName\"\n :type=\"'cmd'\"\n />\n </v-card>\n</template>\n\n<script>\nimport 'sprintf-js'\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport TargetPacketItemChooser from './TargetPacketItemChooser.vue'\nimport CommandParameterEditor from './CommandParameterEditor.vue'\nimport DetailsDialog from './DetailsDialog.vue'\nimport { CmdUtilities } from '../util'\n\nexport default {\n name: 'CommandEditor',\n components: {\n TargetPacketItemChooser,\n CommandParameterEditor,\n DetailsDialog,\n },\n mixins: [CmdUtilities],\n props: {\n initialTargetName: {\n type: String,\n default: null,\n },\n initialPacketName: {\n type: String,\n default: null,\n },\n cmdString: {\n type: String,\n default: null,\n },\n sendDisabled: {\n type: Boolean,\n default: false,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n showIgnoredParams: {\n type: Boolean,\n default: false,\n },\n cmdRaw: {\n type: Boolean,\n default: false,\n },\n showCommandButton: {\n type: Boolean,\n default: true,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['command-changed', 'build-cmd'],\n data() {\n return {\n search: '',\n headers: [\n { title: 'Name', value: 'parameter_name' },\n { title: 'Value or State', value: 'val' },\n { title: 'Units', value: 'units' },\n { title: 'Range', value: 'range' },\n { title: 'Description', value: 'description' },\n ],\n api: null,\n targetName: '',\n commandName: '',\n commandDescription: '',\n ignoredParams: [],\n computedRows: [],\n reservedItemNames: [\n 'PACKET_TIMESECONDS',\n 'PACKET_TIMEFORMATTED',\n 'RECEIVED_TIMESECONDS',\n 'RECEIVED_TIMEFORMATTED',\n 'RECEIVED_COUNT',\n ],\n contextMenuShown: false,\n viewDetails: false,\n parameterName: '',\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n ],\n }\n },\n created() {\n this.api = new OpenC3Api()\n if (this.cmdString) {\n this.processCmdString()\n } else {\n this.targetName = this.initialTargetName\n this.commandName = this.initialPacketName\n this.updateCmdParams()\n }\n },\n methods: {\n commandChanged(event) {\n if (\n this.targetName !== event.targetName ||\n this.commandName !== event.packetName\n ) {\n this.targetName = event.targetName\n this.commandName = event.packetName\n this.updateCmdParams()\n }\n this.$emit('command-changed', event)\n },\n buildCmd(event) {\n this.$emit('build-cmd', event)\n },\n showContextMenu(event, row) {\n event.preventDefault()\n this.parameterName = row.item.parameter_name\n this.contextMenuShown = false\n this.x = event.clientX\n this.y = event.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n updateCmdParams() {\n this.ignoredParams = []\n this.computedRows = []\n if (this.targetName && this.commandName) {\n this.api\n .get_target(this.targetName)\n .then(\n (target) => {\n this.ignoredParams = target.ignored_parameters\n return this.api.get_cmd(this.targetName, this.commandName)\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting ignored parameters:', error)\n },\n )\n .then(\n (command) => {\n if (command) {\n command.items.forEach((parameter) => {\n if (this.reservedItemNames.includes(parameter.name)) return\n if (\n !parameter.hidden &&\n (!this.ignoredParams.includes(parameter.name) ||\n this.showIgnoredParams)\n ) {\n let val = parameter.default\n if (\n !parameter.states &&\n parameter.data_type === 'STRING' &&\n typeof parameter.default === 'string'\n ) {\n val = `'${val}'`\n }\n if (parameter.required) {\n val = null // Special marker for required parameters\n }\n if (parameter.format_string && parameter.default) {\n val = sprintf(parameter.format_string, parameter.default)\n }\n if (\n Object.prototype.toString.call(val).slice(8, -1) ===\n 'Object'\n ) {\n val = this.convertToString(val)\n }\n let range = 'N/A'\n if (\n parameter.minimum != null &&\n parameter.maximum != null\n ) {\n if (parameter.data_type === 'FLOAT') {\n if (parameter.minimum < -1e6) {\n parameter.minimum = parameter.minimum.toExponential(3)\n }\n if (parameter.maximum > 1e6) {\n parameter.maximum = parameter.maximum.toExponential(3)\n }\n }\n range = `${parameter.minimum}..${parameter.maximum}`\n }\n this.computedRows.push({\n parameter_name: parameter.name,\n val: val,\n states: parameter.states,\n description: parameter.description,\n range: range,\n units: parameter.units,\n type: parameter.data_type,\n })\n }\n })\n this.commandDescription = command.description\n\n // Populate with parsed parameters if available\n this.populateParametersFromParsed()\n }\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting command parameters:', error)\n },\n )\n }\n },\n triggerUpdateCmdParams() {\n this.updateCmdParams()\n },\n getRows() {\n return this.computedRows\n },\n getCmdString() {\n let cmd = `${this.targetName} ${this.commandName}`\n if (this.computedRows.length === 0) return cmd\n cmd += ' with'\n for (const row of this.computedRows) {\n // null value indicates required parameter not set, see updateCmdParams\n if (row.val === null) {\n throw new Error(`Required parameter ${row.parameter_name} not set`)\n }\n if (row.val !== null && row.val !== undefined && row.val !== '') {\n if (row.states) {\n // If states exist, find the state name for the value\n const stateEntry = Object.entries(row.states).find(\n ([, state]) => state.value === row.val,\n )\n if (stateEntry) {\n // Although not always necessary, always quote states\n cmd += ` ${row.parameter_name} '${stateEntry[0]}',`\n continue\n }\n }\n // We only put the param value in quotes if it is a string with spaces\n // Check for array syntax because we do NOT quote arrays\n let value = this.convertToString(row.val)\n if (value.includes(' ') && !this.isArray(value)) {\n cmd += ` ${row.parameter_name} '${value}',`\n } else {\n cmd += ` ${row.parameter_name} ${value},`\n }\n }\n }\n // Remove trailing comma\n return cmd.slice(0, -1)\n },\n parseCmdString(cmdString) {\n // Parse commands in format: \"TARGET COMMAND with PARAM1 value1, PARAM2 value2\"\n const parts = cmdString.split(' ')\n if (parts.length < 2) return { target: '', command: '', params: {} }\n if (parts.length === 2) {\n return { target: parts[0], command: parts[1], params: {} }\n }\n // Check for a malformed command string that doesn't have 'with'\n if (parts[2] !== 'with') return { target: '', command: '', params: {} }\n\n const target = parts[0]\n const command = parts[1]\n let params = {}\n\n const paramsString = cmdString.split(' with ')[1]\n let paramPairs = []\n let bracketLevel = 0\n let current = ''\n // Parse the params char by char to handle commas inside brackets\n for (let char of paramsString) {\n if (char === '[') {\n bracketLevel++\n current += char\n } else if (char === ']') {\n bracketLevel--\n current += char\n } else if (char === ',' && bracketLevel === 0) {\n paramPairs.push(current.trim())\n current = ''\n } else {\n current += char\n }\n }\n if (current.trim() !== '') {\n paramPairs.push(current.trim())\n }\n\n for (let pair of paramPairs) {\n let firstSpace = pair.indexOf(' ')\n if (firstSpace > 0) {\n let key = pair.substring(0, firstSpace).trim()\n let value = pair.substring(firstSpace + 1).trim()\n params[key] = value\n }\n }\n return { target: target, command: command, params: params }\n },\n processCmdString() {\n const parsed = this.parseCmdString(this.cmdString)\n if (parsed.target && parsed.command) {\n this.targetName = parsed.target\n this.commandName = parsed.command\n this.parsedParameters = parsed.params\n this.updateCmdParams()\n }\n },\n populateParametersFromParsed() {\n // Populate parameters after command parameters are loaded\n if (\n !this.parsedParameters ||\n Object.keys(this.parsedParameters).length === 0\n ) {\n return\n }\n\n this.$nextTick(() => {\n // Give time for parameters to load\n setTimeout(() => {\n this.computedRows.forEach((row) => {\n if (this.parsedParameters.hasOwnProperty(row.parameter_name)) {\n const value = this.parsedParameters[row.parameter_name]\n // Set the value based on parameter type\n if (row.states && typeof value === 'string') {\n // For state parameters, try to match the state name\n const stateKey = Object.keys(row.states).find(\n (key) =>\n key === value || key.toLowerCase() === value.toLowerCase(),\n )\n if (stateKey) {\n row.val = row.states[stateKey].value\n } else {\n row.val = value\n }\n } else if (row.type === 'STRING' && typeof value === 'string') {\n // For string parameters, add quotes if not present\n row.val =\n value.startsWith(\"'\") || value.startsWith('\"')\n ? value\n : `'${value}'`\n } else {\n row.val = value\n }\n }\n })\n }, 100) // Shorter delay since we're already in the component\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n v-model:search=\"search\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","CmdUtilities","label","_b","_a","state","value","_createElementBlock","$props","_openBlock","_hoisted_1","_createVNode","_component_v_select","$options","_component_v_text_field","_createBlock","TargetPacketItemChooser","CommandParameterEditor","DetailsDialog","OpenC3Api","event","row","target","error","command","parameter","val","range","cmd","stateEntry","cmdString","parts","params","paramsString","paramPairs","bracketLevel","current","char","pair","firstSpace","key","parsed","stateKey","_component_v_card","_createElementVNode","_component_target_packet_item_chooser","$data","_cache","$event","_component_v_card_title","_component_v_spacer","_component_v_data_table","_withCtx","item","_renderSlot","_ctx","_component_command_parameter_editor","_component_v_menu","_component_v_list","_Fragment","_renderList","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog","_component_v_table","_component_v_btn","env","i","newVal","oldVal","Api","response","filename","v","_component_v_row","_component_v_autocomplete"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptChooser-DMPY3m8a.js","sources":["../src/components/CommandParameterEditor.vue","../src/components/CommandEditor.vue","../src/components/EnvironmentChooser.vue","../src/components/ScriptChooser.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-text-field\n v-if=\"!states\"\n :model-value=\"textFieldValue\"\n hide-details\n density=\"compact\"\n variant=\"filled\"\n data-test=\"cmd-param-value\"\n @update:model-value=\"handleChange\"\n />\n <div v-else class=\"d-flex align-center\">\n <v-select\n :items=\"stateOptions\"\n :model-value=\"selectValue\"\n item-title=\"label\"\n :class=\"stateClass\"\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n placeholder=\"Select...\"\n min-width=\"120px\"\n data-test=\"cmd-param-select\"\n @update:model-value=\"handleChange\"\n />\n <v-text-field\n :model-value=\"stateValue\"\n disabled\n hide-details\n density=\"compact\"\n variant=\"outlined\"\n min-width=\"60px\"\n data-test=\"cmd-param-value\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport { CmdUtilities } from '../util'\nexport default {\n name: 'CommandParameterEditor',\n mixins: [CmdUtilities],\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n states: {\n type: Object,\n default: () => null,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['update:modelValue'],\n computed: {\n textFieldValue() {\n return this.convertToString(this.modelValue)\n },\n stateValue() {\n if (this.statesInHex) {\n return '0x' + this.modelValue.toString(16)\n } else {\n return this.modelValue\n }\n },\n selectValue() {\n // this makes the placeholder prop work\n return this.modelValue === '' ? null : this.modelValue\n },\n stateOptions() {\n if (!this.states) {\n return null\n }\n return Object.keys(this.states).map((label) => {\n return {\n label,\n ...this.states[label],\n }\n })\n },\n hazardous() {\n return (\n Object.entries(this.states)\n .find(([label, state]) => state.value === this.modelValue)\n ?.at(1)?.hazardous !== undefined\n )\n },\n stateClass() {\n return this.hazardous ? 'hazardous mr-4' : 'mr-4'\n },\n },\n methods: {\n handleChange(value) {\n this.$emit('update:modelValue', value)\n },\n },\n}\n</script>\n<style scoped>\n/* This allows Value or State selection to be wider and show state names */\n.container :deep(.v-select__selections) {\n width: auto;\n}\n.v-overflow-btn {\n margin-top: 0px;\n}\n.container {\n padding: 0px;\n}\n.hazardous :deep(.v-select__selection-text) {\n color: rgb(255, 220, 0) !important;\n}\n</style>\n","<!--\n# Copyright 2025, OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <v-card>\n <div style=\"padding: 10px\">\n <target-packet-item-chooser\n :initial-target-name=\"targetName\"\n :initial-packet-name=\"commandName\"\n :disabled=\"sendDisabled\"\n :button-text=\"showCommandButton ? 'Send' : null\"\n :show-queue-select=\"showQueueSelect\"\n mode=\"cmd\"\n @on-set=\"commandChanged($event)\"\n @add-item=\"buildCmd($event)\"\n />\n </div>\n\n <v-card v-if=\"computedRows.length !== 0\">\n <v-card-title class=\"d-flex align-center justify-content-space-between\">\n Parameters\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n prepend-inner-icon=\"mdi-magnify\"\n clearable\n variant=\"outlined\"\n density=\"compact\"\n single-line\n hide-details\n class=\"search\"\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"computedRows\"\n :search=\"search\"\n :items-per-page=\"-1\"\n hide-default-footer\n multi-sort\n density=\"compact\"\n @contextmenu:row=\"showContextMenu\"\n >\n <template #item.val=\"{ item }\">\n <slot\n name=\"parameter-editor\"\n :item=\"item\"\n :states-in-hex=\"statesInHex\"\n >\n <!-- Default parameter editor if slot not provided -->\n <command-parameter-editor\n v-model=\"item.val\"\n :states=\"item.states\"\n :states-in-hex=\"statesInHex\"\n />\n </slot>\n </template>\n </v-data-table>\n </v-card>\n\n <v-menu v-model=\"contextMenuShown\" :target=\"[x, y]\">\n <v-list>\n <v-list-item\n v-for=\"(item, index) in contextMenuOptions\"\n :key=\"index\"\n @click.stop=\"item.action\"\n >\n <v-list-item-title>{{ item.title }}</v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n\n <details-dialog\n v-model=\"viewDetails\"\n :target-name=\"targetName\"\n :packet-name=\"commandName\"\n :item-name=\"parameterName\"\n :type=\"'cmd'\"\n />\n </v-card>\n</template>\n\n<script>\nimport 'sprintf-js'\nimport { OpenC3Api } from '@openc3/js-common/services'\nimport TargetPacketItemChooser from './TargetPacketItemChooser.vue'\nimport CommandParameterEditor from './CommandParameterEditor.vue'\nimport DetailsDialog from './DetailsDialog.vue'\nimport { CmdUtilities } from '../util'\n\nexport default {\n name: 'CommandEditor',\n components: {\n TargetPacketItemChooser,\n CommandParameterEditor,\n DetailsDialog,\n },\n mixins: [CmdUtilities],\n props: {\n initialTargetName: {\n type: String,\n default: null,\n },\n initialPacketName: {\n type: String,\n default: null,\n },\n cmdString: {\n type: String,\n default: null,\n },\n sendDisabled: {\n type: Boolean,\n default: false,\n },\n statesInHex: {\n type: Boolean,\n default: false,\n },\n showIgnoredParams: {\n type: Boolean,\n default: false,\n },\n cmdRaw: {\n type: Boolean,\n default: false,\n },\n showCommandButton: {\n type: Boolean,\n default: true,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['command-changed', 'build-cmd'],\n data() {\n return {\n search: '',\n headers: [\n { title: 'Name', value: 'parameter_name' },\n { title: 'Value or State', value: 'val' },\n { title: 'Units', value: 'units' },\n { title: 'Range', value: 'range' },\n { title: 'Description', value: 'description' },\n ],\n api: null,\n targetName: '',\n commandName: '',\n commandDescription: '',\n ignoredParams: [],\n computedRows: [],\n reservedItemNames: [\n 'PACKET_TIMESECONDS',\n 'PACKET_TIMEFORMATTED',\n 'RECEIVED_TIMESECONDS',\n 'RECEIVED_TIMEFORMATTED',\n 'RECEIVED_COUNT',\n ],\n contextMenuShown: false,\n viewDetails: false,\n parameterName: '',\n x: 0,\n y: 0,\n contextMenuOptions: [\n {\n title: 'Details',\n action: () => {\n this.contextMenuShown = false\n this.viewDetails = true\n },\n },\n ],\n }\n },\n created() {\n this.api = new OpenC3Api()\n if (this.cmdString) {\n this.processCmdString()\n } else {\n this.targetName = this.initialTargetName\n this.commandName = this.initialPacketName\n this.updateCmdParams()\n }\n },\n methods: {\n commandChanged(event) {\n if (\n this.targetName !== event.targetName ||\n this.commandName !== event.packetName\n ) {\n this.targetName = event.targetName\n this.commandName = event.packetName\n this.updateCmdParams()\n }\n this.$emit('command-changed', event)\n },\n buildCmd(event) {\n this.$emit('build-cmd', event)\n },\n showContextMenu(event, row) {\n event.preventDefault()\n this.parameterName = row.item.parameter_name\n this.contextMenuShown = false\n this.x = event.clientX\n this.y = event.clientY\n this.$nextTick(() => {\n this.contextMenuShown = true\n })\n },\n updateCmdParams() {\n this.ignoredParams = []\n this.computedRows = []\n if (this.targetName && this.commandName) {\n this.api\n .get_target(this.targetName)\n .then(\n (target) => {\n this.ignoredParams = target.ignored_parameters\n return this.api.get_cmd(this.targetName, this.commandName)\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting ignored parameters:', error)\n },\n )\n .then(\n (command) => {\n if (command) {\n command.items.forEach((parameter) => {\n if (this.reservedItemNames.includes(parameter.name)) return\n if (\n !parameter.hidden &&\n (!this.ignoredParams.includes(parameter.name) ||\n this.showIgnoredParams)\n ) {\n let val = parameter.default\n if (\n !parameter.states &&\n parameter.data_type === 'STRING' &&\n typeof parameter.default === 'string'\n ) {\n val = `'${val}'`\n }\n if (parameter.required) {\n val = null // Special marker for required parameters\n }\n if (parameter.format_string && parameter.default) {\n val = sprintf(parameter.format_string, parameter.default)\n }\n if (\n Object.prototype.toString.call(val).slice(8, -1) ===\n 'Object'\n ) {\n val = this.convertToString(val)\n }\n let range = 'N/A'\n if (\n parameter.minimum != null &&\n parameter.maximum != null\n ) {\n if (parameter.data_type === 'FLOAT') {\n if (parameter.minimum < -1e6) {\n parameter.minimum = parameter.minimum.toExponential(3)\n }\n if (parameter.maximum > 1e6) {\n parameter.maximum = parameter.maximum.toExponential(3)\n }\n }\n range = `${parameter.minimum}..${parameter.maximum}`\n }\n this.computedRows.push({\n parameter_name: parameter.name,\n val: val,\n states: parameter.states,\n description: parameter.description,\n range: range,\n units: parameter.units,\n type: parameter.data_type,\n })\n }\n })\n this.commandDescription = command.description\n\n // Populate with parsed parameters if available\n this.populateParametersFromParsed()\n }\n },\n (error) => {\n // eslint-disable-next-line no-console\n console.error('Error getting command parameters:', error)\n },\n )\n }\n },\n triggerUpdateCmdParams() {\n this.updateCmdParams()\n },\n getRows() {\n return this.computedRows\n },\n getCmdString() {\n let cmd = `${this.targetName} ${this.commandName}`\n if (this.computedRows.length === 0) return cmd\n cmd += ' with'\n for (const row of this.computedRows) {\n // null value indicates required parameter not set, see updateCmdParams\n if (row.val === null) {\n throw new Error(`Required parameter ${row.parameter_name} not set`)\n }\n if (row.val !== null && row.val !== undefined && row.val !== '') {\n if (row.states) {\n // If states exist, find the state name for the value\n const stateEntry = Object.entries(row.states).find(\n ([, state]) => state.value === row.val,\n )\n if (stateEntry) {\n // Although not always necessary, always quote states\n cmd += ` ${row.parameter_name} '${stateEntry[0]}',`\n continue\n }\n }\n // We only put the param value in quotes if it is a string with spaces\n // Check for array syntax because we do NOT quote arrays\n let value = this.convertToString(row.val)\n if (value.includes(' ') && !this.isArray(value)) {\n cmd += ` ${row.parameter_name} '${value}',`\n } else {\n cmd += ` ${row.parameter_name} ${value},`\n }\n }\n }\n // Remove trailing comma\n return cmd.slice(0, -1)\n },\n parseCmdString(cmdString) {\n // Parse commands in format: \"TARGET COMMAND with PARAM1 value1, PARAM2 value2\"\n const parts = cmdString.split(' ')\n if (parts.length < 2) return { target: '', command: '', params: {} }\n if (parts.length === 2) {\n return { target: parts[0], command: parts[1], params: {} }\n }\n // Check for a malformed command string that doesn't have 'with'\n if (parts[2] !== 'with') return { target: '', command: '', params: {} }\n\n const target = parts[0]\n const command = parts[1]\n let params = {}\n\n const paramsString = cmdString.split(' with ')[1]\n let paramPairs = []\n let bracketLevel = 0\n let current = ''\n // Parse the params char by char to handle commas inside brackets\n for (let char of paramsString) {\n if (char === '[') {\n bracketLevel++\n current += char\n } else if (char === ']') {\n bracketLevel--\n current += char\n } else if (char === ',' && bracketLevel === 0) {\n paramPairs.push(current.trim())\n current = ''\n } else {\n current += char\n }\n }\n if (current.trim() !== '') {\n paramPairs.push(current.trim())\n }\n\n for (let pair of paramPairs) {\n let firstSpace = pair.indexOf(' ')\n if (firstSpace > 0) {\n let key = pair.substring(0, firstSpace).trim()\n let value = pair.substring(firstSpace + 1).trim()\n params[key] = value\n }\n }\n return { target: target, command: command, params: params }\n },\n processCmdString() {\n const parsed = this.parseCmdString(this.cmdString)\n if (parsed.target && parsed.command) {\n this.targetName = parsed.target\n this.commandName = parsed.command\n this.parsedParameters = parsed.params\n this.updateCmdParams()\n }\n },\n populateParametersFromParsed() {\n // Populate parameters after command parameters are loaded\n if (\n !this.parsedParameters ||\n Object.keys(this.parsedParameters).length === 0\n ) {\n return\n }\n\n this.$nextTick(() => {\n // Give time for parameters to load\n setTimeout(() => {\n this.computedRows.forEach((row) => {\n if (this.parsedParameters.hasOwnProperty(row.parameter_name)) {\n const value = this.parsedParameters[row.parameter_name]\n // Set the value based on parameter type\n if (row.states && typeof value === 'string') {\n // For state parameters, try to match the state name\n const stateKey = Object.keys(row.states).find(\n (key) =>\n key === value || key.toLowerCase() === value.toLowerCase(),\n )\n if (stateKey) {\n row.val = row.states[stateKey].value\n } else {\n row.val = value\n }\n } else if (row.type === 'STRING' && typeof value === 'string') {\n // For string parameters, add quotes if not present\n row.val =\n value.startsWith(\"'\") || value.startsWith('\"')\n ? value\n : `'${value}'`\n } else {\n row.val = value\n }\n }\n })\n }, 100) // Shorter delay since we're already in the component\n })\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <span> Add environment variables (optional)</span>\n <v-table density=\"compact\">\n <tbody>\n <tr>\n <th scope=\"col\" class=\"text-left\">Key</th>\n <th scope=\"col\" class=\"text-left\">Value</th>\n <th scope=\"col\" class=\"text-right\" width=\"52px\">\n <v-btn\n icon=\"mdi-plus\"\n variant=\"text\"\n data-test=\"new-metadata-icon\"\n @click=\"addEnvVar\"\n />\n </th>\n </tr>\n <tr v-for=\"(env, i) in selected\" :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n density=\"compact\"\n type=\"text\"\n hide-details\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-btn\n icon=\"mdi-delete\"\n variant=\"text\"\n :data-test=\"`remove-env-icon-${i}`\"\n @click=\"delEnvVar(i)\"\n />\n </td>\n </tr>\n </tbody>\n </v-table>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n computed: {\n selected: {\n get() {\n return this.modelValue\n },\n set(value) {\n this.$emit('update:modelValue', value)\n },\n },\n },\n methods: {\n addEnvVar: function () {\n this.selected.push({\n key: '',\n value: '',\n })\n },\n delEnvVar: function (index) {\n this.selected.splice(index, 1)\n },\n },\n}\n</script>\n","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-row>\n <v-autocomplete\n v-model=\"selected\"\n v-model:search=\"search\"\n density=\"compact\"\n variant=\"outlined\"\n hide-no-data\n hide-details\n class=\"mb-5\"\n label=\"Select script\"\n :loading=\"loading\"\n :items=\"items\"\n data-test=\"select-script\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\n\nexport default {\n // TODO: cache items\n // this was previously handled by Vuetify and the `cache-items` prop on `v-autocomplete`, but that feature was\n // dropped in Vuetify 3\n props: {\n modelValue: String, // modelValue is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.modelValue,\n scripts: [],\n items: [],\n }\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && newVal.slice(-1) === '*') {\n // Remove the * before returning\n this.$emit('file', newVal.substring(0, newVal.length - 1))\n } else {\n this.$emit('file', newVal)\n }\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data.filter((filename) => {\n return filename.includes('.rb') || filename.includes('.py')\n })\n this.items = this.scripts\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to OpenC3. ${error}`,\n error: error,\n })\n })\n this.selected = this.modelValue ? this.modelValue : null\n this.loading = false\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n"],"names":["_sfc_main","CmdUtilities","label","_b","_a","state","value","_createElementBlock","$props","_openBlock","_hoisted_1","_createVNode","_component_v_select","$options","_component_v_text_field","_createBlock","TargetPacketItemChooser","CommandParameterEditor","DetailsDialog","OpenC3Api","event","row","target","error","command","parameter","val","range","cmd","stateEntry","cmdString","parts","params","paramsString","paramPairs","bracketLevel","current","char","pair","firstSpace","key","parsed","stateKey","_component_v_card","_createElementVNode","_component_target_packet_item_chooser","$data","_cache","$event","_component_v_card_title","_component_v_spacer","_component_v_data_table","_withCtx","item","_renderSlot","_ctx","_component_command_parameter_editor","_component_v_menu","_component_v_list","_Fragment","_renderList","index","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog","_component_v_table","_component_v_btn","env","i","newVal","oldVal","Api","response","filename","v","_component_v_row","_component_v_autocomplete"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./Layout-DDewLzbI.cjs"),l=require("./VerticalWidget-wuRCrd7Q.cjs"),e=require("vue"),c=require("./CustomIcon-eie3rPKh.cjs"),u={components:{VerticalWidget:l.default},mixins:[i.Layout],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let r=this.parameters[1];this.widgets.forEach(s=>{s.settings.find(n=>n[0]==="MARGIN"||n[0].startsWith("RAW")&&n[1].toUpperCase().includes("MARGIN"))===void 0&&s.settings.push(["MARGIN",r])})}}};function m(r,s,o,n,f,d){return e.openBlock(),e.createElementBlock("div",{ref:"container",style:e.normalizeStyle(r.computedStyle),class:"overflow-y-auto"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:a,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],4)}const p=c._export_sfc(u,[["render",m]]);exports.default=p;
2
- //# sourceMappingURL=ScrollwindowWidget-ByJRy528.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScrollwindowWidget-ByJRy528.cjs","sources":["../src/widgets/ScrollwindowWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"4NA8CKA,EAAU,CACb,WAAY,CACV,eAAAC,EAAAA,SAEF,OAAQ,CAACC,EAAAA,MAAM,EACf,QAAS,UAAY,CAEnB,GADA,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,GAAG,EACxC,KAAK,WAAW,CAAC,EAAG,CACtB,IAAIC,EAAS,KAAK,WAAW,CAAC,EAC9B,KAAK,QAAQ,QAASC,GAAW,CAEjBA,EAAO,SAAS,KAC3BC,GACCA,EAAQ,CAAC,IAAM,UACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,GAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ,CAChD,IACc,QACZD,EAAO,SAAS,KAAK,CAAC,SAAUD,CAAM,CAAC,CAE3C,CAAC,CACH,CACF,CACF,+CA9CEG,EAAAA,mBAgBM,MAAA,CAhBD,IAAI,YAAa,uBAAOC,EAAA,aAAa,EAAE,MAAM,qBAChDC,EAAAA,UAAA,EAAA,EAAAF,EAAAA,mBAcEG,WAAA,KAAAC,EAAAA,WAX0BH,EAAA,QAAO,CAAzBH,EAAQO,KAHlBH,EAAAA,UAAA,EAAAI,EAAAA,YAcEC,EAAAA,wBAZKT,EAAO,IAAI,EAFlBU,EAAAA,WAcE,aAbQP,EAAA,UAAS,CAGhB,IAAKI,EACL,OAAQP,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeG,EAAA,aACf,mBAAkBA,EAAA,eAClB,QAASH,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO"}
@@ -1,45 +0,0 @@
1
- import { L as m } from "./Layout-DW5yNlp7.js";
2
- import l from "./VerticalWidget-DsnEzKZ2.js";
3
- import { createElementBlock as o, openBlock as n, normalizeStyle as c, Fragment as p, renderList as u, createBlock as f, resolveDynamicComponent as d, mergeProps as h } from "vue";
4
- import { _ as g } from "./CustomIcon-DTfsnDJn.js";
5
- const y = {
6
- components: {
7
- VerticalWidget: l
8
- },
9
- mixins: [m],
10
- created: function() {
11
- if (this.setHeight(this.parameters[0], "px", 200), this.parameters[1]) {
12
- let r = this.parameters[1];
13
- this.widgets.forEach((s) => {
14
- s.settings.find(
15
- (t) => t[0] === "MARGIN" || t[0].startsWith("RAW") && t[1].toUpperCase().includes("MARGIN")
16
- ) === void 0 && s.settings.push(["MARGIN", r]);
17
- });
18
- }
19
- }
20
- };
21
- function v(r, s, a, t, _, k) {
22
- return n(), o("div", {
23
- ref: "container",
24
- style: c(r.computedStyle),
25
- class: "overflow-y-auto"
26
- }, [
27
- (n(!0), o(p, null, u(r.widgets, (e, i) => (n(), f(d(e.type), h({ ref_for: !0 }, r.listeners, {
28
- key: i,
29
- target: e.target,
30
- parameters: e.parameters,
31
- settings: e.settings,
32
- "screen-values": r.screenValues,
33
- "screen-time-zone": r.screenTimeZone,
34
- widgets: e.widgets,
35
- name: e.name,
36
- line: e.line,
37
- "line-number": e.lineNumber
38
- }), null, 16, ["target", "parameters", "settings", "screen-values", "screen-time-zone", "widgets", "name", "line", "line-number"]))), 128))
39
- ], 4);
40
- }
41
- const $ = /* @__PURE__ */ g(y, [["render", v]]);
42
- export {
43
- $ as default
44
- };
45
- //# sourceMappingURL=ScrollwindowWidget-Dn29gs-U.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScrollwindowWidget-Dn29gs-U.js","sources":["../src/widgets/ScrollwindowWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2025, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div ref=\"container\" :style=\"computedStyle\" class=\"overflow-y-auto\">\n <component\n v-bind=\"listeners\"\n :is=\"widget.type\"\n v-for=\"(widget, index) in widgets\"\n :key=\"index\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </div>\n</template>\n\n<script>\nimport Layout from './Layout'\nimport VerticalWidget from './VerticalWidget.vue'\n\nexport default {\n components: {\n VerticalWidget,\n },\n mixins: [Layout],\n created: function () {\n this.setHeight(this.parameters[0], 'px', 200)\n if (this.parameters[1]) {\n let margin = this.parameters[1]\n this.widgets.forEach((widget) => {\n // Don't push MARGIN on a widget that's already defined it\n const found = widget.settings.find(\n (setting) =>\n setting[0] === 'MARGIN' ||\n (setting[0].startsWith('RAW') &&\n setting[1].toUpperCase().includes('MARGIN')),\n )\n if (found === undefined) {\n widget.settings.push(['MARGIN', margin])\n }\n })\n }\n },\n}\n</script>\n"],"names":["_sfc_main","VerticalWidget","Layout","margin","widget","setting","_createElementBlock","_ctx","_openBlock","_Fragment","_renderList","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;AA8CA,MAAKA,IAAU;AAAA,EACb,YAAY;AAAA,IACV,gBAAAC;AAAA;EAEF,QAAQ,CAACC,CAAM;AAAA,EACf,SAAS,WAAY;AAEnB,QADA,KAAK,UAAU,KAAK,WAAW,CAAC,GAAG,MAAM,GAAG,GACxC,KAAK,WAAW,CAAC,GAAG;AACtB,UAAIC,IAAS,KAAK,WAAW,CAAC;AAC9B,WAAK,QAAQ,QAAQ,CAACC,MAAW;AAQ/B,QANcA,EAAO,SAAS;AAAA,UAC5B,CAACC,MACCA,EAAQ,CAAC,MAAM,YACdA,EAAQ,CAAC,EAAE,WAAW,KAAK,KAC1BA,EAAQ,CAAC,EAAE,YAAW,EAAG,SAAS,QAAQ;AAAA,QAChD,MACc,UACZD,EAAO,SAAS,KAAK,CAAC,UAAUD,CAAM,CAAC;AAAA,MAE3C,CAAC;AAAA,IACH;AAAA,EACF;AACF;;cA9CEG,EAgBM,OAAA;AAAA,IAhBD,KAAI;AAAA,IAAa,SAAOC,EAAA,aAAa;AAAA,IAAE,OAAM;AAAA;KAChDC,EAAA,EAAA,GAAAF,EAcEG,GAAA,MAAAC,EAX0BH,EAAA,SAAO,CAAzBH,GAAQO,OAHlBH,EAAA,GAAAI,EAcEC,EAZKT,EAAO,IAAI,GAFlBU,EAcE,iBAbQP,EAAA,WAAS;AAAA,MAGhB,KAAKI;AAAA,MACL,QAAQP,EAAO;AAAA,MACf,YAAYA,EAAO;AAAA,MACnB,UAAUA,EAAO;AAAA,MACjB,iBAAeG,EAAA;AAAA,MACf,oBAAkBA,EAAA;AAAA,MAClB,SAASH,EAAO;AAAA,MAChB,MAAMA,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,MACb,eAAaA,EAAO;AAAA;;;;"}
@@ -1,3 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),f=require("./CustomIcon-eie3rPKh.cjs");require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_2c757408_lang-CP8T5W6m.cjs");const S=require("./TopBar-HxaiWynT.cjs"),_=require("./settings-sg_XHXQ-.cjs"),D={data(){return{suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1}},watch:{selectAllSuppressedWarnings:function(o){o?this.selectedSuppressedWarnings=this.suppressedWarnings.map(t=>t.key):this.selectedSuppressedWarnings=[]}},created(){this.loadSuppressedWarnings()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter(o=>o.startsWith("suppresswarning__")).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},localStorageKeyToDisplayObject:function(o){const t=o.split("__")[1].replaceAll("_"," ");return{key:o,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[o]}},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},deleteLocalStorageKeys:function(o){for(const t of o)delete localStorage[t]}}};function A(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-checkbox"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode("Reset suppressed warnings",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(` This resets "don't show this again" dialogs on this browser `,-1)])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[n.suppressedWarnings.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(s,{modelValue:n.selectAllSuppressedWarnings,"onUpdate:modelValue":t[0]||(t[0]=r=>n.selectAllSuppressedWarnings=r),label:"Select All Warnings",density:"compact"},null,8,["modelValue"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.suppressedWarnings,r=>(e.openBlock(),e.createBlock(s,{key:r.key,modelValue:n.selectedSuppressedWarnings,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedSuppressedWarnings=l),label:r.text,value:r.key,density:"compact","hide-details":""},null,8,["modelValue","label","value"]))),128))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" No warnings to reset ")],64))]),_:1}),e.createVNode(c,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{disabled:!n.selectedSuppressedWarnings.length,onClick:m.resetSuppressedWarnings,color:"warning",variant:"text","data-test":"reset-suppressed-warnings"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Reset ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const O=f._export_sfc(D,[["render",A]]),H={data(){return{lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1}},watch:{selectAllLastConfigs:function(o){o?this.selectedLastConfigs=this.lastConfigs.map(t=>t.key):this.selectedLastConfigs=[]}},created(){this.loadLastConfigs()},methods:{loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter(o=>o.endsWith("__default")).map(o=>{const t=o.split("__")[0].replaceAll("_"," ");return{key:o,text:t.charAt(0).toUpperCase()+t.slice(1)}}),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(o){for(const t of o)delete localStorage[t]}}};function R(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-checkbox"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Clear default configs ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" This clears the default tool configs on this browser ",-1)])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[n.lastConfigs.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(s,{modelValue:n.selectAllLastConfigs,"onUpdate:modelValue":t[0]||(t[0]=r=>n.selectAllLastConfigs=r),label:"Select All Configs",density:"compact"},null,8,["modelValue"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.lastConfigs,r=>(e.openBlock(),e.createBlock(s,{key:r.key,modelValue:n.selectedLastConfigs,"onUpdate:modelValue":t[1]||(t[1]=l=>n.selectedLastConfigs=l),label:r.text,value:r.key,"hide-details":"",density:"compact"},null,8,["modelValue","label","value"]))),128))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" No configs to clear ")],64))]),_:1}),e.createVNode(c,{class:"px-2"},{default:e.withCtx(()=>[e.createVNode(d,{disabled:!n.selectedLastConfigs.length,onClick:m.clearLastConfigs,color:"warning",variant:"text","data-test":"clear-default-configs"},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Clear ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const q=f._export_sfc(H,[["render",R]]),M={data(){return{vimMode:S.AceEditorUtils.isVimModeEnabled(),defaultLanguage:S.AceEditorUtils.getDefaultScriptingLanguage(),languageOptions:[{text:"Ruby",value:"ruby"},{text:"Python",value:"python"}]}},methods:{save:function(){S.AceEditorUtils.setVimMode(this.vimMode),S.AceEditorUtils.setDefaultScriptingLanguage(this.defaultLanguage)}}};function P(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-select"),i=e.resolveComponent("v-switch"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[2]||(t[2]=[e.createTextVNode(" Code Editor Settings ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[3]||(t[3]=[e.createTextVNode(" Settings for the code editors built into COSMOS (e.g. in Script Runner) ",-1)])]),_:1}),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{modelValue:n.defaultLanguage,"onUpdate:modelValue":t[0]||(t[0]=l=>n.defaultLanguage=l),label:"Default scripting language",items:n.languageOptions,"item-title":"text","item-value":"value",color:"primary",class:"mt-4","data-test":"default-language"},null,8,["modelValue","items"]),e.createVNode(i,{modelValue:n.vimMode,"onUpdate:modelValue":t[1]||(t[1]=l=>n.vimMode=l),label:"Vim mode",color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{color:"success",variant:"text","data-test":"save-editor-settings",onClick:m.save},{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const j=f._export_sfc(M,[["render",P]]),y="astro",Z={mixins:[_.Settings],data(){return{hideClock:!1}},created(){this.loadSetting(y)},methods:{save(){this.saveSetting(y,JSON.stringify({hideClock:this.hideClock}))},parseSetting:function(o){if(o){let t=JSON.parse(o);this.hideClock=t.hideClock}}}};function z(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-switch"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Astro Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=r=>o.errorLoading=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=r=>o.errorSaving=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=r=>o.successSaving=r),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(i,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{label:"Hide Astro Clock",modelValue:n.hideClock,"onUpdate:modelValue":t[3]||(t[3]=r=>n.hideClock=r),color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(d,{onClick:m.save,color:"success",variant:"text","data-test":"save-astro-settings"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const J=f._export_sfc(Z,[["render",z]]),k="classification_banner",K={mixins:[_.Settings],data(){return{text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:o=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(o)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayTopBanner:function(o){o?this.topHeight=20:this.topHeight=0},displayBottomBanner:function(o){o?this.bottomHeight=20:this.bottomHeight=0},customFontColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customFontColor=`#${o}`)},customBackgroundColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customBackgroundColor=`#${o}`)}},created(){this.loadSetting(k)},methods:{save(){this.saveSetting(k,this.saveObj)},parseSetting:function(o){if(o){const t=JSON.parse(o);this.text=t.text,this.topHeight=t.topHeight,this.bottomHeight=t.bottomHeight,this.displayTopBanner=t.topHeight!==0,this.displayBottomBanner=t.bottomHeight!==0,t.backgroundColor&&t.backgroundColor.startsWith("#")?(this.customBackgroundColor=t.backgroundColor,this.selectedBackgroundColor=!1):this.selectedBackgroundColor=t.backgroundColor,t.fontColor&&t.fontColor.startsWith("#")?(this.customFontColor=t.fontColor,this.selectedFontColor=!1):this.selectedFontColor=t.fontColor}}}};function G(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-text-field"),i=e.resolveComponent("v-col"),d=e.resolveComponent("v-row"),c=e.resolveComponent("v-icon"),v=e.resolveComponent("v-list-item"),r=e.resolveComponent("v-select"),l=e.resolveComponent("v-switch"),N=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-btn"),b=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(w,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode("Classification Banner Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=u=>o.errorLoading=u),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=u=>o.errorSaving=u),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=u=>o.successSaving=u),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(N,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{label:"Text",modelValue:n.text,"onUpdate:modelValue":t[3]||(t[3]=u=>n.text=u),"data-test":"classification-banner-text"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(r,{label:"Background color",items:n.colors,"item-title":"text",modelValue:n.selectedBackgroundColor,"onUpdate:modelValue":t[4]||(t[4]=u=>n.selectedBackgroundColor=u),"data-test":"classification-banner-background-color"},e.createSlots({item:e.withCtx(({props:u,item:p})=>[e.createVNode(v,e.mergeProps(u,{value:p.text}),{prepend:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(c,{key:0,color:p.value},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedBackgroundColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.createVNode(c,{color:n.selectedBackgroundColor},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["items","modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{label:"Custom background color",hint:n.customColorHint,disabled:n.selectedBackgroundColor!==!1,modelValue:n.customBackgroundColor,"onUpdate:modelValue":t[5]||(t[5]=u=>n.customBackgroundColor=u),rules:[n.rules.customColor],"data-test":"classification-banner-custom-background-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.customBackgroundColor},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedBackgroundColor]])]),_:1},8,["hint","disabled","modelValue","rules"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(r,{label:"Font color",items:n.colors,"item-title":"text",modelValue:n.selectedFontColor,"onUpdate:modelValue":t[6]||(t[6]=u=>n.selectedFontColor=u),"data-test":"classification-banner-font-color"},e.createSlots({item:e.withCtx(({props:u,item:p})=>[e.createVNode(v,e.mergeProps(u,{value:p.text}),{prepend:e.withCtx(()=>[p.value?(e.openBlock(),e.createBlock(c,{key:0,color:p.value},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedFontColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.selectedFontColor},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,n.selectedFontColor]])]),key:"0"}:void 0]),1032,["items","modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{label:"Custom font color",hint:n.customColorHint,disabled:n.selectedFontColor!==!1,modelValue:n.customFontColor,"onUpdate:modelValue":t[7]||(t[7]=u=>n.customFontColor=u),rules:[n.rules.customColor],"data-test":"classification-banner-custom-font-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(c,{color:n.customFontColor},{default:e.withCtx(()=>[...t[19]||(t[19]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedFontColor]])]),_:1},8,["hint","disabled","modelValue","rules"])]),_:1})]),_:1}),e.createVNode(d,{dense:""},{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,{label:"Display top banner",modelValue:n.displayTopBanner,"onUpdate:modelValue":t[8]||(t[8]=u=>n.displayTopBanner=u),color:"primary","data-test":"display-top-banner"},null,8,["modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{label:"Top height",disabled:!n.displayTopBanner,type:"number",suffix:"px",modelValue:n.topHeight,"onUpdate:modelValue":t[9]||(t[9]=u=>n.topHeight=u),"data-test":"classification-banner-top-height"},null,8,["disabled","modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(l,{label:"Display bottom banner",modelValue:n.displayBottomBanner,"onUpdate:modelValue":t[10]||(t[10]=u=>n.displayBottomBanner=u),color:"primary","data-test":"display-bottom-banner"},null,8,["modelValue"])]),_:1}),e.createVNode(i,null,{default:e.withCtx(()=>[e.createVNode(s,{label:"Bottom height",disabled:!n.displayBottomBanner,type:"number",suffix:"px",modelValue:n.bottomHeight,"onUpdate:modelValue":t[11]||(t[11]=u=>n.bottomHeight=u),"data-test":"classification-banner-bottom-height"},null,8,["disabled","modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(h,{disabled:!m.formValid,onClick:m.save,color:"success",variant:"text","data-test":"save-classification-banner"},{default:e.withCtx(()=>[...t[20]||(t[20]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const I=f._export_sfc(K,[["render",G]]),T="time_zone",Y={mixins:[_.Settings],data(){return{timeZones:["local","UTC"],timeZone:"local"}},created(){this.loadSetting(T)},methods:{save(){this.saveSetting(T,this.timeZone)},parseSetting:function(o){o&&(this.timeZone=o)}}};function Q(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-select"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Time Zone",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" The time zone to use in all COSMOS tools (graphs, time choosers, log messages, etc). Anywhere a date / time is displayed, it will be in the chosen time zone. (Note: All timestamps are UTC in the backend). ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{modelValue:n.timeZone,"onUpdate:modelValue":t[3]||(t[3]=l=>n.timeZone=l),items:n.timeZones,label:"Select time display","hide-details":"","prepend-icon":"mdi-map-clock","single-line":"","data-test":"time-zone"},null,8,["modelValue","items"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{onClick:m.save,color:"success",variant:"text","data-test":"save-time-zone"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const X=f._export_sfc(Y,[["render",Q]]),B="news_feed",$={mixins:[_.Settings],data(){return{newsFeed:!0}},created(){this.loadSetting(B)},methods:{save(){this.saveSetting(B,this.newsFeed),this.newsFeed&&this.api.update_news()},parseSetting:function(o){this.newsFeed=o}}};function ee(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-alert"),s=e.resolveComponent("v-switch"),i=e.resolveComponent("v-card-text"),d=e.resolveComponent("v-btn"),c=e.resolveComponent("v-card-actions"),v=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(v,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("News Feed Settings",-1)])]),_:1}),e.createVNode(a,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=r=>o.errorLoading=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=r=>o.errorSaving=r),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(a,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=r=>o.successSaving=r),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(i,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(s,{label:`Allow COSMOS backend to pull the news feed from the COSMOS external news site.
2
- This is a low bandwidth poll which only happens every 12 hrs. To immediately update the news feed, click the 'Refresh' in the User Menu.`,modelValue:n.newsFeed,"onUpdate:modelValue":t[3]||(t[3]=r=>n.newsFeed=r),color:"primary"},null,8,["modelValue"])]),_:1}),e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(d,{onClick:m.save,color:"success",variant:"text","data-test":"save-news-feed"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const te=f._export_sfc($,[["render",ee]]),U="subtitle",oe={mixins:[_.Settings],data(){return{subtitle:""}},created(){this.loadSetting(U)},methods:{save(){this.saveSetting(U,this.subtitle)},parseSetting:function(o){o&&(this.subtitle=o)}}};function ne(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode("Subtitle",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets a subtitle to display below the COSMOS logo in the Navigation bar. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{label:"Subtitle",modelValue:n.subtitle,"onUpdate:modelValue":t[3]||(t[3]=l=>n.subtitle=l),"data-test":"subtitle"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{onClick:m.save,color:"success",variant:"text","data-test":"save-subtitle"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const le=f._export_sfc(oe,[["render",ne]]),F="source_url",re={mixins:[_.Settings],data(){return{sourceUrl:"https://github.com/OpenC3/cosmos"}},created(){this.loadSetting(F)},methods:{save(){this.saveSetting(F,this.sourceUrl)},parseSetting:function(o){o&&(this.sourceUrl=o)}}};function se(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Source code URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(' This sets the URL for the "Source" link in the footer. This is required under the AGPL license. ',-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{label:"Source URL",modelValue:n.sourceUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.sourceUrl=l),"data-test":"source-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{onClick:m.save,color:"success",variant:"text","data-test":"save-source-url"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ae=f._export_sfc(re,[["render",se]]),L="rubygems_url",ie={mixins:[_.Settings],data(){return{rubygemsUrl:"https://rubygems.org"}},created(){this.loadSetting(L)},methods:{save(){this.saveSetting(L,this.rubygemsUrl)},parseSetting:function(o){o&&(this.rubygemsUrl=o)}}};function de(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Rubygems URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{label:"Rubygems URL",modelValue:n.rubygemsUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.rubygemsUrl=l),"data-test":"rubygems-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{onClick:m.save,color:"success",variant:"text","data-test":"save-rubygems-url"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ce=f._export_sfc(ie,[["render",de]]),E="pypi_url",ue={mixins:[_.Settings],data(){return{pypiUrl:"https://pypi.org"}},created(){this.loadSetting(E)},methods:{save(){this.saveSetting(E,this.pypiUrl)},parseSetting:function(o){o&&(this.pypiUrl=o)}}};function pe(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-btn"),v=e.resolveComponent("v-card-actions"),r=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(r,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[4]||(t[4]=[e.createTextVNode(" Pypi URL ",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode(" This sets the URL for installing dependency python packages. Also used for package discovery. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=l=>o.errorLoading=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=l=>o.errorSaving=l),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=l=>o.successSaving=l),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(i,{label:"Pypi URL",modelValue:n.pypiUrl,"onUpdate:modelValue":t[3]||(t[3]=l=>n.pypiUrl=l),"data-test":"pypi-url"},null,8,["modelValue"])]),_:1}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createVNode(c,{onClick:m.save,color:"success",variant:"text","data-test":"save-pypi-url"},{default:e.withCtx(()=>[...t[7]||(t[7]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const me=f._export_sfc(ue,[["render",pe]]),W="context_tag",ve={mixins:[_.Settings],data(){return{text:"",displayContextTag:!1,selectedBackgroundColor:"#009fa3",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Teal",value:"#009fa3"},{text:"Purple",value:"#6058a8"},{text:"Pink",value:"#81009a"},{text:"Orange",value:"#af420a"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:o=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(o)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayContextTag:function(o){o?this.text||(this.text="REPLACEME"):this.text=null},customFontColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customFontColor=`#${o}`)},customBackgroundColor:function(o){o&&o.length&&!o.startsWith("#")&&(this.customBackgroundColor=`#${o}`)}},created(){this.loadSetting(W)},methods:{save(){this.saveSetting(W,this.saveObj)},parseSetting:function(o){if(o){const t=JSON.parse(o);this.text=t.text,this.displayContextTag=!!t.text,t.backgroundColor&&(this.colors.some(g=>g.value===t.backgroundColor)?this.selectedBackgroundColor=t.backgroundColor:(this.customBackgroundColor=t.backgroundColor,this.selectedBackgroundColor=!1)),t.fontColor&&(this.colors.some(g=>g.value===t.fontColor)?this.selectedFontColor=t.fontColor:(this.customFontColor=t.fontColor,this.selectedFontColor=!1))}}}};function Ce(o,t,V,g,n,m){const C=e.resolveComponent("v-card-title"),a=e.resolveComponent("v-card-subtitle"),s=e.resolveComponent("v-alert"),i=e.resolveComponent("v-text-field"),d=e.resolveComponent("v-col"),c=e.resolveComponent("v-row"),v=e.resolveComponent("v-switch"),r=e.resolveComponent("v-icon"),l=e.resolveComponent("v-list-item"),N=e.resolveComponent("v-select"),h=e.resolveComponent("v-card-text"),b=e.resolveComponent("v-btn"),w=e.resolveComponent("v-card-actions"),u=e.resolveComponent("v-card");return e.openBlock(),e.createBlock(u,null,{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[...t[9]||(t[9]=[e.createTextVNode("Context Tag Settings",-1)])]),_:1}),e.createVNode(a,null,{default:e.withCtx(()=>[...t[10]||(t[10]=[e.createTextVNode(" When enabled this displays a Context Tag on the top right of the screen with custom colors and text. This can help differentiate environments. ",-1)])]),_:1}),e.createVNode(s,{modelValue:o.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=p=>o.errorLoading=p),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error loading previous configuration due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=p=>o.errorSaving=p),type:"error",closable:"",density:"compact"},{default:e.withCtx(()=>[e.createTextVNode(" Error saving due to "+e.toDisplayString(o.errorText),1)]),_:1},8,["modelValue"]),e.createVNode(s,{modelValue:o.successSaving,"onUpdate:modelValue":t[2]||(t[2]=p=>o.successSaving=p),type:"success",closable:"",density:"compact"},{default:e.withCtx(()=>[...t[11]||(t[11]=[e.createTextVNode(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),e.createVNode(h,{class:"pb-0"},{default:e.withCtx(()=>[e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{label:"Text",modelValue:n.text,"onUpdate:modelValue":t[3]||(t[3]=p=>n.text=p),"data-test":"context-tag-text",disabled:!n.displayContextTag},null,8,["modelValue","disabled"])]),_:1})]),_:1}),e.createVNode(c,{dense:""},{default:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(v,{label:"Display context tag",modelValue:n.displayContextTag,"onUpdate:modelValue":t[4]||(t[4]=p=>n.displayContextTag=p),color:"primary","data-test":"display-context-tag"},null,8,["modelValue"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(N,{label:"Background color",items:n.colors,"item-title":"text",modelValue:n.selectedBackgroundColor,"onUpdate:modelValue":t[5]||(t[5]=p=>n.selectedBackgroundColor=p),"data-test":"context-tag-background-color"},e.createSlots({item:e.withCtx(({props:p,item:x})=>[e.createVNode(l,e.mergeProps(p,{value:x.text}),{prepend:e.withCtx(()=>[x.value?(e.openBlock(),e.createBlock(r,{key:0,color:x.value},{default:e.withCtx(()=>[...t[13]||(t[13]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedBackgroundColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.createVNode(r,{color:n.selectedBackgroundColor},{default:e.withCtx(()=>[...t[12]||(t[12]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["items","modelValue"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{label:"Custom background color",hint:n.customColorHint,disabled:n.selectedBackgroundColor!==!1,modelValue:n.customBackgroundColor,"onUpdate:modelValue":t[6]||(t[6]=p=>n.customBackgroundColor=p),rules:[n.rules.customColor],"data-test":"context-tag-custom-background-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.customBackgroundColor},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedBackgroundColor]])]),_:1},8,["hint","disabled","modelValue","rules"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(N,{label:"Font color",items:n.colors,"item-title":"text",modelValue:n.selectedFontColor,"onUpdate:modelValue":t[7]||(t[7]=p=>n.selectedFontColor=p),"data-test":"context-tag-font-color"},e.createSlots({item:e.withCtx(({props:p,item:x})=>[e.createVNode(l,e.mergeProps(p,{value:x.text}),{prepend:e.withCtx(()=>[x.value?(e.openBlock(),e.createBlock(r,{key:0,color:x.value},{default:e.withCtx(()=>[...t[16]||(t[16]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"])):e.createCommentVNode("",!0)]),_:2},1040,["value"])]),_:2},[n.selectedFontColor?{name:"prepend-inner",fn:e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.selectedFontColor},{default:e.withCtx(()=>[...t[15]||(t[15]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,n.selectedFontColor]])]),key:"0"}:void 0]),1032,["items","modelValue"])]),_:1}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(i,{label:"Custom font color",hint:n.customColorHint,disabled:n.selectedFontColor!==!1,modelValue:n.customFontColor,"onUpdate:modelValue":t[8]||(t[8]=p=>n.customFontColor=p),rules:[n.rules.customColor],"data-test":"context-tag-custom-font-color"},{"prepend-inner":e.withCtx(()=>[e.withDirectives(e.createVNode(r,{color:n.customFontColor},{default:e.withCtx(()=>[...t[17]||(t[17]=[e.createTextVNode(" mdi-square ",-1)])]),_:1},8,["color"]),[[e.vShow,!n.selectedFontColor]])]),_:1},8,["hint","disabled","modelValue","rules"])]),_:1})]),_:1})]),_:1}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(b,{disabled:!m.formValid,onClick:m.save,color:"success",variant:"text","data-test":"save-context-tag"},{default:e.withCtx(()=>[...t[18]||(t[18]=[e.createTextVNode(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const ge=f._export_sfc(ve,[["render",Ce]]),Ve={components:{SuppressedSettings:O,DefaultConfigSettings:q,EditorSettings:j,AstroSettings:J,ClassificationBannerSettings:I,TimeZoneSettings:X,NewsFeedSettings:te,SubtitleSettings:le,SourceCodeSettings:ae,RubyGemsSettings:ce,PypiSettings:me,ContextTagSettings:ge}};function fe(o,t,V,g,n,m){const C=e.resolveComponent("suppressed-settings"),a=e.resolveComponent("v-divider"),s=e.resolveComponent("default-config-settings"),i=e.resolveComponent("editor-settings"),d=e.resolveComponent("astro-settings"),c=e.resolveComponent("time-zone-settings"),v=e.resolveComponent("news-feed-settings"),r=e.resolveComponent("classification-banner-settings"),l=e.resolveComponent("subtitle-settings"),N=e.resolveComponent("source-code-settings"),h=e.resolveComponent("ruby-gems-settings"),b=e.resolveComponent("pypi-settings"),w=e.resolveComponent("context-tag-settings");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(C),e.createVNode(a),e.createVNode(s),e.createVNode(a),e.createVNode(i),e.createVNode(a),e.createVNode(d),e.createVNode(a),e.createVNode(c),e.createVNode(a),e.createVNode(v),e.createVNode(a),e.createVNode(r),e.createVNode(a),e.createVNode(l),e.createVNode(a),e.createVNode(N),e.createVNode(a),e.createVNode(h),e.createVNode(a),e.createVNode(b),e.createVNode(a),e.createVNode(w)])}const _e=f._export_sfc(Ve,[["render",fe]]);exports.default=_e;
3
- //# sourceMappingURL=SettingsTab-8Zeg3G0C.cjs.map