openc3-cosmos-tool-admin 5.5.2.pre.beta0.20230315040419 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/tools/admin/index.html +1 -4
  3. data/tools/admin/js/126.js +2 -0
  4. data/tools/admin/js/126.js.map +1 -0
  5. data/tools/admin/js/133.js +2 -0
  6. data/tools/admin/js/133.js.map +1 -0
  7. data/tools/admin/js/19.js +2 -0
  8. data/tools/admin/js/19.js.map +1 -0
  9. data/tools/admin/js/224.js +2 -0
  10. data/tools/admin/js/224.js.map +1 -0
  11. data/tools/admin/js/303.js +1 -1
  12. data/tools/admin/js/303.js.map +1 -1
  13. data/tools/admin/js/317.js +2 -0
  14. data/tools/admin/js/317.js.map +1 -0
  15. data/tools/admin/js/398.js +2 -0
  16. data/tools/admin/js/398.js.map +1 -0
  17. data/tools/admin/js/446.js +2 -0
  18. data/tools/admin/js/446.js.map +1 -0
  19. data/tools/admin/js/559.js +2 -0
  20. data/tools/admin/js/559.js.map +1 -0
  21. data/tools/admin/js/566.js +2 -0
  22. data/tools/admin/js/566.js.map +1 -0
  23. data/tools/admin/js/635.js +2 -0
  24. data/tools/admin/js/635.js.map +1 -0
  25. data/tools/admin/js/661.js +2 -0
  26. data/tools/admin/js/661.js.map +1 -0
  27. data/tools/admin/js/837.js +8 -0
  28. data/tools/admin/js/837.js.map +1 -0
  29. data/tools/admin/js/876.js +41 -0
  30. data/tools/admin/js/876.js.map +1 -0
  31. data/tools/admin/js/{355.js → 999.js} +2 -2
  32. data/tools/admin/js/{355.js.map → 999.js.map} +1 -1
  33. data/tools/admin/js/app.js +1 -1
  34. data/tools/admin/js/app.js.map +1 -1
  35. metadata +32 -28
  36. data/tools/admin/js/13.js +0 -2
  37. data/tools/admin/js/13.js.map +0 -1
  38. data/tools/admin/js/193.js +0 -2
  39. data/tools/admin/js/193.js.map +0 -1
  40. data/tools/admin/js/374.js +0 -2
  41. data/tools/admin/js/374.js.map +0 -1
  42. data/tools/admin/js/461.js +0 -2
  43. data/tools/admin/js/461.js.map +0 -1
  44. data/tools/admin/js/519.js +0 -2
  45. data/tools/admin/js/519.js.map +0 -1
  46. data/tools/admin/js/549.js +0 -2
  47. data/tools/admin/js/549.js.map +0 -1
  48. data/tools/admin/js/558.js +0 -2
  49. data/tools/admin/js/558.js.map +0 -1
  50. data/tools/admin/js/664.js +0 -2
  51. data/tools/admin/js/664.js.map +0 -1
  52. data/tools/admin/js/731.js +0 -2
  53. data/tools/admin/js/731.js.map +0 -1
  54. data/tools/admin/js/734.js +0 -2
  55. data/tools/admin/js/734.js.map +0 -1
  56. data/tools/admin/js/921.js +0 -9
  57. data/tools/admin/js/921.js.map +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8cc85cd6c3d9f65543996f42c0142ac70e505d425e1300b0e6122534acd8b15
4
- data.tar.gz: 985753f2dcdbb2e2d71990e823e58e388f5d3560ad73f4ac02920cd051420fc0
3
+ metadata.gz: 6c848c685de26321db2f655fcc2649e789a560498cc55d6447c39e5557d72525
4
+ data.tar.gz: b4b5f5c748335217a332ef1a5c95b98f0c952da2d8838812c58c4ee232799143
5
5
  SHA512:
