openc3-cosmos-tool-admin 7.2.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/{ArrayWidget-D1PArcGr-3885b67514afe732ba36.js → ArrayWidget-5XQXgMtp-80db1e3027ca0f38008d.js} +2 -2
  3. data/tools/admin/{ArrayplotWidget-DPUPy0qM-b6a1c019189be84e4589.js → ArrayplotWidget-pk7OINvA-33482371ab3dd9c8a3e1.js} +1 -1
  4. data/tools/admin/{BarColumn-BpdscDQf-e551f56c95340d26cda4.js → BarColumn-JQ552zb0-71f940da624cf74a8ac7.js} +1 -1
  5. data/tools/admin/{BlockWidget-_VUsK5T9-59058beda215f65a7b09.js → BlockWidget-B_5TnoG_-07bb5d5276892a455ef5.js} +2 -2
  6. data/tools/admin/ButtonWidget-CiZGNEls-b36f8511f142106bb716.js +1 -0
  7. data/tools/admin/CanvasWidget-CzLQAoHY-05569d347e30d7c90f9f.js +1 -0
  8. data/tools/admin/CanvasdotWidget-CcI1HwAp-131410357e5f5cb7c5cf.js +1 -0
  9. data/tools/admin/{CanvasimageWidget-COv_Qnc8-0a502afa265efe2f25ad.js → CanvasimageWidget-CYg1rKr_-9d04ce25dc613fc2ccc6.js} +1 -1
  10. data/tools/admin/{CanvasimagevalueWidget-BhuUqLOo-53322c8fb2f548104d57.js → CanvasimagevalueWidget-e0p2honY-c0ebf132498eedba3031.js} +1 -1
  11. data/tools/admin/CanvaslabelWidget-CgECf4wH-8a62168c6b54ce7dc69d.js +1 -0
  12. data/tools/admin/CanvaslabelvalueWidget-bCIPWE4c-c301a198a35d0ba429cc.js +1 -0
  13. data/tools/admin/CanvaslineWidget-Tw1B6RTA-30b7fce14bb17223c180.js +1 -0
  14. data/tools/admin/{CanvaslinevalueWidget-D4eaxWhR-443b0d3f93af5d0faf5a.js → CanvaslinevalueWidget-GvTic9rq-8cdbcb115d2e04007db0.js} +1 -1
  15. data/tools/admin/CheckbuttonWidget-DV6xeneq-c00e62096beb7d93a1c9.js +1 -0
  16. data/tools/admin/ComboboxWidget-BO31bWzg-5d5f35fb019f925d5ae2.js +1 -0
  17. data/tools/admin/DateWidget-DYviZFhJ-3517b8d8c507bb623800.js +1 -0
  18. data/tools/admin/{DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js → DetailsDialog-DHi4t3xd-23cd6112e439aa7c2e72.js} +1 -1
  19. data/tools/admin/{DynamicWidget-BuSbQVhf-6a5228328dcebb177ef8.js → DynamicWidget-BuSbQVhf-8c7a3d8e99d5fbadb524.js} +1 -1
  20. data/tools/admin/{FilechecksumWidget-DSfNEnDJ-531bbb7d456d380a62d9.js → FilechecksumWidget-rJe1KvzY-a8b35d82b279ce437fe6.js} +1 -1
  21. data/tools/admin/{FiledisplayWidget-D2cxMmrP-812eb21e2f71f0bd32d6.js → FiledisplayWidget-CbTWgtBy-a4fcca29c88afb5c536d.js} +1 -1
  22. data/tools/admin/{FormatvalueWidget-6-bj_PJO-4c9daa001cba89fb9103.js → FormatvalueWidget-B9Giwzaz-d95836be56ebf9a9fbae.js} +1 -1
  23. data/tools/admin/Graph-xc7TNnsk-b819fee23f66c94861f9.js +1 -0
  24. data/tools/admin/{GraphWidget-COXK3Dab-18ccb71d08b630c3446f.js → GraphWidget-COvVOlEn-9d0cb68fec73a5f3454a.js} +1 -1
  25. data/tools/admin/{HorizontalWidget-C9UFBPsk-91bd1e11d87736b8c758.js → HorizontalWidget-BfdjRLGe-792a24c12a95a38bd847.js} +1 -1
  26. data/tools/admin/{HorizontalboxWidget-CWLfmRtr-13d452adc9e1100f23c4.js → HorizontalboxWidget-B1b9uNaB-e4ec787dc7d063c45fe0.js} +1 -1
  27. data/tools/admin/HorizontallineWidget-CHz4o6Gi-b60cc8d253fd53f17c8c.js +1 -0
  28. data/tools/admin/{IframeWidget-Bn9eGzrq-d71752e23ce712e81e26.js → IframeWidget-BCtrIgD1-5aac9e4f21efaab8f6fe.js} +1 -1
  29. data/tools/admin/{ImageLoader-_gAudhVo-23300d0d0133307fb169.js → ImageLoader-BzE4VsHW-1b90e52f729ac92ee450.js} +1 -1
  30. data/tools/admin/{ImageviewerWidget-BUWhF32Z-0799a243569a53e640e9.js → ImageviewerWidget-DKMBE3tQ-fc341ef1324e0620d71c.js} +1 -1
  31. data/tools/admin/InterfacesTab-C_AsAMrL-72de0290999c83b4f01f.js +1 -0
  32. data/tools/admin/{LabelWidget-BhzkN06D-2d7a7f95582b783e18d0.js → LabelWidget-B0nE0ImW-54b49f3830be1cee8eb4.js} +1 -1
  33. data/tools/admin/LabelledWidget-DrZHj_lR-012360847b59e5acbd03.js +1 -0
  34. data/tools/admin/LabelprogressbarWidget-K9NphQp0-4fb2ed553ea5457e745e.js +1 -0
  35. data/tools/admin/LabelsparklineWidget-cn1OJvL3-126a26c9f5cf70def931.js +1 -0
  36. data/tools/admin/LabelvalueWidget-DxJbd9nR-01ee83f67cecd181a9ef.js +1 -0
  37. data/tools/admin/{LabelvaluedescWidget-B7OIOGc0-21ac0d9663cf49396a58.js → LabelvaluedescWidget-B-RiUnpl-2189f2eada48bafa7426.js} +1 -1
  38. data/tools/admin/LabelvaluelimitsbarWidget-BF94rtl8-3534b25320e1cd09f5a8.js +1 -0
  39. data/tools/admin/LabelvaluelimitscolumnWidget-UOfPu8D1-3bc11e94676b61fa03fa.js +1 -0
  40. data/tools/admin/LabelvaluerangebarWidget-EVON-Tv8-48083be1abd02e2b22dd.js +1 -0
  41. data/tools/admin/{Layout-CKmC50QZ-a4e41facce8302b08009.js → Layout-BLS4Yi3m-9a851fc81da50b5a0f78.js} +1 -1
  42. data/tools/admin/{LedWidget-D1lmNXpi-c70ab085a7e75d99db2a.js → LedWidget-DqVfh3zJ-44a2c97be736ccc6b1b3.js} +1 -1
  43. data/tools/admin/{LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js → LimitsBar-BqpvMpXM-299f056c19106e6b75fb.js} +1 -1
  44. data/tools/admin/{LimitsbarWidget-VpxQXE-e-48cfee552a9c695bf8f1.js → LimitsbarWidget-rEJIGKCx-c5d60ebf1e9e1a4ffb48.js} +1 -1
  45. data/tools/admin/{LimitscolorWidget-79P41CX7-f2eea333aec5c48967e0.js → LimitscolorWidget-DVXho9Mm-43c53230d0556a4f1a5f.js} +1 -1
  46. data/tools/admin/{LimitscolumnWidget-BFDXhJeZ-4eba19b9d6c713c13db1.js → LimitscolumnWidget-DSQAdlZS-5e2e3f51c3376782328c.js} +1 -1
  47. data/tools/admin/LinegraphWidget-CQRwZ0N6-0f570138c80d809f9285.js +1 -0
  48. data/tools/admin/{MatrixbycolumnsWidget--ihvirDP-0c6d1476cb4af73ce4ec.js → MatrixbycolumnsWidget-CJJ7SugT-ecba1687b1c179dcc8b9.js} +1 -1
  49. data/tools/admin/{MicroservicesTab-CQPpb7j1-7daf01af280d2c44c370.js → MicroservicesTab-9I1i19SB-24a09c3bcdfbca7af3d8.js} +2 -2
  50. data/tools/admin/{OpenC3TimePicker-B0lAIU91-6e7843b535d6cb333926.js → OpenC3TimePicker-Cww9L2Ij-d23c4fb5d7d8178a137a.js} +1 -1
  51. data/tools/admin/{OutputDialog-DtrpwjGL-73ebd3c55e7ffbc15652.js → OutputDialog-B-bk2nex-d22c9e9f81462796cf40.js} +1 -1
  52. data/tools/admin/PackagesTab-Cjj7tXrq-89408e61c959392ec84f.js +2 -0
  53. data/tools/admin/PluginsTab-VN4Z4v7e-ca0878630e8a775a0987.js +5 -0
  54. data/tools/admin/{ProgressbarWidget-BIB3r9SL-2b2e5705da4fe267fc08.js → ProgressbarWidget-VTd49uhi-4bf2baaad3eb99165018.js} +1 -1
  55. data/tools/admin/RadiobuttonWidget-DqsantxO-b47f08b4f7a848b82b4f.js +1 -0
  56. data/tools/admin/{RadiogroupWidget-CciTCv1U-f9b9584110d84fad120b.js → RadiogroupWidget-Bht6RZPH-83314c896de2afd6894d.js} +1 -1
  57. data/tools/admin/{RangebarWidget-MPQYi2Km-b85a235f8e43da24f3ae.js → RangebarWidget-CN11Oqws-3a133c58d66ddb2b34bf.js} +1 -1
  58. data/tools/admin/RedisTab-CCtPxcYg-c331ecd0ae21eb136f39.js +1 -0
  59. data/tools/admin/{RollupWidget-CfjGAhzg-f9d66fe1e702f376333e.js → RollupWidget-cgl9Ghle-3fa38b3554127b346b0c.js} +1 -1
  60. data/tools/admin/RoutersTab-Duiv_o6g-4ca3fd52ef99712d30f7.js +1 -0
  61. data/tools/admin/{ScrollwindowWidget-CupaygNN-a397b20ae8a40b64a487.js → ScrollwindowWidget-BFK-ihvZ-64da6ce3ba0f3118fd18.js} +1 -1
  62. data/tools/admin/{SecretsTab-C9xAxuwO-89d69d126612c7b64f6d.js → SecretsTab-BNyb54pD-fb3beba957358443d32e.js} +1 -1
  63. data/tools/admin/SettingsTab-Cvq3542H-57575239a634ca02206a.js +10 -0
  64. data/tools/admin/{SignalWidget-C-qecoTO-c71ca67fb48f421af75e.js → SignalWidget-Be7Z5pJD-0f9024939f3d5e4a418c.js} +1 -1
  65. data/tools/admin/{SimpleTextDialog-C-0ZC2bs-48d950cb04fe0c899bab.js → SimpleTextDialog-dn_TSiQ7-20dabd0df19c3059cf0f.js} +1 -1
  66. data/tools/admin/SpacerWidget-uKPA-f_0-03d7409692e75916a63f.js +1 -0
  67. data/tools/admin/SparklineWidget-Wu5iFbly-10e00bf9372154d3ca85.js +1 -0
  68. data/tools/admin/TabbookWidget-D3FrIoV4-b544084d75bde4b9d356.js +1 -0
  69. data/tools/admin/{TargetsTab-Ci4cOsIa-d2957154b9bf46fa9617.js → TargetsTab-CS7JjyjH-81370500aff926af0e8c.js} +1 -1
  70. data/tools/admin/TextboxWidget-f6wEcoI0-1ac8f94e536838694fa5.js +1 -0
  71. data/tools/admin/TextfieldWidget-D72Sey-h-acb374e2d0018cea37ae.js +1 -0
  72. data/tools/admin/TimeWidget-BBuxr7Db-234581053c602d1f9998.js +1 -0
  73. data/tools/admin/TitleWidget-Dfp5mPH2-ce6048efc981fc37f10b.js +1 -0
  74. data/tools/admin/{ToolsTab-BCvmMDIZ-4b33c7b7aab46b7d4119.js → ToolsTab-VLEsXTJH-111d5d1fcf5683ad1d36.js} +1 -1
  75. data/tools/admin/TsdbTab-D_P34-tF-8717f03395909927e332.js +4 -0
  76. data/tools/admin/{VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js → VWidget-5FjwlURU-6a72b64b7cc840033418.js} +1 -1
  77. data/tools/admin/ValueWidget-CpptSOvJ-71518e3093457d3a3e99.js +1 -0
  78. data/tools/admin/ValuelimitsbarWidget-AgeOlPAV-191d4ad91bd9fcdb2e92.js +1 -0
  79. data/tools/admin/ValuelimitscolumnWidget-CfTt7Q8a-6457391b1f8ce6e84aae.js +1 -0
  80. data/tools/admin/ValuerangebarWidget-E3CtttJk-0521a131ef8b3c7d9461.js +1 -0
  81. data/tools/admin/{VerticalWidget-DlftYBjH-ae7352937173846f56d9.js → VerticalWidget-B_eheXmK-3714fd0477bb202504f1.js} +1 -1
  82. data/tools/admin/{VerticalboxWidget-C7RrkfY0-a5135be854d46c8d2871.js → VerticalboxWidget-Bf8XJiY9-f18ae386e10f607a8128.js} +1 -1
  83. data/tools/admin/{Widget-D_HaosJK-c49796f3af3288426d03.js → Widget-CSgnvwEG-bc4dec83d0fc9039b821.js} +1 -1
  84. data/tools/admin/main-6a328857fae6aab0f418.js +1496 -0
  85. data/tools/admin/main.js +1 -1
  86. data/tools/admin/{settings-DZ910lLo-06b2e35cd3b4b6b6686c.js → settings-CEBZz77m-520d12b72b93c319ccfd.js} +1 -1
  87. metadata +85 -85
  88. data/tools/admin/ButtonWidget-DE41o-cg-d0d862704f2cedf509f5.js +0 -2
  89. data/tools/admin/CanvasWidget-BEi8h3Mq-e74743c293400ba5a929.js +0 -1
  90. data/tools/admin/CanvasdotWidget-eZuMgkhL-069ce51cfaf9b6705d69.js +0 -1
  91. data/tools/admin/CanvaslabelWidget-DtvbgeYH-0bb6f6c1d49c8d123129.js +0 -1
  92. data/tools/admin/CanvaslabelvalueWidget-C_FRIeNb-3b5c9903ad9d379fc52a.js +0 -1
  93. data/tools/admin/CanvaslineWidget-D1K_6mAY-986d4445d6db8f24c1b0.js +0 -1
  94. data/tools/admin/CheckbuttonWidget-ByxMDkiS-6939f416d1a7977f37fb.js +0 -1
  95. data/tools/admin/ComboboxWidget-CAGxGv2r-28b0f6b63d807a2f3217.js +0 -1
  96. data/tools/admin/DateWidget-DkNWx28s-bb439088467e3b1af3aa.js +0 -1
  97. data/tools/admin/Graph-Cz0Ns1FD-9251aa7b63944e24104e.js +0 -1
  98. data/tools/admin/HorizontallineWidget-DeFkOaYO-816f7a06f03f7222e67e.js +0 -1
  99. data/tools/admin/InterfacesTab-CZsnR6xB-abec32626a92ea91aa87.js +0 -1
  100. data/tools/admin/LabelledWidget-vx8NvW1b-0d3f99aa750f0631fdc2.js +0 -1
  101. data/tools/admin/LabelprogressbarWidget-t5PvKuS4-18438f7d1f021d5247e5.js +0 -1
  102. data/tools/admin/LabelsparklineWidget-CebbEH-j-9c683841d069f9e5b25c.js +0 -1
  103. data/tools/admin/LabelvalueWidget-Cbs1DBK2-8bc763b903941db678a2.js +0 -1
  104. data/tools/admin/LabelvaluelimitsbarWidget-C57kf-oQ-8929b2b56023fd39369a.js +0 -1
  105. data/tools/admin/LabelvaluelimitscolumnWidget-BRlNDEqp-d0a4f3d8ee015080c0a8.js +0 -1
  106. data/tools/admin/LabelvaluerangebarWidget-Pt_evm3v-2f296e2b660ae23cd7e2.js +0 -1
  107. data/tools/admin/LinegraphWidget-VqkpOlws-f72604545ff9d950311b.js +0 -1
  108. data/tools/admin/PackagesTab-DQ5s3nfh-dfdd8bd24af88c946d9d.js +0 -1
  109. data/tools/admin/PluginsTab-1tlTx4k1-496335d424694bd25d9a.js +0 -5
  110. data/tools/admin/RadiobuttonWidget-C5rxLM7K-9bdffd0ee597d4386ad7.js +0 -1
  111. data/tools/admin/RedisTab-DAeGow_e-aad9acabdf7d1943559b.js +0 -1
  112. data/tools/admin/RoutersTab-G4WKtUOo-8f69fb20843fdf62fa85.js +0 -1
  113. data/tools/admin/SettingsTab-BUdeAh4o-f1b85c2ee59d2f206af1.js +0 -5
  114. data/tools/admin/SpacerWidget-VVkOCb6N-356dcf21185ada59e84f.js +0 -1
  115. data/tools/admin/SparklineWidget-Dsmn38z_-2bd86ac75cf900848cd0.js +0 -1
  116. data/tools/admin/TabbookWidget-CXklff-l-46b8ed5b3d3fc3f6ff22.js +0 -1
  117. data/tools/admin/TextboxWidget-CHs2VYIv-55be6bce7cab19177b56.js +0 -1
  118. data/tools/admin/TextfieldWidget-CdANAW-6-82179a958f191dffd85c.js +0 -1
  119. data/tools/admin/TimeWidget-D0xT1wXR-52493dd27717545a87bd.js +0 -1
  120. data/tools/admin/TitleWidget-68NWCcXB-218c5743097602c7a5d8.js +0 -1
  121. data/tools/admin/TsdbTab-BytqwnkN-ddc61c1fffc41912b8cb.js +0 -4
  122. data/tools/admin/ValueWidget-B1aGUBP7-320f2f1feb3886640deb.js +0 -1
  123. data/tools/admin/ValuelimitsbarWidget-B7KcRjLS-70f46b11dcb2a83a3562.js +0 -1
  124. data/tools/admin/ValuelimitscolumnWidget-BVt6nLXq-08cf4c90f589d1d23b70.js +0 -1
  125. data/tools/admin/ValuerangebarWidget-uVZEI32U-ded0715685adaffdaca5.js +0 -1
  126. data/tools/admin/main-320f7a52ead0c027f3e7.js +0 -1502
