openc3-cosmos-tool-handbooks 5.17.1 → 5.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7bf0dabc01c4d183cd831a384feb76d5efce841ede424c4fd5f8f70a9260ed17
4
- data.tar.gz: afff00153d50067ffbe81bd04ae5de94442b3ccc2250aaaf345d581c5b9c8ef5
3
+ metadata.gz: 22076b1561bcb9d5dd25cd854f637239c4e4dc5b20bfdb2f66a4f4e0facbd626
4
+ data.tar.gz: 5b2c53c7dec4b303cd448c20fd70442d5c1c8970499dc6e593c3ee0f28b5ae6f
5
5
  SHA512:
6
- metadata.gz: '0230539fb09343af23f1da199fd96ab08bd48f64a3f0c2c0478044715e2edbc5815fc6f91f4be1b87c3d03f9a699fb58475119390778b5af748adfc6e10ac439'
7
- data.tar.gz: 4e01b402ac9a14026560fd3c407ee8ce78aa96f6299c4fc76b9d236d9c3f4d46c05948691271fd56ab3480e3ac48eebbe729851e12295ec9070e6bfb26d040bd
6
+ metadata.gz: 9adf45dfc8f667c37c75ddbd94c4471d614874e41e49eaa9dec196f9cc6513c12fc0cd095442290d6515257913918368d563b9514e931a0209d3b3fed7203dd6
7
+ data.tar.gz: c9c7b69b948904e2430aa7ab6b3910d1d4ba52d42e8dc1352c8f19fa94aa7d59b2ca642d787c603ce7954e9a080e16acb540d9b6732ac95bd2ad4316daf6515b
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_handbooks"]=self["webpackChunk_openc3_cosmos_tool_handbooks"]||[]).push([[565],{3565:(e,n,t)=>{"use strict";function i(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="81570936c0a0bbd6fe3204546810d59181e3d563",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.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:1751}},4:{start:{line:1,column:494},end:{line:1,column:889}},5:{start:{line:1,column:573},end:{line:1,column:597}},6:{start:{line:1,column:969},end:{line:1,column:996}},7:{start:{line:1,column:1125},end:{line:1,column:1174}},8:{start:{line:1,column:1418},end:{line:1,column:1433}},9:{start:{line:1,column:1591},end:{line:1,column:1745}},10:{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:483},end:{line:1,column:484}},loc:{start:{line:1,column:493},end:{line:1,column:890}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:556},end:{line:1,column:557}},loc:{start:{line:1,column:572},end:{line:1,column:598}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:953},end:{line:1,column:954}},loc:{start:{line:1,column:968},end:{line:1,column:997}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1108},end:{line:1,column:1109}},loc:{start:{line:1,column:1124},end:{line:1,column:1175}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1402},end:{line:1,column:1403}},loc:{start:{line:1,column:1417},end:{line:1,column:1434}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:1574},end:{line:1,column:1575}},loc:{start:{line:1,column:1590},end:{line:1,column:1746}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"81570936c0a0bbd6fe3204546810d59181e3d563"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=o);var a=s[e];return i=function(){return a},a}t.r(n),t.d(n,{default:()=>Y}),i(),i().s[0]++;var l=function(){i().f[0]++;var e=(i().s[1]++,this),n=(i().s[2]++,e._self._c);return i().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-container",{staticClass:"d-print-none"},[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-select",{staticClass:"ma-0 pa-0",attrs:{label:"Select Target(s)",dense:"","hide-details":"",outlined:"",items:e.targetNames,multiple:""},on:{change:e.targetSelect},scopedSlots:e._u([{key:"prepend-item",fn:function(){return i().f[1]++,i().s[4]++,[n("v-list-item",{attrs:{ripple:""},on:{mousedown:function(e){i().f[2]++,i().s[5]++,e.preventDefault()},click:e.toggleTargets}},[n("v-list-item-action",[n("v-icon",[e._v("\n "+e._s(e.icon)+"\n ")])],1),e._v(" "),n("v-list-item-content",[n("v-list-item-title",[e._v(" Select All ")])],1)],1),e._v(" "),n("v-divider",{staticClass:"mt-2"})]},proxy:!0}]),model:{value:e.selectedTargetNames,callback:function(n){i().f[3]++,i().s[6]++,e.selectedTargetNames=n},expression:"selectedTargetNames"}})],1),e._v(" "),n("v-col",[n("v-btn",{staticClass:"primary",on:{click:function(n){i().f[4]++,i().s[7]++,e.renderedTargetNames=e.selectedTargetNames}}},[e._v("\n Display\n ")])],1),e._v(" "),n("v-col",[n("v-select",{attrs:{label:"Item Columns",dense:"","hide-details":"",outlined:"",items:e.columnItems},model:{value:e.columns,callback:function(n){i().f[5]++,i().s[8]++,e.columns=n},expression:"columns"}})],1)],1)],1)],1),e._v(" "),n("div",{staticStyle:{height:"15px"}}),e._v(" "),e._l(e.renderedTargetNames,(function(t){return i().f[6]++,i().s[9]++,n("div",{key:t},[n("target",{attrs:{target:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived}})],1)}))],2)},o=(i().s[10]++,[]),s=t(814),a=(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),t(3816)),r=t(1649);const c=new r["default"],m=a.A.create({baseURL:location.origin,timeout:6e4,params:{}});m.interceptors.response.use((e=>e),(e=>{if(e.response){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 n=`HTTP ${e.response.status} - `;throw e.response?.statusText&&(n+=`${e.response.statusText} `),e.response?.config?.data&&(n+=`${e.response.config.data} `),e.response?.data?.message?n+=`${e.response.data.message}`:e.response?.data?.exception?n+=`${e.response.data.exception}`:e.response?.data?.error?.message?(e.response.data.error.class&&(n+=`${e.response.data.error.class} `),n+=`${e.response.data.error.message}`):n+=`${e.response?.data}`,c.$notify&&c.$notify.serious({title:"Network error",body:n}),e}throw e}));const d=m;class u{constructor(){(0,s.A)(this,"id",1)}async exec(e,n,t={},i={},l=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(o){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope,i["manual"]=!0;const o=await d.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",...i},timeout:l});return o.data.result}catch(o){let e=new Error;throw o.response?(e.name=o.response.data.error.data.class,e.message=o.response.data.error.data.message):o.request?(e.name="Request error",e.message="Request error, no response received"):e.name="Unknown error",e}}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,n=!1){return this.exec("get_all_tlm_names",[e],{hidden:n})}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,i=30){const l=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:i});if(null!=l){let e=l.length,n=null;for(let t=0;t<e;t++)n=this.decode_openc3_type(l[t][1]),null!==n&&(l[t][1]=n)}return l}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 i={stale_time:n};null!==t&&(i["cache_timeout"]=t);const l=await this.exec("get_tlm_values",[e],i,{},1e4);let o=l[0].length,s=null;for(let a=0;a<o;a++)s=this.decode_openc3_type(l[0][a]),null!==s&&(l[0][a]=s);return l}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,i="CONVERTED"){let l=null;if(void 0===n)l=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){let e=new Error;throw e.name="TypeError",e.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,e}l=await this.exec("tlm",[e],{type:n})}else l=await this.exec("tlm",[e,n,t],{type:i});let o=this.decode_openc3_type(l);return null!==o&&(l=o),l}async inject_tlm(e,n,t=null,i="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:i})}set_tlm(e,n,t,i){return this.exec("set_tlm",[e,n,t],{type:i})}override_tlm(e,n,t,i){return this.exec("override_tlm",[e,n,t],{type:i})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,i){return this.exec("normalize_tlm",[e,n,t],{type:i})}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,n=!1){return this.exec("get_all_cmd_names",[e],{hidden:n})}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,i="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,i])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,i,l){let o=null;for(let s in i)Object.prototype.hasOwnProperty.call(i,s)&&(o=this.encode_openc3_type(i[s]),null!==o&&(i[s]=o));return this.exec(e,[n,t,i],{},l)}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,i={}){return void 0===n?this.exec("cmd",e,{},i):this._cmd("cmd",e,n,t,i)}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),i=new Uint8Array(t);return Array.from(i).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}var A=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,i){return n("v-menu",{key:i,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:i,attrs:l}){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",l,!1),i),[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(i,l){return[i.divider?n("v-divider",{key:l}):i.subMenu&&i.subMenu.length>0?n("div",{key:l},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return[n("v-list-item",e._g(e._b({key:l,attrs:{disabled:i.disabled}},"v-list-item",o,!1),t),[i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(i.subMenu,(function(t,i){return n("v-list-item",{key:i,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:l,attrs:{disabled:i.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${i.label}`)},on:{click:function(e){return i.command(i)}}},[i.radio?n("v-list-item-action",{staticClass:"list-action"},[n("v-radio",{attrs:{color:"secondary",label:i.label,value:i.label}})],1):e._e(),e._v(" "),i.checkbox?n("v-list-item-action",{staticClass:"list-action"},[n("v-checkbox",{attrs:{color:"secondary",label:i.label},model:{value:i.checked,callback:function(n){e.$set(i,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),i.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),e._v(" "),i.radio||i.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label))])],1)]}))],2)],1)],1)})),1)],1)},_=[];t(4293),t(8715);const p={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}},h=p;t(5699);var v=t(2401),f=(0,v.A)(h,A,_,!1,null,"0af23388",null);const g=f.exports;function b(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="875817da524c0a0ab55ccb0359f74c9d5f7cd1f9",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.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:1033}},4:{start:{line:1,column:340},end:{line:1,column:609}},5:{start:{line:1,column:755},end:{line:1,column:1023}},6:{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:323},end:{line:1,column:324}},loc:{start:{line:1,column:339},end:{line:1,column:610}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:738},end:{line:1,column:739}},loc:{start:{line:1,column:754},end:{line:1,column:1024}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"875817da524c0a0ab55ccb0359f74c9d5f7cd1f9"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return b=function(){return s},s}b(),b().s[0]++;var C=function(){b().f[0]++;var e=(b().s[1]++,this),n=(b().s[2]++,e._self._c);return b().s[3]++,n("v-card",[n("v-container",{attrs:{id:e.target}},[n("div",{staticClass:"text-h3 text-center"},[e._v(e._s(e.target))]),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Commands")])],1),e._v(" "),e._l(e.commands,(function(t){return b().f[1]++,b().s[4]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredParams}})],1)],1)})),e._v(" "),n("v-row",[n("v-col",{staticClass:"ml-3 text-h4"},[e._v("Telemetry")])],1),e._v(" "),e._l(e.telemetry,(function(t){return b().f[2]++,b().s[5]++,n("v-row",{key:t.packetName,staticClass:"mb-4",attrs:{dense:""}},[n("v-col",{attrs:{cols:12}},[n("packet",{attrs:{packet:t,columns:e.columns,hideIgnored:e.hideIgnored,hideDerived:e.hideDerived,ignored:e.ignoredItems}})],1)],1)}))],2)],1)},y=(b().s[6]++,[]);function k(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="d75352c938082f89d78ccdaa5d29f3f5128a164d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.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:626}},4:{start:{line:1,column:511},end:{line:1,column:609}},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:496},end:{line:1,column:497}},loc:{start:{line:1,column:510},end:{line:1,column:610}},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:"d75352c938082f89d78ccdaa5d29f3f5128a164d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return k=function(){return s},s}k(),k().s[0]++;var x=function(){k().f[0]++;var e=(k().s[1]++,this),n=(k().s[2]++,e._self._c);return k().s[3]++,n("v-card",[n("v-card-title",{staticClass:"text-h4 justify-center"},[e._v(e._s(e.packet.target_name)+" "+e._s(e.packet.packet_name))]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.packet.description)+"\n "),n("div",{staticClass:"float-right"},[e._v(e._s(e.packet.endianness))])]),e._v(" "),n("v-card-text",[n("v-container",{attrs:{fluid:""}},[n("v-row",{attrs:{dense:""}},e._l(e.items,(function(t){return k().f[1]++,k().s[4]++,n("v-col",{key:t.name,attrs:{cols:e.columns}},[n("item",{attrs:{item:t}})],1)})),1)],1)],1)],1)},w=(k().s[5]++,[]);t(2082);function T(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.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:1476}},4:{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}},branchMap:{0:{loc:{start:{line:1,column:722},end:{line:1,column:841}},type:"cond-expr",locations:[{start:{line:1,column:759},end:{line:1,column:832}},{start:{line:1,column:833},end:{line:1,column:841}}],line:1},1:{loc:{start:{line:1,column:854},end:{line:1,column:973}},type:"cond-expr",locations:[{start:{line:1,column:891},end:{line:1,column:964}},{start:{line:1,column:965},end:{line:1,column:973}}],line:1},2:{loc:{start:{line:1,column:986},end:{line:1,column:1105}},type:"cond-expr",locations:[{start:{line:1,column:1023},end:{line:1,column:1096}},{start:{line:1,column:1097},end:{line:1,column:1105}}],line:1},3:{loc:{start:{line:1,column:1118},end:{line:1,column:1249}},type:"cond-expr",locations:[{start:{line:1,column:1138},end:{line:1,column:1240}},{start:{line:1,column:1241},end:{line:1,column:1249}}],line:1},4:{loc:{start:{line:1,column:1262},end:{line:1,column:1358}},type:"cond-expr",locations:[{start:{line:1,column:1283},end:{line:1,column:1349}},{start:{line:1,column:1350},end:{line:1,column:1358}}],line:1},5:{loc:{start:{line:1,column:1371},end:{line:1,column:1470}},type:"cond-expr",locations:[{start:{line:1,column:1393},end:{line:1,column:1461}},{start:{line:1,column:1462},end:{line:1,column:1470}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d655a8b5b0b40e7153d6beeb5186c868d3ca4bd1"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return T=function(){return s},s}T(),T().s[0]++;var I=function(){T().f[0]++;var e=(T().s[1]++,this),n=(T().s[2]++,e._self._c);return T().s[3]++,n("v-card",{staticClass:"mx-auto",attrs:{outlined:""}},[n("v-card-title",{staticClass:"justify-center"},[e._v("\n "+e._s(e.item.name)+"\n ")]),e._v(" "),n("v-card-subtitle",[e._v(e._s(e.item.description))]),e._v(" "),n("v-card-text",{staticClass:"text--primary"},[n("div",[e._v("Bit Offset: "+e._s(e.item.bit_offset))]),e._v(" "),n("div",[e._v("Bit Size: "+e._s(e.item.bit_size))]),e._v(" "),n("div",[e._v("Data Type: "+e._s(e.item.data_type))]),e._v(" "),n("div",[e._v("Endianness: "+e._s(e.item.endianness))]),e._v(" "),n("div",[e._v("Overflow: "+e._s(e.item.overflow))]),e._v(" "),Object.hasOwn(e.item,"minimum")?(T().b[0][0]++,n("div",[e._v("\n Minimum: "+e._s(e.item.minimum)+"\n ")])):(T().b[0][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"maximum")?(T().b[1][0]++,n("div",[e._v("\n Maximum: "+e._s(e.item.maximum)+"\n ")])):(T().b[1][1]++,e._e()),e._v(" "),Object.hasOwn(e.item,"default")?(T().b[2][0]++,n("div",[e._v("\n Default: "+e._s(e.item.default)+"\n ")])):(T().b[2][1]++,e._e()),e._v(" "),e.item.id_value?(T().b[3][0]++,n("div",[n("strong",[e._v("ID Value: 0x"+e._s(e.item.id_value.toString(16).toUpperCase()))])])):(T().b[3][1]++,e._e()),e._v(" "),e.readConversion?(T().b[4][0]++,n("div",[e._v("Read Conversion: "+e._s(e.readConversion))])):(T().b[4][1]++,e._e()),e._v(" "),e.writeConversion?(T().b[5][0]++,n("div",[e._v("Write Conversion: "+e._s(e.writeConversion))])):(T().b[5][1]++,e._e())])],1)},N=(T().s[4]++,[]);function O(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",n="3eacf9f0880ca482c09c818817276ba630f0cc4a",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Item.vue",statementMap:{0:{start:{line:19,column:6},end:{line:27,column:7}},1:{start:{line:20,column:21},end:{line:20,column:57}},2:{start:{line:21,column:8},end:{line:23,column:9}},3:{start:{line:22,column:10},end:{line:22,column:74}},4:{start:{line:24,column:8},end:{line:24,column:21}},5:{start:{line:26,column:8},end:{line:26,column:20}},6:{start:{line:30,column:6},end:{line:38,column:7}},7:{start:{line:31,column:21},end:{line:31,column:58}},8:{start:{line:32,column:8},end:{line:34,column:9}},9:{start:{line:33,column:10},end:{line:33,column:75}},10:{start:{line:35,column:8},end:{line:35,column:21}},11:{start:{line:37,column:8},end:{line:37,column:20}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:21},end:{line:28,column:5}},line:18},1:{name:"(anonymous_1)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:22},end:{line:39,column:5}},line:29}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:27,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:27,column:7}},{start:{line:25,column:13},end:{line:27,column:7}}],line:19},1:{loc:{start:{line:21,column:8},end:{line:23,column:9}},type:"if",locations:[{start:{line:21,column:8},end:{line:23,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:21},2:{loc:{start:{line:30,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:30,column:6},end:{line:38,column:7}},{start:{line:36,column:13},end:{line:38,column:7}}],line:30},3:{loc:{start:{line:32,column:8},end:{line:34,column:9}},type:"if",locations:[{start:{line:32,column:8},end:{line:34,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32}},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},f:{0:0,1:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Item.vue"],names:[],mappings:";AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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:"Item.vue",sourceRoot:"src/tools/Handbooks",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 <v-card class="mx-auto" outlined>\n <v-card-title class="justify-center">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class="text--primary">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if="Object.hasOwn(item, \'minimum\')">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if="Object.hasOwn(item, \'maximum\')">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if="Object.hasOwn(item, \'default\')">\n Default: {{ item.default }}\n </div>\n <div v-if="item.id_value">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if="readConversion">Read Conversion: {{ readConversion }}</div>\n <div v-if="writeConversion">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, \'read_conversion\')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, \'write_conversion\')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(\', \')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3eacf9f0880ca482c09c818817276ba630f0cc4a"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return O=function(){return s},s}O();const S={props:{item:{type:Object,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},computed:{readConversion(){if(O().f[0]++,O().s[0]++,Object.hasOwn(this.item,"read_conversion")){O().b[0][0]++;let e=(O().s[1]++,`${this.item.read_conversion.class}`);return O().s[2]++,this.item.read_conversion.params?(O().b[1][0]++,O().s[3]++,e+=` with ${this.item.read_conversion.params.join(", ")}`):O().b[1][1]++,O().s[4]++,e}return O().b[0][1]++,O().s[5]++,!1},writeConversion(){if(O().f[1]++,O().s[6]++,Object.hasOwn(this.item,"write_conversion")){O().b[2][0]++;let e=(O().s[7]++,`${this.item.write_conversion.class}`);return O().s[8]++,this.item.write_conversion.params?(O().b[3][0]++,O().s[9]++,e+=` with ${this.item.write_conversion.params.join(", ")}`):O().b[3][1]++,O().s[10]++,e}return O().b[2][1]++,O().s[11]++,!1}}},R=S;var D=(0,v.A)(R,I,N,!1,null,null,null);const E=D.exports;function M(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",n="f783a71a31f15f56a79241a37b41800f6626a7c7",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue",statementMap:{0:{start:{line:31,column:18},end:{line:31,column:35}},1:{start:{line:32,column:6},end:{line:34,column:7}},2:{start:{line:33,column:8},end:{line:33,column:73}},3:{start:{line:33,column:39},end:{line:33,column:72}},4:{start:{line:35,column:6},end:{line:37,column:7}},5:{start:{line:36,column:8},end:{line:36,column:68}},6:{start:{line:36,column:39},end:{line:36,column:67}},7:{start:{line:38,column:6},end:{line:38,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:12},end:{line:39,column:5}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:33,column:29},end:{line:33,column:30}},loc:{start:{line:33,column:39},end:{line:33,column:72}},line:33},2:{name:"(anonymous_2)",decl:{start:{line:36,column:29},end:{line:36,column:30}},loc:{start:{line:36,column:39},end:{line:36,column:67}},line:36}},branchMap:{0:{loc:{start:{line:32,column:6},end:{line:34,column:7}},type:"if",locations:[{start:{line:32,column:6},end:{line:34,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:32},1:{loc:{start:{line:35,column:6},end:{line:37,column:7}},type:"if",locations:[{start:{line:35,column:6},end:{line:37,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:35}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["Packet.vue"],names:[],mappings:";AA4CA;;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",file:"Packet.vue",sourceRoot:"src/tools/Handbooks",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 <v-card>\n <v-card-title class="text-h4 justify-center"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class="float-right">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for="item in items" :key="item.name" :cols="columns">\n <item :item="item"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from \'./Item\'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== \'DERIVED\')\n }\n return items\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f783a71a31f15f56a79241a37b41800f6626a7c7"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return M=function(){return s},s}M();const H={components:{Item:E},props:{packet:{type:Object,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0},ignored:{type:Object}},computed:{items(){M().f[0]++;let e=(M().s[0]++,this.packet.items);return M().s[1]++,this.hideIgnored?(M().b[0][0]++,M().s[2]++,e=e.filter((e=>(M().f[1]++,M().s[3]++,!this.ignored.includes(e.name))))):M().b[0][1]++,M().s[4]++,this.hideDerived?(M().b[1][0]++,M().s[5]++,e=e.filter((e=>(M().f[2]++,M().s[6]++,"DERIVED"!==e.data_type)))):M().b[1][1]++,M().s[7]++,e}}},P=H;var j=(0,v.A)(P,x,w,!1,null,null,null);const F=j.exports;function B(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",n="0ae45f2219cf796a2d87bffd62f475f4a750b62d",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Target.vue",statementMap:{0:{start:{line:28,column:4},end:{line:34,column:5}},1:{start:{line:38,column:4},end:{line:38,column:30}},2:{start:{line:39,column:4},end:{line:42,column:6}},3:{start:{line:40,column:6},end:{line:40,column:52}},4:{start:{line:41,column:6},end:{line:41,column:46}},5:{start:{line:44,column:4},end:{line:46,column:6}},6:{start:{line:45,column:6},end:{line:45,column:29}},7:{start:{line:47,column:4},end:{line:49,column:6}},8:{start:{line:48,column:6},end:{line:48,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:9},end:{line:35,column:3}},line:27},1:{name:"(anonymous_1)",decl:{start:{line:37,column:2},end:{line:37,column:3}},loc:{start:{line:37,column:12},end:{line:50,column:3}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:39,column:42},end:{line:39,column:43}},loc:{start:{line:39,column:54},end:{line:42,column:5}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:44,column:44},end:{line:44,column:45}},loc:{start:{line:44,column:57},end:{line:46,column:5}},line:44},4:{name:"(anonymous_4)",decl:{start:{line:47,column:43},end:{line:47,column:44}},loc:{start:{line:47,column:56},end:{line:49,column:5}},line:47}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},inputSourceMap:{version:3,sources:["Target.vue"],names:[],mappings:";AAqEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Target.vue",sourceRoot:"src/tools/Handbooks",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 <v-card>\n <v-container :id="target">\n <div class="text-h3 text-center">{{ target }}</div>\n <v-row>\n <v-col class="ml-3 text-h4">Commands</v-col>\n </v-row>\n <v-row\n v-for="packet in commands"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredParams"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class="ml-3 text-h4">Telemetry</v-col>\n </v-row>\n <v-row\n v-for="packet in telemetry"\n :key="packet.packetName"\n dense\n class="mb-4"\n >\n <v-col :cols="12">\n <packet\n :packet="packet"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n :ignored="ignoredItems"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport Packet from \'./Packet\'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0ae45f2219cf796a2d87bffd62f475f4a750b62d"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return B=function(){return s},s}B();const $={components:{Packet:F},props:{target:{type:String,required:!0},columns:{type:Number,required:!0},hideIgnored:{type:Boolean,required:!0},hideDerived:{type:Boolean,required:!0}},data(){return B().f[0]++,B().s[0]++,{api:null,commands:[],telemetry:[],ignoredParams:[],ignoredItems:[]}},created(){B().f[1]++,B().s[1]++,this.api=new u,B().s[2]++,this.api.get_target(this.target).then((e=>{B().f[2]++,B().s[3]++,this.ignoredParams=e.ignored_parameters,B().s[4]++,this.ignoredItems=e.ignored_items})),B().s[5]++,this.api.get_all_cmds(this.target).then((e=>{B().f[3]++,B().s[6]++,this.commands=e})),B().s[7]++,this.api.get_all_tlm(this.target).then((e=>{B().f[4]++,B().s[8]++,this.telemetry=e}))}},U=$;var q=(0,v.A)(U,C,y,!1,null,null,null);const L=q.exports;function G(){var e="/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",n="402b6aa52090d66f0201f2ff3cd0c515baeef5c6",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue",statementMap:{0:{start:{line:12,column:4},end:{line:50,column:5}},1:{start:{line:37,column:16},end:{line:37,column:52}},2:{start:{line:44,column:16},end:{line:44,column:52}},3:{start:{line:54,column:6},end:{line:54,column:72}},4:{start:{line:57,column:6},end:{line:57,column:76}},5:{start:{line:60,column:6},end:{line:60,column:57}},6:{start:{line:60,column:35},end:{line:60,column:57}},7:{start:{line:61,column:6},end:{line:61,column:58}},8:{start:{line:61,column:36},end:{line:61,column:58}},9:{start:{line:62,column:6},end:{line:62,column:41}},10:{start:{line:66,column:4},end:{line:66,column:30}},11:{start:{line:67,column:4},end:{line:71,column:8}},12:{start:{line:70,column:8},end:{line:70,column:34}},13:{start:{line:75,column:6},end:{line:81,column:8}},14:{start:{line:76,column:8},end:{line:80,column:9}},15:{start:{line:77,column:10},end:{line:77,column:39}},16:{start:{line:79,column:10},end:{line:79,column:61}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:9},end:{line:51,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:36,column:23},end:{line:36,column:24}},loc:{start:{line:36,column:29},end:{line:38,column:15}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:43,column:23},end:{line:43,column:24}},loc:{start:{line:43,column:29},end:{line:45,column:15}},line:43},3:{name:"(anonymous_3)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:25},end:{line:55,column:5}},line:53},4:{name:"(anonymous_4)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:26},end:{line:58,column:5}},line:56},5:{name:"(anonymous_5)",decl:{start:{line:59,column:4},end:{line:59,column:5}},loc:{start:{line:59,column:11},end:{line:63,column:5}},line:59},6:{name:"(anonymous_6)",decl:{start:{line:65,column:2},end:{line:65,column:3}},loc:{start:{line:65,column:12},end:{line:72,column:3}},line:65},7:{name:"(anonymous_7)",decl:{start:{line:69,column:12},end:{line:69,column:13}},loc:{start:{line:69,column:25},end:{line:71,column:7}},line:69},8:{name:"(anonymous_8)",decl:{start:{line:74,column:4},end:{line:74,column:5}},loc:{start:{line:74,column:20},end:{line:82,column:5}},line:74},9:{name:"(anonymous_9)",decl:{start:{line:75,column:21},end:{line:75,column:22}},loc:{start:{line:75,column:27},end:{line:81,column:7}},line:75}},branchMap:{0:{loc:{start:{line:57,column:13},end:{line:57,column:76}},type:"binary-expr",locations:[{start:{line:57,column:13},end:{line:57,column:48}},{start:{line:57,column:52},end:{line:57,column:76}}],line:57},1:{loc:{start:{line:60,column:6},end:{line:60,column:57}},type:"if",locations:[{start:{line:60,column:6},end:{line:60,column:57}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:60},2:{loc:{start:{line:61,column:6},end:{line:61,column:58}},type:"if",locations:[{start:{line:61,column:6},end:{line:61,column:58}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:61},3:{loc:{start:{line:76,column:8},end:{line:80,column:9}},type:"if",locations:[{start:{line:76,column:8},end:{line:80,column:9}},{start:{line:78,column:15},end:{line:80,column:9}}],line:76}},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},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:["Handbooks.vue"],names:[],mappings:";AAyFA;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",file:"Handbooks.vue",sourceRoot:"src/tools/Handbooks",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 2023, 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 class="d-print-none">\n <v-row dense>\n <v-col>\n <v-select\n class="ma-0 pa-0"\n label="Select Target(s)"\n dense\n hide-details\n outlined\n :items="targetNames"\n v-model="selectedTargetNames"\n @change="targetSelect"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click="toggleTargets">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class="mt-2"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class="primary"\n @click="renderedTargetNames = selectedTargetNames"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label="Item Columns"\n dense\n hide-details\n outlined\n v-model="columns"\n :items="columnItems"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style="height: 15px" />\n <div v-for="target in renderedTargetNames" :key="target">\n <target\n :target="target"\n :columns="columns"\n :hideIgnored="hideIgnored"\n :hideDerived="hideDerived"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport Target from \'./Target\'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: \'Handbooks\',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: \'1\', value: 12 },\n { text: \'2\', value: 6 },\n { text: \'3\', value: 4 },\n { text: \'4\', value: 3 },\n { text: \'6\', value: 2 },\n { text: \'12\', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: \'View\',\n items: [\n {\n label: \'Hide Ignored Items\',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: \'Hide Derived Items\',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return \'mdi-close-box\'\n if (this.someTargetsSelected) return \'mdi-minus-box\'\n return \'mdi-checkbox-blank-outline\'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"402b6aa52090d66f0201f2ff3cd0c515baeef5c6"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return G=function(){return s},s}G();const z={components:{TopBar:g,Target:L},data(){return G().f[0]++,G().s[0]++,{title:"Handbooks",targetNames:[],selectedTargetNames:[],renderedTargetNames:[],api:null,columns:3,columnItems:[{text:"1",value:12},{text:"2",value:6},{text:"3",value:4},{text:"4",value:3},{text:"6",value:2},{text:"12",value:1}],hideIgnored:!1,hideDerived:!1,menus:[{label:"View",items:[{label:"Hide Ignored Items",checkbox:!0,command:()=>{G().f[1]++,G().s[1]++,this.hideIgnored=!this.hideIgnored}},{label:"Hide Derived Items",checkbox:!0,command:()=>{G().f[2]++,G().s[2]++,this.hideDerived=!this.hideDerived}}]}]}},computed:{allTargetsSelected(){return G().f[3]++,G().s[3]++,this.targetNames.length===this.selectedTargetNames.length},someTargetsSelected(){return G().f[4]++,G().s[4]++,G().b[0][0]++,this.selectedTargetNames.length>0&&(G().b[0][1]++,!this.allTargetsSelected)},icon(){return G().f[5]++,G().s[5]++,this.allTargetsSelected?(G().b[1][0]++,G().s[6]++,"mdi-close-box"):(G().b[1][1]++,G().s[7]++,this.someTargetsSelected?(G().b[2][0]++,G().s[8]++,"mdi-minus-box"):(G().b[2][1]++,G().s[9]++,"mdi-checkbox-blank-outline"))}},created(){G().f[6]++,G().s[10]++,this.api=new u,G().s[11]++,this.api.get_target_names({params:{scope:window.openc3Scope}}).then((e=>{G().f[7]++,G().s[12]++,this.targetNames=e}))},methods:{toggleTargets(){G().f[8]++,G().s[13]++,this.$nextTick((()=>{G().f[9]++,G().s[14]++,this.allTargetsSelected?(G().b[3][0]++,G().s[15]++,this.selectedTargetNames=[]):(G().b[3][1]++,G().s[16]++,this.selectedTargetNames=this.targetNames.slice())}))}}},V=z;var W=(0,v.A)(V,l,o,!1,null,null,null);const Y=W.exports},4203:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>r});var i=t(6758),l=t.n(i),o=t(935),s=t.n(o),a=s()(l());a.push([e.id,".app-title[data-v-0af23388]{font-size:2rem}.menu-button[data-v-0af23388]{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-0af23388]{padding-right:5px}.list-action[data-v-0af23388] label{color:#fff;padding-left:10px}.myicon[data-v-0af23388]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-0af23388] .v-label{margin-left:5px}.v-list-item__icon[data-v-0af23388]{margin-right:15px!important}.v-list-item__title[data-v-0af23388]{color:#fff}",""]);const r=a},5699:(e,n,t)=>{var i=t(4203);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(4825).A;l("7f447726",i,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=565.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/565.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?c4b5","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?a437","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Item.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?1221","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Item.vue?85c4","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Packet.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?663c","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Packet.vue?a8e2","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Target.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?69b3","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Target.vue?cdc5","webpack://@openc3/cosmos-tool-handbooks/src/tools/Handbooks/Handbooks.vue","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?1265","webpack://@openc3/cosmos-tool-handbooks/./src/tools/Handbooks/Handbooks.vue?585c","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?e2ab","webpack://@openc3/cosmos-tool-handbooks/../openc3-tool-common/src/components/TopBar.vue?ca18"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('top-bar',{attrs:{\"menus\":_vm.menus,\"title\":_vm.title}}),_vm._v(\" \"),_c('v-card',[_c('v-container',{staticClass:\"d-print-none\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{staticClass:\"ma-0 pa-0\",attrs:{\"label\":\"Select Target(s)\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.targetNames,\"multiple\":\"\"},on:{\"change\":_vm.targetSelect},scopedSlots:_vm._u([{key:\"prepend-item\",fn:function(){return [_c('v-list-item',{attrs:{\"ripple\":\"\"},on:{\"mousedown\":function($event){$event.preventDefault();},\"click\":_vm.toggleTargets}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"\\n \"+_vm._s(_vm.icon)+\"\\n \")])],1),_vm._v(\" \"),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Select All \")])],1)],1),_vm._v(\" \"),_c('v-divider',{staticClass:\"mt-2\"})]},proxy:true}]),model:{value:(_vm.selectedTargetNames),callback:function ($$v) {_vm.selectedTargetNames=$$v},expression:\"selectedTargetNames\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-btn',{staticClass:\"primary\",on:{\"click\":function($event){_vm.renderedTargetNames = _vm.selectedTargetNames}}},[_vm._v(\"\\n Display\\n \")])],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Item Columns\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"items\":_vm.columnItems},model:{value:(_vm.columns),callback:function ($$v) {_vm.columns=$$v},expression:\"columns\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('div',{staticStyle:{\"height\":\"15px\"}}),_vm._v(\" \"),_vm._l((_vm.renderedTargetNames),function(target){return _c('div',{key:target},[_c('target',{attrs:{\"target\":target,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived}})],1)})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*\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*/\n\nimport axios from 'axios'\nimport Vue from 'vue'\n\nconst vueInstance = new Vue()\n\nconst axiosInstance = axios.create({\n baseURL: location.origin,\n timeout: 60000,\n params: {},\n})\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity, true).then(\n function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n },\n )\n }\n // Individual tools can set 'Ignore-Errors' to an error code\n // they potentially expect, e.g. '500', in which case we ignore it\n // For example in CommandSender.vue:\n // obs = this.api.cmd(targetName, commandName, paramList, {\n // headers: {\n // 'Ignore-Errors': '404',\n // },\n // })\n if (\n error.response.config.headers['Ignore-Errors'] &&\n error.response.config.headers['Ignore-Errors'].includes(\n error.response.status.toString(),\n )\n ) {\n return Promise.reject(error)\n }\n let body = `HTTP ${error.response.status} - `\n if (error.response?.statusText) {\n body += `${error.response.statusText} `\n }\n if (error.response?.config?.data) {\n body += `${error.response.config.data} `\n }\n if (error.response?.data?.message) {\n body += `${error.response.data.message}`\n } else if (error.response?.data?.exception) {\n body += `${error.response.data.exception}`\n } else if (error.response?.data?.error?.message) {\n if (error.response.data.error.class) {\n body += `${error.response.data.error.class} `\n }\n body += `${error.response.data.error.message}`\n } else {\n body += `${error.response?.data}`\n }\n if (vueInstance.$notify) {\n vueInstance.$notify.serious({\n title: 'Network error',\n body,\n })\n }\n throw error\n } else {\n throw error\n }\n },\n)\n\nexport default axiosInstance\n","/*\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 2024, 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*/\n\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(\n method,\n params,\n kwparams = {},\n headerOptions = {},\n timeout = 60000\n ) {\n try {\n let refreshed = await OpenC3Auth.updateToken(\n OpenC3Auth.defaultMinValidity\n )\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = window.openc3Scope\n // Everything from the front-end is manual by default\n // The various api methods decide whether to pass the manual\n // flag to the authorize routine\n headerOptions['manual'] = true\n const response = await axios.post(\n '/openc3-api/api',\n {\n jsonrpc: '2.0',\n method: method,\n params: params,\n id: this.id,\n keyword_params: kwparams,\n },\n {\n headers: {\n Authorization: localStorage.openc3Token,\n 'Content-Type': 'application/json-rpc',\n ...headerOptions,\n },\n timeout: timeout,\n }\n )\n // let data = response.data\n // if (data.error) {\n // let err = new Error()\n // err.name = data.error.data.class\n // err.message = data.error.data.message\n // console.log(data.error.data.backtrace.join('\\n'))\n // throw err\n // }\n return response.data.result\n } catch (error) {\n let err = new Error()\n if (error.response) {\n // The request was made and the server responded with a\n // status code that falls out of the range of 2xx\n err.name = error.response.data.error.data.class\n err.message = error.response.data.error.data.message\n } else if (error.request) {\n // The request was made but no response was received, `error.request`\n // is an instance of XMLHttpRequest in the browser and an instance\n // of http.ClientRequest in Node.js\n err.name = 'Request error'\n // NOTE: Openc3Screen.vue uses this specific message to determine\n // if the CmdTlmApi server is down. Don't change unless also changing there.\n err.message = 'Request error, no response received'\n } else {\n // Something happened in setting up the request and triggered an Error\n err.name = 'Unknown error'\n }\n throw err\n }\n }\n\n decode_openc3_type(val) {\n if (val !== null && typeof val === 'object') {\n if (val.json_class == 'Float' && val.raw) {\n if (val.raw == 'NaN') {\n return NaN\n } else if (val.raw == 'Infinity') {\n return Infinity\n } else if (val.raw == '-Infinity') {\n return -Infinity\n }\n }\n }\n return null\n }\n\n encode_openc3_type(val) {\n if (Number.isNaN(val)) {\n return { json_class: 'Float', raw: 'NaN' }\n } else if (val == Number.POSITIVE_INFINITY) {\n return { json_class: 'Float', raw: 'Infinity' }\n } else if (val == Number.NEGATIVE_INFINITY) {\n return { json_class: 'Float', raw: '-Infinity' }\n }\n return null\n }\n\n ensure_offline_access() {\n this.offline_access_needed().then((needed) => {\n if (needed) {\n if (localStorage.openc3OfflineToken) {\n this.set_offline_access(localStorage.openc3OfflineToken).then(() => {\n delete localStorage.openc3OfflineToken\n })\n } else {\n OpenC3Auth.getOfflineAccess()\n }\n }\n })\n }\n\n // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n\n offline_access_needed() {\n return this.exec('offline_access_needed', [])\n }\n\n set_offline_access(offline_access_token) {\n return this.exec('set_offline_access', [offline_access_token])\n }\n\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n map_target_to_interface(target_name, interface_name) {\n return this.exec('map_target_to_interface', [target_name, interface_name])\n }\n\n connect_interface(interface_name, ...interface_params) {\n if (interface_params.length > 0) {\n return this.exec('connect_interface', [\n interface_name,\n ...interface_params,\n ])\n } else {\n return this.exec('connect_interface', [interface_name])\n }\n }\n\n disconnect_interface(interface_name) {\n return this.exec('disconnect_interface', [interface_name])\n }\n\n interface_cmd(interface_name, command_name, ...command_params) {\n return this.exec('interface_cmd', [\n interface_name,\n command_name,\n ...command_params,\n ])\n }\n\n get_all_router_info() {\n return this.exec('get_all_router_info', [])\n }\n\n connect_router(router_name) {\n return this.exec('connect_router', [router_name])\n }\n\n disconnect_router(router_name) {\n return this.exec('disconnect_router', [router_name])\n }\n\n get_target_interfaces() {\n return this.exec('get_target_interfaces', [])\n }\n\n // DEPRECATED\n get_all_target_info() {\n return this.exec('get_all_target_info', [])\n }\n\n get_tlm_cnts(target_commands) {\n return this.exec('get_tlm_cnts', [target_commands])\n }\n\n get_item(target, packet, item) {\n return this.exec('get_item', [target, packet, item])\n }\n\n get_param(target, packet, item) {\n return this.exec('get_param', [target, packet, item])\n }\n // DEPRECATED for get_param\n get_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_limits_sets() {\n return this.exec('get_limits_sets', [])\n }\n\n get_limits_set() {\n return this.exec('get_limits_set', [])\n }\n\n set_limits_set(limits_set) {\n return this.exec('set_limits_set', [limits_set])\n }\n\n // ***********************************************\n // End CmdTlmServer APIs\n // ***********************************************\n\n get_target(target_name) {\n return this.exec('get_target', [target_name])\n }\n\n get_target_names() {\n return this.exec('get_target_names', [])\n }\n // DEPRECATED\n get_target_list() {\n return this.exec('get_target_list', [])\n }\n\n get_tlm(target_name, packet_name) {\n return this.exec('get_tlm', [target_name, packet_name])\n }\n // DEPRECATED\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_tlm(target_name) {\n return this.exec('get_all_tlm', [target_name])\n }\n // DEPRECATED\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name, hidden = false) {\n return this.exec('get_all_tlm_names', [target_name], { hidden: hidden })\n }\n // DEPRECATED\n get_all_telemetry_names(target_name) {\n return this.exec('get_all_telemetry_names', [target_name])\n }\n\n async get_tlm_packet(target_name, packet_name, value_type, stale_time = 30) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\n stale_time: stale_time,\n })\n // Make sure data isn't null or undefined. Note this is the only valid use of == or !=\n if (data != null) {\n let len = data.length\n let converted = null\n for (let i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[i][1])\n if (converted !== null) {\n data[i][1] = converted\n }\n }\n }\n return data\n }\n\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n async get_tlm_values(items, stale_time = 30, cache_timeout = null) {\n let kw_args = {\n stale_time: stale_time,\n }\n if (cache_timeout !== null) {\n kw_args['cache_timeout'] = cache_timeout\n }\n const data = await this.exec(\n 'get_tlm_values',\n [items],\n kw_args,\n {},\n 10000 // 10s timeout ... should never be this long\n )\n let len = data[0].length\n let converted = null\n for (let i = 0; i < len; i++) {\n converted = this.decode_openc3_type(data[0][i])\n if (converted !== null) {\n data[0][i] = converted\n }\n }\n return data\n }\n\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n async tlm(target_name, packet_name, item_name, value_type = 'CONVERTED') {\n let data = null\n // Check for the single string syntax: tlm(\"TGT PKT ITEM\")\n if (packet_name === undefined) {\n data = await this.exec('tlm', [target_name])\n // Check for the single string syntax with type: tlm(\"TGT PKT ITEM\", \"RAW\")\n } else if (item_name === undefined) {\n if (\n ['RAW', 'CONVERTED', 'FORMATTED', 'WITH_UNITS'].includes(packet_name)\n ) {\n data = await this.exec('tlm', [target_name], { type: packet_name })\n } else {\n let err = new Error()\n err.name = 'TypeError'\n err.message = `Invalid data type ${packet_name}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`\n throw err\n }\n } else {\n data = await this.exec('tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n let converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\n }\n\n async inject_tlm(\n target_name,\n packet_name,\n item_hash = null,\n value_type = 'CONVERTED'\n ) {\n data = await this.exec(\n 'inject_tlm',\n [target_name, packet_name, item_hash],\n {\n type: value_type,\n }\n )\n }\n\n set_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('set_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n override_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('override_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_overrides() {\n return this.exec('get_overrides')\n }\n\n normalize_tlm(target_name, packet_name, item_name, value_type) {\n return this.exec('normalize_tlm', [target_name, packet_name, item_name], {\n type: value_type,\n })\n }\n\n get_all_cmds(target_name) {\n return this.exec('get_all_cmds', [target_name])\n }\n // DEPRECATED for get_all_cmds\n get_all_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_cmd_names(target_name, hidden = false) {\n return this.exec('get_all_cmd_names', [target_name], { hidden: hidden })\n }\n // DEPRECATED for get_all_cmd_names\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\n get_cmd(target_name, command_name) {\n return this.exec('get_cmd', [target_name, command_name])\n }\n // DEPRECATED for get_cmd\n get_command(target_name, command_name) {\n return this.exec('get_command', [target_name, command_name])\n }\n\n get_cmd_cnts(target_commands) {\n return this.exec('get_cmd_cnts', [target_commands])\n }\n\n get_cmd_value(\n target_name,\n packet_name,\n parameter_name,\n value_type = 'CONVERTED'\n ) {\n return this.exec('get_cmd_value', [\n target_name,\n packet_name,\n parameter_name,\n value_type,\n ])\n }\n\n get_cmd_buffer(target_name, packet_name) {\n return this.exec('get_cmd_buffer', [target_name, packet_name])\n }\n\n // Implementation of functionality shared by cmd methods with param_lists.\n _cmd(method, target_name, command_name, param_list, headerOptions) {\n let converted = null\n for (let key in param_list) {\n if (Object.prototype.hasOwnProperty.call(param_list, key)) {\n converted = this.encode_openc3_type(param_list[key])\n if (converted !== null) {\n param_list[key] = converted\n }\n }\n }\n return this.exec(\n method,\n [target_name, command_name, param_list],\n {},\n headerOptions\n )\n }\n\n get_cmd_hazardous(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('get_cmd_hazardous', target_name)\n } else {\n return this._cmd(\n 'get_cmd_hazardous',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd(target_name, command_name, param_list, headerOptions = {}) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name, {}, headerOptions)\n } else {\n return this._cmd(\n 'cmd',\n target_name,\n command_name,\n param_list,\n headerOptions\n )\n }\n }\n\n cmd_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw', target_name)\n } else {\n return this._cmd('cmd_raw', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_range_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_range_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_range_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_no_checks', target_name)\n } else {\n return this._cmd('cmd_no_checks', target_name, command_name, param_list)\n }\n }\n\n cmd_raw_no_hazardous_check(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_hazardous_check', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_hazardous_check',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n cmd_raw_no_checks(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd_raw_no_checks', target_name)\n } else {\n return this._cmd(\n 'cmd_raw_no_checks',\n target_name,\n command_name,\n param_list\n )\n }\n }\n\n build_cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_cmd', target_name)\n } else {\n return this._cmd('build_cmd', target_name, command_name, param_list)\n }\n }\n // DEPRECATED for build_cmd\n build_command(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('build_command', target_name)\n } else {\n return this._cmd('build_command', target_name, command_name, param_list)\n }\n }\n\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n send_raw(interface_name, data) {\n return this.exec('send_raw', [interface_name, data])\n }\n\n list_configs(tool) {\n return this.exec('list_configs', [tool])\n }\n\n load_config(tool, name) {\n return this.exec('load_config', [tool, name])\n }\n\n save_config(tool, name, data) {\n return this.exec('save_config', [tool, name, data])\n }\n\n delete_config(tool, name) {\n return this.exec('delete_config', [tool, name])\n }\n\n enable_limits(target, packet, item) {\n return this.exec('enable_limits', [target, packet, item])\n }\n\n disable_limits(target, packet, item) {\n return this.exec('disable_limits', [target, packet, item])\n }\n\n get_out_of_limits() {\n return this.exec('get_out_of_limits', [])\n }\n\n get_overall_limits_state(ignored) {\n return this.exec('get_overall_limits_state', [ignored])\n }\n\n list_settings() {\n return this.exec('list_settings', [])\n }\n\n get_all_settings() {\n return this.exec('get_all_settings', [])\n }\n\n get_setting(name) {\n return this.exec('get_setting', [name])\n }\n\n get_settings(array) {\n return this.exec('get_settings', array)\n }\n\n set_setting(name, data) {\n return this.exec('set_setting', [name, data])\n }\n\n // DEPRECATED\n save_setting(name, data) {\n return this.exec('save_setting', [name, data])\n }\n\n get_metrics() {\n return this.exec('get_metrics', [])\n }\n\n // TODO: Currently unused but seemed like a useful function\n async hashString(string) {\n if (window.isSecureContext) {\n // Encode the string as an arrayBuffer which the subtle crypto API uses\n const arrayBuffer = new TextEncoder().encode(string)\n // Use the subtle crypto API to perform a SHA256 Sum of the array buffer\n // The resulting hash is stored in an array buffer\n const hashAsArrayBuffer = await crypto.subtle.digest(\n 'SHA-256',\n arrayBuffer\n )\n // To create a string we will get the hexadecimal value of each byte of the array buffer\n // This gets us an array where each byte of the array buffer becomes one item in the array\n const uint8ViewOfHash = new Uint8Array(hashAsArrayBuffer)\n // We then convert it to a regular array so we can convert each item to hexadecimal strings\n // Where to characters of 0-9 or a-f represent a number between 0 and 16, containing 4 bits of information, so 2 of them is 8 bits (1 byte).\n return Array.from(uint8ViewOfHash)\n .map((b) => b.toString(16).padStart(2, '0'))\n .join('')\n }\n // else ?\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"align-self\":\"end\"}},[_c('span',{staticClass:\"app-title mr-2\"},[_vm._v(_vm._s(_vm.title))])])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"flex-nowrap\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,ref:\"topmenu\",refInFor:true,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1 menu-button\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label}`)}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_vm._v(\" \"),_c('v-icon',{staticClass:\"myicon\",attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider',{key:j}):(option.subMenu && option.subMenu.length > 0)?_c('div',{key:j},[_c('v-menu',{key:_vm.k,attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-list-item',_vm._g(_vm._b({key:j,attrs:{\"disabled\":option.disabled}},'v-list-item',attrs,false),on),[(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' +\n (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('v-icon',[_vm._v(\" mdi-chevron-right \")])],1)]}}],null,true)},[_vm._v(\" \"),_c('v-list',_vm._l((option.subMenu),function(submenu,k){return _c('v-list-item',{key:k,on:{\"click\":function($event){return _vm.subMenuClick(submenu)}}},[(submenu.icon)?_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(submenu.icon))])],1):_vm._e(),_vm._v(\" \"),_c('v-list-item-title',[_vm._v(_vm._s(submenu.label))])],1)}),1)],1)],1):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT(`${_vm.title} ${menu.label} ${option.label}`)},on:{\"click\":function($event){return option.command(option)}}},[(option.radio)?_c('v-list-item-action',{staticClass:\"list-action\"},[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),_vm._v(\" \"),(option.checkbox)?_c('v-list-item-action',{staticClass:\"list-action\"},[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label},model:{value:(option.checked),callback:function ($$v) {_vm.$set(option, \"checked\", $$v)},expression:\"option.checked\"}})],1):_vm._e(),_vm._v(\" \"),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),_vm._v(\" \"),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=0af23388&scoped=true\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=0af23388&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0af23388\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-container',{attrs:{\"id\":_vm.target}},[_c('div',{staticClass:\"text-h3 text-center\"},[_vm._v(_vm._s(_vm.target))]),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Commands\")])],1),_vm._v(\" \"),_vm._l((_vm.commands),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredParams}})],1)],1)}),_vm._v(\" \"),_c('v-row',[_c('v-col',{staticClass:\"ml-3 text-h4\"},[_vm._v(\"Telemetry\")])],1),_vm._v(\" \"),_vm._l((_vm.telemetry),function(packet){return _c('v-row',{key:packet.packetName,staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":12}},[_c('packet',{attrs:{\"packet\":packet,\"columns\":_vm.columns,\"hideIgnored\":_vm.hideIgnored,\"hideDerived\":_vm.hideDerived,\"ignored\":_vm.ignoredItems}})],1)],1)})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',{staticClass:\"text-h4 justify-center\"},[_vm._v(_vm._s(_vm.packet.target_name)+\" \"+_vm._s(_vm.packet.packet_name))]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.packet.description)+\"\\n \"),_c('div',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.packet.endianness))])]),_vm._v(\" \"),_c('v-card-text',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-col',{key:item.name,attrs:{\"cols\":_vm.columns}},[_c('item',{attrs:{\"item\":item}})],1)}),1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-auto\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.name)+\"\\n \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(_vm._s(_vm.item.description))]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"text--primary\"},[_c('div',[_vm._v(\"Bit Offset: \"+_vm._s(_vm.item.bit_offset))]),_vm._v(\" \"),_c('div',[_vm._v(\"Bit Size: \"+_vm._s(_vm.item.bit_size))]),_vm._v(\" \"),_c('div',[_vm._v(\"Data Type: \"+_vm._s(_vm.item.data_type))]),_vm._v(\" \"),_c('div',[_vm._v(\"Endianness: \"+_vm._s(_vm.item.endianness))]),_vm._v(\" \"),_c('div',[_vm._v(\"Overflow: \"+_vm._s(_vm.item.overflow))]),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'minimum'))?_c('div',[_vm._v(\"\\n Minimum: \"+_vm._s(_vm.item.minimum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'maximum'))?_c('div',[_vm._v(\"\\n Maximum: \"+_vm._s(_vm.item.maximum)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(Object.hasOwn(_vm.item, 'default'))?_c('div',[_vm._v(\"\\n Default: \"+_vm._s(_vm.item.default)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.item.id_value)?_c('div',[_c('strong',[_vm._v(\"ID Value: 0x\"+_vm._s(_vm.item.id_value.toString(16).toUpperCase()))])]):_vm._e(),_vm._v(\" \"),(_vm.readConversion)?_c('div',[_vm._v(\"Read Conversion: \"+_vm._s(_vm.readConversion))]):_vm._e(),_vm._v(\" \"),(_vm.writeConversion)?_c('div',[_vm._v(\"Write Conversion: \"+_vm._s(_vm.writeConversion))]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\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-->\n\n<template>\n <v-card class=\"mx-auto\" outlined>\n <v-card-title class=\"justify-center\">\n {{ item.name }}\n </v-card-title>\n <v-card-subtitle>{{ item.description }}</v-card-subtitle>\n <v-card-text class=\"text--primary\">\n <div>Bit Offset: {{ item.bit_offset }}</div>\n <div>Bit Size: {{ item.bit_size }}</div>\n <div>Data Type: {{ item.data_type }}</div>\n <div>Endianness: {{ item.endianness }}</div>\n <div>Overflow: {{ item.overflow }}</div>\n <div v-if=\"Object.hasOwn(item, 'minimum')\">\n Minimum: {{ item.minimum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'maximum')\">\n Maximum: {{ item.maximum }}\n </div>\n <div v-if=\"Object.hasOwn(item, 'default')\">\n Default: {{ item.default }}\n </div>\n <div v-if=\"item.id_value\">\n <strong\n >ID Value: 0x{{ item.id_value.toString(16).toUpperCase() }}</strong\n >\n </div>\n <div v-if=\"readConversion\">Read Conversion: {{ readConversion }}</div>\n <div v-if=\"writeConversion\">Write Conversion: {{ writeConversion }}</div>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nexport default {\n props: {\n item: {\n type: Object,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n computed: {\n readConversion() {\n if (Object.hasOwn(this.item, 'read_conversion')) {\n let result = `${this.item.read_conversion.class}`\n if (this.item.read_conversion.params) {\n result += ` with ${this.item.read_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n writeConversion() {\n if (Object.hasOwn(this.item, 'write_conversion')) {\n let result = `${this.item.write_conversion.class}`\n if (this.item.write_conversion.params) {\n result += ` with ${this.item.write_conversion.params.join(', ')}`\n }\n return result\n } else {\n return false\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=22d2b16a\"\nimport script from \"./Item.vue?vue&type=script&lang=js\"\nexport * from \"./Item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\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-->\n\n<template>\n <v-card>\n <v-card-title class=\"text-h4 justify-center\"\n >{{ packet.target_name }} {{ packet.packet_name }}</v-card-title\n >\n <v-card-subtitle\n >{{ packet.description }}\n <div class=\"float-right\">{{ packet.endianness }}</div>\n </v-card-subtitle>\n <v-card-text>\n <v-container fluid>\n <v-row dense>\n <v-col v-for=\"item in items\" :key=\"item.name\" :cols=\"columns\">\n <item :item=\"item\"></item>\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n </v-card>\n</template>\n\n<script>\nimport Item from './Item'\n\nexport default {\n components: {\n Item,\n },\n props: {\n packet: {\n type: Object,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n ignored: {\n type: Object,\n },\n },\n computed: {\n items() {\n let items = this.packet.items\n if (this.hideIgnored) {\n items = items.filter((item) => !this.ignored.includes(item.name))\n }\n if (this.hideDerived) {\n items = items.filter((item) => item.data_type !== 'DERIVED')\n }\n return items\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Packet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Packet.vue?vue&type=template&id=69a31f4f\"\nimport script from \"./Packet.vue?vue&type=script&lang=js\"\nexport * from \"./Packet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\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-->\n\n<template>\n <v-card>\n <v-container :id=\"target\">\n <div class=\"text-h3 text-center\">{{ target }}</div>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Commands</v-col>\n </v-row>\n <v-row\n v-for=\"packet in commands\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredParams\"\n ></packet>\n </v-col>\n </v-row>\n <v-row>\n <v-col class=\"ml-3 text-h4\">Telemetry</v-col>\n </v-row>\n <v-row\n v-for=\"packet in telemetry\"\n :key=\"packet.packetName\"\n dense\n class=\"mb-4\"\n >\n <v-col :cols=\"12\">\n <packet\n :packet=\"packet\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n :ignored=\"ignoredItems\"\n ></packet>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Packet from './Packet'\n\nexport default {\n components: {\n Packet,\n },\n props: {\n target: {\n type: String,\n required: true,\n },\n columns: {\n type: Number,\n required: true,\n },\n hideIgnored: {\n type: Boolean,\n required: true,\n },\n hideDerived: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n api: null,\n commands: [],\n telemetry: [],\n ignoredParams: [],\n ignoredItems: [],\n }\n },\n\n created() {\n this.api = new OpenC3Api()\n this.api.get_target(this.target).then((target) => {\n this.ignoredParams = target.ignored_parameters\n this.ignoredItems = target.ignored_items\n })\n // TODO: Test with large DB as this returns ALL commands\n this.api.get_all_cmds(this.target).then((packets) => {\n this.commands = packets\n })\n this.api.get_all_tlm(this.target).then((packets) => {\n this.telemetry = packets\n })\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Target.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Target.vue?vue&type=template&id=045280e6\"\nimport script from \"./Target.vue?vue&type=script&lang=js\"\nexport * from \"./Target.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\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 2023, 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-->\n\n<template>\n <div>\n <top-bar :menus=\"menus\" :title=\"title\" />\n <v-card>\n <v-container class=\"d-print-none\">\n <v-row dense>\n <v-col>\n <v-select\n class=\"ma-0 pa-0\"\n label=\"Select Target(s)\"\n dense\n hide-details\n outlined\n :items=\"targetNames\"\n v-model=\"selectedTargetNames\"\n @change=\"targetSelect\"\n multiple\n >\n <template v-slot:prepend-item>\n <v-list-item ripple @mousedown.prevent @click=\"toggleTargets\">\n <v-list-item-action>\n <v-icon>\n {{ icon }}\n </v-icon>\n </v-list-item-action>\n <v-list-item-content>\n <v-list-item-title> Select All </v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n <v-divider class=\"mt-2\"></v-divider>\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-btn\n class=\"primary\"\n @click=\"renderedTargetNames = selectedTargetNames\"\n >\n Display\n </v-btn>\n </v-col>\n <v-col>\n <v-select\n label=\"Item Columns\"\n dense\n hide-details\n outlined\n v-model=\"columns\"\n :items=\"columnItems\"\n ></v-select>\n </v-col>\n </v-row>\n </v-container>\n </v-card>\n <div style=\"height: 15px\" />\n <div v-for=\"target in renderedTargetNames\" :key=\"target\">\n <target\n :target=\"target\"\n :columns=\"columns\"\n :hideIgnored=\"hideIgnored\"\n :hideDerived=\"hideDerived\"\n ></target>\n </div>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport Target from './Target'\n\nexport default {\n components: {\n TopBar,\n Target,\n },\n data() {\n return {\n title: 'Handbooks',\n targetNames: [],\n selectedTargetNames: [],\n renderedTargetNames: [],\n api: null,\n columns: 3,\n columnItems: [\n { text: '1', value: 12 },\n { text: '2', value: 6 },\n { text: '3', value: 4 },\n { text: '4', value: 3 },\n { text: '6', value: 2 },\n { text: '12', value: 1 },\n ],\n hideIgnored: false,\n hideDerived: false,\n menus: [\n {\n label: 'View',\n items: [\n {\n label: 'Hide Ignored Items',\n checkbox: true,\n command: () => {\n this.hideIgnored = !this.hideIgnored\n },\n },\n {\n label: 'Hide Derived Items',\n checkbox: true,\n command: () => {\n this.hideDerived = !this.hideDerived\n },\n },\n ],\n },\n ],\n }\n },\n computed: {\n allTargetsSelected() {\n return this.targetNames.length === this.selectedTargetNames.length\n },\n someTargetsSelected() {\n return this.selectedTargetNames.length > 0 && !this.allTargetsSelected\n },\n icon() {\n if (this.allTargetsSelected) return 'mdi-close-box'\n if (this.someTargetsSelected) return 'mdi-minus-box'\n return 'mdi-checkbox-blank-outline'\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.api\n .get_target_names({ params: { scope: window.openc3Scope } })\n .then((targets) => {\n this.targetNames = targets\n })\n },\n methods: {\n toggleTargets() {\n this.$nextTick(() => {\n if (this.allTargetsSelected) {\n this.selectedTargetNames = []\n } else {\n this.selectedTargetNames = this.targetNames.slice()\n }\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Handbooks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Handbooks.vue?vue&type=template&id=e58fd9cc\"\nimport script from \"./Handbooks.vue?vue&type=script&lang=js\"\nexport * from \"./Handbooks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-title[data-v-0af23388]{font-size:2rem}.menu-button[data-v-0af23388]{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-0af23388]{padding-right:5px}.list-action[data-v-0af23388] label{color:#fff;padding-left:10px}.myicon[data-v-0af23388]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-0af23388] .v-label{margin-left:5px}.v-list-item__icon[data-v-0af23388]{margin-right:15px!important}.v-list-item__title[data-v-0af23388]{color:#fff}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=0af23388&prod&scoped=true&lang=css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7f447726\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["cov_j54npvll7","actualCoverage","s","render","f","_vm","this","_c","_self","attrs","menus","title","_v","staticClass","targetNames","on","targetSelect","scopedSlots","_u","key","fn","$event","preventDefault","toggleTargets","_s","icon","proxy","model","value","selectedTargetNames","callback","$$v","expression","renderedTargetNames","columnItems","columns","staticStyle","_l","target","hideIgnored","hideDerived","staticRenderFns","vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","$notify","serious","OpenC3Api","constructor","_defineProperty","exec","method","kwparams","headerOptions","login","id","window","openc3Scope","post","jsonrpc","keyword_params","Authorization","localStorage","openc3Token","result","err","Error","name","request","decode_openc3_type","val","json_class","raw","NaN","Infinity","encode_openc3_type","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","ensure_offline_access","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","get_all_interface_info","map_target_to_interface","target_name","interface_name","connect_interface","interface_params","length","disconnect_interface","interface_cmd","command_name","command_params","get_all_router_info","connect_router","router_name","disconnect_router","get_target_interfaces","get_all_target_info","get_tlm_cnts","target_commands","get_item","packet","item","get_param","get_parameter","get_limits_sets","get_limits_set","set_limits_set","limits_set","get_target","get_target_names","get_target_list","get_tlm","packet_name","get_telemetry","get_all_tlm","get_all_telemetry","get_all_tlm_names","hidden","get_all_telemetry_names","get_tlm_packet","value_type","stale_time","type","len","converted","i","get_packet_derived_items","get_tlm_buffer","get_tlm_values","items","cache_timeout","kw_args","get_limits","item_name","tlm","undefined","inject_tlm","item_hash","set_tlm","override_tlm","get_overrides","normalize_tlm","get_all_cmds","get_all_commands","get_all_cmd_names","get_all_command_names","get_cmd","get_command","get_cmd_cnts","get_cmd_value","parameter_name","get_cmd_buffer","_cmd","param_list","Object","prototype","hasOwnProperty","call","get_cmd_hazardous","cmd","cmd_no_range_check","cmd_raw","cmd_raw_no_range_check","cmd_no_hazardous_check","cmd_no_checks","cmd_raw_no_hazardous_check","cmd_raw_no_checks","build_cmd","build_command","get_interface_names","send_raw","list_configs","tool","load_config","save_config","delete_config","enable_limits","disable_limits","get_out_of_limits","get_overall_limits_state","ignored","list_settings","get_all_settings","get_setting","get_settings","array","set_setting","save_setting","get_metrics","hashString","string","isSecureContext","arrayBuffer","TextEncoder","encode","hashAsArrayBuffer","crypto","subtle","digest","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","menu","ref","refInFor","_g","_b","formatDT","label","domProps","radioGroup","option","j","divider","subMenu","k","disabled","_e","radio","checkbox","style","submenu","subMenuClick","command","checked","$set","props","default","String","methods","replaceAll","toLowerCase","$refs","topmenu","isActive","mounted","document","component","cov_iqqsvvixa","commands","packetName","ignoredParams","telemetry","ignoredItems","cov_1scjnunnk3","description","endianness","cov_ff9deo6d4","bit_offset","bit_size","data_type","overflow","hasOwn","minimum","maximum","id_value","toUpperCase","readConversion","writeConversion","required","Boolean","computed","read_conversion","write_conversion","components","Item","filter","Packet","api","created","ignored_parameters","ignored_items","packets","TopBar","Target","text","allTargetsSelected","someTargetsSelected","scope","targets","$nextTick","slice","___CSS_LOADER_EXPORT___","push","module","content","__esModule","locals","exports","add"],"sourceRoot":""}