openc3-cosmos-tool-admin 7.2.0 → 7.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/admin/{ArrayWidget-D1PArcGr-3885b67514afe732ba36.js → ArrayWidget-DMSm_P6c-efc7746a4ba953cd6808.js} +2 -2
- data/tools/admin/{ArrayplotWidget-DPUPy0qM-b6a1c019189be84e4589.js → ArrayplotWidget-fdXLhGAl-bb78ab3e4fdecdfebd67.js} +1 -1
- data/tools/admin/{BarColumn-BpdscDQf-e551f56c95340d26cda4.js → BarColumn-Bb305iCi-1d14dd1f021f8d8d5f6a.js} +1 -1
- data/tools/admin/{BlockWidget-_VUsK5T9-59058beda215f65a7b09.js → BlockWidget-Do3W6tZh-30b366b735726d3e884d.js} +2 -2
- data/tools/admin/{ButtonWidget-DE41o-cg-d0d862704f2cedf509f5.js → ButtonWidget-DukCQt0F-c8a88a1d238108f85fc0.js} +2 -2
- data/tools/admin/CanvasWidget-BRdVWln5-68610c4a029476073178.js +1 -0
- data/tools/admin/CanvasdotWidget-DV8PeDWz-da21bd87f779b9139269.js +1 -0
- data/tools/admin/{CanvasimageWidget-COv_Qnc8-0a502afa265efe2f25ad.js → CanvasimageWidget-Czbq1GuF-5f841f468351c7d6bdbf.js} +1 -1
- data/tools/admin/{CanvasimagevalueWidget-BhuUqLOo-53322c8fb2f548104d57.js → CanvasimagevalueWidget-DKt5JgEt-c79bbec74e5403f7b6ec.js} +1 -1
- data/tools/admin/CanvaslabelWidget-DW2I1ra1-bf0c322f7c308654cfc2.js +1 -0
- data/tools/admin/CanvaslabelvalueWidget-BhzvZVfD-ba39d0f36fbf3db6cd9c.js +1 -0
- data/tools/admin/{CanvaslineWidget-D1K_6mAY-986d4445d6db8f24c1b0.js → CanvaslineWidget-DsjY37tp-97707caf9ea6147f085e.js} +1 -1
- data/tools/admin/{CanvaslinevalueWidget-D4eaxWhR-443b0d3f93af5d0faf5a.js → CanvaslinevalueWidget-ihI97G8T-a7ccb7b7ca2d2628fdd5.js} +1 -1
- data/tools/admin/CheckbuttonWidget-B778Z-Zo-9dbaeff7a2a74130539a.js +1 -0
- data/tools/admin/ComboboxWidget-CuuvOL9K-838f18b5b010cb3d71ae.js +1 -0
- data/tools/admin/{DateWidget-DkNWx28s-bb439088467e3b1af3aa.js → DateWidget-COvQTAeo-fdab60f30b292f493736.js} +1 -1
- data/tools/admin/{DetailsDialog-F4KgYM6m-8435a552f5c10d2191bc.js → DetailsDialog-DE7lK17G-434a9ce6dcc8e6636a47.js} +1 -1
- data/tools/admin/{DynamicWidget-BuSbQVhf-6a5228328dcebb177ef8.js → DynamicWidget-BuSbQVhf-f880988884028652fefc.js} +1 -1
- data/tools/admin/{FilechecksumWidget-DSfNEnDJ-531bbb7d456d380a62d9.js → FilechecksumWidget-DRnOt_UE-b118998ed499ab04e025.js} +1 -1
- data/tools/admin/{FiledisplayWidget-D2cxMmrP-812eb21e2f71f0bd32d6.js → FiledisplayWidget-26R46EjS-312ad25b3132af381df5.js} +1 -1
- data/tools/admin/{FormatvalueWidget-6-bj_PJO-4c9daa001cba89fb9103.js → FormatvalueWidget-BxyscMJc-9965b0bd2806cfbe79cb.js} +1 -1
- data/tools/admin/Graph-BKw7xw1a-947d95e03148698e323f.js +1 -0
- data/tools/admin/{GraphWidget-COXK3Dab-18ccb71d08b630c3446f.js → GraphWidget-Cs9mvqUu-f9a29adafa014c1e26e4.js} +1 -1
- data/tools/admin/{HorizontalWidget-C9UFBPsk-91bd1e11d87736b8c758.js → HorizontalWidget-fWLFj7Kg-46768f166783e7c59c1c.js} +1 -1
- data/tools/admin/{HorizontalboxWidget-CWLfmRtr-13d452adc9e1100f23c4.js → HorizontalboxWidget-DEaXhKEz-b0ba376ca37ee17a7d70.js} +1 -1
- data/tools/admin/HorizontallineWidget-Bvu1QP3S-2ef01995448de3e2d6b7.js +1 -0
- data/tools/admin/{IframeWidget-Bn9eGzrq-d71752e23ce712e81e26.js → IframeWidget-B143k4lo-47d90846ad305990fd45.js} +1 -1
- data/tools/admin/{ImageLoader-_gAudhVo-23300d0d0133307fb169.js → ImageLoader-BCpmQHIl-90267960b7246cba4d23.js} +1 -1
- data/tools/admin/{ImageviewerWidget-BUWhF32Z-0799a243569a53e640e9.js → ImageviewerWidget-CLrvr6dw-6adafd871908af16336a.js} +1 -1
- data/tools/admin/InterfacesTab-zhl06TGR-269bf95691e1ca1133d0.js +1 -0
- data/tools/admin/{LabelWidget-BhzkN06D-2d7a7f95582b783e18d0.js → LabelWidget-CA1bTX2B-cf65a81edc2678cf21d0.js} +1 -1
- data/tools/admin/{LabelledWidget-vx8NvW1b-0d3f99aa750f0631fdc2.js → LabelledWidget-BDhvr03J-d661081e5e66658337e8.js} +1 -1
- data/tools/admin/{LabelprogressbarWidget-t5PvKuS4-18438f7d1f021d5247e5.js → LabelprogressbarWidget-g7A5CE8S-3e6d2543cbb4356e663b.js} +1 -1
- data/tools/admin/LabelsparklineWidget-B27xXxWg-46ed8faac17cc5e23e2c.js +1 -0
- data/tools/admin/{LabelvalueWidget-Cbs1DBK2-8bc763b903941db678a2.js → LabelvalueWidget-DFn8o6LC-83776b27319b83d8f0db.js} +1 -1
- data/tools/admin/{LabelvaluedescWidget-B7OIOGc0-21ac0d9663cf49396a58.js → LabelvaluedescWidget-BQpaxFaB-577f3f571587fc3e28a8.js} +1 -1
- data/tools/admin/{LabelvaluelimitsbarWidget-C57kf-oQ-8929b2b56023fd39369a.js → LabelvaluelimitsbarWidget-C-z96q8z-05aedeebb4882527347a.js} +1 -1
- data/tools/admin/LabelvaluelimitscolumnWidget-D2TMEv9O-8f2ba12f3d8541a80f4f.js +1 -0
- data/tools/admin/{LabelvaluerangebarWidget-Pt_evm3v-2f296e2b660ae23cd7e2.js → LabelvaluerangebarWidget-D99dZCjz-f2a7ecfb05831ee9ece6.js} +1 -1
- data/tools/admin/{Layout-CKmC50QZ-a4e41facce8302b08009.js → Layout--_zNJWnw-a75e57affb59e71889ad.js} +1 -1
- data/tools/admin/{LedWidget-D1lmNXpi-c70ab085a7e75d99db2a.js → LedWidget-D2uxHxe3-b432e645d6f5ac424a50.js} +1 -1
- data/tools/admin/{LimitsBar-D5IZu7eX-eed22332c6603ee4301a.js → LimitsBar-DN1s8-MS-5fcc0dd234e18f768e31.js} +1 -1
- data/tools/admin/{LimitsbarWidget-VpxQXE-e-48cfee552a9c695bf8f1.js → LimitsbarWidget-Cqhh7LKU-68bbd725e553a8fbb473.js} +1 -1
- data/tools/admin/{LimitscolorWidget-79P41CX7-f2eea333aec5c48967e0.js → LimitscolorWidget-haGB4RbY-2bbe52d1c80aded0cc12.js} +1 -1
- data/tools/admin/{LimitscolumnWidget-BFDXhJeZ-4eba19b9d6c713c13db1.js → LimitscolumnWidget-B1GdmlR_-ea359135deab006453c1.js} +1 -1
- data/tools/admin/{LinegraphWidget-VqkpOlws-f72604545ff9d950311b.js → LinegraphWidget-COSOQ0uM-d51c56629154333d44e4.js} +1 -1
- data/tools/admin/{MatrixbycolumnsWidget--ihvirDP-0c6d1476cb4af73ce4ec.js → MatrixbycolumnsWidget-coHlLETG-860f23fb48426b9fd387.js} +1 -1
- data/tools/admin/{MicroservicesTab-CQPpb7j1-7daf01af280d2c44c370.js → MicroservicesTab-eR0hpoO1-90e70bfd68ca8cece876.js} +2 -2
- data/tools/admin/{OpenC3TimePicker-B0lAIU91-6e7843b535d6cb333926.js → OpenC3TimePicker-B8Vu9GBz-c1433e91ea28dd0e883e.js} +1 -1
- data/tools/admin/{OutputDialog-DtrpwjGL-73ebd3c55e7ffbc15652.js → OutputDialog-B0DR879Y-1fe936426c84cb442ac4.js} +1 -1
- data/tools/admin/{PackagesTab-DQ5s3nfh-dfdd8bd24af88c946d9d.js → PackagesTab-aA0fmiQh-fb563fc6f35c8b0be850.js} +1 -1
- data/tools/admin/{PluginsTab-1tlTx4k1-496335d424694bd25d9a.js → PluginsTab-C-ItW862-32d7ee9164d04691765d.js} +2 -2
- data/tools/admin/{ProgressbarWidget-BIB3r9SL-2b2e5705da4fe267fc08.js → ProgressbarWidget-D_yFssIZ-d10aa4e57145b3259669.js} +1 -1
- data/tools/admin/{RadiobuttonWidget-C5rxLM7K-9bdffd0ee597d4386ad7.js → RadiobuttonWidget-DL0jVTcb-3c465bd94a1d1501b9aa.js} +1 -1
- data/tools/admin/RadiogroupWidget-2-td69IA-a20b41e0ee16fca8216f.js +1 -0
- data/tools/admin/{RangebarWidget-MPQYi2Km-b85a235f8e43da24f3ae.js → RangebarWidget-i2mlnxys-4eec6df5412c7c011047.js} +1 -1
- data/tools/admin/RedisTab-WR7ODfau-47151697811af67bb310.js +1 -0
- data/tools/admin/{RollupWidget-CfjGAhzg-f9d66fe1e702f376333e.js → RollupWidget-BEJ2Icg1-e244836ce5d601a70583.js} +1 -1
- data/tools/admin/RoutersTab-DUvEd6IA-b95f4c2224cc6903fd12.js +1 -0
- data/tools/admin/{ScrollwindowWidget-CupaygNN-a397b20ae8a40b64a487.js → ScrollwindowWidget-BU1cRpL8-db955ba3d4a28aa695c0.js} +1 -1
- data/tools/admin/{SecretsTab-C9xAxuwO-89d69d126612c7b64f6d.js → SecretsTab-CkjjSxCg-e1665e5ecea3aed8dad6.js} +1 -1
- data/tools/admin/SettingsTab-CJp0hFpx-bae27f27a99072352713.js +6 -0
- data/tools/admin/{SignalWidget-C-qecoTO-c71ca67fb48f421af75e.js → SignalWidget-hiTkeem9-803814029a9fe6a17581.js} +1 -1
- data/tools/admin/{SimpleTextDialog-C-0ZC2bs-48d950cb04fe0c899bab.js → SimpleTextDialog-tGqcHHCx-aac1d333cbb9a93606d6.js} +1 -1
- data/tools/admin/SpacerWidget-CBmzzS_X-207fd991cbf6a40fe4b0.js +1 -0
- data/tools/admin/SparklineWidget-CizRh6QR-125aeb303d4965c33db7.js +1 -0
- data/tools/admin/{TabbookWidget-CXklff-l-46b8ed5b3d3fc3f6ff22.js → TabbookWidget-CvL3Ozmx-392ae93cab5b7cbb9764.js} +1 -1
- data/tools/admin/{TargetsTab-Ci4cOsIa-d2957154b9bf46fa9617.js → TargetsTab-KTV_gfLE-3a9c157196f584e54664.js} +1 -1
- data/tools/admin/TextboxWidget-BtEwXzDO-e4893abb472b9a687d25.js +1 -0
- data/tools/admin/{TextfieldWidget-CdANAW-6-82179a958f191dffd85c.js → TextfieldWidget-BDbb57HP-51b0d1e6a5aa914e5ac8.js} +1 -1
- data/tools/admin/TimeWidget-DzD8U8l8-2591897a5196cb54b68d.js +1 -0
- data/tools/admin/{TitleWidget-68NWCcXB-218c5743097602c7a5d8.js → TitleWidget-CL53vf14-6e11a61576950ccd39fd.js} +1 -1
- data/tools/admin/{ToolsTab-BCvmMDIZ-4b33c7b7aab46b7d4119.js → ToolsTab-yFxYcJ-o-7c21c60dd470d658fe4d.js} +1 -1
- data/tools/admin/TsdbTab-B0BR-V6A-ab626c8be8b9836c1c78.js +4 -0
- data/tools/admin/{VWidget-oMbywhLA-ae9ee9bde0636cb9c9e1.js → VWidget-5qOYva88-4db083a6475508bbf7ce.js} +1 -1
- data/tools/admin/ValueWidget-CAkuc_w_-6037c5f1b4e7c0e9c790.js +1 -0
- data/tools/admin/ValuelimitsbarWidget-Y8sO05E1-c51344904eca186c081f.js +1 -0
- data/tools/admin/{ValuelimitscolumnWidget-BVt6nLXq-08cf4c90f589d1d23b70.js → ValuelimitscolumnWidget-iOjB_fCj-c8c67d58522b7f505b4f.js} +1 -1
- data/tools/admin/ValuerangebarWidget-DsCoeAm6-a486168810aca7f0e206.js +1 -0
- data/tools/admin/{VerticalWidget-DlftYBjH-ae7352937173846f56d9.js → VerticalWidget-C6O0dhRU-7511fd89efa71860286e.js} +1 -1
- data/tools/admin/{VerticalboxWidget-C7RrkfY0-a5135be854d46c8d2871.js → VerticalboxWidget-B-CoqRJG-29951e73bb5144b9ca2c.js} +1 -1
- data/tools/admin/{Widget-D_HaosJK-c49796f3af3288426d03.js → Widget-CtYQauzA-ae8839a2e4146c799aec.js} +1 -1
- data/tools/admin/main-040488697a5f3eed5115.js +1502 -0
- data/tools/admin/main.js +1 -1
- data/tools/admin/{settings-DZ910lLo-06b2e35cd3b4b6b6686c.js → settings-BrhbKDEv-791c3f57ac7979ee13b6.js} +1 -1
- metadata +85 -85
- data/tools/admin/CanvasWidget-BEi8h3Mq-e74743c293400ba5a929.js +0 -1
- data/tools/admin/CanvasdotWidget-eZuMgkhL-069ce51cfaf9b6705d69.js +0 -1
- data/tools/admin/CanvaslabelWidget-DtvbgeYH-0bb6f6c1d49c8d123129.js +0 -1
- data/tools/admin/CanvaslabelvalueWidget-C_FRIeNb-3b5c9903ad9d379fc52a.js +0 -1
- data/tools/admin/CheckbuttonWidget-ByxMDkiS-6939f416d1a7977f37fb.js +0 -1
- data/tools/admin/ComboboxWidget-CAGxGv2r-28b0f6b63d807a2f3217.js +0 -1
- data/tools/admin/Graph-Cz0Ns1FD-9251aa7b63944e24104e.js +0 -1
- data/tools/admin/HorizontallineWidget-DeFkOaYO-816f7a06f03f7222e67e.js +0 -1
- data/tools/admin/InterfacesTab-CZsnR6xB-abec32626a92ea91aa87.js +0 -1
- data/tools/admin/LabelsparklineWidget-CebbEH-j-9c683841d069f9e5b25c.js +0 -1
- data/tools/admin/LabelvaluelimitscolumnWidget-BRlNDEqp-d0a4f3d8ee015080c0a8.js +0 -1
- data/tools/admin/RadiogroupWidget-CciTCv1U-f9b9584110d84fad120b.js +0 -1
- data/tools/admin/RedisTab-DAeGow_e-aad9acabdf7d1943559b.js +0 -1
- data/tools/admin/RoutersTab-G4WKtUOo-8f69fb20843fdf62fa85.js +0 -1
- data/tools/admin/SettingsTab-BUdeAh4o-f1b85c2ee59d2f206af1.js +0 -5
- data/tools/admin/SpacerWidget-VVkOCb6N-356dcf21185ada59e84f.js +0 -1
- data/tools/admin/SparklineWidget-Dsmn38z_-2bd86ac75cf900848cd0.js +0 -1
- data/tools/admin/TextboxWidget-CHs2VYIv-55be6bce7cab19177b56.js +0 -1
- data/tools/admin/TimeWidget-D0xT1wXR-52493dd27717545a87bd.js +0 -1
- data/tools/admin/TsdbTab-BytqwnkN-ddc61c1fffc41912b8cb.js +0 -4
- data/tools/admin/ValueWidget-B1aGUBP7-320f2f1feb3886640deb.js +0 -1
- data/tools/admin/ValuelimitsbarWidget-B7KcRjLS-70f46b11dcb2a83a3562.js +0 -1
- data/tools/admin/ValuerangebarWidget-uVZEI32U-ded0715685adaffdaca5.js +0 -1
- data/tools/admin/main-320f7a52ead0c027f3e7.js +0 -1502
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","./DetailsDialog-DE7lK17G-434a9ce6dcc8e6636a47.js","single-spa","./VWidget-5qOYva88-4db083a6475508bbf7ce.js","vue-router","pinia","vuetify","./LimitsBar-DN1s8-MS-5fcc0dd234e18f768e31.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-CtYQauzA-ae8839a2e4146c799aec.js"],(function(V,I){"use strict";var y,i,n,o,c,d,u,h,p,f,C,x,w,g,S,v,k,M,D;return{setters:[e=>{y=e.k},e=>{i=e.resolveComponent,n=e.openBlock,o=e.createElementBlock,c=e.normalizeStyle,d=e.normalizeClass,u=e.createVNode,h=e.createBlock,p=e.withCtx,f=e.createElementVNode,C=e.toDisplayString,x=e.mergeProps,w=e.createCommentVNode,g=e.Fragment,S=e.renderList,v=e.withModifiers,k=e.createTextVNode},e=>{M=e.Z},null,e=>{D=e.T},null,null,null,null,null,null],execute:(function(){const e={components:{DetailsDialog:M},mixins:[D],data(){return{astro:!1,radius:15,fullLabelDisplay:!1,displayLabel:!0,viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2])+"/","_blank")}}]}},computed:{labelName(){return this.fullLabelDisplay?[this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]]:[this.parameters[2]]},fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},ledClass(){let t=`led align-self-center ${this.limitsColor}`;return this._limitsState==="STALE"&&(t+=" stale"),t},cssProps(){return{"--height":this.radius+"px","--width":this.radius+"px"}},staleClass(){return this._limitsState==="STALE"?"stale":""},myComputedStyle(){const t={...this.computedStyle};return delete t.flex,t}},created(){this.appliedSettings.forEach(t=>{t[0]==="ASTRO"&&(this.astro=t[1]?.toLowerCase()!=="false")}),this.parameters[4]&&(this.radius=Number.parseInt(this.parameters[4])),this.parameters[5]&&(this.parameters[5].toLowerCase()==="true"?this.fullLabelDisplay=!0:this.parameters[5].toLowerCase()==="nil"?this.displayLabel=!1:this.parameters[5].toLowerCase()==="none"&&(this.displayLabel=!1))},methods:{getType(){let t="CONVERTED";return this.parameters[3]&&(t=this.parameters[3]),t},showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}};function N(t,l,R,U,r,s){const L=i("rux-status"),b=i("v-tooltip"),T=i("label-widget"),_=i("v-list-item-title"),E=i("v-list-item"),B=i("v-list"),j=i("v-menu"),z=i("details-dialog");return n(),o("div",{ref:"container",class:"d-flex flex-row",style:c(s.myComputedStyle)},[t.tooltipText?r.astro?(n(),o("div",{key:2,class:d(["astroled align-self-center",s.staleClass]),onContextmenu:l[3]||(l[3]=(...a)=>s.showContextMenu&&s.showContextMenu(...a))},[u(L,{status:t.astroStatus},null,8,["status"])],34)):(n(),o("div",{key:1,class:d(s.ledClass),style:c(s.cssProps),onContextmenu:l[2]||(l[2]=(...a)=>s.showContextMenu&&s.showContextMenu(...a))},null,38)):(n(),h(b,{key:0,"open-delay":600,location:"top"},{activator:p(({props:a})=>[r.astro?(n(),o("div",x({key:1,class:["astroled align-self-center",s.staleClass]},a,{onContextmenu:l[1]||(l[1]=(...m)=>s.showContextMenu&&s.showContextMenu(...m))}),[u(L,{status:t.astroStatus},null,8,["status"])],16)):(n(),o("div",x({key:0,class:s.ledClass,style:s.cssProps},a,{onContextmenu:l[0]||(l[0]=(...m)=>s.showContextMenu&&s.showContextMenu(...m))}),null,16))]),default:p(()=>[f("span",null,C(s.fullName),1)]),_:1})),r.displayLabel?(n(),h(T,{key:3,parameters:s.labelName,settings:t.appliedSettings,style:c(t.computedStyle),"widget-index":1},null,8,["parameters","settings","style"])):w("",!0),u(j,{modelValue:r.contextMenuShown,"onUpdate:modelValue":l[4]||(l[4]=a=>r.contextMenuShown=a),target:[r.x,r.y],style:{"z-index":"3000"}},{default:p(()=>[u(B,null,{default:p(()=>[(n(!0),o(g,null,S(r.contextMenuOptions,(a,m)=>(n(),h(E,{key:m,onClick:v(a.action,["stop"])},{default:p(()=>[u(_,null,{default:p(()=>[k(C(a.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),u(z,{modelValue:r.viewDetails,"onUpdate:modelValue":l[5]||(l[5]=a=>r.viewDetails=a),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])],4)}const O=V("default",y(e,[["render",N],["__scopeId","data-v-d4f5103d"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./BarColumn-
|
|
1
|
+
System.register(["./BarColumn-Bb305iCi-1d14dd1f021f8d8d5f6a.js","vue","./main-040488697a5f3eed5115.js","./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue-router","pinia","single-spa","vuetify"],(function(c,v){"use strict";var s,a,l,d,r,h;return{setters:[i=>{s=i.l},i=>{a=i.openBlock,l=i.createElementBlock,d=i.normalizeStyle,r=i.createStaticVNode},i=>{h=i.k},null,null,null,null,null],execute:(function(){const i={mixins:[s],data(){return{width:22,height:120}},computed:{cssProps:function(){if(!this.screenValues[this.valueId])return{};let e=this.screenValues[this.valueId][0],t=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);if(t)return this.calcLimits(t),{"--height":this.height+"px","--width":this.width+"px","--container-width":this.width-5+"px","--position":this.calcPosition(e,t)+"%","--redlow-height":this.redLow+"%","--redhigh-height":this.redHigh+"%","--yellowlow-height":this.yellowLow+"%","--yellowhigh-height":this.yellowHigh+"%","--greenlow-height":this.greenLow+"%","--greenhigh-height":this.greenHigh+"%","--blue-height":this.blue+"%"};throw{line:this.line,lineNumber:this.lineNumber,keyword:"LIMITSCOLUMN",parameters:this.parameters,message:"Item has no limits settings",usage:"Only items with limits"}}},created(){this.verifyNumParams("LIMITSCOLUMN",3,6,"LIMITSCOLUMN <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH> <HEIGHT>")}};function n(e,t,u,g,w,o){return a(),l("div",{class:"limitsbar",style:d([o.cssProps,e.computedStyle])},[...t[0]||(t[0]=[r('<div class="limitsbar__container" data-v-4c4fd53a><div class="limitsbar__redlow" data-v-4c4fd53a></div><div class="limitsbar__redhigh" data-v-4c4fd53a></div><div class="limitsbar__yellowlow" data-v-4c4fd53a></div><div class="limitsbar__yellowhigh" data-v-4c4fd53a></div><div class="limitsbar__greenlow" data-v-4c4fd53a></div><div class="limitsbar__greenhigh" data-v-4c4fd53a></div><div class="limitsbar__blue" data-v-4c4fd53a></div><div class="limitsbar__line" data-v-4c4fd53a></div><div class="limitsbar__arrow" data-v-4c4fd53a></div></div>',1)])],4)}const m=c("default",h(i,[["render",n],["__scopeId","data-v-4c4fd53a"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./GraphWidget-
|
|
1
|
+
System.register(["./GraphWidget-Cs9mvqUu-f9a29adafa014c1e26e4.js","./main-040488697a5f3eed5115.js","vue","./Graph-BKw7xw1a-947d95e03148698e323f.js","single-spa","./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue-router","pinia","vuetify","./OpenC3TimePicker-B8Vu9GBz-c1433e91ea28dd0e883e.js"],(function(p,c){"use strict";var s,n,a,r,o,l,d;return{setters:[t=>{s=t.M},t=>{n=t.k},t=>{a=t.resolveComponent,r=t.openBlock,o=t.createBlock,l=t.normalizeStyle},t=>{d=t.Y},null,null,null,null,null,null],execute:(function(){const t={components:{Graph:d},mixins:[s]};function h(e,i,g,v,f,k){const u=a("graph");return r(),o(u,{id:e.id,ref:"graph"+e.id,state:e.state,"selected-graph-id":e.id,"start-time":e.startTime,"seconds-graphed":e.secondsGraphed,"points-saved":e.pointsSaved,"points-graphed":e.pointsGraphed,"initial-items":e.items,height:e.size.height,width:e.size.width,style:l(e.computedStyle),"time-zone":e.screenTimeZone,"hide-toolbar":"","hide-overview":"",onPause:i[0]||(i[0]=()=>e.state="pause"),onStart:i[1]||(i[1]=()=>e.state="start")},null,8,["id","state","selected-graph-id","start-time","seconds-graphed","points-saved","points-graphed","initial-items","height","width","style","time-zone"])}const m=p("default",n(t,[["render",h]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Layout-
|
|
1
|
+
System.register(["./Layout--_zNJWnw-a75e57affb59e71889ad.js","./main-040488697a5f3eed5115.js","vue","./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue-router","pinia","single-spa","vuetify"],(function(w,B){"use strict";var g,y,v,d,r,s,f,l,o,i,c,h,k,p,u;return{setters:[t=>{g=t.r},t=>{y=t.k,v=t.a},t=>{d=t.resolveComponent,r=t.openBlock,s=t.createElementBlock,f=t.normalizeStyle,l=t.Fragment,o=t.renderList,i=t.createBlock,c=t.withCtx,h=t.createElementVNode,k=t.toDisplayString,p=t.resolveDynamicComponent,u=t.mergeProps},null,null,null,null,null],execute:(function(){const t={mixins:[g],computed:{columns(){return Number.parseInt(this.parameters[0])},widgetChunks(){return v.chunk(this.widgets,this.columns)}},created:function(){if(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 C(n,m,a,D,E,N){const T=d("v-tooltip");return r(),s("table",{style:f(n.computedStyle),role:"presentation"},[(r(!0),s(l,null,o(N.widgetChunks,(b,z)=>(r(),s("tr",{key:"r"+z},[(r(!0),s(l,null,o(b,(e,x)=>(r(),s("td",{key:"c"+x},[n.getTooltipText(e)?(r(),i(T,{key:0,"open-delay":n.getTooltipDelay(e),location:"top","activator-props":n.getTooltipActivatorProps(e)},{activator:c(({props:A})=>[(r(),i(p(e.type),u({ref_for:!0},{...n.listeners,...A},{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:c(()=>[h("span",null,k(n.getTooltipText(e)),1)]),_:2},1032,["open-delay","activator-props"])):(r(),i(p(e.type),u({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"]))]))),128))]))),128))],4)}const S=w("default",y(t,[["render",C]]))})}}));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","single-spa","./OutputDialog-B0DR879Y-1fe936426c84cb442ac4.js","vue-router","pinia","vuetify"],(function(U,K){"use strict";var O,E,v,A,c,u,g,n,a,C,p,h,_,y,w,F,R,N,T,j;return{setters:[l=>{O=l.k,E=l.R,v=l.D,A=l.F},l=>{c=l.resolveComponent,u=l.openBlock,g=l.createBlock,n=l.withCtx,a=l.createVNode,C=l.createElementVNode,p=l.toDisplayString,h=l.createTextVNode,_=l.createElementBlock,y=l.Fragment,w=l.createCommentVNode,F=l.renderList,R=l.withDirectives,N=l.vShow,T=l.mergeProps},null,l=>{j=l.S},null,null,null],execute:(function(){const l={props:{modelValue:Boolean,text:{type:String,default:null},title:{type:String,default:null}},emits:["update:modelValue"],computed:{dialogText:function(){return this.text},show:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},methods:{download:function(){const e=new Blob([this.dialogText],{type:"text/plain"}),t=document.createElement("a");t.href=URL.createObjectURL(e),t.setAttribute("download",`${this.title}__error.txt`),t.click()}}},P={class:"mx-2"},I={class:"pa-2"};function L(e,t,d,r,o,i){const f=c("v-spacer"),m=c("v-btn"),k=c("v-toolbar"),M=c("v-textarea"),$=c("v-card-text"),V=c("v-card-actions"),D=c("v-card"),x=c("v-dialog");return u(),g(x,{modelValue:i.show,"onUpdate:modelValue":t[2]||(t[2]=S=>i.show=S),width:"600"},{default:n(()=>[a(D,null,{default:n(()=>[a(k,{height:"24"},{default:n(()=>[a(f),C("span",null,p(d.title),1),a(f),C("div",P,[a(m,{icon:"mdi-download",variant:"text",density:"compact","data-test":"downloadIcon",onClick:i.download},null,8,["onClick"])])]),_:1}),C("div",I,[a($,null,{default:n(()=>[a(M,{modelValue:i.dialogText,"onUpdate:modelValue":t[0]||(t[0]=S=>i.dialogText=S),readonly:"",rows:"15","data-test":"dialogText"},null,8,["modelValue"])]),_:1})]),a(V,{class:"px-2"},{default:n(()=>[a(f),a(m,{variant:"flat",onClick:t[1]||(t[1]=S=>i.show=!i.show)},{default:n(()=>[...t[3]||(t[3]=[h(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const J={components:{OutputDialog:j,TextBoxDialog:O(l,[["render",L]])},mixins:[E],data(){return{filteredMicroservices:[],allMicroservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1,alert:"",alertType:"success",showAlert:!1,updater:null,timeZone:"local",microserviceOperations:{}}},computed:{serviceFilter(){const e=this.$route.query.services;return e?e.split(",").map(t=>t.trim()).filter(t=>t):null},hasServiceFilter(){return this.serviceFilter&&this.serviceFilter.length>0},totalServiceCount(){return this.allMicroservices.length},filteredServiceCount(){return this.filteredMicroservices.length}},watch:{"$route.query.services":function(){this.applyServiceFilter()}},created(){new A().get_setting("time_zone").then(e=>{e&&(this.timeZone=e)}).catch(()=>{})},mounted(){this.update(),this.updater=setInterval(()=>{this.update()},2e3)},beforeUnmount(){clearInterval(this.updater),this.updater=null},methods:{isOperationInProgress:function(e){return!!this.microserviceOperations[e]},isEnabled:function(e){return this.allMicroservices.find(t=>t.name===e)?.enabled!==!1},isRestarting:function(e){return this.microserviceOperations[e]?.operation==="restarting"},isStarting:function(e){return this.microserviceOperations[e]?.operation==="starting"},isStopping:function(e){return this.microserviceOperations[e]?.operation==="stopping"},update:function(){v.get("/openc3-api/microservice_status/all").then(e=>{this.microservice_status=e.data,this.checkOperationCompletion()}),v.get("/openc3-api/microservices/all").then(e=>{let t=[];for(const[d,r]of Object.entries(e.data))t.push(r);t.sort((d,r)=>d.name.localeCompare(r.name)),this.allMicroservices=t,this.applyServiceFilter()})},checkOperationCompletion:function(){for(const[e,t]of Object.entries(this.microserviceOperations)){const d=this.allMicroservices.find(i=>i.name===e);if(!d)continue;const r=d.enabled!==!1,o=t.enabled_states[t.enabled_states.length-1];r!==o&&t.enabled_states.push(r),this.isOperationComplete(e,t)&&delete this.microserviceOperations[e]}},isOperationComplete:function(e,t){if(Date.now()-t.time_started>3e4)return this.alert=`${e} timed out when ${t.operation}.`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[e],!0;if(t.operation==="stopping")return t.enabled_states.includes(!1);if(t.operation==="starting")return t.enabled_states.includes(!0);if(t.operation==="restarting"){const d=this.microservice_status[e]?.updated_at;return d&&t.initial_updated_at?d!==t.initial_updated_at:!1}return!1},applyServiceFilter:function(){this.hasServiceFilter?this.filteredMicroservices=this.allMicroservices.filter(e=>this.serviceFilter.includes(e.name)):this.filteredMicroservices=this.allMicroservices},clearServiceFilter:function(){this.$router.push({query:{}})},bulkRestartServices:function(){const e=this.filteredMicroservices.map(r=>r.name),t=e.join(", "),d=`Are you sure you want to restart ${e.length} microservice(s)? ${t}`;this.$dialog.confirm(d,{okText:"Restart",cancelText:"Cancel"}).then(()=>{e.forEach(r=>{const o=this.allMicroservices.find(f=>f.name===r)?.enabled!==!1,i=this.microservice_status[r]?.updated_at;this.microserviceOperations[r]={operation:"restarting",enabled_states:[o],initial_updated_at:i,time_started:Date.now()},v.post(`/openc3-api/microservices/${r}/start`).catch(f=>{this.alert=`Start command failed for ${r}: ${f}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[r]})})}).catch(()=>{})},bulkStopServices:function(){const e=this.filteredMicroservices.map(r=>r.name),t=e.join(", "),d=`Are you sure you want to stop ${e.length} microservice(s)?
|
|
2
2
|
|
|
3
|
-
${t}`;this.$dialog.confirm(d,{okText:"Stop",cancelText:"Cancel"}).then(()=>{e.forEach(r=>{const o=this.allMicroservices.find(i=>i.name===r)?.enabled!==!1;this.microserviceOperations[r]={operation:"stopping",enabled_states:[o],time_started:Date.now()},v.post(`/openc3-api/microservices/${r}/stop`).catch(i=>{this.alert=`Stop command failed for ${r}: ${i}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[r]})})}).catch(()=>{})},stopMicroservice:function(e){this.$dialog.confirm(`Are you sure you want to stop microservice: ${e}?`,{okText:"Stop",cancelText:"Cancel"}).then(t=>{const d=this.allMicroservices.find(r=>r.name===e)?.enabled!==!1;this.microserviceOperations[e]={operation:"stopping",enabled_states:[d],time_started:Date.now()},v.post(`/openc3-api/microservices/${e}/stop`).catch(r=>{this.alert=`Stop command failed for ${e}: ${r}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[e]})})},restartMicroservice:function(e){this.$dialog.confirm(`Are you sure you want to restart microservice: ${e}?`,{okText:"Restart",cancelText:"Cancel"}).then(t=>{const d=this.allMicroservices.find(r=>r.name===e)?.enabled!==!1;this.microserviceOperations[e]={operation:"restarting",enabled_states:[d],initial_updated_at:this.microservice_status[e]?.updated_at,time_started:Date.now()},v.post(`/openc3-api/microservices/${e}/start`).catch(r=>{this.alert=`Restart command failed for ${e}: ${r}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[e]})})},showMicroservice:function(e){v.get(`/openc3-api/microservices/${e}`).then(t=>{this.microservice_id=e,this.dialogTitle=e,this.jsonContent=JSON.stringify(t.data,null," "),this.showDialog=!0})},showMicroserviceError:function(e){this.dialogTitle=e;const t=this.microservice_status[e].error;this.jsonContent=JSON.stringify(t,null," "),this.showError=!0},getStateColor(e){const t=this.microservice_status[e];return t?t.error?"red":!this.isEnabled(e)||t.state==="STOPPED"?"yellow":t.state==="RUNNING"?"green":"grey":"grey"},getStateText(e){return this.isEnabled(e)?this.microservice_status[e].state:"STOPPED"},dialogCallback:function(e){if(this.showDialog=!1,e!==null){let t=JSON.parse(e),d="put",r=`/openc3-api/microservices/${this.microservice_id}`;t.name!==this.microservice_id&&(d="post",r="/openc3-api/microservices"),v[d](r,{data:{json:e}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}},Z={class:"text-caption text-medium-emphasis mt-2 mb-2 ml-4"};function q(e,t,d,r,o,i){const f=c("v-alert"),m=c("v-btn"),k=c("v-col"),M=c("v-row"),$=c("v-list-item-title"),V=c("v-list-item-subtitle"),
|
|
3
|
+
${t}`;this.$dialog.confirm(d,{okText:"Stop",cancelText:"Cancel"}).then(()=>{e.forEach(r=>{const o=this.allMicroservices.find(i=>i.name===r)?.enabled!==!1;this.microserviceOperations[r]={operation:"stopping",enabled_states:[o],time_started:Date.now()},v.post(`/openc3-api/microservices/${r}/stop`).catch(i=>{this.alert=`Stop command failed for ${r}: ${i}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[r]})})}).catch(()=>{})},stopMicroservice:function(e){this.$dialog.confirm(`Are you sure you want to stop microservice: ${e}?`,{okText:"Stop",cancelText:"Cancel"}).then(t=>{const d=this.allMicroservices.find(r=>r.name===e)?.enabled!==!1;this.microserviceOperations[e]={operation:"stopping",enabled_states:[d],time_started:Date.now()},v.post(`/openc3-api/microservices/${e}/stop`).catch(r=>{this.alert=`Stop command failed for ${e}: ${r}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[e]})})},restartMicroservice:function(e){this.$dialog.confirm(`Are you sure you want to restart microservice: ${e}?`,{okText:"Restart",cancelText:"Cancel"}).then(t=>{const d=this.allMicroservices.find(r=>r.name===e)?.enabled!==!1;this.microserviceOperations[e]={operation:"restarting",enabled_states:[d],initial_updated_at:this.microservice_status[e]?.updated_at,time_started:Date.now()},v.post(`/openc3-api/microservices/${e}/start`).catch(r=>{this.alert=`Restart command failed for ${e}: ${r}`,this.alertType="error",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),delete this.microserviceOperations[e]})})},showMicroservice:function(e){v.get(`/openc3-api/microservices/${e}`).then(t=>{this.microservice_id=e,this.dialogTitle=e,this.jsonContent=JSON.stringify(t.data,null," "),this.showDialog=!0})},showMicroserviceError:function(e){this.dialogTitle=e;const t=this.microservice_status[e].error;this.jsonContent=JSON.stringify(t,null," "),this.showError=!0},getStateColor(e){const t=this.microservice_status[e];return t?t.error?"red":!this.isEnabled(e)||t.state==="STOPPED"?"yellow":t.state==="RUNNING"?"green":"grey":"grey"},getStateText(e){return this.isEnabled(e)?this.microservice_status[e].state:"STOPPED"},dialogCallback:function(e){if(this.showDialog=!1,e!==null){let t=JSON.parse(e),d="put",r=`/openc3-api/microservices/${this.microservice_id}`;t.name!==this.microservice_id&&(d="post",r="/openc3-api/microservices"),v[d](r,{data:{json:e}}).then(o=>{this.alert="Modified Microservice",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update()})}}}},Z={class:"text-caption text-medium-emphasis mt-2 mb-2 ml-4"};function q(e,t,d,r,o,i){const f=c("v-alert"),m=c("v-btn"),k=c("v-col"),M=c("v-row"),$=c("v-list-item-title"),V=c("v-list-item-subtitle"),D=c("v-chip"),x=c("v-tooltip"),S=c("v-list-item"),z=c("v-divider"),G=c("v-list"),Y=c("output-dialog"),H=c("text-box-dialog");return u(),_("div",null,[a(f,{modelValue:o.showAlert,"onUpdate:modelValue":t[0]||(t[0]=s=>o.showAlert=s),closable:"",type:o.alertType},{default:n(()=>[h(p(o.alert),1)]),_:1},8,["modelValue","type"]),C("div",Z,[i.hasServiceFilter&&i.filteredServiceCount===0?(u(),_(y,{key:0},[h(" No microservices match filter (showing 0 / "+p(i.totalServiceCount)+") ",1)],64)):i.hasServiceFilter?(u(),_(y,{key:1},[h(" Showing "+p(i.filteredServiceCount)+" / "+p(i.totalServiceCount)+" microservices ",1)],64)):(u(),_(y,{key:2},[h(p(i.totalServiceCount)+" microservices ",1)],64))]),i.hasServiceFilter?(u(),g(M,{key:0,class:"ml-1 mb-1"},{default:n(()=>[a(k,{cols:"auto"},{default:n(()=>[a(m,{color:"primary","prepend-icon":"mdi-filter-off","aria-label":"Filter applied. Click to clear filter and show all services.",onClick:i.clearServiceFilter},{default:n(()=>[...t[3]||(t[3]=[h(" Show All ",-1)])]),_:1},8,["onClick"])]),_:1}),a(k,{cols:"auto"},{default:n(()=>[a(m,{color:"warning","prepend-icon":"mdi-refresh",disabled:i.filteredServiceCount===0,onClick:i.bulkRestartServices},{default:n(()=>[...t[4]||(t[4]=[h(" Restart All ",-1)])]),_:1},8,["disabled","onClick"])]),_:1}),a(k,{cols:"auto"},{default:n(()=>[a(m,{color:"error","prepend-icon":"mdi-stop",disabled:i.filteredServiceCount===0,onClick:i.bulkStopServices},{default:n(()=>[...t[5]||(t[5]=[h(" Stop All ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})):w("",!0),a(G,{class:"list","data-test":"microserviceList"},{default:n(()=>[(u(!0),_(y,null,F(o.filteredMicroservices,s=>(u(),_("div",{key:s.name},[a(S,null,{append:n(()=>[R(a(m,{icon:"mdi-alert",variant:"text",onClick:b=>i.showMicroserviceError(s.name)},null,8,["onClick"]),[[N,o.microservice_status[s.name]?.error]]),o.microservice_status[s.name]?(u(),g(D,{key:0,color:i.getStateColor(s.name),size:"small",label:""},{default:n(()=>[h(p(i.getStateText(s.name)),1)]),_:2},1032,["color"])):w("",!0),a(x,{text:i.isEnabled(s.name)?"Restart":"Start",location:"top"},{activator:n(({props:b})=>[a(m,T({ref_for:!0},b,{"aria-label":i.isEnabled(s.name)?"Restart Microservice":"Start Microservice",icon:i.isRestarting(s.name)||i.isStarting(s.name)?"mdi-loading":i.isEnabled(s.name)?"mdi-refresh":"mdi-play",class:{"rotating-icon":i.isRestarting(s.name)||i.isStarting(s.name)},variant:"text",disabled:i.isOperationInProgress(s.name),onClick:B=>i.restartMicroservice(s.name)}),null,16,["aria-label","icon","class","disabled","onClick"])]),_:2},1032,["text"]),a(x,{text:"Stop",location:"top"},{activator:n(({props:b})=>[a(m,T({ref_for:!0},b,{"aria-label":"Stop Microservice",icon:i.isStopping(s.name)?"mdi-loading":"mdi-stop",class:{"rotating-icon":i.isStopping(s.name)},variant:"text",disabled:i.isOperationInProgress(s.name),onClick:B=>i.stopMicroservice(s.name)}),null,16,["icon","class","disabled","onClick"])]),_:2},1024),a(x,{text:"Show Details",location:"top"},{activator:n(({props:b})=>[a(m,T({ref_for:!0},b,{"aria-label":"Show Microservice Details",icon:"mdi-eye",variant:"text",onClick:B=>i.showMicroservice(s.name)}),null,16,["onClick"])]),_:2},1024)]),default:n(()=>[a($,null,{default:n(()=>[h(p(s.name),1)]),_:2},1024),o.microservice_status[s.name]?(u(),g(V,{key:0},{default:n(()=>[h(" Updated: "+p(e.formatNanoseconds(o.microservice_status[s.name].updated_at,o.timeZone))+", Enabled: "+p(i.isEnabled(s.name)?"True":"False")+", Count: "+p(o.microservice_status[s.name].count),1)]),_:2},1024)):w("",!0)]),_:2},1024),a(z)]))),128))]),_:1}),o.showDialog?(u(),g(Y,{key:1,modelValue:o.showDialog,"onUpdate:modelValue":t[1]||(t[1]=s=>o.showDialog=s),content:o.jsonContent,type:"Microservice",name:o.dialogTitle,onSubmit:i.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):w("",!0),o.showError?(u(),g(H,{key:2,modelValue:o.showError,"onUpdate:modelValue":t[2]||(t[2]=s=>o.showError=s),text:o.jsonContent,title:o.dialogTitle},null,8,["modelValue","text","title"])):w("",!0)])}const W=U("default",O(J,[["render",q],["__scopeId","data-v-6b152c7a"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue"],(function(F,M){"use strict";var y,V,l,S,g,N,b,v,o,u,p,T;return{setters:[i=>{y=i.F,V=i.k},i=>{l=i.resolveComponent,S=i.openBlock,g=i.createBlock,N=i.withKeys,b=i.normalizeClass,v=i.normalizeStyle,o=i.withCtx,u=i.createVNode,p=i.createTextVNode,T=i.mergeProps}],execute:(function(){const i=new Map,c=new Map;function I(e,t){if(i.has(e))return Promise.resolve(i.get(e));if(!c.has(e)){const a=new y().get_setting(e).then(s=>{const r=s??t;return i.set(e,r),r}).catch(()=>(i.set(e,t),t)).finally(()=>{c.delete(e)});c.set(e,a)}return c.get(e)}function k(e){return i.has(e)?i.get(e):void 0}const C={inheritAttrs:!1,props:{modelValue:{type:String,default:""},label:{type:String,default:"Time"},rules:{type:Array,default:()=>[]},errorMessages:{type:[String,Array],default:()=>[]},hideDetails:{type:[Boolean,String],default:!1},variant:{type:String,default:"filled"},density:{type:String,default:"default"},style:{type:[String,Object],default:""},textFieldClass:{type:String,default:""},dataTest:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","focus"],data(){return{menu:!1,timeFormat:k("time_format")??null,tempTime:null,inputValue:""}},computed:{computedStyle(){return typeof this.style=="string"?this.style:this.style},computedRules(){return this.rules.map(e=>()=>e(this.modelValue))}},watch:{modelValue:{immediate:!0,handler(e){!this.menu&&this.timeFormat!==null&&(this.inputValue=this.formatForDisplay(e))}},inputValue(e){e===""&&this.modelValue!==""&&this.$emit("update:modelValue","")},menu(e){e&&(this.tempTime=this.normalizeTime(this.modelValue)||"00:00:00")},tempTime(e){this.menu&&e&&(this.inputValue=this.formatForDisplay(e))}},async created(){if(this.timeFormat!==null)return;const e=this.inputValue;this.timeFormat=await I("time_format","ampm"),!this.menu&&this.inputValue===e&&(this.inputValue=this.formatForDisplay(this.modelValue))},methods:{formatForDisplay(e){return e?this.timeFormat==="24hr"?e:this.convertTo12Hour(e):""},handleBlur(){const e=this.parseTimeInput(this.inputValue);e?(this.$emit("update:modelValue",e),this.inputValue=this.formatForDisplay(e)):this.inputValue===""?this.$emit("update:modelValue",""):this.inputValue=this.formatForDisplay(this.modelValue)},parseTimeInput(e){if(!e||e.trim()==="")return"";const t=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(t){const s=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),n=t[3]?Number.parseInt(t[3],10):0;if(s>=0&&s<=23&&r>=0&&r<=59&&n>=0&&n<=59)return`${s.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}const a=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*(AM|PM|am|pm)$/i);if(a){let s=Number.parseInt(a[1],10);const r=Number.parseInt(a[2],10),n=a[3]?Number.parseInt(a[3],10):0,d=a[4].toUpperCase();if(s>=1&&s<=12&&r>=0&&r<=59&&n>=0&&n<=59)return d==="AM"?s===12&&(s=0):s!==12&&(s+=12),`${s.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}return null},save(){this.$emit("update:modelValue",this.tempTime),this.inputValue=this.formatForDisplay(this.tempTime),this.menu=!1},cancel(){this.tempTime=this.normalizeTime(this.modelValue)||"00:00:00",this.menu=!1},normalizeTime(e){if(!e)return"";const t=e.split(":");if(t.length<2)return e;const a=Number.parseInt(t[0],10),s=Number.parseInt(t[1],10),r=t.length>2?Number.parseInt(t[2],10):0;return Number.isNaN(a)||Number.isNaN(s)||Number.isNaN(r)?"":`${a.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`},convertTo12Hour(e){if(!e)return"";const t=e.split(":");if(t.length<2)return e;let a=Number.parseInt(t[0],10);const s=Number.parseInt(t[1],10),r=t.length>2?Number.parseInt(t[2],10):0;if(Number.isNaN(a)||Number.isNaN(s)||Number.isNaN(r))return e;const n=a>=12?"PM":"AM";a=a%12,a=a||12;const d=a.toString().padStart(2,"0"),h=s.toString().padStart(2,"0"),f=r.toString().padStart(2,"0");return`${d}:${h}:${f} ${n}`}}};function w(e,t,a,s,r,n){const d=l("v-icon"),h=l("v-time-picker"),f=l("v-spacer"),$=l("v-btn"),_=l("v-card-actions"),x=l("v-card"),B=l("v-menu"),D=l("v-text-field");return S(),g(D,{modelValue:r.inputValue,"onUpdate:modelValue":t[2]||(t[2]=m=>r.inputValue=m),label:a.label,rules:n.computedRules,"error-messages":a.errorMessages,"hide-details":a.hideDetails,variant:a.variant,density:a.density,style:v(n.computedStyle),class:b(a.textFieldClass),disabled:a.disabled,"data-test":a.dataTest,onBlur:n.handleBlur,onFocus:t[3]||(t[3]=m=>e.$emit("focus",m)),onKeydown:N(n.handleBlur,["enter"])},{"prepend-inner":o(()=>[u(B,{modelValue:r.menu,"onUpdate:modelValue":t[1]||(t[1]=m=>r.menu=m),"close-on-content-click":!1,transition:"scale-transition",offset:"16"},{activator:o(({props:m})=>[u(d,T(m,{class:"cursor-pointer"}),{default:o(()=>[...t[4]||(t[4]=[p(" mdi-clock-outline ",-1)])]),_:1},16)]),default:o(()=>[u(x,{class:"time-picker-card"},{default:o(()=>[u(h,{modelValue:r.tempTime,"onUpdate:modelValue":t[0]||(t[0]=m=>r.tempTime=m),format:r.timeFormat,scrollable:"","use-seconds":"","hide-header":""},null,8,["modelValue","format"]),u(_,null,{default:o(()=>[u(f),u($,{variant:"text",onClick:n.cancel},{default:o(()=>[...t[5]||(t[5]=[p("Cancel",-1)])]),_:1},8,["onClick"]),u($,{color:"primary",variant:"text",onClick:n.save},{default:o(()=>[...t[6]||(t[6]=[p("OK",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue","label","rules","error-messages","hide-details","variant","density","style","class","disabled","data-test","onBlur","onKeydown"])}const z=F("w",V(C,[["render",w],["__scopeId","data-v-3a6a70ee"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue"],(function(M,j){"use strict";var g,i,f,a,w,b,l,r,u,_,y;return{setters:[n=>{g=n.k,i=n.m,f=n.F},n=>{a=n.resolveComponent,w=n.openBlock,b=n.createBlock,l=n.withCtx,r=n.createVNode,u=n.createElementVNode,_=n.toDisplayString,y=n.createTextVNode}],execute:(function(){const n={methods:{buildLanguageMode(t,e){let o=i.require("ace/lib/oop"),h=Object.getOwnPropertyNames(f.prototype).filter(d=>d!=="constructor").filter(d=>d!=="exec").concat(["check","check_raw","check_formatted","check_exception","check_tolerance","check_expression","wait","wait_tolerance","wait_expression","wait_check","wait_check_tolerance","wait_check_expression","wait_packet","wait_check_packet","disable_instrumentation","set_line_delay","get_line_delay","set_max_output","get_max_output"]),p=new RegExp(`(\\b${h.join("\\b|\\b")}\\b)`),s=function(){t.call(this);for(let d in this.$rules)this.$rules[d].unshift({regex:p,token:"support.function"})};o.inherits(s,t);let c=i.require("ace/mode/matching_brace_outdent").MatchingBraceOutdent,m=i.require("ace/mode/behaviour/cstyle").CstyleBehaviour;return[o,function(){this.HighlightRules=s,this.$outdent=new c,this.$behaviour=new m,this.foldingRules=new e,this.indentKeywords=this.foldingRules.indentKeywords}]},buildRubyMode(){const[t,e]=this.buildLanguageMode(i.require("ace/mode/ruby_highlight_rules").RubyHighlightRules,i.require("ace/mode/folding/ruby").FoldMode);let o=i.require("ace/mode/ruby").Mode;return t.inherits(e,o),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildPythonMode(){const[t,e]=this.buildLanguageMode(i.require("ace/mode/python_highlight_rules").PythonHighlightRules,i.require("ace/mode/folding/pythonic").FoldMode);let o=i.require("ace/mode/python").Mode;return t.inherits(e,o),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildJsonMode(){const[t,e]=this.buildLanguageMode(i.require("ace/mode/json_highlight_rules").JsonHighlightRules,i.require("ace/mode/folding/ruby").FoldMode);let o=i.require("ace/mode/json").Mode;return t.inherits(e,o),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e},buildMarkdownMode(){const[t,e]=this.buildLanguageMode(i.require("ace/mode/markdown_highlight_rules").MarkdownHighlightRules,i.require("ace/mode/folding/markdown").FoldMode);let o=i.require("ace/mode/markdown").Mode;return t.inherits(e,o),(function(){this.$id="ace/mode/openc3"}).call(e.prototype),e}}},x={mixins:[n],props:{content:{type:String,required:!0},type:{type:String,default:null},name:{type:String,default:null},modelValue:Boolean,filename:{type:String,default:null}},emits:["update:modelValue"],data(){return{editor:null,mode:null}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},title:function(){return`${this.type}: ${this.name}`}},mounted(){this.editor=ace.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");let t=null;switch(this.filename?this.filename.split(".").pop():"txt"){case"json":const e=this.buildJsonMode();t=new e,this.editor.setOptions({useWorker:!1});break;case"py":case"pyi":const o=this.buildPythonMode();t=new o;break;case"md":const h=this.buildMarkdownMode();t=new h;break;default:const p=this.buildRubyMode();t=new p;break}this.editor.session.setMode(t),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.content),this.editor.clearSelection(),this.editor.focus(),this.editor.setReadOnly(!0)},beforeUnmount(){this.editor&&this.editor.destroy()},methods:{close:function(){this.show=!this.show},download:function(){const t=new Blob([this.editor.getValue()],{type:"text/plain"});let e=`${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`;this.filename&&(e=this.filename);const o=document.createElement("a");o.href=URL.createObjectURL(t),o.setAttribute("download",e),o.click()}}},v=["textContent"],q={class:"mx-2"},$={ref:"editor",class:"editor"};function V(t,e,o,h,p,s){const c=a("v-spacer"),m=a("v-btn"),d=a("v-toolbar"),R=a("v-card-text"),C=a("v-card-actions"),S=a("v-card"),L=a("v-dialog");return w(),b(L,{modelValue:s.show,"onUpdate:modelValue":e[1]||(e[1]=k=>s.show=k),width:"85vw"},{default:l(()=>[r(S,null,{default:l(()=>[r(d,{height:"24"},{default:l(()=>[r(c),u("span",{textContent:_(s.title)},null,8,v),r(c),u("div",q,[r(m,{icon:"mdi-download",variant:"text",density:"compact","data-test":"downloadIcon",onClick:s.download},null,8,["onClick"])])]),_:1}),r(R,null,{default:l(()=>[u("pre",$,null,512)]),_:1}),r(C,{class:"pr-6 pb-4 pt-0"},{default:l(()=>[r(c),r(m,{variant:"flat",onClick:e[0]||(e[0]=k=>s.show=!s.show)},{default:l(()=>[...e[2]||(e[2]=[y(" Ok ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const B=M("S",g(x,[["render",V],["__scopeId","data-v-a87eb5ef"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","single-spa","./SimpleTextDialog-tGqcHHCx-aac1d333cbb9a93606d6.js","vue-router","pinia","vuetify"],(function(U,q){"use strict";var w,D,b,f,O,i,r,u,e,t,d,h,V,y,v,$,m,S,T,F,N;return{setters:[a=>{w=a.k,D=a.R,b=a.C,f=a.D,O=a.F},a=>{i=a.resolveComponent,r=a.openBlock,u=a.createElementBlock,e=a.createVNode,t=a.withCtx,d=a.createTextVNode,h=a.createElementVNode,V=a.createBlock,y=a.Fragment,v=a.renderList,$=a.createSlots,m=a.toDisplayString,S=a.normalizeClass,T=a.mergeProps,F=a.createCommentVNode},null,a=>{N=a.E},null,null,null],execute:(function(){const a={components:{DownloadDialog:b,SimpleTextDialog:N},mixins:[D],data(){return{showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",files:[],loadingPackage:!1,progress:0,gems:[],python:[],processes:{},timeZone:"local"}},created(){new O().get_setting("time_zone").then(n=>{n&&(this.timeZone=n)}).catch(()=>{})},mounted(){this.update(),this.updateProcesses()},methods:{showOutput:function(n){this.processOutput=n.output,this.showProcessOutput=!0},update(){f.get("/openc3-api/packages").then(n=>{this.gems=n.data.ruby,this.python=n.data.python})},updateProcesses:function(){f.get("/openc3-api/process_status/package_?substr=true").then(n=>{this.processes=n.data,Object.keys(this.processes).length>0&&setTimeout(()=>{this.updateProcesses(),this.update()},2500)})},selectFile(){this.progress=0,this.$refs.fileInput.click()},fileChange(n){const s=n.target.files;if(s.length>0){this.loadingPackage=!0;let E=this;const B=[...s].map(o=>{const c=new FormData;return c.append("package",o,o.name),f.post("/openc3-api/packages",{data:c,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(g){let p=Math.round(g.loaded*100/g.total);E.progress=p}})});Promise.all(B).then(o=>{this.$notify.normal({body:`Uploaded ${o.length} package${o.length>1?"s":""}`}),this.loadingPackage=!1,this.files=[],setTimeout(()=>{this.updateProcesses()},2500)}).catch(o=>{this.loadingPackage=!1})}},deletePackage(n){this.$dialog.confirm(`Are you sure you want to remove: ${n}`,{okText:"Delete",cancelText:"Cancel"}).then(s=>f.delete(`/openc3-api/packages/${n}`)).then(s=>{this.$notify.normal({body:`Removed package ${n}`}),setTimeout(()=>{this.updateProcesses()},2500)}).catch(s=>{this.$notify.serious({body:`Failed to remove package ${n}`})})}}},j=["textContent"],G=["textContent"];function I(n,s,E,B,o,c){const g=i("v-btn"),p=i("v-col"),z=i("rux-progress"),C=i("v-row"),_=i("v-list-item-title"),A=i("v-list-item-subtitle"),Z=i("v-tooltip"),x=i("v-list-item"),P=i("v-divider"),R=i("v-list"),H=i("download-dialog"),M=i("simple-text-dialog");return r(),u("div",null,[e(C,{"no-gutters":"",align:"center",class:"px-2"},{default:t(()=>[e(p,{class:"pa-2 mt-2"},{default:t(()=>[e(g,{onClick:c.selectFile},{default:t(()=>[...s[3]||(s[3]=[d("Install Package",-1)])]),_:1},8,["onClick"]),h("input",{ref:"fileInput",style:{display:"none"},type:"file",onChange:s[0]||(s[0]=(...l)=>c.fileChange&&c.fileChange(...l))},null,544)]),_:1}),e(p,{class:"ml-4 mr-2",cols:"4"},{default:t(()=>[e(z,{value:o.progress},null,8,["value"])]),_:1})]),_:1}),Object.keys(o.processes).length>0?(r(),V(R,{key:0,class:"list","data-test":"process-list"},{default:t(()=>[e(C,{"no-gutters":"",class:"px-4"},{default:t(()=>[e(p,{class:"text-h6"},{default:t(()=>[...s[4]||(s[4]=[d("Process List",-1)])]),_:1}),e(p,{align:"right"},{default:t(()=>[...s[5]||(s[5]=[h("div",null,"Showing last 10 min of activity",-1)])]),_:1})]),_:1}),(r(!0),u(y,null,v(o.processes,l=>(r(),u("div",{key:l.name},[e(x,null,$({default:t(()=>[e(_,null,{default:t(()=>[h("span",{class:S(l.state.toLowerCase()),textContent:m(`Processing ${l.process_type}: ${l.detail} - ${l.state}`)},null,10,j)]),_:2},1024),e(A,null,{default:t(()=>[h("span",{textContent:m(" Updated At: "+n.formatNanoseconds(l.updated_at,o.timeZone))},null,8,G)]),_:2},1024)]),_:2},[l.state!=="Running"?{name:"append",fn:t(()=>[e(Z,{"open-delay":600,location:"top"},{activator:t(({props:k})=>[e(g,T({ref_for:!0},k,{icon:"mdi-eye",variant:"text","aria-label":"Show Output",onClick:L=>c.showOutput(l)}),null,16,["onClick"])]),default:t(()=>[s[6]||(s[6]=h("span",null,"Show Output",-1))]),_:2},1024)]),key:"0"}:void 0]),1024),e(P)]))),128))]),_:1})):F("",!0),e(R,{class:"list","data-test":"packageList"},{default:t(()=>[e(C,{class:"px-4"},{default:t(()=>[e(p,{class:"text-h6"},{default:t(()=>[...s[7]||(s[7]=[d("Ruby Gems",-1)])]),_:1})]),_:1}),(r(!0),u(y,null,v(o.gems,(l,k)=>(r(),u("div",{key:k},[e(x,null,{append:t(()=>[e(g,{icon:"mdi-delete",variant:"text","aria-label":"Delete Ruby Gem",onClick:L=>c.deletePackage(l)},null,8,["onClick"])]),default:t(()=>[e(_,null,{default:t(()=>[d(m(l),1)]),_:2},1024)]),_:2},1024),e(P)]))),128)),e(C,{class:"px-4"},{default:t(()=>[e(p,{class:"text-h6"},{default:t(()=>[...s[8]||(s[8]=[d("Python Packages",-1)])]),_:1})]),_:1}),(r(!0),u(y,null,v(o.python,(l,k)=>(r(),u("div",{key:k},[e(x,null,{append:t(()=>[e(g,{icon:"mdi-delete",variant:"text","aria-label":"Delete Python Package",onClick:L=>c.deletePackage(l)},null,8,["onClick"])]),default:t(()=>[e(_,null,{default:t(()=>[d(m(l),1)]),_:2},1024)]),_:2},1024),e(P)]))),128))]),_:1}),e(H,{modelValue:o.showDownloadDialog,"onUpdate:modelValue":s[1]||(s[1]=l=>o.showDownloadDialog=l)},null,8,["modelValue"]),e(M,{modelValue:o.showProcessOutput,"onUpdate:modelValue":s[2]||(s[2]=l=>o.showProcessOutput=l),title:"Process Output",text:o.processOutput},null,8,["modelValue","text"])])}const J=U("default",w(a,[["render",I],["__scopeId","data-v-e5f831d9"]]))})}}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
System.register(["./main-320f7a52ead0c027f3e7.js","vue","single-spa","./SimpleTextDialog-C-0ZC2bs-48d950cb04fe0c899bab.js","./settings-DZ910lLo-06b2e35cd3b4b6b6686c.js","vue-router","pinia","vuetify"],(function(te,et){"use strict";var $,W,Y,Z,P,j,G,n,r,y,i,o,f,u,h,A,E,v,z,M,k,K,L,N,J,Q;return{setters:[p=>{$=p.f,W=p.R,Y=p.C,Z=p.$,P=p.u,j=p.g,G=p.c},p=>{n=p.resolveComponent,r=p.openBlock,y=p.createElementBlock,i=p.createVNode,o=p.withCtx,f=p.createTextVNode,u=p.createElementVNode,h=p.createBlock,A=p.Fragment,E=p.renderList,v=p.toDisplayString,z=p.normalizeClass,M=p.mergeProps,k=p.createCommentVNode,K=p.normalizeProps,L=p.guardReactiveProps,N=p.withModifiers},null,p=>{J=p.E},p=>{Q=p.n},null,null,null],execute:(function(){const p="store_url",X="https://store.openc3.com",B={props:{id:Number,name:String,title:String,author:String,author_extra:Object,description:String,keywords:Array,img_path:String,image_url:String,licenses:Array,homepage:String,repository:String,gem_url:String,minimum_cosmos_version:String,checksum:String,versions:Array,current_version_id:Number,access:String,entitled:Boolean,installAllowed:{type:Boolean,default:!0}},data:function(){return{_api:new j,_storeUrl:"",imageContents:null}},computed:{plugin:function(){return{id:this.id,name:this.name,title:this.title,author:this.author,author_extra:this.author_extra,description:this.description,keywords:this.keywords,img_path:this.img_path,image_url:this.image_url,licenses:this.licenses,homepage:this.homepage,repository:this.repository,gem_url:this.gem_url,minimum_cosmos_version:this.minimum_cosmos_version,checksum:this.checksum,versions:this.versions,current_version_id:this.current_version_id,access:this.access,entitled:this.entitled,installAllowed:this.installAllowed}},canInstall:function(){return this.entitled&&this.installAllowed},installTooltip:function(){return this.installAllowed?this.accessTooltip:"Only admin users can install plugins."},imageContentsWithMimeType:function(){if(this.imageContents){const e={"image/bmp":[66,77],"image/jpeg":[255,216,255],"image/png":[137,80,78,71],"image/gif":[71,73,70,56],"image/webp":[82,73,70,70]},t=new TextEncoder().encode(globalThis.atob(this.imageContents.slice(0,6))).slice(1),a=Object.entries(e).find(([g,s])=>s.every((l,c)=>l===t[c]));if(a){const[g]=a;return`data:${g};base64,${this.imageContents}`}}},_navigableStoreUrl:function(){return this._storeUrl.replace("host.docker.internal","localhost")},storeLink:function(){return this.hasStoreListing&&this._navigableStoreUrl?new URL(`/cosmos_plugins/${this.id}`,this._navigableStoreUrl):null},hasStoreListing:function(){return!!this.id},hasDetails:function(){return this.hasStoreListing?!0:!!this.title&&!!this.description},isPluginInstalled:function(){return!!this.name},accessTooltip:function(){return this.entitled?"":localStorage.getItem("pluginStore.isApiKeySet")!=="true"?"Please add your App Store API key using the settings cog icon.":this.access==="enterprise"?"A COSMOS Enterprise license is required for this plugin.":"Please contact sales@openc3.com for access to this plugin."}},created:async function(){try{this._storeUrl=await this._api.get_setting(p)||X}catch{this._storeUrl=X}if(this.img_path)try{const e=new URLSearchParams({volume:"OPENC3_GEMS_VOLUME",scope:globalThis.openc3Scope}),{data:t}=await P.get(`/openc3-api/storage/download_file/${encodeURIComponent(this.img_path)}?${e}`);this.imageContents=t.contents}catch{}}},ie={mixins:[B],props:{modelValue:Boolean},emits:["triggerInstall","triggerUninstall","update:modelValue"],data(){return{showDialog:!1,showCopiedTooltip:!1,installedCosmosVersion:null,selectedVersionId:null}},computed:{isDialogOpen:{get:function(){return this.modelValue||this.showDialog},set:function(e){this.showDialog=e,this.$emit("update:modelValue",e)}},hasVersions:function(){return this.versions&&this.versions.length>0},selectedVersion:function(){if(!this.hasVersions)return null;const e=this.selectedVersionId||this.current_version_id;return this.versions.find(t=>t.id===e)||this.versions[0]},versionOptions:function(){return this.hasVersions?this.versions.map(e=>({title:e.version_number,value:e.id})):[]},versionTitle:function(){return this.selectedVersion?.title||this.title},versionDescription:function(){return this.selectedVersion?.description||this.description},versionKeywords:function(){return this.selectedVersion?.keywords||this.keywords},versionLicenses:function(){return this.selectedVersion?.licenses||this.licenses},versionHomepage:function(){return this.selectedVersion?.homepage||this.homepage},versionRepository:function(){return this.selectedVersion?.repository||this.repository},versionGemUrl:function(){return this.selectedVersion?.gem_url||this.gem_url},versionMinimumCosmosVersion:function(){return this.selectedVersion?.minimum_cosmos_version||this.minimum_cosmos_version},versionChecksum:function(){return this.selectedVersion?.checksum||this.checksum},versionImageUrl:function(){return this.selectedVersion?.image_url||this.image_url},formattedStoreLink:function(){return this._navigableStoreUrl.split("://").at(-1)},versionsAreCompatible:function(){return!this.installedCosmosVersion||!this.versionMinimumCosmosVersion?null:G.gte(this.installedCosmosVersion,this.versionMinimumCosmosVersion)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.installedCosmosVersion=e.version})},mounted:function(){this.selectedVersionId=this.current_version_id},methods:{openDialog:function(){this.isDialogOpen=!0},closeDialog:function(){this.isDialogOpen=!1},install:function(){this.$emit("triggerInstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},uninstall:function(){this.$emit("triggerUninstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},copyChecksum:function(){navigator.clipboard.writeText(this.versionChecksum),this.showCopiedTooltip=!0,setTimeout(()=>{this.showCopiedTooltip=!1},1e3)}}},se=["textContent"],le={key:0,class:"ml-1 font-italic"},ne={class:"plugin-image-backdrop"},oe=["textContent"],ae={class:"mt-3 text-caption font-italic"},re={key:1,class:"font-italic"},ue={class:"mt-3 text-caption font-italic"},ce={class:"mt-3"},de={key:0},pe={key:1};function he(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-toolbar"),b=n("v-icon"),V=n("v-select"),C=n("v-card-subtitle"),S=n("v-img"),T=n("v-chip"),I=n("v-text-field"),O=n("v-card-text"),w=n("v-card-actions"),U=n("v-card"),H=n("v-dialog");return r(),h(H,{modelValue:l.isDialogOpen,"onUpdate:modelValue":t[3]||(t[3]=x=>l.isDialogOpen=x),"max-width":"500"},{default:o(()=>[i(U,null,{default:o(()=>[i(D,{height:"24"},{default:o(()=>[i(c),u("span",{textContent:v(l.versionTitle)},null,8,se),i(c),i(d,{location:"top"},{activator:o(({props:x})=>[u("div",K(L(x)),[i(m,{href:e.storeLink,target:"_blank",icon:"mdi-open-in-new",size:"small",variant:"plain"},null,8,["href"])],16)]),default:o(()=>[u("span",null," View at "+v(l.formattedStoreLink),1)]),_:1}),i(m,{icon:"mdi-close-box",variant:"text",density:"compact",onClick:l.closeDialog},null,8,["onClick"])]),_:1}),i(C,{class:"d-flex align-center justify-space-between subtitle-with-version"},{default:o(()=>[u("div",null,[t[4]||(t[4]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",le,v(e.author_extra.badge_text),1)):k("",!0),e.author_extra?.badge_icon?(r(),h(b,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):k("",!0)]),l.hasVersions?(r(),h(V,{key:0,modelValue:s.selectedVersionId,"onUpdate:modelValue":t[0]||(t[0]=x=>s.selectedVersionId=x),items:l.versionOptions,"item-title":"title","item-value":"value",label:"Version",density:"compact",variant:"outlined","hide-details":"",class:"mt-1 version-select"},null,8,["modelValue","items"])):k("",!0)]),_:1}),i(O,null,{default:o(()=>[u("div",ne,[e.imageContentsWithMimeType?(r(),h(S,{key:0,src:e.imageContentsWithMimeType},null,8,["src"])):l.versionImageUrl?(r(),h(S,{key:1,src:l.versionImageUrl},null,8,["src"])):k("",!0)]),u("div",{class:"mt-3",textContent:v(l.versionDescription)},null,8,oe),u("div",ae,[t[5]||(t[5]=f(" Keywords: ",-1)),l.versionKeywords?(r(!0),y(A,{key:0},E(l.versionKeywords,x=>(r(),h(T,{key:x,variant:"flat",color:"primary",size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128)):(r(),y("span",re," none "))]),u("div",ue,[t[6]||(t[6]=f(" Licenses: ",-1)),(r(!0),y(A,null,E(l.versionLicenses,x=>(r(),h(T,{key:x,size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128))]),u("div",ce,[t[7]||(t[7]=u("span",{class:"text-caption font-italic"}," Minimum COSMOS version: ",-1)),f(" "+v(l.versionMinimumCosmosVersion)+" ",1),l.versionsAreCompatible!==null?(r(),h(d,{key:0,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(L(x)),[i(b,{icon:l.versionsAreCompatible?"mdi-check-circle":"mdi-alert",size:"small"},null,8,["icon"])],16)]),default:o(()=>[l.versionsAreCompatible?(r(),y("span",de," Your version of COSMOS meets the requirements. ")):(r(),y("span",pe," Your version of COSMOS is out of date. You can still install this plugin, but it might not work correctly. "))]),_:1})):k("",!0)]),i(I,{modelValue:l.versionChecksum,"onUpdate:modelValue":t[2]||(t[2]=x=>l.versionChecksum=x),class:"mt-3",label:"SHA256",variant:"solo",density:"compact","hide-details":"",readonly:""},{append:o(()=>[i(d,{modelValue:s.showCopiedTooltip,"onUpdate:modelValue":t[1]||(t[1]=x=>s.showCopiedTooltip=x),location:"top","open-on-hover":!1},{activator:o(({props:x})=>[i(m,M(x,{icon:"mdi-content-copy",variant:"text",density:"compact",onClick:l.copyChecksum}),null,16,["onClick"])]),default:o(()=>[t[8]||(t[8]=u("span",null,"Copied!",-1))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1}),i(w,{class:"justify-start px-6"},{default:o(()=>[e.isPluginInstalled?(r(),h(m,{key:0,text:"Uninstall","append-icon":"mdi-puzzle-remove",variant:"outlined",color:"red",onClick:l.uninstall},null,8,["onClick"])):(r(),h(d,{key:1,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(L(e.canInstall?null:x)),[i(m,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:l.install},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})),l.versionRepository?(r(),h(m,{key:2,text:"Repository","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionRepository,target:"_blank"},null,8,["href"])):k("",!0),l.versionHomepage?(r(),h(m,{key:3,text:"Homepage","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionHomepage,target:"_blank"},null,8,["href"])):k("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ee=$(ie,[["render",he],["__scopeId","data-v-ac4e664f"]]),ge={components:{PluginDetailsDialog:ee},mixins:[B],emits:["triggerInstall"],data(){return{showDialog:!1}},methods:{openDialog:function(){this.showDialog=!0},install:function(e){this.$emit("triggerInstall",{id:this.id,version_id:e?.version_id||this.current_version_id})}}},me={key:0,class:"ml-1 font-italic"},fe={class:"plugin-image-backdrop"},ve=["textContent"];function _e(e,t,a,g,s,l){const c=n("v-card-title"),m=n("v-icon"),d=n("v-card-subtitle"),D=n("v-img"),b=n("v-card-text"),V=n("v-spacer"),C=n("v-btn"),S=n("v-tooltip"),T=n("v-card-actions"),I=n("v-card"),O=n("plugin-details-dialog");return r(),y(A,null,[i(I,{height:"350",class:"d-flex flex-column",onClick:l.openDialog},{default:o(()=>[i(c,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[f(v(e.title),1)]),_:1}),i(d,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[u("div",null,[t[1]||(t[1]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",me,v(e.author_extra.badge_text),1)):k("",!0),e.author_extra?.badge_icon?(r(),h(m,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):k("",!0)])]),_:1}),i(b,null,{default:o(()=>[u("div",fe,[e.image_url?(r(),h(D,{key:0,src:e.image_url,"max-height":"160"},null,8,["src"])):k("",!0)]),u("div",{class:z({"truncate-description":!0,"truncate-2":!!e.image_url,"truncate-10":!e.image_url}),textContent:v(e.description)},null,10,ve)]),_:1}),i(V),i(T,{class:"flex-wrap"},{default:o(()=>[i(S,{"open-delay":600,location:"top"},{activator:o(({props:w})=>[u("span",K(L(e.canInstall?null:w)),[i(C,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:N(l.install,["stop"])},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})]),_:1})]),_:1},8,["onClick"]),s.showDialog?(r(),h(O,M({key:0,modelValue:s.showDialog,"onUpdate:modelValue":t[0]||(t[0]=w=>s.showDialog=w)},e.plugin,{onTriggerInstall:l.install}),null,16,["modelValue","onTriggerInstall"])):k("",!0)],64)}const ye=$(ge,[["render",_e],["__scopeId","data-v-825f4373"]]),q="store_url",F="store_api_key",R="DEFAULT",we="https://store.openc3.com",xe={mixins:[Q],props:{modelValue:Boolean},emits:["update:modelValue","update:storeUrl"],data(){return{showDialog:!1,storeUrl:"",apiKey:null,isEnterprise:!1,showApiKeyAlert:!1,suppressApiKeyAlert:!1,rules:{required:e=>!!e||"Required",url:e=>{try{new URL(e)}catch{return"Not a valid URL"}return!0}}}},computed:{accountSettingsUrl:function(){const e=this.storeUrl.replace("host.docker.internal","localhost");return new URL("account",e)}},watch:{apiKey:function(e){this.checkEnterpriseKey(),localStorage.setItem("pluginStore.isApiKeySet",!!e)},isEnterprise:function(e){this.checkEnterpriseKey()},suppressApiKeyAlert:function(e){localStorage.setItem("pluginStore.suppressApiKeyAlert",e)},modelValue:function(e){e&&(this.showDialog=e)},showDialog:function(e){e||this.$emit("update:modelValue",e)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.isEnterprise=e.enterprise}),this.loadSetting(q,{scope:R}),this.loadSetting(F,{scope:R}),this.$emit("update:storeUrl",this.storeUrl)},methods:{checkEnterpriseKey:function(){this.isEnterprise&&this.apiKey===""&&this.openApiKeyAlert()},openApiKeyAlert:function(){localStorage.getItem("pluginStore.suppressApiKeyAlert")!=="true"&&(this.showApiKeyAlert=!0)},closeApiKeyAlert:function(){this.showApiKeyAlert=!1},save:function(){this.saveSetting(q,this.storeUrl,{scope:R}),this.saveSetting(F,this.apiKey,{scope:R}),this.$emit("update:storeUrl",this.storeUrl),this.showDialog=!1},parseSetting:function(e,{setting:t}){switch(t){case q:this.storeUrl=e||we;break;case F:this.apiKey=e||"";break}}}},Ce=["href"];function ke(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-toolbar"),d=n("v-alert"),D=n("v-text-field"),b=n("v-card-text"),V=n("v-btn"),C=n("v-card-actions"),S=n("v-card"),T=n("v-dialog"),I=n("v-icon"),O=n("v-checkbox");return r(),y(A,null,[i(T,{modelValue:s.showDialog,"onUpdate:modelValue":t[4]||(t[4]=w=>s.showDialog=w),width:"600"},{default:o(()=>[i(m,{height:"24"},{default:o(()=>[i(c),t[7]||(t[7]=u("span",null,"Plugin Store Settings",-1)),i(c)]),_:1}),i(S,{class:"pa-3"},{default:o(()=>[i(d,{modelValue:e.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=w=>e.errorLoading=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error loading previous configuration due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(d,{modelValue:e.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=w=>e.errorSaving=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error saving due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(b,null,{default:o(()=>[i(D,{modelValue:s.storeUrl,"onUpdate:modelValue":t[2]||(t[2]=w=>s.storeUrl=w),label:"Store URL",rules:[s.rules.required,s.rules.url]},null,8,["modelValue","rules"]),i(D,{modelValue:s.apiKey,"onUpdate:modelValue":t[3]||(t[3]=w=>s.apiKey=w),type:"password",label:"API Key"},null,8,["modelValue"])]),_:1}),i(C,null,{default:o(()=>[i(V,{color:"success",variant:"text",text:"Save","data-test":"save-store-settings-btn",onClick:l.save},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(T,{modelValue:s.showApiKeyAlert,"onUpdate:modelValue":t[6]||(t[6]=w=>s.showApiKeyAlert=w)},{default:o(()=>[i(S,{class:"pa-3"},{default:o(()=>[i(b,{class:"pb-0"},{default:o(()=>[t[9]||(t[9]=f(" You're using COSMOS Enterprise, but you haven't set an OpenC3 Store API key yet. You must set this to access Enterprise plugins. ",-1)),t[10]||(t[10]=u("br",null,null,-1)),t[11]||(t[11]=u("br",null,null,-1)),t[12]||(t[12]=f(" Visit the ",-1)),u("a",{href:l.accountSettingsUrl,target:"_blank"},[t[8]||(t[8]=f(" OpenC3 Store account settings",-1)),i(I,{icon:"mdi-open-in-new",size:"x-small"})],8,Ce),t[13]||(t[13]=f(" to generate an API key. Then, return here and open the Plugin Store settings with the ",-1)),i(I,{icon:"mdi-cog",size:"small"}),t[14]||(t[14]=f(" icon and paste your API key into the API key field. ",-1))]),_:1}),i(C,null,{default:o(()=>[i(O,{modelValue:s.suppressApiKeyAlert,"onUpdate:modelValue":t[5]||(t[5]=w=>s.suppressApiKeyAlert=w),class:"px-3",label:"Don't show this message again","hide-details":""},null,8,["modelValue"]),i(V,{variant:"elevated",text:"OK",onClick:l.closeApiKeyAlert},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const Pe=$(xe,[["render",ke]]),be="https://store.openc3.com",Ve={components:{PluginCard:ye,PluginStoreSettingsDialog:Pe},emits:["close","triggerInstall"],data(){return{api:new j,search:"",showSettingsDialog:!1,plugins:[],storeError:null,storeUrl:be,isEnterprise:!1,isAdmin:!0,loading:!1}},computed:{filteredPlugins:function(){let e=this.plugins;return this.search.length&&(e=e.filter(t=>t.title.toLowerCase().includes(this.search.toLowerCase()))),e},formattedStoreUrl:function(){return this.storeUrl.split("://").at(-1)},installAllowed:function(){return!this.isEnterprise||this.isAdmin}},mounted:function(){this.fetchPluginStoreData(),this.fetchUserContext()},methods:{fetchPluginStoreData:function(){this.loading=!0,P.get("/openc3-api/pluginstore").then(({data:e})=>{if(e.error){const{title:t,body:a}=e;this.storeError={title:t,body:a},this.plugins=[]}else this.storeError=null,this.plugins=e}).finally(()=>{this.loading=!1})},fetchUserContext:function(){P.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=!!t.enterprise});const e=OpenC3Auth.userroles()||[];this.isAdmin=e.includes("admin")},close:function(){this.$emit("close")},install:function(e){this.$emit("triggerInstall",e),this.close()},openSettings:function(){this.showSettingsDialog=!0},updatePluginStore:function(e){this.storeUrl=e,this.loading=!0,this.api.update_plugin_store().then(t=>{this.fetchPluginStoreData()})}}},Se={class:"d-flex justify-content-space-between"},De={class:"d-inline-flex align-center w-100"},Te={key:1,class:"d-flex justify-center align-center py-12","data-test":"plugin-store-loading"};function Ue(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-text-field"),b=n("v-alert"),V=n("v-progress-circular"),C=n("plugin-card"),S=n("v-col"),T=n("v-row"),I=n("v-container"),O=n("v-sheet"),w=n("plugin-store-settings-dialog");return r(),y(A,null,[i(O,{class:"pb-11 pt-8 px-8",height:"100%"},{default:o(()=>[u("div",Se,[t[2]||(t[2]=u("div",null,[u("div",{class:"text-h3 mb-3"},"OpenC3 Plugin Store"),u("div",{class:"text-subtitle-1"}," Browse plugins made by OpenC3 and the COSMOS community ")],-1)),i(c),i(m,{icon:"mdi-cog",variant:"text",onClick:l.openSettings},null,8,["onClick"]),i(d,{location:"top"},{activator:o(({props:U})=>[u("div",K(L(U)),[i(m,{href:s.storeUrl,target:"_blank",icon:"mdi-open-in-new",variant:"text",class:"mx-2"},null,8,["href"])],16)]),default:o(()=>[u("span",null," Open "+v(l.formattedStoreUrl),1)]),_:1}),i(m,{icon:"mdi-close",variant:"text",onClick:l.close},null,8,["onClick"])]),u("div",De,[i(D,{modelValue:s.search,"onUpdate:modelValue":t[0]||(t[0]=U=>s.search=U),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"search-plugin-store"},null,8,["modelValue"])]),i(c),t[4]||(t[4]=u("span",{class:""}," Click on a plugin to see more information about it ",-1)),s.storeError?(r(),h(b,{key:0,class:"mt-6",color:"error",title:s.storeError.title,text:s.storeError.body},null,8,["title","text"])):s.loading?(r(),y("div",Te,[i(V,{indeterminate:"",color:"primary",size:"48"}),t[3]||(t[3]=u("span",{class:"ml-4 text-subtitle-1"},"Loading plugins...",-1))])):(r(),h(I,{key:2},{default:o(()=>[i(T,null,{default:o(()=>[(r(!0),y(A,null,E(l.filteredPlugins,U=>(r(),h(S,{key:U.id,cols:"4"},{default:o(()=>[i(C,M({ref_for:!0},U,{"install-allowed":l.installAllowed,onTriggerInstall:l.install}),null,16,["install-allowed","onTriggerInstall"])]),_:2},1024))),128))]),_:1})]),_:1}))]),_:1}),i(w,{modelValue:s.showSettingsDialog,"onUpdate:modelValue":t[1]||(t[1]=U=>s.showSettingsDialog=U),"onUpdate:storeUrl":l.updatePluginStore},null,8,["modelValue","onUpdate:storeUrl"])],64)}const Ae=$(Ve,[["render",Ue]]),Ie={components:{PluginDetailsDialog:ee},mixins:[B],props:{targets:{type:Array,default:()=>[]},isModified:Boolean,microservices:{type:Object,default:()=>({})}},emits:["edit","delete","upgrade"],data(){return{showCard:!1}},computed:{displayTitle:function(){return this.title?this.title:this.name.replace(/^openc3-cosmos-/,"").replace(/-?\d+\.\d+\.\d+(?:\.pre\.beta\d+\.\d+)?\.gem(?:__\d+)?$/,"")},getMicroservicesForPlugin:function(){const e=[];for(const[t,a]of Object.entries(this.microservices))a.plugin===this.name&&e.push(t);return e},microserviceCount:function(){return this.getMicroservicesForPlugin.length}},methods:{openDetails:function(){this.hasDetails&&(this.showCard=!0)},downloadPlugin:function(){P.post(`/openc3-api/packages/${this.name}/download`).then(e=>{const t=window.atob(e.data.contents),a=new Uint8Array(t.length);for(let l=0;l<t.length;++l)a[l]=t.charCodeAt(l);const g=new Blob([a],{type:"application/zip"}),s=document.createElement("a");s.href=URL.createObjectURL(g),s.setAttribute("download",e.data.filename),s.click()})},downloadTarget:function(e){P.post(`/openc3-api/targets/${e}/download`).then(t=>{const a=window.atob(t.data.contents),g=new Uint8Array(a.length);for(let c=0;c<a.length;++c)g[c]=a.charCodeAt(c);const s=new Blob([g],{type:"application/zip"}),l=document.createElement("a");l.href=URL.createObjectURL(s),l.setAttribute("download",t.data.filename),l.click()})},edit:function(){this.$emit("edit")},upgrade:function(){this.$emit("upgrade")},viewMicroservices:function(){const e=this.getMicroservicesForPlugin.join(",");this.$router.push({path:"/tools/admin/microservices",query:{services:e}})},deletePrompt:function(){this.showCard=!1,this.$emit("delete")}}},Oe=["textContent"],$e={class:"text-subtitle-2 v-list-item-subtitle pl-0"},Me={key:0},Ee=["onClick","textContent"],Ke=["textContent"];function Le(e,t,a,g,s,l){const c=n("v-img"),m=n("v-icon"),d=n("v-list-item"),D=n("v-list"),b=n("v-menu"),V=n("plugin-details-dialog");return r(),y(A,null,[u("tr",{class:z({"cursor-pointer":e.hasDetails}),"data-test":"plugin-list-item"},[u("td",null,[e.imageContentsWithMimeType?(r(),h(c,{key:0,src:e.imageContentsWithMimeType,"max-height":"56","min-width":"56"},null,8,["src"])):k("",!0)]),u("td",null,[u("div",{class:"text-h6",onClick:t[0]||(t[0]=(...C)=>l.openDetails&&l.openDetails(...C)),textContent:v(l.displayTitle)},null,8,Oe),u("div",$e,[a.isModified?(r(),y(A,{key:0},[f(" * ")],64)):k("",!0),f(" "+v(e.name),1)]),a.targets?.length?(r(),y("div",Me,[(r(!0),y(A,null,E(a.targets,(C,S)=>(r(),y("span",{key:S,class:"mr-2"},[C.modified?(r(),y("a",{key:0,style:{cursor:"pointer"},onClick:N(T=>l.downloadTarget(C.name),["prevent"]),textContent:v(C.name)},null,8,Ee)):(r(),y("span",{key:1,textContent:v(C.name)},null,8,Ke))]))),128))])):k("",!0)]),u("td",null,[i(b,null,{activator:o(({props:C})=>[i(m,M(C,{icon:"mdi-dots-horizontal","data-test":"plugin-actions"}),null,16)]),default:o(()=>[i(D,null,{default:o(()=>[i(d,{title:"Download","prepend-icon":"mdi-download","data-test":"download-plugin",onClick:l.downloadPlugin},null,8,["onClick"]),i(d,{title:"Edit Details","prepend-icon":"mdi-pencil","data-test":"edit-plugin",onClick:l.edit},null,8,["onClick"]),i(d,{title:"Upgrade","prepend-icon":"mdi-update","data-test":"upgrade-plugin",onClick:l.upgrade},null,8,["onClick"]),i(d,{title:`View Microservices (${l.microserviceCount})`,"prepend-icon":"mdi-tab","data-test":"view-microservices",onClick:l.viewMicroservices},null,8,["title","onClick"]),i(d,{title:"Delete","prepend-icon":"mdi-delete","data-test":"delete-plugin",onClick:l.deletePrompt},null,8,["onClick"])]),_:1})]),_:1})])],2),s.showCard?(r(),h(V,M({key:0,modelValue:s.showCard,"onUpdate:modelValue":t[1]||(t[1]=C=>s.showCard=C)},e.plugin,{onTriggerUninstall:l.deletePrompt}),null,16,["modelValue","onTriggerUninstall"])):k("",!0)],64)}const je=$(Ie,[["render",Le]]),ze={components:{PluginListItem:je},props:{plugins:{type:Array,required:!0},targets:{type:Object,required:!0},showDefaultTools:{type:Boolean,default:!1},defaultPlugins:{type:Array,required:!0}},emits:["edit","delete","upgrade"],data(){return{showPluginDetails:!1,detailPlugin:null,microservices:{}}},computed:{shownPlugins(){const e=[],t=[];return this.plugins.forEach(a=>{const g=a.name.split("__")[0].split("-").slice(0,-1).join("-");this.defaultPlugins.includes(g)?t.push(a):e.push(a)}),e.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),this.showDefaultTools?(t.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),e.concat(t)):e}},mounted(){this.fetchMicroservices()},methods:{showDetails:function(e){this.detailPlugin=e,this.showPluginDetails=!0},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},editPlugin:function(e){this.$emit("edit",e)},upgradePlugin(e){this.$emit("upgrade",e)},deletePrompt:function(e){this.$emit("delete",e)},fetchMicroservices:function(){P.get("/openc3-api/microservices/all").then(e=>{this.microservices=e.data})}}};function Re(e,t,a,g,s,l){const c=n("plugin-list-item"),m=n("v-data-table");return r(),h(m,{headers:[],items:l.shownPlugins,density:"compact",class:"list","data-test":"plugin-list"},{item:o(({item:d})=>[(r(),h(c,M({key:d.name},d,{targets:l.pluginTargets(d.name),"is-modified":l.isModified(d.name),microservices:s.microservices,onEdit:()=>l.editPlugin(d.name),onUpgrade:()=>l.upgradePlugin(d.name),onDelete:()=>l.deletePrompt(d.name)}),null,16,["targets","is-modified","microservices","onEdit","onUpgrade","onDelete"]))]),_:1},8,["items"])}const Ne=$(ze,[["render",Re],["__scopeId","data-v-16a76865"]]),Be={components:{PluginDialog:Z,PluginList:Ne,PluginStore:Ae,ModifiedPluginDialog:Y,SimpleTextDialog:J},mixins:[W],data(){return{pluginName:null,variables:{},storePluginId:null,storeVersionId:null,minCosmosVersion:null,pluginTxt:"",file:null,currentPlugin:null,pluginHashTmp:null,existingPluginTxt:null,progress:0,pluginDelete:!1,api:new j,plugins:[],targets:{},processes:{},alert:"",alertType:"success",showAlert:!1,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginStore:!1,showPluginDialog:!1,showModifiedPluginDialog:!1,showDefaultTools:!1,timeZone:"local",defaultPlugins:["openc3-cosmos-tool-admin","openc3-cosmos-tool-bucketexplorer","openc3-cosmos-tool-cmdsender","openc3-cosmos-tool-cmdqueue","openc3-cosmos-tool-cmdhistory","openc3-cosmos-tool-cmdtlmserver","openc3-cosmos-tool-dataextractor","openc3-cosmos-tool-dataviewer","openc3-cosmos-tool-docs","openc3-cosmos-tool-handbooks","openc3-cosmos-tool-iframe","openc3-cosmos-tool-limitsmonitor","openc3-cosmos-tool-packetviewer","openc3-cosmos-tool-scriptrunner","openc3-cosmos-tool-tablemanager","openc3-cosmos-tool-tlmgrapher","openc3-cosmos-tool-tlmviewer","openc3-cosmos-enterprise-tool-admin","openc3-cosmos-tool-autonomic","openc3-cosmos-tool-calendar","openc3-cosmos-tool-grafana","openc3-cosmos-tool-logexplorer","openc3-cosmos-tool-notebooks","openc3-cosmos-tool-systemhealth","openc3-enterprise-tool-base","openc3-tool-base"]}},watch:{showPluginDialog:function(e,t){e===!1&&(this.file=null,this.$refs.fileInput.value=null)}},created(){this.api.update_plugin_store(),this.api.get_setting("time_zone").then(e=>{e&&(this.timeZone=e)}).catch(()=>{})},mounted(){this.update(),this.updateProcesses();const e=this;window.onpopstate=function(){e.showPluginStore&&(e.showPluginStore=!1,history.go(1))}},methods:{resetControlState:function(){this.pluginName=null,this.variables={},this.storePluginId=null,this.storeVersionId=null,this.minCosmosVersion=null,this.pluginTxt="",this.file=null,this.currentPlugin=null,this.pluginHashTmp=null,this.existingPluginTxt=null,this.progress=0,this.pluginDelete=!1},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},showOutput:function(e){this.processOutput=e.output,this.showProcessOutput=!0},update:function(){P.get("/openc3-api/plugins/all").then(e=>{this.plugins=Object.entries(e.data).map(([t,a])=>a)}),P.get("/openc3-api/targets_modified").then(e=>{this.targets=e.data})},updateProcesses:function(){P.get("openc3-api/process_status/plugin_?substr=true").then(e=>{this.processes=e.data,Object.keys(this.processes).length>0&&setTimeout(()=>{this.updateProcesses(),this.update()},5e3)})},upload:function(e=null,t=null){const a=e?"put":"post",g=e?`/openc3-api/plugins/${e}`:"/openc3-api/plugins",s=new FormData;t===null?s.append("plugin",this.file,this.file.name):(s.append("store_plugin_id",t.id),s.append("store_version_id",t.version_id));let l=this;P[a](g,{data:s,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(c){let m=Math.round(c.loaded*100/c.total);l.progress=m}}).then(c=>{this.progress=100,this.alert="Uploaded file",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update();let m=null;c.data.existing_plugin_txt_lines!==void 0&&(m=c.data.existing_plugin_txt_lines.join(`
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","single-spa","./SimpleTextDialog-tGqcHHCx-aac1d333cbb9a93606d6.js","./settings-BrhbKDEv-791c3f57ac7979ee13b6.js","vue-router","pinia","vuetify"],(function(te,et){"use strict";var $,W,Y,Z,P,L,G,n,r,y,i,o,f,u,h,A,E,v,z,M,C,K,j,N,J,Q;return{setters:[p=>{$=p.k,W=p.R,Y=p.e,Z=p.x,P=p.D,L=p.F,G=p.j},p=>{n=p.resolveComponent,r=p.openBlock,y=p.createElementBlock,i=p.createVNode,o=p.withCtx,f=p.createTextVNode,u=p.createElementVNode,h=p.createBlock,A=p.Fragment,E=p.renderList,v=p.toDisplayString,z=p.normalizeClass,M=p.mergeProps,C=p.createCommentVNode,K=p.normalizeProps,j=p.guardReactiveProps,N=p.withModifiers},null,p=>{J=p.E},p=>{Q=p.n},null,null,null],execute:(function(){const p="store_url",X="https://store.openc3.com",B={props:{id:Number,name:String,title:String,author:String,author_extra:Object,description:String,keywords:Array,img_path:String,image_url:String,licenses:Array,homepage:String,repository:String,gem_url:String,minimum_cosmos_version:String,checksum:String,versions:Array,current_version_id:Number,access:String,entitled:Boolean,installAllowed:{type:Boolean,default:!0}},data:function(){return{_api:new L,_storeUrl:"",imageContents:null}},computed:{plugin:function(){return{id:this.id,name:this.name,title:this.title,author:this.author,author_extra:this.author_extra,description:this.description,keywords:this.keywords,img_path:this.img_path,image_url:this.image_url,licenses:this.licenses,homepage:this.homepage,repository:this.repository,gem_url:this.gem_url,minimum_cosmos_version:this.minimum_cosmos_version,checksum:this.checksum,versions:this.versions,current_version_id:this.current_version_id,access:this.access,entitled:this.entitled,installAllowed:this.installAllowed}},canInstall:function(){return this.entitled&&this.installAllowed},installTooltip:function(){return this.installAllowed?this.accessTooltip:"Only admin users can install plugins."},imageContentsWithMimeType:function(){if(this.imageContents){const e={"image/bmp":[66,77],"image/jpeg":[255,216,255],"image/png":[137,80,78,71],"image/gif":[71,73,70,56],"image/webp":[82,73,70,70]},t=new TextEncoder().encode(globalThis.atob(this.imageContents.slice(0,6))).slice(1),a=Object.entries(e).find(([g,s])=>s.every((l,c)=>l===t[c]));if(a){const[g]=a;return`data:${g};base64,${this.imageContents}`}}},_navigableStoreUrl:function(){return this._storeUrl.replace("host.docker.internal","localhost")},storeLink:function(){return this.hasStoreListing&&this._navigableStoreUrl?new URL(`/cosmos_plugins/${this.id}`,this._navigableStoreUrl):null},hasStoreListing:function(){return!!this.id},hasDetails:function(){return this.hasStoreListing?!0:!!this.title&&!!this.description},isPluginInstalled:function(){return!!this.name},accessTooltip:function(){return this.entitled?"":localStorage.getItem("pluginStore.isApiKeySet")!=="true"?"Please add your App Store API key using the settings cog icon.":this.access==="enterprise"?"A COSMOS Enterprise license is required for this plugin.":"Please contact sales@openc3.com for access to this plugin."}},created:async function(){try{this._storeUrl=await this._api.get_setting(p)||X}catch{this._storeUrl=X}if(this.img_path)try{const e=new URLSearchParams({volume:"OPENC3_GEMS_VOLUME",scope:globalThis.openc3Scope}),{data:t}=await P.get(`/openc3-api/storage/download_file/${encodeURIComponent(this.img_path)}?${e}`);this.imageContents=t.contents}catch{}}},ie={mixins:[B],props:{modelValue:Boolean},emits:["triggerInstall","triggerUninstall","update:modelValue"],data(){return{showDialog:!1,showCopiedTooltip:!1,installedCosmosVersion:null,selectedVersionId:null}},computed:{isDialogOpen:{get:function(){return this.modelValue||this.showDialog},set:function(e){this.showDialog=e,this.$emit("update:modelValue",e)}},hasVersions:function(){return this.versions&&this.versions.length>0},selectedVersion:function(){if(!this.hasVersions)return null;const e=this.selectedVersionId||this.current_version_id;return this.versions.find(t=>t.id===e)||this.versions[0]},versionOptions:function(){return this.hasVersions?this.versions.map(e=>({title:e.version_number,value:e.id})):[]},versionTitle:function(){return this.selectedVersion?.title||this.title},versionDescription:function(){return this.selectedVersion?.description||this.description},versionKeywords:function(){return this.selectedVersion?.keywords||this.keywords},versionLicenses:function(){return this.selectedVersion?.licenses||this.licenses},versionHomepage:function(){return this.selectedVersion?.homepage||this.homepage},versionRepository:function(){return this.selectedVersion?.repository||this.repository},versionGemUrl:function(){return this.selectedVersion?.gem_url||this.gem_url},versionMinimumCosmosVersion:function(){return this.selectedVersion?.minimum_cosmos_version||this.minimum_cosmos_version},versionChecksum:function(){return this.selectedVersion?.checksum||this.checksum},versionImageUrl:function(){return this.selectedVersion?.image_url||this.image_url},formattedStoreLink:function(){return this._navigableStoreUrl.split("://").at(-1)},versionsAreCompatible:function(){return!this.installedCosmosVersion||!this.versionMinimumCosmosVersion?null:G.gte(this.installedCosmosVersion,this.versionMinimumCosmosVersion)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.installedCosmosVersion=e.version})},mounted:function(){this.selectedVersionId=this.current_version_id},methods:{openDialog:function(){this.isDialogOpen=!0},closeDialog:function(){this.isDialogOpen=!1},install:function(){this.$emit("triggerInstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},uninstall:function(){this.$emit("triggerUninstall",{id:this.id,version_id:this.selectedVersionId||this.current_version_id})},copyChecksum:function(){navigator.clipboard.writeText(this.versionChecksum),this.showCopiedTooltip=!0,setTimeout(()=>{this.showCopiedTooltip=!1},1e3)}}},se=["textContent"],le={key:0,class:"ml-1 font-italic"},ne={class:"plugin-image-backdrop"},oe=["textContent"],ae={class:"mt-3 text-caption font-italic"},re={key:1,class:"font-italic"},ue={class:"mt-3 text-caption font-italic"},ce={class:"mt-3"},de={key:0},pe={key:1};function he(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-toolbar"),b=n("v-icon"),V=n("v-select"),k=n("v-card-subtitle"),S=n("v-img"),T=n("v-chip"),I=n("v-text-field"),O=n("v-card-text"),w=n("v-card-actions"),U=n("v-card"),H=n("v-dialog");return r(),h(H,{modelValue:l.isDialogOpen,"onUpdate:modelValue":t[3]||(t[3]=x=>l.isDialogOpen=x),"max-width":"500"},{default:o(()=>[i(U,null,{default:o(()=>[i(D,{height:"24"},{default:o(()=>[i(c),u("span",{textContent:v(l.versionTitle)},null,8,se),i(c),i(d,{location:"top"},{activator:o(({props:x})=>[u("div",K(j(x)),[i(m,{href:e.storeLink,target:"_blank",icon:"mdi-open-in-new",size:"small",variant:"plain"},null,8,["href"])],16)]),default:o(()=>[u("span",null," View at "+v(l.formattedStoreLink),1)]),_:1}),i(m,{icon:"mdi-close-box",variant:"text",density:"compact",onClick:l.closeDialog},null,8,["onClick"])]),_:1}),i(k,{class:"d-flex align-center justify-space-between subtitle-with-version"},{default:o(()=>[u("div",null,[t[4]||(t[4]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",le,v(e.author_extra.badge_text),1)):C("",!0),e.author_extra?.badge_icon?(r(),h(b,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):C("",!0)]),l.hasVersions?(r(),h(V,{key:0,modelValue:s.selectedVersionId,"onUpdate:modelValue":t[0]||(t[0]=x=>s.selectedVersionId=x),items:l.versionOptions,"item-title":"title","item-value":"value",label:"Version",density:"compact",variant:"outlined","hide-details":"",class:"mt-1 version-select"},null,8,["modelValue","items"])):C("",!0)]),_:1}),i(O,null,{default:o(()=>[u("div",ne,[e.imageContentsWithMimeType?(r(),h(S,{key:0,src:e.imageContentsWithMimeType},null,8,["src"])):l.versionImageUrl?(r(),h(S,{key:1,src:l.versionImageUrl},null,8,["src"])):C("",!0)]),u("div",{class:"mt-3",textContent:v(l.versionDescription)},null,8,oe),u("div",ae,[t[5]||(t[5]=f(" Keywords: ",-1)),l.versionKeywords?(r(!0),y(A,{key:0},E(l.versionKeywords,x=>(r(),h(T,{key:x,variant:"flat",color:"primary",size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128)):(r(),y("span",re," none "))]),u("div",ue,[t[6]||(t[6]=f(" Licenses: ",-1)),(r(!0),y(A,null,E(l.versionLicenses,x=>(r(),h(T,{key:x,size:"x-small",class:"ml-1"},{default:o(()=>[f(v(x),1)]),_:2},1024))),128))]),u("div",ce,[t[7]||(t[7]=u("span",{class:"text-caption font-italic"}," Minimum COSMOS version: ",-1)),f(" "+v(l.versionMinimumCosmosVersion)+" ",1),l.versionsAreCompatible!==null?(r(),h(d,{key:0,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(j(x)),[i(b,{icon:l.versionsAreCompatible?"mdi-check-circle":"mdi-alert",size:"small"},null,8,["icon"])],16)]),default:o(()=>[l.versionsAreCompatible?(r(),y("span",de," Your version of COSMOS meets the requirements. ")):(r(),y("span",pe," Your version of COSMOS is out of date. You can still install this plugin, but it might not work correctly. "))]),_:1})):C("",!0)]),i(I,{modelValue:l.versionChecksum,"onUpdate:modelValue":t[2]||(t[2]=x=>l.versionChecksum=x),class:"mt-3",label:"SHA256",variant:"solo",density:"compact","hide-details":"",readonly:""},{append:o(()=>[i(d,{modelValue:s.showCopiedTooltip,"onUpdate:modelValue":t[1]||(t[1]=x=>s.showCopiedTooltip=x),location:"top","open-on-hover":!1},{activator:o(({props:x})=>[i(m,M(x,{icon:"mdi-content-copy",variant:"text",density:"compact",onClick:l.copyChecksum}),null,16,["onClick"])]),default:o(()=>[t[8]||(t[8]=u("span",null,"Copied!",-1))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1}),i(w,{class:"justify-start px-6"},{default:o(()=>[e.isPluginInstalled?(r(),h(m,{key:0,text:"Uninstall","append-icon":"mdi-puzzle-remove",variant:"outlined",color:"red",onClick:l.uninstall},null,8,["onClick"])):(r(),h(d,{key:1,"open-delay":600,location:"top"},{activator:o(({props:x})=>[u("span",K(j(e.canInstall?null:x)),[i(m,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:l.install},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})),l.versionRepository?(r(),h(m,{key:2,text:"Repository","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionRepository,target:"_blank"},null,8,["href"])):C("",!0),l.versionHomepage?(r(),h(m,{key:3,text:"Homepage","append-icon":"mdi-open-in-new",variant:"outlined",href:l.versionHomepage,target:"_blank"},null,8,["href"])):C("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ee=$(ie,[["render",he],["__scopeId","data-v-ac4e664f"]]),ge={components:{PluginDetailsDialog:ee},mixins:[B],emits:["triggerInstall"],data(){return{showDialog:!1}},methods:{openDialog:function(){this.showDialog=!0},install:function(e){this.$emit("triggerInstall",{id:this.id,version_id:e?.version_id||this.current_version_id})}}},me={key:0,class:"ml-1 font-italic"},fe={class:"plugin-image-backdrop"},ve=["textContent"];function _e(e,t,a,g,s,l){const c=n("v-card-title"),m=n("v-icon"),d=n("v-card-subtitle"),D=n("v-img"),b=n("v-card-text"),V=n("v-spacer"),k=n("v-btn"),S=n("v-tooltip"),T=n("v-card-actions"),I=n("v-card"),O=n("plugin-details-dialog");return r(),y(A,null,[i(I,{height:"350",class:"d-flex flex-column",onClick:l.openDialog},{default:o(()=>[i(c,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[f(v(e.title),1)]),_:1}),i(d,{class:"d-flex align-center justify-content-space-between"},{default:o(()=>[u("div",null,[t[1]||(t[1]=f(" By ",-1)),u("strong",null,v(e.author),1),e.author_extra?.badge_text?(r(),y("span",me,v(e.author_extra.badge_text),1)):C("",!0),e.author_extra?.badge_icon?(r(),h(m,{key:1,icon:e.author_extra.badge_icon,size:18,class:"ml-1"},null,8,["icon"])):C("",!0)])]),_:1}),i(b,null,{default:o(()=>[u("div",fe,[e.image_url?(r(),h(D,{key:0,src:e.image_url,"max-height":"160"},null,8,["src"])):C("",!0)]),u("div",{class:z({"truncate-description":!0,"truncate-2":!!e.image_url,"truncate-10":!e.image_url}),textContent:v(e.description)},null,10,ve)]),_:1}),i(V),i(T,{class:"flex-wrap"},{default:o(()=>[i(S,{"open-delay":600,location:"top"},{activator:o(({props:w})=>[u("span",K(j(e.canInstall?null:w)),[i(k,{text:"Install","append-icon":"mdi-puzzle-plus",variant:"elevated",disabled:!e.canInstall,onClick:N(l.install,["stop"])},null,8,["disabled","onClick"])],16)]),default:o(()=>[u("span",null,v(e.installTooltip),1)]),_:1})]),_:1})]),_:1},8,["onClick"]),s.showDialog?(r(),h(O,M({key:0,modelValue:s.showDialog,"onUpdate:modelValue":t[0]||(t[0]=w=>s.showDialog=w)},e.plugin,{onTriggerInstall:l.install}),null,16,["modelValue","onTriggerInstall"])):C("",!0)],64)}const ye=$(ge,[["render",_e],["__scopeId","data-v-825f4373"]]),F="store_url",q="store_api_key",R="DEFAULT",we="https://store.openc3.com",xe={mixins:[Q],props:{modelValue:Boolean},emits:["update:modelValue","update:storeUrl"],data(){return{showDialog:!1,storeUrl:"",apiKey:null,isEnterprise:!1,showApiKeyAlert:!1,suppressApiKeyAlert:!1,rules:{required:e=>!!e||"Required",url:e=>{try{new URL(e)}catch{return"Not a valid URL"}return!0}}}},computed:{accountSettingsUrl:function(){const e=this.storeUrl.replace("host.docker.internal","localhost");return new URL("account",e)}},watch:{apiKey:function(e){this.checkEnterpriseKey(),localStorage.setItem("pluginStore.isApiKeySet",!!e)},isEnterprise:function(e){this.checkEnterpriseKey()},suppressApiKeyAlert:function(e){localStorage.setItem("pluginStore.suppressApiKeyAlert",e)},modelValue:function(e){e&&(this.showDialog=e)},showDialog:function(e){e||this.$emit("update:modelValue",e)}},created:function(){P.get("/openc3-api/info").then(({data:e})=>{this.isEnterprise=e.enterprise}),this.loadSetting(F,{scope:R}),this.loadSetting(q,{scope:R}),this.$emit("update:storeUrl",this.storeUrl)},methods:{checkEnterpriseKey:function(){this.isEnterprise&&this.apiKey===""&&this.openApiKeyAlert()},openApiKeyAlert:function(){localStorage.getItem("pluginStore.suppressApiKeyAlert")!=="true"&&(this.showApiKeyAlert=!0)},closeApiKeyAlert:function(){this.showApiKeyAlert=!1},save:function(){this.saveSetting(F,this.storeUrl,{scope:R}),this.saveSetting(q,this.apiKey,{scope:R}),this.$emit("update:storeUrl",this.storeUrl),this.showDialog=!1},parseSetting:function(e,{setting:t}){switch(t){case F:this.storeUrl=e||we;break;case q:this.apiKey=e||"";break}}}},ke=["href"];function Ce(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-toolbar"),d=n("v-alert"),D=n("v-text-field"),b=n("v-card-text"),V=n("v-btn"),k=n("v-card-actions"),S=n("v-card"),T=n("v-dialog"),I=n("v-icon"),O=n("v-checkbox");return r(),y(A,null,[i(T,{modelValue:s.showDialog,"onUpdate:modelValue":t[4]||(t[4]=w=>s.showDialog=w),width:"600"},{default:o(()=>[i(m,{height:"24"},{default:o(()=>[i(c),t[7]||(t[7]=u("span",null,"Plugin Store Settings",-1)),i(c)]),_:1}),i(S,{class:"pa-3"},{default:o(()=>[i(d,{modelValue:e.errorLoading,"onUpdate:modelValue":t[0]||(t[0]=w=>e.errorLoading=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error loading previous configuration due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(d,{modelValue:e.errorSaving,"onUpdate:modelValue":t[1]||(t[1]=w=>e.errorSaving=w),type:"error",closable:"",density:"compact"},{default:o(()=>[f(" Error saving due to "+v(e.errorText),1)]),_:1},8,["modelValue"]),i(b,null,{default:o(()=>[i(D,{modelValue:s.storeUrl,"onUpdate:modelValue":t[2]||(t[2]=w=>s.storeUrl=w),label:"Store URL",rules:[s.rules.required,s.rules.url]},null,8,["modelValue","rules"]),i(D,{modelValue:s.apiKey,"onUpdate:modelValue":t[3]||(t[3]=w=>s.apiKey=w),type:"password",label:"API Key"},null,8,["modelValue"])]),_:1}),i(k,null,{default:o(()=>[i(V,{color:"success",variant:"text",text:"Save","data-test":"save-store-settings-btn",onClick:l.save},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(T,{modelValue:s.showApiKeyAlert,"onUpdate:modelValue":t[6]||(t[6]=w=>s.showApiKeyAlert=w)},{default:o(()=>[i(S,{class:"pa-3"},{default:o(()=>[i(b,{class:"pb-0"},{default:o(()=>[t[9]||(t[9]=f(" You're using COSMOS Enterprise, but you haven't set an OpenC3 Store API key yet. You must set this to access Enterprise plugins. ",-1)),t[10]||(t[10]=u("br",null,null,-1)),t[11]||(t[11]=u("br",null,null,-1)),t[12]||(t[12]=f(" Visit the ",-1)),u("a",{href:l.accountSettingsUrl,target:"_blank"},[t[8]||(t[8]=f(" OpenC3 Store account settings",-1)),i(I,{icon:"mdi-open-in-new",size:"x-small"})],8,ke),t[13]||(t[13]=f(" to generate an API key. Then, return here and open the Plugin Store settings with the ",-1)),i(I,{icon:"mdi-cog",size:"small"}),t[14]||(t[14]=f(" icon and paste your API key into the API key field. ",-1))]),_:1}),i(k,null,{default:o(()=>[i(O,{modelValue:s.suppressApiKeyAlert,"onUpdate:modelValue":t[5]||(t[5]=w=>s.suppressApiKeyAlert=w),class:"px-3",label:"Don't show this message again","hide-details":""},null,8,["modelValue"]),i(V,{variant:"elevated",text:"OK",onClick:l.closeApiKeyAlert},null,8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64)}const Pe=$(xe,[["render",Ce]]),be="https://store.openc3.com",Ve={components:{PluginCard:ye,PluginStoreSettingsDialog:Pe},emits:["close","triggerInstall"],data(){return{api:new L,search:"",showSettingsDialog:!1,plugins:[],storeError:null,storeUrl:be,isEnterprise:!1,isAdmin:!0,loading:!1}},computed:{filteredPlugins:function(){let e=this.plugins;return this.search.length&&(e=e.filter(t=>t.title.toLowerCase().includes(this.search.toLowerCase()))),e},formattedStoreUrl:function(){return this.storeUrl.split("://").at(-1)},installAllowed:function(){return!this.isEnterprise||this.isAdmin}},mounted:function(){this.fetchPluginStoreData(),this.fetchUserContext()},methods:{fetchPluginStoreData:function(){this.loading=!0,P.get("/openc3-api/pluginstore").then(({data:e})=>{if(e.error){const{title:t,body:a}=e;this.storeError={title:t,body:a},this.plugins=[]}else this.storeError=null,this.plugins=e}).finally(()=>{this.loading=!1})},fetchUserContext:function(){P.get("/openc3-api/info").then(({data:t})=>{this.isEnterprise=!!t.enterprise});const e=OpenC3Auth.userroles()||[];this.isAdmin=e.includes("admin")},close:function(){this.$emit("close")},install:function(e){this.$emit("triggerInstall",e),this.close()},openSettings:function(){this.showSettingsDialog=!0},updatePluginStore:function(e){this.storeUrl=e,this.loading=!0,this.api.update_plugin_store().then(t=>{this.fetchPluginStoreData()})}}},Se={class:"d-flex justify-content-space-between"},De={class:"d-inline-flex align-center w-100"},Te={key:1,class:"d-flex justify-center align-center py-12","data-test":"plugin-store-loading"};function Ue(e,t,a,g,s,l){const c=n("v-spacer"),m=n("v-btn"),d=n("v-tooltip"),D=n("v-text-field"),b=n("v-alert"),V=n("v-progress-circular"),k=n("plugin-card"),S=n("v-col"),T=n("v-row"),I=n("v-container"),O=n("v-sheet"),w=n("plugin-store-settings-dialog");return r(),y(A,null,[i(O,{class:"pb-11 pt-8 px-8",height:"100%"},{default:o(()=>[u("div",Se,[t[2]||(t[2]=u("div",null,[u("div",{class:"text-h3 mb-3"},"OpenC3 Plugin Store"),u("div",{class:"text-subtitle-1"}," Browse plugins made by OpenC3 and the COSMOS community ")],-1)),i(c),i(m,{icon:"mdi-cog",variant:"text",onClick:l.openSettings},null,8,["onClick"]),i(d,{location:"top"},{activator:o(({props:U})=>[u("div",K(j(U)),[i(m,{href:s.storeUrl,target:"_blank",icon:"mdi-open-in-new",variant:"text",class:"mx-2"},null,8,["href"])],16)]),default:o(()=>[u("span",null," Open "+v(l.formattedStoreUrl),1)]),_:1}),i(m,{icon:"mdi-close",variant:"text",onClick:l.close},null,8,["onClick"])]),u("div",De,[i(D,{modelValue:s.search,"onUpdate:modelValue":t[0]||(t[0]=U=>s.search=U),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"","data-test":"search-plugin-store"},null,8,["modelValue"])]),i(c),t[4]||(t[4]=u("span",{class:""}," Click on a plugin to see more information about it ",-1)),s.storeError?(r(),h(b,{key:0,class:"mt-6",color:"error",title:s.storeError.title,text:s.storeError.body},null,8,["title","text"])):s.loading?(r(),y("div",Te,[i(V,{indeterminate:"",color:"primary",size:"48"}),t[3]||(t[3]=u("span",{class:"ml-4 text-subtitle-1"},"Loading plugins...",-1))])):(r(),h(I,{key:2},{default:o(()=>[i(T,null,{default:o(()=>[(r(!0),y(A,null,E(l.filteredPlugins,U=>(r(),h(S,{key:U.id,cols:"4"},{default:o(()=>[i(k,M({ref_for:!0},U,{"install-allowed":l.installAllowed,onTriggerInstall:l.install}),null,16,["install-allowed","onTriggerInstall"])]),_:2},1024))),128))]),_:1})]),_:1}))]),_:1}),i(w,{modelValue:s.showSettingsDialog,"onUpdate:modelValue":t[1]||(t[1]=U=>s.showSettingsDialog=U),"onUpdate:storeUrl":l.updatePluginStore},null,8,["modelValue","onUpdate:storeUrl"])],64)}const Ae=$(Ve,[["render",Ue]]),Ie={components:{PluginDetailsDialog:ee},mixins:[B],props:{targets:{type:Array,default:()=>[]},isModified:Boolean,microservices:{type:Object,default:()=>({})}},emits:["edit","delete","upgrade"],data(){return{showCard:!1}},computed:{displayTitle:function(){return this.title?this.title:this.name.replace(/^openc3-cosmos-/,"").replace(/-?\d+\.\d+\.\d+(?:\.pre\.beta\d+\.\d+)?\.gem(?:__\d+)?$/,"")},getMicroservicesForPlugin:function(){const e=[];for(const[t,a]of Object.entries(this.microservices))a.plugin===this.name&&e.push(t);return e},microserviceCount:function(){return this.getMicroservicesForPlugin.length}},methods:{openDetails:function(){this.hasDetails&&(this.showCard=!0)},downloadPlugin:function(){P.post(`/openc3-api/packages/${this.name}/download`).then(e=>{const t=window.atob(e.data.contents),a=new Uint8Array(t.length);for(let l=0;l<t.length;++l)a[l]=t.charCodeAt(l);const g=new Blob([a],{type:"application/zip"}),s=document.createElement("a");s.href=URL.createObjectURL(g),s.setAttribute("download",e.data.filename),s.click()})},downloadTarget:function(e){P.post(`/openc3-api/targets/${e}/download`).then(t=>{const a=window.atob(t.data.contents),g=new Uint8Array(a.length);for(let c=0;c<a.length;++c)g[c]=a.charCodeAt(c);const s=new Blob([g],{type:"application/zip"}),l=document.createElement("a");l.href=URL.createObjectURL(s),l.setAttribute("download",t.data.filename),l.click()})},edit:function(){this.$emit("edit")},upgrade:function(){this.$emit("upgrade")},viewMicroservices:function(){const e=this.getMicroservicesForPlugin.join(",");this.$router.push({path:"/tools/admin/microservices",query:{services:e}})},deletePrompt:function(){this.showCard=!1,this.$emit("delete")}}},Oe=["textContent"],$e={class:"text-subtitle-2 v-list-item-subtitle pl-0"},Me={key:0},Ee=["onClick","textContent"],Ke=["textContent"];function je(e,t,a,g,s,l){const c=n("v-img"),m=n("v-icon"),d=n("v-list-item"),D=n("v-list"),b=n("v-menu"),V=n("plugin-details-dialog");return r(),y(A,null,[u("tr",{class:z({"cursor-pointer":e.hasDetails}),"data-test":"plugin-list-item"},[u("td",null,[e.imageContentsWithMimeType?(r(),h(c,{key:0,src:e.imageContentsWithMimeType,"max-height":"56","min-width":"56"},null,8,["src"])):C("",!0)]),u("td",null,[u("div",{class:"text-h6",onClick:t[0]||(t[0]=(...k)=>l.openDetails&&l.openDetails(...k)),textContent:v(l.displayTitle)},null,8,Oe),u("div",$e,[a.isModified?(r(),y(A,{key:0},[f(" * ")],64)):C("",!0),f(" "+v(e.name),1)]),a.targets?.length?(r(),y("div",Me,[(r(!0),y(A,null,E(a.targets,(k,S)=>(r(),y("span",{key:S,class:"mr-2"},[k.modified?(r(),y("a",{key:0,style:{cursor:"pointer"},onClick:N(T=>l.downloadTarget(k.name),["prevent"]),textContent:v(k.name)},null,8,Ee)):(r(),y("span",{key:1,textContent:v(k.name)},null,8,Ke))]))),128))])):C("",!0)]),u("td",null,[i(b,null,{activator:o(({props:k})=>[i(m,M(k,{icon:"mdi-dots-horizontal","data-test":"plugin-actions"}),null,16)]),default:o(()=>[i(D,null,{default:o(()=>[i(d,{title:"Download","prepend-icon":"mdi-download","data-test":"download-plugin",onClick:l.downloadPlugin},null,8,["onClick"]),i(d,{title:"Edit Details","prepend-icon":"mdi-pencil","data-test":"edit-plugin",onClick:l.edit},null,8,["onClick"]),i(d,{title:"Upgrade","prepend-icon":"mdi-update","data-test":"upgrade-plugin",onClick:l.upgrade},null,8,["onClick"]),i(d,{title:`View Microservices (${l.microserviceCount})`,"prepend-icon":"mdi-tab","data-test":"view-microservices",onClick:l.viewMicroservices},null,8,["title","onClick"]),i(d,{title:"Delete","prepend-icon":"mdi-delete","data-test":"delete-plugin",onClick:l.deletePrompt},null,8,["onClick"])]),_:1})]),_:1})])],2),s.showCard?(r(),h(V,M({key:0,modelValue:s.showCard,"onUpdate:modelValue":t[1]||(t[1]=k=>s.showCard=k)},e.plugin,{onTriggerUninstall:l.deletePrompt}),null,16,["modelValue","onTriggerUninstall"])):C("",!0)],64)}const Le=$(Ie,[["render",je]]),ze={components:{PluginListItem:Le},props:{plugins:{type:Array,required:!0},targets:{type:Object,required:!0},showDefaultTools:{type:Boolean,default:!1},defaultPlugins:{type:Array,required:!0}},emits:["edit","delete","upgrade"],data(){return{showPluginDetails:!1,detailPlugin:null,microservices:{}}},computed:{shownPlugins(){const e=[],t=[];return this.plugins.forEach(a=>{const g=a.name.split("__")[0].split("-").slice(0,-1).join("-");this.defaultPlugins.includes(g)?t.push(a):e.push(a)}),e.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),this.showDefaultTools?(t.sort((a,g)=>a.name<g.name?-1:a.name>g.name?1:0),e.concat(t)):e}},mounted(){this.fetchMicroservices()},methods:{showDetails:function(e){this.detailPlugin=e,this.showPluginDetails=!0},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},editPlugin:function(e){this.$emit("edit",e)},upgradePlugin(e){this.$emit("upgrade",e)},deletePrompt:function(e){this.$emit("delete",e)},fetchMicroservices:function(){P.get("/openc3-api/microservices/all").then(e=>{this.microservices=e.data})}}};function Re(e,t,a,g,s,l){const c=n("plugin-list-item"),m=n("v-data-table");return r(),h(m,{headers:[],items:l.shownPlugins,density:"compact",class:"list","data-test":"plugin-list"},{item:o(({item:d})=>[(r(),h(c,M({key:d.name},d,{targets:l.pluginTargets(d.name),"is-modified":l.isModified(d.name),microservices:s.microservices,onEdit:()=>l.editPlugin(d.name),onUpgrade:()=>l.upgradePlugin(d.name),onDelete:()=>l.deletePrompt(d.name)}),null,16,["targets","is-modified","microservices","onEdit","onUpgrade","onDelete"]))]),_:1},8,["items"])}const Ne=$(ze,[["render",Re],["__scopeId","data-v-16a76865"]]),Be={components:{PluginDialog:Z,PluginList:Ne,PluginStore:Ae,ModifiedPluginDialog:Y,SimpleTextDialog:J},mixins:[W],data(){return{pluginName:null,variables:{},storePluginId:null,storeVersionId:null,minCosmosVersion:null,pluginTxt:"",file:null,currentPlugin:null,pluginHashTmp:null,existingPluginTxt:null,progress:0,pluginDelete:!1,api:new L,plugins:[],targets:{},processes:{},alert:"",alertType:"success",showAlert:!1,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginStore:!1,showPluginDialog:!1,showModifiedPluginDialog:!1,showDefaultTools:!1,timeZone:"local",defaultPlugins:["openc3-cosmos-tool-admin","openc3-cosmos-tool-bucketexplorer","openc3-cosmos-tool-cmdsender","openc3-cosmos-tool-cmdqueue","openc3-cosmos-tool-cmdhistory","openc3-cosmos-tool-cmdtlmserver","openc3-cosmos-tool-dataextractor","openc3-cosmos-tool-dataviewer","openc3-cosmos-tool-docs","openc3-cosmos-tool-handbooks","openc3-cosmos-tool-iframe","openc3-cosmos-tool-limitsmonitor","openc3-cosmos-tool-packetviewer","openc3-cosmos-tool-scriptrunner","openc3-cosmos-tool-tablemanager","openc3-cosmos-tool-tlmgrapher","openc3-cosmos-tool-tlmviewer","openc3-cosmos-enterprise-tool-admin","openc3-cosmos-tool-autonomic","openc3-cosmos-tool-calendar","openc3-cosmos-tool-grafana","openc3-cosmos-tool-logexplorer","openc3-cosmos-tool-notebooks","openc3-cosmos-tool-systemhealth","openc3-enterprise-tool-base","openc3-tool-base"]}},watch:{showPluginDialog:function(e,t){e===!1&&(this.file=null,this.$refs.fileInput.value=null)}},created(){this.api.update_plugin_store(),this.api.get_setting("time_zone").then(e=>{e&&(this.timeZone=e)}).catch(()=>{})},mounted(){this.update(),this.updateProcesses();const e=this;window.onpopstate=function(){e.showPluginStore&&(e.showPluginStore=!1,history.go(1))}},methods:{resetControlState:function(){this.pluginName=null,this.variables={},this.storePluginId=null,this.storeVersionId=null,this.minCosmosVersion=null,this.pluginTxt="",this.file=null,this.currentPlugin=null,this.pluginHashTmp=null,this.existingPluginTxt=null,this.progress=0,this.pluginDelete=!1},pluginTargets:function(e){let t=[];for(const a in this.targets)this.targets[a].plugin===e&&t.push(this.targets[a]);return t},isModified:function(e){return Object.entries(this.targets).some(([t,a])=>a.plugin===e&&a.modified===!0)},showOutput:function(e){this.processOutput=e.output,this.showProcessOutput=!0},update:function(){P.get("/openc3-api/plugins/all").then(e=>{this.plugins=Object.entries(e.data).map(([t,a])=>a)}),P.get("/openc3-api/targets_modified").then(e=>{this.targets=e.data})},updateProcesses:function(){P.get("openc3-api/process_status/plugin_?substr=true").then(e=>{this.processes=e.data,Object.keys(this.processes).length>0&&setTimeout(()=>{this.updateProcesses(),this.update()},5e3)})},upload:function(e=null,t=null){const a=e?"put":"post",g=e?`/openc3-api/plugins/${e}`:"/openc3-api/plugins",s=new FormData;t===null?s.append("plugin",this.file,this.file.name):(s.append("store_plugin_id",t.id),s.append("store_version_id",t.version_id));let l=this;P[a](g,{data:s,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(c){let m=Math.round(c.loaded*100/c.total);l.progress=m}}).then(c=>{this.progress=100,this.alert="Uploaded file",this.alertType="success",this.showAlert=!0,setTimeout(()=>{this.showAlert=!1},5e3),this.update();let m=null;c.data.existing_plugin_txt_lines!==void 0&&(m=c.data.existing_plugin_txt_lines.join(`
|
|
2
2
|
`));let d=c.data.plugin_txt_lines.join(`
|
|
3
3
|
`);this.pluginName=c.data.name,this.variables=c.data.variables,this.storePluginId=c.data.store_plugin_id,this.storeVersionId=c.data.store_version_id,this.minCosmosVersion=c.data.minimum_cosmos_version,this.pluginTxt=d,this.existingPluginTxt=m,this.showPluginDialog=!0,this.file=void 0}).catch(c=>{this.currentPlugin=null,this.file=void 0})},pluginCallback:function(e){this.showPluginDialog=!1,this.currentPlugin!==null&&(e.name=this.currentPlugin),this.pluginHashTmp=e,this.isModified(this.currentPlugin)?(this.pluginDelete=!1,this.showModifiedPluginDialog=!0):this.pluginInstall()},modifiedSubmit:async function(e){if(e===!0)for(let t of this.pluginTargets(this.currentPlugin))t.modified==!0&&await P.post(`/openc3-api/targets/${t.name}/delete_modified`);this.pluginDelete?this.deletePlugin(this.currentPlugin):this.pluginInstall()},pluginInstall:function(){P.post(`/openc3-api/plugins/install/${this.pluginName}`,{data:{plugin_hash:JSON.stringify(this.pluginHashTmp)}}).then(e=>{this.alert=`Started installing plugin ${this.pluginName} ...`,this.alertType="success",this.showAlert=!0,this.currentPlugin=null,this.file=void 0,this.variables={},this.pluginTxt="",this.existingPluginTxt=null,this.storePluginId=null,this.storeVersionId=null,setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3),this.update()})},editPlugin:function(e){this.resetControlState(),P.get(`/openc3-api/plugins/${e}`).then(t=>{let a=null;t.data.existing_plugin_txt_lines!==void 0&&(a=t.data.existing_plugin_txt_lines.join(`
|
|
4
4
|
`)),this.pluginName=t.data.name,this.variables=t.data.variables,this.pluginTxt=t.data.plugin_txt_lines.join(`
|
|
5
|
-
`),this.existingPluginTxt=a,this.showPluginDialog=!0})},deletePrompt:function(e){this.resetControlState(),this.$dialog.confirm(`Are you sure you want to remove: ${e}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.isModified(e)?(this.currentPlugin=e,this.pluginDelete=!0,this.showModifiedPluginDialog=!0):this.deletePlugin(e)})},deletePlugin:function(e){this.alert=`Removing plugin ${e} ...`,this.alertType="success",this.showAlert=!0,P.delete(`/openc3-api/plugins/${e}`).then(t=>{setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3)}),this.update()},upgradePlugin(e){this.resetControlState(),this.currentPlugin=e,this.$refs.fileInput.click()},selectFile(){this.resetControlState(),this.$refs.fileInput.click()},fileChange(e){const t=e.target.files;if(t.length>0)if(this.file=t[0],this.currentPlugin!==null)if(this.file.name.split(".gem")[0]==this.currentPlugin.split(".gem")[0])this.$dialog.confirm(`The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}).catch(a=>{});else{let a=this.file.name.split("-"),g=a.findIndex(c=>c.includes(".")),s=a.slice(0,g).join("-");a=this.currentPlugin.split("-"),g=a.findIndex(c=>c.includes("."));let l=a.slice(0,g).join("-");s!==l?this.$dialog.confirm(`The new gem base name ${s} doesn't match the existing ${l}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}):this.upload(this.currentPlugin)}else this.upload();else this.$refs.fileInput.value=null},openStore(){this.resetControlState(),this.showPluginStore=!0}}},
|
|
5
|
+
`),this.existingPluginTxt=a,this.showPluginDialog=!0})},deletePrompt:function(e){this.resetControlState(),this.$dialog.confirm(`Are you sure you want to remove: ${e}`,{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.isModified(e)?(this.currentPlugin=e,this.pluginDelete=!0,this.showModifiedPluginDialog=!0):this.deletePlugin(e)})},deletePlugin:function(e){this.alert=`Removing plugin ${e} ...`,this.alertType="success",this.showAlert=!0,P.delete(`/openc3-api/plugins/${e}`).then(t=>{setTimeout(()=>{this.showAlert=!1,this.updateProcesses()},5e3)}),this.update()},upgradePlugin(e){this.resetControlState(),this.currentPlugin=e,this.$refs.fileInput.click()},selectFile(){this.resetControlState(),this.$refs.fileInput.click()},fileChange(e){const t=e.target.files;if(t.length>0)if(this.file=t[0],this.currentPlugin!==null)if(this.file.name.split(".gem")[0]==this.currentPlugin.split(".gem")[0])this.$dialog.confirm(`The new gem ${this.file.name} appears to be identical to the existing ${this.currentPlugin}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}).catch(a=>{});else{let a=this.file.name.split("-"),g=a.findIndex(c=>c.includes(".")),s=a.slice(0,g).join("-");a=this.currentPlugin.split("-"),g=a.findIndex(c=>c.includes("."));let l=a.slice(0,g).join("-");s!==l?this.$dialog.confirm(`The new gem base name ${s} doesn't match the existing ${l}. Install?`,{okText:"Ok",cancelText:"Cancel"}).then(()=>{this.upload(this.currentPlugin)}):this.upload(this.currentPlugin)}else this.upload();else this.$refs.fileInput.value=null},openStore(){this.resetControlState(),this.showPluginStore=!0}}},Fe={class:"mt-2"},qe=["textContent"],He=["textContent"];function We(e,t,a,g,s,l){const c=n("v-btn"),m=n("v-icon"),d=n("v-col"),D=n("rux-progress"),b=n("v-row"),V=n("v-divider"),k=n("v-alert"),S=n("v-list-item-title"),T=n("v-list-item-subtitle"),I=n("v-progress-circular"),O=n("v-tooltip"),w=n("v-list-item"),U=n("v-list"),H=n("v-switch"),x=n("plugin-list"),Ye=n("plugin-dialog"),Ze=n("modified-plugin-dialog"),Ge=n("simple-text-dialog"),Je=n("plugin-store"),Qe=n("v-bottom-sheet");return r(),y("div",null,[i(b,{"no-gutters":"",align:"center",class:"px-2"},{default:o(()=>[i(d,{class:"pa-2 mt-2"},{default:o(()=>[i(c,{"append-icon":"mdi-store",onClick:l.openStore},{default:o(()=>[...t[9]||(t[9]=[f(" Browse Plugins ",-1)])]),_:1},8,["onClick"]),i(c,{"append-icon":"mdi-paperclip",class:"mx-2",onClick:l.selectFile},{default:o(()=>[...t[10]||(t[10]=[f(" Install From File ",-1)])]),_:1},8,["onClick"]),u("input",{ref:"fileInput",accept:".gem",style:{display:"none"},type:"file",onChange:t[0]||(t[0]=(..._)=>l.fileChange&&l.fileChange(..._))},null,544),t[14]||(t[14]=u("br",null,null,-1)),u("p",Fe,[t[12]||(t[12]=f(" Note: Use ",-1)),i(m,null,{default:o(()=>[...t[11]||(t[11]=[f(" mdi-dots-horizontal ",-1)])]),_:1}),t[13]||(t[13]=f(" in the Installed Plugins list to upgrade existing plugins ",-1))])]),_:1}),i(d,{class:"ml-4 mr-2",cols:"4"},{default:o(()=>[i(D,{value:s.progress},null,8,["value"])]),_:1})]),_:1}),i(b,{"no-gutters":"",class:"px-2"},{default:o(()=>[i(d,{align:"right",class:"mr-2"},{default:o(()=>[...t[15]||(t[15]=[u("div",null,"* indicates a modified plugin",-1),u("div",null,"Click target link to download modifications",-1)])]),_:1})]),_:1}),i(V),i(k,{modelValue:s.showAlert,"onUpdate:modelValue":t[1]||(t[1]=_=>s.showAlert=_),closable:"",type:s.alertType,text:s.alert,"data-test":"plugin-alert"},null,8,["modelValue","type","text"]),Object.keys(s.processes).length>0?(r(),h(U,{key:0,class:"list","data-test":"process-list"},{default:o(()=>[i(b,{"no-gutters":"",class:"px-4"},{default:o(()=>[i(d,{class:"text-h5"},{default:o(()=>[...t[16]||(t[16]=[f(" Process List ",-1)])]),_:1}),i(d,{align:"right"},{default:o(()=>[...t[17]||(t[17]=[u("div",null,"Showing last 10 min of activity",-1)])]),_:1})]),_:1}),(r(!0),y(A,null,E(s.processes,_=>(r(),y("div",{key:_.name},[i(w,null,{append:o(()=>[_.state==="Running"?(r(),h(I,{key:0,indeterminate:"",color:"primary"})):(r(),h(O,{key:1,"open-delay":600,location:"top"},{activator:o(({props:Xe})=>[i(c,M({ref_for:!0},Xe,{icon:"mdi-eye",variant:"text","aria-label":"Show Output","data-test":"show-output",onClick:it=>l.showOutput(_)}),null,16,["onClick"])]),default:o(()=>[t[18]||(t[18]=u("span",null," Show Output ",-1))]),_:2},1024))]),default:o(()=>[i(S,null,{default:o(()=>[u("span",{class:z(_.state.toLowerCase()),textContent:v(`Processing ${_.process_type}: ${_.detail} - ${_.state}`)},null,10,qe)]),_:2},1024),i(T,null,{default:o(()=>[u("span",{textContent:v(" Updated At: "+e.formatNanoseconds(_.updated_at,s.timeZone))},null,8,He)]),_:2},1024)]),_:2},1024),i(V)]))),128))]),_:1})):C("",!0),i(b,{"no-gutters":"",class:"px-4"},{default:o(()=>[i(d,{class:"text-h5"},{default:o(()=>[...t[19]||(t[19]=[f(" Installed Plugins ",-1)])]),_:1}),i(d,{class:"v-col-auto"},{default:o(()=>[i(H,{modelValue:s.showDefaultTools,"onUpdate:modelValue":t[2]||(t[2]=_=>s.showDefaultTools=_),label:"Show Default Tools",density:"compact","hide-details":"","data-test":"show-default-tools"},null,8,["modelValue"])]),_:1})]),_:1}),i(x,{plugins:s.plugins,targets:s.targets,"show-default-tools":s.showDefaultTools,"default-plugins":s.defaultPlugins,onEdit:l.editPlugin,onUpgrade:l.upgradePlugin,onDelete:l.deletePrompt},null,8,["plugins","targets","show-default-tools","default-plugins","onEdit","onUpgrade","onDelete"]),s.showPluginDialog?(r(),h(Ye,{key:1,modelValue:s.showPluginDialog,"onUpdate:modelValue":t[3]||(t[3]=_=>s.showPluginDialog=_),"plugin-name":s.pluginName,variables:s.variables,"plugin-txt":s.pluginTxt,"existing-plugin-txt":s.existingPluginTxt,"store-plugin-id":s.storePluginId,"store-version-id":s.storeVersionId,"min-cosmos-version":s.minCosmosVersion,onCallback:l.pluginCallback},null,8,["modelValue","plugin-name","variables","plugin-txt","existing-plugin-txt","store-plugin-id","store-version-id","min-cosmos-version","onCallback"])):C("",!0),s.showModifiedPluginDialog?(r(),h(Ze,{key:2,modelValue:s.showModifiedPluginDialog,"onUpdate:modelValue":t[4]||(t[4]=_=>s.showModifiedPluginDialog=_),"plugin-name":s.currentPlugin,targets:l.pluginTargets(s.currentPlugin),"plugin-delete":s.pluginDelete,onSubmit:l.modifiedSubmit},null,8,["modelValue","plugin-name","targets","plugin-delete","onSubmit"])):C("",!0),i(Ge,{modelValue:s.showProcessOutput,"onUpdate:modelValue":t[5]||(t[5]=_=>s.showProcessOutput=_),title:"Process Output",text:s.processOutput},null,8,["modelValue","text"]),i(Qe,{modelValue:s.showPluginStore,"onUpdate:modelValue":t[8]||(t[8]=_=>s.showPluginStore=_),fullscreen:""},{default:o(()=>[i(Je,{onClose:t[6]||(t[6]=()=>s.showPluginStore=!1),onTriggerInstall:t[7]||(t[7]=_=>l.upload(null,_))})]),_:1},8,["modelValue"])])}const tt=te("default",$(Be,[["render",We],["__scopeId","data-v-31fcfb69"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue","./main-040488697a5f3eed5115.js","vue-router","pinia","single-spa","vuetify"],(function(n,d){"use strict";var s,a,r,l,i,u;return{setters:[e=>{s=e.h},e=>{a=e.resolveComponent,r=e.openBlock,l=e.createBlock,i=e.normalizeStyle},e=>{u=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=n("default",u(e,[["render",o],["__scopeId","data-v-af1daff2"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue","./main-040488697a5f3eed5115.js","vue-router","pinia","single-spa","vuetify"],(function(s,v){"use strict";var l,t,n,a,r,u;return{setters:[e=>{l=e.h},e=>{t=e.resolveComponent,n=e.openBlock,a=e.createBlock,r=e.normalizeStyle},e=>{u=e.k},null,null,null,null],execute:(function(){const e={mixins:[l],props:{value:{type:Number,default:null}},data(){return{label:"Radio"}},created(){this.label=this.parameters[0]}};function o(i,y,c,f,p,b){const d=t("v-radio");return n(),a(d,{"hide-details":"",dense:"",label:p.label,style:r(i.computedStyle),value:c.value},null,8,["label","style","value"])}const m=s("default",u(e,[["render",o]]))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Layout--_zNJWnw-a75e57affb59e71889ad.js","vue","./main-040488697a5f3eed5115.js","./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue-router","pinia","single-spa","vuetify"],(function(x,C){"use strict";var a,l,r,s,i,c,o,u,m,d,p,g;return{setters:[e=>{a=e.r},e=>{l=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.k},null,null,null,null,null],execute:(function(){const e={mixins:[a],data(){return{selectedIndex:0}},created(){this.parameters[0]&&(this.selectedIndex=Number.parseInt(this.parameters[0]))},methods:{selected(){return this.selectedIndex}}};function f(n,v,z,B,y,w){const k=l("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,h)=>(r(),s(d(t.type),p({ref_for:!0},n.listeners,{key:h,value:h,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 I=x("default",g(e,[["render",f]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue","./main-040488697a5f3eed5115.js","vue-router","pinia","single-spa","vuetify"],(function(u,m){"use strict";var r,a,n,h,s,l;return{setters:[e=>{r=e.h},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"]]))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","vue-router","pinia","single-spa","vuetify"],(function(_,K){"use strict";var y,f,d,o,c,n,l,r,p,v,m,x;return{setters:[a=>{y=a.k,f=a.D},a=>{d=a.resolveComponent,o=a.openBlock,c=a.createElementBlock,n=a.createVNode,l=a.withCtx,r=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})})}}},g=["textContent"],V={key:1,class:"monospace"};function C(t,e,b,u,s,h){const k=d("v-card-title"),w=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"),D=d("v-number-input"),U=d("v-card-actions"),A=d("v-data-table"),B=d("v-card");return o(),c("div",null,[n(B,null,{default:l(()=>[n(k,null,{default:l(()=>[...e[4]||(e[4]=[r(" Send Raw Redis Commands ",-1)])]),_:1}),n(w,null,{default:l(()=>[...e[5]||(e[5]=[r(" THIS IS DANGEROUS. This allows you to interact directly with the underlying Redis database, making it easy to modify or delete data. ",-1),p("br",null,null,-1),p("br",null,null,-1),r(" Enter commands like you would at the Redis cli prompt: ",-1),p("code",null,"ping",-1),r(" or ",-1),p("code",null,"hget openc3__settings version",-1)])]),_:1}),n(S,{class:"pb-0 ml-2"},{default:l(()=>[n(E,{modelValue:s.redisCommandText,"onUpdate:modelValue":e[0]||(e[0]=i=>s.redisCommandText=i),"hide-details":"",label:"Redis command",class:"monospace",onKeydown:h.commandKeydown},null,8,["modelValue","onKeydown"]),n(N,{modelValue:s.prettyPrint,"onUpdate:modelValue":e[1]||(e[1]=i=>s.prettyPrint=i),label:"Pretty print",density:"compact","hide-details":"",class:"mb-2"},null,8,["modelValue"]),s.redisResponse?(o(),c(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(U,{class:"px-2"},{default:l(()=>[n(T,{disabled:!s.redisCommandText.length,color:"success",variant:"text",onClick:h.executeRaw},{default:l(()=>[...e[6]||(e[6]=[r(" Execute ",-1)])]),_:1},8,["disabled","onClick"]),n(P,{modelValue:s.redisEndpoint,"onUpdate:modelValue":e[2]||(e[2]=i=>s.redisEndpoint=i),inline:"","hide-details":"",class:"mt-0"},{default:l(()=>[n(R,{label:"Persistent",value:"persistent","data-test":"persistent-radio"}),n(R,{label:"Ephemeral",value:"ephemeral","data-test":"ephemeral-radio"})]),_:1},8,["modelValue"]),n(D,{modelValue:s.db_shard,"onUpdate:modelValue":e[3]||(e[3]=i=>s.db_shard=i),"control-variant":"stacked",min:0,label:"DB Shard","hide-details":"",density:"compact",style:{"max-width":"100px"},class:"ml-4"},null,8,["modelValue"])]),_:1}),n(A,{headers:s.headers,items:s.commands,class:"monospace","items-per-page":-1,"hide-default-footer":"",density:"compact",height:"45vh"},null,8,["headers","items"])]),_:1})])}const I=_("default",y(a,[["render",C],["__scopeId","data-v-a92ae7a6"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue","./main-040488697a5f3eed5115.js","vue-router","pinia","single-spa","vuetify"],(function(m,p){"use strict";var l,r,a,c,u,o;return{setters:[t=>{l=t.h},t=>{r=t.resolveComponent,a=t.openBlock,c=t.createBlock,u=t.normalizeStyle},t=>{o=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,f,E,i){const d=r("rux-monitoring-icon");return a(),c(d,{class:"rux-icon",style:u([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 b=m("default",o(t,[["render",h]]))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./main-040488697a5f3eed5115.js","vue","single-spa","./OutputDialog-B0DR879Y-1fe936426c84cb442ac4.js","vue-router","pinia","vuetify"],(function(f,R){"use strict";var d,c,e,l,r,o,i,g,p,h,m,v,D,k;return{setters:[t=>{d=t.k,c=t.D},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,D=t.createCommentVNode},null,t=>{k=t.S},null,null,null],execute:(function(){const t={components:{OutputDialog:k},data(){return{routers:[],jsonContent:"",dialogTitle:"",showDialog:!1}},mounted(){this.update()},methods:{update(){c.get("/openc3-api/routers").then(n=>{this.routers=n.data})},add(){},showRouter(n){c.get(`/openc3-api/routers/${n}`).then(s=>{this.jsonContent=JSON.stringify(s.data,null," "),this.dialogTitle=n,this.showDialog=!0})},dialogCallback(n){this.showDialog=!1}}};function w(n,s,_,j,a,C){const S=e("v-list-item-title"),V=e("v-btn"),y=e("v-list-item"),N=e("v-divider"),B=e("v-list"),b=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,x)=>(l(),r("div",{key:x},[o(y,null,{append:i(()=>[o(V,{"aria-label":"Show Router Details",icon:"mdi-eye",variant:"text",onClick:L=>C.showRouter(u)},null,8,["onClick"])]),default:i(()=>[o(S,null,{default:i(()=>[h(m(u),1)]),_:2},1024)]),_:2},1024),o(N)]))),128))]),_:1}),a.showDialog?(l(),v(b,{key:0,modelValue:a.showDialog,"onUpdate:modelValue":s[0]||(s[0]=u=>a.showDialog=u),content:a.jsonContent,type:"Router",name:a.dialogTitle,onSubmit:C.dialogCallback},null,8,["modelValue","content","name","onSubmit"])):D("",!0)])}const T=f("default",d(t,[["render",w],["__scopeId","data-v-ead3d1f6"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Layout-
|
|
1
|
+
System.register(["./Layout--_zNJWnw-a75e57affb59e71889ad.js","vue","./main-040488697a5f3eed5115.js","./Widget-CtYQauzA-ae8839a2e4146c799aec.js","vue-router","pinia","single-spa","vuetify"],(function(w,T){"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,A,B,b){const z=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,C)=>(r(),s(l,{key:C},[n.getTooltipText(e)?(r(),i(z,{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 x=w("default",h(t,[["render",k]]))})}}));
|