openc3-cosmos-tool-cmdsender 7.0.0.pre.rc3.20260306151802 → 7.0.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.
- checksums.yaml +4 -4
- data/tools/cmdsender/ArrayWidget-D2UrA5Db-3ea27d54fcdaf2f8ac97.js +2 -0
- data/tools/cmdsender/{ArrayplotWidget-DCnbK37q-56b0292a7b985592d777.js → ArrayplotWidget-CDNRxI2F-16ffaae3dcf316cb81f9.js} +1 -1
- data/tools/cmdsender/{BarColumn-DmOxuCa9-d7499529f38bb435e57d.js → BarColumn-nSFR2LZF-5bbed1157f4934d27f79.js} +1 -1
- data/tools/cmdsender/{BlockWidget-UejKxAxY-1b3b82b7f7e0a768aaa0.js → BlockWidget-C-WB0Q2m-5d433db0b09e5bda3101.js} +2 -2
- data/tools/cmdsender/{ButtonWidget-DtAkhzCN-ce2327b2c8b10499f950.js → ButtonWidget-rS7sVb7m-52cf758c08bb8b56e483.js} +2 -2
- data/tools/cmdsender/{CanvasWidget-YXQ8TLqA-bf5cea6b7e01c668dbc2.js → CanvasWidget-DuWolVCW-3f12e55086373a9a46f0.js} +1 -1
- data/tools/cmdsender/{CanvasdotWidget-BbmhHQV_-ac76395a6c18c7585c76.js → CanvasdotWidget-B42YizA1-c5bfb3e2314a9603dcf8.js} +1 -1
- data/tools/cmdsender/{CanvasimageWidget-CJf5NYEj-60e1d17514164d9add63.js → CanvasimageWidget-DMHdDTSs-6e718d3778f50055b059.js} +1 -1
- data/tools/cmdsender/{CanvasimagevalueWidget-D86eJXbs-562aa3c620bc165e793f.js → CanvasimagevalueWidget-ns-5S1HA-c5172011e6a4ceee2d2f.js} +1 -1
- data/tools/cmdsender/{CanvaslabelWidget-TkrVd-Dg-7e54adeb133a8e8db900.js → CanvaslabelWidget-DElES3gU-b63d1f7a1039788ed0fd.js} +1 -1
- data/tools/cmdsender/{CanvaslabelvalueWidget-BwsIN_MT-6c1532b3e1fc16fe631c.js → CanvaslabelvalueWidget-B2B5KlUm-a99ef00de2c8b8be2762.js} +1 -1
- data/tools/cmdsender/CanvaslineWidget-DaHxgGyM-6dc6122effda5a34fe51.js +1 -0
- data/tools/cmdsender/{CanvaslinevalueWidget-krBLp9yB-d66e3c5c0138675215b5.js → CanvaslinevalueWidget-CrtDsSOP-6d0aee988e8fc7290aad.js} +1 -1
- data/tools/cmdsender/{CheckbuttonWidget-IMrIK9q4-a056bb196b6b1172de57.js → CheckbuttonWidget-BK4SgIu7-6996a77792f4d8b90133.js} +1 -1
- data/tools/cmdsender/ComboboxWidget-CciRWuKq-2800d0dc8cb9bd2e594b.js +1 -0
- data/tools/cmdsender/{CommandSender-f9b34c32ad2319a37372.js → CommandSender-52100cc8ef96cdec9509.js} +3 -3
- data/tools/cmdsender/{CriticalCmdDialog-Cp-ykpQb-1c0c4367768859ef6f28.js → CriticalCmdDialog-C5EZDRSZ-6088b66600250e4bfb69.js} +1 -1
- data/tools/cmdsender/{DateWidget-Y6WAFGGt-20cd5ae90028e104a293.js → DateWidget-DwgQ3Jik-e962c66f68ece718d9f9.js} +1 -1
- data/tools/cmdsender/{DetailsDialog-DznGAE6i-6b2c2677a1a35eabca0d.js → DetailsDialog-CspQjoR5-a0c8b75e076eeb55e6b4.js} +1 -1
- data/tools/cmdsender/{DynamicWidget-Bym87woV-f73e4b9dc373c6d6e3a1.js → DynamicWidget-Bym87woV-80837161a0bd345910fc.js} +1 -1
- data/tools/cmdsender/{FilechecksumWidget-VbLODmHh-b2d0623d4e86c4d94202.js → FilechecksumWidget-BS281Q0h-663b193a628f366cf343.js} +1 -1
- data/tools/cmdsender/{FiledisplayWidget-kixqcLtx-c6d050a7e611b92ea69a.js → FiledisplayWidget-C9YdXDdv-33f330c9a8a4bd49ad23.js} +1 -1
- data/tools/cmdsender/{FormatvalueWidget--djAS0BE-ca738c1707277595201b.js → FormatvalueWidget-dfmQfrNA-49e203a58f95eeaa759a.js} +1 -1
- data/tools/cmdsender/Graph-BTtGIbYG-633fba79bf2492749140.js +1 -0
- data/tools/cmdsender/{GraphWidget-8T08osON-cc29b24faac477e8324d.js → GraphWidget-CWJ4Yb26-f1c953e7be448946b355.js} +1 -1
- data/tools/cmdsender/{HorizontalWidget-CusI1RiA-5bc2a17ebed43e852647.js → HorizontalWidget-DFAqF95S-3dc704a6fe2415723332.js} +1 -1
- data/tools/cmdsender/HorizontalboxWidget-CL1xEhDj-f78e2b85805f39e5abb4.js +1 -0
- data/tools/cmdsender/{HorizontallineWidget-CnRlq7hi-4a5ea8693b19cad316d1.js → HorizontallineWidget-DPiADCAy-834e5afe6604350dd845.js} +1 -1
- data/tools/cmdsender/{IframeWidget-DtF44NYM-da80ef988572c4363338.js → IframeWidget-BsDu4b17-a26423f4a1d764883d71.js} +1 -1
- data/tools/cmdsender/{ImageLoader-B5rGuJ_H-7d3b5f8d468cfbf7d748.js → ImageLoader-CT4rnwWn-ce2714c2229b42dc2126.js} +1 -1
- data/tools/cmdsender/{ImageviewerWidget-Ciu80vaC-492811defd3609f5ac96.js → ImageviewerWidget-BQbrz2WL-5767f60b79da0a293ecf.js} +1 -1
- data/tools/cmdsender/{LabelWidget-78VnL1xc-e46517a78a7c2b16c379.js → LabelWidget-D5-IFUYW-57289e9d5f24e8db6e07.js} +1 -1
- data/tools/cmdsender/LabelledWidget-Dt9miRtB-2f4ecea21a70a1e4b2bd.js +1 -0
- data/tools/cmdsender/LabelprogressbarWidget-BNFgTq4D-6cad5a04978d664fc781.js +1 -0
- data/tools/cmdsender/LabelsparklineWidget-BByxev6X-95857b7b11cbf8a6b0ca.js +1 -0
- data/tools/cmdsender/LabelvalueWidget-BM6L9bVw-37a227522db6a7cb69da.js +1 -0
- data/tools/cmdsender/{LabelvaluedescWidget-C8OmKnu--63911ba1cdd03d5ccca1.js → LabelvaluedescWidget-DeBRjYXs-9bfe695ee8069d4137fd.js} +1 -1
- data/tools/cmdsender/LabelvaluelimitsbarWidget-CqV0-c3G-754913f2364abbed024a.js +1 -0
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-Bz0PKTIV-4f132f3b879aa858ba1e.js +1 -0
- data/tools/cmdsender/LabelvaluerangebarWidget-DKuAJHLm-be6b672a56a1453d46a9.js +1 -0
- data/tools/cmdsender/{Layout-BcytiBn4-f40fba48157e560377ed.js → Layout-LSeXBY_W-ef37b60671d8984a5757.js} +1 -1
- data/tools/cmdsender/{LedWidget-3pWKnZsD-cb9d8f4a0ee4da8c3c16.js → LedWidget-CH4Il9R7-6875de2a6b914cd6fdfb.js} +1 -1
- data/tools/cmdsender/{LimitsBar-DCco6Rwp-28b6259d2f8f1c7e4aff.js → LimitsBar-BelAQFD0-78ed1f212ccdd49b23ba.js} +1 -1
- data/tools/cmdsender/{LimitsbarWidget-_BMzxWBm-8547eed46a19b207b1aa.js → LimitsbarWidget-PkPqlyxL-b681e629a6a038798e80.js} +1 -1
- data/tools/cmdsender/{LimitscolorWidget-C2gZyqtI-917516f82bff90c9607b.js → LimitscolorWidget-BlA15g4A-107a6bc37ee87a043e97.js} +1 -1
- data/tools/cmdsender/{LimitscolumnWidget-Cv-6FXU3-83f77c0d70c5e56a216b.js → LimitscolumnWidget-PT917BA0-7d7b21827b652e0b603f.js} +1 -1
- data/tools/cmdsender/{LinegraphWidget-BahyhwSt-d0560b7262d82885f33e.js → LinegraphWidget-BW7kS_6G-339d4203a9b34635bb3e.js} +1 -1
- data/tools/cmdsender/{MatrixbycolumnsWidget-B1Hy9but-8195910ae80ce633f517.js → MatrixbycolumnsWidget-BGNsZvjv-48da258f23115d619910.js} +1 -1
- data/tools/cmdsender/{OpenC3TimePicker-LN9R7V31-9149301c1b1111a47d3a.js → OpenC3TimePicker-CkaALgy9-d1a10b405256b7271d60.js} +1 -1
- data/tools/cmdsender/{ProgressbarWidget-mAVHKeok-325700355d3f10cff2b8.js → ProgressbarWidget-Cy_ad8mb-bd980fdf7e41e02e37c3.js} +1 -1
- data/tools/cmdsender/{RadiobuttonWidget-CL3QjTnZ-6340489edd3828d62af0.js → RadiobuttonWidget-aJBIz45y-af348ecfb676e7f13477.js} +1 -1
- data/tools/cmdsender/{RadiogroupWidget-RUwgtUTC-7a15bef74a34c012903a.js → RadiogroupWidget-DNRlJnPE-262cf008424c05a8beff.js} +1 -1
- data/tools/cmdsender/{RangebarWidget-CfDsKLZc-65992d66d28eeae2bc16.js → RangebarWidget-h4YItqPF-e5383769453d8657055f.js} +1 -1
- data/tools/cmdsender/{RollupWidget-DCMoQUeJ-c80fce4d5a1e22f42c06.js → RollupWidget-CnxDQRQ0-ae2d32c369faa516ac70.js} +1 -1
- data/tools/cmdsender/{ScrollwindowWidget-DarXe7-1-5b9e35645eff17564b36.js → ScrollwindowWidget-DFkTJ2Ue-940e638687ddd2e0e012.js} +1 -1
- data/tools/cmdsender/{SignalWidget-C-iEC5KL-92a1d08a203eeb96912a.js → SignalWidget-jYpXSIfD-6dbaa342458d6c34a843.js} +1 -1
- data/tools/cmdsender/{SpacerWidget-FHxUhs1G-e73bf1cedd818dbec4fc.js → SpacerWidget-CUqvml6o-6e77d77d2c7db78bc0ac.js} +1 -1
- data/tools/cmdsender/{SparklineWidget-ClT5Umm2-d0006f35cd552dc18aa0.js → SparklineWidget-CVf1TtjV-27306846f780b97117f1.js} +1 -1
- data/tools/cmdsender/{TabbookWidget-D-b0v0oo-71e3caf7836b93512987.js → TabbookWidget-CTUEpDnn-f21290b231af1033393c.js} +1 -1
- data/tools/cmdsender/TargetPacketItemChooser-CS2Vvi2U-827b9420161c81ee6cc4.js +1 -0
- data/tools/cmdsender/TextboxWidget-B0Y1W7GP-df054e1f2918e1382b75.js +1 -0
- data/tools/cmdsender/{TextfieldWidget-lfc1Vg51-68eaa5909268f9a1a858.js → TextfieldWidget-B8TAf9oU-a239d46a8aede775ca23.js} +1 -1
- data/tools/cmdsender/{TimeWidget-B13aIVqG-87cdf97a36b5b3d93d54.js → TimeWidget-DewVXks0-c3f11163060800457b18.js} +1 -1
- data/tools/cmdsender/TitleWidget-BAq2LGJF-59e492a154e38cd85263.js +1 -0
- data/tools/cmdsender/{VWidget-0kkhOxhV-de5e0522daeec7a4a569.js → VWidget-0KwtSssI-957dadf4d5140fb0a34f.js} +1 -1
- data/tools/cmdsender/ValueWidget-BGNqaaRs-e0a9237446901db8413e.js +1 -0
- data/tools/cmdsender/ValuelimitsbarWidget-B6mH4PdF-3631d73ec699ea717ad2.js +1 -0
- data/tools/cmdsender/ValuelimitscolumnWidget-DlX90_-6-c4ade4ca4e0e6c8b2cf8.js +1 -0
- data/tools/cmdsender/ValuerangebarWidget-C9xyLOJO-a008a96ad4b3bc152292.js +1 -0
- data/tools/cmdsender/{VerticalWidget-abr1X6L7-d850ad7cb7b44401972a.js → VerticalWidget-0UbbE2g3-c458c0bc4c26bf1c220c.js} +1 -1
- data/tools/cmdsender/VerticalboxWidget-efbeOAKE-430490085ede0115fe02.js +1 -0
- data/tools/cmdsender/{Widget-DksaxMdD-811582f8d2894a5c003b.js → Widget-CGePksBA-2bb23875beb24a52968d.js} +1 -1
- data/tools/cmdsender/{main-a6d284aa52241e741d10.js → main-bbdc2fd7fccb0bf929b3.js} +52 -52
- data/tools/cmdsender/main.js +1 -1
- metadata +74 -74
- data/tools/cmdsender/ArrayWidget-dQWDMMrn-176a28edae97254e28bd.js +0 -2
- data/tools/cmdsender/CanvaslineWidget-BjBvF-vY-d7e8e4f00a78fe71d8f9.js +0 -1
- data/tools/cmdsender/ComboboxWidget-C9Zlc2Hy-d255b6a67d84fa291069.js +0 -1
- data/tools/cmdsender/Graph-GhpiUBKI-700c3e6f29e55937a164.js +0 -1
- data/tools/cmdsender/HorizontalboxWidget-D5fIhINf-db65150a255e29d1ef36.js +0 -1
- data/tools/cmdsender/LabelledWidget-Cx2PI85E-87667760dbc028875e43.js +0 -1
- data/tools/cmdsender/LabelprogressbarWidget-eC7VC7lY-b2dad4eb1970c2b4c033.js +0 -1
- data/tools/cmdsender/LabelsparklineWidget-CP5rD4ob-ff86002a1a54ca8d606a.js +0 -1
- data/tools/cmdsender/LabelvalueWidget-PM8DFnDm-a7325bb0f64284ce694a.js +0 -1
- data/tools/cmdsender/LabelvaluelimitsbarWidget-DIsTQqkO-3384a06044ff397080e0.js +0 -1
- data/tools/cmdsender/LabelvaluelimitscolumnWidget-ld556rRi-d1d230ca1659d0f39d6f.js +0 -1
- data/tools/cmdsender/LabelvaluerangebarWidget-nCeoujui-40ffd8a4ed57c6ca2f39.js +0 -1
- data/tools/cmdsender/TargetPacketItemChooser-DD7JgCD9-438b94114f8eb15e3a02.js +0 -1
- data/tools/cmdsender/TextboxWidget-WM3eFUR_-13c16207bf29af790982.js +0 -1
- data/tools/cmdsender/TitleWidget-CTAMgzU4-18e105349973cbd512d6.js +0 -1
- data/tools/cmdsender/ValueWidget-BoQfnx8U-ea335d777cb6c0576714.js +0 -1
- data/tools/cmdsender/ValuelimitsbarWidget-ZfgwDNqX-dd603fe7ece616b5c75e.js +0 -1
- data/tools/cmdsender/ValuelimitscolumnWidget-B3x9DknL-6490c1f676551af60075.js +0 -1
- data/tools/cmdsender/ValuerangebarWidget-40InNHft-d47a6f8796bcd2f17e6d.js +0 -1
- data/tools/cmdsender/VerticalboxWidget-DsbB17o--b022be6acc4cd27bc289.js +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0dd9cba8dd72183d8c84ac055d8d92d184c28d516a3a5f0f1ed3cab2502d863a
|
|
4
|
+
data.tar.gz: b33d1caede3140040235380a9f5bf1af009e390bfd30a36a6267694a1af1c63c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f981f43da60573024fadc0ce87efca072c3461c73e3961d1210c9704d244b8b140821bb73fdcdc3bb5182fe78dd341aaec4bb89437b1b9d699c1a7ee1805d13c
|
|
7
|
+
data.tar.gz: 45a9ad3b8f3bf74cbd1037a8047bcd6e856c727df31d284a3250de7a5d8e2109dc09af29a0cf2e4f01b294cbc951b16e68ff3d2a090d69457665e2c0586b4969
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","vue","./DetailsDialog-CspQjoR5-a0c8b75e076eeb55e6b4.js","single-spa","./VWidget-0KwtSssI-957dadf4d5140fb0a34f.js","vue-router","pinia","vuetify","./LimitsBar-BelAQFD0-78ed1f212ccdd49b23ba.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-CGePksBA-2bb23875beb24a52968d.js"],(function(B,A){"use strict";var c,i,u,l,r,h,d,n,p,g,f,v,w,y,x,C;return{setters:[t=>{c=t.d},t=>{i=t.resolveComponent,u=t.createElementBlock,l=t.openBlock,r=t.createVNode,h=t.normalizeStyle,d=t.normalizeClass,n=t.withCtx,p=t.Fragment,g=t.renderList,f=t.createBlock,v=t.withModifiers,w=t.createTextVNode,y=t.toDisplayString},t=>{x=t.X},null,t=>{C=t.x},null,null,null,null,null,null],execute:(function(){const t={components:{DetailsDialog:x},mixins:[C],data:function(){return{width:200,height:100,itemsPerRow:4,formatter:null}},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=Number.parseInt(this.parameters[6]))},methods:{getType:function(){let e="CONVERTED";return this.parameters[7]&&(e=this.parameters[7]),e},formatValue:function(e){let a="",V=" ",k=`
|
|
2
|
+
`,o=0;if(Array.isArray(e)){for(const m of e)this.formatter&&this.formatter?.toLowerCase()!=="nil"?a+=sprintf(this.formatter,m):a+=m,o+=1,o%this.itemsPerRow===0?(o=0,a+=k):a+=V;return a.trim()}else return e}}},D={class:"array-widget-container"};function S(e,a,V,k,o,m){const j=i("v-textarea"),_=i("v-list-item-title"),z=i("v-list-item"),L=i("v-list"),M=i("v-menu"),N=i("details-dialog");return l(),u("div",D,[r(j,{variant:"solo",density:"compact",readonly:"","no-resize":"","auto-grow":"",rows:"2","hide-details":"","model-value":e._value,class:d(e.valueClass),style:h([e.computedStyle,m.aging]),"data-test":"array-widget",onContextmenu:e.showContextMenu},null,8,["model-value","class","style","onContextmenu"]),r(M,{modelValue:e.contextMenuShown,"onUpdate:modelValue":a[0]||(a[0]=s=>e.contextMenuShown=s),target:[e.x,e.y]},{default:n(()=>[r(L,null,{default:n(()=>[(l(!0),u(p,null,g(e.contextMenuOptions,(s,R)=>(l(),f(z,{key:R,onClick:v(s.action,["stop"])},{default:n(()=>[r(_,null,{default:n(()=>[w(y(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),r(N,{modelValue:e.viewDetails,"onUpdate:modelValue":a[1]||(a[1]=s=>e.viewDetails=s),"target-name":e.parameters[0],"packet-name":e.parameters[1],"item-name":e.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const E=B("default",c(t,[["render",S],["__scopeId","data-v-9da1fd5e"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","./GraphWidget-CWJ4Yb26-f1c953e7be448946b355.js","vue","vue-router","pinia","single-spa","vuetify","./Widget-CGePksBA-2bb23875beb24a52968d.js"],(function(m,k){"use strict";var c,l,h,d,u,p;return{setters:[s=>{c=s.d,l=s.f,h=s.B},s=>{d=s.M},s=>{u=s.createElementBlock,p=s.openBlock},null,null,null,null,null],execute:(function(){const s={mixins:[d],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"]}},computed:{dataOnly(){return this.data[1]}},watch:{dataOnly:function(){this.graph&&this.graph.setData(this.data)}},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:Number.parseFloat(e[1]),step:Number.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"||Number.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()},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",{id:`chart${e.id}`,class:"pa-1"},null,8,b)}const w=m("default",c(s,[["render",g]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","./main-bbdc2fd7fccb0bf929b3.js"],(function(a,n){"use strict";var h,l;return{setters:[e=>{h=e.u},e=>{l=e.H}],execute:(function(){const e=a("u",{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(){if(!this.screenValues[this.valueId])return{};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.parameters[2].includes("[[")&&(this.parameters[2]=this.parameters[2].replace("[[","[").replace("]]","]")),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==null||!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 s=parseInt((t-r)/this.scale);return s>100?100:s<0?0:s}},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-
|
|
2
|
-
`,i=0,l=0;const m=this.bytesPerWord*this.wordsPerRow;for(const c of t.raw)this.addrFormat&&i===0&&(r+=sprintf(this.addrFormat,l),l+=m),r+=sprintf(this.formatter,c),i+=1,i%m===0?(i=0,r+=
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","vue","./DetailsDialog-CspQjoR5-a0c8b75e076eeb55e6b4.js","single-spa","./VWidget-0KwtSssI-957dadf4d5140fb0a34f.js","vue-router","pinia","vuetify","./LimitsBar-BelAQFD0-78ed1f212ccdd49b23ba.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js","./Widget-CGePksBA-2bb23875beb24a52968d.js"],(function(D,N){"use strict";var u,a,d,h,s,p,g,o,w,f,v,x,y,C,k,V;return{setters:[e=>{u=e.d},e=>{a=e.resolveComponent,d=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,x=e.withModifiers,y=e.createTextVNode,C=e.toDisplayString},e=>{k=e.X},null,e=>{V=e.x},null,null,null,null,null,null],execute:(function(){const e={components:{DetailsDialog:k},mixins:[V],data:function(){return{width:400,height:400,bytesPerWord:4,wordsPerRow:4,addrFormat:null,formatter:"%02X"}},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=Number.parseInt(this.parameters[6])),this.parameters[7]&&(this.wordsPerRow=Number.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 B=" ",S=`
|
|
2
|
+
`,i=0,l=0;const m=this.bytesPerWord*this.wordsPerRow;for(const c of t.raw)this.addrFormat&&i===0&&(r+=sprintf(this.addrFormat,l),l+=m),r+=sprintf(this.formatter,c),i+=1,i%m===0?(i=0,r+=S):i%this.bytesPerWord===0&&(r+=B)}else r=t;return r}}},P={class:"block-widget-container"};function W(t,r,B,S,i,l){const m=a("v-textarea"),c=a("v-list-item-title"),b=a("v-list-item"),j=a("v-list"),F=a("v-menu"),M=a("details-dialog");return h(),d("div",P,[s(m,{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(F,{modelValue:t.contextMenuShown,"onUpdate:modelValue":r[0]||(r[0]=n=>t.contextMenuShown=n),target:[t.x,t.y]},{default:o(()=>[s(j,null,{default:o(()=>[(h(!0),d(w,null,f(t.contextMenuOptions,(n,_)=>(h(),v(b,{key:_,onClick:x(n.action,["stop"])},{default:o(()=>[s(c,null,{default:o(()=>[y(C(n.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),s(M,{modelValue:t.viewDetails,"onUpdate:modelValue":r[1]||(r[1]=n=>t.viewDetails=n),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])])}const R=D("default",u(e,[["render",W],["__scopeId","data-v-fc296592"]]))})}}));
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./main-
|
|
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,r={}){let l=[];for(const a in r)l.push({key:a,value:r[a],readonly:!1});vS.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,r,l,a,s){const n=resolveComponent("v-btn"),m=resolveComponent("v-card-title"),o=resolveComponent("v-row"),C=resolveComponent("v-spacer"),p=resolveComponent("v-card-text"),h=resolveComponent("v-card"),v=resolveComponent("v-dialog"),
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","vue","./CriticalCmdDialog-C5EZDRSZ-6088b66600250e4bfb69.js","single-spa","./Widget-CGePksBA-2bb23875beb24a52968d.js","vue-router","pinia","vuetify"],(function(exports,module){"use strict";var d,vS,HA,resolveComponent,createElementBlock,openBlock,createVNode,normalizeStyle,withCtx,createTextVNode,toDisplayString,createElementVNode,N,u;return{setters:[e=>{d=e.d,vS=e.v,HA=e.H},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=>{u=e.u},null,null,null],execute:(function(){const _sfc_main={components:{CriticalCmdDialog:N},mixins:[u],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 HA},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
|
+
`).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,r={}){let l=[];for(const a in r)l.push({key:a,value:r[a],readonly:!1});vS.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,r,l,a,s){const n=resolveComponent("v-btn"),m=resolveComponent("v-card-title"),o=resolveComponent("v-row"),C=resolveComponent("v-spacer"),p=resolveComponent("v-card-text"),h=resolveComponent("v-card"),v=resolveComponent("v-dialog"),V=resolveComponent("critical-cmd-dialog");return openBlock(),createElementBlock("div",null,[createVNode(n,{class:"ma-1",color:"primary",style:normalizeStyle(e.computedStyle),onClick:s.onClick},{default:withCtx(()=>[createTextVNode(toDisplayString(s.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)])]),_:1}),createVNode(p,null,{default:withCtx(()=>[createElementVNode("div",_hoisted_1,[createVNode(o,{class:"my-2"},{default:withCtx(()=>[...t[3]||(t[3]=[createElementVNode("span",null," Warning: Command is Hazardous. Send? ",-1)])]),_:1}),createVNode(o,null,{default:withCtx(()=>[createVNode(C),createVNode(n,{variant:"outlined",onClick:s.cancelHazardousCmd},{default:withCtx(()=>[...t[4]||(t[4]=[createTextVNode(" Cancel ",-1)])]),_:1},8,["onClick"]),createVNode(n,{class:"bg-primary mx-1",onClick:s.sendHazardousCmd},{default:withCtx(()=>[...t[5]||(t[5]=[createTextVNode(" Send ",-1)])]),_:1},8,["onClick"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["modelValue"]),createVNode(V,{modelValue:a.displayCriticalCmd,"onUpdate:modelValue":t[1]||(t[1]=c=>a.displayCriticalCmd=c),uuid:a.criticalCmdUuid,"cmd-string":a.criticalCmdString,"cmd-user":a.criticalCmdUser},null,8,["modelValue","uuid","cmd-string","cmd-user"])])}const ButtonWidget=exports("default",d(_sfc_main,[["render",_sfc_render]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Layout-
|
|
1
|
+
System.register(["./Layout-LSeXBY_W-ef37b60671d8984a5757.js","vue","./main-bbdc2fd7fccb0bf929b3.js","./Widget-CGePksBA-2bb23875beb24a52968d.js","vue-router","pinia","single-spa","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,w,B,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 k=p("default",g(e,[["render",h],["__scopeId","data-v-50b8991f"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(s,a){"use strict";var t,n,l,c;return{setters:[e=>{t=e.u},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,p,f,d,k){return l(),n("circle",{cx:r.parameters[0],cy:r.parameters[1],r:r.parameters[3],fill:r.parameters[2]},null,8,u)}const o=s("default",c(e,[["render",i]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","./ImageLoader-CT4rnwWn-ce2714c2229b42dc2126.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(u,d){"use strict";var n,i,s,a,l,c,h;return{setters:[e=>{n=e.u},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],emits:["open"],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)}}},o=["href","x","y","width","height"];function p(t,m,k,y,N,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:m[0]||(m[0]=(...g)=>r.clickHandler&&r.clickHandler(...g))},null,12,o)):a("",!0)}const f=u("default",h(e,[["render",p]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","./ImageLoader-CT4rnwWn-ce2714c2229b42dc2126.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(I,S){"use strict";var m,d,l,n,h,g,o,p,u,c,f;return{setters:[t=>{m=t.u},t=>{d=t.s},t=>{l=t.createElementBlock,n=t.openBlock,h=t.withDirectives,g=t.createCommentVNode,o=t.Fragment,p=t.renderList,u=t.normalizeStyle,c=t.vShow},t=>{f=t.d},null,null,null,null],execute:(function(){const t={mixins:[m,d],emits:["addItem","deleteItem","open"],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)}}},v=["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(o,null,p(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,v)),[[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]]):g("",!0)])}const $=I("default",f(t,[["render",k]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(a,p){"use strict";var r,l,n,i,s;return{setters:[e=>{r=e.u},e=>{l=e.createElementBlock,n=e.openBlock,i=e.toDisplayString},e=>{s=e.d},null,null,null,null],execute:(function(){const e={mixins:[r],computed:{fillColor(){return this.parameters[3]?this.parameters[3]:"black"}}},u=["x","y","fill"];function o(t,f,d,k,x,c){return n(),l("text",{x:t.parameters[0],y:t.parameters[1],fill:c.fillColor},i(t.parameters[2]),9,u)}const m=a("default",s(e,[["render",o]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(u,d){"use strict";var s,a,i,l,n;return{setters:[e=>{s=e.u},e=>{a=e.createElementBlock,i=e.openBlock,l=e.toDisplayString},e=>{n=e.d},null,null,null,null],execute:(function(){const e={mixins:[s],emits:["addItem","deleteItem"],data(){return{valueId:null}},computed:{_value(){return this.screenValues[this.valueId]?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)}},m=["x","y","font-size","fill"];function o(t,c,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,m)}const p=u("default",n(e,[["render",o]]))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(c,p){"use strict";var l,n,s,a,i;return{setters:[e=>{l=e.u},e=>{n=e.createElementBlock,s=e.openBlock,a=e.normalizeStyle},e=>{i=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}}},u=["x1","y1","x2","y2"];function m(t,r,k,d,f,o){return s(),n("line",{x1:t.parameters[0],y1:t.parameters[1],x2:t.parameters[2],y2:t.parameters[3],style:a(o.calcStyle)},null,12,u)}const y=c("default",i(e,[["render",m]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(u,h){"use strict";var s,r,l,i,n;return{setters:[t=>{s=t.u},t=>{r=t.createElementBlock,l=t.openBlock,i=t.normalizeStyle},t=>{n=t.d},null,null,null,null],execute:(function(){const t={mixins:[s],emits:["addItem","deleteItem"],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)}},m=["x1","y1","x2","y2"];function c(e,a,o,v,y,d){return l(),r("line",{x1:e.parameters[3],y1:e.parameters[4],x2:e.parameters[5],y2:e.parameters[6],style:i(d.calcStyle)},null,12,m)}const p=u("default",n(t,[["render",c]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(i,v){"use strict";var t,a,n,s,u,r;return{setters:[e=>{t=e.u},e=>{a=e.resolveComponent,n=e.createBlock,s=e.openBlock,u=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 c(d,o,k,y,l,b){const m=a("v-checkbox");return s(),n(m,{modelValue:l.value,"onUpdate:modelValue":o[0]||(o[0]=p=>l.value=p),"hide-details":"",density:"compact",label:l.label,style:u(d.computedStyle)},null,8,["modelValue","label","style"])}const h=i("default",r(e,[["render",c]]))})}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","vue","./main-bbdc2fd7fccb0bf929b3.js","vue-router","pinia","single-spa","vuetify"],(function(o,p){"use strict";var l,n,s,i,u,a;return{setters:[e=>{l=e.u},e=>{n=e.resolveComponent,s=e.createBlock,i=e.openBlock,u=e.normalizeStyle},e=>{a=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,r,h,f,t,k){const d=n("v-select");return i(),s(d,{modelValue:t.value,"onUpdate:modelValue":r[0]||(r[0]=v=>t.value=v),"hide-details":"",density:"compact",variant:"outlined",items:t.items,style:u(m.computedStyle)},null,8,["modelValue","items","style"])}const y=o("default",a(e,[["render",c]]))})}}));
|
data/tools/cmdsender/{CommandSender-f9b34c32ad2319a37372.js → CommandSender-52100cc8ef96cdec9509.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","vue","./TargetPacketItemChooser-CS2Vvi2U-827b9420161c81ee6cc4.js","./DetailsDialog-CspQjoR5-a0c8b75e076eeb55e6b4.js","./CriticalCmdDialog-C5EZDRSZ-6088b66600250e4bfb69.js","single-spa","vue-router","pinia","vuetify","./LimitsBar-BelAQFD0-78ed1f212ccdd49b23ba.js","./LimitsColor-CBcpB-la-3bd861951380f642016e.js"],(function(Gi,Ko){"use strict";var we,Dt,ke,_e,Be,Nt,Ft,Me,Wt,Z,te,X,Bt,V,j,ie,ae,ce,ye,be,Pt,re,Ee,st,ue,Te,at,Pe,ze,He,Ue,Ve,lt,zt,Ht,Ut,Vt;return{setters:[q=>{we=q.d,Dt=q.j,ke=q.v,_e=q._,Be=q.H,Nt=q.W,Ft=q.D,Me=q.S,Wt=q.a},q=>{Z=q.resolveComponent,te=q.createBlock,X=q.openBlock,Bt=q.Teleport,V=q.createVNode,j=q.withCtx,ie=q.createElementVNode,ae=q.toDisplayString,ce=q.createElementBlock,ye=q.Fragment,be=q.renderList,Pt=q.ref,re=q.createTextVNode,Ee=q.mergeProps,st=q.createSlots,ue=q.createCommentVNode,Te=q.normalizeStyle,at=q.normalizeClass,Pe=q.withDirectives,ze=q.vShow,He=q.normalizeProps,Ue=q.guardReactiveProps,Ve=q.withKeys,lt=q.withModifiers,zt=q.renderSlot},q=>{Ht=q.C},q=>{Ut=q.X},q=>{Vt=q.N},null,null,null,null,null,null],execute:(function(){var q=document.createElement("style");q.textContent=`.editor[data-v-01969abb]{margin-left:30px;height:50px;width:95%;position:relative;font-size:16px}
|
|
2
2
|
/*$vite$:1*/`,document.head.appendChild(q);const jt="openc3-ace-vim-mode-enabled",ct="ace/keyboard/vim",Gt="openc3-ace-default-scripting-language",je={isVimModeEnabled(){return localStorage.getItem(jt)==="true"},setVimMode(c){localStorage.setItem(jt,JSON.stringify(!!c))},toggleVimMode(c){this.isVimModeEnabled()?(c.setKeyboardHandler(null),this.setVimMode(!1)):(c.setKeyboardHandler(ct),this.setVimMode(!0)),c.focus()},applyVimModeIfEnabled(c,{saveFn:u}={}){this.isVimModeEnabled()?(c.setKeyboardHandler(ct),ace.config.loadModule(ct,h=>{h.CodeMirror.Vim.defineEx("write","w",g=>{typeof u=="function"?u():g.ace.execCommand("save")})})):c.setKeyboardHandler(null)},getDefaultScriptingLanguage(){return localStorage.getItem(Gt)||"python"},setDefaultScriptingLanguage(c){(c==="ruby"||c==="python")&&localStorage.setItem(Gt,c)}},Ki={__name:"TopBarMenu",props:{menu:{type:Object,required:!0},title:{type:String,required:!0}},emits:["submenu-click"],setup(c,{emit:u}){const h=u,g=Pt(!1);function M(){g.value=!1}function C(m){return m.replaceAll(" ","-").toLowerCase()}return(m,w)=>{const s=Z("v-icon"),l=Z("v-btn"),n=Z("v-divider"),o=Z("v-list-item-title"),r=Z("v-list-item"),i=Z("v-list"),e=Z("v-menu"),t=Z("v-radio"),a=Z("v-list-item-action"),d=Z("v-radio-group"),f=Z("v-checkbox");return X(),te(e,{modelValue:g.value,"onUpdate:modelValue":w[0]||(w[0]=$=>g.value=$),"close-on-content-click":!1},{activator:j(({props:$})=>[V(l,Ee($,{variant:"outlined",class:"mx-1 menu-button",text:c.menu.label,"data-test":C(`${c.title} ${c.menu.label}`)}),{append:j(()=>[V(s,{class:"menu-button-icon"},{default:j(()=>[...w[1]||(w[1]=[re(" mdi-menu-down ",-1)])]),_:1})]),_:1},16,["text","data-test"])]),default:j(()=>[V(i,null,{default:j(()=>[(X(!0),ce(ye,null,be(c.menu.items,($,_)=>(X(),ce(ye,null,[$.divider?(X(),te(n,{key:_+"-divider"})):$.subMenu&&$.subMenu.length>0?(X(),ce("div",{key:_+"-submenu"},[(X(),te(e,{key:_,"open-on-hover":"",location:"right"},{activator:j(({props:b})=>[(X(),te(r,Ee({ref_for:!0},b,{key:_,disabled:$.disabled}),st({append:j(()=>[V(s,null,{default:j(()=>[...w[2]||(w[2]=[re(" mdi-chevron-right ",-1)])]),_:1})]),default:j(()=>[!$.radio&&!$.checkbox?(X(),te(o,{key:0,style:Te("cursor: pointer;"+($.disabled?"opacity: 0.2":""))},{default:j(()=>[re(ae($.label),1)]),_:2},1032,["style"])):ue("",!0)]),_:2},[$.icon?{name:"prepend",fn:j(()=>[V(s,{disabled:$.disabled},{default:j(()=>[re(ae($.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:j(()=>[V(i,null,{default:j(()=>[(X(!0),ce(ye,null,be($.subMenu,(b,v)=>(X(),te(r,{key:v,"prepend-icon":b.icon,onClick:T=>h("submenu-click",b)},{default:j(()=>[V(o,null,{default:j(()=>[re(ae(b.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):$.radioGroup?(X(),te(d,{key:_+"-radio-group",class:"ma-0 pa-0",density:"compact","hide-details":"","model-value":$.value,"onUpdate:modelValue":$.command},{default:j(()=>[(X(!0),ce(ye,null,be($.choices,(b,v)=>(X(),te(r,{key:v+"-choice"},{default:j(()=>[V(a,{class:"list-action"},{default:j(()=>[V(t,{color:"secondary",label:b.label,value:b.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(X(),te(r,{key:_+"-list",disabled:$.disabled,"data-test":C(`${c.title} ${c.menu.label} ${$.label}`),onClick:()=>{$.command($),$.checkbox||M()}},st({default:j(()=>[$.checkbox?(X(),te(a,{key:0,class:"list-action"},{default:j(()=>[V(f,{modelValue:$.checked,"onUpdate:modelValue":b=>$.checked=b,label:$.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):ue("",!0),!$.radio&&!$.checkbox?(X(),te(o,{key:1,style:Te("cursor: pointer;"+($.disabled?"opacity: 0.2":""))},{default:j(()=>[re(ae($.label),1)]),_:2},1032,["style"])):ue("",!0)]),_:2},[$.icon?{name:"prepend",fn:j(()=>[V(s,{icon:$.icon,disabled:$.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["disabled","data-test","onClick"]))],64))),256))]),_:1})]),_:1},8,["modelValue"])}}},Yi={components:{TopBarMenu:Ki},props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},mounted(){document.title=this.title},methods:{subMenuClick(c){c.command(c),this.$refs.topmenu[0].isActive=!1}}},Qi={class:"app-title mr-2"};function Zi(c,u,h,g,M,C){const m=Z("v-col"),w=Z("v-row"),s=Z("TopBarMenu");return X(),te(Bt,{to:"#openc3-menu"},[V(w,{"no-gutters":""},{default:j(()=>[V(m,{"align-self":"end"},{default:j(()=>[ie("span",Qi,ae(h.title),1)]),_:1})]),_:1}),V(w,{dense:"",class:"flex-nowrap"},{default:j(()=>[(X(!0),ce(ye,null,be(h.menus,(l,n)=>(X(),te(s,{key:n+"-top-menu",ref_for:!0,ref:"topmenu",menu:l,title:h.title,onSubmenuClick:C.subMenuClick},null,8,["menu","title","onSubmenuClick"]))),128))]),_:1})])}const Xi=we(Yi,[["render",Zi],["__scopeId","data-v-f4fb184e"]]);let Ji=class{constructor(){ke.get("/openc3-api/autocomplete/data/screen").then(u=>{this.autocompleteData=u.data}),this.api=new Be}async getCompletions(u,h,g,M,C){if(!this.autocompleteData)return C(null,[]);let m=h.getLine(g.row).slice(0,g.column).trimStart().split(/ (?![^<]*>)/),w=this.autocompleteData;m.length>1&&(w=w.find(n=>n.caption===m[0]));let s={},l=!0;if(w&&w.params){w.params.length==m.length-1&&(l=!1);let n=w.params[m.length-2];if(n["Target name"])w=(await this.api.get_target_names()).reduce((o,r)=>(o[r]=1,o),{});else if(n["Packet name"]){let o=m[m.length-2];w=(await this.api.get_all_tlm(o)).reduce((r,i)=>(r[i.packet_name]=i.description,r),{}),w.LATEST="LATEST values from all packets"}else if(n["Item name"]){let o=m[m.length-3],r=m[m.length-2];if(r==="LATEST"){let i=await this.api.get_all_tlm_item_names(o);w={},i.forEach(e=>{w[e]=`LATEST ${e}`})}else w=(await this.api.get_tlm(o,r)).items.reduce((i,e)=>(i[e.name]=e.description,i),{})}else w=n;s=Object.keys(w||{}).map(o=>{let r={value:o+(l?" ":""),command:l&&"startAutocomplete"};return typeof w[o]=="string"&&(r.meta=w[o]),r})}else s=w;C(null,s)}};const qi={props:{modelValue:{type:String,default:""},keywords:{type:Array,default:()=>[]},height:{type:String,default:"45vh"},filename:{type:String,default:"screen.txt"}},emits:["update:modelValue"],data(){return{editor:null,file:null,loadedKeywords:[],docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{effectiveKeywords(){return this.keywords.length>0?this.keywords:this.loadedKeywords}},watch:{modelValue(c){this.editor&&this.editor.getValue()!==c&&(this.editor.setValue(c),this.editor.clearSelection())},effectiveKeywords(){if(this.editor){const c=this.buildScreenMode();this.editor.session.setMode(new c)}}},created(){this.keywords.length===0&&this.loadKeywords()},mounted(){this.initEditor()},beforeUnmount(){this.editor&&(this.editor.destroy(),this.editor.container.remove())},methods:{async loadKeywords(){try{const c=await ke.get("/openc3-api/autocomplete/keywords/screen");this.loadedKeywords=c.data}catch(c){console.error("Error loading screen keywords:",c)}},initEditor(){this.editor=Me.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 Ji],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.modelValue),this.editor.clearSelection(),je.applyVimModeIfEnabled(this.editor),this.editor.focus(),this.editor.session.on("change",()=>{this.$emit("update:modelValue",this.editor.getValue())})},getValue(){return this.editor?this.editor.getValue():this.modelValue},buildScreenMode(){let c=Me.require("ace/lib/oop"),u=Me.require("ace/mode/text_highlight_rules").TextHighlightRules,h=this.effectiveKeywords.join("|"),g=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:h?new RegExp(`^\\s*(${h})\\b`):/(?!)/}]},this.normalizeRules()};c.inherits(g,u);let M=function(){this.HighlightRules=g},C=Me.require("ace/mode/text").Mode;return c.inherits(M,C),(function(){this.$id="ace/mode/openc3"}).call(M.prototype),M},toggleVimMode(){je.toggleVimMode(this.editor)},showContextMenu(c){this.menuX=c.pageX,this.menuY=c.pageY;let u=this.editor.getCursorPosition(),h=this.editor.session.getTokenAt(u.row,u.column);if(h){let g=h.value.trim();g.includes(" ")?this.docsKeyword=g.split(" ")[0]:this.docsKeyword=g,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},downloadContent(){const c=new Blob([this.editor.getValue()],{type:"text/plain"}),u=document.createElement("a");u.href=URL.createObjectURL(c),u.setAttribute("download",this.filename),u.click()},loadFile(){const c=new FileReader;c.readAsText(this.file);const u=this;c.onload=function(){u.editor.setValue(c.result),u.editor.clearSelection(),u.file=null}}}},en={class:"screen-editor-container"};function tn(c,u,h,g,M,C){const m=Z("v-btn"),w=Z("v-file-input"),s=Z("v-spacer"),l=Z("v-row"),n=Z("v-list-item-title"),o=Z("v-list-item"),r=Z("v-divider"),i=Z("v-list"),e=Z("v-menu");return X(),ce("div",en,[V(l,{"no-gutters":"",align:"center",class:"mb-2"},{default:j(()=>[V(m,{disabled:!M.file,color:"primary",size:"small",class:"mr-3","data-test":"screen-editor-load",onClick:C.loadFile},{default:j(()=>[...u[3]||(u[3]=[re(" Load ",-1)])]),_:1},8,["disabled","onClick"]),V(w,{modelValue:M.file,"onUpdate:modelValue":u[0]||(u[0]=t=>M.file=t),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file.",density:"compact","hide-details":"",style:{"max-width":"300px"}},null,8,["modelValue"]),V(s),V(m,{icon:"mdi-download",variant:"text",density:"compact",title:"Download","data-test":"download-screen-icon",onClick:C.downloadContent},null,8,["onClick"])]),_:1}),V(l,{"no-gutters":"",class:"mb-2"},{default:j(()=>[ie("pre",{ref:"editor",class:"screen-editor",style:Te({height:h.height,width:"100%"}),onContextmenu:u[1]||(u[1]=lt((...t)=>C.showContextMenu&&C.showContextMenu(...t),["prevent"]))},null,36),V(e,{modelValue:M.contextMenu,"onUpdate:modelValue":u[2]||(u[2]=t=>M.contextMenu=t),target:[M.menuX,M.menuY]},{default:j(()=>[V(i,null,{default:j(()=>[V(o,{link:"",onClick:C.openDocumentation},{default:j(()=>[V(n,null,{default:j(()=>[re(ae(M.docsKeyword)+" documentation ",1)]),_:1})]),_:1},8,["onClick"]),V(r),V(o,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:C.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),V(l,{"no-gutters":""},{default:j(()=>[...u[4]||(u[4]=[ie("span",{class:"text-caption text-grey"}," Ctrl-space brings up autocomplete. Right click keywords for documentation. ",-1)])]),_:1})])}const nn=we(qi,[["render",tn],["__scopeId","data-v-f2442c42"]]),rn={components:{ScreenEditor:nn},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{editorContent:this.definition}},computed:{editErrors:function(){if(this.editorContent==="")return["Input can not be blank."];if(this.errors.length!==0){let c=new Set,u=[];const h=this.errors.toSorted((g,M)=>g.lineNumber-M.lineNumber);for(const g of h){let M=`At ${g.lineNumber}: (${g.line}) ${g.message}.`;g.usage&&(M+=` Usage: ${g.usage}`),u.push(M),c.add(g.message)}return u}return[]},show:{get(){return this.modelValue},set(c){this.$emit("update:modelValue",c)}}},watch:{definition(c){this.editorContent=c}},methods:{deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(c=>{this.$emit("delete")})}}},on=["textContent"];function sn(c,u,h,g,M,C){const m=Z("v-btn"),w=Z("v-spacer"),s=Z("v-toolbar"),l=Z("screen-editor"),n=Z("v-row"),o=Z("v-card-text"),r=Z("v-card"),i=Z("v-dialog");return X(),te(i,{modelValue:C.show,"onUpdate:modelValue":u[3]||(u[3]=e=>C.show=e),persistent:"",width:"75vw",onKeydown:u[4]||(u[4]=Ve(e=>c.$emit("cancel"),["esc"]))},{default:j(()=>[V(r,null,{default:j(()=>[V(s,{height:"24"},{default:j(()=>[V(m,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:C.deleteScreen},null,8,["onClick"]),V(w),ie("span",null," Edit Screen: "+ae(h.target)+" "+ae(h.screen),1),V(w)]),_:1}),V(o,{style:{"max-height":"90vh"}},{default:j(()=>[V(l,{ref:"screenEditor",modelValue:M.editorContent,"onUpdate:modelValue":u[0]||(u[0]=e=>M.editorContent=e),keywords:h.keywords,filename:`${h.screen.toLowerCase()}.txt`,height:"45vh"},null,8,["modelValue","keywords","filename"]),V(n,{class:"ma-3",style:{"max-height":"120px","overflow-y":"auto"}},{default:j(()=>[(X(!0),ce(ye,null,be(C.editErrors,(e,t)=>(X(),ce("div",{key:t},[ie("span",{class:"text-red",textContent:ae(e)},null,8,on)]))),128))]),_:1}),V(n,{class:"mt-3"},{default:j(()=>[V(w),V(m,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:u[1]||(u[1]=e=>c.$emit("cancel"))},{default:j(()=>[...u[5]||(u[5]=[re(" Cancel ",-1)])]),_:1}),V(m,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:u[2]||(u[2]=e=>c.$emit("save",M.editorContent))},{default:j(()=>[...u[6]||(u[6]=[re(" Save ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const an=we(rn,[["render",sn]]),ht=20,ln={components:{EditScreenDialog:an},mixins:[Dt],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},playbackMode:{type:String,default:"realtime"},playbackDateTime:{type:Date,default:null},frozen:{type:Boolean,default:!1},frozenValues:{type:Object,default:null}},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,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:[],actualScreenItems:[],screenValues:{},updateCounter:0,updater:null,screenId:Ft.uniqueId("openc3-screen_"),tlmAvailableTimeout:null}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let c=new Set,u="";for(const h of this.errors){if(c.has(h.message))continue;let g=`${h.time}: (${h.type}) ${h.message}
|
|
3
|
-
`;u+=g,c.add(h.message)}return u}return null},computedStyle(){let c={};const u=this.width||this.$refs.bar?.clientWidth;return this.floated&&(c.position="absolute",c.top=this.top+"px",c.left=this.left+"px",c.width=u+"px"),c}},watch:{count:{handler(c,u){this.currentDefinition=this.definition,this.rerender()}},playbackDateTime:{handler(c,u){this.playbackMode==="playback"&&c&&this.update()}},playbackMode:{handler(c,u){c==="realtime"?this.updateRefreshInterval():(clearInterval(this.updater),this.updater=null)}},frozen:{handler(c){c?this.updater&&(clearInterval(this.updater),this.updater=null):this.playbackMode==="realtime"&&this.updateRefreshInterval()}},frozenValues:{immediate:!0,handler(c){c&&this.frozen&&Object.assign(this.screenValues,c)}}},errorCaptured(c,u,h){return this.errors.length<ht&&(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()})),!1},created(){this.api=new Be,this.configParser=new Nt,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.playbackMode==="realtime"&&!this.frozen&&this.updateRefreshInterval(),this.frozen&&this.frozenValues&&this.$nextTick(()=>{Object.assign(this.screenValues,this.frozenValues)}),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),this.tlmAvailableTimeout!=null&&(clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=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=[]},updateRefreshInterval:function(){if(this.updater&&(clearInterval(this.updater),this.updater=null),this.pollingPeriod===0)return;let c=this.pollingPeriod*1e3;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,h,g)=>{if(c)switch(c){case"SCREEN":{if(this.configParser.verify_num_parameters(3,4,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`),u[0].toUpperCase()==="AUTO")this.width=null;else if(Number.isFinite(Number.parseInt(u[0])))this.width=Number.parseInt(u[0]);else throw new _e(this.configParser,`SCREEN width must be a number or AUTO, got '${u[0]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);if(u[1].toUpperCase()==="AUTO")this.height=null;else if(Number.isFinite(Number.parseInt(u[1])))this.height=Number.parseInt(u[1]);else throw new _e(this.configParser,`SCREEN height must be a number or AUTO, got '${u[1]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);const M=Number.parseFloat(u[2]);if(Number.isNaN(M)||M<0||M>0&&M<.1)throw new _e(this.configParser,`SCREEN polling period must be a number 0 or >= 0.1, got '${u[2]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);this.pollingPeriod=M;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":if(this.configParser.verify_num_parameters(1,1,`${c} <Time (s)>`),this.staleTime=Number.parseInt(u[0]),Number.isNaN(this.staleTime))throw new _e(this.configParser,`SCREEN stale time must be a number, got '${u[0]}'`,`${c} <Time (s)>`);break;case"SUBSETTING":this.configParser.verify_num_parameters(3,null,`${c} <Index> <Widget Type> <Widget Settings...>`),u[1]==="RAW"&&(u[1]="RAW__"+u[2].toLowerCase());case"SETTING":{this.configParser.verify_num_parameters(2,null,`${c} <Widget Type> <Widget Settings...>`),u[0]==="RAW"&&(u[0]="RAW__"+u[1].toLowerCase()),(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(u);break}case"TOOLTIP":{this.configParser.verify_num_parameters(1,2,`${c} <Tooltip Text> <Delay (ms)>`);let M=600;if(u[1]!==void 0&&(M=Number.parseInt(u[1]),Number.isNaN(M)))throw new _e(this.configParser,`SCREEN tooltip delay must be a number, got '${u[1]}'`,`${c} <Tooltip Text> <Delay (ms)>`);(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(["TOOLTIP",u[0],M]);break}case"GLOBAL_SUBSETTING":this.configParser.verify_num_parameters(3,null,`${c} <Index> <Widget Type> <Widget Settings...>`),u[2]==="RAW"&&(u[2]="RAW__"+u[3].toLowerCase());case"GLOBAL_SETTING":this.configParser.verify_num_parameters(2,null,`${c} <Widget Type> <Widget Settings...>`),u[1]==="RAW"&&(u[1]="RAW__"+u[2].toLowerCase()),this.globalSettings.push(u);break;default:this.processWidget(c,u,h,g);break}}),typeof this.layoutStack[0]>"u"){let c=[],u=[];for(const h of this.dynamicWidgets)c.push(h.name),u.push(h.lineNumber);this.errors.length<ht&&this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${c.join(",")}?`,lineNumber:u.join(","),time:new Date().getTime()}),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;const u=c.target;if(!u.closest(".v-toolbar"))return;const h=["INPUT","TEXTAREA","BUTTON","SELECT"],g=["button",".v-btn","input","textarea",".v-text-field",".v-select",".v-combobox",".v-autocomplete"];h.includes(u.tagName)||g.some(M=>u.closest(M))||(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,h=this.dragY-c.clientY;this.dragX=c.clientX,this.dragY=c.clientY,this.top=this.$refs.bar.offsetTop-h,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(){ke.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,ke.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,h,g){let M=null;c==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${c} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),M=u[0].toUpperCase(),c=u[1].toUpperCase(),u=u.slice(2,u.length));const C=c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()+"Widget";let m=[];if(m.push(["__SCREEN_ID__",this.screenId]),M!==null&&m.push(["NAMED_WIDGET",M]),c==="VERTICAL"||c==="VERTICALBOX"||c==="HORIZONTAL"||c==="HORIZONTALBOX"||c==="MATRIXBYCOLUMNS"||c==="TABBOOK"||c==="TABITEM"||c==="CANVAS"||c==="RADIOGROUP"||c==="SCROLLWINDOW"){const w={type:C,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(w),this.currentLayout.widgets.push(w),this.currentLayout=w}else if(this.$options.components[C])this.currentLayout.widgets.push({type:C,target:this.target,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:h,lineNumber:g});else{let w={type:"DynamicWidget",target:this.target,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:C,line:h,lineNumber:g};this.currentLayout.widgets.push(w),this.dynamicWidgets.push(w)}},applyGlobalSettings:function(c){c.forEach(u=>{this.globalSettings.forEach(h=>{u.type.toLowerCase()===h[0].toLowerCase()+"widget"&&(u.settings.find(g=>g[0]===h[1])||u.settings.push(h.slice(1)))}),u.widgets&&this.applyGlobalSettings(u.widgets)})},update:function(){if(this.frozen)return;let c=this.playbackMode==="playback"?this.playbackDateTime:null;this.actualScreenItems.length!==0&&this.api.get_tlm_values(this.actualScreenItems,this.staleTime,this.cacheTimeout,c).then(u=>{u&&u.length>0&&(this.updateValues(u),this.errors=this.errors.filter(h=>h.type!=="error"||!h.message.includes("Request error")))}).catch(u=>{let h=JSON.stringify(u,null,2);this.errors.find(g=>g.message===h)||this.errors.length<ht&&this.errors.push({type:"error",message:h,time:new Date().getTime()})})},updateValues:function(c){if(this.updateCounter+=1,c.length!=this.screenItems.length||c.length!=this.actualScreenItems.length)console.log(`get_tlm_values mismatch: data.length: ${c.length}, screenItems.length: ${this.screenItems.length}, actualScreenItems.length: ${this.actualScreenItems.length}`,JSON.stringify(c),JSON.stringify(this.screenItems),JSON.stringify(this.actualScreenItems));else for(let u=0;u<c.length;u++)c[u].push(this.updateCounter),this.screenValues[this.screenItems[u]]=c[u]},debouncedUpdateTlmAvailable:function(){this.frozen||(this.tlmAvailableTimeout!=null&&clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=setTimeout(()=>{this.api.get_tlm_available(this.screenItems).then(c=>{if(this.actualScreenItems=c,this.screenItems.length!=c.length)console.log("Error getting tlm available",this.screenItems,this.actualScreenItems);else for(let u=0;u<this.actualScreenItems.length;u++)if(this.actualScreenItems[u]===null){const h=this.screenItems[u].split("__"),g=this.currentDefinition.split(`
|
|
4
|
-
`),M=g.findIndex(C=>C.includes(h[0])&&C.includes(h[1])&&C.includes(h[2]))+1;M>0?this.errors.push({type:"usage",message:`Null for ${h.join(" ")}! Does it exist?`,line:g[M-1],lineNumber:M,time:new Date().getTime()}):this.errors.push({type:"error",message:`Null for ${h.join(" ")}! Does it exist?`,time:new Date().getTime()})}}).catch(c=>{console.log("Error getting tlm available",c),this.actualScreenItems=this.screenItems}),this.tlmAvailableTimeout=null},100))},addItem:function(c){this.screenItems.push(c),this.frozen&&this.frozenValues&&this.frozenValues[c]?this.screenValues[c]=this.frozenValues[c]:this.screenValues[c]=[null,null,0],this.debouncedUpdateTlmAvailable()},deleteItem:function(c){let u=this.screenItems.indexOf(c);this.screenItems.splice(u,1),this.debouncedUpdateTlmAvailable()},getScreenValues:function(){return JSON.parse(JSON.stringify(this.screenValues))}}},cn={ref:"screen",class:"pa-1",style:{position:"relative"}},hn={key:1,class:"pa-1",style:{position:"relative"}};function un(c,u,h,g,M,C){const m=Z("v-btn"),w=Z("v-tooltip"),s=Z("v-spacer"),l=Z("v-toolbar"),n=Z("v-overlay"),o=Z("vertical-widget"),r=Z("v-expand-transition"),i=Z("v-card"),e=Z("edit-screen-dialog"),t=Z("v-textarea"),a=Z("v-card-actions"),d=Z("v-dialog");return X(),ce("div",{ref:"bar",style:Te(C.computedStyle)},[h.inline?ue("",!0):(X(),te(i,{key:0,"min-height":M.height,"min-width":M.width,style:{cursor:"default"}},{default:j(()=>[V(l,{height:"24",class:at({"floated-toolbar":M.floated})},{default:j(()=>[Pe(V(m,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[0]||(u[0]=()=>{M.errorDialog=!0})},null,512),[[ze,M.errors.length!==0]]),V(m,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:C.openEdit},null,8,["onClick"]),h.fixFloated?ue("",!0):(X(),te(w,{key:0,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:M.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":M.floated?"Unfloat Screen":"Float Screen",onClick:C.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:j(()=>[ie("span",null,ae(M.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),M.floated?(X(),te(w,{key:1,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:C.upScreen},null,8,["onClick"])],16)]),default:j(()=>[u[6]||(u[6]=ie("span",null," Move Screen Up ",-1))]),_:1})):ue("",!0),M.floated&&M.zIndex>h.minZ?(X(),te(w,{key:2,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:C.downScreen},null,8,["onClick"])],16)]),default:j(()=>[u[7]||(u[7]=ie("span",null," Move Screen Down ",-1))]),_:1})):ue("",!0),V(s),ie("span",null,ae(h.target)+" "+ae(h.screen),1),V(s),M.expand?(X(),te(m,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:C.minMaxTransition},null,8,["onClick"])):(X(),te(m,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:C.minMaxTransition},null,8,["onClick"])),h.showClose?(X(),te(m,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:u[1]||(u[1]=f=>c.$emit("close-screen"))})):ue("",!0)]),_:1},8,["class"]),M.editDialog?ue("",!0):(X(),te(r,{key:0},{default:j(()=>[Pe(ie("div",cn,[V(n,{style:{"pointer-events":"none"},"model-value":M.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),(X(),te(o,{key:M.screenKey,widgets:M.layoutStack[0].widgets,"screen-values":M.screenValues,"screen-time-zone":h.timeZone,onAddItem:C.addItem,onDeleteItem:C.deleteItem,onOpen:C.open,onClose:C.close,onCloseAll:C.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[ze,M.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),h.inline?(X(),ce("div",hn,[V(n,{style:{"pointer-events":"none"},"model-value":M.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),Pe(V(m,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[2]||(u[2]=()=>{M.errorDialog=!0})},null,512),[[ze,M.errors.length!==0]]),(X(),te(o,{key:M.screenKey,widgets:M.layoutStack[0].widgets,"screen-values":M.screenValues,"screen-time-zone":h.timeZone,onAddItem:C.addItem,onDeleteItem:C.deleteItem,onOpen:C.open,onClose:C.close,onCloseAll:C.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):ue("",!0),M.editDialog?(X(),te(e,{key:2,modelValue:M.editDialog,"onUpdate:modelValue":u[3]||(u[3]=f=>M.editDialog=f),target:h.target,screen:h.screen,definition:M.currentDefinition,keywords:h.keywords,errors:M.errors,onSave:C.saveEdit,onCancel:C.cancelEdit,onDelete:C.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):ue("",!0),V(d,{modelValue:M.errorDialog,"onUpdate:modelValue":u[5]||(u[5]=f=>M.errorDialog=f),width:"60vw"},{default:j(()=>[V(l,{height:"24"},{default:j(()=>[V(s),ie("span",null," Screen: "+ae(h.target)+" "+ae(h.screen)+" Errors ",1),V(s)]),_:1}),V(i,null,{default:j(()=>[V(t,{class:"errors",readonly:"",rows:"13","model-value":C.error},null,8,["model-value"]),V(a,{class:"pb-5"},{default:j(()=>[V(s),V(m,{variant:"outlined",class:"mr-2",onClick:C.clearErrors},{default:j(()=>[...u[8]||(u[8]=[re(" Clear Errors ",-1)])]),_:1},8,["onClick"]),V(m,{variant:"flat",class:"mr-2",onClick:u[4]||(u[4]=f=>M.errorDialog=!1)},{default:j(()=>[...u[9]||(u[9]=[re(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],4)}const dn=we(ln,[["render",un],["__scopeId","data-v-74b070ee"]]),ut={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 h=c.charAt(c.length-1);return u!==h?c:c.slice(1,-1)},convertToString(c){let u="";if(Object.prototype.toString.call(c).slice(8,-1)==="Array"){let h=c.length;u="[ ";for(let g=0;g<h;g++)Object.prototype.toString.call(c[g]).slice(8,-1)==="String"?u+='"'+c[g]+'"':u+=c[g],g!==h-1&&(u+=", ");u+=" ]"}else if(Object.prototype.toString.call(c).slice(8,-1)==="Object")if(c.json_class==="String"&&c.raw){u="0x";for(let h of c.raw)u+=h.toString(16).padStart(2,"0").toUpperCase()}else c.json_class==="Float"&&c.raw?u=c.raw:u=JSON.stringify(c).replace(/\\n/g,"");else u=String(c);return u}}},fn={name:"CommandParameterEditor",mixins:[ut],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},allowManualEntry:{type:Boolean,default:!1}},emits:["update:modelValue","hazardous-change"],data(){return{manuallyEntered:!1}},computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.manuallyEntered?"__manual__":this.modelValue===""?null:this.modelValue},stateOptions(){if(!this.states)return null;const c=Object.keys(this.states).map(u=>({label:u,...this.states[u]}));return this.allowManualEntry&&c.push({label:"MANUALLY_ENTERED",value:"__manual__"}),c},hazardous(){return this.states?Object.entries(this.states).find(([c,u])=>u.value===this.modelValue)?.at(1)?.hazardous!==void 0:!1},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},watch:{hazardous:{immediate:!0,handler(c){this.$emit("hazardous-change",c)}},allowManualEntry(c){c||(this.manuallyEntered=!1)}},methods:{handleChange(c){this.$emit("update:modelValue",c)},handleStateSelect(c){c==="__manual__"?(this.manuallyEntered=!0,this.$emit("update:modelValue","")):(this.manuallyEntered=!1,this.$emit("update:modelValue",c))}}},gn={key:1,class:"d-flex align-center"};function pn(c,u,h,g,M,C){const m=Z("v-text-field"),w=Z("v-select"),s=Z("v-icon"),l=Z("v-tooltip");return X(),ce("div",null,[h.states?(X(),ce("div",gn,[V(w,{items:C.stateOptions,"model-value":C.selectValue,disabled:h.disabled,"item-title":"label",class:at(C.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select","onUpdate:modelValue":C.handleStateSelect},null,8,["items","model-value","disabled","class","onUpdate:modelValue"]),M.manuallyEntered?(X(),te(m,{key:0,"model-value":C.textFieldValue,"hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value","onUpdate:modelValue":C.handleChange},null,8,["model-value","onUpdate:modelValue"])):ue("",!0),M.manuallyEntered?(X(),te(l,{key:1,location:"top"},{activator:j(({props:n})=>[V(s,Ee(n,{class:"ml-1"}),{default:j(()=>[...u[0]||(u[0]=[re("mdi-information-outline",-1)])]),_:1},16)]),default:j(()=>[u[1]||(u[1]=ie("span",null,[re("Enter a raw value (e.g. numeric) for this parameter."),ie("br"),re("State names are not accepted here.")],-1))]),_:1})):(X(),te(m,{key:2,"model-value":C.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"]))])):(X(),te(m,{key:0,"model-value":C.textFieldValue,disabled:h.disabled,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value","onUpdate:modelValue":C.handleChange},null,8,["model-value","disabled","onUpdate:modelValue"]))])}const mn=we(fn,[["render",pn],["__scopeId","data-v-3e73bafa"]]),vn={name:"CommandEditor",components:{TargetPacketItemChooser:Ht,CommandParameterEditor:mn,DetailsDialog:Ut},mixins:[ut],props:{initialTargetName:{type:String,default:null},initialPacketName:{type:String,default:null},cmdString:{type:String,default:null},sendDisabled:{type:Boolean,default:!1},statesInHex:{type:Boolean,default:!1},showIgnoredParams:{type:Boolean,default:!1},cmdRaw:{type:Boolean,default:!1},showCommandButton:{type:Boolean,default:!0},showQueueSelect:{type:Boolean,default:!0},ignoreRangeChecks:{type:Boolean,default:!1}},emits:["command-changed","build-cmd","command-loaded"],data(){return{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"}],api:null,targetName:"",commandName:"",commandDescription:"",ignoredParams:[],computedRows:[],reservedItemNames:["PACKET_TIMESECONDS","PACKET_TIMEFORMATTED","RECEIVED_TIMESECONDS","RECEIVED_TIMEFORMATTED","RECEIVED_COUNT"],contextMenuShown:!1,viewDetails:!1,parameterName:"",hazardousParameters:{},x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}]}},computed:{hasHazardousParameter(){return Object.values(this.hazardousParameters).some(c=>c===!0)}},created(){this.api=new Be,this.cmdString?this.processCmdString():(this.targetName=this.initialTargetName,this.commandName=this.initialPacketName,this.updateCmdParams())},methods:{onParameterHazardousChange(c,u){this.hazardousParameters[c.parameter_name]=u},commandChanged(c){(this.targetName!==c.targetName||this.commandName!==c.packetName)&&(this.targetName=c.targetName,this.commandName=c.packetName,this.updateCmdParams()),this.$emit("command-changed",c)},buildCmd(c){this.$emit("build-cmd",c)},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})},updateCmdParams(){this.ignoredParams=[],this.computedRows=[],this.hazardousParameters={},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=>{console.error("Error getting ignored parameters:",c)}).then(c=>{if(c){const u=new Set;c.items.forEach(h=>{h.variable_bit_size&&u.add(h.variable_bit_size.length_item_name.toUpperCase())}),c.items.forEach(h=>{if(!this.reservedItemNames.includes(h.name)&&!h.hidden&&(!this.ignoredParams.includes(h.name)||this.showIgnoredParams)){let g=h.default;!h.states&&h.data_type==="STRING"&&typeof h.default=="string"&&(g=`'${g}'`),h.required&&(g=null),h.format_string&&h.default&&(g=sprintf(h.format_string,h.default)),Object.prototype.toString.call(g).slice(8,-1)==="Object"&&(g=this.convertToString(g));let M="N/A";h.minimum!=null&&h.maximum!=null&&(h.data_type==="FLOAT"&&(h.minimum<-1e6&&(h.minimum=h.minimum.toExponential(3)),h.maximum>1e6&&(h.maximum=h.maximum.toExponential(3))),M=`${h.minimum}..${h.maximum}`);const C=u.has(h.name.toUpperCase());this.computedRows.push({parameter_name:h.name,val:g,states:h.states,description:h.description,range:M,units:h.units,type:h.data_type,disabled:C})}}),this.commandDescription=c.description,this.populateParametersFromParsed(),this.$emit("command-loaded",c)}else this.$emit("command-loaded",null)},c=>{console.error("Error getting command parameters:",c),this.$emit("command-loaded",null)}):this.$emit("command-loaded",null)},triggerUpdateCmdParams(){this.updateCmdParams()},getRows(){return this.computedRows},getCmdString(){let c=`${this.targetName} ${this.commandName}`;if(this.computedRows.length===0)return c;c+=" with";for(const u of this.computedRows){if(u.val===null)throw new Error(`Required parameter ${u.parameter_name} not set`);if(u.val!==null&&u.val!==void 0&&u.val!==""){if(u.states){const g=Object.entries(u.states).find(([,M])=>M.value===u.val);if(g){c+=` ${u.parameter_name} '${g[0]}',`;continue}}let h=this.convertToString(u.val);h.includes(" ")&&!this.isArray(h)?c+=` ${u.parameter_name} '${h}',`:c+=` ${u.parameter_name} ${h},`}}return c.slice(0,-1)},parseCmdString(c){const u=c.split(" ");if(u.length<2)return{target:"",command:"",params:{}};if(u.length===2)return{target:u[0],command:u[1],params:{}};if(u[2]!=="with")return{target:"",command:"",params:{}};const h=u[0],g=u[1];let M={};const C=c.split(" with ")[1];let m=[],w=0,s="";for(let l of C)l==="["?(w++,s+=l):l==="]"?(w--,s+=l):l===","&&w===0?(m.push(s.trim()),s=""):s+=l;s.trim()!==""&&m.push(s.trim());for(let l of m){let n=l.indexOf(" ");if(n>0){let o=l.substring(0,n).trim(),r=l.substring(n+1).trim();M[o]=r}}return{target:h,command:g,params:M}},processCmdString(){const c=this.parseCmdString(this.cmdString);c.target&&c.command&&(this.targetName=c.target,this.commandName=c.command,this.parsedParameters=c.params,this.updateCmdParams())},populateParametersFromParsed(){!this.parsedParameters||Object.keys(this.parsedParameters).length===0||this.$nextTick(()=>{setTimeout(()=>{this.computedRows.forEach(c=>{if(this.parsedParameters.hasOwnProperty(c.parameter_name)){const u=this.parsedParameters[c.parameter_name];if(c.states&&typeof u=="string"){const h=Object.keys(c.states).find(g=>g===u||g.toLowerCase()===u.toLowerCase());h?c.val=c.states[h].value:c.val=u}else c.type==="STRING"&&typeof u=="string"?c.val=u.startsWith("'")||u.startsWith('"')?u:`'${u}'`:c.val=u}})},100)})}}},yn={style:{padding:"10px"}};function wn(c,u,h,g,M,C){const m=Z("target-packet-item-chooser"),w=Z("v-spacer"),s=Z("v-text-field"),l=Z("v-card-title"),n=Z("command-parameter-editor"),o=Z("v-data-table"),r=Z("v-card"),i=Z("v-list-item-title"),e=Z("v-list-item"),t=Z("v-list"),a=Z("v-menu"),d=Z("details-dialog");return X(),te(r,null,{default:j(()=>[ie("div",yn,[V(m,{ref:"targetPacketChooser","initial-target-name":M.targetName,"initial-packet-name":M.commandName,disabled:h.sendDisabled,"button-text":h.showCommandButton?"Send":null,"show-queue-select":h.showQueueSelect,"parameter-hazardous":C.hasHazardousParameter,mode:"cmd",onOnSet:u[0]||(u[0]=f=>C.commandChanged(f)),onAddItem:u[1]||(u[1]=f=>C.buildCmd(f))},null,8,["initial-target-name","initial-packet-name","disabled","button-text","show-queue-select","parameter-hazardous"])]),M.computedRows.length!==0?(X(),te(r,{key:0},{default:j(()=>[V(l,{class:"d-flex align-center justify-content-space-between"},{default:j(()=>[u[5]||(u[5]=re(" Parameters ",-1)),V(w),V(s,{modelValue:M.search,"onUpdate:modelValue":u[2]||(u[2]=f=>M.search=f),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),V(o,{headers:M.headers,items:M.computedRows,search:M.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact",class:"parameters-table","onContextmenu:row":C.showContextMenu},{"item.val":j(({item:f})=>[zt(c.$slots,"parameter-editor",{item:f,statesInHex:h.statesInHex},()=>[V(n,{modelValue:f.val,"onUpdate:modelValue":$=>f.val=$,states:f.states,"states-in-hex":h.statesInHex,disabled:f.disabled,"allow-manual-entry":h.ignoreRangeChecks,onHazardousChange:$=>C.onParameterHazardousChange(f,$)},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex","disabled","allow-manual-entry","onHazardousChange"])],!0)]),_:3},8,["headers","items","search","onContextmenu:row"])]),_:3})):ue("",!0),V(a,{modelValue:M.contextMenuShown,"onUpdate:modelValue":u[3]||(u[3]=f=>M.contextMenuShown=f),target:[M.x,M.y]},{default:j(()=>[V(t,null,{default:j(()=>[(X(!0),ce(ye,null,be(M.contextMenuOptions,(f,$)=>(X(),te(e,{key:$,onClick:lt(f.action,["stop"])},{default:j(()=>[V(i,null,{default:j(()=>[re(ae(f.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),V(d,{modelValue:M.viewDetails,"onUpdate:modelValue":u[4]||(u[4]=f=>M.viewDetails=f),"target-name":M.targetName,"packet-name":M.commandName,"item-name":M.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"])]),_:3})}const bn=we(vn,[["render",wn],["__scopeId","data-v-f2e73c29"]]);var dt={exports:{}},Kt;function Cn(){return Kt||(Kt=1,(function(c,u){(function(){var h="ace",g=(function(){return this})();!g&&typeof window<"u"&&(g=window);var M=function(n,o,r){if(typeof n!="string"){M.original?M.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=o),M.modules[n]||(M.payloads[n]=r,M.modules[n]=null)};M.modules={},M.payloads={};var C=function(n,o,r){if(typeof o=="string"){var i=s(n,o);if(i!=null)return r&&r(),i}else if(Object.prototype.toString.call(o)==="[object Array]"){for(var e=[],t=0,a=o.length;t<a;++t){var d=s(n,o[t]);if(d==null&&m.original)return;e.push(d)}return r&&r.apply(null,e)||!0}},m=function(n,o){var r=C("",n,o);return r==null&&m.original?m.original.apply(this,arguments):r},w=function(n,o){if(o.indexOf("!")!==-1){var r=o.split("!");return w(n,r[0])+"!"+w(n,r[1])}if(o.charAt(0)=="."){var i=n.split("/").slice(0,-1).join("/");for(o=i+"/"+o;o.indexOf(".")!==-1&&e!=o;){var e=o;o=o.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},s=function(n,o){o=w(n,o);var r=M.modules[o];if(!r){if(r=M.payloads[o],typeof r=="function"){var i={},e={id:o,uri:"",exports:i,packaged:!0},t=function(d,f){return C(o,d,f)},a=r(t,i,e);i=a||e.exports,M.modules[o]=i,delete M.payloads[o]}r=M.modules[o]=i||r}return r};function l(n){var o=g;g[n]||(g[n]={}),o=g[n],(!o.define||!o.define.packaged)&&(M.original=o.define,o.define=M,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(m.original=o.require,o.require=m,o.require.packaged=!0)}l(h)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(h,g,M){function C(m,w,s){Object.defineProperty(m,w,{value:s,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||C(String.prototype,"startsWith",function(m,w){return w=w||0,this.lastIndexOf(m,w)===w}),String.prototype.endsWith||C(String.prototype,"endsWith",function(m,w){var s=this;(w===void 0||w>s.length)&&(w=s.length),w-=m.length;var l=s.indexOf(m,w);return l!==-1&&l===w}),String.prototype.repeat||C(String.prototype,"repeat",function(m){for(var w="",s=this;m>0;)m&1&&(w+=s),(m>>=1)&&(s+=s);return w}),String.prototype.includes||C(String.prototype,"includes",function(m,w){return this.indexOf(m,w)!=-1}),Object.assign||(Object.assign=function(m){if(m==null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(m),s=1;s<arguments.length;s++){var l=arguments[s];l!=null&&Object.keys(l).forEach(function(n){w[n]=l[n]})}return w}),Object.values||(Object.values=function(m){return Object.keys(m).map(function(w){return m[w]})}),Array.prototype.find||C(Array.prototype,"find",function(m){for(var w=this.length,s=arguments[1],l=0;l<w;l++){var n=this[l];if(m.call(s,n,l,this))return n}}),Array.prototype.findIndex||C(Array.prototype,"findIndex",function(m){for(var w=this.length,s=arguments[1],l=0;l<w;l++){var n=this[l];if(m.call(s,n,l,this))return l}}),Array.prototype.includes||C(Array.prototype,"includes",function(m,w){return this.indexOf(m,w)!=-1}),Array.prototype.fill||C(Array.prototype,"fill",function(m){for(var w=this,s=w.length>>>0,l=arguments[1],n=l>>0,o=n<0?Math.max(s+n,0):Math.min(n,s),r=arguments[2],i=r===void 0?s:r>>0,e=i<0?Math.max(s+i,0):Math.min(i,s);o<e;)w[o]=m,o++;return w}),Array.of||C(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(h,g,M){h("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(h,g,M){g.deepCopy=function C(m){if(typeof m!="object"||!m)return m;var w;if(Array.isArray(m)){w=[];for(var s=0;s<m.length;s++)w[s]=C(m[s]);return w}if(Object.prototype.toString.call(m)!=="[object Object]")return m;w={};for(var s in m)w[s]=C(m[s]);return w}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(h,g,M){g.last=function(w){return w[w.length-1]},g.stringReverse=function(w){return w.split("").reverse().join("")},g.stringRepeat=function(w,s){for(var l="";s>0;)s&1&&(l+=w),(s>>=1)&&(w+=w);return l};var C=/^\s\s*/,m=/\s\s*$/;g.stringTrimLeft=function(w){return w.replace(C,"")},g.stringTrimRight=function(w){return w.replace(m,"")},g.copyObject=function(w){var s={};for(var l in w)s[l]=w[l];return s},g.copyArray=function(w){for(var s=[],l=0,n=w.length;l<n;l++)w[l]&&typeof w[l]=="object"?s[l]=this.copyObject(w[l]):s[l]=w[l];return s},g.deepCopy=h("./deep_copy").deepCopy,g.arrayToMap=function(w){for(var s={},l=0;l<w.length;l++)s[w[l]]=1;return s},g.createMap=function(w){var s=Object.create(null);for(var l in w)s[l]=w[l];return s},g.arrayRemove=function(w,s){for(var l=0;l<=w.length;l++)s===w[l]&&w.splice(l,1)},g.escapeRegExp=function(w){return w.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},g.escapeHTML=function(w){return(""+w).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},g.getMatchOffsets=function(w,s){var l=[];return w.replace(s,function(n){l.push({offset:arguments[arguments.length-2],length:n.length})}),l},g.deferredCall=function(w){var s=null,l=function(){s=null,w()},n=function(o){return n.cancel(),s=setTimeout(l,o||0),n};return n.schedule=n,n.call=function(){return this.cancel(),w(),n},n.cancel=function(){return clearTimeout(s),s=null,n},n.isPending=function(){return s},n},g.delayedCall=function(w,s){var l=null,n=function(){l=null,w()},o=function(r){l==null&&(l=setTimeout(n,r||s))};return o.delay=function(r){l&&clearTimeout(l),l=setTimeout(n,r||s)},o.schedule=o,o.call=function(){this.cancel(),w()},o.cancel=function(){l&&clearTimeout(l),l=null},o.isPending=function(){return l},o},g.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},g.skipEmptyMatch=function(w,s,l){return l&&w.codePointAt(s)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(h,g,M){g.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},g.getOS=function(){return g.isMac?g.OS.MAC:g.isLinux?g.OS.LINUX:g.OS.WINDOWS};var C=typeof navigator=="object"?navigator:{},m=(/mac|win|linux/i.exec(C.platform)||["other"])[0].toLowerCase(),w=C.userAgent||"",s=C.appName||"";g.isWin=m=="win",g.isMac=m=="mac",g.isLinux=m=="linux",g.isIE=s=="Microsoft Internet Explorer"||s.indexOf("MSAppHost")>=0?parseFloat((w.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((w.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),g.isOldIE=g.isIE&&g.isIE<9,g.isGecko=g.isMozilla=w.match(/ Gecko\/\d+/),g.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",g.isWebKit=parseFloat(w.split("WebKit/")[1])||void 0,g.isChrome=parseFloat(w.split(" Chrome/")[1])||void 0,g.isSafari=parseFloat(w.split(" Safari/")[1])&&!g.isChrome||void 0,g.isEdge=parseFloat(w.split(" Edge/")[1])||void 0,g.isAIR=w.indexOf("AdobeAIR")>=0,g.isAndroid=w.indexOf("Android")>=0,g.isChromeOS=w.indexOf(" CrOS ")>=0,g.isIOS=/iPad|iPhone|iPod/.test(w)&&!window.MSStream,g.isIOS&&(g.isMac=!0),g.isMobile=g.isIOS||g.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(h,g,M){var C=h("./useragent"),m="http://www.w3.org/1999/xhtml";g.buildDom=function r(i,e,t){if(typeof i=="string"&&i){var a=document.createTextNode(i);return e&&e.appendChild(a),a}if(!Array.isArray(i))return i&&i.appendChild&&e&&e.appendChild(i),i;if(typeof i[0]!="string"||!i[0]){for(var d=[],f=0;f<i.length;f++){var $=r(i[f],e,t);$&&d.push($)}return d}var _=document.createElement(i[0]),b=i[1],v=1;b&&typeof b=="object"&&!Array.isArray(b)&&(v=2);for(var f=v;f<i.length;f++)r(i[f],_,t);return v==2&&Object.keys(b).forEach(function(T){var R=b[T];T==="class"?_.className=Array.isArray(R)?R.join(" "):R:typeof R=="function"||T=="value"||T[0]=="$"?_[T]=R:T==="ref"?t&&(t[R]=_):T==="style"?typeof R=="string"&&(_.style.cssText=R):R!=null&&_.setAttribute(T,R)}),e&&e.appendChild(_),_},g.getDocumentHead=function(r){return r||(r=document),r.head||r.getElementsByTagName("head")[0]||r.documentElement},g.createElement=function(r,i){return document.createElementNS?document.createElementNS(i||m,r):document.createElement(r)},g.removeChildren=function(r){r.innerHTML=""},g.createTextNode=function(r,i){var e=i?i.ownerDocument:document;return e.createTextNode(r)},g.createFragment=function(r){var i=r?r.ownerDocument:document;return i.createDocumentFragment()},g.hasCssClass=function(r,i){var e=(r.className+"").split(/\s+/g);return e.indexOf(i)!==-1},g.addCssClass=function(r,i){g.hasCssClass(r,i)||(r.className+=" "+i)},g.removeCssClass=function(r,i){for(var e=r.className.split(/\s+/g);;){var t=e.indexOf(i);if(t==-1)break;e.splice(t,1)}r.className=e.join(" ")},g.toggleCssClass=function(r,i){for(var e=r.className.split(/\s+/g),t=!0;;){var a=e.indexOf(i);if(a==-1)break;t=!1,e.splice(a,1)}return t&&e.push(i),r.className=e.join(" "),t},g.setCssClass=function(r,i,e){e?g.addCssClass(r,i):g.removeCssClass(r,i)},g.hasCssString=function(r,i){var e=0,t;if(i=i||document,t=i.querySelectorAll("style")){for(;e<t.length;)if(t[e++].id===r)return!0}},g.removeElementById=function(r,i){i=i||document,i.getElementById(r)&&i.getElementById(r).remove()};var w,s=[];g.useStrictCSP=function(r){w=r,r==!1?l():s||(s=[])};function l(){var r=s;s=null,r&&r.forEach(function(i){n(i[0],i[1])})}function n(r,i,e){if(!(typeof document>"u")){if(s){if(e)l();else if(e===!1)return s.push([r,i])}if(!w){var t=e;!e||!e.getRootNode?t=document:(t=e.getRootNode(),(!t||t==e)&&(t=document));var a=t.ownerDocument||t;if(i&&g.hasCssString(i,t))return null;i&&(r+=`
|
|
3
|
+
`;u+=g,c.add(h.message)}return u}return null},computedStyle(){let c={};const u=this.width||this.$refs.bar?.clientWidth;return this.floated&&(c.position="absolute",c.top=this.top+"px",c.left=this.left+"px",c.width=u+"px"),c}},watch:{count:{handler(c,u){this.currentDefinition=this.definition,this.rerender()}},playbackDateTime:{handler(c,u){this.playbackMode==="playback"&&c&&this.update()}},playbackMode:{handler(c,u){c==="realtime"?this.updateRefreshInterval():(clearInterval(this.updater),this.updater=null)}},frozen:{handler(c){c?this.updater&&(clearInterval(this.updater),this.updater=null):this.playbackMode==="realtime"&&this.updateRefreshInterval()}},frozenValues:{immediate:!0,handler(c){c&&this.frozen&&Object.assign(this.screenValues,c)}}},errorCaptured(c,u,h){return this.errors.length<ht&&(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()})),!1},created(){this.api=new Be,this.configParser=new Nt,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.playbackMode==="realtime"&&!this.frozen&&this.updateRefreshInterval(),this.frozen&&this.frozenValues&&this.$nextTick(()=>{Object.assign(this.screenValues,this.frozenValues)}),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),this.tlmAvailableTimeout!=null&&(clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=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=[]},updateRefreshInterval:function(){if(this.updater&&(clearInterval(this.updater),this.updater=null),this.pollingPeriod===0)return;let c=this.pollingPeriod*1e3;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,h,g)=>{if(c)switch(c){case"SCREEN":{if(this.configParser.verify_num_parameters(3,4,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`),u[0].toUpperCase()==="AUTO")this.width=null;else if(Number.isFinite(Number.parseInt(u[0])))this.width=Number.parseInt(u[0]);else throw new _e(this.configParser,`SCREEN width must be a number or AUTO, got '${u[0]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);if(u[1].toUpperCase()==="AUTO")this.height=null;else if(Number.isFinite(Number.parseInt(u[1])))this.height=Number.parseInt(u[1]);else throw new _e(this.configParser,`SCREEN height must be a number or AUTO, got '${u[1]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);const M=Number.parseFloat(u[2]);if(Number.isNaN(M)||M<0||M>0&&M<.1)throw new _e(this.configParser,`SCREEN polling period must be a number 0 or >= 0.1, got '${u[2]}'`,`${c} <Width or AUTO> <Height or AUTO> <Polling Period>`);this.pollingPeriod=M;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":if(this.configParser.verify_num_parameters(1,1,`${c} <Time (s)>`),this.staleTime=Number.parseInt(u[0]),Number.isNaN(this.staleTime))throw new _e(this.configParser,`SCREEN stale time must be a number, got '${u[0]}'`,`${c} <Time (s)>`);break;case"SUBSETTING":this.configParser.verify_num_parameters(3,null,`${c} <Index> <Widget Type> <Widget Settings...>`),u[1]==="RAW"&&(u[1]="RAW__"+u[2].toLowerCase());case"SETTING":{this.configParser.verify_num_parameters(2,null,`${c} <Widget Type> <Widget Settings...>`),u[0]==="RAW"&&(u[0]="RAW__"+u[1].toLowerCase()),(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(u);break}case"TOOLTIP":{this.configParser.verify_num_parameters(1,2,`${c} <Tooltip Text> <Delay (ms)>`);let M=600;if(u[1]!==void 0&&(M=Number.parseInt(u[1]),Number.isNaN(M)))throw new _e(this.configParser,`SCREEN tooltip delay must be a number, got '${u[1]}'`,`${c} <Tooltip Text> <Delay (ms)>`);(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(["TOOLTIP",u[0],M]);break}case"GLOBAL_SUBSETTING":this.configParser.verify_num_parameters(3,null,`${c} <Index> <Widget Type> <Widget Settings...>`),u[2]==="RAW"&&(u[2]="RAW__"+u[3].toLowerCase());case"GLOBAL_SETTING":this.configParser.verify_num_parameters(2,null,`${c} <Widget Type> <Widget Settings...>`),u[1]==="RAW"&&(u[1]="RAW__"+u[2].toLowerCase()),this.globalSettings.push(u);break;default:this.processWidget(c,u,h,g);break}}),typeof this.layoutStack[0]>"u"){let c=[],u=[];for(const h of this.dynamicWidgets)c.push(h.name),u.push(h.lineNumber);this.errors.length<ht&&this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${c.join(",")}?`,lineNumber:u.join(","),time:new Date().getTime()}),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;const u=c.target;if(!u.closest(".v-toolbar"))return;const h=["INPUT","TEXTAREA","BUTTON","SELECT"],g=["button",".v-btn","input","textarea",".v-text-field",".v-select",".v-combobox",".v-autocomplete"];h.includes(u.tagName)||g.some(M=>u.closest(M))||(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,h=this.dragY-c.clientY;this.dragX=c.clientX,this.dragY=c.clientY,this.top=this.$refs.bar.offsetTop-h,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(){ke.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,ke.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,h,g){let M=null;c==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${c} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),M=u[0].toUpperCase(),c=u[1].toUpperCase(),u=u.slice(2,u.length));const C=c.charAt(0).toUpperCase()+c.slice(1).toLowerCase()+"Widget";let m=[];if(m.push(["__SCREEN_ID__",this.screenId]),M!==null&&m.push(["NAMED_WIDGET",M]),c==="VERTICAL"||c==="VERTICALBOX"||c==="HORIZONTAL"||c==="HORIZONTALBOX"||c==="MATRIXBYCOLUMNS"||c==="TABBOOK"||c==="TABITEM"||c==="CANVAS"||c==="RADIOGROUP"||c==="SCROLLWINDOW"){const w={type:C,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(w),this.currentLayout.widgets.push(w),this.currentLayout=w}else if(this.$options.components[C])this.currentLayout.widgets.push({type:C,target:this.target,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:h,lineNumber:g});else{let w={type:"DynamicWidget",target:this.target,parameters:u,settings:m,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:C,line:h,lineNumber:g};this.currentLayout.widgets.push(w),this.dynamicWidgets.push(w)}},applyGlobalSettings:function(c){c.forEach(u=>{this.globalSettings.forEach(h=>{u.type.toLowerCase()===h[0].toLowerCase()+"widget"&&(u.settings.find(g=>g[0]===h[1])||u.settings.push(h.slice(1)))}),u.widgets&&this.applyGlobalSettings(u.widgets)})},update:function(){if(this.frozen)return;let c=this.playbackMode==="playback"?this.playbackDateTime:null;this.actualScreenItems.length!==0&&this.api.get_tlm_values(this.actualScreenItems,this.staleTime,this.cacheTimeout,c).then(u=>{u&&u.length>0&&(this.updateValues(u),this.errors=this.errors.filter(h=>!h.transient))}).catch(u=>{let h=JSON.stringify(u,null,2);this.errors.find(g=>g.message===h)||this.errors.length<ht&&this.errors.push({type:"error",message:h,time:new Date().getTime(),transient:!0})})},updateValues:function(c){if(this.updateCounter+=1,c.length!=this.screenItems.length||c.length!=this.actualScreenItems.length)console.log(`get_tlm_values mismatch: data.length: ${c.length}, screenItems.length: ${this.screenItems.length}, actualScreenItems.length: ${this.actualScreenItems.length}`,JSON.stringify(c),JSON.stringify(this.screenItems),JSON.stringify(this.actualScreenItems));else for(let u=0;u<c.length;u++)c[u].push(this.updateCounter),this.screenValues[this.screenItems[u]]=c[u]},debouncedUpdateTlmAvailable:function(){this.frozen||(this.tlmAvailableTimeout!=null&&clearTimeout(this.tlmAvailableTimeout),this.tlmAvailableTimeout=setTimeout(()=>{this.api.get_tlm_available(this.screenItems).then(c=>{if(this.actualScreenItems=c,this.screenItems.length!=c.length)console.log("Error getting tlm available",this.screenItems,this.actualScreenItems);else for(let u=0;u<this.actualScreenItems.length;u++)if(this.actualScreenItems[u]===null){const h=this.screenItems[u].split("__"),g=this.currentDefinition.split(`
|
|
4
|
+
`),M=g.findIndex(C=>C.includes(h[0])&&C.includes(h[1])&&C.includes(h[2]))+1;M>0?this.errors.push({type:"usage",message:`Null for ${h.join(" ")}! Does it exist?`,line:g[M-1],lineNumber:M,time:new Date().getTime()}):this.errors.push({type:"error",message:`Null for ${h.join(" ")}! Does it exist?`,time:new Date().getTime()})}}).catch(c=>{console.log("Error getting tlm available",c),this.actualScreenItems=this.screenItems}),this.tlmAvailableTimeout=null},100))},addItem:function(c){this.screenItems.push(c),this.frozen&&this.frozenValues&&this.frozenValues[c]?this.screenValues[c]=this.frozenValues[c]:this.screenValues[c]=[null,null,0],this.debouncedUpdateTlmAvailable()},deleteItem:function(c){let u=this.screenItems.indexOf(c);this.screenItems.splice(u,1),this.debouncedUpdateTlmAvailable()},getScreenValues:function(){return JSON.parse(JSON.stringify(this.screenValues))}}},cn={ref:"screen",class:"pa-1",style:{position:"relative"}},hn={key:1,class:"pa-1",style:{position:"relative"}};function un(c,u,h,g,M,C){const m=Z("v-btn"),w=Z("v-tooltip"),s=Z("v-spacer"),l=Z("v-toolbar"),n=Z("v-overlay"),o=Z("vertical-widget"),r=Z("v-expand-transition"),i=Z("v-card"),e=Z("edit-screen-dialog"),t=Z("v-textarea"),a=Z("v-card-actions"),d=Z("v-dialog");return X(),ce("div",{ref:"bar",style:Te(C.computedStyle)},[h.inline?ue("",!0):(X(),te(i,{key:0,"min-height":M.height,"min-width":M.width,style:{cursor:"default"}},{default:j(()=>[V(l,{height:"24",class:at({"floated-toolbar":M.floated})},{default:j(()=>[Pe(V(m,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[0]||(u[0]=()=>{M.errorDialog=!0})},null,512),[[ze,M.errors.length!==0]]),V(m,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:C.openEdit},null,8,["onClick"]),h.fixFloated?ue("",!0):(X(),te(w,{key:0,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:M.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":M.floated?"Unfloat Screen":"Float Screen",onClick:C.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:j(()=>[ie("span",null,ae(M.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),M.floated?(X(),te(w,{key:1,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:C.upScreen},null,8,["onClick"])],16)]),default:j(()=>[u[6]||(u[6]=ie("span",null," Move Screen Up ",-1))]),_:1})):ue("",!0),M.floated&&M.zIndex>h.minZ?(X(),te(w,{key:2,"open-delay":600,location:"top"},{activator:j(({props:f})=>[ie("div",He(Ue(f)),[V(m,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:C.downScreen},null,8,["onClick"])],16)]),default:j(()=>[u[7]||(u[7]=ie("span",null," Move Screen Down ",-1))]),_:1})):ue("",!0),V(s),ie("span",null,ae(h.target)+" "+ae(h.screen),1),V(s),M.expand?(X(),te(m,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:C.minMaxTransition},null,8,["onClick"])):(X(),te(m,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:C.minMaxTransition},null,8,["onClick"])),h.showClose?(X(),te(m,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:u[1]||(u[1]=f=>c.$emit("close-screen"))})):ue("",!0)]),_:1},8,["class"]),M.editDialog?ue("",!0):(X(),te(r,{key:0},{default:j(()=>[Pe(ie("div",cn,[V(n,{style:{"pointer-events":"none"},"model-value":M.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),(X(),te(o,{key:M.screenKey,widgets:M.layoutStack[0].widgets,"screen-values":M.screenValues,"screen-time-zone":h.timeZone,onAddItem:C.addItem,onDeleteItem:C.deleteItem,onOpen:C.open,onClose:C.close,onCloseAll:C.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[ze,M.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),h.inline?(X(),ce("div",hn,[V(n,{style:{"pointer-events":"none"},"model-value":M.errors.length!==0,opacity:"0.8",contained:"","scroll-strategy":"none"},null,8,["model-value"]),Pe(V(m,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:u[2]||(u[2]=()=>{M.errorDialog=!0})},null,512),[[ze,M.errors.length!==0]]),(X(),te(o,{key:M.screenKey,widgets:M.layoutStack[0].widgets,"screen-values":M.screenValues,"screen-time-zone":h.timeZone,onAddItem:C.addItem,onDeleteItem:C.deleteItem,onOpen:C.open,onClose:C.close,onCloseAll:C.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):ue("",!0),M.editDialog?(X(),te(e,{key:2,modelValue:M.editDialog,"onUpdate:modelValue":u[3]||(u[3]=f=>M.editDialog=f),target:h.target,screen:h.screen,definition:M.currentDefinition,keywords:h.keywords,errors:M.errors,onSave:C.saveEdit,onCancel:C.cancelEdit,onDelete:C.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):ue("",!0),V(d,{modelValue:M.errorDialog,"onUpdate:modelValue":u[5]||(u[5]=f=>M.errorDialog=f),width:"60vw"},{default:j(()=>[V(l,{height:"24"},{default:j(()=>[V(s),ie("span",null," Screen: "+ae(h.target)+" "+ae(h.screen)+" Errors ",1),V(s)]),_:1}),V(i,null,{default:j(()=>[V(t,{class:"errors",readonly:"",rows:"13","model-value":C.error},null,8,["model-value"]),V(a,{class:"pb-5"},{default:j(()=>[V(s),V(m,{variant:"outlined",class:"mr-2",onClick:C.clearErrors},{default:j(()=>[...u[8]||(u[8]=[re(" Clear Errors ",-1)])]),_:1},8,["onClick"]),V(m,{variant:"flat",class:"mr-2",onClick:u[4]||(u[4]=f=>M.errorDialog=!1)},{default:j(()=>[...u[9]||(u[9]=[re(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],4)}const dn=we(ln,[["render",un],["__scopeId","data-v-d702c86d"]]),ut={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 h=c.charAt(c.length-1);return u!==h?c:c.slice(1,-1)},convertToString(c){let u="";if(Object.prototype.toString.call(c).slice(8,-1)==="Array"){let h=c.length;u="[ ";for(let g=0;g<h;g++)Object.prototype.toString.call(c[g]).slice(8,-1)==="String"?u+='"'+c[g]+'"':u+=c[g],g!==h-1&&(u+=", ");u+=" ]"}else if(Object.prototype.toString.call(c).slice(8,-1)==="Object")if(c.json_class==="String"&&c.raw){u="0x";for(let h of c.raw)u+=h.toString(16).padStart(2,"0").toUpperCase()}else c.json_class==="Float"&&c.raw?u=c.raw:u=JSON.stringify(c).replace(/\\n/g,"");else u=String(c);return u}}},fn={name:"CommandParameterEditor",mixins:[ut],props:{modelValue:{type:[String,Number],default:void 0},states:{type:Object,default:()=>null},statesInHex:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},allowManualEntry:{type:Boolean,default:!1}},emits:["update:modelValue","hazardous-change"],data(){return{manuallyEntered:!1}},computed:{textFieldValue(){return this.convertToString(this.modelValue)},stateValue(){return this.statesInHex?"0x"+this.modelValue.toString(16):this.modelValue},selectValue(){return this.manuallyEntered?"__manual__":this.modelValue===""?null:this.modelValue},stateOptions(){if(!this.states)return null;const c=Object.keys(this.states).map(u=>({label:u,...this.states[u]}));return this.allowManualEntry&&c.push({label:"MANUALLY_ENTERED",value:"__manual__"}),c},hazardous(){return this.states?Object.entries(this.states).find(([c,u])=>u.value===this.modelValue)?.at(1)?.hazardous!==void 0:!1},stateClass(){return this.hazardous?"hazardous mr-4":"mr-4"}},watch:{hazardous:{immediate:!0,handler(c){this.$emit("hazardous-change",c)}},allowManualEntry(c){c||(this.manuallyEntered=!1)}},methods:{handleChange(c){this.$emit("update:modelValue",c)},handleStateSelect(c){c==="__manual__"?(this.manuallyEntered=!0,this.$emit("update:modelValue","")):(this.manuallyEntered=!1,this.$emit("update:modelValue",c))}}},gn={key:1,class:"d-flex align-center"};function pn(c,u,h,g,M,C){const m=Z("v-text-field"),w=Z("v-select"),s=Z("v-icon"),l=Z("v-tooltip");return X(),ce("div",null,[h.states?(X(),ce("div",gn,[V(w,{items:C.stateOptions,"model-value":C.selectValue,disabled:h.disabled,"item-title":"label",class:at(C.stateClass),"hide-details":"",density:"compact",variant:"outlined",placeholder:"Select...","min-width":"120px","data-test":"cmd-param-select","onUpdate:modelValue":C.handleStateSelect},null,8,["items","model-value","disabled","class","onUpdate:modelValue"]),M.manuallyEntered?(X(),te(m,{key:0,"model-value":C.textFieldValue,"hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value","onUpdate:modelValue":C.handleChange},null,8,["model-value","onUpdate:modelValue"])):ue("",!0),M.manuallyEntered?(X(),te(l,{key:1,location:"top"},{activator:j(({props:n})=>[V(s,Ee(n,{class:"ml-1"}),{default:j(()=>[...u[0]||(u[0]=[re("mdi-information-outline",-1)])]),_:1},16)]),default:j(()=>[u[1]||(u[1]=ie("span",null,[re("Enter a raw value (e.g. numeric) for this parameter."),ie("br"),re("State names are not accepted here.")],-1))]),_:1})):(X(),te(m,{key:2,"model-value":C.stateValue,disabled:"","hide-details":"",density:"compact",variant:"outlined","min-width":"60px","data-test":"cmd-param-value"},null,8,["model-value"]))])):(X(),te(m,{key:0,"model-value":C.textFieldValue,disabled:h.disabled,"hide-details":"",density:"compact",variant:"filled","data-test":"cmd-param-value","onUpdate:modelValue":C.handleChange},null,8,["model-value","disabled","onUpdate:modelValue"]))])}const mn=we(fn,[["render",pn],["__scopeId","data-v-3e73bafa"]]),vn={name:"CommandEditor",components:{TargetPacketItemChooser:Ht,CommandParameterEditor:mn,DetailsDialog:Ut},mixins:[ut],props:{initialTargetName:{type:String,default:null},initialPacketName:{type:String,default:null},cmdString:{type:String,default:null},sendDisabled:{type:Boolean,default:!1},statesInHex:{type:Boolean,default:!1},showIgnoredParams:{type:Boolean,default:!1},cmdRaw:{type:Boolean,default:!1},showCommandButton:{type:Boolean,default:!0},showQueueSelect:{type:Boolean,default:!0},ignoreRangeChecks:{type:Boolean,default:!1}},emits:["command-changed","build-cmd","command-loaded"],data(){return{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"}],api:null,targetName:"",commandName:"",commandDescription:"",ignoredParams:[],computedRows:[],reservedItemNames:["PACKET_TIMESECONDS","PACKET_TIMEFORMATTED","RECEIVED_TIMESECONDS","RECEIVED_TIMEFORMATTED","RECEIVED_COUNT"],contextMenuShown:!1,viewDetails:!1,parameterName:"",hazardousParameters:{},x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}}]}},computed:{hasHazardousParameter(){return Object.values(this.hazardousParameters).some(c=>c===!0)}},created(){this.api=new Be,this.cmdString?this.processCmdString():(this.targetName=this.initialTargetName,this.commandName=this.initialPacketName,this.updateCmdParams())},methods:{onParameterHazardousChange(c,u){this.hazardousParameters[c.parameter_name]=u},commandChanged(c){(this.targetName!==c.targetName||this.commandName!==c.packetName)&&(this.targetName=c.targetName,this.commandName=c.packetName,this.updateCmdParams()),this.$emit("command-changed",c)},buildCmd(c){this.$emit("build-cmd",c)},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})},updateCmdParams(){this.ignoredParams=[],this.computedRows=[],this.hazardousParameters={},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=>{console.error("Error getting ignored parameters:",c)}).then(c=>{if(c){const u=new Set;c.items.forEach(h=>{h.variable_bit_size&&u.add(h.variable_bit_size.length_item_name.toUpperCase())}),c.items.forEach(h=>{if(!this.reservedItemNames.includes(h.name)&&!h.hidden&&(!this.ignoredParams.includes(h.name)||this.showIgnoredParams)){let g=h.default;!h.states&&h.data_type==="STRING"&&typeof h.default=="string"&&(g=`'${g}'`),h.required&&(g=null),h.format_string&&h.default&&(g=sprintf(h.format_string,h.default)),Object.prototype.toString.call(g).slice(8,-1)==="Object"&&(g=this.convertToString(g));let M="N/A";h.minimum!=null&&h.maximum!=null&&(h.data_type==="FLOAT"&&(h.minimum<-1e6&&(h.minimum=h.minimum.toExponential(3)),h.maximum>1e6&&(h.maximum=h.maximum.toExponential(3))),M=`${h.minimum}..${h.maximum}`);const C=u.has(h.name.toUpperCase());this.computedRows.push({parameter_name:h.name,val:g,states:h.states,description:h.description,range:M,units:h.units,type:h.data_type,disabled:C})}}),this.commandDescription=c.description,this.populateParametersFromParsed(),this.$emit("command-loaded",c)}else this.$emit("command-loaded",null)},c=>{console.error("Error getting command parameters:",c),this.$emit("command-loaded",null)}):this.$emit("command-loaded",null)},triggerUpdateCmdParams(){this.updateCmdParams()},getRows(){return this.computedRows},getCmdString(){let c=`${this.targetName} ${this.commandName}`;if(this.computedRows.length===0)return c;c+=" with";for(const u of this.computedRows){if(u.val===null)throw new Error(`Required parameter ${u.parameter_name} not set`);if(u.val!==null&&u.val!==void 0&&u.val!==""){if(u.states){const g=Object.entries(u.states).find(([,M])=>M.value===u.val);if(g){c+=` ${u.parameter_name} '${g[0]}',`;continue}}let h=this.convertToString(u.val);h.includes(" ")&&!this.isArray(h)?c+=` ${u.parameter_name} '${h}',`:c+=` ${u.parameter_name} ${h},`}}return c.slice(0,-1)},parseCmdString(c){const u=c.split(" ");if(u.length<2)return{target:"",command:"",params:{}};if(u.length===2)return{target:u[0],command:u[1],params:{}};if(u[2]!=="with")return{target:"",command:"",params:{}};const h=u[0],g=u[1];let M={};const C=c.split(" with ")[1];let m=[],w=0,s="";for(let l of C)l==="["?(w++,s+=l):l==="]"?(w--,s+=l):l===","&&w===0?(m.push(s.trim()),s=""):s+=l;s.trim()!==""&&m.push(s.trim());for(let l of m){let n=l.indexOf(" ");if(n>0){let o=l.substring(0,n).trim(),r=l.substring(n+1).trim();M[o]=r}}return{target:h,command:g,params:M}},processCmdString(){const c=this.parseCmdString(this.cmdString);c.target&&c.command&&(this.targetName=c.target,this.commandName=c.command,this.parsedParameters=c.params,this.updateCmdParams())},populateParametersFromParsed(){!this.parsedParameters||Object.keys(this.parsedParameters).length===0||this.$nextTick(()=>{setTimeout(()=>{this.computedRows.forEach(c=>{if(this.parsedParameters.hasOwnProperty(c.parameter_name)){const u=this.parsedParameters[c.parameter_name];if(c.states&&typeof u=="string"){const h=Object.keys(c.states).find(g=>g===u||g.toLowerCase()===u.toLowerCase());h?c.val=c.states[h].value:c.val=u}else c.type==="STRING"&&typeof u=="string"?c.val=u.startsWith("'")||u.startsWith('"')?u:`'${u}'`:c.val=u}})},100)})}}},yn={style:{padding:"10px"}};function wn(c,u,h,g,M,C){const m=Z("target-packet-item-chooser"),w=Z("v-spacer"),s=Z("v-text-field"),l=Z("v-card-title"),n=Z("command-parameter-editor"),o=Z("v-data-table"),r=Z("v-card"),i=Z("v-list-item-title"),e=Z("v-list-item"),t=Z("v-list"),a=Z("v-menu"),d=Z("details-dialog");return X(),te(r,null,{default:j(()=>[ie("div",yn,[V(m,{ref:"targetPacketChooser","initial-target-name":M.targetName,"initial-packet-name":M.commandName,disabled:h.sendDisabled,"button-text":h.showCommandButton?"Send":null,"show-queue-select":h.showQueueSelect,"parameter-hazardous":C.hasHazardousParameter,mode:"cmd",onOnSet:u[0]||(u[0]=f=>C.commandChanged(f)),onAddItem:u[1]||(u[1]=f=>C.buildCmd(f))},null,8,["initial-target-name","initial-packet-name","disabled","button-text","show-queue-select","parameter-hazardous"])]),M.computedRows.length!==0?(X(),te(r,{key:0},{default:j(()=>[V(l,{class:"d-flex align-center justify-content-space-between"},{default:j(()=>[u[5]||(u[5]=re(" Parameters ",-1)),V(w),V(s,{modelValue:M.search,"onUpdate:modelValue":u[2]||(u[2]=f=>M.search=f),label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",variant:"outlined",density:"compact","single-line":"","hide-details":"",class:"search"},null,8,["modelValue"])]),_:1}),V(o,{headers:M.headers,items:M.computedRows,search:M.search,"items-per-page":-1,"hide-default-footer":"","multi-sort":"",density:"compact",class:"parameters-table","onContextmenu:row":C.showContextMenu},{"item.val":j(({item:f})=>[zt(c.$slots,"parameter-editor",{item:f,statesInHex:h.statesInHex},()=>[V(n,{modelValue:f.val,"onUpdate:modelValue":$=>f.val=$,states:f.states,"states-in-hex":h.statesInHex,disabled:f.disabled,"allow-manual-entry":h.ignoreRangeChecks,onHazardousChange:$=>C.onParameterHazardousChange(f,$)},null,8,["modelValue","onUpdate:modelValue","states","states-in-hex","disabled","allow-manual-entry","onHazardousChange"])],!0)]),_:3},8,["headers","items","search","onContextmenu:row"])]),_:3})):ue("",!0),V(a,{modelValue:M.contextMenuShown,"onUpdate:modelValue":u[3]||(u[3]=f=>M.contextMenuShown=f),target:[M.x,M.y]},{default:j(()=>[V(t,null,{default:j(()=>[(X(!0),ce(ye,null,be(M.contextMenuOptions,(f,$)=>(X(),te(e,{key:$,onClick:lt(f.action,["stop"])},{default:j(()=>[V(i,null,{default:j(()=>[re(ae(f.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),V(d,{modelValue:M.viewDetails,"onUpdate:modelValue":u[4]||(u[4]=f=>M.viewDetails=f),"target-name":M.targetName,"packet-name":M.commandName,"item-name":M.parameterName,type:"cmd"},null,8,["modelValue","target-name","packet-name","item-name"])]),_:3})}const bn=we(vn,[["render",wn],["__scopeId","data-v-f2e73c29"]]);var dt={exports:{}},Kt;function Cn(){return Kt||(Kt=1,(function(c,u){(function(){var h="ace",g=(function(){return this})();!g&&typeof window<"u"&&(g=window);var M=function(n,o,r){if(typeof n!="string"){M.original?M.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=o),M.modules[n]||(M.payloads[n]=r,M.modules[n]=null)};M.modules={},M.payloads={};var C=function(n,o,r){if(typeof o=="string"){var i=s(n,o);if(i!=null)return r&&r(),i}else if(Object.prototype.toString.call(o)==="[object Array]"){for(var e=[],t=0,a=o.length;t<a;++t){var d=s(n,o[t]);if(d==null&&m.original)return;e.push(d)}return r&&r.apply(null,e)||!0}},m=function(n,o){var r=C("",n,o);return r==null&&m.original?m.original.apply(this,arguments):r},w=function(n,o){if(o.indexOf("!")!==-1){var r=o.split("!");return w(n,r[0])+"!"+w(n,r[1])}if(o.charAt(0)=="."){var i=n.split("/").slice(0,-1).join("/");for(o=i+"/"+o;o.indexOf(".")!==-1&&e!=o;){var e=o;o=o.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},s=function(n,o){o=w(n,o);var r=M.modules[o];if(!r){if(r=M.payloads[o],typeof r=="function"){var i={},e={id:o,uri:"",exports:i,packaged:!0},t=function(d,f){return C(o,d,f)},a=r(t,i,e);i=a||e.exports,M.modules[o]=i,delete M.payloads[o]}r=M.modules[o]=i||r}return r};function l(n){var o=g;g[n]||(g[n]={}),o=g[n],(!o.define||!o.define.packaged)&&(M.original=o.define,o.define=M,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(m.original=o.require,o.require=m,o.require.packaged=!0)}l(h)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(h,g,M){function C(m,w,s){Object.defineProperty(m,w,{value:s,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||C(String.prototype,"startsWith",function(m,w){return w=w||0,this.lastIndexOf(m,w)===w}),String.prototype.endsWith||C(String.prototype,"endsWith",function(m,w){var s=this;(w===void 0||w>s.length)&&(w=s.length),w-=m.length;var l=s.indexOf(m,w);return l!==-1&&l===w}),String.prototype.repeat||C(String.prototype,"repeat",function(m){for(var w="",s=this;m>0;)m&1&&(w+=s),(m>>=1)&&(s+=s);return w}),String.prototype.includes||C(String.prototype,"includes",function(m,w){return this.indexOf(m,w)!=-1}),Object.assign||(Object.assign=function(m){if(m==null)throw new TypeError("Cannot convert undefined or null to object");for(var w=Object(m),s=1;s<arguments.length;s++){var l=arguments[s];l!=null&&Object.keys(l).forEach(function(n){w[n]=l[n]})}return w}),Object.values||(Object.values=function(m){return Object.keys(m).map(function(w){return m[w]})}),Array.prototype.find||C(Array.prototype,"find",function(m){for(var w=this.length,s=arguments[1],l=0;l<w;l++){var n=this[l];if(m.call(s,n,l,this))return n}}),Array.prototype.findIndex||C(Array.prototype,"findIndex",function(m){for(var w=this.length,s=arguments[1],l=0;l<w;l++){var n=this[l];if(m.call(s,n,l,this))return l}}),Array.prototype.includes||C(Array.prototype,"includes",function(m,w){return this.indexOf(m,w)!=-1}),Array.prototype.fill||C(Array.prototype,"fill",function(m){for(var w=this,s=w.length>>>0,l=arguments[1],n=l>>0,o=n<0?Math.max(s+n,0):Math.min(n,s),r=arguments[2],i=r===void 0?s:r>>0,e=i<0?Math.max(s+i,0):Math.min(i,s);o<e;)w[o]=m,o++;return w}),Array.of||C(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(h,g,M){h("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(h,g,M){g.deepCopy=function C(m){if(typeof m!="object"||!m)return m;var w;if(Array.isArray(m)){w=[];for(var s=0;s<m.length;s++)w[s]=C(m[s]);return w}if(Object.prototype.toString.call(m)!=="[object Object]")return m;w={};for(var s in m)w[s]=C(m[s]);return w}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(h,g,M){g.last=function(w){return w[w.length-1]},g.stringReverse=function(w){return w.split("").reverse().join("")},g.stringRepeat=function(w,s){for(var l="";s>0;)s&1&&(l+=w),(s>>=1)&&(w+=w);return l};var C=/^\s\s*/,m=/\s\s*$/;g.stringTrimLeft=function(w){return w.replace(C,"")},g.stringTrimRight=function(w){return w.replace(m,"")},g.copyObject=function(w){var s={};for(var l in w)s[l]=w[l];return s},g.copyArray=function(w){for(var s=[],l=0,n=w.length;l<n;l++)w[l]&&typeof w[l]=="object"?s[l]=this.copyObject(w[l]):s[l]=w[l];return s},g.deepCopy=h("./deep_copy").deepCopy,g.arrayToMap=function(w){for(var s={},l=0;l<w.length;l++)s[w[l]]=1;return s},g.createMap=function(w){var s=Object.create(null);for(var l in w)s[l]=w[l];return s},g.arrayRemove=function(w,s){for(var l=0;l<=w.length;l++)s===w[l]&&w.splice(l,1)},g.escapeRegExp=function(w){return w.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},g.escapeHTML=function(w){return(""+w).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},g.getMatchOffsets=function(w,s){var l=[];return w.replace(s,function(n){l.push({offset:arguments[arguments.length-2],length:n.length})}),l},g.deferredCall=function(w){var s=null,l=function(){s=null,w()},n=function(o){return n.cancel(),s=setTimeout(l,o||0),n};return n.schedule=n,n.call=function(){return this.cancel(),w(),n},n.cancel=function(){return clearTimeout(s),s=null,n},n.isPending=function(){return s},n},g.delayedCall=function(w,s){var l=null,n=function(){l=null,w()},o=function(r){l==null&&(l=setTimeout(n,r||s))};return o.delay=function(r){l&&clearTimeout(l),l=setTimeout(n,r||s)},o.schedule=o,o.call=function(){this.cancel(),w()},o.cancel=function(){l&&clearTimeout(l),l=null},o.isPending=function(){return l},o},g.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},g.skipEmptyMatch=function(w,s,l){return l&&w.codePointAt(s)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(h,g,M){g.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},g.getOS=function(){return g.isMac?g.OS.MAC:g.isLinux?g.OS.LINUX:g.OS.WINDOWS};var C=typeof navigator=="object"?navigator:{},m=(/mac|win|linux/i.exec(C.platform)||["other"])[0].toLowerCase(),w=C.userAgent||"",s=C.appName||"";g.isWin=m=="win",g.isMac=m=="mac",g.isLinux=m=="linux",g.isIE=s=="Microsoft Internet Explorer"||s.indexOf("MSAppHost")>=0?parseFloat((w.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((w.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),g.isOldIE=g.isIE&&g.isIE<9,g.isGecko=g.isMozilla=w.match(/ Gecko\/\d+/),g.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",g.isWebKit=parseFloat(w.split("WebKit/")[1])||void 0,g.isChrome=parseFloat(w.split(" Chrome/")[1])||void 0,g.isSafari=parseFloat(w.split(" Safari/")[1])&&!g.isChrome||void 0,g.isEdge=parseFloat(w.split(" Edge/")[1])||void 0,g.isAIR=w.indexOf("AdobeAIR")>=0,g.isAndroid=w.indexOf("Android")>=0,g.isChromeOS=w.indexOf(" CrOS ")>=0,g.isIOS=/iPad|iPhone|iPod/.test(w)&&!window.MSStream,g.isIOS&&(g.isMac=!0),g.isMobile=g.isIOS||g.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(h,g,M){var C=h("./useragent"),m="http://www.w3.org/1999/xhtml";g.buildDom=function r(i,e,t){if(typeof i=="string"&&i){var a=document.createTextNode(i);return e&&e.appendChild(a),a}if(!Array.isArray(i))return i&&i.appendChild&&e&&e.appendChild(i),i;if(typeof i[0]!="string"||!i[0]){for(var d=[],f=0;f<i.length;f++){var $=r(i[f],e,t);$&&d.push($)}return d}var _=document.createElement(i[0]),b=i[1],v=1;b&&typeof b=="object"&&!Array.isArray(b)&&(v=2);for(var f=v;f<i.length;f++)r(i[f],_,t);return v==2&&Object.keys(b).forEach(function(T){var R=b[T];T==="class"?_.className=Array.isArray(R)?R.join(" "):R:typeof R=="function"||T=="value"||T[0]=="$"?_[T]=R:T==="ref"?t&&(t[R]=_):T==="style"?typeof R=="string"&&(_.style.cssText=R):R!=null&&_.setAttribute(T,R)}),e&&e.appendChild(_),_},g.getDocumentHead=function(r){return r||(r=document),r.head||r.getElementsByTagName("head")[0]||r.documentElement},g.createElement=function(r,i){return document.createElementNS?document.createElementNS(i||m,r):document.createElement(r)},g.removeChildren=function(r){r.innerHTML=""},g.createTextNode=function(r,i){var e=i?i.ownerDocument:document;return e.createTextNode(r)},g.createFragment=function(r){var i=r?r.ownerDocument:document;return i.createDocumentFragment()},g.hasCssClass=function(r,i){var e=(r.className+"").split(/\s+/g);return e.indexOf(i)!==-1},g.addCssClass=function(r,i){g.hasCssClass(r,i)||(r.className+=" "+i)},g.removeCssClass=function(r,i){for(var e=r.className.split(/\s+/g);;){var t=e.indexOf(i);if(t==-1)break;e.splice(t,1)}r.className=e.join(" ")},g.toggleCssClass=function(r,i){for(var e=r.className.split(/\s+/g),t=!0;;){var a=e.indexOf(i);if(a==-1)break;t=!1,e.splice(a,1)}return t&&e.push(i),r.className=e.join(" "),t},g.setCssClass=function(r,i,e){e?g.addCssClass(r,i):g.removeCssClass(r,i)},g.hasCssString=function(r,i){var e=0,t;if(i=i||document,t=i.querySelectorAll("style")){for(;e<t.length;)if(t[e++].id===r)return!0}},g.removeElementById=function(r,i){i=i||document,i.getElementById(r)&&i.getElementById(r).remove()};var w,s=[];g.useStrictCSP=function(r){w=r,r==!1?l():s||(s=[])};function l(){var r=s;s=null,r&&r.forEach(function(i){n(i[0],i[1])})}function n(r,i,e){if(!(typeof document>"u")){if(s){if(e)l();else if(e===!1)return s.push([r,i])}if(!w){var t=e;!e||!e.getRootNode?t=document:(t=e.getRootNode(),(!t||t==e)&&(t=document));var a=t.ownerDocument||t;if(i&&g.hasCssString(i,t))return null;i&&(r+=`
|
|
5
5
|
/*# sourceURL=ace/css/`+i+" */");var d=g.createElement("style");d.appendChild(a.createTextNode(r)),i&&(d.id=i),t==a&&(t=g.getDocumentHead(a)),t.insertBefore(d,t.firstChild)}}}if(g.importCssString=n,g.importCssStylsheet=function(r,i){g.buildDom(["link",{rel:"stylesheet",href:r}],g.getDocumentHead(i))},g.$fixPositionBug=function(r){var i=r.getBoundingClientRect();if(r.style.left){var e=parseFloat(r.style.left),t=+i.left;Math.abs(e-t)>1&&(r.style.left=2*e-t+"px")}if(r.style.right){var e=parseFloat(r.style.right),t=window.innerWidth-i.right;Math.abs(e-t)>1&&(r.style.right=2*e-t+"px")}if(r.style.top){var e=parseFloat(r.style.top),t=+i.top;Math.abs(e-t)>1&&(r.style.top=2*e-t+"px")}if(r.style.bottom){var e=parseFloat(r.style.bottom),t=window.innerHeight-i.bottom;Math.abs(e-t)>1&&(r.style.bottom=2*e-t+"px")}},g.scrollbarWidth=function(r){var i=g.createElement("ace_inner");i.style.width="100%",i.style.minWidth="0px",i.style.height="200px",i.style.display="block";var e=g.createElement("ace_outer"),t=e.style;t.position="absolute",t.left="-10000px",t.overflow="hidden",t.width="200px",t.minWidth="0px",t.height="150px",t.display="block",e.appendChild(i);var a=r&&r.documentElement||document&&document.documentElement;if(!a)return 0;a.appendChild(e);var d=i.offsetWidth;t.overflow="scroll";var f=i.offsetWidth;return d===f&&(f=e.clientWidth),a.removeChild(e),d-f},g.computedStyle=function(r,i){return window.getComputedStyle(r,"")||{}},g.setStyle=function(r,i,e){r[i]!==e&&(r[i]=e)},g.HAS_CSS_ANIMATION=!1,g.HAS_CSS_TRANSFORMS=!1,g.HI_DPI=C.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,C.isChromeOS&&(g.HI_DPI=!1),typeof document<"u"){var o=document.createElement("div");g.HI_DPI&&o.style.transform!==void 0&&(g.HAS_CSS_TRANSFORMS=!0),!C.isEdge&&typeof o.style.animationName<"u"&&(g.HAS_CSS_ANIMATION=!0),o=null}g.HAS_CSS_TRANSFORMS?g.translate=function(r,i,e){r.style.transform="translate("+Math.round(i)+"px, "+Math.round(e)+"px)"}:g.translate=function(r,i,e){r.style.top=Math.round(e)+"px",r.style.left=Math.round(i)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(h,g,M){var C=h("./dom");g.get=function(m,w){var s=new XMLHttpRequest;s.open("GET",m,!0),s.onreadystatechange=function(){s.readyState===4&&w(s.responseText)},s.send(null)},g.loadScript=function(m,w){var s=C.getDocumentHead(),l=document.createElement("script");l.src=m,s.appendChild(l),l.onload=l.onreadystatechange=function(n,o){(o||!l.readyState||l.readyState=="loaded"||l.readyState=="complete")&&(l=l.onload=l.onreadystatechange=null,o||w())}},g.qualifyURL=function(m){var w=document.createElement("a");return w.href=m,w.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(h,g,M){g.inherits=function(C,m){C.super_=m,C.prototype=Object.create(m.prototype,{constructor:{value:C,enumerable:!1,writable:!0,configurable:!0}})},g.mixin=function(C,m){for(var w in m)C[w]=m[w];return C},g.implement=function(C,m){g.mixin(C,m)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(h,g,M){var C={},m=function(){this.propagationStopped=!0},w=function(){this.defaultPrevented=!0};C._emit=C._dispatchEvent=function(s,l){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[s]||[],o=this._defaultHandlers[s];if(!(!n.length&&!o)){(typeof l!="object"||!l)&&(l={}),l.type||(l.type=s),l.stopPropagation||(l.stopPropagation=m),l.preventDefault||(l.preventDefault=w),n=n.slice();for(var r=0;r<n.length&&(n[r](l,this),!l.propagationStopped);r++);if(o&&!l.defaultPrevented)return o(l,this)}},C._signal=function(s,l){var n=(this._eventRegistry||{})[s];if(n){n=n.slice();for(var o=0;o<n.length;o++)n[o](l,this)}},C.once=function(s,l){var n=this;if(this.on(s,function o(){n.off(s,o),l.apply(null,arguments)}),!l)return new Promise(function(o){l=o})},C.setDefaultHandler=function(s,l){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[s]){var o=n[s],r=n._disabled_[s];r||(n._disabled_[s]=r=[]),r.push(o);var i=r.indexOf(l);i!=-1&&r.splice(i,1)}n[s]=l},C.removeDefaultHandler=function(s,l){var n=this._defaultHandlers;if(n){var o=n._disabled_[s];if(n[s]==l)o&&this.setDefaultHandler(s,o.pop());else if(o){var r=o.indexOf(l);r!=-1&&o.splice(r,1)}}},C.on=C.addEventListener=function(s,l,n){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[s];return o||(o=this._eventRegistry[s]=[]),o.indexOf(l)==-1&&o[n?"unshift":"push"](l),l},C.off=C.removeListener=C.removeEventListener=function(s,l){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[s];if(n){var o=n.indexOf(l);o!==-1&&n.splice(o,1)}},C.removeAllListeners=function(s){s||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[s]=void 0),this._defaultHandlers&&(this._defaultHandlers[s]=void 0)},g.EventEmitter=C}),ace.define("ace/lib/report_error",["require","exports","module"],function(h,g,M){g.reportError=function(m,w){var s=new Error(m);s.data=w,typeof console=="object"&&console.error&&console.error(s),setTimeout(function(){throw s})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(h,g,M){var C={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};g.defaultEnglishMessages=C}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(h,g,M){"no use strict";var C=h("./oop"),m=h("./event_emitter").EventEmitter,w=h("./report_error").reportError,s=h("./default_english_messages").defaultEnglishMessages,l={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var a=this.$options;e=Object.keys(a).filter(function(d){return!a[d].hidden})}return e.forEach(function(d){t[d]=this.getOption(d)},this),t},setOption:function(e,t){if(this["$"+e]!==t){var a=this.$options[e];if(!a)return n('misspelled option "'+e+'"');if(a.forwardTo)return this[a.forwardTo]&&this[a.forwardTo].setOption(e,t);a.handlesSet||(this["$"+e]=t),a&&a.set&&a.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:n('misspelled option "'+e+'"')}};function n(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var o,r,i=(function(){function e(){this.$defaultOptions={},o=s,r="dollarSigns"}return e.prototype.defineOptions=function(t,a,d){return t.$options||(this.$defaultOptions[a]=t.$options={}),Object.keys(d).forEach(function(f){var $=d[f];typeof $=="string"&&($={forwardTo:$}),$.name||($.name=f),t.$options[$.name]=$,"initialValue"in $&&(t["$"+$.name]=$.initialValue)}),C.implement(t,l),this},e.prototype.resetOptions=function(t){Object.keys(t.$options).forEach(function(a){var d=t.$options[a];"value"in d&&t.setOption(a,d.value)})},e.prototype.setDefaultValue=function(t,a,d){if(!t){for(t in this.$defaultOptions)if(this.$defaultOptions[t][a])break;if(!this.$defaultOptions[t][a])return!1}var f=this.$defaultOptions[t]||(this.$defaultOptions[t]={});f[a]&&(f.forwardTo?this.setDefaultValue(f.forwardTo,a,d):f[a].value=d)},e.prototype.setDefaultValues=function(t,a){Object.keys(a).forEach(function(d){this.setDefaultValue(t,d,a[d])},this)},e.prototype.setMessages=function(t,a){o=t,a&&a.placeholders&&(r=a.placeholders)},e.prototype.nls=function(t,a,d){o[t]||(n("No message found for the key '"+t+"' in messages with id "+o.$id+", trying to find a translation for the default string '"+a+"'."),o[a]||n("No message found for the default string '"+a+"' in the provided messages. Falling back to the default English message."));var f=o[t]||o[a]||a;return d&&(r==="dollarSigns"&&(f=f.replace(/\$(\$|[\d]+)/g,function($,_){return _=="$"?"$":d[_]})),r==="curlyBrackets"&&(f=f.replace(/\{([^\}]+)\}/g,function($,_){return d[_]}))),f},e})();i.prototype.warn=n,i.prototype.reportError=w,C.implement(i.prototype,m),g.AppConfig=i}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(h,g,M){M.exports=`.ace-tm .ace_gutter {
|
|
6
6
|
background: #f0f0f0;
|
|
7
7
|
color: #333;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./main-
|
|
1
|
+
System.register(["./main-bbdc2fd7fccb0bf929b3.js","vue"],(function(b,j){"use strict";var k,m,u,r,f,w,s,t,g,v,n,h,y;return{setters:[a=>{k=a.d,m=a.R,u=a.v},a=>{r=a.resolveComponent,f=a.createBlock,w=a.openBlock,s=a.withCtx,t=a.createVNode,g=a.createElementVNode,v=a.createCommentVNode,n=a.createTextVNode,h=a.toDisplayString,y=a.withModifiers}],execute:(function(){const a={props:{uuid:{type:String,default:null},cmdUser:{type:String,default:null},cmdString:{type:String,default:null},persistent:{type:Boolean,default:!1},modelValue:Boolean},emits:["update:modelValue","status"],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(l=>{l.data.status==="ok"&&(this.canApprove=!0)}),this.updater=setInterval(()=>{this.uuid?u.get("/openc3-api/criticalcmd/status/"+this.uuid).then(l=>{l.data.status!=="WAITING"&&(this.$emit("status",l.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 x(o,e,l,I,i,d){const V=r("v-spacer"),A=r("v-toolbar"),S=r("v-alert"),c=r("v-row"),C=r("v-text-field"),_=r("v-btn"),T=r("v-container"),U=r("v-card-text"),E=r("v-card"),N=r("v-dialog");return w(),f(N,{modelValue:d.show,"onUpdate:modelValue":e[3]||(e[3]=p=>d.show=p),persistent:l.persistent,width:"600"},{default:s(()=>[t(E,null,{default:s(()=>[t(A,{height:"24"},{default:s(()=>[t(V),e[4]||(e[4]=g("span",null," Waiting for Critical Command Approval ",-1)),t(V)]),_:1}),t(U,null,{default:s(()=>[t(T,{fluid:""},{default:s(()=>[t(S,{modelValue:i.error,"onUpdate:modelValue":e[0]||(e[0]=p=>i.error=p),type:"error",closable:""},{default:s(()=>[n(h(i.errorText),1)]),_:1},8,["modelValue"]),t(c,{class:"pt-4",style:{color:"white"}},{default:s(()=>[n("User "+h(l.cmdUser)+" is waiting for approval to execute: ",1)]),_:1}),t(c,{class:"pa-4",style:{color:"white"}},{default:s(()=>[n(h(l.cmdString),1)]),_:1}),t(c,{class:"text-subtitle-2"},{default:s(()=>[n("UUID: "+h(l.uuid),1)]),_:1}),i.canApprove?v("",!0):(w(),f(c,{key:0},{default:s(()=>[t(C,{modelValue:i.username,"onUpdate:modelValue":e[1]||(e[1]=p=>i.username=p),label:"Username","data-test":"username"},null,8,["modelValue"])]),_:1})),i.canApprove?v("",!0):(w(),f(c,{key:1},{default:s(()=>[t(C,{modelValue:i.password,"onUpdate:modelValue":e[2]||(e[2]=p=>i.password=p),type:"password",label:"Password","data-test":"password"},null,8,["modelValue"])]),_:1})),t(c,{class:"pt-2"},{default:s(()=>[t(V),t(_,{type:"submit",class:"mx-2",color:"secondary",variant:"outlined",disabled:d.disableButtons,"data-test":"reject",onClick:y(d.reject,["prevent"])},{default:s(()=>[...e[5]||(e[5]=[n(" Reject ",-1)])]),_:1},8,["disabled","onClick"]),t(_,{type:"submit",class:"mx-2",color:"primary",disabled:d.disableButtons,"data-test":"approve",onClick:y(d.approve,["prevent"])},{default:s(()=>[...e[6]||(e[6]=[n(" Approve ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","persistent"])}const B=b("N",k(a,[["render",x],["__scopeId","data-v-d01f6934"]]))})}}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
System.register(["./Widget-
|
|
1
|
+
System.register(["./Widget-CGePksBA-2bb23875beb24a52968d.js","./main-bbdc2fd7fccb0bf929b3.js","vue","vue-router","pinia","single-spa","vuetify"],(function(d,V){"use strict";var l,a,n,r,s,u,i;return{setters:[e=>{l=e.u},e=>{a=e.d,n=e.b},e=>{r=e.resolveComponent,s=e.createBlock,u=e.openBlock,i=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,o,y,v,t,b){const h=r("v-text-field");return u(),s(h,{modelValue:t.dateValue,"onUpdate:modelValue":o[0]||(o[0]=p=>t.dateValue=p),label:t.label,style:i(m.computedStyle),type:"date","hide-details":""},null,8,["modelValue","label","style"])}const f=d("default",a(e,[["render",c]]))})}}));
|