openc3-cosmos-tool-admin 5.17.1 → 5.18.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openc3-cosmos-tool-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.17.1
4
+ version: 5.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-06-27 00:00:00.000000000 Z
12
+ date: 2024-08-19 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " This plugin adds the OpenC3 COSMOS Administrative interface tool\n"
15
15
  email:
@@ -24,28 +24,28 @@ files:
24
24
  - Rakefile
25
25
  - plugin.txt
26
26
  - tools/admin/index.html
27
- - tools/admin/js/246.js
28
- - tools/admin/js/246.js.map
27
+ - tools/admin/js/142.js
28
+ - tools/admin/js/142.js.map
29
29
  - tools/admin/js/25.js
30
30
  - tools/admin/js/25.js.map
31
31
  - tools/admin/js/272.js
32
32
  - tools/admin/js/272.js.map
33
- - tools/admin/js/383.js
34
- - tools/admin/js/383.js.map
35
- - tools/admin/js/5.js
36
- - tools/admin/js/5.js.map
33
+ - tools/admin/js/361.js
34
+ - tools/admin/js/361.js.map
37
35
  - tools/admin/js/542.js
38
36
  - tools/admin/js/542.js.map
39
37
  - tools/admin/js/55.js
40
38
  - tools/admin/js/55.js.map
39
+ - tools/admin/js/56.js
40
+ - tools/admin/js/56.js.map
41
41
  - tools/admin/js/565.js
42
42
  - tools/admin/js/565.js.map
43
43
  - tools/admin/js/584.js
44
44
  - tools/admin/js/584.js.map
45
+ - tools/admin/js/612.js
46
+ - tools/admin/js/612.js.map
45
47
  - tools/admin/js/627.js
46
48
  - tools/admin/js/627.js.map
47
- - tools/admin/js/670.js
48
- - tools/admin/js/670.js.map
49
49
  - tools/admin/js/712.js
50
50
  - tools/admin/js/712.js.map
