openc3-cosmos-tool-dataviewer 5.15.1 → 5.15.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- (self["webpackChunk_openc3_cosmos_tool_dataviewer"]=self["webpackChunk_openc3_cosmos_tool_dataviewer"]||[]).push([[918],{918:(e,n,t)=>{"use strict";function l(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="5bf28697e8646eaa270f907b690ab67256c6457b",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:6827}},4:{start:{line:1,column:395},end:{line:1,column:412}},5:{start:{line:1,column:649},end:{line:1,column:666}},6:{start:{line:1,column:905},end:{line:1,column:920}},7:{start:{line:1,column:1168},end:{line:1,column:1183}},8:{start:{line:1,column:1951},end:{line:1,column:1966}},9:{start:{line:1,column:2170},end:{line:1,column:2183}},10:{start:{line:1,column:2378},end:{line:1,column:2403}},11:{start:{line:1,column:2602},end:{line:1,column:2616}},12:{start:{line:1,column:2686},end:{line:1,column:2852}},13:{start:{line:1,column:2770},end:{line:1,column:2795}},14:{start:{line:1,column:2967},end:{line:1,column:3215}},15:{start:{line:1,column:3359},end:{line:1,column:3373}},16:{start:{line:1,column:3442},end:{line:1,column:4464}},17:{start:{line:1,column:3811},end:{line:1,column:4007}},18:{start:{line:1,column:3912},end:{line:1,column:3938}},19:{start:{line:1,column:4253},end:{line:1,column:4272}},20:{start:{line:1,column:4855},end:{line:1,column:4873}},21:{start:{line:1,column:5091},end:{line:1,column:5109}},22:{start:{line:1,column:5254},end:{line:1,column:5275}},23:{start:{line:1,column:5606},end:{line:1,column:5624}},24:{start:{line:1,column:6242},end:{line:1,column:6261}},25:{start:{line:1,column:6744},end:{line:1,column:6774}},26:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:379},end:{line:1,column:380}},loc:{start:{line:1,column:394},end:{line:1,column:413}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:633},end:{line:1,column:634}},loc:{start:{line:1,column:648},end:{line:1,column:667}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:889},end:{line:1,column:890}},loc:{start:{line:1,column:904},end:{line:1,column:921}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1152},end:{line:1,column:1153}},loc:{start:{line:1,column:1167},end:{line:1,column:1184}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1935},end:{line:1,column:1936}},loc:{start:{line:1,column:1950},end:{line:1,column:1967}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2154},end:{line:1,column:2155}},loc:{start:{line:1,column:2169},end:{line:1,column:2184}},line:1},7:{name:"(anonymous_7)",decl:{start:{line:1,column:2362},end:{line:1,column:2363}},loc:{start:{line:1,column:2377},end:{line:1,column:2404}},line:1},8:{name:"(anonymous_8)",decl:{start:{line:1,column:2586},end:{line:1,column:2587}},loc:{start:{line:1,column:2601},end:{line:1,column:2617}},line:1},9:{name:"(anonymous_9)",decl:{start:{line:1,column:2666},end:{line:1,column:2667}},loc:{start:{line:1,column:2685},end:{line:1,column:2853}},line:1},10:{name:"(anonymous_10)",decl:{start:{line:1,column:2759},end:{line:1,column:2760}},loc:{start:{line:1,column:2770},end:{line:1,column:2795}},line:1},11:{name:"(anonymous_11)",decl:{start:{line:1,column:2943},end:{line:1,column:2944}},loc:{start:{line:1,column:2966},end:{line:1,column:3216}},line:1},12:{name:"(anonymous_12)",decl:{start:{line:1,column:3343},end:{line:1,column:3344}},loc:{start:{line:1,column:3358},end:{line:1,column:3374}},line:1},13:{name:"(anonymous_13)",decl:{start:{line:1,column:3422},end:{line:1,column:3423}},loc:{start:{line:1,column:3441},end:{line:1,column:4465}},line:1},14:{name:"(anonymous_14)",decl:{start:{line:1,column:3787},end:{line:1,column:3788}},loc:{start:{line:1,column:3810},end:{line:1,column:4008}},line:1},15:{name:"(anonymous_15)",decl:{start:{line:1,column:3906},end:{line:1,column:3907}},loc:{start:{line:1,column:3912},end:{line:1,column:3938}},line:1},16:{name:"(anonymous_16)",decl:{start:{line:1,column:4240},end:{line:1,column:4241}},loc:{start:{line:1,column:4253},end:{line:1,column:4272}},line:1},17:{name:"(anonymous_17)",decl:{start:{line:1,column:4839},end:{line:1,column:4840}},loc:{start:{line:1,column:4854},end:{line:1,column:4874}},line:1},18:{name:"(anonymous_18)",decl:{start:{line:1,column:5075},end:{line:1,column:5076}},loc:{start:{line:1,column:5090},end:{line:1,column:5110}},line:1},19:{name:"(anonymous_19)",decl:{start:{line:1,column:5238},end:{line:1,column:5239}},loc:{start:{line:1,column:5253},end:{line:1,column:5276}},line:1},20:{name:"(anonymous_20)",decl:{start:{line:1,column:5590},end:{line:1,column:5591}},loc:{start:{line:1,column:5605},end:{line:1,column:5625}},line:1},21:{name:"(anonymous_21)",decl:{start:{line:1,column:6226},end:{line:1,column:6227}},loc:{start:{line:1,column:6241},end:{line:1,column:6262}},line:1},22:{name:"(anonymous_22)",decl:{start:{line:1,column:6728},end:{line:1,column:6729}},loc:{start:{line:1,column:6743},end:{line:1,column:6775}},line:1}},branchMap:{0:{loc:{start:{line:1,column:789},end:{line:1,column:828}},type:"cond-expr",locations:[{start:{line:1,column:803},end:{line:1,column:823}},{start:{line:1,column:826},end:{line:1,column:828}}],line:1},1:{loc:{start:{line:1,column:1052},end:{line:1,column:1091}},type:"cond-expr",locations:[{start:{line:1,column:1066},end:{line:1,column:1086}},{start:{line:1,column:1089},end:{line:1,column:1091}}],line:1},2:{loc:{start:{line:1,column:1280},end:{line:1,column:1638}},type:"cond-expr",locations:[{start:{line:1,column:1294},end:{line:1,column:1438}},{start:{line:1,column:1439},end:{line:1,column:1638}}],line:1},3:{loc:{start:{line:1,column:1718},end:{line:1,column:1767}},type:"binary-expr",locations:[{start:{line:1,column:1718},end:{line:1,column:1729}},{start:{line:1,column:1733},end:{line:1,column:1742}},{start:{line:1,column:1746},end:{line:1,column:1767}}],line:1},4:{loc:{start:{line:1,column:3031},end:{line:1,column:3081}},type:"cond-expr",locations:[{start:{line:1,column:3062},end:{line:1,column:3076}},{start:{line:1,column:3079},end:{line:1,column:3081}}],line:1},5:{loc:{start:{line:1,column:4305},end:{line:1,column:4452}},type:"cond-expr",locations:[{start:{line:1,column:4340},end:{line:1,column:4443}},{start:{line:1,column:4444},end:{line:1,column:4452}}],line:1},6:{loc:{start:{line:1,column:4482},end:{line:1,column:4670}},type:"cond-expr",locations:[{start:{line:1,column:4508},end:{line:1,column:4661}},{start:{line:1,column:4662},end:{line:1,column:4670}}],line:1},7:{loc:{start:{line:1,column:4687},end:{line:1,column:4910}},type:"cond-expr",locations:[{start:{line:1,column:4704},end:{line:1,column:4901}},{start:{line:1,column:4902},end:{line:1,column:4910}}],line:1},8:{loc:{start:{line:1,column:4923},end:{line:1,column:5146}},type:"cond-expr",locations:[{start:{line:1,column:4940},end:{line:1,column:5137}},{start:{line:1,column:5138},end:{line:1,column:5146}}],line:1},9:{loc:{start:{line:1,column:6525},end:{line:1,column:6823}},type:"cond-expr",locations:[{start:{line:1,column:6554},end:{line:1,column:6814}},{start:{line:1,column:6815},end:{line:1,column:6823}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5bf28697e8646eaa270f907b690ab67256c6457b"},a=t[o]||(t[o]={});a[e]&&a[e].hash===n||(a[e]=i);var s=a[e];return l=function(){return s},s}t.r(n),t.d(n,{default:()=>Pe}),l(),l().s[0]++;var o=function(){l().f[0]++;var e=(l().s[1]++,this),n=(l().s[2]++,e._self._c);return l().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-container",[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-text-field",{attrs:{label:"Start Date",type:"date",rules:[e.rules.required],"data-test":"start-date"},model:{value:e.startDate,callback:function(n){l().f[1]++,l().s[4]++,e.startDate=n},expression:"startDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"Start Time",type:"time",step:"1",rules:[e.rules.required],"data-test":"start-time"},model:{value:e.startTime,callback:function(n){l().f[2]++,l().s[5]++,e.startTime=n},expression:"startTime"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Date",type:"date",rules:e.endTime?(l().b[0][0]++,[e.rules.required]):(l().b[0][1]++,[]),"data-test":"end-date"},model:{value:e.endDate,callback:function(n){l().f[3]++,l().s[6]++,e.endDate=n},expression:"endDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Time",type:"time",step:"1",rules:e.endDate?(l().b[1][0]++,[e.rules.required]):(l().b[1][1]++,[]),"data-test":"end-time"},model:{value:e.endTime,callback:function(n){l().f[4]++,l().s[7]++,e.endTime=n},expression:"endTime"}})],1),e._v(" "),n("v-col",{staticClass:"pt-4",attrs:{cols:"auto"}},[e.running?(l().b[2][0]++,n("v-btn",{attrs:{color:"primary",width:"100","data-test":"stop-button"},on:{click:e.stop}},[e._v("\n Stop\n ")])):(l().b[2][1]++,n("v-btn",{staticClass:"pulse-button",attrs:{disabled:!e.canStart,color:"primary",width:"100","data-test":"start-button"},on:{click:e.start}},[e._v("\n Start\n ")]))],1)],1),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:(l().b[3][0]++,e.warning||(l().b[3][1]++,e.error)||(l().b[3][2]++,e.connectionFailure)),expression:"warning || error || connectionFailure"}],staticClass:"mb-3"},[n("v-alert",{attrs:{type:"warning",dismissible:""},model:{value:e.warning,callback:function(n){l().f[5]++,l().s[8]++,e.warning=n},expression:"warning"}},[e._v("\n "+e._s(e.warningText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error",dismissible:""},model:{value:e.error,callback:function(n){l().f[6]++,l().s[9]++,e.error=n},expression:"error"}},[e._v("\n "+e._s(e.errorText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error"},model:{value:e.connectionFailure,callback:function(n){l().f[7]++,l().s[10]++,e.connectionFailure=n},expression:"connectionFailure"}},[e._v("\n OpenC3 backend connection failed.\n ")])],1)],1),e._v(" "),n("v-tabs",{ref:"tabs",model:{value:e.curTab,callback:function(n){l().f[8]++,l().s[11]++,e.curTab=n},expression:"curTab"}},[e._l(e.config.tabs,(function(t,o){return l().f[9]++,l().s[12]++,n("v-tab",{key:o,attrs:{"data-test":"tab"},on:{contextmenu:n=>(l().f[10]++,l().s[13]++,e.tabMenu(n,o))}},[e._v("\n "+e._s(t.tabName)+"\n ")])})),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[11]++,l().s[14]++,[n("v-btn",e._g(e._b({staticClass:"mt-2 ml-2",class:0===e.config.tabs.length?(l().b[4][0]++,"pulse-button"):(l().b[4][1]++,""),attrs:{icon:"","data-test":"new-tab"},on:{click:e.addTab}},"v-btn",o,!1),t),[n("v-icon",[e._v("mdi-tab-plus")])],1)]}}])},[e._v(" "),n("span",[e._v("Add Component")])])],2),e._v(" "),n("v-tabs-items",{model:{value:e.curTab,callback:function(n){l().f[12]++,l().s[15]++,e.curTab=n},expression:"curTab"}},e._l(e.config.tabs,(function(t,o){return l().f[13]++,l().s[16]++,n("v-tab-item",{key:t.ref,attrs:{eager:""}},[n("keep-alive",[n("v-card",{attrs:{flat:""}},[n("v-divider"),e._v(" "),n("v-card-title",{staticClass:"pa-3"},[n("span",{domProps:{textContent:e._s(t.name)}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[14]++,l().s[17]++,[n("v-btn",e._g(e._b({attrs:{icon:"","data-test":"delete-component"},on:{click:()=>(l().f[15]++,l().s[18]++,e.deleteComponent(o))}},"v-btn",i,!1),t),[n("v-icon",[e._v("mdi-delete")])],1)]}}],null,!0)},[e._v(" "),n("span",[e._v("Remove Component")])])],1),e._v(" "),n(t.type,e._g({ref:t.ref,refInFor:!0,tag:"component",attrs:{name:t.component,config:t.config,packets:t.packets},on:{config:e=>(l().f[16]++,l().s[19]++,t.config=e)}},e.$listeners)),e._v(" "),0===e.receivedPackets.length?(l().b[5][0]++,n("v-card-text",[e._v("\n No data! Make sure to hit the START button!\n ")])):(l().b[5][1]++,e._e())],1)],1)],1)})),1),e._v(" "),e.config.tabs.length?(l().b[6][1]++,e._e()):(l().b[6][0]++,n("v-card",[n("v-card-title",[e._v("You're not viewing any packets")]),e._v(" "),n("v-card-text",[e._v("Click the new tab icon to start.")])],1))],1),e._v(" "),e.openConfig?(l().b[7][0]++,n("open-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.openConfiguration},model:{value:e.openConfig,callback:function(n){l().f[17]++,l().s[20]++,e.openConfig=n},expression:"openConfig"}})):(l().b[7][1]++,e._e()),e._v(" "),e.saveConfig?(l().b[8][0]++,n("save-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.saveConfiguration},model:{value:e.saveConfig,callback:function(n){l().f[18]++,l().s[21]++,e.saveConfig=n},expression:"saveConfig"}})):(l().b[8][1]++,e._e()),e._v(" "),n("v-dialog",{attrs:{width:"600"},model:{value:e.tabNameDialog,callback:function(n){l().f[19]++,l().s[22]++,e.tabNameDialog=n},expression:"tabNameDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" DataViewer: Rename Tab")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-text-field",{attrs:{label:"Tab name","data-test":"rename-tab-input"},model:{value:e.newTabName,callback:function(n){l().f[20]++,l().s[23]++,e.newTabName=n},expression:"newTabName"}})],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-rename"},on:{click:e.cancelTabRename}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"rename",disabled:!e.newTabName},on:{click:e.renameTab}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),n("v-menu",{attrs:{"position-x":e.tabMenuX,"position-y":e.tabMenuY,absolute:"","offset-y":""},model:{value:e.showTabMenu,callback:function(n){l().f[21]++,l().s[24]++,e.showTabMenu=n},expression:"showTabMenu"}},[n("v-list",[n("v-list-item",{attrs:{"data-test":"context-menu-rename"}},[n("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:e.openTabNameDialog}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),e.showAddComponentDialog?(l().b[9][0]++,n("add-component-dialog",{attrs:{components:e.components},on:{add:e.addComponent,cancel:e.cancelAddComponent},model:{value:e.showAddComponentDialog,callback:function(n){l().f[22]++,l().s[25]++,e.showAddComponentDialog=n},expression:"showAddComponentDialog"}})):(l().b[9][1]++,e._e())],1)},i=(l().s[26]++,[]),a=(t(9375),t(8605),t(8752),t(7010),t(9130)),s=t(4625),c=t(1649);const r=new c["default"],u=s.A.create({baseURL:location.origin,timeout:6e4,params:{}});u.interceptors.response.use((e=>e),(e=>{if(e.response){var n,t,l,o,i;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let s=`HTTP ${e.response.status} - `;if(null!==(n=e.response)&&void 0!==n&&n.statusText&&(s+=`${e.response.statusText} `),null!==(t=e.response)&&void 0!==t&&null!==(t=t.config)&&void 0!==t&&t.data&&(s+=`${e.response.config.data} `),null!==(l=e.response)&&void 0!==l&&null!==(l=l.data)&&void 0!==l&&l.message)s+=`${e.response.data.message}`;else if(null!==(o=e.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&o.exception)s+=`${e.response.data.exception}`;else if(null!==(i=e.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&null!==(i=i.error)&&void 0!==i&&i.message)e.response.data.error.class&&(s+=`${e.response.data.error.class} `),s+=`${e.response.data.error.message}`;else{var a;s+=`${null===(a=e.response)||void 0===a?void 0:a.data}`}throw r.$notify&&r.$notify.serious({title:"Network error",body:s}),e}throw e}));const m=u,d=async function(e,n,{data:t,params:l={},headers:o,noAuth:i=!1,noScope:a=!1}={}){if(!i){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(s){OpenC3Auth.login()}o["Authorization"]=localStorage.openc3Token}return a||l["scope"]||(l["scope"]=window.openc3Scope),m({method:e,url:n,data:t,params:l,headers:o})},A={Accept:"application/json"},p={...A,"Content-Type":"application/json"},h={get:function(e,{params:n,headers:t=A,noScope:l,noAuth:o}={}){return d("get",e,{params:n,headers:t,noScope:l,noAuth:o})},put:function(e,{data:n,params:t,headers:l=p,noScope:o,noAuth:i}={}){return d("put",e,{data:n,params:t,headers:l,noScope:o,noAuth:i})},post:function(e,{data:n,params:t,headers:l=p,noScope:o,noAuth:i}={}){return d("post",e,{data:n,params:t,headers:l,noScope:o,noAuth:i})},delete:function(e,{params:n,headers:t=A,noScope:l,noAuth:o}={}){return d("delete",e,{params:n,headers:t,noScope:l,noAuth:o})}};t(4293);var f=t(942);t(7107),t(2682),t(785),t(8357),t(6196),t(821),t(6554),t(8472),t(7404),t(5803),t(3912),t(3647),t(9358),t(5114);class v{constructor(){(0,f.A)(this,"id",1)}async exec(e,n,t={},l={},o=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(a){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope;const i=await m.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:t},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...l},timeout:o});return i.data.result}catch(a){var i=new Error;throw a.response?(i.name=a.response.data.error.data.class,i.message=a.response.data.error.data.message):a.request?(i.name="Request error",i.message="Request error, no response received"):i.name="Unknown error",i}}decode_openc3_type(e){if(null!==e&&"object"===typeof e&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)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,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...t){return this.exec("interface_cmd",[e,n,...t])}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_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,t){return this.exec("get_item",[e,n,t])}get_param(e,n,t){return this.exec("get_param",[e,n,t])}get_parameter(e,n,t){return this.exec("get_parameter",[e,n,t])}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_list",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_telemetry",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e){return this.exec("get_all_tlm_names",[e])}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,l=30){const o=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:l});if(null!=o)for(var i=o.length,a=null,s=0;s<i;s++)a=this.decode_openc3_type(o[s][1]),null!==a&&(o[s][1]=a);return o}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,t=null){let l={stale_time:n};null!==t&&(l["cache_timeout"]=t);const o=await this.exec("get_tlm_values",[e],l,{},1e4);for(var i=o[0].length,a=null,s=0;s<i;s++)a=this.decode_openc3_type(o[0][s]),null!==a&&(o[0][s]=a);return o}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,l="CONVERTED"){let o=null;if(void 0===n)o=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){var i=new Error;throw i.name="TypeError",i.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,i}o=await this.exec("tlm",[e],{type:n})}else o=await this.exec("tlm",[e,n,t],{type:l});var a=this.decode_openc3_type(o);return null!==a&&(o=a),o}async inject_tlm(e,n,t=null,l="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:l})}set_tlm(e,n,t,l){return this.exec("set_tlm",[e,n,t],{type:l})}override_tlm(e,n,t,l){return this.exec("override_tlm",[e,n,t],{type:l})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,l){return this.exec("normalize_tlm",[e,n,t],{type:l})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e){return this.exec("get_all_cmd_names",[e])}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_command",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,t,l="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,l])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,l,o){var i=null;for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(i=this.encode_openc3_type(l[a]),null!==i&&(l[a]=i));return this.exec(e,[n,t,l],{},o)}get_cmd_hazardous(e,n,t){return void 0===n?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,n,t)}cmd(e,n,t,l={}){return void 0===n?this.exec("cmd",e,{},l):this._cmd("cmd",e,n,t,l)}cmd_no_range_check(e,n,t){return void 0===n?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,n,t)}cmd_raw(e,n,t){return void 0===n?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,n,t)}cmd_raw_no_range_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,n,t)}cmd_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,n,t)}cmd_no_checks(e,n,t){return void 0===n?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,n,t)}cmd_raw_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,n,t)}cmd_raw_no_checks(e,n,t){return void 0===n?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,n,t)}build_cmd(e,n,t){return void 0===n?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,t)}build_command(e,n,t){return void 0===n?this.exec("build_command",e):this._cmd("build_command",e,n,t)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,t){return this.exec("save_config",[e,n,t])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,t){return this.exec("enable_limits",[e,n,t])}disable_limits(e,n,t){return this.exec("disable_limits",[e,n,t])}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,n){return this.exec("set_setting",[e,n])}save_setting(e,n){return this.exec("save_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=(new TextEncoder).encode(e),t=await crypto.subtle.digest("SHA-256",n),l=new Uint8Array(t);return Array.from(l).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}const C={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(e){!0!==this.dontSaveDefaultConfig&&(localStorage[`${this.configKey}__default`]=JSON.stringify(e))},openConfigBase:function(e,n=!1,t=null){(new v).load_config(this.configKey,e).then((l=>{l?(this.$notify.normal({title:"Loading configuration",body:e}),t&&t(JSON.parse(l)),n||this.$router.currentRoute.fullPath.includes(e)||this.$router.push({query:{config:e}})):this.$notify.caution({title:"Unknown configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error opening configuration: ${e}`,body:n})}))},saveConfigBase:function(e,n){(new v).save_config(this.configKey,e,JSON.stringify(n)).then((()=>{this.$notify.normal({title:"Saved configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error saving configuration: ${e}`,body:n})}))},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`),"/"!==this.$router.currentRoute.fullPath&&(this.$router.replace(this.$router.currentRoute.path),this.$router.go())}}};var g=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Open Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"",autofocus:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{"data-test":"item-delete",icon:""},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"open-config-cancel-btn"},on:{click:e.cancel}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"open-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},b=[];const y={props:{configKey:String,value:Boolean},data(){return{configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.selectedItem||null===this.selectedItem?"Must select a config":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new v).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?this.selectedItem=e.item:this.selectedItem=null},success:function(){this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedItem=null},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.selectedItem.config===e.config&&(this.selectedItem=null),this.configs.splice(this.configs.indexOf(e),1),(new v).delete_config(this.configKey,e.config)})).catch((n=>{n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},k=y;var w=t(2401),T=(0,w.A)(k,g,b,!1,null,null,null);const x=T.exports;var N=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Save Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{icon:"","data-test":"item-delete"},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{"hide-details":"",autofocus:"",disabled:!!e.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},model:{value:e.configName,callback:function(n){e.configName=n},expression:"configName"}})],1),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:""},on:{click:e.cancel}},[e._v(" Cancel ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"save-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},D=[];const S={props:{configKey:String,value:Boolean},data(){return{configName:"",configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.configName?"Config must have a name":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new v).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?(this.selectedItem=e.item,this.configName=e.item.config):(this.selectedItem=null,this.configName="")},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.configName===e.config&&(this.selectedItem=null,this.configName=""),this.configs.splice(this.configs.indexOf(e.config),1),(new v).delete_config(this.configKey,e.config)})).catch((n=>{n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},P=S;var I=(0,w.A)(P,N,D,!1,null,null,null);const O=I.exports;var $=t(7752);$.D$.staleThreshold=10;class R{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(e,n,t={},l={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{if(n&&OpenC3Auth.setTokens(),null==this._cable){let e=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=$.Be(e)}return this._cable.subscriptions.create({channel:e,...l},t)}))}recordPing(){this._cable.connection.monitor.recordPing()}}var M=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,l){return n("v-menu",{key:l,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:o}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",o,!1),l),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(l,o){return[l.divider?n("v-divider",{key:o}):l.subMenu&&l.subMenu.length>0?n("div",{key:o},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:i}){return[n("v-list-item",e._g(e._b({key:o,attrs:{disabled:l.disabled}},"v-list-item",i,!1),t),[l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(l.subMenu,(function(t,l){return n("v-list-item",{key:l,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:o,attrs:{disabled:l.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${l.label}`)},on:{click:function(e){return l.command(l)}}},[l.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:l.label,value:l.label}})],1):e._e(),e._v(" "),l.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:l.label},model:{value:l.checked,callback:function(n){e.$set(l,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label))])],1)]}))],2)],1)],1)})),1)],1)},E=[];t(8715);const L={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},V=L;t(1e3);var U=(0,w.A)(V,M,E,!1,null,"57d4fdd2",null);const F=U.exports;function W(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="8c107e84b7a1e3aa0a59c0dd3ccbffc5d6e8a979",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:9,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:8,column:1026}},4:{start:{line:1,column:163},end:{line:1,column:175}},5:{start:{line:1,column:728},end:{line:1,column:753}},6:{start:{line:1,column:1085},end:{line:1,column:1110}},7:{start:{line:1,column:1659},end:{line:1,column:1680}},8:{start:{line:1,column:2187},end:{line:1,column:2213}},9:{start:{line:8,column:113},end:{line:8,column:138}},10:{start:{line:8,column:202},end:{line:8,column:571}},11:{start:{line:8,column:310},end:{line:8,column:505}},12:{start:{line:8,column:374},end:{line:8,column:401}},13:{start:{line:10,column:22},end:{line:10,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:9,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:147},end:{line:1,column:148}},loc:{start:{line:1,column:162},end:{line:1,column:176}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:712},end:{line:1,column:713}},loc:{start:{line:1,column:727},end:{line:1,column:754}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1069},end:{line:1,column:1070}},loc:{start:{line:1,column:1084},end:{line:1,column:1111}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1643},end:{line:1,column:1644}},loc:{start:{line:1,column:1658},end:{line:1,column:1681}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:2171},end:{line:1,column:2172}},loc:{start:{line:1,column:2186},end:{line:1,column:2214}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:8,column:96},end:{line:8,column:97}},loc:{start:{line:8,column:112},end:{line:8,column:139}},line:8},7:{name:"(anonymous_7)",decl:{start:{line:8,column:183},end:{line:8,column:184}},loc:{start:{line:8,column:201},end:{line:8,column:572}},line:8},8:{name:"(anonymous_8)",decl:{start:{line:8,column:286},end:{line:8,column:287}},loc:{start:{line:8,column:309},end:{line:8,column:506}},line:8},9:{name:"(anonymous_9)",decl:{start:{line:8,column:357},end:{line:8,column:358}},loc:{start:{line:8,column:373},end:{line:8,column:402}},line:8}},branchMap:{0:{loc:{start:{line:1,column:1971},end:{line:1,column:2258}},type:"cond-expr",locations:[{start:{line:1,column:2003},end:{line:1,column:2249}},{start:{line:1,column:2250},end:{line:1,column:2258}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8c107e84b7a1e3aa0a59c0dd3ccbffc5d6e8a979"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return W=function(){return a},a}W(),W().s[0]++;var K=function(){W().f[0]++;var e=(W().s[1]++,this),n=(W().s[2]++,e._self._c);return W().s[3]++,n("div",[n("v-dialog",{attrs:{width:"800"},model:{value:e.show,callback:function(n){W().f[1]++,W().s[4]++,e.show=n},expression:"show"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" Configure Component ")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-container",[n("v-row",{attrs:{align:"center"}},[n("v-col",[e._v("Select Component:")]),e._v(" "),n("v-col",[n("v-select",{attrs:{"hide-details":"",dense:"",outlined:"",items:e.components,"item-text":"label","item-value":"value","return-object":"","data-test":"select-component"},model:{value:e.selectedComponent,callback:function(n){W().f[2]++,W().s[5]++,e.selectedComponent=n},expression:"selectedComponent"}})],1)],1),e._v(" "),n("v-row",[n("v-col",[e._v("Add packets for this component to process.")])],1),e._v(" "),n("v-row",[n("v-col",{staticClass:"my-2"},[n("v-radio-group",{staticClass:"mt-0",attrs:{row:"","hide-details":""},model:{value:e.newPacketCmdOrTlm,callback:function(n){W().f[3]++,W().s[6]++,e.newPacketCmdOrTlm=n},expression:"newPacketCmdOrTlm"}},[n("v-radio",{attrs:{label:"Command",value:"cmd","data-test":"command-packet-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Telemetry",value:"tlm","data-test":"telemetry-packet-radio"}})],1)],1)],1),e._v(" "),n("v-row",[n("v-col",[n("target-packet-item-chooser",{attrs:{unknown:"","button-text":"Add Packet"},on:{click:e.addPacket}})],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-radio-group",{attrs:{row:"","hide-details":""},model:{value:e.newPacketMode,callback:function(n){W().f[4]++,W().s[7]++,e.newPacketMode=n},expression:"newPacketMode"}},[n("v-radio",{attrs:{label:"Raw",value:"RAW","data-test":"new-packet-raw-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Decom",value:"DECOM",disabled:e.disableRadioOptions,"data-test":"new-packet-decom-radio"}})],1)],1),e._v(" "),n("v-col",["DECOM"===e.newPacketMode?(W().b[0][0]++,n("v-select",{attrs:{"hide-details":"",label:"Value Type","data-test":"add-packet-value-type",items:e.valueTypes},model:{value:e.newPacketValueType,callback:function(n){W().f[5]++,W().s[8]++,e.newPacketValueType=n},expression:"newPacketValueType"}})):(W().b[0][1]++,e._e())],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-data-table",{attrs:{headers:e.headers,items:e.packets,search:e.search,"items-per-page":e.itemsPerPage,"footer-props":{itemsPerPageOptions:[10,100],showFirstLastPage:!0,firstIcon:"mdi-page-first",lastIcon:"mdi-page-last",prevIcon:"mdi-chevron-left",nextIcon:"mdi-chevron-right"},"calculate-widths":"","multi-sort":"",dense:""},on:{"update:items-per-page":function(n){W().f[6]++,W().s[9]++,e.itemsPerPage=n}},scopedSlots:e._u([{key:"item.delete",fn:function({item:t}){return W().f[7]++,W().s[10]++,[n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:o}){return W().f[8]++,W().s[11]++,[n("v-icon",e._g(e._b({on:{click:function(n){return W().f[9]++,W().s[12]++,e.deleteItem(t)}}},"v-icon",o,!1),l),[e._v("\n mdi-delete\n ")])]}}],null,!0)},[e._v(" "),n("span",[e._v("Delete Item")])])]}}])})],1)],1)],1)],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-component"},on:{click:e.cancelAddComponent}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"add-component",disabled:e.notValid},on:{click:e.addComponent}},[e._v("\n Create\n ")])],1)],1)],1)],1)},B=(W().s[13]++,[]),j=function(){var e=this,n=e._self._c;return n("div",{staticClass:"pt-4 tgt-pkt-item-chooser"},[n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-target"}},[n("v-autocomplete",{attrs:{label:"Select Target","hide-details":"",dense:"",outlined:"",items:e.targetNames,"item-text":"label","item-value":"value"},on:{change:e.targetNameChanged},model:{value:e.selectedTargetName,callback:function(n){e.selectedTargetName=n},expression:"selectedTargetName"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-packet"}},[n("v-autocomplete",{attrs:{label:"Select Packet","hide-details":"",dense:"",outlined:"",disabled:e.packetsDisabled||e.buttonDisabled,items:e.packetNames,"item-text":"label","item-value":"value"},on:{change:e.packetNameChanged},model:{value:e.selectedPacketName,callback:function(n){e.selectedPacketName=n},expression:"selectedPacketName"}})],1),e._v(" "),e.chooseItem&&!e.buttonDisabled?n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-item"}},[n("v-autocomplete",{attrs:{label:"Select Item","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.buttonDisabled,items:e.itemNames,"item-text":"label","item-value":"value"},on:{change:function(n){return e.itemNameChanged(n)}},model:{value:e.selectedItemName,callback:function(n){e.selectedItemName=n},expression:"selectedItemName"}})],1):e._e(),e._v(" "),e.itemIsArray()?n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"array-index"}},[n("v-combobox",{attrs:{label:"Array Index","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.buttonDisabled,items:e.arrayIndexes(),"item-text":"label","item-value":"value"},model:{value:e.selectedArrayIndex,callback:function(n){e.selectedArrayIndex=n},expression:"selectedArrayIndex"}})],1):e._e(),e._v(" "),e.buttonText?n("v-col",{staticStyle:{"max-width":"0px"},attrs:{cols:e.colSize}},[n("v-btn",{attrs:{disabled:e.buttonDisabled,block:"",color:"primary","data-test":"select-send"},on:{click:e.buttonPressed}},[e._v("\n "+e._s(e.actualButtonText)+"\n ")])],1):e._e()],1),e._v(" "),e.selectTypes?n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"data-type"}},[n("v-autocomplete",{attrs:{label:"Value Type","hide-details":"",dense:"",outlined:"",items:e.valueTypes},model:{value:e.selectedValueType,callback:function(n){e.selectedValueType=n},expression:"selectedValueType"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced"}},[n("v-autocomplete",{attrs:{label:"Reduced","hide-details":"",dense:"",outlined:"",items:e.reductionModes},model:{value:e.selectedReduced,callback:function(n){e.selectedReduced=n},expression:"selectedReduced"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced-type"}},[n("v-autocomplete",{attrs:{label:"Reduced Type","hide-details":"",dense:"",outlined:"",disabled:"DECOM"===e.selectedReduced,items:e.reducedTypes},model:{value:e.selectedReducedType,callback:function(n){e.selectedReducedType=n},expression:"selectedReducedType"}})],1),e._v(" "),n("v-col",{staticStyle:{"max-width":"0px"},attrs:{cols:e.colSize}})],1):e._e(),e._v(" "),n("v-row",{staticClass:"pt-1",attrs:{"no-gutters":""}},[e.hazardous?n("v-col",{staticClass:"openc3-yellow",attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" (HAZARDOUS)")]):n("v-col",{attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" ")])],1)],1)},z=[];t(7534);const H={props:{allowAll:{type:Boolean,default:!1},allowAllTargets:{type:Boolean,default:!1},buttonText:{type:String,default:null},chooseItem:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},initialTargetName:{type:String,default:""},initialPacketName:{type:String,default:""},initialItemName:{type:String,default:""},selectTypes:{type:Boolean,default:!1},mode:{type:String,default:"tlm",validator:e=>["cmd","tlm"].includes(e)},unknown:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},data(){var e,n,t;return{targetNames:[],selectedTargetName:null===(e=this.initialTargetName)||void 0===e?void 0:e.toUpperCase(),packetNames:[],selectedPacketName:null===(n=this.initialPacketName)||void 0===n?void 0:n.toUpperCase(),itemNames:[],selectedItemName:null===(t=this.initialItemName)||void 0===t?void 0:t.toUpperCase(),valueTypes:["CONVERTED","RAW"],selectedValueType:"CONVERTED",reductionModes:[{text:"NONE",value:"DECOM"},{text:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{text:"REDUCED_HOUR",value:"REDUCED_HOUR"},{text:"REDUCED_DAY",value:"REDUCED_DAY"}],selectedArrayIndex:null,selectedReduced:"DECOM",reducedTypes:["MIN","MAX","AVG","STDDEV"],selectedReducedType:"AVG",description:"",hazardous:!1,internalDisabled:!1,packetsDisabled:!1,itemsDisabled:!1,api:null,ALL:{label:"[ ALL ]",value:"ALL",description:"ALL"},UNKNOWN:{label:"[ UNKNOWN ]",value:"UNKNOWN",description:"UNKNOWN"}}},created(){this.internalDisabled=!0,this.api=new v,this.api.get_target_names().then((e=>{this.targetNames=e.flatMap((e=>"UNKNOWN"==e?[]:{label:e,value:e})),this.allowAllTargets&&this.targetNames.unshift(this.ALL),this.selectedTargetName||(this.selectedTargetName=this.targetNames[0].value,this.targetNameChanged(this.selectedTargetName)),this.updatePackets(),this.unknown&&this.targetNames.push(this.UNKNOWN)}))},computed:{actualButtonText:function(){return"ALL"===this.selectedPacketName?"Add Target":"ALL"===this.selectedItemName?"Add Packet":this.buttonText},buttonDisabled:function(){return this.disabled||this.internalDisabled},colSize:function(){return!!this.vertical&&12},selectedItemNameWIndex:function(){return null!==this.selectedArrayIndex&&this.selectedArrayIndex!==this.ALL.label?`${this.selectedItemName}[${this.selectedArrayIndex}]`:this.selectedItemName}},watch:{mode:function(e,n){this.selectedPacketName=null,this.selectedItemName=null,this.updatePackets()}},methods:{updatePackets:function(){if("UNKNOWN"===this.selectedTargetName)return this.packetNames=[this.UNKNOWN],this.selectedPacketName=this.packetNames[0].value,this.packetNameChanged(this.UNKNOWN.value),void(this.description="UNKNOWN");if("ALL"===this.selectedTargetName)return this.packetNames=[this.ALL],this.selectedPacketName=this.packetNames[0].value,this.packetNameChanged(this.ALL.value),void(this.description="ALL");this.internalDisabled=!0;const e="tlm"===this.mode?"get_all_tlm_names":"get_all_cmd_names";this.api[e](this.selectedTargetName).then((e=>{this.packetNames=e.map((e=>({label:e,value:e}))),this.allowAll&&this.packetNames.unshift(this.ALL),this.selectedPacketName||(this.selectedPacketName=this.packetNames[0].value),this.packetNameChanged(this.selectedPacketName);const n=this.packetNames.find((e=>e.value===this.selectedPacketName));n&&this.chooseItem&&this.updateItems(),this.internalDisabled=!1}))},updateItems:function(){if("ALL"===this.selectedPacketName)return;this.internalDisabled=!0;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.itemNames=e.items.map((e=>[{label:e.name,value:e.name,description:e.description,array:e.array_size/e.bit_size}])).reduce(((e,n)=>e.concat(n)),[]),this.allowAll&&this.itemNames.unshift(this.ALL),this.selectedItemName||(this.selectedItemName=this.itemNames[0].value),this.description=this.itemNames[0].description,this.internalDisabled=!1,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))},itemIsArray:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName));return-1!==e&&(isNaN(this.itemNames[e].array)?(this.selectedArrayIndex=null,!1):(null===this.selectedArrayIndex&&(this.selectedArrayIndex=0),!0))},arrayIndexes:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName)),n=[...Array(this.itemNames[e].array).keys()];return this.allowAll&&n.unshift(this.ALL.label),n},targetNameChanged:function(e){this.selectedTargetName=e,this.selectedPacketName="",this.selectedItemName="",this.updatePackets()},packetNameChanged:function(e){if("ALL"===e)this.itemsDisabled=!0,this.internalDisabled=!1;else{this.itemsDisabled=!1;const n=this.packetNames.find((n=>e===n.value));if(n){this.selectedPacketName=n.value;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.description=e.description,this.hazardous=e.hazardous}))}}this.chooseItem?this.updateItems():this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},itemNameChanged:function(e){const n=this.itemNames.find((n=>e===n.value));n&&(this.selectedItemName=n.value,this.description=n.description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}))},buttonPressed:function(){"ALL"===this.selectedPacketName?this.allTargetPacketItems():"ALL"===this.selectedItemName?this.allPacketItems():this.chooseItem?this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}):this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},allTargetPacketItems:function(){this.packetNames.forEach((e=>{if(e===this.ALL)return;const n="tlm"===this.mode?"get_tlm":"get_cmd";this.api[n](this.selectedTargetName,e.value).then((n=>{n.items.forEach((n=>{this.$emit("click",{targetName:this.selectedTargetName,packetName:e.value,itemName:n["name"],valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}))}))},allPacketItems:function(){this.itemNames.forEach((e=>{e!==this.ALL&&this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:e.value,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}}},q=H;t(609);var G=(0,w.A)(q,j,z,!1,null,"4a855687",null);const Y=G.exports;function X(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="61dc42db7c91abce276d9244422190456608f03f",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:13,column:4},end:{line:30,column:5}},1:{start:{line:34,column:6},end:{line:38,column:7}},2:{start:{line:35,column:8},end:{line:35,column:19}},3:{start:{line:37,column:8},end:{line:37,column:20}},4:{start:{line:41,column:6},end:{line:43,column:7}},5:{start:{line:42,column:8},end:{line:42,column:50}},6:{start:{line:44,column:6},end:{line:44,column:18}},7:{start:{line:48,column:8},end:{line:48,column:25}},8:{start:{line:51,column:8},end:{line:51,column:34}},9:{start:{line:59,column:8},end:{line:59,column:29}},10:{start:{line:65,column:17},end:{line:65,column:40}},11:{start:{line:66,column:6},end:{line:68,column:7}},12:{start:{line:67,column:8},end:{line:67,column:20}},13:{start:{line:69,column:6},end:{line:75,column:8}},14:{start:{line:78,column:6},end:{line:83,column:8}},15:{start:{line:86,column:18},end:{line:86,column:44}},16:{start:{line:87,column:6},end:{line:87,column:35}},17:{start:{line:90,column:6},end:{line:90,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:9},end:{line:31,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:33,column:14},end:{line:33,column:15}},loc:{start:{line:33,column:26},end:{line:39,column:5}},line:33},2:{name:"(anonymous_2)",decl:{start:{line:40,column:25},end:{line:40,column:26}},loc:{start:{line:40,column:37},end:{line:45,column:5}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:47,column:6},end:{line:47,column:7}},loc:{start:{line:47,column:12},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:50,column:6},end:{line:50,column:7}},loc:{start:{line:50,column:17},end:{line:52,column:7}},line:50},5:{name:"(anonymous_5)",decl:{start:{line:58,column:15},end:{line:58,column:16}},loc:{start:{line:58,column:27},end:{line:60,column:7}},line:58},6:{name:"(anonymous_6)",decl:{start:{line:64,column:15},end:{line:64,column:16}},loc:{start:{line:64,column:32},end:{line:76,column:5}},line:64},7:{name:"(anonymous_7)",decl:{start:{line:77,column:18},end:{line:77,column:19}},loc:{start:{line:77,column:35},end:{line:84,column:5}},line:77},8:{name:"(anonymous_8)",decl:{start:{line:85,column:16},end:{line:85,column:17}},loc:{start:{line:85,column:32},end:{line:88,column:5}},line:85},9:{name:"(anonymous_9)",decl:{start:{line:89,column:24},end:{line:89,column:25}},loc:{start:{line:89,column:36},end:{line:91,column:5}},line:89}},branchMap:{0:{loc:{start:{line:34,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:38,column:7}},{start:{line:36,column:13},end:{line:38,column:7}}],line:34},1:{loc:{start:{line:34,column:10},end:{line:34,column:70}},type:"binary-expr",locations:[{start:{line:34,column:10},end:{line:34,column:41}},{start:{line:34,column:45},end:{line:34,column:70}}],line:34},2:{loc:{start:{line:41,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},3:{loc:{start:{line:66,column:6},end:{line:68,column:7}},type:"if",locations:[{start:{line:66,column:6},end:{line:68,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:66}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["AddComponentDialog.vue"],names:[],mappings:";AA+KA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AddComponentDialog.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addstopums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n <v-dialog v-model="show" width="800">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Configure Component </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-container>\n <v-row align="center">\n <v-col>Select Component:</v-col>\n <v-col>\n <v-select\n hide-details\n dense\n outlined\n :items="components"\n item-text="label"\n item-value="value"\n v-model="selectedComponent"\n return-object\n data-test="select-component"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>Add packets for this component to process.</v-col></v-row\n >\n <v-row>\n <v-col class="my-2">\n <v-radio-group\n v-model="newPacketCmdOrTlm"\n row\n hide-details\n class="mt-0"\n >\n <v-radio\n label="Command"\n value="cmd"\n data-test="command-packet-radio"\n />\n <v-radio\n label="Telemetry"\n value="tlm"\n data-test="telemetry-packet-radio"\n />\n </v-radio-group>\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <target-packet-item-chooser\n unknown\n button-text="Add Packet"\n @click="addPacket"\n />\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <v-radio-group v-model="newPacketMode" row hide-details>\n <v-radio\n label="Raw"\n value="RAW"\n data-test="new-packet-raw-radio"\n />\n <v-radio\n label="Decom"\n value="DECOM"\n :disabled="disableRadioOptions"\n data-test="new-packet-decom-radio"\n />\n </v-radio-group>\n </v-col>\n <v-col>\n <v-select\n v-if="newPacketMode === \'DECOM\'"\n v-model="newPacketValueType"\n hide-details\n label="Value Type"\n data-test="add-packet-value-type"\n :items="valueTypes"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>\n <v-data-table\n :headers="headers"\n :items="packets"\n :search="search"\n :items-per-page="itemsPerPage"\n @update:items-per-page="itemsPerPage = $event"\n :footer-props="{\n itemsPerPageOptions: [10, 100],\n showFirstLastPage: true,\n firstIcon: \'mdi-page-first\',\n lastIcon: \'mdi-page-last\',\n prevIcon: \'mdi-chevron-left\',\n nextIcon: \'mdi-chevron-right\',\n }"\n calculate-widths\n multi-sort\n dense\n >\n <template v-slot:item.delete="{ item }">\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="deleteItem(item)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Item</span>\n </v-tooltip>\n </template>\n </v-data-table>\n </v-col></v-row\n >\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-component"\n @click="cancelAddComponent"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="add-component"\n :disabled="notValid"\n @click="addComponent"\n >\n Create\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport TargetPacketItemChooser from \'@openc3/tool-common/src/components/TargetPacketItemChooser\'\n\nexport default {\n components: {\n TargetPacketItemChooser,\n },\n props: {\n value: Boolean, // value is the default prop when using v-model\n components: Object,\n },\n data() {\n return {\n selectedComponent: this.components[0],\n newPacket: null,\n newPacketCmdOrTlm: \'tlm\',\n newPacketMode: \'RAW\',\n valueTypes: [\'CONVERTED\', \'RAW\', \'FORMATTED\', \'WITH_UNITS\'],\n newPacketValueType: \'WITH_UNITS\',\n headers: [\n { text: \'Cmd/Tlm\', value: \'cmdOrTlm\' },\n { text: \'Target\', value: \'targetName\' },\n { text: \'Packet\', value: \'packetName\' },\n { text: \'Mode\', value: \'mode\' },\n { text: \'ValueType\', value: \'valueType\' },\n { text: \'Delete\', value: \'delete\' },\n ],\n itemsPerPage: 20,\n packets: [],\n }\n },\n computed: {\n notValid: function () {\n if (this.selectedComponent === null || this.packets.length === 0) {\n return true\n } else {\n return false\n }\n },\n disableRadioOptions: function () {\n if (this.newPacket) {\n return this.newPacket.packet === \'UNKNOWN\'\n }\n return false\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n watch: {\n newPacketCmdOrTlm: {\n immediate: true,\n handler: function () {\n this.newPacket = null\n },\n },\n },\n methods: {\n addPacket: function (event) {\n let type = this.newPacketValueType\n if (this.newPacketMode === \'RAW\') {\n type = \'N/A\'\n }\n this.packets.push({\n cmdOrTlm: this.newPacketCmdOrTlm.toUpperCase(),\n targetName: event.targetName,\n packetName: event.packetName,\n mode: this.newPacketMode,\n valueType: type,\n })\n },\n addComponent: function (event) {\n this.$emit(\'add\', {\n packets: this.packets,\n component: this.selectedComponent,\n mode: this.newPacketMode,\n valueType: this.newPacketValueType,\n })\n },\n deleteItem: function (item) {\n var index = this.packets.indexOf(item)\n this.packets.splice(index, 1)\n },\n cancelAddComponent: function () {\n this.$emit(\'cancel\', {})\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"61dc42db7c91abce276d9244422190456608f03f"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return X=function(){return a},a}X();const J={components:{TargetPacketItemChooser:Y},props:{value:Boolean,components:Object},data(){return X().f[0]++,X().s[0]++,{selectedComponent:this.components[0],newPacket:null,newPacketCmdOrTlm:"tlm",newPacketMode:"RAW",valueTypes:["CONVERTED","RAW","FORMATTED","WITH_UNITS"],newPacketValueType:"WITH_UNITS",headers:[{text:"Cmd/Tlm",value:"cmdOrTlm"},{text:"Target",value:"targetName"},{text:"Packet",value:"packetName"},{text:"Mode",value:"mode"},{text:"ValueType",value:"valueType"},{text:"Delete",value:"delete"}],itemsPerPage:20,packets:[]}},computed:{notValid:function(){return X().f[1]++,X().s[1]++,X().b[1][0]++,null===this.selectedComponent||(X().b[1][1]++,0===this.packets.length)?(X().b[0][0]++,X().s[2]++,!0):(X().b[0][1]++,X().s[3]++,!1)},disableRadioOptions:function(){return X().f[2]++,X().s[4]++,this.newPacket?(X().b[2][0]++,X().s[5]++,"UNKNOWN"===this.newPacket.packet):(X().b[2][1]++,X().s[6]++,!1)},show:{get(){return X().f[3]++,X().s[7]++,this.value},set(e){X().f[4]++,X().s[8]++,this.$emit("input",e)}}},watch:{newPacketCmdOrTlm:{immediate:!0,handler:function(){X().f[5]++,X().s[9]++,this.newPacket=null}}},methods:{addPacket:function(e){X().f[6]++;let n=(X().s[10]++,this.newPacketValueType);X().s[11]++,"RAW"===this.newPacketMode?(X().b[3][0]++,X().s[12]++,n="N/A"):X().b[3][1]++,X().s[13]++,this.packets.push({cmdOrTlm:this.newPacketCmdOrTlm.toUpperCase(),targetName:e.targetName,packetName:e.packetName,mode:this.newPacketMode,valueType:n})},addComponent:function(e){X().f[7]++,X().s[14]++,this.$emit("add",{packets:this.packets,component:this.selectedComponent,mode:this.newPacketMode,valueType:this.newPacketValueType})},deleteItem:function(e){X().f[8]++;var n=(X().s[15]++,this.packets.indexOf(e));X().s[16]++,this.packets.splice(n,1)},cancelAddComponent:function(){X().f[9]++,X().s[17]++,this.$emit("cancel",{})}}},Z=J;var Q=(0,w.A)(Z,K,B,!1,null,null,null);const ee=Q.exports;function ne(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="683d9f83ba62344b008ac49ba690564dd445d63e",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:266}},4:{start:{line:1,column:184},end:{line:1,column:210}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:171},end:{line:1,column:172}},loc:{start:{line:1,column:184},end:{line:1,column:210}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"683d9f83ba62344b008ac49ba690564dd445d63e"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ne=function(){return a},a}ne(),ne().s[0]++;var te=function(){ne().f[0]++;var e=(ne().s[1]++,this),n=(ne().s[2]++,e._self._c);return ne().s[3]++,n(e.widgetType,e._b({ref:"dynamic",tag:"component",attrs:{config:e.currentConfig},on:{config:n=>(ne().f[1]++,ne().s[4]++,e.currentConfig=n)}},"component",{...e.$props,...e.$attrs},!1))},le=(ne().s[5]++,[]);const oe={props:{config:{type:Object},packets:{type:Array}},data:function(){return{currentConfig:{},currentPackets:[],latestData:null}},computed:{hasRaw:function(){for(let e=0;e<this.currentPackets.length;e++)if("RAW"===this.currentPackets[e].mode)return!0;return!1},hasDecom:function(){for(let e=0;e<this.currentPackets.length;e++)if("DECOM"===this.currentPackets[e].mode)return!0;return!1}},watch:{currentConfig:{deep:!0,handler:function(e){this.$emit("config",e)}}},created:function(){this.config&&(this.currentConfig={...this.config}),this.packets&&(this.currentPackets=[...this.packets])},methods:{receive:function(e){this.latestData=e}}};function ie(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="bb923feddbd69c5fa223c7b28bb2331f8d7de1ca",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:7,column:4},end:{line:9,column:5}},1:{start:{line:16,column:6},end:{line:16,column:91}},2:{start:{line:21,column:6},end:{line:21,column:41}},3:{start:{line:25,column:4},end:{line:30,column:5}},4:{start:{line:27,column:6},end:{line:27,column:79}},5:{start:{line:29,column:6},end:{line:29,column:53}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:9},end:{line:10,column:3}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:15,column:9},end:{line:15,column:10}},loc:{start:{line:15,column:21},end:{line:17,column:5}},line:15},2:{name:"(anonymous_2)",decl:{start:{line:20,column:16},end:{line:20,column:17}},loc:{start:{line:20,column:32},end:{line:22,column:5}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:24,column:2},end:{line:24,column:3}},loc:{start:{line:24,column:18},end:{line:31,column:3}},line:24}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0,3:0},b:{},inputSourceMap:{version:3,sources:["DynamicComponent.vue"],names:[],mappings:";AA6BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DynamicComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <component\n ref="dynamic"\n :is="widgetType"\n :config="currentConfig"\n @config="(config) => (currentConfig = config)"\n v-bind="{ ...$props, ...$attrs }"\n ></component>\n</template>\n\n<script>\nimport Component from \'@openc3/tool-common/src/components/dataviewer/Component\'\n\nexport default {\n mixins: [Component],\n data() {\n return {\n widgetType: null,\n }\n },\n props: {\n name: { default: null },\n },\n computed: {\n url: function () {\n return `${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`\n },\n },\n watch: {\n latestData: function (data) {\n this.$refs[\'dynamic\'].receive(data)\n },\n },\n async mounted() {\n try {\n /* eslint-disable-next-line */\n this.widgetType = await System.import(/* webpackIgnore: true */ this.url)\n } catch (e) {\n throw new Error(`Unknown widget: ${this.name}`)\n }\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"bb923feddbd69c5fa223c7b28bb2331f8d7de1ca"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ie=function(){return a},a}ie();const ae={mixins:[oe],data(){return ie().f[0]++,ie().s[0]++,{widgetType:null}},props:{name:{default:null}},computed:{url:function(){return ie().f[1]++,ie().s[1]++,`${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`}},watch:{latestData:function(e){ie().f[2]++,ie().s[2]++,this.$refs["dynamic"].receive(e)}},async mounted(){ie().f[3]++,ie().s[3]++;try{ie().s[4]++,this.widgetType=await System.import(this.url)}catch(e){throw ie().s[5]++,new Error(`Unknown widget: ${this.name}`)}}},se=ae;var ce=(0,w.A)(se,te,le,!1,null,null,null);const re=ce.exports;function ue(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="6e7aed508e299df55187c4d24d333fd30a1ae7fe",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:271}},4:{start:{line:1,column:241},end:{line:1,column:267}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:228},end:{line:1,column:229}},loc:{start:{line:1,column:241},end:{line:1,column:267}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6e7aed508e299df55187c4d24d333fd30a1ae7fe"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ue=function(){return a},a}ue(),ue().s[0]++;var me=function(){ue().f[0]++;var e=(ue().s[1]++,this),n=(ue().s[2]++,e._self._c);return ue().s[3]++,n("history-component",{ref:"history",attrs:{config:e.currentConfig,packets:e.currentPackets,calculatePacketText:e.calculatePacketText},on:{config:n=>(ue().f[1]++,ue().s[4]++,e.currentConfig=n)}})},de=(ue().s[5]++,[]),Ae=function(){var e=this,n=e._self._c;return n("v-container",{staticClass:"pt-0"},[n("v-row",{staticClass:"mt-2",attrs:{dense:""}},[n("v-col",[n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":"","data-test":"history-component-search"},model:{value:e.filterText,callback:function(n){e.filterText=n},expression:"filterText"}})],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-slider",{attrs:{"prepend-icon":"mdi-step-backward","append-icon":"mdi-step-forward",min:1-e.currentConfig.history,max:0,"hide-details":""},on:{mousedown:e.pause,"click:prepend":e.stepBackward,"click:append":e.stepForward},model:{value:e.pauseOffset,callback:function(n){e.pauseOffset=n},expression:"pauseOffset"}})],1)],1),e._v(" "),n("v-row",{attrs:{dense:"","no-gutters":""}},[n("v-col",[n("div",{staticClass:"text-area-container"},[n("v-textarea",{ref:"textarea",attrs:{value:e.displayText,rows:"1","no-resize":"",readonly:"",solo:"",flat:"","hide-details":"","data-test":"history-component-text-area"}}),e._v(" "),n("div",{staticClass:"floating-buttons"},[n("v-menu",{attrs:{"close-on-content-click":!1,"min-width":700,"nudge-left":710,"nudge-top":250},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:l}){return[n("v-btn",e._g(e._b({staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-open-settings"}},"v-btn",l,!1),t),[n("v-icon",[e._v("$astro-settings")])],1)]}}])},[e._v(" "),n("v-card",[n("v-card-title",{attrs:{"data-test":"display-settings-card"}},[e._v("\n Display settings\n ")]),e._v(" "),n("v-card-text",[n("v-row",[n("v-col",[n("v-switch",{attrs:{label:"Show timestamp",dense:"","hide-details":"","data-test":"history-component-settings-show-timestamp"},model:{value:e.currentConfig.showTimestamp,callback:function(n){e.$set(e.currentConfig,"showTimestamp",n)},expression:"currentConfig.showTimestamp"}}),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show ASCII",dense:"","hide-details":"","data-test":"history-component-settings-show-ascii"},model:{value:e.currentConfig.showAscii,callback:function(n){e.$set(e.currentConfig,"showAscii",n)},expression:"currentConfig.showAscii"}}):e._e(),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show line address",dense:"","hide-details":"","data-test":"history-component-settings-show-address"},model:{value:e.currentConfig.showLineAddress,callback:function(n){e.$set(e.currentConfig,"showLineAddress",n)},expression:"currentConfig.showLineAddress"}}):e._e()],1),e._v(" "),n("v-col",[n("v-radio-group",{attrs:{label:"Print newest packets to the"},model:{value:e.currentConfig.newestAtTop,callback:function(n){e.$set(e.currentConfig,"newestAtTop",n)},expression:"currentConfig.newestAtTop"}},[n("v-radio",{attrs:{label:"Top",value:!0,"data-test":"history-component-settings-newest-top"}}),e._v(" "),n("v-radio",{attrs:{label:"Bottom",value:!1,"data-test":"history-component-settings-newest-bottom"}})],1)],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"History Buffer",type:"number",min:"1","persistent-hint":"",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-history"},model:{value:e.currentConfig.history,callback:function(n){e.$set(e.currentConfig,"history",n)},expression:"currentConfig.history"}}),e._v(" "),e.hasRaw?n("v-text-field",{attrs:{label:"Bytes per line",type:"number",min:"1",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-num-bytes"},model:{value:e.currentConfig.bytesPerLine,callback:function(n){e.$set(e.currentConfig,"bytesPerLine",n)},expression:"currentConfig.bytesPerLine"}}):e._e(),e._v(" "),n("v-text-field",{attrs:{label:"Packets to show",type:"number",min:"1",hint:`Maximum: ${e.currentConfig.history}`,"persistent-hint":"",rules:[e.rules.required,e.rules.min,e.rules.max],"data-test":"history-component-settings-num-packets"},model:{value:e.currentConfig.packetsToShow,callback:function(n){e.$set(e.currentConfig,"packetsToShow",n)},expression:"currentConfig.packetsToShow"}})],1)],1)],1)],1)],1),e._v(" "),n("v-btn",{staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-download"},on:{click:e.download}},[n("v-icon",[e._v("mdi-file-download")])],1),e._v(" "),n("v-btn",{staticClass:"ml-2",class:{pulse:e.paused},attrs:{color:"primary",fab:"","data-test":"history-component-play-pause"},on:{click:e.togglePlayPause}},[e.paused?n("v-icon",{attrs:{large:""}},[e._v("mdi-play")]):n("v-icon",{attrs:{large:""}},[e._v("mdi-pause")])],1)],1)],1)])],1)],1)},pe=[],he=(t(7182),t(3165),t(4397),t(1412),t(1883),t(7905),t(5250)),fe=t.n(he);const ve={props:["calculatePacketText"],mixins:[oe],data:function(){return{history:[],historyPointer:-1,filterText:null,paused:!1,pausedAt:0,pauseOffset:0,pausedHistory:[],textarea:null,displayText:"",rules:{required:e=>!!e||"Required.",min:e=>e>=1||"Minimum: 1",max:e=>parseInt(e)<=this.currentConfig.history||`Maximum: ${this.currentConfig.history}`}}},computed:{allInstantSettings:function(){return`${this.currentConfig.showLineAddress}|${this.currentConfig.showTimestamp}|${this.currentConfig.showAscii}|${this.currentConfig.newestAtTop}|${this.pauseOffset}`},allDebouncedSettings:function(){return`${this.currentConfig.bytesPerLine}|${this.currentConfig.packetsToShow}|${this.filterText}`}},watch:{latestData:function(e){e.forEach((e=>{"buffer"in e&&(e.buffer=atob(e.buffer)),this.historyPointer=++this.historyPointer%this.currentConfig.history,isNaN(this.historyPointer)&&(this.historyPointer=0),this.history[this.historyPointer]=e,this.paused||this.rebuildDisplayText()}))},paused:function(e){e?(this.pausedAt=this.historyPointer,this.pausedHistory=this.history.slice()):(this.pauseOffset=0,this.rebuildDisplayText())},allInstantSettings:function(){this.rebuildDisplayText()},allDebouncedSettings:fe().debounce((function(){this.rebuildDisplayText()}),300)},created:function(){const e={history:300,showTimestamp:!0,showAscii:!0,showLineAddress:!0,packetsToShow:1,bytesPerLine:16,newestAtTop:!0};this.currentConfig={...e,...this.currentConfig}},mounted:function(){this.textarea=this.$refs.textarea.$el.querySelectorAll("textarea")[0]},methods:{rebuildDisplayText:function(){let e=this.paused?this.pausedHistory:this.history;const n=this.paused?this.pausedAt:this.historyPointer;if(e=e.filter((e=>e)).slice(n+1,this.currentConfig.history).concat(e.slice(0,n+1)).map(this.calculatePacketText).map(this.matchesSearch),this.paused){const n=Math.max(e.length+this.pauseOffset,1);e=e.slice(0,n)}const t=Math.max(this.currentConfig.packetsToShow,1);e=e.slice(-t),this.currentConfig.newestAtTop&&(e=e.reverse());let l="\n";null!==this.filterText&&(l+="\n"),this.displayText=e.join(l)},matchesSearch:function(e){return null===this.filterText?e:e.split("\n").filter((e=>e.toLowerCase().includes(this.filterText.toLowerCase()))).join("\n")},download:function(){const e=new Blob([this.displayText],{type:"text/plain"}),n=document.createElement("a");let t=URL.createObjectURL(e);n.href=t,n.setAttribute("download",`${(0,a.A)(new Date,"yyyy_MM_dd_HH_mm_ss")}.txt`),n.click(),window.URL.revokeObjectURL(t)},pause:function(){this.paused=!0},togglePlayPause:function(){this.paused=!this.paused},stepBackward:function(){this.pause(),this.pauseOffset--},stepForward:function(){this.pause(),this.pauseOffset++}}},Ce=ve;t(2429);var ge=(0,w.A)(Ce,Ae,pe,!1,null,"0f09bf92",null);const be=ge.exports;function _e(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:13,column:6},end:{line:13,column:41}},1:{start:{line:18,column:17},end:{line:18,column:19}},2:{start:{line:19,column:6},end:{line:28,column:7}},3:{start:{line:20,column:29},end:{line:20,column:52}},4:{start:{line:21,column:32},end:{line:21,column:64}},5:{start:{line:22,column:29},end:{line:22,column:65}},6:{start:{line:23,column:24},end:{line:23,column:72}},7:{start:{line:24,column:8},end:{line:24,column:63}},8:{start:{line:25,column:8},end:{line:25,column:57}},9:{start:{line:26,column:8},end:{line:26,column:69}},10:{start:{line:27,column:8},end:{line:27,column:36}},11:{start:{line:29,column:6},end:{line:61,column:7}},12:{start:{line:31,column:8},end:{line:55,column:21}},13:{start:{line:34,column:30},end:{line:36,column:13}},14:{start:{line:35,column:14},end:{line:35,column:62}},15:{start:{line:37,column:29},end:{line:37,column:68}},16:{start:{line:38,column:23},end:{line:38,column:68}},17:{start:{line:39,column:12},end:{line:45,column:13}},18:{start:{line:40,column:14},end:{line:40,column:28}},19:{start:{line:41,column:14},end:{line:43,column:15}},20:{start:{line:42,column:16},end:{line:42,column:70}},21:{start:{line:44,column:14},end:{line:44,column:42}},22:{start:{line:47,column:12},end:{line:52,column:13}},23:{start:{line:48,column:30},end:{line:50,column:33}},24:{start:{line:51,column:14},end:{line:51,column:42}},25:{start:{line:53,column:12},end:{line:53,column:23}},26:{start:{line:57,column:8},end:{line:60,column:21}},27:{start:{line:58,column:28},end:{line:58,column:52}},28:{start:{line:59,column:25},end:{line:59,column:51}},29:{start:{line:62,column:6},end:{line:62,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:16},end:{line:12,column:17}},loc:{start:{line:12,column:32},end:{line:14,column:5}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:17,column:25},end:{line:17,column:26}},loc:{start:{line:17,column:43},end:{line:63,column:5}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:32,column:15},end:{line:32,column:16}},loc:{start:{line:32,column:37},end:{line:54,column:11}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:34,column:44},end:{line:34,column:45}},loc:{start:{line:35,column:14},end:{line:35,column:62}},line:35},4:{name:"(anonymous_4)",decl:{start:{line:41,column:42},end:{line:41,column:43}},loc:{start:{line:42,column:16},end:{line:42,column:70}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:58,column:18},end:{line:58,column:19}},loc:{start:{line:58,column:28},end:{line:58,column:52}},line:58},6:{name:"(anonymous_6)",decl:{start:{line:59,column:15},end:{line:59,column:16}},loc:{start:{line:59,column:25},end:{line:59,column:51}},line:59}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:28,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:28,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:19},1:{loc:{start:{line:29,column:6},end:{line:61,column:7}},type:"if",locations:[{start:{line:29,column:6},end:{line:61,column:7}},{start:{line:56,column:13},end:{line:61,column:7}}],line:29},2:{loc:{start:{line:39,column:12},end:{line:45,column:13}},type:"if",locations:[{start:{line:39,column:12},end:{line:45,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39},3:{loc:{start:{line:47,column:12},end:{line:52,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:52,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:47}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["DumpComponent.vue"],names:[],mappings:";AAiCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DumpComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <history-component\n ref=\"history\"\n :config=\"currentConfig\"\n :packets=\"currentPackets\"\n :calculatePacketText=\"calculatePacketText\"\n @config=\"(config) => (currentConfig = config)\"\n ></history-component>\n</template>\n\n<script>\nimport HistoryComponent from '@openc3/tool-common/src/components/dataviewer/HistoryComponent'\nimport Component from '@openc3/tool-common/src/components/dataviewer/Component'\n\nexport default {\n mixins: [Component],\n components: {\n HistoryComponent,\n },\n watch: {\n // Hook the HistoryComponent's receive method to our latestData being updated\n latestData: function (data) {\n this.$refs['history'].receive(data)\n },\n },\n methods: {\n calculatePacketText: function (packet) {\n let text = ''\n if (this.currentConfig.showTimestamp) {\n const milliseconds = packet.__time / 1000000\n const receivedSeconds = (milliseconds / 1000).toFixed(7)\n const receivedDate = new Date(milliseconds).toISOString()\n let timestamp = '********************************************\\n'\n timestamp += `* Received seconds: ${receivedSeconds}\\n`\n timestamp += `* Received time: ${receivedDate}\\n`\n timestamp += '********************************************\\n'\n text = `${timestamp}${text}`\n }\n if ('buffer' in packet) {\n // Split its buffer into lines of the selected length\n text += _.chunk([...packet.buffer], this.currentConfig.bytesPerLine)\n .map((lineBytes, index) => {\n // Map each line into ASCII or hex values\n let mappedBytes = lineBytes.map((byte) =>\n byte.charCodeAt(0).toString(16).padStart(2, '0'),\n )\n let lineLength = this.currentConfig.bytesPerLine * 3 - 1\n let line = mappedBytes.join(' ').padEnd(lineLength, ' ')\n if (this.currentConfig.showAscii) {\n line += ' '\n mappedBytes = lineBytes.map((byte) =>\n byte.replaceAll(/\\n/g, '\\\\n').replaceAll(/\\r/g, '\\\\r'),\n )\n line += mappedBytes.join('')\n }\n // Prepend the line address if needed\n if (this.currentConfig.showLineAddress) {\n const address = (index * this.currentConfig.bytesPerLine)\n .toString(16)\n .padStart(8, '0')\n line = `${address}: ${line}`\n }\n return line\n })\n .join('\\n') // end of one line\n } else {\n text += Object.keys(packet)\n .filter((item) => item.slice(0, 2) != '__')\n .map((item) => `${item}: ${packet[item]}`)\n .join('\\n')\n }\n return text\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return _e=function(){return a},a}_e();const ye={mixins:[oe],components:{HistoryComponent:be},watch:{latestData:function(e){_e().f[0]++,_e().s[0]++,this.$refs["history"].receive(e)}},methods:{calculatePacketText:function(e){_e().f[1]++;let n=(_e().s[1]++,"");if(_e().s[2]++,this.currentConfig.showTimestamp){_e().b[0][0]++;const t=(_e().s[3]++,e.__time/1e6),l=(_e().s[4]++,(t/1e3).toFixed(7)),o=(_e().s[5]++,new Date(t).toISOString());let i=(_e().s[6]++,"********************************************\n");_e().s[7]++,i+=`* Received seconds: ${l}\n`,_e().s[8]++,i+=`* Received time: ${o}\n`,_e().s[9]++,i+="********************************************\n",_e().s[10]++,n=`${i}${n}`}else _e().b[0][1]++;return _e().s[11]++,"buffer"in e?(_e().b[1][0]++,_e().s[12]++,n+=_.chunk([...e.buffer],this.currentConfig.bytesPerLine).map(((e,n)=>{_e().f[2]++;let t=(_e().s[13]++,e.map((e=>(_e().f[3]++,_e().s[14]++,e.charCodeAt(0).toString(16).padStart(2,"0"))))),l=(_e().s[15]++,3*this.currentConfig.bytesPerLine-1),o=(_e().s[16]++,t.join(" ").padEnd(l," "));if(_e().s[17]++,this.currentConfig.showAscii?(_e().b[2][0]++,_e().s[18]++,o+=" ",_e().s[19]++,t=e.map((e=>(_e().f[4]++,_e().s[20]++,e.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")))),_e().s[21]++,o+=t.join("")):_e().b[2][1]++,_e().s[22]++,this.currentConfig.showLineAddress){_e().b[3][0]++;const e=(_e().s[23]++,(n*this.currentConfig.bytesPerLine).toString(16).padStart(8,"0"));_e().s[24]++,o=`${e}: ${o}`}else _e().b[3][1]++;return _e().s[25]++,o})).join("\n")):(_e().b[1][1]++,_e().s[26]++,n+=Object.keys(e).filter((e=>(_e().f[5]++,_e().s[27]++,"__"!=e.slice(0,2)))).map((n=>(_e().f[6]++,_e().s[28]++,`${n}: ${e[n]}`))).join("\n")),_e().s[29]++,n}}},ke=ye;var we=(0,w.A)(ke,me,de,!1,null,null,null);const Te=we.exports;function xe(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="ce0d8f23c66231f6f586625ed5b044d500aadf21",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:27,column:4},end:{line:94,column:5}},1:{start:{line:44,column:29},end:{line:44,column:50}},2:{start:{line:59,column:16},end:{line:59,column:38}},3:{start:{line:66,column:16},end:{line:66,column:38}},4:{start:{line:73,column:16},end:{line:73,column:34}},5:{start:{line:74,column:16},end:{line:74,column:38}},6:{start:{line:98,column:6},end:{line:104,column:7}},7:{start:{line:107,column:6},end:{line:109,column:8}},8:{start:{line:108,column:8},end:{line:108,column:26}},9:{start:{line:114,column:6},end:{line:114,column:23}},10:{start:{line:120,column:6},end:{line:122,column:7}},11:{start:{line:121,column:8},end:{line:121,column:20}},12:{start:{line:126,column:8},end:{line:126,column:43}},13:{start:{line:133,column:4},end:{line:151,column:6}},14:{start:{line:134,column:6},end:{line:150,column:8}},15:{start:{line:136,column:22},end:{line:136,column:56}},16:{start:{line:137,column:8},end:{line:149,column:9}},17:{start:{line:138,column:10},end:{line:148,column:12}},18:{start:{line:139,column:24},end:{line:139,column:43}},19:{start:{line:140,column:12},end:{line:143,column:13}},20:{start:{line:141,column:14},end:{line:141,column:50}},21:{start:{line:142,column:14},end:{line:142,column:68}},22:{start:{line:144,column:12},end:{line:147,column:14}},23:{start:{line:152,column:4},end:{line:152,column:20}},24:{start:{line:156,column:4},end:{line:166,column:5}},25:{start:{line:157,column:6},end:{line:157,column:27}},26:{start:{line:158,column:6},end:{line:158,column:60}},27:{start:{line:160,column:19},end:{line:160,column:43}},28:{start:{line:162,column:6},end:{line:165,column:7}},29:{start:{line:163,column:8},end:{line:163,column:29}},30:{start:{line:164,column:8},end:{line:164,column:28}},31:{start:{line:169,column:4},end:{line:171,column:5}},32:{start:{line:170,column:6},end:{line:170,column:37}},33:{start:{line:172,column:4},end:{line:172,column:27}},34:{start:{line:176,column:6},end:{line:176,column:75}},35:{start:{line:179,column:6},end:{line:179,column:53}},36:{start:{line:179,column:27},end:{line:179,column:53}},37:{start:{line:182,column:6},end:{line:182,column:28}},38:{start:{line:184,column:6},end:{line:188,column:7}},39:{start:{line:185,column:8},end:{line:185,column:62}},40:{start:{line:186,column:8},end:{line:186,column:27}},41:{start:{line:187,column:8},end:{line:187,column:14}},42:{start:{line:190,column:6},end:{line:194,column:7}},43:{start:{line:191,column:8},end:{line:191,column:71}},44:{start:{line:192,column:8},end:{line:192,column:27}},45:{start:{line:193,column:8},end:{line:193,column:14}},46:{start:{line:196,column:6},end:{line:204,column:7}},47:{start:{line:197,column:8},end:{line:202,column:24}},48:{start:{line:203,column:8},end:{line:203,column:27}},49:{start:{line:205,column:6},end:{line:205,column:25}},50:{start:{line:206,column:6},end:{line:206,column:37}},51:{start:{line:209,column:6},end:{line:209,column:26}},52:{start:{line:210,column:6},end:{line:210,column:42}},53:{start:{line:213,column:6},end:{line:235,column:10}},54:{start:{line:215,column:30},end:{line:215,column:49}},55:{start:{line:217,column:12},end:{line:217,column:32}},56:{start:{line:218,column:12},end:{line:218,column:42}},57:{start:{line:221,column:12},end:{line:221,column:23}},58:{start:{line:222,column:12},end:{line:222,column:33}},59:{start:{line:223,column:12},end:{line:223,column:72}},60:{start:{line:224,column:12},end:{line:224,column:31}},61:{start:{line:225,column:12},end:{line:225,column:41}},62:{start:{line:228,column:12},end:{line:228,column:68}},63:{start:{line:229,column:12},end:{line:229,column:31}},64:{start:{line:233,column:10},end:{line:233,column:42}},65:{start:{line:234,column:10},end:{line:234,column:59}},66:{start:{line:234,column:28},end:{line:234,column:59}},67:{start:{line:238,column:6},end:{line:238,column:42}},68:{start:{line:240,column:25},end:{line:247,column:12}},69:{start:{line:241,column:8},end:{line:245,column:9}},70:{start:{line:242,column:10},end:{line:242,column:42}},71:{start:{line:244,column:10},end:{line:244,column:40}},72:{start:{line:246,column:8},end:{line:246,column:21}},73:{start:{line:248,column:6},end:{line:251,column:8}},74:{start:{line:250,column:8},end:{line:250,column:57}},75:{start:{line:252,column:6},end:{line:266,column:7}},76:{start:{line:254,column:10},end:{line:256,column:11}},77:{start:{line:255,column:12},end:{line:255,column:34}},78:{start:{line:257,column:10},end:{line:264,column:12}},79:{start:{line:258,column:12},end:{line:263,column:14}},80:{start:{line:269,column:6},end:{line:269,column:42}},81:{start:{line:270,column:6},end:{line:276,column:7}},82:{start:{line:271,column:8},end:{line:275,column:10}},83:{start:{line:279,column:6},end:{line:279,column:29}},84:{start:{line:280,column:6},end:{line:284,column:7}},85:{start:{line:281,column:8},end:{line:281,column:40}},86:{start:{line:282,column:8},end:{line:282,column:25}},87:{start:{line:283,column:8},end:{line:283,column:14}},88:{start:{line:285,column:6},end:{line:288,column:7}},89:{start:{line:286,column:8},end:{line:286,column:19}},90:{start:{line:287,column:8},end:{line:287,column:14}},91:{start:{line:289,column:29},end:{line:296,column:12}},92:{start:{line:290,column:8},end:{line:294,column:9}},93:{start:{line:291,column:10},end:{line:291,column:46}},94:{start:{line:293,column:10},end:{line:293,column:44}},95:{start:{line:295,column:8},end:{line:295,column:21}},96:{start:{line:297,column:6},end:{line:305,column:8}},97:{start:{line:298,column:8},end:{line:304,column:10}},98:{start:{line:299,column:27},end:{line:299,column:55}},99:{start:{line:300,column:10},end:{line:300,column:49}},100:{start:{line:301,column:10},end:{line:303,column:11}},101:{start:{line:302,column:12},end:{line:302,column:70}},102:{start:{line:306,column:6},end:{line:306,column:56}},103:{start:{line:309,column:16},end:{line:309,column:34}},104:{start:{line:310,column:6},end:{line:314,column:7}},105:{start:{line:311,column:8},end:{line:311,column:20}},106:{start:{line:313,column:8},end:{line:313,column:20}},107:{start:{line:315,column:6},end:{line:315,column:59}},108:{start:{line:316,column:6},end:{line:316,column:65}},109:{start:{line:316,column:35},end:{line:316,column:65}},110:{start:{line:317,column:6},end:{line:317,column:16}},111:{start:{line:320,column:23},end:{line:320,column:52}},112:{start:{line:321,column:16},end:{line:321,column:89}},113:{start:{line:322,column:6},end:{line:322,column:65}},114:{start:{line:322,column:35},end:{line:322,column:65}},115:{start:{line:323,column:6},end:{line:323,column:16}},116:{start:{line:326,column:6},end:{line:326,column:17}},117:{start:{line:327,column:6},end:{line:327,column:31}},118:{start:{line:328,column:6},end:{line:328,column:27}},119:{start:{line:331,column:6},end:{line:341,column:8}},120:{start:{line:332,column:8},end:{line:332,column:19}},121:{start:{line:333,column:8},end:{line:333,column:33}},122:{start:{line:334,column:8},end:{line:334,column:28}},123:{start:{line:338,column:8},end:{line:340,column:9}},124:{start:{line:339,column:10},end:{line:339,column:22}},125:{start:{line:344,column:6},end:{line:344,column:44}},126:{start:{line:347,column:6},end:{line:347,column:28}},127:{start:{line:348,column:6},end:{line:348,column:40}},128:{start:{line:351,column:6},end:{line:351,column:32}},129:{start:{line:352,column:6},end:{line:352,column:26}},130:{start:{line:355,column:6},end:{line:355,column:25}},131:{start:{line:356,column:6},end:{line:356,column:28}},132:{start:{line:357,column:6},end:{line:357,column:30}},133:{start:{line:358,column:6},end:{line:358,column:35}},134:{start:{line:359,column:6},end:{line:359,column:35}},135:{start:{line:360,column:6},end:{line:362,column:8}},136:{start:{line:361,column:8},end:{line:361,column:31}},137:{start:{line:365,column:6},end:{line:365,column:61}},138:{start:{line:366,column:6},end:{line:366,column:31}},139:{start:{line:369,column:6},end:{line:369,column:61}},140:{start:{line:370,column:6},end:{line:370,column:32}},141:{start:{line:373,column:6},end:{line:377,column:7}},142:{start:{line:381,column:17},end:{line:381,column:38}},143:{start:{line:382,column:22},end:{line:382,column:43}},144:{start:{line:383,column:6},end:{line:390,column:7}},145:{start:{line:385,column:8},end:{line:385,column:33}},146:{start:{line:387,column:10},end:{line:388,column:54}},147:{start:{line:389,column:8},end:{line:389,column:35}},148:{start:{line:391,column:6},end:{line:400,column:8}},149:{start:{line:401,column:6},end:{line:401,column:20}},150:{start:{line:402,column:6},end:{line:402,column:47}},151:{start:{line:404,column:6},end:{line:406,column:7}},152:{start:{line:405,column:8},end:{line:405,column:52}},153:{start:{line:407,column:6},end:{line:407,column:31}},154:{start:{line:410,column:6},end:{line:410,column:41}},155:{start:{line:414,column:25},end:{line:414,column:27}},156:{start:{line:415,column:6},end:{line:419,column:8}},157:{start:{line:416,column:8},end:{line:418,column:9}},158:{start:{line:417,column:10},end:{line:417,column:77}},159:{start:{line:421,column:21},end:{line:423,column:7}},160:{start:{line:422,column:20},end:{line:422,column:71}},161:{start:{line:424,column:6},end:{line:426,column:7}},162:{start:{line:425,column:8},end:{line:425,column:52}},163:{start:{line:427,column:6},end:{line:427,column:42}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:9},end:{line:95,column:3}},line:26},1:{name:"(anonymous_1)",decl:{start:{line:44,column:18},end:{line:44,column:19}},loc:{start:{line:44,column:29},end:{line:44,column:50}},line:44},2:{name:"(anonymous_2)",decl:{start:{line:58,column:23},end:{line:58,column:24}},loc:{start:{line:58,column:29},end:{line:60,column:15}},line:58},3:{name:"(anonymous_3)",decl:{start:{line:65,column:23},end:{line:65,column:24}},loc:{start:{line:65,column:29},end:{line:67,column:15}},line:65},4:{name:"(anonymous_4)",decl:{start:{line:72,column:23},end:{line:72,column:24}},loc:{start:{line:72,column:29},end:{line:75,column:15}},line:72},5:{name:"(anonymous_5)",decl:{start:{line:97,column:18},end:{line:97,column:19}},loc:{start:{line:97,column:30},end:{line:105,column:5}},line:97},6:{name:"(anonymous_6)",decl:{start:{line:106,column:16},end:{line:106,column:17}},loc:{start:{line:106,column:28},end:{line:110,column:5}},line:106},7:{name:"(anonymous_7)",decl:{start:{line:107,column:38},end:{line:107,column:39}},loc:{start:{line:107,column:47},end:{line:109,column:7}},line:107},8:{name:"(anonymous_8)",decl:{start:{line:113,column:26},end:{line:113,column:27}},loc:{start:{line:113,column:38},end:{line:115,column:5}},line:113},9:{name:"(anonymous_9)",decl:{start:{line:119,column:14},end:{line:119,column:15}},loc:{start:{line:119,column:35},end:{line:123,column:5}},line:119},10:{name:"(anonymous_10)",decl:{start:{line:125,column:15},end:{line:125,column:16}},loc:{start:{line:125,column:27},end:{line:127,column:7}},line:125},11:{name:"(anonymous_11)",decl:{start:{line:131,column:2},end:{line:131,column:3}},loc:{start:{line:131,column:12},end:{line:153,column:3}},line:131},12:{name:"(anonymous_12)",decl:{start:{line:133,column:40},end:{line:133,column:41}},loc:{start:{line:133,column:54},end:{line:151,column:5}},line:133},13:{name:"(anonymous_13)",decl:{start:{line:134,column:28},end:{line:134,column:29}},loc:{start:{line:134,column:40},end:{line:150,column:7}},line:134},14:{name:"(anonymous_14)",decl:{start:{line:138,column:56},end:{line:138,column:57}},loc:{start:{line:138,column:70},end:{line:148,column:11}},line:138},15:{name:"(anonymous_15)",decl:{start:{line:154,column:11},end:{line:154,column:12}},loc:{start:{line:154,column:23},end:{line:167,column:3}},line:154},16:{name:"(anonymous_16)",decl:{start:{line:168,column:13},end:{line:168,column:14}},loc:{start:{line:168,column:25},end:{line:173,column:3}},line:168},17:{name:"(anonymous_17)",decl:{start:{line:175,column:17},end:{line:175,column:18}},loc:{start:{line:175,column:35},end:{line:177,column:5}},line:175},18:{name:"(anonymous_18)",decl:{start:{line:178,column:16},end:{line:178,column:17}},loc:{start:{line:178,column:28},end:{line:180,column:5}},line:178},19:{name:"(anonymous_19)",decl:{start:{line:181,column:11},end:{line:181,column:12}},loc:{start:{line:181,column:23},end:{line:207,column:5}},line:181},20:{name:"(anonymous_20)",decl:{start:{line:208,column:10},end:{line:208,column:11}},loc:{start:{line:208,column:22},end:{line:211,column:5}},line:208},21:{name:"(anonymous_21)",decl:{start:{line:212,column:15},end:{line:212,column:16}},loc:{start:{line:212,column:27},end:{line:236,column:5}},line:212},22:{name:"(anonymous_22)",decl:{start:{line:215,column:20},end:{line:215,column:21}},loc:{start:{line:215,column:30},end:{line:215,column:49}},line:215},23:{name:"(anonymous_23)",decl:{start:{line:216,column:21},end:{line:216,column:22}},loc:{start:{line:216,column:27},end:{line:219,column:11}},line:216},24:{name:"(anonymous_24)",decl:{start:{line:220,column:24},end:{line:220,column:25}},loc:{start:{line:220,column:30},end:{line:226,column:11}},line:220},25:{name:"(anonymous_25)",decl:{start:{line:227,column:20},end:{line:227,column:21}},loc:{start:{line:227,column:26},end:{line:230,column:11}},line:227},26:{name:"(anonymous_26)",decl:{start:{line:232,column:14},end:{line:232,column:15}},loc:{start:{line:232,column:32},end:{line:235,column:9}},line:232},27:{name:"(anonymous_27)",decl:{start:{line:237,column:30},end:{line:237,column:31}},loc:{start:{line:237,column:49},end:{line:267,column:5}},line:237},28:{name:"(anonymous_28)",decl:{start:{line:240,column:40},end:{line:240,column:41}},loc:{start:{line:240,column:60},end:{line:247,column:7}},line:240},29:{name:"(anonymous_29)",decl:{start:{line:248,column:38},end:{line:248,column:39}},loc:{start:{line:248,column:48},end:{line:251,column:7}},line:248},30:{name:"(anonymous_30)",decl:{start:{line:253,column:8},end:{line:253,column:9}},loc:{start:{line:253,column:23},end:{line:265,column:9}},line:253},31:{name:"(anonymous_31)",decl:{start:{line:257,column:42},end:{line:257,column:43}},loc:{start:{line:257,column:52},end:{line:264,column:11}},line:257},32:{name:"(anonymous_32)",decl:{start:{line:268,column:35},end:{line:268,column:36}},loc:{start:{line:268,column:54},end:{line:277,column:5}},line:268},33:{name:"(anonymous_33)",decl:{start:{line:278,column:14},end:{line:278,column:15}},loc:{start:{line:278,column:32},end:{line:307,column:5}},line:278},34:{name:"(anonymous_34)",decl:{start:{line:289,column:43},end:{line:289,column:44}},loc:{start:{line:289,column:63},end:{line:296,column:7}},line:289},35:{name:"(anonymous_35)",decl:{start:{line:297,column:31},end:{line:297,column:32}},loc:{start:{line:297,column:43},end:{line:305,column:7}},line:297},36:{name:"(anonymous_36)",decl:{start:{line:298,column:28},end:{line:298,column:29}},loc:{start:{line:298,column:46},end:{line:304,column:9}},line:298},37:{name:"(anonymous_37)",decl:{start:{line:308,column:15},end:{line:308,column:16}},loc:{start:{line:308,column:33},end:{line:318,column:5}},line:308},38:{name:"(anonymous_38)",decl:{start:{line:319,column:21},end:{line:319,column:22}},loc:{start:{line:319,column:39},end:{line:324,column:5}},line:319},39:{name:"(anonymous_39)",decl:{start:{line:325,column:17},end:{line:325,column:18}},loc:{start:{line:325,column:29},end:{line:329,column:5}},line:325},40:{name:"(anonymous_40)",decl:{start:{line:330,column:23},end:{line:330,column:24}},loc:{start:{line:330,column:55},end:{line:342,column:5}},line:330},41:{name:"(anonymous_41)",decl:{start:{line:331,column:40},end:{line:331,column:41}},loc:{start:{line:331,column:52},end:{line:341,column:7}},line:331},42:{name:"(anonymous_42)",decl:{start:{line:343,column:23},end:{line:343,column:24}},loc:{start:{line:343,column:39},end:{line:345,column:5}},line:343},43:{name:"(anonymous_43)",decl:{start:{line:346,column:12},end:{line:346,column:13}},loc:{start:{line:346,column:24},end:{line:349,column:5}},line:346},44:{name:"(anonymous_44)",decl:{start:{line:350,column:21},end:{line:350,column:22}},loc:{start:{line:350,column:33},end:{line:353,column:5}},line:350},45:{name:"(anonymous_45)",decl:{start:{line:354,column:13},end:{line:354,column:14}},loc:{start:{line:354,column:37},end:{line:363,column:5}},line:354},46:{name:"(anonymous_46)",decl:{start:{line:360,column:21},end:{line:360,column:22}},loc:{start:{line:360,column:27},end:{line:362,column:7}},line:360},47:{name:"(anonymous_47)",decl:{start:{line:364,column:23},end:{line:364,column:24}},loc:{start:{line:364,column:35},end:{line:367,column:5}},line:364},48:{name:"(anonymous_48)",decl:{start:{line:368,column:15},end:{line:368,column:16}},loc:{start:{line:368,column:27},end:{line:371,column:5}},line:368},49:{name:"(anonymous_49)",decl:{start:{line:372,column:20},end:{line:372,column:21}},loc:{start:{line:372,column:37},end:{line:378,column:5}},line:372},50:{name:"(anonymous_50)",decl:{start:{line:379,column:18},end:{line:379,column:19}},loc:{start:{line:379,column:35},end:{line:408,column:5}},line:379},51:{name:"(anonymous_51)",decl:{start:{line:409,column:24},end:{line:409,column:25}},loc:{start:{line:409,column:36},end:{line:411,column:5}},line:409},52:{name:"(anonymous_52)",decl:{start:{line:412,column:21},end:{line:412,column:22}},loc:{start:{line:412,column:41},end:{line:428,column:5}},line:412},53:{name:"(anonymous_53)",decl:{start:{line:415,column:31},end:{line:415,column:32}},loc:{start:{line:415,column:43},end:{line:419,column:7}},line:415},54:{name:"(anonymous_54)",decl:{start:{line:422,column:8},end:{line:422,column:9}},loc:{start:{line:422,column:20},end:{line:422,column:71}},line:422}},branchMap:{0:{loc:{start:{line:44,column:29},end:{line:44,column:50}},type:"binary-expr",locations:[{start:{line:44,column:29},end:{line:44,column:36}},{start:{line:44,column:40},end:{line:44,column:50}}],line:44},1:{loc:{start:{line:101,column:18},end:{line:103,column:16}},type:"cond-expr",locations:[{start:{line:102,column:12},end:{line:102,column:77}},{start:{line:103,column:12},end:{line:103,column:16}}],line:101},2:{loc:{start:{line:120,column:6},end:{line:122,column:7}},type:"if",locations:[{start:{line:120,column:6},end:{line:122,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:120},3:{loc:{start:{line:120,column:10},end:{line:120,column:43}},type:"binary-expr",locations:[{start:{line:120,column:10},end:{line:120,column:25}},{start:{line:120,column:29},end:{line:120,column:43}}],line:120},4:{loc:{start:{line:137,column:8},end:{line:149,column:9}},type:"if",locations:[{start:{line:137,column:8},end:{line:149,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:137},5:{loc:{start:{line:140,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:140,column:12},end:{line:143,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:140},6:{loc:{start:{line:156,column:4},end:{line:166,column:5}},type:"if",locations:[{start:{line:156,column:4},end:{line:166,column:5}},{start:{line:159,column:11},end:{line:166,column:5}}],line:156},7:{loc:{start:{line:156,column:8},end:{line:156,column:53}},type:"binary-expr",locations:[{start:{line:156,column:8},end:{line:156,column:25}},{start:{line:156,column:29},end:{line:156,column:53}}],line:156},8:{loc:{start:{line:162,column:6},end:{line:165,column:7}},type:"if",locations:[{start:{line:162,column:6},end:{line:165,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:162},9:{loc:{start:{line:169,column:4},end:{line:171,column:5}},type:"if",locations:[{start:{line:169,column:4},end:{line:171,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:169},10:{loc:{start:{line:179,column:6},end:{line:179,column:53}},type:"if",locations:[{start:{line:179,column:6},end:{line:179,column:53}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:179},11:{loc:{start:{line:184,column:6},end:{line:188,column:7}},type:"if",locations:[{start:{line:184,column:6},end:{line:188,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:184},12:{loc:{start:{line:190,column:6},end:{line:194,column:7}},type:"if",locations:[{start:{line:190,column:6},end:{line:194,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:190},13:{loc:{start:{line:196,column:6},end:{line:204,column:7}},type:"if",locations:[{start:{line:196,column:6},end:{line:204,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:196},14:{loc:{start:{line:234,column:10},end:{line:234,column:59}},type:"if",locations:[{start:{line:234,column:10},end:{line:234,column:59}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:234},15:{loc:{start:{line:238,column:16},end:{line:238,column:42}},type:"binary-expr",locations:[{start:{line:238,column:16},end:{line:238,column:23}},{start:{line:238,column:27},end:{line:238,column:42}}],line:238},16:{loc:{start:{line:241,column:8},end:{line:245,column:9}},type:"if",locations:[{start:{line:241,column:8},end:{line:245,column:9}},{start:{line:243,column:15},end:{line:245,column:9}}],line:241},17:{loc:{start:{line:254,column:10},end:{line:256,column:11}},type:"if",locations:[{start:{line:254,column:10},end:{line:256,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:254},18:{loc:{start:{line:269,column:16},end:{line:269,column:42}},type:"binary-expr",locations:[{start:{line:269,column:16},end:{line:269,column:23}},{start:{line:269,column:27},end:{line:269,column:42}}],line:269},19:{loc:{start:{line:270,column:6},end:{line:276,column:7}},type:"if",locations:[{start:{line:270,column:6},end:{line:276,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:270},20:{loc:{start:{line:280,column:6},end:{line:284,column:7}},type:"if",locations:[{start:{line:280,column:6},end:{line:284,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:280},21:{loc:{start:{line:285,column:6},end:{line:288,column:7}},type:"if",locations:[{start:{line:285,column:6},end:{line:288,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:285},22:{loc:{start:{line:290,column:8},end:{line:294,column:9}},type:"if",locations:[{start:{line:290,column:8},end:{line:294,column:9}},{start:{line:292,column:15},end:{line:294,column:9}}],line:290},23:{loc:{start:{line:301,column:10},end:{line:303,column:11}},type:"if",locations:[{start:{line:301,column:10},end:{line:303,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:301},24:{loc:{start:{line:310,column:6},end:{line:314,column:7}},type:"if",locations:[{start:{line:310,column:6},end:{line:314,column:7}},{start:{line:312,column:13},end:{line:314,column:7}}],line:310},25:{loc:{start:{line:316,column:6},end:{line:316,column:65}},type:"if",locations:[{start:{line:316,column:6},end:{line:316,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:316},26:{loc:{start:{line:322,column:6},end:{line:322,column:65}},type:"if",locations:[{start:{line:322,column:6},end:{line:322,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:322},27:{loc:{start:{line:330,column:39},end:{line:330,column:53}},type:"default-arg",locations:[{start:{line:330,column:48},end:{line:330,column:53}}],line:330},28:{loc:{start:{line:338,column:8},end:{line:340,column:9}},type:"if",locations:[{start:{line:338,column:8},end:{line:340,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:338},29:{loc:{start:{line:383,column:6},end:{line:390,column:7}},type:"if",locations:[{start:{line:383,column:6},end:{line:390,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:383},30:{loc:{start:{line:404,column:6},end:{line:406,column:7}},type:"if",locations:[{start:{line:404,column:6},end:{line:406,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:404},31:{loc:{start:{line:416,column:8},end:{line:418,column:9}},type:"if",locations:[{start:{line:416,column:8},end:{line:418,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:416},32:{loc:{start:{line:424,column:6},end:{line:426,column:7}},type:"if",locations:[{start:{line:424,column:6},end:{line:426,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:424}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0]},inputSourceMap:{version:3,sources:["DataViewer.vue"],names:[],mappings:";AAyPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DataViewer.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-container>\n <v-row dense>\n <v-col>\n <v-text-field\n v-model="startDate"\n label="Start Date"\n type="date"\n :rules="[rules.required]"\n data-test="start-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="startTime"\n label="Start Time"\n type="time"\n step="1"\n :rules="[rules.required]"\n data-test="start-time"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endDate"\n label="End Date"\n type="date"\n :rules="endTime ? [rules.required] : []"\n data-test="end-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endTime"\n label="End Time"\n type="time"\n step="1"\n :rules="endDate ? [rules.required] : []"\n data-test="end-time"\n />\n </v-col>\n <v-col cols="auto" class="pt-4">\n <v-btn\n v-if="running"\n color="primary"\n width="100"\n data-test="stop-button"\n @click="stop"\n >\n Stop\n </v-btn>\n <v-btn\n v-else\n :disabled="!canStart"\n color="primary"\n width="100"\n class="pulse-button"\n data-test="start-button"\n @click="start"\n >\n Start\n </v-btn>\n </v-col>\n </v-row>\n <div class="mb-3" v-show="warning || error || connectionFailure">\n <v-alert type="warning" v-model="warning" dismissible>\n {{ warningText }}\n </v-alert>\n <v-alert type="error" v-model="error" dismissible>\n {{ errorText }}\n </v-alert>\n <v-alert type="error" v-model="connectionFailure">\n OpenC3 backend connection failed.\n </v-alert>\n </div>\n </v-container>\n <v-tabs ref="tabs" v-model="curTab">\n <v-tab\n v-for="(tab, index) in config.tabs"\n :key="index"\n @contextmenu="(event) => tabMenu(event, index)"\n data-test="tab"\n >\n {{ tab.tabName }}\n </v-tab>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n class="mt-2 ml-2"\n @click="addTab"\n v-bind="attrs"\n v-on="on"\n :class="config.tabs.length === 0 ? \'pulse-button\' : \'\'"\n data-test="new-tab"\n >\n <v-icon>mdi-tab-plus</v-icon>\n </v-btn>\n </template>\n <span>Add Component</span>\n </v-tooltip>\n </v-tabs>\n <v-tabs-items v-model="curTab">\n <v-tab-item v-for="(tab, index) in config.tabs" :key="tab.ref" eager>\n <keep-alive>\n <v-card flat>\n <v-divider />\n <v-card-title class="pa-3">\n <span v-text="tab.name" />\n <v-spacer />\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n @click="() => deleteComponent(index)"\n v-bind="attrs"\n v-on="on"\n data-test="delete-component"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </template>\n <span>Remove Component</span>\n </v-tooltip>\n </v-card-title>\n <component\n v-on="$listeners"\n :is="tab.type"\n :name="tab.component"\n :ref="tab.ref"\n :config="tab.config"\n :packets="tab.packets"\n @config="(config) => (tab.config = config)"\n />\n <v-card-text v-if="receivedPackets.length === 0">\n No data! Make sure to hit the START button!\n </v-card-text>\n </v-card></keep-alive\n >\n </v-tab-item>\n </v-tabs-items>\n <v-card v-if="!config.tabs.length">\n <v-card-title>You\'re not viewing any packets</v-card-title>\n <v-card-text>Click the new tab icon to start.</v-card-text>\n </v-card>\n </v-card>\n \x3c!-- Dialogs for opening and saving configs --\x3e\n <open-config-dialog\n v-if="openConfig"\n v-model="openConfig"\n :configKey="configKey"\n @success="openConfiguration"\n />\n <save-config-dialog\n v-if="saveConfig"\n v-model="saveConfig"\n :configKey="configKey"\n @success="saveConfiguration"\n />\n \x3c!-- Dialog for renaming a new tab --\x3e\n <v-dialog v-model="tabNameDialog" width="600">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> DataViewer: Rename Tab</span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-text-field\n v-model="newTabName"\n label="Tab name"\n data-test="rename-tab-input"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-rename"\n @click="cancelTabRename"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="rename"\n :disabled="!newTabName"\n @click="renameTab"\n >\n Rename\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n \x3c!-- Menu for right clicking on a tab --\x3e\n <v-menu\n v-model="showTabMenu"\n :position-x="tabMenuX"\n :position-y="tabMenuY"\n absolute\n offset-y\n >\n <v-list>\n <v-list-item data-test="context-menu-rename">\n <v-list-item-title style="cursor: pointer" @click="openTabNameDialog">\n Rename\n </v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n <add-component-dialog\n :components="components"\n v-if="showAddComponentDialog"\n v-model="showAddComponentDialog"\n @add="addComponent"\n @cancel="cancelAddComponent"\n />\n </div>\n</template>\n\n<script>\nimport { format } from \'date-fns\'\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport Config from \'@openc3/tool-common/src/components/config/Config\'\nimport OpenConfigDialog from \'@openc3/tool-common/src/components/config/OpenConfigDialog\'\nimport SaveConfigDialog from \'@openc3/tool-common/src/components/config/SaveConfigDialog\'\nimport Cable from \'@openc3/tool-common/src/services/cable.js\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\n\nimport AddComponentDialog from \'@/tools/DataViewer/AddComponentDialog\'\n// DynamicComponent is how we load custom user components\nimport DynamicComponent from \'@/tools/DataViewer/DynamicComponent\'\n// Import the built-in DataViewer components\nimport DumpComponent from \'@/tools/DataViewer/DumpComponent\'\n\nexport default {\n components: {\n AddComponentDialog,\n OpenConfigDialog,\n SaveConfigDialog,\n DynamicComponent,\n DumpComponent,\n TopBar,\n },\n mixins: [Config],\n data() {\n return {\n title: \'Data Viewer\',\n configKey: \'data_viewer\',\n // Initialize with all built-in components\n components: [{ label: \'COSMOS Raw/Decom\', value: \'DumpComponent\' }],\n counter: 0,\n componentType: null,\n componentName: null,\n openConfig: false,\n saveConfig: false,\n cable: new Cable(),\n subscription: null,\n startDate: format(new Date(), \'yyyy-MM-dd\'),\n startTime: format(new Date(), \'HH:mm:ss\'),\n endDate: \'\',\n endTime: \'\',\n rules: {\n required: (value) => !!value || \'Required\',\n },\n autoStart: false,\n canStart: false,\n running: false,\n curTab: null,\n receivedPackets: {},\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Open Configuration\',\n icon: \'mdi-folder-open\',\n command: () => {\n this.openConfig = true\n },\n },\n {\n label: \'Save Configuration\',\n icon: \'mdi-content-save\',\n command: () => {\n this.saveConfig = true\n },\n },\n {\n label: \'Reset Configuration\',\n icon: \'mdi-monitor-shimmer\',\n command: () => {\n this.resetConfig()\n this.resetConfigBase()\n },\n },\n ],\n },\n ],\n warning: false,\n warningText: \'\',\n error: false,\n errorText: \'\',\n connectionFailure: false,\n config: {\n tabs: [],\n },\n tabNameDialog: false,\n newTabName: \'\',\n showTabMenu: false,\n tabMenuX: 0,\n tabMenuY: 0,\n showAddComponentDialog: false,\n }\n },\n computed: {\n startEndTime: function () {\n return {\n start_time:\n new Date(this.startDate + \' \' + this.startTime).getTime() * 1_000_000,\n end_time: this.endDate\n ? new Date(this.endDate + \' \' + this.endTime).getTime() * 1_000_000\n : null,\n }\n },\n allPackets: function () {\n return this.config.tabs.flatMap((tab) => {\n return tab.packets\n })\n },\n },\n watch: {\n \'config.tabs.length\': function () {\n this.resizeTabs()\n },\n // canStart is set by the subscription when it connects.\n // We set autoStart to true during mounted() when loading from\n // a route or a previous saved configuration.\n canStart: function (newVal, _) {\n if (newVal === true && this.autoStart) {\n this.start()\n }\n },\n config: {\n handler: function () {\n this.saveDefaultConfig(this.config)\n },\n deep: true,\n },\n },\n created() {\n // Determine if there are any user added widgets\n Api.get(\'/openc3-api/widgets\').then((response) => {\n response.data.forEach((widget) => {\n // Only list the ones following the naming convention DataviewerxxxxxWidget\n const found = widget.match(/DATAVIEWER([A-Z]+)/)\n if (found) {\n Api.get(`/openc3-api/widgets/${widget}`).then((response) => {\n let label = response.data.label\n if (label === null) {\n label = response.data.name.slice(10)\n label = label.charAt(0) + label.slice(1).toLowerCase()\n }\n this.components.push({\n label: label,\n value: found[0],\n })\n })\n }\n })\n })\n this.subscribe()\n },\n mounted: function () {\n // Called like /tools/dataviewer?config=config\n if (this.$route.query && this.$route.query.config) {\n this.autoStart = true\n this.openConfiguration(this.$route.query.config, true) // routed\n } else {\n let config = this.loadDefaultConfig()\n // Only apply the config if it\'s not an empty object (config does not exist)\n if (JSON.stringify(config) !== \'{}\') {\n this.autoStart = true\n this.config = config\n }\n }\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n packetTitle: function (packet) {\n return `${packet.targetName} ${packet.packetName} [ ${packet.mode} ]`\n },\n resizeTabs: function () {\n if (this.$refs.tabs) this.$refs.tabs.onResize()\n },\n start: function () {\n this.autoStart = false\n // Check for a future start time\n if (new Date(this.startDate + \' \' + this.startTime) > Date.now()) {\n this.warningText = \'Start date/time is in the future!\'\n this.warning = true\n return\n }\n // Check for an empty time period\n if (this.startEndTime.start_time === this.startEndTime.end_time) {\n this.warningText = \'Start date/time is equal to end date/time!\'\n this.warning = true\n return\n }\n // Check for a future End Time\n if (new Date(this.endDate + \' \' + this.endTime) > Date.now()) {\n this.warningText =\n \'Note: End date/time is greater than current date/time. Data will continue to stream in real-time until \' +\n this.endDate +\n \' \' +\n this.endTime +\n \' is reached.\'\n this.warning = true\n }\n this.running = true\n this.addPacketsToSubscription()\n },\n stop: function () {\n this.running = false\n this.removePacketsFromSubscription()\n },\n subscribe: function () {\n this.cable\n .createSubscription(\'StreamingChannel\', window.openc3Scope, {\n received: (data) => this.received(data),\n connected: () => {\n this.canStart = true\n this.connectionFailure = false\n },\n disconnected: () => {\n this.stop()\n this.canStart = false\n this.warningText = \'OpenC3 backend connection disconnected.\'\n this.warning = true\n this.connectionFailure = true\n },\n rejected: () => {\n this.warningText = \'OpenC3 backend connection rejected.\'\n this.warning = true\n },\n })\n .then((subscription) => {\n this.subscription = subscription\n if (this.running) this.addPacketsToSubscription()\n })\n },\n addPacketsToSubscription: function (packets) {\n packets = packets || this.allPackets\n // Group by mode\n const modeGroups = packets.reduce((groups, packet) => {\n if (groups[packet.mode]) {\n groups[packet.mode].push(packet)\n } else {\n groups[packet.mode] = [packet]\n }\n return groups\n }, {})\n Object.keys(modeGroups).forEach((mode) => {\n // This eliminates duplicates by converted to Set and back to Array\n modeGroups[mode] = [...new Set(modeGroups[mode])]\n })\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n Object.keys(modeGroups).forEach((mode) => {\n this.subscription.perform(\'add\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: modeGroups[mode].map(this.subscriptionKey),\n ...this.startEndTime,\n })\n })\n },\n )\n },\n removePacketsFromSubscription: function (packets) {\n packets = packets || this.allPackets\n if (packets.length > 0) {\n this.subscription.perform(\'remove\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: packets.map(this.subscriptionKey),\n })\n }\n },\n received: function (parsed) {\n this.cable.recordPing()\n if (parsed[\'error\']) {\n this.errorText = parsed[\'error\']\n this.error = true\n return\n }\n if (!parsed.length) {\n this.stop()\n return\n }\n const groupedPackets = parsed.reduce((groups, packet) => {\n if (groups[packet.__packet]) {\n groups[packet.__packet].push(packet)\n } else {\n groups[packet.__packet] = [packet]\n }\n return groups\n }, {})\n this.config.tabs.forEach((tab, i) => {\n tab.packets.forEach((packetConfig) => {\n let packetName = this.packetKey(packetConfig)\n this.receivedPackets[packetName] = true\n if (groupedPackets[packetName]) {\n this.$refs[tab.ref][0].receive(groupedPackets[packetName])\n }\n })\n })\n this.receivedPackets = { ...this.receivedPackets }\n },\n packetKey: function (packet) {\n let key = packet.mode + \'__\'\n if (packet.cmdOrTlm === \'TLM\') {\n key += \'TLM\'\n } else {\n key += \'CMD\'\n }\n key += `__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n subscriptionKey: function (packet) {\n const cmdOrTlm = packet.cmdOrTlm.toUpperCase()\n let key = `${packet.mode}__${cmdOrTlm}__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n resetConfig: function () {\n this.stop()\n this.receivedPackets = {}\n this.config.tabs = []\n },\n openConfiguration: function (name, routed = false) {\n this.openConfigBase(name, routed, (config) => {\n this.stop()\n this.receivedPackets = {}\n this.config = config\n // Only call start() if autoStart is false like during a reload.\n // Otherwise we might call start before the subscription is valid.\n // See watch on canStart for more info.\n if (this.autoStart === false) {\n this.start()\n }\n })\n },\n saveConfiguration: function (name) {\n this.saveConfigBase(name, this.config)\n },\n addTab: function () {\n this.cancelTabRename()\n this.showAddComponentDialog = true\n },\n cancelTabRename: function () {\n this.tabNameDialog = false\n this.newTabName = \'\'\n },\n tabMenu: function (event, index) {\n this.curTab = index\n event.preventDefault()\n this.showTabMenu = false\n this.tabMenuX = event.clientX\n this.tabMenuY = event.clientY\n this.$nextTick(() => {\n this.showTabMenu = true\n })\n },\n openTabNameDialog: function () {\n this.newTabName = this.config.tabs[this.curTab].tabName\n this.tabNameDialog = true\n },\n renameTab: function () {\n this.config.tabs[this.curTab].tabName = this.newTabName\n this.tabNameDialog = false\n },\n packetSelected: function (event) {\n this.newPacket = {\n target: event.targetName,\n packet: event.packetName,\n cmdOrTlm: this.newPacketCmdOrTlm,\n }\n },\n addComponent: function (event) {\n // Built-in components are just themselves\n let type = event.component.value\n let component = event.component.value\n if (event.component.value.includes(\'DATAVIEWER\')) {\n // Dynamic widgets use the DynamicComponent\n type = \'DynamicComponent\'\n let name =\n event.component.value.charAt(0).toUpperCase() +\n event.component.value.slice(1).toLowerCase()\n component = `${name}Widget`\n }\n this.config.tabs.push({\n name: event.component.label,\n // Most tabs only have 1 packet so it\'s a good way to name them\n tabName: this.packetTitle(event.packets[0]),\n packets: [...event.packets], // Make a copy\n type: type,\n component: component,\n config: {}, // Set an empty config object\n ref: `component${this.counter}`,\n })\n this.counter++\n this.curTab = this.config.tabs.length - 1\n\n if (this.running) {\n this.addPacketsToSubscription(event.packets)\n }\n this.cancelAddComponent()\n },\n cancelAddComponent: function () {\n this.showAddComponentDialog = false\n },\n deleteComponent: function (tabIndex) {\n // Get the list of packets the other tabs are using\n let packetsInUse = []\n this.config.tabs.forEach((tab, i) => {\n if (i !== tabIndex) {\n packetsInUse = packetsInUse.concat(tab.packets.map(this.packetKey))\n }\n })\n // Filter out any packets that are in use\n let filtered = this.config.tabs[tabIndex].packets.filter(\n (packet) => packetsInUse.indexOf(this.packetKey(packet)) === -1,\n )\n if (filtered.length > 0) {\n this.removePacketsFromSubscription(filtered)\n }\n this.config.tabs.splice(tabIndex, 1)\n },\n },\n}\n<\/script>\n\n<style scoped>\n/* Add some juice to the START button to indicate it needs to be pressed */\n.pulse-button {\n animation: pulse 2s infinite;\n}\n@keyframes pulse {\n 0% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);\n }\n 70% {\n -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);\n }\n 100% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n}\n\n.text-component-missing-name {\n font-family: \'Courier New\', Courier, monospace;\n}\n\n.v-tabs-items {\n overflow: visible;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ce0d8f23c66231f6f586625ed5b044d500aadf21"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return xe=function(){return a},a}xe();const Ne={components:{AddComponentDialog:ee,OpenConfigDialog:x,SaveConfigDialog:O,DynamicComponent:re,DumpComponent:Te,TopBar:F},mixins:[C],data(){return xe().f[0]++,xe().s[0]++,{title:"Data Viewer",configKey:"data_viewer",components:[{label:"COSMOS Raw/Decom",value:"DumpComponent"}],counter:0,componentType:null,componentName:null,openConfig:!1,saveConfig:!1,cable:new R,subscription:null,startDate:(0,a.A)(new Date,"yyyy-MM-dd"),startTime:(0,a.A)(new Date,"HH:mm:ss"),endDate:"",endTime:"",rules:{required:e=>(xe().f[1]++,xe().s[1]++,xe().b[0][0]++,!!e||(xe().b[0][1]++,"Required"))},autoStart:!1,canStart:!1,running:!1,curTab:null,receivedPackets:{},menus:[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{xe().f[2]++,xe().s[2]++,this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{xe().f[3]++,xe().s[3]++,this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{xe().f[4]++,xe().s[4]++,this.resetConfig(),xe().s[5]++,this.resetConfigBase()}}]}],warning:!1,warningText:"",error:!1,errorText:"",connectionFailure:!1,config:{tabs:[]},tabNameDialog:!1,newTabName:"",showTabMenu:!1,tabMenuX:0,tabMenuY:0,showAddComponentDialog:!1}},computed:{startEndTime:function(){return xe().f[5]++,xe().s[6]++,{start_time:1e6*new Date(this.startDate+" "+this.startTime).getTime(),end_time:this.endDate?(xe().b[1][0]++,1e6*new Date(this.endDate+" "+this.endTime).getTime()):(xe().b[1][1]++,null)}},allPackets:function(){return xe().f[6]++,xe().s[7]++,this.config.tabs.flatMap((e=>(xe().f[7]++,xe().s[8]++,e.packets)))}},watch:{"config.tabs.length":function(){xe().f[8]++,xe().s[9]++,this.resizeTabs()},canStart:function(e,n){xe().f[9]++,xe().s[10]++,xe().b[3][0]++,!0===e&&(xe().b[3][1]++,this.autoStart)?(xe().b[2][0]++,xe().s[11]++,this.start()):xe().b[2][1]++},config:{handler:function(){xe().f[10]++,xe().s[12]++,this.saveDefaultConfig(this.config)},deep:!0}},created(){xe().f[11]++,xe().s[13]++,h.get("/openc3-api/widgets").then((e=>{xe().f[12]++,xe().s[14]++,e.data.forEach((e=>{xe().f[13]++;const n=(xe().s[15]++,e.match(/DATAVIEWER([A-Z]+)/));xe().s[16]++,n?(xe().b[4][0]++,xe().s[17]++,h.get(`/openc3-api/widgets/${e}`).then((e=>{xe().f[14]++;let t=(xe().s[18]++,e.data.label);xe().s[19]++,null===t?(xe().b[5][0]++,xe().s[20]++,t=e.data.name.slice(10),xe().s[21]++,t=t.charAt(0)+t.slice(1).toLowerCase()):xe().b[5][1]++,xe().s[22]++,this.components.push({label:t,value:n[0]})}))):xe().b[4][1]++}))})),xe().s[23]++,this.subscribe()},mounted:function(){if(xe().f[15]++,xe().s[24]++,xe().b[7][0]++,this.$route.query&&(xe().b[7][1]++,this.$route.query.config))xe().b[6][0]++,xe().s[25]++,this.autoStart=!0,xe().s[26]++,this.openConfiguration(this.$route.query.config,!0);else{xe().b[6][1]++;let e=(xe().s[27]++,this.loadDefaultConfig());xe().s[28]++,"{}"!==JSON.stringify(e)?(xe().b[8][0]++,xe().s[29]++,this.autoStart=!0,xe().s[30]++,this.config=e):xe().b[8][1]++}},destroyed:function(){xe().f[16]++,xe().s[31]++,this.subscription?(xe().b[9][0]++,xe().s[32]++,this.subscription.unsubscribe()):xe().b[9][1]++,xe().s[33]++,this.cable.disconnect()},methods:{packetTitle:function(e){return xe().f[17]++,xe().s[34]++,`${e.targetName} ${e.packetName} [ ${e.mode} ]`},resizeTabs:function(){xe().f[18]++,xe().s[35]++,this.$refs.tabs?(xe().b[10][0]++,xe().s[36]++,this.$refs.tabs.onResize()):xe().b[10][1]++},start:function(){return xe().f[19]++,xe().s[37]++,this.autoStart=!1,xe().s[38]++,new Date(this.startDate+" "+this.startTime)>Date.now()?(xe().b[11][0]++,xe().s[39]++,this.warningText="Start date/time is in the future!",xe().s[40]++,this.warning=!0,void xe().s[41]++):(xe().b[11][1]++,xe().s[42]++,this.startEndTime.start_time===this.startEndTime.end_time?(xe().b[12][0]++,xe().s[43]++,this.warningText="Start date/time is equal to end date/time!",xe().s[44]++,this.warning=!0,void xe().s[45]++):(xe().b[12][1]++,xe().s[46]++,new Date(this.endDate+" "+this.endTime)>Date.now()?(xe().b[13][0]++,xe().s[47]++,this.warningText="Note: End date/time is greater than current date/time. Data will continue to stream in real-time until "+this.endDate+" "+this.endTime+" is reached.",xe().s[48]++,this.warning=!0):xe().b[13][1]++,xe().s[49]++,this.running=!0,xe().s[50]++,void this.addPacketsToSubscription()))},stop:function(){xe().f[20]++,xe().s[51]++,this.running=!1,xe().s[52]++,this.removePacketsFromSubscription()},subscribe:function(){xe().f[21]++,xe().s[53]++,this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>(xe().f[22]++,xe().s[54]++,this.received(e)),connected:()=>{xe().f[23]++,xe().s[55]++,this.canStart=!0,xe().s[56]++,this.connectionFailure=!1},disconnected:()=>{xe().f[24]++,xe().s[57]++,this.stop(),xe().s[58]++,this.canStart=!1,xe().s[59]++,this.warningText="OpenC3 backend connection disconnected.",xe().s[60]++,this.warning=!0,xe().s[61]++,this.connectionFailure=!0},rejected:()=>{xe().f[25]++,xe().s[62]++,this.warningText="OpenC3 backend connection rejected.",xe().s[63]++,this.warning=!0}}).then((e=>{xe().f[26]++,xe().s[64]++,this.subscription=e,xe().s[65]++,this.running?(xe().b[14][0]++,xe().s[66]++,this.addPacketsToSubscription()):xe().b[14][1]++}))},addPacketsToSubscription:function(e){xe().f[27]++,xe().s[67]++,xe().b[15][0]++,e=e||(xe().b[15][1]++,this.allPackets);const n=(xe().s[68]++,e.reduce(((e,n)=>(xe().f[28]++,xe().s[69]++,e[n.mode]?(xe().b[16][0]++,xe().s[70]++,e[n.mode].push(n)):(xe().b[16][1]++,xe().s[71]++,e[n.mode]=[n]),xe().s[72]++,e)),{}));xe().s[73]++,Object.keys(n).forEach((e=>{xe().f[29]++,xe().s[74]++,n[e]=[...new Set(n[e])]})),xe().s[75]++,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((e=>{xe().f[30]++,xe().s[76]++,e?(xe().b[17][0]++,xe().s[77]++,OpenC3Auth.setTokens()):xe().b[17][1]++,xe().s[78]++,Object.keys(n).forEach((e=>{xe().f[31]++,xe().s[79]++,this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:n[e].map(this.subscriptionKey),...this.startEndTime})}))}))},removePacketsFromSubscription:function(e){xe().f[32]++,xe().s[80]++,xe().b[18][0]++,e=e||(xe().b[18][1]++,this.allPackets),xe().s[81]++,e.length>0?(xe().b[19][0]++,xe().s[82]++,this.subscription.perform("remove",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:e.map(this.subscriptionKey)})):xe().b[19][1]++},received:function(e){if(xe().f[33]++,xe().s[83]++,this.cable.recordPing(),xe().s[84]++,e["error"])return xe().b[20][0]++,xe().s[85]++,this.errorText=e["error"],xe().s[86]++,this.error=!0,void xe().s[87]++;if(xe().b[20][1]++,xe().s[88]++,!e.length)return xe().b[21][0]++,xe().s[89]++,this.stop(),void xe().s[90]++;xe().b[21][1]++;const n=(xe().s[91]++,e.reduce(((e,n)=>(xe().f[34]++,xe().s[92]++,e[n.__packet]?(xe().b[22][0]++,xe().s[93]++,e[n.__packet].push(n)):(xe().b[22][1]++,xe().s[94]++,e[n.__packet]=[n]),xe().s[95]++,e)),{}));xe().s[96]++,this.config.tabs.forEach(((e,t)=>{xe().f[35]++,xe().s[97]++,e.packets.forEach((t=>{xe().f[36]++;let l=(xe().s[98]++,this.packetKey(t));xe().s[99]++,this.receivedPackets[l]=!0,xe().s[100]++,n[l]?(xe().b[23][0]++,xe().s[101]++,this.$refs[e.ref][0].receive(n[l])):xe().b[23][1]++}))})),xe().s[102]++,this.receivedPackets={...this.receivedPackets}},packetKey:function(e){xe().f[37]++;let n=(xe().s[103]++,e.mode+"__");return xe().s[104]++,"TLM"===e.cmdOrTlm?(xe().b[24][0]++,xe().s[105]++,n+="TLM"):(xe().b[24][1]++,xe().s[106]++,n+="CMD"),xe().s[107]++,n+=`__${e.targetName}__${e.packetName}`,xe().s[108]++,"DECOM"===e.mode?(xe().b[25][0]++,xe().s[109]++,n+=`__${e.valueType}`):xe().b[25][1]++,xe().s[110]++,n},subscriptionKey:function(e){xe().f[38]++;const n=(xe().s[111]++,e.cmdOrTlm.toUpperCase());let t=(xe().s[112]++,`${e.mode}__${n}__${e.targetName}__${e.packetName}`);return xe().s[113]++,"DECOM"===e.mode?(xe().b[26][0]++,xe().s[114]++,t+=`__${e.valueType}`):xe().b[26][1]++,xe().s[115]++,t},resetConfig:function(){xe().f[39]++,xe().s[116]++,this.stop(),xe().s[117]++,this.receivedPackets={},xe().s[118]++,this.config.tabs=[]},openConfiguration:function(e,n=(xe().b[27][0]++,!1)){xe().f[40]++,xe().s[119]++,this.openConfigBase(e,n,(e=>{xe().f[41]++,xe().s[120]++,this.stop(),xe().s[121]++,this.receivedPackets={},xe().s[122]++,this.config=e,xe().s[123]++,!1===this.autoStart?(xe().b[28][0]++,xe().s[124]++,this.start()):xe().b[28][1]++}))},saveConfiguration:function(e){xe().f[42]++,xe().s[125]++,this.saveConfigBase(e,this.config)},addTab:function(){xe().f[43]++,xe().s[126]++,this.cancelTabRename(),xe().s[127]++,this.showAddComponentDialog=!0},cancelTabRename:function(){xe().f[44]++,xe().s[128]++,this.tabNameDialog=!1,xe().s[129]++,this.newTabName=""},tabMenu:function(e,n){xe().f[45]++,xe().s[130]++,this.curTab=n,xe().s[131]++,e.preventDefault(),xe().s[132]++,this.showTabMenu=!1,xe().s[133]++,this.tabMenuX=e.clientX,xe().s[134]++,this.tabMenuY=e.clientY,xe().s[135]++,this.$nextTick((()=>{xe().f[46]++,xe().s[136]++,this.showTabMenu=!0}))},openTabNameDialog:function(){xe().f[47]++,xe().s[137]++,this.newTabName=this.config.tabs[this.curTab].tabName,xe().s[138]++,this.tabNameDialog=!0},renameTab:function(){xe().f[48]++,xe().s[139]++,this.config.tabs[this.curTab].tabName=this.newTabName,xe().s[140]++,this.tabNameDialog=!1},packetSelected:function(e){xe().f[49]++,xe().s[141]++,this.newPacket={target:e.targetName,packet:e.packetName,cmdOrTlm:this.newPacketCmdOrTlm}},addComponent:function(e){xe().f[50]++;let n=(xe().s[142]++,e.component.value),t=(xe().s[143]++,e.component.value);if(xe().s[144]++,e.component.value.includes("DATAVIEWER")){xe().b[29][0]++,xe().s[145]++,n="DynamicComponent";let l=(xe().s[146]++,e.component.value.charAt(0).toUpperCase()+e.component.value.slice(1).toLowerCase());xe().s[147]++,t=`${l}Widget`}else xe().b[29][1]++;xe().s[148]++,this.config.tabs.push({name:e.component.label,tabName:this.packetTitle(e.packets[0]),packets:[...e.packets],type:n,component:t,config:{},ref:`component${this.counter}`}),xe().s[149]++,this.counter++,xe().s[150]++,this.curTab=this.config.tabs.length-1,xe().s[151]++,this.running?(xe().b[30][0]++,xe().s[152]++,this.addPacketsToSubscription(e.packets)):xe().b[30][1]++,xe().s[153]++,this.cancelAddComponent()},cancelAddComponent:function(){xe().f[51]++,xe().s[154]++,this.showAddComponentDialog=!1},deleteComponent:function(e){xe().f[52]++;let n=(xe().s[155]++,[]);xe().s[156]++,this.config.tabs.forEach(((t,l)=>{xe().f[53]++,xe().s[157]++,l!==e?(xe().b[31][0]++,xe().s[158]++,n=n.concat(t.packets.map(this.packetKey))):xe().b[31][1]++}));let t=(xe().s[159]++,this.config.tabs[e].packets.filter((e=>(xe().f[54]++,xe().s[160]++,-1===n.indexOf(this.packetKey(e))))));xe().s[161]++,t.length>0?(xe().b[32][0]++,xe().s[162]++,this.removePacketsFromSubscription(t)):xe().b[32][1]++,xe().s[163]++,this.config.tabs.splice(e,1)}}},De=Ne;t(1920);var Se=(0,w.A)(De,o,i,!1,null,"b34a9010",null);const Pe=Se.exports},6184:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".pulse-button[data-v-b34a9010]{animation:pulse-b34a9010 2s infinite}@keyframes pulse-b34a9010{0%{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.4)}70%{-webkit-box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.text-component-missing-name[data-v-b34a9010]{font-family:Courier New,Courier,monospace}.v-tabs-items[data-v-b34a9010]{overflow:visible}",""]);const c=s},4217:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".button[data-v-4a855687]{padding:4px}.select[data-v-4a855687]{max-width:300px}.row+.row[data-v-4a855687]{margin-top:0}",""]);const c=s},9808:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}",""]);const c=s},306:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".text-area-container[data-v-0f09bf92]{position:relative;height:60vh}.text-area-container .v-textarea[data-v-0f09bf92]{font-family:Courier New,Courier,monospace}.text-area-container .floating-buttons[data-v-0f09bf92]{position:absolute;top:12px;right:24px}.text-area-container[data-v-0f09bf92] textarea{height:60vh}.pulse[data-v-0f09bf92]{animation:pulse-0f09bf92 2s infinite}@keyframes pulse-0f09bf92{0%{opacity:1}50%{opacity:.5}}",""]);const c=s},1920:(e,n,t)=>{var l=t(6184);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("ff5d3968",l,!0,{sourceMap:!1,shadowMode:!1})},609:(e,n,t)=>{var l=t(4217);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("440dd355",l,!0,{sourceMap:!1,shadowMode:!1})},1e3:(e,n,t)=>{var l=t(9808);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("7de62207",l,!0,{sourceMap:!1,shadowMode:!1})},2429:(e,n,t)=>{var l=t(306);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("615ee43c",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
1
+ (self["webpackChunk_openc3_cosmos_tool_dataviewer"]=self["webpackChunk_openc3_cosmos_tool_dataviewer"]||[]).push([[918],{918:(e,n,t)=>{"use strict";function l(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="5bf28697e8646eaa270f907b690ab67256c6457b",t=new Function("return this")(),o="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:6827}},4:{start:{line:1,column:395},end:{line:1,column:412}},5:{start:{line:1,column:649},end:{line:1,column:666}},6:{start:{line:1,column:905},end:{line:1,column:920}},7:{start:{line:1,column:1168},end:{line:1,column:1183}},8:{start:{line:1,column:1951},end:{line:1,column:1966}},9:{start:{line:1,column:2170},end:{line:1,column:2183}},10:{start:{line:1,column:2378},end:{line:1,column:2403}},11:{start:{line:1,column:2602},end:{line:1,column:2616}},12:{start:{line:1,column:2686},end:{line:1,column:2852}},13:{start:{line:1,column:2770},end:{line:1,column:2795}},14:{start:{line:1,column:2967},end:{line:1,column:3215}},15:{start:{line:1,column:3359},end:{line:1,column:3373}},16:{start:{line:1,column:3442},end:{line:1,column:4464}},17:{start:{line:1,column:3811},end:{line:1,column:4007}},18:{start:{line:1,column:3912},end:{line:1,column:3938}},19:{start:{line:1,column:4253},end:{line:1,column:4272}},20:{start:{line:1,column:4855},end:{line:1,column:4873}},21:{start:{line:1,column:5091},end:{line:1,column:5109}},22:{start:{line:1,column:5254},end:{line:1,column:5275}},23:{start:{line:1,column:5606},end:{line:1,column:5624}},24:{start:{line:1,column:6242},end:{line:1,column:6261}},25:{start:{line:1,column:6744},end:{line:1,column:6774}},26:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:379},end:{line:1,column:380}},loc:{start:{line:1,column:394},end:{line:1,column:413}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:633},end:{line:1,column:634}},loc:{start:{line:1,column:648},end:{line:1,column:667}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:889},end:{line:1,column:890}},loc:{start:{line:1,column:904},end:{line:1,column:921}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1152},end:{line:1,column:1153}},loc:{start:{line:1,column:1167},end:{line:1,column:1184}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1935},end:{line:1,column:1936}},loc:{start:{line:1,column:1950},end:{line:1,column:1967}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2154},end:{line:1,column:2155}},loc:{start:{line:1,column:2169},end:{line:1,column:2184}},line:1},7:{name:"(anonymous_7)",decl:{start:{line:1,column:2362},end:{line:1,column:2363}},loc:{start:{line:1,column:2377},end:{line:1,column:2404}},line:1},8:{name:"(anonymous_8)",decl:{start:{line:1,column:2586},end:{line:1,column:2587}},loc:{start:{line:1,column:2601},end:{line:1,column:2617}},line:1},9:{name:"(anonymous_9)",decl:{start:{line:1,column:2666},end:{line:1,column:2667}},loc:{start:{line:1,column:2685},end:{line:1,column:2853}},line:1},10:{name:"(anonymous_10)",decl:{start:{line:1,column:2759},end:{line:1,column:2760}},loc:{start:{line:1,column:2770},end:{line:1,column:2795}},line:1},11:{name:"(anonymous_11)",decl:{start:{line:1,column:2943},end:{line:1,column:2944}},loc:{start:{line:1,column:2966},end:{line:1,column:3216}},line:1},12:{name:"(anonymous_12)",decl:{start:{line:1,column:3343},end:{line:1,column:3344}},loc:{start:{line:1,column:3358},end:{line:1,column:3374}},line:1},13:{name:"(anonymous_13)",decl:{start:{line:1,column:3422},end:{line:1,column:3423}},loc:{start:{line:1,column:3441},end:{line:1,column:4465}},line:1},14:{name:"(anonymous_14)",decl:{start:{line:1,column:3787},end:{line:1,column:3788}},loc:{start:{line:1,column:3810},end:{line:1,column:4008}},line:1},15:{name:"(anonymous_15)",decl:{start:{line:1,column:3906},end:{line:1,column:3907}},loc:{start:{line:1,column:3912},end:{line:1,column:3938}},line:1},16:{name:"(anonymous_16)",decl:{start:{line:1,column:4240},end:{line:1,column:4241}},loc:{start:{line:1,column:4253},end:{line:1,column:4272}},line:1},17:{name:"(anonymous_17)",decl:{start:{line:1,column:4839},end:{line:1,column:4840}},loc:{start:{line:1,column:4854},end:{line:1,column:4874}},line:1},18:{name:"(anonymous_18)",decl:{start:{line:1,column:5075},end:{line:1,column:5076}},loc:{start:{line:1,column:5090},end:{line:1,column:5110}},line:1},19:{name:"(anonymous_19)",decl:{start:{line:1,column:5238},end:{line:1,column:5239}},loc:{start:{line:1,column:5253},end:{line:1,column:5276}},line:1},20:{name:"(anonymous_20)",decl:{start:{line:1,column:5590},end:{line:1,column:5591}},loc:{start:{line:1,column:5605},end:{line:1,column:5625}},line:1},21:{name:"(anonymous_21)",decl:{start:{line:1,column:6226},end:{line:1,column:6227}},loc:{start:{line:1,column:6241},end:{line:1,column:6262}},line:1},22:{name:"(anonymous_22)",decl:{start:{line:1,column:6728},end:{line:1,column:6729}},loc:{start:{line:1,column:6743},end:{line:1,column:6775}},line:1}},branchMap:{0:{loc:{start:{line:1,column:789},end:{line:1,column:828}},type:"cond-expr",locations:[{start:{line:1,column:803},end:{line:1,column:823}},{start:{line:1,column:826},end:{line:1,column:828}}],line:1},1:{loc:{start:{line:1,column:1052},end:{line:1,column:1091}},type:"cond-expr",locations:[{start:{line:1,column:1066},end:{line:1,column:1086}},{start:{line:1,column:1089},end:{line:1,column:1091}}],line:1},2:{loc:{start:{line:1,column:1280},end:{line:1,column:1638}},type:"cond-expr",locations:[{start:{line:1,column:1294},end:{line:1,column:1438}},{start:{line:1,column:1439},end:{line:1,column:1638}}],line:1},3:{loc:{start:{line:1,column:1718},end:{line:1,column:1767}},type:"binary-expr",locations:[{start:{line:1,column:1718},end:{line:1,column:1729}},{start:{line:1,column:1733},end:{line:1,column:1742}},{start:{line:1,column:1746},end:{line:1,column:1767}}],line:1},4:{loc:{start:{line:1,column:3031},end:{line:1,column:3081}},type:"cond-expr",locations:[{start:{line:1,column:3062},end:{line:1,column:3076}},{start:{line:1,column:3079},end:{line:1,column:3081}}],line:1},5:{loc:{start:{line:1,column:4305},end:{line:1,column:4452}},type:"cond-expr",locations:[{start:{line:1,column:4340},end:{line:1,column:4443}},{start:{line:1,column:4444},end:{line:1,column:4452}}],line:1},6:{loc:{start:{line:1,column:4482},end:{line:1,column:4670}},type:"cond-expr",locations:[{start:{line:1,column:4508},end:{line:1,column:4661}},{start:{line:1,column:4662},end:{line:1,column:4670}}],line:1},7:{loc:{start:{line:1,column:4687},end:{line:1,column:4910}},type:"cond-expr",locations:[{start:{line:1,column:4704},end:{line:1,column:4901}},{start:{line:1,column:4902},end:{line:1,column:4910}}],line:1},8:{loc:{start:{line:1,column:4923},end:{line:1,column:5146}},type:"cond-expr",locations:[{start:{line:1,column:4940},end:{line:1,column:5137}},{start:{line:1,column:5138},end:{line:1,column:5146}}],line:1},9:{loc:{start:{line:1,column:6525},end:{line:1,column:6823}},type:"cond-expr",locations:[{start:{line:1,column:6554},end:{line:1,column:6814}},{start:{line:1,column:6815},end:{line:1,column:6823}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5bf28697e8646eaa270f907b690ab67256c6457b"},a=t[o]||(t[o]={});a[e]&&a[e].hash===n||(a[e]=i);var s=a[e];return l=function(){return s},s}t.r(n),t.d(n,{default:()=>Pe}),l(),l().s[0]++;var o=function(){l().f[0]++;var e=(l().s[1]++,this),n=(l().s[2]++,e._self._c);return l().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-container",[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-text-field",{attrs:{label:"Start Date",type:"date",rules:[e.rules.required],"data-test":"start-date"},model:{value:e.startDate,callback:function(n){l().f[1]++,l().s[4]++,e.startDate=n},expression:"startDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"Start Time",type:"time",step:"1",rules:[e.rules.required],"data-test":"start-time"},model:{value:e.startTime,callback:function(n){l().f[2]++,l().s[5]++,e.startTime=n},expression:"startTime"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Date",type:"date",rules:e.endTime?(l().b[0][0]++,[e.rules.required]):(l().b[0][1]++,[]),"data-test":"end-date"},model:{value:e.endDate,callback:function(n){l().f[3]++,l().s[6]++,e.endDate=n},expression:"endDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Time",type:"time",step:"1",rules:e.endDate?(l().b[1][0]++,[e.rules.required]):(l().b[1][1]++,[]),"data-test":"end-time"},model:{value:e.endTime,callback:function(n){l().f[4]++,l().s[7]++,e.endTime=n},expression:"endTime"}})],1),e._v(" "),n("v-col",{staticClass:"pt-4",attrs:{cols:"auto"}},[e.running?(l().b[2][0]++,n("v-btn",{attrs:{color:"primary",width:"100","data-test":"stop-button"},on:{click:e.stop}},[e._v("\n Stop\n ")])):(l().b[2][1]++,n("v-btn",{staticClass:"pulse-button",attrs:{disabled:!e.canStart,color:"primary",width:"100","data-test":"start-button"},on:{click:e.start}},[e._v("\n Start\n ")]))],1)],1),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:(l().b[3][0]++,e.warning||(l().b[3][1]++,e.error)||(l().b[3][2]++,e.connectionFailure)),expression:"warning || error || connectionFailure"}],staticClass:"mb-3"},[n("v-alert",{attrs:{type:"warning",dismissible:""},model:{value:e.warning,callback:function(n){l().f[5]++,l().s[8]++,e.warning=n},expression:"warning"}},[e._v("\n "+e._s(e.warningText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error",dismissible:""},model:{value:e.error,callback:function(n){l().f[6]++,l().s[9]++,e.error=n},expression:"error"}},[e._v("\n "+e._s(e.errorText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error"},model:{value:e.connectionFailure,callback:function(n){l().f[7]++,l().s[10]++,e.connectionFailure=n},expression:"connectionFailure"}},[e._v("\n OpenC3 backend connection failed.\n ")])],1)],1),e._v(" "),n("v-tabs",{ref:"tabs",model:{value:e.curTab,callback:function(n){l().f[8]++,l().s[11]++,e.curTab=n},expression:"curTab"}},[e._l(e.config.tabs,(function(t,o){return l().f[9]++,l().s[12]++,n("v-tab",{key:o,attrs:{"data-test":"tab"},on:{contextmenu:n=>(l().f[10]++,l().s[13]++,e.tabMenu(n,o))}},[e._v("\n "+e._s(t.tabName)+"\n ")])})),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[11]++,l().s[14]++,[n("v-btn",e._g(e._b({staticClass:"mt-2 ml-2",class:0===e.config.tabs.length?(l().b[4][0]++,"pulse-button"):(l().b[4][1]++,""),attrs:{icon:"","data-test":"new-tab"},on:{click:e.addTab}},"v-btn",o,!1),t),[n("v-icon",[e._v("mdi-tab-plus")])],1)]}}])},[e._v(" "),n("span",[e._v("Add Component")])])],2),e._v(" "),n("v-tabs-items",{model:{value:e.curTab,callback:function(n){l().f[12]++,l().s[15]++,e.curTab=n},expression:"curTab"}},e._l(e.config.tabs,(function(t,o){return l().f[13]++,l().s[16]++,n("v-tab-item",{key:t.ref,attrs:{eager:""}},[n("keep-alive",[n("v-card",{attrs:{flat:""}},[n("v-divider"),e._v(" "),n("v-card-title",{staticClass:"pa-3"},[n("span",{domProps:{textContent:e._s(t.name)}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[14]++,l().s[17]++,[n("v-btn",e._g(e._b({attrs:{icon:"","data-test":"delete-component"},on:{click:()=>(l().f[15]++,l().s[18]++,e.deleteComponent(o))}},"v-btn",i,!1),t),[n("v-icon",[e._v("mdi-delete")])],1)]}}],null,!0)},[e._v(" "),n("span",[e._v("Remove Component")])])],1),e._v(" "),n(t.type,e._g({ref:t.ref,refInFor:!0,tag:"component",attrs:{name:t.component,config:t.config,packets:t.packets},on:{config:e=>(l().f[16]++,l().s[19]++,t.config=e)}},e.$listeners)),e._v(" "),0===e.receivedPackets.length?(l().b[5][0]++,n("v-card-text",[e._v("\n No data! Make sure to hit the START button!\n ")])):(l().b[5][1]++,e._e())],1)],1)],1)})),1),e._v(" "),e.config.tabs.length?(l().b[6][1]++,e._e()):(l().b[6][0]++,n("v-card",[n("v-card-title",[e._v("You're not viewing any packets")]),e._v(" "),n("v-card-text",[e._v("Click the new tab icon to start.")])],1))],1),e._v(" "),e.openConfig?(l().b[7][0]++,n("open-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.openConfiguration},model:{value:e.openConfig,callback:function(n){l().f[17]++,l().s[20]++,e.openConfig=n},expression:"openConfig"}})):(l().b[7][1]++,e._e()),e._v(" "),e.saveConfig?(l().b[8][0]++,n("save-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.saveConfiguration},model:{value:e.saveConfig,callback:function(n){l().f[18]++,l().s[21]++,e.saveConfig=n},expression:"saveConfig"}})):(l().b[8][1]++,e._e()),e._v(" "),n("v-dialog",{attrs:{width:"600"},model:{value:e.tabNameDialog,callback:function(n){l().f[19]++,l().s[22]++,e.tabNameDialog=n},expression:"tabNameDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" DataViewer: Rename Tab")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-text-field",{attrs:{label:"Tab name","data-test":"rename-tab-input"},model:{value:e.newTabName,callback:function(n){l().f[20]++,l().s[23]++,e.newTabName=n},expression:"newTabName"}})],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-rename"},on:{click:e.cancelTabRename}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"rename",disabled:!e.newTabName},on:{click:e.renameTab}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),n("v-menu",{attrs:{"position-x":e.tabMenuX,"position-y":e.tabMenuY,absolute:"","offset-y":""},model:{value:e.showTabMenu,callback:function(n){l().f[21]++,l().s[24]++,e.showTabMenu=n},expression:"showTabMenu"}},[n("v-list",[n("v-list-item",{attrs:{"data-test":"context-menu-rename"}},[n("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:e.openTabNameDialog}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),e.showAddComponentDialog?(l().b[9][0]++,n("add-component-dialog",{attrs:{components:e.components},on:{add:e.addComponent,cancel:e.cancelAddComponent},model:{value:e.showAddComponentDialog,callback:function(n){l().f[22]++,l().s[25]++,e.showAddComponentDialog=n},expression:"showAddComponentDialog"}})):(l().b[9][1]++,e._e())],1)},i=(l().s[26]++,[]),a=(t(9375),t(8605),t(8752),t(7010),t(9130)),s=t(4625),c=t(1649);const r=new c["default"],u=s.A.create({baseURL:location.origin,timeout:6e4,params:{}});u.interceptors.response.use((e=>e),(e=>{if(e.response){var n,t,l,o,i;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let s=`HTTP ${e.response.status} - `;if(null!==(n=e.response)&&void 0!==n&&n.statusText&&(s+=`${e.response.statusText} `),null!==(t=e.response)&&void 0!==t&&null!==(t=t.config)&&void 0!==t&&t.data&&(s+=`${e.response.config.data} `),null!==(l=e.response)&&void 0!==l&&null!==(l=l.data)&&void 0!==l&&l.message)s+=`${e.response.data.message}`;else if(null!==(o=e.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&o.exception)s+=`${e.response.data.exception}`;else if(null!==(i=e.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&null!==(i=i.error)&&void 0!==i&&i.message)e.response.data.error.class&&(s+=`${e.response.data.error.class} `),s+=`${e.response.data.error.message}`;else{var a;s+=`${null===(a=e.response)||void 0===a?void 0:a.data}`}throw r.$notify&&r.$notify.serious({title:"Network error",body:s}),e}throw e}));const m=u,d=async function(e,n,{data:t,params:l={},headers:o,noAuth:i=!1,noScope:a=!1}={}){if(!i){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(s){OpenC3Auth.login()}o["Authorization"]=localStorage.openc3Token}return a||l["scope"]||(l["scope"]=window.openc3Scope),m({method:e,url:n,data:t,params:l,headers:o})},A={Accept:"application/json"},p={...A,"Content-Type":"application/json"},h={get:function(e,{params:n,headers:t=A,noScope:l,noAuth:o}={}){return d("get",e,{params:n,headers:t,noScope:l,noAuth:o})},put:function(e,{data:n,params:t,headers:l=p,noScope:o,noAuth:i}={}){return d("put",e,{data:n,params:t,headers:l,noScope:o,noAuth:i})},post:function(e,{data:n,params:t,headers:l=p,noScope:o,noAuth:i}={}){return d("post",e,{data:n,params:t,headers:l,noScope:o,noAuth:i})},delete:function(e,{params:n,headers:t=A,noScope:l,noAuth:o}={}){return d("delete",e,{params:n,headers:t,noScope:l,noAuth:o})}};t(4293);var f=t(942);t(7107),t(2482),t(7067),t(4147),t(2682),t(785),t(8357),t(6196),t(821),t(6554),t(8472),t(7404),t(5803),t(3912);class v{constructor(){(0,f.A)(this,"id",1)}async exec(e,n,t={},l={},o=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(a){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope;const i=await m.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:t},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...l},timeout:o});return i.data.result}catch(a){var i=new Error;throw a.response?(i.name=a.response.data.error.data.class,i.message=a.response.data.error.data.message):a.request?(i.name="Request error",i.message="Request error, no response received"):i.name="Unknown error",i}}decode_openc3_type(e){if(null!==e&&"object"===typeof e&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)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,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...t){return this.exec("interface_cmd",[e,n,...t])}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_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,t){return this.exec("get_item",[e,n,t])}get_param(e,n,t){return this.exec("get_param",[e,n,t])}get_parameter(e,n,t){return this.exec("get_parameter",[e,n,t])}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_list",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_telemetry",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e){return this.exec("get_all_tlm_names",[e])}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,l=30){const o=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:l});if(null!=o)for(var i=o.length,a=null,s=0;s<i;s++)a=this.decode_openc3_type(o[s][1]),null!==a&&(o[s][1]=a);return o}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,t=null){let l={stale_time:n};null!==t&&(l["cache_timeout"]=t);const o=await this.exec("get_tlm_values",[e],l,{},1e4);for(var i=o[0].length,a=null,s=0;s<i;s++)a=this.decode_openc3_type(o[0][s]),null!==a&&(o[0][s]=a);return o}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,l="CONVERTED"){let o=null;if(void 0===n)o=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){var i=new Error;throw i.name="TypeError",i.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,i}o=await this.exec("tlm",[e],{type:n})}else o=await this.exec("tlm",[e,n,t],{type:l});var a=this.decode_openc3_type(o);return null!==a&&(o=a),o}async inject_tlm(e,n,t=null,l="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:l})}set_tlm(e,n,t,l){return this.exec("set_tlm",[e,n,t],{type:l})}override_tlm(e,n,t,l){return this.exec("override_tlm",[e,n,t],{type:l})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,l){return this.exec("normalize_tlm",[e,n,t],{type:l})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e){return this.exec("get_all_cmd_names",[e])}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_command",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,t,l="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,l])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,l,o){var i=null;for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(i=this.encode_openc3_type(l[a]),null!==i&&(l[a]=i));return this.exec(e,[n,t,l],{},o)}get_cmd_hazardous(e,n,t){return void 0===n?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,n,t)}cmd(e,n,t,l={}){return void 0===n?this.exec("cmd",e,{},l):this._cmd("cmd",e,n,t,l)}cmd_no_range_check(e,n,t){return void 0===n?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,n,t)}cmd_raw(e,n,t){return void 0===n?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,n,t)}cmd_raw_no_range_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,n,t)}cmd_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,n,t)}cmd_no_checks(e,n,t){return void 0===n?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,n,t)}cmd_raw_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,n,t)}cmd_raw_no_checks(e,n,t){return void 0===n?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,n,t)}build_cmd(e,n,t){return void 0===n?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,t)}build_command(e,n,t){return void 0===n?this.exec("build_command",e):this._cmd("build_command",e,n,t)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,t){return this.exec("save_config",[e,n,t])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,t){return this.exec("enable_limits",[e,n,t])}disable_limits(e,n,t){return this.exec("disable_limits",[e,n,t])}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,n){return this.exec("set_setting",[e,n])}save_setting(e,n){return this.exec("save_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=(new TextEncoder).encode(e),t=await crypto.subtle.digest("SHA-256",n),l=new Uint8Array(t);return Array.from(l).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}const C={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(e){!0!==this.dontSaveDefaultConfig&&(localStorage[`${this.configKey}__default`]=JSON.stringify(e))},openConfigBase:function(e,n=!1,t=null){(new v).load_config(this.configKey,e).then((l=>{l?(this.$notify.normal({title:"Loading configuration",body:e}),t&&t(JSON.parse(l)),n||this.$router.currentRoute.fullPath.includes(e)||this.$router.push({query:{config:e}})):this.$notify.caution({title:"Unknown configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error opening configuration: ${e}`,body:n})}))},saveConfigBase:function(e,n){(new v).save_config(this.configKey,e,JSON.stringify(n)).then((()=>{this.$notify.normal({title:"Saved configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error saving configuration: ${e}`,body:n})}))},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`),"/"!==this.$router.currentRoute.fullPath&&(this.$router.replace(this.$router.currentRoute.path),this.$router.go())}}};var g=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Open Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"",autofocus:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{"data-test":"item-delete",icon:""},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"open-config-cancel-btn"},on:{click:e.cancel}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"open-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},b=[];const y={props:{configKey:String,value:Boolean},data(){return{configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.selectedItem||null===this.selectedItem?"Must select a config":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new v).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?this.selectedItem=e.item:this.selectedItem=null},success:function(){this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedItem=null},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.selectedItem.config===e.config&&(this.selectedItem=null),this.configs.splice(this.configs.indexOf(e),1),(new v).delete_config(this.configKey,e.config)})).catch((n=>{n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},k=y;var w=t(2401),T=(0,w.A)(k,g,b,!1,null,null,null);const x=T.exports;var N=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Save Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{icon:"","data-test":"item-delete"},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{"hide-details":"",autofocus:"",disabled:!!e.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},model:{value:e.configName,callback:function(n){e.configName=n},expression:"configName"}})],1),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:""},on:{click:e.cancel}},[e._v(" Cancel ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"save-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},D=[];const S={props:{configKey:String,value:Boolean},data(){return{configName:"",configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.configName?"Config must have a name":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new v).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?(this.selectedItem=e.item,this.configName=e.item.config):(this.selectedItem=null,this.configName="")},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.configName===e.config&&(this.selectedItem=null,this.configName=""),this.configs.splice(this.configs.indexOf(e.config),1),(new v).delete_config(this.configKey,e.config)})).catch((n=>{n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},P=S;var I=(0,w.A)(P,N,D,!1,null,null,null);const O=I.exports;var $=t(7752);$.D$.staleThreshold=10;class R{constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(e,n,t={},l={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{if(n&&OpenC3Auth.setTokens(),null==this._cable){let e=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=$.Be(e)}return this._cable.subscriptions.create({channel:e,...l},t)}))}recordPing(){this._cable.connection.monitor.recordPing()}}var M=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,l){return n("v-menu",{key:l,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:o}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",o,!1),l),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(l,o){return[l.divider?n("v-divider",{key:o}):l.subMenu&&l.subMenu.length>0?n("div",{key:o},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:i}){return[n("v-list-item",e._g(e._b({key:o,attrs:{disabled:l.disabled}},"v-list-item",i,!1),t),[l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(l.subMenu,(function(t,l){return n("v-list-item",{key:l,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:o,attrs:{disabled:l.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${l.label}`)},on:{click:function(e){return l.command(l)}}},[l.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:l.label,value:l.label}})],1):e._e(),e._v(" "),l.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:l.label},model:{value:l.checked,callback:function(n){e.$set(l,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label))])],1)]}))],2)],1)],1)})),1)],1)},E=[];t(8715);const L={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},V=L;t(1e3);var U=(0,w.A)(V,M,E,!1,null,"57d4fdd2",null);const F=U.exports;function W(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="8c107e84b7a1e3aa0a59c0dd3ccbffc5d6e8a979",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:9,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:8,column:1026}},4:{start:{line:1,column:163},end:{line:1,column:175}},5:{start:{line:1,column:728},end:{line:1,column:753}},6:{start:{line:1,column:1085},end:{line:1,column:1110}},7:{start:{line:1,column:1659},end:{line:1,column:1680}},8:{start:{line:1,column:2187},end:{line:1,column:2213}},9:{start:{line:8,column:113},end:{line:8,column:138}},10:{start:{line:8,column:202},end:{line:8,column:571}},11:{start:{line:8,column:310},end:{line:8,column:505}},12:{start:{line:8,column:374},end:{line:8,column:401}},13:{start:{line:10,column:22},end:{line:10,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:9,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:147},end:{line:1,column:148}},loc:{start:{line:1,column:162},end:{line:1,column:176}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:712},end:{line:1,column:713}},loc:{start:{line:1,column:727},end:{line:1,column:754}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1069},end:{line:1,column:1070}},loc:{start:{line:1,column:1084},end:{line:1,column:1111}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1643},end:{line:1,column:1644}},loc:{start:{line:1,column:1658},end:{line:1,column:1681}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:2171},end:{line:1,column:2172}},loc:{start:{line:1,column:2186},end:{line:1,column:2214}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:8,column:96},end:{line:8,column:97}},loc:{start:{line:8,column:112},end:{line:8,column:139}},line:8},7:{name:"(anonymous_7)",decl:{start:{line:8,column:183},end:{line:8,column:184}},loc:{start:{line:8,column:201},end:{line:8,column:572}},line:8},8:{name:"(anonymous_8)",decl:{start:{line:8,column:286},end:{line:8,column:287}},loc:{start:{line:8,column:309},end:{line:8,column:506}},line:8},9:{name:"(anonymous_9)",decl:{start:{line:8,column:357},end:{line:8,column:358}},loc:{start:{line:8,column:373},end:{line:8,column:402}},line:8}},branchMap:{0:{loc:{start:{line:1,column:1971},end:{line:1,column:2258}},type:"cond-expr",locations:[{start:{line:1,column:2003},end:{line:1,column:2249}},{start:{line:1,column:2250},end:{line:1,column:2258}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8c107e84b7a1e3aa0a59c0dd3ccbffc5d6e8a979"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return W=function(){return a},a}W(),W().s[0]++;var K=function(){W().f[0]++;var e=(W().s[1]++,this),n=(W().s[2]++,e._self._c);return W().s[3]++,n("div",[n("v-dialog",{attrs:{width:"800"},model:{value:e.show,callback:function(n){W().f[1]++,W().s[4]++,e.show=n},expression:"show"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" Configure Component ")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-container",[n("v-row",{attrs:{align:"center"}},[n("v-col",[e._v("Select Component:")]),e._v(" "),n("v-col",[n("v-select",{attrs:{"hide-details":"",dense:"",outlined:"",items:e.components,"item-text":"label","item-value":"value","return-object":"","data-test":"select-component"},model:{value:e.selectedComponent,callback:function(n){W().f[2]++,W().s[5]++,e.selectedComponent=n},expression:"selectedComponent"}})],1)],1),e._v(" "),n("v-row",[n("v-col",[e._v("Add packets for this component to process.")])],1),e._v(" "),n("v-row",[n("v-col",{staticClass:"my-2"},[n("v-radio-group",{staticClass:"mt-0",attrs:{row:"","hide-details":""},model:{value:e.newPacketCmdOrTlm,callback:function(n){W().f[3]++,W().s[6]++,e.newPacketCmdOrTlm=n},expression:"newPacketCmdOrTlm"}},[n("v-radio",{attrs:{label:"Command",value:"cmd","data-test":"command-packet-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Telemetry",value:"tlm","data-test":"telemetry-packet-radio"}})],1)],1)],1),e._v(" "),n("v-row",[n("v-col",[n("target-packet-item-chooser",{attrs:{unknown:"","button-text":"Add Packet"},on:{click:e.addPacket}})],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-radio-group",{attrs:{row:"","hide-details":""},model:{value:e.newPacketMode,callback:function(n){W().f[4]++,W().s[7]++,e.newPacketMode=n},expression:"newPacketMode"}},[n("v-radio",{attrs:{label:"Raw",value:"RAW","data-test":"new-packet-raw-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Decom",value:"DECOM",disabled:e.disableRadioOptions,"data-test":"new-packet-decom-radio"}})],1)],1),e._v(" "),n("v-col",["DECOM"===e.newPacketMode?(W().b[0][0]++,n("v-select",{attrs:{"hide-details":"",label:"Value Type","data-test":"add-packet-value-type",items:e.valueTypes},model:{value:e.newPacketValueType,callback:function(n){W().f[5]++,W().s[8]++,e.newPacketValueType=n},expression:"newPacketValueType"}})):(W().b[0][1]++,e._e())],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-data-table",{attrs:{headers:e.headers,items:e.packets,search:e.search,"items-per-page":e.itemsPerPage,"footer-props":{itemsPerPageOptions:[10,100],showFirstLastPage:!0,firstIcon:"mdi-page-first",lastIcon:"mdi-page-last",prevIcon:"mdi-chevron-left",nextIcon:"mdi-chevron-right"},"calculate-widths":"","multi-sort":"",dense:""},on:{"update:items-per-page":function(n){W().f[6]++,W().s[9]++,e.itemsPerPage=n}},scopedSlots:e._u([{key:"item.delete",fn:function({item:t}){return W().f[7]++,W().s[10]++,[n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:o}){return W().f[8]++,W().s[11]++,[n("v-icon",e._g(e._b({on:{click:function(n){return W().f[9]++,W().s[12]++,e.deleteItem(t)}}},"v-icon",o,!1),l),[e._v("\n mdi-delete\n ")])]}}],null,!0)},[e._v(" "),n("span",[e._v("Delete Item")])])]}}])})],1)],1)],1)],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-component"},on:{click:e.cancelAddComponent}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"add-component",disabled:e.notValid},on:{click:e.addComponent}},[e._v("\n Create\n ")])],1)],1)],1)],1)},B=(W().s[13]++,[]),j=function(){var e=this,n=e._self._c;return n("div",{staticClass:"pt-4 tgt-pkt-item-chooser"},[n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-target"}},[n("v-autocomplete",{attrs:{label:"Select Target","hide-details":"",dense:"",outlined:"",items:e.targetNames,"item-text":"label","item-value":"value"},on:{change:e.targetNameChanged},model:{value:e.selectedTargetName,callback:function(n){e.selectedTargetName=n},expression:"selectedTargetName"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-packet"}},[n("v-autocomplete",{attrs:{label:"Select Packet","hide-details":"",dense:"",outlined:"",disabled:e.packetsDisabled||e.buttonDisabled,items:e.packetNames,"item-text":"label","item-value":"value"},on:{change:e.packetNameChanged},model:{value:e.selectedPacketName,callback:function(n){e.selectedPacketName=n},expression:"selectedPacketName"}})],1),e._v(" "),e.chooseItem&&!e.buttonDisabled?n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-item"}},[n("v-autocomplete",{attrs:{label:"Select Item","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.buttonDisabled,items:e.itemNames,"item-text":"label","item-value":"value"},on:{change:function(n){return e.itemNameChanged(n)}},model:{value:e.selectedItemName,callback:function(n){e.selectedItemName=n},expression:"selectedItemName"}})],1):e._e(),e._v(" "),e.itemIsArray()?n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"array-index"}},[n("v-combobox",{attrs:{label:"Array Index","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.buttonDisabled,items:e.arrayIndexes(),"item-text":"label","item-value":"value"},model:{value:e.selectedArrayIndex,callback:function(n){e.selectedArrayIndex=n},expression:"selectedArrayIndex"}})],1):e._e(),e._v(" "),e.buttonText?n("v-col",{staticStyle:{"max-width":"0px"},attrs:{cols:e.colSize}},[n("v-btn",{attrs:{disabled:e.buttonDisabled,block:"",color:"primary","data-test":"select-send"},on:{click:e.buttonPressed}},[e._v("\n "+e._s(e.actualButtonText)+"\n ")])],1):e._e()],1),e._v(" "),e.selectTypes?n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"data-type"}},[n("v-autocomplete",{attrs:{label:"Value Type","hide-details":"",dense:"",outlined:"",items:e.valueTypes},model:{value:e.selectedValueType,callback:function(n){e.selectedValueType=n},expression:"selectedValueType"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced"}},[n("v-autocomplete",{attrs:{label:"Reduced","hide-details":"",dense:"",outlined:"",items:e.reductionModes},model:{value:e.selectedReduced,callback:function(n){e.selectedReduced=n},expression:"selectedReduced"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced-type"}},[n("v-autocomplete",{attrs:{label:"Reduced Type","hide-details":"",dense:"",outlined:"",disabled:"DECOM"===e.selectedReduced,items:e.reducedTypes},model:{value:e.selectedReducedType,callback:function(n){e.selectedReducedType=n},expression:"selectedReducedType"}})],1),e._v(" "),n("v-col",{staticStyle:{"max-width":"0px"},attrs:{cols:e.colSize}})],1):e._e(),e._v(" "),n("v-row",{staticClass:"pt-1",attrs:{"no-gutters":""}},[e.hazardous?n("v-col",{staticClass:"openc3-yellow",attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" (HAZARDOUS)")]):n("v-col",{attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" ")])],1)],1)},z=[];t(7534);const H={props:{allowAll:{type:Boolean,default:!1},allowAllTargets:{type:Boolean,default:!1},buttonText:{type:String,default:null},chooseItem:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},initialTargetName:{type:String,default:""},initialPacketName:{type:String,default:""},initialItemName:{type:String,default:""},selectTypes:{type:Boolean,default:!1},mode:{type:String,default:"tlm",validator:e=>["cmd","tlm"].includes(e)},unknown:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},data(){var e,n,t;return{targetNames:[],selectedTargetName:null===(e=this.initialTargetName)||void 0===e?void 0:e.toUpperCase(),packetNames:[],selectedPacketName:null===(n=this.initialPacketName)||void 0===n?void 0:n.toUpperCase(),itemNames:[],selectedItemName:null===(t=this.initialItemName)||void 0===t?void 0:t.toUpperCase(),valueTypes:["CONVERTED","RAW"],selectedValueType:"CONVERTED",reductionModes:[{text:"NONE",value:"DECOM"},{text:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{text:"REDUCED_HOUR",value:"REDUCED_HOUR"},{text:"REDUCED_DAY",value:"REDUCED_DAY"}],selectedArrayIndex:null,selectedReduced:"DECOM",reducedTypes:["MIN","MAX","AVG","STDDEV"],selectedReducedType:"AVG",description:"",hazardous:!1,internalDisabled:!1,packetsDisabled:!1,itemsDisabled:!1,api:null,ALL:{label:"[ ALL ]",value:"ALL",description:"ALL"},UNKNOWN:{label:"[ UNKNOWN ]",value:"UNKNOWN",description:"UNKNOWN"}}},created(){this.internalDisabled=!0,this.api=new v,this.api.get_target_names().then((e=>{this.targetNames=e.flatMap((e=>"UNKNOWN"==e?[]:{label:e,value:e})),this.allowAllTargets&&this.targetNames.unshift(this.ALL),this.selectedTargetName||(this.selectedTargetName=this.targetNames[0].value,this.targetNameChanged(this.selectedTargetName)),this.updatePackets(),this.unknown&&this.targetNames.push(this.UNKNOWN)}))},computed:{actualButtonText:function(){return"ALL"===this.selectedPacketName?"Add Target":"ALL"===this.selectedItemName?"Add Packet":this.buttonText},buttonDisabled:function(){return this.disabled||this.internalDisabled},colSize:function(){return!!this.vertical&&12},selectedItemNameWIndex:function(){return null!==this.selectedArrayIndex&&this.selectedArrayIndex!==this.ALL.label?`${this.selectedItemName}[${this.selectedArrayIndex}]`:this.selectedItemName}},watch:{mode:function(e,n){this.selectedPacketName=null,this.selectedItemName=null,this.updatePackets()}},methods:{updatePackets:function(){if("UNKNOWN"===this.selectedTargetName)return this.packetNames=[this.UNKNOWN],this.selectedPacketName=this.packetNames[0].value,this.packetNameChanged(this.UNKNOWN.value),void(this.description="UNKNOWN");if("ALL"===this.selectedTargetName)return this.packetNames=[this.ALL],this.selectedPacketName=this.packetNames[0].value,this.packetNameChanged(this.ALL.value),void(this.description="ALL");this.internalDisabled=!0;const e="tlm"===this.mode?"get_all_tlm_names":"get_all_cmd_names";this.api[e](this.selectedTargetName).then((e=>{this.packetNames=e.map((e=>({label:e,value:e}))),this.allowAll&&this.packetNames.unshift(this.ALL),this.selectedPacketName||(this.selectedPacketName=this.packetNames[0].value),this.packetNameChanged(this.selectedPacketName);const n=this.packetNames.find((e=>e.value===this.selectedPacketName));n&&this.chooseItem&&this.updateItems(),this.internalDisabled=!1}))},updateItems:function(){if("ALL"===this.selectedPacketName)return;this.internalDisabled=!0;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.itemNames=e.items.map((e=>[{label:e.name,value:e.name,description:e.description,array:e.array_size/e.bit_size}])).reduce(((e,n)=>e.concat(n)),[]),this.allowAll&&this.itemNames.unshift(this.ALL),this.selectedItemName||(this.selectedItemName=this.itemNames[0].value),this.description=this.itemNames[0].description,this.internalDisabled=!1,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))},itemIsArray:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName));return-1!==e&&(isNaN(this.itemNames[e].array)?(this.selectedArrayIndex=null,!1):(null===this.selectedArrayIndex&&(this.selectedArrayIndex=0),!0))},arrayIndexes:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName)),n=[...Array(this.itemNames[e].array).keys()];return this.allowAll&&n.unshift(this.ALL.label),n},targetNameChanged:function(e){this.selectedTargetName=e,this.selectedPacketName="",this.selectedItemName="",this.updatePackets()},packetNameChanged:function(e){if("ALL"===e)this.itemsDisabled=!0,this.internalDisabled=!1;else{this.itemsDisabled=!1;const n=this.packetNames.find((n=>e===n.value));if(n){this.selectedPacketName=n.value;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.description=e.description,this.hazardous=e.hazardous}))}}this.chooseItem?this.updateItems():this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},itemNameChanged:function(e){const n=this.itemNames.find((n=>e===n.value));n&&(this.selectedItemName=n.value,this.description=n.description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}))},buttonPressed:function(){"ALL"===this.selectedPacketName?this.allTargetPacketItems():"ALL"===this.selectedItemName?this.allPacketItems():this.chooseItem?this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}):this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},allTargetPacketItems:function(){this.packetNames.forEach((e=>{if(e===this.ALL)return;const n="tlm"===this.mode?"get_tlm":"get_cmd";this.api[n](this.selectedTargetName,e.value).then((n=>{n.items.forEach((n=>{this.$emit("click",{targetName:this.selectedTargetName,packetName:e.value,itemName:n["name"],valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}))}))},allPacketItems:function(){this.itemNames.forEach((e=>{e!==this.ALL&&this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:e.value,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}}},q=H;t(609);var G=(0,w.A)(q,j,z,!1,null,"4a855687",null);const Y=G.exports;function X(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="61dc42db7c91abce276d9244422190456608f03f",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:13,column:4},end:{line:30,column:5}},1:{start:{line:34,column:6},end:{line:38,column:7}},2:{start:{line:35,column:8},end:{line:35,column:19}},3:{start:{line:37,column:8},end:{line:37,column:20}},4:{start:{line:41,column:6},end:{line:43,column:7}},5:{start:{line:42,column:8},end:{line:42,column:50}},6:{start:{line:44,column:6},end:{line:44,column:18}},7:{start:{line:48,column:8},end:{line:48,column:25}},8:{start:{line:51,column:8},end:{line:51,column:34}},9:{start:{line:59,column:8},end:{line:59,column:29}},10:{start:{line:65,column:17},end:{line:65,column:40}},11:{start:{line:66,column:6},end:{line:68,column:7}},12:{start:{line:67,column:8},end:{line:67,column:20}},13:{start:{line:69,column:6},end:{line:75,column:8}},14:{start:{line:78,column:6},end:{line:83,column:8}},15:{start:{line:86,column:18},end:{line:86,column:44}},16:{start:{line:87,column:6},end:{line:87,column:35}},17:{start:{line:90,column:6},end:{line:90,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:9},end:{line:31,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:33,column:14},end:{line:33,column:15}},loc:{start:{line:33,column:26},end:{line:39,column:5}},line:33},2:{name:"(anonymous_2)",decl:{start:{line:40,column:25},end:{line:40,column:26}},loc:{start:{line:40,column:37},end:{line:45,column:5}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:47,column:6},end:{line:47,column:7}},loc:{start:{line:47,column:12},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:50,column:6},end:{line:50,column:7}},loc:{start:{line:50,column:17},end:{line:52,column:7}},line:50},5:{name:"(anonymous_5)",decl:{start:{line:58,column:15},end:{line:58,column:16}},loc:{start:{line:58,column:27},end:{line:60,column:7}},line:58},6:{name:"(anonymous_6)",decl:{start:{line:64,column:15},end:{line:64,column:16}},loc:{start:{line:64,column:32},end:{line:76,column:5}},line:64},7:{name:"(anonymous_7)",decl:{start:{line:77,column:18},end:{line:77,column:19}},loc:{start:{line:77,column:35},end:{line:84,column:5}},line:77},8:{name:"(anonymous_8)",decl:{start:{line:85,column:16},end:{line:85,column:17}},loc:{start:{line:85,column:32},end:{line:88,column:5}},line:85},9:{name:"(anonymous_9)",decl:{start:{line:89,column:24},end:{line:89,column:25}},loc:{start:{line:89,column:36},end:{line:91,column:5}},line:89}},branchMap:{0:{loc:{start:{line:34,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:38,column:7}},{start:{line:36,column:13},end:{line:38,column:7}}],line:34},1:{loc:{start:{line:34,column:10},end:{line:34,column:70}},type:"binary-expr",locations:[{start:{line:34,column:10},end:{line:34,column:41}},{start:{line:34,column:45},end:{line:34,column:70}}],line:34},2:{loc:{start:{line:41,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},3:{loc:{start:{line:66,column:6},end:{line:68,column:7}},type:"if",locations:[{start:{line:66,column:6},end:{line:68,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:66}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["AddComponentDialog.vue"],names:[],mappings:";AA+KA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AddComponentDialog.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addstopums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n <v-dialog v-model="show" width="800">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Configure Component </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-container>\n <v-row align="center">\n <v-col>Select Component:</v-col>\n <v-col>\n <v-select\n hide-details\n dense\n outlined\n :items="components"\n item-text="label"\n item-value="value"\n v-model="selectedComponent"\n return-object\n data-test="select-component"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>Add packets for this component to process.</v-col></v-row\n >\n <v-row>\n <v-col class="my-2">\n <v-radio-group\n v-model="newPacketCmdOrTlm"\n row\n hide-details\n class="mt-0"\n >\n <v-radio\n label="Command"\n value="cmd"\n data-test="command-packet-radio"\n />\n <v-radio\n label="Telemetry"\n value="tlm"\n data-test="telemetry-packet-radio"\n />\n </v-radio-group>\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <target-packet-item-chooser\n unknown\n button-text="Add Packet"\n @click="addPacket"\n />\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <v-radio-group v-model="newPacketMode" row hide-details>\n <v-radio\n label="Raw"\n value="RAW"\n data-test="new-packet-raw-radio"\n />\n <v-radio\n label="Decom"\n value="DECOM"\n :disabled="disableRadioOptions"\n data-test="new-packet-decom-radio"\n />\n </v-radio-group>\n </v-col>\n <v-col>\n <v-select\n v-if="newPacketMode === \'DECOM\'"\n v-model="newPacketValueType"\n hide-details\n label="Value Type"\n data-test="add-packet-value-type"\n :items="valueTypes"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>\n <v-data-table\n :headers="headers"\n :items="packets"\n :search="search"\n :items-per-page="itemsPerPage"\n @update:items-per-page="itemsPerPage = $event"\n :footer-props="{\n itemsPerPageOptions: [10, 100],\n showFirstLastPage: true,\n firstIcon: \'mdi-page-first\',\n lastIcon: \'mdi-page-last\',\n prevIcon: \'mdi-chevron-left\',\n nextIcon: \'mdi-chevron-right\',\n }"\n calculate-widths\n multi-sort\n dense\n >\n <template v-slot:item.delete="{ item }">\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="deleteItem(item)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Item</span>\n </v-tooltip>\n </template>\n </v-data-table>\n </v-col></v-row\n >\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-component"\n @click="cancelAddComponent"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="add-component"\n :disabled="notValid"\n @click="addComponent"\n >\n Create\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport TargetPacketItemChooser from \'@openc3/tool-common/src/components/TargetPacketItemChooser\'\n\nexport default {\n components: {\n TargetPacketItemChooser,\n },\n props: {\n value: Boolean, // value is the default prop when using v-model\n components: Object,\n },\n data() {\n return {\n selectedComponent: this.components[0],\n newPacket: null,\n newPacketCmdOrTlm: \'tlm\',\n newPacketMode: \'RAW\',\n valueTypes: [\'CONVERTED\', \'RAW\', \'FORMATTED\', \'WITH_UNITS\'],\n newPacketValueType: \'WITH_UNITS\',\n headers: [\n { text: \'Cmd/Tlm\', value: \'cmdOrTlm\' },\n { text: \'Target\', value: \'targetName\' },\n { text: \'Packet\', value: \'packetName\' },\n { text: \'Mode\', value: \'mode\' },\n { text: \'ValueType\', value: \'valueType\' },\n { text: \'Delete\', value: \'delete\' },\n ],\n itemsPerPage: 20,\n packets: [],\n }\n },\n computed: {\n notValid: function () {\n if (this.selectedComponent === null || this.packets.length === 0) {\n return true\n } else {\n return false\n }\n },\n disableRadioOptions: function () {\n if (this.newPacket) {\n return this.newPacket.packet === \'UNKNOWN\'\n }\n return false\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n watch: {\n newPacketCmdOrTlm: {\n immediate: true,\n handler: function () {\n this.newPacket = null\n },\n },\n },\n methods: {\n addPacket: function (event) {\n let type = this.newPacketValueType\n if (this.newPacketMode === \'RAW\') {\n type = \'N/A\'\n }\n this.packets.push({\n cmdOrTlm: this.newPacketCmdOrTlm.toUpperCase(),\n targetName: event.targetName,\n packetName: event.packetName,\n mode: this.newPacketMode,\n valueType: type,\n })\n },\n addComponent: function (event) {\n this.$emit(\'add\', {\n packets: this.packets,\n component: this.selectedComponent,\n mode: this.newPacketMode,\n valueType: this.newPacketValueType,\n })\n },\n deleteItem: function (item) {\n var index = this.packets.indexOf(item)\n this.packets.splice(index, 1)\n },\n cancelAddComponent: function () {\n this.$emit(\'cancel\', {})\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"61dc42db7c91abce276d9244422190456608f03f"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return X=function(){return a},a}X();const J={components:{TargetPacketItemChooser:Y},props:{value:Boolean,components:Object},data(){return X().f[0]++,X().s[0]++,{selectedComponent:this.components[0],newPacket:null,newPacketCmdOrTlm:"tlm",newPacketMode:"RAW",valueTypes:["CONVERTED","RAW","FORMATTED","WITH_UNITS"],newPacketValueType:"WITH_UNITS",headers:[{text:"Cmd/Tlm",value:"cmdOrTlm"},{text:"Target",value:"targetName"},{text:"Packet",value:"packetName"},{text:"Mode",value:"mode"},{text:"ValueType",value:"valueType"},{text:"Delete",value:"delete"}],itemsPerPage:20,packets:[]}},computed:{notValid:function(){return X().f[1]++,X().s[1]++,X().b[1][0]++,null===this.selectedComponent||(X().b[1][1]++,0===this.packets.length)?(X().b[0][0]++,X().s[2]++,!0):(X().b[0][1]++,X().s[3]++,!1)},disableRadioOptions:function(){return X().f[2]++,X().s[4]++,this.newPacket?(X().b[2][0]++,X().s[5]++,"UNKNOWN"===this.newPacket.packet):(X().b[2][1]++,X().s[6]++,!1)},show:{get(){return X().f[3]++,X().s[7]++,this.value},set(e){X().f[4]++,X().s[8]++,this.$emit("input",e)}}},watch:{newPacketCmdOrTlm:{immediate:!0,handler:function(){X().f[5]++,X().s[9]++,this.newPacket=null}}},methods:{addPacket:function(e){X().f[6]++;let n=(X().s[10]++,this.newPacketValueType);X().s[11]++,"RAW"===this.newPacketMode?(X().b[3][0]++,X().s[12]++,n="N/A"):X().b[3][1]++,X().s[13]++,this.packets.push({cmdOrTlm:this.newPacketCmdOrTlm.toUpperCase(),targetName:e.targetName,packetName:e.packetName,mode:this.newPacketMode,valueType:n})},addComponent:function(e){X().f[7]++,X().s[14]++,this.$emit("add",{packets:this.packets,component:this.selectedComponent,mode:this.newPacketMode,valueType:this.newPacketValueType})},deleteItem:function(e){X().f[8]++;var n=(X().s[15]++,this.packets.indexOf(e));X().s[16]++,this.packets.splice(n,1)},cancelAddComponent:function(){X().f[9]++,X().s[17]++,this.$emit("cancel",{})}}},Z=J;var Q=(0,w.A)(Z,K,B,!1,null,null,null);const ee=Q.exports;function ne(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="683d9f83ba62344b008ac49ba690564dd445d63e",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:266}},4:{start:{line:1,column:184},end:{line:1,column:210}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:171},end:{line:1,column:172}},loc:{start:{line:1,column:184},end:{line:1,column:210}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"683d9f83ba62344b008ac49ba690564dd445d63e"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ne=function(){return a},a}ne(),ne().s[0]++;var te=function(){ne().f[0]++;var e=(ne().s[1]++,this),n=(ne().s[2]++,e._self._c);return ne().s[3]++,n(e.widgetType,e._b({ref:"dynamic",tag:"component",attrs:{config:e.currentConfig},on:{config:n=>(ne().f[1]++,ne().s[4]++,e.currentConfig=n)}},"component",{...e.$props,...e.$attrs},!1))},le=(ne().s[5]++,[]);const oe={props:{config:{type:Object},packets:{type:Array}},data:function(){return{currentConfig:{},currentPackets:[],latestData:null}},computed:{hasRaw:function(){for(let e=0;e<this.currentPackets.length;e++)if("RAW"===this.currentPackets[e].mode)return!0;return!1},hasDecom:function(){for(let e=0;e<this.currentPackets.length;e++)if("DECOM"===this.currentPackets[e].mode)return!0;return!1}},watch:{currentConfig:{deep:!0,handler:function(e){this.$emit("config",e)}}},created:function(){this.config&&(this.currentConfig={...this.config}),this.packets&&(this.currentPackets=[...this.packets])},methods:{receive:function(e){this.latestData=e}}};function ie(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="bb923feddbd69c5fa223c7b28bb2331f8d7de1ca",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:7,column:4},end:{line:9,column:5}},1:{start:{line:16,column:6},end:{line:16,column:91}},2:{start:{line:21,column:6},end:{line:21,column:41}},3:{start:{line:25,column:4},end:{line:30,column:5}},4:{start:{line:27,column:6},end:{line:27,column:79}},5:{start:{line:29,column:6},end:{line:29,column:53}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:9},end:{line:10,column:3}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:15,column:9},end:{line:15,column:10}},loc:{start:{line:15,column:21},end:{line:17,column:5}},line:15},2:{name:"(anonymous_2)",decl:{start:{line:20,column:16},end:{line:20,column:17}},loc:{start:{line:20,column:32},end:{line:22,column:5}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:24,column:2},end:{line:24,column:3}},loc:{start:{line:24,column:18},end:{line:31,column:3}},line:24}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0,3:0},b:{},inputSourceMap:{version:3,sources:["DynamicComponent.vue"],names:[],mappings:";AA6BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DynamicComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <component\n ref="dynamic"\n :is="widgetType"\n :config="currentConfig"\n @config="(config) => (currentConfig = config)"\n v-bind="{ ...$props, ...$attrs }"\n ></component>\n</template>\n\n<script>\nimport Component from \'@openc3/tool-common/src/components/dataviewer/Component\'\n\nexport default {\n mixins: [Component],\n data() {\n return {\n widgetType: null,\n }\n },\n props: {\n name: { default: null },\n },\n computed: {\n url: function () {\n return `${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`\n },\n },\n watch: {\n latestData: function (data) {\n this.$refs[\'dynamic\'].receive(data)\n },\n },\n async mounted() {\n try {\n /* eslint-disable-next-line */\n this.widgetType = await System.import(/* webpackIgnore: true */ this.url)\n } catch (e) {\n throw new Error(`Unknown widget: ${this.name}`)\n }\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"bb923feddbd69c5fa223c7b28bb2331f8d7de1ca"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ie=function(){return a},a}ie();const ae={mixins:[oe],data(){return ie().f[0]++,ie().s[0]++,{widgetType:null}},props:{name:{default:null}},computed:{url:function(){return ie().f[1]++,ie().s[1]++,`${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`}},watch:{latestData:function(e){ie().f[2]++,ie().s[2]++,this.$refs["dynamic"].receive(e)}},async mounted(){ie().f[3]++,ie().s[3]++;try{ie().s[4]++,this.widgetType=await System.import(this.url)}catch(e){throw ie().s[5]++,new Error(`Unknown widget: ${this.name}`)}}},se=ae;var ce=(0,w.A)(se,te,le,!1,null,null,null);const re=ce.exports;function ue(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="6e7aed508e299df55187c4d24d333fd30a1ae7fe",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:271}},4:{start:{line:1,column:241},end:{line:1,column:267}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:228},end:{line:1,column:229}},loc:{start:{line:1,column:241},end:{line:1,column:267}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6e7aed508e299df55187c4d24d333fd30a1ae7fe"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return ue=function(){return a},a}ue(),ue().s[0]++;var me=function(){ue().f[0]++;var e=(ue().s[1]++,this),n=(ue().s[2]++,e._self._c);return ue().s[3]++,n("history-component",{ref:"history",attrs:{config:e.currentConfig,packets:e.currentPackets,calculatePacketText:e.calculatePacketText},on:{config:n=>(ue().f[1]++,ue().s[4]++,e.currentConfig=n)}})},de=(ue().s[5]++,[]),Ae=function(){var e=this,n=e._self._c;return n("v-container",{staticClass:"pt-0"},[n("v-row",{staticClass:"mt-2",attrs:{dense:""}},[n("v-col",[n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":"","data-test":"history-component-search"},model:{value:e.filterText,callback:function(n){e.filterText=n},expression:"filterText"}})],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-slider",{attrs:{"prepend-icon":"mdi-step-backward","append-icon":"mdi-step-forward",min:1-e.currentConfig.history,max:0,"hide-details":""},on:{mousedown:e.pause,"click:prepend":e.stepBackward,"click:append":e.stepForward},model:{value:e.pauseOffset,callback:function(n){e.pauseOffset=n},expression:"pauseOffset"}})],1)],1),e._v(" "),n("v-row",{attrs:{dense:"","no-gutters":""}},[n("v-col",[n("div",{staticClass:"text-area-container"},[n("v-textarea",{ref:"textarea",attrs:{value:e.displayText,rows:"1","no-resize":"",readonly:"",solo:"",flat:"","hide-details":"","data-test":"history-component-text-area"}}),e._v(" "),n("div",{staticClass:"floating-buttons"},[n("v-menu",{attrs:{"close-on-content-click":!1,"min-width":700,"nudge-left":710,"nudge-top":250},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:l}){return[n("v-btn",e._g(e._b({staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-open-settings"}},"v-btn",l,!1),t),[n("v-icon",[e._v("$astro-settings")])],1)]}}])},[e._v(" "),n("v-card",[n("v-card-title",{attrs:{"data-test":"display-settings-card"}},[e._v("\n Display settings\n ")]),e._v(" "),n("v-card-text",[n("v-row",[n("v-col",[n("v-switch",{attrs:{label:"Show timestamp",dense:"","hide-details":"","data-test":"history-component-settings-show-timestamp"},model:{value:e.currentConfig.showTimestamp,callback:function(n){e.$set(e.currentConfig,"showTimestamp",n)},expression:"currentConfig.showTimestamp"}}),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show ASCII",dense:"","hide-details":"","data-test":"history-component-settings-show-ascii"},model:{value:e.currentConfig.showAscii,callback:function(n){e.$set(e.currentConfig,"showAscii",n)},expression:"currentConfig.showAscii"}}):e._e(),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show line address",dense:"","hide-details":"","data-test":"history-component-settings-show-address"},model:{value:e.currentConfig.showLineAddress,callback:function(n){e.$set(e.currentConfig,"showLineAddress",n)},expression:"currentConfig.showLineAddress"}}):e._e()],1),e._v(" "),n("v-col",[n("v-radio-group",{attrs:{label:"Print newest packets to the"},model:{value:e.currentConfig.newestAtTop,callback:function(n){e.$set(e.currentConfig,"newestAtTop",n)},expression:"currentConfig.newestAtTop"}},[n("v-radio",{attrs:{label:"Top",value:!0,"data-test":"history-component-settings-newest-top"}}),e._v(" "),n("v-radio",{attrs:{label:"Bottom",value:!1,"data-test":"history-component-settings-newest-bottom"}})],1)],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"History Buffer",type:"number",min:"1","persistent-hint":"",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-history"},model:{value:e.currentConfig.history,callback:function(n){e.$set(e.currentConfig,"history",n)},expression:"currentConfig.history"}}),e._v(" "),e.hasRaw?n("v-text-field",{attrs:{label:"Bytes per line",type:"number",min:"1",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-num-bytes"},model:{value:e.currentConfig.bytesPerLine,callback:function(n){e.$set(e.currentConfig,"bytesPerLine",n)},expression:"currentConfig.bytesPerLine"}}):e._e(),e._v(" "),n("v-text-field",{attrs:{label:"Packets to show",type:"number",min:"1",hint:`Maximum: ${e.currentConfig.history}`,"persistent-hint":"",rules:[e.rules.required,e.rules.min,e.rules.max],"data-test":"history-component-settings-num-packets"},model:{value:e.currentConfig.packetsToShow,callback:function(n){e.$set(e.currentConfig,"packetsToShow",n)},expression:"currentConfig.packetsToShow"}})],1)],1)],1)],1)],1),e._v(" "),n("v-btn",{staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-download"},on:{click:e.download}},[n("v-icon",[e._v("mdi-file-download")])],1),e._v(" "),n("v-btn",{staticClass:"ml-2",class:{pulse:e.paused},attrs:{color:"primary",fab:"","data-test":"history-component-play-pause"},on:{click:e.togglePlayPause}},[e.paused?n("v-icon",{attrs:{large:""}},[e._v("mdi-play")]):n("v-icon",{attrs:{large:""}},[e._v("mdi-pause")])],1)],1)],1)])],1)],1)},pe=[],he=(t(7182),t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(5250)),fe=t.n(he);const ve={props:["calculatePacketText"],mixins:[oe],data:function(){return{history:[],historyPointer:-1,filterText:null,paused:!1,pausedAt:0,pauseOffset:0,pausedHistory:[],textarea:null,displayText:"",rules:{required:e=>!!e||"Required.",min:e=>e>=1||"Minimum: 1",max:e=>parseInt(e)<=this.currentConfig.history||`Maximum: ${this.currentConfig.history}`}}},computed:{allInstantSettings:function(){return`${this.currentConfig.showLineAddress}|${this.currentConfig.showTimestamp}|${this.currentConfig.showAscii}|${this.currentConfig.newestAtTop}|${this.pauseOffset}`},allDebouncedSettings:function(){return`${this.currentConfig.bytesPerLine}|${this.currentConfig.packetsToShow}|${this.filterText}`}},watch:{latestData:function(e){e.forEach((e=>{"buffer"in e&&(e.buffer=atob(e.buffer)),this.historyPointer=++this.historyPointer%this.currentConfig.history,isNaN(this.historyPointer)&&(this.historyPointer=0),this.history[this.historyPointer]=e,this.paused||this.rebuildDisplayText()}))},paused:function(e){e?(this.pausedAt=this.historyPointer,this.pausedHistory=this.history.slice()):(this.pauseOffset=0,this.rebuildDisplayText())},allInstantSettings:function(){this.rebuildDisplayText()},allDebouncedSettings:fe().debounce((function(){this.rebuildDisplayText()}),300)},created:function(){const e={history:300,showTimestamp:!0,showAscii:!0,showLineAddress:!0,packetsToShow:1,bytesPerLine:16,newestAtTop:!0};this.currentConfig={...e,...this.currentConfig}},mounted:function(){this.textarea=this.$refs.textarea.$el.querySelectorAll("textarea")[0]},methods:{rebuildDisplayText:function(){let e=this.paused?this.pausedHistory:this.history;const n=this.paused?this.pausedAt:this.historyPointer;if(e=e.filter((e=>e)).slice(n+1,this.currentConfig.history).concat(e.slice(0,n+1)).map(this.calculatePacketText).map(this.matchesSearch),this.paused){const n=Math.max(e.length+this.pauseOffset,1);e=e.slice(0,n)}const t=Math.max(this.currentConfig.packetsToShow,1);e=e.slice(-t),this.currentConfig.newestAtTop&&(e=e.reverse());let l="\n";null!==this.filterText&&(l+="\n"),this.displayText=e.join(l)},matchesSearch:function(e){return null===this.filterText?e:e.split("\n").filter((e=>e.toLowerCase().includes(this.filterText.toLowerCase()))).join("\n")},download:function(){const e=new Blob([this.displayText],{type:"text/plain"}),n=document.createElement("a");let t=URL.createObjectURL(e);n.href=t,n.setAttribute("download",`${(0,a.A)(new Date,"yyyy_MM_dd_HH_mm_ss")}.txt`),n.click(),window.URL.revokeObjectURL(t)},pause:function(){this.paused=!0},togglePlayPause:function(){this.paused=!this.paused},stepBackward:function(){this.pause(),this.pauseOffset--},stepForward:function(){this.pause(),this.pauseOffset++}}},Ce=ve;t(2429);var ge=(0,w.A)(Ce,Ae,pe,!1,null,"0f09bf92",null);const be=ge.exports;function _e(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:13,column:6},end:{line:13,column:41}},1:{start:{line:18,column:17},end:{line:18,column:19}},2:{start:{line:19,column:6},end:{line:28,column:7}},3:{start:{line:20,column:29},end:{line:20,column:52}},4:{start:{line:21,column:32},end:{line:21,column:64}},5:{start:{line:22,column:29},end:{line:22,column:65}},6:{start:{line:23,column:24},end:{line:23,column:72}},7:{start:{line:24,column:8},end:{line:24,column:63}},8:{start:{line:25,column:8},end:{line:25,column:57}},9:{start:{line:26,column:8},end:{line:26,column:69}},10:{start:{line:27,column:8},end:{line:27,column:36}},11:{start:{line:29,column:6},end:{line:61,column:7}},12:{start:{line:31,column:8},end:{line:55,column:21}},13:{start:{line:34,column:30},end:{line:36,column:13}},14:{start:{line:35,column:14},end:{line:35,column:62}},15:{start:{line:37,column:29},end:{line:37,column:68}},16:{start:{line:38,column:23},end:{line:38,column:68}},17:{start:{line:39,column:12},end:{line:45,column:13}},18:{start:{line:40,column:14},end:{line:40,column:28}},19:{start:{line:41,column:14},end:{line:43,column:15}},20:{start:{line:42,column:16},end:{line:42,column:70}},21:{start:{line:44,column:14},end:{line:44,column:42}},22:{start:{line:47,column:12},end:{line:52,column:13}},23:{start:{line:48,column:30},end:{line:50,column:33}},24:{start:{line:51,column:14},end:{line:51,column:42}},25:{start:{line:53,column:12},end:{line:53,column:23}},26:{start:{line:57,column:8},end:{line:60,column:21}},27:{start:{line:58,column:28},end:{line:58,column:52}},28:{start:{line:59,column:25},end:{line:59,column:51}},29:{start:{line:62,column:6},end:{line:62,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:16},end:{line:12,column:17}},loc:{start:{line:12,column:32},end:{line:14,column:5}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:17,column:25},end:{line:17,column:26}},loc:{start:{line:17,column:43},end:{line:63,column:5}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:32,column:15},end:{line:32,column:16}},loc:{start:{line:32,column:37},end:{line:54,column:11}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:34,column:44},end:{line:34,column:45}},loc:{start:{line:35,column:14},end:{line:35,column:62}},line:35},4:{name:"(anonymous_4)",decl:{start:{line:41,column:42},end:{line:41,column:43}},loc:{start:{line:42,column:16},end:{line:42,column:70}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:58,column:18},end:{line:58,column:19}},loc:{start:{line:58,column:28},end:{line:58,column:52}},line:58},6:{name:"(anonymous_6)",decl:{start:{line:59,column:15},end:{line:59,column:16}},loc:{start:{line:59,column:25},end:{line:59,column:51}},line:59}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:28,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:28,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:19},1:{loc:{start:{line:29,column:6},end:{line:61,column:7}},type:"if",locations:[{start:{line:29,column:6},end:{line:61,column:7}},{start:{line:56,column:13},end:{line:61,column:7}}],line:29},2:{loc:{start:{line:39,column:12},end:{line:45,column:13}},type:"if",locations:[{start:{line:39,column:12},end:{line:45,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39},3:{loc:{start:{line:47,column:12},end:{line:52,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:52,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:47}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["DumpComponent.vue"],names:[],mappings:";AAiCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DumpComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <history-component\n ref=\"history\"\n :config=\"currentConfig\"\n :packets=\"currentPackets\"\n :calculatePacketText=\"calculatePacketText\"\n @config=\"(config) => (currentConfig = config)\"\n ></history-component>\n</template>\n\n<script>\nimport HistoryComponent from '@openc3/tool-common/src/components/dataviewer/HistoryComponent'\nimport Component from '@openc3/tool-common/src/components/dataviewer/Component'\n\nexport default {\n mixins: [Component],\n components: {\n HistoryComponent,\n },\n watch: {\n // Hook the HistoryComponent's receive method to our latestData being updated\n latestData: function (data) {\n this.$refs['history'].receive(data)\n },\n },\n methods: {\n calculatePacketText: function (packet) {\n let text = ''\n if (this.currentConfig.showTimestamp) {\n const milliseconds = packet.__time / 1000000\n const receivedSeconds = (milliseconds / 1000).toFixed(7)\n const receivedDate = new Date(milliseconds).toISOString()\n let timestamp = '********************************************\\n'\n timestamp += `* Received seconds: ${receivedSeconds}\\n`\n timestamp += `* Received time: ${receivedDate}\\n`\n timestamp += '********************************************\\n'\n text = `${timestamp}${text}`\n }\n if ('buffer' in packet) {\n // Split its buffer into lines of the selected length\n text += _.chunk([...packet.buffer], this.currentConfig.bytesPerLine)\n .map((lineBytes, index) => {\n // Map each line into ASCII or hex values\n let mappedBytes = lineBytes.map((byte) =>\n byte.charCodeAt(0).toString(16).padStart(2, '0'),\n )\n let lineLength = this.currentConfig.bytesPerLine * 3 - 1\n let line = mappedBytes.join(' ').padEnd(lineLength, ' ')\n if (this.currentConfig.showAscii) {\n line += ' '\n mappedBytes = lineBytes.map((byte) =>\n byte.replaceAll(/\\n/g, '\\\\n').replaceAll(/\\r/g, '\\\\r'),\n )\n line += mappedBytes.join('')\n }\n // Prepend the line address if needed\n if (this.currentConfig.showLineAddress) {\n const address = (index * this.currentConfig.bytesPerLine)\n .toString(16)\n .padStart(8, '0')\n line = `${address}: ${line}`\n }\n return line\n })\n .join('\\n') // end of one line\n } else {\n text += Object.keys(packet)\n .filter((item) => item.slice(0, 2) != '__')\n .map((item) => `${item}: ${packet[item]}`)\n .join('\\n')\n }\n return text\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return _e=function(){return a},a}_e();const ye={mixins:[oe],components:{HistoryComponent:be},watch:{latestData:function(e){_e().f[0]++,_e().s[0]++,this.$refs["history"].receive(e)}},methods:{calculatePacketText:function(e){_e().f[1]++;let n=(_e().s[1]++,"");if(_e().s[2]++,this.currentConfig.showTimestamp){_e().b[0][0]++;const t=(_e().s[3]++,e.__time/1e6),l=(_e().s[4]++,(t/1e3).toFixed(7)),o=(_e().s[5]++,new Date(t).toISOString());let i=(_e().s[6]++,"********************************************\n");_e().s[7]++,i+=`* Received seconds: ${l}\n`,_e().s[8]++,i+=`* Received time: ${o}\n`,_e().s[9]++,i+="********************************************\n",_e().s[10]++,n=`${i}${n}`}else _e().b[0][1]++;return _e().s[11]++,"buffer"in e?(_e().b[1][0]++,_e().s[12]++,n+=_.chunk([...e.buffer],this.currentConfig.bytesPerLine).map(((e,n)=>{_e().f[2]++;let t=(_e().s[13]++,e.map((e=>(_e().f[3]++,_e().s[14]++,e.charCodeAt(0).toString(16).padStart(2,"0"))))),l=(_e().s[15]++,3*this.currentConfig.bytesPerLine-1),o=(_e().s[16]++,t.join(" ").padEnd(l," "));if(_e().s[17]++,this.currentConfig.showAscii?(_e().b[2][0]++,_e().s[18]++,o+=" ",_e().s[19]++,t=e.map((e=>(_e().f[4]++,_e().s[20]++,e.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")))),_e().s[21]++,o+=t.join("")):_e().b[2][1]++,_e().s[22]++,this.currentConfig.showLineAddress){_e().b[3][0]++;const e=(_e().s[23]++,(n*this.currentConfig.bytesPerLine).toString(16).padStart(8,"0"));_e().s[24]++,o=`${e}: ${o}`}else _e().b[3][1]++;return _e().s[25]++,o})).join("\n")):(_e().b[1][1]++,_e().s[26]++,n+=Object.keys(e).filter((e=>(_e().f[5]++,_e().s[27]++,"__"!=e.slice(0,2)))).map((n=>(_e().f[6]++,_e().s[28]++,`${n}: ${e[n]}`))).join("\n")),_e().s[29]++,n}}},ke=ye;var we=(0,w.A)(ke,me,de,!1,null,null,null);const Te=we.exports;function xe(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="ce0d8f23c66231f6f586625ed5b044d500aadf21",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:27,column:4},end:{line:94,column:5}},1:{start:{line:44,column:29},end:{line:44,column:50}},2:{start:{line:59,column:16},end:{line:59,column:38}},3:{start:{line:66,column:16},end:{line:66,column:38}},4:{start:{line:73,column:16},end:{line:73,column:34}},5:{start:{line:74,column:16},end:{line:74,column:38}},6:{start:{line:98,column:6},end:{line:104,column:7}},7:{start:{line:107,column:6},end:{line:109,column:8}},8:{start:{line:108,column:8},end:{line:108,column:26}},9:{start:{line:114,column:6},end:{line:114,column:23}},10:{start:{line:120,column:6},end:{line:122,column:7}},11:{start:{line:121,column:8},end:{line:121,column:20}},12:{start:{line:126,column:8},end:{line:126,column:43}},13:{start:{line:133,column:4},end:{line:151,column:6}},14:{start:{line:134,column:6},end:{line:150,column:8}},15:{start:{line:136,column:22},end:{line:136,column:56}},16:{start:{line:137,column:8},end:{line:149,column:9}},17:{start:{line:138,column:10},end:{line:148,column:12}},18:{start:{line:139,column:24},end:{line:139,column:43}},19:{start:{line:140,column:12},end:{line:143,column:13}},20:{start:{line:141,column:14},end:{line:141,column:50}},21:{start:{line:142,column:14},end:{line:142,column:68}},22:{start:{line:144,column:12},end:{line:147,column:14}},23:{start:{line:152,column:4},end:{line:152,column:20}},24:{start:{line:156,column:4},end:{line:166,column:5}},25:{start:{line:157,column:6},end:{line:157,column:27}},26:{start:{line:158,column:6},end:{line:158,column:60}},27:{start:{line:160,column:19},end:{line:160,column:43}},28:{start:{line:162,column:6},end:{line:165,column:7}},29:{start:{line:163,column:8},end:{line:163,column:29}},30:{start:{line:164,column:8},end:{line:164,column:28}},31:{start:{line:169,column:4},end:{line:171,column:5}},32:{start:{line:170,column:6},end:{line:170,column:37}},33:{start:{line:172,column:4},end:{line:172,column:27}},34:{start:{line:176,column:6},end:{line:176,column:75}},35:{start:{line:179,column:6},end:{line:179,column:53}},36:{start:{line:179,column:27},end:{line:179,column:53}},37:{start:{line:182,column:6},end:{line:182,column:28}},38:{start:{line:184,column:6},end:{line:188,column:7}},39:{start:{line:185,column:8},end:{line:185,column:62}},40:{start:{line:186,column:8},end:{line:186,column:27}},41:{start:{line:187,column:8},end:{line:187,column:14}},42:{start:{line:190,column:6},end:{line:194,column:7}},43:{start:{line:191,column:8},end:{line:191,column:71}},44:{start:{line:192,column:8},end:{line:192,column:27}},45:{start:{line:193,column:8},end:{line:193,column:14}},46:{start:{line:196,column:6},end:{line:204,column:7}},47:{start:{line:197,column:8},end:{line:202,column:24}},48:{start:{line:203,column:8},end:{line:203,column:27}},49:{start:{line:205,column:6},end:{line:205,column:25}},50:{start:{line:206,column:6},end:{line:206,column:37}},51:{start:{line:209,column:6},end:{line:209,column:26}},52:{start:{line:210,column:6},end:{line:210,column:42}},53:{start:{line:213,column:6},end:{line:235,column:10}},54:{start:{line:215,column:30},end:{line:215,column:49}},55:{start:{line:217,column:12},end:{line:217,column:32}},56:{start:{line:218,column:12},end:{line:218,column:42}},57:{start:{line:221,column:12},end:{line:221,column:23}},58:{start:{line:222,column:12},end:{line:222,column:33}},59:{start:{line:223,column:12},end:{line:223,column:72}},60:{start:{line:224,column:12},end:{line:224,column:31}},61:{start:{line:225,column:12},end:{line:225,column:41}},62:{start:{line:228,column:12},end:{line:228,column:68}},63:{start:{line:229,column:12},end:{line:229,column:31}},64:{start:{line:233,column:10},end:{line:233,column:42}},65:{start:{line:234,column:10},end:{line:234,column:59}},66:{start:{line:234,column:28},end:{line:234,column:59}},67:{start:{line:238,column:6},end:{line:238,column:42}},68:{start:{line:240,column:25},end:{line:247,column:12}},69:{start:{line:241,column:8},end:{line:245,column:9}},70:{start:{line:242,column:10},end:{line:242,column:42}},71:{start:{line:244,column:10},end:{line:244,column:40}},72:{start:{line:246,column:8},end:{line:246,column:21}},73:{start:{line:248,column:6},end:{line:251,column:8}},74:{start:{line:250,column:8},end:{line:250,column:57}},75:{start:{line:252,column:6},end:{line:266,column:7}},76:{start:{line:254,column:10},end:{line:256,column:11}},77:{start:{line:255,column:12},end:{line:255,column:34}},78:{start:{line:257,column:10},end:{line:264,column:12}},79:{start:{line:258,column:12},end:{line:263,column:14}},80:{start:{line:269,column:6},end:{line:269,column:42}},81:{start:{line:270,column:6},end:{line:276,column:7}},82:{start:{line:271,column:8},end:{line:275,column:10}},83:{start:{line:279,column:6},end:{line:279,column:29}},84:{start:{line:280,column:6},end:{line:284,column:7}},85:{start:{line:281,column:8},end:{line:281,column:40}},86:{start:{line:282,column:8},end:{line:282,column:25}},87:{start:{line:283,column:8},end:{line:283,column:14}},88:{start:{line:285,column:6},end:{line:288,column:7}},89:{start:{line:286,column:8},end:{line:286,column:19}},90:{start:{line:287,column:8},end:{line:287,column:14}},91:{start:{line:289,column:29},end:{line:296,column:12}},92:{start:{line:290,column:8},end:{line:294,column:9}},93:{start:{line:291,column:10},end:{line:291,column:46}},94:{start:{line:293,column:10},end:{line:293,column:44}},95:{start:{line:295,column:8},end:{line:295,column:21}},96:{start:{line:297,column:6},end:{line:305,column:8}},97:{start:{line:298,column:8},end:{line:304,column:10}},98:{start:{line:299,column:27},end:{line:299,column:55}},99:{start:{line:300,column:10},end:{line:300,column:49}},100:{start:{line:301,column:10},end:{line:303,column:11}},101:{start:{line:302,column:12},end:{line:302,column:70}},102:{start:{line:306,column:6},end:{line:306,column:56}},103:{start:{line:309,column:16},end:{line:309,column:34}},104:{start:{line:310,column:6},end:{line:314,column:7}},105:{start:{line:311,column:8},end:{line:311,column:20}},106:{start:{line:313,column:8},end:{line:313,column:20}},107:{start:{line:315,column:6},end:{line:315,column:59}},108:{start:{line:316,column:6},end:{line:316,column:65}},109:{start:{line:316,column:35},end:{line:316,column:65}},110:{start:{line:317,column:6},end:{line:317,column:16}},111:{start:{line:320,column:23},end:{line:320,column:52}},112:{start:{line:321,column:16},end:{line:321,column:89}},113:{start:{line:322,column:6},end:{line:322,column:65}},114:{start:{line:322,column:35},end:{line:322,column:65}},115:{start:{line:323,column:6},end:{line:323,column:16}},116:{start:{line:326,column:6},end:{line:326,column:17}},117:{start:{line:327,column:6},end:{line:327,column:31}},118:{start:{line:328,column:6},end:{line:328,column:27}},119:{start:{line:331,column:6},end:{line:341,column:8}},120:{start:{line:332,column:8},end:{line:332,column:19}},121:{start:{line:333,column:8},end:{line:333,column:33}},122:{start:{line:334,column:8},end:{line:334,column:28}},123:{start:{line:338,column:8},end:{line:340,column:9}},124:{start:{line:339,column:10},end:{line:339,column:22}},125:{start:{line:344,column:6},end:{line:344,column:44}},126:{start:{line:347,column:6},end:{line:347,column:28}},127:{start:{line:348,column:6},end:{line:348,column:40}},128:{start:{line:351,column:6},end:{line:351,column:32}},129:{start:{line:352,column:6},end:{line:352,column:26}},130:{start:{line:355,column:6},end:{line:355,column:25}},131:{start:{line:356,column:6},end:{line:356,column:28}},132:{start:{line:357,column:6},end:{line:357,column:30}},133:{start:{line:358,column:6},end:{line:358,column:35}},134:{start:{line:359,column:6},end:{line:359,column:35}},135:{start:{line:360,column:6},end:{line:362,column:8}},136:{start:{line:361,column:8},end:{line:361,column:31}},137:{start:{line:365,column:6},end:{line:365,column:61}},138:{start:{line:366,column:6},end:{line:366,column:31}},139:{start:{line:369,column:6},end:{line:369,column:61}},140:{start:{line:370,column:6},end:{line:370,column:32}},141:{start:{line:373,column:6},end:{line:377,column:7}},142:{start:{line:381,column:17},end:{line:381,column:38}},143:{start:{line:382,column:22},end:{line:382,column:43}},144:{start:{line:383,column:6},end:{line:390,column:7}},145:{start:{line:385,column:8},end:{line:385,column:33}},146:{start:{line:387,column:10},end:{line:388,column:54}},147:{start:{line:389,column:8},end:{line:389,column:35}},148:{start:{line:391,column:6},end:{line:400,column:8}},149:{start:{line:401,column:6},end:{line:401,column:20}},150:{start:{line:402,column:6},end:{line:402,column:47}},151:{start:{line:404,column:6},end:{line:406,column:7}},152:{start:{line:405,column:8},end:{line:405,column:52}},153:{start:{line:407,column:6},end:{line:407,column:31}},154:{start:{line:410,column:6},end:{line:410,column:41}},155:{start:{line:414,column:25},end:{line:414,column:27}},156:{start:{line:415,column:6},end:{line:419,column:8}},157:{start:{line:416,column:8},end:{line:418,column:9}},158:{start:{line:417,column:10},end:{line:417,column:77}},159:{start:{line:421,column:21},end:{line:423,column:7}},160:{start:{line:422,column:20},end:{line:422,column:71}},161:{start:{line:424,column:6},end:{line:426,column:7}},162:{start:{line:425,column:8},end:{line:425,column:52}},163:{start:{line:427,column:6},end:{line:427,column:42}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:9},end:{line:95,column:3}},line:26},1:{name:"(anonymous_1)",decl:{start:{line:44,column:18},end:{line:44,column:19}},loc:{start:{line:44,column:29},end:{line:44,column:50}},line:44},2:{name:"(anonymous_2)",decl:{start:{line:58,column:23},end:{line:58,column:24}},loc:{start:{line:58,column:29},end:{line:60,column:15}},line:58},3:{name:"(anonymous_3)",decl:{start:{line:65,column:23},end:{line:65,column:24}},loc:{start:{line:65,column:29},end:{line:67,column:15}},line:65},4:{name:"(anonymous_4)",decl:{start:{line:72,column:23},end:{line:72,column:24}},loc:{start:{line:72,column:29},end:{line:75,column:15}},line:72},5:{name:"(anonymous_5)",decl:{start:{line:97,column:18},end:{line:97,column:19}},loc:{start:{line:97,column:30},end:{line:105,column:5}},line:97},6:{name:"(anonymous_6)",decl:{start:{line:106,column:16},end:{line:106,column:17}},loc:{start:{line:106,column:28},end:{line:110,column:5}},line:106},7:{name:"(anonymous_7)",decl:{start:{line:107,column:38},end:{line:107,column:39}},loc:{start:{line:107,column:47},end:{line:109,column:7}},line:107},8:{name:"(anonymous_8)",decl:{start:{line:113,column:26},end:{line:113,column:27}},loc:{start:{line:113,column:38},end:{line:115,column:5}},line:113},9:{name:"(anonymous_9)",decl:{start:{line:119,column:14},end:{line:119,column:15}},loc:{start:{line:119,column:35},end:{line:123,column:5}},line:119},10:{name:"(anonymous_10)",decl:{start:{line:125,column:15},end:{line:125,column:16}},loc:{start:{line:125,column:27},end:{line:127,column:7}},line:125},11:{name:"(anonymous_11)",decl:{start:{line:131,column:2},end:{line:131,column:3}},loc:{start:{line:131,column:12},end:{line:153,column:3}},line:131},12:{name:"(anonymous_12)",decl:{start:{line:133,column:40},end:{line:133,column:41}},loc:{start:{line:133,column:54},end:{line:151,column:5}},line:133},13:{name:"(anonymous_13)",decl:{start:{line:134,column:28},end:{line:134,column:29}},loc:{start:{line:134,column:40},end:{line:150,column:7}},line:134},14:{name:"(anonymous_14)",decl:{start:{line:138,column:56},end:{line:138,column:57}},loc:{start:{line:138,column:70},end:{line:148,column:11}},line:138},15:{name:"(anonymous_15)",decl:{start:{line:154,column:11},end:{line:154,column:12}},loc:{start:{line:154,column:23},end:{line:167,column:3}},line:154},16:{name:"(anonymous_16)",decl:{start:{line:168,column:13},end:{line:168,column:14}},loc:{start:{line:168,column:25},end:{line:173,column:3}},line:168},17:{name:"(anonymous_17)",decl:{start:{line:175,column:17},end:{line:175,column:18}},loc:{start:{line:175,column:35},end:{line:177,column:5}},line:175},18:{name:"(anonymous_18)",decl:{start:{line:178,column:16},end:{line:178,column:17}},loc:{start:{line:178,column:28},end:{line:180,column:5}},line:178},19:{name:"(anonymous_19)",decl:{start:{line:181,column:11},end:{line:181,column:12}},loc:{start:{line:181,column:23},end:{line:207,column:5}},line:181},20:{name:"(anonymous_20)",decl:{start:{line:208,column:10},end:{line:208,column:11}},loc:{start:{line:208,column:22},end:{line:211,column:5}},line:208},21:{name:"(anonymous_21)",decl:{start:{line:212,column:15},end:{line:212,column:16}},loc:{start:{line:212,column:27},end:{line:236,column:5}},line:212},22:{name:"(anonymous_22)",decl:{start:{line:215,column:20},end:{line:215,column:21}},loc:{start:{line:215,column:30},end:{line:215,column:49}},line:215},23:{name:"(anonymous_23)",decl:{start:{line:216,column:21},end:{line:216,column:22}},loc:{start:{line:216,column:27},end:{line:219,column:11}},line:216},24:{name:"(anonymous_24)",decl:{start:{line:220,column:24},end:{line:220,column:25}},loc:{start:{line:220,column:30},end:{line:226,column:11}},line:220},25:{name:"(anonymous_25)",decl:{start:{line:227,column:20},end:{line:227,column:21}},loc:{start:{line:227,column:26},end:{line:230,column:11}},line:227},26:{name:"(anonymous_26)",decl:{start:{line:232,column:14},end:{line:232,column:15}},loc:{start:{line:232,column:32},end:{line:235,column:9}},line:232},27:{name:"(anonymous_27)",decl:{start:{line:237,column:30},end:{line:237,column:31}},loc:{start:{line:237,column:49},end:{line:267,column:5}},line:237},28:{name:"(anonymous_28)",decl:{start:{line:240,column:40},end:{line:240,column:41}},loc:{start:{line:240,column:60},end:{line:247,column:7}},line:240},29:{name:"(anonymous_29)",decl:{start:{line:248,column:38},end:{line:248,column:39}},loc:{start:{line:248,column:48},end:{line:251,column:7}},line:248},30:{name:"(anonymous_30)",decl:{start:{line:253,column:8},end:{line:253,column:9}},loc:{start:{line:253,column:23},end:{line:265,column:9}},line:253},31:{name:"(anonymous_31)",decl:{start:{line:257,column:42},end:{line:257,column:43}},loc:{start:{line:257,column:52},end:{line:264,column:11}},line:257},32:{name:"(anonymous_32)",decl:{start:{line:268,column:35},end:{line:268,column:36}},loc:{start:{line:268,column:54},end:{line:277,column:5}},line:268},33:{name:"(anonymous_33)",decl:{start:{line:278,column:14},end:{line:278,column:15}},loc:{start:{line:278,column:32},end:{line:307,column:5}},line:278},34:{name:"(anonymous_34)",decl:{start:{line:289,column:43},end:{line:289,column:44}},loc:{start:{line:289,column:63},end:{line:296,column:7}},line:289},35:{name:"(anonymous_35)",decl:{start:{line:297,column:31},end:{line:297,column:32}},loc:{start:{line:297,column:43},end:{line:305,column:7}},line:297},36:{name:"(anonymous_36)",decl:{start:{line:298,column:28},end:{line:298,column:29}},loc:{start:{line:298,column:46},end:{line:304,column:9}},line:298},37:{name:"(anonymous_37)",decl:{start:{line:308,column:15},end:{line:308,column:16}},loc:{start:{line:308,column:33},end:{line:318,column:5}},line:308},38:{name:"(anonymous_38)",decl:{start:{line:319,column:21},end:{line:319,column:22}},loc:{start:{line:319,column:39},end:{line:324,column:5}},line:319},39:{name:"(anonymous_39)",decl:{start:{line:325,column:17},end:{line:325,column:18}},loc:{start:{line:325,column:29},end:{line:329,column:5}},line:325},40:{name:"(anonymous_40)",decl:{start:{line:330,column:23},end:{line:330,column:24}},loc:{start:{line:330,column:55},end:{line:342,column:5}},line:330},41:{name:"(anonymous_41)",decl:{start:{line:331,column:40},end:{line:331,column:41}},loc:{start:{line:331,column:52},end:{line:341,column:7}},line:331},42:{name:"(anonymous_42)",decl:{start:{line:343,column:23},end:{line:343,column:24}},loc:{start:{line:343,column:39},end:{line:345,column:5}},line:343},43:{name:"(anonymous_43)",decl:{start:{line:346,column:12},end:{line:346,column:13}},loc:{start:{line:346,column:24},end:{line:349,column:5}},line:346},44:{name:"(anonymous_44)",decl:{start:{line:350,column:21},end:{line:350,column:22}},loc:{start:{line:350,column:33},end:{line:353,column:5}},line:350},45:{name:"(anonymous_45)",decl:{start:{line:354,column:13},end:{line:354,column:14}},loc:{start:{line:354,column:37},end:{line:363,column:5}},line:354},46:{name:"(anonymous_46)",decl:{start:{line:360,column:21},end:{line:360,column:22}},loc:{start:{line:360,column:27},end:{line:362,column:7}},line:360},47:{name:"(anonymous_47)",decl:{start:{line:364,column:23},end:{line:364,column:24}},loc:{start:{line:364,column:35},end:{line:367,column:5}},line:364},48:{name:"(anonymous_48)",decl:{start:{line:368,column:15},end:{line:368,column:16}},loc:{start:{line:368,column:27},end:{line:371,column:5}},line:368},49:{name:"(anonymous_49)",decl:{start:{line:372,column:20},end:{line:372,column:21}},loc:{start:{line:372,column:37},end:{line:378,column:5}},line:372},50:{name:"(anonymous_50)",decl:{start:{line:379,column:18},end:{line:379,column:19}},loc:{start:{line:379,column:35},end:{line:408,column:5}},line:379},51:{name:"(anonymous_51)",decl:{start:{line:409,column:24},end:{line:409,column:25}},loc:{start:{line:409,column:36},end:{line:411,column:5}},line:409},52:{name:"(anonymous_52)",decl:{start:{line:412,column:21},end:{line:412,column:22}},loc:{start:{line:412,column:41},end:{line:428,column:5}},line:412},53:{name:"(anonymous_53)",decl:{start:{line:415,column:31},end:{line:415,column:32}},loc:{start:{line:415,column:43},end:{line:419,column:7}},line:415},54:{name:"(anonymous_54)",decl:{start:{line:422,column:8},end:{line:422,column:9}},loc:{start:{line:422,column:20},end:{line:422,column:71}},line:422}},branchMap:{0:{loc:{start:{line:44,column:29},end:{line:44,column:50}},type:"binary-expr",locations:[{start:{line:44,column:29},end:{line:44,column:36}},{start:{line:44,column:40},end:{line:44,column:50}}],line:44},1:{loc:{start:{line:101,column:18},end:{line:103,column:16}},type:"cond-expr",locations:[{start:{line:102,column:12},end:{line:102,column:77}},{start:{line:103,column:12},end:{line:103,column:16}}],line:101},2:{loc:{start:{line:120,column:6},end:{line:122,column:7}},type:"if",locations:[{start:{line:120,column:6},end:{line:122,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:120},3:{loc:{start:{line:120,column:10},end:{line:120,column:43}},type:"binary-expr",locations:[{start:{line:120,column:10},end:{line:120,column:25}},{start:{line:120,column:29},end:{line:120,column:43}}],line:120},4:{loc:{start:{line:137,column:8},end:{line:149,column:9}},type:"if",locations:[{start:{line:137,column:8},end:{line:149,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:137},5:{loc:{start:{line:140,column:12},end:{line:143,column:13}},type:"if",locations:[{start:{line:140,column:12},end:{line:143,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:140},6:{loc:{start:{line:156,column:4},end:{line:166,column:5}},type:"if",locations:[{start:{line:156,column:4},end:{line:166,column:5}},{start:{line:159,column:11},end:{line:166,column:5}}],line:156},7:{loc:{start:{line:156,column:8},end:{line:156,column:53}},type:"binary-expr",locations:[{start:{line:156,column:8},end:{line:156,column:25}},{start:{line:156,column:29},end:{line:156,column:53}}],line:156},8:{loc:{start:{line:162,column:6},end:{line:165,column:7}},type:"if",locations:[{start:{line:162,column:6},end:{line:165,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:162},9:{loc:{start:{line:169,column:4},end:{line:171,column:5}},type:"if",locations:[{start:{line:169,column:4},end:{line:171,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:169},10:{loc:{start:{line:179,column:6},end:{line:179,column:53}},type:"if",locations:[{start:{line:179,column:6},end:{line:179,column:53}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:179},11:{loc:{start:{line:184,column:6},end:{line:188,column:7}},type:"if",locations:[{start:{line:184,column:6},end:{line:188,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:184},12:{loc:{start:{line:190,column:6},end:{line:194,column:7}},type:"if",locations:[{start:{line:190,column:6},end:{line:194,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:190},13:{loc:{start:{line:196,column:6},end:{line:204,column:7}},type:"if",locations:[{start:{line:196,column:6},end:{line:204,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:196},14:{loc:{start:{line:234,column:10},end:{line:234,column:59}},type:"if",locations:[{start:{line:234,column:10},end:{line:234,column:59}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:234},15:{loc:{start:{line:238,column:16},end:{line:238,column:42}},type:"binary-expr",locations:[{start:{line:238,column:16},end:{line:238,column:23}},{start:{line:238,column:27},end:{line:238,column:42}}],line:238},16:{loc:{start:{line:241,column:8},end:{line:245,column:9}},type:"if",locations:[{start:{line:241,column:8},end:{line:245,column:9}},{start:{line:243,column:15},end:{line:245,column:9}}],line:241},17:{loc:{start:{line:254,column:10},end:{line:256,column:11}},type:"if",locations:[{start:{line:254,column:10},end:{line:256,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:254},18:{loc:{start:{line:269,column:16},end:{line:269,column:42}},type:"binary-expr",locations:[{start:{line:269,column:16},end:{line:269,column:23}},{start:{line:269,column:27},end:{line:269,column:42}}],line:269},19:{loc:{start:{line:270,column:6},end:{line:276,column:7}},type:"if",locations:[{start:{line:270,column:6},end:{line:276,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:270},20:{loc:{start:{line:280,column:6},end:{line:284,column:7}},type:"if",locations:[{start:{line:280,column:6},end:{line:284,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:280},21:{loc:{start:{line:285,column:6},end:{line:288,column:7}},type:"if",locations:[{start:{line:285,column:6},end:{line:288,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:285},22:{loc:{start:{line:290,column:8},end:{line:294,column:9}},type:"if",locations:[{start:{line:290,column:8},end:{line:294,column:9}},{start:{line:292,column:15},end:{line:294,column:9}}],line:290},23:{loc:{start:{line:301,column:10},end:{line:303,column:11}},type:"if",locations:[{start:{line:301,column:10},end:{line:303,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:301},24:{loc:{start:{line:310,column:6},end:{line:314,column:7}},type:"if",locations:[{start:{line:310,column:6},end:{line:314,column:7}},{start:{line:312,column:13},end:{line:314,column:7}}],line:310},25:{loc:{start:{line:316,column:6},end:{line:316,column:65}},type:"if",locations:[{start:{line:316,column:6},end:{line:316,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:316},26:{loc:{start:{line:322,column:6},end:{line:322,column:65}},type:"if",locations:[{start:{line:322,column:6},end:{line:322,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:322},27:{loc:{start:{line:330,column:39},end:{line:330,column:53}},type:"default-arg",locations:[{start:{line:330,column:48},end:{line:330,column:53}}],line:330},28:{loc:{start:{line:338,column:8},end:{line:340,column:9}},type:"if",locations:[{start:{line:338,column:8},end:{line:340,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:338},29:{loc:{start:{line:383,column:6},end:{line:390,column:7}},type:"if",locations:[{start:{line:383,column:6},end:{line:390,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:383},30:{loc:{start:{line:404,column:6},end:{line:406,column:7}},type:"if",locations:[{start:{line:404,column:6},end:{line:406,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:404},31:{loc:{start:{line:416,column:8},end:{line:418,column:9}},type:"if",locations:[{start:{line:416,column:8},end:{line:418,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:416},32:{loc:{start:{line:424,column:6},end:{line:426,column:7}},type:"if",locations:[{start:{line:424,column:6},end:{line:426,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:424}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0]},inputSourceMap:{version:3,sources:["DataViewer.vue"],names:[],mappings:";AAyPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DataViewer.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-container>\n <v-row dense>\n <v-col>\n <v-text-field\n v-model="startDate"\n label="Start Date"\n type="date"\n :rules="[rules.required]"\n data-test="start-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="startTime"\n label="Start Time"\n type="time"\n step="1"\n :rules="[rules.required]"\n data-test="start-time"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endDate"\n label="End Date"\n type="date"\n :rules="endTime ? [rules.required] : []"\n data-test="end-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endTime"\n label="End Time"\n type="time"\n step="1"\n :rules="endDate ? [rules.required] : []"\n data-test="end-time"\n />\n </v-col>\n <v-col cols="auto" class="pt-4">\n <v-btn\n v-if="running"\n color="primary"\n width="100"\n data-test="stop-button"\n @click="stop"\n >\n Stop\n </v-btn>\n <v-btn\n v-else\n :disabled="!canStart"\n color="primary"\n width="100"\n class="pulse-button"\n data-test="start-button"\n @click="start"\n >\n Start\n </v-btn>\n </v-col>\n </v-row>\n <div class="mb-3" v-show="warning || error || connectionFailure">\n <v-alert type="warning" v-model="warning" dismissible>\n {{ warningText }}\n </v-alert>\n <v-alert type="error" v-model="error" dismissible>\n {{ errorText }}\n </v-alert>\n <v-alert type="error" v-model="connectionFailure">\n OpenC3 backend connection failed.\n </v-alert>\n </div>\n </v-container>\n <v-tabs ref="tabs" v-model="curTab">\n <v-tab\n v-for="(tab, index) in config.tabs"\n :key="index"\n @contextmenu="(event) => tabMenu(event, index)"\n data-test="tab"\n >\n {{ tab.tabName }}\n </v-tab>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n class="mt-2 ml-2"\n @click="addTab"\n v-bind="attrs"\n v-on="on"\n :class="config.tabs.length === 0 ? \'pulse-button\' : \'\'"\n data-test="new-tab"\n >\n <v-icon>mdi-tab-plus</v-icon>\n </v-btn>\n </template>\n <span>Add Component</span>\n </v-tooltip>\n </v-tabs>\n <v-tabs-items v-model="curTab">\n <v-tab-item v-for="(tab, index) in config.tabs" :key="tab.ref" eager>\n <keep-alive>\n <v-card flat>\n <v-divider />\n <v-card-title class="pa-3">\n <span v-text="tab.name" />\n <v-spacer />\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n @click="() => deleteComponent(index)"\n v-bind="attrs"\n v-on="on"\n data-test="delete-component"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </template>\n <span>Remove Component</span>\n </v-tooltip>\n </v-card-title>\n <component\n v-on="$listeners"\n :is="tab.type"\n :name="tab.component"\n :ref="tab.ref"\n :config="tab.config"\n :packets="tab.packets"\n @config="(config) => (tab.config = config)"\n />\n <v-card-text v-if="receivedPackets.length === 0">\n No data! Make sure to hit the START button!\n </v-card-text>\n </v-card></keep-alive\n >\n </v-tab-item>\n </v-tabs-items>\n <v-card v-if="!config.tabs.length">\n <v-card-title>You\'re not viewing any packets</v-card-title>\n <v-card-text>Click the new tab icon to start.</v-card-text>\n </v-card>\n </v-card>\n \x3c!-- Dialogs for opening and saving configs --\x3e\n <open-config-dialog\n v-if="openConfig"\n v-model="openConfig"\n :configKey="configKey"\n @success="openConfiguration"\n />\n <save-config-dialog\n v-if="saveConfig"\n v-model="saveConfig"\n :configKey="configKey"\n @success="saveConfiguration"\n />\n \x3c!-- Dialog for renaming a new tab --\x3e\n <v-dialog v-model="tabNameDialog" width="600">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> DataViewer: Rename Tab</span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-text-field\n v-model="newTabName"\n label="Tab name"\n data-test="rename-tab-input"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-rename"\n @click="cancelTabRename"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="rename"\n :disabled="!newTabName"\n @click="renameTab"\n >\n Rename\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n \x3c!-- Menu for right clicking on a tab --\x3e\n <v-menu\n v-model="showTabMenu"\n :position-x="tabMenuX"\n :position-y="tabMenuY"\n absolute\n offset-y\n >\n <v-list>\n <v-list-item data-test="context-menu-rename">\n <v-list-item-title style="cursor: pointer" @click="openTabNameDialog">\n Rename\n </v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n <add-component-dialog\n :components="components"\n v-if="showAddComponentDialog"\n v-model="showAddComponentDialog"\n @add="addComponent"\n @cancel="cancelAddComponent"\n />\n </div>\n</template>\n\n<script>\nimport { format } from \'date-fns\'\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport Config from \'@openc3/tool-common/src/components/config/Config\'\nimport OpenConfigDialog from \'@openc3/tool-common/src/components/config/OpenConfigDialog\'\nimport SaveConfigDialog from \'@openc3/tool-common/src/components/config/SaveConfigDialog\'\nimport Cable from \'@openc3/tool-common/src/services/cable.js\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\n\nimport AddComponentDialog from \'@/tools/DataViewer/AddComponentDialog\'\n// DynamicComponent is how we load custom user components\nimport DynamicComponent from \'@/tools/DataViewer/DynamicComponent\'\n// Import the built-in DataViewer components\nimport DumpComponent from \'@/tools/DataViewer/DumpComponent\'\n\nexport default {\n components: {\n AddComponentDialog,\n OpenConfigDialog,\n SaveConfigDialog,\n DynamicComponent,\n DumpComponent,\n TopBar,\n },\n mixins: [Config],\n data() {\n return {\n title: \'Data Viewer\',\n configKey: \'data_viewer\',\n // Initialize with all built-in components\n components: [{ label: \'COSMOS Raw/Decom\', value: \'DumpComponent\' }],\n counter: 0,\n componentType: null,\n componentName: null,\n openConfig: false,\n saveConfig: false,\n cable: new Cable(),\n subscription: null,\n startDate: format(new Date(), \'yyyy-MM-dd\'),\n startTime: format(new Date(), \'HH:mm:ss\'),\n endDate: \'\',\n endTime: \'\',\n rules: {\n required: (value) => !!value || \'Required\',\n },\n autoStart: false,\n canStart: false,\n running: false,\n curTab: null,\n receivedPackets: {},\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Open Configuration\',\n icon: \'mdi-folder-open\',\n command: () => {\n this.openConfig = true\n },\n },\n {\n label: \'Save Configuration\',\n icon: \'mdi-content-save\',\n command: () => {\n this.saveConfig = true\n },\n },\n {\n label: \'Reset Configuration\',\n icon: \'mdi-monitor-shimmer\',\n command: () => {\n this.resetConfig()\n this.resetConfigBase()\n },\n },\n ],\n },\n ],\n warning: false,\n warningText: \'\',\n error: false,\n errorText: \'\',\n connectionFailure: false,\n config: {\n tabs: [],\n },\n tabNameDialog: false,\n newTabName: \'\',\n showTabMenu: false,\n tabMenuX: 0,\n tabMenuY: 0,\n showAddComponentDialog: false,\n }\n },\n computed: {\n startEndTime: function () {\n return {\n start_time:\n new Date(this.startDate + \' \' + this.startTime).getTime() * 1_000_000,\n end_time: this.endDate\n ? new Date(this.endDate + \' \' + this.endTime).getTime() * 1_000_000\n : null,\n }\n },\n allPackets: function () {\n return this.config.tabs.flatMap((tab) => {\n return tab.packets\n })\n },\n },\n watch: {\n \'config.tabs.length\': function () {\n this.resizeTabs()\n },\n // canStart is set by the subscription when it connects.\n // We set autoStart to true during mounted() when loading from\n // a route or a previous saved configuration.\n canStart: function (newVal, _) {\n if (newVal === true && this.autoStart) {\n this.start()\n }\n },\n config: {\n handler: function () {\n this.saveDefaultConfig(this.config)\n },\n deep: true,\n },\n },\n created() {\n // Determine if there are any user added widgets\n Api.get(\'/openc3-api/widgets\').then((response) => {\n response.data.forEach((widget) => {\n // Only list the ones following the naming convention DataviewerxxxxxWidget\n const found = widget.match(/DATAVIEWER([A-Z]+)/)\n if (found) {\n Api.get(`/openc3-api/widgets/${widget}`).then((response) => {\n let label = response.data.label\n if (label === null) {\n label = response.data.name.slice(10)\n label = label.charAt(0) + label.slice(1).toLowerCase()\n }\n this.components.push({\n label: label,\n value: found[0],\n })\n })\n }\n })\n })\n this.subscribe()\n },\n mounted: function () {\n // Called like /tools/dataviewer?config=config\n if (this.$route.query && this.$route.query.config) {\n this.autoStart = true\n this.openConfiguration(this.$route.query.config, true) // routed\n } else {\n let config = this.loadDefaultConfig()\n // Only apply the config if it\'s not an empty object (config does not exist)\n if (JSON.stringify(config) !== \'{}\') {\n this.autoStart = true\n this.config = config\n }\n }\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n packetTitle: function (packet) {\n return `${packet.targetName} ${packet.packetName} [ ${packet.mode} ]`\n },\n resizeTabs: function () {\n if (this.$refs.tabs) this.$refs.tabs.onResize()\n },\n start: function () {\n this.autoStart = false\n // Check for a future start time\n if (new Date(this.startDate + \' \' + this.startTime) > Date.now()) {\n this.warningText = \'Start date/time is in the future!\'\n this.warning = true\n return\n }\n // Check for an empty time period\n if (this.startEndTime.start_time === this.startEndTime.end_time) {\n this.warningText = \'Start date/time is equal to end date/time!\'\n this.warning = true\n return\n }\n // Check for a future End Time\n if (new Date(this.endDate + \' \' + this.endTime) > Date.now()) {\n this.warningText =\n \'Note: End date/time is greater than current date/time. Data will continue to stream in real-time until \' +\n this.endDate +\n \' \' +\n this.endTime +\n \' is reached.\'\n this.warning = true\n }\n this.running = true\n this.addPacketsToSubscription()\n },\n stop: function () {\n this.running = false\n this.removePacketsFromSubscription()\n },\n subscribe: function () {\n this.cable\n .createSubscription(\'StreamingChannel\', window.openc3Scope, {\n received: (data) => this.received(data),\n connected: () => {\n this.canStart = true\n this.connectionFailure = false\n },\n disconnected: () => {\n this.stop()\n this.canStart = false\n this.warningText = \'OpenC3 backend connection disconnected.\'\n this.warning = true\n this.connectionFailure = true\n },\n rejected: () => {\n this.warningText = \'OpenC3 backend connection rejected.\'\n this.warning = true\n },\n })\n .then((subscription) => {\n this.subscription = subscription\n if (this.running) this.addPacketsToSubscription()\n })\n },\n addPacketsToSubscription: function (packets) {\n packets = packets || this.allPackets\n // Group by mode\n const modeGroups = packets.reduce((groups, packet) => {\n if (groups[packet.mode]) {\n groups[packet.mode].push(packet)\n } else {\n groups[packet.mode] = [packet]\n }\n return groups\n }, {})\n Object.keys(modeGroups).forEach((mode) => {\n // This eliminates duplicates by converted to Set and back to Array\n modeGroups[mode] = [...new Set(modeGroups[mode])]\n })\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n Object.keys(modeGroups).forEach((mode) => {\n this.subscription.perform(\'add\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: modeGroups[mode].map(this.subscriptionKey),\n ...this.startEndTime,\n })\n })\n },\n )\n },\n removePacketsFromSubscription: function (packets) {\n packets = packets || this.allPackets\n if (packets.length > 0) {\n this.subscription.perform(\'remove\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: packets.map(this.subscriptionKey),\n })\n }\n },\n received: function (parsed) {\n this.cable.recordPing()\n if (parsed[\'error\']) {\n this.errorText = parsed[\'error\']\n this.error = true\n return\n }\n if (!parsed.length) {\n this.stop()\n return\n }\n const groupedPackets = parsed.reduce((groups, packet) => {\n if (groups[packet.__packet]) {\n groups[packet.__packet].push(packet)\n } else {\n groups[packet.__packet] = [packet]\n }\n return groups\n }, {})\n this.config.tabs.forEach((tab, i) => {\n tab.packets.forEach((packetConfig) => {\n let packetName = this.packetKey(packetConfig)\n this.receivedPackets[packetName] = true\n if (groupedPackets[packetName]) {\n this.$refs[tab.ref][0].receive(groupedPackets[packetName])\n }\n })\n })\n this.receivedPackets = { ...this.receivedPackets }\n },\n packetKey: function (packet) {\n let key = packet.mode + \'__\'\n if (packet.cmdOrTlm === \'TLM\') {\n key += \'TLM\'\n } else {\n key += \'CMD\'\n }\n key += `__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n subscriptionKey: function (packet) {\n const cmdOrTlm = packet.cmdOrTlm.toUpperCase()\n let key = `${packet.mode}__${cmdOrTlm}__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n resetConfig: function () {\n this.stop()\n this.receivedPackets = {}\n this.config.tabs = []\n },\n openConfiguration: function (name, routed = false) {\n this.openConfigBase(name, routed, (config) => {\n this.stop()\n this.receivedPackets = {}\n this.config = config\n // Only call start() if autoStart is false like during a reload.\n // Otherwise we might call start before the subscription is valid.\n // See watch on canStart for more info.\n if (this.autoStart === false) {\n this.start()\n }\n })\n },\n saveConfiguration: function (name) {\n this.saveConfigBase(name, this.config)\n },\n addTab: function () {\n this.cancelTabRename()\n this.showAddComponentDialog = true\n },\n cancelTabRename: function () {\n this.tabNameDialog = false\n this.newTabName = \'\'\n },\n tabMenu: function (event, index) {\n this.curTab = index\n event.preventDefault()\n this.showTabMenu = false\n this.tabMenuX = event.clientX\n this.tabMenuY = event.clientY\n this.$nextTick(() => {\n this.showTabMenu = true\n })\n },\n openTabNameDialog: function () {\n this.newTabName = this.config.tabs[this.curTab].tabName\n this.tabNameDialog = true\n },\n renameTab: function () {\n this.config.tabs[this.curTab].tabName = this.newTabName\n this.tabNameDialog = false\n },\n packetSelected: function (event) {\n this.newPacket = {\n target: event.targetName,\n packet: event.packetName,\n cmdOrTlm: this.newPacketCmdOrTlm,\n }\n },\n addComponent: function (event) {\n // Built-in components are just themselves\n let type = event.component.value\n let component = event.component.value\n if (event.component.value.includes(\'DATAVIEWER\')) {\n // Dynamic widgets use the DynamicComponent\n type = \'DynamicComponent\'\n let name =\n event.component.value.charAt(0).toUpperCase() +\n event.component.value.slice(1).toLowerCase()\n component = `${name}Widget`\n }\n this.config.tabs.push({\n name: event.component.label,\n // Most tabs only have 1 packet so it\'s a good way to name them\n tabName: this.packetTitle(event.packets[0]),\n packets: [...event.packets], // Make a copy\n type: type,\n component: component,\n config: {}, // Set an empty config object\n ref: `component${this.counter}`,\n })\n this.counter++\n this.curTab = this.config.tabs.length - 1\n\n if (this.running) {\n this.addPacketsToSubscription(event.packets)\n }\n this.cancelAddComponent()\n },\n cancelAddComponent: function () {\n this.showAddComponentDialog = false\n },\n deleteComponent: function (tabIndex) {\n // Get the list of packets the other tabs are using\n let packetsInUse = []\n this.config.tabs.forEach((tab, i) => {\n if (i !== tabIndex) {\n packetsInUse = packetsInUse.concat(tab.packets.map(this.packetKey))\n }\n })\n // Filter out any packets that are in use\n let filtered = this.config.tabs[tabIndex].packets.filter(\n (packet) => packetsInUse.indexOf(this.packetKey(packet)) === -1,\n )\n if (filtered.length > 0) {\n this.removePacketsFromSubscription(filtered)\n }\n this.config.tabs.splice(tabIndex, 1)\n },\n },\n}\n<\/script>\n\n<style scoped>\n/* Add some juice to the START button to indicate it needs to be pressed */\n.pulse-button {\n animation: pulse 2s infinite;\n}\n@keyframes pulse {\n 0% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);\n }\n 70% {\n -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);\n }\n 100% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n}\n\n.text-component-missing-name {\n font-family: \'Courier New\', Courier, monospace;\n}\n\n.v-tabs-items {\n overflow: visible;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ce0d8f23c66231f6f586625ed5b044d500aadf21"},i=t[l]||(t[l]={});i[e]&&i[e].hash===n||(i[e]=o);var a=i[e];return xe=function(){return a},a}xe();const Ne={components:{AddComponentDialog:ee,OpenConfigDialog:x,SaveConfigDialog:O,DynamicComponent:re,DumpComponent:Te,TopBar:F},mixins:[C],data(){return xe().f[0]++,xe().s[0]++,{title:"Data Viewer",configKey:"data_viewer",components:[{label:"COSMOS Raw/Decom",value:"DumpComponent"}],counter:0,componentType:null,componentName:null,openConfig:!1,saveConfig:!1,cable:new R,subscription:null,startDate:(0,a.A)(new Date,"yyyy-MM-dd"),startTime:(0,a.A)(new Date,"HH:mm:ss"),endDate:"",endTime:"",rules:{required:e=>(xe().f[1]++,xe().s[1]++,xe().b[0][0]++,!!e||(xe().b[0][1]++,"Required"))},autoStart:!1,canStart:!1,running:!1,curTab:null,receivedPackets:{},menus:[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{xe().f[2]++,xe().s[2]++,this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{xe().f[3]++,xe().s[3]++,this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{xe().f[4]++,xe().s[4]++,this.resetConfig(),xe().s[5]++,this.resetConfigBase()}}]}],warning:!1,warningText:"",error:!1,errorText:"",connectionFailure:!1,config:{tabs:[]},tabNameDialog:!1,newTabName:"",showTabMenu:!1,tabMenuX:0,tabMenuY:0,showAddComponentDialog:!1}},computed:{startEndTime:function(){return xe().f[5]++,xe().s[6]++,{start_time:1e6*new Date(this.startDate+" "+this.startTime).getTime(),end_time:this.endDate?(xe().b[1][0]++,1e6*new Date(this.endDate+" "+this.endTime).getTime()):(xe().b[1][1]++,null)}},allPackets:function(){return xe().f[6]++,xe().s[7]++,this.config.tabs.flatMap((e=>(xe().f[7]++,xe().s[8]++,e.packets)))}},watch:{"config.tabs.length":function(){xe().f[8]++,xe().s[9]++,this.resizeTabs()},canStart:function(e,n){xe().f[9]++,xe().s[10]++,xe().b[3][0]++,!0===e&&(xe().b[3][1]++,this.autoStart)?(xe().b[2][0]++,xe().s[11]++,this.start()):xe().b[2][1]++},config:{handler:function(){xe().f[10]++,xe().s[12]++,this.saveDefaultConfig(this.config)},deep:!0}},created(){xe().f[11]++,xe().s[13]++,h.get("/openc3-api/widgets").then((e=>{xe().f[12]++,xe().s[14]++,e.data.forEach((e=>{xe().f[13]++;const n=(xe().s[15]++,e.match(/DATAVIEWER([A-Z]+)/));xe().s[16]++,n?(xe().b[4][0]++,xe().s[17]++,h.get(`/openc3-api/widgets/${e}`).then((e=>{xe().f[14]++;let t=(xe().s[18]++,e.data.label);xe().s[19]++,null===t?(xe().b[5][0]++,xe().s[20]++,t=e.data.name.slice(10),xe().s[21]++,t=t.charAt(0)+t.slice(1).toLowerCase()):xe().b[5][1]++,xe().s[22]++,this.components.push({label:t,value:n[0]})}))):xe().b[4][1]++}))})),xe().s[23]++,this.subscribe()},mounted:function(){if(xe().f[15]++,xe().s[24]++,xe().b[7][0]++,this.$route.query&&(xe().b[7][1]++,this.$route.query.config))xe().b[6][0]++,xe().s[25]++,this.autoStart=!0,xe().s[26]++,this.openConfiguration(this.$route.query.config,!0);else{xe().b[6][1]++;let e=(xe().s[27]++,this.loadDefaultConfig());xe().s[28]++,"{}"!==JSON.stringify(e)?(xe().b[8][0]++,xe().s[29]++,this.autoStart=!0,xe().s[30]++,this.config=e):xe().b[8][1]++}},destroyed:function(){xe().f[16]++,xe().s[31]++,this.subscription?(xe().b[9][0]++,xe().s[32]++,this.subscription.unsubscribe()):xe().b[9][1]++,xe().s[33]++,this.cable.disconnect()},methods:{packetTitle:function(e){return xe().f[17]++,xe().s[34]++,`${e.targetName} ${e.packetName} [ ${e.mode} ]`},resizeTabs:function(){xe().f[18]++,xe().s[35]++,this.$refs.tabs?(xe().b[10][0]++,xe().s[36]++,this.$refs.tabs.onResize()):xe().b[10][1]++},start:function(){return xe().f[19]++,xe().s[37]++,this.autoStart=!1,xe().s[38]++,new Date(this.startDate+" "+this.startTime)>Date.now()?(xe().b[11][0]++,xe().s[39]++,this.warningText="Start date/time is in the future!",xe().s[40]++,this.warning=!0,void xe().s[41]++):(xe().b[11][1]++,xe().s[42]++,this.startEndTime.start_time===this.startEndTime.end_time?(xe().b[12][0]++,xe().s[43]++,this.warningText="Start date/time is equal to end date/time!",xe().s[44]++,this.warning=!0,void xe().s[45]++):(xe().b[12][1]++,xe().s[46]++,new Date(this.endDate+" "+this.endTime)>Date.now()?(xe().b[13][0]++,xe().s[47]++,this.warningText="Note: End date/time is greater than current date/time. Data will continue to stream in real-time until "+this.endDate+" "+this.endTime+" is reached.",xe().s[48]++,this.warning=!0):xe().b[13][1]++,xe().s[49]++,this.running=!0,xe().s[50]++,void this.addPacketsToSubscription()))},stop:function(){xe().f[20]++,xe().s[51]++,this.running=!1,xe().s[52]++,this.removePacketsFromSubscription()},subscribe:function(){xe().f[21]++,xe().s[53]++,this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>(xe().f[22]++,xe().s[54]++,this.received(e)),connected:()=>{xe().f[23]++,xe().s[55]++,this.canStart=!0,xe().s[56]++,this.connectionFailure=!1},disconnected:()=>{xe().f[24]++,xe().s[57]++,this.stop(),xe().s[58]++,this.canStart=!1,xe().s[59]++,this.warningText="OpenC3 backend connection disconnected.",xe().s[60]++,this.warning=!0,xe().s[61]++,this.connectionFailure=!0},rejected:()=>{xe().f[25]++,xe().s[62]++,this.warningText="OpenC3 backend connection rejected.",xe().s[63]++,this.warning=!0}}).then((e=>{xe().f[26]++,xe().s[64]++,this.subscription=e,xe().s[65]++,this.running?(xe().b[14][0]++,xe().s[66]++,this.addPacketsToSubscription()):xe().b[14][1]++}))},addPacketsToSubscription:function(e){xe().f[27]++,xe().s[67]++,xe().b[15][0]++,e=e||(xe().b[15][1]++,this.allPackets);const n=(xe().s[68]++,e.reduce(((e,n)=>(xe().f[28]++,xe().s[69]++,e[n.mode]?(xe().b[16][0]++,xe().s[70]++,e[n.mode].push(n)):(xe().b[16][1]++,xe().s[71]++,e[n.mode]=[n]),xe().s[72]++,e)),{}));xe().s[73]++,Object.keys(n).forEach((e=>{xe().f[29]++,xe().s[74]++,n[e]=[...new Set(n[e])]})),xe().s[75]++,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((e=>{xe().f[30]++,xe().s[76]++,e?(xe().b[17][0]++,xe().s[77]++,OpenC3Auth.setTokens()):xe().b[17][1]++,xe().s[78]++,Object.keys(n).forEach((e=>{xe().f[31]++,xe().s[79]++,this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:n[e].map(this.subscriptionKey),...this.startEndTime})}))}))},removePacketsFromSubscription:function(e){xe().f[32]++,xe().s[80]++,xe().b[18][0]++,e=e||(xe().b[18][1]++,this.allPackets),xe().s[81]++,e.length>0?(xe().b[19][0]++,xe().s[82]++,this.subscription.perform("remove",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:e.map(this.subscriptionKey)})):xe().b[19][1]++},received:function(e){if(xe().f[33]++,xe().s[83]++,this.cable.recordPing(),xe().s[84]++,e["error"])return xe().b[20][0]++,xe().s[85]++,this.errorText=e["error"],xe().s[86]++,this.error=!0,void xe().s[87]++;if(xe().b[20][1]++,xe().s[88]++,!e.length)return xe().b[21][0]++,xe().s[89]++,this.stop(),void xe().s[90]++;xe().b[21][1]++;const n=(xe().s[91]++,e.reduce(((e,n)=>(xe().f[34]++,xe().s[92]++,e[n.__packet]?(xe().b[22][0]++,xe().s[93]++,e[n.__packet].push(n)):(xe().b[22][1]++,xe().s[94]++,e[n.__packet]=[n]),xe().s[95]++,e)),{}));xe().s[96]++,this.config.tabs.forEach(((e,t)=>{xe().f[35]++,xe().s[97]++,e.packets.forEach((t=>{xe().f[36]++;let l=(xe().s[98]++,this.packetKey(t));xe().s[99]++,this.receivedPackets[l]=!0,xe().s[100]++,n[l]?(xe().b[23][0]++,xe().s[101]++,this.$refs[e.ref][0].receive(n[l])):xe().b[23][1]++}))})),xe().s[102]++,this.receivedPackets={...this.receivedPackets}},packetKey:function(e){xe().f[37]++;let n=(xe().s[103]++,e.mode+"__");return xe().s[104]++,"TLM"===e.cmdOrTlm?(xe().b[24][0]++,xe().s[105]++,n+="TLM"):(xe().b[24][1]++,xe().s[106]++,n+="CMD"),xe().s[107]++,n+=`__${e.targetName}__${e.packetName}`,xe().s[108]++,"DECOM"===e.mode?(xe().b[25][0]++,xe().s[109]++,n+=`__${e.valueType}`):xe().b[25][1]++,xe().s[110]++,n},subscriptionKey:function(e){xe().f[38]++;const n=(xe().s[111]++,e.cmdOrTlm.toUpperCase());let t=(xe().s[112]++,`${e.mode}__${n}__${e.targetName}__${e.packetName}`);return xe().s[113]++,"DECOM"===e.mode?(xe().b[26][0]++,xe().s[114]++,t+=`__${e.valueType}`):xe().b[26][1]++,xe().s[115]++,t},resetConfig:function(){xe().f[39]++,xe().s[116]++,this.stop(),xe().s[117]++,this.receivedPackets={},xe().s[118]++,this.config.tabs=[]},openConfiguration:function(e,n=(xe().b[27][0]++,!1)){xe().f[40]++,xe().s[119]++,this.openConfigBase(e,n,(e=>{xe().f[41]++,xe().s[120]++,this.stop(),xe().s[121]++,this.receivedPackets={},xe().s[122]++,this.config=e,xe().s[123]++,!1===this.autoStart?(xe().b[28][0]++,xe().s[124]++,this.start()):xe().b[28][1]++}))},saveConfiguration:function(e){xe().f[42]++,xe().s[125]++,this.saveConfigBase(e,this.config)},addTab:function(){xe().f[43]++,xe().s[126]++,this.cancelTabRename(),xe().s[127]++,this.showAddComponentDialog=!0},cancelTabRename:function(){xe().f[44]++,xe().s[128]++,this.tabNameDialog=!1,xe().s[129]++,this.newTabName=""},tabMenu:function(e,n){xe().f[45]++,xe().s[130]++,this.curTab=n,xe().s[131]++,e.preventDefault(),xe().s[132]++,this.showTabMenu=!1,xe().s[133]++,this.tabMenuX=e.clientX,xe().s[134]++,this.tabMenuY=e.clientY,xe().s[135]++,this.$nextTick((()=>{xe().f[46]++,xe().s[136]++,this.showTabMenu=!0}))},openTabNameDialog:function(){xe().f[47]++,xe().s[137]++,this.newTabName=this.config.tabs[this.curTab].tabName,xe().s[138]++,this.tabNameDialog=!0},renameTab:function(){xe().f[48]++,xe().s[139]++,this.config.tabs[this.curTab].tabName=this.newTabName,xe().s[140]++,this.tabNameDialog=!1},packetSelected:function(e){xe().f[49]++,xe().s[141]++,this.newPacket={target:e.targetName,packet:e.packetName,cmdOrTlm:this.newPacketCmdOrTlm}},addComponent:function(e){xe().f[50]++;let n=(xe().s[142]++,e.component.value),t=(xe().s[143]++,e.component.value);if(xe().s[144]++,e.component.value.includes("DATAVIEWER")){xe().b[29][0]++,xe().s[145]++,n="DynamicComponent";let l=(xe().s[146]++,e.component.value.charAt(0).toUpperCase()+e.component.value.slice(1).toLowerCase());xe().s[147]++,t=`${l}Widget`}else xe().b[29][1]++;xe().s[148]++,this.config.tabs.push({name:e.component.label,tabName:this.packetTitle(e.packets[0]),packets:[...e.packets],type:n,component:t,config:{},ref:`component${this.counter}`}),xe().s[149]++,this.counter++,xe().s[150]++,this.curTab=this.config.tabs.length-1,xe().s[151]++,this.running?(xe().b[30][0]++,xe().s[152]++,this.addPacketsToSubscription(e.packets)):xe().b[30][1]++,xe().s[153]++,this.cancelAddComponent()},cancelAddComponent:function(){xe().f[51]++,xe().s[154]++,this.showAddComponentDialog=!1},deleteComponent:function(e){xe().f[52]++;let n=(xe().s[155]++,[]);xe().s[156]++,this.config.tabs.forEach(((t,l)=>{xe().f[53]++,xe().s[157]++,l!==e?(xe().b[31][0]++,xe().s[158]++,n=n.concat(t.packets.map(this.packetKey))):xe().b[31][1]++}));let t=(xe().s[159]++,this.config.tabs[e].packets.filter((e=>(xe().f[54]++,xe().s[160]++,-1===n.indexOf(this.packetKey(e))))));xe().s[161]++,t.length>0?(xe().b[32][0]++,xe().s[162]++,this.removePacketsFromSubscription(t)):xe().b[32][1]++,xe().s[163]++,this.config.tabs.splice(e,1)}}},De=Ne;t(1920);var Se=(0,w.A)(De,o,i,!1,null,"b34a9010",null);const Pe=Se.exports},6184:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".pulse-button[data-v-b34a9010]{animation:pulse-b34a9010 2s infinite}@keyframes pulse-b34a9010{0%{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.4)}70%{-webkit-box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.text-component-missing-name[data-v-b34a9010]{font-family:Courier New,Courier,monospace}.v-tabs-items[data-v-b34a9010]{overflow:visible}",""]);const c=s},4217:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".button[data-v-4a855687]{padding:4px}.select[data-v-4a855687]{max-width:300px}.row+.row[data-v-4a855687]{margin-top:0}",""]);const c=s},9808:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".app-title[data-v-57d4fdd2]{font-size:2rem}.menu-button[data-v-57d4fdd2]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-57d4fdd2]{padding-right:5px}.myicon[data-v-57d4fdd2]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-57d4fdd2] .v-label{margin-left:5px}.v-list-item__icon[data-v-57d4fdd2]{margin-right:15px!important}.v-list-item__title[data-v-57d4fdd2]{color:#fff}",""]);const c=s},306:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),o=t.n(l),i=t(935),a=t.n(i),s=a()(o());s.push([e.id,".text-area-container[data-v-0f09bf92]{position:relative;height:60vh}.text-area-container .v-textarea[data-v-0f09bf92]{font-family:Courier New,Courier,monospace}.text-area-container .floating-buttons[data-v-0f09bf92]{position:absolute;top:12px;right:24px}.text-area-container[data-v-0f09bf92] textarea{height:60vh}.pulse[data-v-0f09bf92]{animation:pulse-0f09bf92 2s infinite}@keyframes pulse-0f09bf92{0%{opacity:1}50%{opacity:.5}}",""]);const c=s},1920:(e,n,t)=>{var l=t(6184);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("ff5d3968",l,!0,{sourceMap:!1,shadowMode:!1})},609:(e,n,t)=>{var l=t(4217);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("440dd355",l,!0,{sourceMap:!1,shadowMode:!1})},1e3:(e,n,t)=>{var l=t(9808);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("7de62207",l,!0,{sourceMap:!1,shadowMode:!1})},2429:(e,n,t)=>{var l=t(306);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var o=t(4825).A;o("615ee43c",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
2
  //# sourceMappingURL=918.js.map