openc3-cosmos-tool-admin 7.3.0 → 7.4.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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/{ArrayWidget-5XQXgMtp-80db1e3027ca0f38008d.js → ArrayWidget-CIDdZjk3-ec1730c4177a34566ed5.js} +2 -2
  3. data/tools/admin/ArrayplotWidget-BfO1atvG-de9fd2732649b1be4d3c.js +1 -0
  4. data/tools/admin/BarColumn-CHX_3ye3-7dd61cd495a0c538da4c.js +1 -0
  5. data/tools/admin/{BlockWidget-B_5TnoG_-07bb5d5276892a455ef5.js → BlockWidget-DSbunlY_-62d6727a1d5a31c3a0ef.js} +2 -2
  6. data/tools/admin/BridgesTab-DDuKJPFX-388b57d1ea5f49094fc6.js +1 -0
  7. data/tools/admin/ButtonWidget-BB4ZOCI8-c9853dafa3d8751b4799.js +1 -0
  8. data/tools/admin/{CanvasWidget-CzLQAoHY-05569d347e30d7c90f9f.js → CanvasWidget-DsyMt7xW-4bef82b3023c55f379f3.js} +1 -1
  9. data/tools/admin/CanvasdotWidget-BZpkCAoH-656bb49b1eb23c38df64.js +1 -0
  10. data/tools/admin/{CanvasimageWidget-CYg1rKr_-9d04ce25dc613fc2ccc6.js → CanvasimageWidget-DY1DDf0a-447454aee48d92185e98.js} +1 -1
  11. data/tools/admin/CanvasimagevalueWidget-0lc2cCPV-d5f0cd5f3d5a93a5b051.js +1 -0
  12. data/tools/admin/CanvaslabelWidget-C6TDW9WO-58c1646a49fa5fe5a3ff.js +1 -0
  13. data/tools/admin/{CanvaslabelvalueWidget-bCIPWE4c-c301a198a35d0ba429cc.js → CanvaslabelvalueWidget-Cf_dcDW2-7f2990654255dcf30ddb.js} +1 -1
  14. data/tools/admin/{CanvaslineWidget-Tw1B6RTA-30b7fce14bb17223c180.js → CanvaslineWidget-jg2ozQ0N-0871afe4dad8f1654b07.js} +1 -1
  15. data/tools/admin/{CanvaslinevalueWidget-GvTic9rq-8cdbcb115d2e04007db0.js → CanvaslinevalueWidget-CKpjqlKA-8f34f70483fe2793c37b.js} +1 -1
  16. data/tools/admin/CheckbuttonWidget-BWXinMaT-14d2dd4b439cbbaccdb9.js +1 -0
  17. data/tools/admin/{ComboboxWidget-BO31bWzg-5d5f35fb019f925d5ae2.js → ComboboxWidget-BzKkyRDT-4ce17162f0ef6bd8170f.js} +1 -1
  18. data/tools/admin/DateWidget-qUbLzQsX-708e35a5b74dec88415b.js +1 -0
  19. data/tools/admin/DetailsDialog-CLPj0nP0-9dcc472124933da9a31b.js +1 -0
  20. data/tools/admin/DynamicWidget-yna_ejyc-2d713c62a6c8060e206c.js +1 -0
  21. data/tools/admin/FilechecksumWidget-DqNThsOX-2bc76d97aea4fc77908f.js +1 -0
  22. data/tools/admin/FiledisplayWidget-BRhhiVEs-75f94e57b68943abb2d9.js +1 -0
  23. data/tools/admin/{FormatvalueWidget-B9Giwzaz-d95836be56ebf9a9fbae.js → FormatvalueWidget-pEjAh0h2-c0d99c24a0e3e13cbbd7.js} +1 -1
  24. data/tools/admin/Graph-GVQZltap-a6075477922f4a556620.js +1 -0
  25. data/tools/admin/{GraphWidget-COvVOlEn-9d0cb68fec73a5f3454a.js → GraphWidget-BZjBkefj-3075e0b9efe04ad89afa.js} +1 -1
  26. data/tools/admin/HorizontalWidget-Brag6E4y-666e6bb436ada6d4e41a.js +1 -0
  27. data/tools/admin/{HorizontalboxWidget-B1b9uNaB-e4ec787dc7d063c45fe0.js → HorizontalboxWidget-BnkH4cVq-71cecf05179743285077.js} +1 -1
  28. data/tools/admin/HorizontallineWidget-k7fL4EPN-a86818418ba8f3cc191e.js +1 -0
  29. data/tools/admin/{IframeWidget-BCtrIgD1-5aac9e4f21efaab8f6fe.js → IframeWidget-Ciu5u58E-2687a1f57329be92f03b.js} +1 -1
  30. data/tools/admin/ImageLoader-DH5e4lg8-03c656b21fa2caca8324.js +1 -0
  31. data/tools/admin/{ImageviewerWidget-DKMBE3tQ-fc341ef1324e0620d71c.js → ImageviewerWidget-vWMGPveb-a385eaff6f50e2d9cc5b.js} +1 -1
  32. data/tools/admin/InterfacesTab-DeTu93l7-4311e906061ab7c82971.js +1 -0
  33. data/tools/admin/{LabelWidget-B0nE0ImW-54b49f3830be1cee8eb4.js → LabelWidget-DVp0CmFH-17faef5b4045503f36d3.js} +1 -1
  34. data/tools/admin/LabelledWidget-1DeE1-6G-7c92e912f90e430d5ffa.js +1 -0
  35. data/tools/admin/LabelprogressbarWidget-DME-BrZe-aaf6c31eb90e3058d1da.js +1 -0
  36. data/tools/admin/LabelsparklineWidget-4iDHGnPL-58ec5912433194d1fb6a.js +1 -0
  37. data/tools/admin/LabelvalueWidget-C6NQSHTb-54fa502577d5c013235a.js +1 -0
  38. data/tools/admin/LabelvaluedescWidget-c5BUCRxB-1ea411e36238588b5f85.js +1 -0
  39. data/tools/admin/LabelvaluelimitsbarWidget-DBKZLpXJ-0dcf794ea95c72b24cf9.js +1 -0
  40. data/tools/admin/LabelvaluelimitscolumnWidget-NdEu06go-a35e19fa1f086588f8e0.js +1 -0
  41. data/tools/admin/LabelvaluerangebarWidget-CL5HLK0t-dba160f5c4621270ba82.js +1 -0
  42. data/tools/admin/{Layout-BLS4Yi3m-9a851fc81da50b5a0f78.js → Layout-Df-lJgpB-228411e9ed7160bf6079.js} +1 -1
  43. data/tools/admin/{LedWidget-DqVfh3zJ-44a2c97be736ccc6b1b3.js → LedWidget-C97EJXBo-56495e50ec081af2ea63.js} +1 -1
  44. data/tools/admin/{LimitsBar-BqpvMpXM-299f056c19106e6b75fb.js → LimitsBar-DNV39okL-ac8e562bdd6f80498856.js} +1 -1
  45. data/tools/admin/LimitsbarWidget-BIO6xztx-cc81832a022263a5e69b.js +1 -0
  46. data/tools/admin/{LimitscolorWidget-DVXho9Mm-43c53230d0556a4f1a5f.js → LimitscolorWidget-BGrNA65J-ef93a3f98c358c1f0a0a.js} +1 -1
  47. data/tools/admin/LimitscolumnWidget-Bw6EXJs9-c2197c3b589893051f83.js +1 -0
  48. data/tools/admin/LinegraphWidget-Drf9tTPN-0ee1a5578ba7a90a7663.js +1 -0
  49. data/tools/admin/{MatrixbycolumnsWidget-CJJ7SugT-ecba1687b1c179dcc8b9.js → MatrixbycolumnsWidget-C33-g7kK-564fbacd8735d346c3dd.js} +1 -1
  50. data/tools/admin/MicroservicesTab-DoQUKC5u-4e2dd5bf175f95bc042e.js +3 -0
  51. data/tools/admin/OpenC3TimePicker-cOr0aOVn-087aabac5576efaa78e2.js +1 -0
  52. data/tools/admin/{OutputDialog-B-bk2nex-d22c9e9f81462796cf40.js → OutputDialog-C9rGeLM5-02a56bb7f4eb6b0500ac.js} +1 -1
  53. data/tools/admin/PackagesTab-DbaQtAyw-069925c696f2ace3987d.js +2 -0
  54. data/tools/admin/PluginsTab-BdwfQ8KF-99de05c6db3780e0af31.js +5 -0
  55. data/tools/admin/{ProgressbarWidget-VTd49uhi-4bf2baaad3eb99165018.js → ProgressbarWidget-DqfSMI10-18ce49d7a36649fa0cd0.js} +1 -1
  56. data/tools/admin/RadiobuttonWidget-CSQeEacF-fb889eddc717bdc4e487.js +1 -0
  57. data/tools/admin/RadiogroupWidget-DlQN9z-Z-4bb03443c0620c83be9b.js +1 -0
  58. data/tools/admin/{RangebarWidget-CN11Oqws-3a133c58d66ddb2b34bf.js → RangebarWidget-CJSUof1--7cd1a9bb578d66c95e4c.js} +1 -1
  59. data/tools/admin/RedisTab-DI1cFzQm-4191ec0c06598cfab2a9.js +1 -0
  60. data/tools/admin/{RollupWidget-cgl9Ghle-3fa38b3554127b346b0c.js → RollupWidget-C977Lkcx-079e4bfc754edd8b4947.js} +1 -1
  61. data/tools/admin/RoutersTab-ChadLN6X-abf9a717481d1732b150.js +1 -0
  62. data/tools/admin/{ScrollwindowWidget-BFK-ihvZ-64da6ce3ba0f3118fd18.js → ScrollwindowWidget-BFxz61oW-70d1f967d82154e8fed2.js} +1 -1
  63. data/tools/admin/SecretsTab-But8EOAR-ccdc47f33efa6d921ef4.js +1 -0
  64. data/tools/admin/SettingsTab-dnzckAY4-4b3c92cabb74b7eb0e0e.js +10 -0
  65. data/tools/admin/{SignalWidget-Be7Z5pJD-0f9024939f3d5e4a418c.js → SignalWidget-BT6AcbBx-a2b901a2ae183bb8a7da.js} +1 -1
  66. data/tools/admin/{SimpleTextDialog-dn_TSiQ7-20dabd0df19c3059cf0f.js → SimpleTextDialog-Ccqw4mzt-bc4caae5dd1d7e6f0d3b.js} +1 -1
  67. data/tools/admin/SpacerWidget-B_f09KAi-541cf0e73343ba06aac8.js +1 -0
  68. data/tools/admin/SparklineWidget-Bji9DILO-b919fae8ac59aa487849.js +1 -0
  69. data/tools/admin/TabbookWidget-B74U8t2i-22e1b62104907789d9c0.js +1 -0
  70. data/tools/admin/TargetsTab-GzwX75ns-64006815ed7073dd19d5.js +1 -0
  71. data/tools/admin/TextboxWidget-CbKE9aSW-ef89ab0e5e4580dae966.js +1 -0
  72. data/tools/admin/TextfieldWidget-CpdmfNk5-941ec2c3426b7d6a5b84.js +1 -0
  73. data/tools/admin/TimeWidget-BTaXBxVm-a4d5024a76726c8735f6.js +1 -0
  74. data/tools/admin/TitleWidget-ulO_gdVY-c51481a664353e350ca8.js +1 -0
  75. data/tools/admin/ToolsTab-DA2T_Zxc-7f97be0c87aac3bcfff1.js +1 -0
  76. data/tools/admin/{TsdbTab-D_P34-tF-8717f03395909927e332.js → TsdbTab-DSLXk5QZ-414e4cb23545085c895f.js} +1 -1
  77. data/tools/admin/{VWidget-5FjwlURU-6a72b64b7cc840033418.js → VWidget-C4VLQ7-b-07b1f80f82f119fc5285.js} +1 -1
  78. data/tools/admin/{ValueWidget-CpptSOvJ-71518e3093457d3a3e99.js → ValueWidget-B3-Jjoux-9a088d512207d0da3dbd.js} +1 -1
  79. data/tools/admin/ValuelimitsbarWidget-CqRkPwWS-61183b64087fcac11052.js +1 -0
  80. data/tools/admin/ValuelimitscolumnWidget-CF4CN14a-d7a8f5655caea3581ddb.js +1 -0
  81. data/tools/admin/ValuerangebarWidget-DJtrknKH-3e744c7243efe0774ee0.js +1 -0
  82. data/tools/admin/{VerticalWidget-B_eheXmK-3714fd0477bb202504f1.js → VerticalWidget-CoJiy2TT-ecfccfcccdb20287fb94.js} +1 -1
  83. data/tools/admin/{VerticalboxWidget-Bf8XJiY9-f18ae386e10f607a8128.js → VerticalboxWidget-BD5Eq3BH-151b5238c6236f51977c.js} +1 -1
  84. data/tools/admin/Widget-ClRi417b-c819f8641946506d7602.js +1 -0
  85. data/tools/admin/main-f0865abbd006d9b2cc5a.js +1496 -0
  86. data/tools/admin/main.js +1 -1
  87. data/tools/admin/settings-CF2_iY3N-2c1b3aa6b738e9889263.js +1 -0
  88. data/tools/admin/useDownloadFile-DASMZ_Dl-d13e01890d2f8843337e.js +1 -0
  89. metadata +87 -85
  90. data/tools/admin/ArrayplotWidget-pk7OINvA-33482371ab3dd9c8a3e1.js +0 -1
  91. data/tools/admin/BarColumn-JQ552zb0-71f940da624cf74a8ac7.js +0 -1
  92. data/tools/admin/ButtonWidget-CiZGNEls-b36f8511f142106bb716.js +0 -1
  93. data/tools/admin/CanvasdotWidget-CcI1HwAp-131410357e5f5cb7c5cf.js +0 -1
  94. data/tools/admin/CanvasimagevalueWidget-e0p2honY-c0ebf132498eedba3031.js +0 -1
  95. data/tools/admin/CanvaslabelWidget-CgECf4wH-8a62168c6b54ce7dc69d.js +0 -1
  96. data/tools/admin/CheckbuttonWidget-DV6xeneq-c00e62096beb7d93a1c9.js +0 -1
  97. data/tools/admin/DateWidget-DYviZFhJ-3517b8d8c507bb623800.js +0 -1
  98. data/tools/admin/DetailsDialog-DHi4t3xd-23cd6112e439aa7c2e72.js +0 -1
  99. data/tools/admin/DynamicWidget-BuSbQVhf-8c7a3d8e99d5fbadb524.js +0 -1
  100. data/tools/admin/FilechecksumWidget-rJe1KvzY-a8b35d82b279ce437fe6.js +0 -1
  101. data/tools/admin/FiledisplayWidget-CbTWgtBy-a4fcca29c88afb5c536d.js +0 -1
  102. data/tools/admin/Graph-xc7TNnsk-b819fee23f66c94861f9.js +0 -1
  103. data/tools/admin/HorizontalWidget-BfdjRLGe-792a24c12a95a38bd847.js +0 -1
  104. data/tools/admin/HorizontallineWidget-CHz4o6Gi-b60cc8d253fd53f17c8c.js +0 -1
  105. data/tools/admin/ImageLoader-BzE4VsHW-1b90e52f729ac92ee450.js +0 -1
  106. data/tools/admin/InterfacesTab-C_AsAMrL-72de0290999c83b4f01f.js +0 -1
  107. data/tools/admin/LabelledWidget-DrZHj_lR-012360847b59e5acbd03.js +0 -1
  108. data/tools/admin/LabelprogressbarWidget-K9NphQp0-4fb2ed553ea5457e745e.js +0 -1
  109. data/tools/admin/LabelsparklineWidget-cn1OJvL3-126a26c9f5cf70def931.js +0 -1
  110. data/tools/admin/LabelvalueWidget-DxJbd9nR-01ee83f67cecd181a9ef.js +0 -1
  111. data/tools/admin/LabelvaluedescWidget-B-RiUnpl-2189f2eada48bafa7426.js +0 -1
  112. data/tools/admin/LabelvaluelimitsbarWidget-BF94rtl8-3534b25320e1cd09f5a8.js +0 -1
  113. data/tools/admin/LabelvaluelimitscolumnWidget-UOfPu8D1-3bc11e94676b61fa03fa.js +0 -1
  114. data/tools/admin/LabelvaluerangebarWidget-EVON-Tv8-48083be1abd02e2b22dd.js +0 -1
  115. data/tools/admin/LimitsbarWidget-rEJIGKCx-c5d60ebf1e9e1a4ffb48.js +0 -1
  116. data/tools/admin/LimitscolumnWidget-DSQAdlZS-5e2e3f51c3376782328c.js +0 -1
  117. data/tools/admin/LinegraphWidget-CQRwZ0N6-0f570138c80d809f9285.js +0 -1
  118. data/tools/admin/MicroservicesTab-9I1i19SB-24a09c3bcdfbca7af3d8.js +0 -3
  119. data/tools/admin/OpenC3TimePicker-Cww9L2Ij-d23c4fb5d7d8178a137a.js +0 -1
  120. data/tools/admin/PackagesTab-Cjj7tXrq-89408e61c959392ec84f.js +0 -2
  121. data/tools/admin/PluginsTab-VN4Z4v7e-ca0878630e8a775a0987.js +0 -5
  122. data/tools/admin/RadiobuttonWidget-DqsantxO-b47f08b4f7a848b82b4f.js +0 -1
  123. data/tools/admin/RadiogroupWidget-Bht6RZPH-83314c896de2afd6894d.js +0 -1
  124. data/tools/admin/RedisTab-CCtPxcYg-c331ecd0ae21eb136f39.js +0 -1
  125. data/tools/admin/RoutersTab-Duiv_o6g-4ca3fd52ef99712d30f7.js +0 -1
  126. data/tools/admin/SecretsTab-BNyb54pD-fb3beba957358443d32e.js +0 -1
  127. data/tools/admin/SettingsTab-Cvq3542H-57575239a634ca02206a.js +0 -10
  128. data/tools/admin/SpacerWidget-uKPA-f_0-03d7409692e75916a63f.js +0 -1
  129. data/tools/admin/SparklineWidget-Wu5iFbly-10e00bf9372154d3ca85.js +0 -1
  130. data/tools/admin/TabbookWidget-D3FrIoV4-b544084d75bde4b9d356.js +0 -1
  131. data/tools/admin/TargetsTab-CS7JjyjH-81370500aff926af0e8c.js +0 -1
  132. data/tools/admin/TextboxWidget-f6wEcoI0-1ac8f94e536838694fa5.js +0 -1
  133. data/tools/admin/TextfieldWidget-D72Sey-h-acb374e2d0018cea37ae.js +0 -1
  134. data/tools/admin/TimeWidget-BBuxr7Db-234581053c602d1f9998.js +0 -1
  135. data/tools/admin/TitleWidget-Dfp5mPH2-ce6048efc981fc37f10b.js +0 -1
  136. data/tools/admin/ToolsTab-VLEsXTJH-111d5d1fcf5683ad1d36.js +0 -1
  137. data/tools/admin/ValuelimitsbarWidget-AgeOlPAV-191d4ad91bd9fcdb2e92.js +0 -1
  138. data/tools/admin/ValuelimitscolumnWidget-CfTt7Q8a-6457391b1f8ce6e84aae.js +0 -1
  139. data/tools/admin/ValuerangebarWidget-E3CtttJk-0521a131ef8b3c7d9461.js +0 -1
  140. data/tools/admin/Widget-CSgnvwEG-bc4dec83d0fc9039b821.js +0 -1
  141. data/tools/admin/main-6a328857fae6aab0f418.js +0 -1496
  142. data/tools/admin/settings-CEBZz77m-520d12b72b93c319ccfd.js +0 -1
