@openc3/vue-common 6.10.5 → 6.10.6

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 (387) hide show
  1. package/dist/{ArrayWidget-CKVa2jS0.cjs → ArrayWidget-BLSdjJNz.cjs} +2 -2
  2. package/dist/{ArrayWidget-CKVa2jS0.cjs.map → ArrayWidget-BLSdjJNz.cjs.map} +1 -1
  3. package/dist/{ArrayWidget-CB1594s3.js → ArrayWidget-DuLt8EJf.js} +4 -4
  4. package/dist/{ArrayWidget-CB1594s3.js.map → ArrayWidget-DuLt8EJf.js.map} +1 -1
  5. package/dist/{ArrayplotWidget-BTIkHdc1.cjs → ArrayplotWidget-BMproxMR.cjs} +2 -2
  6. package/dist/{ArrayplotWidget-BTIkHdc1.cjs.map → ArrayplotWidget-BMproxMR.cjs.map} +1 -1
  7. package/dist/{ArrayplotWidget-BfauFgCc.js → ArrayplotWidget-Cd-gOSvk.js} +3 -3
  8. package/dist/{ArrayplotWidget-BfauFgCc.js.map → ArrayplotWidget-Cd-gOSvk.js.map} +1 -1
  9. package/dist/{BarColumn-3M4oLg_y.cjs → BarColumn-BLzB9nJI.cjs} +2 -2
  10. package/dist/{BarColumn-3M4oLg_y.cjs.map → BarColumn-BLzB9nJI.cjs.map} +1 -1
  11. package/dist/{BarColumn-BN5j9sPr.js → BarColumn-Dl9qcKah.js} +3 -3
  12. package/dist/{BarColumn-BN5j9sPr.js.map → BarColumn-Dl9qcKah.js.map} +1 -1
  13. package/dist/{BlockWidget-C9__-7CU.js → BlockWidget-DDV7KBvj.js} +4 -4
  14. package/dist/{BlockWidget-C9__-7CU.js.map → BlockWidget-DDV7KBvj.js.map} +1 -1
  15. package/dist/{BlockWidget-Ur9wX3Gb.cjs → BlockWidget-tsvy_QdR.cjs} +2 -2
  16. package/dist/{BlockWidget-Ur9wX3Gb.cjs.map → BlockWidget-tsvy_QdR.cjs.map} +1 -1
  17. package/dist/{ButtonWidget-Cn74AwrM.cjs → ButtonWidget-BOucJBe6.cjs} +2 -2
  18. package/dist/{ButtonWidget-Cn74AwrM.cjs.map → ButtonWidget-BOucJBe6.cjs.map} +1 -1
  19. package/dist/{ButtonWidget-CyixmRMa.js → ButtonWidget-DAiwgS-s.js} +4 -4
  20. package/dist/{ButtonWidget-CyixmRMa.js.map → ButtonWidget-DAiwgS-s.js.map} +1 -1
  21. package/dist/{CanvasWidget-BlM9VhEb.js → CanvasWidget-CBiHxOuV.js} +2 -2
  22. package/dist/{CanvasWidget-BlM9VhEb.js.map → CanvasWidget-CBiHxOuV.js.map} +1 -1
  23. package/dist/{CanvasWidget-B8iqIUJ_.cjs → CanvasWidget-DiECVC34.cjs} +2 -2
  24. package/dist/{CanvasWidget-B8iqIUJ_.cjs.map → CanvasWidget-DiECVC34.cjs.map} +1 -1
  25. package/dist/{CanvasdotWidget-DcoLJfNd.js → CanvasdotWidget-B_iTeu6J.js} +2 -2
  26. package/dist/{CanvasdotWidget-DcoLJfNd.js.map → CanvasdotWidget-B_iTeu6J.js.map} +1 -1
  27. package/dist/{CanvasdotWidget-CAXR5Ugc.cjs → CanvasdotWidget-BhIOCwWs.cjs} +2 -2
  28. package/dist/{CanvasdotWidget-CAXR5Ugc.cjs.map → CanvasdotWidget-BhIOCwWs.cjs.map} +1 -1
  29. package/dist/{CanvasimageWidget-BOa0--hu.js → CanvasimageWidget-DPME18WO.js} +3 -3
  30. package/dist/{CanvasimageWidget-BOa0--hu.js.map → CanvasimageWidget-DPME18WO.js.map} +1 -1
  31. package/dist/{CanvasimageWidget-DQW5IGWY.cjs → CanvasimageWidget-JyaV_zo0.cjs} +2 -2
  32. package/dist/{CanvasimageWidget-DQW5IGWY.cjs.map → CanvasimageWidget-JyaV_zo0.cjs.map} +1 -1
  33. package/dist/{CanvasimagevalueWidget-CAnfTNIH.js → CanvasimagevalueWidget-Cvjd5N_d.js} +3 -3
  34. package/dist/{CanvasimagevalueWidget-CAnfTNIH.js.map → CanvasimagevalueWidget-Cvjd5N_d.js.map} +1 -1
  35. package/dist/{CanvasimagevalueWidget-C8PAOXth.cjs → CanvasimagevalueWidget-YppD9bAM.cjs} +2 -2
  36. package/dist/{CanvasimagevalueWidget-C8PAOXth.cjs.map → CanvasimagevalueWidget-YppD9bAM.cjs.map} +1 -1
  37. package/dist/{CanvaslabelWidget-B_qS8Spc.cjs → CanvaslabelWidget-BurnvwNF.cjs} +2 -2
  38. package/dist/{CanvaslabelWidget-B_qS8Spc.cjs.map → CanvaslabelWidget-BurnvwNF.cjs.map} +1 -1
  39. package/dist/{CanvaslabelWidget-VhSU0ghh.js → CanvaslabelWidget-DV9TSYqo.js} +2 -2
  40. package/dist/{CanvaslabelWidget-VhSU0ghh.js.map → CanvaslabelWidget-DV9TSYqo.js.map} +1 -1
  41. package/dist/{CanvaslabelvalueWidget-BSEbDdBo.cjs → CanvaslabelvalueWidget-CXf4EBIq.cjs} +2 -2
  42. package/dist/{CanvaslabelvalueWidget-BSEbDdBo.cjs.map → CanvaslabelvalueWidget-CXf4EBIq.cjs.map} +1 -1
  43. package/dist/{CanvaslabelvalueWidget-DLoJuMEa.js → CanvaslabelvalueWidget-CZEuRFgE.js} +2 -2
  44. package/dist/{CanvaslabelvalueWidget-DLoJuMEa.js.map → CanvaslabelvalueWidget-CZEuRFgE.js.map} +1 -1
  45. package/dist/{CanvaslineWidget-evoYrcu3.cjs → CanvaslineWidget-7y1RriKp.cjs} +2 -2
  46. package/dist/{CanvaslineWidget-evoYrcu3.cjs.map → CanvaslineWidget-7y1RriKp.cjs.map} +1 -1
  47. package/dist/{CanvaslineWidget-COWhdPmg.js → CanvaslineWidget-DX3NwYIu.js} +2 -2
  48. package/dist/{CanvaslineWidget-COWhdPmg.js.map → CanvaslineWidget-DX3NwYIu.js.map} +1 -1
  49. package/dist/{CanvaslinevalueWidget-RhSLERSp.cjs → CanvaslinevalueWidget-W3GVUrRe.cjs} +2 -2
  50. package/dist/{CanvaslinevalueWidget-RhSLERSp.cjs.map → CanvaslinevalueWidget-W3GVUrRe.cjs.map} +1 -1
  51. package/dist/{CanvaslinevalueWidget-B2RUoEiO.js → CanvaslinevalueWidget-zT2i95O2.js} +2 -2
  52. package/dist/{CanvaslinevalueWidget-B2RUoEiO.js.map → CanvaslinevalueWidget-zT2i95O2.js.map} +1 -1
  53. package/dist/{CheckbuttonWidget-mMOQENwY.js → CheckbuttonWidget-D1Oq1A1Y.js} +2 -2
  54. package/dist/{CheckbuttonWidget-mMOQENwY.js.map → CheckbuttonWidget-D1Oq1A1Y.js.map} +1 -1
  55. package/dist/{CheckbuttonWidget-D2KHchsA.cjs → CheckbuttonWidget-DbjfhJJG.cjs} +2 -2
  56. package/dist/{CheckbuttonWidget-D2KHchsA.cjs.map → CheckbuttonWidget-DbjfhJJG.cjs.map} +1 -1
  57. package/dist/{ClassificationBanners-CKzacoSH.cjs → ClassificationBanners-HkU0WpTb.cjs} +2 -2
  58. package/dist/{ClassificationBanners-CKzacoSH.cjs.map → ClassificationBanners-HkU0WpTb.cjs.map} +1 -1
  59. package/dist/{ClassificationBanners-CnKda5CL.js → ClassificationBanners-htrLOcBR.js} +2 -2
  60. package/dist/{ClassificationBanners-CnKda5CL.js.map → ClassificationBanners-htrLOcBR.js.map} +1 -1
  61. package/dist/{ComboboxWidget-CuO75LNL.cjs → ComboboxWidget-C9xkCgtV.cjs} +2 -2
  62. package/dist/{ComboboxWidget-CuO75LNL.cjs.map → ComboboxWidget-C9xkCgtV.cjs.map} +1 -1
  63. package/dist/{ComboboxWidget-BGuSLu81.js → ComboboxWidget-CaOeC7ES.js} +2 -2
  64. package/dist/{ComboboxWidget-BGuSLu81.js.map → ComboboxWidget-CaOeC7ES.js.map} +1 -1
  65. package/dist/{CriticalCmdDialog-DqmsE7es.js → CriticalCmdDialog-Bpfv2I03.js} +2 -2
  66. package/dist/{CriticalCmdDialog-DqmsE7es.js.map → CriticalCmdDialog-Bpfv2I03.js.map} +1 -1
  67. package/dist/{CriticalCmdDialog-CW49WCHL.cjs → CriticalCmdDialog-Civ8H5RY.cjs} +2 -2
  68. package/dist/{CriticalCmdDialog-CW49WCHL.cjs.map → CriticalCmdDialog-Civ8H5RY.cjs.map} +1 -1
  69. package/dist/{DateWidget-DYTNL9Nt.js → DateWidget-DHegSO3F.js} +2 -2
  70. package/dist/{DateWidget-DYTNL9Nt.js.map → DateWidget-DHegSO3F.js.map} +1 -1
  71. package/dist/{DateWidget-CC63S2BH.cjs → DateWidget-Dbzn8FSm.cjs} +2 -2
  72. package/dist/{DateWidget-CC63S2BH.cjs.map → DateWidget-Dbzn8FSm.cjs.map} +1 -1
  73. package/dist/{DetailsDialog-Bnj0flUv.js → DetailsDialog-B9IRpYsU.js} +3 -3
  74. package/dist/{DetailsDialog-Bnj0flUv.js.map → DetailsDialog-B9IRpYsU.js.map} +1 -1
  75. package/dist/{DetailsDialog-DW8hRSS6.cjs → DetailsDialog-CsJHiTI3.cjs} +2 -2
  76. package/dist/{DetailsDialog-DW8hRSS6.cjs.map → DetailsDialog-CsJHiTI3.cjs.map} +1 -1
  77. package/dist/{EventListDialog-CXiEoYXY.cjs → EventListDialog-B1jwt-28.cjs} +2 -2
  78. package/dist/{EventListDialog-CXiEoYXY.cjs.map → EventListDialog-B1jwt-28.cjs.map} +1 -1
  79. package/dist/{EventListDialog-BV9m-oEq.js → EventListDialog-C3acqjWI.js} +4 -4
  80. package/dist/{EventListDialog-BV9m-oEq.js.map → EventListDialog-C3acqjWI.js.map} +1 -1
  81. package/dist/{FilechecksumWidget-CCD4OHUJ.cjs → FilechecksumWidget-BC_GBgVt.cjs} +2 -2
  82. package/dist/{FilechecksumWidget-CCD4OHUJ.cjs.map → FilechecksumWidget-BC_GBgVt.cjs.map} +1 -1
  83. package/dist/{FilechecksumWidget-Cxu-88vM.js → FilechecksumWidget-BlZ_YlAn.js} +3 -3
  84. package/dist/{FilechecksumWidget-Cxu-88vM.js.map → FilechecksumWidget-BlZ_YlAn.js.map} +1 -1
  85. package/dist/{FiledisplayWidget-BNCoMpUN.cjs → FiledisplayWidget-B9YTU5-X.cjs} +2 -2
  86. package/dist/{FiledisplayWidget-BNCoMpUN.cjs.map → FiledisplayWidget-B9YTU5-X.cjs.map} +1 -1
  87. package/dist/{FiledisplayWidget-UimFPng3.js → FiledisplayWidget-TJ2RL43-.js} +3 -3
  88. package/dist/{FiledisplayWidget-UimFPng3.js.map → FiledisplayWidget-TJ2RL43-.js.map} +1 -1
  89. package/dist/{FormatvalueWidget-Ct3waryv.js → FormatvalueWidget-0S6n-WEr.js} +3 -3
  90. package/dist/{FormatvalueWidget-Ct3waryv.js.map → FormatvalueWidget-0S6n-WEr.js.map} +1 -1
  91. package/dist/{FormatvalueWidget-kOhazTdt.cjs → FormatvalueWidget-Cckikrms.cjs} +2 -2
  92. package/dist/{FormatvalueWidget-kOhazTdt.cjs.map → FormatvalueWidget-Cckikrms.cjs.map} +1 -1
  93. package/dist/{Graph-Dy2y26su.js → Graph-CXuxaEKD.js} +10 -6
  94. package/dist/Graph-CXuxaEKD.js.map +1 -0
  95. package/dist/Graph-Du90yHUZ.cjs +2 -0
  96. package/dist/Graph-Du90yHUZ.cjs.map +1 -0
  97. package/dist/{GraphWidget-CuG4jeoM.js → GraphWidget-CGjfTMGG.js} +2 -2
  98. package/dist/{GraphWidget-CuG4jeoM.js.map → GraphWidget-CGjfTMGG.js.map} +1 -1
  99. package/dist/{GraphWidget-BuLKrARk.cjs → GraphWidget-DT8M_V6q.cjs} +2 -2
  100. package/dist/{GraphWidget-BuLKrARk.cjs.map → GraphWidget-DT8M_V6q.cjs.map} +1 -1
  101. package/dist/{HorizontalWidget-C1K91iwc.js → HorizontalWidget-Crp4JtGX.js} +2 -2
  102. package/dist/{HorizontalWidget-C1K91iwc.js.map → HorizontalWidget-Crp4JtGX.js.map} +1 -1
  103. package/dist/{HorizontalWidget-Cg736bCD.cjs → HorizontalWidget-nZbc213j.cjs} +2 -2
  104. package/dist/{HorizontalWidget-Cg736bCD.cjs.map → HorizontalWidget-nZbc213j.cjs.map} +1 -1
  105. package/dist/{HorizontalboxWidget-Bx1ISrig.cjs → HorizontalboxWidget-DIwL3yc_.cjs} +2 -2
  106. package/dist/{HorizontalboxWidget-Bx1ISrig.cjs.map → HorizontalboxWidget-DIwL3yc_.cjs.map} +1 -1
  107. package/dist/{HorizontalboxWidget-Db8knddI.js → HorizontalboxWidget-DlM7Hoxy.js} +5 -5
  108. package/dist/{HorizontalboxWidget-Db8knddI.js.map → HorizontalboxWidget-DlM7Hoxy.js.map} +1 -1
  109. package/dist/{HorizontallineWidget-JtdiNy0r.js → HorizontallineWidget-HCZU5Dm-.js} +2 -2
  110. package/dist/{HorizontallineWidget-JtdiNy0r.js.map → HorizontallineWidget-HCZU5Dm-.js.map} +1 -1
  111. package/dist/{HorizontallineWidget-BRrshiSM.cjs → HorizontallineWidget-Q0F2UhZ7.cjs} +2 -2
  112. package/dist/{HorizontallineWidget-BRrshiSM.cjs.map → HorizontallineWidget-Q0F2UhZ7.cjs.map} +1 -1
  113. package/dist/{IframeWidget-CTwNNY_Y.cjs → IframeWidget-CRf6VJjw.cjs} +2 -2
  114. package/dist/{IframeWidget-CTwNNY_Y.cjs.map → IframeWidget-CRf6VJjw.cjs.map} +1 -1
  115. package/dist/{IframeWidget-BIlFhl5W.js → IframeWidget-D3Mqvq2p.js} +2 -2
  116. package/dist/{IframeWidget-BIlFhl5W.js.map → IframeWidget-D3Mqvq2p.js.map} +1 -1
  117. package/dist/{ImageLoader-maE53iG0.cjs → ImageLoader-B2HT3zXB.cjs} +2 -2
  118. package/dist/{ImageLoader-maE53iG0.cjs.map → ImageLoader-B2HT3zXB.cjs.map} +1 -1
  119. package/dist/{ImageLoader-Wgn0HO-B.js → ImageLoader-BbPJF9nD.js} +2 -2
  120. package/dist/{ImageLoader-Wgn0HO-B.js.map → ImageLoader-BbPJF9nD.js.map} +1 -1
  121. package/dist/{ImageviewerWidget-CsoNQsVN.js → ImageviewerWidget-Bc8A3xX7.js} +2 -2
  122. package/dist/{ImageviewerWidget-CsoNQsVN.js.map → ImageviewerWidget-Bc8A3xX7.js.map} +1 -1
  123. package/dist/{ImageviewerWidget-CNYu5y1M.cjs → ImageviewerWidget-DnRQKTas.cjs} +2 -2
  124. package/dist/{ImageviewerWidget-CNYu5y1M.cjs.map → ImageviewerWidget-DnRQKTas.cjs.map} +1 -1
  125. package/dist/{InterfacesTab-D1d6fYPx.js → InterfacesTab-BrLlsu3d.js} +3 -3
  126. package/dist/{InterfacesTab-D1d6fYPx.js.map → InterfacesTab-BrLlsu3d.js.map} +1 -1
  127. package/dist/{InterfacesTab-DN4Bx0jX.cjs → InterfacesTab-DE3eUJDd.cjs} +2 -2
  128. package/dist/{InterfacesTab-DN4Bx0jX.cjs.map → InterfacesTab-DE3eUJDd.cjs.map} +1 -1
  129. package/dist/{LabelWidget-Ba4f7v6-.js → LabelWidget-BV6758n5.js} +2 -2
  130. package/dist/{LabelWidget-Ba4f7v6-.js.map → LabelWidget-BV6758n5.js.map} +1 -1
  131. package/dist/{LabelWidget-Mot3JRMt.cjs → LabelWidget-C2iJw-f3.cjs} +2 -2
  132. package/dist/{LabelWidget-Mot3JRMt.cjs.map → LabelWidget-C2iJw-f3.cjs.map} +1 -1
  133. package/dist/{LabelledWidget-Cy_kY9Dr.js → LabelledWidget-Dk7399HX.js} +4 -4
  134. package/dist/{LabelledWidget-Cy_kY9Dr.js.map → LabelledWidget-Dk7399HX.js.map} +1 -1
  135. package/dist/{LabelledWidget-BUM4VRKk.cjs → LabelledWidget-DzVtmRSk.cjs} +2 -2
  136. package/dist/{LabelledWidget-BUM4VRKk.cjs.map → LabelledWidget-DzVtmRSk.cjs.map} +1 -1
  137. package/dist/{LabelprogressbarWidget-B7m4u1_T.js → LabelprogressbarWidget-B9ZQxLEG.js} +4 -4
  138. package/dist/{LabelprogressbarWidget-B7m4u1_T.js.map → LabelprogressbarWidget-B9ZQxLEG.js.map} +1 -1
  139. package/dist/{LabelprogressbarWidget-Ddv8wOiy.cjs → LabelprogressbarWidget-Bbj0GqOS.cjs} +2 -2
  140. package/dist/{LabelprogressbarWidget-Ddv8wOiy.cjs.map → LabelprogressbarWidget-Bbj0GqOS.cjs.map} +1 -1
  141. package/dist/{LabelsparklineWidget-CAwxzcl1.js → LabelsparklineWidget-CwFa7EJr.js} +4 -4
  142. package/dist/{LabelsparklineWidget-CAwxzcl1.js.map → LabelsparklineWidget-CwFa7EJr.js.map} +1 -1
  143. package/dist/{LabelsparklineWidget-BdPL_Qy6.cjs → LabelsparklineWidget-GIhUx8we.cjs} +2 -2
  144. package/dist/{LabelsparklineWidget-BdPL_Qy6.cjs.map → LabelsparklineWidget-GIhUx8we.cjs.map} +1 -1
  145. package/dist/{LabelvalueWidget-dJ_MMnTe.cjs → LabelvalueWidget-B-THrkfJ.cjs} +2 -2
  146. package/dist/{LabelvalueWidget-dJ_MMnTe.cjs.map → LabelvalueWidget-B-THrkfJ.cjs.map} +1 -1
  147. package/dist/{LabelvalueWidget-DfkCk32l.js → LabelvalueWidget-DcOqiZea.js} +4 -4
  148. package/dist/{LabelvalueWidget-DfkCk32l.js.map → LabelvalueWidget-DcOqiZea.js.map} +1 -1
  149. package/dist/{LabelvaluedescWidget-B1uUJbqG.cjs → LabelvaluedescWidget-CeOIs05W.cjs} +2 -2
  150. package/dist/{LabelvaluedescWidget-B1uUJbqG.cjs.map → LabelvaluedescWidget-CeOIs05W.cjs.map} +1 -1
  151. package/dist/{LabelvaluedescWidget-Dmff-Qnm.js → LabelvaluedescWidget-bzML7aS7.js} +5 -5
  152. package/dist/{LabelvaluedescWidget-Dmff-Qnm.js.map → LabelvaluedescWidget-bzML7aS7.js.map} +1 -1
  153. package/dist/{LabelvaluelimitsbarWidget-CBORsu08.cjs → LabelvaluelimitsbarWidget-DxMmYKHP.cjs} +2 -2
  154. package/dist/{LabelvaluelimitsbarWidget-CBORsu08.cjs.map → LabelvaluelimitsbarWidget-DxMmYKHP.cjs.map} +1 -1
  155. package/dist/{LabelvaluelimitsbarWidget-QEB4zfXJ.js → LabelvaluelimitsbarWidget-GCgFxc-I.js} +4 -4
  156. package/dist/{LabelvaluelimitsbarWidget-QEB4zfXJ.js.map → LabelvaluelimitsbarWidget-GCgFxc-I.js.map} +1 -1
  157. package/dist/{LabelvaluelimitscolumnWidget-xsju-uwF.cjs → LabelvaluelimitscolumnWidget-BTphsvo2.cjs} +2 -2
  158. package/dist/{LabelvaluelimitscolumnWidget-xsju-uwF.cjs.map → LabelvaluelimitscolumnWidget-BTphsvo2.cjs.map} +1 -1
  159. package/dist/{LabelvaluelimitscolumnWidget-DxEW7ft1.js → LabelvaluelimitscolumnWidget-DuRuNm4g.js} +5 -5
  160. package/dist/{LabelvaluelimitscolumnWidget-DxEW7ft1.js.map → LabelvaluelimitscolumnWidget-DuRuNm4g.js.map} +1 -1
  161. package/dist/{LabelvaluerangebarWidget-Dc_4Eh2P.js → LabelvaluerangebarWidget-C32gfNLA.js} +4 -4
  162. package/dist/{LabelvaluerangebarWidget-Dc_4Eh2P.js.map → LabelvaluerangebarWidget-C32gfNLA.js.map} +1 -1
  163. package/dist/{LabelvaluerangebarWidget-BxKS0aXY.cjs → LabelvaluerangebarWidget-D66_K_nl.cjs} +2 -2
  164. package/dist/{LabelvaluerangebarWidget-BxKS0aXY.cjs.map → LabelvaluerangebarWidget-D66_K_nl.cjs.map} +1 -1
  165. package/dist/{Layout-VFnL3qx_.js → Layout-CYQt4P78.js} +2 -2
  166. package/dist/{Layout-VFnL3qx_.js.map → Layout-CYQt4P78.js.map} +1 -1
  167. package/dist/{Layout-CevW0J6c.cjs → Layout-D_xqJarz.cjs} +2 -2
  168. package/dist/{Layout-CevW0J6c.cjs.map → Layout-D_xqJarz.cjs.map} +1 -1
  169. package/dist/{LedWidget-D_mYilLS.cjs → LedWidget-DQDy7HkU.cjs} +2 -2
  170. package/dist/{LedWidget-D_mYilLS.cjs.map → LedWidget-DQDy7HkU.cjs.map} +1 -1
  171. package/dist/{LedWidget-BbBMEqh6.js → LedWidget-DcN4UWc9.js} +4 -4
  172. package/dist/{LedWidget-BbBMEqh6.js.map → LedWidget-DcN4UWc9.js.map} +1 -1
  173. package/dist/{LimitsBar-Cfi6zz4T.cjs → LimitsBar-B1P8gnfK.cjs} +2 -2
  174. package/dist/{LimitsBar-Cfi6zz4T.cjs.map → LimitsBar-B1P8gnfK.cjs.map} +1 -1
  175. package/dist/{LimitsBar-CRNf8kCM.js → LimitsBar-CewifD-8.js} +2 -2
  176. package/dist/{LimitsBar-CRNf8kCM.js.map → LimitsBar-CewifD-8.js.map} +1 -1
  177. package/dist/{LimitsbarWidget-Bw_M1QY6.cjs → LimitsbarWidget-DXTfZFKF.cjs} +2 -2
  178. package/dist/{LimitsbarWidget-Bw_M1QY6.cjs.map → LimitsbarWidget-DXTfZFKF.cjs.map} +1 -1
  179. package/dist/{LimitsbarWidget-BID8h8Fz.js → LimitsbarWidget-Dy-IqgZj.js} +3 -3
  180. package/dist/{LimitsbarWidget-BID8h8Fz.js.map → LimitsbarWidget-Dy-IqgZj.js.map} +1 -1
  181. package/dist/{LimitscolorWidget-Bm660cL9.js → LimitscolorWidget-2eLprLL7.js} +2 -2
  182. package/dist/{LimitscolorWidget-Bm660cL9.js.map → LimitscolorWidget-2eLprLL7.js.map} +1 -1
  183. package/dist/{LimitscolorWidget-CuiubDPH.cjs → LimitscolorWidget-C0f7Qud4.cjs} +2 -2
  184. package/dist/{LimitscolorWidget-CuiubDPH.cjs.map → LimitscolorWidget-C0f7Qud4.cjs.map} +1 -1
  185. package/dist/{LimitscolumnWidget-C_jzHXdC.js → LimitscolumnWidget-DlPcKW-r.js} +2 -2
  186. package/dist/{LimitscolumnWidget-C_jzHXdC.js.map → LimitscolumnWidget-DlPcKW-r.js.map} +1 -1
  187. package/dist/{LimitscolumnWidget-BuwnurP3.cjs → LimitscolumnWidget-DxaM5RDH.cjs} +2 -2
  188. package/dist/{LimitscolumnWidget-BuwnurP3.cjs.map → LimitscolumnWidget-DxaM5RDH.cjs.map} +1 -1
  189. package/dist/{LinegraphWidget-Cgd3gSk8.cjs → LinegraphWidget-8TvRUoqu.cjs} +2 -2
  190. package/dist/{LinegraphWidget-Cgd3gSk8.cjs.map → LinegraphWidget-8TvRUoqu.cjs.map} +1 -1
  191. package/dist/{LinegraphWidget-Pte5LxmO.js → LinegraphWidget-BFXYdx0Q.js} +4 -4
  192. package/dist/{LinegraphWidget-Pte5LxmO.js.map → LinegraphWidget-BFXYdx0Q.js.map} +1 -1
  193. package/dist/{MatrixbycolumnsWidget-j-3LkoxS.js → MatrixbycolumnsWidget-BvbEs_NU.js} +3 -3
  194. package/dist/{MatrixbycolumnsWidget-j-3LkoxS.js.map → MatrixbycolumnsWidget-BvbEs_NU.js.map} +1 -1
  195. package/dist/{MatrixbycolumnsWidget-tRuEujha.cjs → MatrixbycolumnsWidget-k0GfBzu8.cjs} +2 -2
  196. package/dist/{MatrixbycolumnsWidget-tRuEujha.cjs.map → MatrixbycolumnsWidget-k0GfBzu8.cjs.map} +1 -1
  197. package/dist/{MicroservicesTab-BhbOC0nm.cjs → MicroservicesTab-B8gVZ9wr.cjs} +2 -2
  198. package/dist/{MicroservicesTab-BhbOC0nm.cjs.map → MicroservicesTab-B8gVZ9wr.cjs.map} +1 -1
  199. package/dist/{MicroservicesTab-BFNyiTuf.js → MicroservicesTab-C8XPgBnj.js} +3 -3
  200. package/dist/{MicroservicesTab-BFNyiTuf.js.map → MicroservicesTab-C8XPgBnj.js.map} +1 -1
  201. package/dist/{OpenC3TimePicker-C9CBFp3d.js → OpenC3TimePicker-CFSMcJ1F.js} +60 -46
  202. package/dist/OpenC3TimePicker-CFSMcJ1F.js.map +1 -0
  203. package/dist/OpenC3TimePicker-DM8EnTy5.cjs +2 -0
  204. package/dist/OpenC3TimePicker-DM8EnTy5.cjs.map +1 -0
  205. package/dist/{Openc3Screen-BxuqrFPG.js → Openc3Screen-DG98sMaI.js} +4 -3
  206. package/dist/Openc3Screen-DG98sMaI.js.map +1 -0
  207. package/dist/{Openc3Screen-DuzCiS5h.cjs → Openc3Screen-MVNRGjbs.cjs} +3 -3
  208. package/dist/Openc3Screen-MVNRGjbs.cjs.map +1 -0
  209. package/dist/{OutputDialog-Dk3S2--J.js → OutputDialog-8nKOJUMU.js} +2 -2
  210. package/dist/{OutputDialog-Dk3S2--J.js.map → OutputDialog-8nKOJUMU.js.map} +1 -1
  211. package/dist/{OutputDialog-C__OuTUo.cjs → OutputDialog-BHDdBPLX.cjs} +2 -2
  212. package/dist/{OutputDialog-C__OuTUo.cjs.map → OutputDialog-BHDdBPLX.cjs.map} +1 -1
  213. package/dist/{PackagesTab-2UMA9TLY.js → PackagesTab-CAa7ZnYV.js} +3 -3
  214. package/dist/{PackagesTab-2UMA9TLY.js.map → PackagesTab-CAa7ZnYV.js.map} +1 -1
  215. package/dist/{PackagesTab-Ba4vRiFU.cjs → PackagesTab-CvJayoC1.cjs} +2 -2
  216. package/dist/{PackagesTab-Ba4vRiFU.cjs.map → PackagesTab-CvJayoC1.cjs.map} +1 -1
  217. package/dist/{PluginsTab-BSm5NCBn.cjs → PluginsTab-CDopyCAG.cjs} +2 -2
  218. package/dist/{PluginsTab-BSm5NCBn.cjs.map → PluginsTab-CDopyCAG.cjs.map} +1 -1
  219. package/dist/{PluginsTab-CS8RLv56.js → PluginsTab-Dqe3QG7v.js} +4 -4
  220. package/dist/{PluginsTab-CS8RLv56.js.map → PluginsTab-Dqe3QG7v.js.map} +1 -1
  221. package/dist/{ProgressbarWidget-D3jeqQZi.cjs → ProgressbarWidget-CAtBs6-s.cjs} +2 -2
  222. package/dist/{ProgressbarWidget-D3jeqQZi.cjs.map → ProgressbarWidget-CAtBs6-s.cjs.map} +1 -1
  223. package/dist/{ProgressbarWidget-DB4g3d3i.js → ProgressbarWidget-CYQzHmXv.js} +2 -2
  224. package/dist/{ProgressbarWidget-DB4g3d3i.js.map → ProgressbarWidget-CYQzHmXv.js.map} +1 -1
  225. package/dist/{RadiobuttonWidget-CbLLNEeT.js → RadiobuttonWidget-JJC2cnc7.js} +2 -2
  226. package/dist/{RadiobuttonWidget-CbLLNEeT.js.map → RadiobuttonWidget-JJC2cnc7.js.map} +1 -1
  227. package/dist/{RadiobuttonWidget-DpzokVRc.cjs → RadiobuttonWidget-OsLLONa3.cjs} +2 -2
  228. package/dist/{RadiobuttonWidget-DpzokVRc.cjs.map → RadiobuttonWidget-OsLLONa3.cjs.map} +1 -1
  229. package/dist/{RadiogroupWidget-DdTKUKGT.js → RadiogroupWidget-B-b7D4f4.js} +2 -2
  230. package/dist/{RadiogroupWidget-DdTKUKGT.js.map → RadiogroupWidget-B-b7D4f4.js.map} +1 -1
  231. package/dist/{RadiogroupWidget-C8M7BvLR.cjs → RadiogroupWidget-C1gQYVgm.cjs} +2 -2
  232. package/dist/{RadiogroupWidget-C8M7BvLR.cjs.map → RadiogroupWidget-C1gQYVgm.cjs.map} +1 -1
  233. package/dist/{RangebarWidget-YWSjQavR.cjs → RangebarWidget-BfF7PvI6.cjs} +2 -2
  234. package/dist/{RangebarWidget-YWSjQavR.cjs.map → RangebarWidget-BfF7PvI6.cjs.map} +1 -1
  235. package/dist/{RangebarWidget-DvegNZg3.js → RangebarWidget-nD6qbLmB.js} +2 -2
  236. package/dist/{RangebarWidget-DvegNZg3.js.map → RangebarWidget-nD6qbLmB.js.map} +1 -1
  237. package/dist/{RedisTab-Bs8368J6.cjs → RedisTab-BdXEE0MY.cjs} +2 -2
  238. package/dist/{RedisTab-Bs8368J6.cjs.map → RedisTab-BdXEE0MY.cjs.map} +1 -1
  239. package/dist/{RedisTab-C2dYwa7Q.js → RedisTab-DCV2ZWhh.js} +2 -2
  240. package/dist/{RedisTab-C2dYwa7Q.js.map → RedisTab-DCV2ZWhh.js.map} +1 -1
  241. package/dist/{RollupWidget-jZjZhJpb.cjs → RollupWidget-AdgwMuAF.cjs} +2 -2
  242. package/dist/{RollupWidget-jZjZhJpb.cjs.map → RollupWidget-AdgwMuAF.cjs.map} +1 -1
  243. package/dist/{RollupWidget-BfDjRI_8.js → RollupWidget-D80cEXSI.js} +2 -2
  244. package/dist/{RollupWidget-BfDjRI_8.js.map → RollupWidget-D80cEXSI.js.map} +1 -1
  245. package/dist/{RoutersTab-BDKIQfPD.js → RoutersTab-4hmbIlHw.js} +3 -3
  246. package/dist/{RoutersTab-BDKIQfPD.js.map → RoutersTab-4hmbIlHw.js.map} +1 -1
  247. package/dist/{RoutersTab-DtHCBbXB.cjs → RoutersTab-B7MPNa6g.cjs} +2 -2
  248. package/dist/{RoutersTab-DtHCBbXB.cjs.map → RoutersTab-B7MPNa6g.cjs.map} +1 -1
  249. package/dist/{ScriptChooser-QTzU0krS.cjs → ScriptChooser-CcU08Gfu.cjs} +2 -2
  250. package/dist/{ScriptChooser-QTzU0krS.cjs.map → ScriptChooser-CcU08Gfu.cjs.map} +1 -1
  251. package/dist/{ScriptChooser-D12U4b0f.js → ScriptChooser-DeAgLzpG.js} +4 -4
  252. package/dist/{ScriptChooser-D12U4b0f.js.map → ScriptChooser-DeAgLzpG.js.map} +1 -1
  253. package/dist/{ScrollwindowWidget-BQU2wUnY.cjs → ScrollwindowWidget-CWxbtwVI.cjs} +2 -2
  254. package/dist/{ScrollwindowWidget-BQU2wUnY.cjs.map → ScrollwindowWidget-CWxbtwVI.cjs.map} +1 -1
  255. package/dist/{ScrollwindowWidget-BdRjQVVF.js → ScrollwindowWidget-Cun3Vh6z.js} +2 -2
  256. package/dist/{ScrollwindowWidget-BdRjQVVF.js.map → ScrollwindowWidget-Cun3Vh6z.js.map} +1 -1
  257. package/dist/{SecretsTab-9350W-Wd.js → SecretsTab-BjkkkzJa.js} +2 -2
  258. package/dist/{SecretsTab-9350W-Wd.js.map → SecretsTab-BjkkkzJa.js.map} +1 -1
  259. package/dist/{SecretsTab-CoEChNXs.cjs → SecretsTab-ms4xbsap.cjs} +2 -2
  260. package/dist/{SecretsTab-CoEChNXs.cjs.map → SecretsTab-ms4xbsap.cjs.map} +1 -1
  261. package/dist/{SettingsTab-CPk_hNJp.js → SettingsTab-3wbEzcjJ.js} +482 -428
  262. package/dist/SettingsTab-3wbEzcjJ.js.map +1 -0
  263. package/dist/SettingsTab-to-vPAkD.cjs +6 -0
  264. package/dist/SettingsTab-to-vPAkD.cjs.map +1 -0
  265. package/dist/{SignalWidget-BPiNqq8R.js → SignalWidget-CYsoFQEA.js} +2 -2
  266. package/dist/{SignalWidget-BPiNqq8R.js.map → SignalWidget-CYsoFQEA.js.map} +1 -1
  267. package/dist/{SignalWidget-w0jzLGVV.cjs → SignalWidget-lanCUNlJ.cjs} +2 -2
  268. package/dist/{SignalWidget-w0jzLGVV.cjs.map → SignalWidget-lanCUNlJ.cjs.map} +1 -1
  269. package/dist/{SimpleTextDialog-3uasUaXN.js → SimpleTextDialog-BcQPD1Ea.js} +2 -2
  270. package/dist/{SimpleTextDialog-3uasUaXN.js.map → SimpleTextDialog-BcQPD1Ea.js.map} +1 -1
  271. package/dist/{SimpleTextDialog-BpyUPxqT.cjs → SimpleTextDialog-nBmlZMaP.cjs} +2 -2
  272. package/dist/{SimpleTextDialog-BpyUPxqT.cjs.map → SimpleTextDialog-nBmlZMaP.cjs.map} +1 -1
  273. package/dist/{SpacerWidget-CZGtLi7D.js → SpacerWidget-CrheUKPo.js} +2 -2
  274. package/dist/{SpacerWidget-CZGtLi7D.js.map → SpacerWidget-CrheUKPo.js.map} +1 -1
  275. package/dist/{SpacerWidget-D9BpT5w5.cjs → SpacerWidget-CzPwKWA8.cjs} +2 -2
  276. package/dist/{SpacerWidget-D9BpT5w5.cjs.map → SpacerWidget-CzPwKWA8.cjs.map} +1 -1
  277. package/dist/{SparklineWidget-CjjqaZtm.js → SparklineWidget-BxBx5KIx.js} +4 -4
  278. package/dist/{SparklineWidget-CjjqaZtm.js.map → SparklineWidget-BxBx5KIx.js.map} +1 -1
  279. package/dist/{SparklineWidget-DXYD2dKC.cjs → SparklineWidget-DRixjXXr.cjs} +2 -2
  280. package/dist/{SparklineWidget-DXYD2dKC.cjs.map → SparklineWidget-DRixjXXr.cjs.map} +1 -1
  281. package/dist/{TabbookWidget-Dy8N2hq1.js → TabbookWidget-Bznl4HVt.js} +2 -2
  282. package/dist/{TabbookWidget-Dy8N2hq1.js.map → TabbookWidget-Bznl4HVt.js.map} +1 -1
  283. package/dist/{TabbookWidget-DnCX6_eY.cjs → TabbookWidget-DgNTKIjr.cjs} +2 -2
  284. package/dist/{TabbookWidget-DnCX6_eY.cjs.map → TabbookWidget-DgNTKIjr.cjs.map} +1 -1
  285. package/dist/{TargetPacketItemChooser-B3riNx-5.cjs → TargetPacketItemChooser-CW91CLJq.cjs} +2 -2
  286. package/dist/{TargetPacketItemChooser-B3riNx-5.cjs.map → TargetPacketItemChooser-CW91CLJq.cjs.map} +1 -1
  287. package/dist/{TargetPacketItemChooser--rzU8ThE.js → TargetPacketItemChooser-UsuVtlF-.js} +2 -2
  288. package/dist/{TargetPacketItemChooser--rzU8ThE.js.map → TargetPacketItemChooser-UsuVtlF-.js.map} +1 -1
  289. package/dist/{TargetsTab-Dqvu7l_c.cjs → TargetsTab-BwzGasJJ.cjs} +2 -2
  290. package/dist/{TargetsTab-Dqvu7l_c.cjs.map → TargetsTab-BwzGasJJ.cjs.map} +1 -1
  291. package/dist/{TargetsTab-DJBCaflz.js → TargetsTab-D2BGCJ0P.js} +3 -3
  292. package/dist/{TargetsTab-DJBCaflz.js.map → TargetsTab-D2BGCJ0P.js.map} +1 -1
  293. package/dist/{TextboxWidget-DHHcXTpa.cjs → TextboxWidget-B_oY4yDR.cjs} +2 -2
  294. package/dist/{TextboxWidget-DHHcXTpa.cjs.map → TextboxWidget-B_oY4yDR.cjs.map} +1 -1
  295. package/dist/{TextboxWidget-BSQPOr-R.js → TextboxWidget-CCjkSFMU.js} +4 -4
  296. package/dist/{TextboxWidget-BSQPOr-R.js.map → TextboxWidget-CCjkSFMU.js.map} +1 -1
  297. package/dist/{TextfieldWidget-BbNHrjZB.cjs → TextfieldWidget-Ct5E638-.cjs} +2 -2
  298. package/dist/{TextfieldWidget-BbNHrjZB.cjs.map → TextfieldWidget-Ct5E638-.cjs.map} +1 -1
  299. package/dist/{TextfieldWidget-CTGnjpuY.js → TextfieldWidget-D6vtrFO9.js} +2 -2
  300. package/dist/{TextfieldWidget-CTGnjpuY.js.map → TextfieldWidget-D6vtrFO9.js.map} +1 -1
  301. package/dist/{TimeWidget-B4qqIUWu.js → TimeWidget-Bq_m9VEj.js} +3 -3
  302. package/dist/{TimeWidget-B4qqIUWu.js.map → TimeWidget-Bq_m9VEj.js.map} +1 -1
  303. package/dist/{TimeWidget-BhyYijAr.cjs → TimeWidget-ByQV-v0H.cjs} +2 -2
  304. package/dist/{TimeWidget-BhyYijAr.cjs.map → TimeWidget-ByQV-v0H.cjs.map} +1 -1
  305. package/dist/{TitleWidget-OwWpy1Jl.js → TitleWidget-CGKBIIjU.js} +2 -2
  306. package/dist/{TitleWidget-OwWpy1Jl.js.map → TitleWidget-CGKBIIjU.js.map} +1 -1
  307. package/dist/{TitleWidget-Dagdh8DQ.cjs → TitleWidget-CfkxN1VW.cjs} +2 -2
  308. package/dist/{TitleWidget-Dagdh8DQ.cjs.map → TitleWidget-CfkxN1VW.cjs.map} +1 -1
  309. package/dist/{ToolsTab-BddBK1tK.js → ToolsTab-B9oDk5JF.js} +3 -3
  310. package/dist/{ToolsTab-BddBK1tK.js.map → ToolsTab-B9oDk5JF.js.map} +1 -1
  311. package/dist/{ToolsTab-BxrYmpF4.cjs → ToolsTab-DUDJjlYF.cjs} +2 -2
  312. package/dist/{ToolsTab-BxrYmpF4.cjs.map → ToolsTab-DUDJjlYF.cjs.map} +1 -1
  313. package/dist/{TopBar-D6zYf4Ed.cjs → TopBar-BjOuytzL.cjs} +2 -2
  314. package/dist/{TopBar-D6zYf4Ed.cjs.map → TopBar-BjOuytzL.cjs.map} +1 -1
  315. package/dist/{TopBar-DcfK2Z2G.js → TopBar-Cp-eD08M.js} +2 -2
  316. package/dist/{TopBar-DcfK2Z2G.js.map → TopBar-Cp-eD08M.js.map} +1 -1
  317. package/dist/{UpgradeToEnterpriseDialog-DHOqnrRc.cjs → UpgradeToEnterpriseDialog-qZRe19Fu.cjs} +2 -2
  318. package/dist/{UpgradeToEnterpriseDialog-DHOqnrRc.cjs.map → UpgradeToEnterpriseDialog-qZRe19Fu.cjs.map} +1 -1
  319. package/dist/{UpgradeToEnterpriseDialog-Cj0L60bW.js → UpgradeToEnterpriseDialog-vJ0OQVxn.js} +2 -2
  320. package/dist/{UpgradeToEnterpriseDialog-Cj0L60bW.js.map → UpgradeToEnterpriseDialog-vJ0OQVxn.js.map} +1 -1
  321. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs} +2 -2
  322. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs.map} +1 -1
  323. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js} +2 -2
  324. package/dist/{UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js.map → UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js.map} +1 -1
  325. package/dist/{VWidget-B8DTwMbX.js → VWidget-DaN-EoJP.js} +3 -3
  326. package/dist/{VWidget-B8DTwMbX.js.map → VWidget-DaN-EoJP.js.map} +1 -1
  327. package/dist/{VWidget-od6gU6UT.cjs → VWidget-ZNfIJ3jY.cjs} +2 -2
  328. package/dist/{VWidget-od6gU6UT.cjs.map → VWidget-ZNfIJ3jY.cjs.map} +1 -1
  329. package/dist/{ValueWidget-9DW9QZ_F.cjs → ValueWidget-13BmCi-I.cjs} +2 -2
  330. package/dist/{ValueWidget-9DW9QZ_F.cjs.map → ValueWidget-13BmCi-I.cjs.map} +1 -1
  331. package/dist/{ValueWidget-CD-gsoJa.js → ValueWidget-Dj4GYuSK.js} +4 -4
  332. package/dist/{ValueWidget-CD-gsoJa.js.map → ValueWidget-Dj4GYuSK.js.map} +1 -1
  333. package/dist/{ValuelimitsbarWidget-CKqMqplL.js → ValuelimitsbarWidget-B-IXXtXy.js} +4 -4
  334. package/dist/{ValuelimitsbarWidget-CKqMqplL.js.map → ValuelimitsbarWidget-B-IXXtXy.js.map} +1 -1
  335. package/dist/{ValuelimitsbarWidget-DgP-FRnw.cjs → ValuelimitsbarWidget-DF5QvEDx.cjs} +2 -2
  336. package/dist/{ValuelimitsbarWidget-DgP-FRnw.cjs.map → ValuelimitsbarWidget-DF5QvEDx.cjs.map} +1 -1
  337. package/dist/{ValuelimitscolumnWidget-TbIlfRm8.js → ValuelimitscolumnWidget-B3Xjqz_f.js} +4 -4
  338. package/dist/{ValuelimitscolumnWidget-TbIlfRm8.js.map → ValuelimitscolumnWidget-B3Xjqz_f.js.map} +1 -1
  339. package/dist/{ValuelimitscolumnWidget-DWik9H7C.cjs → ValuelimitscolumnWidget-LXAi2ndd.cjs} +2 -2
  340. package/dist/{ValuelimitscolumnWidget-DWik9H7C.cjs.map → ValuelimitscolumnWidget-LXAi2ndd.cjs.map} +1 -1
  341. package/dist/{ValuerangebarWidget-CIR3qshL.js → ValuerangebarWidget-Ct_CvpUg.js} +4 -4
  342. package/dist/{ValuerangebarWidget-CIR3qshL.js.map → ValuerangebarWidget-Ct_CvpUg.js.map} +1 -1
  343. package/dist/{ValuerangebarWidget-DMPQMn23.cjs → ValuerangebarWidget-DSmTRfls.cjs} +2 -2
  344. package/dist/{ValuerangebarWidget-DMPQMn23.cjs.map → ValuerangebarWidget-DSmTRfls.cjs.map} +1 -1
  345. package/dist/{VerticalWidget-DpMgiz2m.js → VerticalWidget-BlEtS5Bs.js} +2 -2
  346. package/dist/{VerticalWidget-DpMgiz2m.js.map → VerticalWidget-BlEtS5Bs.js.map} +1 -1
  347. package/dist/{VerticalWidget-BjDRWx1I.cjs → VerticalWidget-D4xAiojs.cjs} +2 -2
  348. package/dist/{VerticalWidget-BjDRWx1I.cjs.map → VerticalWidget-D4xAiojs.cjs.map} +1 -1
  349. package/dist/{VerticalboxWidget-DcQvJ13j.cjs → VerticalboxWidget-CDeA9ux8.cjs} +2 -2
  350. package/dist/{VerticalboxWidget-DcQvJ13j.cjs.map → VerticalboxWidget-CDeA9ux8.cjs.map} +1 -1
  351. package/dist/{VerticalboxWidget-BznaAPyj.js → VerticalboxWidget-rr_GslBl.js} +5 -5
  352. package/dist/{VerticalboxWidget-BznaAPyj.js.map → VerticalboxWidget-rr_GslBl.js.map} +1 -1
  353. package/dist/{Widget-BUhqs-wN.cjs → Widget-BKmR1shJ.cjs} +2 -2
  354. package/dist/{Widget-BUhqs-wN.cjs.map → Widget-BKmR1shJ.cjs.map} +1 -1
  355. package/dist/{Widget-E_9ky7hf.js → Widget-DsHcvxJg.js} +2 -2
  356. package/dist/{Widget-E_9ky7hf.js.map → Widget-DsHcvxJg.js.map} +1 -1
  357. package/dist/components.cjs +1 -1
  358. package/dist/components.js +16 -16
  359. package/dist/{settings-J9UGWG6O.cjs → settings-DgeeD3A4.cjs} +2 -2
  360. package/dist/{settings-J9UGWG6O.cjs.map → settings-DgeeD3A4.cjs.map} +1 -1
  361. package/dist/{settings-CjEQxY67.js → settings-RN52DDBd.js} +2 -2
  362. package/dist/{settings-CjEQxY67.js.map → settings-RN52DDBd.js.map} +1 -1
  363. package/dist/tools/admin.cjs +1 -1
  364. package/dist/tools/admin.js +12 -12
  365. package/dist/tools/base.cjs +1 -1
  366. package/dist/tools/base.js +3 -3
  367. package/dist/tools/calendar.cjs +1 -1
  368. package/dist/tools/calendar.js +1 -1
  369. package/dist/tools/scriptrunner.cjs +3 -3
  370. package/dist/tools/scriptrunner.cjs.map +1 -1
  371. package/dist/tools/scriptrunner.js +22 -13
  372. package/dist/tools/scriptrunner.js.map +1 -1
  373. package/dist/vue-common.css +1 -1
  374. package/dist/widgets.cjs +1 -1
  375. package/dist/widgets.js +64 -64
  376. package/package.json +2 -2
  377. package/dist/Graph-BT7YHaLU.cjs +0 -2
  378. package/dist/Graph-BT7YHaLU.cjs.map +0 -1
  379. package/dist/Graph-Dy2y26su.js.map +0 -1
  380. package/dist/OpenC3TimePicker-4kqB_Chf.cjs +0 -2
  381. package/dist/OpenC3TimePicker-4kqB_Chf.cjs.map +0 -1
  382. package/dist/OpenC3TimePicker-C9CBFp3d.js.map +0 -1
  383. package/dist/Openc3Screen-BxuqrFPG.js.map +0 -1
  384. package/dist/Openc3Screen-DuzCiS5h.cjs.map +0 -1
  385. package/dist/SettingsTab-CPk_hNJp.js.map +0 -1
  386. package/dist/SettingsTab-CqYcXYBb.cjs +0 -3
  387. package/dist/SettingsTab-CqYcXYBb.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TargetPacketItemChooser-B3riNx-5.cjs","sources":["../src/components/TargetPacketItemChooser.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 2026, 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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n ref=\"targetAutocomplete\"\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n @focus=\"selectOnFocus('targetAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n ref=\"packetAutocomplete\"\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n @focus=\"selectOnFocus('packetAutocomplete')\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n ref=\"queueAutocomplete\"\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n @focus=\"selectOnFocus('queueAutocomplete')\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n ref=\"itemAutocomplete\"\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n @focus=\"selectOnFocus('itemAutocomplete')\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n ref=\"indexCombobox\"\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n @focus=\"selectOnFocus('indexCombobox')\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n ref=\"valueTypeAutocomplete\"\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n @focus=\"selectOnFocus('valueTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n ref=\"reducedAutocomplete\"\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n @focus=\"selectOnFocus('reducedAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n ref=\"reducedTypeAutocomplete\"\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n @focus=\"selectOnFocus('reducedTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n selectOnFocus: function (refName) {\n this.$nextTick(() => {\n const component = this.$refs[refName]\n if (component) {\n const input = component.$el.querySelector('input')\n if (input) {\n input.select()\n }\n }\n })\n },\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","refName","component","input","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TargetPacketItemChooser-CW91CLJq.cjs","sources":["../src/components/TargetPacketItemChooser.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 2026, 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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n ref=\"targetAutocomplete\"\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n @focus=\"selectOnFocus('targetAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n ref=\"packetAutocomplete\"\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n @focus=\"selectOnFocus('packetAutocomplete')\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n ref=\"queueAutocomplete\"\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n @focus=\"selectOnFocus('queueAutocomplete')\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n ref=\"itemAutocomplete\"\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n @focus=\"selectOnFocus('itemAutocomplete')\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n ref=\"indexCombobox\"\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n @focus=\"selectOnFocus('indexCombobox')\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n ref=\"valueTypeAutocomplete\"\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n @focus=\"selectOnFocus('valueTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n ref=\"reducedAutocomplete\"\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n @focus=\"selectOnFocus('reducedAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n ref=\"reducedTypeAutocomplete\"\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n @focus=\"selectOnFocus('reducedTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n selectOnFocus: function (refName) {\n this.$nextTick(() => {\n const component = this.$refs[refName]\n if (component) {\n const input = component.$el.querySelector('input')\n if (input) {\n input.select()\n }\n }\n })\n },\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","refName","component","input","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"iLAsMKA,EAAU,CACb,MAAO,CACL,SAAU,CACR,KAAM,QACN,QAAS,IAEX,gBAAiB,CACf,KAAM,QACN,QAAS,IAEX,mBAAoB,CAClB,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,OACN,QAAS,MAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,SAAU,CACR,KAAM,QACN,QAAS,IAEX,kBAAmB,CACjB,KAAM,OACN,QAAS,IAEX,kBAAmB,CACjB,KAAM,OACN,QAAS,IAEX,gBAAiB,CACf,KAAM,OACN,QAAS,IAEX,YAAa,CACX,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,KAAM,CACJ,KAAM,OACN,QAAS,MAET,UAAYC,GACH,CAAC,MAAO,KAAK,EAAE,SAASA,CAAS,GAG5C,QAAS,CACP,KAAM,QACN,QAAS,IAEX,SAAU,CACR,KAAM,QACN,QAAS,IAEX,OAAQ,CACN,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,WAAY,CACV,KAAM,QACN,QAAS,IAEX,gBAAiB,CACf,KAAM,QACN,QAAS,IAEX,mBAAoB,CAClB,KAAM,QACN,QAAS,KAGb,MAAO,CAAC,SAAU,SAAS,EAC3B,MAAO,WACL,MAAO,CACL,YAAa,CAAA,EACb,oBAAoBC,EAAA,KAAK,oBAAL,YAAAA,EAAwB,cAC5C,YAAa,CAAA,EACb,oBAAoBC,EAAA,KAAK,oBAAL,YAAAA,EAAwB,cAC5C,WAAY,CAAC,CAAE,MAAO,OAAQ,MAAO,IAAG,CAAG,EAC3C,kBAAmB,KACnB,UAAW,CAAA,EACX,kBAAkBC,EAAA,KAAK,kBAAL,YAAAA,EAAsB,cACxC,WAAY,CAAC,YAAa,KAAK,EAC/B,kBAAmB,YACnB,eAAgB,CAEd,CAAE,MAAO,OAAQ,MAAO,OAAM,EAC9B,CAAE,MAAO,iBAAkB,MAAO,gBAAe,EACjD,CAAE,MAAO,eAAgB,MAAO,gBAChC,CAAE,MAAO,cAAe,MAAO,gBAEjC,mBAAoB,KACpB,gBAAiB,QACjB,aAAc,CAAC,MAAO,MAAO,MAAO,QAAQ,EAC5C,oBAAqB,MACrB,YAAa,GACb,UAAW,GACX,iBAAkB,GAClB,gBAAiB,GACjB,cAAe,GACf,IAAK,KACL,IAAK,CACH,MAAO,UACP,MAAO,MACP,YAAa,KACf,EACA,QAAS,CACP,MAAO,cACP,MAAO,UACP,YAAa,WAEf,OAAQ,CACN,MAAO,SACP,MAAO,SACP,YAAa,iCAEjB,CACF,EACA,SAAU,CACR,iBAAkB,UAAY,CAC5B,OAAI,KAAK,qBAAuB,MACvB,aAEL,KAAK,mBAAqB,MACrB,aAEF,KAAK,UACd,EACA,qBAAsB,UAAY,CAChC,OAAO,KAAK,UAAY,KAAK,gBAC/B,EACA,eAAgB,UAAY,CAC1B,OACE,KAAK,UACL,KAAK,kBACL,KAAK,qBAAuB,MAC5B,KAAK,qBAAuB,MAC5B,KAAK,yBAA2B,IAEpC,EACA,QAAS,UAAY,CACnB,OAAO,KAAK,SAAW,GAAK,EAC9B,EACA,uBAAwB,UAAY,CAClC,OACE,KAAK,aACL,KAAK,qBAAuB,MAC5B,KAAK,qBAAuB,KAAK,IAAI,MAE9B,GAAG,KAAK,gBAAgB,IAAI,KAAK,kBAAkB,IAEnD,KAAK,gBAEhB,EACA,8BAA+B,UAAY,CACzC,OAAO,KAAK,YAAc,KAAK,OAAS,KAC1C,EACA,aAAc,UAAY,CACxB,IAAIC,EAAI,KAAK,UAAU,UACpBC,GAASA,EAAK,QAAU,KAAK,gBAChC,EACIC,EAAU,CAAC,GAAG,MAAM,KAAK,UAAUF,CAAC,EAAE,KAAK,EAAE,KAAI,CAAE,EACvD,OAAI,KAAK,UAAY,KAAK,qBACxBE,EAAQ,QAAQ,KAAK,IAAI,KAAK,EAEzBA,CACT,EACA,YAAa,UAAY,CACvB,IAAIF,EAAI,KAAK,UAAU,UACpBC,GAASA,EAAK,QAAU,KAAK,gBAChC,EACA,MAAI,EAAAD,IAAM,IAAM,MAAM,KAAK,UAAUA,CAAC,EAAE,KAAK,EAK/C,EACA,YAAa,UAAY,CACvB,OAAO,KAAK,WAAa,KAAK,kBAChC,GAEF,MAAO,CACL,kBAAmB,SAAUG,EAAK,CAI5BA,IACF,KAAK,mBAAqBA,EAAI,YAAW,EAE7C,EACA,kBAAmB,SAAUA,EAAK,CAC5BA,IACF,KAAK,mBAAqBA,EAAI,YAAW,EAE7C,EACA,gBAAiB,SAAUA,EAAK,CAC1BA,IACF,KAAK,iBAAmBA,EAAI,YAAW,EAE3C,EACA,KAAM,SAAUC,EAAQC,EAAQ,CAC9B,KAAK,mBAAqB,KAC1B,KAAK,iBAAmB,KAExB,KAAK,kBAAkB,KAAK,kBAAkB,CAChD,EACA,WAAY,SAAUD,EAAQC,EAAQ,CAChCD,EACF,KAAK,YAAW,EAEhB,KAAK,UAAY,CAAA,CAErB,EACA,YAAa,SAAUD,EAAK,CACtBA,EACF,KAAK,qBAAL,KAAK,mBAAuB,GAE5B,KAAK,mBAAqB,IAE9B,GAEF,SAAU,CACR,KAAK,iBAAmB,GACxB,KAAK,IAAM,IAAIG,EAAAA,GAGX,KAAK,OAAS,OAChBC,EAAAA,GAAI,IAAI,oBAAoB,EACzB,KAAMC,GAAa,CAClB,KAAK,WAAa,CAAC,CAAE,MAAO,OAAQ,MAAO,KAAM,EAC7CA,EAAS,MAAQ,MAAM,QAAQA,EAAS,IAAI,GAC9CA,EAAS,KAAK,QAASC,GAAU,CAC/B,KAAK,WAAW,KAAK,CAAE,MAAOA,EAAM,KAAM,MAAOA,EAAM,IAAG,CAAG,CAC/D,CAAC,CAEL,CAAC,EACA,MAAOC,GAAU,CAEhB,QAAQ,MAAM,yBAA0BA,CAAK,CAE/C,CAAC,EAGL,KAAK,IAAI,iBAAgB,EAAG,KAAMC,GAAW,CAC3C,KAAK,YAAcA,EAAO,QAASC,GAE7BA,GAAU,UACL,CAAA,EAEF,CAAE,MAAOA,EAAQ,MAAOA,CAAK,CACrC,EAaG,KAAK,iBACP,KAAK,YAAY,QAAQ,KAAK,GAAG,EAI9B,KAAK,mBAKR,KAAK,cAAa,GAJlB,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,kBAAkB,KAAK,kBAAkB,GAK5C,KAAK,SACP,KAAK,YAAY,KAAK,KAAK,OAAO,CAEtC,CAAC,CACH,EACA,QAAS,CACP,cAAe,SAAUC,EAAS,CAChC,KAAK,UAAU,IAAM,CACnB,MAAMC,EAAY,KAAK,MAAMD,CAAO,EACpC,GAAIC,EAAW,CACb,MAAMC,EAAQD,EAAU,IAAI,cAAc,OAAO,EAC7CC,GACFA,EAAM,OAAM,CAEhB,CACF,CAAC,CACH,EACA,cAAe,UAAY,CACzB,GAAI,KAAK,qBAAuB,UAAW,CACzC,KAAK,YAAc,CAAC,KAAK,OAAO,EAChC,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,oBAAoB,KAAK,QAAQ,KAAK,EAC3C,KAAK,YAAc,UACnB,MACF,CACA,GAAI,KAAK,qBAAuB,MAAO,CACrC,KAAK,YAAc,CAAC,KAAK,GAAG,EAC5B,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAC9C,KAAK,oBAAoB,KAAK,IAAI,KAAK,EACvC,KAAK,YAAc,MACnB,MACF,CACA,KAAK,iBAAmB,GACxB,MAAMC,EACJ,KAAK,OAAS,MAAQ,oBAAsB,oBAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,MAAM,EAAE,KAAMC,GAAU,CAClE,KAAK,YAAcA,EAAM,IAAKC,IACrB,CACL,MAAOA,EACP,MAAOA,CACT,EACD,EACG,KAAK,UACP,KAAK,YAAY,QAAQ,KAAK,GAAG,EAE/B,KAAK,+BACP,KAAK,YAAY,QAAQ,KAAK,MAAM,EAEjC,KAAK,qBACJ,KAAK,YAAY,SAAW,EAC9B,KAAK,mBAAqB,MAE1B,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,MAE5C,KAAK,qBAAuB,UAC5B,KAAK,YAAY,OAAS,IAE1B,KAAK,mBAAqB,KAAK,YAAY,CAAC,EAAE,SAIpD,KAAK,oBAAoB,KAAK,kBAAkB,EACnC,KAAK,YAAY,KAAMC,GAC3BA,EAAO,QAAU,KAAK,kBAC9B,GACW,KAAK,YACf,KAAK,YAAW,EAElB,KAAK,iBAAmB,EAC1B,CAAC,CACH,EAEA,YAAa,UAAY,CACvB,GAAI,KAAK,qBAAuB,MAKhC,GAFA,KAAK,iBAAmB,GAEpB,KAAK,qBAAuB,SAC9B,KAAK,IACF,uBAAuB,KAAK,kBAAkB,EAC9C,KAAMC,GAAU,CACf,KAAK,UAAYA,EAAM,IAAKnB,IACnB,CACL,MAAOA,EACP,MAAOA,EACP,YAAa,UAAUA,CAAI,EAE7B,EACD,EACD,KAAK,kBAAiB,CACxB,CAAC,MACE,CACL,MAAMe,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,kBAAkB,EAAE,KAC7DG,GAAW,CACV,IAAIC,EAAQ,CAAA,EACZD,EAAO,MAAM,QAASlB,GAAS,CACxBA,EAAK,QACRmB,EAAM,KAAKnB,CAAI,CAEnB,CAAC,EACD,KAAK,UAAYmB,EAAM,IAAKnB,GAAS,CACnC,IAAIoB,EAAQpB,EAAK,KACjB,OAAIA,EAAK,WAAa,YACpBoB,GAAS,MAEJ,CACL,MAAOA,EACP,MAAOpB,EAAK,KACZ,YAAaA,EAAK,YAClB,MAAOA,EAAK,WAAaA,EAAK,QAChC,CACF,CAAC,EACD,KAAK,UAAU,KAAK,CAACqB,EAAGC,IAAOD,EAAE,MAAQC,EAAE,MAAQ,EAAI,EAAG,EAC1D,KAAK,kBAAiB,CACxB,CACF,CACF,CACF,EACA,kBAAmB,UAAY,CACzB,KAAK,UACP,KAAK,UAAU,QAAQ,KAAK,GAAG,EAE5B,KAAK,mBACR,KAAK,iBAAmB,KAAK,UAAU,CAAC,EAAE,OAE5C,KAAK,YAAc,KAAK,UAAU,CAAC,EAAE,YACrC,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBAClB,UAAW,KAAK,kBACjB,EACD,KAAK,iBAAmB,EAC1B,EAEA,kBAAmB,SAAUC,EAAO,CAClC,KAAK,mBAAqBA,EAC1B,KAAK,mBAAqB,GAC1B,KAAK,iBAAmB,GAIpBA,IAAU,MACZ,KAAK,cAAa,CAEtB,EAEA,kBAAmB,SAAUA,EAAO,CAClC,KAAK,iBAAmB,GAIpBA,IAAU,MACZ,KAAK,oBAAoBA,CAAK,CAElC,EAEA,iBAAkB,SAAUA,EAAO,CACjC,KAAK,kBAAoBA,EACzB,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBAClB,UAAW,KAAK,kBACjB,CACH,EAEA,oBAAqB,SAAUA,EAAO,CACpC,GAAIA,IAAU,MACZ,KAAK,cAAgB,GACrB,KAAK,iBAAmB,WACfA,IAAU,SACnB,KAAK,cAAgB,GACrB,KAAK,mBAAqB,SAC1B,KAAK,YAAc,iCACnB,KAAK,UAAY,OACZ,CACL,KAAK,cAAgB,GACrB,MAAML,EAAS,KAAK,YAAY,KAAMA,GAC7BK,IAAUL,EAAO,KACzB,EACD,GAAIA,EAAQ,CACV,KAAK,mBAAqBA,EAAO,MACjC,MAAMH,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoB,KAAK,kBAAkB,EAAE,KAC7DG,GAAW,CACV,KAAK,YAAcA,EAAO,YAC1B,KAAK,UAAYA,EAAO,SAC1B,CACF,CACF,CACF,CACI,KAAK,WACP,KAAK,YAAW,EAEhB,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBAClB,UAAW,KAAK,kBACjB,CAEL,EAEA,gBAAiB,SAAUK,EAAO,CAChC,MAAMvB,EAAO,KAAK,UAAU,KAAMA,GACzBuB,IAAUvB,EAAK,KACvB,EACGA,IACF,KAAK,iBAAmBA,EAAK,MAC7B,KAAK,YAAcA,EAAK,YACxB,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBAClB,UAAW,KAAK,kBACjB,EAEL,EAEA,aAAc,SAAUuB,EAAO,CAC7B,KAAK,MAAM,SAAU,CACnB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBAClB,UAAW,KAAK,kBACjB,CACH,EAEA,cAAe,UAAY,CACrB,KAAK,qBAAuB,MAC9B,KAAK,qBAAoB,EAChB,KAAK,mBAAqB,MACnC,KAAK,eAAc,EACV,KAAK,WACd,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAU,KAAK,uBACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,EAED,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CAEL,EAEA,qBAAsB,UAAY,CAChC,KAAK,YAAY,QAASC,GAAe,CACvC,GAAIA,IAAe,KAAK,IAAK,OAC7B,MAAMT,EAAM,KAAK,OAAS,MAAQ,UAAY,UAC9C,KAAK,IAAIA,CAAG,EAAE,KAAK,mBAAoBS,EAAW,KAAK,EAAE,KACtDN,GAAW,CACVA,EAAO,MAAM,QAASlB,GAAS,CACxBA,EAAK,QACR,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAYwB,EAAW,MACvB,SAAUxB,EAAK,KACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CAEL,CAAC,CACH,CACF,CACF,CAAC,CACH,EAEA,eAAgB,UAAY,CAC1B,KAAK,UAAU,QAASA,GAAS,CAC3BA,IAAS,KAAK,KAClB,KAAK,MAAM,UAAW,CACpB,WAAY,KAAK,mBACjB,WAAY,KAAK,mBACjB,SAAUA,EAAK,MACf,UAAW,KAAK,kBAChB,QAAS,KAAK,gBACd,YAAa,KAAK,oBACnB,CACH,CAAC,CACH,EAEJ,EA/vBOyB,EAAA,CAAA,MAAM,WAAW,mOAAtB,OAAAC,YAAA,EAAAC,qBAsKM,MAtKNF,EAsKM,CArKJG,EAAAA,YAkHQC,EAAA,CAlHD,MAAM,eAAgB,cAAaC,EAAA,6BACxC,IAgBQ,CAhBRF,EAAAA,YAgBQG,EAAA,CAhBA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,oCACxD,IAcE,CAdFJ,EAAAA,YAcEK,EAAA,CAbA,IAAI,gCACKC,EAAA,yDAAAA,EAAA,mBAAkBC,GAUNH,EAAA,mBATrB,MAAM,gBACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUA,EAAA,sBAAwBF,EAAA,WAClC,MAAOI,EAAA,YACR,aAAW,QACX,aAAW,QAEV,uBAAOF,EAAA,cAAa,oBAAA,uFAGzBJ,EAAAA,YAiBQG,EAAA,CAjBA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,oCACxD,IAeiB,CAfjBJ,EAAAA,YAeiBK,EAAA,CAdf,IAAI,gCACKC,EAAA,yDAAAA,EAAA,mBAAkBC,GAUNH,EAAA,mBATrB,MAAM,gBACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUE,EAAA,iBAAmBF,EAAA,sBAAwBF,EAAA,WACrD,MAAOI,EAAA,YACR,aAAW,QACX,aAAW,QAEV,uBAAOF,EAAA,cAAa,oBAAA,uFAKjBF,EAAA,cAAkBA,EAAA,+BAD1BM,EAAAA,YAqBQL,EAAA,OAnBL,KAAMC,EAAA,QACP,MAAM,mBACN,YAAU,mCAEV,IAcE,CAdFJ,EAAAA,YAcEK,EAAA,CAbA,IAAI,+BACKC,EAAA,wDAAAA,EAAA,kBAAiBC,GAULH,EAAA,kBATrB,MAAM,eACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUA,EAAA,sBAAwBE,EAAA,WAAW,SAAM,EACnD,MAAOA,EAAA,WACR,aAAW,QACX,aAAW,QAEV,uBAAOF,EAAA,cAAa,mBAAA,oHAIjBF,EAAA,0BADRM,EAAAA,YAqBQL,EAAA,OAnBL,KAAMC,EAAA,QACP,MAAM,mBACN,YAAU,kCAEV,IAcE,CAdFJ,EAAAA,YAcEK,EAAA,CAbA,IAAI,8BACKC,EAAA,uDAAAA,EAAA,iBAAgBC,GAUJE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GAAAH,EAAA,gBAAgBG,CAAM,IAT3C,MAAM,cACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,eAAiBF,EAAA,qBAC3B,MAAOE,EAAA,UACR,aAAW,QACX,aAAW,QAEV,uBAAOF,EAAA,cAAa,kBAAA,8FAKjBF,EAAA,YAAcE,EAAA,2BADtBI,EAAAA,YAsBQL,EAAA,OApBN,KAAK,IACL,MAAM,mBACN,YAAU,cACV,MAAA,CAAA,YAAA,OAAA,sBAEA,IAcE,CAdFH,EAAAA,YAcEU,EAAA,CAbA,IAAI,2BACKJ,EAAA,yDAAAA,EAAA,mBAAkBC,GAUNE,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAAF,GAAAH,EAAA,aAAaG,CAAM,IATxC,MAAM,QACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,eAAiBF,EAAA,qBAC3B,MAAOA,EAAA,aACR,aAAW,QACX,aAAW,QAEV,yBAAOA,EAAA,cAAa,eAAA,mFAGZF,EAAA,0BAAbM,EAAAA,YASQL,EAAA,OATkB,KAAMC,EAAA,QAAS,MAAA,CAAA,YAAA,OAAA,sBACvC,IAOQ,CAPRJ,EAAAA,YAOQW,EAAA,CANL,SAAUP,EAAA,eACX,MAAM,UACN,YAAU,cACT,QAAOA,EAAA,kCAER,IAAsB,qCAAnBA,EAAA,gBAAgB,EAAA,CAAA,4GAIZF,EAAA,2BAAbM,EAAAA,YA0CQP,EAAA,OA1CkB,MAAM,oBAAoB,aAAA,uBAClD,IAYQ,CAZRD,EAAAA,YAYQG,EAAA,CAZA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,gCACxD,IAUE,CAVFJ,EAAAA,YAUEK,EAAA,CATA,IAAI,mCACKC,EAAA,yDAAAA,EAAA,kBAAiBC,GAC1B,MAAM,aACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,MAAOD,EAAA,WACP,yBAAOF,EAAA,cAAa,uBAAA,sDAGzBJ,EAAAA,YAYQG,EAAA,CAZA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,8BACxD,IAUE,CAVFJ,EAAAA,YAUEK,EAAA,CATA,IAAI,iCACKC,EAAA,uDAAAA,EAAA,gBAAeC,GACxB,MAAM,UACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,MAAOD,EAAA,eACP,yBAAOF,EAAA,cAAa,qBAAA,sDAGzBJ,EAAAA,YAaQG,EAAA,CAbA,KAAMC,EAAA,QAAS,MAAM,mBAAmB,YAAU,mCACxD,IAWE,CAXFJ,EAAAA,YAWEK,EAAA,CAVA,IAAI,qCACKC,EAAA,2DAAAA,EAAA,oBAAmBC,GAC5B,MAAM,eACN,eAAA,GACA,oBAAA,GACA,QAAQ,UACR,QAAQ,WACP,SAAUD,EAAA,kBAAe,QACzB,MAAOA,EAAA,aACP,yBAAOF,EAAA,cAAa,yBAAA,iEAGzBJ,EAAAA,YAAyDG,EAAA,CAAjD,KAAMC,EAAA,QAAS,MAAA,CAAA,YAAA,OAAA,yDAEzBJ,EAAAA,YAMQC,EAAA,CAND,aAAA,GAAW,MAAM,6CACtB,IAIQ,CAJRD,EAAAA,YAIQG,EAAA,CAJA,KAAMC,EAAA,QAAU,wCAA0BA,EAAA,WAAW,CAAA,sBAC3D,IAA0D,CAA5CA,EAAA,2BAAdI,EAAAA,YAA0DI,EAAA,OAA/B,MAAM,2BAAO,IAAS,CAAA,GAAAH,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,mBAAT,YAAS,EAAA,2DAAS,iBAC7CI,kBAAGP,EAAA,WAAW,EAAG,IAC9B,CAAA,EAAgBF,EAAA,2BAAhBL,EAAAA,mBAAqDe,EAAAA,SAAA,CAAA,IAAA,CAAA,EAAA,mBAAxB,eAAa"}
@@ -1,4 +1,4 @@
1
- import { O as v, E as I } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js";
1
+ import { O as v, E as I } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
2
2
  import { resolveComponent as h, createElementBlock as y, openBlock as n, createVNode as c, createBlock as N, createCommentVNode as r, withCtx as u, createTextVNode as p, toDisplayString as T, normalizeClass as A, Fragment as D } from "vue";
3
3
  import { _ as L } from "./CustomIcon-B9m73Gqm.js";
4
4
  const P = {
@@ -668,4 +668,4 @@ const C = /* @__PURE__ */ L(P, [["render", x], ["__scopeId", "data-v-8146b1e7"]]
668
668
  export {
669
669
  C as T
670
670
  };
671
- //# sourceMappingURL=TargetPacketItemChooser--rzU8ThE.js.map
671
+ //# sourceMappingURL=TargetPacketItemChooser-UsuVtlF-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetPacketItemChooser--rzU8ThE.js","sources":["../src/components/TargetPacketItemChooser.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 2026, 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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n ref=\"targetAutocomplete\"\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n @focus=\"selectOnFocus('targetAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n ref=\"packetAutocomplete\"\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n @focus=\"selectOnFocus('packetAutocomplete')\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n ref=\"queueAutocomplete\"\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n @focus=\"selectOnFocus('queueAutocomplete')\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n ref=\"itemAutocomplete\"\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n @focus=\"selectOnFocus('itemAutocomplete')\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n ref=\"indexCombobox\"\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n @focus=\"selectOnFocus('indexCombobox')\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n ref=\"valueTypeAutocomplete\"\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n @focus=\"selectOnFocus('valueTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n ref=\"reducedAutocomplete\"\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n @focus=\"selectOnFocus('reducedAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n ref=\"reducedTypeAutocomplete\"\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n @focus=\"selectOnFocus('reducedTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n selectOnFocus: function (refName) {\n this.$nextTick(() => {\n const component = this.$refs[refName]\n if (component) {\n const input = component.$el.querySelector('input')\n if (input) {\n input.select()\n }\n }\n })\n },\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","refName","component","input","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TargetPacketItemChooser-UsuVtlF-.js","sources":["../src/components/TargetPacketItemChooser.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 2026, 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# A portion of this file was funded by Blue Origin Enterprises, L.P.\n# See https://github.com/OpenC3/cosmos/pull/1957\n-->\n\n<template>\n <div class=\"pt-4 pb-4\">\n <v-row class=\"align-center\" :no-gutters=\"!vertical\">\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-target\">\n <v-autocomplete\n ref=\"targetAutocomplete\"\n v-model=\"selectedTargetName\"\n label=\"Select Target\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || lockTarget\"\n :items=\"targetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"targetNameChanged\"\n @focus=\"selectOnFocus('targetAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"select-packet\">\n <v-autocomplete\n ref=\"packetAutocomplete\"\n v-model=\"selectedPacketName\"\n label=\"Select Packet\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"packetsDisabled || autocompleteDisabled || lockPacket\"\n :items=\"packetNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"packetNameChanged\"\n @focus=\"selectOnFocus('packetAutocomplete')\"\n >\n </v-autocomplete>\n </v-col>\n <v-col\n v-if=\"mode === 'cmd' && showQueueSelect\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-queue\"\n >\n <v-autocomplete\n ref=\"queueAutocomplete\"\n v-model=\"selectedQueueName\"\n label=\"Select Queue\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"autocompleteDisabled || queueNames.length === 1\"\n :items=\"queueNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"queueNameChanged\"\n @focus=\"selectOnFocus('queueAutocomplete')\"\n />\n </v-col>\n <v-col\n v-if=\"chooseItem\"\n :cols=\"colSize\"\n class=\"tpic-select pr-4\"\n data-test=\"select-item\"\n >\n <v-autocomplete\n ref=\"itemAutocomplete\"\n v-model=\"selectedItemName\"\n label=\"Select Item\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"itemNames\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"itemNameChanged($event)\"\n @focus=\"selectOnFocus('itemAutocomplete')\"\n />\n </v-col>\n <!-- min-width: 105px is enough to display a 2 digit index -->\n <v-col\n v-if=\"chooseItem && itemIsArray\"\n cols=\"1\"\n class=\"tpic-select pr-4\"\n data-test=\"array-index\"\n style=\"min-width: 105px\"\n >\n <v-combobox\n ref=\"indexCombobox\"\n v-model=\"selectedArrayIndex\"\n label=\"Index\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"itemsDisabled || autocompleteDisabled\"\n :items=\"arrayIndexes\"\n item-title=\"label\"\n item-value=\"value\"\n @update:model-value=\"indexChanged($event)\"\n @focus=\"selectOnFocus('indexCombobox')\"\n />\n </v-col>\n <v-col v-if=\"buttonText\" :cols=\"colSize\" style=\"max-width: 140px\">\n <v-btn\n :disabled=\"buttonDisabled\"\n color=\"primary\"\n data-test=\"select-send\"\n @click=\"buttonPressed\"\n >\n {{ actualButtonText }}\n </v-btn>\n </v-col>\n </v-row>\n <v-row v-if=\"selectTypes\" class=\"pt-6 align-center\" no-gutters>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"data-type\">\n <v-autocomplete\n ref=\"valueTypeAutocomplete\"\n v-model=\"selectedValueType\"\n label=\"Value Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"valueTypes\"\n @focus=\"selectOnFocus('valueTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced\">\n <v-autocomplete\n ref=\"reducedAutocomplete\"\n v-model=\"selectedReduced\"\n label=\"Reduced\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :items=\"reductionModes\"\n @focus=\"selectOnFocus('reducedAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" class=\"tpic-select pr-4\" data-test=\"reduced-type\">\n <v-autocomplete\n ref=\"reducedTypeAutocomplete\"\n v-model=\"selectedReducedType\"\n label=\"Reduced Type\"\n hide-details\n auto-select-first\n density=\"compact\"\n variant=\"outlined\"\n :disabled=\"selectedReduced === 'DECOM'\"\n :items=\"reducedTypes\"\n @focus=\"selectOnFocus('reducedTypeAutocomplete')\"\n />\n </v-col>\n <v-col :cols=\"colSize\" style=\"max-width: 140px\"> </v-col>\n </v-row>\n <v-row no-gutters class=\"pt-3 px-3 align-center\">\n <v-col :cols=\"colSize\" :class=\"{ 'openc3-yellow': isHazardous }\">\n <v-icon v-if=\"isHazardous\" class=\"mr-1\">mdi-alert</v-icon>\n Description: {{ description }}\n <template v-if=\"isHazardous\"> (HAZARDOUS) </template>\n </v-col>\n </v-row>\n </div>\n</template>\n\n<script>\nimport { Api, OpenC3Api } from '@openc3/js-common/services'\n\nexport default {\n props: {\n allowAll: {\n type: Boolean,\n default: false,\n },\n allowAllTargets: {\n type: Boolean,\n default: false,\n },\n allowAllArrayIndex: {\n type: Boolean,\n default: false,\n },\n buttonText: {\n type: String,\n default: null,\n },\n chooseItem: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n initialTargetName: {\n type: String,\n default: '',\n },\n initialPacketName: {\n type: String,\n default: '',\n },\n initialItemName: {\n type: String,\n default: '',\n },\n selectTypes: {\n type: Boolean,\n default: false,\n },\n showLatest: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: 'tlm',\n // TODO: add validators throughout\n validator: (propValue) => {\n return ['cmd', 'tlm'].includes(propValue)\n },\n },\n unknown: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n hidden: {\n type: Boolean,\n default: false,\n },\n lockTarget: {\n type: Boolean,\n default: false,\n },\n lockPacket: {\n type: Boolean,\n default: false,\n },\n showQueueSelect: {\n type: Boolean,\n default: true,\n },\n parameterHazardous: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['on-set', 'addItem'],\n data() {\n return {\n targetNames: [],\n selectedTargetName: this.initialTargetName?.toUpperCase(),\n packetNames: [],\n selectedPacketName: this.initialPacketName?.toUpperCase(),\n queueNames: [{ label: 'None', value: null }],\n selectedQueueName: null,\n itemNames: [],\n selectedItemName: this.initialItemName?.toUpperCase(),\n valueTypes: ['CONVERTED', 'RAW'],\n selectedValueType: 'CONVERTED',\n reductionModes: [\n // Map NONE to DECOM for clarity\n { title: 'NONE', value: 'DECOM' },\n { title: 'REDUCED_MINUTE', value: 'REDUCED_MINUTE' },\n { title: 'REDUCED_HOUR', value: 'REDUCED_HOUR' },\n { title: 'REDUCED_DAY', value: 'REDUCED_DAY' },\n ],\n selectedArrayIndex: null,\n selectedReduced: 'DECOM',\n reducedTypes: ['MIN', 'MAX', 'AVG', 'STDDEV'],\n selectedReducedType: 'AVG',\n description: '',\n hazardous: false,\n internalDisabled: false,\n packetsDisabled: false,\n itemsDisabled: false,\n api: null,\n ALL: {\n label: '[ ALL ]',\n value: 'ALL',\n description: 'ALL',\n }, // Constant to indicate all packets or items\n UNKNOWN: {\n label: '[ UNKNOWN ]',\n value: 'UNKNOWN',\n description: 'UNKNOWN',\n },\n LATEST: {\n label: 'LATEST',\n value: 'LATEST',\n description: 'Latest values from all packets',\n }, // Constant to indicate latest values from all packets\n }\n },\n computed: {\n actualButtonText: function () {\n if (this.selectedPacketName === 'ALL') {\n return 'Add Target'\n }\n if (this.selectedItemName === 'ALL') {\n return 'Add Packet'\n }\n return this.buttonText\n },\n autocompleteDisabled: function () {\n return this.disabled || this.internalDisabled\n },\n buttonDisabled: function () {\n return (\n this.disabled ||\n this.internalDisabled ||\n this.selectedTargetName === null ||\n this.selectedPacketName === null ||\n this.selectedItemNameWIndex === null\n )\n },\n colSize: function () {\n return this.vertical ? 12 : false\n },\n selectedItemNameWIndex: function () {\n if (\n this.itemIsArray &&\n this.selectedArrayIndex !== null &&\n this.selectedArrayIndex !== this.ALL.label\n ) {\n return `${this.selectedItemName}[${this.selectedArrayIndex}]`\n } else {\n return this.selectedItemName\n }\n },\n includeLatestPacketInDropdown: function () {\n return this.showLatest && this.mode === 'tlm' // because LATEST cmd doesn't have much use and thus isn't currently implemented\n },\n arrayIndexes: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n let indexes = [...Array(this.itemNames[i].array).keys()]\n if (this.allowAll || this.allowAllArrayIndex) {\n indexes.unshift(this.ALL.label)\n }\n return indexes\n },\n itemIsArray: function () {\n let i = this.itemNames.findIndex(\n (item) => item.value === this.selectedItemName,\n )\n if (i === -1 || isNaN(this.itemNames[i].array)) {\n return false\n } else {\n return true\n }\n },\n isHazardous: function () {\n return this.hazardous || this.parameterHazardous\n },\n },\n watch: {\n initialTargetName: function (val) {\n // These three \"initial\" watchers are here in case the parent component doesn't figure out its initial values\n // until after this component has already been created. All this logic incl. the \"on-set\" events could be\n // simplified with a refactor to use named v-models, but that's probably a significant breaking change.\n if (val) {\n this.selectedTargetName = val.toUpperCase()\n }\n },\n initialPacketName: function (val) {\n if (val) {\n this.selectedPacketName = val.toUpperCase()\n }\n },\n initialItemName: function (val) {\n if (val) {\n this.selectedItemName = val.toUpperCase()\n }\n },\n mode: function (newVal, oldVal) {\n this.selectedPacketName = null\n this.selectedItemName = null\n // This also updates packets and items as needed\n this.targetNameChanged(this.selectedTargetName)\n },\n chooseItem: function (newVal, oldVal) {\n if (newVal) {\n this.updateItems()\n } else {\n this.itemNames = []\n }\n },\n itemIsArray: function (val) {\n if (val) {\n this.selectedArrayIndex ||= 0\n } else {\n this.selectedArrayIndex = null\n }\n },\n },\n created() {\n this.internalDisabled = true\n this.api = new OpenC3Api()\n\n // Fetch queues if in command mode\n if (this.mode === 'cmd') {\n Api.get('/openc3-api/queues')\n .then((response) => {\n this.queueNames = [{ label: 'None', value: null }]\n if (response.data && Array.isArray(response.data)) {\n response.data.forEach((queue) => {\n this.queueNames.push({ label: queue.name, value: queue.name })\n })\n }\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Error fetching queues:', error)\n // Keep default \"None\" option even if fetch fails\n })\n }\n\n this.api.get_target_names().then((result) => {\n this.targetNames = result.flatMap((target) => {\n // Ignore the UNKNOWN target as it doesn't make sense to select this\n if (target == 'UNKNOWN') {\n return []\n }\n return { label: target, value: target }\n })\n // TODO: This is a nice enhancement but results in logs of API calls for many targets\n // See if we can reduce this to a single API call\n // Filter out any targets without packets\n // for (let i = this.targetNames.length - 1; i >= 0; i--) {\n // const cmd =\n // this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n // await this.api[cmd](this.targetNames[i].value).then((names) => {\n // if (names.length === 0) {\n // this.targetNames.splice(i, 1)\n // }\n // })\n // }\n if (this.allowAllTargets) {\n this.targetNames.unshift(this.ALL)\n }\n // If the initial target name is not set, default to the first target\n // which also updates packets and items as needed\n if (!this.selectedTargetName) {\n this.selectedTargetName = this.targetNames[0].value\n this.targetNameChanged(this.selectedTargetName)\n } else {\n // Selected target name was set but we still have to update packets\n this.updatePackets()\n }\n if (this.unknown) {\n this.targetNames.push(this.UNKNOWN)\n }\n })\n },\n methods: {\n selectOnFocus: function (refName) {\n this.$nextTick(() => {\n const component = this.$refs[refName]\n if (component) {\n const input = component.$el.querySelector('input')\n if (input) {\n input.select()\n }\n }\n })\n },\n updatePackets: function () {\n if (this.selectedTargetName === 'UNKNOWN') {\n this.packetNames = [this.UNKNOWN]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.UNKNOWN.value)\n this.description = 'UNKNOWN'\n return\n }\n if (this.selectedTargetName === 'ALL') {\n this.packetNames = [this.ALL]\n this.selectedPacketName = this.packetNames[0].value\n this.updatePacketDetails(this.ALL.value)\n this.description = 'ALL'\n return\n }\n this.internalDisabled = true\n const cmd =\n this.mode === 'tlm' ? 'get_all_tlm_names' : 'get_all_cmd_names'\n this.api[cmd](this.selectedTargetName, this.hidden).then((names) => {\n this.packetNames = names.map((name) => {\n return {\n label: name,\n value: name,\n }\n })\n if (this.allowAll) {\n this.packetNames.unshift(this.ALL)\n }\n if (this.includeLatestPacketInDropdown) {\n this.packetNames.unshift(this.LATEST)\n }\n if (!this.selectedPacketName) {\n if (this.packetNames.length === 0) {\n this.selectedPacketName = null\n } else {\n this.selectedPacketName = this.packetNames[0].value\n if (\n this.selectedPacketName === 'LATEST' &&\n this.packetNames.length > 1\n ) {\n this.selectedPacketName = this.packetNames[1].value\n }\n }\n }\n this.updatePacketDetails(this.selectedPacketName)\n const item = this.packetNames.find((packet) => {\n return packet.value === this.selectedPacketName\n })\n if (item && this.chooseItem) {\n this.updateItems()\n }\n this.internalDisabled = false\n })\n },\n\n updateItems: function () {\n if (this.selectedPacketName === 'ALL') {\n return\n }\n this.internalDisabled = true\n\n if (this.selectedPacketName === 'LATEST') {\n this.api\n .get_all_tlm_item_names(this.selectedTargetName)\n .then((items) => {\n this.itemNames = items.map((item) => {\n return {\n label: item,\n value: item,\n description: `LATEST ${item}`,\n // Don't handle array for LATEST\n }\n })\n this.finishUpdateItems()\n })\n } else {\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n let items = []\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n items.push(item)\n }\n })\n this.itemNames = items.map((item) => {\n let label = item.name\n if (item.data_type == 'DERIVED') {\n label += ' *'\n }\n return {\n label: label,\n value: item.name,\n description: item.description,\n array: item.array_size / item.bit_size,\n }\n })\n this.itemNames.sort((a, b) => (a.label > b.label ? 1 : -1))\n this.finishUpdateItems()\n },\n )\n }\n },\n finishUpdateItems: function () {\n if (this.allowAll) {\n this.itemNames.unshift(this.ALL)\n }\n if (!this.selectedItemName) {\n this.selectedItemName = this.itemNames[0].value\n }\n this.description = this.itemNames[0].description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n this.internalDisabled = false\n },\n\n targetNameChanged: function (value) {\n this.selectedTargetName = value\n this.selectedPacketName = ''\n this.selectedItemName = ''\n // When the target name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packets\n if (value !== null) {\n this.updatePackets()\n }\n },\n\n packetNameChanged: function (value) {\n this.selectedItemName = ''\n // When the packet name is completed deleted in the v-autocomplete\n // the @change handler is fired but the value is null\n // In this case we don't want to update packet details\n if (value !== null) {\n this.updatePacketDetails(value)\n }\n },\n\n queueNameChanged: function (value) {\n this.selectedQueueName = value\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n updatePacketDetails: function (value) {\n if (value === 'ALL') {\n this.itemsDisabled = true\n this.internalDisabled = false\n } else if (value === 'LATEST') {\n this.itemsDisabled = false\n this.selectedPacketName = 'LATEST'\n this.description = 'Latest values from all packets'\n this.hazardous = false\n } else {\n this.itemsDisabled = false\n const packet = this.packetNames.find((packet) => {\n return value === packet.value\n })\n if (packet) {\n this.selectedPacketName = packet.value\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, this.selectedPacketName).then(\n (packet) => {\n this.description = packet.description\n this.hazardous = packet.hazardous\n },\n )\n }\n }\n if (this.chooseItem) {\n this.updateItems()\n } else {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n itemNameChanged: function (value) {\n const item = this.itemNames.find((item) => {\n return value === item.value\n })\n if (item) {\n this.selectedItemName = item.value\n this.description = item.description\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n }\n },\n\n indexChanged: function (value) {\n this.$emit('on-set', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n queueName: this.selectedQueueName,\n })\n },\n\n buttonPressed: function () {\n if (this.selectedPacketName === 'ALL') {\n this.allTargetPacketItems()\n } else if (this.selectedItemName === 'ALL') {\n this.allPacketItems()\n } else if (this.chooseItem) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: this.selectedItemNameWIndex,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n } else {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n },\n\n allTargetPacketItems: function () {\n this.packetNames.forEach((packetName) => {\n if (packetName === this.ALL) return\n const cmd = this.mode === 'tlm' ? 'get_tlm' : 'get_cmd'\n this.api[cmd](this.selectedTargetName, packetName.value).then(\n (packet) => {\n packet.items.forEach((item) => {\n if (!item['hidden']) {\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: packetName.value,\n itemName: item['name'],\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n }\n })\n },\n )\n })\n },\n\n allPacketItems: function () {\n this.itemNames.forEach((item) => {\n if (item === this.ALL) return\n this.$emit('addItem', {\n targetName: this.selectedTargetName,\n packetName: this.selectedPacketName,\n itemName: item.value,\n valueType: this.selectedValueType,\n reduced: this.selectedReduced,\n reducedType: this.selectedReducedType,\n })\n })\n },\n },\n}\n</script>\n<style scoped>\n.button {\n padding: 4px;\n}\n.tpic-select {\n max-width: 400px;\n}\n.v-autocomplete .v-select__selections {\n word-break: break-all;\n}\n</style>\n"],"names":["_sfc_main","propValue","_a","_b","_c","i","item","indexes","val","newVal","oldVal","OpenC3Api","Api","response","queue","error","result","target","refName","component","input","cmd","names","name","packet","items","label","a","b","value","packetName","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_row","$props","_component_v_col","$options","_component_v_autocomplete","$data","$event","_createBlock","_cache","_component_v_combobox","_component_v_btn","_component_v_icon","_toDisplayString","_Fragment"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs"),e=require("vue"),f=require("./CustomIcon-CEc927h0.cjs");require("single-spa");const w=require("./OutputDialog-C__OuTUo.cjs"),h={components:{OutputDialog:w.OutputDialog},data(){return{targets:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){c.Ei.get("/openc3-api/targets_modified").then(o=>{this.targets=o.data})},showTarget(o){c.Ei.get(`/openc3-api/targets/${o}`).then(t=>{this.jsonContent=JSON.stringify(t.data,null," "),this.dialogTitle=o,this.showDialog=!0})},dialogCallback(o){this.showDialog=!1},downloadTarget:function(o){c.Ei.post(`/openc3-api/targets/${o}/download`).then(t=>{const r=window.atob(t.data.contents),s=new Uint8Array(r.length);for(let a=0;a<r.length;++a)s[a]=r.charCodeAt(a);const n=new Blob([s],{type:"application/zip"}),i=document.createElement("a");i.href=URL.createObjectURL(n),i.setAttribute("download",t.data.filename),i.click()})}}};function k(o,t,r,s,n,i){const a=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item-subtitle"),d=e.resolveComponent("v-btn"),m=e.resolveComponent("v-tooltip"),_=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),v=e.resolveComponent("v-list"),C=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(v,{class:"list","data-test":"targetList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.targets,l=>(e.openBlock(),e.createElementBlock("div",{key:l},[e.createVNode(_,null,{append:e.withCtx(()=>[l.modified?(e.openBlock(),e.createBlock(m,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:u})=>[e.createVNode(d,e.mergeProps({ref_for:!0},u,{class:"mx-3",icon:"mdi-folder-download",variant:"text","aria-label":"Download Modified Files",onClick:y=>i.downloadTarget(l.name)}),null,16,["onClick"])]),default:e.withCtx(()=>[t[1]||(t[1]=e.createElementVNode("span",null,"Download Modified Files",-1))]),_:2},1024)):e.createCommentVNode("",!0),e.createVNode(d,{icon:"mdi-eye",variant:"text","aria-label":"View Target",onClick:u=>i.showTarget(l.name)},null,8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.name),1)]),_:2},1024),e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(" Plugin: "+e.toDisplayString(l.plugin),1)]),_:2},1024)]),_:2},1024),e.createVNode(g)]))),128))]),_:1}),n.showDialog?(e.openBlock(),e.createBlock(C,{key:0,modelValue:n.showDialog,"onUpdate:modelValue":t[0]||(t[0]=l=>n.showDialog=l),content:n.jsonContent,type:"Target",name:n.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0)])}const b=f._export_sfc(h,[["render",k],["__scopeId","data-v-116291fb"]]);exports.default=b;
2
- //# sourceMappingURL=TargetsTab-Dqvu7l_c.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs"),e=require("vue"),f=require("./CustomIcon-CEc927h0.cjs");require("single-spa");const w=require("./OutputDialog-BHDdBPLX.cjs"),h={components:{OutputDialog:w.OutputDialog},data(){return{targets:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){c.Ei.get("/openc3-api/targets_modified").then(o=>{this.targets=o.data})},showTarget(o){c.Ei.get(`/openc3-api/targets/${o}`).then(t=>{this.jsonContent=JSON.stringify(t.data,null," "),this.dialogTitle=o,this.showDialog=!0})},dialogCallback(o){this.showDialog=!1},downloadTarget:function(o){c.Ei.post(`/openc3-api/targets/${o}/download`).then(t=>{const r=window.atob(t.data.contents),s=new Uint8Array(r.length);for(let a=0;a<r.length;++a)s[a]=r.charCodeAt(a);const n=new Blob([s],{type:"application/zip"}),i=document.createElement("a");i.href=URL.createObjectURL(n),i.setAttribute("download",t.data.filename),i.click()})}}};function k(o,t,r,s,n,i){const a=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item-subtitle"),d=e.resolveComponent("v-btn"),m=e.resolveComponent("v-tooltip"),_=e.resolveComponent("v-list-item"),g=e.resolveComponent("v-divider"),v=e.resolveComponent("v-list"),C=e.resolveComponent("output-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(v,{class:"list","data-test":"targetList"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.targets,l=>(e.openBlock(),e.createElementBlock("div",{key:l},[e.createVNode(_,null,{append:e.withCtx(()=>[l.modified?(e.openBlock(),e.createBlock(m,{key:0,"open-delay":600,location:"top"},{activator:e.withCtx(({props:u})=>[e.createVNode(d,e.mergeProps({ref_for:!0},u,{class:"mx-3",icon:"mdi-folder-download",variant:"text","aria-label":"Download Modified Files",onClick:y=>i.downloadTarget(l.name)}),null,16,["onClick"])]),default:e.withCtx(()=>[t[1]||(t[1]=e.createElementVNode("span",null,"Download Modified Files",-1))]),_:2},1024)):e.createCommentVNode("",!0),e.createVNode(d,{icon:"mdi-eye",variant:"text","aria-label":"View Target",onClick:u=>i.showTarget(l.name)},null,8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.name),1)]),_:2},1024),e.createVNode(p,null,{default:e.withCtx(()=>[e.createTextVNode(" Plugin: "+e.toDisplayString(l.plugin),1)]),_:2},1024)]),_:2},1024),e.createVNode(g)]))),128))]),_:1}),n.showDialog?(e.openBlock(),e.createBlock(C,{key:0,modelValue:n.showDialog,"onUpdate:modelValue":t[0]||(t[0]=l=>n.showDialog=l),content:n.jsonContent,type:"Target",name:n.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):e.createCommentVNode("",!0)])}const b=f._export_sfc(h,[["render",k],["__scopeId","data-v-116291fb"]]);exports.default=b;
2
+ //# sourceMappingURL=TargetsTab-BwzGasJJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetsTab-Dqvu7l_c.cjs","sources":["../src/tools/admin/tabs/TargetsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-list class=\"list\" data-test=\"targetList\">\n <div v-for=\"target in targets\" :key=\"target\">\n <v-list-item>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle>\n Plugin: {{ target.plugin }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-tooltip v-if=\"target.modified\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n class=\"mx-3\"\n icon=\"mdi-folder-download\"\n variant=\"text\"\n aria-label=\"Download Modified Files\"\n @click=\"downloadTarget(target.name)\"\n />\n </template>\n <span>Download Modified Files</span>\n </v-tooltip>\n <v-btn\n icon=\"mdi-eye\"\n variant=\"text\"\n aria-label=\"View Target\"\n @click=\"showTarget(target.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Target\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n targets: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","decodedData","uInt8Array","i","blob","link","_createElementBlock","_createVNode","_component_v_list","_Fragment","_renderList","$data","target","_component_v_list_item","_createBlock","_component_v_tooltip","_withCtx","props","_component_v_btn","_mergeProps","$event","$options","_cache","_createElementVNode","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog"],"mappings":"yTAwEKA,EAAU,CACb,WAAY,CAAA,aAAEC,EAAAA,YAAW,EACzB,MAAO,CACL,MAAO,CACL,QAAS,CAAA,EACT,YAAa,GACb,YAAa,GACb,WAAY,EACd,CACF,EACA,SAAU,CACR,KAAK,OAAM,CACb,EACA,QAAS,CACP,QAAS,CACPC,EAAAA,GAAI,IAAI,8BAA8B,EAAE,KAAMC,GAAa,CACzD,KAAK,QAAUA,EAAS,IAC1B,CAAC,CACH,EACA,WAAWC,EAAM,CACfF,KAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAMD,GAAa,CACxD,KAAK,YAAc,KAAK,UAAUA,EAAS,KAAM,KAAM,GAAI,EAC3D,KAAK,YAAcC,EACnB,KAAK,WAAa,EACpB,CAAC,CACH,EACA,eAAeC,EAAS,CACtB,KAAK,WAAa,EACpB,EACA,eAAgB,SAAUD,EAAM,CAC9BF,KAAI,KAAK,uBAAuBE,CAAI,WAAW,EAAE,KAAMD,GAAa,CAElE,MAAMG,EAAc,OAAO,KAAKH,EAAS,KAAK,QAAQ,EAEhDI,EAAa,IAAI,WAAWD,EAAY,MAAM,EAEpD,QAASE,EAAI,EAAGA,EAAIF,EAAY,OAAQ,EAAEE,EACxCD,EAAWC,CAAC,EAAIF,EAAY,WAAWE,CAAC,EAE1C,MAAMC,EAAO,IAAI,KAAK,CAACF,CAAU,EAAG,CAAE,KAAM,iBAAgB,CAAG,EACzDG,EAAO,SAAS,cAAc,GAAG,EACvCA,EAAK,KAAO,IAAI,gBAAgBD,CAAI,EACpCC,EAAK,aAAa,WAAYP,EAAS,KAAK,QAAQ,EACpDO,EAAK,MAAK,CACZ,CAAC,CACH,EAEJ,uVAhGEC,qBA0CM,MAAA,KAAA,CAzCJC,EAAAA,YAgCSC,EAAA,CAhCD,MAAM,OAAO,YAAU,iCACxB,IAAyB,kBAA9BF,EAAAA,mBA8BMG,EAAAA,SAAA,KAAAC,EAAAA,WA9BgBC,EAAA,QAAVC,kBAAZN,EAAAA,mBA8BM,MAAA,CA9B0B,IAAKM,GAAM,CACzCL,EAAAA,YA2BcM,EAAA,KAAA,CArBD,iBACT,IAYY,CAZKD,EAAO,wBAAxBE,EAAAA,YAYYC,EAAA,OAZuB,aAAY,IAAK,SAAS,QAChD,UAASC,EAAAA,QAClB,CAOE,CARoB,MAAAC,KAAK,CAC3BV,EAAAA,YAOEW,EAPFC,EAAAA,WAOE,CAAA,QAAA,EAAA,EANQF,EAAK,CACb,MAAM,OACN,KAAK,sBACL,QAAQ,OACR,aAAW,0BACV,QAAKG,GAAEC,EAAA,eAAeT,EAAO,IAAI,6CAGtC,IAAoC,CAApCU,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,EAAAA,mBAAoC,YAA9B,0BAAuB,EAAA,6CAE/BhB,EAAAA,YAKEW,EAAA,CAJA,KAAK,UACL,QAAQ,OACR,aAAW,cACV,QAAKE,GAAEC,EAAA,WAAWT,EAAO,IAAI,2CAvBlC,IAAwD,CAAxDL,EAAAA,YAAwDiB,EAAA,KAAA,mBAArC,IAAiB,CAAdC,EAAAA,gBAAAC,EAAAA,gBAAAd,EAAO,IAAI,EAAA,CAAA,eACjCL,EAAAA,YAEuBoB,EAAA,KAAA,mBAFD,IACZ,mBADY,YACZD,EAAAA,gBAAGd,EAAO,MAAM,EAAA,CAAA,4BAyB5BL,EAAAA,YAAaqB,CAAA,oBAITjB,EAAA,0BADRG,EAAAA,YAOEe,EAAA,kBALSlB,EAAA,gDAAAA,EAAA,WAAUS,GAClB,QAAST,EAAA,YACV,KAAK,SACJ,KAAMA,EAAA,YACN,SAAQU,EAAA"}
1
+ {"version":3,"file":"TargetsTab-BwzGasJJ.cjs","sources":["../src/tools/admin/tabs/TargetsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-list class=\"list\" data-test=\"targetList\">\n <div v-for=\"target in targets\" :key=\"target\">\n <v-list-item>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle>\n Plugin: {{ target.plugin }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-tooltip v-if=\"target.modified\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n class=\"mx-3\"\n icon=\"mdi-folder-download\"\n variant=\"text\"\n aria-label=\"Download Modified Files\"\n @click=\"downloadTarget(target.name)\"\n />\n </template>\n <span>Download Modified Files</span>\n </v-tooltip>\n <v-btn\n icon=\"mdi-eye\"\n variant=\"text\"\n aria-label=\"View Target\"\n @click=\"showTarget(target.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Target\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n targets: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","decodedData","uInt8Array","i","blob","link","_createElementBlock","_createVNode","_component_v_list","_Fragment","_renderList","$data","target","_component_v_list_item","_createBlock","_component_v_tooltip","_withCtx","props","_component_v_btn","_mergeProps","$event","$options","_cache","_createElementVNode","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog"],"mappings":"yTAwEKA,EAAU,CACb,WAAY,CAAA,aAAEC,EAAAA,YAAW,EACzB,MAAO,CACL,MAAO,CACL,QAAS,CAAA,EACT,YAAa,GACb,YAAa,GACb,WAAY,EACd,CACF,EACA,SAAU,CACR,KAAK,OAAM,CACb,EACA,QAAS,CACP,QAAS,CACPC,EAAAA,GAAI,IAAI,8BAA8B,EAAE,KAAMC,GAAa,CACzD,KAAK,QAAUA,EAAS,IAC1B,CAAC,CACH,EACA,WAAWC,EAAM,CACfF,KAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAMD,GAAa,CACxD,KAAK,YAAc,KAAK,UAAUA,EAAS,KAAM,KAAM,GAAI,EAC3D,KAAK,YAAcC,EACnB,KAAK,WAAa,EACpB,CAAC,CACH,EACA,eAAeC,EAAS,CACtB,KAAK,WAAa,EACpB,EACA,eAAgB,SAAUD,EAAM,CAC9BF,KAAI,KAAK,uBAAuBE,CAAI,WAAW,EAAE,KAAMD,GAAa,CAElE,MAAMG,EAAc,OAAO,KAAKH,EAAS,KAAK,QAAQ,EAEhDI,EAAa,IAAI,WAAWD,EAAY,MAAM,EAEpD,QAASE,EAAI,EAAGA,EAAIF,EAAY,OAAQ,EAAEE,EACxCD,EAAWC,CAAC,EAAIF,EAAY,WAAWE,CAAC,EAE1C,MAAMC,EAAO,IAAI,KAAK,CAACF,CAAU,EAAG,CAAE,KAAM,iBAAgB,CAAG,EACzDG,EAAO,SAAS,cAAc,GAAG,EACvCA,EAAK,KAAO,IAAI,gBAAgBD,CAAI,EACpCC,EAAK,aAAa,WAAYP,EAAS,KAAK,QAAQ,EACpDO,EAAK,MAAK,CACZ,CAAC,CACH,EAEJ,uVAhGEC,qBA0CM,MAAA,KAAA,CAzCJC,EAAAA,YAgCSC,EAAA,CAhCD,MAAM,OAAO,YAAU,iCACxB,IAAyB,kBAA9BF,EAAAA,mBA8BMG,EAAAA,SAAA,KAAAC,EAAAA,WA9BgBC,EAAA,QAAVC,kBAAZN,EAAAA,mBA8BM,MAAA,CA9B0B,IAAKM,GAAM,CACzCL,EAAAA,YA2BcM,EAAA,KAAA,CArBD,iBACT,IAYY,CAZKD,EAAO,wBAAxBE,EAAAA,YAYYC,EAAA,OAZuB,aAAY,IAAK,SAAS,QAChD,UAASC,EAAAA,QAClB,CAOE,CARoB,MAAAC,KAAK,CAC3BV,EAAAA,YAOEW,EAPFC,EAAAA,WAOE,CAAA,QAAA,EAAA,EANQF,EAAK,CACb,MAAM,OACN,KAAK,sBACL,QAAQ,OACR,aAAW,0BACV,QAAKG,GAAEC,EAAA,eAAeT,EAAO,IAAI,6CAGtC,IAAoC,CAApCU,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,EAAAA,mBAAoC,YAA9B,0BAAuB,EAAA,6CAE/BhB,EAAAA,YAKEW,EAAA,CAJA,KAAK,UACL,QAAQ,OACR,aAAW,cACV,QAAKE,GAAEC,EAAA,WAAWT,EAAO,IAAI,2CAvBlC,IAAwD,CAAxDL,EAAAA,YAAwDiB,EAAA,KAAA,mBAArC,IAAiB,CAAdC,EAAAA,gBAAAC,EAAAA,gBAAAd,EAAO,IAAI,EAAA,CAAA,eACjCL,EAAAA,YAEuBoB,EAAA,KAAA,mBAFD,IACZ,mBADY,YACZD,EAAAA,gBAAGd,EAAO,MAAM,EAAA,CAAA,4BAyB5BL,EAAAA,YAAaqB,CAAA,oBAITjB,EAAA,0BADRG,EAAAA,YAOEe,EAAA,kBALSlB,EAAA,gDAAAA,EAAA,WAAUS,GAClB,QAAST,EAAA,YACV,KAAK,SACJ,KAAMA,EAAA,YACN,SAAQU,EAAA"}
@@ -1,8 +1,8 @@
1
- import { E as u } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-8uBNo_8r.js";
1
+ import { E as u } from "./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-gWC4BUC8.js";
2
2
  import { resolveComponent as l, createElementBlock as p, openBlock as d, createVNode as a, createBlock as f, createCommentVNode as v, withCtx as s, Fragment as x, renderList as V, createTextVNode as w, toDisplayString as h, createElementVNode as E, mergeProps as N } from "vue";
3
3
  import { _ as j } from "./CustomIcon-B9m73Gqm.js";
4
4
  import "single-spa";
5
- import { O as A } from "./OutputDialog-Dk3S2--J.js";
5
+ import { O as A } from "./OutputDialog-8nKOJUMU.js";
6
6
  const B = {
7
7
  components: { OutputDialog: A },
8
8
  data() {
@@ -114,4 +114,4 @@ const P = /* @__PURE__ */ j(B, [["render", L], ["__scopeId", "data-v-116291fb"]]
114
114
  export {
115
115
  P as default
116
116
  };
117
- //# sourceMappingURL=TargetsTab-DJBCaflz.js.map
117
+ //# sourceMappingURL=TargetsTab-D2BGCJ0P.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TargetsTab-DJBCaflz.js","sources":["../src/tools/admin/tabs/TargetsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-list class=\"list\" data-test=\"targetList\">\n <div v-for=\"target in targets\" :key=\"target\">\n <v-list-item>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle>\n Plugin: {{ target.plugin }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-tooltip v-if=\"target.modified\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n class=\"mx-3\"\n icon=\"mdi-folder-download\"\n variant=\"text\"\n aria-label=\"Download Modified Files\"\n @click=\"downloadTarget(target.name)\"\n />\n </template>\n <span>Download Modified Files</span>\n </v-tooltip>\n <v-btn\n icon=\"mdi-eye\"\n variant=\"text\"\n aria-label=\"View Target\"\n @click=\"showTarget(target.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Target\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n targets: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","decodedData","uInt8Array","i","blob","link","_createElementBlock","_createVNode","_component_v_list","_Fragment","_renderList","$data","target","_component_v_list_item","_createBlock","_component_v_tooltip","_withCtx","props","_component_v_btn","_mergeProps","$event","$options","_cache","_createElementVNode","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog"],"mappings":"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"}
1
+ {"version":3,"file":"TargetsTab-D2BGCJ0P.js","sources":["../src/tools/admin/tabs/TargetsTab.vue"],"sourcesContent":["<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n-->\n\n<template>\n <div>\n <v-list class=\"list\" data-test=\"targetList\">\n <div v-for=\"target in targets\" :key=\"target\">\n <v-list-item>\n <v-list-item-title>{{ target.name }}</v-list-item-title>\n <v-list-item-subtitle>\n Plugin: {{ target.plugin }}\n </v-list-item-subtitle>\n\n <template #append>\n <v-tooltip v-if=\"target.modified\" :open-delay=\"600\" location=\"top\">\n <template #activator=\"{ props }\">\n <v-btn\n v-bind=\"props\"\n class=\"mx-3\"\n icon=\"mdi-folder-download\"\n variant=\"text\"\n aria-label=\"Download Modified Files\"\n @click=\"downloadTarget(target.name)\"\n />\n </template>\n <span>Download Modified Files</span>\n </v-tooltip>\n <v-btn\n icon=\"mdi-eye\"\n variant=\"text\"\n aria-label=\"View Target\"\n @click=\"showTarget(target.name)\"\n />\n </template>\n </v-list-item>\n <v-divider />\n </div>\n </v-list>\n <output-dialog\n v-if=\"showDialog\"\n v-model=\"showDialog\"\n :content=\"jsonContent\"\n type=\"Target\"\n :name=\"dialogTitle\"\n @submit=\"dialogCallback\"\n />\n </div>\n</template>\n\n<script>\nimport { Api } from '@openc3/js-common/services'\nimport { OutputDialog } from '@/components'\n\nexport default {\n components: { OutputDialog },\n data() {\n return {\n targets: [],\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update() {\n Api.get('/openc3-api/targets_modified').then((response) => {\n this.targets = response.data\n })\n },\n showTarget(name) {\n Api.get(`/openc3-api/targets/${name}`).then((response) => {\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.dialogTitle = name\n this.showDialog = true\n })\n },\n dialogCallback(content) {\n this.showDialog = false\n },\n downloadTarget: function (name) {\n Api.post(`/openc3-api/targets/${name}/download`).then((response) => {\n // Decode Base64 string\n const decodedData = window.atob(response.data.contents)\n // Create UNIT8ARRAY of size same as row data length\n const uInt8Array = new Uint8Array(decodedData.length)\n // Insert all character code into uInt8Array\n for (let i = 0; i < decodedData.length; ++i) {\n uInt8Array[i] = decodedData.charCodeAt(i)\n }\n const blob = new Blob([uInt8Array], { type: 'application/zip' })\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', response.data.filename)\n link.click()\n })\n },\n },\n}\n</script>\n\n<style scoped>\n.list {\n background-color: var(--color-background-surface-default) !important;\n overflow-x: hidden;\n}\n.v-theme--cosmosDark.v-list div:nth-child(odd) .v-list-item {\n background-color: var(--color-background-base-selected) !important;\n}\n</style>\n"],"names":["_sfc_main","OutputDialog","Api","response","name","content","decodedData","uInt8Array","i","blob","link","_createElementBlock","_createVNode","_component_v_list","_Fragment","_renderList","$data","target","_component_v_list_item","_createBlock","_component_v_tooltip","_withCtx","props","_component_v_btn","_mergeProps","$event","$options","_cache","_createElementVNode","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_v_list_item_subtitle","_component_v_divider","_component_output_dialog"],"mappings":";;;;;AAwEA,MAAKA,IAAU;AAAA,EACb,YAAY,EAAE,cAAAC,EAAW;AAAA,EACzB,OAAO;AACL,WAAO;AAAA,MACL,SAAS,CAAA;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,OAAM;AAAA,EACb;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AACPC,MAAAA,EAAI,IAAI,8BAA8B,EAAE,KAAK,CAACC,MAAa;AACzD,aAAK,UAAUA,EAAS;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,IACA,WAAWC,GAAM;AACfF,MAAAA,EAAI,IAAI,uBAAuBE,CAAI,EAAE,EAAE,KAAK,CAACD,MAAa;AACxD,aAAK,cAAc,KAAK,UAAUA,EAAS,MAAM,MAAM,GAAI,GAC3D,KAAK,cAAcC,GACnB,KAAK,aAAa;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,IACA,eAAeC,GAAS;AACtB,WAAK,aAAa;AAAA,IACpB;AAAA,IACA,gBAAgB,SAAUD,GAAM;AAC9BF,MAAAA,EAAI,KAAK,uBAAuBE,CAAI,WAAW,EAAE,KAAK,CAACD,MAAa;AAElE,cAAMG,IAAc,OAAO,KAAKH,EAAS,KAAK,QAAQ,GAEhDI,IAAa,IAAI,WAAWD,EAAY,MAAM;AAEpD,iBAASE,IAAI,GAAGA,IAAIF,EAAY,QAAQ,EAAEE;AACxC,UAAAD,EAAWC,CAAC,IAAIF,EAAY,WAAWE,CAAC;AAE1C,cAAMC,IAAO,IAAI,KAAK,CAACF,CAAU,GAAG,EAAE,MAAM,kBAAgB,CAAG,GACzDG,IAAO,SAAS,cAAc,GAAG;AACvC,QAAAA,EAAK,OAAO,IAAI,gBAAgBD,CAAI,GACpCC,EAAK,aAAa,YAAYP,EAAS,KAAK,QAAQ,GACpDO,EAAK,MAAK;AAAA,MACZ,CAAC;AAAA,IACH;AAAA;AAEJ;;;cAhGEC,EA0CM,OAAA,MAAA;AAAA,IAzCJC,EAgCSC,GAAA;AAAA,MAhCD,OAAM;AAAA,MAAO,aAAU;AAAA;iBACxB,MAAyB;AAAA,gBAA9BF,EA8BMG,GAAA,MAAAC,EA9BgBC,EAAA,SAAO,CAAjBC,YAAZN,EA8BM,OAAA,EA9B0B,KAAKM,KAAM;AAAA,UACzCL,EA2BcM,GAAA,MAAA;AAAA,YArBD,UACT,MAYY;AAAA,cAZKD,EAAO,iBAAxBE,EAYYC,GAAA;AAAA;gBAZuB,cAAY;AAAA,gBAAK,UAAS;AAAA;gBAChD,WAASC,EAClB,CAOE,EARoB,OAAAC,QAAK;AAAA,kBAC3BV,EAOEW,GAPFC,EAOE,EAAA,SAAA,GAAA,GANQF,GAAK;AAAA,oBACb,OAAM;AAAA,oBACN,MAAK;AAAA,oBACL,SAAQ;AAAA,oBACR,cAAW;AAAA,oBACV,SAAK,CAAAG,MAAEC,EAAA,eAAeT,EAAO,IAAI;AAAA;;2BAGtC,MAAoC;AAAA,kBAApCU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAoC,cAA9B,2BAAuB,EAAA;AAAA;;;cAE/BhB,EAKEW,GAAA;AAAA,gBAJA,MAAK;AAAA,gBACL,SAAQ;AAAA,gBACR,cAAW;AAAA,gBACV,SAAK,CAAAE,MAAEC,EAAA,WAAWT,EAAO,IAAI;AAAA;;uBAvBlC,MAAwD;AAAA,cAAxDL,EAAwDiB,GAAA,MAAA;AAAA,2BAArC,MAAiB;AAAA,kBAAdC,EAAAC,EAAAd,EAAO,IAAI,GAAA,CAAA;AAAA;;;cACjCL,EAEuBoB,GAAA,MAAA;AAAA,2BAFD,MACZ;AAAA,oBADY,cACZD,EAAGd,EAAO,MAAM,GAAA,CAAA;AAAA;;;;;;UAyB5BL,EAAaqB,CAAA;AAAA;;;;IAITjB,EAAA,mBADRG,EAOEe,GAAA;AAAA;kBALSlB,EAAA;AAAA,oDAAAA,EAAA,aAAUS;AAAA,MAClB,SAAST,EAAA;AAAA,MACV,MAAK;AAAA,MACJ,MAAMA,EAAA;AAAA,MACN,UAAQU,EAAA;AAAA;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-COA1HwFc.cjs");const e=require("vue"),c=require("./CustomIcon-CEc927h0.cjs"),p=require("./DetailsDialog-DW8hRSS6.cjs");require("single-spa");const g=require("./VWidget-od6gU6UT.cjs"),h={components:{DetailsDialog:p.DetailsDialog},mixins:[g.VWidget],data:function(){return{width:200,height:200}},computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height)},methods:{getType:function(){let t="CONVERTED";return this.parameters[5]&&(t=this.parameters[5]),t}}},v={class:"textbox-widget-container"};function _(t,n,f,w,V,a){const i=e.resolveComponent("v-textarea"),l=e.resolveComponent("v-list-item-title"),s=e.resolveComponent("v-list-item"),r=e.resolveComponent("v-list"),m=e.resolveComponent("v-menu"),d=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",v,[e.createVNode(i,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:e.normalizeClass(t.valueClass),style:e.normalizeStyle([t.computedStyle,a.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),e.createVNode(m,{modelValue:t.contextMenuShown,"onUpdate:modelValue":n[0]||(n[0]=o=>t.contextMenuShown=o),target:[t.x,t.y]},{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.contextMenuOptions,(o,u)=>(e.openBlock(),e.createBlock(s,{key:u,onClick:e.withModifiers(o.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(d,{modelValue:t.viewDetails,"onUpdate:modelValue":n[1]||(n[1]=o=>t.viewDetails=o),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const C=c._export_sfc(h,[["render",_],["__scopeId","data-v-c270c43f"]]);exports.default=C;
2
- //# sourceMappingURL=TextboxWidget-DHHcXTpa.cjs.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_dda5adfc_lang-DMwcaglo.cjs");const e=require("vue"),c=require("./CustomIcon-CEc927h0.cjs"),p=require("./DetailsDialog-CsJHiTI3.cjs");require("single-spa");const g=require("./VWidget-ZNfIJ3jY.cjs"),h={components:{DetailsDialog:p.DetailsDialog},mixins:[g.VWidget],data:function(){return{width:200,height:200}},computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height)},methods:{getType:function(){let t="CONVERTED";return this.parameters[5]&&(t=this.parameters[5]),t}}},v={class:"textbox-widget-container"};function _(t,n,f,w,V,a){const i=e.resolveComponent("v-textarea"),l=e.resolveComponent("v-list-item-title"),s=e.resolveComponent("v-list-item"),r=e.resolveComponent("v-list"),m=e.resolveComponent("v-menu"),d=e.resolveComponent("details-dialog");return e.openBlock(),e.createElementBlock("div",v,[e.createVNode(i,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:e.normalizeClass(t.valueClass),style:e.normalizeStyle([t.computedStyle,a.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),e.createVNode(m,{modelValue:t.contextMenuShown,"onUpdate:modelValue":n[0]||(n[0]=o=>t.contextMenuShown=o),target:[t.x,t.y]},{default:e.withCtx(()=>[e.createVNode(r,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.contextMenuOptions,(o,u)=>(e.openBlock(),e.createBlock(s,{key:u,onClick:e.withModifiers(o.action,["stop"])},{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),e.createVNode(d,{modelValue:t.viewDetails,"onUpdate:modelValue":n[1]||(n[1]=o=>t.viewDetails=o),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const C=c._export_sfc(h,[["render",_],["__scopeId","data-v-c270c43f"]]);exports.default=C;
2
+ //# sourceMappingURL=TextboxWidget-B_oY4yDR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextboxWidget-DHHcXTpa.cjs","sources":["../src/widgets/TextboxWidget.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=\"textbox-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n auto-grow\n rows=\"2\"\n hide-details\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 v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\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 mixins: [VWidget],\n data: function () {\n return {\n width: 200,\n height: 200,\n }\n },\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\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 },\n methods: {\n getType: function () {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n return type\n },\n },\n}\n</script>\n\n<style scoped>\n.textbox-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.textbox-widget-container :deep(.v-field__loader) {\n display: none !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","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","_ctx","_normalizeStyle","$options","_component_v_menu","$event","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"4VAgEKA,EAAU,CACb,WAAY,eACVC,EAAAA,eAEF,OAAQ,CAACC,EAAAA,OAAO,EAChB,KAAM,UAAY,CAChB,MAAO,CACL,MAAO,IACP,OAAQ,GACV,CACF,EACA,SAAU,CACR,OAAQ,CACN,MAAO,CACL,UAAW,KAAK,SAClB,CACF,GAEF,QAAS,UAAY,CACnB,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAC/D,KAAK,OAAS,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,MAAM,CACpE,EACA,QAAS,CACP,QAAS,UAAY,CACnB,IAAIC,EAAO,YACX,OAAI,KAAK,WAAW,CAAC,IACnBA,EAAO,KAAK,WAAW,CAAC,GAEnBA,CACT,EAEJ,EAxEOC,EAAA,CAAA,MAAM,0BAA0B,sPAArC,OAAAC,YAAA,EAAAC,qBAiCM,MAjCNF,EAiCM,CAhCJG,EAAAA,YAaEC,EAAA,CAZA,QAAQ,OACR,QAAQ,UACR,SAAA,GACA,YAAA,GACA,YAAA,GACA,KAAK,IACL,eAAA,GACC,cAAaC,EAAA,OACb,uBAAOA,EAAA,UAAU,EACjB,MAAKC,EAAAA,eAAA,CAAGD,EAAA,cAAeE,EAAA,KAAK,CAAA,EAC7B,YAAU,YACT,cAAaF,EAAA,yEAEhBF,EAAAA,YAUSK,EAAA,YAVQH,EAAA,sDAAAA,EAAA,iBAAgBI,GAAG,OAAM,CAAGJ,EAAA,EAAGA,EAAA,CAAC,sBAC/C,IAQS,CARTF,EAAAA,YAQSO,EAAA,KAAA,mBANL,IAA2C,EAD7CT,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAMcS,WAAA,KAAAC,EAAAA,WALYP,EAAA,mBAAkB,CAAlCQ,EAAMC,mBADhBC,EAAAA,YAMcC,EAAA,CAJX,IAAKF,EACL,QAAKG,EAAAA,cAAOJ,EAAK,OAAM,CAAA,MAAA,CAAA,sBAExB,IAAuD,CAAvDV,EAAAA,YAAuDe,EAAA,KAAA,mBAApC,IAAgB,CAAbC,EAAAA,gBAAAC,EAAAA,gBAAAP,EAAK,KAAK,EAAA,CAAA,0FAKtCV,EAAAA,YAKEkB,EAAA,YAJShB,EAAA,iDAAAA,EAAA,YAAWI,GACnB,cAAaJ,EAAA,WAAU,CAAA,EACvB,cAAaA,EAAA,WAAU,CAAA,EACvB,YAAWA,EAAA,WAAU,CAAA"}
1
+ {"version":3,"file":"TextboxWidget-B_oY4yDR.cjs","sources":["../src/widgets/TextboxWidget.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=\"textbox-widget-container\">\n <v-textarea\n variant=\"solo\"\n density=\"compact\"\n readonly\n no-resize\n auto-grow\n rows=\"2\"\n hide-details\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 v-model=\"viewDetails\"\n :target-name=\"parameters[0]\"\n :packet-name=\"parameters[1]\"\n :item-name=\"parameters[2]\"\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 mixins: [VWidget],\n data: function () {\n return {\n width: 200,\n height: 200,\n }\n },\n computed: {\n aging() {\n return {\n '--aging': this.grayLevel,\n }\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 },\n methods: {\n getType: function () {\n let type = 'CONVERTED'\n if (this.parameters[5]) {\n type = this.parameters[5]\n }\n return type\n },\n },\n}\n</script>\n\n<style scoped>\n.textbox-widget-container :deep(.v-input__slot) {\n background: rgba(var(--aging), var(--aging), var(--aging), 1) !important;\n}\n.value :deep(div) {\n min-height: 24px !important;\n display: flex !important;\n align-items: center !important;\n}\n.textbox-widget-container :deep(.v-field__loader) {\n display: none !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","_hoisted_1","_openBlock","_createElementBlock","_createVNode","_component_v_textarea","_ctx","_normalizeStyle","$options","_component_v_menu","$event","_component_v_list","_Fragment","_renderList","item","index","_createBlock","_component_v_list_item","_withModifiers","_component_v_list_item_title","_createTextVNode","_toDisplayString","_component_details_dialog"],"mappings":"4VAgEKA,EAAU,CACb,WAAY,eACVC,EAAAA,eAEF,OAAQ,CAACC,EAAAA,OAAO,EAChB,KAAM,UAAY,CAChB,MAAO,CACL,MAAO,IACP,OAAQ,GACV,CACF,EACA,SAAU,CACR,OAAQ,CACN,MAAO,CACL,UAAW,KAAK,SAClB,CACF,GAEF,QAAS,UAAY,CACnB,KAAK,MAAQ,KAAK,SAAS,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,KAAK,EAC/D,KAAK,OAAS,KAAK,UAAU,KAAK,WAAW,CAAC,EAAG,KAAM,KAAK,MAAM,CACpE,EACA,QAAS,CACP,QAAS,UAAY,CACnB,IAAIC,EAAO,YACX,OAAI,KAAK,WAAW,CAAC,IACnBA,EAAO,KAAK,WAAW,CAAC,GAEnBA,CACT,EAEJ,EAxEOC,EAAA,CAAA,MAAM,0BAA0B,sPAArC,OAAAC,YAAA,EAAAC,qBAiCM,MAjCNF,EAiCM,CAhCJG,EAAAA,YAaEC,EAAA,CAZA,QAAQ,OACR,QAAQ,UACR,SAAA,GACA,YAAA,GACA,YAAA,GACA,KAAK,IACL,eAAA,GACC,cAAaC,EAAA,OACb,uBAAOA,EAAA,UAAU,EACjB,MAAKC,EAAAA,eAAA,CAAGD,EAAA,cAAeE,EAAA,KAAK,CAAA,EAC7B,YAAU,YACT,cAAaF,EAAA,yEAEhBF,EAAAA,YAUSK,EAAA,YAVQH,EAAA,sDAAAA,EAAA,iBAAgBI,GAAG,OAAM,CAAGJ,EAAA,EAAGA,EAAA,CAAC,sBAC/C,IAQS,CARTF,EAAAA,YAQSO,EAAA,KAAA,mBANL,IAA2C,EAD7CT,EAAAA,UAAA,EAAA,EAAAC,EAAAA,mBAMcS,WAAA,KAAAC,EAAAA,WALYP,EAAA,mBAAkB,CAAlCQ,EAAMC,mBADhBC,EAAAA,YAMcC,EAAA,CAJX,IAAKF,EACL,QAAKG,EAAAA,cAAOJ,EAAK,OAAM,CAAA,MAAA,CAAA,sBAExB,IAAuD,CAAvDV,EAAAA,YAAuDe,EAAA,KAAA,mBAApC,IAAgB,CAAbC,EAAAA,gBAAAC,EAAAA,gBAAAP,EAAK,KAAK,EAAA,CAAA,0FAKtCV,EAAAA,YAKEkB,EAAA,YAJShB,EAAA,iDAAAA,EAAA,YAAWI,GACnB,cAAaJ,EAAA,WAAU,CAAA,EACvB,cAAaA,EAAA,WAAU,CAAA,EACvB,YAAWA,EAAA,WAAU,CAAA"}