openc3-cosmos-tool-cmdsender 6.5.1 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/tools/cmdsender/{ArrayWidget-Ck6pzAyW-fce3b7dd709bd9166ecf.js → ArrayWidget-Ck6pzAyW-e6f2bc78591871d4c021.js} +1 -1
  3. data/tools/cmdsender/{ArrayplotWidget-ntRLh6-B-d01b9f4bb136873397ed.js → ArrayplotWidget-ntRLh6-B-5b25846e1160edc5860d.js} +1 -1
  4. data/tools/cmdsender/{BarColumn-Bgz2YJ59-91785cec858fd7a8345a.js → BarColumn-Bgz2YJ59-85182280463f9f317a0e.js} +1 -1
  5. data/tools/cmdsender/{BlockWidget-DGH3Zz5p-6c24c8515b776a534e4c.js → BlockWidget-DGH3Zz5p-a7218379f30e4e7499d2.js} +1 -1
  6. data/tools/cmdsender/{ButtonWidget-D_tupiPB-df7a8fc7ab3b0924364b.js → ButtonWidget-D_tupiPB-c36933dafd7fe4511f97.js} +1 -1
  7. data/tools/cmdsender/{CanvasWidget-CzG2jYQb-8e5b334821aef5ce7dc0.js → CanvasWidget-CzG2jYQb-74abcd98bde7f4b06931.js} +1 -1
  8. data/tools/cmdsender/{CanvasdotWidget-0FAaw4G2-97e30a9e5d1a6e27e7bc.js → CanvasdotWidget-0FAaw4G2-a7d15bcf24dcc3c99a16.js} +1 -1
  9. data/tools/cmdsender/{CanvasimageWidget-CNJlzLqo-6b200c1d268887b875ab.js → CanvasimageWidget-CNJlzLqo-ea39154a49478f39b1c9.js} +1 -1
  10. data/tools/cmdsender/{CanvasimagevalueWidget-DudwwOD6-ad658f4bde7efccb2e69.js → CanvasimagevalueWidget-DudwwOD6-c2977839b1b5beb747ac.js} +1 -1
  11. data/tools/cmdsender/{CanvaslabelWidget-BZQp16dH-3328edbfe9994dfe0a9e.js → CanvaslabelWidget-BZQp16dH-4e0a2e1d4ad8ffdbc00f.js} +1 -1
  12. data/tools/cmdsender/{CanvaslabelvalueWidget-CHS36Te9-ff0e4d6281af5366060e.js → CanvaslabelvalueWidget-CHS36Te9-1326b196ef519b64ef4e.js} +1 -1
  13. data/tools/cmdsender/{CanvaslineWidget-nhKEAGhs-4dcad721f51d2b35a12c.js → CanvaslineWidget-nhKEAGhs-b26186dde4dbe9720fe2.js} +1 -1
  14. data/tools/cmdsender/{CanvaslinevalueWidget-DsyIDkJy-c4017dcdbfaa0e87e295.js → CanvaslinevalueWidget-DsyIDkJy-7dd806a4251982359fc8.js} +1 -1
  15. data/tools/cmdsender/{CheckbuttonWidget-DCam7Jd0-b1590f74a1343cd52f2b.js → CheckbuttonWidget-DCam7Jd0-b0bd5e20f41eb64a2e4c.js} +1 -1
  16. data/tools/cmdsender/{ComboboxWidget-ZX-k-_aK-7e5d2cf3c7746c24f8b9.js → ComboboxWidget-ZX-k-_aK-de6ae885887baed6f869.js} +1 -1
  17. data/tools/cmdsender/{CommandSender-fcc87b69649c535876f2.js → CommandSender-8ccdeb4eec8da196a156.js} +3 -3
  18. data/tools/cmdsender/{CriticalCmdDialog-Dylpoz_4-599269d60ac1381b743d.js → CriticalCmdDialog-Dylpoz_4-de39c72a2e7f30c62c5f.js} +1 -1
  19. data/tools/cmdsender/{DateWidget-DuJ5uC2t-9a6d918ebdc59c6242b0.js → DateWidget-DuJ5uC2t-61ac3a5607ac69bf1946.js} +1 -1
  20. data/tools/cmdsender/{DetailsDialog-BQE0TraI-72e0f17a6b7f12d649fd.js → DetailsDialog-BQE0TraI-14e31b27a906a6493bc2.js} +1 -1
  21. data/tools/cmdsender/{DynamicWidget-CfMtj7H8-95453f446bce7f8385e6.js → DynamicWidget-CfMtj7H8-e763433cb1f126a56a85.js} +1 -1
  22. data/tools/cmdsender/{FormatvalueWidget-DYICPNcx-a077fa27626b881a7d2c.js → FormatvalueWidget-DYICPNcx-369b3503763d617b1704.js} +1 -1
  23. data/tools/cmdsender/{Graph-DCihpnT0-314db75c2a5f4b4cbde3.js → Graph-DCihpnT0-012785e59cef2f7ba8d0.js} +1 -1
  24. data/tools/cmdsender/{GraphWidget-cTVq29cY-4402e130ef59e6323e67.js → GraphWidget-cTVq29cY-3a1d000b923aab692dc1.js} +1 -1
  25. data/tools/cmdsender/{HorizontalWidget-v1pfd94Z-3bcb2d76041f84f86cff.js → HorizontalWidget-v1pfd94Z-bd4117a1b457f7b747b8.js} +1 -1
  26. data/tools/cmdsender/{HorizontalboxWidget-B06-c_n4-3d4468143d0b5f14d60d.js → HorizontalboxWidget-B06-c_n4-df67026ca3aa367e15cd.js} +1 -1
  27. data/tools/cmdsender/{HorizontallineWidget-DEODVJCk-80887fac81c69a1da2a6.js → HorizontallineWidget-DEODVJCk-6c4cfe764738b3dce8ed.js} +1 -1
  28. data/tools/cmdsender/{IframeWidget-n8lNXrpt-1684bc349e9b2f53f014.js → IframeWidget-n8lNXrpt-248b557a9ca7861fa205.js} +1 -1
  29. data/tools/cmdsender/{ImageLoader-CfcErydq-d6c4b7e8b98cd765f999.js → ImageLoader-CfcErydq-a423f9782e23274ea1de.js} +1 -1
  30. data/tools/cmdsender/{ImageviewerWidget-DE8fj06Z-145326b6becb6dd9fb4e.js → ImageviewerWidget-DE8fj06Z-4229c338f78b0b61fbe4.js} +1 -1
  31. data/tools/cmdsender/{LabelWidget-iUIJLhdA-50c0edef51ea02fc91f6.js → LabelWidget-iUIJLhdA-3a3a035aa7e3f324f4e3.js} +1 -1
  32. data/tools/cmdsender/{LabelledWidget-KI6fMlsr-9eb851609bce1322f121.js → LabelledWidget-KI6fMlsr-bb052d44ac77b2e324ee.js} +1 -1
  33. data/tools/cmdsender/{LabelprogressbarWidget-C2lzmqBH-4df5b3debedc05999e23.js → LabelprogressbarWidget-C2lzmqBH-fe6335931e28c4cdfb6e.js} +1 -1
  34. data/tools/cmdsender/{LabelsparklineWidget-Ci6GGm29-7ee3cd30984bd894e0d1.js → LabelsparklineWidget-Ci6GGm29-dee496933e008db9d034.js} +1 -1
  35. data/tools/cmdsender/{LabelvalueWidget-oiW-JDw6-f0b3ee25bc90d82792a4.js → LabelvalueWidget-oiW-JDw6-1570e7ad78320dd7165f.js} +1 -1
  36. data/tools/cmdsender/{LabelvaluedescWidget-Ck0AJ9g0-b1a96923bbea3339bb55.js → LabelvaluedescWidget-Ck0AJ9g0-7df34a2f89be8fb9f8f7.js} +1 -1
  37. data/tools/cmdsender/{LabelvaluelimitsbarWidget-aaVLaejn-3c4320160778cce58509.js → LabelvaluelimitsbarWidget-aaVLaejn-90cba58de18421f43e81.js} +1 -1
  38. data/tools/cmdsender/{LabelvaluelimitscolumnWidget-Uur6aqOg-27a3f2ea7320127bc933.js → LabelvaluelimitscolumnWidget-Uur6aqOg-1eb20d5d4e420cdc8dcf.js} +1 -1
  39. data/tools/cmdsender/{LabelvaluerangebarWidget-Bs9locqu-f455fe74ad4aa9cb2f9c.js → LabelvaluerangebarWidget-Bs9locqu-be67e66661e173c12a74.js} +1 -1
  40. data/tools/cmdsender/{Layout-1z8iJV5--c6e32606f7b1d0189c70.js → Layout-1z8iJV5--980eb034a25f5f420214.js} +1 -1
  41. data/tools/cmdsender/{LedWidget-BN8IgAxJ-963880a806028ec2efbf.js → LedWidget-BN8IgAxJ-9302562e072e102c9bb6.js} +1 -1
  42. data/tools/cmdsender/{LimitsbarWidget-BxxoKTjp-f5dafd1bb405867cb386.js → LimitsbarWidget-BxxoKTjp-550654baa6dbb8de5c82.js} +1 -1
  43. data/tools/cmdsender/{LimitscolorWidget-DFDwf4In-9ba94e70136315e65939.js → LimitscolorWidget-DFDwf4In-c2da3a66e07c0f0b827a.js} +1 -1
  44. data/tools/cmdsender/{LimitscolumnWidget-CdBh2mJu-8d7d156a2c5407d75862.js → LimitscolumnWidget-CdBh2mJu-b320b478205b2745236a.js} +1 -1
  45. data/tools/cmdsender/{LinegraphWidget-jXksfbPb-6ca731470247a54586d6.js → LinegraphWidget-jXksfbPb-8fade2012cc2b61f1d8b.js} +1 -1
  46. data/tools/cmdsender/{MatrixbycolumnsWidget-DCwxPjwS-7efa38f594d6431aec46.js → MatrixbycolumnsWidget-DCwxPjwS-900c11b179ef5d285cce.js} +1 -1
  47. data/tools/cmdsender/{ProgressbarWidget-Cdu5nJC3-1b81d84237158c170862.js → ProgressbarWidget-Cdu5nJC3-e1b358898e99ab5c366a.js} +1 -1
  48. data/tools/cmdsender/{RadiobuttonWidget-CZZGbvdG-311931d63ce9e61c82b0.js → RadiobuttonWidget-CZZGbvdG-7dd02b64c7451adbee41.js} +1 -1
  49. data/tools/cmdsender/{RadiogroupWidget-CQN3v8Ip-d26ff187ee86d576f4c1.js → RadiogroupWidget-CQN3v8Ip-9c60d5d6fc0dd4a6fc45.js} +1 -1
  50. data/tools/cmdsender/{RangebarWidget-dZN9WjoZ-928f55b89d63968c212d.js → RangebarWidget-dZN9WjoZ-ad740b52951c88159b7d.js} +1 -1
  51. data/tools/cmdsender/{RollupWidget-i9DnNJl6-99241e61953037a69269.js → RollupWidget-i9DnNJl6-3e63539ecdaa49f8d78a.js} +1 -1
  52. data/tools/cmdsender/{ScrollwindowWidget-54GU96Ve-8beba15bf6ee5b4a0fa7.js → ScrollwindowWidget-54GU96Ve-d671eec7dfe14acd41b6.js} +1 -1
  53. data/tools/cmdsender/{SignalWidget-B_kA9eCJ-19bca3a384d2bb98f8e0.js → SignalWidget-B_kA9eCJ-f9ea606e8558a158f002.js} +1 -1
  54. data/tools/cmdsender/{SpacerWidget-XoMPHak8-dd1987ab783f8c04239b.js → SpacerWidget-XoMPHak8-89101d45ce49761853c3.js} +1 -1
  55. data/tools/cmdsender/{SparklineWidget-DQNsvEj9-e4e14815f305d602b1c2.js → SparklineWidget-DQNsvEj9-1e65a82bdcc1920569b8.js} +1 -1
  56. data/tools/cmdsender/{TabbookWidget-_HVA72t5-65234d82324c934e4c9c.js → TabbookWidget-_HVA72t5-b9753d8d524da2c7dabe.js} +1 -1
  57. data/tools/cmdsender/{TextboxWidget-0JXn4bMH-7de2476f07467cbd7987.js → TextboxWidget-0JXn4bMH-a2ff21565b7bf6e69bfb.js} +1 -1
  58. data/tools/cmdsender/{TextfieldWidget-BXr9MkVW-31c0219fa2658aef6907.js → TextfieldWidget-BXr9MkVW-5f200ba6cb8dd008c3db.js} +1 -1
  59. data/tools/cmdsender/{TimeWidget-C67uwMGH-6fdfd24994f844749eb7.js → TimeWidget-C67uwMGH-c979573d24a98c50b30e.js} +1 -1
  60. data/tools/cmdsender/{TitleWidget-t_YLgUMB-deb87907efeccffeb2b0.js → TitleWidget-t_YLgUMB-3d5ac03e484ee87c85cb.js} +1 -1
  61. data/tools/cmdsender/{VWidget-j2GIGGSX-8becd47dff54648ad927.js → VWidget-j2GIGGSX-a35a776160f2d34d22a7.js} +1 -1
  62. data/tools/cmdsender/{ValueWidget-3jNtnh5i-713d1a9523c6e10a6d7c.js → ValueWidget-3jNtnh5i-3fb26681ba0b3eea2fce.js} +1 -1
  63. data/tools/cmdsender/{ValuelimitsbarWidget-JSceOzGS-2baae99a0edbd246688e.js → ValuelimitsbarWidget-JSceOzGS-165ff396b7b32b637e38.js} +1 -1
  64. data/tools/cmdsender/{ValuelimitscolumnWidget-HR1TNHwQ-2099ea21a5c933119fda.js → ValuelimitscolumnWidget-HR1TNHwQ-7790fc72265737c05bd0.js} +1 -1
  65. data/tools/cmdsender/{ValuerangebarWidget-DnZrho8S-b61ceb8f1237c92dee19.js → ValuerangebarWidget-DnZrho8S-906c7c04bc84fef194be.js} +1 -1
  66. data/tools/cmdsender/{VerticalWidget-DJvoxqLE-dfa3fee1a5613e0f4031.js → VerticalWidget-DJvoxqLE-7193eb2ad090444f41cc.js} +1 -1
  67. data/tools/cmdsender/{VerticalboxWidget-CYYyLBoO-c73051b1f73a78f83ba5.js → VerticalboxWidget-CYYyLBoO-ae1b0e994ee90609f26e.js} +1 -1
  68. data/tools/cmdsender/{Widget-Bn_S-zBo-6c26e45762c84ab62189.js → Widget-Bn_S-zBo-efae4c00380b9d00ac88.js} +1 -1
  69. data/tools/cmdsender/{main-ac129bbcdb2f3eb5e7ce.js → main-2ac97b3f21af7820f325.js} +2 -2
  70. data/tools/cmdsender/main.js +1 -1
  71. metadata +69 -69
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bfbcccae32fc11aae262ffb65df08594767c9ed64a58f0684a0b690ad9d9de83
4
- data.tar.gz: 32adf55f7b517ee2e704bcd1c0bc09591a8ce44e0214f885946f6b8091a14218
3
+ metadata.gz: 5c98f4a4e21141cb649578c7b48fa785365572be8376e3dbf93ebf497199438d
4
+ data.tar.gz: 647d02cf908385871040dc538b73127bf74df4da80b52d2a65373f89c978af3b
5
5
  SHA512:
