openc3-cosmos-tool-admin 7.1.1 → 7.2.1

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 (114) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/ArrayWidget-DMSm_P6c-efc7746a4ba953cd6808.js +2 -0
  3. data/tools/admin/{ArrayplotWidget-D5McM1rY-ddc534bbeddb80cec6bc.js → ArrayplotWidget-fdXLhGAl-bb78ab3e4fdecdfebd67.js} +1 -1
  4. data/tools/admin/{BarColumn-BtP1cQcf-82f974689484e0cd197b.js → BarColumn-Bb305iCi-1d14dd1f021f8d8d5f6a.js} +1 -1
  5. data/tools/admin/{BlockWidget-BKMse4hP-164a326ca46bea8d5f68.js → BlockWidget-Do3W6tZh-30b366b735726d3e884d.js} +2 -2
  6. data/tools/admin/{ButtonWidget-BLNVL46w-30bec2fb7ca85627479b.js → ButtonWidget-DukCQt0F-c8a88a1d238108f85fc0.js} +2 -2
  7. data/tools/admin/CanvasWidget-BRdVWln5-68610c4a029476073178.js +1 -0
  8. data/tools/admin/CanvasdotWidget-DV8PeDWz-da21bd87f779b9139269.js +1 -0
  9. data/tools/admin/{CanvasimageWidget-B_JxCI_f-3aba8a9c0ffbf85e4ba8.js → CanvasimageWidget-Czbq1GuF-5f841f468351c7d6bdbf.js} +1 -1
  10. data/tools/admin/{CanvasimagevalueWidget-DwHIZzWo-e0dfe009cee365df1777.js → CanvasimagevalueWidget-DKt5JgEt-c79bbec74e5403f7b6ec.js} +1 -1
  11. data/tools/admin/CanvaslabelWidget-DW2I1ra1-bf0c322f7c308654cfc2.js +1 -0
  12. data/tools/admin/CanvaslabelvalueWidget-BhzvZVfD-ba39d0f36fbf3db6cd9c.js +1 -0
  13. data/tools/admin/CanvaslineWidget-DsjY37tp-97707caf9ea6147f085e.js +1 -0
  14. data/tools/admin/{CanvaslinevalueWidget-DOrasE2j-c868199c9a3a2f7a6773.js → CanvaslinevalueWidget-ihI97G8T-a7ccb7b7ca2d2628fdd5.js} +1 -1
  15. data/tools/admin/{CheckbuttonWidget-A07FryqU-0634ed338432ebf5d77c.js → CheckbuttonWidget-B778Z-Zo-9dbaeff7a2a74130539a.js} +1 -1
  16. data/tools/admin/ComboboxWidget-CuuvOL9K-838f18b5b010cb3d71ae.js +1 -0
  17. data/tools/admin/{DateWidget-DrYZJta_-d8e297f2ffd787082b4f.js → DateWidget-COvQTAeo-fdab60f30b292f493736.js} +1 -1
  18. data/tools/admin/{DetailsDialog-CFCaJZWz-0c96f055ca678fb4b14b.js → DetailsDialog-DE7lK17G-434a9ce6dcc8e6636a47.js} +1 -1
  19. data/tools/admin/{DynamicWidget-BuSbQVhf-6fa02157bd57bdfe5a20.js → DynamicWidget-BuSbQVhf-f880988884028652fefc.js} +1 -1
  20. data/tools/admin/{FilechecksumWidget-CTf0XGST-6ed4722d9224c4df6268.js → FilechecksumWidget-DRnOt_UE-b118998ed499ab04e025.js} +1 -1
  21. data/tools/admin/{FiledisplayWidget-DLJuesmU-b1518c36285da46a9b11.js → FiledisplayWidget-26R46EjS-312ad25b3132af381df5.js} +1 -1
  22. data/tools/admin/{FormatvalueWidget-DODmUWPH-1382c1a42d71c017c1d2.js → FormatvalueWidget-BxyscMJc-9965b0bd2806cfbe79cb.js} +1 -1
  23. data/tools/admin/Graph-BKw7xw1a-947d95e03148698e323f.js +1 -0
  24. data/tools/admin/{GraphWidget-Rc-fnHCt-c6e6fd9f630161952121.js → GraphWidget-Cs9mvqUu-f9a29adafa014c1e26e4.js} +1 -1
  25. data/tools/admin/{HorizontalWidget-CZqN6UYp-4a0ef7500fe5f1b800ee.js → HorizontalWidget-fWLFj7Kg-46768f166783e7c59c1c.js} +1 -1
  26. data/tools/admin/{HorizontalboxWidget-BV7cyhwN-8d7f0d302b4441d96a28.js → HorizontalboxWidget-DEaXhKEz-b0ba376ca37ee17a7d70.js} +1 -1
  27. data/tools/admin/HorizontallineWidget-Bvu1QP3S-2ef01995448de3e2d6b7.js +1 -0
  28. data/tools/admin/{IframeWidget-BdOS5sm_-1d18e5795b367cb1d5d1.js → IframeWidget-B143k4lo-47d90846ad305990fd45.js} +1 -1
  29. data/tools/admin/{ImageLoader-CnlQ4xLd-eb76057b8cc6b4338f5c.js → ImageLoader-BCpmQHIl-90267960b7246cba4d23.js} +1 -1
  30. data/tools/admin/{ImageviewerWidget-DoJBe5eZ-eed183a8926d96ba8c90.js → ImageviewerWidget-CLrvr6dw-6adafd871908af16336a.js} +1 -1
  31. data/tools/admin/InterfacesTab-zhl06TGR-269bf95691e1ca1133d0.js +1 -0
  32. data/tools/admin/{LabelWidget-DYwcB_S4-38e094d08a4b3b72c53d.js → LabelWidget-CA1bTX2B-cf65a81edc2678cf21d0.js} +1 -1
  33. data/tools/admin/{LabelledWidget-D4N2gPxJ-ce836b128a960d3d8b14.js → LabelledWidget-BDhvr03J-d661081e5e66658337e8.js} +1 -1
  34. data/tools/admin/{LabelprogressbarWidget-CRnteLAo-b725b573eb33e7bb4393.js → LabelprogressbarWidget-g7A5CE8S-3e6d2543cbb4356e663b.js} +1 -1
  35. data/tools/admin/LabelsparklineWidget-B27xXxWg-46ed8faac17cc5e23e2c.js +1 -0
  36. data/tools/admin/LabelvalueWidget-DFn8o6LC-83776b27319b83d8f0db.js +1 -0
  37. data/tools/admin/{LabelvaluedescWidget-D5aDNr1o-d05b1c9bc4f065fc00f8.js → LabelvaluedescWidget-BQpaxFaB-577f3f571587fc3e28a8.js} +1 -1
  38. data/tools/admin/LabelvaluelimitsbarWidget-C-z96q8z-05aedeebb4882527347a.js +1 -0
  39. data/tools/admin/LabelvaluelimitscolumnWidget-D2TMEv9O-8f2ba12f3d8541a80f4f.js +1 -0
  40. data/tools/admin/LabelvaluerangebarWidget-D99dZCjz-f2a7ecfb05831ee9ece6.js +1 -0
  41. data/tools/admin/{Layout-BBLYT0gE-48666c2ab3e940bc8337.js → Layout--_zNJWnw-a75e57affb59e71889ad.js} +1 -1
  42. data/tools/admin/{LedWidget-CL2dOxb7-ab1b39b52db247c57a22.js → LedWidget-D2uxHxe3-b432e645d6f5ac424a50.js} +1 -1
  43. data/tools/admin/{LimitsBar-59_qNqi8-96460dbb2763eddb0f7a.js → LimitsBar-DN1s8-MS-5fcc0dd234e18f768e31.js} +1 -1
  44. data/tools/admin/{LimitsbarWidget-C0N2611W-be09215203ef71c51ca8.js → LimitsbarWidget-Cqhh7LKU-68bbd725e553a8fbb473.js} +1 -1
  45. data/tools/admin/{LimitscolorWidget-GfNCPo3i-055d04908d1764ec7f4c.js → LimitscolorWidget-haGB4RbY-2bbe52d1c80aded0cc12.js} +1 -1
  46. data/tools/admin/{LimitscolumnWidget-ut6NX68S-83764251827e9d6da919.js → LimitscolumnWidget-B1GdmlR_-ea359135deab006453c1.js} +1 -1
  47. data/tools/admin/LinegraphWidget-COSOQ0uM-d51c56629154333d44e4.js +1 -0
  48. data/tools/admin/{MatrixbycolumnsWidget-Cni63alW-5b6abb266b8468a11951.js → MatrixbycolumnsWidget-coHlLETG-860f23fb48426b9fd387.js} +1 -1
  49. data/tools/admin/{MicroservicesTab-gCXt9Jlh-ae566dd9addb4d797386.js → MicroservicesTab-eR0hpoO1-90e70bfd68ca8cece876.js} +2 -2
  50. data/tools/admin/{OpenC3TimePicker-WVlNQdKk-82dafbfd86f21e02b597.js → OpenC3TimePicker-B8Vu9GBz-c1433e91ea28dd0e883e.js} +1 -1
  51. data/tools/admin/{OutputDialog-wOewjnk2-c514efc45c452c84f902.js → OutputDialog-B0DR879Y-1fe936426c84cb442ac4.js} +1 -1
  52. data/tools/admin/PackagesTab-aA0fmiQh-fb563fc6f35c8b0be850.js +1 -0
  53. data/tools/admin/{PluginsTab-CLQ0EbDl-5047f5c4aeb9e86537a5.js → PluginsTab-C-ItW862-32d7ee9164d04691765d.js} +2 -2
  54. data/tools/admin/{ProgressbarWidget-BWqCsk87-e2c5a2d279a805d3efd2.js → ProgressbarWidget-D_yFssIZ-d10aa4e57145b3259669.js} +1 -1
  55. data/tools/admin/{RadiobuttonWidget-Dza2r34f-c6fbd6f9a688c787717a.js → RadiobuttonWidget-DL0jVTcb-3c465bd94a1d1501b9aa.js} +1 -1
  56. data/tools/admin/{RadiogroupWidget-DWmZMNmr-0e525d07fbef318dfdc3.js → RadiogroupWidget-2-td69IA-a20b41e0ee16fca8216f.js} +1 -1
  57. data/tools/admin/{RangebarWidget-DsGCC1x7-3f74f8f0831b6b40a42d.js → RangebarWidget-i2mlnxys-4eec6df5412c7c011047.js} +1 -1
  58. data/tools/admin/RedisTab-WR7ODfau-47151697811af67bb310.js +1 -0
  59. data/tools/admin/{RollupWidget-DGElKXm3-907a5e3ee1b40da8ff9b.js → RollupWidget-BEJ2Icg1-e244836ce5d601a70583.js} +1 -1
  60. data/tools/admin/{RoutersTab-Dpq_F5it-6e53c3f7b80a8a4394c0.js → RoutersTab-DUvEd6IA-b95f4c2224cc6903fd12.js} +1 -1
  61. data/tools/admin/{ScrollwindowWidget-BvKT59rV-8b79650ff16295ee4a65.js → ScrollwindowWidget-BU1cRpL8-db955ba3d4a28aa695c0.js} +1 -1
  62. data/tools/admin/{SecretsTab-DAZeb63H-99fe50bcd5dfb4c1b37b.js → SecretsTab-CkjjSxCg-e1665e5ecea3aed8dad6.js} +1 -1
  63. data/tools/admin/SettingsTab-CJp0hFpx-bae27f27a99072352713.js +6 -0
  64. data/tools/admin/{SignalWidget-DRAFunW0-e30484c76f7b3ba91fe1.js → SignalWidget-hiTkeem9-803814029a9fe6a17581.js} +1 -1
  65. data/tools/admin/{SimpleTextDialog-B7XASoZh-b3385c2f5d921dc0cd8e.js → SimpleTextDialog-tGqcHHCx-aac1d333cbb9a93606d6.js} +1 -1
  66. data/tools/admin/{SpacerWidget-CUGpXBpA-879386da94febbdd5df4.js → SpacerWidget-CBmzzS_X-207fd991cbf6a40fe4b0.js} +1 -1
  67. data/tools/admin/{SparklineWidget-SBWjRrqq-1ad442e32af7d1bb78fe.js → SparklineWidget-CizRh6QR-125aeb303d4965c33db7.js} +1 -1
  68. data/tools/admin/{TabbookWidget-7l6fPoRA-1c5b5399c2d730902eef.js → TabbookWidget-CvL3Ozmx-392ae93cab5b7cbb9764.js} +1 -1
  69. data/tools/admin/{TargetsTab-DcHwCcSU-89e9ff5556005b9dc355.js → TargetsTab-KTV_gfLE-3a9c157196f584e54664.js} +1 -1
  70. data/tools/admin/{TextboxWidget-Qb0TNt4Y-5238a3bf1aa8a0007cc7.js → TextboxWidget-BtEwXzDO-e4893abb472b9a687d25.js} +1 -1
  71. data/tools/admin/TextfieldWidget-BDbb57HP-51b0d1e6a5aa914e5ac8.js +1 -0
  72. data/tools/admin/TimeWidget-DzD8U8l8-2591897a5196cb54b68d.js +1 -0
  73. data/tools/admin/TitleWidget-CL53vf14-6e11a61576950ccd39fd.js +1 -0
  74. data/tools/admin/{ToolsTab-MCjy5Bf6-0637f1a3a75fdf06961e.js → ToolsTab-yFxYcJ-o-7c21c60dd470d658fe4d.js} +1 -1
  75. data/tools/admin/TsdbTab-B0BR-V6A-ab626c8be8b9836c1c78.js +4 -0
  76. data/tools/admin/{VWidget-BgNciXK1-6f5fa1e1cbd09779ddb3.js → VWidget-5qOYva88-4db083a6475508bbf7ce.js} +1 -1
  77. data/tools/admin/{ValueWidget-B1OvCmXK-eb266467c9a31a007e30.js → ValueWidget-CAkuc_w_-6037c5f1b4e7c0e9c790.js} +1 -1
  78. data/tools/admin/ValuelimitsbarWidget-Y8sO05E1-c51344904eca186c081f.js +1 -0
  79. data/tools/admin/ValuelimitscolumnWidget-iOjB_fCj-c8c67d58522b7f505b4f.js +1 -0
  80. data/tools/admin/{ValuerangebarWidget-DjL4ze3d-81cc1402830d1310230c.js → ValuerangebarWidget-DsCoeAm6-a486168810aca7f0e206.js} +1 -1
  81. data/tools/admin/VerticalWidget-C6O0dhRU-7511fd89efa71860286e.js +1 -0
  82. data/tools/admin/{VerticalboxWidget-OigMLjH8-417cdb72cb30aa8bfbff.js → VerticalboxWidget-B-CoqRJG-29951e73bb5144b9ca2c.js} +1 -1
  83. data/tools/admin/{Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js → Widget-CtYQauzA-ae8839a2e4146c799aec.js} +1 -1
  84. data/tools/admin/main-040488697a5f3eed5115.js +1502 -0
  85. data/tools/admin/main.js +1 -1
  86. data/tools/admin/{settings-08OS6cx2-962b0af96c2434c7b414.js → settings-BrhbKDEv-791c3f57ac7979ee13b6.js} +1 -1
  87. metadata +85 -85
  88. data/tools/admin/ArrayWidget-CmKZQfWB-c2dd94f2c6f8abe8b7ee.js +0 -2
  89. data/tools/admin/CanvasWidget-1jy1JskS-d04e89c5942d4e27d8a9.js +0 -1
  90. data/tools/admin/CanvasdotWidget-DxuFGoWt-05d4284fd1e1ba0469bf.js +0 -1
  91. data/tools/admin/CanvaslabelWidget-Tt4dmAOI-079e7a005cce5d64dda3.js +0 -1
  92. data/tools/admin/CanvaslabelvalueWidget-D1-kZsi--2b8271b0530cf7fa746a.js +0 -1
  93. data/tools/admin/CanvaslineWidget-Din8LMyF-15b79b120e48dc68eb02.js +0 -1
  94. data/tools/admin/ComboboxWidget-xayce-aY-8dd8816f5d7dad721df4.js +0 -1
  95. data/tools/admin/Graph-Cwghj5Pc-0525f379d6f1496a3999.js +0 -1
  96. data/tools/admin/HorizontallineWidget-ChDLR_8D-708d272ff70ce91dbd57.js +0 -1
  97. data/tools/admin/InterfacesTab-CITUnMac-0085a7a386d1f92a98db.js +0 -1
  98. data/tools/admin/LabelsparklineWidget-Bbjjio1S-def15333338347ba53b1.js +0 -1
  99. data/tools/admin/LabelvalueWidget-Bc6HtTMO-b8a4464c57b19a98d4b3.js +0 -1
  100. data/tools/admin/LabelvaluelimitsbarWidget-CMnJoNKz-ca94e01d6d1794ed3ebe.js +0 -1
  101. data/tools/admin/LabelvaluelimitscolumnWidget-R5ofG4q1-56a2a76adac3f95c82e2.js +0 -1
  102. data/tools/admin/LabelvaluerangebarWidget-Qa3R2_4p-241f8c6ffc9a55e60551.js +0 -1
  103. data/tools/admin/LinegraphWidget-DaCyvdnI-d6f10e223bb947f1a3b1.js +0 -1
  104. data/tools/admin/PackagesTab-DmsuQSmU-294a5184dcaa0a941c15.js +0 -1
  105. data/tools/admin/RedisTab-9hUKvLT7-309940c3d130392a1f70.js +0 -1
  106. data/tools/admin/SettingsTab-CHcHYnay-28b2eddedc8430da6c99.js +0 -5
  107. data/tools/admin/TextfieldWidget-DcSGRfnF-4230617ca7538e7f4447.js +0 -1
  108. data/tools/admin/TimeWidget-aoMkDgRR-545325e26528dd70b1dc.js +0 -1
  109. data/tools/admin/TitleWidget-C8b9Vp5r-c553e464f08b0cdc3dea.js +0 -1
  110. data/tools/admin/TsdbTab-4OaejSum-06231378c66fdfdefcc3.js +0 -4
  111. data/tools/admin/ValuelimitsbarWidget-CUd9P_Xg-64f29a5b94c0d8b25711.js +0 -1
  112. data/tools/admin/ValuelimitscolumnWidget-CbThSMma-594c17c8ddaa58712e1b.js +0 -1
  113. data/tools/admin/VerticalWidget-V5-vGq7l-e930aaa06160609a20b9.js +0 -1
  114. data/tools/admin/main-05290d67af0d2bba595e.js +0 -1501