@@ -0,0 +1,5 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","single-spa","./SimpleTextDialog-Ccqw4mzt-bc4caae5dd1d7e6f0d3b.js","./useDownloadFile-DASMZ_Dl-d13e01890d2f8843337e.js","./settings-CF2_iY3N-2c1b3aa6b738e9889263.js","vue-router","pinia","vuetify"],(function(se,it){"use strict";var A,Z,Y,W,b,N,G,o,r,_,n,a,m,u,p,I,E,f,B,O,v,j,L,R,J,Q,X;return{setters:[g=>{A=g.f,Z=g.R,Y=g.a,W=g.T,b=g.q,N=g.O,G=g.i},g=>{o=g.resolveComponent,r=g.openBlock,_=g.createElementBlock,n=g.createVNode,a=g.withCtx,m=g.createTextVNode,u=g.createElementVNode,p=g.createBlock,I=g.Fragment,E=g.renderList,f=g.toDisplayString,B=g.normalizeClass,O=g.mergeProps,v=g.createCommentVNode,j=g.normalizeProps,L=g.guardReactiveProps,R=g.withModifiers},null,g=>{J=g.E},g=>{Q=g.w},g=>{X=g.r},null,null,null],execute:(function(){const g="store_url",ee="https://store.openc3.com",K={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 N,_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),l=Object.entries(e).find(([d,s])=>s.every((i,h)=>i===t[h]));if(l){const[d]=l;return`data:${d};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 OpenC3 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(g)||ee}catch{this._storeUrl=ee}if(this.img_path)try{const e=new URLSearchParams({volume:"OPENC3_GEMS_VOLUME",scope:globalThis.openc3Scope}),{data:t}=await b.get(`/openc3-api/storage/download_file/${encodeURIComponent(this.img_path)}?${e}`);this.imageContents=t.contents}catch{}}},ne={mixins:[K],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(){b.get("/openc3-api/info").then(({data:e})=>{this.installedCosmosVersion=e.version}).catch(console.error)},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).catch(console.error),this.showCopiedTooltip=!0,setTimeout(()=>{this.showCopiedTooltip=!1},1e3)}}},oe=["textContent"],le={key:0,class:"ml-1 font-italic"},ae={class:"plugin-image-backdrop"},re=["textContent"],ue={class:"mt-3 text-caption font-italic"},ce={key:1,class:"font-italic"},de={class:"mt-3 text-caption font-italic"},pe={class:"mt-3"},ge={key:0},he={key:1};function me(e,t,l,d,s,i){const h=o("v-spacer"),w=o("v-btn"),c=o("v-tooltip"),S=o("v-toolbar"),P=o("v-icon"),V=o("v-select"),C=o("v-card-subtitle"),T=o("v-img"),D=o("v-chip"),k=o("v-text-field"),M=o("v-card-text"),$=o("v-card-actions"),F=o("v-card"),U=o("v-dialog");return r(),p(U,{modelValue:i.isDialogOpen,"onUpdate:modelValue":t[3]||(t[3]=x=>i.isDialogOpen=x),"max-width":"500"},{default:a(()=>[n(F,null,{default:a(()=>[n(S,{height:"24"},{default:a(()=>[n(h),u("span",{textContent:f(i.versionTitle)},null,8,oe),n(h),n(c,{location:"top"},{activator:a(({props:x})=>[u("div",j(L(x)),[n(w,{href:e.storeLink,target:"_blank",icon:"mdi-open-in-new",size:"small",variant:"plain"},null,8,["href"])],16)]),default:a(()=>[u("span",null," View at "+f(i.formattedStoreLink),1)]),_:1}),n(w,{icon:"mdi-close-box",variant:"text",density:"compact",onClick:i.closeDialog},null,8,["onClick"])]),_:1}),n(C,{class:"d-flex align-center justify-space-between subtitle-with-version"},{default:a(()=>[u("div",null,[t[4]||(t[4]=m(" By ",-1)),u("strong",null,f(e.author),1),e.author_extra?.badge_text?(r(),_("span",le,f(e.author_extra.badge_text),1)):v("",!0),e.author_extra?.badge_icon?(r(),p(P,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):v("",!0)]),i.hasVersions?(r(),p(V,{key:0,modelValue:s.selectedVersionId,"onUpdate:modelValue":t[0]||(t[0]=x=>s.selectedVersionId=x),items:i.versionOptions,"item-title":"title","item-value":"value",label:"Version",density:"compact",variant:"outlined","hide-details":"",class:"mt-1 version-select"},null,8,["modelValue","items"])):v("",!0)]),_:1}),n(M,null,{default:a(()=>[u("div",ae,[e.imageContentsWithMimeType?(r(),p(T,{key:0,src:e.imageContentsWithMimeType},null,8,["src"])):i.versionImageUrl?(r(),p(T,{key:1,src:i.versionImageUrl},null,8,["src"])):v("",!0)]),u("div",{class:"mt-3",textContent:f(i.versionDescription)},null,8,re),u("div",ue,[t[5]||(t[5]=m(" Keywords: ",-1)),i.versionKeywords?(r(!0),_(I,{key:0},E(i.versionKeywords,x=>(r(),p(D,{key:x,variant:"flat",color:"primary",size:"x-small",class:"ml-1"},{default:a(()=>[m(f(x),1)]),_:2},1024))),128)):(r(),_("span",ce," none "))]),u("div",de,[t[6]||(t[6]=m(" Licenses: ",-1)),(r(!0),_(I,null,E(i.versionLicenses,x=>(r(),p(D,{key:x,size:"x-small",class:"ml-1"},{default:a(()=>[m(f(x),1)]),_:2},1024))),128))]),u("div",pe,[t[7]||(t[7]=u("span",{class:"text-caption font-italic"}," Minimum COSMOS version: ",-1)),m(" "+f(i.versionMinimumCosmosVersion)+" ",1),i.versionsAreCompatible!==null?(r(),p(c,{key:0,"open-delay":600,location:"top"},{activator:a(({props:x})=>[u("span",j(L(x)),[n(P,{icon:i.versionsAreCompatible?"mdi-check-circle":"mdi-alert",size:"small"},null,8,["icon"])],16)]),default:a(()=>[i.versionsAreCompatible?(r(),_("span",ge," Your version of COSMOS meets the requirements. ")):(r(),_("span",he," Your version of COSMOS is out of date. You can still install this plugin, but it might not work correctly. "))]),_:1})):v("",!0)]),n(k,{modelValue:i.versionChecksum,"onUpdate:modelValue":t[2]||(t[2]=x=>i.versionChecksum=x),class:"mt-3",label:"SHA256",variant:"solo",density:"compact","hide-details":"",readonly:""},{append:a(()=>[n(c,{modelValue:s.showCopiedTooltip,"onUpdate:modelValue":t[1]||(t[1]=x=>s.showCopiedTooltip=x),location:"top","open-on-hover":!1},{activator:a(({props:x})=>[n(w,O(x,{icon:"mdi-content-copy",variant:"text",density:"compact",onClick:i.copyChecksum}),null,16,["onClick"])]),default:a(()=>[t[8]||(t[8]=u("span",null,"Copied!",-1))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1}),n($,{class:"justify-start px-6"},{default:a(()=>[e.isPluginInstalled?(r(),p(w,{key:0,text:"Uninstall","append-icon":"mdi-puzzle-remove",variant:"outlined",color:"red",onClick:i.uninstall},null,8,["onClick"])):(r(),p(c,{key:1,"open-delay":600,location:"top"},{activator:a(({props:x})=>[u("span",j(L(e.canInstall?null:x)),[n(w,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:i.install},null,8,["disabled","onClick"])],16)]),default:a(()=>[u("span",null,f(e.installTooltip),1)]),_:1})),i.versionRepository?(r(),p(w,{key:2,text:"Repository","append-icon":"mdi-open-in-new",variant:"outlined",href:i.versionRepository,target:"_blank"},null,8,["href"])):v("",!0),i.versionHomepage?(r(),p(w,{key:3,text:"Homepage","append-icon":"mdi-open-in-new",variant:"outlined",href:i.versionHomepage,target:"_blank"},null,8,["href"])):v("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const te=A(ne,[["render",me],["__scopeId","data-v-53414ca0"]]),fe={components:{PluginDetailsDialog:te},mixins:[K],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})}}},ve={key:0,class:"ml-1 font-italic"},ye={class:"plugin-image-backdrop"},_e=["textContent"];function we(e,t,l,d,s,i){const h=o("v-card-title"),w=o("v-icon"),c=o("v-card-subtitle"),S=o("v-img"),P=o("v-card-text"),V=o("v-spacer"),C=o("v-btn"),T=o("v-tooltip"),D=o("v-card-actions"),k=o("v-card"),M=o("plugin-details-dialog");return r(),_(I,null,[n(k,{height:"350",class:"d-flex flex-column",onClick:i.openDialog},{default:a(()=>[n(h,{class:"d-flex align-center justify-content-space-between"},{default:a(()=>[m(f(e.title),1)]),_:1}),n(c,{class:"d-flex align-center justify-content-space-between"},{default:a(()=>[u("div",null,[t[1]||(t[1]=m(" By ",-1)),u("strong",null,f(e.author),1),e.author_extra?.badge_text?(r(),_("span",ve,f(e.author_extra.badge_text),1)):v("",!0),e.author_extra?.badge_icon?(r(),p(w,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):v("",!0)])]),_:1}),n(P,null,{default:a(()=>[u("div",ye,[e.image_url?(r(),p(S,{key:0,src:e.image_url,"max-height":"160"},null,8,["src"])):v("",!0)]),u("div",{class:B({"truncate-description":!0,"truncate-2":!!e.image_url,"truncate-10":!e.image_url}),textContent:f(e.description)},null,10,_e)]),_:1}),n(V),n(D,{class:"flex-wrap"},{default:a(()=>[n(T,{"open-delay":600,location:"top"},{activator:a(({props:$})=>[u("span",j(L(e.canInstall?null:$)),[n(C,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:R(i.install,["stop"])},null,8,["disabled","onClick"])],16)]),default:a(()=>[u("span",null,f(e.installTooltip),1)]),_:1})]),_:1})]),_:1},8,["onClick"]),s.showDialog?(r(),p(M,O({key:0,modelValue:s.showDialog,"onUpdate:modelValue":t[0]||(t[0]=$=>s.showDialog=$)},e.plugin,{onTriggerInstall:i.install}),null,16,["modelValue","onTriggerInstall"])):v("",!0)],64)}const xe=A(fe,[["render",we],["__scopeId","data-v-825f4373"]]),H="store_url",q="store_api_key",z="DEFAULT",Ce="https://store.openc3.com",be={mixins:[X],props:{modelValue:Boolean},emits:["update:modelValue","update:storeUrl"],data(){return{showDialog:!1,storeUrl:"",apiKey:null,rules:{required:e=>!!e||"Required",url:e=>{try{new URL(e)}catch{return"Not a valid URL"}return!0}}}},watch:{apiKey:function(e){localStorage.setItem("pluginStore.isApiKeySet",!!e)},modelValue:function(e){e&&(this.showDialog=e)},showDialog:function(e){e||this.$emit("update:modelValue",e)}},created:function(){this.loadSetting(H,{scope:z}),this.loadSetting(q,{scope:z}),this.$emit("update:storeUrl",this.storeUrl)},methods:{save:function(){this.saveSetting(H,this.storeUrl,{scope:z}),this.saveSetting(q,this.apiKey,{scope:z}),this.$emit("update:storeUrl",this.storeUrl),this.showDialog=!1},parseSetting:function(e,{setting:t}){switch(t){case H:this.storeUrl=e||Ce;break;case q:this.apiKey=e||"";break}}}};function ke(e,t,l,d,s,i){const h=o("v-spacer"),w=o("v-toolbar"),c=o("v-alert"),S=o("v-text-field"),P=o("v-card-text"),V=o("v-btn"),C=o("v-card-actions"),T=o("v-card"),D=o("v-dialog");return r(),p(D,{modelValue:s.showDialog,"onUpdate:modelValue":t[4]||(t[4]=k=>s.showDialog=k),width:"600"},{default:a(()=>[n(w,{height:"24"},{default:a(()=>[n(h),t[5]||(t[5]=u("span",null,"Plugin Store Settings",-1)),n(h)]),_:1}),n(T,{class:"pa-3"},{default:a(()=>[n(c,{modelValue:e.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=k=>e.errorLoading=k),type:"error",closable:"",density:"compact"},{default:a(()=>[m(" Error loading previous configuration due to "+f(e.errorText),1)]),_:1},8,["modelValue"]),n(c,{modelValue:e.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=k=>e.errorSaving=k),type:"error",closable:"",density:"compact"},{default:a(()=>[m(" Error saving due to "+f(e.errorText),1)]),_:1},8,["modelValue"]),n(P,null,{default:a(()=>[n(S,{modelValue:s.storeUrl,"onUpdate:modelValue":t[2]||(t[2]=k=>s.storeUrl=k),label:"Store URL",rules:[s.rules.required,s.rules.url]},null,8,["modelValue","rules"]),n(S,{modelValue:s.apiKey,"onUpdate:modelValue":t[3]||(t[3]=k=>s.apiKey=k),type:"password",label:"API Key"},null,8,["modelValue"])]),_:1}),n(C,null,{default:a(()=>[n(V,{color:"success",variant:"text",text:"Save","data-test":"save-store-settings-btn",onClick:i.save},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Pe=A(be,[["render",ke]]),ie="https://store.openc3.com",Ve={components:{PluginCard:xe,PluginStoreSettingsDialog:Pe},emits:["close","triggerInstall"],data(){return{api:new N,search:"",showSettingsDialog:!1,plugins:[],storeError:null,storeUrl:ie,isEnterprise:!1,isAdmin:!0,isApiKeySet:localStorage.getItem("pluginStore.isApiKeySet")==="true",loading:!1}},computed:{showApiKeyBanner:function(){return this.isEnterprise&&!this.isApiKeySet},accountSettingsUrl:function(){const e=(this.storeUrl||ie).replace("host.docker.internal","localhost");return new URL("account",e)},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}},watch:{showSettingsDialog:function(e){e||(this.isApiKeySet=localStorage.getItem("pluginStore.isApiKeySet")==="true")}},mounted:function(){this.fetchPluginStoreData(),this.fetchUserContext()},methods:{fetchPluginStoreData:function(){this.loading=!0,b.get("/openc3-api/pluginstore").then(({data:e})=>{if(e.error){const{title:t,body:l}=e;this.storeError={title:t,body:l},this.plugins=[]}else this.storeError=null,this.plugins=e}).catch(console.error).finally(()=>{this.loading=!1})},fetchUserContext:function(){b.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=!!t.enterprise}).catch(console.error);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"},Te={class:"d-inline-flex align-center w-100"},Ue=["href"],De={key:2,class:"d-flex justify-center align-center py-12","data-test":"plugin-store-loading"};function Ie(e,t,l,d,s,i){const h=o("v-spacer"),w=o("v-btn"),c=o("v-tooltip"),S=o("v-text-field"),P=o("v-icon"),V=o("v-alert"),C=o("v-progress-circular"),T=o("plugin-card"),D=o("v-col"),k=o("v-row"),M=o("v-container"),$=o("v-sheet"),F=o("plugin-store-settings-dialog");return r(),_(I,null,[n($,{class:"pb-11 pt-8 px-8",height:"100%"},{default:a(()=>[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)),n(h),n(w,{icon:"mdi-cog",variant:"text",onClick:i.openSettings},null,8,["onClick"]),n(c,{location:"top"},{activator:a(({props:U})=>[u("div",j(L(U)),[n(w,{href:s.storeUrl,target:"_blank",icon:"mdi-open-in-new",variant:"text",class:"mx-2"},null,8,["href"])],16)]),default:a(()=>[u("span",null," Open "+f(i.formattedStoreUrl),1)]),_:1}),n(w,{icon:"mdi-close",variant:"text",onClick:i.close},null,8,["onClick"])]),u("div",Te,[n(S,{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"])]),n(h),i.showApiKeyBanner?(r(),p(V,{key:0,class:"my-3",type:"info",density:"compact","data-test":"api-key-banner"},{default:a(()=>[t[4]||(t[4]=m(" 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[5]||(t[5]=u("br",null,null,-1)),t[6]||(t[6]=m(" Visit the ",-1)),u("a",{href:i.accountSettingsUrl,target:"_blank",class:"text-white"},[t[3]||(t[3]=m(" OpenC3 Store account settings",-1)),n(P,{icon:"mdi-open-in-new",size:"x-small"})],8,Ue),t[7]||(t[7]=m(" to generate an API key. Then, return here and open the Plugin Store settings with the ",-1)),n(P,{icon:"mdi-cog",size:"small"}),t[8]||(t[8]=m(" icon above, and finally paste your API key into the API key field. ",-1))]),_:1})):v("",!0),t[10]||(t[10]=u("span",{class:""}," Click on a plugin to see more information about it ",-1)),s.storeError?(r(),p(V,{key:1,class:"mt-6",color:"error",title:s.storeError.title,text:s.storeError.body},null,8,["title","text"])):s.loading?(r(),_("div",De,[n(C,{indeterminate:"",color:"primary",size:"48"}),t[9]||(t[9]=u("span",{class:"ml-4 text-subtitle-1"},"Loading plugins...",-1))])):(r(),p(M,{key:3},{default:a(()=>[n(k,null,{default:a(()=>[(r(!0),_(I,null,E(i.filteredPlugins,U=>(r(),p(D,{key:U.id,cols:"4"},{default:a(()=>[n(T,O({ref_for:!0},U,{"install-allowed":i.installAllowed,onTriggerInstall:i.install}),null,16,["install-allowed","onTriggerInstall"])]),_:2},1024))),128))]),_:1})]),_:1}))]),_:1}),n(F,{modelValue:s.showSettingsDialog,"onUpdate:modelValue":t[1]||(t[1]=U=>s.showSettingsDialog=U),"onUpdate:storeUrl":i.updatePluginStore},null,8,["modelValue","onUpdate:storeUrl"])],64)}const $e=A(Ve,[["render",Ie]]),Ae={components:{PluginDetailsDialog:te},mixins:[K],props:{targets:{type:Array,default:()=>[]},isModified:Boolean,needsUvMigration:Boolean,microservices:{type:Object,default:()=>({})},scriptVersionsEnabled:Boolean},emits:["edit","delete","upgrade","migrate-to-uv"],setup(){return{downloadZip:Q()}},data(){return{showCard:!1,exporting:!1,importing:!1}},computed:{pluginBaseName:function(){return this.name.split("__")[0].split("-").slice(0,-1).join("-")},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,l]of Object.entries(this.microservices))l.plugin===this.name&&e.push(t);return e},microserviceCount:function(){return this.getMicroservicesForPlugin.length}},methods:{openDetails:function(){this.hasDetails&&(this.showCard=!0)},downloadPlugin:async function(){await this.downloadZip(`/openc3-api/packages/${this.name}/download`)},downloadTarget:async function(e){await this.downloadZip(`/openc3-api/targets/${e}/download`)},async exportHistory(){this.exporting=!0;try{const e=await b.get(`/script-api/scripts/plugin/${this.pluginBaseName}/history-export`,{responseType:"blob",headers:{Accept:"application/octet-stream"}});let t=`${this.pluginBaseName}-history.bundle`;const l=e.headers?.["content-disposition"];if(l){const i=/filename="?([^";]+)"?/.exec(l);i&&(t=i[1])}const d=URL.createObjectURL(e.data),s=document.createElement("a");s.href=d,s.download=t,document.body.appendChild(s),s.click(),s.remove(),URL.revokeObjectURL(d),this.$notify.normal({title:"History Exported",body:`Saved ${t}. Apply with: git clone ${t} local-repo`})}catch({response:e}){this.$notify.caution({title:"Export Failed",body:e?.data?.message||e?.statusText||"unknown"})}finally{this.exporting=!1}},pickImportFile(){this.$refs.importFileInput&&(this.$refs.importFileInput.value="",this.$refs.importFileInput.click())},async onImportFileSelected(e){const t=e.target.files&&e.target.files[0];if(t){this.importing=!0;try{const l=new FormData;l.append("bundle",t);const d=(await b.post(`/script-api/scripts/plugin/${this.pluginBaseName}/history-import`,{data:l,headers:{Accept:"application/json"}})).data||{};this.$notify.normal({title:d.reconciled?"History Imported (Reconciled)":"History Imported",body:d.message||"Imported."})}catch({response:l}){this.$notify.caution({title:"Import Failed",body:l?.data?.message||l?.statusText||"unknown"})}finally{this.importing=!1}}},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}})},migrateToUv:function(){this.$emit("migrate-to-uv")},deletePrompt:function(){this.showCard=!1,this.$emit("delete")}}},Oe=["textContent"],Me={class:"text-subtitle-2 v-list-item-subtitle pl-0"},Ee={key:0},je=["onClick","textContent"],Le=["textContent"],Fe=["data-test"];function Ne(e,t,l,d,s,i){const h=o("v-img"),w=o("v-icon"),c=o("v-list-item"),S=o("v-list"),P=o("v-menu"),V=o("plugin-details-dialog");return r(),_(I,null,[u("tr",{class:B({"cursor-pointer":e.hasDetails}),"data-test":"plugin-list-item"},[u("td",null,[e.imageContentsWithMimeType?(r(),p(h,{key:0,src:e.imageContentsWithMimeType,"max-height":"56","min-width":"56"},null,8,["src"])):v("",!0)]),u("td",null,[u("div",{class:"text-h6",onClick:t[0]||(t[0]=(...C)=>i.openDetails&&i.openDetails(...C)),textContent:f(i.displayTitle)},null,8,Oe),u("div",Me,[l.isModified?(r(),_(I,{key:0},[m(" * ")],64)):v("",!0),m(" "+f(e.name),1)]),l.targets?.length?(r(),_("div",Ee,[(r(!0),_(I,null,E(l.targets,(C,T)=>(r(),_("span",{key:T,class:"mr-2"},[C.modified?(r(),_("a",{key:0,style:{cursor:"pointer"},onClick:R(D=>i.downloadTarget(C.name),["prevent"]),textContent:f(C.name)},null,8,je)):(r(),_("span",{key:1,textContent:f(C.name)},null,8,Le))]))),128))])):v("",!0)]),u("td",null,[n(P,null,{activator:a(({props:C})=>[n(w,O(C,{icon:"mdi-dots-horizontal","data-test":"plugin-actions"}),null,16)]),default:a(()=>[n(S,null,{default:a(()=>[n(c,{title:"Download","prepend-icon":"mdi-download","data-test":"download-plugin",onClick:i.downloadPlugin},null,8,["onClick"]),n(c,{title:"Edit Details","prepend-icon":"mdi-pencil","data-test":"edit-plugin",onClick:i.edit},null,8,["onClick"]),n(c,{title:"Upgrade","prepend-icon":"mdi-update","data-test":"upgrade-plugin",onClick:i.upgrade},null,8,["onClick"]),l.scriptVersionsEnabled?(r(),p(c,{key:0,title:"Export History","prepend-icon":"mdi-export",disabled:s.exporting||s.importing,"data-test":"export-plugin-history",onClick:i.exportHistory},null,8,["disabled","onClick"])):v("",!0),l.scriptVersionsEnabled?(r(),p(c,{key:1,title:"Import History","prepend-icon":"mdi-import",disabled:s.exporting||s.importing,"data-test":"import-plugin-history",onClick:i.pickImportFile},null,8,["disabled","onClick"])):v("",!0),n(c,{title:`View Microservices (${i.microserviceCount})`,"prepend-icon":"mdi-tab","data-test":"view-microservices",onClick:i.viewMicroservices},null,8,["title","onClick"]),l.needsUvMigration?(r(),p(c,{key:2,title:"Migrate to UV","prepend-icon":"mdi-swap-horizontal","data-test":"migrate-to-uv",onClick:i.migrateToUv},null,8,["onClick"])):v("",!0),n(c,{title:"Delete","prepend-icon":"mdi-delete","data-test":"delete-plugin",onClick:i.deletePrompt},null,8,["onClick"])]),_:1})]),_:1})])],2),s.showCard?(r(),p(V,O({key:0,modelValue:s.showCard,"onUpdate:modelValue":t[1]||(t[1]=C=>s.showCard=C)},e.plugin,{onTriggerUninstall:i.deletePrompt}),null,16,["modelValue","onTriggerUninstall"])):v("",!0),l.scriptVersionsEnabled?(r(),_("input",{key:1,ref:"importFileInput",type:"file",accept:".bundle,application/octet-stream",style:{display:"none"},"data-test":`import-plugin-history-file-${e.name}`,onChange:t[2]||(t[2]=(...C)=>i.onImportFileSelected&&i.onImportFileSelected(...C))},null,40,Fe)):v("",!0)],64)}const Be=A(Ae,[["render",Ne]]),ze={components:{PluginListItem:Be},props:{plugins:{type:Array,required:!0},targets:{type:Object,required:!0},showDefaultTools:{type:Boolean,default:!1},defaultPlugins:{type:Array,required:!0},scriptVersionsEnabled:{type:Boolean,default:!1}},emits:["edit","delete","upgrade","migrate-to-uv"],data(){return{showPluginDetails:!1,detailPlugin:null,microservices:{}}},computed:{shownPlugins(){const e=[],t=[];return this.plugins.forEach(l=>{const d=l.name.split("__")[0].split("-").slice(0,-1).join("-");this.defaultPlugins.includes(d)?t.push(l):e.push(l)}),e.sort((l,d)=>l.name<d.name?-1:l.name>d.name?1:0),this.showDefaultTools?(t.sort((l,d)=>l.name<d.name?-1:l.name>d.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 l in this.targets)this.targets[l].plugin===e&&t.push(this.targets[l]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,l])=>l.plugin===e&&l.modified===!0)},editPlugin:function(e){this.$emit("edit",e)},upgradePlugin(e){this.$emit("upgrade",e)},migrateToUv:function(e){this.$emit("migrate-to-uv",e)},deletePrompt:function(e){this.$emit("delete",e)},fetchMicroservices:async function(){const e=await b.get("/openc3-api/microservices/all");this.microservices=e.data}}};function Re(e,t,l,d,s,i){const h=o("plugin-list-item"),w=o("v-data-table");return r(),p(w,{headers:[],items:i.shownPlugins,density:"compact",class:"list","data-test":"plugin-list"},{item:a(({item:c})=>[(r(),p(h,O({key:c.name},c,{targets:i.pluginTargets(c.name),"is-modified":i.isModified(c.name),microservices:s.microservices,"script-versions-enabled":l.scriptVersionsEnabled,onEdit:()=>i.editPlugin(c.name),onUpgrade:()=>i.upgradePlugin(c.name),onMigrateToUv:()=>i.migrateToUv(c.name),onDelete:()=>i.deletePrompt(c.name)}),null,16,["targets","is-modified","microservices","script-versions-enabled","onEdit","onUpgrade","onMigrateToUv","onDelete"]))]),_:1},8,["items"])}const Ke=A(ze,[["render",Re],["__scopeId","data-v-4f7d64b0"]]),He={components:{PluginDialog:W,PluginList:Ke,PluginStore:$e,ModifiedPluginDialog:Y,SimpleTextDialog:J},mixins:[Z],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 N,plugins:[],targets:{},processes:{},alert:"",alertType:"success",showAlert:!1,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginStore:!1,showPluginDialog:!1,showModifiedPluginDialog:!1,showDefaultTools:!1,scriptVersionsEnabled:!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(),b.get("/openc3-api/info").then(e=>{this.scriptVersionsEnabled=!!e.data?.script_versions}).catch(()=>{this.scriptVersionsEnabled=!1}),window.onpopstate=()=>{this.showPluginStore&&(this.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 l in this.targets)this.targets[l].plugin===e&&t.push(this.targets[l]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,l])=>l.plugin===e&&l.modified===!0)},showOutput:function(e){this.processOutput=e.output,this.showProcessOutput=!0},update:function(){b.get("/openc3-api/plugins/all").then(e=>{this.plugins=Object.entries(e.data).map(([t,l])=>l)}).catch(console.error),b.get("/openc3-api/targets_modified").then(e=>{this.targets=e.data}).catch(console.error)},updateProcesses:function(){b.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)}).catch(console.error)},upload:function(e=null,t=null){const l=e?"put":"post",d=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)),b[l](d,{data:s,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:i=>{let h=Math.round(i.loaded*100/i.total);this.progress=h}}).then(i=>{this.progress=100,this.alert="Uploaded file",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update();let h=null;i.data.existing_plugin_txt_lines!==void 0&&(h=i.data.existing_plugin_txt_lines.join(`
2
+ `));let w=i.data.plugin_txt_lines.join(`
3
+ `);this.pluginName=i.data.name,this.variables=i.data.variables,this.storePluginId=i.data.store_plugin_id,this.storeVersionId=i.data.store_version_id,this.minCosmosVersion=i.data.minimum_cosmos_version,this.pluginTxt=w,this.existingPluginTxt=h,this.showPluginDialog=!0,this.file=void 0}).catch(i=>{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){const t=e.deleteFiles||[];if(t.length){const l={};for(const d of t){const s=d.split("/")[0];l[s]||=[],l[s].push(d)}for(const[d,s]of Object.entries(l))await b.post(`/openc3-api/targets/${d}/delete_modified`,{data:{files:s}})}this.pluginDelete?this.deletePlugin(this.currentPlugin):this.pluginInstall(e.installFromPlugin||[])},pluginInstall:function(e=[]){const t={...this.pluginHashTmp};e.length&&(t.version_history_files=e),b.post(`/openc3-api/plugins/install/${this.pluginName}`,{data:{plugin_hash:JSON.stringify(t)}}).then(l=>{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()}).catch(console.error)},editPlugin:function(e){this.resetControlState(),b.get(`/openc3-api/plugins/${e}`).then(t=>{let l=null;t.data.existing_plugin_txt_lines!==void 0&&(l=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=l,this.showPluginDialog=!0}).catch(console.error)},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,b.delete(`/openc3-api/plugins/${e}`).then(t=>{setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3)}).catch(console.error),this.update()},migrateToUv:function(e){this.$dialog.confirm(`Migrate plugin ${e} to a per-plugin UV virtual environment?`,{okText:"Migrate",cancelText:"Cancel"}).then(()=>{b.post(`/openc3-api/plugins/${e}/migrate_to_uv`).then(t=>{this.alert=`Started migrating plugin ${e} to UV ...`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3)}).catch(console.error)})},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(l=>{});else{let l=this.file.name.split("-"),d=l.findIndex(h=>h.includes(".")),s=l.slice(0,d).join("-");l=this.currentPlugin.split("-"),d=l.findIndex(h=>h.includes("."));let i=l.slice(0,d).join("-");s!==i?this.$dialog.confirm(`The new gem base name ${s} doesn't match the existing ${i}. 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"},Ze=["textContent"],Ye=["textContent"];function We(e,t,l,d,s,i){const h=o("v-btn"),w=o("v-icon"),c=o("v-col"),S=o("rux-progress"),P=o("v-row"),V=o("v-divider"),C=o("v-alert"),T=o("v-list-item-title"),D=o("v-list-item-subtitle"),k=o("v-progress-circular"),M=o("v-tooltip"),$=o("v-list-item"),F=o("v-list"),U=o("v-switch"),x=o("plugin-list"),Ge=o("plugin-dialog"),Je=o("modified-plugin-dialog"),Qe=o("simple-text-dialog"),Xe=o("plugin-store"),et=o("v-bottom-sheet");return r(),_("div",null,[n(P,{"no-gutters":"",align:"center",class:"px-2"},{default:a(()=>[n(c,{class:"pa-2 mt-2"},{default:a(()=>[n(h,{"append-icon":"mdi-store",onClick:i.openStore},{default:a(()=>[...t[9]||(t[9]=[m(" Browse Plugins ",-1)])]),_:1},8,["onClick"]),n(h,{"append-icon":"mdi-paperclip",class:"mx-2",onClick:i.selectFile},{default:a(()=>[...t[10]||(t[10]=[m(" Install From File ",-1)])]),_:1},8,["onClick"]),u("input",{ref:"fileInput",accept:".gem",style:{display:"none"},type:"file",onChange:t[0]||(t[0]=(...y)=>i.fileChange&&i.fileChange(...y))},null,544),t[14]||(t[14]=u("br",null,null,-1)),u("p",qe,[t[12]||(t[12]=m(" Note: Use ",-1)),n(w,null,{default:a(()=>[...t[11]||(t[11]=[m(" mdi-dots-horizontal ",-1)])]),_:1}),t[13]||(t[13]=m(" in the Installed Plugins list to upgrade existing plugins ",-1))])]),_:1}),n(c,{class:"ml-4 mr-2",cols:"4"},{default:a(()=>[n(S,{value:s.progress},null,8,["value"])]),_:1})]),_:1}),n(P,{"no-gutters":"",class:"px-2"},{default:a(()=>[n(c,{align:"right",class:"mr-2"},{default:a(()=>[...t[15]||(t[15]=[u("div",null,"* indicates a modified plugin",-1),u("div",null,"Click target link to download modifications",-1)])]),_:1})]),_:1}),n(V),n(C,{modelValue:s.showAlert,"onUpdate:modelValue":t[1]||(t[1]=y=>s.showAlert=y),closable:"",type:s.alertType,text:s.alert,"data-test":"plugin-alert"},null,8,["modelValue","type","text"]),Object.keys(s.processes).length>0?(r(),p(F,{key:0,class:"list","data-test":"process-list"},{default:a(()=>[n(P,{"no-gutters":"",class:"px-4"},{default:a(()=>[n(c,{class:"text-h5"},{default:a(()=>[...t[16]||(t[16]=[m(" Process List ",-1)])]),_:1}),n(c,{align:"right"},{default:a(()=>[...t[17]||(t[17]=[u("div",null,"Showing last 10 min of activity",-1)])]),_:1})]),_:1}),(r(!0),_(I,null,E(s.processes,y=>(r(),_("div",{key:y.name},[n($,null,{append:a(()=>[y.state==="Running"?(r(),p(k,{key:0,indeterminate:"",color:"primary"})):(r(),p(M,{key:1,"open-delay":600,location:"top"},{activator:a(({props:tt})=>[n(h,O({ref_for:!0},tt,{icon:"mdi-eye",variant:"text","aria-label":"Show Output","data-test":"show-output",onClick:nt=>i.showOutput(y)}),null,16,["onClick"])]),default:a(()=>[t[18]||(t[18]=u("span",null," Show Output ",-1))]),_:2},1024))]),default:a(()=>[n(T,null,{default:a(()=>[u("span",{class:B(y.state.toLowerCase()),textContent:f(`Processing ${y.process_type}: ${y.detail} - ${y.state}`)},null,10,Ze)]),_:2},1024),n(D,null,{default:a(()=>[u("span",{textContent:f(" Updated At: "+e.formatNanoseconds(y.updated_at,s.timeZone))},null,8,Ye)]),_:2},1024)]),_:2},1024),n(V)]))),128))]),_:1})):v("",!0),n(P,{"no-gutters":"",class:"px-4"},{default:a(()=>[n(c,{class:"text-h5"},{default:a(()=>[...t[19]||(t[19]=[m(" Installed Plugins ",-1)])]),_:1}),n(c,{class:"v-col-auto"},{default:a(()=>[n(U,{modelValue:s.showDefaultTools,"onUpdate:modelValue":t[2]||(t[2]=y=>s.showDefaultTools=y),label:"Show Default Tools",density:"compact","hide-details":"","data-test":"show-default-tools"},null,8,["modelValue"])]),_:1})]),_:1}),n(x,{plugins:s.plugins,targets:s.targets,"show-default-tools":s.showDefaultTools,"default-plugins":s.defaultPlugins,"script-versions-enabled":s.scriptVersionsEnabled,onEdit:i.editPlugin,onUpgrade:i.upgradePlugin,onMigrateToUv:i.migrateToUv,onDelete:i.deletePrompt},null,8,["plugins","targets","show-default-tools","default-plugins","script-versions-enabled","onEdit","onUpgrade","onMigrateToUv","onDelete"]),s.showPluginDialog?(r(),p(Ge,{key:1,modelValue:s.showPluginDialog,"onUpdate:modelValue":t[3]||(t[3]=y=>s.showPluginDialog=y),"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:i.pluginCallback},null,8,["modelValue","plugin-name","variables","plugin-txt","existing-plugin-txt","store-plugin-id","store-version-id","min-cosmos-version","onCallback"])):v("",!0),s.showModifiedPluginDialog?(r(),p(Je,{key:2,modelValue:s.showModifiedPluginDialog,"onUpdate:modelValue":t[4]||(t[4]=y=>s.showModifiedPluginDialog=y),plugin:s.currentPlugin,targets:i.pluginTargets(s.currentPlugin),"plugin-hash":s.pluginHashTmp,"plugin-delete":s.pluginDelete,onSubmit:i.modifiedSubmit},null,8,["modelValue","plugin","targets","plugin-hash","plugin-delete","onSubmit"])):v("",!0),n(Qe,{modelValue:s.showProcessOutput,"onUpdate:modelValue":t[5]||(t[5]=y=>s.showProcessOutput=y),title:"Process Output",text:s.processOutput},null,8,["modelValue","text"]),n(et,{modelValue:s.showPluginStore,"onUpdate:modelValue":t[8]||(t[8]=y=>s.showPluginStore=y),fullscreen:""},{default:a(()=>[n(Xe,{onClose:t[6]||(t[6]=()=>s.showPluginStore=!1),onTriggerInstall:t[7]||(t[7]=y=>i.upload(null,y))})]),_:1},8,["modelValue"])])}const st=se("default",A(He,[["render",We],["__scopeId","data-v-a7c43eb5"]]))})}}));
@@ -1 +1 @@
1
- System.register(["./Widget-CSgnvwEG-bc4dec83d0fc9039b821.js","vue","./main-6a328857fae6aab0f418.js","vue-router","pinia","single-spa","vuetify"],(function(u,d){"use strict";var s,a,r,l,i,n;return{setters:[e=>{s=e.f},e=>{a=e.resolveComponent,r=e.openBlock,l=e.createBlock,i=e.normalizeStyle},e=>{n=e.k},null,null,null,null],execute:(function(){const e={mixins:[s],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem"],data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let t=this.value;if(t===null){if(!this.screenValues[this.valueId])return 0;t=this.screenValues[this.valueId][0]}return Number.parseInt(Number.parseFloat(t)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=Number.parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let t="CONVERTED";this.parameters[5]&&(t=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function o(t,p,v,f,I,c){const h=a("rux-progress");return r(),l(h,{value:c._value,class:"progress",style:i(t.computedStyle)},null,8,["value","style"])}const m=u("default",n(e,[["render",o],["__scopeId","data-v-af1daff2"]]))})}}));
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(u,d){"use strict";var s,a,r,l,i,n;return{setters:[e=>{s=e.f},e=>{a=e.resolveComponent,r=e.openBlock,l=e.createBlock,i=e.normalizeStyle},e=>{n=e.f},null,null,null,null],execute:(function(){const e={mixins:[s],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem"],data:function(){return{valueId:null,scaleFactor:1,width:150}},computed:{_value:function(){let t=this.value;if(t===null){if(!this.screenValues[this.valueId])return 0;t=this.screenValues[this.valueId][0]}return Number.parseInt(Number.parseFloat(t)*this.scaleFactor)}},created:function(){if(this.parameters[3]&&(this.scaleFactor=Number.parseFloat(this.parameters[3])),this.width=this.setWidth(this.parameters[4],"px",this.width),this.value===null){let t="CONVERTED";this.parameters[5]&&(t=this.parameters[5]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId)}},unmounted:function(){this.$emit("deleteItem",this.valueId)}};function o(t,p,v,f,I,c){const h=a("rux-progress");return r(),l(h,{value:c._value,class:"progress",style:i(t.computedStyle)},null,8,["value","style"])}const m=u("default",n(e,[["render",o],["__scopeId","data-v-af1daff2"]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(s,v){"use strict";var l,t,n,a,r,u;return{setters:[e=>{l=e.f},e=>{t=e.resolveComponent,n=e.openBlock,a=e.createBlock,r=e.normalizeStyle},e=>{u=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,m,c,y,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 f=s("default",u(e,[["render",o]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Layout-Df-lJgpB-228411e9ed7160bf6079.js","vue","./main-f0865abbd006d9b2cc5a.js","./Widget-ClRi417b-c819f8641946506d7602.js","vue-router","pinia","single-spa","vuetify"],(function(h,C){"use strict";var l,a,r,s,i,c,o,u,m,d,p,g;return{setters:[e=>{l=e.r},e=>{a=e.resolveComponent,r=e.openBlock,s=e.createBlock,i=e.normalizeStyle,c=e.withCtx,o=e.createElementBlock,u=e.Fragment,m=e.renderList,d=e.resolveDynamicComponent,p=e.mergeProps},e=>{g=e.f},null,null,null,null,null],execute:(function(){const e={mixins:[l],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=Number.parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function x(n,v,I,j,y,z){const k=a("v-radio-group");return r(),s(k,{modelValue:y.selectedIndex,"onUpdate:modelValue":v[0]||(v[0]=t=>y.selectedIndex=t),"hide-details":"",density:"compact",style:i(n.computedStyle)},{default:c(()=>[(r(!0),o(u,null,m(n.widgets,(t,f)=>(r(),s(d(t.type),p({ref_for:!0},n.listeners,{key:f,value:f,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,name:t.name}),null,16,["value","target","parameters","settings","screen-values","screen-time-zone","name"]))),128))]),_:1},8,["modelValue","style"])}const B=h("default",g(e,[["render",x]]))})}}));
@@ -1 +1 @@
1
- System.register(["./Widget-CSgnvwEG-bc4dec83d0fc9039b821.js","vue","./main-6a328857fae6aab0f418.js","vue-router","pinia","single-spa","vuetify"],(function(u,m){"use strict";var r,a,n,h,s,l;return{setters:[e=>{r=e.f},e=>{a=e.openBlock,n=e.createElementBlock,h=e.normalizeStyle,s=e.createElementVNode},e=>{l=e.k},null,null,null,null],execute:(function(){const e={mixins:[r],emits:["addItem","deleteItem"],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return Number.parseInt(this.parameters[3])},max(){return Number.parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const t=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){if(!this.screenValues[this.valueId])return 0;let t=this.screenValues[this.valueId][0];if(t==null)return 0;if(t.raw)return t.raw==="-Infinity"?0:100;const i=(t-this.min)/this.range*100;return i>100?100:i<0?0:i}}};function c(t,i,p,g,v,d){return a(),n("div",{class:"rangebar",style:h([d.cssProps,t.computedStyle])},[...i[0]||(i[0]=[s("div",{class:"rangebar__container"},[s("div",{class:"rangebar__line"}),s("div",{class:"rangebar__arrow"})],-1)])],4)}const o=u("default",l(e,[["render",c],["__scopeId","data-v-276a618a"]]))})}}));
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(u,m){"use strict";var r,a,n,h,s,l;return{setters:[e=>{r=e.f},e=>{a=e.openBlock,n=e.createElementBlock,h=e.normalizeStyle,s=e.createElementVNode},e=>{l=e.f},null,null,null,null],execute:(function(){const e={mixins:[r],emits:["addItem","deleteItem"],data(){return{width:160,height:22}},computed:{cssProps(){return{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition()+"%"}},min(){return Number.parseInt(this.parameters[3])},max(){return Number.parseInt(this.parameters[4])},range(){return this.max-this.min}},created(){const t=this.parameters[5]?this.parameters[5]:"CONVERTED";this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId),this.width=this.setWidth(this.parameters[6],"px",this.width),this.height=this.setHeight(this.parameters[7],"px",this.height)},unmounted(){this.$emit("deleteItem",this.valueId)},methods:{calcPosition(){if(!this.screenValues[this.valueId])return 0;let t=this.screenValues[this.valueId][0];if(t==null)return 0;if(t.raw)return t.raw==="-Infinity"?0:100;const i=(t-this.min)/this.range*100;return i>100?100:i<0?0:i}}};function c(t,i,p,g,v,d){return a(),n("div",{class:"rangebar",style:h([d.cssProps,t.computedStyle])},[...i[0]||(i[0]=[s("div",{class:"rangebar__container"},[s("div",{class:"rangebar__line"}),s("div",{class:"rangebar__arrow"})],-1)])],4)}const o=u("default",l(e,[["render",c],["__scopeId","data-v-276a618a"]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","vue-router","pinia","single-spa","vuetify"],(function(_,D){"use strict";var y,f,d,o,c,n,l,i,p,v,m,x;return{setters:[a=>{y=a.f,f=a.q},a=>{d=a.resolveComponent,o=a.openBlock,c=a.createElementBlock,n=a.createVNode,l=a.withCtx,i=a.createTextVNode,p=a.createElementVNode,v=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(b=>{this.redisResponse=b.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})}).catch(console.error)}}},g=["textContent"],V={key:1,class:"monospace"};function C(t,e,b,u,s,h){const w=d("v-card-title"),k=d("v-card-subtitle"),E=d("v-text-field"),N=d("v-checkbox"),S=d("v-card-text"),T=d("v-btn"),R=d("v-radio"),P=d("v-radio-group"),U=d("v-number-input"),A=d("v-card-actions"),B=d("v-data-table"),K=d("v-card");return o(),c("div",null,[n(K,null,{default:l(()=>[n(w,null,{default:l(()=>[...e[4]||(e[4]=[i(" Send Raw Redis Commands ",-1)])]),_:1}),n(k,null,{default:l(()=>[...e[5]||(e[5]=[i(" 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),i(" Enter commands like you would at the Redis cli prompt: ",-1),p("code",null,"ping",-1),i(" or ",-1),p("code",null,"hget openc3__settings version",-1)])]),_:1}),n(S,{class:"pb-0 ml-2"},{default:l(()=>[n(E,{modelValue:s.redisCommandText,"onUpdate:modelValue":e[0]||(e[0]=r=>s.redisCommandText=r),"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]=r=>s.prettyPrint=r),label:"Pretty print",density:"compact","hide-details":"",class:"mb-2"},null,8,["modelValue"]),s.redisResponse?(o(),c(v,{key:0},[s.prettyPrint?(o(),c("pre",{key:0,textContent:m(h.formattedResponse)},null,8,g)):(o(),c("span",V," Response: "+m(s.redisResponse),1))],64)):x("",!0)]),_:1}),n(A,{class:"px-2"},{default:l(()=>[n(T,{disabled:!s.redisCommandText.length,color:"success",variant:"text",onClick:h.executeRaw},{default:l(()=>[...e[6]||(e[6]=[i(" Execute ",-1)])]),_:1},8,["disabled","onClick"]),n(P,{modelValue:s.redisEndpoint,"onUpdate:modelValue":e[2]||(e[2]=r=>s.redisEndpoint=r),inline:"","hide-details":"",class:"mt-0"},{default:l(()=>[n(R,{label:"Persistent",value:"persistent","data-test":"persistent-radio"}),n(R,{label:"Ephemeral",value:"ephemeral","data-test":"ephemeral-radio"})]),_:1},8,["modelValue"]),n(U,{modelValue:s.db_shard,"onUpdate:modelValue":e[3]||(e[3]=r=>s.db_shard=r),"control-variant":"stacked",min:0,label:"DB Shard","hide-details":"",density:"compact",style:{"max-width":"100px"},class:"ml-4"},null,8,["modelValue"])]),_:1}),n(B,{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 I=_("default",y(a,[["render",C],["__scopeId","data-v-e04990a5"]]))})}}));
@@ -1 +1 @@
1
- System.register(["./Widget-CSgnvwEG-bc4dec83d0fc9039b821.js","vue","./main-6a328857fae6aab0f418.js","vue-router","pinia","single-spa","vuetify"],(function(m,p){"use strict";var l,r,a,c,o,u;return{setters:[t=>{l=t.f},t=>{r=t.resolveComponent,a=t.openBlock,c=t.createBlock,o=t.normalizeStyle},t=>{u=t.k},null,null,null,null],execute:(function(){const t={mixins:[l],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem","open"],data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const n of this.items){let s=this.screenValues[n][1];s&&((s.includes("BLUE")||s.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),s.includes("YELLOW")&&e!="critical"&&(e="caution"),s.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let n="CONVERTED";e[4]&&(n=e[4]);let s=`${e[1]}__${e[2]}__${e[3]}__${n}`;this.items.push(s),this.$emit("addItem",s);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function h(e,n,s,b,E,i){const d=r("rux-monitoring-icon");return a(),c(d,{class:"rux-icon",style:o([i.pointerStyle,e.computedStyle]),icon:e.icon,status:i.status,label:e.label,sublabel:e.subLabel,onClick:i.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const f=m("default",u(t,[["render",h]]))})}}));
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(m,p){"use strict";var l,r,a,c,o,u;return{setters:[t=>{l=t.f},t=>{r=t.resolveComponent,a=t.openBlock,c=t.createBlock,o=t.normalizeStyle},t=>{u=t.f},null,null,null,null],execute:(function(){const t={mixins:[l],props:{value:{type:[Number,String],default:null}},emits:["addItem","deleteItem","open"],data:function(){return{valueId:null,icon:"",label:"",subLabel:"",items:[],screenTarget:null,screenName:null}},computed:{status:function(){let e="off";for(const i of this.items){let s=this.screenValues[i][1];s&&((s.includes("BLUE")||s.includes("GREEN"))&&e!="caution"&&e!="critical"&&(e="normal"),s.includes("YELLOW")&&e!="critical"&&(e="caution"),s.includes("RED")&&(e="critical"))}return e},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.icon=this.parameters[0],this.label=this.parameters[1],this.subLabel=this.parameters[2],this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"TLM":let i="CONVERTED";e[4]&&(i=e[4]);let s=`${e[1]}__${e[2]}__${e[3]}__${i}`;this.items.push(s),this.$emit("addItem",s);break}})},unmounted:function(){this.items.forEach(e=>{this.$emit("deleteItem",e)})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function h(e,i,s,b,E,n){const d=r("rux-monitoring-icon");return a(),c(d,{class:"rux-icon",style:o([n.pointerStyle,e.computedStyle]),icon:e.icon,status:n.status,label:e.label,sublabel:e.subLabel,onClick:n.clickHandler},null,8,["style","icon","status","label","sublabel","onClick"])}const f=m("default",u(t,[["render",h]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","single-spa","./OutputDialog-C9rGeLM5-02a56bb7f4eb6b0500ac.js","vue-router","pinia","vuetify"],(function(w,T){"use strict";var d,c,e,l,r,o,i,g,p,h,m,v,C,f;return{setters:[t=>{d=t.f,c=t.q},t=>{e=t.resolveComponent,l=t.openBlock,r=t.createElementBlock,o=t.createVNode,i=t.withCtx,g=t.Fragment,p=t.renderList,h=t.createTextVNode,m=t.toDisplayString,v=t.createBlock,C=t.createCommentVNode},null,t=>{f=t.S},null,null,null],execute:(function(){const t={components:{OutputDialog:f},data(){return{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){c.get("/openc3-api/routers").then(n=>{this.routers=n.data}).catch(console.error)},add(){},async showRouter(n){const s=await c.get(`/openc3-api/routers/${n}`);this.jsonContent=JSON.stringify(s.data,null," "),this.dialogTitle=n,this.showDialog=!0},dialogCallback(n){this.showDialog=!1}}};function y(n,s,j,R,a,k){const D=e("v-list-item-title"),S=e("v-btn"),V=e("v-list-item"),N=e("v-divider"),b=e("v-list"),x=e("output-dialog");return l(),r("div",null,[o(b,{class:"list","data-test":"routerList"},{default:i(()=>[(l(!0),r(g,null,p(a.routers,(u,B)=>(l(),r("div",{key:B},[o(V,null,{append:i(()=>[o(S,{"aria-label":"Show Router Details",icon:"mdi-eye",variant:"text",onClick:L=>k.showRouter(u)},null,8,["onClick"])]),default:i(()=>[o(D,null,{default:i(()=>[h(m(u),1)]),_:2},1024)]),_:2},1024),o(N)]))),128))]),_:1}),a.showDialog?(l(),v(x,{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"])):C("",!0)])}const _=w("default",d(t,[["render",y],["__scopeId","data-v-770f2ce5"]]))})}}));
@@ -1 +1 @@
1
- System.register(["./Layout-BLS4Yi3m-9a851fc81da50b5a0f78.js","vue","./main-6a328857fae6aab0f418.js","./Widget-CSgnvwEG-bc4dec83d0fc9039b821.js","vue-router","pinia","single-spa","vuetify"],(function(w,S){"use strict";var g,u,r,s,v,l,y,i,o,f,d,c,p,h;return{setters:[t=>{g=t.r},t=>{u=t.resolveComponent,r=t.openBlock,s=t.createElementBlock,v=t.normalizeStyle,l=t.Fragment,y=t.renderList,i=t.createBlock,o=t.withCtx,f=t.createElementVNode,d=t.toDisplayString,c=t.resolveDynamicComponent,p=t.mergeProps},t=>{h=t.k},null,null,null,null,null],execute:(function(){const t={mixins:[g],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(m=>{m.settings.find(a=>a[0]==="MARGIN"||a[0].startsWith("RAW")&&a[1].toUpperCase().includes("MARGIN"))===void 0&&m.settings.push(["MARGIN",n])})}}};function k(n,m,a,x,z,b){const C=u("v-tooltip");return r(),s("div",{ref:"container",style:v(n.computedStyle),class:"overflow-y-auto"},[(r(!0),s(l,null,y(n.widgets,(e,B)=>(r(),s(l,{key:B},[n.getTooltipText(e)?(r(),i(C,{key:0,"open-delay":n.getTooltipDelay(e),location:"top","activator-props":n.getTooltipActivatorProps(e)},{activator:o(({props:N})=>[(r(),i(c(e.type),p({ref_for:!0},{...n.listeners,...N},{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:o(()=>[f("span",null,d(n.getTooltipText(e)),1)]),_:2},1032,["open-delay","activator-props"])):(r(),i(c(e.type),p({key:1,ref_for:!0},n.listeners,{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))],4)}const T=w("default",h(t,[["render",k]]))})}}));
1
+ System.register(["./Layout-Df-lJgpB-228411e9ed7160bf6079.js","vue","./main-f0865abbd006d9b2cc5a.js","./Widget-ClRi417b-c819f8641946506d7602.js","vue-router","pinia","single-spa","vuetify"],(function(w,T){"use strict";var m,u,r,s,v,l,y,i,o,f,d,c,p,h;return{setters:[t=>{m=t.r},t=>{u=t.resolveComponent,r=t.openBlock,s=t.createElementBlock,v=t.normalizeStyle,l=t.Fragment,y=t.renderList,i=t.createBlock,o=t.withCtx,f=t.createElementVNode,d=t.toDisplayString,c=t.resolveDynamicComponent,p=t.mergeProps},t=>{h=t.f},null,null,null,null,null],execute:(function(){const t={mixins:[m],created:function(){if(this.setHeight(this.parameters[0],"px",200),this.parameters[1]){let n=this.parameters[1];this.widgets.forEach(g=>{g.settings.find(a=>a[0]==="MARGIN"||a[0].startsWith("RAW")&&a[1].toUpperCase().includes("MARGIN"))===void 0&&g.settings.push(["MARGIN",n])})}}};function k(n,g,a,x,z,A){const C=u("v-tooltip");return r(),s("div",{ref:"container",style:v(n.computedStyle),class:"overflow-y-auto"},[(r(!0),s(l,null,y(n.widgets,(e,B)=>(r(),s(l,{key:B},[n.getTooltipText(e)?(r(),i(C,{key:0,"open-delay":n.getTooltipDelay(e),location:"top","activator-props":n.getTooltipActivatorProps(e)},{activator:o(({props:N})=>[(r(),i(c(e.type),p({ref_for:!0},{...n.listeners,...N},{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))]),default:o(()=>[f("span",null,d(n.getTooltipText(e)),1)]),_:2},1032,["open-delay","activator-props"])):(r(),i(c(e.type),p({key:1,ref_for:!0},n.listeners,{target:e.target,parameters:e.parameters,settings:e.settings,"screen-values":n.screenValues,"screen-time-zone":n.screenTimeZone,widgets:e.widgets,name:e.name,line:e.line,"line-number":e.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))],64))),128))],4)}const b=w("default",h(t,[["render",k]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","vue-router","pinia","single-spa","vuetify"],(function(C,$){"use strict";var V,o,n,u,d,l,s,i,p,m,v,g,y,N;return{setters:[a=>{V=a.f,o=a.q},a=>{n=a.resolveComponent,u=a.openBlock,d=a.createElementBlock,l=a.createVNode,s=a.withCtx,i=a.createTextVNode,p=a.createElementVNode,m=a.toDisplayString,v=a.Fragment,g=a.renderList,y=a.createBlock,N=a.createCommentVNode},null,null,null,null],execute:(function(){const a={data(){return{file:null,loadingSecret:!1,secrets:[],secretName:"",secretValue:"",alert:"",alertType:"success",showAlert:!1,isEnterprise:!1}},created(){o.get("/openc3-api/info").then(({data:c})=>{this.isEnterprise=c.enterprise}).catch(console.error)},mounted(){this.update()},methods:{update(){o.get("/openc3-api/secrets").then(c=>{this.secrets=c.data}).catch(console.error)},upload:function(){this.loadingSecret=!0;let c=null;if(this.file){const e=new FormData;e.append("file",this.file,this.file.name),c=o.post(`/openc3-api/secrets/${this.secretName}`,{data:e,headers:{"Content-Type":"multipart/form-data"}})}else c=o.post(`/openc3-api/secrets/${this.secretName}`,{data:{value:this.secretValue}});c.then(e=>{this.loadingSecret=!1,this.file=null,this.secretName="",this.secretValue="",this.update()}).catch(e=>{this.loadingSecret=!1})},deleteSecret:function(c){this.$dialog.confirm(`Are you sure you want to remove: ${c}`,{okText:"Delete",cancelText:"Cancel"}).then(function(e){return o.delete(`/openc3-api/secrets/${c}`)}).then(e=>{this.alert=`Removed secret ${c}`,this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}};function w(c,e,F,j,t,b){const k=n("v-alert"),T=n("v-file-input"),f=n("v-col"),x=n("v-row"),S=n("v-text-field"),E=n("v-icon"),_=n("v-btn"),B=n("v-list-item-title"),U=n("v-list-item"),A=n("v-divider"),D=n("v-list");return u(),d("div",null,[l(k,{modelValue:t.isEnterprise,"onUpdate:modelValue":e[0]||(e[0]=r=>t.isEnterprise=r),class:"ma-4"},{default:s(()=>[...e[6]||(e[6]=[i(" Note: This cannot be used for setting Kubernetes secrets. You must set them in Kubernetes as a ",-1),p("a",{href:"https://kubernetes.io/docs/concepts/configuration/secret/",target:"_blank"}," Secrets object ",-1),i(" instead. ",-1)])]),_:1},8,["modelValue"]),l(x,{"no-gutters":""},{default:s(()=>[l(f,null,{default:s(()=>[l(T,{ref:"fileInput",modelValue:t.file,"onUpdate:modelValue":e[1]||(e[1]=r=>t.file=r),"show-size":"",accept:"*",class:"mx-2",label:"Click to select a file to create a secret from or enter a secret value"},null,8,["modelValue"])]),_:1})]),_:1}),l(x,{"no-gutters":"",align:"center",style:{"padding-left":"10px"}},{default:s(()=>[l(f,{cols:"3"},{default:s(()=>[l(S,{modelValue:t.secretName,"onUpdate:modelValue":e[2]||(e[2]=r=>t.secretName=r),label:"Secret Name",class:"px-2"},null,8,["modelValue"])]),_:1}),l(f,{cols:"3",class:"px-2"},{default:s(()=>[l(S,{modelValue:t.secretValue,"onUpdate:modelValue":e[3]||(e[3]=r=>t.secretValue=r),disabled:t.file,label:"Secret Value"},null,8,["modelValue","disabled"])]),_:1}),l(f,{cols:"3",class:"px-2"},{default:s(()=>[l(_,{class:"mx-2",color:"primary","data-test":"secretUpload",disabled:t.secretName===""||t.file==null&&t.secretValue==="",loading:t.loadingSecret,onClick:e[4]||(e[4]=r=>b.upload())},{loader:s(()=>[...e[8]||(e[8]=[p("span",null,"Loading...",-1)])]),default:s(()=>[l(E,{start:"",theme:"dark"},{default:s(()=>[...e[7]||(e[7]=[i("mdi-cloud-upload",-1)])]),_:1}),e[9]||(e[9]=p("span",null," Set ",-1))]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),l(k,{modelValue:t.showAlert,"onUpdate:modelValue":e[5]||(e[5]=r=>t.showAlert=r),closable:"",type:t.alertType},{default:s(()=>[i(m(t.alert),1)]),_:1},8,["modelValue","type"]),l(D,{"data-test":"secretList"},{default:s(()=>[(u(!0),d(v,null,g(t.secrets,(r,h)=>(u(),d("div",{key:h},[l(U,null,{append:s(()=>[l(_,{icon:"mdi-delete",variant:"text","aria-label":"Delete Secret",onClick:z=>b.deleteSecret(r)},null,8,["onClick"])]),default:s(()=>[l(B,null,{default:s(()=>[i(m(r),1)]),_:2},1024)]),_:2},1024),h<t.secrets.length-1?(u(),y(A,{key:h})):N("",!0)]))),128))]),_:1})])}const L=C("default",V(a,[["render",w]]))})}}));
@@ -0,0 +1,10 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","./settings-CF2_iY3N-2c1b3aa6b738e9889263.js","single-spa","vue-router","pinia","vuetify"],(function(le,Ge){"use strict";var k,M,O,a,f,T,l,B,F,V,o,r,S,R,W,w,E,q,L;return{setters:[y=>{k=y.f,M=y.q,O=y.j},y=>{a=y.resolveComponent,f=y.openBlock,T=y.createElementBlock,l=y.createVNode,B=y.Fragment,F=y.createCommentVNode,V=y.createBlock,o=y.withCtx,r=y.createTextVNode,S=y.toDisplayString,R=y.createSlots,W=y.mergeProps,w=y.withDirectives,E=y.vShow,q=y.renderList},y=>{L=y.r},null,null,null,null],execute:(function(){const y="__default",oe={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 ae(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-checkbox"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[2]||(e[2]=[r("Reset suppressed warnings",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[3]||(e[3]=[r(` This resets "don't show this again" dialogs on this browser `,-1)])]),_:1}),l(m,null,{default:o(()=>[s.suppressedWarnings.length?(f(),T(B,{key:0},[l(u,{modelValue:s.selectAllSuppressedWarnings,"onUpdate:modelValue":e[0]||(e[0]=n=>s.selectAllSuppressedWarnings=n),label:"Select All Warnings",density:"compact"},null,8,["modelValue"]),(f(!0),T(B,null,q(s.suppressedWarnings,n=>(f(),V(u,{key:n.key,modelValue:s.selectedSuppressedWarnings,"onUpdate:modelValue":e[1]||(e[1]=i=>s.selectedSuppressedWarnings=i),label:n.text,value:n.key,density:"compact","hide-details":""},null,8,["modelValue","label","value"]))),128))],64)):(f(),T(B,{key:1},[r(" No warnings to reset ")],64))]),_:1}),l(p,{class:"px-2"},{default:o(()=>[l(g,{disabled:!s.selectedSuppressedWarnings.length,color:"warning",variant:"text","data-test":"reset-suppressed-warnings",onClick:h.resetSuppressedWarnings},{default:o(()=>[...e[4]||(e[4]=[r(" Reset ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const se=k(oe,[["render",ae]]),P="ai_chat",re={mixins:[L],data(){return{aiChatEnabled:!0}},created(){this.loadSetting(P)},methods:{save:function(){this.saveSetting(P,this.aiChatEnabled)},parseSetting:function(t){t!=null&&(this.aiChatEnabled=t)}}};function ne(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-alert"),u=a("v-switch"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("AI Chat Settings",-1)])]),_:1}),l(d,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(u,{modelValue:s.aiChatEnabled,"onUpdate:modelValue":e[3]||(e[3]=n=>s.aiChatEnabled=n),label:`Enable the in-app AI Chatbot. When disabled, the AI
2
+ chat button and drawer are hidden for all users.`,color:"primary",disabled:t.settingsLoading,"data-test":"ai-chat-enabled"},null,8,["modelValue","disabled"])]),_:1}),l(p,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-ai-chat",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ie=k(re,[["render",ne]]),de={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(){localStorage.getItem(y)&&localStorage.removeItem(y),this.lastConfigs=Object.keys(localStorage).filter(t=>t.endsWith(y)).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)localStorage.removeItem(e)}}};function ue(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-checkbox"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[2]||(e[2]=[r(" Clear default configs ",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[3]||(e[3]=[r(" This clears the default tool configs on this browser ",-1)])]),_:1}),l(m,null,{default:o(()=>[s.lastConfigs.length?(f(),T(B,{key:0},[l(u,{modelValue:s.selectAllLastConfigs,"onUpdate:modelValue":e[0]||(e[0]=n=>s.selectAllLastConfigs=n),label:"Select All Configs",density:"compact"},null,8,["modelValue"]),(f(!0),T(B,null,q(s.lastConfigs,n=>(f(),V(u,{key:n.key,modelValue:s.selectedLastConfigs,"onUpdate:modelValue":e[1]||(e[1]=i=>s.selectedLastConfigs=i),label:n.text,value:n.key,"hide-details":"",density:"compact"},null,8,["modelValue","label","value"]))),128))],64)):(f(),T(B,{key:1},[r(" No configs to clear ")],64))]),_:1}),l(p,{class:"px-2"},{default:o(()=>[l(g,{disabled:!s.selectedLastConfigs.length,color:"warning",variant:"text","data-test":"clear-default-configs",onClick:h.clearLastConfigs},{default:o(()=>[...e[4]||(e[4]=[r(" Clear ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const ce=k(de,[["render",ue]]),j="script_runner_locking",I="script_runner_lifecycle",me={mixins:[L],data(){return{vimMode:O.isVimModeEnabled(),scriptLockingEnabled:!0,lifecycleEnabled:!1,isEnterprise:!1,gitHistoryEnabled:!1,defaultLanguage:O.getDefaultScriptingLanguage(),languageOptions:[{text:"Ruby",value:"ruby"},{text:"Python",value:"python"}]}},created(){this.loadSetting(j),this.loadSetting(I),M.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=t.enterprise===!0,this.gitHistoryEnabled=t.script_versions===!0}).catch(console.error)},methods:{save:function(){O.setVimMode(this.vimMode),O.setDefaultScriptingLanguage(this.defaultLanguage),this.saveSetting(j,this.scriptLockingEnabled),this.isEnterprise&&this.saveSetting(I,this.lifecycleEnabled)},parseSetting:function(t,e){t!=null&&(e?.setting===I?this.lifecycleEnabled=t:this.scriptLockingEnabled=t)}}};function ge(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-select"),g=a("v-switch"),p=a("v-card-text"),v=a("v-btn"),n=a("v-card-actions"),i=a("v-card");return f(),V(i,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[7]||(e[7]=[r(" Code Editor Settings ",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[8]||(e[8]=[r(" 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(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=_=>t.errorLoading=_),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=_=>t.errorSaving=_),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=_=>t.successSaving=_),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[9]||(e[9]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(p,{class:"pb-0"},{default:o(()=>[l(m,{modelValue:s.defaultLanguage,"onUpdate:modelValue":e[3]||(e[3]=_=>s.defaultLanguage=_),label:"Default scripting language",items:s.languageOptions,"item-title":"text","item-value":"value",color:"primary",class:"mt-4","data-test":"default-language"},null,8,["modelValue","items"]),l(g,{modelValue:s.vimMode,"onUpdate:modelValue":e[4]||(e[4]=_=>s.vimMode=_),label:"Vim mode",color:"primary"},null,8,["modelValue"]),l(g,{modelValue:s.scriptLockingEnabled,"onUpdate:modelValue":e[5]||(e[5]=_=>s.scriptLockingEnabled=_),label:`Script File Locking - When enabled, a script being edited
3
+ by one user is read-only for other users until they explicitly force
4
+ unlock. Disable to allow multiple users to edit the same script
5
+ concurrently (last save wins).`,color:"primary",disabled:t.settingsLoading,"data-test":"script-locking-enabled"},null,8,["modelValue","disabled"]),s.isEnterprise?(f(),T(B,{key:0},[s.gitHistoryEnabled?F("",!0):(f(),V(u,{key:0,type:"info",density:"compact",class:"mb-2"},{default:o(()=>[...e[10]||(e[10]=[r(" The Script Lifecycle requires the Version History git store, which is not configured on this server (set OPENC3_VERSION_HISTORY_DIR). Enabling this setting has no effect until it is available. ",-1)])]),_:1})),l(g,{modelValue:s.lifecycleEnabled,"onUpdate:modelValue":e[6]||(e[6]=_=>s.lifecycleEnabled=_),disabled:t.settingsLoading||!s.gitHistoryEnabled,label:`Script Lifecycle - When enabled, scripts are tracked through
6
+ In Development, In Review, and Approved states. Users with the script_edit permission
7
+ can move scripts to In Review, and users with the script_approver permission may approve scripts.
8
+ Approved scripts cannot be modified or deleted, and users with only the runner
9
+ permission can only run approved scripts.`,color:"primary","data-test":"script-lifecycle-enabled"},null,8,["modelValue","disabled"])],64)):F("",!0)]),_:1}),l(n,null,{default:o(()=>[l(v,{color:"success",variant:"text","data-test":"save-editor-settings",onClick:h.save},{default:o(()=>[...e[11]||(e[11]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const pe=k(me,[["render",ge]]),Z="astro",fe={mixins:[L],data(){return{hideClock:!1}},created(){this.loadSetting(Z)},methods:{save(){this.saveSetting(Z,JSON.stringify({hideClock:this.hideClock}))},parseSetting:function(t){if(t){let e=JSON.parse(t);this.hideClock=e.hideClock}}}};function he(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-alert"),u=a("v-switch"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("Astro Settings",-1)])]),_:1}),l(d,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(u,{modelValue:s.hideClock,"onUpdate:modelValue":e[3]||(e[3]=n=>s.hideClock=n),label:"Hide Astro Clock",color:"primary",disabled:t.settingsLoading},null,8,["modelValue","disabled"])]),_:1}),l(p,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-astro-settings",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ve=k(fe,[["render",he]]),J="theme",be={mixins:[L],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(J)},methods:{save(){this.saveSetting(J,this.selectedTheme)},parseSetting(t){t&&(this.selectedTheme=t)}}};function Se(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-alert"),u=a("v-select"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("Theme",-1)])]),_:1}),l(d,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pt-4 pb-0"},{default:o(()=>[l(u,{modelValue:s.selectedTheme,"onUpdate:modelValue":e[3]||(e[3]=n=>s.selectedTheme=n),label:"Theme",items:s.themeOptions,"item-title":"label","item-value":"value",disabled:t.settingsLoading,"data-test":"theme-select"},null,8,["modelValue","items","disabled"])]),_:1}),l(p,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-theme-settings",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const ye=k(be,[["render",Se]]),$="classification_banner",Ve={mixins:[L],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){this.topHeight=t?this.topHeight||20:0},displayBottomBanner:function(t){this.bottomHeight=t?this.bottomHeight||20: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($)},methods:{save(){this.saveSetting($,this.saveObj)},parseSetting:function(t){if(t){let e;try{e=JSON.parse(t)}catch(C){this.errorText=`the stored value is not valid JSON (${C.message})`,this.errorLoading=!0;return}this.text=e.text||"",this.topHeight=e.topHeight||0,this.bottomHeight=e.bottomHeight||0,this.displayTopBanner=this.topHeight!==0,this.displayBottomBanner=this.bottomHeight!==0,e.backgroundColor&&e.backgroundColor.startsWith("#")?(this.customBackgroundColor=e.backgroundColor,this.selectedBackgroundColor=!1):this.selectedBackgroundColor=e.backgroundColor||"red",e.fontColor&&e.fontColor.startsWith("#")?(this.customFontColor=e.fontColor,this.selectedFontColor=!1):this.selectedFontColor=e.fontColor||"white"}}}};function Ce(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-alert"),u=a("v-text-field"),m=a("v-col"),g=a("v-row"),p=a("v-icon"),v=a("v-list-item"),n=a("v-select"),i=a("v-switch"),_=a("v-number-input"),H=a("v-card-text"),A=a("v-btn"),D=a("v-card-actions"),N=a("v-card");return f(),V(N,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[12]||(e[12]=[r("Classification Banner Settings",-1)])]),_:1}),l(d,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=c=>t.errorLoading=c),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=c=>t.errorSaving=c),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=c=>t.successSaving=c),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[13]||(e[13]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(H,{class:"pb-0"},{default:o(()=>[l(g,{dense:""},{default:o(()=>[l(m,null,{default:o(()=>[l(u,{modelValue:s.text,"onUpdate:modelValue":e[3]||(e[3]=c=>s.text=c),label:"Text",disabled:t.settingsLoading,"data-test":"classification-banner-text"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),l(g,{dense:""},{default:o(()=>[l(m,null,{default:o(()=>[l(n,{modelValue:s.selectedBackgroundColor,"onUpdate:modelValue":e[4]||(e[4]=c=>s.selectedBackgroundColor=c),label:"Background color",items:s.colors,"item-title":"text",disabled:t.settingsLoading,"data-test":"classification-banner-background-color"},R({item:o(({props:c,item:x})=>[l(v,W(c,{value:x.text}),{prepend:o(()=>[x.value?(f(),V(p,{key:0,color:x.value},{default:o(()=>[...e[15]||(e[15]=[r(" mdi-square ",-1)])]),_:1},8,["color"])):F("",!0)]),_:2},1040,["value"])]),_:2},[s.selectedBackgroundColor?{name:"prepend-inner",fn:o(()=>[l(p,{color:s.selectedBackgroundColor},{default:o(()=>[...e[14]||(e[14]=[r(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items","disabled"])]),_:1}),l(m,null,{default:o(()=>[l(u,{modelValue:s.customBackgroundColor,"onUpdate:modelValue":e[5]||(e[5]=c=>s.customBackgroundColor=c),label:"Custom background color",hint:s.customColorHint,disabled:t.settingsLoading||s.selectedBackgroundColor!==!1,rules:[s.rules.customColor],"data-test":"classification-banner-custom-background-color"},{"prepend-inner":o(()=>[w(l(p,{color:s.customBackgroundColor},{default:o(()=>[...e[16]||(e[16]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,!s.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),l(m,null,{default:o(()=>[l(n,{modelValue:s.selectedFontColor,"onUpdate:modelValue":e[6]||(e[6]=c=>s.selectedFontColor=c),label:"Font color",items:s.colors,"item-title":"text",disabled:t.settingsLoading,"data-test":"classification-banner-font-color"},R({item:o(({props:c,item:x})=>[l(v,W(c,{value:x.text}),{prepend:o(()=>[x.value?(f(),V(p,{key:0,color:x.value},{default:o(()=>[...e[18]||(e[18]=[r(" mdi-square ",-1)])]),_:1},8,["color"])):F("",!0)]),_:2},1040,["value"])]),_:2},[s.selectedFontColor?{name:"prepend-inner",fn:o(()=>[w(l(p,{color:s.selectedFontColor},{default:o(()=>[...e[17]||(e[17]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,s.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items","disabled"])]),_:1}),l(m,null,{default:o(()=>[l(u,{modelValue:s.customFontColor,"onUpdate:modelValue":e[7]||(e[7]=c=>s.customFontColor=c),label:"Custom font color",hint:s.customColorHint,disabled:t.settingsLoading||s.selectedFontColor!==!1,rules:[s.rules.customColor],"data-test":"classification-banner-custom-font-color"},{"prepend-inner":o(()=>[w(l(p,{color:s.customFontColor},{default:o(()=>[...e[19]||(e[19]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,!s.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1}),l(g,{dense:""},{default:o(()=>[l(m,null,{default:o(()=>[l(i,{modelValue:s.displayTopBanner,"onUpdate:modelValue":e[8]||(e[8]=c=>s.displayTopBanner=c),label:"Display top banner",color:"primary",disabled:t.settingsLoading,"data-test":"display-top-banner"},null,8,["modelValue","disabled"])]),_:1}),l(m,null,{default:o(()=>[l(_,{modelValue:s.topHeight,"onUpdate:modelValue":e[9]||(e[9]=c=>s.topHeight=c),"control-variant":"stacked",label:"Top height",disabled:t.settingsLoading||!s.displayTopBanner,suffix:"px","data-test":"classification-banner-top-height"},null,8,["modelValue","disabled"])]),_:1}),l(m,null,{default:o(()=>[l(i,{modelValue:s.displayBottomBanner,"onUpdate:modelValue":e[10]||(e[10]=c=>s.displayBottomBanner=c),label:"Display bottom banner",color:"primary",disabled:t.settingsLoading,"data-test":"display-bottom-banner"},null,8,["modelValue","disabled"])]),_:1}),l(m,null,{default:o(()=>[l(_,{modelValue:s.bottomHeight,"onUpdate:modelValue":e[11]||(e[11]=c=>s.bottomHeight=c),"control-variant":"stacked",label:"Bottom height",disabled:t.settingsLoading||!s.displayBottomBanner,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]=[r(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const _e=k(Ve,[["render",Ce]]),z="time_zone",ke={mixins:[L],data(){return{timeZones:["local","UTC"],timeZone:"local"}},created(){this.loadSetting(z)},methods:{save(){this.saveSetting(z,this.timeZone)},parseSetting:function(t){t&&(this.timeZone=t)}}};function xe(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-select"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("Time Zone",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(" 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(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,null,{default:o(()=>[l(m,{modelValue:s.timeZone,"onUpdate:modelValue":e[3]||(e[3]=i=>s.timeZone=i),items:s.timeZones,label:"Select time display","hide-details":"","prepend-icon":"mdi-map-clock","single-line":"",disabled:t.settingsLoading,"data-test":"time-zone"},null,8,["modelValue","items","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-time-zone",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Ue=k(ke,[["render",xe]]),K="time_format",Le={mixins:[L],data(){return{timeFormats:[{title:"12-hour (AM/PM)",value:"ampm"},{title:"24-hour",value:"24hr"}],timeFormat:"ampm"}},created(){this.loadSetting(K)},methods:{save(){this.saveSetting(K,this.timeFormat)},parseSetting:function(t){t&&(this.timeFormat=t)}}};function Te(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-select"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("Time Format",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(" 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(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,null,{default:o(()=>[l(m,{modelValue:s.timeFormat,"onUpdate:modelValue":e[3]||(e[3]=i=>s.timeFormat=i),items:s.timeFormats,label:"Select time format","hide-details":"","prepend-icon":"mdi-clock-outline","single-line":"",disabled:t.settingsLoading,"data-test":"time-format"},null,8,["modelValue","items","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-time-format",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Be=k(Le,[["render",Te]]),G="news_feed",Fe={mixins:[L],data(){return{newsFeed:!0}},created(){this.loadSetting(G)},methods:{save(){this.saveSetting(G,this.newsFeed),this.newsFeed&&this.api.update_news()},parseSetting:function(t){this.newsFeed=t}}};function we(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-alert"),u=a("v-switch"),m=a("v-card-text"),g=a("v-btn"),p=a("v-card-actions"),v=a("v-card");return f(),V(v,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("News Feed Settings",-1)])]),_:1}),l(d,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=n=>t.errorLoading=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=n=>t.errorSaving=n),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(d,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=n=>t.successSaving=n),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[5]||(e[5]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(m,{class:"pb-0"},{default:o(()=>[l(u,{modelValue:s.newsFeed,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newsFeed=n),label:`Allow COSMOS backend to pull the news feed from the COSMOS external news site.
10
+ 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",disabled:t.settingsLoading},null,8,["modelValue","disabled"])]),_:1}),l(p,null,{default:o(()=>[l(g,{color:"success",variant:"text","data-test":"save-news-feed",onClick:h.save},{default:o(()=>[...e[6]||(e[6]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const Ee=k(Fe,[["render",we]]),Y="subtitle",Oe={mixins:[L],data(){return{subtitle:""}},created(){this.loadSetting(Y)},methods:{save(){this.saveSetting(Y,this.subtitle)},parseSetting:function(t){t&&(this.subtitle=t)}}};function Re(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-text-field"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r("Subtitle",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(" This sets a subtitle to display below the COSMOS logo in the Navigation bar. ",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,{class:"pb-0"},{default:o(()=>[l(m,{modelValue:s.subtitle,"onUpdate:modelValue":e[3]||(e[3]=i=>s.subtitle=i),label:"Subtitle",disabled:t.settingsLoading,"data-test":"subtitle"},null,8,["modelValue","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-subtitle",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const We=k(Oe,[["render",Re]]),Q="source_url",He={mixins:[L],data(){return{sourceUrl:"https://github.com/OpenC3/cosmos"}},created(){this.loadSetting(Q)},methods:{save(){this.saveSetting(Q,this.sourceUrl)},parseSetting:function(t){t&&(this.sourceUrl=t)}}};function Ae(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-text-field"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r(" Source code URL ",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(' This sets the URL for the "Source" link in the footer. ',-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,{class:"pb-0"},{default:o(()=>[l(m,{modelValue:s.sourceUrl,"onUpdate:modelValue":e[3]||(e[3]=i=>s.sourceUrl=i),label:"Source URL",disabled:t.settingsLoading,"data-test":"source-url"},null,8,["modelValue","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-source-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const De=k(He,[["render",Ae]]),X="rubygems_url",Ne={mixins:[L],data(){return{rubygemsUrl:"https://rubygems.org"}},created(){this.loadSetting(X)},methods:{save(){this.saveSetting(X,this.rubygemsUrl)},parseSetting:function(t){t&&(this.rubygemsUrl=t)}}};function Me(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-text-field"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r(" Rubygems URL ",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,{class:"pb-0"},{default:o(()=>[l(m,{modelValue:s.rubygemsUrl,"onUpdate:modelValue":e[3]||(e[3]=i=>s.rubygemsUrl=i),label:"Rubygems URL",disabled:t.settingsLoading,"data-test":"rubygems-url"},null,8,["modelValue","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-rubygems-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const qe=k(Ne,[["render",Me]]),ee="pypi_url",Ie={mixins:[L],data(){return{pypiUrl:"https://pypi.org"}},created(){this.loadSetting(ee)},methods:{save(){this.saveSetting(ee,this.pypiUrl)},parseSetting:function(t){t&&(this.pypiUrl=t)}}};function Pe(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-text-field"),g=a("v-card-text"),p=a("v-btn"),v=a("v-card-actions"),n=a("v-card");return f(),V(n,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[4]||(e[4]=[r(" Pypi URL ",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[5]||(e[5]=[r(" This sets the URL for installing dependency python packages. Also used for package discovery. ",-1)])]),_:1}),l(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=i=>t.errorLoading=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=i=>t.errorSaving=i),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=i=>t.successSaving=i),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[6]||(e[6]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(g,{class:"pb-0"},{default:o(()=>[l(m,{modelValue:s.pypiUrl,"onUpdate:modelValue":e[3]||(e[3]=i=>s.pypiUrl=i),label:"Pypi URL",disabled:t.settingsLoading,"data-test":"pypi-url"},null,8,["modelValue","disabled"])]),_:1}),l(v,null,{default:o(()=>[l(p,{color:"success",variant:"text","data-test":"save-pypi-url",onClick:h.save},{default:o(()=>[...e[7]||(e[7]=[r(" Save ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})}const je=k(Ie,[["render",Pe]]),te="context_tag",Ze={mixins:[L],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(te)},methods:{save(){this.saveSetting(te,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(C=>C.value===e.backgroundColor)?this.selectedBackgroundColor=e.backgroundColor:(this.customBackgroundColor=e.backgroundColor,this.selectedBackgroundColor=!1)),e.fontColor&&(this.colors.some(C=>C.value===e.fontColor)?this.selectedFontColor=e.fontColor:(this.customFontColor=e.fontColor,this.selectedFontColor=!1))}}}};function Je(t,e,C,U,s,h){const b=a("v-card-title"),d=a("v-card-subtitle"),u=a("v-alert"),m=a("v-text-field"),g=a("v-col"),p=a("v-row"),v=a("v-switch"),n=a("v-icon"),i=a("v-list-item"),_=a("v-select"),H=a("v-card-text"),A=a("v-btn"),D=a("v-card-actions"),N=a("v-card");return f(),V(N,null,{default:o(()=>[l(b,null,{default:o(()=>[...e[9]||(e[9]=[r("Context Tag Settings",-1)])]),_:1}),l(d,null,{default:o(()=>[...e[10]||(e[10]=[r(" 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(u,{modelValue:t.errorLoading,"onUpdate:modelValue":e[0]||(e[0]=c=>t.errorLoading=c),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error loading previous configuration due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.errorSaving,"onUpdate:modelValue":e[1]||(e[1]=c=>t.errorSaving=c),type:"error",closable:"",density:"compact"},{default:o(()=>[r(" Error saving due to "+S(t.errorText),1)]),_:1},8,["modelValue"]),l(u,{modelValue:t.successSaving,"onUpdate:modelValue":e[2]||(e[2]=c=>t.successSaving=c),type:"success",closable:"",density:"compact"},{default:o(()=>[...e[11]||(e[11]=[r(" Saved! (Refresh the page to see changes) ",-1)])]),_:1},8,["modelValue"]),l(H,{class:"pb-0"},{default:o(()=>[l(p,{dense:""},{default:o(()=>[l(g,null,{default:o(()=>[l(m,{modelValue:s.text,"onUpdate:modelValue":e[3]||(e[3]=c=>s.text=c),label:"Text","data-test":"context-tag-text",disabled:t.settingsLoading||!s.displayContextTag},null,8,["modelValue","disabled"])]),_:1})]),_:1}),l(p,{dense:""},{default:o(()=>[l(g,null,{default:o(()=>[l(v,{modelValue:s.displayContextTag,"onUpdate:modelValue":e[4]||(e[4]=c=>s.displayContextTag=c),label:"Display context tag",color:"primary",disabled:t.settingsLoading,"data-test":"display-context-tag"},null,8,["modelValue","disabled"])]),_:1}),l(g,null,{default:o(()=>[l(_,{modelValue:s.selectedBackgroundColor,"onUpdate:modelValue":e[5]||(e[5]=c=>s.selectedBackgroundColor=c),label:"Background color",items:s.colors,"item-title":"text",disabled:t.settingsLoading,"data-test":"context-tag-background-color"},R({item:o(({props:c,item:x})=>[l(i,W(c,{value:x.text}),{prepend:o(()=>[x.value?(f(),V(n,{key:0,color:x.value},{default:o(()=>[...e[13]||(e[13]=[r(" mdi-square ",-1)])]),_:1},8,["color"])):F("",!0)]),_:2},1040,["value"])]),_:2},[s.selectedBackgroundColor?{name:"prepend-inner",fn:o(()=>[l(n,{color:s.selectedBackgroundColor},{default:o(()=>[...e[12]||(e[12]=[r(" mdi-square ",-1)])]),_:1},8,["color"])]),key:"0"}:void 0]),1032,["modelValue","items","disabled"])]),_:1}),l(g,null,{default:o(()=>[l(m,{modelValue:s.customBackgroundColor,"onUpdate:modelValue":e[6]||(e[6]=c=>s.customBackgroundColor=c),label:"Custom background color",hint:s.customColorHint,disabled:t.settingsLoading||s.selectedBackgroundColor!==!1,rules:[s.rules.customColor],"data-test":"context-tag-custom-background-color"},{"prepend-inner":o(()=>[w(l(n,{color:s.customBackgroundColor},{default:o(()=>[...e[14]||(e[14]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,!s.selectedBackgroundColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1}),l(g,null,{default:o(()=>[l(_,{modelValue:s.selectedFontColor,"onUpdate:modelValue":e[7]||(e[7]=c=>s.selectedFontColor=c),label:"Font color",items:s.colors,"item-title":"text",disabled:t.settingsLoading,"data-test":"context-tag-font-color"},R({item:o(({props:c,item:x})=>[l(i,W(c,{value:x.text}),{prepend:o(()=>[x.value?(f(),V(n,{key:0,color:x.value},{default:o(()=>[...e[16]||(e[16]=[r(" mdi-square ",-1)])]),_:1},8,["color"])):F("",!0)]),_:2},1040,["value"])]),_:2},[s.selectedFontColor?{name:"prepend-inner",fn:o(()=>[w(l(n,{color:s.selectedFontColor},{default:o(()=>[...e[15]||(e[15]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,s.selectedFontColor]])]),key:"0"}:void 0]),1032,["modelValue","items","disabled"])]),_:1}),l(g,null,{default:o(()=>[l(m,{modelValue:s.customFontColor,"onUpdate:modelValue":e[8]||(e[8]=c=>s.customFontColor=c),label:"Custom font color",hint:s.customColorHint,disabled:t.settingsLoading||s.selectedFontColor!==!1,rules:[s.rules.customColor],"data-test":"context-tag-custom-font-color"},{"prepend-inner":o(()=>[w(l(n,{color:s.customFontColor},{default:o(()=>[...e[17]||(e[17]=[r(" mdi-square ",-1)])]),_:1},8,["color"]),[[E,!s.selectedFontColor]])]),_:1},8,["modelValue","hint","disabled","rules"])]),_:1})]),_:1})]),_:1}),l(D,null,{default:o(()=>[l(A,{disabled:!h.formValid,color:"success",variant:"text","data-test":"save-context-tag",onClick:h.save},{default:o(()=>[...e[18]||(e[18]=[r(" Save ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})}const $e=k(Ze,[["render",Je]]),ze={components:{SuppressedSettings:se,AiChatSettings:ie,DefaultConfigSettings:ce,EditorSettings:pe,AstroSettings:ve,ThemeSettings:ye,ClassificationBannerSettings:_e,TimeZoneSettings:Ue,TimeFormatSettings:Be,NewsFeedSettings:Ee,SubtitleSettings:We,SourceCodeSettings:De,RubyGemsSettings:qe,PypiSettings:je,ContextTagSettings:$e},data(){return{isEnterprise:!1}},created(){M.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=t.enterprise}).catch(console.error)}};function Ke(t,e,C,U,s,h){const b=a("suppressed-settings"),d=a("v-divider"),u=a("default-config-settings"),m=a("editor-settings"),g=a("astro-settings"),p=a("theme-settings"),v=a("time-zone-settings"),n=a("time-format-settings"),i=a("news-feed-settings"),_=a("classification-banner-settings"),H=a("subtitle-settings"),A=a("source-code-settings"),D=a("ruby-gems-settings"),N=a("pypi-settings"),c=a("context-tag-settings"),x=a("ai-chat-settings");return f(),T("div",null,[l(b),l(d),l(u),l(d),l(m),l(d),l(g),l(d),l(p),l(d),l(v),l(d),l(n),l(d),l(i),l(d),l(_),l(d),l(H),l(d),l(A),l(d),l(D),l(d),l(N),l(d),l(c),s.isEnterprise?(f(),T(B,{key:0},[l(d),l(x)],64)):F("",!0)])}const Ye=le("default",k(ze,[["render",Ke]]))})}}));
@@ -1 +1 @@
1
- System.register(["./VWidget-5FjwlURU-6a72b64b7cc840033418.js","vue","./main-6a328857fae6aab0f418.js","./Widget-CSgnvwEG-bc4dec83d0fc9039b821.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","vue-router","pinia","single-spa","vuetify"],(function(c,p){"use strict";var l,r,n,a,i,s;return{setters:[t=>{l=t.T},t=>{r=t.resolveComponent,n=t.openBlock,a=t.createBlock,i=t.normalizeStyle},t=>{s=t.k},null,null,null,null,null,null],execute:(function(){const t={mixins:[l],props:{value:{type:[Number,String],default:null}},emits:["open"],data:function(){return{item:null,oneBar:30,twoBar:60,threeBar:90}},computed:{displayedIcon:function(){let e="mdi-signal-cellular-outline";return this._value>=this.oneBar&&(e="mdi-signal-cellular-1"),this._value>=this.twoBar&&(e="mdi-signal-cellular-2"),this._value>=this.threeBar&&(e="mdi-signal-cellular-3"),e}},created(){this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"VALUES":this.oneBar=Number.parseFloat(e[1]),this.twoBar=Number.parseFloat(e[2]),this.threeBar=Number.parseFloat(e[3]);break}})},methods:{getType(){let e="CONVERTED";return this.parameters[3]=="RAW"&&(e="RAW"),e},clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function u(e,d,g,B,v,o){const h=r("v-btn");return n(),a(h,{icon:o.displayedIcon,variant:"text",style:i(e.computedStyle),"aria-label":"Signal Strength",onClick:o.clickHandler},null,8,["icon","style","onClick"])}const m=c("default",s(t,[["render",u]]))})}}));
1
+ System.register(["./VWidget-C4VLQ7-b-07b1f80f82f119fc5285.js","vue","./main-f0865abbd006d9b2cc5a.js","./Widget-ClRi417b-c819f8641946506d7602.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","vue-router","pinia","single-spa","vuetify"],(function(c,p){"use strict";var l,r,n,a,i,s;return{setters:[t=>{l=t.T},t=>{r=t.resolveComponent,n=t.openBlock,a=t.createBlock,i=t.normalizeStyle},t=>{s=t.f},null,null,null,null,null,null],execute:(function(){const t={mixins:[l],props:{value:{type:[Number,String],default:null}},emits:["open"],data:function(){return{item:null,oneBar:30,twoBar:60,threeBar:90}},computed:{displayedIcon:function(){let e="mdi-signal-cellular-outline";return this._value>=this.oneBar&&(e="mdi-signal-cellular-1"),this._value>=this.twoBar&&(e="mdi-signal-cellular-2"),this._value>=this.threeBar&&(e="mdi-signal-cellular-3"),e}},created(){this.appliedSettings.forEach(e=>{switch(e[0].toUpperCase()){case"SCREEN":this.screenTarget=e[1],this.screenName=e[2];break;case"VALUES":this.oneBar=Number.parseFloat(e[1]),this.twoBar=Number.parseFloat(e[2]),this.threeBar=Number.parseFloat(e[3]);break}})},methods:{getType(){let e="CONVERTED";return this.parameters[3]=="RAW"&&(e="RAW"),e},clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}};function u(e,d,g,B,v,o){const h=r("v-btn");return n(),a(h,{icon:o.displayedIcon,variant:"text",style:i(e.computedStyle),"aria-label":"Signal Strength",onClick:o.clickHandler},null,8,["icon","style","onClick"])}const m=c("default",s(t,[["render",u]]))})}}));
@@ -1 +1 @@
1
- System.register(["vue","./main-6a328857fae6aab0f418.js"],(function(x,N){"use strict";var l,u,p,o,e,n,s,h,m;return{setters:[t=>{l=t.resolveComponent,u=t.openBlock,p=t.createBlock,o=t.withCtx,e=t.createVNode,n=t.createElementVNode,s=t.toDisplayString,h=t.createTextVNode},t=>{m=t.k}],execute:(function(){const t={props:{modelValue:Boolean,text:{type:String,default:null},title:{type:String,default:null},width:{type:Number,default:800}},emits:["update:modelValue"],computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{download:function(){const i=new Blob([this.text],{type:"text/plain"}),a=document.createElement("a");a.href=URL.createObjectURL(i),a.setAttribute("download",`${this.title}.txt`),a.click()}}},f={class:"mx-2"},V={class:"pa-3"},k={class:"text"};function g(i,a,c,E,D,d){const r=l("v-spacer"),v=l("v-btn"),y=l("v-toolbar"),b=l("v-card-text"),C=l("v-card-actions"),_=l("v-card"),B=l("v-dialog");return u(),p(B,{modelValue:d.show,"onUpdate:modelValue":a[1]||(a[1]=w=>d.show=w),width:c.width,scrollable:""},{default:o(()=>[e(_,null,{default:o(()=>[e(y,{height:"24"},{default:o(()=>[e(r),n("span",null,s(c.title),1),e(r),n("div",f,[e(v,{icon:"mdi-download",variant:"text",density:"compact","data-test":"downloadIcon","aria-label":"Download Content",onClick:d.download},null,8,["onClick"])])]),_:1}),e(b,{style:{"max-height":"80vh"}},{default:o(()=>[n("div",V,[n("span",k,s(c.text),1)])]),_:1}),e(C,{class:"px-2"},{default:o(()=>[e(r),e(v,{variant:"flat",onClick:a[0]||(a[0]=w=>d.show=!d.show)},{default:o(()=>[...a[2]||(a[2]=[h(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}const S=x("E",m(t,[["render",g],["__scopeId","data-v-1a0bca65"]]))})}}));
1
+ System.register(["vue","./main-f0865abbd006d9b2cc5a.js"],(function(f,N){"use strict";var l,u,p,o,e,n,s,h,m;return{setters:[t=>{l=t.resolveComponent,u=t.openBlock,p=t.createBlock,o=t.withCtx,e=t.createVNode,n=t.createElementVNode,s=t.toDisplayString,h=t.createTextVNode},t=>{m=t.f}],execute:(function(){const t={props:{modelValue:Boolean,text:{type:String,default:null},title:{type:String,default:null},width:{type:Number,default:800}},emits:["update:modelValue"],computed:{show:{get(){return this.modelValue},set(i){this.$emit("update:modelValue",i)}}},methods:{download:function(){const i=new Blob([this.text],{type:"text/plain"}),a=document.createElement("a");a.href=URL.createObjectURL(i),a.setAttribute("download",`${this.title}.txt`),a.click()}}},x={class:"mx-2"},V={class:"pa-3"},g={class:"text"};function k(i,a,c,E,D,d){const r=l("v-spacer"),v=l("v-btn"),y=l("v-toolbar"),b=l("v-card-text"),C=l("v-card-actions"),_=l("v-card"),B=l("v-dialog");return u(),p(B,{modelValue:d.show,"onUpdate:modelValue":a[1]||(a[1]=w=>d.show=w),width:c.width,scrollable:""},{default:o(()=>[e(_,null,{default:o(()=>[e(y,{height:"24"},{default:o(()=>[e(r),n("span",null,s(c.title),1),e(r),n("div",x,[e(v,{icon:"mdi-download",variant:"text",density:"compact","data-test":"downloadIcon","aria-label":"Download Content",onClick:d.download},null,8,["onClick"])])]),_:1}),e(b,{style:{"max-height":"80vh"}},{default:o(()=>[n("div",V,[n("span",g,s(c.text),1)])]),_:1}),e(C,{class:"px-2"},{default:o(()=>[e(r),e(v,{variant:"flat",onClick:a[0]||(a[0]=w=>d.show=!d.show)},{default:o(()=>[...a[2]||(a[2]=[h(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","width"])}const S=f("E",m(t,[["render",k],["__scopeId","data-v-1a0bca65"]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(r,o){"use strict";var t,i,n,s,l;return{setters:[e=>{t=e.f},e=>{i=e.openBlock,n=e.createElementBlock,s=e.normalizeStyle},e=>{l=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,f,h){return i(),n("div",{style:s(u.computedStyle)},null,4)}const c=r("default",l(e,[["render",a]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./GraphWidget-BZjBkefj-3075e0b9efe04ad89afa.js","./main-f0865abbd006d9b2cc5a.js","vue","./Graph-GVQZltap-a6075477922f4a556620.js","single-spa","./Widget-ClRi417b-c819f8641946506d7602.js","vue-router","pinia","vuetify","./OpenC3TimePicker-cOr0aOVn-087aabac5576efaa78e2.js"],(function(o,c){"use strict";var i,s,n,r,a,l,d;return{setters:[e=>{i=e.M},e=>{s=e.f},e=>{n=e.resolveComponent,r=e.openBlock,a=e.createBlock,l=e.normalizeStyle},e=>{d=e.H},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,G){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:l(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=o("default",s(e,[["render",p]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Layout-Df-lJgpB-228411e9ed7160bf6079.js","vue","./main-f0865abbd006d9b2cc5a.js","./Widget-ClRi417b-c819f8641946506d7602.js","vue-router","pinia","single-spa","vuetify"],(function(k,h){"use strict";var f,s,n,i,g,T,a,c,u,o,b,d,w,y,v,V;return{setters:[e=>{f=e.r},e=>{s=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,b=e.createTextVNode,d=e.toDisplayString,w=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,j,L,P,U){const N=s("v-tab"),_=s("v-tabs"),B=s("v-tooltip"),C=s("v-window-item"),D=s("v-window");return n(),i("div",null,[g(_,{modelValue:r.curTab,"onUpdate:modelValue":m[0]||(m[0]=l=>r.curTab=l),style:T(r.computedStyle)},{default:a(()=>[(n(!0),i(c,null,u(r.widgets,(l,p)=>(n(),o(N,{key:p},{default:a(()=>[b(d(l.parameters[0]),1)]),_:2},1024))),128))]),_:1},8,["modelValue","style"]),g(D,{modelValue:r.curTab,"onUpdate:modelValue":m[1]||(m[1]=l=>r.curTab=l)},{default:a(()=>[(n(!0),i(c,null,u(r.widgets,(l,p)=>(n(),o(C,{key:p},{default:a(()=>[(n(!0),i(c,null,u(l.widgets,(t,S)=>(n(),i(c,{key:`${p}-${S}`},[r.getTooltipText(t)?(n(),o(B,{key:0,"open-delay":r.getTooltipDelay(t),location:"top","activator-props":r.getTooltipActivatorProps(t)},{activator:a(({props:z})=>[(n(),o(y(t.type),v({ref_for:!0},{...r.listeners,...z},{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(()=>[w("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]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","single-spa","./OutputDialog-C9rGeLM5-02a56bb7f4eb6b0500ac.js","./useDownloadFile-DASMZ_Dl-d13e01890d2f8843337e.js","vue-router","pinia","vuetify"],(function(_,L){"use strict";var f,c,e,l,d,a,n,v,h,u,g,p,y,C,w,k,D;return{setters:[t=>{f=t.f,c=t.q},t=>{e=t.resolveComponent,l=t.openBlock,d=t.createElementBlock,a=t.createVNode,n=t.withCtx,v=t.Fragment,h=t.renderList,u=t.createTextVNode,g=t.toDisplayString,p=t.createBlock,y=t.createElementVNode,C=t.mergeProps,w=t.createCommentVNode},null,t=>{k=t.S},t=>{D=t.w},null,null,null],execute:(function(){const t={components:{OutputDialog:k},setup(){return{downloadZip:D()}},data(){return{targets:[],jsonContent:"",dialogTitle:"",showDialog:!1}},async mounted(){await this.update()},methods:{async update(){const o=await c.get("/openc3-api/targets_modified");this.targets=o.data},async showTarget(o){const s=await c.get(`/openc3-api/targets/${o}`);this.jsonContent=JSON.stringify(s.data,null," "),this.dialogTitle=o,this.showDialog=!0},dialogCallback(o){this.showDialog=!1},downloadTarget:async function(o){await this.downloadZip(`/openc3-api/targets/${o}/download`)}}};function N(o,s,O,P,r,m){const S=e("v-list-item-title"),b=e("v-list-item-subtitle"),T=e("v-btn"),x=e("v-tooltip"),j=e("v-list-item"),B=e("v-divider"),F=e("v-list"),E=e("output-dialog");return l(),d("div",null,[a(F,{class:"list","data-test":"targetList"},{default:n(()=>[(l(!0),d(v,null,h(r.targets,i=>(l(),d("div",{key:i},[a(j,null,{append:n(()=>[i.modified?(l(),p(x,{key:0,"open-delay":600,location:"top"},{activator:n(({props:V})=>[a(T,C({ref_for:!0},V,{class:"mx-3",icon:"mdi-folder-download",variant:"text","aria-label":"Download Modified Files",onClick:Z=>m.downloadTarget(i.name)}),null,16,["onClick"])]),default:n(()=>[s[1]||(s[1]=y("span",null,"Download Modified Files",-1))]),_:2},1024)):w("",!0),a(T,{icon:"mdi-eye",variant:"text","aria-label":"View Target",onClick:V=>m.showTarget(i.name)},null,8,["onClick"])]),default:n(()=>[a(S,null,{default:n(()=>[u(g(i.name),1)]),_:2},1024),a(b,null,{default:n(()=>[u(" Plugin: "+g(i.plugin),1)]),_:2},1024)]),_:2},1024),a(B)]))),128))]),_:1}),r.showDialog?(l(),p(E,{key:0,modelValue:r.showDialog,"onUpdate:modelValue":s[0]||(s[0]=i=>r.showDialog=i),content:r.jsonContent,type:"Target",name:r.dialogTitle,onSubmit:m.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):w("",!0)])}const M=_("default",f(t,[["render",N],["__scopeId","data-v-13a8637d"]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","./DetailsDialog-CLPj0nP0-9dcc472124933da9a31b.js","single-spa","./VWidget-C4VLQ7-b-07b1f80f82f119fc5285.js","vue-router","pinia","vuetify","./LimitsBar-DNV39okL-ac8e562bdd6f80498856.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-ClRi417b-c819f8641946506d7602.js"],(function(w,_){"use strict";var c,a,s,r,n,u,d,l,m,h,p,g,v,x,C,f;return{setters:[e=>{c=e.f},e=>{a=e.resolveComponent,s=e.openBlock,r=e.createElementBlock,n=e.createVNode,u=e.normalizeStyle,d=e.normalizeClass,l=e.withCtx,m=e.Fragment,h=e.renderList,p=e.createBlock,g=e.withModifiers,v=e.createTextVNode,x=e.toDisplayString},e=>{C=e.Z},null,e=>{f=e.T},null,null,null,null,null,null],execute:(function(){const e={components:{DetailsDialog:C},mixins:[f],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}}},y={class:"textbox-widget-container"};function V(t,o,M,E,b,k){const B=a("v-textarea"),D=a("v-list-item-title"),S=a("v-list-item"),L=a("v-list"),T=a("v-menu"),j=a("details-dialog");return s(),r("div",y,[n(B,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":t._value,class:d(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(L,null,{default:l(()=>[(s(!0),r(m,null,h(t.contextMenuOptions,(i,N)=>(s(),p(S,{key:N,onClick:g(i.action,["stop"])},{default:l(()=>[n(D,null,{default:l(()=>[v(x(i.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),n(j,{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 z=w("default",c(e,[["render",V],["__scopeId","data-v-ce1e6683"]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(u,p){"use strict";var t,l,n,a,s,i;return{setters:[e=>{t=e.f},e=>{l=e.resolveComponent,n=e.openBlock,a=e.createBlock,s=e.normalizeStyle},e=>{i=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,r,f,y,o,g){const m=l("v-text-field");return n(),a(m,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=h=>o.value=h),variant:"solo",density:"compact","single-line":"","hide-no-data":"","hide-details":"",style:s(d.computedStyle)},null,8,["modelValue","style"])}const v=u("default",i(e,[["render",c]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","./OpenC3TimePicker-cOr0aOVn-087aabac5576efaa78e2.js","./main-f0865abbd006d9b2cc5a.js","vue","vue-router","pinia","single-spa","vuetify"],(function(c,f){"use strict";var l,i,n,r,a,s,m,o;return{setters:[e=>{l=e.f},e=>{i=e.w},e=>{n=e.f,r=e.R},e=>{a=e.resolveComponent,s=e.openBlock,m=e.createBlock,o=e.normalizeStyle},null,null,null,null],execute:(function(){const e={components:{OpenC3TimePicker:i},mixins:[l,r],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(d,u,y,T,t,b){const h=a("OpenC3TimePicker");return s(),m(h,{modelValue:t.timeValue,"onUpdate:modelValue":u[0]||(u[0]=V=>t.timeValue=V),label:t.label,style:o(d.computedStyle),"hide-details":""},null,8,["modelValue","label","style"])}const k=c("default",n(e,[["render",p]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./Widget-ClRi417b-c819f8641946506d7602.js","vue","./main-f0865abbd006d9b2cc5a.js","vue-router","pinia","single-spa","vuetify"],(function(a,m){"use strict";var t,l,n,r,i,s;return{setters:[e=>{t=e.f},e=>{l=e.openBlock,n=e.createElementBlock,r=e.normalizeStyle,i=e.toDisplayString},e=>{s=e.f},null,null,null,null],execute:(function(){const e={mixins:[t],computed:{labelText(){return this.parameters[0]}},created(){this.verifyNumParams("TITLE",1,1,"TITLE <Text>")}};function c(u,f,y,d,x,o){return l(),n("div",{class:"text-h5 text-center pa-1 mt-1 label",style:r(u.computedStyle)},i(o.labelText),5)}const p=a("default",s(e,[["render",c]]))})}}));
@@ -0,0 +1 @@
1
+ System.register(["./main-f0865abbd006d9b2cc5a.js","vue","single-spa","./OutputDialog-C9rGeLM5-02a56bb7f4eb6b0500ac.js","vue-router","pinia","vuetify"],(function(ze,Co){"use strict";var ve,rt,V,ht,Pt,M,R,kt,Kt,be,ye,we,De,Gt,qt,Ee;return{setters:[C=>{ve=C.f,rt=C.q},C=>{V=C.resolveComponent,ht=C.openBlock,Pt=C.createElementBlock,M=C.createVNode,R=C.withCtx,kt=C.createTextVNode,Kt=C.toDisplayString,be=C.createElementVNode,ye=C.Fragment,we=C.renderList,De=C.normalizeClass,Gt=C.createBlock,qt=C.createCommentVNode},null,C=>{Ee=C.S},null,null,null],execute:(function(){function C(t,e,o){return(e=Ge(e))in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function Z(){return Z=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var n in o)({}).hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t},Z.apply(null,arguments)}function Se(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),o.push.apply(o,n)}return o}function W(t){for(var e=1;e<arguments.length;e++){var o=arguments[e]!=null?arguments[e]:{};e%2?Se(Object(o),!0).forEach(function(n){C(t,n,o[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):Se(Object(o)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(o,n))})}return t}function Je(t,e){if(t==null)return{};var o,n,r=Ze(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)o=i[n],e.indexOf(o)===-1&&{}.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}function Ze(t,e){if(t==null)return{};var o={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(e.indexOf(n)!==-1)continue;o[n]=t[n]}return o}function Ke(t,e){if(typeof t!="object"||!t)return t;var o=t[Symbol.toPrimitive];if(o!==void 0){var n=o.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ge(t){var e=Ke(t,"string");return typeof e=="symbol"?e:e+""}function Qt(t){"@babel/helpers - typeof";return Qt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qt(t)}var qe="1.15.7";function K(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var G=K(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Dt=K(/Edge/i),_e=K(/firefox/i),Et=K(/safari/i)&&!K(/chrome/i)&&!K(/android/i),te=K(/iP(ad|od|hone)/i),Te=K(/chrome/i)&&K(/android/i),Ce={capture:!1,passive:!1};function b(t,e,o){t.addEventListener(e,o,!G&&Ce)}function v(t,e,o){t.removeEventListener(e,o,!G&&Ce)}function Bt(t,e){if(e){if(e[0]===">"&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch{return!1}return!1}}function xe(t){return t.host&&t!==document&&t.host.nodeType&&t.host!==t?t.host:t.parentNode}function H(t,e,o,n){if(t){o=o||document;do{if(e!=null&&(e[0]===">"?t.parentNode===o&&Bt(t,e):Bt(t,e))||n&&t===o)return t;if(t===o)break}while(t=xe(t))}return null}var Ne=/\s+/g;function Y(t,e,o){if(t&&e)if(t.classList)t.classList[o?"add":"remove"](e);else{var n=(" "+t.className+" ").replace(Ne," ").replace(" "+e+" "," ");t.className=(n+(o?" "+e:"")).replace(Ne," ")}}function f(t,e,o){var n=t&&t.style;if(n){if(o===void 0)return document.defaultView&&document.defaultView.getComputedStyle?o=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(o=t.currentStyle),e===void 0?o:o[e];!(e in n)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),n[e]=o+(typeof o=="string"?"":"px")}}function ft(t,e){var o="";if(typeof t=="string")o=t;else do{var n=f(t,"transform");n&&n!=="none"&&(o=n+" "+o)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(o)}function Oe(t,e,o){if(t){var n=t.getElementsByTagName(e),r=0,i=n.length;if(o)for(;r<i;r++)o(n[r],r);return n}return[]}function z(){var t=document.scrollingElement;return t||document.documentElement}function x(t,e,o,n,r){if(!(!t.getBoundingClientRect&&t!==window)){var i,a,s,l,c,d,h;if(t!==window&&t.parentNode&&t!==z()?(i=t.getBoundingClientRect(),a=i.top,s=i.left,l=i.bottom,c=i.right,d=i.height,h=i.width):(a=0,s=0,l=window.innerHeight,c=window.innerWidth,d=window.innerHeight,h=window.innerWidth),(e||o)&&t!==window&&(r=r||t.parentNode,!G))do if(r&&r.getBoundingClientRect&&(f(r,"transform")!=="none"||o&&f(r,"position")!=="static")){var w=r.getBoundingClientRect();a-=w.top+parseInt(f(r,"border-top-width")),s-=w.left+parseInt(f(r,"border-left-width")),l=a+i.height,c=s+i.width;break}while(r=r.parentNode);if(n&&t!==window){var m=ft(r||t),T=m&&m.a,y=m&&m.d;m&&(a/=y,s/=T,h/=T,d/=y,l=a+d,c=s+h)}return{top:a,left:s,bottom:l,right:c,width:h,height:d}}}function Ae(t,e,o){for(var n=Q(t,!0),r=x(t)[e];n;){var i=x(n)[o],a=void 0;if(a=r>=i,!a)return n;if(n===z())break;n=Q(n,!1)}return!1}function pt(t,e,o,n){for(var r=0,i=0,a=t.children;i<a.length;){if(a[i].style.display!=="none"&&a[i]!==p.ghost&&(n||a[i]!==p.dragged)&&H(a[i],o.draggable,t,!1)){if(r===e)return a[i];r++}i++}return null}function ee(t,e){for(var o=t.lastElementChild;o&&(o===p.ghost||f(o,"display")==="none"||e&&!Bt(o,e));)o=o.previousElementSibling;return o||null}function L(t,e){var o=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)t.nodeName.toUpperCase()!=="TEMPLATE"&&t!==p.clone&&(!e||Bt(t,e))&&o++;return o}function Me(t){var e=0,o=0,n=z();if(t)do{var r=ft(t),i=r.a,a=r.d;e+=t.scrollLeft*i,o+=t.scrollTop*a}while(t!==n&&(t=t.parentNode));return[e,o]}function Qe(t,e){for(var o in t)if(t.hasOwnProperty(o)){for(var n in e)if(e.hasOwnProperty(n)&&e[n]===t[o][n])return Number(o)}return-1}function Q(t,e){if(!t||!t.getBoundingClientRect)return z();var o=t,n=!1;do if(o.clientWidth<o.scrollWidth||o.clientHeight<o.scrollHeight){var r=f(o);if(o.clientWidth<o.scrollWidth&&(r.overflowX=="auto"||r.overflowX=="scroll")||o.clientHeight<o.scrollHeight&&(r.overflowY=="auto"||r.overflowY=="scroll")){if(!o.getBoundingClientRect||o===document.body)return z();if(n||e)return o;n=!0}}while(o=o.parentNode);return z()}function to(t,e){if(t&&e)for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o]);return t}function oe(t,e){return Math.round(t.top)===Math.round(e.top)&&Math.round(t.left)===Math.round(e.left)&&Math.round(t.height)===Math.round(e.height)&&Math.round(t.width)===Math.round(e.width)}var St;function Ie(t,e){return function(){if(!St){var o=arguments,n=this;o.length===1?t.call(n,o[0]):t.apply(n,o),St=setTimeout(function(){St=void 0},e)}}}function eo(){clearTimeout(St),St=void 0}function Pe(t,e,o){t.scrollLeft+=e,t.scrollTop+=o}function ke(t){var e=window.Polymer,o=window.jQuery||window.Zepto;return e&&e.dom?e.dom(t).cloneNode(!0):o?o(t).clone(!0)[0]:t.cloneNode(!0)}function Be(t,e,o){var n={};return Array.from(t.children).forEach(function(r){var i,a,s,l;if(!(!H(r,e.draggable,t,!1)||r.animated||r===o)){var c=x(r);n.left=Math.min((i=n.left)!==null&&i!==void 0?i:1/0,c.left),n.top=Math.min((a=n.top)!==null&&a!==void 0?a:1/0,c.top),n.right=Math.max((s=n.right)!==null&&s!==void 0?s:-1/0,c.right),n.bottom=Math.max((l=n.bottom)!==null&&l!==void 0?l:-1/0,c.bottom)}}),n.width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}var B="Sortable"+new Date().getTime();function oo(){var t=[],e;return{captureAnimationState:function(){if(t=[],!!this.options.animation){var o=[].slice.call(this.el.children);o.forEach(function(n){if(!(f(n,"display")==="none"||n===p.ghost)){t.push({target:n,rect:x(n)});var r=W({},t[t.length-1].rect);if(n.thisAnimationDuration){var i=ft(n,!0);i&&(r.top-=i.f,r.left-=i.e)}n.fromRect=r}})}},addAnimationState:function(o){t.push(o)},removeAnimationState:function(o){t.splice(Qe(t,{target:o}),1)},animateAll:function(o){var n=this;if(!this.options.animation){clearTimeout(e),typeof o=="function"&&o();return}var r=!1,i=0;t.forEach(function(a){var s=0,l=a.target,c=l.fromRect,d=x(l),h=l.prevFromRect,w=l.prevToRect,m=a.rect,T=ft(l,!0);T&&(d.top-=T.f,d.left-=T.e),l.toRect=d,l.thisAnimationDuration&&oe(h,d)&&!oe(c,d)&&(m.top-d.top)/(m.left-d.left)===(c.top-d.top)/(c.left-d.left)&&(s=ro(m,h,w,n.options)),oe(d,c)||(l.prevFromRect=c,l.prevToRect=d,s||(s=n.options.animation),n.animate(l,m,d,s)),s&&(r=!0,i=Math.max(i,s),clearTimeout(l.animationResetTimer),l.animationResetTimer=setTimeout(function(){l.animationTime=0,l.prevFromRect=null,l.fromRect=null,l.prevToRect=null,l.thisAnimationDuration=null},s),l.thisAnimationDuration=s)}),clearTimeout(e),r?e=setTimeout(function(){typeof o=="function"&&o()},i):typeof o=="function"&&o(),t=[]},animate:function(o,n,r,i){if(i){f(o,"transition",""),f(o,"transform","");var a=ft(this.el),s=a&&a.a,l=a&&a.d,c=(n.left-r.left)/(s||1),d=(n.top-r.top)/(l||1);o.animatingX=!!c,o.animatingY=!!d,f(o,"transform","translate3d("+c+"px,"+d+"px,0)"),this.forRepaintDummy=no(o),f(o,"transition","transform "+i+"ms"+(this.options.easing?" "+this.options.easing:"")),f(o,"transform","translate3d(0,0,0)"),typeof o.animated=="number"&&clearTimeout(o.animated),o.animated=setTimeout(function(){f(o,"transition",""),f(o,"transform",""),o.animated=!1,o.animatingX=!1,o.animatingY=!1},i)}}}}function no(t){return t.offsetWidth}function ro(t,e,o,n){return Math.sqrt(Math.pow(e.top-t.top,2)+Math.pow(e.left-t.left,2))/Math.sqrt(Math.pow(e.top-o.top,2)+Math.pow(e.left-o.left,2))*n.animation}var gt=[],ne={initializeByDefault:!0},_t={mount:function(t){for(var e in ne)ne.hasOwnProperty(e)&&!(e in t)&&(t[e]=ne[e]);gt.forEach(function(o){if(o.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),gt.push(t)},pluginEvent:function(t,e,o){var n=this;this.eventCanceled=!1,o.cancel=function(){n.eventCanceled=!0};var r=t+"Global";gt.forEach(function(i){e[i.pluginName]&&(e[i.pluginName][r]&&e[i.pluginName][r](W({sortable:e},o)),e.options[i.pluginName]&&e[i.pluginName][t]&&e[i.pluginName][t](W({sortable:e},o)))})},initializePlugins:function(t,e,o,n){gt.forEach(function(a){var s=a.pluginName;if(!(!t.options[s]&&!a.initializeByDefault)){var l=new a(t,e,t.options);l.sortable=t,l.options=t.options,t[s]=l,Z(o,l.defaults)}});for(var r in t.options)if(t.options.hasOwnProperty(r)){var i=this.modifyOption(t,r,t.options[r]);typeof i<"u"&&(t.options[r]=i)}},getEventProperties:function(t,e){var o={};return gt.forEach(function(n){typeof n.eventProperties=="function"&&Z(o,n.eventProperties.call(e[n.pluginName],t))}),o},modifyOption:function(t,e,o){var n;return gt.forEach(function(r){t[r.pluginName]&&r.optionListeners&&typeof r.optionListeners[e]=="function"&&(n=r.optionListeners[e].call(t[r.pluginName],o))}),n}};function io(t){var e=t.sortable,o=t.rootEl,n=t.name,r=t.targetEl,i=t.cloneEl,a=t.toEl,s=t.fromEl,l=t.oldIndex,c=t.newIndex,d=t.oldDraggableIndex,h=t.newDraggableIndex,w=t.originalEvent,m=t.putSortable,T=t.extraEventProperties;if(e=e||o&&o[B],!!e){var y,D=e.options,O="on"+n.charAt(0).toUpperCase()+n.substr(1);window.CustomEvent&&!G&&!Dt?y=new CustomEvent(n,{bubbles:!0,cancelable:!0}):(y=document.createEvent("Event"),y.initEvent(n,!0,!0)),y.to=a||o,y.from=s||o,y.item=r||o,y.clone=i,y.oldIndex=l,y.newIndex=c,y.oldDraggableIndex=d,y.newDraggableIndex=h,y.originalEvent=w,y.pullMode=m?m.lastPutMode:void 0;var U=W(W({},T),_t.getEventProperties(n,e));for(var P in U)y[P]=U[P];o&&o.dispatchEvent(y),D[O]&&D[O].call(e,y)}}var ao=["evt"],X=function(t,e){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=o.evt,r=Je(o,ao);_t.pluginEvent.bind(p)(t,e,W({dragEl:u,parentEl:_,ghostEl:g,rootEl:E,nextEl:it,lastDownEl:Xt,cloneEl:S,cloneHidden:tt,dragStarted:Ct,putSortable:A,activeSortable:p.active,originalEvent:n,oldIndex:mt,oldDraggableIndex:Tt,newIndex:F,newDraggableIndex:et,hideGhostForTarget:Ve,unhideGhostForTarget:He,cloneNowHidden:function(){tt=!0},cloneNowShown:function(){tt=!1},dispatchSortableEvent:function(i){k({sortable:e,name:i,originalEvent:n})}},r))};function k(t){io(W({putSortable:A,cloneEl:S,targetEl:u,rootEl:E,oldIndex:mt,oldDraggableIndex:Tt,newIndex:F,newDraggableIndex:et},t))}var u,_,g,E,it,Xt,S,tt,mt,F,Tt,et,Yt,A,vt=!1,Ft=!1,jt=[],at,$,re,ie,Xe,Ye,Ct,bt,xt,Nt=!1,Rt=!1,Lt,I,ae=[],le=!1,Vt=[],Ht=typeof document<"u",$t=te,Fe=Dt||G?"cssFloat":"float",lo=Ht&&!Te&&!te&&"draggable"in document.createElement("div"),je=(function(){if(Ht){if(G)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}})(),Re=function(t,e){var o=f(t),n=parseInt(o.width)-parseInt(o.paddingLeft)-parseInt(o.paddingRight)-parseInt(o.borderLeftWidth)-parseInt(o.borderRightWidth),r=pt(t,0,e),i=pt(t,1,e),a=r&&f(r),s=i&&f(i),l=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+x(r).width,c=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+x(i).width;if(o.display==="flex")return o.flexDirection==="column"||o.flexDirection==="column-reverse"?"vertical":"horizontal";if(o.display==="grid")return o.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&a.float&&a.float!=="none"){var d=a.float==="left"?"left":"right";return i&&(s.clear==="both"||s.clear===d)?"vertical":"horizontal"}return r&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||l>=n&&o[Fe]==="none"||i&&o[Fe]==="none"&&l+c>n)?"vertical":"horizontal"},so=function(t,e,o){var n=o?t.left:t.top,r=o?t.right:t.bottom,i=o?t.width:t.height,a=o?e.left:e.top,s=o?e.right:e.bottom,l=o?e.width:e.height;return n===a||r===s||n+i/2===a+l/2},uo=function(t,e){var o;return jt.some(function(n){var r=n[B].options.emptyInsertThreshold;if(!(!r||ee(n))){var i=x(n),a=t>=i.left-r&&t<=i.right+r,s=e>=i.top-r&&e<=i.bottom+r;if(a&&s)return o=n}}),o},Le=function(t){function e(r,i){return function(a,s,l,c){var d=a.options.group.name&&s.options.group.name&&a.options.group.name===s.options.group.name;if(r==null&&(i||d))return!0;if(r==null||r===!1)return!1;if(i&&r==="clone")return r;if(typeof r=="function")return e(r(a,s,l,c),i)(a,s,l,c);var h=(i?a:s).options.group.name;return r===!0||typeof r=="string"&&r===h||r.join&&r.indexOf(h)>-1}}var o={},n=t.group;(!n||Qt(n)!="object")&&(n={name:n}),o.name=n.name,o.checkPull=e(n.pull,!0),o.checkPut=e(n.put),o.revertClone=n.revertClone,t.group=o},Ve=function(){!je&&g&&f(g,"display","none")},He=function(){!je&&g&&f(g,"display","")};Ht&&!Te&&document.addEventListener("click",function(t){if(Ft)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Ft=!1,!1},!0);var lt=function(t){if(u){t=t.touches?t.touches[0]:t;var e=uo(t.clientX,t.clientY);if(e){var o={};for(var n in t)t.hasOwnProperty(n)&&(o[n]=t[n]);o.target=o.rootEl=e,o.preventDefault=void 0,o.stopPropagation=void 0,e[B]._onDragOver(o)}}},co=function(t){u&&u.parentNode[B]._isOutsideThisEl(t.target)};function p(t,e){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=Z({},e),t[B]=this;var o={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Re(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,a){i.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:p.supportPointer!==!1&&"PointerEvent"in window&&(!Et||te),emptyInsertThreshold:5};_t.initializePlugins(this,t,o);for(var n in o)!(n in e)&&(e[n]=o[n]);Le(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:lo,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?b(t,"pointerdown",this._onTapStart):(b(t,"mousedown",this._onTapStart),b(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(b(t,"dragover",this),b(t,"dragenter",this)),jt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Z(this,oo())}p.prototype={constructor:p,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(bt=null)},_getDirection:function(t,e){return typeof this.options.direction=="function"?this.options.direction.call(this,t,e,u):this.options.direction},_onTapStart:function(t){if(t.cancelable){var e=this,o=this.el,n=this.options,r=n.preventOnFilter,i=t.type,a=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,s=(a||t).target,l=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||s,c=n.filter;if(yo(o),!u&&!(/mousedown|pointerdown/.test(i)&&t.button!==0||n.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&Et&&s&&s.tagName.toUpperCase()==="SELECT")&&(s=H(s,n.draggable,o,!1),!(s&&s.animated)&&Xt!==s)){if(mt=L(s),Tt=L(s,n.draggable),typeof c=="function"){if(c.call(this,t,s,this)){k({sortable:e,rootEl:l,name:"filter",targetEl:s,toEl:o,fromEl:o}),X("filter",e,{evt:t}),r&&t.preventDefault();return}}else if(c&&(c=c.split(",").some(function(d){if(d=H(l,d.trim(),o,!1),d)return k({sortable:e,rootEl:d,name:"filter",targetEl:s,fromEl:o,toEl:o}),X("filter",e,{evt:t}),!0}),c)){r&&t.preventDefault();return}n.handle&&!H(l,n.handle,o,!1)||this._prepareDragStart(t,a,s)}}},_prepareDragStart:function(t,e,o){var n=this,r=n.el,i=n.options,a=r.ownerDocument,s;if(o&&!u&&o.parentNode===r){var l=x(o);if(E=r,u=o,_=u.parentNode,it=u.nextSibling,Xt=o,Yt=i.group,p.dragged=u,at={target:u,clientX:(e||t).clientX,clientY:(e||t).clientY},Xe=at.clientX-l.left,Ye=at.clientY-l.top,this._lastX=(e||t).clientX,this._lastY=(e||t).clientY,u.style["will-change"]="all",s=function(){if(X("delayEnded",n,{evt:t}),p.eventCanceled){n._onDrop();return}n._disableDelayedDragEvents(),!_e&&n.nativeDraggable&&(u.draggable=!0),n._triggerDragStart(t,e),k({sortable:n,name:"choose",originalEvent:t}),Y(u,i.chosenClass,!0)},i.ignore.split(",").forEach(function(c){Oe(u,c.trim(),se)}),b(a,"dragover",lt),b(a,"mousemove",lt),b(a,"touchmove",lt),i.supportPointer?(b(a,"pointerup",n._onDrop),!this.nativeDraggable&&b(a,"pointercancel",n._onDrop)):(b(a,"mouseup",n._onDrop),b(a,"touchend",n._onDrop),b(a,"touchcancel",n._onDrop)),_e&&this.nativeDraggable&&(this.options.touchStartThreshold=4,u.draggable=!0),X("delayStart",this,{evt:t}),i.delay&&(!i.delayOnTouchOnly||e)&&(!this.nativeDraggable||!(Dt||G))){if(p.eventCanceled){this._onDrop();return}i.supportPointer?(b(a,"pointerup",n._disableDelayedDrag),b(a,"pointercancel",n._disableDelayedDrag)):(b(a,"mouseup",n._disableDelayedDrag),b(a,"touchend",n._disableDelayedDrag),b(a,"touchcancel",n._disableDelayedDrag)),b(a,"mousemove",n._delayedDragTouchMoveHandler),b(a,"touchmove",n._delayedDragTouchMoveHandler),i.supportPointer&&b(a,"pointermove",n._delayedDragTouchMoveHandler),n._dragStartTimer=setTimeout(s,i.delay)}else s()}},_delayedDragTouchMoveHandler:function(t){var e=t.touches?t.touches[0]:t;Math.max(Math.abs(e.clientX-this._lastX),Math.abs(e.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){u&&se(u),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;v(t,"mouseup",this._disableDelayedDrag),v(t,"touchend",this._disableDelayedDrag),v(t,"touchcancel",this._disableDelayedDrag),v(t,"pointerup",this._disableDelayedDrag),v(t,"pointercancel",this._disableDelayedDrag),v(t,"mousemove",this._delayedDragTouchMoveHandler),v(t,"touchmove",this._delayedDragTouchMoveHandler),v(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||t.pointerType=="touch"&&t,!this.nativeDraggable||e?this.options.supportPointer?b(document,"pointermove",this._onTouchMove):e?b(document,"touchmove",this._onTouchMove):b(document,"mousemove",this._onTouchMove):(b(u,"dragend",this),b(E,"dragstart",this._onDragStart));try{document.selection?Wt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,e){if(vt=!1,E&&u){X("dragStarted",this,{evt:e}),this.nativeDraggable&&b(document,"dragover",co);var o=this.options;!t&&Y(u,o.dragClass,!1),Y(u,o.ghostClass,!0),p.active=this,t&&this._appendGhost(),k({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if($){this._lastX=$.clientX,this._lastY=$.clientY,Ve();for(var t=document.elementFromPoint($.clientX,$.clientY),e=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint($.clientX,$.clientY),t!==e);)e=t;if(u.parentNode[B]._isOutsideThisEl(t),e)do{if(e[B]){var o=void 0;if(o=e[B]._onDragOver({clientX:$.clientX,clientY:$.clientY,target:t,rootEl:e}),o&&!this.options.dragoverBubble)break}t=e}while(e=xe(e));He()}},_onTouchMove:function(t){if(at){var e=this.options,o=e.fallbackTolerance,n=e.fallbackOffset,r=t.touches?t.touches[0]:t,i=g&&ft(g,!0),a=g&&i&&i.a,s=g&&i&&i.d,l=$t&&I&&Me(I),c=(r.clientX-at.clientX+n.x)/(a||1)+(l?l[0]-ae[0]:0)/(a||1),d=(r.clientY-at.clientY+n.y)/(s||1)+(l?l[1]-ae[1]:0)/(s||1);if(!p.active&&!vt){if(o&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))<o)return;this._onDragStart(t,!0)}if(g){i?(i.e+=c-(re||0),i.f+=d-(ie||0)):i={a:1,b:0,c:0,d:1,e:c,f:d};var h="matrix(".concat(i.a,",").concat(i.b,",").concat(i.c,",").concat(i.d,",").concat(i.e,",").concat(i.f,")");f(g,"webkitTransform",h),f(g,"mozTransform",h),f(g,"msTransform",h),f(g,"transform",h),re=c,ie=d,$=r}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!g){var t=this.options.fallbackOnBody?document.body:E,e=x(u,!0,$t,!0,t),o=this.options;if($t){for(I=t;f(I,"position")==="static"&&f(I,"transform")==="none"&&I!==document;)I=I.parentNode;I!==document.body&&I!==document.documentElement?(I===document&&(I=z()),e.top+=I.scrollTop,e.left+=I.scrollLeft):I=z(),ae=Me(I)}g=u.cloneNode(!0),Y(g,o.ghostClass,!1),Y(g,o.fallbackClass,!0),Y(g,o.dragClass,!0),f(g,"transition",""),f(g,"transform",""),f(g,"box-sizing","border-box"),f(g,"margin",0),f(g,"top",e.top),f(g,"left",e.left),f(g,"width",e.width),f(g,"height",e.height),f(g,"opacity","0.8"),f(g,"position",$t?"absolute":"fixed"),f(g,"zIndex","100000"),f(g,"pointerEvents","none"),p.ghost=g,t.appendChild(g),f(g,"transform-origin",Xe/parseInt(g.style.width)*100+"% "+Ye/parseInt(g.style.height)*100+"%")}},_onDragStart:function(t,e){var o=this,n=t.dataTransfer,r=o.options;if(X("dragStart",this,{evt:t}),p.eventCanceled){this._onDrop();return}X("setupClone",this),p.eventCanceled||(S=ke(u),S.removeAttribute("id"),S.draggable=!1,S.style["will-change"]="",this._hideClone(),Y(S,this.options.chosenClass,!1),p.clone=S),o.cloneId=Wt(function(){X("clone",o),!p.eventCanceled&&(o.options.removeCloneOnHide||E.insertBefore(S,u),o._hideClone(),k({sortable:o,name:"clone"}))}),!e&&Y(u,r.dragClass,!0),e?(Ft=!0,o._loopId=setInterval(o._emulateDragOver,50)):(v(document,"mouseup",o._onDrop),v(document,"touchend",o._onDrop),v(document,"touchcancel",o._onDrop),n&&(n.effectAllowed="move",r.setData&&r.setData.call(o,n,u)),b(document,"drop",o),f(u,"transform","translateZ(0)")),vt=!0,o._dragStartId=Wt(o._dragStarted.bind(o,e,t)),b(document,"selectstart",o),Ct=!0,window.getSelection().removeAllRanges(),Et&&f(document.body,"user-select","none")},_onDragOver:function(t){var e=this.el,o=t.target,n,r,i,a=this.options,s=a.group,l=p.active,c=Yt===s,d=a.sort,h=A||l,w,m=this,T=!1;if(le)return;function y(It,_o){X(It,m,W({evt:t,isOwner:c,axis:w?"vertical":"horizontal",revert:i,dragRect:n,targetRect:r,canSort:d,fromSortable:h,target:o,completed:O,onMove:function(We,To){return Ut(E,e,u,n,We,x(We),t,To)},changed:U},_o))}function D(){y("dragOverAnimationCapture"),m.captureAnimationState(),m!==h&&h.captureAnimationState()}function O(It){return y("dragOverCompleted",{insertion:It}),It&&(c?l._hideClone():l._showClone(m),m!==h&&(Y(u,A?A.options.ghostClass:l.options.ghostClass,!1),Y(u,a.ghostClass,!0)),A!==m&&m!==p.active?A=m:m===p.active&&A&&(A=null),h===m&&(m._ignoreWhileAnimating=o),m.animateAll(function(){y("dragOverAnimationComplete"),m._ignoreWhileAnimating=null}),m!==h&&(h.animateAll(),h._ignoreWhileAnimating=null)),(o===u&&!u.animated||o===e&&!o.animated)&&(bt=null),!a.dragoverBubble&&!t.rootEl&&o!==document&&(u.parentNode[B]._isOutsideThisEl(t.target),!It&&lt(t)),!a.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),T=!0}function U(){F=L(u),et=L(u,a.draggable),k({sortable:m,name:"change",toEl:e,newIndex:F,newDraggableIndex:et,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),o=H(o,a.draggable,e,!0),y("dragOver"),p.eventCanceled)return T;if(u.contains(t.target)||o.animated&&o.animatingX&&o.animatingY||m._ignoreWhileAnimating===o)return O(!1);if(Ft=!1,l&&!a.disabled&&(c?d||(i=_!==E):A===this||(this.lastPutMode=Yt.checkPull(this,l,u,t))&&s.checkPut(this,l,u,t))){if(w=this._getDirection(t,o)==="vertical",n=x(u),y("dragOverValid"),p.eventCanceled)return T;if(i)return _=E,D(),this._hideClone(),y("revert"),p.eventCanceled||(it?E.insertBefore(u,it):E.appendChild(u)),O(!0);var P=ee(e,a.draggable);if(!P||go(t,w,this)&&!P.animated){if(P===u)return O(!1);if(P&&e===t.target&&(o=P),o&&(r=x(o)),Ut(E,e,u,n,o,r,t,!!o)!==!1)return D(),P&&P.nextSibling?e.insertBefore(u,P.nextSibling):e.appendChild(u),_=e,U(),O(!0)}else if(P&&po(t,w,this)){var st=pt(e,0,a,!0);if(st===u)return O(!1);if(o=st,r=x(o),Ut(E,e,u,n,o,r,t,!1)!==!1)return D(),e.insertBefore(u,st),_=e,U(),O(!0)}else if(o.parentNode===e){r=x(o);var J=0,ut,Mt=u.parentNode!==e,yt=!so(u.animated&&u.toRect||n,o.animated&&o.toRect||r,w),j=w?"top":"left",ot=Ae(o,"top","top")||Ae(u,"top","top"),Zt=ot?ot.scrollTop:void 0;bt!==o&&(ut=r[j],Nt=!1,Rt=!yt&&a.invertSwap||Mt),J=mo(t,o,r,w,yt?1:a.swapThreshold,a.invertedSwapThreshold==null?a.swapThreshold:a.invertedSwapThreshold,Rt,bt===o);var q;if(J!==0){var wt=L(u);do wt-=J,q=_.children[wt];while(q&&(f(q,"display")==="none"||q===g))}if(J===0||q===o)return O(!1);bt=o,xt=J;var ct=o.nextElementSibling,nt=!1;nt=J===1;var dt=Ut(E,e,u,n,o,r,t,nt);if(dt!==!1)return(dt===1||dt===-1)&&(nt=dt===1),le=!0,setTimeout(fo,30),D(),nt&&!ct?e.appendChild(u):o.parentNode.insertBefore(u,nt?ct:o),ot&&Pe(ot,0,Zt-ot.scrollTop),_=u.parentNode,ut!==void 0&&!Rt&&(Lt=Math.abs(ut-x(o)[j])),U(),O(!0)}if(e.contains(u))return O(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){v(document,"mousemove",this._onTouchMove),v(document,"touchmove",this._onTouchMove),v(document,"pointermove",this._onTouchMove),v(document,"dragover",lt),v(document,"mousemove",lt),v(document,"touchmove",lt)},_offUpEvents:function(){var t=this.el.ownerDocument;v(t,"mouseup",this._onDrop),v(t,"touchend",this._onDrop),v(t,"pointerup",this._onDrop),v(t,"pointercancel",this._onDrop),v(t,"touchcancel",this._onDrop),v(document,"selectstart",this)},_onDrop:function(t){var e=this.el,o=this.options;if(F=L(u),et=L(u,o.draggable),X("drop",this,{evt:t}),_=u&&u.parentNode,F=L(u),et=L(u,o.draggable),p.eventCanceled){this._nulling();return}vt=!1,Rt=!1,Nt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),ue(this.cloneId),ue(this._dragStartId),this.nativeDraggable&&(v(document,"drop",this),v(e,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Et&&f(document.body,"user-select",""),f(u,"transform",""),t&&(Ct&&(t.cancelable&&t.preventDefault(),!o.dropBubble&&t.stopPropagation()),g&&g.parentNode&&g.parentNode.removeChild(g),(E===_||A&&A.lastPutMode!=="clone")&&S&&S.parentNode&&S.parentNode.removeChild(S),u&&(this.nativeDraggable&&v(u,"dragend",this),se(u),u.style["will-change"]="",Ct&&!vt&&Y(u,A?A.options.ghostClass:this.options.ghostClass,!1),Y(u,this.options.chosenClass,!1),k({sortable:this,name:"unchoose",toEl:_,newIndex:null,newDraggableIndex:null,originalEvent:t}),E!==_?(F>=0&&(k({rootEl:_,name:"add",toEl:_,fromEl:E,originalEvent:t}),k({sortable:this,name:"remove",toEl:_,originalEvent:t}),k({rootEl:_,name:"sort",toEl:_,fromEl:E,originalEvent:t}),k({sortable:this,name:"sort",toEl:_,originalEvent:t})),A&&A.save()):F!==mt&&F>=0&&(k({sortable:this,name:"update",toEl:_,originalEvent:t}),k({sortable:this,name:"sort",toEl:_,originalEvent:t})),p.active&&((F==null||F===-1)&&(F=mt,et=Tt),k({sortable:this,name:"end",toEl:_,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){X("nulling",this),E=u=_=g=it=S=Xt=tt=at=$=Ct=F=et=mt=Tt=bt=xt=A=Yt=p.dragged=p.ghost=p.clone=p.active=null;var t=this.el;Vt.forEach(function(e){t.contains(e)&&(e.checked=!0)}),Vt.length=re=ie=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":u&&(this._onDragOver(t),ho(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],e,o=this.el.children,n=0,r=o.length,i=this.options;n<r;n++)e=o[n],H(e,i.draggable,this.el,!1)&&t.push(e.getAttribute(i.dataIdAttr)||bo(e));return t},sort:function(t,e){var o={},n=this.el;this.toArray().forEach(function(r,i){var a=n.children[i];H(a,this.options.draggable,n,!1)&&(o[r]=a)},this),e&&this.captureAnimationState(),t.forEach(function(r){o[r]&&(n.removeChild(o[r]),n.appendChild(o[r]))}),e&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,e){return H(t,e||this.options.draggable,this.el,!1)},option:function(t,e){var o=this.options;if(e===void 0)return o[t];var n=_t.modifyOption(this,t,e);typeof n<"u"?o[t]=n:o[t]=e,t==="group"&&Le(o)},destroy:function(){X("destroy",this);var t=this.el;t[B]=null,v(t,"mousedown",this._onTapStart),v(t,"touchstart",this._onTapStart),v(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(v(t,"dragover",this),v(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(e){e.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),jt.splice(jt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!tt){if(X("hideClone",this),p.eventCanceled)return;f(S,"display","none"),this.options.removeCloneOnHide&&S.parentNode&&S.parentNode.removeChild(S),tt=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if(tt){if(X("showClone",this),p.eventCanceled)return;u.parentNode==E&&!this.options.group.revertClone?E.insertBefore(S,u):it?E.insertBefore(S,it):E.appendChild(S),this.options.group.revertClone&&this.animate(u,S),f(S,"display",""),tt=!1}}};function ho(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function Ut(t,e,o,n,r,i,a,s){var l,c=t[B],d=c.options.onMove,h;return window.CustomEvent&&!G&&!Dt?l=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(l=document.createEvent("Event"),l.initEvent("move",!0,!0)),l.to=e,l.from=t,l.dragged=o,l.draggedRect=n,l.related=r||e,l.relatedRect=i||x(e),l.willInsertAfter=s,l.originalEvent=a,t.dispatchEvent(l),d&&(h=d.call(c,l,a)),h}function se(t){t.draggable=!1}function fo(){le=!1}function po(t,e,o){var n=x(pt(o.el,0,o.options,!0)),r=Be(o.el,o.options,g),i=10;return e?t.clientX<r.left-i||t.clientY<n.top&&t.clientX<n.right:t.clientY<r.top-i||t.clientY<n.bottom&&t.clientX<n.left}function go(t,e,o){var n=x(ee(o.el,o.options.draggable)),r=Be(o.el,o.options,g),i=10;return e?t.clientX>r.right+i||t.clientY>n.bottom&&t.clientX>n.left:t.clientY>r.bottom+i||t.clientX>n.right&&t.clientY>n.top}function mo(t,e,o,n,r,i,a,s){var l=n?t.clientY:t.clientX,c=n?o.height:o.width,d=n?o.top:o.left,h=n?o.bottom:o.right,w=!1;if(!a){if(s&&Lt<c*r){if(!Nt&&(xt===1?l>d+c*i/2:l<h-c*i/2)&&(Nt=!0),Nt)w=!0;else if(xt===1?l<d+Lt:l>h-Lt)return-xt}else if(l>d+c*(1-r)/2&&l<h-c*(1-r)/2)return vo(e)}return w=w||a,w&&(l<d+c*i/2||l>h-c*i/2)?l>d+c/2?1:-1:0}function vo(t){return L(u)<L(t)?1:-1}function bo(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent,o=e.length,n=0;o--;)n+=e.charCodeAt(o);return n.toString(36)}function yo(t){Vt.length=0;for(var e=t.getElementsByTagName("input"),o=e.length;o--;){var n=e[o];n.checked&&Vt.push(n)}}function Wt(t){return setTimeout(t,0)}function ue(t){return clearTimeout(t)}Ht&&b(document,"touchmove",function(t){(p.active||vt)&&t.cancelable&&t.preventDefault()}),p.utils={on:b,off:v,css:f,find:Oe,is:function(t,e){return!!H(t,e,t,!1)},extend:to,throttle:Ie,closest:H,toggleClass:Y,clone:ke,index:L,nextTick:Wt,cancelNextTick:ue,detectDirection:Re,getChild:pt,expando:B},p.get=function(t){return t[B]},p.mount=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];e[0].constructor===Array&&(e=e[0]),e.forEach(function(n){if(!n.prototype||!n.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));n.utils&&(p.utils=W(W({},p.utils),n.utils)),_t.mount(n)})},p.create=function(t,e){return new p(t,e)},p.version=qe;var N=[],Ot,ce,de=!1,he,fe,zt,At;function wo(){function t(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this))}return t.prototype={dragStarted:function(e){var o=e.originalEvent;this.sortable.nativeDraggable?b(document,"dragover",this._handleAutoScroll):this.options.supportPointer?b(document,"pointermove",this._handleFallbackAutoScroll):o.touches?b(document,"touchmove",this._handleFallbackAutoScroll):b(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(e){var o=e.originalEvent;!this.options.dragOverBubble&&!o.rootEl&&this._handleAutoScroll(o)},drop:function(){this.sortable.nativeDraggable?v(document,"dragover",this._handleAutoScroll):(v(document,"pointermove",this._handleFallbackAutoScroll),v(document,"touchmove",this._handleFallbackAutoScroll),v(document,"mousemove",this._handleFallbackAutoScroll)),$e(),Jt(),eo()},nulling:function(){zt=ce=Ot=de=At=he=fe=null,N.length=0},_handleFallbackAutoScroll:function(e){this._handleAutoScroll(e,!0)},_handleAutoScroll:function(e,o){var n=this,r=(e.touches?e.touches[0]:e).clientX,i=(e.touches?e.touches[0]:e).clientY,a=document.elementFromPoint(r,i);if(zt=e,o||this.options.forceAutoScrollFallback||Dt||G||Et){pe(e,this.options,a,o);var s=Q(a,!0);de&&(!At||r!==he||i!==fe)&&(At&&$e(),At=setInterval(function(){var l=Q(document.elementFromPoint(r,i),!0);l!==s&&(s=l,Jt()),pe(e,n.options,l,o)},10),he=r,fe=i)}else{if(!this.options.bubbleScroll||Q(a,!0)===z()){Jt();return}pe(e,this.options,Q(a,!1),!1)}}},Z(t,{pluginName:"scroll",initializeByDefault:!0})}function Jt(){N.forEach(function(t){clearInterval(t.pid)}),N=[]}function $e(){clearInterval(At)}var pe=Ie(function(t,e,o,n){if(e.scroll){var r=(t.touches?t.touches[0]:t).clientX,i=(t.touches?t.touches[0]:t).clientY,a=e.scrollSensitivity,s=e.scrollSpeed,l=z(),c=!1,d;ce!==o&&(ce=o,Jt(),Ot=e.scroll,d=e.scrollFn,Ot===!0&&(Ot=Q(o,!0)));var h=0,w=Ot;do{var m=w,T=x(m),y=T.top,D=T.bottom,O=T.left,U=T.right,P=T.width,st=T.height,J=void 0,ut=void 0,Mt=m.scrollWidth,yt=m.scrollHeight,j=f(m),ot=m.scrollLeft,Zt=m.scrollTop;m===l?(J=P<Mt&&(j.overflowX==="auto"||j.overflowX==="scroll"||j.overflowX==="visible"),ut=st<yt&&(j.overflowY==="auto"||j.overflowY==="scroll"||j.overflowY==="visible")):(J=P<Mt&&(j.overflowX==="auto"||j.overflowX==="scroll"),ut=st<yt&&(j.overflowY==="auto"||j.overflowY==="scroll"));var q=J&&(Math.abs(U-r)<=a&&ot+P<Mt)-(Math.abs(O-r)<=a&&!!ot),wt=ut&&(Math.abs(D-i)<=a&&Zt+st<yt)-(Math.abs(y-i)<=a&&!!Zt);if(!N[h])for(var ct=0;ct<=h;ct++)N[ct]||(N[ct]={});(N[h].vx!=q||N[h].vy!=wt||N[h].el!==m)&&(N[h].el=m,N[h].vx=q,N[h].vy=wt,clearInterval(N[h].pid),(q!=0||wt!=0)&&(c=!0,N[h].pid=setInterval((function(){n&&this.layer===0&&p.active._onTouchMove(zt);var nt=N[this.layer].vy?N[this.layer].vy*s:0,dt=N[this.layer].vx?N[this.layer].vx*s:0;typeof d=="function"&&d.call(p.dragged.parentNode[B],dt,nt,t,zt,N[this.layer].el)!=="continue"||Pe(N[this.layer].el,dt,nt)}).bind({layer:h}),24))),h++}while(e.bubbleScroll&&w!==l&&(w=Q(w,!1)));de=c}},30),Ue=function(t){var e=t.originalEvent,o=t.putSortable,n=t.dragEl,r=t.activeSortable,i=t.dispatchSortableEvent,a=t.hideGhostForTarget,s=t.unhideGhostForTarget;if(e){var l=o||r;a();var c=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e,d=document.elementFromPoint(c.clientX,c.clientY);s(),l&&!l.el.contains(d)&&(i("spill"),this.onSpill({dragEl:n,putSortable:o}))}};function ge(){}ge.prototype={startIndex:null,dragStart:function(t){var e=t.oldDraggableIndex;this.startIndex=e},onSpill:function(t){var e=t.dragEl,o=t.putSortable;this.sortable.captureAnimationState(),o&&o.captureAnimationState();var n=pt(this.sortable.el,this.startIndex,this.options);n?this.sortable.el.insertBefore(e,n):this.sortable.el.appendChild(e),this.sortable.animateAll(),o&&o.animateAll()},drop:Ue},Z(ge,{pluginName:"revertOnSpill"});function me(){}me.prototype={onSpill:function(t){var e=t.dragEl,o=t.putSortable,n=o||this.sortable;n.captureAnimationState(),e.parentNode&&e.parentNode.removeChild(e),n.animateAll()},drop:Ue},Z(me,{pluginName:"removeOnSpill"}),p.mount(new wo),p.mount(me,ge);const Do=function(t){const e=t?.response?.data;return typeof e=="string"&&e?e:e?.message||e?.error||t?.message||"Unknown error"},Eo={components:{OutputDialog:Ee},data(){return{name:null,icon:"astro:add-small",url:null,tools:[],jsonContent:"",dialogTitle:"",showDialog:!1,tool_id:null}},mounted(){this.update();let t=document.getElementById("toollist");p.create(t,{filter:".filter",onUpdate:this.sortChanged})},methods:{sortChanged(t){rt.post(`/openc3-api/tools/position/${this.tools[t.oldIndex]}`,{data:{position:t.newIndex},params:{scope:"DEFAULT"}}).then(e=>{this.$notify.normal({title:`Reordered tool ${this.tools[t.oldIndex]}`}),this.update()}).catch(console.error)},update(){rt.get("/openc3-api/tools",{params:{scope:"DEFAULT"}}).then(t=>{this.tools=t.data,this.name="",this.url=""}).catch(console.error)},add(){rt.post("/openc3-api/tools",{data:{id:this.name,json:JSON.stringify({name:this.name,icon:this.icon,url:this.url,window:"NEW"})},params:{scope:"DEFAULT"}}).then(t=>{this.$notify.normal({title:`Added tool ${this.name}`}),this.update()}).catch(t=>{window.$cosmosNotify.serious({title:`Failed to add tool ${this.name}`,message:Do(t)})})},async showTool(t){const e=await rt.get(`/openc3-api/tools/${t}`,{params:{scope:"DEFAULT"}});this.tool_id=t,this.jsonContent=JSON.stringify(e.data,null," "),this.dialogTitle=t,this.showDialog=!0},async dialogCallback(t){if(this.showDialog=!1,t!==null){let e=JSON.parse(t),o="put",n=`/openc3-api/tools/${this.tool_id}`;e.name!==this.tool_id&&(o="post",n="/openc3-api/tools"),await rt[o](n,{data:{json:t},params:{scope:"DEFAULT"}}),this.$notify.normal({title:`Modified tool ${e.name}`}),this.update()}},deleteTool(t){this.$dialog.confirm(`Are you sure you want to remove: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then(function(e){return rt.delete(`/openc3-api/tools/${t}`,{params:{scope:"DEFAULT"}})}).then(e=>{this.$notify.normal({title:`Removed tool ${t}`}),this.update()})}}};function So(t,e,o,n,r,i){const a=V("v-icon"),s=V("v-btn"),l=V("v-col"),c=V("v-text-field"),d=V("v-row"),h=V("v-list-item-title"),w=V("v-list-item"),m=V("v-divider"),T=V("v-list"),y=V("output-dialog");return ht(),Pt("div",null,[M(d,{"no-gutters":"",align:"center",style:{"padding-left":"10px"}},{default:R(()=>[M(l,{cols:"3"},{default:R(()=>[M(s,{block:"",color:"primary","data-test":"toolAdd",disabled:!r.name||!r.url||!r.icon,onClick:e[0]||(e[0]=D=>i.add())},{default:R(()=>[e[5]||(e[5]=kt(" Add ",-1)),M(a,{end:"",theme:"dark"},{default:R(()=>[kt(Kt(r.icon),1)]),_:1})]),_:1},8,["disabled"])]),_:1}),M(l,{cols:"3"},{default:R(()=>[M(c,{modelValue:r.icon,"onUpdate:modelValue":e[1]||(e[1]=D=>r.icon=D),label:"Tool Icon",class:"px-2"},null,8,["modelValue"])]),_:1}),M(l,{cols:"3"},{default:R(()=>[M(c,{modelValue:r.name,"onUpdate:modelValue":e[2]||(e[2]=D=>r.name=D),label:"Tool Name",class:"px-2"},null,8,["modelValue"])]),_:1}),M(l,{cols:"3",class:"px-2"},{default:R(()=>[M(c,{modelValue:r.url,"onUpdate:modelValue":e[3]||(e[3]=D=>r.url=D),label:"Tool Url"},null,8,["modelValue"])]),_:1})]),_:1}),e[6]||(e[6]=be("span",{class:"text-body1 pa-3"},"Drag and drop to reorder tools in the NavBar. Note: 'Base' and 'Admin' can't be reordered. A browser refresh is required to see the new tool order.",-1)),M(T,{id:"toollist",class:"list","data-test":"toolList"},{default:R(()=>[(ht(!0),Pt(ye,null,we(r.tools,(D,O)=>(ht(),Pt("div",{key:D},[M(w,{class:De({filter:D==="Base"||D==="Admin"}),"prepend-icon":"mdi-drag-horizontal"},{append:R(()=>[M(s,{icon:"mdi-eye",variant:"text","aria-label":"View Tool",onClick:U=>i.showTool(D)},null,8,["onClick"]),M(s,{icon:"mdi-delete",variant:"text","aria-label":"Delete Tool",onClick:U=>i.deleteTool(D)},null,8,["onClick"])]),default:R(()=>[M(h,null,{default:R(()=>[kt(Kt(D),1)]),_:2},1024)]),_:2},1032,["class"]),O<r.tools.length-1?(ht(),Gt(m,{key:O})):qt("",!0)]))),128))]),_:1}),r.showDialog?(ht(),Gt(y,{key:0,modelValue:r.showDialog,"onUpdate:modelValue":e[4]||(e[4]=D=>r.showDialog=D),content:r.jsonContent,type:"Tool",name:r.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):qt("",!0)])}const xo=ze("default",ve(Eo,[["render",So],["__scopeId","data-v-71755f57"]]))})}}));