6
- metadata.gz: cd14c103437c355e4b9c905f64de79ca75afb640b38c819a8821119339a0db2082283c6773a21f74851a55e947f9667c21cbab3f700b011f7fae4e54cfee0d02
7
- data.tar.gz: 8f00a20a82e87feeb3cde7f1a31b71b819950e9bb2bb1da9f6f789adf33b0019faee8d3a27185890bbc24d062e4e04cb6d28e6182a287b1d9b17220b8081e65f
6
+ metadata.gz: 59e824f41e16b377ce0be122b637e2e41475ade3b7abd9ada07137881ab617ce449255f8471b19680ab27874f54302961e57a9df8688f12aaabfece6951d56e6
7
+ data.tar.gz: 0b2ff487779a2faf6a4e74519d99a7b895d827be2605e0f3e45fd49d689b7ba81626ed0d9ed7d4db258ad903f4d1d5778c594c1b1d74b46c4438c688eea362c3
@@ -1,2 +1,2 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue","./DetailsDialog-BQE0TraI-72e0f17a6b7f12d649fd.js","single-spa","./VWidget-j2GIGGSX-8becd47dff54648ad927.js","vue-router","vuex","vuetify","./Widget-Bn_S-zBo-6c26e45762c84ab62189.js"],function(S,N){"use strict";var h,a,c,u,i,d,p,l,g,f,v,w,y,x,C,V;return{setters:[t=>{h=t.d},t=>{a=t.resolveComponent,c=t.createElementBlock,u=t.openBlock,i=t.createVNode,d=t.normalizeStyle,p=t.normalizeClass,l=t.withCtx,g=t.Fragment,f=t.renderList,v=t.createBlock,w=t.withModifiers,y=t.createTextVNode,x=t.toDisplayString},t=>{C=t.P},null,t=>{V=t.L},null,null,null,null],execute:function(){const t={components:{DetailsDialog:C},data:function(){return{width:200,height:100,itemsPerRow:4,formatter:null}},mixins:[V],computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.itemsPerRow=parseInt(this.parameters[6]))},methods:{getType:function(){let e="CONVERTED";return this.parameters[7]&&(e=this.parameters[7]),e},formatValue:function(e){var r;let n="",k=" ",B=`
1
+ System.register(["./main-2ac97b3f21af7820f325.js","vue","./DetailsDialog-BQE0TraI-14e31b27a906a6493bc2.js","single-spa","./VWidget-j2GIGGSX-a35a776160f2d34d22a7.js","vue-router","vuex","vuetify","./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js"],function(S,N){"use strict";var h,a,c,u,i,d,p,l,g,f,v,w,y,x,C,V;return{setters:[t=>{h=t.d},t=>{a=t.resolveComponent,c=t.createElementBlock,u=t.openBlock,i=t.createVNode,d=t.normalizeStyle,p=t.normalizeClass,l=t.withCtx,g=t.Fragment,f=t.renderList,v=t.createBlock,w=t.withModifiers,y=t.createTextVNode,x=t.toDisplayString},t=>{C=t.P},null,t=>{V=t.L},null,null,null,null],execute:function(){const t={components:{DetailsDialog:C},data:function(){return{width:200,height:100,itemsPerRow:4,formatter:null}},mixins:[V],computed:{aging(){return{"--aging":this.grayLevel}}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.itemsPerRow=parseInt(this.parameters[6]))},methods:{getType:function(){let e="CONVERTED";return this.parameters[7]&&(e=this.parameters[7]),e},formatValue:function(e){var r;let n="",k=" ",B=`
2
2
  `,o=0;if(Array.isArray(e)){for(const m of e)this.formatter&&((r=this.formatter)==null?void 0:r.toLowerCase())!=="nil"?n+=sprintf(this.formatter,m):n+=m,o+=1,o%this.itemsPerRow===0?(o=0,n+=B):n+=k;return n.trim()}else return e}}},D={class:"array-widget-container"};function _(e,r,n,k,B,o){const m=a("v-textarea"),z=a("v-list-item-title"),L=a("v-list-item"),M=a("v-list"),j=a("v-menu"),E=a("details-dialog");return u(),c("div",D,[i(m,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":e._value,class:p(e.valueClass),style:d([e.computedStyle,o.aging]),"data-test":"array-widget",onContextmenu:e.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),i(j,{modelValue:e.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=s=>e.contextMenuShown=s),target:[e.x,e.y]},{default:l(()=>[i(M,null,{default:l(()=>[(u(!0),c(g,null,f(e.contextMenuOptions,(s,I)=>(u(),v(L,{key:I,onClick:w(s.action,["stop"])},{default:l(()=>[i(z,null,{default:l(()=>[y(x(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),i(E,{"target-name":e.parameters[0],"packet-name":e.parameters[1],"item-name":e.parameters[2],modelValue:e.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=s=>e.viewDetails=s)},null,8,["target-name","packet-name","item-name","modelValue"])])}const P=S("default",h(t,[["render",_],["__scopeId","data-v-62b9e9e1"]]))}}});
@@ -1 +1 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","./GraphWidget-cTVq29cY-4402e130ef59e6323e67.js","vue","vue-router","single-spa","vuex","vuetify","./Widget-Bn_S-zBo-6c26e45762c84ab62189.js"],function(m,_){"use strict";var c,l,h,d,u,p;return{setters:[s=>{c=s.d,l=s.m,h=s.P},s=>{d=s._},s=>{u=s.createElementBlock,p=s.openBlock},null,null,null,null,null],execute:function(){const s={data:function(){return{items:[],indexes:{},data:[[]],cable:new h,subscription:null,graph:null,xAxis:null,title:"Array Plot",colorIndex:0,colors:["#00c7cb","#938bdb","#4dacff","lime","darkorange","red","gold","hotpink","tan","cyan","maroon","blue","teal","purple","green","brown","lightblue","white","black"]}},mixins:[d],created(){for(const[e,t]of this.items.entries())this.data.push([]),this.indexes[this.subscriptionKey(t)]=e+1,t.color=this.colors[this.colorIndex],this.colorIndex++;this.appliedSettings.forEach(e=>{switch(e[0]){case"TITLE":this.title=e[1];break;case"X_AXIS":this.xAxis={start:parseFloat(e[1]),step:parseFloat(e[2])};break}})},mounted(){let e=[];this.items.forEach(n=>{e.push({label:this.itemName(n),stroke:n.color,width:2,value:(r,i)=>typeof i=="string"||isNaN(i)?"NaN":i==null?"--":i.toFixed(3)})});let t={title:this.title,width:this.size.width,height:this.size.height,scales:{x:{time:!1},y:{time:!1,range:(n,r,i)=>[r,i]}},axes:[{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}},{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}}],series:[{label:"X Value"},...e]};this.graph=new l(t,this.data,document.getElementById(`chart${this.id}`)),this.subscribe()},beforeUnmount:function(){this.cable.disconnect()},computed:{dataOnly(){return this.data[1]}},watch:{dataOnly:function(){this.graph&&this.graph.setData(this.data)}},methods:{subscribe:function(){this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>this.received(e),connected:()=>{this.addItemsToSubscription(this.items)},disconnected:e=>{e.allowReconnect&&this.errors.push({type:"disconnected",message:"OpenC3 backend connection disconnected",time:new Date().getTime()})},rejected:()=>{this.errors.push({type:"rejected",message:"OpenC3 backend connection rejected",time:new Date().getTime()})}}).then(e=>{this.subscription=e})},received:function(e){for(let t of e){let n=[];for(const[r,i]of Object.entries(t)){r==="__time"&&(this.xAxis?n=Array.from({length:this.data[1].length},(f,o)=>this.xAxis.start+o*this.xAxis.step):n.length===0&&(n=Array.from({length:this.data[1].length},(f,o)=>o)),this.data[0]=n);let a=this.indexes[r];a&&(Array.isArray(i[0])?(this.data[a]=i[1],n=i[0]):this.data[a]=i)}}},addItemsToSubscription:function(e=this.items){this.subscription&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(t=>{t&&OpenC3Auth.setTokens(),this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:e.map(this.subscriptionKey),start_time:null,end_time:null})})},itemName:function(e){return`${e.targetName} ${e.packetName} ${e.itemName}`},subscriptionKey:function(e){let t=`${e.reduced}__TLM__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`;return(e.reduced==="REDUCED_MINUTE"||e.reduced==="REDUCED_HOUR"||e.reduced==="REDUCED_DAY")&&(t+=`__${e.reducedType}`),t}}},b=["id"];function g(e,t,n,r,i,a){return p(),u("div",{class:"pa-1",id:`chart${e.id}`},null,8,b)}const k=m("default",c(s,[["render",g]]))}}});
1
+ System.register(["./main-2ac97b3f21af7820f325.js","./GraphWidget-cTVq29cY-3a1d000b923aab692dc1.js","vue","vue-router","single-spa","vuex","vuetify","./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js"],function(m,_){"use strict";var c,l,h,d,u,p;return{setters:[s=>{c=s.d,l=s.m,h=s.P},s=>{d=s._},s=>{u=s.createElementBlock,p=s.openBlock},null,null,null,null,null],execute:function(){const s={data:function(){return{items:[],indexes:{},data:[[]],cable:new h,subscription:null,graph:null,xAxis:null,title:"Array Plot",colorIndex:0,colors:["#00c7cb","#938bdb","#4dacff","lime","darkorange","red","gold","hotpink","tan","cyan","maroon","blue","teal","purple","green","brown","lightblue","white","black"]}},mixins:[d],created(){for(const[e,t]of this.items.entries())this.data.push([]),this.indexes[this.subscriptionKey(t)]=e+1,t.color=this.colors[this.colorIndex],this.colorIndex++;this.appliedSettings.forEach(e=>{switch(e[0]){case"TITLE":this.title=e[1];break;case"X_AXIS":this.xAxis={start:parseFloat(e[1]),step:parseFloat(e[2])};break}})},mounted(){let e=[];this.items.forEach(n=>{e.push({label:this.itemName(n),stroke:n.color,width:2,value:(r,i)=>typeof i=="string"||isNaN(i)?"NaN":i==null?"--":i.toFixed(3)})});let t={title:this.title,width:this.size.width,height:this.size.height,scales:{x:{time:!1},y:{time:!1,range:(n,r,i)=>[r,i]}},axes:[{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}},{stroke:"white",grid:{show:!0,stroke:"rgba(255, 255, 255, .1)",width:2}}],series:[{label:"X Value"},...e]};this.graph=new l(t,this.data,document.getElementById(`chart${this.id}`)),this.subscribe()},beforeUnmount:function(){this.cable.disconnect()},computed:{dataOnly(){return this.data[1]}},watch:{dataOnly:function(){this.graph&&this.graph.setData(this.data)}},methods:{subscribe:function(){this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>this.received(e),connected:()=>{this.addItemsToSubscription(this.items)},disconnected:e=>{e.allowReconnect&&this.errors.push({type:"disconnected",message:"OpenC3 backend connection disconnected",time:new Date().getTime()})},rejected:()=>{this.errors.push({type:"rejected",message:"OpenC3 backend connection rejected",time:new Date().getTime()})}}).then(e=>{this.subscription=e})},received:function(e){for(let t of e){let n=[];for(const[r,i]of Object.entries(t)){r==="__time"&&(this.xAxis?n=Array.from({length:this.data[1].length},(f,o)=>this.xAxis.start+o*this.xAxis.step):n.length===0&&(n=Array.from({length:this.data[1].length},(f,o)=>o)),this.data[0]=n);let a=this.indexes[r];a&&(Array.isArray(i[0])?(this.data[a]=i[1],n=i[0]):this.data[a]=i)}}},addItemsToSubscription:function(e=this.items){this.subscription&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(t=>{t&&OpenC3Auth.setTokens(),this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:e.map(this.subscriptionKey),start_time:null,end_time:null})})},itemName:function(e){return`${e.targetName} ${e.packetName} ${e.itemName}`},subscriptionKey:function(e){let t=`${e.reduced}__TLM__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`;return(e.reduced==="REDUCED_MINUTE"||e.reduced==="REDUCED_HOUR"||e.reduced==="REDUCED_DAY")&&(t+=`__${e.reducedType}`),t}}},b=["id"];function g(e,t,n,r,i,a){return p(),u("div",{class:"pa-1",id:`chart${e.id}`},null,8,b)}const k=m("default",c(s,[["render",g]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","./main-ac129bbcdb2f3eb5e7ce.js"],function(a,n){"use strict";var h,l;return{setters:[s=>{h=s.o},s=>{l=s.B}],execute:function(){const s=a("l",{mixins:[h],data(){return{minValue:null,maxValue:null,redLow:0,yellowLow:0,greenLow:0,greenHigh:0,yellowHigh:0,redHigh:0,blue:0,api:null,limitsSettings:{DEFAULT:[]},currentLimitsSet:"DEFAULT",currentSetRefreshInterval:null}},computed:{cssProps:function(){let t=this.screenValues[this.valueId][0],i=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);return this.calcLimits(i),{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition(t,i)+"%","--redlow-width":this.redLow+"%","--redhigh-width":this.redHigh+"%","--yellowlow-width":this.yellowLow+"%","--yellowhigh-width":this.yellowHigh+"%","--greenlow-width":this.greenLow+"%","--greenhigh-width":this.greenHigh+"%","--blue-width":this.blue+"%"}},selectedLimitsSet:function(){return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)?this.currentLimitsSet:"DEFAULT"}},created(){this.api=new l,this.api.get_limits(this.parameters[0],this.parameters[1],this.parameters[2]).then(t=>{this.limitsSettings=t}),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,6e4),this.appliedSettings.forEach(t=>{t[0]==="MIN_VALUE"&&(this.minValue=parseInt(t[1])),t[0]==="MAX_VALUE"&&(this.maxValue=parseInt(t[1]))}),this.width=this.setWidth(this.parameters[4],"px",this.width),this.height=this.setHeight(this.parameters[5],"px",this.height),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`,this.$emit("addItem",this.valueId)},destroyed(){this.$emit("deleteItem",this.valueId),clearInterval(this.currentSetRefreshInterval)},methods:{modifyLimits(t){if(!t)return;this.redLow=10,this.redHigh=10,this.minValue!==null&&(t[0]<=this.minValue&&(t[0]=this.minValue,this.redLow=0),t[1]<=this.minValue&&(t[1]=this.minValue),t[2]<=this.minValue&&(t[2]=this.minValue),t[3]<=this.minValue&&(t[3]=this.minValue),t.length>4&&t[4]<=this.minValue&&(t[4]=this.minValue),t.length>4&&t[5]<=this.minValue&&(t[5]=this.minValue)),this.maxValue!==null&&(t[0]>=this.maxValue&&(t[0]=this.maxValue),t[1]>=this.maxValue&&(t[1]=this.maxValue),t[2]>=this.maxValue&&(t[2]=this.maxValue),t[3]>=this.maxValue&&(t[3]=this.maxValue,this.redHigh=0),t.length>4&&t[4]>=this.maxValue&&(t[4]=this.maxValue),t.length>4&&t[5]>=this.maxValue&&(t[5]=this.maxValue)),t[0]==t[1]&&(this.yellowLow=0),t[2]==t[3]&&(this.yellowHigh=0);let i=80;return this.redLow==0&&(i+=10),this.redHigh==0&&(i+=10),this.scale=(t[3]-t[0])/i,t},calcPosition(t,i){if(!t||!i)return;let r=i[0]-10*this.scale;if(this.minValue&&this.minValue==i[0]&&(r=i[0]),i[3]-10*this.scale,this.maxValue&&this.maxValue==i[3]&&i[3],t.raw)return t.raw==="-Infinity"?0:100;if(t<this.min)return 0;if(t>this.max)return 100;{const e=parseInt((t-r)/this.scale);return e>100?100:e<0?0:e}},calcLimits(t){t&&(this.yellowLow=Math.round((t[1]-t[0])/this.scale),this.yellowHigh=Math.round((t[3]-t[2])/this.scale),t.length>4?(this.greenLow=Math.round((t[4]-t[1])/this.scale),this.greenHigh=Math.round((t[2]-t[5])/this.scale),this.blue=Math.round(100-this.redLow-this.yellowLow-this.greenLow-this.greenHigh-this.yellowHigh-this.redHigh)):(this.greenLow=Math.round(100-this.redLow-this.yellowLow-this.yellowHigh-this.redHigh),this.greenHigh=0,this.blue=0))},getCurrentLimitsSet:function(){this.api.get_limits_set().then(t=>{this.currentLimitsSet=t})}}})}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","./main-2ac97b3f21af7820f325.js"],function(a,n){"use strict";var h,l;return{setters:[s=>{h=s.o},s=>{l=s.B}],execute:function(){const s=a("l",{mixins:[h],data(){return{minValue:null,maxValue:null,redLow:0,yellowLow:0,greenLow:0,greenHigh:0,yellowHigh:0,redHigh:0,blue:0,api:null,limitsSettings:{DEFAULT:[]},currentLimitsSet:"DEFAULT",currentSetRefreshInterval:null}},computed:{cssProps:function(){let t=this.screenValues[this.valueId][0],i=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);return this.calcLimits(i),{"--height":this.height+"px","--width":this.width+"px","--container-height":this.height-5+"px","--position":this.calcPosition(t,i)+"%","--redlow-width":this.redLow+"%","--redhigh-width":this.redHigh+"%","--yellowlow-width":this.yellowLow+"%","--yellowhigh-width":this.yellowHigh+"%","--greenlow-width":this.greenLow+"%","--greenhigh-width":this.greenHigh+"%","--blue-width":this.blue+"%"}},selectedLimitsSet:function(){return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)?this.currentLimitsSet:"DEFAULT"}},created(){this.api=new l,this.api.get_limits(this.parameters[0],this.parameters[1],this.parameters[2]).then(t=>{this.limitsSettings=t}),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,6e4),this.appliedSettings.forEach(t=>{t[0]==="MIN_VALUE"&&(this.minValue=parseInt(t[1])),t[0]==="MAX_VALUE"&&(this.maxValue=parseInt(t[1]))}),this.width=this.setWidth(this.parameters[4],"px",this.width),this.height=this.setHeight(this.parameters[5],"px",this.height),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__CONVERTED`,this.$emit("addItem",this.valueId)},destroyed(){this.$emit("deleteItem",this.valueId),clearInterval(this.currentSetRefreshInterval)},methods:{modifyLimits(t){if(!t)return;this.redLow=10,this.redHigh=10,this.minValue!==null&&(t[0]<=this.minValue&&(t[0]=this.minValue,this.redLow=0),t[1]<=this.minValue&&(t[1]=this.minValue),t[2]<=this.minValue&&(t[2]=this.minValue),t[3]<=this.minValue&&(t[3]=this.minValue),t.length>4&&t[4]<=this.minValue&&(t[4]=this.minValue),t.length>4&&t[5]<=this.minValue&&(t[5]=this.minValue)),this.maxValue!==null&&(t[0]>=this.maxValue&&(t[0]=this.maxValue),t[1]>=this.maxValue&&(t[1]=this.maxValue),t[2]>=this.maxValue&&(t[2]=this.maxValue),t[3]>=this.maxValue&&(t[3]=this.maxValue,this.redHigh=0),t.length>4&&t[4]>=this.maxValue&&(t[4]=this.maxValue),t.length>4&&t[5]>=this.maxValue&&(t[5]=this.maxValue)),t[0]==t[1]&&(this.yellowLow=0),t[2]==t[3]&&(this.yellowHigh=0);let i=80;return this.redLow==0&&(i+=10),this.redHigh==0&&(i+=10),this.scale=(t[3]-t[0])/i,t},calcPosition(t,i){if(!t||!i)return;let r=i[0]-10*this.scale;if(this.minValue&&this.minValue==i[0]&&(r=i[0]),i[3]-10*this.scale,this.maxValue&&this.maxValue==i[3]&&i[3],t.raw)return t.raw==="-Infinity"?0:100;if(t<this.min)return 0;if(t>this.max)return 100;{const e=parseInt((t-r)/this.scale);return e>100?100:e<0?0:e}},calcLimits(t){t&&(this.yellowLow=Math.round((t[1]-t[0])/this.scale),this.yellowHigh=Math.round((t[3]-t[2])/this.scale),t.length>4?(this.greenLow=Math.round((t[4]-t[1])/this.scale),this.greenHigh=Math.round((t[2]-t[5])/this.scale),this.blue=Math.round(100-this.redLow-this.yellowLow-this.greenLow-this.greenHigh-this.yellowHigh-this.redHigh)):(this.greenLow=Math.round(100-this.redLow-this.yellowLow-this.yellowHigh-this.redHigh),this.greenHigh=0,this.blue=0))},getCurrentLimitsSet:function(){this.api.get_limits_set().then(t=>{this.currentLimitsSet=t})}}})}}});
@@ -1,2 +1,2 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue","./DetailsDialog-BQE0TraI-72e0f17a6b7f12d649fd.js","single-spa","./VWidget-j2GIGGSX-8becd47dff54648ad927.js","vue-router","vuex","vuetify","./Widget-Bn_S-zBo-6c26e45762c84ab62189.js"],function(P,j){"use strict";var u,a,m,h,s,p,g,o,w,f,v,y,x,k,C,V;return{setters:[e=>{u=e.d},e=>{a=e.resolveComponent,m=e.createElementBlock,h=e.openBlock,s=e.createVNode,p=e.normalizeStyle,g=e.normalizeClass,o=e.withCtx,w=e.Fragment,f=e.renderList,v=e.createBlock,y=e.withModifiers,x=e.createTextVNode,k=e.toDisplayString},e=>{C=e.P},null,e=>{V=e.L},null,null,null,null],execute:function(){const e={components:{DetailsDialog:C},data:function(){return{width:400,height:400,bytesPerWord:4,wordsPerRow:4,addrFormat:null,formatter:"%02X"}},mixins:[V],computed:{aging(){return{"--aging":this.grayLevel}},rows:function(){return(this.height-16)/24}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.bytesPerWord=parseInt(this.parameters[6])),this.parameters[7]&&(this.wordsPerRow=parseInt(this.parameters[7])),this.parameters[8]&&(this.addrFormat=this.parameters[8])},methods:{getType:function(){let t="RAW";return this.parameters[9]&&(t=this.parameters[9]),t},formatValue:function(t){let r="";if(t&&t.raw){let S=" ",B=`
1
+ System.register(["./main-2ac97b3f21af7820f325.js","vue","./DetailsDialog-BQE0TraI-14e31b27a906a6493bc2.js","single-spa","./VWidget-j2GIGGSX-a35a776160f2d34d22a7.js","vue-router","vuex","vuetify","./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js"],function(P,j){"use strict";var u,a,m,h,s,p,g,o,w,f,v,y,x,k,C,V;return{setters:[e=>{u=e.d},e=>{a=e.resolveComponent,m=e.createElementBlock,h=e.openBlock,s=e.createVNode,p=e.normalizeStyle,g=e.normalizeClass,o=e.withCtx,w=e.Fragment,f=e.renderList,v=e.createBlock,y=e.withModifiers,x=e.createTextVNode,k=e.toDisplayString},e=>{C=e.P},null,e=>{V=e.L},null,null,null,null],execute:function(){const e={components:{DetailsDialog:C},data:function(){return{width:400,height:400,bytesPerWord:4,wordsPerRow:4,addrFormat:null,formatter:"%02X"}},mixins:[V],computed:{aging(){return{"--aging":this.grayLevel}},rows:function(){return(this.height-16)/24}},created:function(){this.width=this.setWidth(this.parameters[3],"px",this.width),this.height=this.setHeight(this.parameters[4],"px",this.height),this.parameters[5]&&(this.formatter=this.parameters[5]),this.parameters[6]&&(this.bytesPerWord=parseInt(this.parameters[6])),this.parameters[7]&&(this.wordsPerRow=parseInt(this.parameters[7])),this.parameters[8]&&(this.addrFormat=this.parameters[8])},methods:{getType:function(){let t="RAW";return this.parameters[9]&&(t=this.parameters[9]),t},formatValue:function(t){let r="";if(t&&t.raw){let S=" ",B=`
2
2
  `,i=0,l=0;const d=this.bytesPerWord*this.wordsPerRow;for(const c of t.raw)this.addrFormat&&i===0&&(r+=sprintf(this.addrFormat,l),l+=d),r+=sprintf(this.formatter,c),i+=1,i%d===0?(i=0,r+=B):i%this.bytesPerWord===0&&(r+=S)}else r=t;return r}}},_={class:"block-widget-container"};function D(t,r,S,B,i,l){const d=a("v-textarea"),c=a("v-list-item-title"),W=a("v-list-item"),M=a("v-list"),z=a("v-menu"),F=a("details-dialog");return h(),m("div",_,[s(d,{variant:"solo",density:"compact",readonly:"","no-resize":"","hide-details":"",rows:l.rows,width:t.width,"model-value":t._value,class:g(t.valueClass),style:p([t.computedStyle,l.aging]),"data-test":"valueText",onContextmenu:t.showContextMenu},null,8,["rows","width","model-value","class","style","onContextmenu"]),s(z,{modelValue:t.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=n=>t.contextMenuShown=n),target:[t.x,t.y]},{default:o(()=>[s(M,null,{default:o(()=>[(h(!0),m(w,null,f(t.contextMenuOptions,(n,b)=>(h(),v(W,{key:b,onClick:y(n.action,["stop"])},{default:o(()=>[s(c,null,{default:o(()=>[x(k(n.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),s(F,{"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2],modelValue:t.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=n=>t.viewDetails=n)},null,8,["target-name","packet-name","item-name","modelValue"])])}const I=P("default",u(e,[["render",D],["__scopeId","data-v-4d4589c2"]]))}}});
@@ -1,2 +1,2 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue","./CriticalCmdDialog-Dylpoz_4-599269d60ac1381b743d.js","single-spa","./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue-router","vuex","vuetify"],function(exports,module){"use strict";var d,FA,BA,resolveComponent,createElementBlock,openBlock,createVNode,normalizeStyle,withCtx,createTextVNode,toDisplayString,createElementVNode,N,o;return{setters:[e=>{d=e.d,FA=e.F,BA=e.B},e=>{resolveComponent=e.resolveComponent,createElementBlock=e.createElementBlock,openBlock=e.openBlock,createVNode=e.createVNode,normalizeStyle=e.normalizeStyle,withCtx=e.withCtx,createTextVNode=e.createTextVNode,toDisplayString=e.toDisplayString,createElementVNode=e.createElementVNode},e=>{N=e.N},null,e=>{o=e.o},null,null,null],execute:function(){const _sfc_main={mixins:[o],components:{CriticalCmdDialog:N},data(){return{api:null,displaySendHazardous:!1,lastCmd:"",criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1}},computed:{buttonText(){return this.parameters[0]},eval(){return this.parameters[1]}},created(){this.api=new BA},methods:{async onClick(){const lines=this.eval.split(";;"),self=this,screen=this.screen,screenValues=this.screenValues,screenTimeZone=this.screenTimeZone,api=this.api,runScript=this.runScript;(self||screen||screenValues||screenTimeZone||api||runScript)&&this.$nextTick(()=>{});for(let i=0;i<lines.length;i++)try{const result=eval(lines[i].trim());result instanceof Promise&&await result}catch(e){if(e.message.includes("CriticalCmdError"))this.criticalCmdUuid=e.object.data.instance_variables["@uuid"],this.criticalCmdString=e.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=e.object.data.instance_variables["@username"],this.displayCriticalCmd=!0;else if(e.message.includes("is Hazardous"))for(this.lastCmd=e.message.split(`
1
+ System.register(["./main-2ac97b3f21af7820f325.js","vue","./CriticalCmdDialog-Dylpoz_4-de39c72a2e7f30c62c5f.js","single-spa","./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue-router","vuex","vuetify"],function(exports,module){"use strict";var d,FA,BA,resolveComponent,createElementBlock,openBlock,createVNode,normalizeStyle,withCtx,createTextVNode,toDisplayString,createElementVNode,N,o;return{setters:[e=>{d=e.d,FA=e.F,BA=e.B},e=>{resolveComponent=e.resolveComponent,createElementBlock=e.createElementBlock,openBlock=e.openBlock,createVNode=e.createVNode,normalizeStyle=e.normalizeStyle,withCtx=e.withCtx,createTextVNode=e.createTextVNode,toDisplayString=e.toDisplayString,createElementVNode=e.createElementVNode},e=>{N=e.N},null,e=>{o=e.o},null,null,null],execute:function(){const _sfc_main={mixins:[o],components:{CriticalCmdDialog:N},data(){return{api:null,displaySendHazardous:!1,lastCmd:"",criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,displayCriticalCmd:!1}},computed:{buttonText(){return this.parameters[0]},eval(){return this.parameters[1]}},created(){this.api=new BA},methods:{async onClick(){const lines=this.eval.split(";;"),self=this,screen=this.screen,screenValues=this.screenValues,screenTimeZone=this.screenTimeZone,api=this.api,runScript=this.runScript;(self||screen||screenValues||screenTimeZone||api||runScript)&&this.$nextTick(()=>{});for(let i=0;i<lines.length;i++)try{const result=eval(lines[i].trim());result instanceof Promise&&await result}catch(e){if(e.message.includes("CriticalCmdError"))this.criticalCmdUuid=e.object.data.instance_variables["@uuid"],this.criticalCmdString=e.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=e.object.data.instance_variables["@username"],this.displayCriticalCmd=!0;else if(e.message.includes("is Hazardous"))for(this.lastCmd=e.message.split(`
2
2
  `).pop(),this.displaySendHazardous=!0;this.displaySendHazardous;)await new Promise(t=>setTimeout(t,500));else console.error(e)}},async sendHazardousCmd(){this.lastCmd=this.lastCmd.replace("cmd(","this.api.cmd_no_hazardous_check(");try{const result=eval(this.lastCmd);result instanceof Promise&&await result}catch(e){e.message.includes("CriticalCmdError")&&(this.criticalCmdUuid=e.object.data.instance_variables["@uuid"],this.criticalCmdString=e.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=e.object.data.instance_variables["@username"],this.displayCriticalCmd=!0)}this.displaySendHazardous=!1},cancelHazardousCmd(){this.displaySendHazardous=!1},runScript(e,t=!0,s={}){let l=[];for(const a in s)l.push({key:a,value:s[a],readonly:!1});FA.post(`/script-api/scripts/${e}/run`,{data:{environment:l}}).then(a=>{t&&window.open(`/tools/scriptrunner/${a.data}`,"_blank")})}}},_hoisted_1={class:"mx-1"};function _sfc_render(e,t,s,l,a,r){const n=resolveComponent("v-btn"),m=resolveComponent("v-card-title"),u=resolveComponent("v-row"),C=resolveComponent("v-spacer"),p=resolveComponent("v-card-text"),h=resolveComponent("v-card"),v=resolveComponent("v-dialog"),_=resolveComponent("critical-cmd-dialog");return openBlock(),createElementBlock("div",null,[createVNode(n,{class:"ma-1",color:"primary",style:normalizeStyle(e.computedStyle),onClick:r.onClick},{default:withCtx(()=>[createTextVNode(toDisplayString(r.buttonText),1)]),_:1},8,["style","onClick"]),createVNode(v,{modelValue:a.displaySendHazardous,"onUpdate:modelValue":t[0]||(t[0]=c=>a.displaySendHazardous=c),"max-width":"300"},{default:withCtx(()=>[createVNode(h,null,{default:withCtx(()=>[createVNode(m,null,{default:withCtx(()=>t[2]||(t[2]=[createTextVNode("Hazardous")])),_:1}),createVNode(p,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(u,{class:"my-2"},{default:withCtx(()=>t[3]||(t[3]=[createElementVNode("span",null," Warning: Command is Hazardous. Send? ",-1)])),_:1}),createVNode(u,null,{default:withCtx(()=>[createVNode(C),createVNode(n,{onClick:r.cancelHazardousCmd,variant:"outlined"},{default:withCtx(()=>t[4]||(t[4]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{onClick:r.sendHazardousCmd,class:"bg-primary mx-1"},{default:withCtx(()=>t[5]||(t[5]=[createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(_,{uuid:a.criticalCmdUuid,cmdString:a.criticalCmdString,cmdUser:a.criticalCmdUser,modelValue:a.displayCriticalCmd,"onUpdate:modelValue":t[1]||(t[1]=c=>a.displayCriticalCmd=c)},null,8,["uuid","cmdString","cmdUser","modelValue"])])}const ButtonWidget=exports("default",d(_sfc_main,[["render",_sfc_render]]))}}});
@@ -1 +1 @@
1
- System.register(["./Layout-1z8iJV5--c6e32606f7b1d0189c70.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue-router","single-spa","vuex","vuetify"],function(p,f){"use strict";var i,s,n,a,l,c,u,o,g;return{setters:[e=>{i=e.r},e=>{s=e.createElementBlock,n=e.openBlock,a=e.Fragment,l=e.renderList,c=e.createBlock,u=e.resolveDynamicComponent,o=e.mergeProps},e=>{g=e.d},null,null,null,null,null],execute:function(){const e={mixins:[i],computed:{width(){return this.parameters[0]+"px"},height(){return this.parameters[1]+"px"}}},d=["width","height"];function h(r,B,k,y,b,m){return n(),s("svg",{id:"canvas",width:m.width,height:m.height},[(n(!0),s(a,null,l(r.widgets,(t,v)=>(n(),c(u(t.type),o({ref_for:!0},r.listeners,{key:v,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],8,d)}const w=p("default",g(e,[["render",h],["__scopeId","data-v-47bdfc3c"]]))}}});
1
+ System.register(["./Layout-1z8iJV5--980eb034a25f5f420214.js","vue","./main-2ac97b3f21af7820f325.js","./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue-router","single-spa","vuex","vuetify"],function(p,f){"use strict";var i,s,n,a,l,c,u,o,g;return{setters:[e=>{i=e.r},e=>{s=e.createElementBlock,n=e.openBlock,a=e.Fragment,l=e.renderList,c=e.createBlock,u=e.resolveDynamicComponent,o=e.mergeProps},e=>{g=e.d},null,null,null,null,null],execute:function(){const e={mixins:[i],computed:{width(){return this.parameters[0]+"px"},height(){return this.parameters[1]+"px"}}},d=["width","height"];function h(r,B,k,y,b,m){return n(),s("svg",{id:"canvas",width:m.width,height:m.height},[(n(!0),s(a,null,l(r.widgets,(t,v)=>(n(),c(u(t.type),o({ref_for:!0},r.listeners,{key:v,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":r.screenValues,"screen-time-zone":r.screenTimeZone,widgets:t.widgets,name:t.name,line:t.line,"line-number":t.lineNumber}),null,16,["target","parameters","settings","screen-values","screen-time-zone","widgets","name","line","line-number"]))),128))],8,d)}const w=p("default",g(e,[["render",h],["__scopeId","data-v-47bdfc3c"]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(s,o){"use strict";var t,n,l,c;return{setters:[e=>{t=e.o},e=>{n=e.createElementBlock,l=e.openBlock},e=>{c=e.d},null,null,null,null],execute:function(){const e={mixins:[t]},u=["cx","cy","r","fill"];function i(r,m,f,p,B,d){return l(),n("circle",{cx:r.parameters[0],cy:r.parameters[1],r:r.parameters[3],fill:r.parameters[2]},null,8,u)}const a=s("default",c(e,[["render",i]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(s,o){"use strict";var t,n,l,c;return{setters:[e=>{t=e.o},e=>{n=e.createElementBlock,l=e.openBlock},e=>{c=e.d},null,null,null,null],execute:function(){const e={mixins:[t]},u=["cx","cy","r","fill"];function i(r,m,f,p,B,d){return l(),n("circle",{cx:r.parameters[0],cy:r.parameters[1],r:r.parameters[3],fill:r.parameters[2]},null,8,u)}const a=s("default",c(e,[["render",i]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","./ImageLoader-CfcErydq-d6c4b7e8b98cd765f999.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(m,d){"use strict";var n,i,s,a,l,c,h;return{setters:[e=>{n=e.o},e=>{i=e.s},e=>{s=e.createElementBlock,a=e.createCommentVNode,l=e.openBlock,c=e.normalizeStyle},e=>{h=e.d},null,null,null,null],execute:function(){const e={mixins:[n,i],data:function(){return{imageUrl:null,screenTarget:null,screenName:null}},computed:{width:function(){return this.parameters[3]?`${this.parameters[3]}px`:"100%"},height:function(){return this.parameters[4]?`${this.parameters[4]}px`:"100%"},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.appliedSettings.forEach(t=>{t[0]==="SCREEN"&&(this.screenTarget=t[1],this.screenName=t[2])}),this.parameters[0].startsWith("http")?this.imageUrl=this.parameters[0]:this.getPresignedUrl(this.parameters[0]).then(t=>{this.imageUrl=t})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}},u=["href","x","y","width","height"];function g(t,o,y,k,S,r){return t.imageUrl?(l(),s("image",{key:0,href:t.imageUrl,x:t.parameters[1],y:t.parameters[2],width:r.width,height:r.height,style:c(r.pointerStyle),onClick:o[0]||(o[0]=(...p)=>r.clickHandler&&r.clickHandler(...p))},null,12,u)):a("",!0)}const f=m("default",h(e,[["render",g]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","./ImageLoader-CfcErydq-a423f9782e23274ea1de.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(m,d){"use strict";var n,i,s,a,l,c,h;return{setters:[e=>{n=e.o},e=>{i=e.s},e=>{s=e.createElementBlock,a=e.createCommentVNode,l=e.openBlock,c=e.normalizeStyle},e=>{h=e.d},null,null,null,null],execute:function(){const e={mixins:[n,i],data:function(){return{imageUrl:null,screenTarget:null,screenName:null}},computed:{width:function(){return this.parameters[3]?`${this.parameters[3]}px`:"100%"},height:function(){return this.parameters[4]?`${this.parameters[4]}px`:"100%"},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.appliedSettings.forEach(t=>{t[0]==="SCREEN"&&(this.screenTarget=t[1],this.screenName=t[2])}),this.parameters[0].startsWith("http")?this.imageUrl=this.parameters[0]:this.getPresignedUrl(this.parameters[0]).then(t=>{this.imageUrl=t})},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}},u=["href","x","y","width","height"];function g(t,o,y,k,S,r){return t.imageUrl?(l(),s("image",{key:0,href:t.imageUrl,x:t.parameters[1],y:t.parameters[2],width:r.width,height:r.height,style:c(r.pointerStyle),onClick:o[0]||(o[0]=(...p)=>r.clickHandler&&r.clickHandler(...p))},null,12,u)):a("",!0)}const f=m("default",h(e,[["render",g]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","./ImageLoader-CfcErydq-d6c4b7e8b98cd765f999.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(v,S){"use strict";var m,d,l,n,h,o,g,f,u,c,p;return{setters:[t=>{m=t.o},t=>{d=t.s},t=>{l=t.createElementBlock,n=t.openBlock,h=t.withDirectives,o=t.createCommentVNode,g=t.Fragment,f=t.renderList,u=t.normalizeStyle,c=t.vShow},t=>{p=t.d},null,null,null,null],execute:function(){const t={mixins:[m,d],data:function(){return{images:[],defaultImage:null,screenTarget:null,screenName:null}},computed:{selectedValue:function(){return this.screenValues[this.valueId]?this.screenValues[this.valueId][0]:null},showDefault:function(){return!this.images.some(r=>r.value==this.selectedValue)},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.appliedSettings.forEach(e=>{e[0]==="SCREEN"&&(this.screenTarget=e[1],this.screenName=e[2])}),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]||"RAW"}`,this.$emit("addItem",this.valueId);const r=this.appliedSettings.filter(e=>e[0]==="IMAGE").map(async e=>{let i=e[2];return i.startsWith("http")||(i=await this.getPresignedUrl(i)),{url:i,value:e[1],x:e[3],y:e[4],width:e[5],height:e[6]}});if(Promise.all(r).then(e=>{this.images=e}),this.parameters[4]){const e={x:this.parameters[5],y:this.parameters[6],width:this.parameters[7]?`${this.parameters[7]}px`:"100%",height:this.parameters[8]?`${this.parameters[8]}px`:"100%"};let i=this.parameters[4];i.startsWith("http")?this.defaultImage={...e,url:i}:this.getPresignedUrl(i).then(y=>{this.defaultImage={...e,url:y}})}},unmounted:function(){this.$emit("deleteItem",this.valueId)},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}},I=["href","x","y","width","height"],w=["href","x","y","width","height"];function k(r,e,i,y,N,a){return n(),l("g",null,[(n(!0),l(g,null,f(r.images,s=>h((n(),l("image",{key:s.value,href:s.url,x:s.x,y:s.y,width:s.width,height:s.height,style:u(a.pointerStyle),onClick:e[0]||(e[0]=(...x)=>a.clickHandler&&a.clickHandler(...x))},null,12,I)),[[c,s.value==a.selectedValue]])),128)),r.defaultImage?h((n(),l("image",{key:0,href:r.defaultImage.url,x:r.defaultImage.x,y:r.defaultImage.y,width:r.defaultImage.width,height:r.defaultImage.height,style:u(a.pointerStyle),onClick:e[1]||(e[1]=(...s)=>a.clickHandler&&a.clickHandler(...s))},null,12,w)),[[c,a.showDefault]]):o("",!0)])}const $=v("default",p(t,[["render",k]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","./ImageLoader-CfcErydq-a423f9782e23274ea1de.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(v,S){"use strict";var m,d,l,n,h,o,g,f,u,c,p;return{setters:[t=>{m=t.o},t=>{d=t.s},t=>{l=t.createElementBlock,n=t.openBlock,h=t.withDirectives,o=t.createCommentVNode,g=t.Fragment,f=t.renderList,u=t.normalizeStyle,c=t.vShow},t=>{p=t.d},null,null,null,null],execute:function(){const t={mixins:[m,d],data:function(){return{images:[],defaultImage:null,screenTarget:null,screenName:null}},computed:{selectedValue:function(){return this.screenValues[this.valueId]?this.screenValues[this.valueId][0]:null},showDefault:function(){return!this.images.some(r=>r.value==this.selectedValue)},pointerStyle(){return this.screenTarget&&this.screenName?{cursor:"pointer"}:{cursor:"default"}}},created:function(){this.appliedSettings.forEach(e=>{e[0]==="SCREEN"&&(this.screenTarget=e[1],this.screenName=e[2])}),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.parameters[3]||"RAW"}`,this.$emit("addItem",this.valueId);const r=this.appliedSettings.filter(e=>e[0]==="IMAGE").map(async e=>{let i=e[2];return i.startsWith("http")||(i=await this.getPresignedUrl(i)),{url:i,value:e[1],x:e[3],y:e[4],width:e[5],height:e[6]}});if(Promise.all(r).then(e=>{this.images=e}),this.parameters[4]){const e={x:this.parameters[5],y:this.parameters[6],width:this.parameters[7]?`${this.parameters[7]}px`:"100%",height:this.parameters[8]?`${this.parameters[8]}px`:"100%"};let i=this.parameters[4];i.startsWith("http")?this.defaultImage={...e,url:i}:this.getPresignedUrl(i).then(y=>{this.defaultImage={...e,url:y}})}},unmounted:function(){this.$emit("deleteItem",this.valueId)},methods:{clickHandler(){this.screenTarget&&this.screenName&&this.$emit("open",this.screenTarget,this.screenName)}}},I=["href","x","y","width","height"],w=["href","x","y","width","height"];function k(r,e,i,y,N,a){return n(),l("g",null,[(n(!0),l(g,null,f(r.images,s=>h((n(),l("image",{key:s.value,href:s.url,x:s.x,y:s.y,width:s.width,height:s.height,style:u(a.pointerStyle),onClick:e[0]||(e[0]=(...x)=>a.clickHandler&&a.clickHandler(...x))},null,12,I)),[[c,s.value==a.selectedValue]])),128)),r.defaultImage?h((n(),l("image",{key:0,href:r.defaultImage.url,x:r.defaultImage.x,y:r.defaultImage.y,width:r.defaultImage.width,height:r.defaultImage.height,style:u(a.pointerStyle),onClick:e[1]||(e[1]=(...s)=>a.clickHandler&&a.clickHandler(...s))},null,12,w)),[[c,a.showDefault]]):o("",!0)])}const $=v("default",p(t,[["render",k]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(o,p){"use strict";var r,l,n,s,i;return{setters:[e=>{r=e.o},e=>{l=e.createElementBlock,n=e.openBlock,s=e.toDisplayString},e=>{i=e.d},null,null,null,null],execute:function(){const e={mixins:[r],computed:{fillColor(){return this.parameters[3]?this.parameters[3]:"black"}}},a=["x","y","fill"];function u(t,f,x,d,y,c){return n(),l("text",{x:t.parameters[0],y:t.parameters[1],fill:c.fillColor},s(t.parameters[2]),9,a)}const m=o("default",i(e,[["render",u]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(o,p){"use strict";var r,l,n,s,i;return{setters:[e=>{r=e.o},e=>{l=e.createElementBlock,n=e.openBlock,s=e.toDisplayString},e=>{i=e.d},null,null,null,null],execute:function(){const e={mixins:[r],computed:{fillColor(){return this.parameters[3]?this.parameters[3]:"black"}}},a=["x","y","fill"];function u(t,f,x,d,y,c){return n(),l("text",{x:t.parameters[0],y:t.parameters[1],fill:c.fillColor},s(t.parameters[2]),9,a)}const m=o("default",i(e,[["render",u]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(u,p){"use strict";var s,a,i,l,n;return{setters:[e=>{s=e.o},e=>{a=e.createElementBlock,i=e.openBlock,l=e.toDisplayString},e=>{n=e.d},null,null,null,null],execute:function(){const e={mixins:[s],data(){return{valueId:null}},computed:{_value(){return this.screenValues[this.valueId][0]},fontSize(){return this.parameters[5]?this.parameters[5]+"px":"14px"},fillColor(){return this.parameters[6]?this.parameters[6]:"black"}},created(){let t="CONVERTED";this.parameters[7]&&(t=this.parameters[7]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)}},o=["x","y","font-size","fill"];function m(t,d,h,f,v,r){return i(),a("text",{x:t.parameters[3],y:t.parameters[4],"font-size":r.fontSize,fill:r.fillColor},l(r._value),9,o)}const c=u("default",n(e,[["render",m]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(u,p){"use strict";var s,a,i,l,n;return{setters:[e=>{s=e.o},e=>{a=e.createElementBlock,i=e.openBlock,l=e.toDisplayString},e=>{n=e.d},null,null,null,null],execute:function(){const e={mixins:[s],data(){return{valueId:null}},computed:{_value(){return this.screenValues[this.valueId][0]},fontSize(){return this.parameters[5]?this.parameters[5]+"px":"14px"},fillColor(){return this.parameters[6]?this.parameters[6]:"black"}},created(){let t="CONVERTED";this.parameters[7]&&(t=this.parameters[7]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${t}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)}},o=["x","y","font-size","fill"];function m(t,d,h,f,v,r){return i(),a("text",{x:t.parameters[3],y:t.parameters[4],"font-size":r.fontSize,fill:r.fillColor},l(r._value),9,o)}const c=u("default",n(e,[["render",m]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(i,p){"use strict";var l,n,s,a,c;return{setters:[e=>{l=e.o},e=>{n=e.createElementBlock,s=e.openBlock,a=e.normalizeStyle},e=>{c=e.d},null,null,null,null],execute:function(){const e={mixins:[l],computed:{calcStyle(){let t="black";this.parameters[4]&&(t=this.parameters[4]);let r=1;return this.parameters[5]&&(r=this.parameters[5]),"stroke:"+t+";stroke-width:"+r}}},o=["x1","y1","x2","y2"];function u(t,r,d,k,x,m){return s(),n("line",{x1:t.parameters[0],y1:t.parameters[1],x2:t.parameters[2],y2:t.parameters[3],style:a(m.calcStyle)},null,12,o)}const y=i("default",c(e,[["render",u]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(i,p){"use strict";var l,n,s,a,c;return{setters:[e=>{l=e.o},e=>{n=e.createElementBlock,s=e.openBlock,a=e.normalizeStyle},e=>{c=e.d},null,null,null,null],execute:function(){const e={mixins:[l],computed:{calcStyle(){let t="black";this.parameters[4]&&(t=this.parameters[4]);let r=1;return this.parameters[5]&&(r=this.parameters[5]),"stroke:"+t+";stroke-width:"+r}}},o=["x1","y1","x2","y2"];function u(t,r,d,k,x,m){return s(),n("line",{x1:t.parameters[0],y1:t.parameters[1],x2:t.parameters[2],y2:t.parameters[3],style:a(m.calcStyle)},null,12,o)}const y=i("default",c(e,[["render",u]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(u,o){"use strict";var s,r,l,i,n;return{setters:[t=>{s=t.o},t=>{r=t.createElementBlock,l=t.openBlock,i=t.normalizeStyle},t=>{n=t.d},null,null,null,null],execute:function(){const t={mixins:[s],data(){return{valueId:0,valueMap:{}}},computed:{calcStyle(){let e="black";this.screenValues[this.valueId]&&(e=this.valueMap[this.screenValues[this.valueId][0]]);let a=1;return this.parameters[7]&&(a=this.parameters[7]),"stroke:"+e+";stroke-width:"+a}},created(){this.appliedSettings.forEach(a=>{a[0]==="VALUE_EQ"&&(this.valueMap[a[1]]=a[2])});let e="CONVERTED";this.parameters[8]&&(e=this.parameters[8]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)}},c=["x1","y1","x2","y2"];function m(e,a,d,v,y,h){return l(),r("line",{x1:e.parameters[3],y1:e.parameters[4],x2:e.parameters[5],y2:e.parameters[6],style:i(h.calcStyle)},null,12,c)}const p=u("default",n(t,[["render",m]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(u,o){"use strict";var s,r,l,i,n;return{setters:[t=>{s=t.o},t=>{r=t.createElementBlock,l=t.openBlock,i=t.normalizeStyle},t=>{n=t.d},null,null,null,null],execute:function(){const t={mixins:[s],data(){return{valueId:0,valueMap:{}}},computed:{calcStyle(){let e="black";this.screenValues[this.valueId]&&(e=this.valueMap[this.screenValues[this.valueId][0]]);let a=1;return this.parameters[7]&&(a=this.parameters[7]),"stroke:"+e+";stroke-width:"+a}},created(){this.appliedSettings.forEach(a=>{a[0]==="VALUE_EQ"&&(this.valueMap[a[1]]=a[2])});let e="CONVERTED";this.parameters[8]&&(e=this.parameters[8]),this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${e}`,this.$emit("addItem",this.valueId)},unmounted(){this.$emit("deleteItem",this.valueId)}},c=["x1","y1","x2","y2"];function m(e,a,d,v,y,h){return l(),r("line",{x1:e.parameters[3],y1:e.parameters[4],x2:e.parameters[5],y2:e.parameters[6],style:i(h.calcStyle)},null,12,c)}const p=u("default",n(t,[["render",m]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(c,h){"use strict";var t,n,a,o,s,r;return{setters:[e=>{t=e.o},e=>{n=e.resolveComponent,a=e.createBlock,o=e.openBlock,s=e.normalizeStyle},e=>{r=e.d},null,null,null,null],execute:function(){const e={mixins:[t],data(){return{items:[],label:"Checkbox",value:!1}},created(){this.label=this.parameters[0],this.parameters[1]&&(this.value=!0)},methods:{checked(){return this.value}}};function i(d,u,k,y,l,b){const m=n("v-checkbox");return o(),a(m,{"hide-details":"",density:"compact",label:l.label,modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=v=>l.value=v),style:s(d.computedStyle)},null,8,["label","modelValue","style"])}const p=c("default",r(e,[["render",i]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(c,h){"use strict";var t,n,a,o,s,r;return{setters:[e=>{t=e.o},e=>{n=e.resolveComponent,a=e.createBlock,o=e.openBlock,s=e.normalizeStyle},e=>{r=e.d},null,null,null,null],execute:function(){const e={mixins:[t],data(){return{items:[],label:"Checkbox",value:!1}},created(){this.label=this.parameters[0],this.parameters[1]&&(this.value=!0)},methods:{checked(){return this.value}}};function i(d,u,k,y,l,b){const m=n("v-checkbox");return o(),a(m,{"hide-details":"",density:"compact",label:l.label,modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=v=>l.value=v),style:s(d.computedStyle)},null,8,["label","modelValue","style"])}const p=c("default",r(e,[["render",i]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","vue","./main-ac129bbcdb2f3eb5e7ce.js","vue-router","single-spa","vuex","vuetify"],function(i,p){"use strict";var l,n,s,o,r,u;return{setters:[e=>{l=e.o},e=>{n=e.resolveComponent,s=e.createBlock,o=e.openBlock,r=e.normalizeStyle},e=>{u=e.d},null,null,null,null],execute:function(){const e={mixins:[l],data(){return{items:[],value:null}},created(){this.value=this.parameters[0],this.items=this.parameters},methods:{text(){return this.value}}};function c(m,a,h,B,t,f){const d=n("v-select");return o(),s(d,{"hide-details":"",density:"compact",variant:"outlined",items:t.items,modelValue:t.value,"onUpdate:modelValue":a[0]||(a[0]=v=>t.value=v),style:r(m.computedStyle)},null,8,["items","modelValue","style"])}const y=i("default",u(e,[["render",c]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","vue","./main-2ac97b3f21af7820f325.js","vue-router","single-spa","vuex","vuetify"],function(i,p){"use strict";var l,n,s,o,r,u;return{setters:[e=>{l=e.o},e=>{n=e.resolveComponent,s=e.createBlock,o=e.openBlock,r=e.normalizeStyle},e=>{u=e.d},null,null,null,null],execute:function(){const e={mixins:[l],data(){return{items:[],value:null}},created(){this.value=this.parameters[0],this.items=this.parameters},methods:{text(){return this.value}}};function c(m,a,h,B,t,f){const d=n("v-select");return o(),s(d,{"hide-details":"",density:"compact",variant:"outlined",items:t.items,modelValue:t.value,"onUpdate:modelValue":a[0]||(a[0]=v=>t.value=v),style:r(m.computedStyle)},null,8,["items","modelValue","style"])}const y=i("default",u(e,[["render",c]]))}}});
@@ -1,4 +1,4 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue","./CriticalCmdDialog-Dylpoz_4-599269d60ac1381b743d.js","./DetailsDialog-BQE0TraI-72e0f17a6b7f12d649fd.js","vue-router","single-spa","vuex","vuetify"],function(exports,module){"use strict";var d,UA,FA,BA,WA,IS,bA,_export_sfc,we$1,resolveComponent,createBlock,openBlock,Teleport,createVNode,withCtx,createElementVNode,toDisplayString,createElementBlock,Fragment,renderList,createTextVNode,mergeProps,createSlots,createCommentVNode,normalizeStyle,withDirectives,vShow,normalizeProps,guardReactiveProps,withModifiers,normalizeClass,N,P;return{setters:[c=>{d=c.d,UA=c.U,FA=c.F,BA=c.B,WA=c.W,IS=c.I,bA=c.b,_export_sfc=c._,we$1=c.w},c=>{resolveComponent=c.resolveComponent,createBlock=c.createBlock,openBlock=c.openBlock,Teleport=c.Teleport,createVNode=c.createVNode,withCtx=c.withCtx,createElementVNode=c.createElementVNode,toDisplayString=c.toDisplayString,createElementBlock=c.createElementBlock,Fragment=c.Fragment,renderList=c.renderList,createTextVNode=c.createTextVNode,mergeProps=c.mergeProps,createSlots=c.createSlots,createCommentVNode=c.createCommentVNode,normalizeStyle=c.normalizeStyle,withDirectives=c.withDirectives,vShow=c.vShow,normalizeProps=c.normalizeProps,guardReactiveProps=c.guardReactiveProps,withModifiers=c.withModifiers,normalizeClass=c.normalizeClass},c=>{N=c.N},c=>{P=c.P},null,null,null,null],execute:function(){var __vite_style__=document.createElement("style");__vite_style__.textContent=`.container[data-v-b19a55d5] .v-select__selections{width:auto}.v-overflow-btn[data-v-b19a55d5]{margin-top:0}.container[data-v-b19a55d5]{padding:0}.hazardous[data-v-b19a55d5] .v-select__selection-text{color:#ffdc00!important}.editor[data-v-61544cea]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
1
+ System.register(["./main-2ac97b3f21af7820f325.js","vue","./CriticalCmdDialog-Dylpoz_4-de39c72a2e7f30c62c5f.js","./DetailsDialog-BQE0TraI-14e31b27a906a6493bc2.js","vue-router","single-spa","vuex","vuetify"],function(exports,module){"use strict";var d,UA,FA,BA,WA,IS,bA,_export_sfc,we$1,resolveComponent,createBlock,openBlock,Teleport,createVNode,withCtx,createElementVNode,toDisplayString,createElementBlock,Fragment,renderList,createTextVNode,mergeProps,createSlots,createCommentVNode,normalizeStyle,withDirectives,vShow,normalizeProps,guardReactiveProps,withModifiers,normalizeClass,N,P;return{setters:[c=>{d=c.d,UA=c.U,FA=c.F,BA=c.B,WA=c.W,IS=c.I,bA=c.b,_export_sfc=c._,we$1=c.w},c=>{resolveComponent=c.resolveComponent,createBlock=c.createBlock,openBlock=c.openBlock,Teleport=c.Teleport,createVNode=c.createVNode,withCtx=c.withCtx,createElementVNode=c.createElementVNode,toDisplayString=c.toDisplayString,createElementBlock=c.createElementBlock,Fragment=c.Fragment,renderList=c.renderList,createTextVNode=c.createTextVNode,mergeProps=c.mergeProps,createSlots=c.createSlots,createCommentVNode=c.createCommentVNode,normalizeStyle=c.normalizeStyle,withDirectives=c.withDirectives,vShow=c.vShow,normalizeProps=c.normalizeProps,guardReactiveProps=c.guardReactiveProps,withModifiers=c.withModifiers,normalizeClass=c.normalizeClass},c=>{N=c.N},c=>{P=c.P},null,null,null,null],execute:function(){var __vite_style__=document.createElement("style");__vite_style__.textContent=`.container[data-v-b19a55d5] .v-select__selections{width:auto}.v-overflow-btn[data-v-b19a55d5]{margin-top:0}.container[data-v-b19a55d5]{padding:0}.hazardous[data-v-b19a55d5] .v-select__selection-text{color:#ffdc00!important}.editor[data-v-07bbe0f0]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
2
2
  /*$vite$:1*/`,document.head.appendChild(__vite_style__);const I="openc3-ace-vim-mode-enabled",M="ace/keyboard/vim",X$1={isVimModeEnabled(){return localStorage.getItem(I)==="true"},setVimMode(c){localStorage.setItem(I,JSON.stringify(!!c))},toggleVimMode(c){this.isVimModeEnabled()?(c.setKeyboardHandler(null),this.setVimMode(!1)):(c.setKeyboardHandler(M),this.setVimMode(!0)),c.focus()},applyVimModeIfEnabled(c,{saveFn:u}={}){this.isVimModeEnabled()?(c.setKeyboardHandler(M),ace.config.loadModule(M,f=>{f.CodeMirror.Vim.defineEx("write","w",p=>{typeof u=="function"?u():p.ace.execCommand("save")})})):c.setKeyboardHandler(null)}},Y$1={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(c){return c.replaceAll(" ","-").toLowerCase()},subMenuClick(c){c.command(c),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},z$1={class:"app-title mr-2"};function J(c,u,f,p,Se,D){const _=resolveComponent("v-col"),x=resolveComponent("v-row"),a=resolveComponent("v-icon"),h=resolveComponent("v-btn"),i=resolveComponent("v-divider"),r=resolveComponent("v-list-item-title"),o=resolveComponent("v-list-item"),t=resolveComponent("v-list"),e=resolveComponent("v-menu"),n=resolveComponent("v-radio"),s=resolveComponent("v-list-item-action"),g=resolveComponent("v-radio-group"),m=resolveComponent("v-checkbox");return openBlock(),createBlock(Teleport,{to:"#openc3-menu"},[createVNode(x,{"no-gutters":""},{default:withCtx(()=>[createVNode(_,{"align-self":"end"},{default:withCtx(()=>[createElementVNode("span",z$1,toDisplayString(f.title),1)]),_:1})]),_:1}),createVNode(x,{dense:"",class:"flex-nowrap"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(f.menus,(A,E)=>(openBlock(),createBlock(e,{ref_for:!0,ref:"topmenu",key:E},{activator:withCtx(({props:S})=>[createVNode(h,mergeProps({ref_for:!0},S,{variant:"outlined",class:"mx-1 menu-button",text:A.label,"data-test":D.formatDT(`${f.title} ${A.label}`)}),{append:withCtx(()=>[createVNode(a,{class:"menu-button-icon"},{default:withCtx(()=>u[0]||(u[0]=[createTextVNode(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(A.items,(S,C)=>(openBlock(),createElementBlock(Fragment,null,[S.divider?(openBlock(),createBlock(i,{key:C+"-divider"})):S.subMenu&&S.subMenu.length>0?(openBlock(),createElementBlock("div",{key:C+"-submenu"},[(openBlock(),createBlock(e,{"open-on-hover":"",location:"right",key:C},{activator:withCtx(({props:q})=>[(openBlock(),createBlock(o,mergeProps({ref_for:!0},q,{disabled:S.disabled,key:C}),createSlots({append:withCtx(()=>[createVNode(a,null,{default:withCtx(()=>u[1]||(u[1]=[createTextVNode(" mdi-chevron-right ")])),_:1})]),default:withCtx(()=>[!S.radio&&!S.checkbox?(openBlock(),createBlock(r,{key:0,style:normalizeStyle("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(S.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[S.icon?{name:"prepend",fn:withCtx(()=>[createVNode(a,{disabled:S.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(S.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(S.subMenu,(q,Be)=>(openBlock(),createBlock(o,{key:Be,"prepend-icon":q.icon,onClick:se=>D.subMenuClick(q)},{default:withCtx(()=>[createVNode(r,null,{default:withCtx(()=>[createTextVNode(toDisplayString(q.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):S.radioGroup?(openBlock(),createBlock(g,{"model-value":S.value,"onUpdate:modelValue":S.command,key:C+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(S.choices,(q,Be)=>(openBlock(),createBlock(o,{key:Be+"-choice"},{default:withCtx(()=>[createVNode(s,{class:"list-action"},{default:withCtx(()=>[createVNode(n,{color:"secondary",label:q.label,value:q.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(openBlock(),createBlock(o,{onClick:q=>S.command(S),disabled:S.disabled,"data-test":D.formatDT(`${f.title} ${A.label} ${S.label}`),key:C+"-list"},createSlots({default:withCtx(()=>[S.checkbox?(openBlock(),createBlock(s,{key:0,class:"list-action"},{default:withCtx(()=>[createVNode(m,{modelValue:S.checked,"onUpdate:modelValue":q=>S.checked=q,label:S.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):createCommentVNode("",!0),!S.radio&&!S.checkbox?(openBlock(),createBlock(r,{key:1,style:normalizeStyle("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:withCtx(()=>[createTextVNode(toDisplayString(S.label),1)]),_:2},1032,["style"])):createCommentVNode("",!0)]),_:2},[S.icon?{name:"prepend",fn:withCtx(()=>[createVNode(a,{icon:S.icon,disabled:S.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const Z$1=d(Y$1,[["render",J],["__scopeId","data-v-4d454b93"]]);let Q$1=class{constructor(){FA.get("/openc3-api/autocomplete/data/screen").then(u=>{this.autocompleteData=u.data}),this.api=new BA}async getCompletions(u,f,p,Se,D){let _=f.getLine(p.row).slice(0,p.column).trimStart().split(/ (?![^<]*>)/),x=this.autocompleteData;_.length>1&&(x=x.find(i=>i.caption===_[0]));let a={},h=!0;if(x&&x.params){x.params.length==_.length-1&&(h=!1);let i=x.params[_.length-2];if(i["Target name"])x=(await this.api.get_target_names()).reduce((r,o)=>(r[o]=1,r),{});else if(i["Packet name"]){let r=_[_.length-2];x=(await this.api.get_all_tlm(r)).reduce((o,t)=>(o[t.packet_name]=t.description,o),{})}else if(i["Item name"]){let r=_[_.length-3],o=_[_.length-2];x=(await this.api.get_tlm(r,o)).items.reduce((t,e)=>(t[e.name]=e.description,t),{})}else x=i;a=Object.keys(x||{}).map(r=>{let o={value:r+(h?" ":""),command:h&&"startAutocomplete"};return typeof x[r]=="string"&&(o.meta=x[r]),o})}else a=x;D(null,a)}};const ee$1={props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},emits:["cancel","delete","save","update:modelValue"],data(){return{file:null,docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{editErrors:function(){if(this.definition===""&&!this.file)return["Input can not be blank."];if(this.errors.length!==0){let c=new Set,u=[];const f=this.errors.toSorted((p,Se)=>p.lineNumber-Se.lineNumber);for(const p of f){let Se=`At ${p.lineNumber}: (${p.line}) ${p.message}.`;p.usage&&(Se+=` Usage: ${p.usage}`),u.push(Se),c.add(p.message)}return u}return[]},show:{get(){return this.modelValue},set(c){this.$emit("update:modelValue",c)}}},mounted:function(){this.editor=bA.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const c=this.buildScreenMode();this.editor.session.setMode(new c),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setOption("enableBasicAutocompletion",!0),this.editor.setOption("enableLiveAutocompletion",!0),this.editor.completers=[new Q$1],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.definition),this.editor.clearSelection(),X$1.applyVimModeIfEnabled(this.editor),this.editor.focus()},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{toggleVimMode:function(){X$1.toggleVimMode(this.editor)},showContextMenu:function(c){this.menuX=c.pageX,this.menuY=c.pageY;let u=this.editor.getCursorPosition(),f=this.editor.session.getTokenAt(u.row,u.column);if(f){let p=f.value.trim();p.includes(" ")?this.docsKeyword=p.split(" ")[0]:this.docsKeyword=p,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},buildScreenMode(){let c=bA.require("ace/lib/oop"),u=bA.require("ace/mode/text_highlight_rules").TextHighlightRules,f=this.keywords.join("|"),p=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:new RegExp(`^\\s*(${f})\\b`)}]},this.normalizeRules()};c.inherits(p,u);let Se=function(){this.HighlightRules=p},D=bA.require("ace/mode/text").Mode;return c.inherits(Se,D),(function(){this.$id="ace/mode/openc3"}).call(Se.prototype),Se},downloadScreen:function(){const c=new Blob([this.editor.getValue()],{type:"text/plain"}),u=document.createElement("a");u.href=URL.createObjectURL(c),u.setAttribute("download",`${this.screen.toLowerCase()}.txt`),u.click()},loadFile:function(){const c=new FileReader;c.readAsText(this.file);const u=this;c.onload=function(){u.editor.setValue(c.result),u.file=null}},deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(c=>{this.$emit("delete")})}}},te$1=["textContent"];function ne$1(c,u,f,p,Se,D){const _=resolveComponent("v-btn"),x=resolveComponent("v-spacer"),a=resolveComponent("v-toolbar"),h=resolveComponent("v-row"),i=resolveComponent("v-file-input"),r=resolveComponent("v-list-item-title"),o=resolveComponent("v-list-item"),t=resolveComponent("v-divider"),e=resolveComponent("v-list"),n=resolveComponent("v-menu"),s=resolveComponent("v-card-text"),g=resolveComponent("v-card"),m=resolveComponent("v-dialog");return openBlock(),createBlock(m,{modelValue:D.show,"onUpdate:modelValue":u[5]||(u[5]=A=>D.show=A),persistent:"",width:"75vw"},{default:withCtx(()=>[createVNode(g,null,{default:withCtx(()=>[createVNode(a,{height:"24"},{default:withCtx(()=>[createVNode(_,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:D.deleteScreen},null,8,["onClick"]),createVNode(x),createElementVNode("span",null," Edit Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(x),createVNode(_,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-screen-icon",onClick:D.downloadScreen},null,8,["onClick"])]),_:1}),createVNode(s,{style:{"max-height":"90vh"}},{default:withCtx(()=>[createVNode(h,{class:"mt-3"},{default:withCtx(()=>u[6]||(u[6]=[createTextVNode(" Upload a screen file. ")])),_:1}),createVNode(h,{"no-gutters":"",align:"center"},{default:withCtx(()=>[createVNode(_,{disabled:!Se.file,color:"primary",class:"mr-3","data-test":"edit-screen-load",onClick:D.loadFile},{default:withCtx(()=>u[7]||(u[7]=[createTextVNode(" Load ")])),_:1},8,["disabled","onClick"]),createVNode(i,{modelValue:Se.file,"onUpdate:modelValue":u[0]||(u[0]=A=>Se.file=A),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file."},null,8,["modelValue"])]),_:1}),createVNode(h,{class:"mb-2"},{default:withCtx(()=>u[8]||(u[8]=[createTextVNode(" Edit the screen definition. ")])),_:1}),createVNode(h,{class:"mb-2"},{default:withCtx(()=>[createElementVNode("pre",{ref:"editor",class:"editor",onContextmenu:u[1]||(u[1]=withModifiers((...A)=>D.showContextMenu&&D.showContextMenu(...A),["prevent"]))},null,544),createVNode(n,{modelValue:Se.contextMenu,"onUpdate:modelValue":u[2]||(u[2]=A=>Se.contextMenu=A),target:[Se.menuX,Se.menuY]},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createVNode(o,{link:""},{default:withCtx(()=>[createVNode(r,{onClick:D.openDocumentation},{default:withCtx(()=>[createTextVNode(toDisplayString(Se.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),createVNode(t),createVNode(o,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:D.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),createVNode(h,{style:{"max-height":"120px","overflow-y":"auto"}},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(D.editErrors,(A,E)=>(openBlock(),createElementBlock("div",{key:E},[createElementVNode("span",{class:"text-red",textContent:toDisplayString(A)},null,8,te$1)]))),128))]),_:1}),createVNode(h,{class:"mt-5"},{default:withCtx(()=>[u[11]||(u[11]=createElementVNode("span",null," Ctrl-space brings up autocomplete. Right click keywords for documentation. ",-1)),createVNode(x),createVNode(_,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:u[3]||(u[3]=A=>c.$emit("cancel"))},{default:withCtx(()=>u[9]||(u[9]=[createTextVNode(" Cancel ")])),_:1}),createVNode(_,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:u[4]||(u[4]=A=>c.$emit("save",c.editor.getValue()))},{default:withCtx(()=>u[10]||(u[10]=[createTextVNode(" Save ")])),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const ie$1=d(ee$1,[["render",ne$1],["__scopeId","data-v-65b25a74"]]),L=20,ye$1={components:{EditScreenDialog:ie$1},mixins:[UA],props:{target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},initialFloated:{type:Boolean,default:!1},initialTop:{type:Number,default:0},initialLeft:{type:Number,default:0},initialZ:{type:Number,default:0},minZ:{type:Number,default:0},fixFloated:{type:Boolean,default:!1},count:{type:Number,default:0},showClose:{type:Boolean,default:!0},timeZone:{type:String,default:"local"},inline:{type:Boolean,default:!1}},emits:["close-screen","delete-screen","drag-screen","edit-screen","float-screen","min-max-screen","unfloat-screen"],data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,configError:!1,currentLayout:null,layoutStack:[],namedWidgets:{},dynamicWidgets:[],width:null,height:null,staleTime:30,cacheTimeout:.1,globalSettings:[],substitute:!1,original_target_name:null,force_substitute:!1,pollingPeriod:1,errors:[],errorDialog:!1,screenKey:null,dragX:0,dragY:0,floated:this.initialFloated,top:this.initialTop,left:this.initialLeft,zIndex:this.initialZ,changeCounter:0,screenItems:[],screenValues:{},updateCounter:0,screenId:IS.uniqueId("openc3-screen_")}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let c=new Set,u="";for(const f of this.errors){if(c.has(f.message))continue;let p=`${f.time}: (${f.type}) ${f.message}
3
3
  `;u+=p,c.add(f.message)}return u}return null},computedStyle(){var c;let u={};const f=this.width||((c=this.$refs.bar)==null?void 0:c.clientWidth);return this.floated&&(u.position="absolute",u.top=this.top+"px",u.left=this.left+"px",u.width=f+"px"),u}},watch:{count:{handler(c,u){this.currentDefinition=this.definition,this.rerender()}}},errorCaptured(c,u,f){return this.errors.length<L&&(c.usage?this.errors.push({type:"usage",message:c.message,usage:c.usage,line:c.line,lineNumber:c.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:c,time:new Date().getTime()}),console.log(this.errors),this.configError=!0),!1},created(){this.api=new BA,this.configParser=new WA,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.updateRefreshInterval(),this.floated&&(this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null)},methods:{open(c,u){this.$parent.showScreen(c,u)},close(c,u){this.$parent.closeScreenByName(c,u)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[],this.configError=!1},updateRefreshInterval:function(){let c=this.pollingPeriod*1e3;this.updater&&clearInterval(this.updater),this.updater=setInterval(()=>{this.update()},c)},parseDefinition:function(){if(this.clearErrors(),this.screenItems=[],this.namedWidgets={},this.layoutStack=[],this.dynamicWidgets=[],this.layoutStack.push({type:"VerticalWidget",parameters:[],widgets:[]}),this.currentLayout=this.layoutStack[this.layoutStack.length-1],this.configParser.parse_string(this.currentDefinition,"",!1,!0,(c,u,f,p)=>{if(c)switch(c){case"SCREEN":this.configParser.verify_num_parameters(3,4,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`),this.width=parseInt(u[0]),this.height=parseInt(u[1]),this.pollingPeriod=parseFloat(u[2]);break;case"END":this.configParser.verify_num_parameters(0,0,`${c}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":this.configParser.verify_num_parameters(1,1,`${c} <Time (s)>`),this.staleTime=parseInt(u[0]);break;case"SETTING":case"SUBSETTING":(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(u);break;case"GLOBAL_SETTING":case"GLOBAL_SUBSETTING":this.globalSettings.push(u);break;default:this.processWidget(c,u,f,p);break}}),typeof this.layoutStack[0]>"u"){let c=[],u=[];for(const f of this.dynamicWidgets)c.push(f.name),u.push(f.lineNumber);this.errors.length<L&&(this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${c.join(",")}?`,lineNumber:u.join(","),time:new Date().getTime()}),this.configError=!0),this.layoutStack[0]={type:"VerticalWidget",parameters:[],widgets:[]}}else this.applyGlobalSettings(this.layoutStack[0].widgets)},openEdit:function(){this.backup=this.currentDefinition.repeat(1),this.editDialog=!0},upScreen:function(){this.zIndex+=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},downScreen:function(){this.zIndex>this.minZ&&(this.zIndex-=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex]))},floatScreen:function(){if(this.floated)this.$refs.bar.onmousedown=null,this.$refs.bar.parentElement.parentElement.style="z-index: 0",this.floated=!1,this.$emit("unfloat-screen",[this.floated,this.top,this.left,this.zIndex]);else{let c=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),u=this.$refs.bar.getBoundingClientRect();this.top=u.top-c.top-5,this.left=u.left-c.left-5,this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.floated=!0,this.$emit("float-screen",[this.floated,this.top,this.left,this.zIndex])}},dragMouseDown:function(c){c=c||window.event,c.preventDefault(),this.dragX=c.clientX,this.dragY=c.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag:function(c){c=c||window.event,c.preventDefault();let u=this.dragX-c.clientX,f=this.dragY-c.clientY;this.dragX=c.clientX,this.dragY=c.clientY,this.top=this.$refs.bar.offsetTop-f,this.left=this.$refs.bar.offsetLeft-u,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},closeDragElement:function(){document.onmouseup=null,document.onmousemove=null},rerender:function(){this.parseDefinition(),this.updateRefreshInterval(),this.screenKey=Math.floor(Math.random()*1e6),this.$nextTick(function(){this.clearErrors(),this.$emit("edit-screen")})},cancelEdit:function(){this.file=null,this.editDialog=!1,this.currentDefinition=this.backup,this.rerender()},saveEdit:function(c){this.editDialog=!1,this.currentDefinition=c,this.rerender(),this.$nextTick(function(){FA.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,FA.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(c=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(c,u,f,p){let Se=null;c==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${c} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),Se=u[0].toUpperCase(),c=u[1].toUpperCase(),u=u.slice(2,u.length));const D=c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()+"Widget";let _=[];if(_.push(["__SCREEN_ID__",this.screenId]),Se!==null&&_.push(["NAMED_WIDGET",Se]),c==="VERTICAL"||c==="VERTICALBOX"||c==="HORIZONTAL"||c==="HORIZONTALBOX"||c==="MATRIXBYCOLUMNS"||c==="TABBOOK"||c==="TABITEM"||c==="CANVAS"||c==="RADIOGROUP"||c==="SCROLLWINDOW"){const x={type:D,parameters:u,settings:_,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(x),this.currentLayout.widgets.push(x),this.currentLayout=x}else if(this.$options.components[D])this.currentLayout.widgets.push({type:D,target:this.target,parameters:u,settings:_,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:f,lineNumber:p});else{let x={type:"DynamicWidget",target:this.target,parameters:u,settings:_,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:D,line:f,lineNumber:p};this.currentLayout.widgets.push(x),this.dynamicWidgets.push(x)}},applyGlobalSettings:function(c){c.forEach(u=>{this.globalSettings.forEach(f=>{u.type.toLowerCase()===f[0].toLowerCase()+"widget"&&(u.settings.find(p=>p[0]===f[1])||u.settings.push(f.slice(1)))}),u.widgets&&this.applyGlobalSettings(u.widgets)})},update:function(){this.screenItems.length!==0&&this.configError===!1&&this.api.get_tlm_values(this.screenItems,this.staleTime,this.cacheTimeout).then(c=>{this.clearErrors(),this.updateValues(c)}).catch(c=>{let u=JSON.stringify(c,null,2);u.includes("no response received")||(this.configError=!0),this.errors.find(f=>f.message===u)||this.errors.length<L&&this.errors.push({type:"error",message:u,time:new Date().getTime()})})},updateValues:function(c){this.updateCounter+=1;for(let u=0;u<c.length;u++)c[u].push(this.updateCounter),this.screenValues[this.screenItems[u]]=c[u]},addItem:function(c){this.screenItems.push(c),this.screenValues[c]=[null,null,0]},deleteItem:function(c){let u=this.screenItems.indexOf(c);this.screenItems.splice(u,1)}}},_e={ref:"screen",class:"pa-1",style:{position:"relative"}},be$1={key:1,class:"pa-1",style:{position:"relative"}};function xe(c,u,f,p,Se,D){const _=resolveComponent("v-btn"),x=resolveComponent("v-tooltip"),a=resolveComponent("v-spacer"),h=resolveComponent("v-toolbar"),i=resolveComponent("v-overlay"),r=resolveComponent("vertical-widget"),o=resolveComponent("v-expand-transition"),t=resolveComponent("v-card"),e=resolveComponent("edit-screen-dialog"),n=resolveComponent("v-textarea"),s=resolveComponent("v-dialog");return openBlock(),createElementBlock("div",{ref:"bar",style:normalizeStyle(D.computedStyle)},[f.inline?createCommentVNode("",!0):(openBlock(),createBlock(t,{key:0,"min-height":Se.height,"min-width":Se.width,style:{cursor:"default"}},{default:withCtx(()=>[createVNode(h,{height:"24"},{default:withCtx(()=>[withDirectives(createVNode(_,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[0]||(u[0]=()=>{Se.errorDialog=!0})},null,512),[[vShow,Se.errors.length!==0]]),createVNode(_,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:D.openEdit},null,8,["onClick"]),f.fixFloated?createCommentVNode("",!0):(openBlock(),createBlock(x,{key:0,"open-delay":600,location:"top"},{activator:withCtx(({props:g})=>[createElementVNode("div",normalizeProps(guardReactiveProps(g)),[createVNode(_,{icon:Se.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":Se.floated?"Unfloat Screen":"Float Screen",onClick:D.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:withCtx(()=>[createElementVNode("span",null,toDisplayString(Se.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),Se.floated?(openBlock(),createBlock(x,{key:1,"open-delay":600,location:"top"},{activator:withCtx(({props:g})=>[createElementVNode("div",normalizeProps(guardReactiveProps(g)),[createVNode(_,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:D.upScreen},null,8,["onClick"])],16)]),default:withCtx(()=>[u[5]||(u[5]=createElementVNode("span",null," Move Screen Up ",-1))]),_:1})):createCommentVNode("",!0),Se.floated&&Se.zIndex>f.minZ?(openBlock(),createBlock(x,{key:2,"open-delay":600,location:"top"},{activator:withCtx(({props:g})=>[createElementVNode("div",normalizeProps(guardReactiveProps(g)),[createVNode(_,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:D.downScreen},null,8,["onClick"])],16)]),default:withCtx(()=>[u[6]||(u[6]=createElementVNode("span",null," Move Screen Down ",-1))]),_:1})):createCommentVNode("",!0),createVNode(a),createElementVNode("span",null,toDisplayString(f.target)+" "+toDisplayString(f.screen),1),createVNode(a),Se.expand?(openBlock(),createBlock(_,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:D.minMaxTransition},null,8,["onClick"])):(openBlock(),createBlock(_,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:D.minMaxTransition},null,8,["onClick"])),f.showClose?(openBlock(),createBlock(_,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:u[1]||(u[1]=g=>c.$emit("close-screen"))})):createCommentVNode("",!0)]),_:1}),Se.editDialog?createCommentVNode("",!0):(openBlock(),createBlock(o,{key:0},{default:withCtx(()=>[withDirectives(createElementVNode("div",_e,[createVNode(i,{style:{"pointer-events":"none"},"model-value":Se.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),(openBlock(),createBlock(r,{key:Se.screenKey,widgets:Se.layoutStack[0].widgets,"screen-values":Se.screenValues,"screen-time-zone":f.timeZone,onAddItem:D.addItem,onDeleteItem:D.deleteItem,onOpen:D.open,onClose:D.close,onCloseAll:D.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[vShow,Se.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),f.inline?(openBlock(),createElementBlock("div",be$1,[createVNode(i,{style:{"pointer-events":"none"},"model-value":Se.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),withDirectives(createVNode(_,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[2]||(u[2]=()=>{Se.errorDialog=!0})},null,512),[[vShow,Se.errors.length!==0]]),(openBlock(),createBlock(r,{key:Se.screenKey,widgets:Se.layoutStack[0].widgets,"screen-values":Se.screenValues,"screen-time-zone":f.timeZone,onAddItem:D.addItem,onDeleteItem:D.deleteItem,onOpen:D.open,onClose:D.close,onCloseAll:D.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):createCommentVNode("",!0),Se.editDialog?(openBlock(),createBlock(e,{key:2,modelValue:Se.editDialog,"onUpdate:modelValue":u[3]||(u[3]=g=>Se.editDialog=g),target:f.target,screen:f.screen,definition:Se.currentDefinition,keywords:f.keywords,errors:Se.errors,onSave:D.saveEdit,onCancel:D.cancelEdit,onDelete:D.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):createCommentVNode("",!0),createVNode(s,{modelValue:Se.errorDialog,"onUpdate:modelValue":u[4]||(u[4]=g=>Se.errorDialog=g),width:"60vw"},{default:withCtx(()=>[createVNode(h,{height:"24"},{default:withCtx(()=>[createVNode(a),createElementVNode("span",null," Screen: "+toDisplayString(f.target)+" "+toDisplayString(f.screen)+" Errors ",1),createVNode(a)]),_:1}),createVNode(t,null,{default:withCtx(()=>[createVNode(n,{class:"errors",readonly:"",rows:"13","model-value":D.error},null,8,["model-value"])]),_:1})]),_:1},8,["modelValue"])],4)}const Ie$1=d(ye$1,[["render",xe],["__scopeId","data-v-66e2e816"]]);var sprintf$1={},hasRequiredSprintf;function requireSprintf(){return hasRequiredSprintf||(hasRequiredSprintf=1,function(c){(function(){var u={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function f(x){return Se(_(x),arguments)}function p(x,a){return f.apply(null,[x].concat(a||[]))}function Se(x,a){var h=1,i=x.length,r,o="",t,e,n,s,g,m,A,E;for(t=0;t<i;t++)if(typeof x[t]=="string")o+=x[t];else if(typeof x[t]=="object"){if(n=x[t],n.keys)for(r=a[h],e=0;e<n.keys.length;e++){if(r==null)throw new Error(f('[sprintf] Cannot access property "%s" of undefined value "%s"',n.keys[e],n.keys[e-1]));r=r[n.keys[e]]}else n.param_no?r=a[n.param_no]:r=a[h++];if(u.not_type.test(n.type)&&u.not_primitive.test(n.type)&&r instanceof Function&&(r=r()),u.numeric_arg.test(n.type)&&typeof r!="number"&&isNaN(r))throw new TypeError(f("[sprintf] expecting number but found %T",r));switch(u.number.test(n.type)&&(A=r>=0),n.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,n.width?parseInt(n.width):0);break;case"e":r=n.precision?parseFloat(r).toExponential(n.precision):parseFloat(r).toExponential();break;case"f":r=n.precision?parseFloat(r).toFixed(n.precision):parseFloat(r);break;case"g":r=n.precision?String(Number(r.toPrecision(n.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=n.precision?r.substring(0,n.precision):r;break;case"t":r=String(!!r),r=n.precision?r.substring(0,n.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=n.precision?r.substring(0,n.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=n.precision?r.substring(0,n.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase();break}u.json.test(n.type)?o+=r:(u.number.test(n.type)&&(!A||n.sign)?(E=A?"+":"-",r=r.toString().replace(u.sign,"")):E="",g=n.pad_char?n.pad_char==="0"?"0":n.pad_char.charAt(1):" ",m=n.width-(E+r).length,s=n.width&&m>0?g.repeat(m):"",o+=n.align?E+r+s:g==="0"?E+s+r:s+E+r)}return o}var D=Object.create(null);function _(x){if(D[x])return D[x];for(var a=x,h,i=[],r=0;a;){if((h=u.text.exec(a))!==null)i.push(h[0]);else if((h=u.modulo.exec(a))!==null)i.push("%");else if((h=u.placeholder.exec(a))!==null){if(h[2]){r|=1;var o=[],t=h[2],e=[];if((e=u.key.exec(t))!==null)for(o.push(e[1]);(t=t.substring(e[0].length))!=="";)if((e=u.key_access.exec(t))!==null)o.push(e[1]);else if((e=u.index_access.exec(t))!==null)o.push(e[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");h[2]=o}else r|=2;if(r===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:h[0],param_no:h[1],keys:h[2],sign:h[3],pad_char:h[4],align:h[5],width:h[6],precision:h[7],type:h[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");a=a.substring(h[0].length)}return D[x]=i}c.sprintf=f,c.vsprintf=p,typeof window<"u"&&(window.sprintf=f,window.vsprintf=p)})()}(sprintf$1)),sprintf$1}requireSprintf();var ace$1={exports:{}},hasRequiredAce;function requireAce(){return hasRequiredAce||(hasRequiredAce=1,function(c,u){(function(){var f="ace",p=function(){return this}();!p&&typeof window<"u"&&(p=window);var Se=function(i,r,o){if(typeof i!="string"){Se.original?Se.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(o=r),Se.modules[i]||(Se.payloads[i]=o,Se.modules[i]=null)};Se.modules={},Se.payloads={};var D=function(i,r,o){if(typeof r=="string"){var t=a(i,r);if(t!=null)return o&&o(),t}else if(Object.prototype.toString.call(r)==="[object Array]"){for(var e=[],n=0,s=r.length;n<s;++n){var g=a(i,r[n]);if(g==null&&_.original)return;e.push(g)}return o&&o.apply(null,e)||!0}},_=function(i,r){var o=D("",i,r);return o==null&&_.original?_.original.apply(this,arguments):o},x=function(i,r){if(r.indexOf("!")!==-1){var o=r.split("!");return x(i,o[0])+"!"+x(i,o[1])}if(r.charAt(0)=="."){var t=i.split("/").slice(0,-1).join("/");for(r=t+"/"+r;r.indexOf(".")!==-1&&e!=r;){var e=r;r=r.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return r},a=function(i,r){r=x(i,r);var o=Se.modules[r];if(!o){if(o=Se.payloads[r],typeof o=="function"){var t={},e={id:r,uri:"",exports:t,packaged:!0},n=function(g,m){return D(r,g,m)},s=o(n,t,e);t=s||e.exports,Se.modules[r]=t,delete Se.payloads[r]}o=Se.modules[r]=t||o}return o};function h(i){var r=p;p[i]||(p[i]={}),r=p[i],(!r.define||!r.define.packaged)&&(Se.original=r.define,r.define=Se,r.define.packaged=!0),(!r.require||!r.require.packaged)&&(_.original=r.require,r.require=_,r.require.packaged=!0)}h(f)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(f,p,Se){function D(_,x,a){Object.defineProperty(_,x,{value:a,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||D(String.prototype,"startsWith",function(_,x){return x=x||0,this.lastIndexOf(_,x)===x}),String.prototype.endsWith||D(String.prototype,"endsWith",function(_,x){var a=this;(x===void 0||x>a.length)&&(x=a.length),x-=_.length;var h=a.indexOf(_,x);return h!==-1&&h===x}),String.prototype.repeat||D(String.prototype,"repeat",function(_){for(var x="",a=this;_>0;)_&1&&(x+=a),(_>>=1)&&(a+=a);return x}),String.prototype.includes||D(String.prototype,"includes",function(_,x){return this.indexOf(_,x)!=-1}),Object.assign||(Object.assign=function(_){if(_==null)throw new TypeError("Cannot convert undefined or null to object");for(var x=Object(_),a=1;a<arguments.length;a++){var h=arguments[a];h!=null&&Object.keys(h).forEach(function(i){x[i]=h[i]})}return x}),Object.values||(Object.values=function(_){return Object.keys(_).map(function(x){return _[x]})}),Array.prototype.find||D(Array.prototype,"find",function(_){for(var x=this.length,a=arguments[1],h=0;h<x;h++){var i=this[h];if(_.call(a,i,h,this))return i}}),Array.prototype.findIndex||D(Array.prototype,"findIndex",function(_){for(var x=this.length,a=arguments[1],h=0;h<x;h++){var i=this[h];if(_.call(a,i,h,this))return h}}),Array.prototype.includes||D(Array.prototype,"includes",function(_,x){return this.indexOf(_,x)!=-1}),Array.prototype.fill||D(Array.prototype,"fill",function(_){for(var x=this,a=x.length>>>0,h=arguments[1],i=h>>0,r=i<0?Math.max(a+i,0):Math.min(i,a),o=arguments[2],t=o===void 0?a:o>>0,e=t<0?Math.max(a+t,0):Math.min(t,a);r<e;)x[r]=_,r++;return x}),Array.of||D(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(f,p,Se){f("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(f,p,Se){p.deepCopy=function D(_){if(typeof _!="object"||!_)return _;var x;if(Array.isArray(_)){x=[];for(var a=0;a<_.length;a++)x[a]=D(_[a]);return x}if(Object.prototype.toString.call(_)!=="[object Object]")return _;x={};for(var a in _)x[a]=D(_[a]);return x}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(f,p,Se){p.last=function(x){return x[x.length-1]},p.stringReverse=function(x){return x.split("").reverse().join("")},p.stringRepeat=function(x,a){for(var h="";a>0;)a&1&&(h+=x),(a>>=1)&&(x+=x);return h};var D=/^\s\s*/,_=/\s\s*$/;p.stringTrimLeft=function(x){return x.replace(D,"")},p.stringTrimRight=function(x){return x.replace(_,"")},p.copyObject=function(x){var a={};for(var h in x)a[h]=x[h];return a},p.copyArray=function(x){for(var a=[],h=0,i=x.length;h<i;h++)x[h]&&typeof x[h]=="object"?a[h]=this.copyObject(x[h]):a[h]=x[h];return a},p.deepCopy=f("./deep_copy").deepCopy,p.arrayToMap=function(x){for(var a={},h=0;h<x.length;h++)a[x[h]]=1;return a},p.createMap=function(x){var a=Object.create(null);for(var h in x)a[h]=x[h];return a},p.arrayRemove=function(x,a){for(var h=0;h<=x.length;h++)a===x[h]&&x.splice(h,1)},p.escapeRegExp=function(x){return x.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},p.escapeHTML=function(x){return(""+x).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},p.getMatchOffsets=function(x,a){var h=[];return x.replace(a,function(i){h.push({offset:arguments[arguments.length-2],length:i.length})}),h},p.deferredCall=function(x){var a=null,h=function(){a=null,x()},i=function(r){return i.cancel(),a=setTimeout(h,r||0),i};return i.schedule=i,i.call=function(){return this.cancel(),x(),i},i.cancel=function(){return clearTimeout(a),a=null,i},i.isPending=function(){return a},i},p.delayedCall=function(x,a){var h=null,i=function(){h=null,x()},r=function(o){h==null&&(h=setTimeout(i,o||a))};return r.delay=function(o){h&&clearTimeout(h),h=setTimeout(i,o||a)},r.schedule=r,r.call=function(){this.cancel(),x()},r.cancel=function(){h&&clearTimeout(h),h=null},r.isPending=function(){return h},r},p.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},p.skipEmptyMatch=function(x,a,h){return h&&x.codePointAt(a)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(f,p,Se){p.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},p.getOS=function(){return p.isMac?p.OS.MAC:p.isLinux?p.OS.LINUX:p.OS.WINDOWS};var D=typeof navigator=="object"?navigator:{},_=(/mac|win|linux/i.exec(D.platform)||["other"])[0].toLowerCase(),x=D.userAgent||"",a=D.appName||"";p.isWin=_=="win",p.isMac=_=="mac",p.isLinux=_=="linux",p.isIE=a=="Microsoft Internet Explorer"||a.indexOf("MSAppHost")>=0?parseFloat((x.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((x.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),p.isOldIE=p.isIE&&p.isIE<9,p.isGecko=p.isMozilla=x.match(/ Gecko\/\d+/),p.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",p.isWebKit=parseFloat(x.split("WebKit/")[1])||void 0,p.isChrome=parseFloat(x.split(" Chrome/")[1])||void 0,p.isSafari=parseFloat(x.split(" Safari/")[1])&&!p.isChrome||void 0,p.isEdge=parseFloat(x.split(" Edge/")[1])||void 0,p.isAIR=x.indexOf("AdobeAIR")>=0,p.isAndroid=x.indexOf("Android")>=0,p.isChromeOS=x.indexOf(" CrOS ")>=0,p.isIOS=/iPad|iPhone|iPod/.test(x)&&!window.MSStream,p.isIOS&&(p.isMac=!0),p.isMobile=p.isIOS||p.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(f,p,Se){var D=f("./useragent"),_="http://www.w3.org/1999/xhtml";p.buildDom=function o(t,e,n){if(typeof t=="string"&&t){var s=document.createTextNode(t);return e&&e.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var g=[],m=0;m<t.length;m++){var A=o(t[m],e,n);A&&g.push(A)}return g}var E=document.createElement(t[0]),S=t[1],C=1;S&&typeof S=="object"&&!Array.isArray(S)&&(C=2);for(var m=C;m<t.length;m++)o(t[m],E,n);return C==2&&Object.keys(S).forEach(function(q){var Be=S[q];q==="class"?E.className=Array.isArray(Be)?Be.join(" "):Be:typeof Be=="function"||q=="value"||q[0]=="$"?E[q]=Be:q==="ref"?n&&(n[Be]=E):q==="style"?typeof Be=="string"&&(E.style.cssText=Be):Be!=null&&E.setAttribute(q,Be)}),e&&e.appendChild(E),E},p.getDocumentHead=function(o){return o||(o=document),o.head||o.getElementsByTagName("head")[0]||o.documentElement},p.createElement=function(o,t){return document.createElementNS?document.createElementNS(t||_,o):document.createElement(o)},p.removeChildren=function(o){o.innerHTML=""},p.createTextNode=function(o,t){var e=t?t.ownerDocument:document;return e.createTextNode(o)},p.createFragment=function(o){var t=o?o.ownerDocument:document;return t.createDocumentFragment()},p.hasCssClass=function(o,t){var e=(o.className+"").split(/\s+/g);return e.indexOf(t)!==-1},p.addCssClass=function(o,t){p.hasCssClass(o,t)||(o.className+=" "+t)},p.removeCssClass=function(o,t){for(var e=o.className.split(/\s+/g);;){var n=e.indexOf(t);if(n==-1)break;e.splice(n,1)}o.className=e.join(" ")},p.toggleCssClass=function(o,t){for(var e=o.className.split(/\s+/g),n=!0;;){var s=e.indexOf(t);if(s==-1)break;n=!1,e.splice(s,1)}return n&&e.push(t),o.className=e.join(" "),n},p.setCssClass=function(o,t,e){e?p.addCssClass(o,t):p.removeCssClass(o,t)},p.hasCssString=function(o,t){var e=0,n;if(t=t||document,n=t.querySelectorAll("style")){for(;e<n.length;)if(n[e++].id===o)return!0}},p.removeElementById=function(o,t){t=t||document,t.getElementById(o)&&t.getElementById(o).remove()};var x,a=[];p.useStrictCSP=function(o){x=o,o==!1?h():a||(a=[])};function h(){var o=a;a=null,o&&o.forEach(function(t){i(t[0],t[1])})}function i(o,t,e){if(!(typeof document>"u")){if(a){if(e)h();else if(e===!1)return a.push([o,t])}if(!x){var n=e;!e||!e.getRootNode?n=document:(n=e.getRootNode(),(!n||n==e)&&(n=document));var s=n.ownerDocument||n;if(t&&p.hasCssString(t,n))return null;t&&(o+=`
4
4
  /*# sourceURL=ace/css/`+t+" */");var g=p.createElement("style");g.appendChild(s.createTextNode(o)),t&&(g.id=t),n==s&&(n=p.getDocumentHead(s)),n.insertBefore(g,n.firstChild)}}}if(p.importCssString=i,p.importCssStylsheet=function(o,t){p.buildDom(["link",{rel:"stylesheet",href:o}],p.getDocumentHead(t))},p.scrollbarWidth=function(o){var t=p.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=p.createElement("ace_outer"),n=e.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",n.display="block",e.appendChild(t);var s=o&&o.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var g=t.offsetWidth;n.overflow="scroll";var m=t.offsetWidth;return g===m&&(m=e.clientWidth),s.removeChild(e),g-m},p.computedStyle=function(o,t){return window.getComputedStyle(o,"")||{}},p.setStyle=function(o,t,e){o[t]!==e&&(o[t]=e)},p.HAS_CSS_ANIMATION=!1,p.HAS_CSS_TRANSFORMS=!1,p.HI_DPI=D.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,D.isChromeOS&&(p.HI_DPI=!1),typeof document<"u"){var r=document.createElement("div");p.HI_DPI&&r.style.transform!==void 0&&(p.HAS_CSS_TRANSFORMS=!0),!D.isEdge&&typeof r.style.animationName<"u"&&(p.HAS_CSS_ANIMATION=!0),r=null}p.HAS_CSS_TRANSFORMS?p.translate=function(o,t,e){o.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:p.translate=function(o,t,e){o.style.top=Math.round(e)+"px",o.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(f,p,Se){/*
@@ -1121,5 +1121,5 @@ System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue","./CriticalCmdDialog-Dyl
1121
1121
  `+Se):f.stack=Se}catch{}}throw f}}_request(c,u){typeof c=="string"?(u=u||{},u.url=c):u=c||{},u=V(this.defaults,u);const{transitional:f,paramsSerializer:p,headers:Se}=u;f!==void 0&&le.assertOptions(f,{silentJSONParsing:F.transitional(F.boolean),forcedJSONParsing:F.transitional(F.boolean),clarifyTimeoutError:F.transitional(F.boolean)},!1),p!=null&&(l.isFunction(p)?u.paramsSerializer={serialize:p}:le.assertOptions(p,{encode:F.function,serialize:F.function},!0)),u.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?u.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:u.allowAbsoluteUrls=!0),le.assertOptions(u,{baseUrl:F.spelling("baseURL"),withXsrfToken:F.spelling("withXSRFToken")},!0),u.method=(u.method||this.defaults.method||"get").toLowerCase();let D=Se&&l.merge(Se.common,Se[u.method]);Se&&l.forEach(["delete","get","head","post","put","patch","common"],t=>{delete Se[t]}),u.headers=k.concat(D,Se);const _=[];let x=!0;this.interceptors.request.forEach(function(t){typeof t.runWhen=="function"&&t.runWhen(u)===!1||(x=x&&t.synchronous,_.unshift(t.fulfilled,t.rejected))});const a=[];this.interceptors.response.forEach(function(t){a.push(t.fulfilled,t.rejected)});let h,i=0,r;if(!x){const t=[st.bind(this),void 0];for(t.unshift.apply(t,_),t.push.apply(t,a),r=t.length,h=Promise.resolve(u);i<r;)h=h.then(t[i++],t[i++]);return h}r=_.length;let o=u;for(i=0;i<r;){const t=_[i++],e=_[i++];try{o=t(o)}catch(n){e.call(this,n);break}}try{h=st.call(this,o)}catch(t){return Promise.reject(t)}for(i=0,r=a.length;i<r;)h=h.then(a[i++],a[i++]);return h}getUri(c){c=V(this.defaults,c);const u=It(c.baseURL,c.url,c.allowAbsoluteUrls);return Ct(u,c.params,c.paramsSerializer)}};l.forEach(["delete","get","head","options"],function(c){z.prototype[c]=function(u,f){return this.request(V(f||{},{method:c,url:u,data:(f||{}).data}))}}),l.forEach(["post","put","patch"],function(c){function u(f){return function(p,Se,D){return this.request(V(D||{},{method:c,headers:f?{"Content-Type":"multipart/form-data"}:{},url:p,data:Se}))}}z.prototype[c]=u(),z.prototype[c+"Form"]=u(!0)});let Os=class Hi{constructor(u){if(typeof u!="function")throw new TypeError("executor must be a function.");let f;this.promise=new Promise(function(Se){f=Se});const p=this;this.promise.then(Se=>{if(!p._listeners)return;let D=p._listeners.length;for(;D-- >0;)p._listeners[D](Se);p._listeners=null}),this.promise.then=Se=>{let D;const _=new Promise(x=>{p.subscribe(x),D=x}).then(Se);return _.cancel=function(){p.unsubscribe(D)},_},u(function(Se,D,_){p.reason||(p.reason=new X(Se,D,_),f(p.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(u){if(this.reason){u(this.reason);return}this._listeners?this._listeners.push(u):this._listeners=[u]}unsubscribe(u){if(!this._listeners)return;const f=this._listeners.indexOf(u);f!==-1&&this._listeners.splice(f,1)}toAbortSignal(){const u=new AbortController,f=p=>{u.abort(p)};return this.subscribe(f),u.signal.unsubscribe=()=>this.unsubscribe(f),u.signal}static source(){let u;return{token:new Hi(function(f){u=f}),cancel:u}}};function Cs(c){return function(u){return c.apply(null,u)}}function Ts(c){return l.isObject(c)&&c.isAxiosError===!0}const Le={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Le).forEach(([c,u])=>{Le[u]=c});function Dt(c){const u=new z(c),f=mt(z.prototype.request,u);return l.extend(f,z.prototype,u,{allOwnKeys:!0}),l.extend(f,u,null,{allOwnKeys:!0}),f.create=function(p){return Dt(V(c,p))},f}const R=Dt(te);R.Axios=z,R.CanceledError=X,R.CancelToken=Os,R.isCancel=Nt,R.VERSION=Ft,R.toFormData=ge,R.AxiosError=y,R.Cancel=R.CanceledError,R.all=function(c){return Promise.all(c)},R.spread=Cs,R.isAxiosError=Ts,R.mergeConfig=V,R.AxiosHeaders=k,R.formToJSON=c=>kt(l.isHTMLForm(c)?new FormData(c):c),R.getAdapter=$t.getAdapter,R.HttpStatusCode=Le,R.default=R;const{Axios:Wr,AxiosError:Kr,CanceledError:Xr,isCancel:Gr,CancelToken:Zr,VERSION:Qr,all:Yr,Cancel:ei,isAxiosError:ti,spread:ni,toFormData:si,AxiosHeaders:ri,HttpStatusCode:ii,formToJSON:oi,getAdapter:ci,mergeConfig:ai}=R,qe=R.create({baseURL:location.origin,timeout:6e4,params:{}});qe.interceptors.response.use(c=>c,c=>{var u,f,p,Se,D,_,x,a,h,i,r;if(c.response){if(c.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(e){e&&OpenC3Auth.setTokens()}),c.response.config.headers["Ignore-Errors"]&&c.response.config.headers["Ignore-Errors"].includes(c.response.status.toString()))return Promise.reject(c);let o=`HTTP ${c.response.status} - `;(u=c.response)!=null&&u.statusText&&(o+=`${c.response.statusText} `),(p=(f=c.response)==null?void 0:f.config)!=null&&p.data&&(o+=`${c.response.config.data} `),(D=(Se=c.response)==null?void 0:Se.data)!=null&&D.message?o+=`${c.response.data.message}`:(x=(_=c.response)==null?void 0:_.data)!=null&&x.exception?o+=`${c.response.data.exception}`:(i=(h=(a=c.response)==null?void 0:a.data)==null?void 0:h.error)!=null&&i.message?(c.response.data.error.class&&(o+=`${c.response.data.error.class} `),o+=`${c.response.data.error.message}`):o+=`${(r=c.response)==null?void 0:r.data}`;const{$cosmosNotify:t}=window;throw t&&t.serious({title:"Network error",body:o}),c}else throw c});const re=async function(c,u,{data:f,params:p={},headers:Se,noAuth:D=!1,noScope:_=!1,onUploadProgress:x=!1}={}){if(!D){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}Se.Authorization=localStorage.openc3Token}return Se.manual=!0,!_&&!p.scope&&(p.scope=window.openc3Scope),qe({method:c,url:u,data:f,params:p,headers:Se,onUploadProgress:x})},ve={Accept:"application/json"},it={...ve,"Content-Type":"application/json"},li={get:function(c,{params:u,headers:f=ve,noScope:p,noAuth:Se,onUploadProgress:D}={}){return re("get",c,{params:u,headers:f,noScope:p,noAuth:Se,onUploadProgress:D})},put:function(c,{data:u,params:f,headers:p=it,noScope:Se,noAuth:D,onUploadProgress:_}={}){return re("put",c,{data:u,params:f,headers:p,noScope:Se,noAuth:D,onUploadProgress:_})},post:function(c,{data:u,params:f,headers:p=it,noScope:Se,noAuth:D,onUploadProgress:_}={}){return re("post",c,{data:u,params:f,headers:p,noScope:Se,noAuth:D,onUploadProgress:_})},delete:function(c,{params:u,headers:f=ve,noScope:p,noAuth:Se,onUploadProgress:D}={}){return re("delete",c,{params:u,headers:f,noScope:p,noAuth:Se,onUploadProgress:D})}};let we=()=>({emit(c,...u){for(let f=this.events[c]||[],p=0,Se=f.length;p<Se;p++)f[p](...u)},events:{},on(c,u){var f;return((f=this.events)[c]||(f[c]=[])).push(u),()=>{var p;this.events[c]=(p=this.events[c])==null?void 0:p.filter(Se=>u!==Se)}}});class ne extends Error{constructor(u,f){u instanceof Error?(super(u.message),this.cause=u):super(u),this.reason=f,this.name="ReasonError"}}function qt(c){return c?`{${Object.keys(c).sort().filter(u=>c[u]!==void 0).map(u=>{let f=JSON.stringify(c[u]);return`${JSON.stringify(u)}:${f}`}).join(",")}}`:""}class Ps{constructor(u){this.channel=u,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",u=>{if(u.type==="info"){this._state||(this._state=this.stateFromInfo(u));return}this._state&&(u.type==="join"?this._state[u.id]=u.info:u.type==="leave"&&delete this._state[u.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(u=>u()),this.listeners.length=0}async join(u,f){if(!this._info)return this._info={id:u,info:f},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let u=await this.channel.perform("$presence:leave");return delete this._info,u}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let u=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(u),this._state}finally{delete this._promise}}stateFromInfo(u){return u.records.reduce((f,{id:p,info:Se})=>(f[p]=Se,f),{})}}const B=Symbol("state");class Bt{constructor(u={}){this.emitter=we(),this.params=Object.freeze(u),this.presence=new Ps(this),this.initialConnect=!0,this[B]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=qt({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[B]}attached(u){if(this.receiver){if(this.receiver!==u)throw Error("Already connected to a different receiver");return!1}return this.receiver=u,!0}connecting(){this[B]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[B]="connected";let u=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:u})):this.emit("connect",{reconnect:!0,restored:u})}restored(){if(this.state==="connected")throw Error("Already connected");this[B]="connected";let u=!0,f=!0;this.initialConnect=!1,this.emit("connect",{reconnect:f,restored:u})}disconnected(u){this.state==="disconnected"||this.state==="closed"||(this[B]="disconnected",this.presence.reset(),this.emit("disconnect",u))}closed(u){this.state!=="closed"&&(this[B]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",u))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(u,f){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,u,f)}async send(u){return this.perform(void 0,u)}async whisper(u){try{await this.perform("$whisper",u)}catch(f){let p=this.receiver?this.receiver.logger:null;p&&p.warn("whisper failed: ",f)}}receive(u,f){this.emit("message",u,f)}on(u,f){return this.emitter.on(u,f)}once(u,f){let p=this.emitter.on(u,(...Se)=>{p(),f(...Se)});return p}emit(u,...f){return this.emitter.emit(u,...f)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((u,f)=>{let p=[()=>delete this._pendingSubscribe];p.push(this.on("connect",()=>{p.forEach(Se=>Se()),u()})),p.push(this.on("close",Se=>{p.forEach(D=>D()),f(Se||new ne("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class Me extends Bt{constructor(u,f){super(f),this.channelId=u}set channelId(u){this._channelId=u}get channelId(){return this._channelId}}v(Me,"identifier","__ghost__");const qs="$pubsub";class je extends Bt{async perform(u,f){if(u.startsWith("$"))return super.perform(u,f);throw Error("not implemented")}}v(je,"identifier",qs);function Ee(c){return cr.test(c)}const cr=/^-?[0-9]+$/;function Wt(c){return ar.test(c)}const ar=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function Kt(c,u){const f=Number.parseFloat(c),p=String(f),Se=ut(c),D=ut(p);return!!(Se===D||(u==null?void 0:u.approx)===!0&&!Ee(c)&&D.length>=14&&Se.startsWith(D.substring(0,14)))}let Q=function(c){return c.underflow="underflow",c.overflow="overflow",c.truncate_integer="truncate_integer",c.truncate_float="truncate_float",c}({});function lr(c){if(Kt(c,{approx:!1}))return;if(Ee(c))return Q.truncate_integer;const u=Number.parseFloat(c);return Number.isFinite(u)?u===0?Q.underflow:Q.truncate_float:Q.overflow}function ut(c){return c.replace(ur,"").replace(dr,"").replace(fr,"").replace(hr,"")}const ur=/[eE][+-]?\d+$/,hr=/^-?(0*)?/,dr=/\./,fr=/0+$/;class pr{constructor(u){if(v(this,"isLosslessNumber",!0),!Wt(u))throw new Error(`Invalid number (value: "${u}")`);this.value=u}valueOf(){const u=lr(this.value);if(u===void 0||u===Q.truncate_float)return Number.parseFloat(this.value);if(Ee(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${u} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function mr(c){return c&&typeof c=="object"&&c.isLosslessNumber===!0||!1}function gr(c){return new pr(c)}function br(c,u){return He({"":c},"",c,u)}function He(c,u,f,p){return Array.isArray(f)?p.call(c,u,wr(f,p)):f&&typeof f=="object"&&!mr(f)?p.call(c,u,yr(f,p)):p.call(c,u,f)}function yr(c,u){for(const f of Object.keys(c)){const p=He(c,f,c[f],u);p!==void 0?c[f]=p:delete c[f]}return c}function wr(c,u){for(let f=0;f<c.length;f++)c[f]=He(c,String(f),c[f],u);return c}function _r(c,u){let f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:gr,p=0;const Se=x();return e(Se),s(),u?br(Se,u):Se;function D(){if(c.charCodeAt(p)===Or){p++,h();const b={};let w=!0;for(;p<c.length&&c.charCodeAt(p)!==dt;){w?w=!1:(o(),h());const W=p,ot=i();if(ot===void 0){A();return}h(),t();const at=x();if(at===void 0){se();return}Object.prototype.hasOwnProperty.call(b,ot)&&!$e(at,b[ot])&&E(ot,W+1),b[ot]=at}return c.charCodeAt(p)!==dt&&S(),p++,b}}function _(){if(c.charCodeAt(p)===Cr){p++,h();const b=[];let w=!0;for(;p<c.length&&c.charCodeAt(p)!==ft;){w?w=!1:o();const W=x();n(W),b.push(W)}return c.charCodeAt(p)!==ft&&C(),p++,b}}function x(){h();const b=i()??r()??D()??_()??a("true",!0)??a("false",!1)??a("null",null);return h(),b}function a(b,w){if(c.slice(p,p+b.length)===b)return p+=b.length,w}function h(){for(;Er(c.charCodeAt(p));)p++}function i(){if(c.charCodeAt(p)===Ce){p++;let b="";for(;p<c.length&&c.charCodeAt(p)!==Ce;){if(c.charCodeAt(p)===Ar){const w=c[p+1],W=Rr[w];W!==void 0?(b+=W,p++):w==="u"?ie(c.charCodeAt(p+2))&&ie(c.charCodeAt(p+3))&&ie(c.charCodeAt(p+4))&&ie(c.charCodeAt(p+5))?(b+=String.fromCharCode(Number.parseInt(c.slice(p+2,p+6),16)),p+=5):j(p):Be(p)}else xr(c.charCodeAt(p))?b+=c[p]:q(c[p]);p++}return m(),p++,b}}function r(){const b=p;if(c.charCodeAt(p)===pt&&(p++,g(b)),c.charCodeAt(p)===ze)p++;else if(Sr(c.charCodeAt(p)))for(p++;oe(c.charCodeAt(p));)p++;if(c.charCodeAt(p)===jr)for(p++,g(b);oe(c.charCodeAt(p));)p++;if(c.charCodeAt(p)===qr||c.charCodeAt(p)===Dr)for(p++,(c.charCodeAt(p)===pt||c.charCodeAt(p)===Ir)&&p++,g(b);oe(c.charCodeAt(p));)p++;if(p>b)return f(c.slice(b,p))}function o(){if(c.charCodeAt(p)!==vr)throw new SyntaxError(`Comma ',' expected after value ${U()}`);p++}function t(){if(c.charCodeAt(p)!==$r)throw new SyntaxError(`Colon ':' expected after property name ${U()}`);p++}function e(b){if(b===void 0)throw new SyntaxError(`JSON value expected ${U()}`)}function n(b){if(b===void 0)throw new SyntaxError(`Array item expected ${U()}`)}function s(){if(p<c.length)throw new SyntaxError(`Expected end of input ${U()}`)}function g(b){if(!oe(c.charCodeAt(p))){const w=c.slice(b,p);throw new SyntaxError(`Invalid number '${w}', expecting a digit ${U()}`)}}function m(){if(c.charCodeAt(p)!==Ce)throw new SyntaxError(`End of string '"' expected ${U()}`)}function A(){throw new SyntaxError(`Quoted object key expected ${U()}`)}function E(b,w){throw new SyntaxError(`Duplicate key '${b}' encountered at position ${w}`)}function S(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${U()}`)}function C(){throw new SyntaxError(`Array item or end of array ']' expected ${U()}`)}function q(b){throw new SyntaxError(`Invalid character '${b}' ${ct()}`)}function Be(b){const w=c.slice(b,b+2);throw new SyntaxError(`Invalid escape character '${w}' ${ct()}`)}function se(){throw new SyntaxError(`Object value expected after ':' ${ct()}`)}function j(b){const w=c.slice(b,b+6);throw new SyntaxError(`Invalid unicode character '${w}' ${ct()}`)}function ct(){return`at position ${p}`}function G(){return p<c.length?`but got '${c[p]}'`:"but reached end of input"}function U(){return`${G()} ${ct()}`}}function Er(c){return c===Tr||c===kr||c===Nr||c===Pr}function ie(c){return c>=ze&&c<=Ve||c>=Fr&&c<=Br||c>=Ur&&c<=Mr}function oe(c){return c>=ze&&c<=Ve}function Sr(c){return c>=Lr&&c<=Ve}function xr(c){return c>=32&&c<=1114111}function $e(c,u){return c===u?!0:Array.isArray(c)&&Array.isArray(u)?c.length===u.length&&c.every((f,p)=>$e(f,u[p])):ht(c)&&ht(u)?[...new Set([...Object.keys(c),...Object.keys(u)])].every(f=>$e(c[f],u[f])):!1}function ht(c){return typeof c=="object"&&c!==null}const Rr={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
1122
1122
  `,r:"\r",t:" "},Ar=92,Or=123,dt=125,Cr=91,ft=93,Tr=32,kr=10,Nr=9,Pr=13,Ce=34,Ir=43,pt=45,ze=48,Lr=49,Ve=57,vr=44,jr=46,$r=58,Fr=65,Ur=97,Dr=69,qr=101,Br=70,Mr=102;function Xt(c,u,f,p){return Se(c);function Se(a,h){if(Array.isArray(p)){const i=p.find(r=>r.test(a));if(i){const r=i.stringify(a);if(typeof r!="string"||!Wt(r))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${r})`);return r}}if(typeof a=="boolean"||typeof a=="number"||typeof a=="string"||a===null||a instanceof Date||a instanceof Boolean||a instanceof Number||a instanceof String)return JSON.stringify(a);if(a!=null&&a.isLosslessNumber||typeof a=="bigint")return a.toString();if(Array.isArray(a))return D(a);if(a&&typeof a=="object")return _(a)}function D(a,h){if(a.length===0)return"[]";let i="[";for(let r=0;r<a.length;r++){const o=a[r];typeof o<"u"&&typeof o!="function"?i+=Se(o):i+="null",r<a.length-1&&(i+=",")}return i+="]",i}function _(a,h){if(typeof a.toJSON=="function")return Xt(a.toJSON(),u,f,void 0);const i=Array.isArray(u)?u.map(String):Object.keys(a);if(i.length===0)return"{}";let r=!0,o="{";for(const t of i){const e=a[t];if(x(t,e)){r?r=!1:o+=",";const n=JSON.stringify(t);o+=`${n}:`,o+=Se(e)}}return o+="}",o}function x(a,h){return typeof h<"u"&&typeof h!="function"&&typeof h!="symbol"}}function Hr(c){return Ee(c)&&!Kt(c)?BigInt(c):parseFloat(c)}class pi{constructor(){v(this,"id",1)}async exec(u,f,p={},Se={},D=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return p.scope=window.openc3Scope,Se.manual=!0,(await qe.post("/openc3-api/api",{jsonrpc:"2.0",method:u,params:f,id:this.id,keyword_params:p},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...Se},timeout:D,transformRequest:[(_,x)=>Xt(_)],transformResponse:[_=>_r(_,void 0,Hr)]})).data.result}catch(_){let x=new Error;throw _.response?(x.name=_.response.data.error.data.class,x.message=_.response.data.error.data.message,x.object=_.response.data.error):_.request?(x.name="Request error",x.message="Request error, no response received"):x=_,x}}decode_openc3_type(u){if(u!==null&&typeof u=="object"&&u.json_class=="Float"&&u.raw){if(u.raw=="NaN")return NaN;if(u.raw=="Infinity")return 1/0;if(u.raw=="-Infinity")return-1/0}return null}encode_openc3_type(u){return Number.isNaN(u)?{json_class:"Float",raw:"NaN"}:u==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:u==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(u=>{u&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(u){return this.exec("set_offline_access",[u])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(u,f){return this.exec("map_target_to_interface",[u,f])}connect_interface(u,...f){return f.length>0?this.exec("connect_interface",[u,...f]):this.exec("connect_interface",[u])}disconnect_interface(u){return this.exec("disconnect_interface",[u])}interface_cmd(u,f,...p){return this.exec("interface_cmd",[u,f,...p])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(u){return this.exec("connect_router",[u])}disconnect_router(u){return this.exec("disconnect_router",[u])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(u){return this.exec("get_tlm_cnts",[u])}get_item(u,f,p){return this.exec("get_item",[u,f,p])}get_param(u,f,p){return this.exec("get_param",[u,f,p])}get_parameter(u,f,p){return this.exec("get_param",[u,f,p])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(u){return this.exec("set_limits_set",[u])}get_target(u){return this.exec("get_target",[u])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(u,f){return this.exec("get_tlm",[u,f])}get_telemetry(u,f){return this.exec("get_tlm",[u,f])}get_all_tlm(u){return this.exec("get_all_tlm",[u])}get_all_telemetry(u){return this.exec("get_all_tlm",[u])}get_all_tlm_names(u,f=!1){return this.exec("get_all_tlm_names",[u],{hidden:f})}get_all_telemetry_names(u){return this.exec("get_all_tlm_names",[u])}get_all_tlm_item_names(u){return this.exec("get_all_tlm_item_names",[u])}async get_tlm_packet(u,f,p,Se=30){const D=await this.exec("get_tlm_packet",[u,f],{type:p,stale_time:Se});if(D!=null){let _=D.length,x=null;for(let a=0;a<_;a++)x=this.decode_openc3_type(D[a][1]),x!==null&&(D[a][1]=x)}return D}get_packet_derived_items(u,f){return this.exec("get_packet_derived_items",[u,f])}get_tlm_buffer(u,f){return this.exec("get_tlm_buffer",[u,f])}async get_tlm_values(u,f=30,p=null){let Se={stale_time:f};p!==null&&(Se.cache_timeout=p);const D=await this.exec("get_tlm_values",[u],Se,{},1e4);let _=D[0].length,x=null;for(let a=0;a<_;a++)x=this.decode_openc3_type(D[0][a]),x!==null&&(D[0][a]=x);return D}get_limits(u,f,p){return this.exec("get_limits",[u,f,p])}async tlm(u,f,p,Se="CONVERTED"){let D=null;if(f===void 0)D=await this.exec("tlm",[u]);else if(p===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(f))D=await this.exec("tlm",[u],{type:f});else{let x=new Error;throw x.name="TypeError",x.message=`Invalid data type ${f}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,x}else D=await this.exec("tlm",[u,f,p],{type:Se});let _=this.decode_openc3_type(D);return _!==null&&(D=_),D}async inject_tlm(u,f,p=null,Se="CONVERTED"){await this.exec("inject_tlm",[u,f,p],{type:Se})}set_tlm(u,f,p,Se){return this.exec("set_tlm",[u,f,p],{type:Se})}override_tlm(u,f,p,Se){return this.exec("override_tlm",[u,f,p],{type:Se})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(u,f,p,Se){return this.exec("normalize_tlm",[u,f,p],{type:Se})}get_all_cmds(u){return this.exec("get_all_cmds",[u])}get_all_commands(u){return this.exec("get_all_cmds",[u])}get_all_cmd_names(u,f=!1){return this.exec("get_all_cmd_names",[u],{hidden:f})}get_all_command_names(u){return this.exec("get_all_cmd_names",[u])}get_cmd(u,f){return this.exec("get_cmd",[u,f])}get_command(u,f){return this.exec("get_cmd",[u,f])}get_cmd_cnts(u){return this.exec("get_cmd_cnts",[u])}get_cmd_value(u,f,p,Se="CONVERTED"){return this.exec("get_cmd_value",[u,f,p,Se])}get_cmd_buffer(u,f){return this.exec("get_cmd_buffer",[u,f])}_cmd(u,f,p,Se,D){let _=null;for(let x in Se)Object.prototype.hasOwnProperty.call(Se,x)&&(_=this.encode_openc3_type(Se[x]),_!==null&&(Se[x]=_));return this.exec(u,[f,p,Se],{},D)}get_cmd_hazardous(u,f,p,Se={}){return f===void 0?this.exec("get_cmd_hazardous",u,{},Se):this._cmd("get_cmd_hazardous",u,f,p,Se)}cmd(u,f,p,Se={}){return f===void 0?this.exec("cmd",u,{},Se):this._cmd("cmd",u,f,p,Se)}cmd_no_range_check(u,f,p,Se={}){return f===void 0?this.exec("cmd_no_range_check",u,{},Se):this._cmd("cmd_no_range_check",u,f,p,Se)}cmd_raw(u,f,p,Se={}){return f===void 0?this.exec("cmd_raw",u,{},Se):this._cmd("cmd_raw",u,f,p,Se)}cmd_raw_no_range_check(u,f,p,Se={}){return f===void 0?this.exec("cmd_raw_no_range_check",u,{},Se):this._cmd("cmd_raw_no_range_check",u,f,p,Se)}cmd_no_hazardous_check(u,f,p,Se={}){return f===void 0?this.exec("cmd_no_hazardous_check",u,{},Se):this._cmd("cmd_no_hazardous_check",u,f,p,Se)}cmd_no_checks(u,f,p,Se={}){return f===void 0?this.exec("cmd_no_checks",u,{},Se):this._cmd("cmd_no_checks",u,f,p,Se)}cmd_raw_no_hazardous_check(u,f,p,Se={}){return f===void 0?this.exec("cmd_raw_no_hazardous_check",u,{},Se):this._cmd("cmd_raw_no_hazardous_check",u,f,p,Se)}cmd_raw_no_checks(u,f,p,Se={}){return f===void 0?this.exec("cmd_raw_no_checks",u,{},Se):this._cmd("cmd_raw_no_checks",u,f,p,Se)}build_cmd(u,f,p){return f===void 0?this.exec("build_cmd",u):this._cmd("build_cmd",u,f,p)}build_command(u,f,p){return f===void 0?this.exec("build_cmd",u):this._cmd("build_cmd",u,f,p)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(u,f){return this.exec("send_raw",[u,f])}list_configs(u){return this.exec("list_configs",[u])}load_config(u,f){return this.exec("load_config",[u,f])}save_config(u,f,p){return this.exec("save_config",[u,f,p])}delete_config(u,f){return this.exec("delete_config",[u,f])}enable_limits(u,f,p){return this.exec("enable_limits",[u,f,p])}disable_limits(u,f,p){return this.exec("disable_limits",[u,f,p])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(u){return this.exec("get_overall_limits_state",[u])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(u){return this.exec("get_setting",[u])}get_settings(u){return this.exec("get_settings",u)}set_setting(u,f){return this.exec("set_setting",[u,f])}update_news(){return this.exec("update_news",[])}save_setting(u,f){return this.exec("set_setting",[u,f])}get_metrics(){return this.exec("get_metrics",[])}async hashString(u){if(window.isSecureContext){const f=new TextEncoder().encode(u),p=await crypto.subtle.digest("SHA-256",f),Se=new Uint8Array(p);return Array.from(Se).map(D=>D.toString(16).padStart(2,"0")).join("")}}}const Utilities={methods:{isFloat(c){return!!(/^\s*[-+]?\d*\.\d+\s*$/.test(c)||/^\s*[-+]?(\d+((\.\d+)?)|(\.\d+))[eE][-+]?\d+\s*$/.test(c))},isInt(c){return!!(/^\s*[-+]?\d+\s*$/.test(c)||/^\s*0[xX][\dabcdefABCDEF]+\s*$/.test(c))},isArray(c){return!!/^\s*\[.*\]\s*$/.test(c)},removeQuotes(c){if(c.length<2)return c;let u=c.charAt(0);if(u!=='"'&&u!=="'")return c;let f=c.charAt(c.length-1);return u!==f?c:c.slice(1,-1)},convertToString(c){let u=0,f="";if(Object.prototype.toString.call(c).slice(8,-1)==="Array"){let p=c.length;for(f="[ ",u=0;u<p;u++)Object.prototype.toString.call(c[u]).slice(8,-1)==="String"?f+='"'+c[u]+'"':f+=c[u],u!==p-1&&(f+=", ");f+=" ]"}else if(Object.prototype.toString.call(c).slice(8,-1)==="Object")if(c.json_class==="String"&&c.raw)for(f="0x",u=0;u<c.raw.length;u++){let p=c.raw[u].toString(16).toUpperCase();p.length<2&&(p="0"+p),f+=p}else c.json_class==="Float"&&c.raw&&(f=c.raw);else f=String(c);return f}}},_sfc_main$1={mixins:[Utilities],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1}},computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.modelValue===""?null:this.modelValue},stateOptions(){return this.states?Object.keys(this.states).map(c=>({label:c,...this.states[c]})):null},hazardous(){var c,u;return((u=(c=Object.entries(this.states).find(([f,p])=>p.value===this.modelValue))==null?void 0:c.at(1))==null?void 0:u.hazardous)!==void 0},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},methods:{handleChange(c){this.$emit("update:modelValue",c)}}},_hoisted_1$1={key:1,class:"d-flex align-center"};function _sfc_render$1(c,u,f,p,Se,D){const _=resolveComponent("v-text-field"),x=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[f.states?(openBlock(),createElementBlock("div",_hoisted_1$1,[createVNode(x,{items:D.stateOptions,"model-value":D.selectValue,"onUpdate:modelValue":D.handleChange,"item-title":"label",class:normalizeClass(D.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select"},null,8,["items","model-value","onUpdate:modelValue","class"]),createVNode(_,{"model-value":D.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"])])):(openBlock(),createBlock(_,{key:0,"model-value":D.textFieldValue,"onUpdate:modelValue":D.handleChange,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value"},null,8,["model-value","onUpdate:modelValue"]))])}const CommandParameterEditor=_export_sfc(_sfc_main$1,[["render",_sfc_render$1],["__scopeId","data-v-b19a55d5"]]),_sfc_main={components:{DetailsDialog:P,CriticalCmdDialog:N,TargetPacketItemChooser:we$1,CommandParameterEditor,TopBar:Z$1,Openc3Screen:Ie$1},mixins:[Utilities],data(){return{title:"Command Sender",search:"",headers:[{title:"Name",value:"parameter_name"},{title:"Value or State",value:"val"},{title:"Units",value:"units"},{title:"Range",value:"range"},{title:"Description",value:"description"}],editor:null,targetName:"",commandName:"",commandDescription:"",paramList:"",lastTargetName:"",lastCommandName:"",lastParamList:"",ignoreRangeChecks:!1,statesInHex:!1,showIgnoredParams:!1,cmdRaw:!1,ignoredParams:[],rows:[],interfaces:[],selectedInterface:"",rawCmdFile:null,status:"",history:"",hazardousCommand:"",displaySendHazardous:!1,displayErrorDialog:!1,displaySendRaw:!1,displayCriticalCmd:!1,criticalCmdUuid:null,criticalCmdString:null,criticalCmdUser:null,sendDisabled:!1,api:null,viewDetails:!1,contextMenuShown:!1,parameterName:"",reservedItemNames:[],x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}],keywords:[],screenTarget:null,screenName:null,screenDefinition:null,screenCount:0}},computed:{menus:function(){return[{label:"Mode",items:[{label:"Ignore Range Checks",checkbox:!0,checked:this.ignoreRangeChecks,command:()=>{this.ignoreRangeChecks=!this.ignoreRangeChecks}},{label:"Display State Values in Hex",checkbox:!0,checked:this.statesInHex,command:()=>{this.statesInHex=!this.statesInHex}},{label:"Show Ignored Parameters",checkbox:!0,checked:this.showIgnoredParams,command:()=>{this.showIgnoredParams=!this.showIgnoredParams,this.updateCmdParams()}},{label:"Disable Parameter Conversions",checkbox:!0,checked:this.cmdRaw,command:()=>{this.cmdRaw=!this.cmdRaw.checked}}]}]}},created(){li.get("/openc3-api/autocomplete/reserved-item-names").then(c=>{this.reservedItemNames=c.data}),this.api=new pi,this.$route.params.target&&this.$route.params.packet&&this.commandChanged({targetName:this.$route.params.target.toUpperCase(),packetName:this.$route.params.packet.toUpperCase()}),li.get("/openc3-api/autocomplete/keywords/screen").then(c=>{this.keywords=c.data})},mounted(){this.editor=aceExports.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode("ace/mode/ruby"),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.setHighlightActiveLine(!1),this.editor.setValue(localStorage.command_sender__history),this.history=this.editor.getValue().trim(),this.editor.clearSelection(),this.editor.focus(),this.editor.setAutoScrollEditorIntoView(!0),this.editor.setOption("maxLines",30),this.editor.setOption("minLines",1),this.editor.container.addEventListener("keydown",c=>{if(c.key==="Enter"){c.preventDefault();let u=this.editor.session.getLine(this.editor.getCursorPosition().row);if(u==="")return;let f=u.indexOf('"'),p=u.lastIndexOf('"');u=u.substr(f+1,p-f-1),this.sendCmd(u)}})},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{showContextMenu(c,u){c.preventDefault(),this.parameterName=u.item.parameter_name,this.contextMenuShown=!1,this.x=c.clientX,this.y=c.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})},convertToValue(param){if(param.val!==void 0&&param.states&&!this.cmdRaw)return Object.keys(param.states).find(c=>param.states[c].value===param.val);if(typeof param.val!="string")return param.val;let str=param.val,quotesRemoved=this.removeQuotes(str);if(str===quotesRemoved){let upcaseStr=str.toUpperCase();if((param.type==="STRING"||param.type==="BLOCK")&&upcaseStr.startsWith("0X")){let c=upcaseStr.slice(2);c.length%2!==0&&(c="0"+c);let u={json_class:"String",raw:[]};for(let f=0;f<c.length;f+=2){let p=c.charAt(f)+c.charAt(f+1);u.raw.push(parseInt(p,16))}return u}else return upcaseStr==="INFINITY"?1/0:upcaseStr==="-INFINITY"?-1/0:upcaseStr==="NAN"?NaN:this.isFloat(str)?parseFloat(str):this.isInt(str)?Number.isSafeInteger(Number(str))?parseInt(str):BigInt(str):this.isArray(str)?eval(str):str}else return quotesRemoved},commandChanged(c){(this.targetName!==c.targetName||this.commandName!==c.packetName)&&(this.targetName=c.targetName,this.commandName=c.packetName,this.sendDisabled===!1&&this.updateCmdParams(),this.targetName&&this.commandName?this.$router.replace({name:"CommandSender",params:{target:this.targetName,packet:this.commandName}}).catch(u=>{}):this.$router.replace({name:"CommandSender"}).catch(u=>{}))},updateCmdParams(){this.sendDisabled=!0,this.ignoredParams=[],this.rows=[],this.targetName&&this.commandName?this.api.get_target(this.targetName).then(c=>(this.ignoredParams=c.ignored_parameters,this.api.get_cmd(this.targetName,this.commandName)),c=>{this.displayError("getting ignored parameters",c),this.sendDisabled=!1}).then(c=>{if(c.items.forEach(u=>{if(!this.reservedItemNames.includes(u.name)&&(!this.ignoredParams.includes(u.name)||this.showIgnoredParams)){let f=u.default;!u.states&&u.data_type==="STRING"&&typeof u.default=="string"&&(f=`'${f}'`),u.required&&(f=""),u.format_string&&(f=sprintf(u.format_string,u.default));let p="N/A";u.minimum!=null&&u.maximum!=null&&(u.data_type==="FLOAT"&&(u.minimum<-1e6&&Number.isSafeInteger(u.minimum)&&(u.minimum=u.minimum.toExponential(3)),u.maximum>1e6&&Number.isSafeInteger(u.maximum)&&(u.maximum=u.maximum.toExponential(3))),p=`${u.minimum}..${u.maximum}`),this.rows.push({parameter_name:u.name,val:f,states:u.states,description:u.description,range:p,units:u.units,type:u.data_type})}}),c.screen)this.loadScreen(c.screen[0],c.screen[1]).then(u=>{this.screenTarget=c.screen[0],this.screenName=c.screen[1],this.screenDefinition=u.data,this.screenCount+=1});else{if(c.related_items){this.screenTarget="LOCAL",this.screenName="CMDSENDER";let u=`SCREEN AUTO AUTO 1.0
1123
1123
  `;for(const f of c.related_items)u+=`LABELVALUE '${f[0]}' '${f[1]}' '${f[2]}' WITH_UNITS 20
1124
- `;this.screenDefinition=u}else this.screenTarget=null,this.screenName=null,this.screenDefinition=null;this.screenCount+=1}this.commandDescription=c.description,this.sendDisabled=!1,this.status=""},c=>{this.displayError("getting command parameters",c),this.sendDisabled=!1}):(this.sendDisabled=!1,this.status="")},createParamList(){let c={};for(const u of this.rows)c[u.parameter_name]=this.convertToValue(u);return c},buildCmd(){this.sendCmd(this.targetName,this.commandName,this.createParamList())},sendCmd(c,u,f){this.lastTargetName=c,this.lastCommandName=u,this.lastParamList=f,this.sendDisabled=!0;let p=!1,Se="";this.api.get_cmd_hazardous(c,u,f).then(D=>{if(p=D,p)u===void 0?this.hazardousCommand=c.split(" ").slice(0,2).join(" "):this.hazardousCommand=`${c} ${u}`,this.displaySendHazardous=!0;else{let _;this.cmdRaw?this.ignoreRangeChecks?(Se="cmd_raw_no_range_check",_=this.api.cmd_raw_no_range_check(c,u,f,{"Ignore-Errors":"428"})):(Se="cmd_raw",_=this.api.cmd_raw(c,u,f,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(Se="cmd_no_range_check",_=this.api.cmd_no_range_check(c,u,f,{"Ignore-Errors":"428"})):(Se="cmd",_=this.api.cmd(c,u,f,{"Ignore-Errors":"428 500"})),_.then(x=>{this.processCmdResponse(!0,c,u,Se,x)},x=>{this.processCmdResponse(!1,c,u,Se,x)})}},D=>{this.processCmdResponse(!1,c,u,Se,D)})},sendHazardousCmd(){this.displaySendHazardous=!1;let c="",u="";this.cmdRaw?this.ignoreRangeChecks?(u="cmd_raw_no_range_check",c=this.api.cmd_raw_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(u="cmd_raw",c=this.api.cmd_raw_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(u="cmd_no_range_check",c=this.api.cmd_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(u="cmd",c=this.api.cmd_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})),c.then(f=>{this.processCmdResponse(!0,this.lastTargetName,this.lastCommandName,u,f)},f=>{this.processCmdResponse(!1,this.lastTargetName,this.lastCommandName,u,f)})},cancelHazardousCmd(){this.displaySendHazardous=!1,this.status="Hazardous command not sent",this.sendDisabled=!1},processCmdResponse(c,u,f,p,Se){f===void 0&&([u,f]=u.split(" ").slice(0,2));let D="";if(c){D=`${p}("${Se[0]} ${Se[1]}`;let _=Object.keys(Se[2]);if(_.length>0){D+=" with ";for(let x=0;x<_.length;x++){let a=_[x],h=this.convertToString(Se[2][a]);typeof Se[2][a]=="string"&&h.charAt(0)!=="'"&&h.charAt(0)!=='"'&&(h=`'${h}'`),D+=a+" "+h,x<_.length-1&&(D+=", ")}}if(D+='")',!this.history.includes(D)){let x=D;this.history.length!==0&&(x+=`
1125
- ${this.history}`),this.editor.setValue(x),this.editor.moveCursorTo(0,0)}if(D+=" sent.",this.status.includes(D)){let x=this.status.split("sent.");if(x[1].includes("(")){let a=parseInt(x[1].substr(2,x[1].indexOf(")")-2));D=x[0]+"sent. ("+(a+1)+")"}else D+=" (2)"}this.status=D}else{let _="sending "+u+" "+f;this.displayError(_,Se,!0)}this.history=this.editor.getValue(),localStorage.command_sender__history=this.editor.getValue(),this.sendDisabled=!1},clearHistory(){this.editor.setValue(""),this.history="",localStorage.removeItem("command_sender__history")},displayError(c,u,f=!1){this.status=`Error ${c} due to ${u.name}`,u.message&&u.message!==""&&(this.status+=": ",this.status+=u.message),this.status.includes("CriticalCmdError")&&(this.status="Critical Command Queued For Approval"),f&&(u.message.includes("CriticalCmdError")?(this.criticalCmdUuid=u.object.data.instance_variables["@uuid"],this.criticalCmdString=u.object.data.instance_variables["@cmd_string"],this.criticalCmdUser=u.object.data.instance_variables["@username"],this.displayCriticalCmd=!0):this.displayErrorDialog=!0)},loadScreen(c,u){return li.get("/openc3-api/screen/"+c+"/"+u,{headers:{Accept:"text/plain"}})}}},_hoisted_1={style:{padding:"10px"}},_hoisted_2={class:"pa-3"},_hoisted_3={ref:"editor",class:"editor","data-test":"sender-history"},_hoisted_4={class:"mx-1"},_hoisted_5=["textContent"],_hoisted_6={class:"openc3-yellow"},_hoisted_7={class:"mx-1"};function _sfc_render(c,u,f,p,Se,D){const _=resolveComponent("top-bar"),x=resolveComponent("target-packet-item-chooser"),a=resolveComponent("v-spacer"),h=resolveComponent("v-text-field"),i=resolveComponent("v-card-title"),r=resolveComponent("command-parameter-editor"),o=resolveComponent("v-data-table"),t=resolveComponent("v-card"),e=resolveComponent("v-col"),n=resolveComponent("v-btn"),s=resolveComponent("v-tooltip"),g=resolveComponent("v-row"),m=resolveComponent("v-card-subtitle"),A=resolveComponent("openc3-screen"),E=resolveComponent("v-list-item-title"),S=resolveComponent("v-list-item"),C=resolveComponent("v-list"),q=resolveComponent("v-menu"),Be=resolveComponent("details-dialog"),se=resolveComponent("critical-cmd-dialog"),j=resolveComponent("v-toolbar"),ct=resolveComponent("v-card-text"),G=resolveComponent("v-dialog"),U=resolveComponent("v-card-actions"),b=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[createVNode(_,{menus:D.menus,title:Se.title},null,8,["menus","title"]),createVNode(t,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(x,{"initial-target-name":c.$route.params.target,"initial-packet-name":c.$route.params.packet,disabled:Se.sendDisabled||Se.commandName==null,"button-text":"Send",mode:"cmd",onOnSet:u[0]||(u[0]=w=>D.commandChanged(w)),onAddItem:u[1]||(u[1]=w=>D.buildCmd(w))},null,8,["initial-target-name","initial-packet-name","disabled"])]),Se.rows.length!==0?(openBlock(),createBlock(t,{key:0},{default:withCtx(()=>[createVNode(i,{class:"d-flex align-center justify-content-space-between"},{default:withCtx(()=>[u[12]||(u[12]=createTextVNode(" Parameters ")),createVNode(a),createVNode(h,{modelValue:Se.search,"onUpdate:modelValue":u[2]||(u[2]=w=>Se.search=w),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),createVNode(o,{headers:Se.headers,items:Se.rows,search:Se.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":D.showContextMenu},{"item.val":withCtx(({item:w})=>[createVNode(r,{modelValue:w.val,"onUpdate:modelValue":W=>w.val=W,states:w.states,"states-in-hex":Se.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])]),_:1},8,["headers","items","search","onContextmenu:row"])]),_:1})):createCommentVNode("",!0),createElementVNode("div",_hoisted_2,"Status: "+toDisplayString(Se.status),1)]),_:1}),u[26]||(u[26]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(g,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,{class:"pr-4"},{default:withCtx(()=>[createVNode(t,{class:"pb-2"},{default:withCtx(()=>[createVNode(m,null,{default:withCtx(()=>[createVNode(g,null,{default:withCtx(()=>[createVNode(e,{class:"pt-6"},{default:withCtx(()=>u[13]||(u[13]=[createTextVNode(" Editable Command History: (Pressing Enter on the line re-executes the command) ")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(s,{"open-delay":600,location:"top"},{activator:withCtx(({props:w})=>[createElementVNode("div",mergeProps(w,{class:"float-right"}),[createVNode(n,{icon:"mdi-delete-sweep",variant:"text","data-test":"clear-history",onClick:D.clearHistory},null,8,["onClick"])],16)]),default:withCtx(()=>[u[14]||(u[14]=createElementVNode("span",null," Clear History ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),createVNode(g,{"no-gutters":"",class:"mt-2 mb-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createElementVNode("pre",_hoisted_3,null,512)]),_:1})]),_:1})]),_:1})]),_:1}),Se.screenDefinition?(openBlock(),createBlock(e,{key:0,md:"auto"},{default:withCtx(()=>[createVNode(A,{target:Se.screenTarget,screen:Se.screenName,definition:Se.screenDefinition,keywords:Se.keywords,count:Se.screenCount,"show-close":!1},null,8,["target","screen","definition","keywords","count"])]),_:1})):createCommentVNode("",!0)]),_:1}),u[27]||(u[27]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(q,{modelValue:Se.contextMenuShown,"onUpdate:modelValue":u[3]||(u[3]=w=>Se.contextMenuShown=w),target:[Se.x,Se.y]},{default:withCtx(()=>[createVNode(C,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Se.contextMenuOptions,(w,W)=>(openBlock(),createBlock(S,{key:W,onClick:withModifiers(w.action,["stop"])},{default:withCtx(()=>[createVNode(E,null,{default:withCtx(()=>[createTextVNode(toDisplayString(w.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),createVNode(Be,{modelValue:Se.viewDetails,"onUpdate:modelValue":u[4]||(u[4]=w=>Se.viewDetails=w),"target-name":Se.targetName,"packet-name":Se.commandName,"item-name":Se.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"]),createVNode(se,{modelValue:Se.displayCriticalCmd,"onUpdate:modelValue":u[5]||(u[5]=w=>Se.displayCriticalCmd=w),uuid:Se.criticalCmdUuid,"cmd-string":Se.criticalCmdString,"cmd-user":Se.criticalCmdUser},null,8,["modelValue","uuid","cmd-string","cmd-user"]),createVNode(G,{modelValue:Se.displayErrorDialog,"onUpdate:modelValue":u[7]||(u[7]=w=>Se.displayErrorDialog=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[15]||(u[15]=createElementVNode("span",null," Error ",-1)),createVNode(a)]),_:1}),createVNode(ct,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_4,[createVNode(g,{class:"my-2"},{default:withCtx(()=>[createVNode(ct,null,{default:withCtx(()=>[createElementVNode("span",{textContent:toDisplayString(Se.status)},null,8,_hoisted_5)]),_:1})]),_:1}),createVNode(g,null,{default:withCtx(()=>[createVNode(a),createVNode(n,{color:"primary","data-test":"error-dialog-ok",onClick:u[6]||(u[6]=w=>Se.displayErrorDialog=!1)},{default:withCtx(()=>u[16]||(u[16]=[createTextVNode(" Ok ")])),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(G,{modelValue:Se.displaySendHazardous,"onUpdate:modelValue":u[8]||(u[8]=w=>Se.displaySendHazardous=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[17]||(u[17]=createElementVNode("span",null," Hazardous Warning ",-1)),createVNode(a)]),_:1}),createVNode(ct,{class:"mt-6"},{default:withCtx(()=>[createTextVNode(" Warning: Command "+toDisplayString(Se.hazardousCommand)+" is Hazardous. Send? ",1),u[18]||(u[18]=createElementVNode("br",null,null,-1)),createElementVNode("span",_hoisted_6," Description: "+toDisplayString(Se.commandDescription),1)]),_:1}),createVNode(U,{class:"px-2"},{default:withCtx(()=>[createVNode(a),createVNode(n,{variant:"outlined",onClick:D.cancelHazardousCmd},{default:withCtx(()=>u[19]||(u[19]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{variant:"flat",onClick:D.sendHazardousCmd},{default:withCtx(()=>u[20]||(u[20]=[createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(G,{modelValue:Se.displaySendRaw,"onUpdate:modelValue":u[11]||(u[11]=w=>Se.displaySendRaw=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[21]||(u[21]=createElementVNode("span",null," Send Raw ",-1)),createVNode(a)]),_:1}),createVNode(ct,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_7,[createVNode(g,{class:"my-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>u[22]||(u[22]=[createTextVNode("Interface:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(b,{modelValue:Se.selectedInterface,"onUpdate:modelValue":u[9]||(u[9]=w=>Se.selectedInterface=w),variant:"solo","hide-details":"",density:"compact",items:Se.interfaces,"item-title":"label","item-value":"value"},null,8,["modelValue","items"])]),_:1})]),_:1}),createVNode(g,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>u[23]||(u[23]=[createTextVNode("Filename:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createElementVNode("input",{type:"file",onChange:u[10]||(u[10]=w=>c.selectRawCmdFile(w))},null,32)]),_:1})]),_:1}),createVNode(g,null,{default:withCtx(()=>[createVNode(a),createVNode(n,{variant:"outlined","data-test":"raw-cancel",onClick:c.cancelRawCmd},{default:withCtx(()=>u[24]||(u[24]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{class:"bg-primary","data-test":"raw-ok",onClick:c.sendRawCmd},{default:withCtx(()=>u[25]||(u[25]=[createTextVNode(" Ok ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const CommandSender=exports("default",_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-61544cea"]]))}}});
1124
+ `;this.screenDefinition=u}else this.screenTarget=null,this.screenName=null,this.screenDefinition=null;this.screenCount+=1}this.commandDescription=c.description,this.sendDisabled=!1,this.status=""},c=>{this.displayError("getting command parameters",c),this.sendDisabled=!1}):(this.sendDisabled=!1,this.status="")},createParamList(){let c={};for(const u of this.rows)c[u.parameter_name]=this.convertToValue(u);return c},buildCmd(){this.sendCmd(this.targetName,this.commandName,this.createParamList())},sendCmd(c,u,f){this.lastTargetName=c,this.lastCommandName=u,this.lastParamList=f,this.sendDisabled=!0;let p=!1,Se="";this.api.get_cmd_hazardous(c,u,f).then(D=>{if(p=D,p)u===void 0?this.hazardousCommand=c.split(" ").slice(0,2).join(" "):this.hazardousCommand=`${c} ${u}`,this.displaySendHazardous=!0;else{let _;this.cmdRaw?this.ignoreRangeChecks?(Se="cmd_raw_no_range_check",_=this.api.cmd_raw_no_range_check(c,u,f,{"Ignore-Errors":"428"})):(Se="cmd_raw",_=this.api.cmd_raw(c,u,f,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(Se="cmd_no_range_check",_=this.api.cmd_no_range_check(c,u,f,{"Ignore-Errors":"428"})):(Se="cmd",_=this.api.cmd(c,u,f,{"Ignore-Errors":"428 500"})),_.then(x=>{this.processCmdResponse(!0,c,u,Se,x)},x=>{this.processCmdResponse(!1,c,u,Se,x)})}},D=>{this.processCmdResponse(!1,c,u,Se,D)})},sendHazardousCmd(){this.displaySendHazardous=!1;let c="",u="";this.cmdRaw?this.ignoreRangeChecks?(u="cmd_raw_no_range_check",c=this.api.cmd_raw_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(u="cmd_raw",c=this.api.cmd_raw_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})):this.ignoreRangeChecks?(u="cmd_no_range_check",c=this.api.cmd_no_checks(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428"})):(u="cmd",c=this.api.cmd_no_hazardous_check(this.lastTargetName,this.lastCommandName,this.lastParamList,{"Ignore-Errors":"428 500"})),c.then(f=>{this.processCmdResponse(!0,this.lastTargetName,this.lastCommandName,u,f)},f=>{this.processCmdResponse(!1,this.lastTargetName,this.lastCommandName,u,f)})},cancelHazardousCmd(){this.displaySendHazardous=!1,this.status="Hazardous command not sent",this.sendDisabled=!1},processCmdResponse(c,u,f,p,Se){f===void 0&&([u,f]=u.split(" ").slice(0,2));let D="";if(c){D=`${p}("${Se.target_name} ${Se.cmd_name}`;let _=Object.keys(Se.cmd_params);if(_.length>0){D+=" with ";for(let x=0;x<_.length;x++){let a=_[x],h="";Se.obfuscated_items.includes(a)?h="*****":h=this.convertToString(Se.cmd_params[a]),typeof Se.cmd_params[a]=="string"&&h.charAt(0)!=="'"&&h.charAt(0)!=='"'&&(h=`'${h}'`),D+=a+" "+h,x<_.length-1&&(D+=", ")}}if(D+='")',!this.history.includes(D)){let x=D;this.history.length!==0&&(x+=`
1125
+ ${this.history}`),this.editor.setValue(x),this.editor.moveCursorTo(0,0)}if(D+=" sent.",this.status.includes(D)){let x=this.status.split("sent.");if(x[1].includes("(")){let a=parseInt(x[1].substr(2,x[1].indexOf(")")-2));D=x[0]+"sent. ("+(a+1)+")"}else D+=" (2)"}this.status=D}else{let _="sending "+u+" "+f;this.displayError(_,Se,!0)}this.history=this.editor.getValue(),localStorage.command_sender__history=this.editor.getValue(),this.sendDisabled=!1},clearHistory(){this.editor.setValue(""),this.history="",localStorage.removeItem("command_sender__history")},displayError(c,u,f=!1){this.status=`Error ${c} due to ${u.name}`,u.message&&u.message!==""&&(this.status+=": ",this.status+=u.message),this.status.includes("CriticalCmdError")&&(this.status="Critical Command Queued For Approval"),f&&(u.message.includes("CriticalCmdError")?(this.criticalCmdUuid=u.object.data.instance_variables["@uuid"],this.criticalCmdString=u.object.data.instance_variables["@command"].cmd_string,this.criticalCmdUser=u.object.data.instance_variables["@command"].username,this.displayCriticalCmd=!0):this.displayErrorDialog=!0)},loadScreen(c,u){return li.get("/openc3-api/screen/"+c+"/"+u,{headers:{Accept:"text/plain"}})}}},_hoisted_1={style:{padding:"10px"}},_hoisted_2={class:"pa-3"},_hoisted_3={ref:"editor",class:"editor","data-test":"sender-history"},_hoisted_4={class:"mx-1"},_hoisted_5=["textContent"],_hoisted_6={class:"openc3-yellow"},_hoisted_7={class:"mx-1"};function _sfc_render(c,u,f,p,Se,D){const _=resolveComponent("top-bar"),x=resolveComponent("target-packet-item-chooser"),a=resolveComponent("v-spacer"),h=resolveComponent("v-text-field"),i=resolveComponent("v-card-title"),r=resolveComponent("command-parameter-editor"),o=resolveComponent("v-data-table"),t=resolveComponent("v-card"),e=resolveComponent("v-col"),n=resolveComponent("v-btn"),s=resolveComponent("v-tooltip"),g=resolveComponent("v-row"),m=resolveComponent("v-card-subtitle"),A=resolveComponent("openc3-screen"),E=resolveComponent("v-list-item-title"),S=resolveComponent("v-list-item"),C=resolveComponent("v-list"),q=resolveComponent("v-menu"),Be=resolveComponent("details-dialog"),se=resolveComponent("critical-cmd-dialog"),j=resolveComponent("v-toolbar"),ct=resolveComponent("v-card-text"),G=resolveComponent("v-dialog"),U=resolveComponent("v-card-actions"),b=resolveComponent("v-select");return openBlock(),createElementBlock("div",null,[createVNode(_,{menus:D.menus,title:Se.title},null,8,["menus","title"]),createVNode(t,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(x,{"initial-target-name":c.$route.params.target,"initial-packet-name":c.$route.params.packet,disabled:Se.sendDisabled||Se.commandName==null,"button-text":"Send",mode:"cmd",onOnSet:u[0]||(u[0]=w=>D.commandChanged(w)),onAddItem:u[1]||(u[1]=w=>D.buildCmd(w))},null,8,["initial-target-name","initial-packet-name","disabled"])]),Se.rows.length!==0?(openBlock(),createBlock(t,{key:0},{default:withCtx(()=>[createVNode(i,{class:"d-flex align-center justify-content-space-between"},{default:withCtx(()=>[u[12]||(u[12]=createTextVNode(" Parameters ")),createVNode(a),createVNode(h,{modelValue:Se.search,"onUpdate:modelValue":u[2]||(u[2]=w=>Se.search=w),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),createVNode(o,{headers:Se.headers,items:Se.rows,search:Se.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact","onContextmenu:row":D.showContextMenu},{"item.val":withCtx(({item:w})=>[createVNode(r,{modelValue:w.val,"onUpdate:modelValue":W=>w.val=W,states:w.states,"states-in-hex":Se.statesInHex},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex"])]),_:1},8,["headers","items","search","onContextmenu:row"])]),_:1})):createCommentVNode("",!0),createElementVNode("div",_hoisted_2,"Status: "+toDisplayString(Se.status),1)]),_:1}),u[26]||(u[26]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(g,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,{class:"pr-4"},{default:withCtx(()=>[createVNode(t,{class:"pb-2"},{default:withCtx(()=>[createVNode(m,null,{default:withCtx(()=>[createVNode(g,null,{default:withCtx(()=>[createVNode(e,{class:"pt-6"},{default:withCtx(()=>u[13]||(u[13]=[createTextVNode(" Editable Command History: (Pressing Enter on the line re-executes the command) ")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(s,{"open-delay":600,location:"top"},{activator:withCtx(({props:w})=>[createElementVNode("div",mergeProps(w,{class:"float-right"}),[createVNode(n,{icon:"mdi-delete-sweep",variant:"text","data-test":"clear-history",onClick:D.clearHistory},null,8,["onClick"])],16)]),default:withCtx(()=>[u[14]||(u[14]=createElementVNode("span",null," Clear History ",-1))]),_:1})]),_:1})]),_:1})]),_:1}),createVNode(g,{"no-gutters":"",class:"mt-2 mb-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>[createElementVNode("pre",_hoisted_3,null,512)]),_:1})]),_:1})]),_:1})]),_:1}),Se.screenDefinition?(openBlock(),createBlock(e,{key:0,md:"auto"},{default:withCtx(()=>[createVNode(A,{target:Se.screenTarget,screen:Se.screenName,definition:Se.screenDefinition,keywords:Se.keywords,count:Se.screenCount,"show-close":!1},null,8,["target","screen","definition","keywords","count"])]),_:1})):createCommentVNode("",!0)]),_:1}),u[27]||(u[27]=createElementVNode("div",{style:{height:"15px"}},null,-1)),createVNode(q,{modelValue:Se.contextMenuShown,"onUpdate:modelValue":u[3]||(u[3]=w=>Se.contextMenuShown=w),target:[Se.x,Se.y]},{default:withCtx(()=>[createVNode(C,null,{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Se.contextMenuOptions,(w,W)=>(openBlock(),createBlock(S,{key:W,onClick:withModifiers(w.action,["stop"])},{default:withCtx(()=>[createVNode(E,null,{default:withCtx(()=>[createTextVNode(toDisplayString(w.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),createVNode(Be,{modelValue:Se.viewDetails,"onUpdate:modelValue":u[4]||(u[4]=w=>Se.viewDetails=w),"target-name":Se.targetName,"packet-name":Se.commandName,"item-name":Se.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"]),createVNode(se,{modelValue:Se.displayCriticalCmd,"onUpdate:modelValue":u[5]||(u[5]=w=>Se.displayCriticalCmd=w),uuid:Se.criticalCmdUuid,"cmd-string":Se.criticalCmdString,"cmd-user":Se.criticalCmdUser},null,8,["modelValue","uuid","cmd-string","cmd-user"]),createVNode(G,{modelValue:Se.displayErrorDialog,"onUpdate:modelValue":u[7]||(u[7]=w=>Se.displayErrorDialog=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[15]||(u[15]=createElementVNode("span",null," Error ",-1)),createVNode(a)]),_:1}),createVNode(ct,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_4,[createVNode(g,{class:"my-2"},{default:withCtx(()=>[createVNode(ct,null,{default:withCtx(()=>[createElementVNode("span",{textContent:toDisplayString(Se.status)},null,8,_hoisted_5)]),_:1})]),_:1}),createVNode(g,null,{default:withCtx(()=>[createVNode(a),createVNode(n,{color:"primary","data-test":"error-dialog-ok",onClick:u[6]||(u[6]=w=>Se.displayErrorDialog=!1)},{default:withCtx(()=>u[16]||(u[16]=[createTextVNode(" Ok ")])),_:1})]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(G,{modelValue:Se.displaySendHazardous,"onUpdate:modelValue":u[8]||(u[8]=w=>Se.displaySendHazardous=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[17]||(u[17]=createElementVNode("span",null," Hazardous Warning ",-1)),createVNode(a)]),_:1}),createVNode(ct,{class:"mt-6"},{default:withCtx(()=>[createTextVNode(" Warning: Command "+toDisplayString(Se.hazardousCommand)+" is Hazardous. Send? ",1),u[18]||(u[18]=createElementVNode("br",null,null,-1)),createElementVNode("span",_hoisted_6," Description: "+toDisplayString(Se.commandDescription),1)]),_:1}),createVNode(U,{class:"px-2"},{default:withCtx(()=>[createVNode(a),createVNode(n,{variant:"outlined",onClick:D.cancelHazardousCmd},{default:withCtx(()=>u[19]||(u[19]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{variant:"flat",onClick:D.sendHazardousCmd},{default:withCtx(()=>u[20]||(u[20]=[createTextVNode(" Send ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(G,{modelValue:Se.displaySendRaw,"onUpdate:modelValue":u[11]||(u[11]=w=>Se.displaySendRaw=w),"max-width":"600"},{default:withCtx(()=>[createVNode(t,null,{default:withCtx(()=>[createVNode(j,{height:"24"},{default:withCtx(()=>[createVNode(a),u[21]||(u[21]=createElementVNode("span",null," Send Raw ",-1)),createVNode(a)]),_:1}),createVNode(ct,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_7,[createVNode(g,{class:"my-2"},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>u[22]||(u[22]=[createTextVNode("Interface:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createVNode(b,{modelValue:Se.selectedInterface,"onUpdate:modelValue":u[9]||(u[9]=w=>Se.selectedInterface=w),variant:"solo","hide-details":"",density:"compact",items:Se.interfaces,"item-title":"label","item-value":"value"},null,8,["modelValue","items"])]),_:1})]),_:1}),createVNode(g,{"no-gutters":""},{default:withCtx(()=>[createVNode(e,null,{default:withCtx(()=>u[23]||(u[23]=[createTextVNode("Filename:")])),_:1}),createVNode(e,null,{default:withCtx(()=>[createElementVNode("input",{type:"file",onChange:u[10]||(u[10]=w=>c.selectRawCmdFile(w))},null,32)]),_:1})]),_:1}),createVNode(g,null,{default:withCtx(()=>[createVNode(a),createVNode(n,{variant:"outlined","data-test":"raw-cancel",onClick:c.cancelRawCmd},{default:withCtx(()=>u[24]||(u[24]=[createTextVNode(" Cancel ")])),_:1},8,["onClick"]),createVNode(n,{class:"bg-primary","data-test":"raw-ok",onClick:c.sendRawCmd},{default:withCtx(()=>u[25]||(u[25]=[createTextVNode(" Ok ")])),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const CommandSender=exports("default",_export_sfc(_sfc_main,[["render",_sfc_render],["__scopeId","data-v-07bbe0f0"]]))}}});
@@ -1 +1 @@
1
- System.register(["./main-ac129bbcdb2f3eb5e7ce.js","vue"],function(b,j){"use strict";var g,m,u,r,f,w,s,t,k,v,n,h,V;return{setters:[a=>{g=a.d,m=a.E,u=a.F},a=>{r=a.resolveComponent,f=a.createBlock,w=a.openBlock,s=a.withCtx,t=a.createVNode,k=a.createElementVNode,v=a.createCommentVNode,n=a.createTextVNode,h=a.toDisplayString,V=a.withModifiers}],execute:function(){const a={props:{uuid:String,cmdUser:String,cmdString:String,persistent:{type:Boolean,default:!1},modelValue:Boolean},data(){return{updater:null,username:null,password:null,canApprove:!1,error:!1,errorText:""}},computed:{show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}},formValid:function(){return!!this.password&&!!this.username},disableButtons:function(){return!this.formValid&&!this.canApprove}},watch:{modelValue:function(o,e){o?(u.get("/openc3-api/criticalcmd/canapprove/"+this.uuid).then(i=>{i.data.status==="ok"&&(this.canApprove=!0)}),this.updater=setInterval(()=>{this.uuid?u.get("/openc3-api/criticalcmd/status/"+this.uuid).then(i=>{i.data.status!=="WAITING"&&(this.$emit("status",i.data.status),this.show=!1)}):this.show=!1},1e3)):(clearInterval(this.updater),this.updater=null,this.canApprove=!1,this.username=null,this.password=null)}},beforeUnmount(){clearInterval(this.updater),this.updater=null,this.canApprove=!1,this.username=null,this.password=null},methods:{async approve(){if(this.canApprove)await u.post("/openc3-api/criticalcmd/approve/"+this.uuid,{}).then(o=>{o.status==200&&(this.$emit("status","APPROVED"),this.show=!1,this.error=!1)});else{let o=await this.getKeycloakToken();m.post("/openc3-api/criticalcmd/approve/"+this.uuid,{},{headers:{Authorization:o,"Content-Type":"application/json"},params:{scope:window.openc3Scope},timeout:5e3}).then(e=>{this.$emit("status","APPROVED"),this.show=!1,this.error=!1}).catch(e=>{this.error=!0,e.response?this.errorText=e.response.data.message:this.errorText=e.message})}},async reject(){if(this.canApprove)await u.post("/openc3-api/criticalcmd/reject/"+this.uuid,{}).then(o=>{o.status==200&&(this.$emit("status","REJECTED"),this.show=!1,this.error=!1)});else{let o=await this.getKeycloakToken();(await m.post("/openc3-api/criticalcmd/reject/"+this.uuid,{},{headers:{Authorization:o,"Content-Type":"application/json"},params:{scope:window.openc3Scope},timeout:5e3})).status==200&&(this.$emit("status","REJECTED"),this.show=!1,this.error=!1)}},async getKeycloakToken(){return(await m.post(localStorage.keycloakUrl+"/realms/"+localStorage.keycloakRealm+"/protocol/openid-connect/token",{username:this.username,password:this.password,client_id:localStorage.keycloakClientId,grant_type:"password",scope:"openid"},{headers:{"Content-Type":"application/x-www-form-urlencoded"},timeout:5e3})).data.access_token}}};function A(o,e,i,I,l,c){const y=r("v-spacer"),x=r("v-toolbar"),T=r("v-alert"),d=r("v-row"),C=r("v-text-field"),_=r("v-btn"),S=r("v-container"),E=r("v-card-text"),U=r("v-card"),N=r("v-dialog");return w(),f(N,{modelValue:c.show,"onUpdate:modelValue":e[3]||(e[3]=p=>c.show=p),persistent:i.persistent,width:"600"},{default:s(()=>[t(U,null,{default:s(()=>[t(x,{height:"24"},{default:s(()=>[t(y),e[4]||(e[4]=k("span",null," Waiting for Critical Command Approval ",-1)),t(y)]),_:1}),t(E,null,{default:s(()=>[t(S,{fluid:""},{default:s(()=>[t(T,{modelValue:l.error,"onUpdate:modelValue":e[0]||(e[0]=p=>l.error=p),type:"error",dismissible:""},{default:s(()=>[n(h(l.errorText),1)]),_:1},8,["modelValue"]),t(d,{class:"pt-4",style:{color:"white"}},{default:s(()=>[n("User "+h(i.cmdUser)+" is waiting for approval to execute: ",1)]),_:1}),t(d,{class:"pa-4",style:{color:"white"}},{default:s(()=>[n(h(i.cmdString),1)]),_:1}),t(d,{class:"text-subtitle-2"},{default:s(()=>[n("UUID: "+h(i.uuid),1)]),_:1}),l.canApprove?v("",!0):(w(),f(d,{key:0},{default:s(()=>[t(C,{modelValue:l.username,"onUpdate:modelValue":e[1]||(e[1]=p=>l.username=p),label:"Username","data-test":"username"},null,8,["modelValue"])]),_:1})),l.canApprove?v("",!0):(w(),f(d,{key:1},{default:s(()=>[t(C,{modelValue:l.password,"onUpdate:modelValue":e[2]||(e[2]=p=>l.password=p),type:"password",label:"Password","data-test":"password"},null,8,["modelValue"])]),_:1})),t(d,{class:"pt-2"},{default:s(()=>[t(y),t(_,{type:"submit",class:"mx-2",color:"secondary",outlined:"",disabled:c.disableButtons,"data-test":"reject",onClick:V(c.reject,["prevent"])},{default:s(()=>e[5]||(e[5]=[n(" Reject ")])),_:1},8,["disabled","onClick"]),t(_,{type:"submit",class:"mx-2",color:"primary",disabled:c.disableButtons,"data-test":"approve",onClick:V(c.approve,["prevent"])},{default:s(()=>e[6]||(e[6]=[n(" Approve ")])),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","persistent"])}const B=b("N",g(a,[["render",A],["__scopeId","data-v-6e010bad"]]))}}});
1
+ System.register(["./main-2ac97b3f21af7820f325.js","vue"],function(b,j){"use strict";var g,m,u,r,f,w,s,t,k,v,n,h,V;return{setters:[a=>{g=a.d,m=a.E,u=a.F},a=>{r=a.resolveComponent,f=a.createBlock,w=a.openBlock,s=a.withCtx,t=a.createVNode,k=a.createElementVNode,v=a.createCommentVNode,n=a.createTextVNode,h=a.toDisplayString,V=a.withModifiers}],execute:function(){const a={props:{uuid:String,cmdUser:String,cmdString:String,persistent:{type:Boolean,default:!1},modelValue:Boolean},data(){return{updater:null,username:null,password:null,canApprove:!1,error:!1,errorText:""}},computed:{show:{get(){return this.modelValue},set(o){this.$emit("update:modelValue",o)}},formValid:function(){return!!this.password&&!!this.username},disableButtons:function(){return!this.formValid&&!this.canApprove}},watch:{modelValue:function(o,e){o?(u.get("/openc3-api/criticalcmd/canapprove/"+this.uuid).then(i=>{i.data.status==="ok"&&(this.canApprove=!0)}),this.updater=setInterval(()=>{this.uuid?u.get("/openc3-api/criticalcmd/status/"+this.uuid).then(i=>{i.data.status!=="WAITING"&&(this.$emit("status",i.data.status),this.show=!1)}):this.show=!1},1e3)):(clearInterval(this.updater),this.updater=null,this.canApprove=!1,this.username=null,this.password=null)}},beforeUnmount(){clearInterval(this.updater),this.updater=null,this.canApprove=!1,this.username=null,this.password=null},methods:{async approve(){if(this.canApprove)await u.post("/openc3-api/criticalcmd/approve/"+this.uuid,{}).then(o=>{o.status==200&&(this.$emit("status","APPROVED"),this.show=!1,this.error=!1)});else{let o=await this.getKeycloakToken();m.post("/openc3-api/criticalcmd/approve/"+this.uuid,{},{headers:{Authorization:o,"Content-Type":"application/json"},params:{scope:window.openc3Scope},timeout:5e3}).then(e=>{this.$emit("status","APPROVED"),this.show=!1,this.error=!1}).catch(e=>{this.error=!0,e.response?this.errorText=e.response.data.message:this.errorText=e.message})}},async reject(){if(this.canApprove)await u.post("/openc3-api/criticalcmd/reject/"+this.uuid,{}).then(o=>{o.status==200&&(this.$emit("status","REJECTED"),this.show=!1,this.error=!1)});else{let o=await this.getKeycloakToken();(await m.post("/openc3-api/criticalcmd/reject/"+this.uuid,{},{headers:{Authorization:o,"Content-Type":"application/json"},params:{scope:window.openc3Scope},timeout:5e3})).status==200&&(this.$emit("status","REJECTED"),this.show=!1,this.error=!1)}},async getKeycloakToken(){return(await m.post(localStorage.keycloakUrl+"/realms/"+localStorage.keycloakRealm+"/protocol/openid-connect/token",{username:this.username,password:this.password,client_id:localStorage.keycloakClientId,grant_type:"password",scope:"openid"},{headers:{"Content-Type":"application/x-www-form-urlencoded"},timeout:5e3})).data.access_token}}};function A(o,e,i,I,l,c){const y=r("v-spacer"),x=r("v-toolbar"),T=r("v-alert"),d=r("v-row"),C=r("v-text-field"),_=r("v-btn"),S=r("v-container"),E=r("v-card-text"),U=r("v-card"),N=r("v-dialog");return w(),f(N,{modelValue:c.show,"onUpdate:modelValue":e[3]||(e[3]=p=>c.show=p),persistent:i.persistent,width:"600"},{default:s(()=>[t(U,null,{default:s(()=>[t(x,{height:"24"},{default:s(()=>[t(y),e[4]||(e[4]=k("span",null," Waiting for Critical Command Approval ",-1)),t(y)]),_:1}),t(E,null,{default:s(()=>[t(S,{fluid:""},{default:s(()=>[t(T,{modelValue:l.error,"onUpdate:modelValue":e[0]||(e[0]=p=>l.error=p),type:"error",dismissible:""},{default:s(()=>[n(h(l.errorText),1)]),_:1},8,["modelValue"]),t(d,{class:"pt-4",style:{color:"white"}},{default:s(()=>[n("User "+h(i.cmdUser)+" is waiting for approval to execute: ",1)]),_:1}),t(d,{class:"pa-4",style:{color:"white"}},{default:s(()=>[n(h(i.cmdString),1)]),_:1}),t(d,{class:"text-subtitle-2"},{default:s(()=>[n("UUID: "+h(i.uuid),1)]),_:1}),l.canApprove?v("",!0):(w(),f(d,{key:0},{default:s(()=>[t(C,{modelValue:l.username,"onUpdate:modelValue":e[1]||(e[1]=p=>l.username=p),label:"Username","data-test":"username"},null,8,["modelValue"])]),_:1})),l.canApprove?v("",!0):(w(),f(d,{key:1},{default:s(()=>[t(C,{modelValue:l.password,"onUpdate:modelValue":e[2]||(e[2]=p=>l.password=p),type:"password",label:"Password","data-test":"password"},null,8,["modelValue"])]),_:1})),t(d,{class:"pt-2"},{default:s(()=>[t(y),t(_,{type:"submit",class:"mx-2",color:"secondary",outlined:"",disabled:c.disableButtons,"data-test":"reject",onClick:V(c.reject,["prevent"])},{default:s(()=>e[5]||(e[5]=[n(" Reject ")])),_:1},8,["disabled","onClick"]),t(_,{type:"submit",class:"mx-2",color:"primary",disabled:c.disableButtons,"data-test":"approve",onClick:V(c.approve,["prevent"])},{default:s(()=>e[6]||(e[6]=[n(" Approve ")])),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","persistent"])}const B=b("N",g(a,[["render",A],["__scopeId","data-v-6e010bad"]]))}}});
@@ -1 +1 @@
1
- System.register(["./Widget-Bn_S-zBo-6c26e45762c84ab62189.js","./main-ac129bbcdb2f3eb5e7ce.js","vue","vue-router","single-spa","vuex","vuetify"],function(d,V){"use strict";var l,a,n,r,s,o,u;return{setters:[e=>{l=e.o},e=>{a=e.d,n=e.R},e=>{r=e.resolveComponent,s=e.createBlock,o=e.openBlock,u=e.normalizeStyle},null,null,null,null],execute:function(){const e={mixins:[l,n],data(){return{label:"Date",dateValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.dateValue=this.formatDate(new Date,this.screenTimeZone)},methods:{text(){return this.dateValue},date(){return this.dateValue}}};function c(m,i,v,y,t,B){const h=r("v-text-field");return o(),s(h,{modelValue:t.dateValue,"onUpdate:modelValue":i[0]||(i[0]=p=>t.dateValue=p),label:t.label,style:u(m.computedStyle),type:"date","hide-details":""},null,8,["modelValue","label","style"])}const f=d("default",a(e,[["render",c]]))}}});
1
+ System.register(["./Widget-Bn_S-zBo-efae4c00380b9d00ac88.js","./main-2ac97b3f21af7820f325.js","vue","vue-router","single-spa","vuex","vuetify"],function(d,V){"use strict";var l,a,n,r,s,o,u;return{setters:[e=>{l=e.o},e=>{a=e.d,n=e.R},e=>{r=e.resolveComponent,s=e.createBlock,o=e.openBlock,u=e.normalizeStyle},null,null,null,null],execute:function(){const e={mixins:[l,n],data(){return{label:"Date",dateValue:""}},created(){this.parameters[0]&&(this.label=this.parameters[0]),this.dateValue=this.formatDate(new Date,this.screenTimeZone)},methods:{text(){return this.dateValue},date(){return this.dateValue}}};function c(m,i,v,y,t,B){const h=r("v-text-field");return o(),s(h,{modelValue:t.dateValue,"onUpdate:modelValue":i[0]||(i[0]=p=>t.dateValue=p),label:t.label,style:u(m.computedStyle),type:"date","hide-details":""},null,8,["modelValue","label","style"])}const f=d("default",a(e,[["render",c]]))}}});