6
- metadata.gz: '0355699372e93a7d3816a968936d53ec623b1b2fd2cc3725d49881da4b2bbf7c6e4be0817ff33f755fbdfa34b51bd13a12aed817b2d201a1c73002a1e1510e0c'
7
- data.tar.gz: beb6e4367f285e1661883961ac1586594115eec6ea0e0987614152daebf5d79a773fdb9b80e7669fa4d5891a3253b505a1c822de36294cb9b67fd09757528860
6
+ metadata.gz: f81b8a49ded338f69a373c0dd6b057a7d699a674f5fdaff4499d2e9851e1a092020b37cc218067bd025297f08d4c4efea86fa862faeeb5bc7191b7d7a7d78309
7
+ data.tar.gz: 8fcb4a9f4e9df3948242ddbaadef7c94e894b496ff8f7988c6c0837ba1de90bb8e34c8b80d7d1b386173a0151f8e9aef6cfa9f0e602086c752e33bb5924a067e
@@ -1,4 +1 @@
1
- <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><main><h1>Your Microfrontend is not here</h1><p>The @openc3/cosmos-tool-admin microfrontend is running in "integrated" mode, since standalone-single-spa-webpack-plugin is disabled. This means that it does not work as a standalone application without changing configuration.</p><h2>How do I develop this microfrontend?</h2><p>To develop this microfrontend, try the following steps:</p><ol><li>Copy the following URL to your clipboard: <a target="_blank" rel="noopener" id="mf-url"></a></li><li>In a new browser tab, go to the your single-spa web app. This is where your "root config" is running. You do not have to run the root config locally if it is already running on a deployed environment - go to the deployed environment directly.</li><li>In the browser console, run <code>localStorage.setItem('devtools', true);</code> Refresh the page.</li><li>A yellowish rectangle should appear at the bottom right of your screen. Click on it. Find the name @openc3/cosmos-tool-admin and click on it. If it is not present, click on Add New Module.</li><li>Paste the URL above into the input that appears. Refresh the page.</li><li>Congrats, your local code is now being used!</li></ol><p></p><p>For further information about "integrated" mode, see the following links:</p><ul><li><a target="_blank" rel="noopener" href="https://single-spa.js.org/docs/recommended-setup#local-development">Local Development Overview</a></li><li><a target="_blank" rel="noopener" href="https://github.com/joeldenning/import-map-overrides">Import Map Overrides Documentation</a></li></ul><p></p><h2>If you prefer Standalone mode</h2><p>To run this microfrontend in "standalone" mode, the standalone-single-spa-webpack-plugin must not be disabled. In some cases, this is done by running <code>npm run start:standalone</code>. Alternatively, you can add <code>--env standalone</code> to your package.json start script if you are using webpack-config-single-spa.</p>If neither of those work for you, see more details about enabling standalone mode at <a target="_blank" rel="noopener" href="https://github.com/single-spa/standalone-single-spa-webpack-plugin">Standalone Plugin Documentation</a>.<p></p><script>const mfLink = document.getElementById('mf-url');
2
- const fullSrc = new URL('/tools/admin//tools/admin/js/app.js', window.location.href);
3
- mfLink.href = fullSrc;
4
- mfLink.textContent = fullSrc;</script></main></head><body><div id="app"></div></body></html>
1
+ <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><script defer="defer" src="/tools/admin/js/app.js"></script></head><body><div id="app"></div></body></html>
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_admin"]=self["webpackChunk_openc3_cosmos_tool_admin"]||[]).push([[126],{6129:function(t,e,o){"use strict";var n=o(6964),a=o(5789),i=o(9502),s=o(9373),r=function(){var t=(0,i.Z)((0,a.Z)().mark((function t(e,o){var n,i,r,l,c,d,u,p,v,h,f=arguments;return(0,a.Z)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=f.length>2&&void 0!==f[2]?f[2]:{},i=n.data,r=n.params,l=void 0===r?{}:r,c=n.headers,d=n.noAuth,u=void 0!==d&&d,p=n.noScope,v=void 0!==p&&p,u){t.next=13;break}return t.prev=2,t.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:h=t.sent,h&&OpenC3Auth.setTokens(),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](2),OpenC3Auth.login();case 12:c["Authorization"]=localStorage.openc3Token;case 13:return v||l["scope"]||(l["scope"]=window.openc3Scope),t.abrupt("return",(0,s.Z)({method:e,url:o,data:i,params:l,headers:c}));case 15:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,o){return t.apply(this,arguments)}}(),l={Accept:"application/json"},c=(0,n.Z)((0,n.Z)({},l),{},{"Content-Type":"application/json"});e["Z"]={get:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.params,n=e.headers,a=void 0===n?l:n,i=e.noScope,s=e.noAuth;return r("get",t,{params:o,headers:a,noScope:i,noAuth:s})},put:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.data,n=e.params,a=e.headers,i=void 0===a?c:a,s=e.noScope,l=e.noAuth;return r("put",t,{data:o,params:n,headers:i,noScope:s,noAuth:l})},post:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.data,n=e.params,a=e.headers,i=void 0===a?c:a,s=e.noScope,l=e.noAuth;return r("post",t,{data:o,params:n,headers:i,noScope:s,noAuth:l})},delete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.params,n=e.headers,a=void 0===n?l:n,i=e.noScope,s=e.noAuth;return r("delete",t,{params:o,headers:a,noScope:i,noAuth:s})}}},9373:function(t,e,o){"use strict";o(9529),o(1235),o(8188),o(8233);var n=o(9644),a=o.n(n),i=o(4091),s=new i["default"],r=a().create({baseURL:location.origin,timeout:6e4,params:{}});r.interceptors.response.use((function(t){return t}),(function(t){if(t.response){var e,o,n,a,i,r,l,c,d,u;if(401===t.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(t){t&&OpenC3Auth.setTokens()})),t.response.headers["ignore-errors"]&&t.response.headers["ignore-errors"].includes(t.response.status.toString()))return Promise.reject(t);var p="HTTP ".concat(t.response.status," - ");if(null!==(e=t.response)&&void 0!==e&&e.statusText&&(p+="".concat(t.response.statusText," ")),null!==(o=t.response)&&void 0!==o&&null!==(n=o.config)&&void 0!==n&&n.data&&(p+="".concat(t.response.config.data," ")),null!==(a=t.response)&&void 0!==a&&null!==(i=a.data)&&void 0!==i&&i.message)p+="".concat(t.response.data.message);else if(null!==(r=t.response)&&void 0!==r&&null!==(l=r.data)&&void 0!==l&&l.exception)p+="".concat(t.response.data.exception);else if(null!==(c=t.response)&&void 0!==c&&null!==(d=c.data)&&void 0!==d&&null!==(u=d.error)&&void 0!==u&&u.message)t.response.data.error.class&&(p+="".concat(t.response.data.error.class," ")),p+="".concat(t.response.data.error.message);else{var v;p+="".concat(null===(v=t.response)||void 0===v?void 0:v.data)}throw s.$notify&&s.$notify.serious({title:"Network error",body:p}),t}throw t})),e["Z"]=r},9564:function(t,e,o){"use strict";o.d(e,{Z:function(){return d}});var n=function(){var t=this,e=t._self._c;return e("v-dialog",{attrs:{persistent:!t.readonly,width:"80vw"},model:{value:t.show,callback:function(e){t.show=e},expression:"show"}},[e("v-card",[e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("v-system-bar",[e("v-spacer"),e("span",{domProps:{textContent:t._s(t.title)}}),e("v-spacer"),e("div",{staticClass:"mx-2"},[e("v-tooltip",{attrs:{top:""},scopedSlots:t._u([{key:"activator",fn:function(o){var n=o.on,a=o.attrs;return[e("div",t._g(t._b({},"div",a,!1),n),[e("v-icon",{attrs:{"data-test":"downloadIcon"},on:{click:t.download}},[t._v(" mdi-download ")])],1)]}}])},[e("span",[t._v(" Download ")])])],1)],1),e("v-card-text",[e("div",{staticClass:"pa-3"},[t.readonly?t._e():e("div",[e("v-row",{staticClass:"mt-3"},[t._v(" Upload a file. ")]),e("v-row",{attrs:{"no-gutters":"",align:"center"}},[e("v-col",{attrs:{cols:"3"}},[e("v-btn",{attrs:{block:"",color:"success",disabled:!t.file||t.loadingFile||t.readonly,loading:t.loadingFile,"data-test":"editScreenLoadBtn"},on:{click:t.loadFile},scopedSlots:t._u([{key:"loader",fn:function(){return[e("span",[t._v("Loading...")])]},proxy:!0}],null,!1,2673048543)},[t._v(" Load ")])],1),e("v-col",{attrs:{cols:"9"}},[e("v-file-input",{attrs:{accept:".json",label:"Click to select .json file.",disabled:t.readonly},model:{value:t.file,callback:function(e){t.file=e},expression:"file"}})],1)],1)],1),e("v-row",{attrs:{"no-gutters":""}},[e("pre",{ref:"editor",staticClass:"editor"})]),e("v-row",{staticClass:"my-3"},[e("span",{directives:[{name:"show",rawName:"v-show",value:t.error,expression:"error"}],staticClass:"red--text",domProps:{textContent:t._s(t.error)}})]),e("v-row",[e("v-spacer"),e("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"editCancelBtn"},on:{click:function(e){return e.preventDefault(),t.close.apply(null,arguments)}}},[t._v(" Cancel ")]),t.readonly?t._e():e("v-btn",{staticClass:"mx-2",attrs:{color:"primary",type:"submit","data-test":"editSubmitBtn",disabled:!!t.error||t.readonly}},[t._v(" Save ")])],1)],1)])],1)])],1)},a=[],i=(o(8178),o(8188),o(8673),o(6886),o(4121),o(523),o(5095)),s=(o(1411),o(8367),o(419),o(3923),o(2375),{props:{content:{type:String,required:!0},type:String,name:String,value:Boolean,readonly:Boolean},data:function(){return{editor:null}},mounted:function(){var t=this.buildPluginMode();this.editor=i.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode(new t),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.content),this.editor.clearSelection(),this.editor.focus(),this.readonly&&this.editor.setReadOnly(!0)},beforeDestroy:function(){this.editor&&this.editor.destroy()},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}},title:function(){return"".concat(this.type,": ").concat(this.name)},error:function(){return this.editor&&""===this.editor.getValue()&&!this.file?"Input can not be blank.":null}},methods:{submit:function(){this.$emit("submit",this.editor.getValue()),this.show=!this.show},close:function(){this.show=!this.show},download:function(){var t=new Blob([this.editor.getValue()],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(t),e.setAttribute("download","".concat(this.type.toLowerCase(),"_").concat(this.name.toLowerCase(),".json")),e.click()},buildPluginMode:function(){var t=i.require("ace/lib/oop"),e=i.require("ace/mode/json_highlight_rules").JsonHighlightRules,o=i.require("ace/mode/matching_brace_outdent").MatchingBraceOutdent,n=i.require("ace/mode/behaviour/cstyle").CstyleBehaviour,a=i.require("ace/mode/folding/ruby").FoldMode,s=function(){this.HighlightRules=e,this.$outdent=new o,this.$behaviour=new n,this.foldingRules=new a,this.indentKeywords=this.foldingRules.indentKeywords},r=i.require("ace/mode/ruby").Mode;return t.inherits(s,r),function(){this.$id="ace/mode/openc3"}.call(s.prototype),s}}}),r=s,l=(o(7067),o(3483)),c=(0,l.Z)(r,n,a,!1,null,"6ad8a8fe",null),d=c.exports},4126:function(t,e,o){"use strict";o.r(e),o.d(e,{default:function(){return p}});var n=function(){var t=this,e=t._self._c;return e("div",[e("v-row",{staticStyle:{"padding-left":"10px"},attrs:{"no-gutters":"",align:"center"}},[e("v-col",{attrs:{cols:"3"}},[e("v-btn",{attrs:{block:"",color:"primary","data-test":"toolAdd",disabled:!t.name||!t.url||!t.icon},on:{click:function(e){return t.add()}}},[t._v(" Add "),e("v-icon",{attrs:{right:"",dark:""}},[t._v(t._s(t.icon))])],1)],1),e("v-col",{attrs:{cols:"3"}},[e("v-text-field",{staticClass:"px-2",attrs:{label:"Tool Icon"},model:{value:t.icon,callback:function(e){t.icon=e},expression:"icon"}})],1),e("v-col",{attrs:{cols:"3"}},[e("v-text-field",{staticClass:"px-2",attrs:{label:"Tool Name"},model:{value:t.name,callback:function(e){t.name=e},expression:"name"}})],1),e("v-col",{staticClass:"px-2",attrs:{cols:"3"}},[e("v-text-field",{attrs:{label:"Tool Url"},model:{value:t.url,callback:function(e){t.url=e},expression:"url"}})],1)],1),e("span",{staticClass:"text-body1 pa-3"},[t._v("Drag and drop to reorder tools in the NavBar. Note: 'Base' and 'Admin' can't be reordered. A browser refresh is required to see the new tool order.")]),e("v-list",{attrs:{"data-test":"toolList",id:"toollist"}},t._l(t.tools,(function(o,n){return e("div",{key:o},[e("v-list-item",{class:{filter:"Base"===o||"Admin"===o}},[e("v-list-item-icon",[e("v-icon",[t._v(" mdi-drag-horizontal ")])],1),e("v-list-item-content",[e("v-list-item-title",[t._v(t._s(o))])],1),e("v-list-item-icon",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var a=n.on,i=n.attrs;return[e("v-icon",t._g(t._b({on:{click:function(e){return t.editTool(o)}}},"v-icon",i,!1),a),[t._v(" mdi-pencil ")])]}}],null,!0)},[e("span",[t._v("Edit Tool")])])],1),e("v-list-item-icon",[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var a=n.on,i=n.attrs;return[e("v-icon",t._g(t._b({on:{click:function(e){return t.deleteTool(o)}}},"v-icon",i,!1),a),[t._v(" mdi-delete ")])]}}],null,!0)},[e("span",[t._v("Delete Tool")])])],1)],1),n<t.tools.length-1?e("v-divider",{key:n}):t._e()],1)})),0),t.showDialog?e("edit-dialog",{attrs:{content:t.jsonContent,type:"Tool",name:t.dialogTitle},on:{submit:t.dialogCallback},model:{value:t.showDialog,callback:function(e){t.showDialog=e},expression:"showDialog"}}):t._e()],1)},a=[],i=(o(6710),o(6129)),s=o(9564),r=o(1921),l={components:{EditDialog:s.Z},data:function(){return{name:null,icon:"$astro-add-small",url:null,tools:[],jsonContent:"",dialogTitle:"",showDialog:!1,tool_id:null}},mounted:function(){this.update();var t=document.getElementById("toollist");r.ZP.create(t,{filter:".filter",onUpdate:this.sortChanged})},methods:{sortChanged:function(t){var e=this;i.Z.post("/openc3-api/tools/position/".concat(this.tools[t.oldIndex]),{data:{position:t.newIndex},params:{scope:"DEFAULT"}}).then((function(o){e.$notify.normal({title:"Reordered tool ".concat(e.tools[t.oldIndex])}),e.update()}))},update:function(){var t=this;i.Z.get("/openc3-api/tools",{params:{scope:"DEFAULT"}}).then((function(e){t.tools=e.data,t.name="",t.url=""}))},add:function(){var t=this;i.Z.post("/openc3-api/tools",{data:{id:this.name,json:JSON.stringify({name:this.name,icon:this.icon,url:this.url,window:"NEW"})},params:{scope:"DEFAULT"}}).then((function(e){t.$notify.normal({title:"Added tool ".concat(t.name)}),t.update()}))},editTool:function(t){var e=this;i.Z.get("/openc3-api/tools/".concat(t),{params:{scope:"DEFAULT"}}).then((function(o){e.tool_id=t,e.jsonContent=JSON.stringify(o.data,null,"\t"),e.dialogTitle=t,e.showDialog=!0}))},dialogCallback:function(t){var e=this;if(this.showDialog=!1,null!==t){var o=JSON.parse(t),n="put",a="/openc3-api/tools/".concat(this.tool_id);o["name"]!==this.tool_id&&(n="post",a="/openc3-api/tools"),i.Z[n](a,{data:{json:t},params:{scope:"DEFAULT"}}).then((function(t){e.$notify.normal({title:"Modified tool ".concat(o["name"])}),e.update()}))}},deleteTool:function(t){var e=this;this.$dialog.confirm("Are you sure you want to remove: ".concat(t),{okText:"Delete",cancelText:"Cancel"}).then((function(e){return i.Z["delete"]("/openc3-api/tools/".concat(t),{params:{scope:"DEFAULT"}})})).then((function(o){e.$notify.normal({title:"Removed tool ".concat(t)}),e.update()}))}}},c=l,d=o(3483),u=(0,d.Z)(c,n,a,!1,null,null,null),p=u.exports},193:function(t,e,o){"use strict";o.r(e);var n=o(9601),a=o.n(n),i=o(2609),s=o.n(i),r=s()(a());r.push([t.id,".editor[data-v-6ad8a8fe]{height:50vh;width:75vw;position:relative;font-size:16px}.v-card[data-v-6ad8a8fe]{background-color:var(--v-tertiary-darken2)}.v-textarea[data-v-6ad8a8fe] textarea{padding:5px;background-color:var(--v-tertiary-darken1)!important}",""]),e["default"]=r},7067:function(t,e,o){var n=o(193);n.__esModule&&(n=n.default),"string"===typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals);var a=o(3514).Z;a("57275ebe",n,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=126.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/126.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/tools/admin/EditDialog.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/EditDialog.vue?1ea8","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/EditDialog.vue?e087","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/ToolsTab.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/ToolsTab.vue?2377","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/tabs/ToolsTab.vue?dc3d","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/EditDialog.vue?8dfa","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/EditDialog.vue?db85"],"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 { data, params = {}, headers, noAuth = false, noScope = false } = {}\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 })\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 { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('get', path, { params, headers, noScope, noAuth })\n },\n\n put: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('put', path, { data, params, headers, noScope, noAuth })\n },\n\n post: function (\n path,\n { data, params, headers = fullDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('post', path, { data, params, headers, noScope, noAuth })\n },\n\n delete: function (\n path,\n { params, headers = acceptOnlyDefaultHeaders, noScope, noAuth } = {}\n ) {\n return request('delete', path, { params, headers, noScope, noAuth })\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 // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.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:{\"persistent\":!_vm.readonly,\"width\":\"80vw\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',{domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('v-spacer'),_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(\" mdi-download \")])],1)]}}])},[_c('span',[_vm._v(\" Download \")])])],1)],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[(!_vm.readonly)?_c('div',[_c('v-row',{staticClass:\"mt-3\"},[_vm._v(\" Upload a file. \")]),_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"success\",\"disabled\":!_vm.file || _vm.loadingFile || _vm.readonly,\"loading\":_vm.loadingFile,\"data-test\":\"editScreenLoadBtn\"},on:{\"click\":_vm.loadFile},scopedSlots:_vm._u([{key:\"loader\",fn:function(){return [_c('span',[_vm._v(\"Loading...\")])]},proxy:true}],null,false,2673048543)},[_vm._v(\" Load \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-file-input',{attrs:{\"accept\":\".json\",\"label\":\"Click to select .json file.\",\"disabled\":_vm.readonly},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1)],1)],1):_vm._e(),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('pre',{ref:\"editor\",staticClass:\"editor\"})]),_c('v-row',{staticClass:\"my-3\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\",\"data-test\":\"editCancelBtn\"},on:{\"click\":function($event){$event.preventDefault();return _vm.close.apply(null, arguments)}}},[_vm._v(\" Cancel \")]),(!_vm.readonly)?_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\",\"type\":\"submit\",\"data-test\":\"editSubmitBtn\",\"disabled\":!!_vm.error || _vm.readonly}},[_vm._v(\" Save \")]):_vm._e()],1)],1)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditDialog.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!./EditDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditDialog.vue?vue&type=template&id=6ad8a8fe&scoped=true&\"\nimport script from \"./EditDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./EditDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditDialog.vue?vue&type=style&index=0&id=6ad8a8fe&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 \"6ad8a8fe\",\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',{staticStyle:{\"padding-left\":\"10px\"},attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"data-test\":\"toolAdd\",\"disabled\":!_vm.name || !_vm.url || !_vm.icon},on:{\"click\":function($event){return _vm.add()}}},[_vm._v(\" Add \"),_c('v-icon',{attrs:{\"right\":\"\",\"dark\":\"\"}},[_vm._v(_vm._s(_vm.icon))])],1)],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{staticClass:\"px-2\",attrs:{\"label\":\"Tool Icon\"},model:{value:(_vm.icon),callback:function ($$v) {_vm.icon=$$v},expression:\"icon\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-text-field',{staticClass:\"px-2\",attrs:{\"label\":\"Tool Name\"},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-col',{staticClass:\"px-2\",attrs:{\"cols\":\"3\"}},[_c('v-text-field',{attrs:{\"label\":\"Tool Url\"},model:{value:(_vm.url),callback:function ($$v) {_vm.url=$$v},expression:\"url\"}})],1)],1),_c('span',{staticClass:\"text-body1 pa-3\"},[_vm._v(\"Drag and drop to reorder tools in the NavBar. Note: 'Base' and 'Admin' can't be reordered. A browser refresh is required to see the new tool order.\")]),_c('v-list',{attrs:{\"data-test\":\"toolList\",\"id\":\"toollist\"}},_vm._l((_vm.tools),function(tool,index){return _c('div',{key:tool},[_c('v-list-item',{class:{ filter: tool === 'Base' || tool === 'Admin' }},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\" mdi-drag-horizontal \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(tool))])],1),_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.editTool(tool)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-pencil \")])]}}],null,true)},[_c('span',[_vm._v(\"Edit Tool\")])])],1),_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.deleteTool(tool)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-delete \")])]}}],null,true)},[_c('span',[_vm._v(\"Delete Tool\")])])],1)],1),(index < _vm.tools.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0),(_vm.showDialog)?_c('edit-dialog',{attrs:{\"content\":_vm.jsonContent,\"type\":\"Tool\",\"name\":_vm.dialogTitle},on:{\"submit\":_vm.dialogCallback},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}}):_vm._e()],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!./ToolsTab.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!./ToolsTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToolsTab.vue?vue&type=template&id=213a8100&\"\nimport script from \"./ToolsTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolsTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".editor[data-v-6ad8a8fe]{height:50vh;width:75vw;position:relative;font-size:16px}.v-card[data-v-6ad8a8fe]{background-color:var(--v-tertiary-darken2)}.v-textarea[data-v-6ad8a8fe] textarea{padding:5px;background-color:var(--v-tertiary-darken1)!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!./EditDialog.vue?vue&type=style&index=0&id=6ad8a8fe&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(\"57275ebe\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["request","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","url","_ref2","data","_ref2$params","params","headers","_ref2$noAuth","noAuth","_ref2$noScope","noScope","refreshed","_args","arguments","wrap","_context","prev","next","length","undefined","OpenC3Auth","updateToken","defaultMinValidity","sent","setTokens","t0","login","localStorage","openc3Token","window","openc3Scope","abrupt","axios","stop","_x","_x2","apply","acceptOnlyDefaultHeaders","Accept","fullDefaultHeaders","_objectSpread","get","path","_ref3","_ref3$headers","put","_ref4","_ref4$headers","post","_ref5","_ref5$headers","delete","_ref6","_ref6$headers","vueInstance","Vue","axiosInstance","baseURL","location","origin","timeout","interceptors","response","use","error","_error$response","_error$response2","_error$response2$conf","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5","_error$response5$data","_error$response5$data2","status","then","includes","toString","Promise","reject","body","concat","statusText","config","message","exception","class","_error$response6","$notify","serious","title","render","_vm","this","_c","_self","attrs","readonly","model","value","show","callback","$$v","expression","on","$event","preventDefault","submit","domProps","_s","staticClass","scopedSlots","_u","key","fn","_g","_b","download","_v","_e","file","loadingFile","loadFile","proxy","ref","directives","name","rawName","close","staticRenderFns","props","content","type","String","required","Boolean","editor","mounted","openPluginMode","buildPluginMode","ace","$refs","setTheme","session","setMode","setTabSize","setUseWrapMode","$blockScrolling","Infinity","setHighlightActiveLine","setValue","clearSelection","focus","setReadOnly","beforeDestroy","destroy","computed","set","$emit","getValue","methods","blob","Blob","link","document","createElement","href","URL","createObjectURL","setAttribute","toLowerCase","click","oop","JsonHighlightRules","MatchingBraceOutdent","CstyleBehaviour","FoldMode","Mode","HighlightRules","$outdent","$behaviour","foldingRules","indentKeywords","RubyMode","inherits","$id","call","prototype","component","staticStyle","icon","add","_l","tools","tool","index","filter","editTool","deleteTool","showDialog","jsonContent","dialogTitle","dialogCallback","components","EditDialog","tool_id","update","el","getElementById","Sortable","onUpdate","sortChanged","evt","_this","Api","oldIndex","position","newIndex","scope","normal","_this2","_this3","id","json","JSON","stringify","_this4","_this5","parsed","parse","_this6","$dialog","confirm","okText","cancelText","dialog","___CSS_LOADER_EXPORT___","push","module","__esModule","default","locals","exports"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_admin"]=self["webpackChunk_openc3_cosmos_tool_admin"]||[]).push([[133],{9373:function(e,t,n){"use strict";n(9529),n(1235),n(8188),n(8233);var r=n(9644),s=n.n(r),o=n(4091),a=new o["default"],i=s().create({baseURL:location.origin,timeout:6e4,params:{}});i.interceptors.response.use((function(e){return e}),(function(e){if(e.response){var t,n,r,s,o,i,c,l,u,d;if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.headers["ignore-errors"]&&e.response.headers["ignore-errors"].includes(e.response.status.toString()))return Promise.reject(e);var v="HTTP ".concat(e.response.status," - ");if(null!==(t=e.response)&&void 0!==t&&t.statusText&&(v+="".concat(e.response.statusText," ")),null!==(n=e.response)&&void 0!==n&&null!==(r=n.config)&&void 0!==r&&r.data&&(v+="".concat(e.response.config.data," ")),null!==(s=e.response)&&void 0!==s&&null!==(o=s.data)&&void 0!==o&&o.message)v+="".concat(e.response.data.message);else if(null!==(i=e.response)&&void 0!==i&&null!==(c=i.data)&&void 0!==c&&c.exception)v+="".concat(e.response.data.exception);else if(null!==(l=e.response)&&void 0!==l&&null!==(u=l.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)e.response.data.error.class&&(v+="".concat(e.response.data.error.class," ")),v+="".concat(e.response.data.error.message);else{var g;v+="".concat(null===(g=e.response)||void 0===g?void 0:g.data)}throw a.$notify&&a.$notify.serious({title:"Network error",body:v}),e}throw e})),t["Z"]=i},3834:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return T}});n(8178);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 ")]),t("v-card-subtitle",[e._v(' This resets "don\'t show this again" dialogs on this browser ')]),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._l(e.suppressedWarnings,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:n.text,value:n.key,dense:""},model:{value:e.selectedSuppressedWarnings,callback:function(t){e.selectedSuppressedWarnings=t},expression:"selectedSuppressedWarnings"}})}))]:[e._v(" No warnings to reset ")]],2),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(" Reset ")])],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Clear recent configs ")]),t("v-card-subtitle",[e._v(" This clears the most recently saved/loaded tool configs on this browser ")]),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-last-configs"},model:{value:e.selectAllLastConfigs,callback:function(t){e.selectAllLastConfigs=t},expression:"selectAllLastConfigs"}}),e._l(e.lastConfigs,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:"".concat(n.text," (").concat(n.value,")"),value:n.key,dense:""},model:{value:e.selectedLastConfigs,callback:function(t){e.selectedLastConfigs=t},expression:"selectedLastConfigs"}})}))]:[e._v(" No configs to clear ")]],2),t("v-card-actions",[t("v-btn",{staticClass:"ml-2",attrs:{disabled:!e.selectedLastConfigs.length,color:"warning",text:"","data-test":"clear-last-configs"},on:{click:e.clearLastConfigs}},[e._v(" Clear ")])],1)],1),t("v-divider"),t("classification-banner-settings"),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Source code URL ")]),t("v-card-subtitle",[e._v(' This sets the URL for the "Source" link in the footer. This is required under the AGPL license. ')]),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),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(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1),t("v-divider"),t("v-card",[t("v-card-title",[e._v(" Rubygems URL ")]),t("v-card-subtitle",[e._v(" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. ")]),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),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(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)],1)},s=[],o=n(8081),a=(n(3450),n(5342),n(8188),n(4769),n(4112),n(7950),n(5940),n(1639),n(2501),n(6259)),i=n(5789),c=n(6964),l=n(9502),u=n(426),d=n(7871),v=n(2261),g=(n(1372),n(1245),n(9529),n(3675),n(4898),n(5825),n(7170),n(8857),n(8329),n(6279),n(427),n(171),n(7093),n(1159),n(2516),n(4349),n(5273),n(6729),n(1801),n(574),n(5787),n(9271),n(3160),n(5688),n(3157),n(3333),n(315),n(556),n(9224),n(2649),n(14),n(1996),n(7233),n(8673),n(5734),n(8233),n(9373)),_=function(){function e(){(0,u.Z)(this,e),(0,v.Z)(this,"id",1)}return(0,d.Z)(e,[{key:"exec",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n){var r,s,o,a,l,u=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=u.length>2&&void 0!==u[2]?u[2]:{},s=u.length>3&&void 0!==u[3]?u[3]:{},e.prev=2,e.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:o=e.sent,o&&OpenC3Auth.setTokens(),e.next=12;break;case 9:e.prev=9,e.t0=e["catch"](2),OpenC3Auth.login();case 12:return this.id=this.id+1,e.prev=13,r["scope"]=window.openc3Scope,e.next=17,g.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:n,id:this.id,keyword_params:r},{headers:(0,c.Z)({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},s)});case 17:return a=e.sent,e.abrupt("return",a.data.result);case 21:throw e.prev=21,e.t1=e["catch"](13),l=new Error,e.t1.response?(l.name=e.t1.response.data.error.data.class,l.message=e.t1.response.data.error.data.message):e.t1.request?(l.name="Request error",l.message="Request error, no response received"):l.name="Unknown error",l;case 26:case"end":return e.stop()}}),e,this,[[2,9],[13,21]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,a.Z)(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}},{key:"encode_openc3_type",value:function(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}},{key:"ensure_offline_access",value:function(){var e=this;this.offline_access_needed().then((function(t){t&&(localStorage.openc3OfflineToken?e.set_offline_access(localStorage.openc3OfflineToken).then((function(){delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}},{key:"offline_access_needed",value:function(){return this.exec("offline_access_needed",[])}},{key:"set_offline_access",value:function(e){return this.exec("set_offline_access",[e])}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(e,t){return this.exec("map_target_to_interface",[e,t])}},{key:"connect_interface",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.length>0?this.exec("connect_interface",[e].concat(n)):this.exec("connect_interface",[e])}},{key:"disconnect_interface",value:function(e){return this.exec("disconnect_interface",[e])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(e){return this.exec("connect_router",[e])}},{key:"disconnect_router",value:function(e){return this.exec("disconnect_router",[e])}},{key:"get_target_interfaces",value:function(){return this.exec("get_target_interfaces",[])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(e){return this.exec("get_tlm_cnts",[e])}},{key:"get_item",value:function(e,t,n){return this.exec("get_item",[e,t,n])}},{key:"get_parameter",value:function(e,t,n){return this.exec("get_parameter",[e,t,n])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(e){return this.exec("start_cmd_log",[e])}},{key:"start_tlm_log",value:function(e){return this.exec("start_tlm_log",[e])}},{key:"stop_cmd_log",value:function(e){return this.exec("stop_cmd_log",[e])}},{key:"stop_tlm_log",value:function(e){return this.exec("stop_tlm_log",[e])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(e){return this.exec("set_limits_set",[e])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(e){return this.exec("start_background_task",[e])}},{key:"stop_background_task",value:function(e){return this.exec("stop_background_task",[e])}},{key:"get_target",value:function(e){return this.exec("get_target",[e])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(e,t){return this.exec("get_telemetry",[e,t])}},{key:"get_all_telemetry",value:function(e){return this.exec("get_all_telemetry",[e])}},{key:"get_all_telemetry_names",value:function(e){return this.exec("get_all_telemetry_names",[e])}},{key:"get_tlm_packet",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c,l,u=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return s=u.length>3&&void 0!==u[3]?u[3]:30,e.next=3,this.exec("get_tlm_packet",[t,n],{type:r,stale_time:s});case 3:if(o=e.sent,null!=o)for(a=o.length,c=null,l=0;l<a;l++)c=this.decode_openc3_type(o[l][1]),null!==c&&(o[l][1]=c);return e.abrupt("return",o);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"get_packet_derived_items",value:function(e,t){return this.exec("get_packet_derived_items",[e,t])}},{key:"get_tlm_buffer",value:function(e,t){return this.exec("get_tlm_buffer",[e,t])}},{key:"get_tlm_values",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s,o,a,c=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:30,e.next=3,this.exec("get_tlm_values",[t],{stale_time:n});case 3:for(r=e.sent,s=r[0].length,o=null,a=0;a<s;a++)o=this.decode_openc3_type(r[0][a]),null!==o&&(r[0][a]=o);return e.abrupt("return",r);case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"get_limits",value:function(e,t,n){return this.exec("get_limits",[e,t,n])}},{key:"tlm",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n,r){var s,o,a,c,l=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(s=l.length>3&&void 0!==l[3]?l[3]:"CONVERTED",o=null,void 0!==n){e.next=8;break}return e.next=5,this.exec("tlm",[t]);case 5:o=e.sent,e.next=24;break;case 8:if(void 0!==r){e.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){e.next=15;break}return e.next=12,this.exec("tlm",[t],{type:n});case 12:o=e.sent,e.next=19;break;case 15:throw a=new Error,a.name="TypeError",a.message="Invalid data type ".concat(n,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),a;case 19:e.next=24;break;case 21:return e.next=23,this.exec("tlm",[t,n,r],{type:s});case 23:o=e.sent;case 24:return c=this.decode_openc3_type(o),null!==c&&(o=c),e.abrupt("return",o);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"inject_tlm",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t,n){var r,s,o=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=o.length>2&&void 0!==o[2]?o[2]:null,s=o.length>3&&void 0!==o[3]?o[3]:"CONVERTED",e.next=4,this.exec("inject_tlm",[t,n,r],{type:s});case 4:data=e.sent;case 5:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"set_tlm",value:function(e,t,n,r){return this.exec("set_tlm",[e,t,n],{type:r})}},{key:"override_tlm",value:function(e,t,n,r){return this.exec("override_tlm",[e,t,n],{type:r})}},{key:"get_overrides",value:function(){return this.exec("get_overrides")}},{key:"normalize_tlm",value:function(e,t,n,r){return this.exec("normalize_tlm",[e,t,n],{type:r})}},{key:"get_all_commands",value:function(e){return this.exec("get_all_commands",[e])}},{key:"get_all_command_names",value:function(e){return this.exec("get_all_command_names",[e])}},{key:"get_command",value:function(e,t){return this.exec("get_command",[e,t])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,t,n,r])}},{key:"get_cmd_buffer",value:function(e,t){return this.exec("get_cmd_buffer",[e,t])}},{key:"_cmd",value:function(e,t,n,r,s){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,n,r],{},s)}},{key:"get_cmd_hazardous",value:function(e,t,n){return void 0===t?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,t,n)}},{key:"cmd",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===t?this.exec("cmd",e,{},r):this._cmd("cmd",e,t,n,r)}},{key:"cmd_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,t,n)}},{key:"cmd_raw",value:function(e,t,n){return void 0===t?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,t,n)}},{key:"cmd_raw_no_range_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,t,n)}},{key:"cmd_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,t,n)}},{key:"cmd_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,t,n)}},{key:"cmd_raw_no_hazardous_check",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,t,n)}},{key:"cmd_raw_no_checks",value:function(e,t,n){return void 0===t?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,t,n)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,t){return this.exec("send_raw",[e,t])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,t){return this.exec("load_config",[e,t])}},{key:"save_config",value:function(e,t,n){return this.exec("save_config",[e,t,n])}},{key:"delete_config",value:function(e,t){return this.exec("delete_config",[e,t])}},{key:"enable_limits",value:function(e,t,n){return this.exec("enable_limits",[e,t,n])}},{key:"disable_limits",value:function(e,t,n){return this.exec("disable_limits",[e,t,n])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(e){return this.exec("get_overall_limits_state",[e])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(e){return this.exec("get_setting",[e])}},{key:"get_settings",value:function(e){return this.exec("get_settings",e)}},{key:"save_setting",value:function(e,t){return this.exec("save_setting",[e,t])}},{key:"get_metrics",value:function(){return this.exec("get_metrics",[])}},{key:"hashString",value:function(){var e=(0,l.Z)((0,i.Z)().mark((function e(t){var n,r,s;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return n=(new TextEncoder).encode(t),e.next=4,crypto.subtle.digest("SHA-256",n);case 4:return r=e.sent,s=new Uint8Array(r),e.abrupt("return",Array.from(s).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}(),f=function(){var e=this,t=e._self._c;return t("v-card",[t("v-card-title",[e._v("Classification Banner Settings")]),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(" Error loading previous configuration due to "+e._s(e.errorText)+" ")]),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),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(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedBackgroundColor,callback:function(t){e.selectedBackgroundColor=t},expression:"selectedBackgroundColor"}})],1),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(" mdi-square ")])]},proxy:!0}]),model:{value:e.customBackgroundColor,callback:function(t){e.customBackgroundColor=t},expression:"customBackgroundColor"}})],1),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(" mdi-square ")])]},proxy:!0}:null,{key:"item",fn:function(n){return[n.item.value?t("v-icon",{staticClass:"pr-1",attrs:{color:n.item.value}},[e._v(" mdi-square ")]):e._e(),e._v(" "+e._s(n.item.text)+" ")]}}],null,!0),model:{value:e.selectedFontColor,callback:function(t){e.selectedFontColor=t},expression:"selectedFontColor"}})],1),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(" mdi-square ")])]},proxy:!0}]),model:{value:e.customFontColor,callback:function(t){e.customFontColor=t},expression:"customFontColor"}})],1)],1),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),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),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),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),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(" Save ")])],1)],1),t("v-alert",{attrs:{type:"error",dismissible:"",dense:""},model:{value:e.errorSaving,callback:function(t){e.errorSaving=t},expression:"errorSaving"}},[e._v(" Error saving due to "+e._s(e.errorText)+" ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(t){e.successSaving=t},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)},h=[],p=(n(1850),n(6710),"classification_banner"),m={data:function(){var e=this;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:function(t){return/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(t)||e.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:{customFontColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customFontColor="#".concat(e))},customBackgroundColor:function(e){e&&e.length&&!e.startsWith("#")&&(this.customBackgroundColor="#".concat(e))}},created:function(){this.api=new _,this.load()},methods:{load:function(){var e=this;this.api.get_setting(p).then((function(t){if(e.errorLoading=!1,t){var n=JSON.parse(t);e.text=n.text,e.topHeight=n.topHeight,e.bottomHeight=n.bottomHeight,e.displayTopBanner=0!==n.topHeight,e.displayBottomBanner=0!==n.bottomHeight,n.backgroundColor&&n.backgroundColor.startsWith("#")?(e.customBackgroundColor=n.backgroundColor,e.selectedBackgroundColor=!1):e.selectedBackgroundColor=n.backgroundColor,n.fontColor&&n.fontColor.startsWith("#")?(e.customFontColor=n.fontColor,e.selectedFontColor=!1):e.selectedFontColor=n.fontColor}})).catch((function(t){e.errorText=t,e.errorLoading=!0}))},save:function(){var e=this;this.api.save_setting(p,this.saveObj).then((function(){e.errorSaving=!1,e.successSaving=!0})).catch((function(t){e.errorText=t,e.errorSaving=!0}))}}},k=m,y=n(3483),x=(0,y.Z)(k,f,h,!1,null,null,null),b=x.exports,C={components:{ClassificationBannerSettings:b},data:function(){return{api:new _,suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1,lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1,sourceUrl:"",rubygemsUrl:"",errorSaving:!1,successSaving:!1}},watch:{selectAllSuppressedWarnings:function(e){this.selectedSuppressedWarnings=e?this.suppressedWarnings.map((function(e){return e.key})):[]},selectAllLastConfigs:function(e){this.selectedLastConfigs=e?this.lastConfigs.map((function(e){return e.key})):[]}},created:function(){this.loadSuppressedWarnings(),this.loadLastConfigs(),this.loadSourceUrl(),this.loadRubygemsUrl()},methods:{loadSuppressedWarnings:function(){this.suppressedWarnings=Object.keys(localStorage).filter((function(e){return e.startsWith("suppresswarning__")})).map(this.localStorageKeyToDisplayObject),this.selectedSuppressedWarnings=[]},resetSuppressedWarnings:function(){this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),this.loadSuppressedWarnings()},loadLastConfigs:function(){this.lastConfigs=Object.keys(localStorage).filter((function(e){return e.startsWith("lastconfig__")})).map(this.localStorageKeyToDisplayObject),this.selectedLastConfigs=[]},clearLastConfigs:function(){this.deleteLocalStorageKeys(this.selectedLastConfigs),this.loadLastConfigs()},deleteLocalStorageKeys:function(e){var t,n=(0,o.Z)(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;delete localStorage[r]}}catch(s){n.e(s)}finally{n.f()}},localStorageKeyToDisplayObject:function(e){var t=e.split("__")[1].replaceAll("_"," ");return{key:e,text:t.charAt(0).toUpperCase()+t.slice(1),value:localStorage[e]}},loadSourceUrl:function(){var e=this;this.api.get_setting("source_url").then((function(t){e.sourceUrl=t})).catch((function(){e.sourceUrl="https://github.com/OpenC3/openc3"}))},saveSourceUrl:function(){var e=this;this.api.save_setting("source_url",this.sourceUrl).then((function(){e.errorSaving=!1,e.successSaving=!0})).catch((function(){e.errorSaving=!0}))},loadRubygemsUrl:function(){var e=this;this.api.get_setting("rubygems_url").then((function(t){e.rubygemsUrl=t})).catch((function(){e.rubygemsUrl="https://rubygems.org"}))},saveRubygemsUrl:function(){var e=this;this.api.save_setting("rubygems_url",this.rubygemsUrl).then((function(){e.errorSaving=!1,e.successSaving=!0})).catch((function(){e.errorSaving=!0}))}}},w=C,S=(0,y.Z)(w,r,s,!1,null,null,null),T=S.exports},8312:function(e,t,n){var r=n(4768);e.exports=function(e,t,n){for(var s in t)r(e,s,t[s],n);return e}},7456:function(e,t,n){var r=n(598);e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},6650:function(e,t,n){var r=n(5968),s=n(4237),o=n(3326),a=n(3124),i=n(8885),c=r(a),l=r("".slice),u=Math.ceil,d=function(e){return function(t,n,r){var a,d,v=o(i(t)),g=s(n),_=v.length,f=void 0===r?" ":o(r);return g<=_||""==f?v:(a=g-_,d=c(f,u(a/f.length)),d.length>a&&(d=l(d,0,a)),e?v+d:d+v)}};e.exports={start:d(!1),end:d(!0)}},5734:function(e,t,n){"use strict";var r=n(3103),s=n(6650).start,o=n(7456);r({target:"String",proto:!0,forced:o},{padStart:function(e){return s(this,e,arguments.length>1?arguments[1]:void 0)}})},1639:function(e,t,n){"use strict";var r=n(3103),s=n(266),o=n(5968),a=n(8885),i=n(6733),c=n(9650),l=n(8311),u=n(3326),d=n(5300),v=n(3349),g=n(17),_=n(95),f=n(4231),h=_("replace"),p=TypeError,m=o("".indexOf),k=o("".replace),y=o("".slice),x=Math.max,b=function(e,t,n){return n>e.length?-1:""===t?n:m(e,t,n)};r({target:"String",proto:!0},{replaceAll:function(e,t){var n,r,o,_,C,w,S,T,B,A=a(this),F=0,L=0,O="";if(!c(e)){if(n=l(e),n&&(r=u(a(v(e))),!~m(r,"g")))throw p("`.replaceAll` does not allow non-global regexes");if(o=d(e,h),o)return s(o,e,A,t);if(f&&n)return k(u(A),e,t)}_=u(A),C=u(e),w=i(t),w||(t=u(t)),S=C.length,T=x(1,S),F=b(_,C,0);while(-1!==F)B=w?u(t(C,F,_)):g(C,_,F,[],void 0,t),O+=y(_,L,F)+B,L=F+S,F=b(_,C,F+T);return L<_.length&&(O+=y(_,L)),O}})},8081:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});n(4115),n(634),n(8188),n(796),n(8673),n(6886),n(1372);var r=n(3511);function s(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,r.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var s=0,o=function(){};return{s:o,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==n["return"]||n["return"]()}finally{if(c)throw a}}}}}}]);
2
+ //# sourceMappingURL=133.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/133.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/ClassificationBannerSettings.vue","webpack://@openc3/cosmos-tool-admin/../openc3-tool-common/src/tools/admin/ClassificationBannerSettings.vue?80b8","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?7c0a","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/define-built-ins.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/string-pad-webkit-bug.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/internals/string-pad.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/modules/es.string.pad-start.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js","webpack://@openc3/cosmos-tool-admin/../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.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 // 'Ignore-Errors': '500',\n // })\n if (\n error.response.headers['ignore-errors'] &&\n error.response.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 \")]),_c('v-card-subtitle',[_vm._v(\" This resets \\\"don't show this again\\\" dialogs on this browser \")]),_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._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),_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(\" Reset \")])],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Clear recent configs \")]),_c('v-card-subtitle',[_vm._v(\" This clears the most recently saved/loaded tool configs on this browser \")]),_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-last-configs\"},model:{value:(_vm.selectAllLastConfigs),callback:function ($$v) {_vm.selectAllLastConfigs=$$v},expression:\"selectAllLastConfigs\"}}),_vm._l((_vm.lastConfigs),function(config){return _c('v-checkbox',{key:config.key,staticClass:\"mt-0\",attrs:{\"label\":`${config.text} (${config.value})`,\"value\":config.key,\"dense\":\"\"},model:{value:(_vm.selectedLastConfigs),callback:function ($$v) {_vm.selectedLastConfigs=$$v},expression:\"selectedLastConfigs\"}})})]:[_vm._v(\" No configs to clear \")]],2),_c('v-card-actions',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"disabled\":!_vm.selectedLastConfigs.length,\"color\":\"warning\",\"text\":\"\",\"data-test\":\"clear-last-configs\"},on:{\"click\":_vm.clearLastConfigs}},[_vm._v(\" Clear \")])],1)],1),_c('v-divider'),_c('classification-banner-settings'),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Source code URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for the \\\"Source\\\" link in the footer. This is required under the AGPL license. \")]),_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),_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(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],1)],1)],1),_c('v-divider'),_c('v-card',[_c('v-card-title',[_vm._v(\" Rubygems URL \")]),_c('v-card-subtitle',[_vm._v(\" This sets the URL for installing dependency rubygems. Also used for rubygem discovery. \")]),_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),_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(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],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 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\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n async exec(method, params, kwparams = {}, headerOptions = {}) {\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 }\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 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 // console.log(error)\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 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_parameter(target, packet, item) {\n return this.exec('get_parameter', [target, packet, item])\n }\n\n get_all_packet_logger_info() {\n return this.exec('get_all_packet_logger_info', [])\n }\n\n start_logging() {\n return this.exec('start_logging', [])\n }\n\n stop_logging() {\n return this.exec('stop_logging', [])\n }\n\n start_cmd_log(log_writer_name) {\n return this.exec('start_cmd_log', [log_writer_name])\n }\n\n start_tlm_log(log_writer_name) {\n return this.exec('start_tlm_log', [log_writer_name])\n }\n\n stop_cmd_log(log_writer_name) {\n return this.exec('stop_cmd_log', [log_writer_name])\n }\n\n stop_tlm_log(log_writer_name) {\n return this.exec('stop_tlm_log', [log_writer_name])\n }\n\n get_server_status() {\n return this.exec('get_server_status', [])\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 get_background_tasks() {\n return this.exec('get_background_tasks', [])\n }\n\n start_background_task(name) {\n return this.exec('start_background_task', [name])\n }\n\n stop_background_task(name) {\n return this.exec('stop_background_task', [name])\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_list() {\n return this.exec('get_target_list', [])\n }\n\n get_telemetry(target_name, packet_name) {\n return this.exec('get_telemetry', [target_name, packet_name])\n }\n\n get_all_telemetry(target_name) {\n return this.exec('get_all_telemetry', [target_name])\n }\n\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) {\n const data = await this.exec('get_tlm_values', [items], {\n stale_time: stale_time,\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_commands(target_name) {\n return this.exec('get_all_commands', [target_name])\n }\n\n get_all_command_names(target_name) {\n return this.exec('get_all_command_names', [target_name])\n }\n\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 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 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(\"Classification Banner Settings\")]),_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(\" Error loading previous configuration due to \"+_vm._s(_vm.errorText)+\" \")]),_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),_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(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedBackgroundColor),callback:function ($$v) {_vm.selectedBackgroundColor=$$v},expression:\"selectedBackgroundColor\"}})],1),_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(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customBackgroundColor),callback:function ($$v) {_vm.customBackgroundColor=$$v},expression:\"customBackgroundColor\"}})],1),_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(\" 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(\" mdi-square \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.text)+\" \")]}}],null,true),model:{value:(_vm.selectedFontColor),callback:function ($$v) {_vm.selectedFontColor=$$v},expression:\"selectedFontColor\"}})],1),_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(\" mdi-square \")])]},proxy:true}]),model:{value:(_vm.customFontColor),callback:function ($$v) {_vm.customFontColor=$$v},expression:\"customFontColor\"}})],1)],1),_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),_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),_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),_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),_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(\" Save \")])],1)],1),_c('v-alert',{attrs:{\"type\":\"error\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.errorSaving),callback:function ($$v) {_vm.errorSaving=$$v},expression:\"errorSaving\"}},[_vm._v(\" Error saving due to \"+_vm._s(_vm.errorText)+\" \")]),_c('v-alert',{attrs:{\"type\":\"success\",\"dismissible\":\"\",\"dense\":\"\"},model:{value:(_vm.successSaving),callback:function ($$v) {_vm.successSaving=$$v},expression:\"successSaving\"}},[_vm._v(\" Saved! (Refresh the page to see changes) \")])],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=6e315b2c&\"\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=5923a988&\"\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","var 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","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\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\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\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 $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 = stringIndexOf(string, searchString, 0);\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 = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","_error$response","_error$response2","_error$response2$conf","_error$response3","_error$response3$data","_error$response4","_error$response4$data","_error$response5","_error$response5$data","_error$response5$data2","status","OpenC3Auth","updateToken","defaultMinValidity","then","refreshed","setTokens","headers","includes","toString","Promise","reject","body","concat","statusText","config","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","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","OpenC3Api","_classCallCheck","_defineProperty","_createClass","_exec","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","kwparams","headerOptions","err","_args","arguments","wrap","_context","prev","next","undefined","sent","t0","login","id","window","openc3Scope","jsonrpc","keyword_params","_objectSpread","Authorization","localStorage","openc3Token","abrupt","result","t1","Error","name","request","stop","exec","_x","_x2","apply","val","_typeof","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","_this","offline_access_needed","needed","openc3OfflineToken","set_offline_access","getOfflineAccess","offline_access_token","target_name","interface_name","_len","interface_params","Array","_key","router_name","target_commands","target","packet","item","log_writer_name","limits_set","packet_name","_get_tlm_packet","_callee2","value_type","stale_time","len","converted","i","_args2","_context2","type","decode_openc3_type","get_tlm_packet","_x3","_x4","_x5","_get_tlm_values","_callee3","items","_args3","_context3","get_tlm_values","_x6","item_name","_tlm","_callee4","_args4","_context4","tlm","_x7","_x8","_x9","_inject_tlm","_callee5","item_hash","_args5","_context5","inject_tlm","_x10","_x11","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","_cmd","tool","ignored","array","_hashString","_callee6","string","arrayBuffer","hashAsArrayBuffer","uint8ViewOfHash","_context6","isSecureContext","TextEncoder","encode","crypto","subtle","digest","Uint8Array","from","map","b","padStart","join","hashString","_x12","errorLoading","_s","errorText","colors","scopedSlots","_u","selectedBackgroundColor","fn","proxy","_e","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","settingName","api","test","computed","saveObj","JSON","stringify","fontColor","backgroundColor","watch","startsWith","created","load","methods","_this2","get_setting","parsed","parse","catch","_this3","save_setting","component","components","ClassificationBannerSettings","loadSuppressedWarnings","loadLastConfigs","loadSourceUrl","loadRubygemsUrl","keys","filter","localStorageKeyToDisplayObject","deleteLocalStorageKeys","_step","_iterator","_createForOfIteratorHelper","s","n","done","e","f","split","replaceAll","charAt","toUpperCase","slice","_this4","defineBuiltIn","module","exports","src","options","userAgent","uncurryThis","toLength","$repeat","requireObjectCoercible","repeat","stringSlice","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","fillStr","start","end","$","$padStart","WEBKIT_BUG","proto","forced","isCallable","isNullOrUndefined","isRegExp","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","TypeError","indexOf","replace","max","stringIndexOf","searchValue","fromIndex","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch","o","allowArrayLike","it","Symbol","iterator","isArray","unsupportedIterableToArray","F","normalCompletion","didErr","step","_e2"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_admin"]=self["webpackChunk_openc3_cosmos_tool_admin"]||[]).push([[19],{6129:function(t,e,i){"use strict";var n=i(6964),s=i(5789),o=i(9502),a=i(9373),l=function(){var t=(0,o.Z)((0,s.Z)().mark((function t(e,i){var n,o,l,r,u,c,d,p,f,g,h=arguments;return(0,s.Z)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=h.length>2&&void 0!==h[2]?h[2]:{},o=n.data,l=n.params,r=void 0===l?{}:l,u=n.headers,c=n.noAuth,d=void 0!==c&&c,p=n.noScope,f=void 0!==p&&p,d){t.next=13;break}return t.prev=2,t.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:g=t.sent,g&&OpenC3Auth.setTokens(),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](2),OpenC3Auth.login();case 12:u["Authorization"]=localStorage.openc3Token;case 13:return f||r["scope"]||(r["scope"]=window.openc3Scope),t.abrupt("return",(0,a.Z)({method:e,url:i,data:o,params:r,headers:u}));case 15:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(e,i){return t.apply(this,arguments)}}(),r={Accept:"application/json"},u=(0,n.Z)((0,n.Z)({},r),{},{"Content-Type":"application/json"});e["Z"]={get:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.params,n=e.headers,s=void 0===n?r:n,o=e.noScope,a=e.noAuth;return l("get",t,{params:i,headers:s,noScope:o,noAuth:a})},put:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.data,n=e.params,s=e.headers,o=void 0===s?u:s,a=e.noScope,r=e.noAuth;return l("put",t,{data:i,params:n,headers:o,noScope:a,noAuth:r})},post:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.data,n=e.params,s=e.headers,o=void 0===s?u:s,a=e.noScope,r=e.noAuth;return l("post",t,{data:i,params:n,headers:o,noScope:a,noAuth:r})},delete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=e.params,n=e.headers,s=void 0===n?r:n,o=e.noScope,a=e.noAuth;return l("delete",t,{params:i,headers:s,noScope:o,noAuth:a})}}},9373:function(t,e,i){"use strict";i(9529),i(1235),i(8188),i(8233);var n=i(9644),s=i.n(n),o=i(4091),a=new o["default"],l=s().create({baseURL:location.origin,timeout:6e4,params:{}});l.interceptors.response.use((function(t){return t}),(function(t){if(t.response){var e,i,n,s,o,l,r,u,c,d;if(401===t.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(t){t&&OpenC3Auth.setTokens()})),t.response.headers["ignore-errors"]&&t.response.headers["ignore-errors"].includes(t.response.status.toString()))return Promise.reject(t);var p="HTTP ".concat(t.response.status," - ");if(null!==(e=t.response)&&void 0!==e&&e.statusText&&(p+="".concat(t.response.statusText," ")),null!==(i=t.response)&&void 0!==i&&null!==(n=i.config)&&void 0!==n&&n.data&&(p+="".concat(t.response.config.data," ")),null!==(s=t.response)&&void 0!==s&&null!==(o=s.data)&&void 0!==o&&o.message)p+="".concat(t.response.data.message);else if(null!==(l=t.response)&&void 0!==l&&null!==(r=l.data)&&void 0!==r&&r.exception)p+="".concat(t.response.data.exception);else if(null!==(u=t.response)&&void 0!==u&&null!==(c=u.data)&&void 0!==c&&null!==(d=c.error)&&void 0!==d&&d.message)t.response.data.error.class&&(p+="".concat(t.response.data.error.class," ")),p+="".concat(t.response.data.error.message);else{var f;p+="".concat(null===(f=t.response)||void 0===f?void 0:f.data)}throw a.$notify&&a.$notify.serious({title:"Network error",body:p}),t}throw t})),e["Z"]=l},6415:function(t,e,i){"use strict";i.d(e,{Z:function(){return u}});var n=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"),e("span",[t._v(" "+t._s(t.title)+" ")]),e("v-spacer"),e("div",{staticClass:"mx-2"},[e("v-tooltip",{attrs:{top:""},scopedSlots:t._u([{key:"activator",fn:function(i){var n=i.on,s=i.attrs;return[e("div",t._g(t._b({},"div",s,!1),n),[e("v-icon",{attrs:{"data-test":"downloadIcon"},on:{click:t.download}},[t._v(" mdi-download ")])],1)]}}])},[e("span",[t._v(" Download ")])])],1)],1),e("v-card-text",[e("div",{staticClass:"pa-3"},[e("span",{staticStyle:{"white-space":"pre-wrap"}},[t._v(t._s(t.text))])])]),e("v-card-actions",[e("v-spacer"),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(e){t.show=!t.show}}},[t._v(" Ok ")])],1)],1)],1)},s=[],o=(i(8188),i(8673),i(6886),i(4121),i(523),{props:{value:Boolean,text:String,title:String,width:800},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}},methods:{download:function(){var t=new Blob([this.text],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(t),e.setAttribute("download","".concat(this.title,".txt")),e.click()}}}),a=o,l=i(3483),r=(0,l.Z)(a,n,s,!1,null,null,null),u=r.exports},3019:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return O}});i(4769),i(8178);var n=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:{"show-size":"",accept:".gem",label:"Click to select plugin .gem file to install"},on:{change:function(e){return t.fileChange()},mousedown:function(e){return t.fileMousedown()}},model:{value:t.file,callback:function(e){t.file=e},expression:"file"}})],1)],1),e("v-row",{staticClass:"px-2 pb-2",staticStyle:{"margin-top":"10px"},attrs:{"no-gutters":""}},[e("v-col",[e("v-checkbox",{staticClass:"mt-0",attrs:{label:"Show Default Tools","data-test":"show-default-tools"},model:{value:t.showDefaultTools,callback:function(e){t.showDefaultTools=e},expression:"showDefaultTools"}})],1),e("v-col",{attrs:{align:"right"}},[e("div",[t._v("* indicates a modified plugin")]),e("div",[t._v("Click target link to download modifications")])])],1),e("v-alert",{attrs:{dismissible:"",transition:"scale-transition",type:t.alertType,"data-test":"plugin-alert"},model:{value:t.showAlert,callback:function(e){t.showAlert=e},expression:"showAlert"}},[t._v(t._s(t.alert))]),Object.keys(t.processes).length>0?e("v-list",{attrs:{"data-test":"process-list"}},t._l(t.processes,(function(i){return e("div",{key:i.name},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[e("span",{class:i.state.toLowerCase(),domProps:{textContent:t._s("Processing ".concat(i.process_type,": ").concat(i.detail," - ").concat(i.state))}})]),e("v-list-item-subtitle",[e("span",{domProps:{textContent:t._s(" Updated At: "+t.formatDate(i.updated_at))}})])],1),e("v-list-item-icon",["Running"===i.state?e("div",[e("v-progress-circular",{attrs:{indeterminate:"",color:"primary"}})],1):e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on,o=n.attrs;return[e("v-icon",t._g(t._b({attrs:{"data-test":"show-output"},on:{click:function(e){return t.showOutput(i)}}},"v-icon",o,!1),s),[t._v(" mdi-eye ")])]}}],null,!0)},[e("span",[t._v("Show Output")])])],1)],1),e("v-divider")],1)})),0):t._e(),e("v-list",{attrs:{"data-test":"plugin-list"}},t._l(t.shownPlugins,(function(i,n){return e("div",{key:n},[e("v-list-item",[e("v-list-item-content",[e("v-list-item-title",[t.isModified(i)?e("span",[t._v("* ")]):t._e(),t._v(t._s(i))]),0!==t.pluginTargets(i).length?e("v-list-item-subtitle",t._l(t.pluginTargets(i),(function(i,n){return e("span",{key:n},[i.modified?e("a",{on:{click:function(e){return e.preventDefault(),t.downloadTarget(i.name)}}},[t._v(t._s(i.name)+" ")]):e("span",[t._v(t._s(i.name)+" ")])])})),0):t._e()],1),e("v-list-item-icon",[e("div",{staticClass:"mx-3"},[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on,o=n.attrs;return[e("v-icon",t._g(t._b({attrs:{"data-test":"download-plugin"},on:{click:function(e){return t.downloadPlugin(i)}}},"v-icon",o,!1),s),[t._v(" mdi-download ")])]}}],null,!0)},[e("span",[t._v("Download Plugin")])])],1),e("div",{staticClass:"mx-3"},[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on,o=n.attrs;return[e("v-icon",t._g(t._b({attrs:{"data-test":"edit-plugin"},on:{click:function(e){return t.editPlugin(i)}}},"v-icon",o,!1),s),[t._v(" mdi-pencil ")])]}}],null,!0)},[e("span",[t._v("Edit Plugin Details")])])],1),e("div",{staticClass:"mx-3"},[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on,o=n.attrs;return[e("v-icon",t._g(t._b({attrs:{"data-test":"upgrade-plugin"},on:{click:function(e){return t.upgradePlugin(i)}}},"v-icon",o,!1),s),[t._v(" mdi-update ")])]}}],null,!0)},[e("span",[t._v("Upgrade Plugin")])])],1),e("div",{staticClass:"mx-3"},[e("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(n){var s=n.on,o=n.attrs;return[e("v-icon",t._g(t._b({attrs:{"data-test":"delete-plugin"},on:{click:function(e){return t.deletePrompt(i)}}},"v-icon",o,!1),s),[t._v(" mdi-delete ")])]}}],null,!0)},[e("span",[t._v("Delete Plugin")])])],1)])],1),n<t.plugins.length-1?e("v-divider",{key:n}):t._e()],1)})),0),t.showPluginDialog?e("plugin-dialog",{attrs:{pluginName:t.pluginName,variables:t.variables,pluginTxt:t.pluginTxt,existingPluginTxt:t.existingPluginTxt},on:{submit:t.pluginCallback},model:{value:t.showPluginDialog,callback:function(e){t.showPluginDialog=e},expression:"showPluginDialog"}}):t._e(),t.showModifiedPluginDialog?e("modified-plugin-dialog",{attrs:{pluginName:t.currentPlugin,targets:t.pluginTargets(t.currentPlugin),pluginDelete:t.pluginDelete},on:{submit:t.modifiedSubmit},model:{value:t.showModifiedPluginDialog,callback:function(e){t.showModifiedPluginDialog=e},expression:"showModifiedPluginDialog"}}):t._e(),e("simple-text-dialog",{attrs:{title:"Process Output",text:t.processOutput},model:{value:t.showProcessOutput,callback:function(e){t.showProcessOutput=e},expression:"showProcessOutput"}})],1)},s=[],o=i(5789),a=i(9502),l=i(8081),r=(i(2501),i(9529),i(1235),i(6728),i(8995),i(6710),i(4707),i(1497),i(5640),i(1871),i(8188),i(3675),i(4898),i(5825),i(7170),i(8857),i(8329),i(6279),i(427),i(171),i(7093),i(1159),i(2516),i(4349),i(5273),i(6729),i(1801),i(574),i(5787),i(9271),i(3160),i(5688),i(3157),i(3333),i(315),i(556),i(9224),i(2649),i(14),i(1996),i(8673),i(6886),i(4121),i(523),i(9949),i(7388)),u=i(6700),c=i(6129),d=function(){var t=this,e=t._self._c;return e("v-dialog",{attrs:{persistent:"",width:"80vw"},model:{value:t.show,callback:function(e){t.show=e},expression:"show"}},[e("v-card",[e("v-card-text",[e("v-card-title",[t._v(t._s(t.pluginName)+" ")]),null!==t.existingPluginTxt?e("v-row",{staticClass:"notice d-flex flex-row"},[e("v-icon",{attrs:{"x-large":"",left:"",color:"yellow"}},[t._v("mdi-alert-box")]),e("div",{staticStyle:{flex:"1"}},[t._v(" The existing plugin.txt is different from the "+t._s(t.pluginName)+"'s plugin.txt. Navigate the diffs making whatever edits you want before installing. You may want to update "+t._s(t.pluginName)+"'s plugin.txt going forward. ")])],1):t._e(),e("v-row",{staticClass:"pb-3"},[e("v-tabs",{staticClass:"ml-3",model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[e("v-tab",{key:0},[t._v(" Variables ")]),(t.existingPluginTxt,e("v-tab",{key:1},[t._v(" plugin.txt ")]))],1)],1),e("form",{on:{submit:function(e){return e.preventDefault(),t.submit.apply(null,arguments)}}},[e("v-tabs-items",{model:{value:t.tab,callback:function(e){t.tab=e},expression:"tab"}},[e("v-tab-item",{key:0,staticClass:"tab",attrs:{eager:"true"}},[e("div",{staticClass:"pa-3"},[e("v-row",{staticClass:"mt-3"},t._l(t.localVariables,(function(i,n){return e("div",{key:n},[e("v-col",{staticStyle:{width:"220px"}},[e("v-text-field",{attrs:{clearable:"",type:"text",label:n},model:{value:t.localVariables[n],callback:function(e){t.$set(t.localVariables,n,e)},expression:"localVariables[name]"}})],1)],1)})),0)],1)]),null===t.existingPluginTxt?e("v-tab-item",{key:1,staticClass:"tab",attrs:{eager:"true"}},[e("v-row",{staticClass:"pa-3"},[e("v-col",[t._v("This can be edited before installation.")])],1),e("pre",{ref:"editor",staticClass:"editor"})],1):e("v-tab-item",{key:1,staticClass:"tab",attrs:{eager:"true"}},[e("v-row",{staticClass:"pa-3"},[e("v-col",[t._v("Existing plugin.txt. This can be edited before installation.")]),e("v-col",{staticClass:"ml-6"},[t._v("Uneditable plugin.txt from the new plugin.")])],1),e("pre",{ref:"editor",staticClass:"editor"})],1)],1),e("v-card-actions",{staticClass:"mt-2"},[null!==t.existingPluginTxt?e("div",[e("v-btn",{staticClass:"mr-2",attrs:{color:"primary"},on:{click:t.nextDiff}},[t._v("Next Diff")]),e("v-btn",{attrs:{color:"primary"},on:{click:t.previousDiff}},[t._v("Previous Diff")])],1):t._e(),e("v-spacer"),e("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"edit-cancel"},on:{click:function(e){return e.preventDefault(),t.close.apply(null,arguments)}}},[t._v(" Cancel ")]),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary",type:"submit","data-test":"edit-submit"}},[t._v(" Install ")])],1)],1)],1)],1)],1)},p=[],f=(i(7368),i(4471),i(7950),i(1172),i(8233),i(1951),i(5095)),g=(i(1411),i(419),i(3923),i(2375),i(2243)),h=i.n(g),v=(i(9793),i(6230),{props:{pluginName:{type:String,required:!0},variables:{type:Object,required:!0},pluginTxt:{type:String,required:!0},existingPluginTxt:{type:String,required:!1},value:Boolean},data:function(){return{tab:0,localVariables:[],localPluginTxt:"",localExistingPluginTxt:null,editor:null,differ:null}},mounted:function(){var t=this.buildPluginMode();null===this.existingPluginTxt?(this.editor=f.edit(this.$refs.editor),this.editor.setTheme("ace/theme/twilight"),this.editor.session.setMode(new t),this.editor.session.setTabSize(2),this.editor.session.setUseWrapMode(!0),this.editor.$blockScrolling=1/0,this.editor.setHighlightActiveLine(!1),this.editor.setValue(this.localPluginTxt),this.editor.clearSelection(),this.editor.focus()):(this.tab=1,this.differ=new(h())({element:this.$refs.editor,mode:new t,theme:"ace/theme/twilight",left:{content:this.localExistingPluginTxt,copyLinkEnabled:!1},right:{content:this.localPluginTxt,editable:!1}}),this.differ.getEditors().left.setFontSize(16),this.differ.getEditors().right.setFontSize(16),this.curDiff=-1)},beforeDestroy:function(){this.editor&&this.editor.destroy(),this.differ&&this.differ.destroy()},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}},watch:{value:{immediate:!0,handler:function(){this.localVariables=JSON.parse(JSON.stringify(this.variables)),this.localPluginTxt=this.pluginTxt.slice(),null!==this.existingPluginTxt&&(this.localExistingPluginTxt=this.existingPluginTxt.slice())}}},methods:{previousDiff:function(){this.curDiff--,this.curDiff<0&&(this.curDiff=this.differ.diffs.length-1),this.scrollToCurDiff()},nextDiff:function(){this.curDiff++,this.curDiff>=this.differ.diffs.length&&(this.curDiff=0),this.scrollToCurDiff()},scrollToCurDiff:function(){var t=this.differ.diffs[this.curDiff].leftStartLine,e=this.differ.diffs[this.curDiff].rightStartLine;t>5&&(t-=5),e>5&&(e-=5),this.differ.getEditors().left.scrollToLine(t),this.differ.getEditors().right.scrollToLine(e)},buildPluginMode:function(){var t=f.require("ace/lib/oop"),e=f.require("ace/mode/ruby_highlight_rules").RubyHighlightRules,i=["VARIABLE"],n=new RegExp("(\\b".concat(i.join("\\b|\\b"),"\\b)")),s=function(){for(var t in e.call(this),this.$rules)this.$rules[t].unshift({regex:n,token:"support.function"})};t.inherits(s,e);var o=f.require("ace/mode/matching_brace_outdent").MatchingBraceOutdent,a=f.require("ace/mode/behaviour/cstyle").CstyleBehaviour,l=f.require("ace/mode/folding/ruby").FoldMode,r=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new l,this.indentKeywords=this.foldingRules.indentKeywords},u=f.require("ace/mode/ruby").Mode;return t.inherits(r,u),function(){this.$id="ace/mode/openc3"}.call(r.prototype),r},submit:function(){var t="";t=null===this.existingPluginTxt?this.editor.getValue().split("\n"):this.differ.getEditors().left.getValue().split("\n");var e={name:this.pluginName,variables:this.localVariables,plugin_txt_lines:t};this.$emit("submit",e)},close:function(){this.show=!this.show}}}),m=v,b=(i(4075),i(3483)),x=(0,b.Z)(m,d,p,!1,null,"4c410b64",null),w=x.exports,_=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"),e("span",[t._v(" Modified Plugin ")]),e("v-spacer")],1),e("v-card-text",{staticClass:"pa-3"},[e("div",[t._v(" Plugin "+t._s(t.plugin)+" was modified. Would you like to delete the existing modified files? ")]),t._l(t.modifiedTargets,(function(i,n){return e("v-list-item",{key:n,attrs:{"two-line":""}},[e("v-list-item-content",[e("v-list-item-title",[t._v(t._s(i.name))]),t._l(i.files,(function(i,n){return e("v-list-item-subtitle",{key:n},[t._v(t._s(i))])}))],2)],1)})),e("v-checkbox",{attrs:{label:"DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!",color:"error","data-test":"modified-plugin-delete-checkbox"},model:{value:t.deleteModified,callback:function(e){t.deleteModified=e},expression:"deleteModified"}})],2),e("v-card-actions",[e("v-spacer"),e("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"modified-plugin-cancel"},on:{click:function(e){t.show=!1,t.$emit("cancel")}}},[t._v("Cancel")]),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"modified-plugin-submit"},on:{click:function(e){t.show=!1,t.$emit("submit",t.deleteModified)}}},[t._v(t._s(t.submitButton))])],1)],1)],1)},P=[],k={props:{value:Boolean,plugin:String,targets:Array,pluginDelete:Boolean},data:function(){return{modifiedTargets:[],deleteModified:!1}},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}},submitButton:function(){return this.pluginDelete?"Delete":"Install"}},created:function(){var t,e=this,i=(0,l.Z)(this.targets);try{var n=function(){var i=t.value;c.Z.get("/openc3-api/targets/".concat(i.name,"/modified_files")).then((function(t){0!==t.data.length&&e.modifiedTargets.push({name:i.name,files:t.data})}))};for(i.s();!(t=i.n()).done;)n()}catch(s){i.e(s)}finally{i.f()}}},y=k,T=(0,b.Z)(y,_,P,!1,null,"6ca30064",null),D=T.exports,C=i(6415),S={components:{PluginDialog:w,ModifiedPluginDialog:D,SimpleTextDialog:C.Z},data:function(){return{file:null,currentPlugin:null,plugins:[],targets:[],processes:{},alert:"",alertType:"success",showAlert:!1,pluginName:null,variables:{},pluginTxt:"",pluginHashTmp:null,existingPluginTxt:null,showDownloadDialog:!1,showProcessOutput:!1,processOutput:"",showPluginDialog:!1,showModifiedPluginDialog:!1,showDefaultTools:!1,pluginDelete:!1,defaultPlugins:["openc3-cosmos-tool-admin","openc3-cosmos-tool-autonomic","openc3-cosmos-tool-bucketexplorer","openc3-cosmos-tool-calendar","openc3-cosmos-tool-cmdsender","openc3-cosmos-tool-cmdtlmserver","openc3-cosmos-tool-dataextractor","openc3-cosmos-tool-dataviewer","openc3-cosmos-tool-handbooks","openc3-cosmos-tool-limitsmonitor","openc3-cosmos-tool-packetviewer","openc3-cosmos-tool-scriptrunner","openc3-cosmos-tool-tablemanager","openc3-cosmos-tool-tlmgrapher","openc3-cosmos-tool-tlmviewer","openc3-cosmos-enterprise-tool-admin","openc3-enterprise-tool-base","openc3-tool-base"]}},computed:{shownPlugins:function(){var t,e=[],i=(0,l.Z)(this.plugins);try{for(i.s();!(t=i.n()).done;){var n=t.value,s=n.split("__")[0],o=s.split("-");o=o.slice(0,-1);var a=o.join("-");this.defaultPlugins.includes(a)&&!this.showDefaultTools||e.push(n)}}catch(r){i.e(r)}finally{i.f()}return e},pluginTargets:function(){var t=this;return function(e){var i=[];for(var n in t.targets)t.targets[n]["plugin"]===e&&i.push(t.targets[n]);return i}},isModified:function(){var t=this;return function(e){var i=!1;for(var n in t.targets)if(t.targets[n]["plugin"]===e&&!0===t.targets[n]["modified"]){i=!0;break}return i}}},mounted:function(){this.update(),this.updateProcesses()},methods:{showOutput:function(t){this.processOutput=t.output,this.showProcessOutput=!0},update:function(){var t=this;c.Z.get("/openc3-api/plugins").then((function(e){t.plugins=e.data})),c.Z.get("/openc3-api/targets_modified").then((function(e){t.targets=e.data}))},updateProcesses:function(){var t=this;c.Z.get("openc3-api/process_status/plugin_?substr=true").then((function(e){t.processes=e.data,Object.keys(t.processes).length>0&&setTimeout((function(){t.updateProcesses(),t.update()}),5e3)}))},formatDate:function(t){return(0,r.Z)((0,u.Z)(parseInt(t)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},upload:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=e?"put":"post",n=e?"/openc3-api/plugins/".concat(e):"/openc3-api/plugins",s=new FormData;s.append("plugin",this.file,this.file.name);var o=c.Z[i](n,{data:s});o.then((function(e){t.alert="Uploaded file",t.alertType="success",t.showAlert=!0,setTimeout((function(){t.showAlert=!1}),5e3),t.update();var i=null;void 0!==e.data.existing_plugin_txt_lines&&(i=e.data.existing_plugin_txt_lines.join("\n"));var n=e.data.plugin_txt_lines.join("\n");t.pluginName=e.data.name,t.variables=e.data.variables,t.pluginTxt=n,t.existingPluginTxt=i,t.showPluginDialog=!0,t.file=void 0})).catch((function(e){t.currentPlugin=null,t.file=void 0}))},pluginCallback:function(t){this.showPluginDialog=!1,null!==this.currentPlugin&&(t["name"]=this.currentPlugin),this.pluginHashTmp=t,this.isModified(this.currentPlugin)?(this.pluginDelete=!1,this.showModifiedPluginDialog=!0):this.pluginInstall()},modifiedSubmit:function(){var t=(0,a.Z)((0,o.Z)().mark((function t(e){var i,n,s;return(0,o.Z)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(!0!==e){t.next=19;break}i=(0,l.Z)(this.pluginTargets(this.currentPlugin)),t.prev=2,i.s();case 4:if((n=i.n()).done){t.next=11;break}if(s=n.value,1!=s.modified){t.next=9;break}return t.next=9,c.Z.post("/openc3-api/targets/".concat(s.name,"/delete_modified"));case 9:t.next=4;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t["catch"](2),i.e(t.t0);case 16:return t.prev=16,i.f(),t.finish(16);case 19:this.pluginDelete?this.deletePlugin(this.currentPlugin):this.pluginInstall();case 20:case"end":return t.stop()}}),t,this,[[2,13,16,19]])})));function e(e){return t.apply(this,arguments)}return e}(),pluginInstall:function(){var t=this;c.Z.post("/openc3-api/plugins/install/".concat(this.pluginName),{data:{plugin_hash:JSON.stringify(this.pluginHashTmp)}}).then((function(e){t.alert="Started installing plugin ".concat(t.pluginName," ..."),t.alertType="success",t.showAlert=!0,t.currentPlugin=null,t.file=void 0,t.variables={},t.pluginTxt="",t.existingPluginTxt=null,setTimeout((function(){t.showAlert=!1,t.updateProcesses()}),5e3),t.update()}))},downloadTarget:function(t){c.Z.post("/openc3-api/targets/".concat(t,"/download")).then((function(t){for(var e=window.atob(t.data.contents),i=new Uint8Array(e.length),n=0;n<e.length;++n)i[n]=e.charCodeAt(n);var s=new Blob([i],{type:"application/zip"}),o=document.createElement("a");o.href=URL.createObjectURL(s),o.setAttribute("download",t.data.filename),o.click()}))},downloadPlugin:function(t){c.Z.post("/openc3-api/gems/".concat(t,"/download")).then((function(t){for(var e=window.atob(t.data.contents),i=new Uint8Array(e.length),n=0;n<e.length;++n)i[n]=e.charCodeAt(n);var s=new Blob([i],{type:"application/zip"}),o=document.createElement("a");o.href=URL.createObjectURL(s),o.setAttribute("download",t.data.filename),o.click()}))},editPlugin:function(t){var e=this;c.Z.get("/openc3-api/plugins/".concat(t)).then((function(t){var i=null;void 0!==t.data.existing_plugin_txt_lines&&(i=t.data.existing_plugin_txt_lines.join("\n"));var n=t.data.plugin_txt_lines.join("\n");e.pluginName=t.data.name,e.variables=t.data.variables,e.pluginTxt=n,e.existingPluginTxt=i,e.showPluginDialog=!0}))},deletePrompt:function(t){var e=this;this.$dialog.confirm("Are you sure you want to remove: ".concat(t),{okText:"Delete",cancelText:"Cancel"}).then((function(i){e.isModified(t)?(e.currentPlugin=t,e.pluginDelete=!0,e.showModifiedPluginDialog=!0):e.deletePlugin(t)}))},deletePlugin:function(t){var e=this;this.alert="Removing plugin ".concat(t," ..."),this.alertType="success",this.showAlert=!0,c.Z["delete"]("/openc3-api/plugins/".concat(t)).then((function(t){setTimeout((function(){e.showAlert=!1,e.updateProcesses()}),5e3)})),this.update()},upgradePlugin:function(t){this.file=void 0,this.currentPlugin=t,this.$refs.fileInput.$refs.input.click()},fileMousedown:function(){this.currentPlugin=null},fileChange:function(){var t=this;if(void 0!==this.file)if(null!==this.currentPlugin)if(this.file.name.split(".gem")[0]==this.currentPlugin.split(".gem")[0])this.$dialog.confirm("The new gem ".concat(this.file.name," appears to be identical to the existing ").concat(this.currentPlugin,". Install?"),{okText:"Ok",cancelText:"Cancel"}).then((function(){t.upload(t.currentPlugin)}));else{var e=this.file.name.split("-"),i=e.findIndex((function(t){return t.includes(".")})),n=e.slice(0,i).join("-");e=this.currentPlugin.split("-"),i=e.findIndex((function(t){return t.includes(".")}));var s=e.slice(0,i).join("-");n!==s?this.$dialog.confirm("The new gem base name ".concat(n," doesn't match the existing ").concat(s,". Install?"),{okText:"Ok",cancelText:"Cancel"}).then((function(){t.upload(t.currentPlugin)})):this.upload(this.currentPlugin)}else this.upload()}}},A=S,M=(i(8509),(0,b.Z)(A,n,s,!1,null,"321bb9a0",null)),O=M.exports},3063:function(t,e,i){"use strict";i.r(e);var n=i(9601),s=i.n(n),o=i(2609),a=i.n(o),l=a()(s());l.push([t.id,".editor[data-v-4c410b64]{height:50vh;position:relative;font-size:16px}.notice[data-v-4c410b64]{font-size:20px;margin:10px}.tab[data-v-4c410b64]{background-color:var(--v-primary-darken2)}.v-card[data-v-4c410b64]{background-color:var(--v-tertiary-darken2)}.v-textarea[data-v-4c410b64] textarea{padding:5px;background-color:var(--v-tertiary-darken1)!important}",""]),e["default"]=l},4309:function(t,e,i){"use strict";i.r(e);var n=i(9601),s=i.n(n),o=i(2609),a=i.n(o),l=a()(s());l.push([t.id,".crashed[data-v-321bb9a0]{color:red}",""]),e["default"]=l},4075:function(t,e,i){var n=i(3063);n.__esModule&&(n=n.default),"string"===typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals);var s=i(3514).Z;s("404fb505",n,!0,{sourceMap:!1,shadowMode:!1})},8509:function(t,e,i){var n=i(4309);n.__esModule&&(n=n.default),"string"===typeof n&&(n=[[t.id,n,""]]),n.locals&&(t.exports=n.locals);var s=i(3514).Z;s("a0a8d886",n,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=19.js.map