openc3-cosmos-tool-tlmviewer 6.5.1 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/tlmviewer/{ArrayWidget-Ck6pzAyW-4a7996d005809a51609e.js → ArrayWidget-Ck6pzAyW-aefe29a22d860e8c4a17.js} +1 -1
- data/tools/tlmviewer/{ArrayplotWidget-ntRLh6-B-41bb56c755f228e59b55.js → ArrayplotWidget-ntRLh6-B-308923902543dffd9f7d.js} +1 -1
- data/tools/tlmviewer/{BarColumn-Bgz2YJ59-ff7735aaffc69f4faba8.js → BarColumn-Bgz2YJ59-1e3597cfdb539b46bf5c.js} +1 -1
- data/tools/tlmviewer/{BlockWidget-DGH3Zz5p-b85158cc9ff9ed53e37f.js → BlockWidget-DGH3Zz5p-257f63ed380e497bc92e.js} +1 -1
- data/tools/tlmviewer/{ButtonWidget-D_tupiPB-63b8b6cd252806fb495c.js → ButtonWidget-D_tupiPB-1ae30ea1a16fb5d38d2f.js} +1 -1
- data/tools/tlmviewer/{CanvasWidget-CzG2jYQb-a5b4cc735e5b271d7ed9.js → CanvasWidget-CzG2jYQb-5215a53cef6be9a4d69e.js} +1 -1
- data/tools/tlmviewer/{CanvasdotWidget-0FAaw4G2-a5fff96b69a55e116376.js → CanvasdotWidget-0FAaw4G2-59ee5ac24e47c9c51316.js} +1 -1
- data/tools/tlmviewer/{CanvasimageWidget-CNJlzLqo-337f8f3df9350cf4c3da.js → CanvasimageWidget-CNJlzLqo-27c9b1f08b2085a5ee32.js} +1 -1
- data/tools/tlmviewer/{CanvasimagevalueWidget-DudwwOD6-225cddabd45d7c87a8c2.js → CanvasimagevalueWidget-DudwwOD6-ce1cdab4573018552369.js} +1 -1
- data/tools/tlmviewer/{CanvaslabelWidget-BZQp16dH-2469d866f425215ccf46.js → CanvaslabelWidget-BZQp16dH-697eb4bc86a0d5ce7ed4.js} +1 -1
- data/tools/tlmviewer/{CanvaslabelvalueWidget-CHS36Te9-65227e3d18ece4781842.js → CanvaslabelvalueWidget-CHS36Te9-5c3713701ad734584597.js} +1 -1
- data/tools/tlmviewer/{CanvaslineWidget-nhKEAGhs-92954c862b62a91019dd.js → CanvaslineWidget-nhKEAGhs-ff9d3c13830ebf4c4f75.js} +1 -1
- data/tools/tlmviewer/{CanvaslinevalueWidget-DsyIDkJy-3548139c727588884764.js → CanvaslinevalueWidget-DsyIDkJy-8a6d36ea5188d680be8e.js} +1 -1
- data/tools/tlmviewer/{CheckbuttonWidget-DCam7Jd0-2b1bac048c68378eb44c.js → CheckbuttonWidget-DCam7Jd0-6242a25874128409eece.js} +1 -1
- data/tools/tlmviewer/{ComboboxWidget-ZX-k-_aK-dfe441b48a0401bf69df.js → ComboboxWidget-ZX-k-_aK-1120800073f1dae236aa.js} +1 -1
- data/tools/tlmviewer/{DateWidget-DuJ5uC2t-2fe81986796c3828a7e1.js → DateWidget-DuJ5uC2t-b18fa1ab28d0a6560146.js} +1 -1
- data/tools/tlmviewer/{DetailsDialog-BQE0TraI-514058f267fff896fc98.js → DetailsDialog-BQE0TraI-4eb94007a2b4964682d3.js} +1 -1
- data/tools/tlmviewer/{DynamicWidget-CfMtj7H8-30e65282c68d43b68c90.js → DynamicWidget-CfMtj7H8-ee65ffb186419f34e20f.js} +1 -1
- data/tools/tlmviewer/{FormatvalueWidget-DYICPNcx-82fc07ab0cbc74360d35.js → FormatvalueWidget-DYICPNcx-cefec4da19e95b784249.js} +1 -1
- data/tools/tlmviewer/{Graph-DCihpnT0-8c2ad908113308ef7bd5.js → Graph-DCihpnT0-46b39b10dde4c4d3ab55.js} +1 -1
- data/tools/tlmviewer/{GraphWidget-cTVq29cY-a2b1621941aebf04b91a.js → GraphWidget-cTVq29cY-15f039ccdd441c2d822e.js} +1 -1
- data/tools/tlmviewer/{HorizontalWidget-v1pfd94Z-68dea47aae86a697b5ec.js → HorizontalWidget-v1pfd94Z-7fae5daea78cb6404f86.js} +1 -1
- data/tools/tlmviewer/{HorizontalboxWidget-B06-c_n4-6cea5f826f211a4b1773.js → HorizontalboxWidget-B06-c_n4-3644e0f5cfd38c7ad816.js} +1 -1
- data/tools/tlmviewer/{HorizontallineWidget-DEODVJCk-73fa4c8246b21136716d.js → HorizontallineWidget-DEODVJCk-4fbc854567f1444d67e2.js} +1 -1
- data/tools/tlmviewer/{IframeWidget-n8lNXrpt-1be5473a6e0445cd8da3.js → IframeWidget-n8lNXrpt-c9ac3839a241c38d3873.js} +1 -1
- data/tools/tlmviewer/{ImageLoader-CfcErydq-d5388fbd9ca18d48777f.js → ImageLoader-CfcErydq-32c355e08df49cb796db.js} +1 -1
- data/tools/tlmviewer/{ImageviewerWidget-DE8fj06Z-68e14179fd66020a248c.js → ImageviewerWidget-DE8fj06Z-9b493e229926fc1645b5.js} +1 -1
- data/tools/tlmviewer/{LabelWidget-iUIJLhdA-d7dfa51a2fa3681fd5a1.js → LabelWidget-iUIJLhdA-b8da05b171f5d23c267d.js} +1 -1
- data/tools/tlmviewer/{LabelledWidget-KI6fMlsr-97341fba39a3782192af.js → LabelledWidget-KI6fMlsr-1056993fa33fd5ce30ac.js} +1 -1
- data/tools/tlmviewer/{LabelprogressbarWidget-C2lzmqBH-5d779964a9271a2f3471.js → LabelprogressbarWidget-C2lzmqBH-f6eed204e78e70859678.js} +1 -1
- data/tools/tlmviewer/{LabelsparklineWidget-Ci6GGm29-42611b94b127ef42f56f.js → LabelsparklineWidget-Ci6GGm29-5ed6338d01851eee88e7.js} +1 -1
- data/tools/tlmviewer/{LabelvalueWidget-oiW-JDw6-8de39f50a6de4cb09b3e.js → LabelvalueWidget-oiW-JDw6-b4aa81b943753b615550.js} +1 -1
- data/tools/tlmviewer/{LabelvaluedescWidget-Ck0AJ9g0-55ba06c31fb328771ece.js → LabelvaluedescWidget-Ck0AJ9g0-80cc005759d38dcc1673.js} +1 -1
- data/tools/tlmviewer/{LabelvaluelimitsbarWidget-aaVLaejn-33e1311e2e6c9d28286a.js → LabelvaluelimitsbarWidget-aaVLaejn-ad9ac712cdd98bec6975.js} +1 -1
- data/tools/tlmviewer/{LabelvaluelimitscolumnWidget-Uur6aqOg-2d1e7ebbc24c7cb68cba.js → LabelvaluelimitscolumnWidget-Uur6aqOg-fd5f022f1658ddc8cb35.js} +1 -1
- data/tools/tlmviewer/{LabelvaluerangebarWidget-Bs9locqu-8d48e0307c692d835a75.js → LabelvaluerangebarWidget-Bs9locqu-a2701c508d942d27ee04.js} +1 -1
- data/tools/tlmviewer/{Layout-1z8iJV5--198f54ba9d9ca75737d9.js → Layout-1z8iJV5--54d6e2a9aecae4ac8b4f.js} +1 -1
- data/tools/tlmviewer/{LedWidget-BN8IgAxJ-fdef559d38e2c5d14830.js → LedWidget-BN8IgAxJ-c79be35447c5539ecac7.js} +1 -1
- data/tools/tlmviewer/{LimitsbarWidget-BxxoKTjp-51f557d8e2f181a29c78.js → LimitsbarWidget-BxxoKTjp-b612f56dd8dfa966a569.js} +1 -1
- data/tools/tlmviewer/{LimitscolorWidget-DFDwf4In-e241d74cf5878c521a4a.js → LimitscolorWidget-DFDwf4In-3b0fa6a42ee34332828e.js} +1 -1
- data/tools/tlmviewer/{LimitscolumnWidget-CdBh2mJu-2b2a4fbb9132d0b3ade2.js → LimitscolumnWidget-CdBh2mJu-be0ed0e2ebafc6b789a8.js} +1 -1
- data/tools/tlmviewer/{LinegraphWidget-jXksfbPb-673ab41f117cc20c1410.js → LinegraphWidget-jXksfbPb-6015502d642a59e2b4a3.js} +1 -1
- data/tools/tlmviewer/{MatrixbycolumnsWidget-DCwxPjwS-7a49de6cd9b8d77a1499.js → MatrixbycolumnsWidget-DCwxPjwS-c424812ec73ed413b255.js} +1 -1
- data/tools/tlmviewer/{ProgressbarWidget-Cdu5nJC3-15f98d3bb490147e3392.js → ProgressbarWidget-Cdu5nJC3-f8f09716879fa6e1e040.js} +1 -1
- data/tools/tlmviewer/{RadiobuttonWidget-CZZGbvdG-2ea7fd2f9b1b44aaa82a.js → RadiobuttonWidget-CZZGbvdG-32d9252c5ec282eccda6.js} +1 -1
- data/tools/tlmviewer/{RadiogroupWidget-CQN3v8Ip-723afe6e1adb2beb9732.js → RadiogroupWidget-CQN3v8Ip-7a92d5cc8fd5767a452b.js} +1 -1
- data/tools/tlmviewer/{RangebarWidget-dZN9WjoZ-e45961882102c726218f.js → RangebarWidget-dZN9WjoZ-85da5d44c066a9d3ba2c.js} +1 -1
- data/tools/tlmviewer/{RollupWidget-i9DnNJl6-a5d8307c5b12777368a7.js → RollupWidget-i9DnNJl6-40e75ca4ff5aa7aacced.js} +1 -1
- data/tools/tlmviewer/{ScrollwindowWidget-54GU96Ve-ed057aea9fd60fbc774e.js → ScrollwindowWidget-54GU96Ve-b52f4b01beac8f623d76.js} +1 -1
- data/tools/tlmviewer/{SignalWidget-B_kA9eCJ-a379527b92073d8cec00.js → SignalWidget-B_kA9eCJ-869530f54ab6d40b3296.js} +1 -1
- data/tools/tlmviewer/{SpacerWidget-XoMPHak8-e61e6365b943211a77ce.js → SpacerWidget-XoMPHak8-85e7a41255944053ffd0.js} +1 -1
- data/tools/tlmviewer/{SparklineWidget-DQNsvEj9-220824f735b8f90e73a3.js → SparklineWidget-DQNsvEj9-5b739d5fbd5a38c86002.js} +1 -1
- data/tools/tlmviewer/{TabbookWidget-_HVA72t5-ca18b70d2659f6941419.js → TabbookWidget-_HVA72t5-6731112017dbc0fc9924.js} +1 -1
- data/tools/tlmviewer/{TextboxWidget-0JXn4bMH-d03239a48fb1f3e74f31.js → TextboxWidget-0JXn4bMH-b1f467a338896d4ebef4.js} +1 -1
- data/tools/tlmviewer/{TextfieldWidget-BXr9MkVW-3886093bc8d3c9afe9b4.js → TextfieldWidget-BXr9MkVW-89a626b43d5fdc9504c4.js} +1 -1
- data/tools/tlmviewer/{TimeWidget-C67uwMGH-42810bc02252b8967c9b.js → TimeWidget-C67uwMGH-23c3840bb4da143d1a63.js} +1 -1
- data/tools/tlmviewer/{TitleWidget-t_YLgUMB-40789d2da0b200b5ff37.js → TitleWidget-t_YLgUMB-8a5a4f5ba2f14b3bc227.js} +1 -1
- data/tools/tlmviewer/{TlmViewer-1a9b768e9a71cbc68553.js → TlmViewer-edfa9b2c204d3615927e.js} +3 -3
- data/tools/tlmviewer/{VWidget-j2GIGGSX-b34386fce1517be3518a.js → VWidget-j2GIGGSX-e2d11a7c3168eba8556d.js} +1 -1
- data/tools/tlmviewer/{ValueWidget-3jNtnh5i-ae25aeceebbb719bfe72.js → ValueWidget-3jNtnh5i-29fac0835cba4ca76b0f.js} +1 -1
- data/tools/tlmviewer/{ValuelimitsbarWidget-JSceOzGS-dbdc6ad1323d48657af3.js → ValuelimitsbarWidget-JSceOzGS-be98894e951c03c44c7a.js} +1 -1
- data/tools/tlmviewer/{ValuelimitscolumnWidget-HR1TNHwQ-5f3597ca5f3c1c5653c9.js → ValuelimitscolumnWidget-HR1TNHwQ-3c33f22058e283e8b35a.js} +1 -1
- data/tools/tlmviewer/{ValuerangebarWidget-DnZrho8S-a4e5379be2f9b18db273.js → ValuerangebarWidget-DnZrho8S-f6b8c4f8001e0327b27a.js} +1 -1
- data/tools/tlmviewer/{VerticalWidget-DJvoxqLE-217dfe9f1b16ed54e05a.js → VerticalWidget-DJvoxqLE-439eea49a75d218d226c.js} +1 -1
- data/tools/tlmviewer/{VerticalboxWidget-CYYyLBoO-417a8c7650c5f3a3c60c.js → VerticalboxWidget-CYYyLBoO-129ffa2826a6a207a8ed.js} +1 -1
- data/tools/tlmviewer/{Widget-Bn_S-zBo-c1e5ef4c89083cd9027f.js → Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js} +1 -1
- data/tools/tlmviewer/{main-2c4c21a1e69ada5c644a.js → main-8d91a8cfcf06e879b7ee.js} +2 -2
- data/tools/tlmviewer/main.js +1 -1
- metadata +68 -68
data/tools/tlmviewer/{TlmViewer-1a9b768e9a71cbc68553.js → TlmViewer-edfa9b2c204d3615927e.js}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
System.register(["./main-
|
1
|
+
System.register(["./main-8d91a8cfcf06e879b7ee.js","vue","vue-router","single-spa","vuex","vuetify"],function(gn,Nc){"use strict";var pe,Ki,me,li,Ji,Zi,Zt,ci,Qi,tr,er,T,U,R,ir,x,A,$,K,rt,Et,Ot,q,hi,ui,J,ge,ve,ye,Se,we,rr;return{setters:[P=>{pe=P.d,Ki=P.U,me=P.F,li=P.B,Ji=P.W,Zi=P.I,Zt=P.b,ci=P._,Qi=P.N,tr=P.a,er=P.v},P=>{T=P.resolveComponent,U=P.createBlock,R=P.openBlock,ir=P.Teleport,x=P.createVNode,A=P.withCtx,$=P.createElementVNode,K=P.toDisplayString,rt=P.createElementBlock,Et=P.Fragment,Ot=P.renderList,q=P.createTextVNode,hi=P.mergeProps,ui=P.createSlots,J=P.createCommentVNode,ge=P.normalizeStyle,ve=P.withDirectives,ye=P.vShow,Se=P.normalizeProps,we=P.guardReactiveProps,rr=P.withModifiers},null,null,null,null],execute:function(){var P=document.createElement("style");P.textContent=`.v-alert[data-v-65de44e6]{margin-bottom:0}i.v-icon.mdi-chevron-down{animation:pulse 2s 3}@keyframes pulse{0%{-webkit-box-shadow:0 0 0 0 rgba(255,255,255,.4)}70%{-webkit-box-shadow:0 0 0 10px rgba(255,255,255,0)}to{-webkit-box-shadow:0 0 0 0 rgba(255,255,255,0)}}.v-application{margin-bottom:120px}.v-expansion-panel-text .container[data-v-f16a6a45]{margin:0}.v-expansion-panel-title[data-v-f16a6a45]{min-height:10px;padding:5px}.grid[data-v-f16a6a45]{position:relative}.item[data-v-f16a6a45]{position:absolute;display:block;margin:5px;z-index:1}.item.muuri-item-dragging[data-v-f16a6a45]{z-index:3}.item.muuri-item-releasing[data-v-f16a6a45]{z-index:2}.item.muuri-item-hidden[data-v-f16a6a45]{z-index:0}.item-content[data-v-f16a6a45]{position:relative;cursor:pointer;border-radius:6px}
|
2
2
|
/*$vite$:1*/`,document.head.appendChild(P);const sr="openc3-ace-vim-mode-enabled",di="ace/keyboard/vim",nr={isVimModeEnabled(){return localStorage.getItem(sr)==="true"},setVimMode(t){localStorage.setItem(sr,JSON.stringify(!!t))},toggleVimMode(t){this.isVimModeEnabled()?(t.setKeyboardHandler(null),this.setVimMode(!1)):(t.setKeyboardHandler(di),this.setVimMode(!0)),t.focus()},applyVimModeIfEnabled(t,{saveFn:e}={}){this.isVimModeEnabled()?(t.setKeyboardHandler(di),ace.config.loadModule(di,i=>{i.CodeMirror.Vim.defineEx("write","w",r=>{typeof e=="function"?e():r.ace.execCommand("save")})})):t.setKeyboardHandler(null)}},vn={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(t){return t.replaceAll(" ","-").toLowerCase()},subMenuClick(t){t.command(t),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},yn={class:"app-title mr-2"};function Sn(t,e,i,r,s,n){const o=T("v-col"),a=T("v-row"),l=T("v-icon"),c=T("v-btn"),h=T("v-divider"),d=T("v-list-item-title"),m=T("v-list-item"),f=T("v-list"),b=T("v-menu"),u=T("v-radio"),_=T("v-list-item-action"),y=T("v-radio-group"),g=T("v-checkbox");return R(),U(ir,{to:"#openc3-menu"},[x(a,{"no-gutters":""},{default:A(()=>[x(o,{"align-self":"end"},{default:A(()=>[$("span",yn,K(i.title),1)]),_:1})]),_:1}),x(a,{dense:"",class:"flex-nowrap"},{default:A(()=>[(R(!0),rt(Et,null,Ot(i.menus,(E,v)=>(R(),U(b,{ref_for:!0,ref:"topmenu",key:v},{activator:A(({props:S})=>[x(c,hi({ref_for:!0},S,{variant:"outlined",class:"mx-1 menu-button",text:E.label,"data-test":n.formatDT(`${i.title} ${E.label}`)}),{append:A(()=>[x(l,{class:"menu-button-icon"},{default:A(()=>e[0]||(e[0]=[q(" mdi-menu-down ")])),_:1})]),_:2},1040,["text","data-test"])]),default:A(()=>[x(f,null,{default:A(()=>[(R(!0),rt(Et,null,Ot(E.items,(S,C)=>(R(),rt(Et,null,[S.divider?(R(),U(h,{key:C+"-divider"})):S.subMenu&&S.subMenu.length>0?(R(),rt("div",{key:C+"-submenu"},[(R(),U(b,{"open-on-hover":"",location:"right",key:C},{activator:A(({props:M})=>[(R(),U(m,hi({ref_for:!0},M,{disabled:S.disabled,key:C}),ui({append:A(()=>[x(l,null,{default:A(()=>e[1]||(e[1]=[q(" mdi-chevron-right ")])),_:1})]),default:A(()=>[!S.radio&&!S.checkbox?(R(),U(d,{key:0,style:ge("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:A(()=>[q(K(S.label),1)]),_:2},1032,["style"])):J("",!0)]),_:2},[S.icon?{name:"prepend",fn:A(()=>[x(l,{disabled:S.disabled},{default:A(()=>[q(K(S.icon),1)]),_:2},1032,["disabled"])]),key:"0"}:void 0]),1040,["disabled"]))]),default:A(()=>[x(f,null,{default:A(()=>[(R(!0),rt(Et,null,Ot(S.subMenu,(M,F)=>(R(),U(m,{key:F,"prepend-icon":M.icon,onClick:N=>n.subMenuClick(M)},{default:A(()=>[x(d,null,{default:A(()=>[q(K(M.label),1)]),_:2},1024)]),_:2},1032,["prepend-icon","onClick"]))),128))]),_:2},1024)]),_:2},1024))])):S.radioGroup?(R(),U(y,{"model-value":S.value,"onUpdate:modelValue":S.command,key:C+"-radio-group","hide-details":"",density:"compact",class:"ma-0 pa-0"},{default:A(()=>[(R(!0),rt(Et,null,Ot(S.choices,(M,F)=>(R(),U(m,{key:F+"-choice"},{default:A(()=>[x(_,{class:"list-action"},{default:A(()=>[x(u,{color:"secondary",label:M.label,value:M.value,density:"compact","hide-details":""},null,8,["label","value"])]),_:2},1024)]),_:2},1024))),128))]),_:2},1032,["model-value","onUpdate:modelValue"])):(R(),U(m,{onClick:M=>S.command(S),disabled:S.disabled,"data-test":n.formatDT(`${i.title} ${E.label} ${S.label}`),key:C+"-list"},ui({default:A(()=>[S.checkbox?(R(),U(_,{key:0,class:"list-action"},{default:A(()=>[x(g,{modelValue:S.checked,"onUpdate:modelValue":M=>S.checked=M,label:S.label,color:"secondary",density:"compact","hide-details":""},null,8,["modelValue","onUpdate:modelValue","label"])]),_:2},1024)):J("",!0),!S.radio&&!S.checkbox?(R(),U(d,{key:1,style:ge("cursor: pointer;"+(S.disabled?"opacity: 0.2":""))},{default:A(()=>[q(K(S.label),1)]),_:2},1032,["style"])):J("",!0)]),_:2},[S.icon?{name:"prepend",fn:A(()=>[x(l,{icon:S.icon,disabled:S.disabled},null,8,["icon","disabled"])]),key:"0"}:void 0]),1032,["onClick","disabled","data-test"]))],64))),256))]),_:2},1024)]),_:2},1024))),128))]),_:1})])}const wn=pe(vn,[["render",Sn],["__scopeId","data-v-4d454b93"]]);let bn=class{constructor(){me.get("/openc3-api/autocomplete/data/screen").then(e=>{this.autocompleteData=e.data}),this.api=new li}async getCompletions(e,i,r,s,n){let o=i.getLine(r.row).slice(0,r.column).trimStart().split(/ (?![^<]*>)/),a=this.autocompleteData;o.length>1&&(a=a.find(h=>h.caption===o[0]));let l={},c=!0;if(a&&a.params){a.params.length==o.length-1&&(c=!1);let h=a.params[o.length-2];if(h["Target name"])a=(await this.api.get_target_names()).reduce((d,m)=>(d[m]=1,d),{});else if(h["Packet name"]){let d=o[o.length-2];a=(await this.api.get_all_tlm(d)).reduce((m,f)=>(m[f.packet_name]=f.description,m),{})}else if(h["Item name"]){let d=o[o.length-3],m=o[o.length-2];a=(await this.api.get_tlm(d,m)).items.reduce((f,b)=>(f[b.name]=b.description,f),{})}else a=h;l=Object.keys(a||{}).map(d=>{let m={value:d+(c?" ":""),command:c&&"startAutocomplete"};return typeof a[d]=="string"&&(m.meta=a[d]),m})}else l=a;n(null,l)}};const En={props:{modelValue:Boolean,target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},errors:{type:Array,default:()=>[]}},emits:["cancel","delete","save","update:modelValue"],data(){return{file:null,docsKeyword:"",contextMenu:!1,menuX:0,menuY:0}},computed:{editErrors:function(){if(this.definition===""&&!this.file)return["Input can not be blank."];if(this.errors.length!==0){let t=new Set,e=[];const i=this.errors.toSorted((r,s)=>r.lineNumber-s.lineNumber);for(const r of i){let s=`At ${r.lineNumber}: (${r.line}) ${r.message}.`;r.usage&&(s+=` Usage: ${r.usage}`),e.push(s),t.add(r.message)}return e}return[]},show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted:function(){this.editor=Zt.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight");const t=this.buildScreenMode();this.editor.session.setMode(new t),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 bn],this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.definition),this.editor.clearSelection(),nr.applyVimModeIfEnabled(this.editor),this.editor.focus()},beforeUnmount(){this.editor.destroy(),this.editor.container.remove()},methods:{toggleVimMode:function(){nr.toggleVimMode(this.editor)},showContextMenu:function(t){this.menuX=t.pageX,this.menuY=t.pageY;let e=this.editor.getCursorPosition(),i=this.editor.session.getTokenAt(e.row,e.column);if(i){let r=i.value.trim();r.includes(" ")?this.docsKeyword=r.split(" ")[0]:this.docsKeyword=r,this.contextMenu=!0}},openDocumentation(){window.open(`${window.location.origin}/tools/staticdocs/docs/configuration/telemetry-screens#${this.docsKeyword.toLowerCase()}`,"_blank")},buildScreenMode(){let t=Zt.require("ace/lib/oop"),e=Zt.require("ace/mode/text_highlight_rules").TextHighlightRules,i=this.keywords.join("|"),r=function(){this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"constant.numeric",regex:"\\b\\d+(?:\\.\\d+)?\\b"},{token:"keyword",regex:new RegExp(`^\\s*(${i})\\b`)}]},this.normalizeRules()};t.inherits(r,e);let s=function(){this.HighlightRules=r},n=Zt.require("ace/mode/text").Mode;return t.inherits(s,n),(function(){this.$id="ace/mode/openc3"}).call(s.prototype),s},downloadScreen:function(){const t=new Blob([this.editor.getValue()],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(t),e.setAttribute("download",`${this.screen.toLowerCase()}.txt`),e.click()},loadFile:function(){const t=new FileReader;t.readAsText(this.file);const e=this;t.onload=function(){e.editor.setValue(t.result),e.file=null}},deleteScreen:function(){this.$dialog.confirm("Are you sure you want to delete this screen?!",{okText:"Delete",cancelText:"Cancel"}).then(t=>{this.$emit("delete")})}}},xn=["textContent"];function An(t,e,i,r,s,n){const o=T("v-btn"),a=T("v-spacer"),l=T("v-toolbar"),c=T("v-row"),h=T("v-file-input"),d=T("v-list-item-title"),m=T("v-list-item"),f=T("v-divider"),b=T("v-list"),u=T("v-menu"),_=T("v-card-text"),y=T("v-card"),g=T("v-dialog");return R(),U(g,{modelValue:n.show,"onUpdate:modelValue":e[5]||(e[5]=E=>n.show=E),persistent:"",width:"75vw"},{default:A(()=>[x(y,null,{default:A(()=>[x(l,{height:"24"},{default:A(()=>[x(o,{class:"mx-2",icon:"mdi-delete",variant:"text",density:"compact","data-test":"delete-screen-icon",onClick:n.deleteScreen},null,8,["onClick"]),x(a),$("span",null," Edit Screen: "+K(i.target)+" "+K(i.screen),1),x(a),x(o,{class:"mx-2",icon:"mdi-download",variant:"text",density:"compact","data-test":"download-screen-icon",onClick:n.downloadScreen},null,8,["onClick"])]),_:1}),x(_,{style:{"max-height":"90vh"}},{default:A(()=>[x(c,{class:"mt-3"},{default:A(()=>e[6]||(e[6]=[q(" Upload a screen file. ")])),_:1}),x(c,{"no-gutters":"",align:"center"},{default:A(()=>[x(o,{disabled:!s.file,color:"primary",class:"mr-3","data-test":"edit-screen-load",onClick:n.loadFile},{default:A(()=>e[7]||(e[7]=[q(" Load ")])),_:1},8,["disabled","onClick"]),x(h,{modelValue:s.file,"onUpdate:modelValue":e[0]||(e[0]=E=>s.file=E),"truncate-length":"15",accept:".txt",label:"Click to select .txt screen file."},null,8,["modelValue"])]),_:1}),x(c,{class:"mb-2"},{default:A(()=>e[8]||(e[8]=[q(" Edit the screen definition. ")])),_:1}),x(c,{class:"mb-2"},{default:A(()=>[$("pre",{ref:"editor",class:"editor",onContextmenu:e[1]||(e[1]=rr((...E)=>n.showContextMenu&&n.showContextMenu(...E),["prevent"]))},null,544),x(u,{modelValue:s.contextMenu,"onUpdate:modelValue":e[2]||(e[2]=E=>s.contextMenu=E),target:[s.menuX,s.menuY]},{default:A(()=>[x(b,null,{default:A(()=>[x(m,{link:""},{default:A(()=>[x(d,{onClick:n.openDocumentation},{default:A(()=>[q(K(s.docsKeyword)+" documentation ",1)]),_:1},8,["onClick"])]),_:1}),x(f),x(m,{title:"Toggle Vim mode","prepend-icon":"extras:vim",onClick:n.toggleVimMode},null,8,["onClick"])]),_:1})]),_:1},8,["modelValue","target"])]),_:1}),x(c,{style:{"max-height":"120px","overflow-y":"auto"}},{default:A(()=>[(R(!0),rt(Et,null,Ot(n.editErrors,(E,v)=>(R(),rt("div",{key:v},[$("span",{class:"text-red",textContent:K(E)},null,8,xn)]))),128))]),_:1}),x(c,{class:"mt-5"},{default:A(()=>[e[11]||(e[11]=$("span",null," Ctrl-space brings up autocomplete. Right click keywords for documentation. ",-1)),x(a),x(o,{class:"mx-2",variant:"outlined","data-test":"edit-screen-cancel",onClick:e[3]||(e[3]=E=>t.$emit("cancel"))},{default:A(()=>e[9]||(e[9]=[q(" Cancel ")])),_:1}),x(o,{class:"mx-2",color:"primary","data-test":"edit-screen-save",onClick:e[4]||(e[4]=E=>t.$emit("save",t.editor.getValue()))},{default:A(()=>e[10]||(e[10]=[q(" Save ")])),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])}const Tn=pe(En,[["render",An],["__scopeId","data-v-65b25a74"]]),fi=20,Dn={components:{EditScreenDialog:Tn},mixins:[Ki],props:{target:{type:String,default:""},screen:{type:String,default:""},definition:{type:String,default:""},keywords:{type:Array,default:()=>[]},initialFloated:{type:Boolean,default:!1},initialTop:{type:Number,default:0},initialLeft:{type:Number,default:0},initialZ:{type:Number,default:0},minZ:{type:Number,default:0},fixFloated:{type:Boolean,default:!1},count:{type:Number,default:0},showClose:{type:Boolean,default:!0},timeZone:{type:String,default:"local"},inline:{type:Boolean,default:!1}},emits:["close-screen","delete-screen","drag-screen","edit-screen","float-screen","min-max-screen","unfloat-screen"],data(){return{api:null,backup:"",currentDefinition:this.definition,editDialog:!1,expand:!0,configParser:null,configError:!1,currentLayout:null,layoutStack:[],namedWidgets:{},dynamicWidgets:[],width:null,height:null,staleTime:30,cacheTimeout:.1,globalSettings:[],substitute:!1,original_target_name:null,force_substitute:!1,pollingPeriod:1,errors:[],errorDialog:!1,screenKey:null,dragX:0,dragY:0,floated:this.initialFloated,top:this.initialTop,left:this.initialLeft,zIndex:this.initialZ,changeCounter:0,screenItems:[],screenValues:{},updateCounter:0,screenId:Zi.uniqueId("openc3-screen_")}},computed:{error:function(){if(this.errorDialog&&this.errors.length>0){let t=new Set,e="";for(const i of this.errors){if(t.has(i.message))continue;let r=`${i.time}: (${i.type}) ${i.message}
|
3
3
|
`;e+=r,t.add(i.message)}return e}return null},computedStyle(){var t;let e={};const i=this.width||((t=this.$refs.bar)==null?void 0:t.clientWidth);return this.floated&&(e.position="absolute",e.top=this.top+"px",e.left=this.left+"px",e.width=i+"px"),e}},watch:{count:{handler(t,e){this.currentDefinition=this.definition,this.rerender()}}},errorCaptured(t,e,i){return this.errors.length<fi&&(t.usage?this.errors.push({type:"usage",message:t.message,usage:t.usage,line:t.line,lineNumber:t.lineNumber,time:new Date().getTime()}):this.errors.push({type:"error",message:t,time:new Date().getTime()}),console.log(this.errors),this.configError=!0),!1},created(){this.api=new li,this.configParser=new Ji,this.parseDefinition(),this.screenKey=Math.floor(Math.random()*1e6)},mounted(){this.updateRefreshInterval(),this.floated&&(this.$refs.bar.onmousedown=this.dragMouseDown,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex)},unmounted(){this.updater!=null&&(clearInterval(this.updater),this.updater=null)},methods:{open(t,e){this.$parent.showScreen(t,e)},close(t,e){this.$parent.closeScreenByName(t,e)},closeAll(){this.$parent.closeAll()},clearErrors:function(){this.errors=[],this.configError=!1},updateRefreshInterval:function(){let t=this.pollingPeriod*1e3;this.updater&&clearInterval(this.updater),this.updater=setInterval(()=>{this.update()},t)},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,(t,e,i,r)=>{if(t)switch(t){case"SCREEN":this.configParser.verify_num_parameters(3,4,`${t} <Width or AUTO> <Height or AUTO> <Polling Period>`),this.width=parseInt(e[0]),this.height=parseInt(e[1]),this.pollingPeriod=parseFloat(e[2]);break;case"END":this.configParser.verify_num_parameters(0,0,`${t}`),this.layoutStack.pop(),this.currentLayout=this.layoutStack[this.layoutStack.length-1];break;case"STALE_TIME":this.configParser.verify_num_parameters(1,1,`${t} <Time (s)>`),this.staleTime=parseInt(e[0]);break;case"SETTING":case"SUBSETTING":(this.currentLayout.widgets[this.currentLayout.widgets.length-1]??this.currentLayout).settings.push(e);break;case"GLOBAL_SETTING":case"GLOBAL_SUBSETTING":this.globalSettings.push(e);break;default:this.processWidget(t,e,i,r);break}}),typeof this.layoutStack[0]>"u"){let t=[],e=[];for(const i of this.dynamicWidgets)t.push(i.name),e.push(i.lineNumber);this.errors.length<fi&&(this.errors.push({type:"usage",message:`Unknown widget! Are these widgets: ${t.join(",")}?`,lineNumber:e.join(","),time:new Date().getTime()}),this.configError=!0),this.layoutStack[0]={type:"VerticalWidget",parameters:[],widgets:[]}}else this.applyGlobalSettings(this.layoutStack[0].widgets)},openEdit:function(){this.backup=this.currentDefinition.repeat(1),this.editDialog=!0},upScreen:function(){this.zIndex+=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex])},downScreen:function(){this.zIndex>this.minZ&&(this.zIndex-=1,this.$refs.bar.parentElement.parentElement.style="z-index: "+this.zIndex,this.$emit("drag-screen",[this.floated,this.top,this.left,this.zIndex]))},floatScreen:function(){if(this.floated)this.$refs.bar.onmousedown=null,this.$refs.bar.parentElement.parentElement.style="z-index: 0",this.floated=!1,this.$emit("unfloat-screen",[this.floated,this.top,this.left,this.zIndex]);else{let t=this.$refs.bar.parentElement.parentElement.parentElement.getBoundingClientRect(),e=this.$refs.bar.getBoundingClientRect();this.top=e.top-t.top-5,this.left=e.left-t.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(t){t=t||window.event,t.preventDefault(),this.dragX=t.clientX,this.dragY=t.clientY,document.onmouseup=this.closeDragElement,document.onmousemove=this.elementDrag},elementDrag:function(t){t=t||window.event,t.preventDefault();let e=this.dragX-t.clientX,i=this.dragY-t.clientY;this.dragX=t.clientX,this.dragY=t.clientY,this.top=this.$refs.bar.offsetTop-i,this.left=this.$refs.bar.offsetLeft-e,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(t){this.editDialog=!1,this.currentDefinition=t,this.rerender(),this.$nextTick(function(){me.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:this.target,screen:this.screen,text:this.currentDefinition}},0)})},deleteScreen:function(){this.editDialog=!1,me.delete(`/openc3-api/screen/${this.target}/${this.screen}`).then(t=>{this.$emit("delete-screen")})},minMaxTransition:function(){this.expand=!this.expand,this.$emit("min-max-screen")},processWidget:function(t,e,i,r){let s=null;t==="NAMED_WIDGET"&&(this.configParser.verify_num_parameters(2,null,`${t} <Widget Name> <Widget Type> <Widget Settings... (optional)>`),s=e[0].toUpperCase(),t=e[1].toUpperCase(),e=e.slice(2,e.length));const n=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()+"Widget";let o=[];if(o.push(["__SCREEN_ID__",this.screenId]),s!==null&&o.push(["NAMED_WIDGET",s]),t==="VERTICAL"||t==="VERTICALBOX"||t==="HORIZONTAL"||t==="HORIZONTALBOX"||t==="MATRIXBYCOLUMNS"||t==="TABBOOK"||t==="TABITEM"||t==="CANVAS"||t==="RADIOGROUP"||t==="SCROLLWINDOW"){const a={type:n,parameters:e,settings:o,screenValues:this.screenValues,screenTimeZone:this.timeZone,widgets:[]};this.layoutStack.push(a),this.currentLayout.widgets.push(a),this.currentLayout=a}else if(this.$options.components[n])this.currentLayout.widgets.push({type:n,target:this.target,parameters:e,settings:o,screenValues:this.screenValues,screenTimeZone:this.timeZone,line:i,lineNumber:r});else{let a={type:"DynamicWidget",target:this.target,parameters:e,settings:o,screenValues:this.screenValues,screenTimeZone:this.timeZone,name:n,line:i,lineNumber:r};this.currentLayout.widgets.push(a),this.dynamicWidgets.push(a)}},applyGlobalSettings:function(t){t.forEach(e=>{this.globalSettings.forEach(i=>{e.type.toLowerCase()===i[0].toLowerCase()+"widget"&&(e.settings.find(r=>r[0]===i[1])||e.settings.push(i.slice(1)))}),e.widgets&&this.applyGlobalSettings(e.widgets)})},update:function(){this.screenItems.length!==0&&this.configError===!1&&this.api.get_tlm_values(this.screenItems,this.staleTime,this.cacheTimeout).then(t=>{this.clearErrors(),this.updateValues(t)}).catch(t=>{let e=JSON.stringify(t,null,2);e.includes("no response received")||(this.configError=!0),this.errors.find(i=>i.message===e)||this.errors.length<fi&&this.errors.push({type:"error",message:e,time:new Date().getTime()})})},updateValues:function(t){this.updateCounter+=1;for(let e=0;e<t.length;e++)t[e].push(this.updateCounter),this.screenValues[this.screenItems[e]]=t[e]},addItem:function(t){this.screenItems.push(t),this.screenValues[t]=[null,null,0]},deleteItem:function(t){let e=this.screenItems.indexOf(t);this.screenItems.splice(e,1)}}},Cn={ref:"screen",class:"pa-1",style:{position:"relative"}},kn={key:1,class:"pa-1",style:{position:"relative"}};function Rn(t,e,i,r,s,n){const o=T("v-btn"),a=T("v-tooltip"),l=T("v-spacer"),c=T("v-toolbar"),h=T("v-overlay"),d=T("vertical-widget"),m=T("v-expand-transition"),f=T("v-card"),b=T("edit-screen-dialog"),u=T("v-textarea"),_=T("v-dialog");return R(),rt("div",{ref:"bar",style:ge(n.computedStyle)},[i.inline?J("",!0):(R(),U(f,{key:0,"min-height":s.height,"min-width":s.width,style:{cursor:"default"}},{default:A(()=>[x(c,{height:"24"},{default:A(()=>[ve(x(o,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:e[0]||(e[0]=()=>{s.errorDialog=!0})},null,512),[[ye,s.errors.length!==0]]),x(o,{icon:"mdi-pencil",variant:"text",density:"compact","data-test":"edit-screen-icon","aria-label":"Edit Screen",onClick:n.openEdit},null,8,["onClick"]),i.fixFloated?J("",!0):(R(),U(a,{key:0,"open-delay":600,location:"top"},{activator:A(({props:y})=>[$("div",Se(we(y)),[x(o,{icon:s.floated?"mdi-balloon":"mdi-view-grid-outline",variant:"text",density:"compact","data-test":"float-screen-icon","aria-label":s.floated?"Unfloat Screen":"Float Screen",onClick:n.floatScreen},null,8,["icon","aria-label","onClick"])],16)]),default:A(()=>[$("span",null,K(s.floated?"Unfloat Screen":"Float Screen"),1)]),_:1})),s.floated?(R(),U(a,{key:1,"open-delay":600,location:"top"},{activator:A(({props:y})=>[$("div",Se(we(y)),[x(o,{icon:"mdi-arrow-up",variant:"text",density:"compact","data-test":"up-screen-icon","aria-label":"Move Screen Up",onClick:n.upScreen},null,8,["onClick"])],16)]),default:A(()=>[e[5]||(e[5]=$("span",null," Move Screen Up ",-1))]),_:1})):J("",!0),s.floated&&s.zIndex>i.minZ?(R(),U(a,{key:2,"open-delay":600,location:"top"},{activator:A(({props:y})=>[$("div",Se(we(y)),[x(o,{icon:"mdi-arrow-down",variant:"text",density:"compact","data-test":"down-screen-icon","aria-label":"Move Screen Down",onClick:n.downScreen},null,8,["onClick"])],16)]),default:A(()=>[e[6]||(e[6]=$("span",null," Move Screen Down ",-1))]),_:1})):J("",!0),x(l),$("span",null,K(i.target)+" "+K(i.screen),1),x(l),s.expand?(R(),U(o,{key:3,icon:"mdi-window-minimize",variant:"text",density:"compact","data-test":"minimize-screen-icon","aria-label":"Minimize Screen",onClick:n.minMaxTransition},null,8,["onClick"])):(R(),U(o,{key:4,icon:"mdi-window-maximize",variant:"text",density:"compact","data-test":"maximize-screen-icon","aria-label":"Maximize Screen",onClick:n.minMaxTransition},null,8,["onClick"])),i.showClose?(R(),U(o,{key:5,icon:"mdi-close-box",variant:"text",density:"compact","data-test":"close-screen-icon","aria-label":"Close Screen",onClick:e[1]||(e[1]=y=>t.$emit("close-screen"))})):J("",!0)]),_:1}),s.editDialog?J("",!0):(R(),U(m,{key:0},{default:A(()=>[ve($("div",Cn,[x(h,{style:{"pointer-events":"none"},"model-value":s.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),(R(),U(d,{key:s.screenKey,widgets:s.layoutStack[0].widgets,"screen-values":s.screenValues,"screen-time-zone":i.timeZone,onAddItem:n.addItem,onDeleteItem:n.deleteItem,onOpen:n.open,onClose:n.close,onCloseAll:n.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))],512),[[ye,s.expand]])]),_:1}))]),_:1},8,["min-height","min-width"])),i.inline?(R(),rt("div",kn,[x(h,{style:{"pointer-events":"none"},"model-value":s.errors.length!==0,opacity:"0.8",absolute:"",attach:"","scroll-strategy":"none"},null,8,["model-value"]),ve(x(o,{icon:"mdi-alert",variant:"text",density:"compact","data-test":"error-graph-icon","aria-label":"Show Errors",onClick:e[2]||(e[2]=()=>{s.errorDialog=!0})},null,512),[[ye,s.errors.length!==0]]),(R(),U(d,{key:s.screenKey,widgets:s.layoutStack[0].widgets,"screen-values":s.screenValues,"screen-time-zone":i.timeZone,onAddItem:n.addItem,onDeleteItem:n.deleteItem,onOpen:n.open,onClose:n.close,onCloseAll:n.closeAll},null,8,["widgets","screen-values","screen-time-zone","onAddItem","onDeleteItem","onOpen","onClose","onCloseAll"]))])):J("",!0),s.editDialog?(R(),U(b,{key:2,modelValue:s.editDialog,"onUpdate:modelValue":e[3]||(e[3]=y=>s.editDialog=y),target:i.target,screen:i.screen,definition:s.currentDefinition,keywords:i.keywords,errors:s.errors,onSave:n.saveEdit,onCancel:n.cancelEdit,onDelete:n.deleteScreen},null,8,["modelValue","target","screen","definition","keywords","errors","onSave","onCancel","onDelete"])):J("",!0),x(_,{modelValue:s.errorDialog,"onUpdate:modelValue":e[4]||(e[4]=y=>s.errorDialog=y),width:"60vw"},{default:A(()=>[x(c,{height:"24"},{default:A(()=>[x(l),$("span",null," Screen: "+K(i.target)+" "+K(i.screen)+" Errors ",1),x(l)]),_:1}),x(f,null,{default:A(()=>[x(u,{class:"errors",readonly:"",rows:"13","model-value":n.error},null,8,["model-value"])]),_:1})]),_:1},8,["modelValue"])],4)}const In=pe(Dn,[["render",Rn],["__scopeId","data-v-66e2e816"]]);/**
|
4
4
|
* Muuri v0.9.5
|
@@ -25,11 +25,11 @@ System.register(["./main-2c4c21a1e69ada5c644a.js","vue","vue-router","single-spa
|
|
25
25
|
`+n.map(Ks).join(`
|
26
26
|
`):" "+Ks(n[0]):"as no adapter specified";throw new O("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:Ui};function Fi(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Kt(null,t)}function Zs(t){return Fi(t),t.headers=at.from(t.headers),t.data=Vi.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Js.getAdapter(t.adapter||de.adapter)(t).then(function(e){return Fi(t),e.data=Vi.call(t,t.transformResponse,e),e.headers=at.from(e.headers),e},function(e){return Us(e)||(Fi(t),e&&e.response&&(e.response.data=Vi.call(t,t.transformResponse,e.response),e.response.headers=at.from(e.response.headers))),Promise.reject(e)})}const Qs="1.9.0",ei={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{ei[t]=function(i){return typeof i===t||"a"+(e<1?"n ":" ")+t}});const tn={};ei.transitional=function(t,e,i){function r(s,n){return"[Axios v"+Qs+"] Transitional option '"+s+"'"+n+(i?". "+i:"")}return(s,n,o)=>{if(t===!1)throw new O(r(n," has been removed"+(e?" in "+e:"")),O.ERR_DEPRECATED);return e&&!tn[n]&&(tn[n]=!0,console.warn(r(n," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(s,n,o):!0}},ei.spelling=function(t){return(e,i)=>(console.warn(`${i} is likely a misspelling of ${t}`),!0)};function Ol(t,e,i){if(typeof t!="object")throw new O("options must be an object",O.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let s=r.length;for(;s-- >0;){const n=r[s],o=e[n];if(o){const a=t[n],l=a===void 0||o(a,n,t);if(l!==!0)throw new O("option "+n+" must be "+l,O.ERR_BAD_OPTION_VALUE);continue}if(i!==!0)throw new O("Unknown option "+n,O.ERR_BAD_OPTION)}}const ii={assertOptions:Ol,validators:ei},gt=ii.validators;let Ut=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Ps,response:new Ps}}async request(t,e){try{return await this._request(t,e)}catch(i){if(i instanceof Error){let r={};Error.captureStackTrace?Error.captureStackTrace(r):r=new Error;const s=r.stack?r.stack.replace(/^.+\n/,""):"";try{i.stack?s&&!String(i.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(i.stack+=`
|
27
27
|
`+s):i.stack=s}catch{}}throw i}}_request(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=Bt(this.defaults,e);const{transitional:i,paramsSerializer:r,headers:s}=e;i!==void 0&&ii.assertOptions(i,{silentJSONParsing:gt.transitional(gt.boolean),forcedJSONParsing:gt.transitional(gt.boolean),clarifyTimeoutError:gt.transitional(gt.boolean)},!1),r!=null&&(p.isFunction(r)?e.paramsSerializer={serialize:r}:ii.assertOptions(r,{encode:gt.function,serialize:gt.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),ii.assertOptions(e,{baseUrl:gt.spelling("baseURL"),withXsrfToken:gt.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let n=s&&p.merge(s.common,s[e.method]);s&&p.forEach(["delete","get","head","post","put","patch","common"],f=>{delete s[f]}),e.headers=at.concat(n,s);const o=[];let a=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(e)===!1||(a=a&&f.synchronous,o.unshift(f.fulfilled,f.rejected))});const l=[];this.interceptors.response.forEach(function(f){l.push(f.fulfilled,f.rejected)});let c,h=0,d;if(!a){const f=[Zs.bind(this),void 0];for(f.unshift.apply(f,o),f.push.apply(f,l),d=f.length,c=Promise.resolve(e);h<d;)c=c.then(f[h++],f[h++]);return c}d=o.length;let m=e;for(h=0;h<d;){const f=o[h++],b=o[h++];try{m=f(m)}catch(u){b.call(this,u);break}}try{c=Zs.call(this,m)}catch(f){return Promise.reject(f)}for(h=0,d=l.length;h<d;)c=c.then(l[h++],l[h++]);return c}getUri(t){t=Bt(this.defaults,t);const e=js(t.baseURL,t.url,t.allowAbsoluteUrls);return Ns(e,t.params,t.paramsSerializer)}};p.forEach(["delete","get","head","options"],function(t){Ut.prototype[t]=function(e,i){return this.request(Bt(i||{},{method:t,url:e,data:(i||{}).data}))}}),p.forEach(["post","put","patch"],function(t){function e(i){return function(r,s,n){return this.request(Bt(n||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:r,data:s}))}}Ut.prototype[t]=e(),Ut.prototype[t+"Form"]=e(!0)});let Ll=class mn{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let i;this.promise=new Promise(function(s){i=s});const r=this;this.promise.then(s=>{if(!r._listeners)return;let n=r._listeners.length;for(;n-- >0;)r._listeners[n](s);r._listeners=null}),this.promise.then=s=>{let n;const o=new Promise(a=>{r.subscribe(a),n=a}).then(s);return o.cancel=function(){r.unsubscribe(n)},o},e(function(s,n,o){r.reason||(r.reason=new Kt(s,n,o),i(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const i=this._listeners.indexOf(e);i!==-1&&this._listeners.splice(i,1)}toAbortSignal(){const e=new AbortController,i=r=>{e.abort(r)};return this.subscribe(i),e.signal.unsubscribe=()=>this.unsubscribe(i),e.signal}static source(){let e;return{token:new mn(function(i){e=i}),cancel:e}}};function Nl(t){return function(e){return t.apply(null,e)}}function Pl(t){return p.isObject(t)&&t.isAxiosError===!0}const Xi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Xi).forEach(([t,e])=>{Xi[e]=t});function en(t){const e=new Ut(t),i=ys(Ut.prototype.request,e);return p.extend(i,Ut.prototype,e,{allOwnKeys:!0}),p.extend(i,e,null,{allOwnKeys:!0}),i.create=function(r){return en(Bt(t,r))},i}const z=en(de);z.Axios=Ut,z.CanceledError=Kt,z.CancelToken=Ll,z.isCancel=Us,z.VERSION=Qs,z.toFormData=Ke,z.AxiosError=O,z.Cancel=z.CanceledError,z.all=function(t){return Promise.all(t)},z.spread=Nl,z.isAxiosError=Pl,z.mergeConfig=Bt,z.AxiosHeaders=at,z.formToJSON=t=>Vs(p.isHTMLForm(t)?new FormData(t):t),z.getAdapter=Js.getAdapter,z.HttpStatusCode=Xi,z.default=z;const{Axios:Pc,AxiosError:Mc,CanceledError:Vc,isCancel:Bc,CancelToken:Uc,VERSION:Fc,all:Xc,Cancel:Yc,isAxiosError:jc,spread:qc,toFormData:Hc,AxiosHeaders:zc,HttpStatusCode:Wc,formToJSON:$c,getAdapter:Gc,mergeConfig:Kc}=z,Yi=z.create({baseURL:location.origin,timeout:6e4,params:{}});Yi.interceptors.response.use(t=>t,t=>{var e,i,r,s,n,o,a,l,c,h,d;if(t.response){if(t.response.status===401&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then(function(b){b&&OpenC3Auth.setTokens()}),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let m=`HTTP ${t.response.status} - `;(e=t.response)!=null&&e.statusText&&(m+=`${t.response.statusText} `),(r=(i=t.response)==null?void 0:i.config)!=null&&r.data&&(m+=`${t.response.config.data} `),(n=(s=t.response)==null?void 0:s.data)!=null&&n.message?m+=`${t.response.data.message}`:(a=(o=t.response)==null?void 0:o.data)!=null&&a.exception?m+=`${t.response.data.exception}`:(h=(c=(l=t.response)==null?void 0:l.data)==null?void 0:c.error)!=null&&h.message?(t.response.data.error.class&&(m+=`${t.response.data.error.class} `),m+=`${t.response.data.error.message}`):m+=`${(d=t.response)==null?void 0:d.data}`;const{$cosmosNotify:f}=window;throw f&&f.serious({title:"Network error",body:m}),t}else throw t});const ri=async function(t,e,{data:i,params:r={},headers:s,noAuth:n=!1,noScope:o=!1,onUploadProgress:a=!1}={}){if(!n){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}s.Authorization=localStorage.openc3Token}return s.manual=!0,!o&&!r.scope&&(r.scope=window.openc3Scope),Yi({method:t,url:e,data:i,params:r,headers:s,onUploadProgress:a})},ji={Accept:"application/json"},rn={...ji,"Content-Type":"application/json"},si={get:function(t,{params:e,headers:i=ji,noScope:r,noAuth:s,onUploadProgress:n}={}){return ri("get",t,{params:e,headers:i,noScope:r,noAuth:s,onUploadProgress:n})},put:function(t,{data:e,params:i,headers:r=rn,noScope:s,noAuth:n,onUploadProgress:o}={}){return ri("put",t,{data:e,params:i,headers:r,noScope:s,noAuth:n,onUploadProgress:o})},post:function(t,{data:e,params:i,headers:r=rn,noScope:s,noAuth:n,onUploadProgress:o}={}){return ri("post",t,{data:e,params:i,headers:r,noScope:s,noAuth:n,onUploadProgress:o})},delete:function(t,{params:e,headers:i=ji,noScope:r,noAuth:s,onUploadProgress:n}={}){return ri("delete",t,{params:e,headers:i,noScope:r,noAuth:s,onUploadProgress:n})}};let Ml=()=>({emit(t,...e){for(let i=this.events[t]||[],r=0,s=i.length;r<s;r++)i[r](...e)},events:{},on(t,e){var i;return((i=this.events)[t]||(i[t]=[])).push(e),()=>{var r;this.events[t]=(r=this.events[t])==null?void 0:r.filter(s=>e!==s)}}});class Vl extends Error{constructor(e,i){e instanceof Error?(super(e.message),this.cause=e):super(e),this.reason=i,this.name="ReasonError"}}function Bl(t){return t?`{${Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>{let i=JSON.stringify(t[e]);return`${JSON.stringify(e)}:${i}`}).join(",")}}`:""}class Ul{constructor(e){this.channel=e,this.listeners=[]}watch(){this.listeners.push(this.channel.on("presence",e=>{if(e.type==="info"){this._state||(this._state=this.stateFromInfo(e));return}this._state&&(e.type==="join"?this._state[e.id]=e.info:e.type==="leave"&&delete this._state[e.id])}))}reset(){delete this._state}dispose(){delete this._info,delete this._state,this.listeners.forEach(e=>e()),this.listeners.length=0}async join(e,i){if(!this._info)return this._info={id:e,info:i},this.channel.perform("$presence:join",this._info)}async leave(){if(!this._info)return;let e=await this.channel.perform("$presence:leave");return delete this._info,e}async info(){return this._state?this._state:(this._promise||(this._promise=this._sync()),await this._promise,this._state)}async _sync(){this.watch();try{let e=await this.channel.perform("$presence:info",{});return this._state=this.stateFromInfo(e),this._state}finally{delete this._promise}}stateFromInfo(e){return e.records.reduce((i,{id:r,info:s})=>(i[r]=s,i),{})}}const Ft=Symbol("state");class sn{constructor(e={}){this.emitter=Ml(),this.params=Object.freeze(e),this.presence=new Ul(this),this.initialConnect=!0,this[Ft]="idle"}get identifier(){return this._identifier?this._identifier:(this._identifier=Bl({channel:this.channelId,...this.params}),this._identifier)}get channelId(){return this.constructor.identifier}get state(){return this[Ft]}attached(e){if(this.receiver){if(this.receiver!==e)throw Error("Already connected to a different receiver");return!1}return this.receiver=e,!0}connecting(){this[Ft]="connecting"}connected(){if(this.state==="connected"||this.state==="closed")return;this[Ft]="connected";let e=!1;this.initialConnect?(this.initialConnect=!1,this.emit("connect",{reconnect:!1,restored:e})):this.emit("connect",{reconnect:!0,restored:e})}restored(){if(this.state==="connected")throw Error("Already connected");this[Ft]="connected";let e=!0,i=!0;this.initialConnect=!1,this.emit("connect",{reconnect:i,restored:e})}disconnected(e){this.state==="disconnected"||this.state==="closed"||(this[Ft]="disconnected",this.presence.reset(),this.emit("disconnect",e))}closed(e){this.state!=="closed"&&(this[Ft]="closed",delete this.receiver,this.initialConnect=!0,this.presence.dispose(),this.emit("close",e))}disconnect(){this.state==="idle"||this.state==="closed"||this.receiver.unsubscribe(this)}async perform(e,i){if(this.state==="idle"||this.state==="closed")throw Error("Channel is not subscribed");return this.receiver.perform(this.identifier,e,i)}async send(e){return this.perform(void 0,e)}async whisper(e){try{await this.perform("$whisper",e)}catch(i){let r=this.receiver?this.receiver.logger:null;r&&r.warn("whisper failed: ",i)}}receive(e,i){this.emit("message",e,i)}on(e,i){return this.emitter.on(e,i)}once(e,i){let r=this.emitter.on(e,(...s)=>{r(),i(...s)});return r}emit(e,...i){return this.emitter.emit(e,...i)}ensureSubscribed(){return this.state==="connected"?Promise.resolve():this.state==="closed"?Promise.reject(Error("Channel is unsubscribed")):this.pendingSubscribe()}pendingSubscribe(){return this._pendingSubscribe?this._pendingSubscribe:(this._pendingSubscribe=new Promise((e,i)=>{let r=[()=>delete this._pendingSubscribe];r.push(this.on("connect",()=>{r.forEach(s=>s()),e()})),r.push(this.on("close",s=>{r.forEach(n=>n()),i(s||new Vl("Channel was disconnected before subscribing","canceled"))}))}),this._pendingSubscribe)}}class Fl extends sn{constructor(e,i){super(i),this.channelId=e}set channelId(e){this._channelId=e}get channelId(){return this._channelId}}qe(Fl,"identifier","__ghost__");const Xl="$pubsub";class Yl extends sn{async perform(e,i){if(e.startsWith("$"))return super.perform(e,i);throw Error("not implemented")}}qe(Yl,"identifier",Xl);function ni(t){return jl.test(t)}const jl=/^-?[0-9]+$/;function nn(t){return ql.test(t)}const ql=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;function on(t,e){const i=Number.parseFloat(t),r=String(i),s=an(t),n=an(r);return!!(s===n||(e==null?void 0:e.approx)===!0&&!ni(t)&&n.length>=14&&s.startsWith(n.substring(0,14)))}let _e=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function Hl(t){if(on(t,{approx:!1}))return;if(ni(t))return _e.truncate_integer;const e=Number.parseFloat(t);return Number.isFinite(e)?e===0?_e.underflow:_e.truncate_float:_e.overflow}function an(t){return t.replace(zl,"").replace($l,"").replace(Gl,"").replace(Wl,"")}const zl=/[eE][+-]?\d+$/,Wl=/^-?(0*)?/,$l=/\./,Gl=/0+$/;class Kl{constructor(e){if(qe(this,"isLosslessNumber",!0),!nn(e))throw new Error(`Invalid number (value: "${e}")`);this.value=e}valueOf(){const e=Hl(this.value);if(e===void 0||e===_e.truncate_float)return Number.parseFloat(this.value);if(ni(this.value))return BigInt(this.value);throw new Error(`Cannot safely convert to number: the value '${this.value}' would ${e} and become ${Number.parseFloat(this.value)}`)}toString(){return this.value}}function Jl(t){return t&&typeof t=="object"&&t.isLosslessNumber===!0||!1}function Zl(t){return new Kl(t)}function Ql(t,e){return qi({"":t},"",t,e)}function qi(t,e,i,r){return Array.isArray(i)?r.call(t,e,ec(i,r)):i&&typeof i=="object"&&!Jl(i)?r.call(t,e,tc(i,r)):r.call(t,e,i)}function tc(t,e){for(const i of Object.keys(t)){const r=qi(t,i,t[i],e);r!==void 0?t[i]=r:delete t[i]}return t}function ec(t,e){for(let i=0;i<t.length;i++)t[i]=qi(t,String(i),t[i],e);return t}function ic(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Zl,r=0;const s=a();return b(s),_(),e?Ql(s,e):s;function n(){if(t.charCodeAt(r)===lc){r++,c();const D={};let j=!0;for(;r<t.length&&t.charCodeAt(r)!==cn;){j?j=!1:(m(),c());const vt=r,It=h();if(It===void 0){E();return}c(),f();const Jt=a();if(Jt===void 0){N();return}Object.prototype.hasOwnProperty.call(D,It)&&!Hi(Jt,D[It])&&v(It,vt+1),D[It]=Jt}return t.charCodeAt(r)!==cn&&S(),r++,D}}function o(){if(t.charCodeAt(r)===cc){r++,c();const D=[];let j=!0;for(;r<t.length&&t.charCodeAt(r)!==hn;){j?j=!1:m();const vt=a();u(vt),D.push(vt)}return t.charCodeAt(r)!==hn&&C(),r++,D}}function a(){c();const D=h()??d()??n()??o()??l("true",!0)??l("false",!1)??l("null",null);return c(),D}function l(D,j){if(t.slice(r,r+D.length)===D)return r+=D.length,j}function c(){for(;rc(t.charCodeAt(r));)r++}function h(){if(t.charCodeAt(r)===zi){r++;let D="";for(;r<t.length&&t.charCodeAt(r)!==zi;){if(t.charCodeAt(r)===ac){const j=t[r+1],vt=oc[j];vt!==void 0?(D+=vt,r++):j==="u"?oi(t.charCodeAt(r+2))&&oi(t.charCodeAt(r+3))&&oi(t.charCodeAt(r+4))&&oi(t.charCodeAt(r+5))?(D+=String.fromCharCode(Number.parseInt(t.slice(r+2,r+6),16)),r+=5):ft(r):F(r)}else nc(t.charCodeAt(r))?D+=t[r]:M(t[r]);r++}return g(),r++,D}}function d(){const D=r;if(t.charCodeAt(r)===un&&(r++,y(D)),t.charCodeAt(r)===Wi)r++;else if(sc(t.charCodeAt(r)))for(r++;ai(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===gc)for(r++,y(D);ai(t.charCodeAt(r));)r++;if(t.charCodeAt(r)===bc||t.charCodeAt(r)===wc)for(r++,(t.charCodeAt(r)===un||t.charCodeAt(r)===_c)&&r++,y(D);ai(t.charCodeAt(r));)r++;if(r>D)return i(t.slice(D,r))}function m(){if(t.charCodeAt(r)!==mc)throw new SyntaxError(`Comma ',' expected after value ${W()}`);r++}function f(){if(t.charCodeAt(r)!==vc)throw new SyntaxError(`Colon ':' expected after property name ${W()}`);r++}function b(D){if(D===void 0)throw new SyntaxError(`JSON value expected ${W()}`)}function u(D){if(D===void 0)throw new SyntaxError(`Array item expected ${W()}`)}function _(){if(r<t.length)throw new SyntaxError(`Expected end of input ${W()}`)}function y(D){if(!ai(t.charCodeAt(r))){const j=t.slice(D,r);throw new SyntaxError(`Invalid number '${j}', expecting a digit ${W()}`)}}function g(){if(t.charCodeAt(r)!==zi)throw new SyntaxError(`End of string '"' expected ${W()}`)}function E(){throw new SyntaxError(`Quoted object key expected ${W()}`)}function v(D,j){throw new SyntaxError(`Duplicate key '${D}' encountered at position ${j}`)}function S(){throw new SyntaxError(`Quoted object key or end of object '}' expected ${W()}`)}function C(){throw new SyntaxError(`Array item or end of array ']' expected ${W()}`)}function M(D){throw new SyntaxError(`Invalid character '${D}' ${X()}`)}function F(D){const j=t.slice(D,D+2);throw new SyntaxError(`Invalid escape character '${j}' ${X()}`)}function N(){throw new SyntaxError(`Object value expected after ':' ${X()}`)}function ft(D){const j=t.slice(D,D+6);throw new SyntaxError(`Invalid unicode character '${j}' ${X()}`)}function X(){return`at position ${r}`}function st(){return r<t.length?`but got '${t[r]}'`:"but reached end of input"}function W(){return`${st()} ${X()}`}}function rc(t){return t===hc||t===uc||t===dc||t===fc}function oi(t){return t>=Wi&&t<=$i||t>=yc&&t<=Ec||t>=Sc&&t<=xc}function ai(t){return t>=Wi&&t<=$i}function sc(t){return t>=pc&&t<=$i}function nc(t){return t>=32&&t<=1114111}function Hi(t,e){return t===e?!0:Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((i,r)=>Hi(i,e[r])):ln(t)&&ln(e)?[...new Set([...Object.keys(t),...Object.keys(e)])].every(i=>Hi(t[i],e[i])):!1}function ln(t){return typeof t=="object"&&t!==null}const oc={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
28
|
-
`,r:"\r",t:" "},ac=92,lc=123,cn=125,cc=91,hn=93,hc=32,uc=10,dc=9,fc=13,zi=34,_c=43,un=45,Wi=48,pc=49,$i=57,mc=44,gc=46,vc=58,yc=65,Sc=97,wc=69,bc=101,Ec=70,xc=102;function dn(t,e,i,r){return s(t);function s(l,c){if(Array.isArray(r)){const h=r.find(d=>d.test(l));if(h){const d=h.stringify(l);if(typeof d!="string"||!nn(d))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${d})`);return d}}if(typeof l=="boolean"||typeof l=="number"||typeof l=="string"||l===null||l instanceof Date||l instanceof Boolean||l instanceof Number||l instanceof String)return JSON.stringify(l);if(l!=null&&l.isLosslessNumber||typeof l=="bigint")return l.toString();if(Array.isArray(l))return n(l);if(l&&typeof l=="object")return o(l)}function n(l,c){if(l.length===0)return"[]";let h="[";for(let d=0;d<l.length;d++){const m=l[d];typeof m<"u"&&typeof m!="function"?h+=s(m):h+="null",d<l.length-1&&(h+=",")}return h+="]",h}function o(l,c){if(typeof l.toJSON=="function")return dn(l.toJSON(),e,i,void 0);const h=Array.isArray(e)?e.map(String):Object.keys(l);if(h.length===0)return"{}";let d=!0,m="{";for(const f of h){const b=l[f];if(a(f,b)){d?d=!1:m+=",";const u=JSON.stringify(f);m+=`${u}:`,m+=s(b)}}return m+="}",m}function a(l,c){return typeof c<"u"&&typeof c!="function"&&typeof c!="symbol"}}function Ac(t){return ni(t)&&!on(t)?BigInt(t):parseFloat(t)}class fn{constructor(){qe(this,"id",1)}async exec(e,i,r={},s={},n=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return r.scope=window.openc3Scope,s.manual=!0,(await Yi.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:i,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...s},timeout:n,transformRequest:[(o,a)=>dn(o)],transformResponse:[o=>ic(o,void 0,Ac)]})).data.result}catch(o){let a=new Error;throw o.response?(a.name=o.response.data.error.data.class,a.message=o.response.data.error.data.message,a.object=o.response.data.error):o.request?(a.name="Request error",a.message="Request error, no response received"):a=o,a}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,i){return this.exec("map_target_to_interface",[e,i])}connect_interface(e,...i){return i.length>0?this.exec("connect_interface",[e,...i]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,i,...r){return this.exec("interface_cmd",[e,i,...r])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,i,r){return this.exec("get_item",[e,i,r])}get_param(e,i,r){return this.exec("get_param",[e,i,r])}get_parameter(e,i,r){return this.exec("get_param",[e,i,r])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,i){return this.exec("get_tlm",[e,i])}get_telemetry(e,i){return this.exec("get_tlm",[e,i])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,i=!1){return this.exec("get_all_tlm_names",[e],{hidden:i})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,i,r,s=30){const n=await this.exec("get_tlm_packet",[e,i],{type:r,stale_time:s});if(n!=null){let o=n.length,a=null;for(let l=0;l<o;l++)a=this.decode_openc3_type(n[l][1]),a!==null&&(n[l][1]=a)}return n}get_packet_derived_items(e,i){return this.exec("get_packet_derived_items",[e,i])}get_tlm_buffer(e,i){return this.exec("get_tlm_buffer",[e,i])}async get_tlm_values(e,i=30,r=null){let s={stale_time:i};r!==null&&(s.cache_timeout=r);const n=await this.exec("get_tlm_values",[e],s,{},1e4);let o=n[0].length,a=null;for(let l=0;l<o;l++)a=this.decode_openc3_type(n[0][l]),a!==null&&(n[0][l]=a);return n}get_limits(e,i,r){return this.exec("get_limits",[e,i,r])}async tlm(e,i,r,s="CONVERTED"){let n=null;if(i===void 0)n=await this.exec("tlm",[e]);else if(r===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(i))n=await this.exec("tlm",[e],{type:i});else{let a=new Error;throw a.name="TypeError",a.message=`Invalid data type ${i}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,a}else n=await this.exec("tlm",[e,i,r],{type:s});let o=this.decode_openc3_type(n);return o!==null&&(n=o),n}async inject_tlm(e,i,r=null,s="CONVERTED"){await this.exec("inject_tlm",[e,i,r],{type:s})}set_tlm(e,i,r,s){return this.exec("set_tlm",[e,i,r],{type:s})}override_tlm(e,i,r,s){return this.exec("override_tlm",[e,i,r],{type:s})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,i,r,s){return this.exec("normalize_tlm",[e,i,r],{type:s})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,i=!1){return this.exec("get_all_cmd_names",[e],{hidden:i})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,i){return this.exec("get_cmd",[e,i])}get_command(e,i){return this.exec("get_cmd",[e,i])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,i,r,s="CONVERTED"){return this.exec("get_cmd_value",[e,i,r,s])}get_cmd_buffer(e,i){return this.exec("get_cmd_buffer",[e,i])}_cmd(e,i,r,s,n){let o=null;for(let a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o=this.encode_openc3_type(s[a]),o!==null&&(s[a]=o));return this.exec(e,[i,r,s],{},n)}get_cmd_hazardous(e,i,r,s={}){return i===void 0?this.exec("get_cmd_hazardous",e,{},s):this._cmd("get_cmd_hazardous",e,i,r,s)}cmd(e,i,r,s={}){return i===void 0?this.exec("cmd",e,{},s):this._cmd("cmd",e,i,r,s)}cmd_no_range_check(e,i,r,s={}){return i===void 0?this.exec("cmd_no_range_check",e,{},s):this._cmd("cmd_no_range_check",e,i,r,s)}cmd_raw(e,i,r,s={}){return i===void 0?this.exec("cmd_raw",e,{},s):this._cmd("cmd_raw",e,i,r,s)}cmd_raw_no_range_check(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_range_check",e,{},s):this._cmd("cmd_raw_no_range_check",e,i,r,s)}cmd_no_hazardous_check(e,i,r,s={}){return i===void 0?this.exec("cmd_no_hazardous_check",e,{},s):this._cmd("cmd_no_hazardous_check",e,i,r,s)}cmd_no_checks(e,i,r,s={}){return i===void 0?this.exec("cmd_no_checks",e,{},s):this._cmd("cmd_no_checks",e,i,r,s)}cmd_raw_no_hazardous_check(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_hazardous_check",e,{},s):this._cmd("cmd_raw_no_hazardous_check",e,i,r,s)}cmd_raw_no_checks(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_checks",e,{},s):this._cmd("cmd_raw_no_checks",e,i,r,s)}build_cmd(e,i,r){return i===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,i,r)}build_command(e,i,r){return i===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,i,r)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,i){return this.exec("send_raw",[e,i])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,i){return this.exec("load_config",[e,i])}save_config(e,i,r){return this.exec("save_config",[e,i,r])}delete_config(e,i){return this.exec("delete_config",[e,i])}enable_limits(e,i,r){return this.exec("enable_limits",[e,i,r])}disable_limits(e,i,r){return this.exec("disable_limits",[e,i,r])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,i){return this.exec("set_setting",[e,i])}update_news(){return this.exec("update_news",[])}save_setting(e,i){return this.exec("set_setting",[e,i])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const i=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",i),s=new Uint8Array(r);return Array.from(s).map(n=>n.toString(16).padStart(2,"0")).join("")}}}const Tc={props:{modelValue:Boolean,target:{type:String},screens:{type:Object}},data(){return{api:null,targets:[],newScreenSaving:!1,newScreenName:"",duplicateScreenAlert:!1,packetNames:[],selectedTarget:"",selectedPacketName:"",rules:{required:t=>!!t||"Required."}}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},existingScreens(){return this.screens[this.selectedTarget]?this.screens[this.selectedTarget].join(", "):"None"}},watch:{selectedPacketName:function(t){t==="BLANK"?(this.newScreenName="",this.duplicateScreenAlert=!1):(this.newScreenName=t.toLowerCase(),this.screens[this.selectedTarget]&&this.screens[this.selectedTarget].indexOf(this.newScreenName.toUpperCase())!==-1?this.duplicateScreenAlert=!0:this.duplicateScreenAlert=!1)},newScreenName:function(t){this.screens[this.selectedTarget]&&this.screens[this.selectedTarget].indexOf(t.toUpperCase())!==-1?this.duplicateScreenAlert=!0:this.duplicateScreenAlert=!1}},created(){this.api=new fn,this.duplicateScreenAlert=!1,this.newScreenSaving=!1,this.selectedTarget=this.target,this.api.get_target_names({params:{scope:window.openc3Scope}}).then(t=>{this.targets=t.filter(e=>e!=="UNKNOWN")}),this.targetSelect(this.selectedTarget)},methods:{targetSelect(t){this.selectedTarget=t,this.api.get_all_tlm_names(this.selectedTarget).then(e=>{this.packetNames=e.map(i=>({label:i,value:i})),this.packetNames.unshift({label:"[ BLANK ]",value:"BLANK"})})},newScreenKeyup(t){t.key==="Enter"&&this.saveNewScreen()},saveNewScreen(){this.duplicateScreenAlert||this.newScreenName===""||(this.newScreenSaving=!0,this.$emit("success",this.newScreenName.toUpperCase(),this.selectedPacketName,this.selectedTarget))}}},Dc={key:0,class:"pl-2"};function Cc(t,e,i,r,s,n){const o=T("v-spacer"),a=T("v-btn"),l=T("v-toolbar"),c=T("v-alert"),h=T("v-col"),d=T("v-row"),m=T("v-select"),f=T("v-autocomplete"),b=T("v-text-field"),u=T("v-progress-circular"),_=T("v-card-text"),y=T("v-divider"),g=T("v-card-actions"),E=T("v-card"),v=T("v-dialog");return R(),U(v,{modelValue:n.show,"onUpdate:modelValue":e[7]||(e[7]=S=>n.show=S),width:"600"},{default:A(()=>[x(E,null,{default:A(()=>[x(l,{height:"24"},{default:A(()=>[x(o),e[8]||(e[8]=$("span",null,"Create New Screen",-1)),x(o),x(a,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"new-screen-close-icon",onClick:e[0]||(e[0]=S=>n.show=!1)})]),_:1}),x(_,null,{default:A(()=>[x(c,{modelValue:s.duplicateScreenAlert,"onUpdate:modelValue":e[1]||(e[1]=S=>s.duplicateScreenAlert=S),type:"error",closable:"",density:"compact"},{default:A(()=>[q(" Screen "+K(s.newScreenName.toUpperCase())+" already exists! ",1)]),_:1},8,["modelValue"]),x(d,{class:"pt-3"},{default:A(()=>[x(h,null,{default:A(()=>e[9]||(e[9]=[q(" Screens must belong to a target. Select a target: ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(m,{modelValue:s.selectedTarget,"onUpdate:modelValue":[e[2]||(e[2]=S=>s.selectedTarget=S),n.targetSelect],label:"Select Target",items:s.targets,"item-title":"label","item-value":"value"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>e[10]||(e[10]=[q(" Screens can be auto-generated based on an existing Packet. This creates a LABELVALUE line for every item in the packet. The screen can then be edited and customized. ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>e[11]||(e[11]=[q(" Leave this blank to start with a blank screen. ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(f,{modelValue:s.selectedPacketName,"onUpdate:modelValue":e[3]||(e[3]=S=>s.selectedPacketName=S),label:"New screen packet","hide-details":"",density:"compact",items:s.packetNames,"item-title":"label","item-value":"value","data-test":"new-screen-packet"},null,8,["modelValue","items"])]),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(b,{modelValue:s.newScreenName,"onUpdate:modelValue":e[4]||(e[4]=S=>s.newScreenName=S),flat:"",autofocus:"",clearable:"",label:"Screen Name (without .txt)",rules:[s.rules.required],"data-test":"new-screen-name",onKeyup:e[5]||(e[5]=S=>n.newScreenKeyup(S))},null,8,["modelValue","rules"]),s.newScreenSaving?(R(),rt("div",Dc,[x(u,{indeterminate:"",color:"primary"})])):J("",!0)]),_:1})]),_:1})]),_:1}),x(y),x(g,{class:"px-2"},{default:A(()=>[x(o),x(a,{variant:"outlined",onClick:e[6]||(e[6]=S=>n.show=!1)},{default:A(()=>e[12]||(e[12]=[q(" Cancel ")])),_:1}),x(a,{variant:"flat",onClick:n.saveNewScreen},{default:A(()=>e[13]||(e[13]=[q(" Save ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const kc={components:{TopBar:wn,Openc3Screen:In,NewScreenDialog:ci(Tc,[["render",Cc],["__scopeId","data-v-65de44e6"]]),OpenConfigDialog:er,SaveConfigDialog:tr},mixins:[Qi],data(){return{title:"Telemetry Viewer",panel:0,counter:0,definitions:[],screens:{},selectedTarget:"",selectedScreen:"",newScreenDialog:!1,grid:null,api:null,timeZone:null,keywords:[],menus:[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{this.panel=0,this.closeAll(),this.resetConfigBase()}}]}],configKey:"telemetry_viewer",openConfig:!1,saveConfig:!1}},watch:{definitions:{handler:function(){this.saveDefaultConfig(this.currentConfig)},deep:!0}},computed:{currentConfig:function(){return this.definitions.map(t=>({screen:t.screen,target:t.target,floated:t.floated,top:t.top,left:t.left,zIndex:t.zIndex}))}},created(){this.api=new fn,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(t=>{t&&(this.timeZone=t)}).catch(t=>{}),si.get("/openc3-api/screens").then(t=>{if(t.data.forEach(e=>{let i=e.split("/");this.screens[i[0]]===void 0&&(this.screens[i[0]]=[]),this.screens[i[0]].push(i[2].split(".")[0].toUpperCase())}),this.selectedTarget=Object.keys(this.screens)[0],this.selectedScreen=this.screens[this.selectedTarget][0],this.$route.query&&this.$route.query.config)this.openConfiguration(this.$route.query.config,!0);else if(this.$route.params.target&&this.$route.params.screen)this.targetSelect(this.$route.params.target.toUpperCase()),this.screenSelect(this.$route.params.screen.toUpperCase());else{let e=this.loadDefaultConfig();JSON.stringify(e)!=="{}"&&this.applyConfig(this.loadDefaultConfig())}}),si.get("/openc3-api/autocomplete/keywords/screen").then(t=>{this.keywords=t.data})},mounted(){this.grid=new I(".grid",{dragEnabled:!0,dragHandle:".v-toolbar"}),this.grid.on("dragEnd",this.refreshLayout)},methods:{targetSelect(t){this.selectedTarget=t,this.selectedScreen=this.screens[t][0]},screenSelect(t){this.selectedScreen=t,this.showScreen(this.selectedTarget,this.selectedScreen)},newScreen(){this.newScreenDialog=!0},async saveNewScreen(t,e,i){let r=`SCREEN AUTO AUTO 1.0
|
28
|
+
`,r:"\r",t:" "},ac=92,lc=123,cn=125,cc=91,hn=93,hc=32,uc=10,dc=9,fc=13,zi=34,_c=43,un=45,Wi=48,pc=49,$i=57,mc=44,gc=46,vc=58,yc=65,Sc=97,wc=69,bc=101,Ec=70,xc=102;function dn(t,e,i,r){return s(t);function s(l,c){if(Array.isArray(r)){const h=r.find(d=>d.test(l));if(h){const d=h.stringify(l);if(typeof d!="string"||!nn(d))throw new Error(`Invalid JSON number: output of a number stringifier must be a string containing a JSON number (output: ${d})`);return d}}if(typeof l=="boolean"||typeof l=="number"||typeof l=="string"||l===null||l instanceof Date||l instanceof Boolean||l instanceof Number||l instanceof String)return JSON.stringify(l);if(l!=null&&l.isLosslessNumber||typeof l=="bigint")return l.toString();if(Array.isArray(l))return n(l);if(l&&typeof l=="object")return o(l)}function n(l,c){if(l.length===0)return"[]";let h="[";for(let d=0;d<l.length;d++){const m=l[d];typeof m<"u"&&typeof m!="function"?h+=s(m):h+="null",d<l.length-1&&(h+=",")}return h+="]",h}function o(l,c){if(typeof l.toJSON=="function")return dn(l.toJSON(),e,i,void 0);const h=Array.isArray(e)?e.map(String):Object.keys(l);if(h.length===0)return"{}";let d=!0,m="{";for(const f of h){const b=l[f];if(a(f,b)){d?d=!1:m+=",";const u=JSON.stringify(f);m+=`${u}:`,m+=s(b)}}return m+="}",m}function a(l,c){return typeof c<"u"&&typeof c!="function"&&typeof c!="symbol"}}function Ac(t){return ni(t)&&!on(t)?BigInt(t):parseFloat(t)}class fn{constructor(){qe(this,"id",1)}async exec(e,i,r={},s={},n=6e4){try{await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)&&OpenC3Auth.setTokens()}catch{OpenC3Auth.login()}this.id=this.id+1;try{return r.scope=window.openc3Scope,s.manual=!0,(await Yi.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:i,id:this.id,keyword_params:r},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...s},timeout:n,transformRequest:[(o,a)=>dn(o)],transformResponse:[o=>ic(o,void 0,Ac)]})).data.result}catch(o){let a=new Error;throw o.response?(a.name=o.response.data.error.data.class,a.message=o.response.data.error.data.message,a.object=o.response.data.error):o.request?(a.name="Request error",a.message="Request error, no response received"):a=o,a}}decode_openc3_type(e){if(e!==null&&typeof e=="object"&&e.json_class=="Float"&&e.raw){if(e.raw=="NaN")return NaN;if(e.raw=="Infinity")return 1/0;if(e.raw=="-Infinity")return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then(e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then(()=>{delete localStorage.openc3OfflineToken}):OpenC3Auth.getOfflineAccess())})}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,i){return this.exec("map_target_to_interface",[e,i])}connect_interface(e,...i){return i.length>0?this.exec("connect_interface",[e,...i]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,i,...r){return this.exec("interface_cmd",[e,i,...r])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,i,r){return this.exec("get_item",[e,i,r])}get_param(e,i,r){return this.exec("get_param",[e,i,r])}get_parameter(e,i,r){return this.exec("get_param",[e,i,r])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_names",[])}get_tlm(e,i){return this.exec("get_tlm",[e,i])}get_telemetry(e,i){return this.exec("get_tlm",[e,i])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_tlm",[e])}get_all_tlm_names(e,i=!1){return this.exec("get_all_tlm_names",[e],{hidden:i})}get_all_telemetry_names(e){return this.exec("get_all_tlm_names",[e])}get_all_tlm_item_names(e){return this.exec("get_all_tlm_item_names",[e])}async get_tlm_packet(e,i,r,s=30){const n=await this.exec("get_tlm_packet",[e,i],{type:r,stale_time:s});if(n!=null){let o=n.length,a=null;for(let l=0;l<o;l++)a=this.decode_openc3_type(n[l][1]),a!==null&&(n[l][1]=a)}return n}get_packet_derived_items(e,i){return this.exec("get_packet_derived_items",[e,i])}get_tlm_buffer(e,i){return this.exec("get_tlm_buffer",[e,i])}async get_tlm_values(e,i=30,r=null){let s={stale_time:i};r!==null&&(s.cache_timeout=r);const n=await this.exec("get_tlm_values",[e],s,{},1e4);let o=n[0].length,a=null;for(let l=0;l<o;l++)a=this.decode_openc3_type(n[0][l]),a!==null&&(n[0][l]=a);return n}get_limits(e,i,r){return this.exec("get_limits",[e,i,r])}async tlm(e,i,r,s="CONVERTED"){let n=null;if(i===void 0)n=await this.exec("tlm",[e]);else if(r===void 0)if(["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(i))n=await this.exec("tlm",[e],{type:i});else{let a=new Error;throw a.name="TypeError",a.message=`Invalid data type ${i}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,a}else n=await this.exec("tlm",[e,i,r],{type:s});let o=this.decode_openc3_type(n);return o!==null&&(n=o),n}async inject_tlm(e,i,r=null,s="CONVERTED"){await this.exec("inject_tlm",[e,i,r],{type:s})}set_tlm(e,i,r,s){return this.exec("set_tlm",[e,i,r],{type:s})}override_tlm(e,i,r,s){return this.exec("override_tlm",[e,i,r],{type:s})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,i,r,s){return this.exec("normalize_tlm",[e,i,r],{type:s})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_cmds",[e])}get_all_cmd_names(e,i=!1){return this.exec("get_all_cmd_names",[e],{hidden:i})}get_all_command_names(e){return this.exec("get_all_cmd_names",[e])}get_cmd(e,i){return this.exec("get_cmd",[e,i])}get_command(e,i){return this.exec("get_cmd",[e,i])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,i,r,s="CONVERTED"){return this.exec("get_cmd_value",[e,i,r,s])}get_cmd_buffer(e,i){return this.exec("get_cmd_buffer",[e,i])}_cmd(e,i,r,s,n){let o=null;for(let a in s)Object.prototype.hasOwnProperty.call(s,a)&&(o=this.encode_openc3_type(s[a]),o!==null&&(s[a]=o));return this.exec(e,[i,r,s],{},n)}get_cmd_hazardous(e,i,r,s={}){return i===void 0?this.exec("get_cmd_hazardous",e,{},s):this._cmd("get_cmd_hazardous",e,i,r,s)}cmd(e,i,r,s={}){return i===void 0?this.exec("cmd",e,{},s):this._cmd("cmd",e,i,r,s)}cmd_no_range_check(e,i,r,s={}){return i===void 0?this.exec("cmd_no_range_check",e,{},s):this._cmd("cmd_no_range_check",e,i,r,s)}cmd_raw(e,i,r,s={}){return i===void 0?this.exec("cmd_raw",e,{},s):this._cmd("cmd_raw",e,i,r,s)}cmd_raw_no_range_check(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_range_check",e,{},s):this._cmd("cmd_raw_no_range_check",e,i,r,s)}cmd_no_hazardous_check(e,i,r,s={}){return i===void 0?this.exec("cmd_no_hazardous_check",e,{},s):this._cmd("cmd_no_hazardous_check",e,i,r,s)}cmd_no_checks(e,i,r,s={}){return i===void 0?this.exec("cmd_no_checks",e,{},s):this._cmd("cmd_no_checks",e,i,r,s)}cmd_raw_no_hazardous_check(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_hazardous_check",e,{},s):this._cmd("cmd_raw_no_hazardous_check",e,i,r,s)}cmd_raw_no_checks(e,i,r,s={}){return i===void 0?this.exec("cmd_raw_no_checks",e,{},s):this._cmd("cmd_raw_no_checks",e,i,r,s)}build_cmd(e,i,r){return i===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,i,r)}build_command(e,i,r){return i===void 0?this.exec("build_cmd",e):this._cmd("build_cmd",e,i,r)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,i){return this.exec("send_raw",[e,i])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,i){return this.exec("load_config",[e,i])}save_config(e,i,r){return this.exec("save_config",[e,i,r])}delete_config(e,i){return this.exec("delete_config",[e,i])}enable_limits(e,i,r){return this.exec("enable_limits",[e,i,r])}disable_limits(e,i,r){return this.exec("disable_limits",[e,i,r])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,i){return this.exec("set_setting",[e,i])}update_news(){return this.exec("update_news",[])}save_setting(e,i){return this.exec("set_setting",[e,i])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const i=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",i),s=new Uint8Array(r);return Array.from(s).map(n=>n.toString(16).padStart(2,"0")).join("")}}}const Tc={props:{modelValue:Boolean,target:{type:String},screens:{type:Object}},data(){return{api:null,targets:[],newScreenSaving:!1,newScreenName:"",duplicateScreenAlert:!1,packetNames:[],selectedTarget:"",selectedPacketName:"",rules:{required:t=>!!t||"Required."}}},computed:{show:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},existingScreens(){return this.screens[this.selectedTarget]?this.screens[this.selectedTarget].join(", "):"None"}},watch:{selectedPacketName:function(t){t==="BLANK"?(this.newScreenName="",this.duplicateScreenAlert=!1):(this.newScreenName=t.toLowerCase(),this.screens[this.selectedTarget]&&this.screens[this.selectedTarget].indexOf(this.newScreenName.toUpperCase())!==-1?this.duplicateScreenAlert=!0:this.duplicateScreenAlert=!1)},newScreenName:function(t){this.screens[this.selectedTarget]&&this.screens[this.selectedTarget].indexOf(t.toUpperCase())!==-1?this.duplicateScreenAlert=!0:this.duplicateScreenAlert=!1}},created(){this.api=new fn,this.duplicateScreenAlert=!1,this.newScreenSaving=!1,this.selectedTarget=this.target,this.api.get_target_names({params:{scope:window.openc3Scope}}).then(t=>{this.targets=t.filter(e=>e!=="UNKNOWN")}),this.targetSelect(this.selectedTarget)},methods:{targetSelect(t){this.selectedTarget=t,this.api.get_all_tlm_names(this.selectedTarget).then(e=>{this.packetNames=e.map(i=>({label:i,value:i})),this.packetNames.unshift({label:"[ BLANK ]",value:"BLANK"})})},newScreenKeyup(t){t.key==="Enter"&&this.saveNewScreen()},saveNewScreen(){this.duplicateScreenAlert||this.newScreenName===""||(this.newScreenSaving=!0,this.$emit("success",this.newScreenName.toUpperCase(),this.selectedPacketName,this.selectedTarget))}}},Dc={key:0,class:"pl-2"};function Cc(t,e,i,r,s,n){const o=T("v-spacer"),a=T("v-btn"),l=T("v-toolbar"),c=T("v-alert"),h=T("v-col"),d=T("v-row"),m=T("v-select"),f=T("v-autocomplete"),b=T("v-text-field"),u=T("v-progress-circular"),_=T("v-card-text"),y=T("v-divider"),g=T("v-card-actions"),E=T("v-card"),v=T("v-dialog");return R(),U(v,{modelValue:n.show,"onUpdate:modelValue":e[7]||(e[7]=S=>n.show=S),width:"600"},{default:A(()=>[x(E,null,{default:A(()=>[x(l,{height:"24"},{default:A(()=>[x(o),e[8]||(e[8]=$("span",null,"Create New Screen",-1)),x(o),x(a,{icon:"mdi-close-box",variant:"text",density:"compact","data-test":"new-screen-close-icon",onClick:e[0]||(e[0]=S=>n.show=!1)})]),_:1}),x(_,null,{default:A(()=>[x(c,{modelValue:s.duplicateScreenAlert,"onUpdate:modelValue":e[1]||(e[1]=S=>s.duplicateScreenAlert=S),type:"error",closable:"",density:"compact"},{default:A(()=>[q(" Screen "+K(s.newScreenName.toUpperCase())+" already exists! ",1)]),_:1},8,["modelValue"]),x(d,{class:"pt-3"},{default:A(()=>[x(h,null,{default:A(()=>e[9]||(e[9]=[q(" Screens must belong to a target. Select a target: ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(m,{modelValue:s.selectedTarget,"onUpdate:modelValue":[e[2]||(e[2]=S=>s.selectedTarget=S),n.targetSelect],label:"Select Target",items:s.targets,"item-title":"label","item-value":"value"},null,8,["modelValue","items","onUpdate:modelValue"])]),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>e[10]||(e[10]=[q(" Screens can be auto-generated based on an existing Packet. This creates a LABELVALUE line for every item in the packet. The screen can then be edited and customized. ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>e[11]||(e[11]=[q(" Leave this blank to start with a blank screen. ")])),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(f,{modelValue:s.selectedPacketName,"onUpdate:modelValue":e[3]||(e[3]=S=>s.selectedPacketName=S),label:"New screen packet","hide-details":"",density:"compact",items:s.packetNames,"item-title":"label","item-value":"value","data-test":"new-screen-packet"},null,8,["modelValue","items"])]),_:1})]),_:1}),x(d,{dense:""},{default:A(()=>[x(h,null,{default:A(()=>[x(b,{modelValue:s.newScreenName,"onUpdate:modelValue":e[4]||(e[4]=S=>s.newScreenName=S),flat:"",autofocus:"",clearable:"",label:"Screen Name (without .txt)",rules:[s.rules.required],"data-test":"new-screen-name",onKeyup:e[5]||(e[5]=S=>n.newScreenKeyup(S))},null,8,["modelValue","rules"]),s.newScreenSaving?(R(),rt("div",Dc,[x(u,{indeterminate:"",color:"primary"})])):J("",!0)]),_:1})]),_:1})]),_:1}),x(y),x(g,{class:"px-2"},{default:A(()=>[x(o),x(a,{variant:"outlined",onClick:e[6]||(e[6]=S=>n.show=!1)},{default:A(()=>e[12]||(e[12]=[q(" Cancel ")])),_:1}),x(a,{variant:"flat",onClick:n.saveNewScreen},{default:A(()=>e[13]||(e[13]=[q(" Save ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const kc={components:{TopBar:wn,Openc3Screen:In,NewScreenDialog:ci(Tc,[["render",Cc],["__scopeId","data-v-65de44e6"]]),OpenConfigDialog:er,SaveConfigDialog:tr},mixins:[Qi],data(){return{title:"Telemetry Viewer",panel:0,counter:0,definitions:[],screens:{},selectedTarget:"",selectedScreen:"",newScreenDialog:!1,grid:null,api:null,timeZone:null,keywords:[],menus:[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{this.panel=0,this.closeAll(),this.resetConfigBase()}}]}],configKey:"telemetry_viewer",openConfig:!1,saveConfig:!1}},watch:{definitions:{handler:function(){this.saveDefaultConfig(this.currentConfig)},deep:!0}},computed:{currentConfig:function(){return this.definitions.map(t=>({screen:t.screen,target:t.target,floated:t.floated,top:t.top,left:t.left,zIndex:t.zIndex}))}},created(){this.api=new fn,this.api.ensure_offline_access(),this.api.get_setting("time_zone").then(t=>{t&&(this.timeZone=t)}).catch(t=>{}),si.get("/openc3-api/screens").then(t=>{if(t.data.forEach(e=>{let i=e.split("/");this.screens[i[0]]===void 0&&(this.screens[i[0]]=[]),this.screens[i[0]].push(i[2].split(".")[0].toUpperCase())}),this.selectedTarget=Object.keys(this.screens)[0],this.selectedScreen=this.screens[this.selectedTarget][0],this.$route.query&&this.$route.query.config)this.openConfiguration(this.$route.query.config,!0);else if(this.$route.params.target&&this.$route.params.screen)this.targetSelect(this.$route.params.target.toUpperCase()),this.screenSelect(this.$route.params.screen.toUpperCase());else{let e=this.loadDefaultConfig();JSON.stringify(e)!=="{}"&&this.applyConfig(this.loadDefaultConfig())}}),si.get("/openc3-api/autocomplete/keywords/screen").then(t=>{this.keywords=t.data})},mounted(){this.grid=new I(".grid",{dragEnabled:!0,dragHandle:".v-toolbar"}),this.grid.on("dragEnd",this.refreshLayout)},methods:{targetSelect(t){this.selectedTarget=t,this.selectedScreen=this.screens[t][0]},screenSelect(t){t&&(this.selectedScreen=t,this.showScreen(this.selectedTarget,this.selectedScreen))},newScreen(){this.newScreenDialog=!0},async saveNewScreen(t,e,i){let r=`SCREEN AUTO AUTO 1.0
|
29
29
|
`;e&&e!=="BLANK"?(r+=`
|
30
30
|
VERTICAL
|
31
31
|
`,await this.api.get_tlm(i,e).then(s=>{s.items.forEach(n=>{r+=` LABELVALUE ${i} ${e} ${n.name}
|
32
32
|
`}),r+=`END
|
33
33
|
`})):r+=`
|
34
34
|
LABEL NEW
|
35
|
-
`,si.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:i,screen:t,text:r}}).then(s=>{this.newScreenDialog=!1,this.screens[i]===void 0&&(this.screens[i]=[]),this.screens[i].push(t),this.screens[i].sort(),this.selectedTarget=i,this.selectedScreen=t,this.showScreen(i,t)})},showScreen(t,e){this.definitions.find(r=>r.target==t&&r.screen==e)||this.loadScreen(t,e).then(r=>{this.pushScreen({id:this.counter++,target:t,screen:e,definition:r.data,floated:!1,top:0,left:0,zIndex:0})})},loadScreen(t,e){return si.get("/openc3-api/screen/"+t+"/"+e,{headers:{Accept:"text/plain"}})},pushScreen(t){this.definitions.push(t),this.$nextTick(function(){if(!t.floated){let e=this.grid.add(this.$refs.gridItem[this.$refs.gridItem.length-1],{active:!1});this.grid.show(e),this.grid.refreshItems().layout()}})},closeScreenByName(t,e){const i=this.definitions.find(r=>r.target==t&&r.screen==e);i&&this.closeScreen(i.id)},closeAll(){for(const t of this.definitions)this.closeScreen(t.id)},closeScreen(t){let e=this.grid.getItems([document.getElementById(this.screenId(t))]);this.grid.remove(e),this.grid.refreshItems().layout(),this.definitions=this.definitions.filter((i,r,s)=>i.id!=t)},deleteScreen(t){this.closeScreen(t.id);let e=this.screens[t.target].indexOf(t.screen);e!==-1&&(this.screens[t.target].splice(e,1),this.screens[t.target].length===0&&this.$delete(this.screens,t.target))},floatScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s;let n=this.grid.getItems([document.getElementById(this.screenId(t.id))]);this.grid.remove(n),this.grid.refreshItems().layout()},unfloatScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s;let n=[document.getElementById(this.screenId(t.id))];this.grid.add(n),this.grid.refreshItems().layout()},dragScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s},refreshLayout(){setTimeout(()=>{this.grid.refreshItems().layout()},600)},screenId(t){return"tlmViewerScreen"+t},loadAll(t,e){Promise.all(e).then(i=>{t.forEach((r,s)=>{const n=i[s];setTimeout(()=>{let o=r.floated;o||(o=!1);let a=r.top||0,l=r.left||0,c=r.zIndex||0;this.pushScreen({id:this.counter++,target:r.target,screen:r.screen,definition:n.data,floated:o,top:a,left:l,zIndex:c})},0)})}).then(()=>{setTimeout(this.refreshLayout,0)})},applyConfig:function(t){this.counter=0,this.definitions=[];const e=t.map(i=>this.loadScreen(i.target,i.screen));this.loadAll(t,e)},openConfiguration:function(t,e=!1){this.openConfigBase(t,e,i=>{this.applyConfig(i)}),this.panel=null},saveConfiguration:function(t){this.saveConfigBase(t,this.currentConfig)}}},Rc={class:"grid"},Ic=["id"],Oc={class:"item-content"};function Lc(t,e,i,r,s,n){const o=T("top-bar"),a=T("v-expansion-panel-title"),l=T("v-
|
35
|
+
`,si.post("/openc3-api/screen/",{data:{scope:window.openc3Scope,target:i,screen:t,text:r}}).then(s=>{this.newScreenDialog=!1,this.screens[i]===void 0&&(this.screens[i]=[]),this.screens[i].push(t),this.screens[i].sort(),this.selectedTarget=i,this.selectedScreen=t,this.showScreen(i,t)})},showScreen(t,e){this.definitions.find(r=>r.target==t&&r.screen==e)||this.loadScreen(t,e).then(r=>{this.pushScreen({id:this.counter++,target:t,screen:e,definition:r.data,floated:!1,top:0,left:0,zIndex:0})})},loadScreen(t,e){return si.get("/openc3-api/screen/"+t+"/"+e,{headers:{Accept:"text/plain"}})},pushScreen(t){this.definitions.push(t),this.$nextTick(function(){if(!t.floated){let e=this.grid.add(this.$refs.gridItem[this.$refs.gridItem.length-1],{active:!1});this.grid.show(e),this.grid.refreshItems().layout()}})},closeScreenByName(t,e){const i=this.definitions.find(r=>r.target==t&&r.screen==e);i&&this.closeScreen(i.id)},closeAll(){for(const t of this.definitions)this.closeScreen(t.id)},closeScreen(t){let e=this.grid.getItems([document.getElementById(this.screenId(t))]);this.grid.remove(e),this.grid.refreshItems().layout(),this.definitions=this.definitions.filter((i,r,s)=>i.id!=t)},deleteScreen(t){this.closeScreen(t.id);let e=this.screens[t.target].indexOf(t.screen);e!==-1&&(this.screens[t.target].splice(e,1),this.screens[t.target].length===0&&this.$delete(this.screens,t.target))},floatScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s;let n=this.grid.getItems([document.getElementById(this.screenId(t.id))]);this.grid.remove(n),this.grid.refreshItems().layout()},unfloatScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s;let n=[document.getElementById(this.screenId(t.id))];this.grid.add(n),this.grid.refreshItems().layout()},dragScreen(t,e,i,r,s){t.floated=e,t.top=i,t.left=r,t.zIndex=s},refreshLayout(){setTimeout(()=>{this.grid.refreshItems().layout()},600)},screenId(t){return"tlmViewerScreen"+t},loadAll(t,e){Promise.all(e).then(i=>{t.forEach((r,s)=>{const n=i[s];setTimeout(()=>{let o=r.floated;o||(o=!1);let a=r.top||0,l=r.left||0,c=r.zIndex||0;this.pushScreen({id:this.counter++,target:r.target,screen:r.screen,definition:n.data,floated:o,top:a,left:l,zIndex:c})},0)})}).then(()=>{setTimeout(this.refreshLayout,0)})},applyConfig:function(t){this.counter=0,this.definitions=[];const e=t.map(i=>this.loadScreen(i.target,i.screen));this.loadAll(t,e)},openConfiguration:function(t,e=!1){this.openConfigBase(t,e,i=>{this.applyConfig(i)}),this.panel=null},saveConfiguration:function(t){this.saveConfigBase(t,this.currentConfig)}}},Rc={class:"grid"},Ic=["id"],Oc={class:"item-content"};function Lc(t,e,i,r,s,n){const o=T("top-bar"),a=T("v-expansion-panel-title"),l=T("v-autocomplete"),c=T("v-btn"),h=T("v-icon"),d=T("v-row"),m=T("v-container"),f=T("v-expansion-panel-text"),b=T("v-expansion-panel"),u=T("v-expansion-panels"),_=T("openc3-screen"),y=T("open-config-dialog"),g=T("save-config-dialog"),E=T("new-screen-dialog");return R(),rt("div",null,[x(o,{title:s.title,menus:s.menus},null,8,["title","menus"]),x(u,{modelValue:s.panel,"onUpdate:modelValue":e[4]||(e[4]=v=>s.panel=v),style:{"margin-bottom":"5px"}},{default:A(()=>[x(b,null,{default:A(()=>[x(a),x(f,null,{default:A(()=>[x(m,null,{default:A(()=>[x(d,{class:"pa-3"},{default:A(()=>[x(l,{class:"mr-4",density:"compact","hide-details":"",variant:"outlined",label:"Select Target",items:Object.keys(s.screens).sort(),"item-title":"label","item-value":"value",modelValue:s.selectedTarget,"onUpdate:modelValue":e[0]||(e[0]=v=>s.selectedTarget=v),style:{"max-width":"300px"},"data-test":"select-target"},null,8,["items","modelValue"]),x(l,{class:"mr-4",density:"compact","hide-details":"",variant:"outlined",label:"Select Screen",items:s.screens[s.selectedTarget],modelValue:s.selectedScreen,"onUpdate:modelValue":[e[1]||(e[1]=v=>s.selectedScreen=v),n.screenSelect],style:{"max-width":"300px"},"data-test":"select-screen"},null,8,["items","modelValue","onUpdate:modelValue"]),x(c,{class:"bg-primary mr-2",disabled:!s.selectedScreen,onClick:e[2]||(e[2]=()=>n.showScreen(s.selectedTarget,s.selectedScreen)),"data-test":"show-screen"},{default:A(()=>e[9]||(e[9]=[q(" Show ")])),_:1},8,["disabled"]),x(c,{class:"bg-primary",onClick:e[3]||(e[3]=()=>n.newScreen(s.selectedTarget)),"data-test":"new-screen"},{default:A(()=>[e[11]||(e[11]=q(" New Screen ")),x(h,null,{default:A(()=>e[10]||(e[10]=[q(" mdi-file-plus")])),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),$("div",Rc,[(R(!0),rt(Et,null,Ot(s.definitions,v=>(R(),rt("div",{class:"item",key:v.id,id:n.screenId(v.id),ref_for:!0,ref:"gridItem"},[$("div",Oc,[x(_,{target:v.target,screen:v.screen,definition:v.definition,keywords:s.keywords,"initial-floated":v.floated,"initial-top":v.top,"initial-left":v.left,"initial-z":v.zIndex,"time-zone":s.timeZone,onCloseScreen:S=>n.closeScreen(v.id),onMinMaxScreen:n.refreshLayout,onAddNewScreen:e[5]||(e[5]=S=>n.showScreen(...S)),onDeleteScreen:S=>n.deleteScreen(v),onFloatScreen:S=>n.floatScreen(v,...S),onUnfloatScreen:S=>n.unfloatScreen(v,...S),onDragScreen:S=>n.dragScreen(v,...S),onEditScreen:n.refreshLayout},null,8,["target","screen","definition","keywords","initial-floated","initial-top","initial-left","initial-z","time-zone","onCloseScreen","onMinMaxScreen","onDeleteScreen","onFloatScreen","onUnfloatScreen","onDragScreen","onEditScreen"])])],8,Ic))),128))]),s.openConfig?(R(),U(y,{key:0,modelValue:s.openConfig,"onUpdate:modelValue":e[6]||(e[6]=v=>s.openConfig=v),configKey:s.configKey,onSuccess:n.openConfiguration},null,8,["modelValue","configKey","onSuccess"])):J("",!0),s.saveConfig?(R(),U(g,{key:1,modelValue:s.saveConfig,"onUpdate:modelValue":e[7]||(e[7]=v=>s.saveConfig=v),configKey:s.configKey,onSuccess:n.saveConfiguration},null,8,["modelValue","configKey","onSuccess"])):J("",!0),s.newScreenDialog?(R(),U(E,{key:2,modelValue:s.newScreenDialog,"onUpdate:modelValue":e[8]||(e[8]=v=>s.newScreenDialog=v),target:s.selectedTarget,screens:s.screens,onSuccess:n.saveNewScreen},null,8,["modelValue","target","screens","onSuccess"])):J("",!0)])}const Zc=gn("default",ci(kc,[["render",Lc],["__scopeId","data-v-f16a6a45"]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./main-
|
1
|
+
System.register(["./main-8d91a8cfcf06e879b7ee.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js"],function(S,T){"use strict";var _,w;return{setters:[p=>{_=p.R},p=>{w=p.o}],execute:function(){var p={},I;function x(){return I||(I=1,function(t){(function(){var s={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function c(a){return V(E(a),arguments)}function b(a,u){return c.apply(null,[a].concat(u||[]))}function V(a,u){var i=1,h=a.length,e,o="",l,n,r,m,g,y,v,d;for(l=0;l<h;l++)if(typeof a[l]=="string")o+=a[l];else if(typeof a[l]=="object"){if(r=a[l],r.keys)for(e=u[i],n=0;n<r.keys.length;n++){if(e==null)throw new Error(c('[sprintf] Cannot access property "%s" of undefined value "%s"',r.keys[n],r.keys[n-1]));e=e[r.keys[n]]}else r.param_no?e=u[r.param_no]:e=u[i++];if(s.not_type.test(r.type)&&s.not_primitive.test(r.type)&&e instanceof Function&&(e=e()),s.numeric_arg.test(r.type)&&typeof e!="number"&&isNaN(e))throw new TypeError(c("[sprintf] expecting number but found %T",e));switch(s.number.test(r.type)&&(v=e>=0),r.type){case"b":e=parseInt(e,10).toString(2);break;case"c":e=String.fromCharCode(parseInt(e,10));break;case"d":case"i":e=parseInt(e,10);break;case"j":e=JSON.stringify(e,null,r.width?parseInt(r.width):0);break;case"e":e=r.precision?parseFloat(e).toExponential(r.precision):parseFloat(e).toExponential();break;case"f":e=r.precision?parseFloat(e).toFixed(r.precision):parseFloat(e);break;case"g":e=r.precision?String(Number(e.toPrecision(r.precision))):parseFloat(e);break;case"o":e=(parseInt(e,10)>>>0).toString(8);break;case"s":e=String(e),e=r.precision?e.substring(0,r.precision):e;break;case"t":e=String(!!e),e=r.precision?e.substring(0,r.precision):e;break;case"T":e=Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),e=r.precision?e.substring(0,r.precision):e;break;case"u":e=parseInt(e,10)>>>0;break;case"v":e=e.valueOf(),e=r.precision?e.substring(0,r.precision):e;break;case"x":e=(parseInt(e,10)>>>0).toString(16);break;case"X":e=(parseInt(e,10)>>>0).toString(16).toUpperCase();break}s.json.test(r.type)?o+=e:(s.number.test(r.type)&&(!v||r.sign)?(d=v?"+":"-",e=e.toString().replace(s.sign,"")):d="",g=r.pad_char?r.pad_char==="0"?"0":r.pad_char.charAt(1):" ",y=r.width-(d+e).length,m=r.width&&y>0?g.repeat(y):"",o+=r.align?d+e+m:g==="0"?d+m+e:m+d+e)}return o}var f=Object.create(null);function E(a){if(f[a])return f[a];for(var u=a,i,h=[],e=0;u;){if((i=s.text.exec(u))!==null)h.push(i[0]);else if((i=s.modulo.exec(u))!==null)h.push("%");else if((i=s.placeholder.exec(u))!==null){if(i[2]){e|=1;var o=[],l=i[2],n=[];if((n=s.key.exec(l))!==null)for(o.push(n[1]);(l=l.substring(n[0].length))!=="";)if((n=s.key_access.exec(l))!==null)o.push(n[1]);else if((n=s.index_access.exec(l))!==null)o.push(n[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");i[2]=o}else e|=2;if(e===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");h.push({placeholder:i[0],param_no:i[1],keys:i[2],sign:i[3],pad_char:i[4],align:i[5],width:i[6],precision:i[7],type:i[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");u=u.substring(i[0].length)}return f[a]=h}t.sprintf=c,t.vsprintf=b,typeof window<"u"&&(window.sprintf=c,window.vsprintf=b)})()}(p)),p}x();const k={methods:{formatValueBase(t,s){return this.isJsonString(t)?this.formatJsonString(t):Array.isArray(t)?this.formatArray(t):this.isObject(t)?"":s&&t?sprintf(s,t):String(t)},isJsonString(t){return t&&t.json_class==="String"&&t.raw!==void 0},formatJsonString(t){let s=Array.from(t.raw.slice(0,32),c=>("0"+(c&255).toString(16)).slice(-2)).join(" ").toUpperCase();return t.raw.length>32&&(s+="..."),s},formatArray(t){return"["+t.map(s=>typeof s=="string"?`"${s}"`:s).join(", ")+"]"},isObject(t){return Object.prototype.toString.call(t).slice(8,-1)==="Object"}}},L=S("L",{mixins:[w,_,k],props:{value:{default:null},limitsState:{type:String,default:null},counter:{default:null},formatString:null,timeZone:{type:String,default:"local"}},emits:["addItem","deleteItem","open"],data(){return{appliedTimeZone:"local",curValue:null,prevValue:null,grayLevel:80,grayRate:5,valueId:null,arrayIndex:null,viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:()=>{this.contextMenuShown=!1,this.viewDetails=!0}},{title:"Graph",action:()=>{window.open("/tools/tlmgrapher/"+encodeURIComponent(this.parameters[0])+"/"+encodeURIComponent(this.parameters[1])+"/"+encodeURIComponent(this.parameters[2]),"_blank")}}]}},watch:{_counter:function(t,s){this.curValue!==this.prevValue?this.grayLevel=80:(this.grayLevel-=this.grayRate,this.grayLevel<30&&(this.grayLevel=30)),this.prevValue=this.curValue}},computed:{_value:function(){return this.curValue=this.value,this.curValue===null&&(this.screenValues?this.screenValues[this.valueId]&&(this.arrayIndex!==null&&this.screenValues[this.valueId][0]?this.curValue=this.screenValues[this.valueId][0][this.arrayIndex]:this.curValue=this.screenValues[this.valueId][0]):this.curValue=null),this.curValue=this.formatValue(this.curValue),this.curValue},_limitsState:function(){let t=this.limitsState;return t===null&&(this.screenValues?this.screenValues[this.valueId]&&(t=this.screenValues[this.valueId][1]):t=null),t},_counter:function(){let t=this.counter;return t===null&&(this.screenValues?this.screenValues[this.valueId]&&(t=this.screenValues[this.valueId][2]):t=null),t},valueClass:function(){return"value shrink pa-1 openc3-"+this.limitsColor},astroStatus(){switch(this.limitsColor){case"green":return"normal";case"yellow":return"caution";case"red":return"critical";case"blue":return"standby";default:return null}},limitsColor(){let t=this._limitsState;if(t!=null)switch(t){case"GREEN":case"GREEN_HIGH":case"GREEN_LOW":return"green";case"YELLOW":case"YELLOW_HIGH":case"YELLOW_LOW":return"yellow";case"RED":case"RED_HIGH":case"RED_LOW":return"red";case"BLUE":return"blue";case"STALE":return"purple";default:return"white"}return""},limitsLetter(){let t=this._limitsState;if(t!=null){let s=t.charAt(0);return t.endsWith("_LOW")&&(s=s.toLowerCase()),s}return""}},created(){if(this.value===null||this.limitsState===null){if(this.parameters[2].includes("[["))this.parameters[2]=this.parameters[2].replace("[[","[").replace("]]","]");else if(this.parameters[2].includes("[")){let t=this.parameters[2].match(/\[(\d+)\]/);this.arrayIndex=parseInt(t[1]),this.parameters[2]=this.parameters[2].replace(t[0],"")}this.valueId=`${this.parameters[0]}__${this.parameters[1]}__${this.parameters[2]}__${this.getType()}`,this.$emit("addItem",this.valueId),this.screenTimeZone?this.appliedTimeZone=this.screenTimeZone:this.appliedTimeZone=this.timeZone}},destroyed(){(this.value===null||this.limitsState===null)&&this.$emit("deleteItem",this.valueId)},methods:{getType(){let t="WITH_UNITS";return this.parameters[3]&&(t=this.parameters[3]),t},formatValue(t){return t&&this.valueId&&(this.valueId.toUpperCase().includes("PACKET_TIMEFORMATTED")||this.valueId.toUpperCase().includes("RECEIVED_TIMEFORMATTED"))&&(t=this.formatUtcToLocal(new Date(t.replaceAll("/","-")),this.appliedTimeZone)),this.formatValueBase(t,this.formatString)},showContextMenu(t){t.preventDefault(),this.contextMenuShown=!1,this.x=t.clientX,this.y=t.clientY,this.$nextTick(()=>{this.contextMenuShown=!0})}}})}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./main-
|
1
|
+
System.register(["./main-8d91a8cfcf06e879b7ee.js","vue","./DetailsDialog-BQE0TraI-4eb94007a2b4964682d3.js","single-spa","./VWidget-j2GIGGSX-e2d11a7c3168eba8556d.js","vue-router","vuex","vuetify","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js"],function(w,j){"use strict";var c,a,o,r,d,n,l,m,u,p,v,g,h,f,x,y,V,S;return{setters:[e=>{c=e.d},e=>{a=e.resolveComponent,o=e.createElementBlock,r=e.openBlock,d=e.normalizeStyle,n=e.createVNode,l=e.withCtx,m=e.createElementVNode,u=e.toDisplayString,p=e.mergeProps,v=e.createSlots,g=e.Fragment,h=e.renderList,f=e.createBlock,x=e.withModifiers,y=e.createTextVNode},e=>{V=e.P},null,e=>{S=e.L},null,null,null,null],execute:function(){const _={components:{DetailsDialog:V},mixins:[S],data:function(){return{width:16}},computed:{fullName(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]},aging(){return{"--aging":this.grayLevel}}},created(){this.verifyNumParams("VALUE",3,5,"VALUE <TARGET> <PACKET> <ITEM> <TYPE> <WIDTH>"),this.setWidth(parseInt(this.parameters[4])+4,"ch",this.width)}};function C(t,i,U,W,z,k){const E=a("rux-status"),B=a("v-text-field"),D=a("v-tooltip"),N=a("v-list-item-title"),T=a("v-list-item"),L=a("v-list"),M=a("v-menu"),P=a("details-dialog");return r(),o("div",{class:"value-widget-container",style:d([t.computedStyle,k.aging])},[n(D,{"open-delay":600,location:"top"},{activator:l(({props:s})=>[n(B,p({variant:"solo",density:"compact",flat:"",readonly:"","hide-details":"","model-value":t._value,class:t.valueClass,"data-test":"value"},s,{onContextmenu:t.showContextMenu}),v({_:2},[t.astroStatus?{name:"prepend-inner",fn:l(()=>[n(E,{status:t.astroStatus},null,8,["status"])]),key:"0"}:void 0]),1040,["model-value","class","onContextmenu"])]),default:l(()=>[m("span",null,u(k.fullName),1)]),_:1}),n(M,{modelValue:t.contextMenuShown,"onUpdate:modelValue":i[0]||(i[0]=s=>t.contextMenuShown=s),target:[t.x,t.y],style:{"z-index":"3000"}},{default:l(()=>[n(L,null,{default:l(()=>[(r(!0),o(g,null,h(t.contextMenuOptions,(s,I)=>(r(),f(T,{key:I,onClick:x(s.action,["stop"])},{default:l(()=>[n(N,null,{default:l(()=>[y(u(s.title),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1},8,["modelValue","target"]),n(P,{modelValue:t.viewDetails,"onUpdate:modelValue":i[1]||(i[1]=s=>t.viewDetails=s),"target-name":t.parameters[0],"packet-name":t.parameters[1],"item-name":t.parameters[2]},null,8,["modelValue","target-name","packet-name","item-name"])],4)}const A=w("default",c(_,[["render",C],["__scopeId","data-v-0d38b850"]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./ValueWidget-3jNtnh5i-
|
1
|
+
System.register(["./ValueWidget-3jNtnh5i-29fac0835cba4ca76b0f.js","./LimitsbarWidget-BxxoKTjp-b612f56dd8dfa966a569.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js","vue","./main-8d91a8cfcf06e879b7ee.js","./DetailsDialog-BQE0TraI-4eb94007a2b4964682d3.js","single-spa","./VWidget-j2GIGGSX-e2d11a7c3168eba8556d.js","vue-router","vuex","vuetify","./BarColumn-Bgz2YJ59-1e3597cfdb539b46bf5c.js"],function(g,f){"use strict";var l,i,a,n,o,u,c,s,r,m;return{setters:[e=>{l=e.default},e=>{i=e.default},e=>{a=e.o},e=>{n=e.resolveComponent,o=e.createElementBlock,u=e.openBlock,c=e.normalizeStyle,s=e.createVNode,r=e.mergeProps},e=>{m=e.d},null,null,null,null,null,null,null],execute:function(){const e={mixins:[a],components:{ValueWidget:l,LimitsbarWidget:i}};function d(t,B,x,S,b,y){const p=n("value-widget"),v=n("limitsbar-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:c(t.computedStyle)},[s(p,r(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"]),s(v,r(t.$attrs,{parameters:t.parameters.slice(0,3),settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1,line:t.line,lineNumber:t.lineNumber}),null,16,["parameters","settings","screen-values","line","lineNumber"])],4)}const j=g("default",m(e,[["render",d]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./ValueWidget-3jNtnh5i-
|
1
|
+
System.register(["./ValueWidget-3jNtnh5i-29fac0835cba4ca76b0f.js","./LimitscolumnWidget-CdBh2mJu-be0ed0e2ebafc6b789a8.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js","vue","./main-8d91a8cfcf06e879b7ee.js","./DetailsDialog-BQE0TraI-4eb94007a2b4964682d3.js","single-spa","./VWidget-j2GIGGSX-e2d11a7c3168eba8556d.js","vue-router","vuex","vuetify","./BarColumn-Bgz2YJ59-1e3597cfdb539b46bf5c.js"],function(g,B){"use strict";var r,i,a,n,u,o,c,s,l,m;return{setters:[e=>{r=e.default},e=>{i=e.default},e=>{a=e.o},e=>{n=e.resolveComponent,u=e.createElementBlock,o=e.openBlock,c=e.normalizeStyle,s=e.createVNode,l=e.mergeProps},e=>{m=e.d},null,null,null,null,null,null,null],execute:function(){const e={mixins:[a],components:{ValueWidget:r,LimitscolumnWidget:i}};function d(t,j,S,V,z,w){const p=n("limitscolumn-widget"),v=n("value-widget");return o(),u("div",{ref:"container",style:c(t.computedStyle)},[s(p,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1,line:t.line,lineNumber:t.lineNumber}),null,16,["parameters","settings","screen-values","line","lineNumber"]),s(v,l(t.$attrs,{parameters:t.parameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"])],4)}const f=g("default",m(e,[["render",d]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./ValueWidget-3jNtnh5i-
|
1
|
+
System.register(["./ValueWidget-3jNtnh5i-29fac0835cba4ca76b0f.js","./RangebarWidget-dZN9WjoZ-85da5d44c066a9d3ba2c.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js","vue","./main-8d91a8cfcf06e879b7ee.js","./DetailsDialog-BQE0TraI-4eb94007a2b4964682d3.js","single-spa","./VWidget-j2GIGGSX-e2d11a7c3168eba8556d.js","vue-router","vuex","vuetify"],function(g,f){"use strict";var n,i,l,r,o,u,m,s,a,p;return{setters:[e=>{n=e.default},e=>{i=e.default},e=>{l=e.o},e=>{r=e.resolveComponent,o=e.createElementBlock,u=e.openBlock,m=e.normalizeStyle,s=e.createVNode,a=e.mergeProps},e=>{p=e.d},null,null,null,null,null,null],execute:function(){const e={mixins:[l],components:{ValueWidget:n,RangebarWidget:i},computed:{valueParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[5],this.parameters[6]]},rangeBarParameters(){return[this.parameters[0],this.parameters[1],this.parameters[2],this.parameters[3],this.parameters[4],this.parameters[5],this.parameters[7],this.parameters[8]]}}};function d(t,B,S,x,V,c){const v=r("value-widget"),h=r("rangebar-widget");return u(),o("div",{ref:"container",class:"d-flex flex-row",style:m(t.computedStyle)},[s(v,a(t.$attrs,{parameters:c.valueParameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone,"widget-index":0}),null,16,["parameters","settings","screen-values","screen-time-zone"]),s(h,a(t.$attrs,{parameters:c.rangeBarParameters,settings:[...t.appliedSettings],"screen-values":t.screenValues,"widget-index":1}),null,16,["parameters","settings","screen-values"])],4)}const j=g("default",p(e,[["render",d]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./Layout-1z8iJV5--
|
1
|
+
System.register(["./Layout-1z8iJV5--54d6e2a9aecae4ac8b4f.js","vue","./main-8d91a8cfcf06e879b7ee.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js","vue-router","single-spa","vuex","vuetify"],function(f,k){"use strict";var l,i,r,c,o,u,m,g,p,d;return{setters:[e=>{l=e.r},e=>{i=e.createElementBlock,r=e.openBlock,c=e.normalizeStyle,o=e.Fragment,u=e.renderList,m=e.createBlock,g=e.resolveDynamicComponent,p=e.mergeProps},e=>{d=e.d},null,null,null,null,null],execute:function(){const e={mixins:[l],created:function(){if(this.parameters[0]){let n=this.parameters[0];this.widgets.forEach(a=>{a.settings.find(s=>s[0]==="MARGIN"||s[0]==="RAW"&&s[1].toUpperCase().includes("MARGIN"))===void 0&&a.settings.push(["MARGIN",n])})}}};function y(n,a,s,h,z,w){return r(),i("div",{ref:"container",style:c(n.computedStyle)},[(r(!0),i(o,null,u(n.widgets,(t,v)=>(r(),m(g(t.type),p({ref_for:!0},n.listeners,{key:v,target:t.target,parameters:t.parameters,settings:t.settings,"screen-values":n.screenValues,"screen-time-zone":n.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))],4)}const B=f("default",d(e,[["render",y]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./LabelWidget-iUIJLhdA-
|
1
|
+
System.register(["./LabelWidget-iUIJLhdA-b8da05b171f5d23c267d.js","./HorizontallineWidget-DEODVJCk-4fbc854567f1444d67e2.js","./VerticalWidget-DJvoxqLE-439eea49a75d218d226c.js","./Layout-1z8iJV5--54d6e2a9aecae4ac8b4f.js","vue","./main-8d91a8cfcf06e879b7ee.js","./Widget-Bn_S-zBo-57a16e29bf8d20b8c9df.js","vue-router","single-spa","vuex","vuetify"],function(m,S){"use strict";var l,r,a,o,n,c,s,g,d,i,u,p;return{setters:[e=>{l=e.default},e=>{r=e.default},e=>{a=e.default},e=>{o=e.r},e=>{n=e.resolveComponent,c=e.createElementBlock,s=e.openBlock,g=e.createBlock,d=e.createCommentVNode,i=e.createVNode,u=e.mergeProps},e=>{p=e.d},null,null,null,null,null],execute:function(){const e={mixins:[o],components:{LabelWidget:l,HorizontalLineWidget:r,VerticalWidget:a},created(){this.labelSettings=[...this.appliedSettings],this.labelSettings.find(t=>t[0]==="0"&&t[1]==="RAW"&&t[2]==="font-weight")||this.labelSettings.push(["0","RAW","font-weight","bold"])}};function v(t,W,b,k,B,z){const f=n("label-widget"),w=n("horizontal-line-widget"),h=n("vertical-widget");return s(),c("div",null,[t.parameters.length>0?(s(),g(f,{key:0,parameters:t.parameters.slice(0,1),settings:[...t.labelSettings],"widget-index":0},null,8,["parameters","settings"])):d("",!0),i(w,{settings:[...t.appliedSettings],"widget-index":1},null,8,["settings"]),i(h,u(t.listeners,{parameters:t.parameters.slice(1),settings:t.settings,widgets:t.widgets,"screen-values":t.screenValues,"screen-time-zone":t.screenTimeZone}),null,16,["parameters","settings","widgets","screen-values","screen-time-zone"])])}const V=m("default",p(e,[["render",v]]))}}});
|
@@ -1 +1 @@
|
|
1
|
-
System.register(["./main-
|
1
|
+
System.register(["./main-8d91a8cfcf06e879b7ee.js"],function(p,d){"use strict";var o,r;return{setters:[n=>{o=n.U,r=n.c}],execute:function(){const n=p("o",{mixins:[o],props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:()=>[]},settings:{type:Array,default:()=>[]},screenValues:{type:Object,default:()=>{}},screenTimeZone:{type:String,default:"local"},namedWidgets:{type:Object,default:{}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},data(){return{appliedSettings:[],appliedStyle:{},widgetName:null,screenId:"NO_SCREEN"}},computed:{computedStyle:function(){return this.appliedSettings.forEach(t=>{this.applyStyleSetting(t)}),this.appliedStyle.width===void 0&&this.appliedStyle.height===void 0&&(this.appliedStyle.flex="1 1 auto"),this.appliedStyle},screen:function(){const t=this;return{getNamedWidget:function(e){return t.$store.getters.namedWidget(t.toQualifiedWidgetName(e))},open:function(e,i){t.$emit("open",e,i)},close:function(e,i){t.$emit("close",e,i)},closeAll:function(){t.$emit("closeAll")}}},listeners:function(){return Object.entries(this.$attrs).reduce((t,e)=>e[0].startsWith("on")?{...t,[e[0]]:e[1]}:t,{})}},watch:{widgetName:function(t,e){this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(e)),this.$store.commit("setNamedWidget",{[this.toQualifiedWidgetName(t)]:this})}},created(){var t,e;this.screenId=(t=this.settings.find(i=>i[0]==="__SCREEN_ID__"))==null?void 0:t.at(1),this.widgetName=(e=this.settings.find(i=>i[0]==="NAMED_WIDGET"))==null?void 0:e.at(1),this.appliedSettings=this.settings.map(i=>{const s=parseInt(i[0]);if(isNaN(s)||this.widgetIndex===null)return i;if(this.widgetIndex===s)return i.slice(1)}).filter(i=>i!==void 0)},beforeUnmount(){this.widgetName&&this.$store.commit("clearNamedWidget",this.toQualifiedWidgetName(this.widgetName))},methods:{applyStyleSetting(t){switch(t[0]){case"TEXTALIGN":this.appliedStyle["text-align"]=t[1].toLowerCase()+" !important",this.appliedStyle["--text-align"]=t[1].toLowerCase();break;case"PADDING":isNaN(Number(t[1]))||(t[1]+="px"),this.appliedStyle.padding=t[1]+" !important";break;case"MARGIN":isNaN(Number(t[1]))||(t[1]+="px"),this.appliedStyle.margin=t[1]+" !important";break;case"BACKCOLOR":this.appliedStyle["background-color"]=this.getColor(t.slice(1))+" !important";break;case"TEXTCOLOR":this.appliedStyle.color=this.getColor(t.slice(1))+" !important";break;case"BORDERCOLOR":this.appliedStyle["border-width"]="1px!important",this.appliedStyle["border-style"]="solid!important",this.appliedStyle["border-color"]=this.getColor(t.slice(1))+" !important";break;case"WIDTH":isNaN(Number(t[1]))||(t[1]+="px"),this.appliedStyle.width=t[1]+" !important";break;case"HEIGHT":isNaN(Number(t[1]))||(t[1]+="px"),this.appliedStyle.height=t[1]+" !important";break;case"RAW":this.appliedStyle[t[1].toLowerCase()]=t[2]+" !important";break}},verifyNumParams(t,e,i,s=""){let a={line:this.line,lineNumber:this.lineNumber,keyword:t,parameters:this.parameters};for(let l=1;l<=e;l++)if(this.parameters[l-1]===void 0)throw new r(a,`Not enough parameters for ${t}.`,s,"https://docs.openc3.com/docs/configuration");if(i!==null&&this.parameters.length>i)throw new r(a,`Too many parameters for ${t}.`,s,"https://docs.openc3.com/docs/configuration")},setWidth(t,e="px",i="120"){let s=this.appliedSettings.find(a=>a[0]==="WIDTH");return s?s.WIDTH:t?(this.appliedSettings.push(["WIDTH",`${t}${e}`]),parseInt(t)):(this.appliedSettings.push(["WIDTH",`${i}${e}`]),parseInt(i))},setHeight(t,e="px",i="20"){let s=null;return s=this.appliedSettings.find(a=>a[0]==="HEIGHT"),s?s.HEIGHT:t?(this.appliedSettings.push(["HEIGHT",`${t}${e}`]),parseInt(t)):(this.appliedSettings.push(["HEIGHT",`${i}${e}`]),parseInt(i))},getColor(t){switch(t.length){case 1:return t[0].toLowerCase();case 3:return`rgb(${t[0]},${t[1]},${t[2]})`}},toQualifiedWidgetName(t){return`${this.screenId}:${t}`}}})}}});
|