51
51
  - tools/admin/js/722.js
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_openc3_cosmos_tool_admin"]=self["webpackChunk_openc3_cosmos_tool_admin"]||[]).push([[246],{2795:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});var o=s(2673);const a=async function(t,e,{data:s,params:a={},headers:n,noAuth:i=!1,noScope:r=!1,onUploadProgress:l={}}={}){if(!i){try{let t=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);t&&OpenC3Auth.setTokens()}catch(c){OpenC3Auth.login()}n["Authorization"]=localStorage.openc3Token}return r||a["scope"]||(a["scope"]=window.openc3Scope),(0,o.A)({method:t,url:e,data:s,params:a,headers:n,onUploadProgress:l})},n={Accept:"application/json"},i={...n,"Content-Type":"application/json"},r={get:function(t,{params:e,headers:s=n,noScope:o,noAuth:i,onUploadProgress:r}={}){return a("get",t,{params:e,headers:s,noScope:o,noAuth:i,onUploadProgress:r})},put:function(t,{data:e,params:s,headers:o=i,noScope:n,noAuth:r,onUploadProgress:l}={}){return a("put",t,{data:e,params:s,headers:o,noScope:n,noAuth:r,onUploadProgress:l})},post:function(t,{data:e,params:s,headers:o=i,noScope:n,noAuth:r,onUploadProgress:l}={}){return a("post",t,{data:e,params:s,headers:o,noScope:n,noAuth:r,onUploadProgress:l})},delete:function(t,{params:e,headers:s=n,noScope:o,noAuth:i,onUploadProgress:r}={}){return a("delete",t,{params:e,headers:s,noScope:o,noAuth:i,onUploadProgress:r})}}},2673:(t,e,s)=>{"use strict";s.d(e,{A:()=>r});var o=s(3816),a=s(1649);const n=new a["default"],i=o.A.create({baseURL:location.origin,timeout:6e4,params:{}});i.interceptors.response.use((t=>t),(t=>{if(t.response){var e,s,o,a,i;if(401===t.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(t){t&&OpenC3Auth.setTokens()})),t.response.config.headers["Ignore-Errors"]&&t.response.config.headers["Ignore-Errors"].includes(t.response.status.toString()))return Promise.reject(t);let l=`HTTP ${t.response.status} - `;if(null!==(e=t.response)&&void 0!==e&&e.statusText&&(l+=`${t.response.statusText} `),null!==(s=t.response)&&void 0!==s&&null!==(s=s.config)&&void 0!==s&&s.data&&(l+=`${t.response.config.data} `),null!==(o=t.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&o.message)l+=`${t.response.data.message}`;else if(null!==(a=t.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&a.exception)l+=`${t.response.data.exception}`;else if(null!==(i=t.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&null!==(i=i.error)&&void 0!==i&&i.message)t.response.data.error.class&&(l+=`${t.response.data.error.class} `),l+=`${t.response.data.error.message}`;else{var r;l+=`${null===(r=t.response)||void 0===r?void 0:r.data}`}throw n.$notify&&n.$notify.serious({title:"Network error",body:l}),t}throw t}));const r=i},3348:(t,e,s)=>{"use strict";s.d(e,{A:()=>c});var o=function(){var t=this,e=t._self._c;return e("v-dialog",{attrs:{width:t.width},model:{value:t.show,callback:function(e){t.show=e},expression:"show"}},[e("v-card",[e("v-system-bar",[e("v-spacer"),t._v(" "),e("span",[t._v(" "+t._s(t.title)+" ")]),t._v(" "),e("v-spacer"),t._v(" "),e("div",{staticClass:"mx-2"},[e("v-tooltip",{attrs:{top:""},scopedSlots:t._u([{key:"activator",fn:function({on:s,attrs:o}){return[e("div",t._g(t._b({},"div",o,!1),s),[e("v-icon",{attrs:{"data-test":"downloadIcon"},on:{click:t.download}},[t._v("\n mdi-download\n ")])],1)]}}])},[t._v(" "),e("span",[t._v(" Download ")])])],1)],1),t._v(" "),e("v-card-text",[e("div",{staticClass:"pa-3"},[e("span",{staticStyle:{"white-space":"pre-wrap"}},[t._v(t._s(t.text))])])]),t._v(" "),e("v-card-actions",[e("v-spacer"),t._v(" "),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(e){t.show=!t.show}}},[t._v(" Ok ")])],1)],1)],1)},a=[];s(7010),s(3165),s(4541),s(4397),s(1412),s(1883),s(7905);const n={props:{value:Boolean,text:String,title:String,width:800},computed:{show:{get(){return this.value},set(t){this.$emit("input",t)}}},methods:{download:function(){const t=new Blob([this.text],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(t),e.setAttribute("download",`${this.title}.txt`),e.click()}}},i=n;var r=s(2401),l=(0,r.A)(i,o,a,!1,null,null,null);const c=l.exports},1246:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>k});var o=function(){var t=this,e=t._self._c;return e("div",[e("v-row",{staticClass:"px-2",attrs:{"no-gutters":"",align:"center"}},[e("v-col",[e("v-file-input",{ref:"fileInput",staticClass:"mx-2",attrs:{multiple:"","show-size":"",accept:".gem,.gz,.zip,.whl",label:"Click to select file(s) to add to COSMOS"},model:{value:t.files,callback:function(e){t.files=e},expression:"files"}})],1),t._v(" "),e("v-col",{staticClass:"ml-4 mr-2",attrs:{cols:"4"}},[e("rux-progress",{attrs:{value:t.progress}})],1),t._v(" "),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"packageUpload",disabled:t.files.length<1,loading:t.loadingPackage},on:{click:function(e){return t.upload()}},scopedSlots:t._u([{key:"loader",fn:function(){return[e("span",[t._v("Loading...")])]},proxy:!0}])},[e("v-icon",{attrs:{left:"",dark:""}},[t._v("mdi-cloud-upload")]),t._v(" "),e("span",[t._v(" Upload ")])],1)],1),t._v(" "),e("v-alert",{attrs:{dismissible:"",transition:"scale-transition",type:t.alertType},model:{value:t.showAlert,callback:function(e){t.showAlert=e},expression:"showAlert"}},[t._v(t._s(t.alert))]),t._v(" "),Object.keys(t.processes).length>0?e("v-list",{staticClass:"list",attrs:{"data-test":"process-list"}},[e("v-row",{staticClass:"px-4",attrs:{"no-gutters":""}},[e("v-col",{staticClass:"text-h6"},[t._v("Process List")]),t._v(" "),e("v-col",{attrs:{align:"right"}},[e("div",[t._v("Showing last 10 min of activity")])])],1),t._v(" "),t._l(t.processes,(function(s){return e("div",{key:s.name},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[e("span",{class:s.state.toLowerCase(),domProps:{textContent:t._s(`Processing ${s.process_type}: ${s.detail} - ${s.state}`)}})]),t._v(" "),e("v-list-item-subtitle",[e("span",{domProps:{textContent:t._s(" Updated At: "+t.formatDate(s.updated_at))}})])],1),t._v(" "),"Running"!==s.state?e("v-list-item-icon",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function({on:o,attrs:a}){return[e("v-icon",t._g(t._b({on:{click:function(e){return t.showOutput(s)}}},"v-icon",a,!1),o),[t._v("\n mdi-eye\n ")])]}}],null,!0)},[t._v(" "),e("span",[t._v("Show Output")])])],1):t._e()],1),t._v(" "),e("v-divider")],1)}))],2):t._e(),t._v(" "),e("v-list",{staticClass:"list",attrs:{"data-test":"packageList"}},[e("v-row",{staticClass:"px-4"},[e("v-col",{staticClass:"text-h6"},[t._v("Ruby Gems")])],1),t._v(" "),t._l(t.gems,(function(s,o){return e("div",{key:o},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[t._v(t._s(s))])],1),t._v(" "),e("v-list-item-icon",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function({on:o,attrs:a}){return[e("v-icon",t._g(t._b({on:{click:function(e){return t.deletePackage(s)}}},"v-icon",a,!1),o),[t._v("\n mdi-delete\n ")])]}}],null,!0)},[t._v(" "),e("span",[t._v("Delete Package")])])],1)],1),t._v(" "),e("v-divider")],1)})),t._v(" "),e("v-row",{staticClass:"px-4"},[e("v-col",{staticClass:"text-h6"},[t._v("Python Packages")])],1),t._v(" "),t._l(t.python,(function(s,o){return e("div",{key:o},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[t._v(t._s(s))])],1),t._v(" "),e("v-list-item-icon",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function({on:o,attrs:a}){return[e("v-icon",t._g(t._b({on:{click:function(e){return t.deletePackage(s)}}},"v-icon",a,!1),o),[t._v("\n mdi-delete\n ")])]}}],null,!0)},[t._v(" "),e("span",[t._v("Delete Package")])])],1)],1),t._v(" "),e("v-divider")],1)}))],2),t._v(" "),e("download-dialog",{model:{value:t.showDownloadDialog,callback:function(e){t.showDownloadDialog=e},expression:"showDownloadDialog"}}),t._v(" "),e("simple-text-dialog",{attrs:{title:"Process Output",text:t.processOutput},model:{value:t.showProcessOutput,callback:function(e){t.showProcessOutput=e},expression:"showProcessOutput"}})],1)},a=[],n=(s(7010),s(584)),i=s(2509),r=s(2795),l=function(){var t=this,e=t._self._c;return e("v-dialog",{attrs:{width:"600"},model:{value:t.show,callback:function(e){t.show=e},expression:"show"}},[e("v-card",[e("v-system-bar",[e("v-spacer"),t._v(" "),e("span",[t._v(" Download Gems ")]),t._v(" "),e("v-spacer")],1),t._v(" "),e("v-card-text",[e("div",{staticClass:"pa-3"},[e("v-row",{staticClass:"my-2"},[t._v(" Select a download option ")]),t._v(" "),e("v-row",[e("v-col",[e("div",{staticClass:"px-2"},[e("v-btn",{attrs:{block:"","data-test":"searchGithub",color:"primary",disabled:t.disableSearch},on:{click:t.searchGithub}},[t._v("\n Github\n "),e("v-icon",{attrs:{right:"",dark:""}},[t._v(" mdi-github ")])],1)],1)])],1),t._v(" "),e("v-row",{staticClass:"mt-5"},[t._v(" Community Gems ")]),t._v(" "),t.listData.length<1?e("div",{staticClass:"mt-4"},[e("v-row",{staticClass:"mx-2"},[e("span",[t._v(" I’m sorry, Dave. No gems available.... ")])])],1):e("div",{staticClass:"mt-4"},t._l(t.listData,(function(s,o){return e("div",{key:o},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[t._v(t._s(s.name))])],1),t._v(" "),e("v-list-item-icon",[t.activeDownload?e("div",[e("v-progress-circular",{attrs:{indeterminate:"",color:"primary"}})],1):e("div",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function({on:o,attrs:a}){return[e("v-icon",t._g(t._b({attrs:{disabled:t.activeDownload},on:{click:function(e){return t.downloadGem(s)}}},"v-icon",a,!1),o),[t._v("\n mdi-cloud-download\n ")])]}}],null,!0)},[t._v(" "),e("span",[t._v("Download Gem")])])],1)])],1),t._v(" "),o<t.listData.length-1?e("v-divider",{key:o}):t._e()],1)})),0)],1)])],1)],1)},c=[],p=s(3816);const u={props:{value:Boolean},data(){return{url:"",type:null,response:null,activeDownload:!1,disableSearch:!1,expanded:[]}},computed:{show:{get(){return this.value},set(t){this.$emit("input",t)}},listData:function(){return this.response?"github"===this.type?this.parseGithub():this.parseRuby():[]}},methods:{parseGithub:function(){const t=/\w+.gem/;return this.response.tree.filter((e=>t.exec(e.path))).map((t=>({name:t.path,url:`https://raw.github.com/OpenC3/openc3-tools/main/${t.path}`})))},getResponse:function(){this.disableSearch=!0,p.A.get(this.url).then((t=>{this.response=t.data})),setTimeout((()=>{this.disableSearch=!1}),1e4)},searchGithub:function(){this.type="github",this.url="https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1",this.getResponse()},downloadGem:function(t){const e=document.createElement("a");e.href=t.url,e.setAttribute("download",t.name),e.click(),e.remove()}}},d=u;var v=s(2401),h=(0,v.A)(d,l,c,!1,null,null,null);const m=h.exports;var _=s(3348);const g={components:{DownloadDialog:m,SimpleTextDialog:_.A},data(){return{showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",files:[],loadingPackage:!1,progress:0,gems:[],python:[],processes:{},alert:"",alertType:"success",showAlert:!1}},mounted(){this.update(),this.updateProcesses()},methods:{showOutput:function(t){this.processOutput=t.output,this.showProcessOutput=!0},update(){r.A.get("/openc3-api/packages").then((t=>{this.gems=t.data.ruby,this.python=t.data.python}))},updateProcesses:function(){r.A.get("/openc3-api/process_status/package_?substr=true").then((t=>{this.processes=t.data,Object.keys(this.processes).length>0&&setTimeout((()=>{this.updateProcesses(),this.update()}),1e4)}))},formatDate(t){return(0,n.GP)((0,i.a)(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},upload:function(){this.loadingPackage=!0,this.progress=0;let t=this;const e=this.files.map((e=>{const s=new FormData;return s.append("package",e,e.name),r.A.post("/openc3-api/packages",{data:s,headers:{"Content-Type":"multipart/form-data"},onUploadProgress:function(e){var s=Math.round(100*e.loaded/e.total);t.progress=s}})}));Promise.all(e).then((t=>{this.alert=`Uploaded ${t.length} package${t.length>1?"s":""}`,this.alertType="success",this.showAlert=!0,this.loadingPackage=!1,this.files=[],setTimeout((()=>{this.showAlert=!1,this.updateProcesses()}),5e3),this.update()})).catch((t=>{this.loadingPackage=!1}))},deletePackage:function(t){this.$dialog.confirm(`Are you sure you want to remove: ${t}`,{okText:"Delete",cancelText:"Cancel"}).then((function(e){return r.A.delete(`/openc3-api/packages/${t}`)})).then((e=>{this.alert=`Removed package ${t}`,this.alertType="success",this.showAlert=!0,setTimeout((()=>{this.showAlert=!1}),5e3),this.update()}))}}},f=g;s(824);var w=(0,v.A)(f,o,a,!1,null,"60e13575",null);const k=w.exports},5616:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>l});var o=s(6758),a=s.n(o),n=s(935),i=s.n(n),r=i()(a());r.push([t.id,".v-subheader[data-v-60e13575]{font-size:1rem}.list[data-v-60e13575]{background-color:var(--color-background-surface-default)!important}",""]);const l=r},824:(t,e,s)=>{var o=s(5616);o.__esModule&&(o=o.default),"string"===typeof o&&(o=[[t.id,o,""]]),o.locals&&(t.exports=o.locals);var a=s(4825).A;a("497748a7",o,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=246.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/246.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/services/api.js","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue?abaa","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/components/SimpleTextDialog.vue?5fff","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/PackagesTab.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/DownloadDialog.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/DownloadDialog.vue?bac1","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/DownloadDialog.vue?83fa","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/PackagesTab.vue?1715","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/PackagesTab.vue?cbd0","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/PackagesTab.vue?d546","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/PackagesTab.vue?46b6"],"sourcesContent":["/*\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.js'\n\nconst request = async function (\n method,\n url,\n {\n data,\n params = {},\n headers,\n noAuth = false,\n noScope = false,\n onUploadProgress = {},\n } = {}\n) {\n if (!noAuth) {\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 headers['Authorization'] = localStorage.openc3Token\n }\n if (!noScope && !params['scope']) {\n params['scope'] = window.openc3Scope\n }\n return axios({\n method,\n url,\n data,\n params,\n headers,\n onUploadProgress,\n })\n}\n\nconst acceptOnlyDefaultHeaders = {\n Accept: 'application/json',\n}\n\nconst fullDefaultHeaders = {\n ...acceptOnlyDefaultHeaders,\n 'Content-Type': 'application/json',\n}\n\nexport default {\n get: function (\n path,\n {\n params,\n headers = acceptOnlyDefaultHeaders,\n noScope,\n noAuth,\n onUploadProgress,\n } = {}\n ) {\n return request('get', path, {\n params,\n headers,\n noScope,\n noAuth,\n onUploadProgress,\n })\n },\n\n put: function (\n path,\n {\n data,\n params,\n headers = fullDefaultHeaders,\n noScope,\n noAuth,\n onUploadProgress,\n } = {}\n ) {\n return request('put', path, {\n data,\n params,\n headers,\n noScope,\n noAuth,\n onUploadProgress,\n })\n },\n\n post: function (\n path,\n {\n data,\n params,\n headers = fullDefaultHeaders,\n noScope,\n noAuth,\n onUploadProgress,\n } = {}\n ) {\n return request('post', path, {\n data,\n params,\n headers,\n noScope,\n noAuth,\n onUploadProgress,\n })\n },\n\n delete: function (\n path,\n {\n params,\n headers = acceptOnlyDefaultHeaders,\n noScope,\n noAuth,\n onUploadProgress,\n } = {}\n ) {\n return request('delete', path, {\n params,\n headers,\n noScope,\n noAuth,\n onUploadProgress,\n })\n },\n}\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 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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":_vm.width},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_vm._v(\" \"),_c('v-spacer'),_vm._v(\" \"),_c('div',{staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"downloadIcon\"},on:{\"click\":_vm.download}},[_vm._v(\"\\n mdi-download\\n \")])],1)]}}])},[_vm._v(\" \"),_c('span',[_vm._v(\" Download \")])])],1)],1),_vm._v(\" \"),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('span',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.text))])])]),_vm._v(\" \"),_c('v-card-actions',[_c('v-spacer'),_vm._v(\" \"),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.show = !_vm.show}}},[_vm._v(\" Ok \")])],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!./SimpleTextDialog.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!./SimpleTextDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SimpleTextDialog.vue?vue&type=template&id=4cd697cc\"\nimport script from \"./SimpleTextDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SimpleTextDialog.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-row',{staticClass:\"px-2\",attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('v-file-input',{ref:\"fileInput\",staticClass:\"mx-2\",attrs:{\"multiple\":\"\",\"show-size\":\"\",\"accept\":\".gem,.gz,.zip,.whl\",\"label\":\"Click to select file(s) to add to COSMOS\"},model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1),_vm._v(\" \"),_c('v-col',{staticClass:\"ml-4 mr-2\",attrs:{\"cols\":\"4\"}},[_c('rux-progress',{attrs:{\"value\":_vm.progress}})],1),_vm._v(\" \"),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\",\"data-test\":\"packageUpload\",\"disabled\":_vm.files.length < 1,\"loading\":_vm.loadingPackage},on:{\"click\":function($event){return _vm.upload()}},scopedSlots:_vm._u([{key:\"loader\",fn:function(){return [_c('span',[_vm._v(\"Loading...\")])]},proxy:true}])},[_c('v-icon',{attrs:{\"left\":\"\",\"dark\":\"\"}},[_vm._v(\"mdi-cloud-upload\")]),_vm._v(\" \"),_c('span',[_vm._v(\" Upload \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"dismissible\":\"\",\"transition\":\"scale-transition\",\"type\":_vm.alertType},model:{value:(_vm.showAlert),callback:function ($$v) {_vm.showAlert=$$v},expression:\"showAlert\"}},[_vm._v(_vm._s(_vm.alert))]),_vm._v(\" \"),(Object.keys(_vm.processes).length > 0)?_c('v-list',{staticClass:\"list\",attrs:{\"data-test\":\"process-list\"}},[_c('v-row',{staticClass:\"px-4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-h6\"},[_vm._v(\"Process List\")]),_vm._v(\" \"),_c('v-col',{attrs:{\"align\":\"right\"}},[_c('div',[_vm._v(\"Showing last 10 min of activity\")])])],1),_vm._v(\" \"),_vm._l((_vm.processes),function(process){return _c('div',{key:process.name},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:process.state.toLowerCase(),domProps:{\"textContent\":_vm._s(\n `Processing ${process.process_type}: ${process.detail} - ${process.state}`\n )}})]),_vm._v(\" \"),_c('v-list-item-subtitle',[_c('span',{domProps:{\"textContent\":_vm._s(' Updated At: ' + _vm.formatDate(process.updated_at))}})])],1),_vm._v(\" \"),(process.state !== 'Running')?_c('v-list-item-icon',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.showOutput(process)}}},'v-icon',attrs,false),on),[_vm._v(\"\\n mdi-eye\\n \")])]}}],null,true)},[_vm._v(\" \"),_c('span',[_vm._v(\"Show Output\")])])],1):_vm._e()],1),_vm._v(\" \"),_c('v-divider')],1)})],2):_vm._e(),_vm._v(\" \"),_c('v-list',{staticClass:\"list\",attrs:{\"data-test\":\"packageList\"}},[_c('v-row',{staticClass:\"px-4\"},[_c('v-col',{staticClass:\"text-h6\"},[_vm._v(\"Ruby Gems\")])],1),_vm._v(\" \"),_vm._l((_vm.gems),function(gem,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(gem))])],1),_vm._v(\" \"),_c('v-list-item-icon',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.deletePackage(gem)}}},'v-icon',attrs,false),on),[_vm._v(\"\\n mdi-delete\\n \")])]}}],null,true)},[_vm._v(\" \"),_c('span',[_vm._v(\"Delete Package\")])])],1)],1),_vm._v(\" \"),_c('v-divider')],1)}),_vm._v(\" \"),_c('v-row',{staticClass:\"px-4\"},[_c('v-col',{staticClass:\"text-h6\"},[_vm._v(\"Python Packages\")])],1),_vm._v(\" \"),_vm._l((_vm.python),function(pkg,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(pkg))])],1),_vm._v(\" \"),_c('v-list-item-icon',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.deletePackage(pkg)}}},'v-icon',attrs,false),on),[_vm._v(\"\\n mdi-delete\\n \")])]}}],null,true)},[_vm._v(\" \"),_c('span',[_vm._v(\"Delete Package\")])])],1)],1),_vm._v(\" \"),_c('v-divider')],1)})],2),_vm._v(\" \"),_c('download-dialog',{model:{value:(_vm.showDownloadDialog),callback:function ($$v) {_vm.showDownloadDialog=$$v},expression:\"showDownloadDialog\"}}),_vm._v(\" \"),_c('simple-text-dialog',{attrs:{\"title\":\"Process Output\",\"text\":_vm.processOutput},model:{value:(_vm.showProcessOutput),callback:function ($$v) {_vm.showProcessOutput=$$v},expression:\"showProcessOutput\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_vm._v(\" \"),_c('span',[_vm._v(\" Download Gems \")]),_vm._v(\" \"),_c('v-spacer')],1),_vm._v(\" \"),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{staticClass:\"my-2\"},[_vm._v(\" Select a download option \")]),_vm._v(\" \"),_c('v-row',[_c('v-col',[_c('div',{staticClass:\"px-2\"},[_c('v-btn',{attrs:{\"block\":\"\",\"data-test\":\"searchGithub\",\"color\":\"primary\",\"disabled\":_vm.disableSearch},on:{\"click\":_vm.searchGithub}},[_vm._v(\"\\n Github\\n \"),_c('v-icon',{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-github \")])],1)],1)])],1),_vm._v(\" \"),_c('v-row',{staticClass:\"mt-5\"},[_vm._v(\" Community Gems \")]),_vm._v(\" \"),(_vm.listData.length < 1)?_c('div',{staticClass:\"mt-4\"},[_c('v-row',{staticClass:\"mx-2\"},[_c('span',[_vm._v(\" I’m sorry, Dave. No gems available.... \")])])],1):_c('div',{staticClass:\"mt-4\"},_vm._l((_vm.listData),function(data,index){return _c('div',{key:index},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(data.name))])],1),_vm._v(\" \"),_c('v-list-item-icon',[(_vm.activeDownload)?_c('div',[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('div',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({attrs:{\"disabled\":_vm.activeDownload},on:{\"click\":function($event){return _vm.downloadGem(data)}}},'v-icon',attrs,false),on),[_vm._v(\"\\n mdi-cloud-download\\n \")])]}}],null,true)},[_vm._v(\" \"),_c('span',[_vm._v(\"Download Gem\")])])],1)])],1),_vm._v(\" \"),(index < _vm.listData.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0)],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!./DownloadDialog.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!./DownloadDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DownloadDialog.vue?vue&type=template&id=5f1d58fe\"\nimport script from \"./DownloadDialog.vue?vue&type=script&lang=js\"\nexport * from \"./DownloadDialog.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","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!./PackagesTab.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!./PackagesTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PackagesTab.vue?vue&type=template&id=60e13575&scoped=true\"\nimport script from \"./PackagesTab.vue?vue&type=script&lang=js\"\nexport * from \"./PackagesTab.vue?vue&type=script&lang=js\"\nimport style0 from \"./PackagesTab.vue?vue&type=style&index=0&id=60e13575&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 \"60e13575\",\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, `.v-subheader[data-v-60e13575]{font-size:1rem}.list[data-v-60e13575]{background-color:var(--color-background-surface-default)!important}`, \"\"]);\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!./PackagesTab.vue?vue&type=style&index=0&id=60e13575&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(\"497748a7\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["request","async","method","url","data","params","headers","noAuth","noScope","onUploadProgress","refreshed","OpenC3Auth","updateToken","defaultMinValidity","setTokens","error","login","localStorage","openc3Token","window","openc3Scope","axios","acceptOnlyDefaultHeaders","Accept","fullDefaultHeaders","get","path","put","post","delete","vueInstance","Vue","axiosInstance","create","baseURL","location","origin","timeout","interceptors","response","use","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","then","config","includes","toString","Promise","reject","body","statusText","message","exception","class","_error$response6","$notify","serious","title","render","_vm","this","_c","_self","attrs","width","model","value","show","callback","$$v","expression","_v","_s","staticClass","scopedSlots","_u","key","fn","on","_g","_b","download","staticStyle","text","$event","staticRenderFns","props","Boolean","String","computed","set","$emit","methods","blob","Blob","type","link","document","createElement","href","URL","createObjectURL","setAttribute","click","component","ref","files","progress","length","loadingPackage","upload","proxy","alertType","showAlert","alert","Object","keys","processes","_l","process","name","state","toLowerCase","domProps","process_type","detail","formatDate","updated_at","showOutput","_e","gems","gem","index","deletePackage","python","pkg","showDownloadDialog","processOutput","showProcessOutput","disableSearch","searchGithub","listData","activeDownload","downloadGem","expanded","parseGithub","parseRuby","gemRegEx","tree","filter","f","exec","map","getResponse","setTimeout","remove","components","DownloadDialog","SimpleTextDialog","mounted","update","updateProcesses","output","Api","ruby","nanoSecs","format","toDate","parseInt","self","promises","file","formData","FormData","append","progressEvent","percentCompleted","Math","round","loaded","total","all","responses","catch","$dialog","confirm","okText","cancelText","dialog","___CSS_LOADER_EXPORT___","push","module","id","content","__esModule","default","locals","exports","add"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self["webpackChunk_openc3_cosmos_tool_admin"]=self["webpackChunk_openc3_cosmos_tool_admin"]||[]).push([[383],{2673:(e,t,s)=>{s.d(t,{A:()=>i});var r=s(3816),n=s(1649);const o=new n["default"],a=r.A.create({baseURL:location.origin,timeout:6e4,params:{}});a.interceptors.response.use((e=>e),(e=>{if(e.response){var t,s,r,n,a;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 l=`HTTP ${e.response.status} - `;if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(l+=`${e.response.statusText} `),null!==(s=e.response)&&void 0!==s&&null!==(s=s.config)&&void 0!==s&&s.data&&(l+=`${e.response.config.data} `),null!==(r=e.response)&&void 0!==r&&null!==(r=r.data)&&void 0!==r&&r.message)l+=`${e.response.data.message}`;else if(null!==(n=e.response)&&void 0!==n&&null!==(n=n.data)&&void 0!==n&&n.exception)l+=`${e.response.data.exception}`;else if(null!==(a=e.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.message)e.response.data.error.class&&(l+=`${e.response.data.error.class} `),l+=`${e.response.data.error.message}`;else{var i;l+=`${null===(i=e.response)||void 0===i?void 0:i.data}`}throw o.$notify&&o.$notify.serious({title:"Network error",body:l}),e}throw e}));const i=a},7699:(e,t,s)=>{s.r(t),s.d(t,{default:()=>U});var r=function(){var e=this,t=e._self._c;return t("div",[t("v-card",[t("v-card-title",[e._v(" Reset suppressed warnings ")]),e._v(" "),t("v-card-subtitle",[e._v('\n This resets "don\'t show this again" dialogs on this browser\n ')]),e._v(" "),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.suppressedWarnings.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-suppressed-warnings"},model:{value:e.selectAllSuppressedWarnings,callback:function(t){e.selectAllSuppressedWarnings=t},expression:"selectAllSuppressedWarnings"}}),e._v(" "),e._l(e.suppressedWarnings,(function(s){return t("v-checkbox",{key:s.key,staticClass:"mt-0",attrs:{label:s.text,value:s.key,dense:""},model:{value:e.selectedSuppressedWarnings,callback:function(t){e.selectedSuppressedWarnings=t},expression:"selectedSuppressedWarnings"}})}))]:[e._v(" No warnings to reset ")]],2),e._v(" "),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedSuppressedWarnings.length,color:"warning",text:"","data-test":"reset-suppressed-warnings"},on:{click:e.resetSuppressedWarnings}},[e._v("\n Reset\n ")])],1)],1),e._v(" "),t("v-divider"),e._v(" "),t("v-card",[t("v-card-title",[e._v(" Clear default configs ")]),e._v(" "),t("v-card-subtitle",[e._v("\n This clears the default tool configs on this browser\n ")]),e._v(" "),t("v-card-text",{staticClass:"pb-0 ml-2"},[e.lastConfigs.length?[t("v-checkbox",{staticClass:"mt-0",attrs:{label:"Select all","data-test":"select-all-default-configs"},model:{value:e.selectAllLastConfigs,callback:function(t){e.selectAllLastConfigs=t},expression:"selectAllLastConfigs"}}),e._v(" "),e._l(e.lastConfigs,(function(s){return t("v-checkbox",{key:s.key,staticClass:"mt-0",attrs:{label:s.text,value:s.key,dense:""},model:{value:e.selectedLastConfigs,callback:function(t){e.selectedLastConfigs=t},expression:"selectedLastConfigs"}})}))]:[e._v(" No configs to clear ")]],2),e._v(" "),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedLastConfigs.length,color:"warning",text:"","data-test":"clear-default-configs"},on:{click:e.clearLastConfigs}},[e._v("\n Clear\n ")])],1)],1),e._v(" "),t("v-divider"),e._v(" "),t("astro-settings"),e._v(" "),t("v-divider"),e._v(" "),t("classification-banner-settings"),e._v(" "),t("v-divider"),e._v(" "),t("v-card",[t("v-card-title",[e._v(" Source code URL ")]),e._v(" "),t("v-card-subtitle",[e._v('\n This sets the URL for the "Source" link in the footer. This is required\n under the AGPL license.\n ')]),e._v(" "),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Source URL","data-test":"source-url"},model:{value:e.sourceUrl,callback:function(t){e.sourceUrl=t},expression:"sourceUrl"}})],1),e._v(" "),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-source-url"},on:{click:e.saveSourceUrl}},[e._v("\n Save\n ")])],1)],1),e._v(" "),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.sourceUrlErrorSaving,callback:function(t){e.sourceUrlErrorSaving=t},expression:"sourceUrlErrorSaving"}},[e._v("\n Error saving\n ")]),e._v(" "),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.sourceUrlSuccessSaving,callback:function(t){e.sourceUrlSuccessSaving=t},expression:"sourceUrlSuccessSaving"}},[e._v("\n Saved! (Refresh the page to see changes)\n ")])],1)],1)],1),e._v(" "),t("v-divider"),e._v(" "),t("v-card",[t("v-card-title",[e._v(" Rubygems URL ")]),e._v(" "),t("v-card-subtitle",[e._v("\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n ")]),e._v(" "),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Rubygems URL","data-test":"rubygems-url"},model:{value:e.rubygemsUrl,callback:function(t){e.rubygemsUrl=t},expression:"rubygemsUrl"}})],1),e._v(" "),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-rubygems-url"},on:{click:e.saveRubygemsUrl}},[e._v("\n Save\n ")])],1)],1),e._v(" "),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.rubygemsUrlErrorSaving,callback:function(t){e.rubygemsUrlErrorSaving=t},expression:"rubygemsUrlErrorSaving"}},[e._v("\n Error saving\n ")]),e._v(" "),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.rubygemsUrlSuccessSaving,callback:function(t){e.rubygemsUrlSuccessSaving=t},expression:"rubygemsUrlSuccessSaving"}},[e._v("\n Saved! (Refresh the page to see changes)\n ")])],1)],1)],1),e._v(" "),t("v-divider"),e._v(" "),t("v-card",[t("v-card-title",[e._v(" Pypi URL ")]),e._v(" "),t("v-card-subtitle",[e._v("\n This sets the URL for installing dependency python packages. Also used\n for package discovery.\n ")]),e._v(" "),t("v-card-text",{staticClass:"pb-0 ml-2"},[t("v-text-field",{attrs:{label:"Pypi URL","data-test":"pypi-url"},model:{value:e.pypiUrl,callback:function(t){e.pypiUrl=t},expression:"pypiUrl"}})],1),e._v(" "),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-pypi-url"},on:{click:e.savePypiUrl}},[e._v("\n Save\n ")])],1)],1),e._v(" "),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.pypiUrlErrorSaving,callback:function(t){e.pypiUrlErrorSaving=t},expression:"pypiUrlErrorSaving"}},[e._v("\n Error saving\n ")]),e._v(" "),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.pypiUrlSuccessSaving,callback:function(t){e.pypiUrlSuccessSaving=t},expression:"pypiUrlSuccessSaving"}},[e._v("\n Saved! (Refresh the page to see changes)\n ")])],1)],1)],1)],1)},n=[],o=(s(4293),s(8715),s(7010),s(814)),a=(s(7107),s(2482),s(7067),s(4147),s(2682),s(785),s(8357),s(6196),s(821),s(6554),s(8472),s(7404),s(5803),s(3912),s(2673));class i{constructor(){(0,o.A)(this,"id",1)}async exec(e,t,s={},r={},n=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(i){OpenC3Auth.login()}this.id=this.id+1;try{s["scope"]=window.openc3Scope;const o=await a.A.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:t,id:this.id,keyword_params:s},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...r},timeout:n});return o.data.result}catch(i){var o=new Error;throw i.response?(o.name=i.response.data.error.data.class,o.message=i.response.data.error.data.message):i.request?(o.name="Request error",o.message="Request error, no response received"):o.name="Unknown error",o}}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,t){return this.exec("map_target_to_interface",[e,t])}connect_interface(e,...t){return t.length>0?this.exec("connect_interface",[e,...t]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,t,...s){return this.exec("interface_cmd",[e,t,...s])}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,t,s){return this.exec("get_item",[e,t,s])}get_param(e,t,s){return this.exec("get_param",[e,t,s])}get_parameter(e,t,s){return this.exec("get_parameter",[e,t,s])}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,t){return this.exec("get_tlm",[e,t])}get_telemetry(e,t){return this.exec("get_telemetry",[e,t])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e){return this.exec("get_all_tlm_names",[e])}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,t,s,r=30){const n=await this.exec("get_tlm_packet",[e,t],{type:s,stale_time:r});if(null!=n)for(var o=n.length,a=null,i=0;i<o;i++)a=this.decode_openc3_type(n[i][1]),null!==a&&(n[i][1]=a);return n}get_packet_derived_items(e,t){return this.exec("get_packet_derived_items",[e,t])}get_tlm_buffer(e,t){return this.exec("get_tlm_buffer",[e,t])}async get_tlm_values(e,t=30,s=null){let r={stale_time:t};null!==s&&(r["cache_timeout"]=s);const n=await this.exec("get_tlm_values",[e],r,{},1e4);for(var o=n[0].length,a=null,i=0;i<o;i++)a=this.decode_openc3_type(n[0][i]),null!==a&&(n[0][i]=a);return n}get_limits(e,t,s){return this.exec("get_limits",[e,t,s])}async tlm(e,t,s,r="CONVERTED"){let n=null;if(void 0===t)n=await this.exec("tlm",[e]);else if(void 0===s){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(t)){var o=new Error;throw o.name="TypeError",o.message=`Invalid data type ${t}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,o}n=await this.exec("tlm",[e],{type:t})}else n=await this.exec("tlm",[e,t,s],{type:r});var a=this.decode_openc3_type(n);return null!==a&&(n=a),n}async inject_tlm(e,t,s=null,r="CONVERTED"){data=await this.exec("inject_tlm",[e,t,s],{type:r})}set_tlm(e,t,s,r){return this.exec("set_tlm",[e,t,s],{type:r})}override_tlm(e,t,s,r){return this.exec("override_tlm",[e,t,s],{type:r})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,t,s,r){return this.exec("normalize_tlm",[e,t,s],{type:r})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e){return this.exec("get_all_cmd_names",[e])}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,t){return this.exec("get_cmd",[e,t])}get_command(e,t){return this.exec("get_command",[e,t])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,t,s,r="CONVERTED"){return this.exec("get_cmd_value",[e,t,s,r])}get_cmd_buffer(e,t){return this.exec("get_cmd_buffer",[e,t])}_cmd(e,t,s,r,n){var o=null;for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(o=this.encode_openc3_type(r[a]),null!==o&&(r[a]=o));return this.exec(e,[t,s,r],{},n)}get_cmd_hazardous(e,t,s){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,s)}cmd(e,t,s,r={}){return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,s,r)}cmd_no_range_check(e,t,s){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,s)}cmd_raw(e,t,s){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,s)}cmd_raw_no_range_check(e,t,s){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,s)}cmd_no_hazardous_check(e,t,s){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,s)}cmd_no_checks(e,t,s){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,s)}cmd_raw_no_hazardous_check(e,t,s){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,s)}cmd_raw_no_checks(e,t,s){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,s)}build_cmd(e,t,s){return void 0===t?this.exec("build_cmd",e):this._cmd("build_cmd",e,t,s)}build_command(e,t,s){return void 0===t?this.exec("build_command",e):this._cmd("build_command",e,t,s)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,t){return this.exec("send_raw",[e,t])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,t){return this.exec("load_config",[e,t])}save_config(e,t,s){return this.exec("save_config",[e,t,s])}delete_config(e,t){return this.exec("delete_config",[e,t])}enable_limits(e,t,s){return this.exec("enable_limits",[e,t,s])}disable_limits(e,t,s){return this.exec("disable_limits",[e,t,s])}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,t){return this.exec("set_setting",[e,t])}save_setting(e,t){return this.exec("save_setting",[e,t])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const t=(new TextEncoder).encode(e),s=await crypto.subtle.digest("SHA-256",t),r=new Uint8Array(s);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}var l=function(){var e=this,t=e._self._c;return t("v-card",[t("v-card-title",[e._v("Astro Settings")]),e._v(" "),t("v-card-text",{staticClass:"pb-0"},[t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorLoading,callback:function(t){e.errorLoading=t},expression:"errorLoading"}},[e._v("\n Error loading previous configuration due to "+e._s(e.errorText)+"\n ")]),e._v(" "),t("v-container",{staticClass:"pb-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-switch",{attrs:{label:"Hide Astro Clock","data-test":"hide-astro-clock"},model:{value:e.hideClock,callback:function(t){e.hideClock=t},expression:"hideClock"}})],1)],1)],1)],1),e._v(" "),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{color:"success",text:"","data-test":"save-astro-settings"},on:{click:e.save}},[e._v("\n Save\n ")])],1)],1),e._v(" "),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v("\n Error saving due to "+e._s(e.errorText)+"\n ")]),e._v(" "),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v("\n Saved! (Refresh the page to see changes)\n ")])],1)],1)],1)},c=[];const u="astro",d={data(){return{api:null,errorLoading:!1,errorSaving:!1,errorText:"",successSaving:!1,hideClock:!1}},computed:{saveObj:function(){return JSON.stringify({hideClock:this.hideClock})}},created(){this.api=new i,this.load()},methods:{load:function(){this.api.get_setting(u).then((e=>{if(this.errorLoading=!1,e){const t=JSON.parse(e);this.hideClock=t.hideClock}})).catch((e=>{this.errorText=e,this.errorLoading=!0}))},save:function(){this.api.set_setting(u,this.saveObj).then((()=>{this.errorSaving=!1,this.successSaving=!0})).catch((e=>{this.errorText=e,this.errorSaving=!0}))}}},_=d;var g=s(2401),v=(0,g.A)(_,l,c,!1,null,null,null);const p=v.exports;var h=function(){var e=this,t=e._self._c;return t("v-card",[t("v-card-title",[e._v("Classification Banner Settings")]),e._v(" "),t("v-card-text",{staticClass:"pb-0"},[t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorLoading,callback:function(t){e.errorLoading=t},expression:"errorLoading"}},[e._v("\n Error loading previous configuration due to "+e._s(e.errorText)+"\n ")]),e._v(" "),t("v-container",{staticClass:"pb-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-text-field",{attrs:{label:"Text","data-test":"classification-banner-text"},model:{value:e.text,callback:function(t){e.text=t},expression:"text"}})],1)],1),e._v(" "),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-select",{attrs:{label:"Background color",items:e.colors,"data-test":"classification-banner-background-color"},scopedSlots:e._u([e.selectedBackgroundColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{attrs:{color:e.selectedBackgroundColor}},[e._v(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(s){return[s.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:s.item.value}},[e._v("\n mdi-square\n ")]):e._e(),e._v("\n "+e._s(s.item.text)+"\n ")]}}],null,!0),model:{value:e.selectedBackgroundColor,callback:function(t){e.selectedBackgroundColor=t},expression:"selectedBackgroundColor"}})],1),e._v(" "),t("v-col",[t("v-text-field",{attrs:{label:"Custom background color",hint:e.customColorHint,disabled:!1!==e.selectedBackgroundColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-background-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedBackgroundColor,expression:"!selectedBackgroundColor"}],attrs:{color:e.customBackgroundColor}},[e._v("\n mdi-square\n ")])]},proxy:!0}]),model:{value:e.customBackgroundColor,callback:function(t){e.customBackgroundColor=t},expression:"customBackgroundColor"}})],1),e._v(" "),t("v-col",[t("v-select",{attrs:{label:"Font color",items:e.colors,"data-test":"classification-banner-font-color"},scopedSlots:e._u([e.selectedFontColor?{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:e.selectedFontColor,expression:"selectedFontColor"}],attrs:{color:e.selectedFontColor}},[e._v("\n mdi-square\n ")])]},proxy:!0}:null,{key:"item",fn:function(s){return[s.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:s.item.value}},[e._v("\n mdi-square\n ")]):e._e(),e._v("\n "+e._s(s.item.text)+"\n ")]}}],null,!0),model:{value:e.selectedFontColor,callback:function(t){e.selectedFontColor=t},expression:"selectedFontColor"}})],1),e._v(" "),t("v-col",[t("v-text-field",{attrs:{label:"Custom font color",hint:e.customColorHint,disabled:!1!==e.selectedFontColor,rules:[e.rules.customColor],"data-test":"classification-banner-custom-font-color"},scopedSlots:e._u([{key:"prepend-inner",fn:function(){return[t("v-icon",{directives:[{name:"show",rawName:"v-show",value:!e.selectedFontColor,expression:"!selectedFontColor"}],attrs:{color:e.customFontColor}},[e._v("\n mdi-square\n ")])]},proxy:!0}]),model:{value:e.customFontColor,callback:function(t){e.customFontColor=t},expression:"customFontColor"}})],1)],1),e._v(" "),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-switch",{attrs:{label:"Display top banner","data-test":"display-top-banner"},model:{value:e.displayTopBanner,callback:function(t){e.displayTopBanner=t},expression:"displayTopBanner"}})],1),e._v(" "),t("v-col",[t("v-text-field",{attrs:{label:"Top height",disabled:!e.displayTopBanner,type:"number",suffix:"px","data-test":"classification-banner-top-height"},model:{value:e.topHeight,callback:function(t){e.topHeight=t},expression:"topHeight"}})],1),e._v(" "),t("v-col",[t("v-switch",{attrs:{label:"Display bottom banner","data-test":"display-bottom-banner"},model:{value:e.displayBottomBanner,callback:function(t){e.displayBottomBanner=t},expression:"displayBottomBanner"}})],1),e._v(" "),t("v-col",[t("v-text-field",{attrs:{label:"Bottom height",disabled:!e.displayBottomBanner,type:"number",suffix:"px","data-test":"classification-banner-bottom-height"},model:{value:e.bottomHeight,callback:function(t){e.bottomHeight=t},expression:"bottomHeight"}})],1)],1)],1)],1),e._v(" "),t("v-card-actions",[t("v-container",{staticClass:"pt-0"},[t("v-row",{attrs:{dense:""}},[t("v-col",{staticClass:"pl-0"},[t("v-btn",{attrs:{disabled:!e.formValid,color:"success",text:"","data-test":"save-classification-banner"},on:{click:e.save}},[e._v("\n Save\n ")])],1)],1),e._v(" "),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v("\n Error saving due to "+e._s(e.errorText)+"\n ")]),e._v(" "),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v("\n Saved! (Refresh the page to see changes)\n ")])],1)],1)],1)},m=[];const f="classification_banner",x={data(){return{api:null,errorLoading:!1,errorSaving:!1,errorText:"",successSaving:!1,text:"",displayTopBanner:!1,displayBottomBanner:!1,topHeight:0,bottomHeight:0,selectedBackgroundColor:"red",customBackgroundColor:"",selectedFontColor:"white",customFontColor:"",customColorHint:"Enter a 3 or 6-digit hex color code",colors:[{text:"Yellow",value:"yellow"},{text:"Orange",value:"orange"},{text:"Red",value:"red"},{text:"Purple",value:"purple"},{text:"Blue",value:"blue"},{text:"Green",value:"green"},{text:"Black",value:"black"},{text:"White",value:"white"},{text:"Custom",value:!1}],rules:{customColor:e=>/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(e)||this.customColorHint}}},computed:{saveObj:function(){return JSON.stringify({text:this.text,fontColor:this.selectedFontColor||this.customFontColor,backgroundColor:this.selectedBackgroundColor||this.customBackgroundColor,topHeight:this.displayTopBanner?this.topHeight:0,bottomHeight:this.displayBottomBanner?this.bottomHeight:0})},formValid:function(){return(this.selectedFontColor||!0===this.rules.customColor(this.customFontColor))&&(this.selectedBackgroundColor||!0===this.rules.customColor(this.customBackgroundColor))}},watch:{displayTopBanner:function(e){this.topHeight=e?20:0},displayBottomBanner:function(e){this.bottomHeight=e?20:0},customFontColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customFontColor=`#${e}`)},customBackgroundColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customBackgroundColor=`#${e}`)}},created(){this.api=new i,this.load()},methods:{load:function(){this.api.get_setting(f).then((e=>{if(this.errorLoading=!1,e){const t=JSON.parse(e);this.text=t.text,this.topHeight=t.topHeight,this.bottomHeight=t.bottomHeight,this.displayTopBanner=0!==t.topHeight,this.displayBottomBanner=0!==t.bottomHeight,t.backgroundColor&&t.backgroundColor.startsWith("#")?(this.customBackgroundColor=t.backgroundColor,this.selectedBackgroundColor=!1):this.selectedBackgroundColor=t.backgroundColor,t.fontColor&&t.fontColor.startsWith("#")?(this.customFontColor=t.fontColor,this.selectedFontColor=!1):this.selectedFontColor=t.fontColor}})).catch((e=>{this.errorText=e,this.errorLoading=!0}))},save:function(){this.api.set_setting(f,this.saveObj).then((()=>{this.errorSaving=!1,this.successSaving=!0})).catch((e=>{this.errorText=e,this.errorSaving=!0}))}}},b=x;var y=(0,g.A)(b,h,m,!1,null,null,null);const C=y.exports,S={components:{AstroSettings:p,ClassificationBannerSettings:C},data(){return{api:new i,suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1,lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1,sourceUrl:"",rubygemsUrl:"",pypiUrl:"",sourceUrlErrorSaving:!1,sourceUrlSuccessSaving:!1,rubygemsUrlErrorSaving:!1,rubygemsUrlSuccessSaving:!1,pypiUrlErrorSaving:!1,pypiUrlSuccessSaving:!1}},watch:{selectAllSuppressedWarnings:function(e){this.selectedSuppressedWarnings=e?this.suppressedWarnings.map((e=>e.key)):[]},selectAllLastConfigs:function(e){this.selectedLastConfigs=e?this.lastConfigs.map((e=>e.key)):[]}},created(){this.loadSuppressedWarnings(),this.loadLastConfigs(),this.loadSourceUrl(),this.loadRubygemsUrl(),this.loadPypiUrl()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter((e=>e.startsWith("suppresswarning__"))).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter((e=>e.endsWith("__default"))).map((e=>{const t=e.split("__")[0].replaceAll("_"," ");return{key:e,text:t.charAt(0).toUpperCase()+t.slice(1)}})),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(e){for(const t of e)delete localStorage[t]},localStorageKeyToDisplayObject:function(e){const t=e.split("__")[0].replaceAll("_"," ");return{key:e,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[e]}},loadSourceUrl:function(){this.api.get_setting("source_url").then((e=>{this.sourceUrl=e})).catch((()=>{this.sourceUrl="https://github.com/OpenC3/cosmos"}))},saveSourceUrl:function(){this.api.set_setting("source_url",this.sourceUrl).then((()=>{this.sourceUrlErrorSaving=!1,this.sourceUrlSuccessSaving=!0})).catch((()=>{this.sourceUrlErrorSaving=!0}))},loadRubygemsUrl:function(){this.api.get_setting("rubygems_url").then((e=>{this.rubygemsUrl=e})).catch((()=>{this.rubygemsUrl="https://rubygems.org"}))},saveRubygemsUrl:function(){this.api.set_setting("rubygems_url",this.rubygemsUrl).then((()=>{this.rubygemsUrlErrorSaving=!1,this.rubygemsUrlSuccessSaving=!0})).catch((()=>{this.rubygemsUrlErrorSaving=!0}))},loadPypiUrl:function(){this.api.get_setting("pypi_url").then((e=>{this.pypiUrl=e})).catch((()=>{this.pypiUrl="https://pypi.org"}))},savePypiUrl:function(){this.api.set_setting("pypi_url",this.pypiUrl).then((()=>{this.pypiUrlErrorSaving=!1,this.pypiUrlSuccessSaving=!0})).catch((()=>{this.pypiUrlErrorSaving=!0}))}}},k=S;var w=(0,g.A)(k,r,n,!1,null,null,null);const U=w.exports},286:(e,t,s)=>{var r=s(4578),n=TypeError;e.exports=function(e,t){if(r(t,e))return e;throw new n("Incorrect invocation")}},7825:(e,t,s)=>{var r=s(6881);e.exports=r([].slice)},9295:(e,t,s)=>{var r=s(7825),n=Math.floor,o=function(e,t){var s=e.length;if(s<8){var a,i,l=1;while(l<s){i=l,a=e[l];while(i&&t(e[i-1],a)>0)e[i]=e[--i];i!==l++&&(e[i]=a)}}else{var c=n(s/2),u=o(r(e,0,c),t),d=o(r(e,c),t),_=u.length,g=d.length,v=0,p=0;while(v<_||p<g)e[v+p]=v<_&&p<g?t(u[v],d[p])<=0?u[v++]:d[p++]:v<_?u[v++]:d[p++]}return e};e.exports=o},997:(e,t,s)=>{var r=s(4530),n=s(4466);e.exports=function(e,t,s){return s.get&&r(s.get,t,{getter:!0}),s.set&&r(s.set,t,{setter:!0}),n.f(e,t,s)}},4320:(e,t,s)=>{var r=s(7509);e.exports=function(e,t,s){for(var n in t)r(e,n,t[n],s);return e}},5821:(e,t,s)=>{var r=s(5691),n=s(4977),o=s(9055),a=r(r.bind);e.exports=function(e,t){return n(e),void 0===t?e:o?a(e,t):function(){return e.apply(t,arguments)}}},5691:(e,t,s)=>{var r=s(8689),n=s(6881);e.exports=function(e){if("Function"===r(e))return n(e)}},9874:(e,t,s)=>{var r=s(5438),n=s(2913),o=s(4318),a=s(9164),i=s(4282),l=i("iterator");e.exports=function(e){if(!o(e))return n(e,l)||n(e,"@@iterator")||a[r(e)]}},2350:(e,t,s)=>{var r=s(9944),n=s(4977),o=s(3770),a=s(3174),i=s(9874),l=TypeError;e.exports=function(e,t){var s=arguments.length<2?i(e):t;if(n(s))return o(r(s,e));throw new l(a(e)+" is not iterable")}},8146:(e,t,s)=>{var r=s(4282),n=s(9164),o=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(n.Array===e||a[o]===e)}},473:(e,t,s)=>{var r=s(831),n=s(8689),o=s(4282),a=o("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"===n(e))}},3113:(e,t,s)=>{var r=s(9944),n=s(4418),o=s(4578),a=s(4932),i=RegExp.prototype;e.exports=function(e){var t=e.flags;return void 0!==t||"flags"in i||n(e,"flags")||!o(i,e)?t:r(a,e)}},8715:(e,t,s)=>{var r=s(5613),n=s(9944),o=s(6881),a=s(9509),i=s(4188),l=s(4318),c=s(473),u=s(2618),d=s(2913),_=s(3113),g=s(1113),v=s(4282),p=s(1942),h=v("replace"),m=TypeError,f=o("".indexOf),x=o("".replace),b=o("".slice),y=Math.max;r({target:"String",proto:!0},{replaceAll:function(e,t){var s,r,o,v,C,S,k,w,U,T=a(this),B=0,E=0,A="";if(!l(e)){if(s=c(e),s&&(r=u(a(_(e))),!~f(r,"g")))throw new m("`.replaceAll` does not allow non-global regexes");if(o=d(e,h),o)return n(o,e,T,t);if(p&&s)return x(u(T),e,t)}v=u(T),C=u(e),S=i(t),S||(t=u(t)),k=C.length,w=y(1,k),B=f(v,C);while(-1!==B)U=S?u(t(C,B,v)):g(C,v,B,[],void 0,t),A+=b(v,E,B)+U,E=B+k,B=B+w>v.length?-1:f(v,C,B+w);return E<v.length&&(A+=b(v,E)),A}})}}]);
2
- //# sourceMappingURL=383.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/383.js","mappings":"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","sources":["webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/AstroSettings.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/AstroSettings.vue?b080","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/AstroSettings.vue?39ae","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?842f","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?735e","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?f7c3","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/SettingsTab.vue?17e6","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/an-instance.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/array-slice.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/array-sort.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/define-built-in-accessor.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/define-built-ins.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/function-bind-context.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/get-iterator-method.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/get-iterator.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/is-array-iterator-method.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/is-regexp.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/regexp-get-flags.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js"],"sourcesContent":["/*\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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-card',[_c('v-card-title',[_vm._v(\" Reset suppressed warnings \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(\"\\n This resets \\\"don't show this again\\\" dialogs on this browser\\n \")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.suppressedWarnings.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-suppressed-warnings\"},model:{value:(_vm.selectAllSuppressedWarnings),callback:function ($$v) {_vm.selectAllSuppressedWarnings=$$v},expression:\"selectAllSuppressedWarnings\"}}),_vm._v(\" \"),_vm._l((_vm.suppressedWarnings),function(warning){return _c('v-checkbox',{key:warning.key,staticClass:\"mt-0\",attrs:{\"label\":warning.text,\"value\":warning.key,\"dense\":\"\"},model:{value:(_vm.selectedSuppressedWarnings),callback:function ($$v) {_vm.selectedSuppressedWarnings=$$v},expression:\"selectedSuppressedWarnings\"}})})]:[_vm._v(\" No warnings to reset \")]],2),_vm._v(\" \"),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedSuppressedWarnings.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"reset-suppressed-warnings\"},on:{\"click\":_vm.resetSuppressedWarnings}},[_vm._v(\"\\n Reset\\n \")])],1)],1),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear default configs \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(\"\\n This clears the default tool configs on this browser\\n \")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[(_vm.lastConfigs.length)?[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":\"Select all\",\"data-test\":\"select-all-default-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._v(\" \"),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":config.text,\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_vm._v(\" \"),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-default-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\"\\n Clear\\n \")])],1)],1),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('astro-settings'),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('classification-banner-settings'),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(\"\\n This sets the URL for the \\\"Source\\\" link in the footer. This is required\\n under the AGPL license.\\n \")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Source URL\",\"data-test\":\"source-url\"},model:{value:(_vm.sourceUrl),callback:function ($$v) {_vm.sourceUrl=$$v},expression:\"sourceUrl\"}})],1),_vm._v(\" \"),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-source-url\"},on:{\"click\":_vm.saveSourceUrl}},[_vm._v(\"\\n Save\\n \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.sourceUrlErrorSaving),callback:function ($$v) {_vm.sourceUrlErrorSaving=$$v},expression:\"sourceUrlErrorSaving\"}},[_vm._v(\"\\n Error saving\\n \")]),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.sourceUrlSuccessSaving),callback:function ($$v) {_vm.sourceUrlSuccessSaving=$$v},expression:\"sourceUrlSuccessSaving\"}},[_vm._v(\"\\n Saved! (Refresh the page to see changes)\\n \")])],1)],1)],1),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(\"\\n This sets the URL for installing dependency rubygems. Also used for\\n rubygem discovery.\\n \")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Rubygems URL\",\"data-test\":\"rubygems-url\"},model:{value:(_vm.rubygemsUrl),callback:function ($$v) {_vm.rubygemsUrl=$$v},expression:\"rubygemsUrl\"}})],1),_vm._v(\" \"),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-rubygems-url\"},on:{\"click\":_vm.saveRubygemsUrl}},[_vm._v(\"\\n Save\\n \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.rubygemsUrlErrorSaving),callback:function ($$v) {_vm.rubygemsUrlErrorSaving=$$v},expression:\"rubygemsUrlErrorSaving\"}},[_vm._v(\"\\n Error saving\\n \")]),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.rubygemsUrlSuccessSaving),callback:function ($$v) {_vm.rubygemsUrlSuccessSaving=$$v},expression:\"rubygemsUrlSuccessSaving\"}},[_vm._v(\"\\n Saved! (Refresh the page to see changes)\\n \")])],1)],1)],1),_vm._v(\" \"),_c('v-divider'),_vm._v(\" \"),_c('v-card',[_c('v-card-title',[_vm._v(\" Pypi URL \")]),_vm._v(\" \"),_c('v-card-subtitle',[_vm._v(\"\\n This sets the URL for installing dependency python packages. Also used\\n for package discovery.\\n \")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0 ml-2\"},[_c('v-text-field',{attrs:{\"label\":\"Pypi URL\",\"data-test\":\"pypi-url\"},model:{value:(_vm.pypiUrl),callback:function ($$v) {_vm.pypiUrl=$$v},expression:\"pypiUrl\"}})],1),_vm._v(\" \"),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-pypi-url\"},on:{\"click\":_vm.savePypiUrl}},[_vm._v(\"\\n Save\\n \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.pypiUrlErrorSaving),callback:function ($$v) {_vm.pypiUrlErrorSaving=$$v},expression:\"pypiUrlErrorSaving\"}},[_vm._v(\"\\n Error saving\\n \")]),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.pypiUrlSuccessSaving),callback:function ($$v) {_vm.pypiUrlSuccessSaving=$$v},expression:\"pypiUrlSuccessSaving\"}},[_vm._v(\"\\n Saved! (Refresh the page to see changes)\\n \")])],1)],1)],1)],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 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 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 // var data = response.data\n // if (data.error) {\n // var 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 var 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 // DEPREACTE\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\n get_all_tlm_names(target_name) {\n return this.exec('get_all_tlm_names', [target_name])\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 var len = data.length\n var converted = null\n for (var 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 var len = data[0].length\n var converted = null\n for (var 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 var 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 var 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) {\n return this.exec('get_all_cmd_names', [target_name])\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 var converted = null\n for (var 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('v-card',[_c('v-card-title',[_vm._v(\"Astro Settings\")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\"\\n Error loading previous configuration due to \"+_vm._s(_vm.errorText)+\"\\n \")]),_vm._v(\" \"),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Hide Astro Clock\",\"data-test\":\"hide-astro-clock\"},model:{value:(_vm.hideClock),callback:function ($$v) {_vm.hideClock=$$v},expression:\"hideClock\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-astro-settings\"},on:{\"click\":_vm.save}},[_vm._v(\"\\n Save\\n \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\"\\n Error saving due to \"+_vm._s(_vm.errorText)+\"\\n \")]),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\"\\n Saved! (Refresh the page to see changes)\\n \")])],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!./AstroSettings.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!./AstroSettings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AstroSettings.vue?vue&type=template&id=0f5e31bd\"\nimport script from \"./AstroSettings.vue?vue&type=script&lang=js\"\nexport * from \"./AstroSettings.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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',[_c('v-card-title',[_vm._v(\"Classification Banner Settings\")]),_vm._v(\" \"),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorLoading),callback:function ($$v) {_vm.errorLoading=$$v},expression:\"errorLoading\"}},[_vm._v(\"\\n Error loading previous configuration due to \"+_vm._s(_vm.errorText)+\"\\n \")]),_vm._v(\" \"),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Text\",\"data-test\":\"classification-banner-text\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_vm._v(\" \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-select',{attrs:{\"label\":\"Background color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-background-color\"},scopedSlots:_vm._u([(_vm.selectedBackgroundColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{attrs:{\"color\":_vm.selectedBackgroundColor}},[_vm._v(\" mdi-square \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\"\\n mdi-square\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(data.item.text)+\"\\n \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom background color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedBackgroundColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-background-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedBackgroundColor),expression:\"!selectedBackgroundColor\"}],attrs:{\"color\":_vm.customBackgroundColor}},[_vm._v(\"\\n mdi-square\\n \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-select',{attrs:{\"label\":\"Font color\",\"items\":_vm.colors,\"data-test\":\"classification-banner-font-color\"},scopedSlots:_vm._u([(_vm.selectedFontColor)?{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedFontColor),expression:\"selectedFontColor\"}],attrs:{\"color\":_vm.selectedFontColor}},[_vm._v(\"\\n mdi-square\\n \")])]},proxy:true}:null,{key:\"item\",fn:function(data){return [(data.item.value)?_c('v-icon',{staticClass:\"pr-1\",attrs:{\"color\":data.item.value}},[_vm._v(\"\\n mdi-square\\n \")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(data.item.text)+\"\\n \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Custom font color\",\"hint\":_vm.customColorHint,\"disabled\":_vm.selectedFontColor !== false,\"rules\":[_vm.rules.customColor],\"data-test\":\"classification-banner-custom-font-color\"},scopedSlots:_vm._u([{key:\"prepend-inner\",fn:function(){return [_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.selectedFontColor),expression:\"!selectedFontColor\"}],attrs:{\"color\":_vm.customFontColor}},[_vm._v(\"\\n mdi-square\\n \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_vm._v(\" \"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display top banner\",\"data-test\":\"display-top-banner\"},model:{value:(_vm.displayTopBanner),callback:function ($$v) {_vm.displayTopBanner=$$v},expression:\"displayTopBanner\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Top height\",\"disabled\":!_vm.displayTopBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-top-height\"},model:{value:(_vm.topHeight),callback:function ($$v) {_vm.topHeight=$$v},expression:\"topHeight\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-switch',{attrs:{\"label\":\"Display bottom banner\",\"data-test\":\"display-bottom-banner\"},model:{value:(_vm.displayBottomBanner),callback:function ($$v) {_vm.displayBottomBanner=$$v},expression:\"displayBottomBanner\"}})],1),_vm._v(\" \"),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Bottom height\",\"disabled\":!_vm.displayBottomBanner,\"type\":\"number\",\"suffix\":\"px\",\"data-test\":\"classification-banner-bottom-height\"},model:{value:(_vm.bottomHeight),callback:function ($$v) {_vm.bottomHeight=$$v},expression:\"bottomHeight\"}})],1)],1)],1)],1),_vm._v(\" \"),_c('v-card-actions',[_c('v-container',{staticClass:\"pt-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pl-0\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.formValid,\"color\":\"success\",\"text\":\"\",\"data-test\":\"save-classification-banner\"},on:{\"click\":_vm.save}},[_vm._v(\"\\n Save\\n \")])],1)],1),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\"\\n Error saving due to \"+_vm._s(_vm.errorText)+\"\\n \")]),_vm._v(\" \"),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\"\\n Saved! (Refresh the page to see changes)\\n \")])],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!./ClassificationBannerSettings.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!./ClassificationBannerSettings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ClassificationBannerSettings.vue?vue&type=template&id=40e1a34d\"\nimport script from \"./ClassificationBannerSettings.vue?vue&type=script&lang=js\"\nexport * from \"./ClassificationBannerSettings.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","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!./SettingsTab.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!./SettingsTab.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SettingsTab.vue?vue&type=template&id=30b1116c\"\nimport script from \"./SettingsTab.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsTab.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","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = indexOf(string, searchString);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n"],"names":["vueInstance","Vue","axiosInstance","axios","create","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","config","headers","includes","toString","Promise","reject","body","statusText","data","message","exception","class","_error$response6","$notify","serious","title","render","_vm","this","_c","_self","_v","staticClass","suppressedWarnings","length","attrs","model","value","selectAllSuppressedWarnings","callback","$$v","expression","_l","warning","key","text","selectedSuppressedWarnings","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","sourceUrlErrorSaving","sourceUrlSuccessSaving","rubygemsUrl","saveRubygemsUrl","rubygemsUrlErrorSaving","rubygemsUrlSuccessSaving","pypiUrl","savePypiUrl","pypiUrlErrorSaving","pypiUrlSuccessSaving","staticRenderFns","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","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","target","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","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","errorLoading","_s","errorText","hideClock","save","errorSaving","successSaving","settingName","api","computed","saveObj","JSON","stringify","created","load","methods","parsed","parse","catch","component","colors","scopedSlots","_u","selectedBackgroundColor","fn","proxy","_e","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","test","fontColor","backgroundColor","watch","startsWith","components","AstroSettings","ClassificationBannerSettings","loadSuppressedWarnings","loadLastConfigs","loadSourceUrl","loadRubygemsUrl","loadPypiUrl","keys","filter","localStorageKeyToDisplayObject","deleteLocalStorageKeys","endsWith","split","replaceAll","charAt","toUpperCase","slice","isPrototypeOf","$TypeError","TypeError","module","exports","it","Prototype","uncurryThis","arraySlice","floor","Math","sort","comparefn","element","j","middle","left","right","llength","rlength","lindex","rindex","makeBuiltIn","defineProperty","descriptor","get","getter","set","setter","f","defineBuiltIn","src","options","aCallable","NATIVE_BIND","bind","that","apply","arguments","classofRaw","classof","getMethod","isNullOrUndefined","Iterators","wellKnownSymbol","ITERATOR","anObject","tryToString","getIteratorMethod","argument","usingIterator","iteratorMethod","ArrayPrototype","isObject","MATCH","isRegExp","hasOwn","regExpFlags","RegExpPrototype","RegExp","R","flags","$","requireObjectCoercible","isCallable","getRegExpFlags","getSubstitution","IS_PURE","REPLACE","indexOf","replace","stringSlice","max","proto","searchValue","replaceValue","IS_REG_EXP","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch"],"sourceRoot":""}