@@ -1,5 +0,0 @@
1
- System.register(["vue","./main-05290d67af0d2bba595e.js","./settings-08OS6cx2-962b0af96c2434c7b414.js","vue-router","pinia","single-spa","vuetify"],(function(Q,Ze){"use strict";var a,C,T,l,y,o,s,S,W,O,R,L,F,w,N,x,H,B;return{setters:[V=>{a=V.resolveComponent,C=V.openBlock,T=V.createElementBlock,l=V.createVNode,y=V.createBlock,o=V.withCtx,s=V.createTextVNode,S=V.toDisplayString,W=V.createSlots,O=V.mergeProps,R=V.createCommentVNode,L=V.withDirectives,F=V.vShow,w=V.Fragment,N=V.renderList},V=>{x=V.d,H=V.Z},V=>{B=V.n},null,null,null,null],execute:(function(){const V={data(){return{suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1}},watch:{selectAllSuppressedWarnings:function(t){t?this.selectedSuppressedWarnings=this.suppressedWarnings.map(e=>e.key):this.selectedSuppressedWarnings=[]}},created(){this.loadSuppressedWarnings()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter(t=>t.startsWith("suppresswarning__")).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},localStorageKeyToDisplayObject:function(t){const e=t.split("__")[1].replaceAll("_"," ");return{key:t,text:e.charAt(0).toUpperCase()+e.slice(1),value:localStorage[t]}},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},deleteLocalStorageKeys:function(t){for(const e of t)delete localStorage[e]}}};function ee(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-checkbox"),c=a("v-card-text"),m=a("v-btn"),g=a("v-card-actions"),v=a("v-card");return C(),y(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[2]||(e[2]=[s("Reset suppressed warnings",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[3]||(e[3]=[s(` This resets "don't show this again" dialogs on this browser `,-1)])]),_:1}),l(c,null,{default:o(()=>[r.suppressedWarnings.length?(C(),T(w,{key:0},[l(i,{modelValue:r.selectAllSuppressedWarnings,"onUpdate:modelValue":e[0]||(e[0]=n=>r.selectAllSuppressedWarnings=n),label:"Select All Warnings",density:"compact"},null,8,["modelValue"]),(C(!0),T(w,null,N(r.suppressedWarnings,n=>(C(),y(i,{key:n.key,modelValue:r.selectedSuppressedWarnings,"onUpdate:modelValue":e[1]||(e[1]=d=>r.selectedSuppressedWarnings=d),label:n.text,value:n.key,density:"compact","hide-details":""},null,8,["modelValue","label","value"]))),128))],64)):(C(),T(w,{key:1},[s(" No warnings to reset ")],64))]),_:1}),l(g,{class:"px-2"},{default:o(()=>[l(m,{disabled:!r.selectedSuppressedWarnings.length,color:"warning",variant:"text","data-test":"reset-suppressed-warnings",onClick:h.resetSuppressedWarnings},{default:o(()=>[...e[4]||(e[4]=[s(" Reset ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const te=x(V,[["render",ee]]),le={data(){return{lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1}},watch:{selectAllLastConfigs:function(t){t?this.selectedLastConfigs=this.lastConfigs.map(e=>e.key):this.selectedLastConfigs=[]}},created(){this.loadLastConfigs()},methods:{loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter(t=>t.endsWith("__default")).map(t=>{const e=t.split("__")[0].replaceAll("_"," ");return{key:t,text:e.charAt(0).toUpperCase()+e.slice(1)}}),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(t){for(const e of t)delete localStorage[e]}}};function oe(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-checkbox"),c=a("v-card-text"),m=a("v-btn"),g=a("v-card-actions"),v=a("v-card");return C(),y(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[2]||(e[2]=[s(" Clear default configs ",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[3]||(e[3]=[s(" This clears the default tool configs on this browser ",-1)])]),_:1}),l(c,null,{default:o(()=>[r.lastConfigs.length?(C(),T(w,{key:0},[l(i,{modelValue:r.selectAllLastConfigs,"onUpdate:modelValue":e[0]||(e[0]=n=>r.selectAllLastConfigs=n),label:"Select All Configs",density:"compact"},null,8,["modelValue"]),(C(!0),T(w,null,N(r.lastConfigs,n=>(C(),y(i,{key:n.key,modelValue:r.selectedLastConfigs,"onUpdate:modelValue":e[1]||(e[1]=d=>r.selectedLastConfigs=d),label:n.text,value:n.key,"hide-details":"",density:"compact"},null,8,["modelValue","label","value"]))),128))],64)):(C(),T(w,{key:1},[s(" No configs to clear ")],64))]),_:1}),l(g,{class:"px-2"},{default:o(()=>[l(m,{disabled:!r.selectedLastConfigs.length,color:"warning",variant:"text","data-test":"clear-default-configs",onClick:h.clearLastConfigs},{default:o(()=>[...e[4]||(e[4]=[s(" Clear ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const ae=x(le,[["render",oe]]),q="script_runner_locking",re={mixins:[B],data(){return{vimMode:H.isVimModeEnabled(),scriptLockingEnabled:!0,defaultLanguage:H.getDefaultScriptingLanguage(),languageOptions:[{text:"Ruby",value:"ruby"},{text:"Python",value:"python"}]}},created(){this.loadSetting(q)},methods:{save:function(){H.setVimMode(this.vimMode),H.setDefaultScriptingLanguage(this.defaultLanguage),this.saveSetting(q,this.scriptLockingEnabled)},parseSetting:function(t){t!=null&&(this.scriptLockingEnabled=t)}}};function se(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-select"),m=a("v-switch"),g=a("v-card-text"),v=a("v-btn"),n=a("v-card-actions"),d=a("v-card");return C(),y(d,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[6]||(e[6]=[s(" Code Editor Settings ",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[7]||(e[7]=[s(" Settings for the code editors built into COSMOS (e.g. in Script Runner). These settings are saved to your browser's local storage. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=k=>t.errorLoading=k),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=k=>t.errorSaving=k),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=k=>t.successSaving=k),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[8]||(e[8]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,{class:"pb-0"},{default:o(()=>[l(c,{modelValue:r.defaultLanguage,"onUpdate:modelValue":e[3]||(e[3]=k=>r.defaultLanguage=k),label:"Default scripting language",items:r.languageOptions,"item-title":"text","item-value":"value",color:"primary",class:"mt-4","data-test":"default-language"},null,8,["modelValue","items"]),l(m,{modelValue:r.vimMode,"onUpdate:modelValue":e[4]||(e[4]=k=>r.vimMode=k),label:"Vim mode",color:"primary"},null,8,["modelValue"]),l(m,{modelValue:r.scriptLockingEnabled,"onUpdate:modelValue":e[5]||(e[5]=k=>r.scriptLockingEnabled=k),label:`Script File Locking - When enabled, a script being edited
2
- by one user is read-only for other users until they explicitly force
3
- unlock. Disable to allow multiple users to edit the same script
4
- concurrently (last save wins).`,color:"primary","data-test":"script-locking-enabled"},null,8,["modelValue"])]),_:1}),l(n,null,{default:o(()=>[l(v,{color:"success",variant:"text","data-test":"save-editor-settings",onClick:h.save},{default:o(()=>[...e[9]||(e[9]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ne=x(re,[["render",se]]),P="astro",de={mixins:[B],data(){return{hideClock:!1}},created(){this.loadSetting(P)},methods:{save(){this.saveSetting(P,JSON.stringify({hideClock:this.hideClock}))},parseSetting:function(t){if(t){let e=JSON.parse(t);this.hideClock=e.hideClock}}}};function ie(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-alert"),i=a("v-switch"),c=a("v-card-text"),m=a("v-btn"),g=a("v-card-actions"),v=a("v-card");return C(),y(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("Astro Settings",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(c,{class:"pb-0"},{default:o(()=>[l(i,{modelValue:r.hideClock,"onUpdate:modelValue":e[3]||(e[3]=n=>r.hideClock=n),label:"Hide Astro Clock",color:"primary"},null,8,["modelValue"])]),_:1}),l(g,null,{default:o(()=>[l(m,{color:"success",variant:"text","data-test":"save-astro-settings",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ue=x(de,[["render",ie]]),Z="theme",ce={mixins:[B],data(){return{selectedTheme:"cosmosDark",themeOptions:[{label:"Astro (Default)",value:"cosmosDark"},{label:"Dark Cobalt",value:"cosmosDarkCobalt"},{label:"Dark Indigo",value:"cosmosDarkIndigo"},{label:"Dark Slate",value:"cosmosDarkSlate"},{label:"Dark Emerald",value:"cosmosDarkEmerald"}]}},created(){this.loadSetting(Z)},methods:{save(){this.saveSetting(Z,this.selectedTheme)},parseSetting(t){t&&(this.selectedTheme=t)}}};function me(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-alert"),i=a("v-select"),c=a("v-card-text"),m=a("v-btn"),g=a("v-card-actions"),v=a("v-card");return C(),y(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("Theme",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(c,{class:"pt-4 pb-0"},{default:o(()=>[l(i,{modelValue:r.selectedTheme,"onUpdate:modelValue":e[3]||(e[3]=n=>r.selectedTheme=n),label:"Theme",items:r.themeOptions,"item-title":"label","item-value":"value","data-test":"theme-select"},null,8,["modelValue","items"])]),_:1}),l(g,null,{default:o(()=>[l(m,{color:"success",variant:"text","data-test":"save-theme-settings",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ge=x(ce,[["render",me]]),j="classification_banner",pe={mixins:[B],data(){return{text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:t=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(t)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayTopBanner:function(t){t?this.topHeight=20:this.topHeight=0},displayBottomBanner:function(t){t?this.bottomHeight=20:this.bottomHeight=0},customFontColor:function(t){t&&t.length&&!t.startsWith("#")&&(this.customFontColor=`#${t}`)},customBackgroundColor:function(t){t&&t.length&&!t.startsWith("#")&&(this.customBackgroundColor=`#${t}`)}},created(){this.loadSetting(j)},methods:{save(){this.saveSetting(j,this.saveObj)},parseSetting:function(t){if(t){const e=JSON.parse(t);this.text=e.text,this.topHeight=e.topHeight,this.bottomHeight=e.bottomHeight,this.displayTopBanner=e.topHeight!==0,this.displayBottomBanner=e.bottomHeight!==0,e.backgroundColor&&e.backgroundColor.startsWith("#")?(this.customBackgroundColor=e.backgroundColor,this.selectedBackgroundColor=!1):this.selectedBackgroundColor=e.backgroundColor,e.fontColor&&e.fontColor.startsWith("#")?(this.customFontColor=e.fontColor,this.selectedFontColor=!1):this.selectedFontColor=e.fontColor}}}};function fe(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-alert"),i=a("v-text-field"),c=a("v-col"),m=a("v-row"),g=a("v-icon"),v=a("v-list-item"),n=a("v-select"),d=a("v-switch"),k=a("v-card-text"),A=a("v-btn"),D=a("v-card-actions"),M=a("v-card");return C(),y(M,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[12]||(e[12]=[s("Classification Banner Settings",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=p=>t.errorLoading=p),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=p=>t.errorSaving=p),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=p=>t.successSaving=p),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[13]||(e[13]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(k,{class:"pb-0"},{default:o(()=>[l(m,{dense:""},{default:o(()=>[l(c,null,{default:o(()=>[l(i,{modelValue:r.text,"onUpdate:modelValue":e[3]||(e[3]=p=>r.text=p),label:"Text","data-test":"classification-banner-text"},null,8,["modelValue"])]),_:1})]),_:1}),l(m,{dense:""},{default:o(()=>[l(c,null,{default:o(()=>[l(n,{modelValue:r.selectedBackgroundColor,"onUpdate:modelValue":e[4]||(e[4]=p=>r.selectedBackgroundColor=p),label:"Background color",items:r.colors,"item-title":"text","data-test":"classification-banner-background-color"},W({item:o(({props:p,item:f})=>[l(v,O(p,{value:f.text}),{prepend:o(()=>[f.value?(C(),y(g,{key:0,color:f.value},{default:o(()=>[...e[15]||(e[15]=[s(" mdi-square ",-1)])]),_:1},8,["color"])):R("",!0)]),_:2},1040,["value"])]),_:2},[r.selectedBackgroundColor?{name:"prepend-inner",fn:o(()=>[l(g,{color:r.selectedBackgroundColor},{default:o(()=>[...e[14]||(e[14]=[s(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),l(c,null,{default:o(()=>[l(i,{modelValue:r.customBackgroundColor,"onUpdate:modelValue":e[5]||(e[5]=p=>r.customBackgroundColor=p),label:"Custom background color",hint:r.customColorHint,disabled:r.selectedBackgroundColor!==!1,rules:[r.rules.customColor],"data-test":"classification-banner-custom-background-color"},{"prepend-inner":o(()=>[L(l(g,{color:r.customBackgroundColor},{default:o(()=>[...e[16]||(e[16]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,!r.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),l(c,null,{default:o(()=>[l(n,{modelValue:r.selectedFontColor,"onUpdate:modelValue":e[6]||(e[6]=p=>r.selectedFontColor=p),label:"Font color",items:r.colors,"item-title":"text","data-test":"classification-banner-font-color"},W({item:o(({props:p,item:f})=>[l(v,O(p,{value:f.text}),{prepend:o(()=>[f.value?(C(),y(g,{key:0,color:f.value},{default:o(()=>[...e[18]||(e[18]=[s(" mdi-square ",-1)])]),_:1},8,["color"])):R("",!0)]),_:2},1040,["value"])]),_:2},[r.selectedFontColor?{name:"prepend-inner",fn:o(()=>[L(l(g,{color:r.selectedFontColor},{default:o(()=>[...e[17]||(e[17]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,r.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),l(c,null,{default:o(()=>[l(i,{modelValue:r.customFontColor,"onUpdate:modelValue":e[7]||(e[7]=p=>r.customFontColor=p),label:"Custom font color",hint:r.customColorHint,disabled:r.selectedFontColor!==!1,rules:[r.rules.customColor],"data-test":"classification-banner-custom-font-color"},{"prepend-inner":o(()=>[L(l(g,{color:r.customFontColor},{default:o(()=>[...e[19]||(e[19]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,!r.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1}),l(m,{dense:""},{default:o(()=>[l(c,null,{default:o(()=>[l(d,{modelValue:r.displayTopBanner,"onUpdate:modelValue":e[8]||(e[8]=p=>r.displayTopBanner=p),label:"Display top banner",color:"primary","data-test":"display-top-banner"},null,8,["modelValue"])]),_:1}),l(c,null,{default:o(()=>[l(i,{modelValue:r.topHeight,"onUpdate:modelValue":e[9]||(e[9]=p=>r.topHeight=p),label:"Top height",disabled:!r.displayTopBanner,type:"number",suffix:"px","data-test":"classification-banner-top-height"},null,8,["modelValue","disabled"])]),_:1}),l(c,null,{default:o(()=>[l(d,{modelValue:r.displayBottomBanner,"onUpdate:modelValue":e[10]||(e[10]=p=>r.displayBottomBanner=p),label:"Display bottom banner",color:"primary","data-test":"display-bottom-banner"},null,8,["modelValue"])]),_:1}),l(c,null,{default:o(()=>[l(i,{modelValue:r.bottomHeight,"onUpdate:modelValue":e[11]||(e[11]=p=>r.bottomHeight=p),label:"Bottom height",disabled:!r.displayBottomBanner,type:"number",suffix:"px","data-test":"classification-banner-bottom-height"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),l(D,null,{default:o(()=>[l(A,{disabled:!h.formValid,color:"success",variant:"text","data-test":"save-classification-banner",onClick:h.save},{default:o(()=>[...e[20]||(e[20]=[s(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const he=x(pe,[["render",fe]]),$="time_zone",ve={mixins:[B],data(){return{timeZones:["local","UTC"],timeZone:"local"}},created(){this.loadSetting($)},methods:{save(){this.saveSetting($,this.timeZone)},parseSetting:function(t){t&&(this.timeZone=t)}}};function be(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-select"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("Time Zone",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(" The time zone to use in all COSMOS tools (graphs, time choosers, log messages, etc). Anywhere a date / time is displayed, it will be in the chosen time zone. (Note: All timestamps are UTC in the backend). ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,null,{default:o(()=>[l(c,{modelValue:r.timeZone,"onUpdate:modelValue":e[3]||(e[3]=d=>r.timeZone=d),items:r.timeZones,label:"Select time display","hide-details":"","prepend-icon":"mdi-map-clock","single-line":"","data-test":"time-zone"},null,8,["modelValue","items"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-time-zone",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Ce=x(ve,[["render",be]]),z="time_format",Se={mixins:[B],data(){return{timeFormats:[{title:"12-hour (AM/PM)",value:"ampm"},{title:"24-hour",value:"24hr"}],timeFormat:"ampm"}},created(){this.loadSetting(z)},methods:{save(){this.saveSetting(z,this.timeFormat)},parseSetting:function(t){t&&(this.timeFormat=t)}}};function Ve(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-select"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("Time Format",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(" The time format to use in all COSMOS tools (time pickers, etc). This setting controls whether time is displayed in 12-hour (AM/PM) or 24-hour format. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,null,{default:o(()=>[l(c,{modelValue:r.timeFormat,"onUpdate:modelValue":e[3]||(e[3]=d=>r.timeFormat=d),items:r.timeFormats,label:"Select time format","hide-details":"","prepend-icon":"mdi-clock-outline","single-line":"","data-test":"time-format"},null,8,["modelValue","items"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-time-format",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ye=x(Se,[["render",Ve]]),J="news_feed",_e={mixins:[B],data(){return{newsFeed:!0}},created(){this.loadSetting(J)},methods:{save(){this.saveSetting(J,this.newsFeed),this.newsFeed&&this.api.update_news()},parseSetting:function(t){this.newsFeed=t}}};function ke(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-alert"),i=a("v-switch"),c=a("v-card-text"),m=a("v-btn"),g=a("v-card-actions"),v=a("v-card");return C(),y(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("News Feed Settings",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(c,{class:"pb-0"},{default:o(()=>[l(i,{modelValue:r.newsFeed,"onUpdate:modelValue":e[3]||(e[3]=n=>r.newsFeed=n),label:`Allow COSMOS backend to pull the news feed from the COSMOS external news site.
5
- This is a low bandwidth poll which only happens every 12 hrs. To immediately update the news feed, click the 'Refresh' in the User Menu.`,color:"primary"},null,8,["modelValue"])]),_:1}),l(g,null,{default:o(()=>[l(m,{color:"success",variant:"text","data-test":"save-news-feed",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const xe=x(_e,[["render",ke]]),K="subtitle",Ue={mixins:[B],data(){return{subtitle:""}},created(){this.loadSetting(K)},methods:{save(){this.saveSetting(K,this.subtitle)},parseSetting:function(t){t&&(this.subtitle=t)}}};function Be(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-text-field"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s("Subtitle",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(" This sets a subtitle to display below the COSMOS logo in the Navigation bar. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(c,{modelValue:r.subtitle,"onUpdate:modelValue":e[3]||(e[3]=d=>r.subtitle=d),label:"Subtitle","data-test":"subtitle"},null,8,["modelValue"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-subtitle",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Te=x(Ue,[["render",Be]]),I="source_url",Le={mixins:[B],data(){return{sourceUrl:"https://github.com/OpenC3/cosmos"}},created(){this.loadSetting(I)},methods:{save(){this.saveSetting(I,this.sourceUrl)},parseSetting:function(t){t&&(this.sourceUrl=t)}}};function Fe(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-text-field"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s(" Source code URL ",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(' This sets the URL for the "Source" link in the footer. ',-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(c,{modelValue:r.sourceUrl,"onUpdate:modelValue":e[3]||(e[3]=d=>r.sourceUrl=d),label:"Source URL","data-test":"source-url"},null,8,["modelValue"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-source-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const we=x(Le,[["render",Fe]]),G="rubygems_url",Ee={mixins:[B],data(){return{rubygemsUrl:"https://rubygems.org"}},created(){this.loadSetting(G)},methods:{save(){this.saveSetting(G,this.rubygemsUrl)},parseSetting:function(t){t&&(this.rubygemsUrl=t)}}};function We(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-text-field"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s(" Rubygems URL ",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(c,{modelValue:r.rubygemsUrl,"onUpdate:modelValue":e[3]||(e[3]=d=>r.rubygemsUrl=d),label:"Rubygems URL","data-test":"rubygems-url"},null,8,["modelValue"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-rubygems-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Oe=x(Ee,[["render",We]]),Y="pypi_url",Re={mixins:[B],data(){return{pypiUrl:"https://pypi.org"}},created(){this.loadSetting(Y)},methods:{save(){this.saveSetting(Y,this.pypiUrl)},parseSetting:function(t){t&&(this.pypiUrl=t)}}};function He(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-text-field"),m=a("v-card-text"),g=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return C(),y(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[s(" Pypi URL ",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[5]||(e[5]=[s(" This sets the URL for installing dependency python packages. Also used for package discovery. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=d=>t.errorLoading=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=d=>t.errorSaving=d),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=d=>t.successSaving=d),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(c,{modelValue:r.pypiUrl,"onUpdate:modelValue":e[3]||(e[3]=d=>r.pypiUrl=d),label:"Pypi URL","data-test":"pypi-url"},null,8,["modelValue"])]),_:1}),l(v,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-pypi-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[s(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Ae=x(Re,[["render",He]]),X="context_tag",De={mixins:[B],data(){return{text:"",displayContextTag:!1,selectedBackgroundColor:"#009fa3",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Teal",value:"#009fa3"},{text:"Purple",value:"#6058a8"},{text:"Pink",value:"#81009a"},{text:"Orange",value:"#af420a"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:t=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(t)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor})},formValid:function(){return(this.selectedFontColor||this.rules.customColor(this.customFontColor)===!0)&&(this.selectedBackgroundColor||this.rules.customColor(this.customBackgroundColor)===!0)}},watch:{displayContextTag:function(t){t?this.text||(this.text="REPLACEME"):this.text=null},customFontColor:function(t){t&&t.length&&!t.startsWith("#")&&(this.customFontColor=`#${t}`)},customBackgroundColor:function(t){t&&t.length&&!t.startsWith("#")&&(this.customBackgroundColor=`#${t}`)}},created(){this.loadSetting(X)},methods:{save(){this.saveSetting(X,this.saveObj)},parseSetting:function(t){if(t){const e=JSON.parse(t);this.text=e.text,this.displayContextTag=!!e.text,e.backgroundColor&&(this.colors.some(_=>_.value===e.backgroundColor)?this.selectedBackgroundColor=e.backgroundColor:(this.customBackgroundColor=e.backgroundColor,this.selectedBackgroundColor=!1)),e.fontColor&&(this.colors.some(_=>_.value===e.fontColor)?this.selectedFontColor=e.fontColor:(this.customFontColor=e.fontColor,this.selectedFontColor=!1))}}}};function Me(t,e,_,U,r,h){const b=a("v-card-title"),u=a("v-card-subtitle"),i=a("v-alert"),c=a("v-text-field"),m=a("v-col"),g=a("v-row"),v=a("v-switch"),n=a("v-icon"),d=a("v-list-item"),k=a("v-select"),A=a("v-card-text"),D=a("v-btn"),M=a("v-card-actions"),p=a("v-card");return C(),y(p,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[9]||(e[9]=[s("Context Tag Settings",-1)])]),_:1}),l(u,null,{default:o(()=>[...e[10]||(e[10]=[s(" When enabled this displays a Context Tag on the top right of the screen with custom colors and text. This can help differentiate environments. ",-1)])]),_:1}),l(i,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=f=>t.errorLoading=f),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=f=>t.errorSaving=f),type:"error",closable:"",density:"compact"},{default:o(()=>[s(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(i,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=f=>t.successSaving=f),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[11]||(e[11]=[s(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(A,{class:"pb-0"},{default:o(()=>[l(g,{dense:""},{default:o(()=>[l(m,null,{default:o(()=>[l(c,{modelValue:r.text,"onUpdate:modelValue":e[3]||(e[3]=f=>r.text=f),label:"Text","data-test":"context-tag-text",disabled:!r.displayContextTag},null,8,["modelValue","disabled"])]),_:1})]),_:1}),l(g,{dense:""},{default:o(()=>[l(m,null,{default:o(()=>[l(v,{modelValue:r.displayContextTag,"onUpdate:modelValue":e[4]||(e[4]=f=>r.displayContextTag=f),label:"Display context tag",color:"primary","data-test":"display-context-tag"},null,8,["modelValue"])]),_:1}),l(m,null,{default:o(()=>[l(k,{modelValue:r.selectedBackgroundColor,"onUpdate:modelValue":e[5]||(e[5]=f=>r.selectedBackgroundColor=f),label:"Background color",items:r.colors,"item-title":"text","data-test":"context-tag-background-color"},W({item:o(({props:f,item:E})=>[l(d,O(f,{value:E.text}),{prepend:o(()=>[E.value?(C(),y(n,{key:0,color:E.value},{default:o(()=>[...e[13]||(e[13]=[s(" mdi-square ",-1)])]),_:1},8,["color"])):R("",!0)]),_:2},1040,["value"])]),_:2},[r.selectedBackgroundColor?{name:"prepend-inner",fn:o(()=>[l(n,{color:r.selectedBackgroundColor},{default:o(()=>[...e[12]||(e[12]=[s(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),l(m,null,{default:o(()=>[l(c,{modelValue:r.customBackgroundColor,"onUpdate:modelValue":e[6]||(e[6]=f=>r.customBackgroundColor=f),label:"Custom background color",hint:r.customColorHint,disabled:r.selectedBackgroundColor!==!1,rules:[r.rules.customColor],"data-test":"context-tag-custom-background-color"},{"prepend-inner":o(()=>[L(l(n,{color:r.customBackgroundColor},{default:o(()=>[...e[14]||(e[14]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,!r.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),l(m,null,{default:o(()=>[l(k,{modelValue:r.selectedFontColor,"onUpdate:modelValue":e[7]||(e[7]=f=>r.selectedFontColor=f),label:"Font color",items:r.colors,"item-title":"text","data-test":"context-tag-font-color"},W({item:o(({props:f,item:E})=>[l(d,O(f,{value:E.text}),{prepend:o(()=>[E.value?(C(),y(n,{key:0,color:E.value},{default:o(()=>[...e[16]||(e[16]=[s(" mdi-square ",-1)])]),_:1},8,["color"])):R("",!0)]),_:2},1040,["value"])]),_:2},[r.selectedFontColor?{name:"prepend-inner",fn:o(()=>[L(l(n,{color:r.selectedFontColor},{default:o(()=>[...e[15]||(e[15]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,r.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items"])]),_:1}),l(m,null,{default:o(()=>[l(c,{modelValue:r.customFontColor,"onUpdate:modelValue":e[8]||(e[8]=f=>r.customFontColor=f),label:"Custom font color",hint:r.customColorHint,disabled:r.selectedFontColor!==!1,rules:[r.rules.customColor],"data-test":"context-tag-custom-font-color"},{"prepend-inner":o(()=>[L(l(n,{color:r.customFontColor},{default:o(()=>[...e[17]||(e[17]=[s(" mdi-square ",-1)])]),_:1},8,["color"]),[[F,!r.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1})]),_:1}),l(M,null,{default:o(()=>[l(D,{disabled:!h.formValid,color:"success",variant:"text","data-test":"save-context-tag",onClick:h.save},{default:o(()=>[...e[18]||(e[18]=[s(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const Ne=x(De,[["render",Me]]),qe={components:{SuppressedSettings:te,DefaultConfigSettings:ae,EditorSettings:ne,AstroSettings:ue,ThemeSettings:ge,ClassificationBannerSettings:he,TimeZoneSettings:Ce,TimeFormatSettings:ye,NewsFeedSettings:xe,SubtitleSettings:Te,SourceCodeSettings:we,RubyGemsSettings:Oe,PypiSettings:Ae,ContextTagSettings:Ne}};function Pe(t,e,_,U,r,h){const b=a("suppressed-settings"),u=a("v-divider"),i=a("default-config-settings"),c=a("editor-settings"),m=a("astro-settings"),g=a("theme-settings"),v=a("time-zone-settings"),n=a("time-format-settings"),d=a("news-feed-settings"),k=a("classification-banner-settings"),A=a("subtitle-settings"),D=a("source-code-settings"),M=a("ruby-gems-settings"),p=a("pypi-settings"),f=a("context-tag-settings");return C(),T("div",null,[l(b),l(u),l(i),l(u),l(c),l(u),l(m),l(u),l(g),l(u),l(v),l(u),l(n),l(u),l(d),l(u),l(k),l(u),l(A),l(u),l(D),l(u),l(M),l(u),l(p),l(u),l(f)])}const je=Q("default",x(qe,[["render",Pe]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","vue","./main-05290d67af0d2bba595e.js","vue-router","pinia","single-spa","vuetify"],(function(u,p){"use strict";var t,l,n,a,s,i;return{setters:[e=>{t=e.h},e=>{l=e.resolveComponent,n=e.openBlock,a=e.createBlock,s=e.normalizeStyle},e=>{i=e.d},null,null,null,null],execute:(function(){const e={mixins:[t],data(){return{value:null}},created(){this.setWidth(this.parameters[0],"ch",12),this.parameters[1]&&(this.value=this.parameters[1])},methods:{text(){return this.value}}};function c(d,r,y,f,o,B){const h=l("v-text-field");return n(),a(h,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=m=>o.value=m),variant:"solo",density:"compact","single-line":"","hide-no-data":"","hide-details":"",style:s(d.computedStyle)},null,8,["modelValue","style"])}const v=u("default",i(e,[["render",c]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","./OpenC3TimePicker-WVlNQdKk-82dafbfd86f21e02b597.js","./main-05290d67af0d2bba595e.js","vue","vue-router","pinia","single-spa","vuetify"],(function(c,k){"use strict";var l,i,n,a,r,s,o,u;return{setters:[e=>{l=e.h},e=>{i=e.w},e=>{n=e.d,a=e.R},e=>{r=e.resolveComponent,s=e.openBlock,o=e.createBlock,u=e.normalizeStyle},null,null,null,null],execute:(function(){const e={components:{OpenC3TimePicker:i},mixins:[l,a],data(){return{label:"Time",timeValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.timeValue=this.formatTimeHMS(new Date,this.screenTimeZone)},methods:{text(){return this.timeValue},time(){return this.timeValue}}};function d(p,m,y,T,t,v){const h=r("OpenC3TimePicker");return s(),o(h,{modelValue:t.timeValue,"onUpdate:modelValue":m[0]||(m[0]=V=>t.timeValue=V),label:t.label,style:u(p.computedStyle),"hide-details":""},null,8,["modelValue","label","style"])}const f=c("default",n(e,[["render",d]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","vue","./main-05290d67af0d2bba595e.js","vue-router","pinia","single-spa","vuetify"],(function(s,p){"use strict";var t,r,n,l,i,a;return{setters:[e=>{t=e.h},e=>{r=e.openBlock,n=e.createElementBlock,l=e.normalizeStyle,i=e.toDisplayString},e=>{a=e.d},null,null,null,null],execute:(function(){const e={mixins:[t],computed:{labelText(){return this.parameters[0]}},created(){if(this.parameters.length<1)throw new Error("Not enough parameters for TITLE.")}};function o(c,f,d,h,y,u){return r(),n("div",{class:"text-h5 text-center pa-1 mt-1 label",style:l(c.computedStyle)},i(u.labelText),5)}const m=s("default",a(e,[["render",o]]))})}}));
@@ -1,4 +0,0 @@
1
- System.register(["./main-05290d67af0d2bba595e.js","vue","vue-router","pinia","single-spa","vuetify"],(function(H,Le){"use strict";var N,G,r,u,p,s,i,h,L,l,c,f,D,A,U,z;return{setters:[v=>{N=v.d,G=v.a},v=>{r=v.resolveComponent,u=v.openBlock,p=v.createElementBlock,s=v.createVNode,i=v.withCtx,h=v.createTextVNode,L=v.createBlock,l=v.createElementVNode,c=v.toDisplayString,f=v.createCommentVNode,D=v.Fragment,A=v.renderList,U=v.normalizeClass,z=v.mergeProps},null,null,null,null],execute:(function(){const v={downloading:"Downloading files…",enabling_dedup:"Enabling DEDUP…",ingesting:"Ingesting packets…",dedup_cooldown:"Waiting for DEDUP cooldown…",disabling_dedup:"Disabling DEDUP…"},Q={props:{modelValue:{type:Boolean,default:!1},context:{type:Object,required:!0}},emits:["update:modelValue","complete"],data(){return{loadingCandidates:!1,candidates:[],selectedKeys:[],targetVersion:"as_logged",bucketEnv:null,path:null,candidateHeaders:[{title:"File",key:"filename"},{title:"Key",key:"key"}],jobId:null,jobStatus:null,pollHandle:null,errorMessage:null,confirmCloseOpen:!1}},computed:{isRunning(){return this.jobStatus?["Queued","Running"].includes(this.jobStatus.state):!1},phaseLabel(){const a=this.jobStatus?.progress_phase;if(!a)return this.jobStatus?.state||"";if(a==="dedup_cooldown"){const e=this.cooldownRemaining;if(e!=null)return`Waiting for DEDUP cooldown (${e}s)…`}return v[a]||a},cooldownRemaining(){const a=this.jobStatus?.dedup_enabled_at,e=this.jobStatus?.dedup_cooldown_seconds;if(!a||!e)return null;const n=Date.now()/1e3,o=new Date(a).getTime()/1e3,t=Math.round(o+e-n);return Math.max(t,0)},progressPercent(){const a=this.jobStatus;return a?a.state==="Complete"?100:!a.progress_total||a.progress_total===0?0:Math.round(a.progress_current/a.progress_total*100):0}},watch:{modelValue(a){a&&this.fetchCandidates()}},mounted(){this.modelValue&&this.fetchCandidates()},beforeUnmount(){this.stopPolling()},methods:{close(){this.stopPolling();const a=this.jobStatus?.state==="Complete";this.resetState(),this.$emit("update:modelValue",!1),a&&this.$emit("complete")},attemptClose(){this.isRunning?this.confirmCloseOpen=!0:this.close()},confirmClose(){this.confirmCloseOpen=!1,this.close()},resetState(){this.candidates=[],this.selectedKeys=[],this.targetVersion="as_logged",this.bucketEnv=null,this.path=null,this.jobId=null,this.jobStatus=null,this.errorMessage=null,this.loadingCandidates=!1,this.confirmCloseOpen=!1},async fetchCandidates(){this.resetState(),this.loadingCandidates=!0;try{const a=await G.get("/openc3-api/storage/repair_candidates",{params:{scope:this.context.scope,target:this.context.target,packet:this.context.packet,cmd_or_tlm:this.context.cmdOrTlm,start_time:this.context.gap.startIso,end_time:this.context.gap.endIso}});this.candidates=a.data.files||[],this.bucketEnv=a.data.bucket,this.path=a.data.path,this.selectedKeys=this.candidates.map(e=>e.key)}catch(a){this.errorMessage=a.response?.data?.message||a.message}finally{this.loadingCandidates=!1}},async startReingest(){this.errorMessage=null;const a=this.selectedKeys.map(e=>this.path&&e.startsWith(this.path)?e.slice(this.path.length):e.split("/").pop());try{const e=await G.post("/openc3-api/storage/reingest",{data:{scope:this.context.scope,bucket:this.bucketEnv,path:this.path,files:a,target_version:this.targetVersion}});this.jobId=e.data.job_id,this.jobStatus={state:e.data.state},this.startPolling()}catch(e){this.errorMessage=e.response?.data?.message||e.message}},startPolling(){this.stopPolling(),this.pollHandle=setInterval(this.pollStatus,2e3),this.pollStatus()},stopPolling(){this.pollHandle&&(clearInterval(this.pollHandle),this.pollHandle=null)},async pollStatus(){if(this.jobId)try{const a=await G.get(`/openc3-api/storage/reingest/${this.jobId}`,{params:{scope:this.context.scope}});this.jobStatus=a.data,this.isRunning||this.stopPolling()}catch(a){this.errorMessage=a.response?.data?.message||a.message,this.stopPolling()}}}},F={key:0,class:"text-red monospace mb-4"},q={key:0,class:"d-flex align-center mb-4"},W={key:0,class:"text-medium-emphasis"},Y={class:"mb-2"},Z={class:"mt-4"},J={key:0},X={key:1},ee={key:2},te={class:"text-red"},ae={key:3},se={class:"text-orange"};function le(a,e,n,o,t,d){const b=r("v-card-title"),E=r("v-card-subtitle"),k=r("v-progress-circular"),R=r("v-data-table"),T=r("v-radio"),I=r("v-radio-group"),w=r("v-table"),x=r("v-progress-linear"),V=r("v-card-text"),g=r("v-spacer"),y=r("v-btn"),_=r("v-card-actions"),C=r("v-card"),B=r("v-dialog");return u(),L(B,{"model-value":n.modelValue,"max-width":"900",persistent:""},{default:i(()=>[s(C,null,{default:i(()=>[s(b,{class:"d-flex align-center"},{default:i(()=>[h(" Repair Gap: "+c(n.context.target)+" "+c(n.context.packet),1)]),_:1}),n.context.gap?(u(),L(E,{key:0},{default:i(()=>[h(c(n.context.gap.start)+" — "+c(n.context.gap.end)+" ("+c(n.context.gap.duration)+") ",1)]),_:1})):f("",!0),s(V,{style:{"max-height":"75vh","overflow-y":"auto"}},{default:i(()=>[t.errorMessage?(u(),p("div",F," Error: "+c(t.errorMessage),1)):f("",!0),t.jobId?t.jobStatus?(u(),p(D,{key:2},[s(w,{density:"compact",class:"monospace mb-4"},{default:i(()=>[l("tbody",null,[l("tr",null,[e[8]||(e[8]=l("td",{class:"font-weight-bold"},"Job",-1)),l("td",null,c(t.jobId),1)]),l("tr",null,[e[9]||(e[9]=l("td",{class:"font-weight-bold"},"State",-1)),l("td",null,c(t.jobStatus.state),1)]),l("tr",null,[e[10]||(e[10]=l("td",{class:"font-weight-bold"},"Phase",-1)),l("td",null,c(d.phaseLabel),1)]),t.jobStatus.target_version?(u(),p("tr",J,[e[11]||(e[11]=l("td",{class:"font-weight-bold"},"Target Version",-1)),l("td",null,c(t.jobStatus.target_version),1)])):f("",!0),t.jobStatus.packets_written!==void 0?(u(),p("tr",X,[e[12]||(e[12]=l("td",{class:"font-weight-bold"},"Packets Written",-1)),l("td",null,c(t.jobStatus.packets_written.toLocaleString()),1)])):f("",!0),t.jobStatus.error?(u(),p("tr",ee,[e[13]||(e[13]=l("td",{class:"font-weight-bold text-red"},"Error",-1)),l("td",te,c(t.jobStatus.error),1)])):f("",!0),t.jobStatus.warnings&&t.jobStatus.warnings.length?(u(),p("tr",ae,[e[14]||(e[14]=l("td",{class:"font-weight-bold text-orange"},"Warnings",-1)),l("td",se,[(u(!0),p(D,null,A(t.jobStatus.warnings,(M,K)=>(u(),p("div",{key:K},c(M),1))),128))])])):f("",!0)])]),_:1}),s(x,{"model-value":d.progressPercent,indeterminate:d.progressPercent===0&&d.isRunning,class:"mb-2"},null,8,["model-value","indeterminate"])],64)):f("",!0):(u(),p(D,{key:1},[t.loadingCandidates?(u(),p("div",q,[s(k,{indeterminate:"",size:"24",class:"mr-3"}),e[4]||(e[4]=h(" Searching bucket for raw log files that cover this gap… ",-1))])):(u(),p(D,{key:1},[t.candidates.length===0?(u(),p("div",W," No raw log files cover this gap window. Reingest is not available — the data may have been written from a source that skipped raw logging, or the logs have been deleted. ")):(u(),p(D,{key:1},[l("div",Y,c(t.candidates.length)+" raw log file(s) overlap this window. Select which to reingest: ",1),s(R,{modelValue:t.selectedKeys,"onUpdate:modelValue":e[0]||(e[0]=M=>t.selectedKeys=M),headers:t.candidateHeaders,items:t.candidates,"item-value":"key","show-select":"",class:"monospace","items-per-page":20,density:"compact","data-test":"repair-candidates"},null,8,["modelValue","headers","items"]),l("div",Z,[e[7]||(e[7]=l("div",{class:"text-subtitle-2 font-weight-bold mb-1"}," Target Definition Version ",-1)),s(I,{modelValue:t.targetVersion,"onUpdate:modelValue":e[1]||(e[1]=M=>t.targetVersion=M),"hide-details":"",density:"compact","data-test":"repair-version"},{default:i(()=>[s(T,{value:"as_logged","data-test":"repair-version-as-logged"},{label:i(()=>[...e[5]||(e[5]=[l("div",{style:{"padding-left":"10px"}},[l("div",null,"As logged (default)"),l("div",{class:"text-caption text-medium-emphasis"}," Decode each file with the cmd/tlm definition that was in effect when the data was originally logged. Safest for historical fidelity — preserves packet layouts as they existed at that time. "),l("div",{class:"text-caption text-medium-emphasis mt-1"}," If an item's type has changed since the log was written (e.g. STRING → FLOAT), QuestDB column types are kept as-is; historical values are cast to fit the current column, and any values that can't cast are stored as NULL. ")],-1)])]),_:1}),s(T,{value:"current","data-test":"repair-version-current"},{label:i(()=>[...e[6]||(e[6]=[l("div",{style:{"padding-left":"10px"}},[l("div",null,"Current"),l("div",{class:"text-caption text-medium-emphasis"}," Decode all files with the latest cmd/tlm definition. Choose this when the historical definition had a bug that you've since fixed, and you want the reingested data decoded with the corrected layout. ")],-1)])]),_:1})]),_:1},8,["modelValue"])])],64))],64))],64))]),_:1}),s(_,{class:"px-4 pb-4"},{default:i(()=>[s(g),t.jobId?f("",!0):(u(),L(y,{key:0,color:"warning",variant:"elevated",disabled:t.loadingCandidates||t.candidates.length===0||t.selectedKeys.length===0,"data-test":"repair-reingest",onClick:d.startReingest},{default:i(()=>[h(" Reingest "+c(t.selectedKeys.length),1)]),_:1},8,["disabled","onClick"])),s(y,{variant:"text","data-test":"repair-close",onClick:d.attemptClose},{default:i(()=>[...e[15]||(e[15]=[h(" Close ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),s(B,{modelValue:t.confirmCloseOpen,"onUpdate:modelValue":e[3]||(e[3]=M=>t.confirmCloseOpen=M),"max-width":"500",persistent:""},{default:i(()=>[s(C,null,{default:i(()=>[s(b,null,{default:i(()=>[...e[16]||(e[16]=[h("Reingest Still Running",-1)])]),_:1}),s(V,null,{default:i(()=>[...e[17]||(e[17]=[h(" The reingest job is still in progress. Closing this dialog will not stop the job, but you will lose visibility into its status. Are you sure you want to close? ",-1)])]),_:1}),s(_,{class:"px-4 pb-4"},{default:i(()=>[s(g),s(y,{variant:"text","data-test":"repair-close-cancel",onClick:e[2]||(e[2]=M=>t.confirmCloseOpen=!1)},{default:i(()=>[...e[18]||(e[18]=[h(" Keep Watching ",-1)])]),_:1}),s(y,{color:"warning",variant:"elevated","data-test":"repair-close-confirm",onClick:d.confirmClose},{default:i(()=>[...e[19]||(e[19]=[h(" Close Anyway ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model-value"])}const ie=N(Q,[["render",le],["__scopeId","data-v-2ab87eb9"]]);async function P(a,e,n=3){for(let o=1;o<=n;o++)try{let t="/openc3-api/tsdb/exec";return e&&e!=="0"&&(t+=`?db_shard=${e}`),await G.post(t,{data:a,headers:{Accept:"application/json","Content-Type":"text/plain"}})}catch(t){const d=t.response?.data?.message||t.message||"";if((d.includes("PQconsumeInput")||d.includes("server closed the connection"))&&o<n){await new Promise(b=>setTimeout(b,1e3*o));continue}throw t}}const oe={components:{RepairGapDialog:ie},data(){return{metricsRows:[],metricsError:null,metricsLoading:!1,metricsGroupBy:[{key:"target",order:"asc"}],metricsHeaders:[{title:"Packet",key:"packet"},{title:"Table Name",key:"tableName"},{title:"Partition Count",key:"partitionCount"},{title:"Row Count",key:"rowCount"},{title:"Disk Size",key:"diskSize"},{title:"Actions",key:"actions",sortable:!1}],gapDialog:!1,gapDialogTitle:"",gapLoading:!1,gapProgress:0,gapError:null,gapSummary:null,gapGroupResults:null,gapHeaders:[{title:"Gap Start",key:"start"},{title:"Gap End",key:"end"},{title:"Duration",key:"duration"},{title:"Actions",key:"actions",sortable:!1,width:80}],repairDialog:!1,repairContext:null,gapSampleInterval:"1m",db_shard:"0"}},computed:{sections(){return[{title:"Telemetry",items:this.metricsRows.filter(a=>a.type==="TLM")},{title:"Commands",items:this.metricsRows.filter(a=>a.type==="CMD")}]}},mounted(){this.fetchMetrics()},methods:{groupRowCount(a){return a.reduce((e,n)=>e+Number((n.raw||n).rowCount||0),0)},groupDiskSize(a){return a.reduce((e,n)=>e+Number((n.raw||n).diskSize||0),0)},formatBytes(a){if(a===0)return"0 B";const e=["B","KB","MB","GB","TB"],n=1024,o=Math.floor(Math.log(a)/Math.log(n));return`${(a/Math.pow(n,o)).toFixed(o===0?0:1)} ${e[o]}`},fetchMetrics(){this.metricsError=null,this.metricsRows=[],this.metricsLoading=!0,P("SELECT tableName, partitionCount, rowCount, diskSize FROM table_storage;",this.db_shard).then(a=>{const e=a.data.columns;this.metricsRows=a.data.rows.map(n=>{const o={};e.forEach((d,b)=>{o[d]=n[b]});const t=(o.tableName||"").split("__");return o.type=t[1]||"",o.target=t[2]||"",o.packet=t[3]||"",o})}).catch(a=>{a.response&&a.response.data?this.metricsError=a.response.data.message:this.metricsError=a.message}).finally(()=>{this.metricsLoading=!1})},dropTable(a){return P(`DROP TABLE '${a}';`,this.db_shard)},deleteTable(a){let e=a.split("__")[2]||a,n=a.split("__")[3]||a;this.$dialog.confirm(`Are you sure you want to drop table: ${a}? This removes ALL decommutated data for ${e} ${n}!`,{okText:"Delete",cancelText:"Cancel"}).then(()=>{this.dropTable(a).then(()=>{this.metricsRows=this.metricsRows.filter(o=>o.tableName!==a)}).catch(o=>{o.response&&o.response.data?this.metricsError=o.response.data.message:this.metricsError=o.message})})},deleteGroup(a){const e=a.map(o=>(o.raw||o).tableName);let n=e[0].split("__")[2];this.$dialog.confirm(`Are you sure you want to drop ${e.length} tables? This removes ALL decommutated data for ${n}!
2
-
3
- ${e.join(`
4
- `)}`,{okText:"Delete",cancelText:"Cancel"}).then(()=>{const o=new Set(e);Promise.all(e.map(t=>this.dropTable(t))).then(()=>{this.metricsRows=this.metricsRows.filter(t=>!o.has(t.tableName))}).catch(t=>{t.response&&t.response.data?this.metricsError=t.response.data.message:this.metricsError=t.message})})},formatDuration(a){const e=Math.floor(a/1e3),n=Math.floor(e/86400),o=Math.floor(e%86400/3600),t=Math.floor(e%3600/60),d=[];return n&&d.push(`${n}d`),o&&d.push(`${o}h`),t&&d.push(`${t}m`),d.length||d.push(`${e}s`),d.join(" ")},formatTimestamp(a){return new Date(a).toISOString().replace("T"," ").replace(".000Z","Z")},parseSampleIntervalMs(a){const e=String(a||"").trim().match(/^(\d+)\s*([smhd])$/i);return e?Number.parseInt(e[1],10)*{s:1e3,m:6e4,h:36e5,d:864e5}[e[2].toLowerCase()]:null},async fetchTableGaps(a){const e=(this.gapSampleInterval||"1m").trim(),n=this.parseSampleIntervalMs(e);if(!n)throw new Error(`Invalid sample interval '${e}'. Use a number followed by s, m, h, or d (e.g. 5s, 1m, 2h).`);const o=await P(`SELECT first(PACKET_TIMESECONDS) as first_ts, last(PACKET_TIMESECONDS) as last_ts FROM '${a}';`,this.db_shard),t=o.data.columns,d=o.data.rows[0],b={};t.forEach((g,y)=>{b[g]=d[y]});const E=b.first_ts,k=b.last_ts,R=new Date(k)-new Date(E),T=await P(`(SELECT PACKET_TIMESECONDS, count() as cnt FROM '${a}' SAMPLE BY ${e} FILL(NULL)) WHERE cnt IS NULL`,this.db_shard),I=T.data.columns,w=T.data.rows.map(g=>{const y={};return I.forEach((_,C)=>{y[_]=g[C]}),y}),x=[],V=(g,y)=>{const _=new Date(g).getTime(),C=new Date(y).getTime()+n;return{start:this.formatTimestamp(g),end:this.formatTimestamp(new Date(C)),duration:this.formatDuration(C-_),startIso:new Date(_).toISOString(),endIso:new Date(C).toISOString()}};if(w.length>0){let g=w[0].PACKET_TIMESECONDS,y=g;for(let _=1;_<w.length;_++){const C=new Date(y);new Date(w[_].PACKET_TIMESECONDS)-C>n&&(x.push(V(g,y)),g=w[_].PACKET_TIMESECONDS),y=w[_].PACKET_TIMESECONDS}x.push(V(g,y))}return{firstTs:this.formatTimestamp(E),lastTs:this.formatTimestamp(k),timeSpan:this.formatDuration(R),gaps:x}},async analyzeDataGap(a){this.gapDialogTitle=a,this.gapDialog=!0,this.gapLoading=!0,this.gapProgress=0,this.gapError=null,this.gapSummary=null,this.gapGroupResults=null;try{this.gapSummary=await this.fetchTableGaps(a)}catch(e){this.gapError=e.response?.data?.message||e.message}finally{this.gapLoading=!1}},async analyzeGroupDataGap(a){const e=a.map(o=>(o.raw||o).tableName),n=(a[0].raw||a[0]).target;this.gapDialogTitle=`${n} (${e.length} tables)`,this.gapDialog=!0,this.gapLoading=!0,this.gapProgress=0,this.gapError=null,this.gapSummary=null,this.gapGroupResults=null;try{const o=[];for(let t=0;t<e.length;t++){this.gapProgress=Math.round((t+1)/e.length*100);try{const d=await this.fetchTableGaps(e[t]);if(d.gaps.length>0){const b=e[t].split("__");o.push({tableName:e[t],packet:b[3]||e[t],...d})}}catch{}}this.gapGroupResults={totalTables:e.length,withGaps:o}}catch(o){this.gapError=o.response?.data?.message||o.message}finally{this.gapLoading=!1}},parseTableName(a){const e=a.split("__");return e.length<4?null:{scope:e[0],cmdOrTlm:e[1],target:e[2],packet:e[3]}},isTlmTable(a){return this.parseTableName(a)?.cmdOrTlm==="TLM"},openRepair(a,e){const n=this.parseTableName(e);n&&(this.repairContext={tableName:e,...n,gap:a},this.repairDialog=!0)},onRepairComplete(){this.gapGroupResults||this.gapDialogTitle&&this.analyzeDataGap(this.gapDialogTitle)}}},re={key:0,class:"mt-2 text-red monospace"},ne={key:0},de=["colspan"],ce={class:"font-weight-bold"},ue={class:"ml-4 text-medium-emphasis"},pe={key:1,class:"text-red monospace mb-4"},me={key:0},he={key:1,class:"text-medium-emphasis"},ge={key:0,class:"text-medium-emphasis"},fe={key:1},be={class:"mb-4 text-medium-emphasis"},ye={class:"text-subtitle-1 font-weight-bold mb-1"},ve={class:"text-medium-emphasis monospace mb-2"};function we(a,e,n,o,t,d){const b=r("v-card-title"),E=r("v-card-text"),k=r("v-btn"),R=r("v-text-field"),T=r("v-spacer"),I=r("v-card-actions"),w=r("v-icon"),x=r("v-list-item"),V=r("v-list"),g=r("v-menu"),y=r("v-data-table"),_=r("v-card"),C=r("v-progress-linear"),B=r("v-table"),M=r("v-dialog"),K=r("repair-gap-dialog");return u(),p("div",null,[s(_,null,{default:i(()=>[s(b,null,{default:i(()=>[...e[5]||(e[5]=[h(" QuestDB Table Storage Metrics ",-1)])]),_:1}),s(E,null,{default:i(()=>[t.metricsError?(u(),p("div",re," Error: "+c(t.metricsError),1)):f("",!0)]),_:1}),s(I,{class:"px-2"},{default:i(()=>[s(k,{loading:t.metricsLoading,color:"success",variant:"text","data-test":"tsdb-metrics-refresh",onClick:d.fetchMetrics},{default:i(()=>[...e[6]||(e[6]=[h(" Refresh ",-1)])]),_:1},8,["loading","onClick"]),s(R,{modelValue:t.db_shard,"onUpdate:modelValue":e[0]||(e[0]=m=>t.db_shard=m),type:"number",min:"0",label:"DB Shard",hint:"DB Shard is N/A in Core","hide-details":"",density:"compact",style:{"max-width":"100px"},class:"ml-4"},null,8,["modelValue"]),s(T),s(R,{modelValue:t.gapSampleInterval,"onUpdate:modelValue":e[1]||(e[1]=m=>t.gapSampleInterval=m),label:"Data Gap Sample Interval",hint:"QuestDB SAMPLE BY duration (e.g. 5s, 1m, 10m, 1h)","persistent-hint":"",density:"compact","hide-details":"auto",style:{"max-width":"260px"},"data-test":"gap-sample-interval"},null,8,["modelValue"])]),_:1}),t.metricsRows.length?(u(),p("div",ne,[(u(!0),p(D,null,A(d.sections,(m,O)=>(u(),p(D,{key:m.title},[l("h3",{class:U(["text-h6 ml-2",O===0?"mt-4":"mt-6"])},c(m.title),3),s(y,{headers:t.metricsHeaders,items:m.items,"group-by":t.metricsGroupBy,class:"monospace","items-per-page":50,density:"compact"},{"group-header":i(({item:S,columns:j,toggleGroup:Ee,isGroupOpen:Re})=>[l("tr",null,[l("td",{colspan:j.length-1},[s(k,{icon:Re(S)?"$expand":"$next",size:"small",variant:"text",onClick:$=>Ee(S)},null,8,["icon","onClick"]),l("span",ce,c(S.value),1),l("span",ue," Packets: "+c(S.items.length)+" — Rows: "+c(d.groupRowCount(S.items).toLocaleString())+" — Disk: "+c(d.formatBytes(d.groupDiskSize(S.items))),1)],8,de),l("td",null,[s(g,null,{activator:i(({props:$})=>[s(w,z({ref_for:!0},$,{icon:"mdi-dots-horizontal","data-test":"group-actions"}),null,16)]),default:i(()=>[s(V,null,{default:i(()=>[s(x,{title:"Analyze Data Gaps","prepend-icon":"mdi-chart-timeline-variant-shimmer","data-test":"group-analyze-gap",onClick:$=>d.analyzeGroupDataGap(S.items)},null,8,["onClick"]),s(x,{title:"Delete All","prepend-icon":"mdi-delete","data-test":"group-delete",onClick:$=>d.deleteGroup(S.items)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)])])]),"item.diskSize":i(({item:S})=>[h(c(d.formatBytes(S.diskSize)),1)]),"item.rowCount":i(({item:S})=>[h(c(Number(S.rowCount).toLocaleString()),1)]),"item.actions":i(({item:S})=>[s(g,null,{activator:i(({props:j})=>[s(w,z({ref_for:!0},j,{icon:"mdi-dots-horizontal","data-test":"row-actions"}),null,16)]),default:i(()=>[s(V,null,{default:i(()=>[s(x,{title:"Analyze Data Gap","prepend-icon":"mdi-chart-timeline-variant-shimmer","data-test":"row-analyze-gap",onClick:j=>d.analyzeDataGap(S.tableName)},null,8,["onClick"]),s(x,{title:"Delete","prepend-icon":"mdi-delete","data-test":"row-delete",onClick:j=>d.deleteTable(S.tableName)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:1},8,["headers","items","group-by"])],64))),128))])):f("",!0)]),_:1}),s(M,{modelValue:t.gapDialog,"onUpdate:modelValue":e[3]||(e[3]=m=>t.gapDialog=m),"max-width":"900"},{default:i(()=>[s(_,null,{default:i(()=>[s(b,{class:"d-flex align-center"},{default:i(()=>[h(" Data Gap Analysis: "+c(t.gapDialogTitle)+" ",1),s(T),s(k,{icon:"mdi-close",variant:"text",onClick:e[2]||(e[2]=m=>t.gapDialog=!1)})]),_:1}),s(E,{style:{"max-height":"80vh","overflow-y":"auto"}},{default:i(()=>[t.gapLoading?(u(),L(C,{key:0,"model-value":t.gapProgress,indeterminate:t.gapProgress===0,class:"mb-4"},null,8,["model-value","indeterminate"])):f("",!0),t.gapError?(u(),p("div",pe," Error: "+c(t.gapError),1)):f("",!0),!t.gapLoading&&!t.gapError&&t.gapSummary?(u(),p(D,{key:2},[s(B,{density:"compact",class:"monospace mb-4"},{default:i(()=>[l("tbody",null,[l("tr",null,[e[7]||(e[7]=l("td",{class:"font-weight-bold"},"First Record",-1)),l("td",null,c(t.gapSummary.firstTs),1)]),l("tr",null,[e[8]||(e[8]=l("td",{class:"font-weight-bold"},"Last Record",-1)),l("td",null,c(t.gapSummary.lastTs),1)]),l("tr",null,[e[9]||(e[9]=l("td",{class:"font-weight-bold"},"Total Time Span",-1)),l("td",null,c(t.gapSummary.timeSpan),1)]),l("tr",null,[e[10]||(e[10]=l("td",{class:"font-weight-bold"},"Gaps Found",-1)),l("td",null,c(t.gapSummary.gaps.length),1)])])]),_:1}),t.gapSummary.gaps.length?(u(),p("div",me,[e[11]||(e[11]=l("h4",{class:"text-subtitle-1 font-weight-bold mb-2"}," Data Gaps (periods with no data) ",-1)),s(y,{headers:t.gapHeaders,items:t.gapSummary.gaps,class:"monospace","items-per-page":20,density:"compact"},{"item.actions":i(({item:m})=>[d.isTlmTable(t.gapDialogTitle)?(u(),L(k,{key:0,icon:"mdi-wrench",size:"small",variant:"text","data-test":"gap-repair",title:"Repair (reingest raw logs)",onClick:O=>d.openRepair(m,t.gapDialogTitle)},null,8,["onClick"])):f("",!0)]),_:1},8,["headers","items"])])):(u(),p("div",he," No data gaps detected (sampled at "+c(t.gapSampleInterval)+" intervals). ",1))],64)):f("",!0),!t.gapLoading&&!t.gapError&&t.gapGroupResults?(u(),p(D,{key:3},[t.gapGroupResults.withGaps.length===0?(u(),p("div",ge," No data gaps detected across "+c(t.gapGroupResults.totalTables)+" tables (sampled at "+c(t.gapSampleInterval)+" intervals). ",1)):(u(),p("div",fe,[l("div",be,c(t.gapGroupResults.withGaps.length)+" of "+c(t.gapGroupResults.totalTables)+" tables have data gaps. ",1),(u(!0),p(D,null,A(t.gapGroupResults.withGaps,m=>(u(),p("div",{key:m.tableName,class:"mb-6"},[l("h4",ye,c(m.packet),1),l("div",ve,c(m.firstTs)+" to "+c(m.lastTs)+" ("+c(m.timeSpan)+") — "+c(m.gaps.length)+" gap(s) ",1),s(y,{headers:t.gapHeaders,items:m.gaps,class:"monospace","items-per-page":10,density:"compact"},{"item.actions":i(({item:O})=>[d.isTlmTable(m.tableName)?(u(),L(k,{key:0,icon:"mdi-wrench",size:"small",variant:"text","data-test":"gap-repair",title:"Repair (reingest raw logs)",onClick:S=>d.openRepair(O,m.tableName)},null,8,["onClick"])):f("",!0)]),_:2},1032,["headers","items"])]))),128))]))],64)):f("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),t.repairContext?(u(),L(K,{key:0,modelValue:t.repairDialog,"onUpdate:modelValue":e[4]||(e[4]=m=>t.repairDialog=m),context:t.repairContext,onComplete:d.onRepairComplete},null,8,["modelValue","context","onComplete"])):f("",!0)])}const _e=N(oe,[["render",we],["__scopeId","data-v-25188e19"]]),Se={data(){return{sqlText:"",db_shard:"0",columns:[],rows:[],errorMessage:null,loading:!1}},computed:{tableHeaders(){return this.columns.map(a=>({title:a,key:a}))}},methods:{commandKeydown(a){(a.metaKey||a.ctrlKey)&&a.key==="Enter"&&this.executeQuery()},executeQuery(){this.errorMessage=null,this.columns=[],this.rows=[],this.loading=!0,P(this.sqlText,this.db_shard).then(a=>{this.columns=a.data.columns,this.rows=a.data.rows.map(e=>{const n={};return this.columns.forEach((o,t)=>{n[o]=e[t]}),n})}).catch(a=>{a.response&&a.response.data?this.errorMessage=a.response.data.message:this.errorMessage=a.message}).finally(()=>{this.loading=!1})}}},ke={key:0,class:"mt-2 text-red monospace"};function Te(a,e,n,o,t,d){const b=r("v-card-title"),E=r("v-card-subtitle"),k=r("v-textarea"),R=r("v-card-text"),T=r("v-btn"),I=r("v-text-field"),w=r("v-card-actions"),x=r("v-data-table"),V=r("v-card");return u(),L(V,null,{default:i(()=>[s(b,null,{default:i(()=>[...e[2]||(e[2]=[h(" Send SQL Queries to QuestDB ",-1)])]),_:1}),s(E,null,{default:i(()=>[...e[3]||(e[3]=[h(" THIS IS DANGEROUS! This allows you to interact directly with the underlying QuestDB time series database, making it easy to modify or delete data. ",-1),l("br",null,null,-1),l("br",null,null,-1),h(" Enter SQL queries like: ",-1),l("code",null," SELECT * FROM DEFAULT__TLM__INST__HEALTH_STATUS LIMIT 10 ",-1),h(" or ",-1),l("code",null,"SHOW TABLES",-1)])]),_:1}),s(R,{class:"pb-0 ml-2"},{default:i(()=>[s(k,{modelValue:t.sqlText,"onUpdate:modelValue":e[0]||(e[0]=g=>t.sqlText=g),"hide-details":"",label:"SQL query",class:"monospace",rows:"3",onKeydown:d.commandKeydown},null,8,["modelValue","onKeydown"]),t.errorMessage?(u(),p("div",ke," Error: "+c(t.errorMessage),1)):f("",!0)]),_:1}),s(w,{class:"px-2"},{default:i(()=>[s(T,{disabled:!t.sqlText.length,loading:t.loading,color:"success",variant:"text","data-test":"tsdb-execute",onClick:d.executeQuery},{default:i(()=>[...e[4]||(e[4]=[h(" Execute ",-1)])]),_:1},8,["disabled","loading","onClick"]),s(I,{modelValue:t.db_shard,"onUpdate:modelValue":e[1]||(e[1]=g=>t.db_shard=g),type:"number",min:"0",label:"DB Shard","hide-details":"",density:"compact",style:{"max-width":"100px"},class:"ml-4"},null,8,["modelValue"])]),_:1}),t.columns.length?(u(),L(x,{key:0,headers:d.tableHeaders,items:t.rows,class:"monospace","items-per-page":50,density:"compact"},null,8,["headers","items"])):f("",!0)]),_:1})}const xe=N(Se,[["render",Te],["__scopeId","data-v-4c0d0a5c"]]),Ce={components:{TsdbMetrics:_e,TsdbQueries:xe},data(){return{activeTab:"metrics"}}};function De(a,e,n,o,t,d){const b=r("v-tab"),E=r("v-tabs"),k=r("tsdb-metrics"),R=r("v-window-item"),T=r("tsdb-queries"),I=r("v-window");return u(),p("div",null,[s(E,{modelValue:t.activeTab,"onUpdate:modelValue":e[0]||(e[0]=w=>t.activeTab=w)},{default:i(()=>[s(b,{value:"metrics","data-test":"tsdb-metrics-tab"},{default:i(()=>[...e[2]||(e[2]=[h("Metrics",-1)])]),_:1}),s(b,{value:"queries","data-test":"tsdb-queries-tab"},{default:i(()=>[...e[3]||(e[3]=[h("Queries",-1)])]),_:1})]),_:1},8,["modelValue"]),s(I,{modelValue:t.activeTab,"onUpdate:modelValue":e[1]||(e[1]=w=>t.activeTab=w)},{default:i(()=>[s(R,{value:"metrics"},{default:i(()=>[s(k)]),_:1}),s(R,{value:"queries"},{default:i(()=>[s(T)]),_:1})]),_:1},8,["modelValue"])])}const Ve=H("default",N(Ce,[["render",De]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./ValueWidget-B1OvCmXK-eb266467c9a31a007e30.js","./LimitsbarWidget-C0N2611W-be09215203ef71c51ca8.js","./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","vue","./main-05290d67af0d2bba595e.js","./DetailsDialog-CFCaJZWz-0c96f055ca678fb4b14b.js","./LimitsBar-59_qNqi8-96460dbb2763eddb0f7a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-BgNciXK1-6f5fa1e1cbd09779ddb3.js","vue-router","pinia","vuetify","./BarColumn-BtP1cQcf-82f974689484e0cd197b.js"],(function(g,f){"use strict";var i,r,a,n,c,u,o,s,l,m;return{setters:[e=>{i=e.default},e=>{r=e.default},e=>{a=e.h},e=>{n=e.resolveComponent,c=e.openBlock,u=e.createElementBlock,o=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.d},null,null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:i,LimitsbarWidget:r},mixins:[a]};function d(t,j,C,b,W,V){const p=n("value-widget"),v=n("limitsbar-widget");return c(),u("div",{ref:"container",class:"d-flex flex-row",style:o(t.computedStyle)},[s(p,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"]),s(v,l(t.$attrs,{parameters:t.parameters.slice(0,3),settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1,line:t.line,"line-number":t.lineNumber}),null,16,["parameters","settings","screen-values","line","line-number"])],4)}const B=g("default",m(e,[["render",d]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./ValueWidget-B1OvCmXK-eb266467c9a31a007e30.js","./LimitscolumnWidget-ut6NX68S-83764251827e9d6da919.js","./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","vue","./main-05290d67af0d2bba595e.js","./DetailsDialog-CFCaJZWz-0c96f055ca678fb4b14b.js","./LimitsBar-59_qNqi8-96460dbb2763eddb0f7a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-BgNciXK1-6f5fa1e1cbd09779ddb3.js","vue-router","pinia","vuetify","./BarColumn-BtP1cQcf-82f974689484e0cd197b.js"],(function(g,B){"use strict";var i,r,a,n,u,c,o,s,l,m;return{setters:[e=>{i=e.default},e=>{r=e.default},e=>{a=e.h},e=>{n=e.resolveComponent,u=e.openBlock,c=e.createElementBlock,o=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.d},null,null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:i,LimitscolumnWidget:r},mixins:[a]};function d(t,j,C,V,S,W){const p=n("limitscolumn-widget"),v=n("value-widget");return u(),c("div",{ref:"container",style:o(t.computedStyle)},[s(p,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1,line:t.line,"line-number":t.lineNumber}),null,16,["parameters","settings","screen-values","line","line-number"]),s(v,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"])],4)}const f=g("default",m(e,[["render",d]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Layout-BBLYT0gE-48666c2ab3e940bc8337.js","vue","./main-05290d67af0d2bba595e.js","./Widget-BiaunQ83-f5d5cb8cc1b25880c13e.js","vue-router","pinia","single-spa","vuetify"],(function(B,N){"use strict";var m,u,n,s,v,l,y,i,o,d,f,c,p,w;return{setters:[t=>{m=t.r},t=>{u=t.resolveComponent,n=t.openBlock,s=t.createElementBlock,v=t.normalizeStyle,l=t.Fragment,y=t.renderList,i=t.createBlock,o=t.withCtx,d=t.createElementVNode,f=t.toDisplayString,c=t.resolveDynamicComponent,p=t.mergeProps},t=>{w=t.d},null,null,null,null,null],execute:(function(){const t={mixins:[m],created:function(){if(this.parameters[0]){let r=this.parameters[0];this.widgets.forEach(g=>{g.settings.find(a=>a[0]==="MARGIN"||a[0].startsWith("RAW")&&a[1].toUpperCase().includes("MARGIN"))===void 0&&g.settings.push(["MARGIN",r])})}}};function h(r,g,a,b,x,A){const k=u("v-tooltip");return n(),s("div",{ref:"container",style:v(r.computedStyle)},[(n(!0),s(l,null,y(r.widgets,(e,T)=>(n(),s(l,{key:T},[r.getTooltipText(e)?(n(),i(k,{key:0,"open-delay":r.getTooltipDelay(e),location:"top","activator-props":r.getTooltipActivatorProps(e)},{activator:o(({props:C})=>[(n(),i(c(e.type),p({ref_for:!0},{...r.listeners,...C},{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:o(()=>[d("span",null,f(r.getTooltipText(e)),1)]),_:2},1032,["open-delay","activator-props"])):(n(),i(c(e.type),p({key:1,ref_for:!0},r.listeners,{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))],4)}const z=B("default",w(t,[["render",h]]))})}}));