@@ -1,5 +0,0 @@
1
- System.register(["./main-320f7a52ead0c027f3e7.js","vue","single-spa","./SimpleTextDialog-C-0ZC2bs-48d950cb04fe0c899bab.js","./settings-DZ910lLo-06b2e35cd3b4b6b6686c.js","vue-router","pinia","vuetify"],(function(te,et){"use strict";var $,W,Y,Z,P,j,G,n,r,y,i,o,f,u,h,A,E,v,z,M,k,K,L,N,J,Q;return{setters:[p=>{$=p.f,W=p.R,Y=p.C,Z=p.$,P=p.u,j=p.g,G=p.c},p=>{n=p.resolveComponent,r=p.openBlock,y=p.createElementBlock,i=p.createVNode,o=p.withCtx,f=p.createTextVNode,u=p.createElementVNode,h=p.createBlock,A=p.Fragment,E=p.renderList,v=p.toDisplayString,z=p.normalizeClass,M=p.mergeProps,k=p.createCommentVNode,K=p.normalizeProps,L=p.guardReactiveProps,N=p.withModifiers},null,p=>{J=p.E},p=>{Q=p.n},null,null,null],execute:(function(){const p="store_url",X="https://store.openc3.com",B={props:{id:Number,name:String,title:String,author:String,author_extra:Object,description:String,keywords:Array,img_path:String,image_url:String,licenses:Array,homepage:String,repository:String,gem_url:String,minimum_cosmos_version:String,checksum:String,versions:Array,current_version_id:Number,access:String,entitled:Boolean,installAllowed:{type:Boolean,default:!0}},data:function(){return{_api:new j,_storeUrl:"",imageContents:null}},computed:{plugin:function(){return{id:this.id,name:this.name,title:this.title,author:this.author,author_extra:this.author_extra,description:this.description,keywords:this.keywords,img_path:this.img_path,image_url:this.image_url,licenses:this.licenses,homepage:this.homepage,repository:this.repository,gem_url:this.gem_url,minimum_cosmos_version:this.minimum_cosmos_version,checksum:this.checksum,versions:this.versions,current_version_id:this.current_version_id,access:this.access,entitled:this.entitled,installAllowed:this.installAllowed}},canInstall:function(){return this.entitled&&this.installAllowed},installTooltip:function(){return this.installAllowed?this.accessTooltip:"Only admin users can install plugins."},imageContentsWithMimeType:function(){if(this.imageContents){const e={"image/bmp":[66,77],"image/jpeg":[255,216,255],"image/png":[137,80,78,71],"image/gif":[71,73,70,56],"image/webp":[82,73,70,70]},t=new TextEncoder().encode(globalThis.atob(this.imageContents.slice(0,6))).slice(1),a=Object.entries(e).find(([g,s])=>s.every((l,c)=>l===t[c]));if(a){const[g]=a;return`data:${g};base64,${this.imageContents}`}}},_navigableStoreUrl:function(){return this._storeUrl.replace("host.docker.internal","localhost")},storeLink:function(){return this.hasStoreListing&&this._navigableStoreUrl?new URL(`/cosmos_plugins/${this.id}`,this._navigableStoreUrl):null},hasStoreListing:function(){return!!this.id},hasDetails:function(){return this.hasStoreListing?!0:!!this.title&&!!this.description},isPluginInstalled:function(){return!!this.name},accessTooltip:function(){return this.entitled?"":localStorage.getItem("pluginStore.isApiKeySet")!=="true"?"Please add your App Store API key using the settings cog icon.":this.access==="enterprise"?"A COSMOS Enterprise license is required for this plugin.":"Please contact sales@openc3.com for access to this plugin."}},created:async function(){try{this._storeUrl=await this._api.get_setting(p)||X}catch{this._storeUrl=X}if(this.img_path)try{const e=new URLSearchParams({volume:"OPENC3_GEMS_VOLUME",scope:globalThis.openc3Scope}),{data:t}=await P.get(`/openc3-api/storage/download_file/${encodeURIComponent(this.img_path)}?${e}`);this.imageContents=t.contents}catch{}}},ie={mixins:[B],props:{modelValue:Boolean},emits:["triggerInstall","triggerUninstall","update:modelValue"],data(){return{showDialog:!1,showCopiedTooltip:!1,installedCosmosVersion:null,selectedVersionId:null}},computed:{isDialogOpen:{get:function(){return this.modelValue||this.showDialog},set:function(e){this.showDialog=e,this.$emit("update:modelValue",e)}},hasVersions:function(){return this.versions&&this.versions.length>0},selectedVersion:function(){if(!this.hasVersions)return null;const e=this.selectedVersionId||this.current_version_id;return this.versions.find(t=>t.id===e)||this.versions[0]},versionOptions:function(){return this.hasVersions?this.versions.map(e=>({title:e.version_number,value:e.id})):[]},versionTitle:function(){return this.selectedVersion?.title||this.title},versionDescription:function(){return this.selectedVersion?.description||this.description},versionKeywords:function(){return this.selectedVersion?.keywords||this.keywords},versionLicenses:function(){return this.selectedVersion?.licenses||this.licenses},versionHomepage:function(){return this.selectedVersion?.homepage||this.homepage},versionRepository:function(){return this.selectedVersion?.repository||this.repository},versionGemUrl:function(){return this.selectedVersion?.gem_url||this.gem_url},versionMinimumCosmosVersion:function(){return this.selectedVersion?.minimum_cosmos_version||this.minimum_cosmos_version},versionChecksum:function(){return this.selectedVersion?.checksum||this.checksum},versionImageUrl:function(){return this.selectedVersion?.image_url||this.image_url},formattedStoreLink:function(){return this._navigableStoreUrl.split("://").at(-1)},versionsAreCompatible:function(){return!this.installedCosmosVersion||!this.versionMinimumCosmosVersion?null:G.gte(this.installedCosmosVersion,this.versionMinimumCosmosVersion)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.installedCosmosVersion=e.version})},mounted:function(){this.selectedVersionId=this.current_version_id},methods:{openDialog:function(){this.isDialogOpen=!0},closeDialog:function(){this.isDialogOpen=!1},install:function(){this.$emit("triggerInstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},uninstall:function(){this.$emit("triggerUninstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},copyChecksum:function(){navigator.clipboard.writeText(this.versionChecksum),this.showCopiedTooltip=!0,setTimeout(()=>{this.showCopiedTooltip=!1},1e3)}}},se=["textContent"],le={key:0,class:"ml-1 font-italic"},ne={class:"plugin-image-backdrop"},oe=["textContent"],ae={class:"mt-3 text-caption font-italic"},re={key:1,class:"font-italic"},ue={class:"mt-3 text-caption font-italic"},ce={class:"mt-3"},de={key:0},pe={key:1};function he(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-toolbar"),b=n("v-icon"),V=n("v-select"),C=n("v-card-subtitle"),S=n("v-img"),T=n("v-chip"),I=n("v-text-field"),O=n("v-card-text"),w=n("v-card-actions"),U=n("v-card"),H=n("v-dialog");return r(),h(H,{modelValue:l.isDialogOpen,"onUpdate:modelValue":t[3]||(t[3]=x=>l.isDialogOpen=x),"max-width":"500"},{default:o(()=>[i(U,null,{default:o(()=>[i(D,{height:"24"},{default:o(()=>[i(c),u("span",{textContent:v(l.versionTitle)},null,8,se),i(c),i(d,{location:"top"},{activator:o(({props:x})=>[u("div",K(L(x)),[i(m,{href:e.storeLink,target:"_blank",icon:"mdi-open-in-new",size:"small",variant:"plain"},null,8,["href"])],16)]),default:o(()=>[u("span",null," View at "+v(l.formattedStoreLink),1)]),_:1}),i(m,{icon:"mdi-close-box",variant:"text",density:"compact",onClick:l.closeDialog},null,8,["onClick"])]),_:1}),i(C,{class:"d-flex align-center justify-space-between subtitle-with-version"},{default:o(()=>[u("div",null,[t[4]||(t[4]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",le,v(e.author_extra.badge_text),1)):k("",!0),e.author_extra?.badge_icon?(r(),h(b,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):k("",!0)]),l.hasVersions?(r(),h(V,{key:0,modelValue:s.selectedVersionId,"onUpdate:modelValue":t[0]||(t[0]=x=>s.selectedVersionId=x),items:l.versionOptions,"item-title":"title","item-value":"value",label:"Version",density:"compact",variant:"outlined","hide-details":"",class:"mt-1 version-select"},null,8,["modelValue","items"])):k("",!0)]),_:1}),i(O,null,{default:o(()=>[u("div",ne,[e.imageContentsWithMimeType?(r(),h(S,{key:0,src:e.imageContentsWithMimeType},null,8,["src"])):l.versionImageUrl?(r(),h(S,{key:1,src:l.versionImageUrl},null,8,["src"])):k("",!0)]),u("div",{class:"mt-3",textContent:v(l.versionDescription)},null,8,oe),u("div",ae,[t[5]||(t[5]=f(" Keywords: ",-1)),l.versionKeywords?(r(!0),y(A,{key:0},E(l.versionKeywords,x=>(r(),h(T,{key:x,variant:"flat",color:"primary",size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128)):(r(),y("span",re," none "))]),u("div",ue,[t[6]||(t[6]=f(" Licenses: ",-1)),(r(!0),y(A,null,E(l.versionLicenses,x=>(r(),h(T,{key:x,size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128))]),u("div",ce,[t[7]||(t[7]=u("span",{class:"text-caption font-italic"}," Minimum COSMOS version: ",-1)),f(" "+v(l.versionMinimumCosmosVersion)+" ",1),l.versionsAreCompatible!==null?(r(),h(d,{key:0,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(L(x)),[i(b,{icon:l.versionsAreCompatible?"mdi-check-circle":"mdi-alert",size:"small"},null,8,["icon"])],16)]),default:o(()=>[l.versionsAreCompatible?(r(),y("span",de," Your version of COSMOS meets the requirements. ")):(r(),y("span",pe," Your version of COSMOS is out of date. You can still install this plugin, but it might not work correctly. "))]),_:1})):k("",!0)]),i(I,{modelValue:l.versionChecksum,"onUpdate:modelValue":t[2]||(t[2]=x=>l.versionChecksum=x),class:"mt-3",label:"SHA256",variant:"solo",density:"compact","hide-details":"",readonly:""},{append:o(()=>[i(d,{modelValue:s.showCopiedTooltip,"onUpdate:modelValue":t[1]||(t[1]=x=>s.showCopiedTooltip=x),location:"top","open-on-hover":!1},{activator:o(({props:x})=>[i(m,M(x,{icon:"mdi-content-copy",variant:"text",density:"compact",onClick:l.copyChecksum}),null,16,["onClick"])]),default:o(()=>[t[8]||(t[8]=u("span",null,"Copied!",-1))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1}),i(w,{class:"justify-start px-6"},{default:o(()=>[e.isPluginInstalled?(r(),h(m,{key:0,text:"Uninstall","append-icon":"mdi-puzzle-remove",variant:"outlined",color:"red",onClick:l.uninstall},null,8,["onClick"])):(r(),h(d,{key:1,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(L(e.canInstall?null:x)),[i(m,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:l.install},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})),l.versionRepository?(r(),h(m,{key:2,text:"Repository","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionRepository,target:"_blank"},null,8,["href"])):k("",!0),l.versionHomepage?(r(),h(m,{key:3,text:"Homepage","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionHomepage,target:"_blank"},null,8,["href"])):k("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ee=$(ie,[["render",he],["__scopeId","data-v-ac4e664f"]]),ge={components:{PluginDetailsDialog:ee},mixins:[B],emits:["triggerInstall"],data(){return{showDialog:!1}},methods:{openDialog:function(){this.showDialog=!0},install:function(e){this.$emit("triggerInstall",{id:this.id,version_id:e?.version_id||this.current_version_id})}}},me={key:0,class:"ml-1 font-italic"},fe={class:"plugin-image-backdrop"},ve=["textContent"];function _e(e,t,a,g,s,l){const c=n("v-card-title"),m=n("v-icon"),d=n("v-card-subtitle"),D=n("v-img"),b=n("v-card-text"),V=n("v-spacer"),C=n("v-btn"),S=n("v-tooltip"),T=n("v-card-actions"),I=n("v-card"),O=n("plugin-details-dialog");return r(),y(A,null,[i(I,{height:"350",class:"d-flex flex-column",onClick:l.openDialog},{default:o(()=>[i(c,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[f(v(e.title),1)]),_:1}),i(d,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[u("div",null,[t[1]||(t[1]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",me,v(e.author_extra.badge_text),1)):k("",!0),e.author_extra?.badge_icon?(r(),h(m,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):k("",!0)])]),_:1}),i(b,null,{default:o(()=>[u("div",fe,[e.image_url?(r(),h(D,{key:0,src:e.image_url,"max-height":"160"},null,8,["src"])):k("",!0)]),u("div",{class:z({"truncate-description":!0,"truncate-2":!!e.image_url,"truncate-10":!e.image_url}),textContent:v(e.description)},null,10,ve)]),_:1}),i(V),i(T,{class:"flex-wrap"},{default:o(()=>[i(S,{"open-delay":600,location:"top"},{activator:o(({props:w})=>[u("span",K(L(e.canInstall?null:w)),[i(C,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:N(l.install,["stop"])},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})]),_:1})]),_:1},8,["onClick"]),s.showDialog?(r(),h(O,M({key:0,modelValue:s.showDialog,"onUpdate:modelValue":t[0]||(t[0]=w=>s.showDialog=w)},e.plugin,{onTriggerInstall:l.install}),null,16,["modelValue","onTriggerInstall"])):k("",!0)],64)}const ye=$(ge,[["render",_e],["__scopeId","data-v-825f4373"]]),q="store_url",F="store_api_key",R="DEFAULT",we="https://store.openc3.com",xe={mixins:[Q],props:{modelValue:Boolean},emits:["update:modelValue","update:storeUrl"],data(){return{showDialog:!1,storeUrl:"",apiKey:null,isEnterprise:!1,showApiKeyAlert:!1,suppressApiKeyAlert:!1,rules:{required:e=>!!e||"Required",url:e=>{try{new URL(e)}catch{return"Not a valid URL"}return!0}}}},computed:{accountSettingsUrl:function(){const e=this.storeUrl.replace("host.docker.internal","localhost");return new URL("account",e)}},watch:{apiKey:function(e){this.checkEnterpriseKey(),localStorage.setItem("pluginStore.isApiKeySet",!!e)},isEnterprise:function(e){this.checkEnterpriseKey()},suppressApiKeyAlert:function(e){localStorage.setItem("pluginStore.suppressApiKeyAlert",e)},modelValue:function(e){e&&(this.showDialog=e)},showDialog:function(e){e||this.$emit("update:modelValue",e)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.isEnterprise=e.enterprise}),this.loadSetting(q,{scope:R}),this.loadSetting(F,{scope:R}),this.$emit("update:storeUrl",this.storeUrl)},methods:{checkEnterpriseKey:function(){this.isEnterprise&&this.apiKey===""&&this.openApiKeyAlert()},openApiKeyAlert:function(){localStorage.getItem("pluginStore.suppressApiKeyAlert")!=="true"&&(this.showApiKeyAlert=!0)},closeApiKeyAlert:function(){this.showApiKeyAlert=!1},save:function(){this.saveSetting(q,this.storeUrl,{scope:R}),this.saveSetting(F,this.apiKey,{scope:R}),this.$emit("update:storeUrl",this.storeUrl),this.showDialog=!1},parseSetting:function(e,{setting:t}){switch(t){case q:this.storeUrl=e||we;break;case F:this.apiKey=e||"";break}}}},Ce=["href"];function ke(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-toolbar"),d=n("v-alert"),D=n("v-text-field"),b=n("v-card-text"),V=n("v-btn"),C=n("v-card-actions"),S=n("v-card"),T=n("v-dialog"),I=n("v-icon"),O=n("v-checkbox");return r(),y(A,null,[i(T,{modelValue:s.showDialog,"onUpdate:modelValue":t[4]||(t[4]=w=>s.showDialog=w),width:"600"},{default:o(()=>[i(m,{height:"24"},{default:o(()=>[i(c),t[7]||(t[7]=u("span",null,"Plugin Store Settings",-1)),i(c)]),_:1}),i(S,{class:"pa-3"},{default:o(()=>[i(d,{modelValue:e.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=w=>e.errorLoading=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error loading previous configuration due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(d,{modelValue:e.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=w=>e.errorSaving=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error saving due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(b,null,{default:o(()=>[i(D,{modelValue:s.storeUrl,"onUpdate:modelValue":t[2]||(t[2]=w=>s.storeUrl=w),label:"Store URL",rules:[s.rules.required,s.rules.url]},null,8,["modelValue","rules"]),i(D,{modelValue:s.apiKey,"onUpdate:modelValue":t[3]||(t[3]=w=>s.apiKey=w),type:"password",label:"API Key"},null,8,["modelValue"])]),_:1}),i(C,null,{default:o(()=>[i(V,{color:"success",variant:"text",text:"Save","data-test":"save-store-settings-btn",onClick:l.save},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(T,{modelValue:s.showApiKeyAlert,"onUpdate:modelValue":t[6]||(t[6]=w=>s.showApiKeyAlert=w)},{default:o(()=>[i(S,{class:"pa-3"},{default:o(()=>[i(b,{class:"pb-0"},{default:o(()=>[t[9]||(t[9]=f(" You're using COSMOS Enterprise, but you haven't set an OpenC3 Store API key yet. You must set this to access Enterprise plugins. ",-1)),t[10]||(t[10]=u("br",null,null,-1)),t[11]||(t[11]=u("br",null,null,-1)),t[12]||(t[12]=f(" Visit the ",-1)),u("a",{href:l.accountSettingsUrl,target:"_blank"},[t[8]||(t[8]=f(" OpenC3 Store account settings",-1)),i(I,{icon:"mdi-open-in-new",size:"x-small"})],8,Ce),t[13]||(t[13]=f(" to generate an API key. Then, return here and open the Plugin Store settings with the ",-1)),i(I,{icon:"mdi-cog",size:"small"}),t[14]||(t[14]=f(" icon and paste your API key into the API key field. ",-1))]),_:1}),i(C,null,{default:o(()=>[i(O,{modelValue:s.suppressApiKeyAlert,"onUpdate:modelValue":t[5]||(t[5]=w=>s.suppressApiKeyAlert=w),class:"px-3",label:"Don't show this message again","hide-details":""},null,8,["modelValue"]),i(V,{variant:"elevated",text:"OK",onClick:l.closeApiKeyAlert},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const Pe=$(xe,[["render",ke]]),be="https://store.openc3.com",Ve={components:{PluginCard:ye,PluginStoreSettingsDialog:Pe},emits:["close","triggerInstall"],data(){return{api:new j,search:"",showSettingsDialog:!1,plugins:[],storeError:null,storeUrl:be,isEnterprise:!1,isAdmin:!0,loading:!1}},computed:{filteredPlugins:function(){let e=this.plugins;return this.search.length&&(e=e.filter(t=>t.title.toLowerCase().includes(this.search.toLowerCase()))),e},formattedStoreUrl:function(){return this.storeUrl.split("://").at(-1)},installAllowed:function(){return!this.isEnterprise||this.isAdmin}},mounted:function(){this.fetchPluginStoreData(),this.fetchUserContext()},methods:{fetchPluginStoreData:function(){this.loading=!0,P.get("/openc3-api/pluginstore").then(({data:e})=>{if(e.error){const{title:t,body:a}=e;this.storeError={title:t,body:a},this.plugins=[]}else this.storeError=null,this.plugins=e}).finally(()=>{this.loading=!1})},fetchUserContext:function(){P.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=!!t.enterprise});const e=OpenC3Auth.userroles()||[];this.isAdmin=e.includes("admin")},close:function(){this.$emit("close")},install:function(e){this.$emit("triggerInstall",e),this.close()},openSettings:function(){this.showSettingsDialog=!0},updatePluginStore:function(e){this.storeUrl=e,this.loading=!0,this.api.update_plugin_store().then(t=>{this.fetchPluginStoreData()})}}},Se={class:"d-flex justify-content-space-between"},De={class:"d-inline-flex align-center w-100"},Te={key:1,class:"d-flex justify-center align-center py-12","data-test":"plugin-store-loading"};function Ue(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-text-field"),b=n("v-alert"),V=n("v-progress-circular"),C=n("plugin-card"),S=n("v-col"),T=n("v-row"),I=n("v-container"),O=n("v-sheet"),w=n("plugin-store-settings-dialog");return r(),y(A,null,[i(O,{class:"pb-11 pt-8 px-8",height:"100%"},{default:o(()=>[u("div",Se,[t[2]||(t[2]=u("div",null,[u("div",{class:"text-h3 mb-3"},"OpenC3 Plugin Store"),u("div",{class:"text-subtitle-1"}," Browse plugins made by OpenC3 and the COSMOS community ")],-1)),i(c),i(m,{icon:"mdi-cog",variant:"text",onClick:l.openSettings},null,8,["onClick"]),i(d,{location:"top"},{activator:o(({props:U})=>[u("div",K(L(U)),[i(m,{href:s.storeUrl,target:"_blank",icon:"mdi-open-in-new",variant:"text",class:"mx-2"},null,8,["href"])],16)]),default:o(()=>[u("span",null," Open "+v(l.formattedStoreUrl),1)]),_:1}),i(m,{icon:"mdi-close",variant:"text",onClick:l.close},null,8,["onClick"])]),u("div",De,[i(D,{modelValue:s.search,"onUpdate:modelValue":t[0]||(t[0]=U=>s.search=U),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"search-plugin-store"},null,8,["modelValue"])]),i(c),t[4]||(t[4]=u("span",{class:""}," Click on a plugin to see more information about it ",-1)),s.storeError?(r(),h(b,{key:0,class:"mt-6",color:"error",title:s.storeError.title,text:s.storeError.body},null,8,["title","text"])):s.loading?(r(),y("div",Te,[i(V,{indeterminate:"",color:"primary",size:"48"}),t[3]||(t[3]=u("span",{class:"ml-4 text-subtitle-1"},"Loading plugins...",-1))])):(r(),h(I,{key:2},{default:o(()=>[i(T,null,{default:o(()=>[(r(!0),y(A,null,E(l.filteredPlugins,U=>(r(),h(S,{key:U.id,cols:"4"},{default:o(()=>[i(C,M({ref_for:!0},U,{"install-allowed":l.installAllowed,onTriggerInstall:l.install}),null,16,["install-allowed","onTriggerInstall"])]),_:2},1024))),128))]),_:1})]),_:1}))]),_:1}),i(w,{modelValue:s.showSettingsDialog,"onUpdate:modelValue":t[1]||(t[1]=U=>s.showSettingsDialog=U),"onUpdate:storeUrl":l.updatePluginStore},null,8,["modelValue","onUpdate:storeUrl"])],64)}const Ae=$(Ve,[["render",Ue]]),Ie={components:{PluginDetailsDialog:ee},mixins:[B],props:{targets:{type:Array,default:()=>[]},isModified:Boolean,microservices:{type:Object,default:()=>({})}},emits:["edit","delete","upgrade"],data(){return{showCard:!1}},computed:{displayTitle:function(){return this.title?this.title:this.name.replace(/^openc3-cosmos-/,"").replace(/-?\d+\.\d+\.\d+(?:\.pre\.beta\d+\.\d+)?\.gem(?:__\d+)?$/,"")},getMicroservicesForPlugin:function(){const e=[];for(const[t,a]of Object.entries(this.microservices))a.plugin===this.name&&e.push(t);return e},microserviceCount:function(){return this.getMicroservicesForPlugin.length}},methods:{openDetails:function(){this.hasDetails&&(this.showCard=!0)},downloadPlugin:function(){P.post(`/openc3-api/packages/${this.name}/download`).then(e=>{const t=window.atob(e.data.contents),a=new Uint8Array(t.length);for(let l=0;l<t.length;++l)a[l]=t.charCodeAt(l);const g=new Blob([a],{type:"application/zip"}),s=document.createElement("a");s.href=URL.createObjectURL(g),s.setAttribute("download",e.data.filename),s.click()})},downloadTarget:function(e){P.post(`/openc3-api/targets/${e}/download`).then(t=>{const a=window.atob(t.data.contents),g=new Uint8Array(a.length);for(let c=0;c<a.length;++c)g[c]=a.charCodeAt(c);const s=new Blob([g],{type:"application/zip"}),l=document.createElement("a");l.href=URL.createObjectURL(s),l.setAttribute("download",t.data.filename),l.click()})},edit:function(){this.$emit("edit")},upgrade:function(){this.$emit("upgrade")},viewMicroservices:function(){const e=this.getMicroservicesForPlugin.join(",");this.$router.push({path:"/tools/admin/microservices",query:{services:e}})},deletePrompt:function(){this.showCard=!1,this.$emit("delete")}}},Oe=["textContent"],$e={class:"text-subtitle-2 v-list-item-subtitle pl-0"},Me={key:0},Ee=["onClick","textContent"],Ke=["textContent"];function Le(e,t,a,g,s,l){const c=n("v-img"),m=n("v-icon"),d=n("v-list-item"),D=n("v-list"),b=n("v-menu"),V=n("plugin-details-dialog");return r(),y(A,null,[u("tr",{class:z({"cursor-pointer":e.hasDetails}),"data-test":"plugin-list-item"},[u("td",null,[e.imageContentsWithMimeType?(r(),h(c,{key:0,src:e.imageContentsWithMimeType,"max-height":"56","min-width":"56"},null,8,["src"])):k("",!0)]),u("td",null,[u("div",{class:"text-h6",onClick:t[0]||(t[0]=(...C)=>l.openDetails&&l.openDetails(...C)),textContent:v(l.displayTitle)},null,8,Oe),u("div",$e,[a.isModified?(r(),y(A,{key:0},[f(" * ")],64)):k("",!0),f(" "+v(e.name),1)]),a.targets?.length?(r(),y("div",Me,[(r(!0),y(A,null,E(a.targets,(C,S)=>(r(),y("span",{key:S,class:"mr-2"},[C.modified?(r(),y("a",{key:0,style:{cursor:"pointer"},onClick:N(T=>l.downloadTarget(C.name),["prevent"]),textContent:v(C.name)},null,8,Ee)):(r(),y("span",{key:1,textContent:v(C.name)},null,8,Ke))]))),128))])):k("",!0)]),u("td",null,[i(b,null,{activator:o(({props:C})=>[i(m,M(C,{icon:"mdi-dots-horizontal","data-test":"plugin-actions"}),null,16)]),default:o(()=>[i(D,null,{default:o(()=>[i(d,{title:"Download","prepend-icon":"mdi-download","data-test":"download-plugin",onClick:l.downloadPlugin},null,8,["onClick"]),i(d,{title:"Edit Details","prepend-icon":"mdi-pencil","data-test":"edit-plugin",onClick:l.edit},null,8,["onClick"]),i(d,{title:"Upgrade","prepend-icon":"mdi-update","data-test":"upgrade-plugin",onClick:l.upgrade},null,8,["onClick"]),i(d,{title:`View Microservices (${l.microserviceCount})`,"prepend-icon":"mdi-tab","data-test":"view-microservices",onClick:l.viewMicroservices},null,8,["title","onClick"]),i(d,{title:"Delete","prepend-icon":"mdi-delete","data-test":"delete-plugin",onClick:l.deletePrompt},null,8,["onClick"])]),_:1})]),_:1})])],2),s.showCard?(r(),h(V,M({key:0,modelValue:s.showCard,"onUpdate:modelValue":t[1]||(t[1]=C=>s.showCard=C)},e.plugin,{onTriggerUninstall:l.deletePrompt}),null,16,["modelValue","onTriggerUninstall"])):k("",!0)],64)}const je=$(Ie,[["render",Le]]),ze={components:{PluginListItem:je},props:{plugins:{type:Array,required:!0},targets:{type:Object,required:!0},showDefaultTools:{type:Boolean,default:!1},defaultPlugins:{type:Array,required:!0}},emits:["edit","delete","upgrade"],data(){return{showPluginDetails:!1,detailPlugin:null,microservices:{}}},computed:{shownPlugins(){const e=[],t=[];return this.plugins.forEach(a=>{const g=a.name.split("__")[0].split("-").slice(0,-1).join("-");this.defaultPlugins.includes(g)?t.push(a):e.push(a)}),e.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),this.showDefaultTools?(t.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),e.concat(t)):e}},mounted(){this.fetchMicroservices()},methods:{showDetails:function(e){this.detailPlugin=e,this.showPluginDetails=!0},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},editPlugin:function(e){this.$emit("edit",e)},upgradePlugin(e){this.$emit("upgrade",e)},deletePrompt:function(e){this.$emit("delete",e)},fetchMicroservices:function(){P.get("/openc3-api/microservices/all").then(e=>{this.microservices=e.data})}}};function Re(e,t,a,g,s,l){const c=n("plugin-list-item"),m=n("v-data-table");return r(),h(m,{headers:[],items:l.shownPlugins,density:"compact",class:"list","data-test":"plugin-list"},{item:o(({item:d})=>[(r(),h(c,M({key:d.name},d,{targets:l.pluginTargets(d.name),"is-modified":l.isModified(d.name),microservices:s.microservices,onEdit:()=>l.editPlugin(d.name),onUpgrade:()=>l.upgradePlugin(d.name),onDelete:()=>l.deletePrompt(d.name)}),null,16,["targets","is-modified","microservices","onEdit","onUpgrade","onDelete"]))]),_:1},8,["items"])}const Ne=$(ze,[["render",Re],["__scopeId","data-v-16a76865"]]),Be={components:{PluginDialog:Z,PluginList:Ne,PluginStore:Ae,ModifiedPluginDialog:Y,SimpleTextDialog:J},mixins:[W],data(){return{pluginName:null,variables:{},storePluginId:null,storeVersionId:null,minCosmosVersion:null,pluginTxt:"",file:null,currentPlugin:null,pluginHashTmp:null,existingPluginTxt:null,progress:0,pluginDelete:!1,api:new j,plugins:[],targets:{},processes:{},alert:"",alertType:"success",showAlert:!1,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginStore:!1,showPluginDialog:!1,showModifiedPluginDialog:!1,showDefaultTools:!1,timeZone:"local",defaultPlugins:["openc3-cosmos-tool-admin","openc3-cosmos-tool-bucketexplorer","openc3-cosmos-tool-cmdsender","openc3-cosmos-tool-cmdqueue","openc3-cosmos-tool-cmdhistory","openc3-cosmos-tool-cmdtlmserver","openc3-cosmos-tool-dataextractor","openc3-cosmos-tool-dataviewer","openc3-cosmos-tool-docs","openc3-cosmos-tool-handbooks","openc3-cosmos-tool-iframe","openc3-cosmos-tool-limitsmonitor","openc3-cosmos-tool-packetviewer","openc3-cosmos-tool-scriptrunner","openc3-cosmos-tool-tablemanager","openc3-cosmos-tool-tlmgrapher","openc3-cosmos-tool-tlmviewer","openc3-cosmos-enterprise-tool-admin","openc3-cosmos-tool-autonomic","openc3-cosmos-tool-calendar","openc3-cosmos-tool-grafana","openc3-cosmos-tool-logexplorer","openc3-cosmos-tool-notebooks","openc3-cosmos-tool-systemhealth","openc3-enterprise-tool-base","openc3-tool-base"]}},watch:{showPluginDialog:function(e,t){e===!1&&(this.file=null,this.$refs.fileInput.value=null)}},created(){this.api.update_plugin_store(),this.api.get_setting("time_zone").then(e=>{e&&(this.timeZone=e)}).catch(()=>{})},mounted(){this.update(),this.updateProcesses();const e=this;window.onpopstate=function(){e.showPluginStore&&(e.showPluginStore=!1,history.go(1))}},methods:{resetControlState:function(){this.pluginName=null,this.variables={},this.storePluginId=null,this.storeVersionId=null,this.minCosmosVersion=null,this.pluginTxt="",this.file=null,this.currentPlugin=null,this.pluginHashTmp=null,this.existingPluginTxt=null,this.progress=0,this.pluginDelete=!1},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},showOutput:function(e){this.processOutput=e.output,this.showProcessOutput=!0},update:function(){P.get("/openc3-api/plugins/all").then(e=>{this.plugins=Object.entries(e.data).map(([t,a])=>a)}),P.get("/openc3-api/targets_modified").then(e=>{this.targets=e.data})},updateProcesses:function(){P.get("openc3-api/process_status/plugin_?substr=true").then(e=>{this.processes=e.data,Object.keys(this.processes).length>0&&setTimeout(()=>{this.updateProcesses(),this.update()},5e3)})},upload:function(e=null,t=null){const a=e?"put":"post",g=e?`/openc3-api/plugins/${e}`:"/openc3-api/plugins",s=new FormData;t===null?s.append("plugin",this.file,this.file.name):(s.append("store_plugin_id",t.id),s.append("store_version_id",t.version_id));let l=this;P[a](g,{data:s,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(c){let m=Math.round(c.loaded*100/c.total);l.progress=m}}).then(c=>{this.progress=100,this.alert="Uploaded file",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update();let m=null;c.data.existing_plugin_txt_lines!==void 0&&(m=c.data.existing_plugin_txt_lines.join(`
2
- `));let d=c.data.plugin_txt_lines.join(`
3
- `);this.pluginName=c.data.name,this.variables=c.data.variables,this.storePluginId=c.data.store_plugin_id,this.storeVersionId=c.data.store_version_id,this.minCosmosVersion=c.data.minimum_cosmos_version,this.pluginTxt=d,this.existingPluginTxt=m,this.showPluginDialog=!0,this.file=void 0}).catch(c=>{this.currentPlugin=null,this.file=void 0})},pluginCallback:function(e){this.showPluginDialog=!1,this.currentPlugin!==null&&(e.name=this.currentPlugin),this.pluginHashTmp=e,this.isModified(this.currentPlugin)?(this.pluginDelete=!1,this.showModifiedPluginDialog=!0):this.pluginInstall()},modifiedSubmit:async function(e){if(e===!0)for(let t of this.pluginTargets(this.currentPlugin))t.modified==!0&&await P.post(`/openc3-api/targets/${t.name}/delete_modified`);this.pluginDelete?this.deletePlugin(this.currentPlugin):this.pluginInstall()},pluginInstall:function(){P.post(`/openc3-api/plugins/install/${this.pluginName}`,{data:{plugin_hash:JSON.stringify(this.pluginHashTmp)}}).then(e=>{this.alert=`Started installing plugin ${this.pluginName} ...`,this.alertType="success",this.showAlert=!0,this.currentPlugin=null,this.file=void 0,this.variables={},this.pluginTxt="",this.existingPluginTxt=null,this.storePluginId=null,this.storeVersionId=null,setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3),this.update()})},editPlugin:function(e){this.resetControlState(),P.get(`/openc3-api/plugins/${e}`).then(t=>{let a=null;t.data.existing_plugin_txt_lines!==void 0&&(a=t.data.existing_plugin_txt_lines.join(`
4
- `)),this.pluginName=t.data.name,this.variables=t.data.variables,this.pluginTxt=t.data.plugin_txt_lines.join(`
5
- `),this.existingPluginTxt=a,this.showPluginDialog=!0})},deletePrompt:function(e){this.resetControlState(),this.$dialog.confirm(`Are you sure you want to remove: ${e}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.isModified(e)?(this.currentPlugin=e,this.pluginDelete=!0,this.showModifiedPluginDialog=!0):this.deletePlugin(e)})},deletePlugin:function(e){this.alert=`Removing plugin ${e} ...`,this.alertType="success",this.showAlert=!0,P.delete(`/openc3-api/plugins/${e}`).then(t=>{setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3)}),this.update()},upgradePlugin(e){this.resetControlState(),this.currentPlugin=e,this.$refs.fileInput.click()},selectFile(){this.resetControlState(),this.$refs.fileInput.click()},fileChange(e){const t=e.target.files;if(t.length>0)if(this.file=t[0],this.currentPlugin!==null)if(this.file.name.split(".gem")[0]==this.currentPlugin.split(".gem")[0])this.$dialog.confirm(`The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}).catch(a=>{});else{let a=this.file.name.split("-"),g=a.findIndex(c=>c.includes(".")),s=a.slice(0,g).join("-");a=this.currentPlugin.split("-"),g=a.findIndex(c=>c.includes("."));let l=a.slice(0,g).join("-");s!==l?this.$dialog.confirm(`The new gem base name ${s} doesn't match the existing ${l}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}):this.upload(this.currentPlugin)}else this.upload();else this.$refs.fileInput.value=null},openStore(){this.resetControlState(),this.showPluginStore=!0}}},qe={class:"mt-2"},Fe=["textContent"],He=["textContent"];function We(e,t,a,g,s,l){const c=n("v-btn"),m=n("v-icon"),d=n("v-col"),D=n("rux-progress"),b=n("v-row"),V=n("v-divider"),C=n("v-alert"),S=n("v-list-item-title"),T=n("v-list-item-subtitle"),I=n("v-progress-circular"),O=n("v-tooltip"),w=n("v-list-item"),U=n("v-list"),H=n("v-switch"),x=n("plugin-list"),Ye=n("plugin-dialog"),Ze=n("modified-plugin-dialog"),Ge=n("simple-text-dialog"),Je=n("plugin-store"),Qe=n("v-bottom-sheet");return r(),y("div",null,[i(b,{"no-gutters":"",align:"center",class:"px-2"},{default:o(()=>[i(d,{class:"pa-2 mt-2"},{default:o(()=>[i(c,{"append-icon":"mdi-store",onClick:l.openStore},{default:o(()=>[...t[9]||(t[9]=[f(" Browse Plugins ",-1)])]),_:1},8,["onClick"]),i(c,{"append-icon":"mdi-paperclip",class:"mx-2",onClick:l.selectFile},{default:o(()=>[...t[10]||(t[10]=[f(" Install From File ",-1)])]),_:1},8,["onClick"]),u("input",{ref:"fileInput",accept:".gem",style:{display:"none"},type:"file",onChange:t[0]||(t[0]=(..._)=>l.fileChange&&l.fileChange(..._))},null,544),t[14]||(t[14]=u("br",null,null,-1)),u("p",qe,[t[12]||(t[12]=f(" Note: Use ",-1)),i(m,null,{default:o(()=>[...t[11]||(t[11]=[f(" mdi-dots-horizontal ",-1)])]),_:1}),t[13]||(t[13]=f(" in the Installed Plugins list to upgrade existing plugins ",-1))])]),_:1}),i(d,{class:"ml-4 mr-2",cols:"4"},{default:o(()=>[i(D,{value:s.progress},null,8,["value"])]),_:1})]),_:1}),i(b,{"no-gutters":"",class:"px-2"},{default:o(()=>[i(d,{align:"right",class:"mr-2"},{default:o(()=>[...t[15]||(t[15]=[u("div",null,"* indicates a modified plugin",-1),u("div",null,"Click target link to download modifications",-1)])]),_:1})]),_:1}),i(V),i(C,{modelValue:s.showAlert,"onUpdate:modelValue":t[1]||(t[1]=_=>s.showAlert=_),closable:"",type:s.alertType,text:s.alert,"data-test":"plugin-alert"},null,8,["modelValue","type","text"]),Object.keys(s.processes).length>0?(r(),h(U,{key:0,class:"list","data-test":"process-list"},{default:o(()=>[i(b,{"no-gutters":"",class:"px-4"},{default:o(()=>[i(d,{class:"text-h5"},{default:o(()=>[...t[16]||(t[16]=[f(" Process List ",-1)])]),_:1}),i(d,{align:"right"},{default:o(()=>[...t[17]||(t[17]=[u("div",null,"Showing last 10 min of activity",-1)])]),_:1})]),_:1}),(r(!0),y(A,null,E(s.processes,_=>(r(),y("div",{key:_.name},[i(w,null,{append:o(()=>[_.state==="Running"?(r(),h(I,{key:0,indeterminate:"",color:"primary"})):(r(),h(O,{key:1,"open-delay":600,location:"top"},{activator:o(({props:Xe})=>[i(c,M({ref_for:!0},Xe,{icon:"mdi-eye",variant:"text","aria-label":"Show Output","data-test":"show-output",onClick:it=>l.showOutput(_)}),null,16,["onClick"])]),default:o(()=>[t[18]||(t[18]=u("span",null," Show Output ",-1))]),_:2},1024))]),default:o(()=>[i(S,null,{default:o(()=>[u("span",{class:z(_.state.toLowerCase()),textContent:v(`Processing ${_.process_type}: ${_.detail} - ${_.state}`)},null,10,Fe)]),_:2},1024),i(T,null,{default:o(()=>[u("span",{textContent:v(" Updated At: "+e.formatNanoseconds(_.updated_at,s.timeZone))},null,8,He)]),_:2},1024)]),_:2},1024),i(V)]))),128))]),_:1})):k("",!0),i(b,{"no-gutters":"",class:"px-4"},{default:o(()=>[i(d,{class:"text-h5"},{default:o(()=>[...t[19]||(t[19]=[f(" Installed Plugins ",-1)])]),_:1}),i(d,{class:"v-col-auto"},{default:o(()=>[i(H,{modelValue:s.showDefaultTools,"onUpdate:modelValue":t[2]||(t[2]=_=>s.showDefaultTools=_),label:"Show Default Tools",density:"compact","hide-details":"","data-test":"show-default-tools"},null,8,["modelValue"])]),_:1})]),_:1}),i(x,{plugins:s.plugins,targets:s.targets,"show-default-tools":s.showDefaultTools,"default-plugins":s.defaultPlugins,onEdit:l.editPlugin,onUpgrade:l.upgradePlugin,onDelete:l.deletePrompt},null,8,["plugins","targets","show-default-tools","default-plugins","onEdit","onUpgrade","onDelete"]),s.showPluginDialog?(r(),h(Ye,{key:1,modelValue:s.showPluginDialog,"onUpdate:modelValue":t[3]||(t[3]=_=>s.showPluginDialog=_),"plugin-name":s.pluginName,variables:s.variables,"plugin-txt":s.pluginTxt,"existing-plugin-txt":s.existingPluginTxt,"store-plugin-id":s.storePluginId,"store-version-id":s.storeVersionId,"min-cosmos-version":s.minCosmosVersion,onCallback:l.pluginCallback},null,8,["modelValue","plugin-name","variables","plugin-txt","existing-plugin-txt","store-plugin-id","store-version-id","min-cosmos-version","onCallback"])):k("",!0),s.showModifiedPluginDialog?(r(),h(Ze,{key:2,modelValue:s.showModifiedPluginDialog,"onUpdate:modelValue":t[4]||(t[4]=_=>s.showModifiedPluginDialog=_),"plugin-name":s.currentPlugin,targets:l.pluginTargets(s.currentPlugin),"plugin-delete":s.pluginDelete,onSubmit:l.modifiedSubmit},null,8,["modelValue","plugin-name","targets","plugin-delete","onSubmit"])):k("",!0),i(Ge,{modelValue:s.showProcessOutput,"onUpdate:modelValue":t[5]||(t[5]=_=>s.showProcessOutput=_),title:"Process Output",text:s.processOutput},null,8,["modelValue","text"]),i(Qe,{modelValue:s.showPluginStore,"onUpdate:modelValue":t[8]||(t[8]=_=>s.showPluginStore=_),fullscreen:""},{default:o(()=>[i(Je,{onClose:t[6]||(t[6]=()=>s.showPluginStore=!1),onTriggerInstall:t[7]||(t[7]=_=>l.upload(null,_))})]),_:1},8,["modelValue"])])}const tt=te("default",$(Be,[["render",We],["__scopeId","data-v-31fcfb69"]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","vue-router","pinia","single-spa","vuetify"],(function(u,v){"use strict";var l,t,n,a,r,s;return{setters:[e=>{l=e.h},e=>{t=e.resolveComponent,n=e.openBlock,a=e.createBlock,r=e.normalizeStyle},e=>{s=e.f},null,null,null,null],execute:(function(){const e={mixins:[l],props:{value:{type:Number,default:null}},data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function o(i,y,c,f,p,b){const d=t("v-radio");return n(),a(d,{"hide-details":"",dense:"",label:p.label,style:r(i.computedStyle),value:c.value},null,8,["label","style","value"])}const m=u("default",s(e,[["render",o]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./main-320f7a52ead0c027f3e7.js","vue","vue-router","pinia","single-spa","vuetify"],(function(g,D){"use strict";var y,f,d,o,c,n,l,r,p,b,m,x;return{setters:[a=>{y=a.f,f=a.u},a=>{d=a.resolveComponent,o=a.openBlock,c=a.createElementBlock,n=a.createVNode,l=a.withCtx,r=a.createTextVNode,p=a.createElementVNode,b=a.Fragment,m=a.toDisplayString,x=a.createCommentVNode},null,null,null,null],execute:(function(){const a={data(){return{redisCommandText:"",redisResponse:null,redisEndpoint:"persistent",db_shard:"0",prettyPrint:!1,headers:[{text:"Redis",value:"redis",width:150},{text:"Command",value:"command"},{text:"Response",value:"response"}],commands:[]}},computed:{formattedResponse:function(){let t=this.redisResponse;if(this.redisResponse&&this.prettyPrint){if(typeof t=="string")try{t=JSON.parse(t)}catch{}if(Array.isArray(t)){for(let e=0;e<t.length;e++)if(typeof t[e]=="string")try{t[e]=JSON.parse(t[e])}catch{}}}return t=JSON.stringify(t,null,2),`Response: ${t}`}},methods:{commandKeydown:function(t){t.key==="Enter"&&this.executeRaw()},executeRaw:function(){this.redisResponse=null;let t="/openc3-api/redis/exec";const e=[];this.redisEndpoint==="ephemeral"&&e.push("ephemeral=1"),this.db_shard&&this.db_shard!=="0"&&e.push(`db_shard=${this.db_shard}`),e.length&&(t+="?"+e.join("&")),f.post(t,{data:this.redisCommandText,headers:{Accept:"application/json","Content-Type":"text/plain"}}).then(v=>{this.redisResponse=v.data.result;let u=this.redisEndpoint==="ephemeral"?"Ephemeral":"Persistent";this.db_shard!=="0"&&(u+=` (db_shard ${this.db_shard})`),this.commands.unshift({redis:u,command:this.redisCommandText,response:this.redisResponse})})}}},V=["textContent"],C={key:1,class:"monospace"};function w(t,e,v,u,s,h){const E=d("v-card-title"),k=d("v-card-subtitle"),R=d("v-text-field"),N=d("v-checkbox"),S=d("v-card-text"),T=d("v-btn"),_=d("v-radio"),P=d("v-radio-group"),U=d("v-card-actions"),A=d("v-data-table"),B=d("v-card");return o(),c("div",null,[n(B,null,{default:l(()=>[n(E,null,{default:l(()=>[...e[4]||(e[4]=[r(" Send Raw Redis Commands ",-1)])]),_:1}),n(k,null,{default:l(()=>[...e[5]||(e[5]=[r(" THIS IS DANGEROUS. This allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. ",-1),p("br",null,null,-1),p("br",null,null,-1),r(" Enter commands like you would at the Redis cli prompt: ",-1),p("code",null,"ping",-1),r(" or ",-1),p("code",null,"hget openc3__settings version",-1)])]),_:1}),n(S,{class:"pb-0 ml-2"},{default:l(()=>[n(R,{modelValue:s.redisCommandText,"onUpdate:modelValue":e[0]||(e[0]=i=>s.redisCommandText=i),"hide-details":"",label:"Redis command",class:"monospace",onKeydown:h.commandKeydown},null,8,["modelValue","onKeydown"]),n(N,{modelValue:s.prettyPrint,"onUpdate:modelValue":e[1]||(e[1]=i=>s.prettyPrint=i),label:"Pretty print",density:"compact","hide-details":"",class:"mb-2"},null,8,["modelValue"]),s.redisResponse?(o(),c(b,{key:0},[s.prettyPrint?(o(),c("pre",{key:0,textContent:m(h.formattedResponse)},null,8,V)):(o(),c("span",C," Response: "+m(s.redisResponse),1))],64)):x("",!0)]),_:1}),n(U,{class:"px-2"},{default:l(()=>[n(T,{disabled:!s.redisCommandText.length,color:"success",variant:"text",onClick:h.executeRaw},{default:l(()=>[...e[6]||(e[6]=[r(" Execute ",-1)])]),_:1},8,["disabled","onClick"]),n(P,{modelValue:s.redisEndpoint,"onUpdate:modelValue":e[2]||(e[2]=i=>s.redisEndpoint=i),inline:"","hide-details":"",class:"mt-0"},{default:l(()=>[n(_,{label:"Persistent",value:"persistent","data-test":"persistent-radio"}),n(_,{label:"Ephemeral",value:"ephemeral","data-test":"ephemeral-radio"})]),_:1},8,["modelValue"]),n(R,{modelValue:s.db_shard,"onUpdate:modelValue":e[3]||(e[3]=i=>s.db_shard=i),type:"number",min:"0",label:"DB Shard","hide-details":"",density:"compact",style:{"max-width":"100px"},class:"ml-4"},null,8,["modelValue"])]),_:1}),n(A,{headers:s.headers,items:s.commands,class:"monospace","items-per-page":-1,"hide-default-footer":"",density:"compact",height:"45vh"},null,8,["headers","items"])]),_:1})])}const K=g("default",y(a,[["render",w],["__scopeId","data-v-0812b2bd"]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./main-320f7a52ead0c027f3e7.js","vue","single-spa","./OutputDialog-DtrpwjGL-73ebd3c55e7ffbc15652.js","vue-router","pinia","vuetify"],(function(w,B){"use strict";var d,c,e,l,r,o,i,p,g,h,m,v,f,C;return{setters:[t=>{d=t.f,c=t.u},t=>{e=t.resolveComponent,l=t.openBlock,r=t.createElementBlock,o=t.createVNode,i=t.withCtx,p=t.Fragment,g=t.renderList,h=t.createTextVNode,m=t.toDisplayString,v=t.createBlock,f=t.createCommentVNode},null,t=>{C=t.S},null,null,null],execute:(function(){const t={components:{OutputDialog:C},data(){return{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){c.get("/openc3-api/routers").then(n=>{this.routers=n.data})},add(){},showRouter(n){c.get(`/openc3-api/routers/${n}`).then(s=>{this.jsonContent=JSON.stringify(s.data,null," "),this.dialogTitle=n,this.showDialog=!0})},dialogCallback(n){this.showDialog=!1}}};function D(n,s,_,R,a,k){const S=e("v-list-item-title"),V=e("v-btn"),y=e("v-list-item"),N=e("v-divider"),b=e("v-list"),j=e("output-dialog");return l(),r("div",null,[o(b,{class:"list","data-test":"routerList"},{default:i(()=>[(l(!0),r(p,null,g(a.routers,(u,x)=>(l(),r("div",{key:x},[o(y,null,{append:i(()=>[o(V,{"aria-label":"Show Router Details",icon:"mdi-eye",variant:"text",onClick:L=>k.showRouter(u)},null,8,["onClick"])]),default:i(()=>[o(S,null,{default:i(()=>[h(m(u),1)]),_:2},1024)]),_:2},1024),o(N)]))),128))]),_:1}),a.showDialog?(l(),v(j,{key:0,modelValue:a.showDialog,"onUpdate:modelValue":s[0]||(s[0]=u=>a.showDialog=u),content:a.jsonContent,type:"Router",name:a.dialogTitle,onSubmit:k.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):f("",!0)])}const T=w("default",d(t,[["render",D],["__scopeId","data-v-ead3d1f6"]]))})}}));
@@ -1,5 +0,0 @@
1
- System.register(["vue","./main-320f7a52ead0c027f3e7.js","./settings-DZ910lLo-06b2e35cd3b4b6b6686c.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.f,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-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","vue-router","pinia","single-spa","vuetify"],(function(l,o){"use strict";var t,n,s,i,r;return{setters:[e=>{t=e.h},e=>{n=e.openBlock,s=e.createElementBlock,i=e.normalizeStyle},e=>{r=e.f},null,null,null,null],execute:(function(){const e={mixins:[t],created(){this.parameters[0]!==void 0&&this.appliedSettings.push(["WIDTH",this.parameters[0]]),this.parameters[1]!==void 0&&this.appliedSettings.push(["HEIGHT",this.parameters[1]])}};function a(u,p,m,d,h,f){return n(),s("div",{style:i(u.computedStyle)},null,4)}const c=l("default",r(e,[["render",a]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./GraphWidget-COXK3Dab-18ccb71d08b630c3446f.js","./main-320f7a52ead0c027f3e7.js","vue","./Graph-Cz0Ns1FD-9251aa7b63944e24104e.js","single-spa","./Widget-D_HaosJK-c49796f3af3288426d03.js","vue-router","pinia","vuetify","./OpenC3TimePicker-B0lAIU91-6e7843b535d6cb333926.js"],(function(l,c){"use strict";var i,s,n,r,a,o,d;return{setters:[e=>{i=e.M},e=>{s=e.f},e=>{n=e.resolveComponent,r=e.openBlock,a=e.createBlock,o=e.normalizeStyle},e=>{d=e.R},null,null,null,null,null,null],execute:(function(){const e={components:{Graph:d},mixins:[i],data:function(){return{secondsGraphed:300,pointsSaved:300,pointsGraphed:300,size:{height:30,width:130}}}};function p(t,g,m,f,v,k){const h=n("graph");return r(),a(h,{id:t.id,ref:"graph"+t.id,state:t.state,"selected-graph-id":t.id,"start-time":t.startTime,"seconds-graphed":t.secondsGraphed,"points-saved":t.pointsSaved,"points-graphed":t.pointsGraphed,"initial-items":t.items,height:t.size.height,width:t.size.width,style:o(t.computedStyle),sparkline:""},null,8,["id","state","selected-graph-id","start-time","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style"])}const u=l("default",s(e,[["render",p]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Layout-CKmC50QZ-a4e41facce8302b08009.js","vue","./main-320f7a52ead0c027f3e7.js","./Widget-D_HaosJK-c49796f3af3288426d03.js","vue-router","pinia","single-spa","vuetify"],(function(k,h){"use strict";var f,l,n,i,g,T,a,c,u,o,w,d,b,y,v,V;return{setters:[e=>{f=e.r},e=>{l=e.resolveComponent,n=e.openBlock,i=e.createElementBlock,g=e.createVNode,T=e.normalizeStyle,a=e.withCtx,c=e.Fragment,u=e.renderList,o=e.createBlock,w=e.createTextVNode,d=e.toDisplayString,b=e.createElementVNode,y=e.resolveDynamicComponent,v=e.mergeProps},e=>{V=e.f},null,null,null,null,null],execute:(function(){const e={mixins:[f],emits:["min-max-screen"],data:function(){return{curTab:null}},watch:{curTab:function(){this.$emit("min-max-screen")}}};function x(r,m,L,P,j,U){const _=l("v-tab"),C=l("v-tabs"),N=l("v-tooltip"),D=l("v-window-item"),S=l("v-window");return n(),i("div",null,[g(C,{modelValue:r.curTab,"onUpdate:modelValue":m[0]||(m[0]=s=>r.curTab=s),style:T(r.computedStyle)},{default:a(()=>[(n(!0),i(c,null,u(r.widgets,(s,p)=>(n(),o(_,{key:p},{default:a(()=>[w(d(s.parameters[0]),1)]),_:2},1024))),128))]),_:1},8,["modelValue","style"]),g(S,{modelValue:r.curTab,"onUpdate:modelValue":m[1]||(m[1]=s=>r.curTab=s)},{default:a(()=>[(n(!0),i(c,null,u(r.widgets,(s,p)=>(n(),o(D,{key:p},{default:a(()=>[(n(!0),i(c,null,u(s.widgets,(t,z)=>(n(),i(c,{key:`${p}-${z}`},[r.getTooltipText(t)?(n(),o(N,{key:0,"open-delay":r.getTooltipDelay(t),location:"top","activator-props":r.getTooltipActivatorProps(t)},{activator:a(({props:B})=>[(n(),o(y(t.type),v({ref_for:!0},{...r.listeners,...B},{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:a(()=>[b("span",null,d(r.getTooltipText(t)),1)]),_:2},1032,["open-delay","activator-props"])):(n(),o(y(t.type),v({key:1,ref_for:!0},r.listeners,{target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))]),_:2},1024))),128))]),_:1},8,["modelValue"])])}const E=k("default",V(e,[["render",x]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./main-320f7a52ead0c027f3e7.js","vue","./DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js","single-spa","./VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js","vue-router","pinia","vuetify","./LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-D_HaosJK-c49796f3af3288426d03.js"],(function(y,z){"use strict";var c,a,s,r,n,u,m,l,d,h,p,g,v,x,f,w;return{setters:[e=>{c=e.f},e=>{a=e.resolveComponent,s=e.openBlock,r=e.createElementBlock,n=e.createVNode,u=e.normalizeStyle,m=e.normalizeClass,l=e.withCtx,d=e.Fragment,h=e.renderList,p=e.createBlock,g=e.withModifiers,v=e.createTextVNode,x=e.toDisplayString},e=>{f=e.Z},null,e=>{w=e.T},null,null,null,null,null,null],execute:(function(){const e={components:{DetailsDialog:f},mixins:[w],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}}},C={class:"textbox-widget-container"};function V(t,o,N,E,b,k){const D=a("v-textarea"),B=a("v-list-item-title"),S=a("v-list-item"),M=a("v-list"),T=a("v-menu"),_=a("details-dialog");return s(),r("div",C,[n(D,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:m(t.valueClass),style:u([t.computedStyle,k.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),n(T,{modelValue:t.contextMenuShown,"onUpdate:modelValue":o[0]||(o[0]=i=>t.contextMenuShown=i),target:[t.x,t.y]},{default:l(()=>[n(M,null,{default:l(()=>[(s(!0),r(d,null,h(t.contextMenuOptions,(i,j)=>(s(),p(S,{key:j,onClick:g(i.action,["stop"])},{default:l(()=>[n(B,null,{default:l(()=>[v(x(i.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),n(_,{modelValue:t.viewDetails,"onUpdate:modelValue":o[1]||(o[1]=i=>t.viewDetails=i),"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 L=y("default",c(e,[["render",V],["__scopeId","data-v-ce1e6683"]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","vue-router","pinia","single-spa","vuetify"],(function(u,p){"use strict";var t,l,n,a,s,r;return{setters:[e=>{t=e.h},e=>{l=e.resolveComponent,n=e.openBlock,a=e.createBlock,s=e.normalizeStyle},e=>{r=e.f},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,i,f,y,o,g){const h=l("v-text-field");return n(),a(h,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[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",r(e,[["render",c]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-D_HaosJK-c49796f3af3288426d03.js","./OpenC3TimePicker-B0lAIU91-6e7843b535d6cb333926.js","./main-320f7a52ead0c027f3e7.js","vue","vue-router","pinia","single-spa","vuetify"],(function(c,f){"use strict";var l,i,n,a,r,s,o,m;return{setters:[e=>{l=e.h},e=>{i=e.w},e=>{n=e.f,a=e.R},e=>{r=e.resolveComponent,s=e.openBlock,o=e.createBlock,m=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 p(h,u,y,T,t,v){const d=r("OpenC3TimePicker");return s(),o(d,{modelValue:t.timeValue,"onUpdate:modelValue":u[0]||(u[0]=V=>t.timeValue=V),label:t.label,style:m(h.computedStyle),"hide-details":""},null,8,["modelValue","label","style"])}const k=c("default",n(e,[["render",p]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","vue-router","pinia","single-spa","vuetify"],(function(s,p){"use strict";var t,r,n,l,a,i;return{setters:[e=>{t=e.h},e=>{r=e.openBlock,n=e.createElementBlock,l=e.normalizeStyle,a=e.toDisplayString},e=>{i=e.f},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,h,y,d,u){return r(),n("div",{class:"text-h5 text-center pa-1 mt-1 label",style:l(c.computedStyle)},a(u.labelText),5)}const m=s("default",i(e,[["render",o]]))})}}));
@@ -1,4 +0,0 @@
1
- System.register(["./main-320f7a52ead0c027f3e7.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.f,G=v.u},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(["./main-320f7a52ead0c027f3e7.js","vue","./DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js","single-spa","./VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js","vue-router","pinia","vuetify","./LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-D_HaosJK-c49796f3af3288426d03.js"],(function(D,I){"use strict";var m,a,o,u,p,i,v,c,n,l,g,d,f,h,y,x,C,k,V;return{setters:[e=>{m=e.f},e=>{a=e.resolveComponent,o=e.openBlock,u=e.createElementBlock,p=e.normalizeStyle,i=e.createBlock,v=e.normalizeClass,c=e.createSlots,n=e.withCtx,l=e.createVNode,g=e.createElementVNode,d=e.toDisplayString,f=e.mergeProps,h=e.Fragment,y=e.renderList,x=e.withModifiers,C=e.createTextVNode},e=>{k=e.Z},null,e=>{V=e.T},null,null,null,null,null,null],execute:(function(){const T={components:{DetailsDialog:k},mixins:[V],data:function(){return{width:16}},computed:{fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},aging(){return{"--aging":this.grayLevel}}},created(){this.verifyNumParams("VALUE",3,5,"VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>"),this.setWidth(Number.parseInt(this.parameters[4])+4,"ch",this.width)}};function B(t,r,U,W,b,w){const S=a("rux-status"),_=a("v-text-field"),E=a("v-tooltip"),M=a("v-list-item-title"),N=a("v-list-item"),L=a("v-list"),j=a("v-menu"),z=a("details-dialog");return o(),u("div",{class:"value-widget-container",style:p([t.computedStyle,w.aging])},[t.tooltipText?(o(),i(_,{key:1,variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":t._value,class:v(t.valueClass),"data-test":"value",onContextmenu:t.showContextMenu},c({_:2},[t.astroStatus?{name:"prepend-inner",fn:n(()=>[l(S,{status:t.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1032,["model-value","class","onContextmenu"])):(o(),i(E,{key:0,"open-delay":600,location:"top"},{activator:n(({props:s})=>[l(_,f({variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":t._value,class:t.valueClass,"data-test":"value"},s,{onContextmenu:t.showContextMenu}),c({_:2},[t.astroStatus?{name:"prepend-inner",fn:n(()=>[l(S,{status:t.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1040,["model-value","class","onContextmenu"])]),default:n(()=>[g("span",null,d(w.fullName),1)]),_:1})),l(j,{modelValue:t.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=s=>t.contextMenuShown=s),target:[t.x,t.y],style:{"z-index":"3000"}},{default:n(()=>[l(L,null,{default:n(()=>[(o(!0),u(h,null,y(t.contextMenuOptions,(s,A)=>(o(),i(N,{key:A,onClick:x(s.action,["stop"])},{default:n(()=>[l(M,null,{default:n(()=>[C(d(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),l(z,{modelValue:t.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=s=>t.viewDetails=s),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])],4)}const P=D("default",m(T,[["render",B],["__scopeId","data-v-8340df7d"]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./ValueWidget-B1aGUBP7-320f2f1feb3886640deb.js","./LimitsbarWidget-VpxQXE-e-48cfee552a9c695bf8f1.js","./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","./DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js","./LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js","vue-router","pinia","vuetify","./BarColumn-BpdscDQf-e551f56c95340d26cda4.js"],(function(g,v){"use strict";var r,i,a,n,u,o,c,s,l,m;return{setters:[e=>{r=e.default},e=>{i=e.default},e=>{a=e.h},e=>{n=e.resolveComponent,u=e.openBlock,o=e.createElementBlock,c=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.f},null,null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:r,LimitsbarWidget:i},mixins:[a]};function p(t,b,j,V,w,x){const d=n("value-widget"),f=n("limitsbar-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[s(d,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(f,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",p]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./ValueWidget-B1aGUBP7-320f2f1feb3886640deb.js","./LimitscolumnWidget-BFDXhJeZ-4eba19b9d6c713c13db1.js","./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","./DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js","./LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js","vue-router","pinia","vuetify","./BarColumn-BpdscDQf-e551f56c95340d26cda4.js"],(function(g,f){"use strict";var i,r,a,n,u,o,c,s,l,m;return{setters:[e=>{i=e.default},e=>{r=e.default},e=>{a=e.h},e=>{n=e.resolveComponent,u=e.openBlock,o=e.createElementBlock,c=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.f},null,null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:i,LimitscolumnWidget:r},mixins:[a]};function d(t,j,V,y,w,C){const p=n("limitscolumn-widget"),v=n("value-widget");return u(),o("div",{ref:"container",style:c(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 B=g("default",m(e,[["render",d]]))})}}));
@@ -1 +0,0 @@
1
- System.register(["./ValueWidget-B1aGUBP7-320f2f1feb3886640deb.js","./RangebarWidget-MPQYi2Km-b85a235f8e43da24f3ae.js","./Widget-D_HaosJK-c49796f3af3288426d03.js","vue","./main-320f7a52ead0c027f3e7.js","./DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js","./LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","single-spa","./VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js","vue-router","pinia","vuetify"],(function(g,f){"use strict";var n,i,l,r,m,u,o,s,a,p;return{setters:[e=>{n=e.default},e=>{i=e.default},e=>{l=e.h},e=>{r=e.resolveComponent,m=e.openBlock,u=e.createElementBlock,o=e.normalizeStyle,s=e.createVNode,a=e.mergeProps},e=>{p=e.f},null,null,null,null,null,null,null,null],execute:(function(){const e={components:{ValueWidget:n,RangebarWidget:i},mixins:[l],computed:{valueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[5],this.parameters[6]]},rangeBarParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4],this.parameters[5],this.parameters[7],this.parameters[8]]}}};function d(t,j,P,w,y,c){const h=r("value-widget"),v=r("rangebar-widget");return m(),u("div",{ref:"container",class:"d-flex flex-row",style:o(t.computedStyle)},[s(h,a(t.$attrs,{parameters:c.valueParameters,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,a(t.$attrs,{parameters:c.rangeBarParameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1}),null,16,["parameters","settings","screen-values"])],4)}const B=g("default",p(e,[["render",d]]))})}}));