@openc3/vue-common 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/ArrayWidget-BbsN1dzF.js +106 -0
  2. package/dist/ArrayWidget-BbsN1dzF.js.map +1 -0
  3. package/dist/ArrayWidget-DkjHrXsu.cjs +3 -0
  4. package/dist/ArrayWidget-DkjHrXsu.cjs.map +1 -0
  5. package/dist/ArrayplotWidget-CCKEyYIx.js +199 -0
  6. package/dist/ArrayplotWidget-CCKEyYIx.js.map +1 -0
  7. package/dist/ArrayplotWidget-COeaK_Lz.cjs +2 -0
  8. package/dist/ArrayplotWidget-COeaK_Lz.cjs.map +1 -0
  9. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  10. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  11. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  12. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  13. package/dist/BarColumn-C6p07yWK.js +108 -0
  14. package/dist/BarColumn-C6p07yWK.js.map +1 -0
  15. package/dist/BarColumn-CJLW1nXy.cjs +2 -0
  16. package/dist/BarColumn-CJLW1nXy.cjs.map +1 -0
  17. package/dist/BlockWidget-BFVYgbd_.cjs +3 -0
  18. package/dist/BlockWidget-BFVYgbd_.cjs.map +1 -0
  19. package/dist/BlockWidget-DlCHbqZX.js +112 -0
  20. package/dist/BlockWidget-DlCHbqZX.js.map +1 -0
  21. package/dist/ButtonWidget-CtfJzCBR.js +166 -0
  22. package/dist/ButtonWidget-CtfJzCBR.js.map +1 -0
  23. package/dist/ButtonWidget-HN8UHsme.cjs +3 -0
  24. package/dist/ButtonWidget-HN8UHsme.cjs.map +1 -0
  25. package/dist/CanvasWidget-CHmkxxMO.cjs +2 -0
  26. package/dist/CanvasWidget-CHmkxxMO.cjs.map +1 -0
  27. package/dist/CanvasWidget-CqRlXc4r.js +39 -0
  28. package/dist/CanvasWidget-CqRlXc4r.js.map +1 -0
  29. package/dist/CanvasdotWidget--Xr_KsZs.js +19 -0
  30. package/dist/CanvasdotWidget--Xr_KsZs.js.map +1 -0
  31. package/dist/CanvasdotWidget-B4bUcKRc.cjs +2 -0
  32. package/dist/CanvasdotWidget-B4bUcKRc.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-B5YozXoI.cjs +2 -0
  34. package/dist/CanvasimageWidget-B5YozXoI.cjs.map +1 -0
  35. package/dist/CanvasimageWidget-BPlj5QYK.js +58 -0
  36. package/dist/CanvasimageWidget-BPlj5QYK.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DVFGLt8f.js +107 -0
  38. package/dist/CanvasimagevalueWidget-DVFGLt8f.js.map +1 -0
  39. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs +2 -0
  40. package/dist/CanvasimagevalueWidget-Dx1HnbEw.cjs.map +1 -0
  41. package/dist/CanvaslabelWidget-CYNqmyP0.js +23 -0
  42. package/dist/CanvaslabelWidget-CYNqmyP0.js.map +1 -0
  43. package/dist/CanvaslabelWidget-DgadQD-D.cjs +2 -0
  44. package/dist/CanvaslabelWidget-DgadQD-D.cjs.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js +42 -0
  46. package/dist/CanvaslabelvalueWidget-B7yIDmsn.js.map +1 -0
  47. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs +2 -0
  48. package/dist/CanvaslabelvalueWidget-C3k5gx5c.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-BICdxX0Q.js +28 -0
  50. package/dist/CanvaslineWidget-BICdxX0Q.js.map +1 -0
  51. package/dist/CanvaslineWidget-CYHkes0a.cjs +2 -0
  52. package/dist/CanvaslineWidget-CYHkes0a.cjs.map +1 -0
  53. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-5DzhZ22p.cjs.map +1 -0
  55. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js +44 -0
  56. package/dist/CanvaslinevalueWidget-Cq-Ddh0P.js.map +1 -0
  57. package/dist/CheckbuttonWidget-B74AWeaW.js +37 -0
  58. package/dist/CheckbuttonWidget-B74AWeaW.js.map +1 -0
  59. package/dist/CheckbuttonWidget-BCzsXnIF.cjs +2 -0
  60. package/dist/CheckbuttonWidget-BCzsXnIF.cjs.map +1 -0
  61. package/dist/ComboboxWidget-CtyKbEWb.js +37 -0
  62. package/dist/ComboboxWidget-CtyKbEWb.js.map +1 -0
  63. package/dist/ComboboxWidget-DQgDyDAC.cjs +2 -0
  64. package/dist/ComboboxWidget-DQgDyDAC.cjs.map +1 -0
  65. package/dist/CriticalCmdDialog-BnxZlt7W.cjs +2 -0
  66. package/dist/CriticalCmdDialog-BnxZlt7W.cjs.map +1 -0
  67. package/dist/CriticalCmdDialog-DPIZOBeP.js +270 -0
  68. package/dist/CriticalCmdDialog-DPIZOBeP.js.map +1 -0
  69. package/dist/CustomIcon-Bop2mEnu.cjs +2 -0
  70. package/dist/CustomIcon-Bop2mEnu.cjs.map +1 -0
  71. package/dist/CustomIcon-h5X7369N.js +50 -0
  72. package/dist/CustomIcon-h5X7369N.js.map +1 -0
  73. package/dist/DateWidget-BB4cIuUS.cjs +2 -0
  74. package/dist/DateWidget-BB4cIuUS.cjs.map +1 -0
  75. package/dist/DateWidget-BEVSczU8.js +40 -0
  76. package/dist/DateWidget-BEVSczU8.js.map +1 -0
  77. package/dist/DetailsDialog-DmEC5BTs.js +767 -0
  78. package/dist/DetailsDialog-DmEC5BTs.js.map +1 -0
  79. package/dist/DetailsDialog-mvxMFmgV.cjs +2 -0
  80. package/dist/DetailsDialog-mvxMFmgV.cjs.map +1 -0
  81. package/dist/DynamicWidget-BWEVCUfd.cjs +2 -0
  82. package/dist/DynamicWidget-BWEVCUfd.cjs.map +1 -0
  83. package/dist/DynamicWidget-CfMtj7H8.js +35 -0
  84. package/dist/DynamicWidget-CfMtj7H8.js.map +1 -0
  85. package/dist/EventListDialog-BHZLl28V.cjs +2 -0
  86. package/dist/EventListDialog-BHZLl28V.cjs.map +1 -0
  87. package/dist/EventListDialog-CSMSmCIT.js +1586 -0
  88. package/dist/EventListDialog-CSMSmCIT.js.map +1 -0
  89. package/dist/FormatvalueWidget-CdjCEAI7.cjs +2 -0
  90. package/dist/FormatvalueWidget-CdjCEAI7.cjs.map +1 -0
  91. package/dist/FormatvalueWidget-DN12xymS.js +44 -0
  92. package/dist/FormatvalueWidget-DN12xymS.js.map +1 -0
  93. package/dist/Graph-Bgo0cjl3.js +1988 -0
  94. package/dist/Graph-Bgo0cjl3.js.map +1 -0
  95. package/dist/Graph-Ujd2yaeI.cjs +2 -0
  96. package/dist/Graph-Ujd2yaeI.cjs.map +1 -0
  97. package/dist/GraphWidget-DurWDmpg.js +130 -0
  98. package/dist/GraphWidget-DurWDmpg.js.map +1 -0
  99. package/dist/GraphWidget-sid4Ws9H.cjs +2 -0
  100. package/dist/GraphWidget-sid4Ws9H.cjs.map +1 -0
  101. package/dist/HorizontalWidget-Cd_wl1b3.js +41 -0
  102. package/dist/HorizontalWidget-Cd_wl1b3.js.map +1 -0
  103. package/dist/HorizontalWidget-_6IR0cR8.cjs +2 -0
  104. package/dist/HorizontalWidget-_6IR0cR8.cjs.map +1 -0
  105. package/dist/HorizontalboxWidget-BcMTFBU-.js +47 -0
  106. package/dist/HorizontalboxWidget-BcMTFBU-.js.map +1 -0
  107. package/dist/HorizontalboxWidget-zmnurtv1.cjs +2 -0
  108. package/dist/HorizontalboxWidget-zmnurtv1.cjs.map +1 -0
  109. package/dist/HorizontallineWidget-CM-6WqCj.cjs +2 -0
  110. package/dist/HorizontallineWidget-CM-6WqCj.cjs.map +1 -0
  111. package/dist/HorizontallineWidget-CXFqHclf.js +16 -0
  112. package/dist/HorizontallineWidget-CXFqHclf.js.map +1 -0
  113. package/dist/IframeWidget-BPerHCCa.js +90 -0
  114. package/dist/IframeWidget-BPerHCCa.js.map +1 -0
  115. package/dist/IframeWidget-EhncMob0.cjs +2 -0
  116. package/dist/IframeWidget-EhncMob0.cjs.map +1 -0
  117. package/dist/ImageLoader-4N-7Gj61.js +36 -0
  118. package/dist/ImageLoader-4N-7Gj61.js.map +1 -0
  119. package/dist/ImageLoader-cRmBcpU9.cjs +2 -0
  120. package/dist/ImageLoader-cRmBcpU9.cjs.map +1 -0
  121. package/dist/ImageviewerWidget-Bv3CreXd.cjs +2 -0
  122. package/dist/ImageviewerWidget-Bv3CreXd.cjs.map +1 -0
  123. package/dist/ImageviewerWidget-Cw_H_HmZ.js +37 -0
  124. package/dist/ImageviewerWidget-Cw_H_HmZ.js.map +1 -0
  125. package/dist/InterfacesTab-B4glsR9Z.js +93 -0
  126. package/dist/InterfacesTab-B4glsR9Z.js.map +1 -0
  127. package/dist/InterfacesTab-Co1Kd6Fa.cjs +2 -0
  128. package/dist/InterfacesTab-Co1Kd6Fa.cjs.map +1 -0
  129. package/dist/LabelWidget-mMcf5S8K.cjs +2 -0
  130. package/dist/LabelWidget-mMcf5S8K.cjs.map +1 -0
  131. package/dist/LabelWidget-xrmcVeq8.js +48 -0
  132. package/dist/LabelWidget-xrmcVeq8.js.map +1 -0
  133. package/dist/LabelledWidget-BoYCuDaH.cjs +2 -0
  134. package/dist/LabelledWidget-BoYCuDaH.cjs.map +1 -0
  135. package/dist/LabelledWidget-D48QoyMk.js +42 -0
  136. package/dist/LabelledWidget-D48QoyMk.js.map +1 -0
  137. package/dist/LabelprogressbarWidget-C_950t6g.js +43 -0
  138. package/dist/LabelprogressbarWidget-C_950t6g.js.map +1 -0
  139. package/dist/LabelprogressbarWidget-DiucKsT2.cjs +2 -0
  140. package/dist/LabelprogressbarWidget-DiucKsT2.cjs.map +1 -0
  141. package/dist/LabelsparklineWidget-0KXQyPoU.js +44 -0
  142. package/dist/LabelsparklineWidget-0KXQyPoU.js.map +1 -0
  143. package/dist/LabelsparklineWidget-A3MTEhQc.cjs +2 -0
  144. package/dist/LabelsparklineWidget-A3MTEhQc.cjs.map +1 -0
  145. package/dist/LabelvalueWidget-CQ06wWDK.js +58 -0
  146. package/dist/LabelvalueWidget-CQ06wWDK.js.map +1 -0
  147. package/dist/LabelvalueWidget-DnKoz0-N.cjs +2 -0
  148. package/dist/LabelvalueWidget-DnKoz0-N.cjs.map +1 -0
  149. package/dist/LabelvaluedescWidget-Bo8zT01X.js +59 -0
  150. package/dist/LabelvaluedescWidget-Bo8zT01X.js.map +1 -0
  151. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs +2 -0
  152. package/dist/LabelvaluedescWidget-I6ljK--Y.cjs.map +1 -0
  153. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js +57 -0
  154. package/dist/LabelvaluelimitsbarWidget-BucTw8Yk.js.map +1 -0
  155. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs +2 -0
  156. package/dist/LabelvaluelimitsbarWidget-Cb6i_Ixc.cjs.map +1 -0
  157. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs +2 -0
  158. package/dist/LabelvaluelimitscolumnWidget-ClY5OxUC.cjs.map +1 -0
  159. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js +47 -0
  160. package/dist/LabelvaluelimitscolumnWidget-Dflb1hNd.js.map +1 -0
  161. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs +2 -0
  162. package/dist/LabelvaluerangebarWidget-9S5rVZaS.cjs.map +1 -0
  163. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js +79 -0
  164. package/dist/LabelvaluerangebarWidget-D8cbfXFM.js.map +1 -0
  165. package/dist/Layout-DuCYyOw4.cjs +2 -0
  166. package/dist/Layout-DuCYyOw4.cjs.map +1 -0
  167. package/dist/Layout-Tf--nruw.js +14 -0
  168. package/dist/Layout-Tf--nruw.js.map +1 -0
  169. package/dist/LedWidget-B2BcwiYF.cjs +2 -0
  170. package/dist/LedWidget-B2BcwiYF.cjs.map +1 -0
  171. package/dist/LedWidget-qH_FthkK.js +145 -0
  172. package/dist/LedWidget-qH_FthkK.js.map +1 -0
  173. package/dist/LimitsbarWidget-B9lAB2RD.js +69 -0
  174. package/dist/LimitsbarWidget-B9lAB2RD.js.map +1 -0
  175. package/dist/LimitsbarWidget-CVCLFIhG.cjs +2 -0
  176. package/dist/LimitsbarWidget-CVCLFIhG.cjs.map +1 -0
  177. package/dist/LimitscolorWidget-DORhDxRo.cjs +2 -0
  178. package/dist/LimitscolorWidget-DORhDxRo.cjs.map +1 -0
  179. package/dist/LimitscolorWidget-c6Qa6su7.js +63 -0
  180. package/dist/LimitscolorWidget-c6Qa6su7.js.map +1 -0
  181. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs +2 -0
  182. package/dist/LimitscolumnWidget-C9Uyg7Fh.cjs.map +1 -0
  183. package/dist/LimitscolumnWidget-CcLs_443.js +66 -0
  184. package/dist/LimitscolumnWidget-CcLs_443.js.map +1 -0
  185. package/dist/LinegraphWidget-BSVYLFo1.js +39 -0
  186. package/dist/LinegraphWidget-BSVYLFo1.js.map +1 -0
  187. package/dist/LinegraphWidget-Bf8DIwEn.cjs +2 -0
  188. package/dist/LinegraphWidget-Bf8DIwEn.cjs.map +1 -0
  189. package/dist/MatrixbycolumnsWidget-DXFpZTre.js +56 -0
  190. package/dist/MatrixbycolumnsWidget-DXFpZTre.js.map +1 -0
  191. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs +2 -0
  192. package/dist/MatrixbycolumnsWidget-DpdFzNeP.cjs.map +1 -0
  193. package/dist/MicroservicesTab-B5n-mN8G.cjs +2 -0
  194. package/dist/MicroservicesTab-B5n-mN8G.cjs.map +1 -0
  195. package/dist/MicroservicesTab-mCdS0v39.js +264 -0
  196. package/dist/MicroservicesTab-mCdS0v39.js.map +1 -0
  197. package/dist/Openc3Screen-BYhHaH_I.cjs +5 -0
  198. package/dist/Openc3Screen-BYhHaH_I.cjs.map +1 -0
  199. package/dist/Openc3Screen-Cud0OCFu.js +1789 -0
  200. package/dist/Openc3Screen-Cud0OCFu.js.map +1 -0
  201. package/dist/OutputDialog-DXoL9VPw.cjs +2 -0
  202. package/dist/OutputDialog-DXoL9VPw.cjs.map +1 -0
  203. package/dist/OutputDialog-zVPZiZay.js +242 -0
  204. package/dist/OutputDialog-zVPZiZay.js.map +1 -0
  205. package/dist/PackagesTab-CvT2JyMA.cjs +2 -0
  206. package/dist/PackagesTab-CvT2JyMA.cjs.map +1 -0
  207. package/dist/PackagesTab-SWcXumpK.js +332 -0
  208. package/dist/PackagesTab-SWcXumpK.js.map +1 -0
  209. package/dist/PluginsTab-B64OvayB.js +599 -0
  210. package/dist/PluginsTab-B64OvayB.js.map +1 -0
  211. package/dist/PluginsTab-CfpwWsqv.cjs +6 -0
  212. package/dist/PluginsTab-CfpwWsqv.cjs.map +1 -0
  213. package/dist/ProgressbarWidget-fGWa6ipm.cjs +2 -0
  214. package/dist/ProgressbarWidget-fGWa6ipm.cjs.map +1 -0
  215. package/dist/ProgressbarWidget-iYGw8-Dc.js +46 -0
  216. package/dist/ProgressbarWidget-iYGw8-Dc.js.map +1 -0
  217. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs +2 -0
  218. package/dist/RadiobuttonWidget-ZEPJbOp_.cjs.map +1 -0
  219. package/dist/RadiobuttonWidget-ytmoVZ3u.js +34 -0
  220. package/dist/RadiobuttonWidget-ytmoVZ3u.js.map +1 -0
  221. package/dist/RadiogroupWidget-CusMBhKH.js +48 -0
  222. package/dist/RadiogroupWidget-CusMBhKH.js.map +1 -0
  223. package/dist/RadiogroupWidget-EK4rEGUC.cjs +2 -0
  224. package/dist/RadiogroupWidget-EK4rEGUC.cjs.map +1 -0
  225. package/dist/RangebarWidget-D_zGTtCa.js +67 -0
  226. package/dist/RangebarWidget-D_zGTtCa.js.map +1 -0
  227. package/dist/RangebarWidget-DwIs-L5k.cjs +2 -0
  228. package/dist/RangebarWidget-DwIs-L5k.cjs.map +1 -0
  229. package/dist/RedisTab-67UcKoPf.cjs +2 -0
  230. package/dist/RedisTab-67UcKoPf.cjs.map +1 -0
  231. package/dist/RedisTab-CyPo6ADN.js +135 -0
  232. package/dist/RedisTab-CyPo6ADN.js.map +1 -0
  233. package/dist/RollupWidget-DC3OIP6G.cjs +2 -0
  234. package/dist/RollupWidget-DC3OIP6G.cjs.map +1 -0
  235. package/dist/RollupWidget-Dolsixyt.js +83 -0
  236. package/dist/RollupWidget-Dolsixyt.js.map +1 -0
  237. package/dist/RoutersTab-BBPlFi_z.cjs +2 -0
  238. package/dist/RoutersTab-BBPlFi_z.cjs.map +1 -0
  239. package/dist/RoutersTab-Cs2dFVNA.js +95 -0
  240. package/dist/RoutersTab-Cs2dFVNA.js.map +1 -0
  241. package/dist/ScriptChooser-EV65rbWx.js +199 -0
  242. package/dist/ScriptChooser-EV65rbWx.js.map +1 -0
  243. package/dist/ScriptChooser-vyZwngrz.cjs +2 -0
  244. package/dist/ScriptChooser-vyZwngrz.cjs.map +1 -0
  245. package/dist/ScrollwindowWidget-BWeqSUPc.cjs +2 -0
  246. package/dist/ScrollwindowWidget-BWeqSUPc.cjs.map +1 -0
  247. package/dist/ScrollwindowWidget-DV2nZuNi.js +45 -0
  248. package/dist/ScrollwindowWidget-DV2nZuNi.js.map +1 -0
  249. package/dist/SecretsTab-0IFqUxNJ.cjs +2 -0
  250. package/dist/SecretsTab-0IFqUxNJ.cjs.map +1 -0
  251. package/dist/SecretsTab-DVyyyGlG.js +202 -0
  252. package/dist/SecretsTab-DVyyyGlG.js.map +1 -0
  253. package/dist/SettingsTab-B1LvOLG2.cjs +3 -0
  254. package/dist/SettingsTab-B1LvOLG2.cjs.map +1 -0
  255. package/dist/SettingsTab-g29K6FyC.js +1445 -0
  256. package/dist/SettingsTab-g29K6FyC.js.map +1 -0
  257. package/dist/SignalWidget-RvRwpE8T.cjs +2 -0
  258. package/dist/SignalWidget-RvRwpE8T.cjs.map +1 -0
  259. package/dist/SignalWidget-d9-6h85k.js +66 -0
  260. package/dist/SignalWidget-d9-6h85k.js.map +1 -0
  261. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs +2 -0
  262. package/dist/SimpleTextDialog-Cpbt7Q-8.cjs.map +1 -0
  263. package/dist/SimpleTextDialog-pwN8oRy1.js +107 -0
  264. package/dist/SimpleTextDialog-pwN8oRy1.js.map +1 -0
  265. package/dist/SpacerWidget-7_8bpLCb.cjs +2 -0
  266. package/dist/SpacerWidget-7_8bpLCb.cjs.map +1 -0
  267. package/dist/SpacerWidget-BH0p2OLi.js +19 -0
  268. package/dist/SpacerWidget-BH0p2OLi.js.map +1 -0
  269. package/dist/SparklineWidget-60jVlbHA.cjs +2 -0
  270. package/dist/SparklineWidget-60jVlbHA.cjs.map +1 -0
  271. package/dist/SparklineWidget-coxi9r2g.js +48 -0
  272. package/dist/SparklineWidget-coxi9r2g.js.map +1 -0
  273. package/dist/TabbookWidget-B1XKplGH.js +66 -0
  274. package/dist/TabbookWidget-B1XKplGH.js.map +1 -0
  275. package/dist/TabbookWidget-D1CVT9IK.cjs +2 -0
  276. package/dist/TabbookWidget-D1CVT9IK.cjs.map +1 -0
  277. package/dist/TargetsTab-BkBkXn9A.js +129 -0
  278. package/dist/TargetsTab-BkBkXn9A.js.map +1 -0
  279. package/dist/TargetsTab-C-m26Eqq.cjs +2 -0
  280. package/dist/TargetsTab-C-m26Eqq.cjs.map +1 -0
  281. package/dist/TextBoxDialog-DOJ5d2RM.js +110 -0
  282. package/dist/TextBoxDialog-DOJ5d2RM.js.map +1 -0
  283. package/dist/TextBoxDialog-DfMXg_5C.cjs +2 -0
  284. package/dist/TextBoxDialog-DfMXg_5C.cjs.map +1 -0
  285. package/dist/TextboxWidget-BDG4NxRw.cjs +2 -0
  286. package/dist/TextboxWidget-BDG4NxRw.cjs.map +1 -0
  287. package/dist/TextboxWidget-C-_M2M4l.js +93 -0
  288. package/dist/TextboxWidget-C-_M2M4l.js.map +1 -0
  289. package/dist/TextfieldWidget-BGJv9Lox.cjs +2 -0
  290. package/dist/TextfieldWidget-BGJv9Lox.cjs.map +1 -0
  291. package/dist/TextfieldWidget-C08N4JE8.js +37 -0
  292. package/dist/TextfieldWidget-C08N4JE8.js.map +1 -0
  293. package/dist/TimeWidget-CGCOIouj.cjs +2 -0
  294. package/dist/TimeWidget-CGCOIouj.cjs.map +1 -0
  295. package/dist/TimeWidget-DtwdEcFg.js +40 -0
  296. package/dist/TimeWidget-DtwdEcFg.js.map +1 -0
  297. package/dist/TitleWidget-BljFH9RB.cjs +2 -0
  298. package/dist/TitleWidget-BljFH9RB.cjs.map +1 -0
  299. package/dist/TitleWidget-CT-aLcNb.js +26 -0
  300. package/dist/TitleWidget-CT-aLcNb.js.map +1 -0
  301. package/dist/ToolsTab-NveeVXz2.js +1521 -0
  302. package/dist/ToolsTab-NveeVXz2.js.map +1 -0
  303. package/dist/ToolsTab-RMTst_Sy.cjs +7 -0
  304. package/dist/ToolsTab-RMTst_Sy.cjs.map +1 -0
  305. package/dist/TopBar-CnJNNJlV.js +278 -0
  306. package/dist/TopBar-CnJNNJlV.js.map +1 -0
  307. package/dist/TopBar-Cnmb6DyC.cjs +2 -0
  308. package/dist/TopBar-Cnmb6DyC.cjs.map +1 -0
  309. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js +94 -0
  310. package/dist/UpgradeToEnterpriseDialog-BvfgoNB1.js.map +1 -0
  311. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs +2 -0
  312. package/dist/UpgradeToEnterpriseDialog-sUipOVpB.cjs.map +1 -0
  313. package/dist/VWidget-2N2cOosI.cjs +2 -0
  314. package/dist/VWidget-2N2cOosI.cjs.map +1 -0
  315. package/dist/VWidget-DQqb7NVW.js +323 -0
  316. package/dist/VWidget-DQqb7NVW.js.map +1 -0
  317. package/dist/ValueWidget-C6RanBj3.js +116 -0
  318. package/dist/ValueWidget-C6RanBj3.js.map +1 -0
  319. package/dist/ValueWidget-Cu7hgKja.cjs +2 -0
  320. package/dist/ValueWidget-Cu7hgKja.cjs.map +1 -0
  321. package/dist/ValuelimitsbarWidget-B3bvjfxc.js +41 -0
  322. package/dist/ValuelimitsbarWidget-B3bvjfxc.js.map +1 -0
  323. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs +2 -0
  324. package/dist/ValuelimitsbarWidget-C0HROxrb.cjs.map +1 -0
  325. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs +2 -0
  326. package/dist/ValuelimitscolumnWidget-CWvLfg8u.cjs.map +1 -0
  327. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js +40 -0
  328. package/dist/ValuelimitscolumnWidget-QvhI6EcE.js.map +1 -0
  329. package/dist/ValuerangebarWidget-Dt3K9BnC.js +65 -0
  330. package/dist/ValuerangebarWidget-Dt3K9BnC.js.map +1 -0
  331. package/dist/ValuerangebarWidget-DyN78cQl.cjs +2 -0
  332. package/dist/ValuerangebarWidget-DyN78cQl.cjs.map +1 -0
  333. package/dist/VerticalWidget-BIIViZgI.js +40 -0
  334. package/dist/VerticalWidget-BIIViZgI.js.map +1 -0
  335. package/dist/VerticalWidget-CFTOu4H8.cjs +2 -0
  336. package/dist/VerticalWidget-CFTOu4H8.cjs.map +1 -0
  337. package/dist/VerticalboxWidget-DY72fLHW.js +46 -0
  338. package/dist/VerticalboxWidget-DY72fLHW.js.map +1 -0
  339. package/dist/VerticalboxWidget-Z8-DWI8t.cjs +2 -0
  340. package/dist/VerticalboxWidget-Z8-DWI8t.cjs.map +1 -0
  341. package/dist/Widget-ChoIB2dd.cjs +2 -0
  342. package/dist/Widget-ChoIB2dd.cjs.map +1 -0
  343. package/dist/Widget-oyqWpFXJ.js +197 -0
  344. package/dist/Widget-oyqWpFXJ.js.map +1 -0
  345. package/dist/WidgetComponents-C1lSLZ0I.js +30205 -0
  346. package/dist/WidgetComponents-C1lSLZ0I.js.map +1 -0
  347. package/dist/WidgetComponents-utpQ592X.cjs +1493 -0
  348. package/dist/WidgetComponents-utpQ592X.cjs.map +1 -0
  349. package/dist/addMonths-BtG7uZLJ.js +19 -0
  350. package/dist/addMonths-BtG7uZLJ.js.map +1 -0
  351. package/dist/addMonths-n1tnl3ab.cjs +2 -0
  352. package/dist/addMonths-n1tnl3ab.cjs.map +1 -0
  353. package/dist/components.cjs +4 -0
  354. package/dist/components.cjs.map +1 -0
  355. package/dist/components.js +1379 -0
  356. package/dist/components.js.map +1 -0
  357. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  358. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  359. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  360. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  361. package/dist/format-B22VpiOS.cjs +2 -0
  362. package/dist/format-B22VpiOS.cjs.map +1 -0
  363. package/dist/format-CVeawcIv.js +1295 -0
  364. package/dist/format-CVeawcIv.js.map +1 -0
  365. package/dist/getDefaultOptions-Batab9o8.cjs +2 -0
  366. package/dist/getDefaultOptions-Batab9o8.cjs.map +1 -0
  367. package/dist/getDefaultOptions-BhSDk-Jo.js +8 -0
  368. package/dist/getDefaultOptions-BhSDk-Jo.js.map +1 -0
  369. package/dist/icons/status-dark.png +0 -0
  370. package/dist/icons/status-dark.xcf +0 -0
  371. package/dist/icons/status-light.png +0 -0
  372. package/dist/icons.cjs +2 -0
  373. package/dist/icons.cjs.map +1 -0
  374. package/dist/icons.js +164 -0
  375. package/dist/icons.js.map +1 -0
  376. package/dist/index-BX05anye.cjs +7 -0
  377. package/dist/index-BX05anye.cjs.map +1 -0
  378. package/dist/index-DwP8ryNM.js +1694 -0
  379. package/dist/index-DwP8ryNM.js.map +1 -0
  380. package/dist/parse-DnkEsW-3.js +1603 -0
  381. package/dist/parse-DnkEsW-3.js.map +1 -0
  382. package/dist/parse-DwfgQboe.cjs +2 -0
  383. package/dist/parse-DwfgQboe.cjs.map +1 -0
  384. package/dist/plugins.cjs +9 -0
  385. package/dist/plugins.cjs.map +1 -0
  386. package/dist/plugins.js +776 -0
  387. package/dist/plugins.js.map +1 -0
  388. package/dist/timeFilters-8SaYvcH0.cjs +2 -0
  389. package/dist/timeFilters-8SaYvcH0.cjs.map +1 -0
  390. package/dist/timeFilters-CRYpYDdf.js +622 -0
  391. package/dist/timeFilters-CRYpYDdf.js.map +1 -0
  392. package/dist/tools/admin.cjs +13 -0
  393. package/dist/tools/admin.cjs.map +1 -0
  394. package/dist/tools/admin.js +2024 -0
  395. package/dist/tools/admin.js.map +1 -0
  396. package/dist/tools/base.cjs +2 -0
  397. package/dist/tools/base.cjs.map +1 -0
  398. package/dist/tools/base.js +1677 -0
  399. package/dist/tools/base.js.map +1 -0
  400. package/dist/tools/calendar.cjs +2 -0
  401. package/dist/tools/calendar.cjs.map +1 -0
  402. package/dist/tools/calendar.js +12 -0
  403. package/dist/tools/calendar.js.map +1 -0
  404. package/dist/tools/scriptrunner.cjs +86 -0
  405. package/dist/tools/scriptrunner.cjs.map +1 -0
  406. package/dist/tools/scriptrunner.js +4564 -0
  407. package/dist/tools/scriptrunner.js.map +1 -0
  408. package/dist/util.cjs +2 -0
  409. package/dist/util.cjs.map +1 -0
  410. package/dist/util.js +9 -0
  411. package/dist/util.js.map +1 -0
  412. package/dist/vue-common.css +1 -0
  413. package/dist/widgets.cjs +2 -0
  414. package/dist/widgets.cjs.map +1 -0
  415. package/dist/widgets.js +132 -0
  416. package/dist/widgets.js.map +1 -0
  417. package/package.json +20 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarColumn-CJLW1nXy.cjs","sources":["../src/widgets/BarColumn.js"],"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\nimport Widget from './Widget'\nimport { OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n mixins: [Widget],\n data() {\n return {\n minValue: null,\n maxValue: null,\n redLow: 0,\n yellowLow: 0,\n greenLow: 0,\n greenHigh: 0,\n yellowHigh: 0,\n redHigh: 0,\n blue: 0,\n api: null,\n limitsSettings: {\n DEFAULT: [],\n },\n currentLimitsSet: 'DEFAULT',\n currentSetRefreshInterval: null,\n }\n },\n computed: {\n cssProps: function () {\n let value = this.screenValues[this.valueId][0]\n let limits = this.modifyLimits(\n this.limitsSettings[this.selectedLimitsSet],\n )\n this.calcLimits(limits)\n return {\n '--height': this.height + 'px',\n '--width': this.width + 'px',\n '--container-height': this.height - 5 + 'px',\n '--position': this.calcPosition(value, limits) + '%',\n '--redlow-width': this.redLow + '%',\n '--redhigh-width': this.redHigh + '%',\n '--yellowlow-width': this.yellowLow + '%',\n '--yellowhigh-width': this.yellowHigh + '%',\n '--greenlow-width': this.greenLow + '%',\n '--greenhigh-width': this.greenHigh + '%',\n '--blue-width': this.blue + '%',\n }\n },\n selectedLimitsSet: function () {\n return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)\n ? this.currentLimitsSet\n : 'DEFAULT'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_limits(this.parameters[0], this.parameters[1], this.parameters[2])\n .then((data) => {\n this.limitsSettings = data\n })\n this.getCurrentLimitsSet()\n this.currentSetRefreshInterval = setInterval(\n this.getCurrentLimitsSet,\n 60 * 1000,\n )\n\n this.appliedSettings.forEach((setting) => {\n if (setting[0] === 'MIN_VALUE') {\n this.minValue = parseInt(setting[1])\n }\n if (setting[0] === 'MAX_VALUE') {\n this.maxValue = parseInt(setting[1])\n }\n })\n this.width = this.setWidth(this.parameters[4], 'px', this.width)\n this.height = this.setHeight(this.parameters[5], 'px', this.height)\n // Always pass CONVERTED so we can calculate the value against the limits (in converted units)\n this.valueId = `${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`\n\n this.$emit('addItem', this.valueId)\n },\n destroyed() {\n this.$emit('deleteItem', this.valueId)\n clearInterval(this.currentSetRefreshInterval)\n },\n methods: {\n modifyLimits(limitsSettings) {\n if (!limitsSettings) {\n return\n }\n // By default the red bars take 10% of the display\n this.redLow = 10\n this.redHigh = 10\n\n // Modify values to respect the user defined minimum\n if (this.minValue !== null) {\n if (limitsSettings[0] <= this.minValue) {\n limitsSettings[0] = this.minValue\n // No red low will be displayed\n this.redLow = 0\n }\n if (limitsSettings[1] <= this.minValue) {\n limitsSettings[1] = this.minValue\n }\n if (limitsSettings[2] <= this.minValue) {\n limitsSettings[2] = this.minValue\n }\n if (limitsSettings[3] <= this.minValue) {\n limitsSettings[3] = this.minValue\n }\n if (limitsSettings.length > 4 && limitsSettings[4] <= this.minValue) {\n limitsSettings[4] = this.minValue\n }\n if (limitsSettings.length > 4 && limitsSettings[5] <= this.minValue) {\n limitsSettings[5] = this.minValue\n }\n }\n if (this.maxValue !== null) {\n if (limitsSettings[0] >= this.maxValue) {\n limitsSettings[0] = this.maxValue\n }\n if (limitsSettings[1] >= this.maxValue) {\n limitsSettings[1] = this.maxValue\n }\n if (limitsSettings[2] >= this.maxValue) {\n limitsSettings[2] = this.maxValue\n }\n if (limitsSettings[3] >= this.maxValue) {\n limitsSettings[3] = this.maxValue\n // No red high will be displayed\n this.redHigh = 0\n }\n if (limitsSettings.length > 4 && limitsSettings[4] >= this.maxValue) {\n limitsSettings[4] = this.maxValue\n }\n if (limitsSettings.length > 4 && limitsSettings[5] >= this.maxValue) {\n limitsSettings[5] = this.maxValue\n }\n }\n // If the red low matches yellow low there is no yellow low\n if (limitsSettings[0] == limitsSettings[1]) {\n this.yellowLow = 0\n }\n // If the red high matches yellow high there is no yellow high\n if (limitsSettings[2] == limitsSettings[3]) {\n this.yellowHigh = 0\n }\n\n let divisor = 80\n if (this.redLow == 0) {\n divisor += 10\n }\n if (this.redHigh == 0) {\n divisor += 10\n }\n this.scale = (limitsSettings[3] - limitsSettings[0]) / divisor\n\n return limitsSettings\n },\n calcPosition(value, limitsSettings) {\n if (!value || !limitsSettings) {\n return\n }\n let lowValue = limitsSettings[0] - 10 * this.scale\n if (this.minValue && this.minValue == limitsSettings[0]) {\n lowValue = limitsSettings[0]\n }\n let highValue = limitsSettings[3] - 10 * this.scale\n if (this.maxValue && this.maxValue == limitsSettings[3]) {\n highValue = limitsSettings[3]\n }\n\n if (value.raw) {\n if (value.raw === '-Infinity') {\n return 0\n } else {\n // NaN and Infinity\n return 100\n }\n }\n if (value < this.min) {\n return 0\n } else if (value > this.max) {\n return 100\n } else {\n const result = parseInt((value - lowValue) / this.scale)\n if (result > 100) {\n return 100\n } else if (result < 0) {\n return 0\n } else {\n return result\n }\n }\n },\n calcLimits(limitsSettings) {\n if (!limitsSettings) {\n return\n }\n this.yellowLow = Math.round(\n (limitsSettings[1] - limitsSettings[0]) / this.scale,\n )\n this.yellowHigh = Math.round(\n (limitsSettings[3] - limitsSettings[2]) / this.scale,\n )\n if (limitsSettings.length > 4) {\n this.greenLow = Math.round(\n (limitsSettings[4] - limitsSettings[1]) / this.scale,\n )\n this.greenHigh = Math.round(\n (limitsSettings[2] - limitsSettings[5]) / this.scale,\n )\n this.blue = Math.round(\n 100 -\n this.redLow -\n this.yellowLow -\n this.greenLow -\n this.greenHigh -\n this.yellowHigh -\n this.redHigh,\n )\n } else {\n this.greenLow = Math.round(\n 100 - this.redLow - this.yellowLow - this.yellowHigh - this.redHigh,\n )\n this.greenHigh = 0\n this.blue = 0\n }\n },\n getCurrentLimitsSet: function () {\n this.api.get_limits_set().then((result) => {\n this.currentLimitsSet = result\n })\n },\n },\n}\n"],"names":["BarColumn","Widget","value","limits","OpenC3Api","data","setting","limitsSettings","divisor","lowValue","result"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./WidgetComponents-utpQ592X.cjs");const e=require("vue"),g=require("./CustomIcon-Bop2mEnu.cjs"),f=require("./DetailsDialog-mvxMFmgV.cjs");require("single-spa");const w=require("./VWidget-2N2cOosI.cjs"),v={components:{DetailsDialog:f.DetailsDialog},data:function(){return{width:400,height:400,bytesPerWord:4,wordsPerRow:4,addrFormat:null,formatter:"%02X"}},mixins:[w.VWidget],computed:{aging(){return{"--aging":this.grayLevel}},rows:function(){return(this.height-16)/24}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.bytesPerWord=parseInt(this.parameters[6])),this.parameters[7]&&(this.wordsPerRow=parseInt(this.parameters[7])),this.parameters[8]&&(this.addrFormat=this.parameters[8])},methods:{getType:function(){let t="RAW";return this.parameters[9]&&(t=this.parameters[9]),t},formatValue:function(t){let o="";if(t&&t.raw){let l=" ",d=`
2
+ `,r=0,i=0;const n=this.bytesPerWord*this.wordsPerRow;for(const a of t.raw)this.addrFormat&&r===0&&(o+=sprintf(this.addrFormat,i),i+=n),o+=sprintf(this.formatter,a),r+=1,r%n===0?(r=0,o+=d):r%this.bytesPerWord===0&&(o+=l)}else o=t;return o}}},y={class:"block-widget-container"};function C(t,o,l,d,r,i){const n=e.resolveComponent("v-textarea"),a=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu"),p=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",y,[e.createVNode(n,{variant:"solo",density:"compact",readonly:"","no-resize":"","hide-details":"",rows:i.rows,width:t.width,"model-value":t._value,class:e.normalizeClass(t.valueClass),style:e.normalizeStyle([t.computedStyle,i.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["rows","width","model-value","class","style","onContextmenu"]),e.createVNode(h,{modelValue:t.contextMenuShown,"onUpdate:modelValue":o[0]||(o[0]=s=>t.contextMenuShown=s),target:[t.x,t.y]},{default:e.withCtx(()=>[e.createVNode(u,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.contextMenuOptions,(s,c)=>(e.openBlock(),e.createBlock(m,{key:c,onClick:e.withModifiers(s.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(p,{"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2],modelValue:t.viewDetails,"onUpdate:modelValue":o[1]||(o[1]=s=>t.viewDetails=s)},null,8,["target-name","packet-name","item-name","modelValue"])])}const _=g._export_sfc(v,[["render",C],["__scopeId","data-v-4d4589c2"]]);exports.default=_;
3
+ //# sourceMappingURL=BlockWidget-BFVYgbd_.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockWidget-BFVYgbd_.cjs","sources":["../src/widgets/BlockWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"block-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n hide-details\n :rows=\"rows\"\n :width=\"width\"\n :model-value=\"_value\"\n :class=\"valueClass\"\n :style=\"[computedStyle, aging]\"\n data-test=\"valueText\"\n @contextmenu=\"showContextMenu\"\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 :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n v-model=\"viewDetails\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\nimport 'sprintf-js'\n\nexport default {\n components: {\n DetailsDialog,\n },\n data: function () {\n return {\n width: 400,\n height: 400,\n bytesPerWord: 4,\n wordsPerRow: 4,\n addrFormat: null,\n formatter: '%02X',\n }\n },\n mixins: [VWidget],\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\n },\n rows: function () {\n // hack to set height since vuetify 3 removed the ability to set the\n // <textarea>'s height by px and I can't get styling the element to work, either\n const paddingHeight = 16 // px\n const rowHeight = 24 // px\n return (this.height - paddingHeight) / rowHeight\n },\n },\n created: function () {\n this.width = this.setWidth(this.parameters[3], 'px', this.width)\n this.height = this.setHeight(this.parameters[4], 'px', this.height)\n if (this.parameters[5]) {\n this.formatter = this.parameters[5]\n }\n if (this.parameters[6]) {\n this.bytesPerWord = parseInt(this.parameters[6])\n }\n if (this.parameters[7]) {\n this.wordsPerRow = parseInt(this.parameters[7])\n }\n if (this.parameters[8]) {\n this.addrFormat = this.parameters[8]\n }\n // parameter[9] is the type ... see getType()\n },\n methods: {\n getType: function () {\n let type = 'RAW'\n if (this.parameters[9]) {\n type = this.parameters[9]\n }\n return type\n },\n formatValue: function (data) {\n let text = ''\n if (data && data.raw) {\n let space = ' '\n let newLine = '\\n'\n\n let byteCount = 0\n let addr = 0\n const bytesPerRow = this.bytesPerWord * this.wordsPerRow\n\n for (const value of data.raw) {\n if (this.addrFormat && byteCount === 0) {\n text += sprintf(this.addrFormat, addr)\n addr += bytesPerRow\n }\n text += sprintf(this.formatter, value)\n byteCount += 1\n if (byteCount % bytesPerRow === 0) {\n byteCount = 0\n text += newLine\n } else if (byteCount % this.bytesPerWord === 0) {\n text += space\n }\n }\n } else {\n text = data\n }\n return text\n },\n },\n}\n</script>\n\n<style scoped>\n.block-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.v-textarea :deep(textarea) {\n font-family: 'Courier New', Courier, monospace;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.block-widget-container :deep(.v-field__loader) {\n display: none !important;\n}\n.block-widget-container :deep(textarea) {\n padding-right: 0 !important;\n padding-left: 12px !important;\n}\n.openc3-green :deep(input) {\n color: rgb(0, 200, 0);\n}\n.openc3-yellow :deep(input) {\n color: rgb(255, 220, 0);\n}\n.openc3-red :deep(input) {\n color: rgb(255, 45, 45);\n}\n.openc3-blue :deep(input) {\n color: rgb(0, 153, 255);\n}\n.openc3-purple :deep(input) {\n color: rgb(200, 0, 200);\n}\n.openc3-black :deep(input) {\n color: black;\n}\n.openc3-white :deep(input) {\n color: white;\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","VWidget","type","data","text","space","newLine","byteCount","addr","bytesPerRow","value","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","$options","_ctx","_normalizeClass","_normalizeStyle","_component_v_menu","_cache","$event","_withCtx","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import "./WidgetComponents-C1lSLZ0I.js";
2
+ import { resolveComponent as s, createElementBlock as u, openBlock as d, createVNode as a, normalizeStyle as _, normalizeClass as y, withCtx as l, Fragment as V, renderList as k, createBlock as C, withModifiers as P, createTextVNode as W, toDisplayString as b } from "vue";
3
+ import { _ as D } from "./CustomIcon-h5X7369N.js";
4
+ import { D as F } from "./DetailsDialog-DmEC5BTs.js";
5
+ import "single-spa";
6
+ import { V as H } from "./VWidget-DQqb7NVW.js";
7
+ const M = {
8
+ components: {
9
+ DetailsDialog: F
10
+ },
11
+ data: function() {
12
+ return {
13
+ width: 400,
14
+ height: 400,
15
+ bytesPerWord: 4,
16
+ wordsPerRow: 4,
17
+ addrFormat: null,
18
+ formatter: "%02X"
19
+ };
20
+ },
21
+ mixins: [H],
22
+ computed: {
23
+ aging() {
24
+ return {
25
+ "--aging": this.grayLevel
26
+ };
27
+ },
28
+ rows: function() {
29
+ return (this.height - 16) / 24;
30
+ }
31
+ },
32
+ created: function() {
33
+ this.width = this.setWidth(this.parameters[3], "px", this.width), this.height = this.setHeight(this.parameters[4], "px", this.height), this.parameters[5] && (this.formatter = this.parameters[5]), this.parameters[6] && (this.bytesPerWord = parseInt(this.parameters[6])), this.parameters[7] && (this.wordsPerRow = parseInt(this.parameters[7])), this.parameters[8] && (this.addrFormat = this.parameters[8]);
34
+ },
35
+ methods: {
36
+ getType: function() {
37
+ let e = "RAW";
38
+ return this.parameters[9] && (e = this.parameters[9]), e;
39
+ },
40
+ formatValue: function(e) {
41
+ let t = "";
42
+ if (e && e.raw) {
43
+ let p = " ", h = `
44
+ `, r = 0, i = 0;
45
+ const n = this.bytesPerWord * this.wordsPerRow;
46
+ for (const m of e.raw)
47
+ this.addrFormat && r === 0 && (t += sprintf(this.addrFormat, i), i += n), t += sprintf(this.formatter, m), r += 1, r % n === 0 ? (r = 0, t += h) : r % this.bytesPerWord === 0 && (t += p);
48
+ } else
49
+ t = e;
50
+ return t;
51
+ }
52
+ }
53
+ }, R = { class: "block-widget-container" };
54
+ function S(e, t, p, h, r, i) {
55
+ const n = s("v-textarea"), m = s("v-list-item-title"), c = s("v-list-item"), f = s("v-list"), g = s("v-menu"), w = s("details-dialog");
56
+ return d(), u("div", R, [
57
+ a(n, {
58
+ variant: "solo",
59
+ density: "compact",
60
+ readonly: "",
61
+ "no-resize": "",
62
+ "hide-details": "",
63
+ rows: i.rows,
64
+ width: e.width,
65
+ "model-value": e._value,
66
+ class: y(e.valueClass),
67
+ style: _([e.computedStyle, i.aging]),
68
+ "data-test": "valueText",
69
+ onContextmenu: e.showContextMenu
70
+ }, null, 8, ["rows", "width", "model-value", "class", "style", "onContextmenu"]),
71
+ a(g, {
72
+ modelValue: e.contextMenuShown,
73
+ "onUpdate:modelValue": t[0] || (t[0] = (o) => e.contextMenuShown = o),
74
+ target: [e.x, e.y]
75
+ }, {
76
+ default: l(() => [
77
+ a(f, null, {
78
+ default: l(() => [
79
+ (d(!0), u(V, null, k(e.contextMenuOptions, (o, v) => (d(), C(c, {
80
+ key: v,
81
+ onClick: P(o.action, ["stop"])
82
+ }, {
83
+ default: l(() => [
84
+ a(m, null, {
85
+ default: l(() => [
86
+ W(b(o.title), 1)
87
+ ]),
88
+ _: 2
89
+ }, 1024)
90
+ ]),
91
+ _: 2
92
+ }, 1032, ["onClick"]))), 128))
93
+ ]),
94
+ _: 1
95
+ })
96
+ ]),
97
+ _: 1
98
+ }, 8, ["modelValue", "target"]),
99
+ a(w, {
100
+ "target-name": e.parameters[0],
101
+ "packet-name": e.parameters[1],
102
+ "item-name": e.parameters[2],
103
+ modelValue: e.viewDetails,
104
+ "onUpdate:modelValue": t[1] || (t[1] = (o) => e.viewDetails = o)
105
+ }, null, 8, ["target-name", "packet-name", "item-name", "modelValue"])
106
+ ]);
107
+ }
108
+ const N = /* @__PURE__ */ D(M, [["render", S], ["__scopeId", "data-v-4d4589c2"]]);
109
+ export {
110
+ N as default
111
+ };
112
+ //# sourceMappingURL=BlockWidget-DlCHbqZX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockWidget-DlCHbqZX.js","sources":["../src/widgets/BlockWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div class=\"block-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n hide-details\n :rows=\"rows\"\n :width=\"width\"\n :model-value=\"_value\"\n :class=\"valueClass\"\n :style=\"[computedStyle, aging]\"\n data-test=\"valueText\"\n @contextmenu=\"showContextMenu\"\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 :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\n v-model=\"viewDetails\"\n />\n </div>\n</template>\n\n<script>\nimport { DetailsDialog } from '@/components'\nimport VWidget from './VWidget'\nimport 'sprintf-js'\n\nexport default {\n components: {\n DetailsDialog,\n },\n data: function () {\n return {\n width: 400,\n height: 400,\n bytesPerWord: 4,\n wordsPerRow: 4,\n addrFormat: null,\n formatter: '%02X',\n }\n },\n mixins: [VWidget],\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\n },\n rows: function () {\n // hack to set height since vuetify 3 removed the ability to set the\n // <textarea>'s height by px and I can't get styling the element to work, either\n const paddingHeight = 16 // px\n const rowHeight = 24 // px\n return (this.height - paddingHeight) / rowHeight\n },\n },\n created: function () {\n this.width = this.setWidth(this.parameters[3], 'px', this.width)\n this.height = this.setHeight(this.parameters[4], 'px', this.height)\n if (this.parameters[5]) {\n this.formatter = this.parameters[5]\n }\n if (this.parameters[6]) {\n this.bytesPerWord = parseInt(this.parameters[6])\n }\n if (this.parameters[7]) {\n this.wordsPerRow = parseInt(this.parameters[7])\n }\n if (this.parameters[8]) {\n this.addrFormat = this.parameters[8]\n }\n // parameter[9] is the type ... see getType()\n },\n methods: {\n getType: function () {\n let type = 'RAW'\n if (this.parameters[9]) {\n type = this.parameters[9]\n }\n return type\n },\n formatValue: function (data) {\n let text = ''\n if (data && data.raw) {\n let space = ' '\n let newLine = '\\n'\n\n let byteCount = 0\n let addr = 0\n const bytesPerRow = this.bytesPerWord * this.wordsPerRow\n\n for (const value of data.raw) {\n if (this.addrFormat && byteCount === 0) {\n text += sprintf(this.addrFormat, addr)\n addr += bytesPerRow\n }\n text += sprintf(this.formatter, value)\n byteCount += 1\n if (byteCount % bytesPerRow === 0) {\n byteCount = 0\n text += newLine\n } else if (byteCount % this.bytesPerWord === 0) {\n text += space\n }\n }\n } else {\n text = data\n }\n return text\n },\n },\n}\n</script>\n\n<style scoped>\n.block-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.v-textarea :deep(textarea) {\n font-family: 'Courier New', Courier, monospace;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.block-widget-container :deep(.v-field__loader) {\n display: none !important;\n}\n.block-widget-container :deep(textarea) {\n padding-right: 0 !important;\n padding-left: 12px !important;\n}\n.openc3-green :deep(input) {\n color: rgb(0, 200, 0);\n}\n.openc3-yellow :deep(input) {\n color: rgb(255, 220, 0);\n}\n.openc3-red :deep(input) {\n color: rgb(255, 45, 45);\n}\n.openc3-blue :deep(input) {\n color: rgb(0, 153, 255);\n}\n.openc3-purple :deep(input) {\n color: rgb(200, 0, 200);\n}\n.openc3-black :deep(input) {\n color: black;\n}\n.openc3-white :deep(input) {\n color: white;\n}\n</style>\n"],"names":["_sfc_main","DetailsDialog","VWidget","type","data","text","space","newLine","byteCount","addr","bytesPerRow","value","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","$options","_ctx","_normalizeClass","_normalizeStyle","_component_v_menu","_cache","$event","_withCtx","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { o as oi, h as hi } from "./WidgetComponents-C1lSLZ0I.js";
2
+ import { resolveComponent, createElementBlock, openBlock, createVNode, normalizeStyle, withCtx, createTextVNode, toDisplayString, createElementVNode } from "vue";
3
+ import { _ as _export_sfc } from "./CustomIcon-h5X7369N.js";
4
+ import { C as CriticalCmdDialog } from "./CriticalCmdDialog-DPIZOBeP.js";
5
+ import "single-spa";
6
+ import { W as Widget } from "./Widget-oyqWpFXJ.js";
7
+ const _sfc_main = {
8
+ mixins: [Widget],
9
+ components: {
10
+ CriticalCmdDialog
11
+ },
12
+ data() {
13
+ return {
14
+ api: null,
15
+ displaySendHazardous: !1,
16
+ lastCmd: "",
17
+ criticalCmdUuid: null,
18
+ criticalCmdString: null,
19
+ criticalCmdUser: null,
20
+ displayCriticalCmd: !1
21
+ };
22
+ },
23
+ computed: {
24
+ buttonText() {
25
+ return this.parameters[0];
26
+ },
27
+ eval() {
28
+ return this.parameters[1];
29
+ }
30
+ },
31
+ created() {
32
+ this.api = new hi();
33
+ },
34
+ methods: {
35
+ async onClick() {
36
+ const lines = this.eval.split(";;"), self = this, screen = this.screen, screenValues = this.screenValues, screenTimeZone = this.screenTimeZone, api = this.api, runScript = this.runScript;
37
+ (self || screen || screenValues || screenTimeZone || api || runScript) && this.$nextTick(() => {
38
+ });
39
+ for (let i = 0; i < lines.length; i++)
40
+ try {
41
+ const result = eval(lines[i].trim());
42
+ result instanceof Promise && await result;
43
+ } catch (e) {
44
+ if (e.message.includes("CriticalCmdError"))
45
+ this.criticalCmdUuid = e.object.data.instance_variables["@uuid"], this.criticalCmdString = e.object.data.instance_variables["@cmd_string"], this.criticalCmdUser = e.object.data.instance_variables["@username"], this.displayCriticalCmd = !0;
46
+ else if (e.message.includes("is Hazardous"))
47
+ for (this.lastCmd = e.message.split(`
48
+ `).pop(), this.displaySendHazardous = !0; this.displaySendHazardous; )
49
+ await new Promise((t) => setTimeout(t, 500));
50
+ else
51
+ console.error(e);
52
+ }
53
+ },
54
+ async sendHazardousCmd() {
55
+ this.lastCmd = this.lastCmd.replace(
56
+ "cmd(",
57
+ "this.api.cmd_no_hazardous_check("
58
+ );
59
+ try {
60
+ const result = eval(this.lastCmd);
61
+ result instanceof Promise && await result;
62
+ } catch (e) {
63
+ e.message.includes("CriticalCmdError") && (this.criticalCmdUuid = e.object.data.instance_variables["@uuid"], this.criticalCmdString = e.object.data.instance_variables["@cmd_string"], this.criticalCmdUser = e.object.data.instance_variables["@username"], this.displayCriticalCmd = !0);
64
+ }
65
+ this.displaySendHazardous = !1;
66
+ },
67
+ cancelHazardousCmd() {
68
+ this.displaySendHazardous = !1;
69
+ },
70
+ runScript(e, t = !0, r = {}) {
71
+ let o = [];
72
+ for (const a in r)
73
+ o.push({ key: a, value: r[a], readonly: !1 });
74
+ oi.post(`/script-api/scripts/${e}/run`, {
75
+ data: { environment: o }
76
+ }).then((a) => {
77
+ t && window.open(`/tools/scriptrunner/${a.data}`, "_blank");
78
+ });
79
+ }
80
+ }
81
+ }, _hoisted_1 = { class: "mx-1" };
82
+ function _sfc_render(e, t, r, o, a, s) {
83
+ const n = resolveComponent("v-btn"), d = resolveComponent("v-card-title"), c = resolveComponent("v-row"), m = resolveComponent("v-spacer"), u = resolveComponent("v-card-text"), p = resolveComponent("v-card"), C = resolveComponent("v-dialog"), _ = resolveComponent("critical-cmd-dialog");
84
+ return openBlock(), createElementBlock("div", null, [
85
+ createVNode(n, {
86
+ class: "ma-1",
87
+ color: "primary",
88
+ style: normalizeStyle(e.computedStyle),
89
+ onClick: s.onClick
90
+ }, {
91
+ default: withCtx(() => [
92
+ createTextVNode(toDisplayString(s.buttonText), 1)
93
+ ]),
94
+ _: 1
95
+ }, 8, ["style", "onClick"]),
96
+ createVNode(C, {
97
+ modelValue: a.displaySendHazardous,
98
+ "onUpdate:modelValue": t[0] || (t[0] = (l) => a.displaySendHazardous = l),
99
+ "max-width": "300"
100
+ }, {
101
+ default: withCtx(() => [
102
+ createVNode(p, null, {
103
+ default: withCtx(() => [
104
+ createVNode(d, null, {
105
+ default: withCtx(() => t[2] || (t[2] = [
106
+ createTextVNode("Hazardous")
107
+ ])),
108
+ _: 1
109
+ }),
110
+ createVNode(u, null, {
111
+ default: withCtx(() => [
112
+ createElementVNode("div", _hoisted_1, [
113
+ createVNode(c, { class: "my-2" }, {
114
+ default: withCtx(() => t[3] || (t[3] = [
115
+ createElementVNode("span", null, " Warning: Command is Hazardous. Send? ", -1)
116
+ ])),
117
+ _: 1
118
+ }),
119
+ createVNode(c, null, {
120
+ default: withCtx(() => [
121
+ createVNode(m),
122
+ createVNode(n, {
123
+ onClick: s.cancelHazardousCmd,
124
+ variant: "outlined"
125
+ }, {
126
+ default: withCtx(() => t[4] || (t[4] = [
127
+ createTextVNode(" Cancel ")
128
+ ])),
129
+ _: 1
130
+ }, 8, ["onClick"]),
131
+ createVNode(n, {
132
+ onClick: s.sendHazardousCmd,
133
+ class: "bg-primary mx-1"
134
+ }, {
135
+ default: withCtx(() => t[5] || (t[5] = [
136
+ createTextVNode(" Send ")
137
+ ])),
138
+ _: 1
139
+ }, 8, ["onClick"])
140
+ ]),
141
+ _: 1
142
+ })
143
+ ])
144
+ ]),
145
+ _: 1
146
+ })
147
+ ]),
148
+ _: 1
149
+ })
150
+ ]),
151
+ _: 1
152
+ }, 8, ["modelValue"]),
153
+ createVNode(_, {
154
+ uuid: a.criticalCmdUuid,
155
+ cmdString: a.criticalCmdString,
156
+ cmdUser: a.criticalCmdUser,
157
+ modelValue: a.displayCriticalCmd,
158
+ "onUpdate:modelValue": t[1] || (t[1] = (l) => a.displayCriticalCmd = l)
159
+ }, null, 8, ["uuid", "cmdString", "cmdUser", "modelValue"])
160
+ ]);
161
+ }
162
+ const ButtonWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
163
+ export {
164
+ ButtonWidget as default
165
+ };
166
+ //# sourceMappingURL=ButtonWidget-CtfJzCBR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonWidget-CtfJzCBR.js","sources":["../src/widgets/ButtonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-btn class=\"ma-1\" color=\"primary\" :style=\"computedStyle\" @click=\"onClick\">\n {{ buttonText }}\n </v-btn>\n <v-dialog v-model=\"displaySendHazardous\" max-width=\"300\">\n <v-card>\n <v-card-title>Hazardous</v-card-title>\n <v-card-text>\n <div class=\"mx-1\">\n <v-row class=\"my-2\">\n <span> Warning: Command is Hazardous. Send? </span>\n </v-row>\n <v-row>\n <v-spacer />\n <v-btn @click=\"cancelHazardousCmd\" variant=\"outlined\">\n Cancel\n </v-btn>\n <v-btn @click=\"sendHazardousCmd\" class=\"bg-primary mx-1\">\n Send\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n <critical-cmd-dialog\n :uuid=\"criticalCmdUuid\"\n :cmdString=\"criticalCmdString\"\n :cmdUser=\"criticalCmdUser\"\n v-model=\"displayCriticalCmd\"\n />\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\nimport { CriticalCmdDialog } from '@/components'\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n components: {\n CriticalCmdDialog,\n },\n data() {\n return {\n api: null,\n displaySendHazardous: false,\n lastCmd: '',\n criticalCmdUuid: null,\n criticalCmdString: null,\n criticalCmdUser: null,\n displayCriticalCmd: false,\n }\n },\n computed: {\n buttonText() {\n return this.parameters[0]\n },\n eval() {\n return this.parameters[1]\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n methods: {\n async onClick() {\n const lines = this.eval.split(';;')\n // Create local references to variables so users don't need to use 'this'\n const self = this\n const screen = this.screen\n const screenValues = this.screenValues\n const screenTimeZone = this.screenTimeZone\n const api = this.api\n const runScript = this.runScript\n if (\n self ||\n screen ||\n screenValues ||\n screenTimeZone ||\n api ||\n runScript\n ) {\n // Add a noop to preserve the variables in the if statement\n // from being removed by compiler optimizations\n this.$nextTick(() => {})\n }\n for (let i = 0; i < lines.length; i++) {\n try {\n const result = eval(lines[i].trim())\n if (result instanceof Promise) {\n await result\n }\n } catch (error) {\n // This text is in top_level.rb HazardousError.to_s\n if (error.message.includes('CriticalCmdError')) {\n this.criticalCmdUuid = error.object.data.instance_variables['@uuid']\n this.criticalCmdString =\n error.object.data.instance_variables['@cmd_string']\n this.criticalCmdUser =\n error.object.data.instance_variables['@username']\n this.displayCriticalCmd = true\n } else if (error.message.includes('is Hazardous')) {\n this.lastCmd = error.message.split('\\n').pop()\n this.displaySendHazardous = true\n while (this.displaySendHazardous) {\n await new Promise((resolve) => setTimeout(resolve, 500))\n }\n } else {\n // eslint-disable-next-line\n console.error(error)\n }\n }\n }\n },\n async sendHazardousCmd() {\n // TODO: This only handles basic cmd() calls in buttons, do we need to handle other? cmd_raw()?\n this.lastCmd = this.lastCmd.replace(\n 'cmd(',\n 'this.api.cmd_no_hazardous_check(',\n )\n\n try {\n const result = eval(this.lastCmd)\n\n if (result instanceof Promise) {\n await result\n }\n } catch (error) {\n // This text is in top_level.rb HazardousError.to_s\n if (error.message.includes('CriticalCmdError')) {\n this.criticalCmdUuid = error.object.data.instance_variables['@uuid']\n this.criticalCmdString =\n error.object.data.instance_variables['@cmd_string']\n this.criticalCmdUser =\n error.object.data.instance_variables['@username']\n this.displayCriticalCmd = true\n }\n }\n\n this.displaySendHazardous = false\n },\n cancelHazardousCmd() {\n this.displaySendHazardous = false\n },\n runScript(scriptName, openScript = true, env = {}) {\n let envArray = []\n for (const key in env) {\n envArray.push({ key: key, value: env[key], readonly: false })\n }\n Api.post(`/script-api/scripts/${scriptName}/run`, {\n data: { environment: envArray },\n }).then((response) => {\n if (openScript) {\n window.open(`/tools/scriptrunner/${response.data}`, '_blank')\n }\n })\n },\n },\n}\n</script>\n"],"names":["OpenC3Api","error","resolve","scriptName","openScript","env","envArray","key","Api","response","_createElementBlock","_createVNode","_component_v_btn","_normalizeStyle","_ctx","$options","_withCtx","_createTextVNode","_toDisplayString","_component_v_dialog","$data","_cache","$event","_component_v_card","_component_v_card_title","_component_v_card_text","_createElementVNode","_component_v_row","_component_v_spacer","_component_critical_cmd_dialog"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const WidgetComponents=require("./WidgetComponents-utpQ592X.cjs"),vue=require("vue"),CustomIcon=require("./CustomIcon-Bop2mEnu.cjs"),CriticalCmdDialog=require("./CriticalCmdDialog-BnxZlt7W.cjs");require("single-spa");const Widget=require("./Widget-ChoIB2dd.cjs"),_sfc_main={mixins:[Widget.Widget],components:{CriticalCmdDialog:CriticalCmdDialog.CriticalCmdDialog},data(){return{api:null,displaySendHazardous:!1,lastCmd:"",criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1}},computed:{buttonText(){return this.parameters[0]},eval(){return this.parameters[1]}},created(){this.api=new WidgetComponents.hi},methods:{async onClick(){const lines=this.eval.split(";;"),self=this,screen=this.screen,screenValues=this.screenValues,screenTimeZone=this.screenTimeZone,api=this.api,runScript=this.runScript;(self||screen||screenValues||screenTimeZone||api||runScript)&&this.$nextTick(()=>{});for(let i=0;i<lines.length;i++)try{const result=eval(lines[i].trim());result instanceof Promise&&await result}catch(e){if(e.message.includes("CriticalCmdError"))this.criticalCmdUuid=e.object.data.instance_variables["@uuid"],this.criticalCmdString=e.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=e.object.data.instance_variables["@username"],this.displayCriticalCmd=!0;else if(e.message.includes("is Hazardous"))for(this.lastCmd=e.message.split(`
2
+ `).pop(),this.displaySendHazardous=!0;this.displaySendHazardous;)await new Promise(t=>setTimeout(t,500));else console.error(e)}},async sendHazardousCmd(){this.lastCmd=this.lastCmd.replace("cmd(","this.api.cmd_no_hazardous_check(");try{const result=eval(this.lastCmd);result instanceof Promise&&await result}catch(e){e.message.includes("CriticalCmdError")&&(this.criticalCmdUuid=e.object.data.instance_variables["@uuid"],this.criticalCmdString=e.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=e.object.data.instance_variables["@username"],this.displayCriticalCmd=!0)}this.displaySendHazardous=!1},cancelHazardousCmd(){this.displaySendHazardous=!1},runScript(e,t=!0,a={}){let n=[];for(const s in a)n.push({key:s,value:a[s],readonly:!1});WidgetComponents.oi.post(`/script-api/scripts/${e}/run`,{data:{environment:n}}).then(s=>{t&&window.open(`/tools/scriptrunner/${s.data}`,"_blank")})}}},_hoisted_1={class:"mx-1"};function _sfc_render(e,t,a,n,s,r){const o=vue.resolveComponent("v-btn"),d=vue.resolveComponent("v-card-title"),c=vue.resolveComponent("v-row"),u=vue.resolveComponent("v-spacer"),m=vue.resolveComponent("v-card-text"),v=vue.resolveComponent("v-card"),C=vue.resolveComponent("v-dialog"),p=vue.resolveComponent("critical-cmd-dialog");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createVNode(o,{class:"ma-1",color:"primary",style:vue.normalizeStyle(e.computedStyle),onClick:r.onClick},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.buttonText),1)]),_:1},8,["style","onClick"]),vue.createVNode(C,{modelValue:s.displaySendHazardous,"onUpdate:modelValue":t[0]||(t[0]=l=>s.displaySendHazardous=l),"max-width":"300"},{default:vue.withCtx(()=>[vue.createVNode(v,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>t[2]||(t[2]=[vue.createTextVNode("Hazardous")])),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1,[vue.createVNode(c,{class:"my-2"},{default:vue.withCtx(()=>t[3]||(t[3]=[vue.createElementVNode("span",null," Warning: Command is Hazardous. Send? ",-1)])),_:1}),vue.createVNode(c,null,{default:vue.withCtx(()=>[vue.createVNode(u),vue.createVNode(o,{onClick:r.cancelHazardousCmd,variant:"outlined"},{default:vue.withCtx(()=>t[4]||(t[4]=[vue.createTextVNode(" Cancel ")])),_:1},8,["onClick"]),vue.createVNode(o,{onClick:r.sendHazardousCmd,class:"bg-primary mx-1"},{default:vue.withCtx(()=>t[5]||(t[5]=[vue.createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),vue.createVNode(p,{uuid:s.criticalCmdUuid,cmdString:s.criticalCmdString,cmdUser:s.criticalCmdUser,modelValue:s.displayCriticalCmd,"onUpdate:modelValue":t[1]||(t[1]=l=>s.displayCriticalCmd=l)},null,8,["uuid","cmdString","cmdUser","modelValue"])])}const ButtonWidget=CustomIcon._export_sfc(_sfc_main,[["render",_sfc_render]]);exports.default=ButtonWidget;
3
+ //# sourceMappingURL=ButtonWidget-HN8UHsme.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonWidget-HN8UHsme.cjs","sources":["../src/widgets/ButtonWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-btn class=\"ma-1\" color=\"primary\" :style=\"computedStyle\" @click=\"onClick\">\n {{ buttonText }}\n </v-btn>\n <v-dialog v-model=\"displaySendHazardous\" max-width=\"300\">\n <v-card>\n <v-card-title>Hazardous</v-card-title>\n <v-card-text>\n <div class=\"mx-1\">\n <v-row class=\"my-2\">\n <span> Warning: Command is Hazardous. Send? </span>\n </v-row>\n <v-row>\n <v-spacer />\n <v-btn @click=\"cancelHazardousCmd\" variant=\"outlined\">\n Cancel\n </v-btn>\n <v-btn @click=\"sendHazardousCmd\" class=\"bg-primary mx-1\">\n Send\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n <critical-cmd-dialog\n :uuid=\"criticalCmdUuid\"\n :cmdString=\"criticalCmdString\"\n :cmdUser=\"criticalCmdUser\"\n v-model=\"displayCriticalCmd\"\n />\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\nimport { CriticalCmdDialog } from '@/components'\nimport Widget from './Widget'\n\nexport default {\n mixins: [Widget],\n components: {\n CriticalCmdDialog,\n },\n data() {\n return {\n api: null,\n displaySendHazardous: false,\n lastCmd: '',\n criticalCmdUuid: null,\n criticalCmdString: null,\n criticalCmdUser: null,\n displayCriticalCmd: false,\n }\n },\n computed: {\n buttonText() {\n return this.parameters[0]\n },\n eval() {\n return this.parameters[1]\n },\n },\n created() {\n this.api = new OpenC3Api()\n },\n methods: {\n async onClick() {\n const lines = this.eval.split(';;')\n // Create local references to variables so users don't need to use 'this'\n const self = this\n const screen = this.screen\n const screenValues = this.screenValues\n const screenTimeZone = this.screenTimeZone\n const api = this.api\n const runScript = this.runScript\n if (\n self ||\n screen ||\n screenValues ||\n screenTimeZone ||\n api ||\n runScript\n ) {\n // Add a noop to preserve the variables in the if statement\n // from being removed by compiler optimizations\n this.$nextTick(() => {})\n }\n for (let i = 0; i < lines.length; i++) {\n try {\n const result = eval(lines[i].trim())\n if (result instanceof Promise) {\n await result\n }\n } catch (error) {\n // This text is in top_level.rb HazardousError.to_s\n if (error.message.includes('CriticalCmdError')) {\n this.criticalCmdUuid = error.object.data.instance_variables['@uuid']\n this.criticalCmdString =\n error.object.data.instance_variables['@cmd_string']\n this.criticalCmdUser =\n error.object.data.instance_variables['@username']\n this.displayCriticalCmd = true\n } else if (error.message.includes('is Hazardous')) {\n this.lastCmd = error.message.split('\\n').pop()\n this.displaySendHazardous = true\n while (this.displaySendHazardous) {\n await new Promise((resolve) => setTimeout(resolve, 500))\n }\n } else {\n // eslint-disable-next-line\n console.error(error)\n }\n }\n }\n },\n async sendHazardousCmd() {\n // TODO: This only handles basic cmd() calls in buttons, do we need to handle other? cmd_raw()?\n this.lastCmd = this.lastCmd.replace(\n 'cmd(',\n 'this.api.cmd_no_hazardous_check(',\n )\n\n try {\n const result = eval(this.lastCmd)\n\n if (result instanceof Promise) {\n await result\n }\n } catch (error) {\n // This text is in top_level.rb HazardousError.to_s\n if (error.message.includes('CriticalCmdError')) {\n this.criticalCmdUuid = error.object.data.instance_variables['@uuid']\n this.criticalCmdString =\n error.object.data.instance_variables['@cmd_string']\n this.criticalCmdUser =\n error.object.data.instance_variables['@username']\n this.displayCriticalCmd = true\n }\n }\n\n this.displaySendHazardous = false\n },\n cancelHazardousCmd() {\n this.displaySendHazardous = false\n },\n runScript(scriptName, openScript = true, env = {}) {\n let envArray = []\n for (const key in env) {\n envArray.push({ key: key, value: env[key], readonly: false })\n }\n Api.post(`/script-api/scripts/${scriptName}/run`, {\n data: { environment: envArray },\n }).then((response) => {\n if (openScript) {\n window.open(`/tools/scriptrunner/${response.data}`, '_blank')\n }\n })\n },\n },\n}\n</script>\n"],"names":["Widget","CriticalCmdDialog","OpenC3Api","error","resolve","scriptName","openScript","env","envArray","key","Api","response","_createElementBlock","_createVNode","_component_v_btn","_normalizeStyle","_ctx","$options","_withCtx","_createTextVNode","_toDisplayString","_component_v_dialog","$data","_cache","$event","_component_v_card","_component_v_card_title","_component_v_card_text","_createElementVNode","_component_v_row","_component_v_spacer","_component_critical_cmd_dialog"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Layout-DuCYyOw4.cjs"),e=require("vue"),o=require("./CustomIcon-Bop2mEnu.cjs"),i={mixins:[a.Layout],computed:{width(){return this.parameters[0]+"px"},height(){return this.parameters[1]+"px"}}},c=["width","height"];function u(r,m,p,h,d,n){return e.openBlock(),e.createElementBlock("svg",{id:"canvas",width:n.width,height:n.height},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.widgets,(t,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.type),e.mergeProps({ref_for:!0},r.listeners,{key:s,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))],8,c)}const l=o._export_sfc(i,[["render",u],["__scopeId","data-v-47bdfc3c"]]);exports.default=l;
2
+ //# sourceMappingURL=CanvasWidget-CHmkxxMO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasWidget-CHmkxxMO.cjs","sources":["../src/widgets/CanvasWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <svg id=\"canvas\" :width=\"width\" :height=\"height\">\n <component\n v-for=\"(widget, index) in widgets\"\n v-bind=\"listeners\"\n :key=\"index\"\n :is=\"widget.type\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </svg>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n computed: {\n width() {\n return this.parameters[0] + 'px'\n },\n height() {\n return this.parameters[1] + 'px'\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsvg {\n background-color: white;\n}\n</style>\n"],"names":["_sfc_main","Layout","_hoisted_1","_createElementBlock","$options","_openBlock","_Fragment","_renderList","_ctx","widget","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"iLA4CKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,EACf,SAAU,CACR,OAAQ,CACN,OAAO,KAAK,WAAW,CAAC,EAAI,IAC7B,EACD,QAAS,CACP,OAAO,KAAK,WAAW,CAAC,EAAI,IAC7B,CACF,CACH,EAtDAC,EAAA,CAAA,QAAA,QAAA,+CAuBEC,EAgBM,mBAAA,MAAA,CAhBD,GAAG,SAAU,MAAOC,EAAK,MAAG,OAAQA,EAAM,UAC7CC,EAAAA,UAAA,EAAA,EAAAF,EAAA,mBAcEG,gBAtCNC,EAyBgC,WAAAC,EAAA,QAzBhC,CAyBcC,EAAQC,mBADlBC,EAAAA,YAxBJC,EA4BW,wBAAAH,EAAO,IAAI,EAJlBI,EAcE,WAAA,CAtCN,QAAA,IA0BcL,EAAS,UAAA,CAChB,IAAKE,EAEL,OAAQD,EAAO,OACf,WAAYA,EAAO,WACnB,SAAUA,EAAO,SACjB,gBAAeD,EAAY,aAC3B,mBAAkBA,EAAc,eAChC,QAASC,EAAO,QAChB,KAAMA,EAAO,KACb,KAAMA,EAAO,KACb,cAAaA,EAAO,yIArC3B,EAAA,EAAAP,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { L as i } from "./Layout-Tf--nruw.js";
2
+ import { createElementBlock as s, openBlock as t, Fragment as m, renderList as o, createBlock as c, resolveDynamicComponent as l, mergeProps as p } from "vue";
3
+ import { _ as u } from "./CustomIcon-h5X7369N.js";
4
+ const h = {
5
+ mixins: [i],
6
+ computed: {
7
+ width() {
8
+ return this.parameters[0] + "px";
9
+ },
10
+ height() {
11
+ return this.parameters[1] + "px";
12
+ }
13
+ }
14
+ }, d = ["width", "height"];
15
+ function f(r, g, _, v, b, n) {
16
+ return t(), s("svg", {
17
+ id: "canvas",
18
+ width: n.width,
19
+ height: n.height
20
+ }, [
21
+ (t(!0), s(m, null, o(r.widgets, (e, a) => (t(), c(l(e.type), p({ ref_for: !0 }, r.listeners, {
22
+ key: a,
23
+ target: e.target,
24
+ parameters: e.parameters,
25
+ settings: e.settings,
26
+ "screen-values": r.screenValues,
27
+ "screen-time-zone": r.screenTimeZone,
28
+ widgets: e.widgets,
29
+ name: e.name,
30
+ line: e.line,
31
+ "line-number": e.lineNumber
32
+ }), null, 16, ["target", "parameters", "settings", "screen-values", "screen-time-zone", "widgets", "name", "line", "line-number"]))), 128))
33
+ ], 8, d);
34
+ }
35
+ const L = /* @__PURE__ */ u(h, [["render", f], ["__scopeId", "data-v-47bdfc3c"]]);
36
+ export {
37
+ L as default
38
+ };
39
+ //# sourceMappingURL=CanvasWidget-CqRlXc4r.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasWidget-CqRlXc4r.js","sources":["../src/widgets/CanvasWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <svg id=\"canvas\" :width=\"width\" :height=\"height\">\n <component\n v-for=\"(widget, index) in widgets\"\n v-bind=\"listeners\"\n :key=\"index\"\n :is=\"widget.type\"\n :target=\"widget.target\"\n :parameters=\"widget.parameters\"\n :settings=\"widget.settings\"\n :screen-values=\"screenValues\"\n :screen-time-zone=\"screenTimeZone\"\n :widgets=\"widget.widgets\"\n :name=\"widget.name\"\n :line=\"widget.line\"\n :line-number=\"widget.lineNumber\"\n />\n </svg>\n</template>\n\n<script>\nimport Layout from './Layout'\nexport default {\n mixins: [Layout],\n computed: {\n width() {\n return this.parameters[0] + 'px'\n },\n height() {\n return this.parameters[1] + 'px'\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsvg {\n background-color: white;\n}\n</style>\n"],"names":["_sfc_main","Layout","_hoisted_1","_createElementBlock","$options","_openBlock","_Fragment","_renderList","_ctx","widget","index","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;AA4CA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AAAA,EACf,UAAU;AAAA,IACR,QAAQ;AACN,aAAO,KAAK,WAAW,CAAC,IAAI;AAAA,IAC7B;AAAA,IACD,SAAS;AACP,aAAO,KAAK,WAAW,CAAC,IAAI;AAAA,IAC7B;AAAA,EACF;AACH,GAtDAC,IAAA,CAAA,SAAA,QAAA;;cAuBEC,EAgBM,OAAA;AAAA,IAhBD,IAAG;AAAA,IAAU,OAAOC,EAAK;AAAA,IAAG,QAAQA,EAAM;AAAA;KAC7CC,EAAA,EAAA,GAAAF,EAcEG,SAtCNC,EAyBgCC,EAAA,SAzBhC,CAyBcC,GAAQC,YADlBC,EAxBJC,EA4BWH,EAAO,IAAI,GAJlBI,EAcE,EAtCN,SAAA,MA0BcL,EAAS,WAAA;AAAA,MAChB,KAAKE;AAAA,MAEL,QAAQD,EAAO;AAAA,MACf,YAAYA,EAAO;AAAA,MACnB,UAAUA,EAAO;AAAA,MACjB,iBAAeD,EAAY;AAAA,MAC3B,oBAAkBA,EAAc;AAAA,MAChC,SAASC,EAAO;AAAA,MAChB,MAAMA,EAAO;AAAA,MACb,MAAMA,EAAO;AAAA,MACb,eAAaA,EAAO;AAAA;EArC3B,GAAA,GAAAP,CAAA;;;"}
@@ -0,0 +1,19 @@
1
+ import { W as r } from "./Widget-oyqWpFXJ.js";
2
+ import { createElementBlock as t, openBlock as o } from "vue";
3
+ import { _ as a } from "./CustomIcon-h5X7369N.js";
4
+ const s = {
5
+ mixins: [r]
6
+ }, c = ["cx", "cy", "r", "fill"];
7
+ function n(e, i, p, m, l, f) {
8
+ return o(), t("circle", {
9
+ cx: e.parameters[0],
10
+ cy: e.parameters[1],
11
+ r: e.parameters[3],
12
+ fill: e.parameters[2]
13
+ }, null, 8, c);
14
+ }
15
+ const $ = /* @__PURE__ */ a(s, [["render", n]]);
16
+ export {
17
+ $ as default
18
+ };
19
+ //# sourceMappingURL=CanvasdotWidget--Xr_KsZs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasdotWidget--Xr_KsZs.js","sources":["../src/widgets/CanvasdotWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <circle\n :cx=\"parameters[0]\"\n :cy=\"parameters[1]\"\n :r=\"parameters[3]\"\n :fill=\"parameters[2]\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","Widget","_hoisted_1","_createElementBlock","_ctx"],"mappings":";;;AAiCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,CAAM;AACjB,GAnCAC,IAAA,CAAA,MAAA,MAAA,KAAA,MAAA;;cAuBEC,EAKE,UAAA;AAAA,IAJC,IAAIC,EAAU,WAAA,CAAA;AAAA,IACd,IAAIA,EAAU,WAAA,CAAA;AAAA,IACd,GAAGA,EAAU,WAAA,CAAA;AAAA,IACb,MAAMA,EAAU,WAAA,CAAA;AAAA,EA3BrB,GAAA,MAAA,GAAAF,CAAA;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./Widget-ChoIB2dd.cjs"),r=require("vue"),o=require("./CustomIcon-Bop2mEnu.cjs"),s={mixins:[t.Widget]},c=["cx","cy","r","fill"];function n(e,i,l,u,d,p){return r.openBlock(),r.createElementBlock("circle",{cx:e.parameters[0],cy:e.parameters[1],r:e.parameters[3],fill:e.parameters[2]},null,8,c)}const a=o._export_sfc(s,[["render",n]]);exports.default=a;
2
+ //# sourceMappingURL=CanvasdotWidget-B4bUcKRc.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasdotWidget-B4bUcKRc.cjs","sources":["../src/widgets/CanvasdotWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <circle\n :cx=\"parameters[0]\"\n :cy=\"parameters[1]\"\n :r=\"parameters[3]\"\n :fill=\"parameters[2]\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nexport default {\n mixins: [Widget],\n}\n</script>\n"],"names":["_sfc_main","Widget","_hoisted_1","_createElementBlock","_ctx"],"mappings":"iLAiCKA,EAAU,CACb,OAAQ,CAACC,EAAAA,MAAM,CACjB,EAnCAC,EAAA,CAAA,KAAA,KAAA,IAAA,MAAA,+CAuBEC,EAKE,mBAAA,SAAA,CAJC,GAAIC,EAAU,WAAA,CAAA,EACd,GAAIA,EAAU,WAAA,CAAA,EACd,EAAGA,EAAU,WAAA,CAAA,EACb,KAAMA,EAAU,WAAA,CAAA,CA3BrB,EAAA,KAAA,EAAAF,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./Widget-ChoIB2dd.cjs"),n=require("./ImageLoader-cRmBcpU9.cjs"),t=require("vue"),c=require("./CustomIcon-Bop2mEnu.cjs"),h={mixins:[a.Widget,n.ImageLoader],data:function(){return{imageUrl:null,screenTarget:null,screenName:null}},computed:{width:function(){return this.parameters[3]?`${this.parameters[3]}px`:"100%"},height:function(){return this.parameters[4]?`${this.parameters[4]}px`:"100%"},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.appliedSettings.forEach(e=>{e[0]==="SCREEN"&&(this.screenTarget=e[1],this.screenName=e[2])}),this.parameters[0].startsWith("http")?this.imageUrl=this.parameters[0]:this.getPresignedUrl(this.parameters[0]).then(e=>{this.imageUrl=e})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}},l=["href","x","y","width","height"];function m(e,i,o,d,g,r){return e.imageUrl?(t.openBlock(),t.createElementBlock("image",{key:0,href:e.imageUrl,x:e.parameters[1],y:e.parameters[2],width:r.width,height:r.height,style:t.normalizeStyle(r.pointerStyle),onClick:i[0]||(i[0]=(...s)=>r.clickHandler&&r.clickHandler(...s))},null,12,l)):t.createCommentVNode("",!0)}const u=c._export_sfc(h,[["render",m]]);exports.default=u;
2
+ //# sourceMappingURL=CanvasimageWidget-B5YozXoI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasimageWidget-B5YozXoI.cjs","sources":["../src/widgets/CanvasimageWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <image\n v-if=\"imageUrl\"\n :href=\"imageUrl\"\n :x=\"parameters[1]\"\n :y=\"parameters[2]\"\n :width=\"width\"\n :height=\"height\"\n :style=\"pointerStyle\"\n @click=\"clickHandler\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nimport ImageLoader from './ImageLoader'\n\nexport default {\n mixins: [Widget, ImageLoader],\n data: function () {\n return {\n imageUrl: null,\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n width: function () {\n if (this.parameters[3]) {\n return `${this.parameters[3]}px`\n }\n return '100%'\n },\n height: function () {\n if (this.parameters[4]) {\n return `${this.parameters[4]}px`\n }\n return '100%'\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 // Look through the settings and get a reference to the screen\n this.appliedSettings.forEach((setting) => {\n if (setting[0] === 'SCREEN') {\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n }\n })\n\n if (!this.parameters[0].startsWith('http')) {\n this.getPresignedUrl(this.parameters[0]).then((response) => {\n this.imageUrl = response\n })\n } else {\n this.imageUrl = this.parameters[0]\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","ImageLoader","setting","response","_hoisted_1","_ctx","_createElementBlock","$options","_normalizeStyle","args","_createCommentVNode"],"mappings":"yNAuCKA,EAAU,CACb,OAAQ,CAACC,EAAM,OAAEC,aAAW,EAC5B,KAAM,UAAY,CAChB,MAAO,CACL,SAAU,KACV,aAAc,KACd,WAAY,IACd,CACD,EACD,SAAU,CACR,MAAO,UAAY,CACjB,OAAI,KAAK,WAAW,CAAC,EACZ,GAAG,KAAK,WAAW,CAAC,CAAC,KAEvB,MACR,EACD,OAAQ,UAAY,CAClB,OAAI,KAAK,WAAW,CAAC,EACZ,GAAG,KAAK,WAAW,CAAC,CAAC,KAEvB,MACR,EACD,cAAe,CACb,OAAI,KAAK,cAAgB,KAAK,WACrB,CACL,OAAQ,SACV,EAEO,CACL,OAAQ,SACV,CAEH,CACF,EACD,QAAS,UAAY,CAEnB,KAAK,gBAAgB,QAASC,GAAY,CACpCA,EAAQ,CAAC,IAAM,WACjB,KAAK,aAAeA,EAAQ,CAAC,EAC7B,KAAK,WAAaA,EAAQ,CAAC,EAE9B,CAAA,EAEI,KAAK,WAAW,CAAC,EAAE,WAAW,MAAM,EAKvC,KAAK,SAAW,KAAK,WAAW,CAAC,EAJjC,KAAK,gBAAgB,KAAK,WAAW,CAAC,CAAC,EAAE,KAAMC,GAAa,CAC1D,KAAK,SAAWA,CACjB,CAAA,CAIJ,EACD,QAAS,CACP,cAAe,CACT,KAAK,cAAgB,KAAK,YAC5B,KAAK,MAAM,OAAQ,KAAK,aAAc,KAAK,UAAU,CAExD,CACF,CACH,EAjGAC,EAAA,CAAA,OAAA,IAAA,IAAA,QAAA,QAAA,iCAwBUC,EAAQ,wBADhBC,EASE,mBAAA,QAAA,CAhCJ,IAAA,EAyBK,KAAMD,EAAQ,SACd,EAAGA,EAAU,WAAA,CAAA,EACb,EAAGA,EAAU,WAAA,CAAA,EACb,MAAOE,EAAK,MACZ,OAAQA,EAAM,OACd,MA9BLC,EAAAA,eA8BYD,EAAY,YAAA,EACnB,4BAAOA,EAAY,cAAAA,EAAA,aAAA,GAAAE,CAAA,EA/BxB,EAAA,KAAA,GAAAL,CAAA,GAAAM,EAAA,mBAAA,GAAA,EAAA"}
@@ -0,0 +1,58 @@
1
+ import { W as a } from "./Widget-oyqWpFXJ.js";
2
+ import { I as s } from "./ImageLoader-4N-7Gj61.js";
3
+ import { createElementBlock as n, createCommentVNode as h, openBlock as m, normalizeStyle as l } from "vue";
4
+ import { _ as c } from "./CustomIcon-h5X7369N.js";
5
+ const o = {
6
+ mixins: [a, s],
7
+ data: function() {
8
+ return {
9
+ imageUrl: null,
10
+ screenTarget: null,
11
+ screenName: null
12
+ };
13
+ },
14
+ computed: {
15
+ width: function() {
16
+ return this.parameters[3] ? `${this.parameters[3]}px` : "100%";
17
+ },
18
+ height: function() {
19
+ return this.parameters[4] ? `${this.parameters[4]}px` : "100%";
20
+ },
21
+ pointerStyle() {
22
+ return this.screenTarget && this.screenName ? {
23
+ cursor: "pointer"
24
+ } : {
25
+ cursor: "default"
26
+ };
27
+ }
28
+ },
29
+ created: function() {
30
+ this.appliedSettings.forEach((e) => {
31
+ e[0] === "SCREEN" && (this.screenTarget = e[1], this.screenName = e[2]);
32
+ }), this.parameters[0].startsWith("http") ? this.imageUrl = this.parameters[0] : this.getPresignedUrl(this.parameters[0]).then((e) => {
33
+ this.imageUrl = e;
34
+ });
35
+ },
36
+ methods: {
37
+ clickHandler() {
38
+ this.screenTarget && this.screenName && this.$emit("open", this.screenTarget, this.screenName);
39
+ }
40
+ }
41
+ }, p = ["href", "x", "y", "width", "height"];
42
+ function u(e, t, d, f, g, r) {
43
+ return e.imageUrl ? (m(), n("image", {
44
+ key: 0,
45
+ href: e.imageUrl,
46
+ x: e.parameters[1],
47
+ y: e.parameters[2],
48
+ width: r.width,
49
+ height: r.height,
50
+ style: l(r.pointerStyle),
51
+ onClick: t[0] || (t[0] = (...i) => r.clickHandler && r.clickHandler(...i))
52
+ }, null, 12, p)) : h("", !0);
53
+ }
54
+ const S = /* @__PURE__ */ c(o, [["render", u]]);
55
+ export {
56
+ S as default
57
+ };
58
+ //# sourceMappingURL=CanvasimageWidget-BPlj5QYK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasimageWidget-BPlj5QYK.js","sources":["../src/widgets/CanvasimageWidget.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <image\n v-if=\"imageUrl\"\n :href=\"imageUrl\"\n :x=\"parameters[1]\"\n :y=\"parameters[2]\"\n :width=\"width\"\n :height=\"height\"\n :style=\"pointerStyle\"\n @click=\"clickHandler\"\n />\n</template>\n\n<script>\nimport Widget from './Widget'\nimport ImageLoader from './ImageLoader'\n\nexport default {\n mixins: [Widget, ImageLoader],\n data: function () {\n return {\n imageUrl: null,\n screenTarget: null,\n screenName: null,\n }\n },\n computed: {\n width: function () {\n if (this.parameters[3]) {\n return `${this.parameters[3]}px`\n }\n return '100%'\n },\n height: function () {\n if (this.parameters[4]) {\n return `${this.parameters[4]}px`\n }\n return '100%'\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 // Look through the settings and get a reference to the screen\n this.appliedSettings.forEach((setting) => {\n if (setting[0] === 'SCREEN') {\n this.screenTarget = setting[1]\n this.screenName = setting[2]\n }\n })\n\n if (!this.parameters[0].startsWith('http')) {\n this.getPresignedUrl(this.parameters[0]).then((response) => {\n this.imageUrl = response\n })\n } else {\n this.imageUrl = this.parameters[0]\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","ImageLoader","setting","response","_hoisted_1","_ctx","_createElementBlock","$options","_normalizeStyle","args","_createCommentVNode"],"mappings":";;;;AAuCA,MAAKA,IAAU;AAAA,EACb,QAAQ,CAACC,GAAQC,CAAW;AAAA,EAC5B,MAAM,WAAY;AAChB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,cAAc;AAAA,MACd,YAAY;AAAA,IACd;AAAA,EACD;AAAA,EACD,UAAU;AAAA,IACR,OAAO,WAAY;AACjB,aAAI,KAAK,WAAW,CAAC,IACZ,GAAG,KAAK,WAAW,CAAC,CAAC,OAEvB;AAAA,IACR;AAAA,IACD,QAAQ,WAAY;AAClB,aAAI,KAAK,WAAW,CAAC,IACZ,GAAG,KAAK,WAAW,CAAC,CAAC,OAEvB;AAAA,IACR;AAAA,IACD,eAAe;AACb,aAAI,KAAK,gBAAgB,KAAK,aACrB;AAAA,QACL,QAAQ;AAAA,MACV,IAEO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IAEH;AAAA,EACF;AAAA,EACD,SAAS,WAAY;AAEnB,SAAK,gBAAgB,QAAQ,CAACC,MAAY;AACxC,MAAIA,EAAQ,CAAC,MAAM,aACjB,KAAK,eAAeA,EAAQ,CAAC,GAC7B,KAAK,aAAaA,EAAQ,CAAC;AAAA,IAE9B,CAAA,GAEI,KAAK,WAAW,CAAC,EAAE,WAAW,MAAM,IAKvC,KAAK,WAAW,KAAK,WAAW,CAAC,IAJjC,KAAK,gBAAgB,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAACC,MAAa;AAC1D,WAAK,WAAWA;AAAA,IACjB,CAAA;AAAA,EAIJ;AAAA,EACD,SAAS;AAAA,IACP,eAAe;AACb,MAAI,KAAK,gBAAgB,KAAK,cAC5B,KAAK,MAAM,QAAQ,KAAK,cAAc,KAAK,UAAU;AAAA,IAExD;AAAA,EACF;AACH,GAjGAC,IAAA,CAAA,QAAA,KAAA,KAAA,SAAA,QAAA;;SAwBUC,EAAQ,iBADhBC,EASE,SAAA;AAAA,IAhCJ,KAAA;AAAA,IAyBK,MAAMD,EAAQ;AAAA,IACd,GAAGA,EAAU,WAAA,CAAA;AAAA,IACb,GAAGA,EAAU,WAAA,CAAA;AAAA,IACb,OAAOE,EAAK;AAAA,IACZ,QAAQA,EAAM;AAAA,IACd,OA9BLC,EA8BYD,EAAY,YAAA;AAAA,IACnB,mCAAOA,EAAY,gBAAAA,EAAA,aAAA,GAAAE,CAAA;AAAA,EA/BxB,GAAA,MAAA,IAAAL,CAAA,KAAAM,EAAA,IAAA,EAAA;;;"}