openc3-tool-admin 5.0.6 → 5.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/tools/admin/js/107.js +2 -0
- data/tools/admin/js/107.js.map +1 -0
- data/tools/admin/js/113.js +2 -0
- data/tools/admin/js/113.js.map +1 -0
- data/tools/admin/js/179.js +2 -0
- data/tools/admin/js/179.js.map +1 -0
- data/tools/admin/js/249.js +2 -0
- data/tools/admin/js/249.js.map +1 -0
- data/tools/admin/js/262.js +1 -1
- data/tools/admin/js/262.js.map +1 -1
- data/tools/admin/js/372.js +2 -0
- data/tools/admin/js/372.js.map +1 -0
- data/tools/admin/js/388.js +2 -0
- data/tools/admin/js/388.js.map +1 -0
- data/tools/admin/js/400.js +2 -0
- data/tools/admin/js/400.js.map +1 -0
- data/tools/admin/js/43.js +2 -0
- data/tools/admin/js/43.js.map +1 -0
- data/tools/admin/js/561.js +2 -0
- data/tools/admin/js/561.js.map +1 -0
- data/tools/admin/js/637.js +2 -0
- data/tools/admin/js/637.js.map +1 -0
- data/tools/admin/js/780.js +2 -0
- data/tools/admin/js/780.js.map +1 -0
- data/tools/admin/js/824.js +2 -0
- data/tools/admin/js/824.js.map +1 -0
- data/tools/admin/js/851.js +4 -0
- data/tools/admin/js/851.js.map +1 -0
- data/tools/admin/js/863.js +2 -0
- data/tools/admin/js/863.js.map +1 -0
- data/tools/admin/js/app.js +1 -1
- data/tools/admin/js/app.js.map +1 -1
- metadata +30 -32
- data/tools/admin/js/108.js +0 -2
- data/tools/admin/js/108.js.map +0 -1
- data/tools/admin/js/217.js +0 -2
- data/tools/admin/js/217.js.map +0 -1
- data/tools/admin/js/23.js +0 -2
- data/tools/admin/js/23.js.map +0 -1
- data/tools/admin/js/251.js +0 -2
- data/tools/admin/js/251.js.map +0 -1
- data/tools/admin/js/32.js +0 -2
- data/tools/admin/js/32.js.map +0 -1
- data/tools/admin/js/354.js +0 -2
- data/tools/admin/js/354.js.map +0 -1
- data/tools/admin/js/425.js +0 -2
- data/tools/admin/js/425.js.map +0 -1
- data/tools/admin/js/699.js +0 -2
- data/tools/admin/js/699.js.map +0 -1
- data/tools/admin/js/82.js +0 -2
- data/tools/admin/js/82.js.map +0 -1
- data/tools/admin/js/844.js +0 -4
- data/tools/admin/js/844.js.map +0 -1
- data/tools/admin/js/845.js +0 -2
- data/tools/admin/js/845.js.map +0 -1
- data/tools/admin/js/850.js +0 -2
- data/tools/admin/js/850.js.map +0 -1
- data/tools/admin/js/950.js +0 -2
- data/tools/admin/js/950.js.map +0 -1
- data/tools/admin/js/953.js +0 -2
- data/tools/admin/js/953.js.map +0 -1
- data/tools/admin/js/967.js +0 -2
- data/tools/admin/js/967.js.map +0 -1
data/tools/admin/js/23.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[23],{3093:function(e,n,t){t(8188),t(8233);var l=t(9644),o=t.n(l),s=t(4091),a=new s["default"],r=o().create({baseURL:location.origin,timeout:6e4,params:{}});r.interceptors.response.use((function(e){return e}),(function(e){if(e.response){if(401===e.response.status)delete localStorage.openc3Token,OpenC3Auth.login(location.href);else{var n,t,l,o,s,r,i,c,u,d;if(localStorage.axiosIgnoreResponse===e.response.status.toString())return Promise.reject(e);var m="HTTP ".concat(e.response.status," - ");if(null!==(n=e.response)&&void 0!==n&&n.statusText&&(m+="".concat(e.response.statusText," ")),null!==(t=e.response)&&void 0!==t&&null!==(l=t.config)&&void 0!==l&&l.data&&(m+="".concat(e.response.config.data," ")),null!==(o=e.response)&&void 0!==o&&null!==(s=o.data)&&void 0!==s&&s.message)m+="".concat(e.response.data.message);else if(null!==(r=e.response)&&void 0!==r&&null!==(i=r.data)&&void 0!==i&&i.exception)m+="".concat(e.response.data.exception);else if(null!==(c=e.response)&&void 0!==c&&null!==(u=c.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)e.response.data.error.class&&(m+="".concat(e.response.data.error.class," ")),m+="".concat(e.response.data.error.message);else{var A;m+="".concat(null===(A=e.response)||void 0===A?void 0:A.data)}a.$notify.serious({title:"Network error",body:m})}throw e}throw e})),n["Z"]=r},7023:function(e,n,t){t.r(n),t.d(n,{default:function(){return L}});var l=function(){var e=this,n=e.$createElement,t=e._self._c||n;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(n){e.selectAllSuppressedWarnings=n},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(n){e.selectedSuppressedWarnings=n},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(n){e.selectAllLastConfigs=n},expression:"selectAllLastConfigs"}}),e._l(e.lastConfigs,(function(n){return t("v-checkbox",{key:n.key,staticClass:"mt-0",attrs:{label:n.text+" ("+n.value+")",value:n.key,dense:""},model:{value:e.selectedLastConfigs,callback:function(n){e.selectedLastConfigs=n},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(n){e.sourceUrl=n},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(n){e.errorSaving=n},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(n){e.successSaving=n},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(n){e.rubygemsUrl=n},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(n){e.errorSaving=n},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(n){e.successSaving=n},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)],1)},o=[],s=t(1150),a=(t(3450),t(5342),t(8188),t(4769),t(4112),t(7950),t(5940),t(1639),t(8319),t(2501),t(8816)),r=t(578),i=t(6625),c=t(5627),u=t(7105),d=t(6455),m=t(1901),A=(t(1372),t(1245),t(3675),t(4898),t(5825),t(7170),t(8857),t(8329),t(6279),t(427),t(1159),t(2516),t(4349),t(5273),t(6729),t(1801),t(574),t(5787),t(9271),t(3160),t(5688),t(3157),t(1700),t(315),t(556),t(9224),t(6297),t(8882),t(7233),t(8673),t(5734),t(8233),t(3093)),v=function(){function e(){(0,u.Z)(this,e),(0,m.Z)(this,"id",1)}return(0,d.Z)(e,[{key:"exec",value:function(){var e=(0,c.Z)((0,i.Z)().mark((function e(n,t){var l,o,s,a=arguments;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return l=a.length>2&&void 0!==a[2]?a[2]:{},e.prev=1,e.next=4,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e["catch"](1),OpenC3Auth.login();case 9:return this.id=this.id+1,e.prev=10,l["scope"]=localStorage.scope,e.next=14,A.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:n,params:t,id:this.id,keyword_params:l},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"}});case 14:return o=e.sent,e.abrupt("return",o.data.result);case 18:throw e.prev=18,e.t1=e["catch"](10),s=new Error,e.t1.response?(s.name=e.t1.response.data.error.data.class,s.message=e.t1.response.data.error.data.message):e.t1.request?(s.name="Request error",s.message="Request error, no response received"):s.name="Unknown error",s;case 23:case"end":return e.stop()}}),e,this,[[1,6],[10,18]])})));function n(n,t){return e.apply(this,arguments)}return n}()},{key:"decode_openc3_type",value:function(e){if(null!==e&&"object"===(0,r.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:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"connect_interface",value:function(e){return 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_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,n,t){return this.exec("get_item",[e,n,t])}},{key:"get_parameter",value:function(e,n,t){return this.exec("get_parameter",[e,n,t])}},{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_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{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,n){return this.exec("get_telemetry",[e,n])}},{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,c.Z)((0,i.Z)().mark((function e(n,t,l){var o,s,a,r;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_packet",[n,t],{type:l});case 2:if(o=e.sent,null!=o)for(s=o.length,a=null,r=0;r<s;r++)a=this.decode_openc3_type(o[r][1]),null!==a&&(o[r][1]=a);return e.abrupt("return",o);case 5:case"end":return e.stop()}}),e,this)})));function n(n,t,l){return e.apply(this,arguments)}return n}()},{key:"get_packet_derived_items",value:function(e,n){return this.exec("get_packet_derived_items",[e,n])}},{key:"get_tlm_buffer",value:function(e,n){return this.exec("get_tlm_buffer",[e,n])}},{key:"get_tlm_values",value:function(){var e=(0,c.Z)((0,i.Z)().mark((function e(n){var t,l,o,s;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("get_tlm_values",[n]);case 2:for(t=e.sent,l=t[0].length,o=null,s=0;s<l;s++)o=this.decode_openc3_type(t[0][s]),null!==o&&(t[0][s]=o);return e.abrupt("return",t);case 7:case"end":return e.stop()}}),e,this)})));function n(n){return e.apply(this,arguments)}return n}()},{key:"get_limits",value:function(e,n,t){return this.exec("get_limits",[e,n,t])}},{key:"tlm",value:function(){var e=(0,c.Z)((0,i.Z)().mark((function e(n,t,l){var o,s;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("tlm",[n,t,l]);case 2:return o=e.sent,s=this.decode_openc3_type(o),null!==s&&(0,a.Z)("data"),e.abrupt("return",o);case 6:case"end":return e.stop()}}),e,this)})));function n(n,t,l){return e.apply(this,arguments)}return n}()},{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,n){return this.exec("get_command",[e,n])}},{key:"get_cmd_cnts",value:function(e){return this.exec("get_cmd_cnts",[e])}},{key:"get_cmd_value",value:function(e,n,t){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,n,t,l])}},{key:"get_cmd_buffer",value:function(e,n){return this.exec("get_cmd_buffer",[e,n])}},{key:"_cmd",value:function(e,n,t,l){var o=null;for(var s in l)Object.prototype.hasOwnProperty.call(l,s)&&(o=this.encode_openc3_type(l[s]),null!==o&&(l[s]=o));return this.exec(e,[n,t,l])}},{key:"get_cmd_hazardous",value:function(e,n,t){return void 0===n?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,n,t)}},{key:"cmd",value:function(e,n,t){return void 0===n?this.exec("cmd",e):this._cmd("cmd",e,n,t)}},{key:"cmd_no_range_check",value:function(e,n,t){return void 0===n?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,n,t)}},{key:"cmd_raw",value:function(e,n,t){return void 0===n?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,n,t)}},{key:"cmd_raw_no_range_check",value:function(e,n,t){return void 0===n?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,n,t)}},{key:"cmd_no_hazardous_check",value:function(e,n,t){return void 0===n?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,n,t)}},{key:"cmd_no_checks",value:function(e,n,t){return void 0===n?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,n,t)}},{key:"cmd_raw_no_hazardous_check",value:function(e,n,t){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,n,t)}},{key:"cmd_raw_no_checks",value:function(e,n,t){return void 0===n?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,n,t)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(e,n){return this.exec("send_raw",[e,n])}},{key:"list_configs",value:function(e){return this.exec("list_configs",[e])}},{key:"load_config",value:function(e,n){return this.exec("load_config",[e,n])}},{key:"save_config",value:function(e,n,t){return this.exec("save_config",[e,n,t])}},{key:"delete_config",value:function(e,n){return this.exec("delete_config",[e,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,n){return this.exec("save_setting",[e,n])}},{key:"hashString",value:function(){var e=(0,c.Z)((0,i.Z)().mark((function e(n){var t,l,o;return(0,i.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(!window.isSecureContext){e.next=7;break}return t=(new TextEncoder).encode(n),e.next=4,crypto.subtle.digest("SHA-256",t);case 4:return l=e.sent,o=new Uint8Array(l),e.abrupt("return",Array.from(o).map((function(e){return e.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return e.stop()}}),e)})));function n(n){return e.apply(this,arguments)}return n}()}]),e}(),p=function(){var e=this,n=e.$createElement,t=e._self._c||n;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(n){e.errorLoading=n},expression:"errorLoading"}},[e._v(" Error loading previous configuration ")]),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(n){e.text=n},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(n){e.selectedBackgroundColor=n},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(n){e.customBackgroundColor=n},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(n){e.selectedFontColor=n},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(n){e.customFontColor=n},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(n){e.displayTopBanner=n},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(n){e.topHeight=n},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(n){e.displayBottomBanner=n},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(n){e.bottomHeight=n},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(n){e.errorSaving=n},expression:"errorSaving"}},[e._v(" Error saving ")]),t("v-alert",{attrs:{type:"success",dismissible:"",dense:""},model:{value:e.successSaving,callback:function(n){e.successSaving=n},expression:"successSaving"}},[e._v(" Saved! (Refresh the page to see changes) ")])],1)],1)],1)},g=[];t(1850),t(6710),t(9644);function f(){var e="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/ClassificationBannerSettings.vue",n="7fadd344af84d54a38982cf727ae8a17ac0d96d8",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/ClassificationBannerSettings.vue",statementMap:{0:{start:{line:188,column:20},end:{line:188,column:43}},1:{start:{line:191,column:4},end:{line:251,column:5}},2:{start:{line:246,column:10},end:{line:248,column:11}},3:{start:{line:255,column:6},end:{line:262,column:8}},4:{start:{line:265,column:6},end:{line:270,column:7}},5:{start:{line:275,column:6},end:{line:277,column:7}},6:{start:{line:276,column:8},end:{line:276,column:40}},7:{start:{line:280,column:6},end:{line:282,column:7}},8:{start:{line:281,column:8},end:{line:281,column:46}},9:{start:{line:286,column:4},end:{line:286,column:30}},10:{start:{line:287,column:4},end:{line:287,column:15}},11:{start:{line:291,column:6},end:{line:322,column:10}},12:{start:{line:294,column:10},end:{line:294,column:35}},13:{start:{line:295,column:10},end:{line:317,column:11}},14:{start:{line:296,column:27},end:{line:296,column:47}},15:{start:{line:297,column:12},end:{line:297,column:35}},16:{start:{line:298,column:12},end:{line:298,column:45}},17:{start:{line:299,column:12},end:{line:299,column:51}},18:{start:{line:300,column:12},end:{line:300,column:58}},19:{start:{line:301,column:12},end:{line:301,column:64}},20:{start:{line:302,column:12},end:{line:310,column:13}},21:{start:{line:306,column:14},end:{line:306,column:65}},22:{start:{line:307,column:14},end:{line:307,column:50}},23:{start:{line:309,column:14},end:{line:309,column:67}},24:{start:{line:311,column:12},end:{line:316,column:13}},25:{start:{line:312,column:14},end:{line:312,column:53}},26:{start:{line:313,column:14},end:{line:313,column:44}},27:{start:{line:315,column:14},end:{line:315,column:55}},28:{start:{line:321,column:10},end:{line:321,column:34}},29:{start:{line:325,column:6},end:{line:334,column:10}},30:{start:{line:328,column:10},end:{line:328,column:34}},31:{start:{line:329,column:10},end:{line:329,column:35}},32:{start:{line:333,column:10},end:{line:333,column:33}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:190,column:2},end:{line:190,column:3}},loc:{start:{line:190,column:9},end:{line:252,column:3}},line:190},1:{name:"(anonymous_1)",decl:{start:{line:245,column:21},end:{line:245,column:22}},loc:{start:{line:245,column:32},end:{line:249,column:9}},line:245},2:{name:"(anonymous_2)",decl:{start:{line:254,column:13},end:{line:254,column:14}},loc:{start:{line:254,column:25},end:{line:263,column:5}},line:254},3:{name:"(anonymous_3)",decl:{start:{line:264,column:15},end:{line:264,column:16}},loc:{start:{line:264,column:27},end:{line:271,column:5}},line:264},4:{name:"(anonymous_4)",decl:{start:{line:274,column:21},end:{line:274,column:22}},loc:{start:{line:274,column:36},end:{line:278,column:5}},line:274},5:{name:"(anonymous_5)",decl:{start:{line:279,column:27},end:{line:279,column:28}},loc:{start:{line:279,column:42},end:{line:283,column:5}},line:279},6:{name:"(anonymous_6)",decl:{start:{line:285,column:2},end:{line:285,column:3}},loc:{start:{line:285,column:12},end:{line:288,column:3}},line:285},7:{name:"(anonymous_7)",decl:{start:{line:290,column:10},end:{line:290,column:11}},loc:{start:{line:290,column:22},end:{line:323,column:5}},line:290},8:{name:"(anonymous_8)",decl:{start:{line:293,column:14},end:{line:293,column:15}},loc:{start:{line:293,column:28},end:{line:318,column:9}},line:293},9:{name:"(anonymous_9)",decl:{start:{line:319,column:15},end:{line:319,column:16}},loc:{start:{line:319,column:26},end:{line:322,column:9}},line:319},10:{name:"(anonymous_10)",decl:{start:{line:324,column:10},end:{line:324,column:11}},loc:{start:{line:324,column:22},end:{line:335,column:5}},line:324},11:{name:"(anonymous_11)",decl:{start:{line:327,column:14},end:{line:327,column:15}},loc:{start:{line:327,column:28},end:{line:330,column:9}},line:327},12:{name:"(anonymous_12)",decl:{start:{line:331,column:15},end:{line:331,column:16}},loc:{start:{line:331,column:26},end:{line:334,column:9}},line:331}},branchMap:{0:{loc:{start:{line:247,column:12},end:{line:247,column:76}},type:"binary-expr",locations:[{start:{line:247,column:12},end:{line:247,column:52}},{start:{line:247,column:56},end:{line:247,column:76}}],line:247},1:{loc:{start:{line:257,column:19},end:{line:257,column:65}},type:"binary-expr",locations:[{start:{line:257,column:19},end:{line:257,column:41}},{start:{line:257,column:45},end:{line:257,column:65}}],line:257},2:{loc:{start:{line:259,column:10},end:{line:259,column:68}},type:"binary-expr",locations:[{start:{line:259,column:10},end:{line:259,column:38}},{start:{line:259,column:42},end:{line:259,column:68}}],line:259},3:{loc:{start:{line:260,column:19},end:{line:260,column:61}},type:"cond-expr",locations:[{start:{line:260,column:43},end:{line:260,column:57}},{start:{line:260,column:60},end:{line:260,column:61}}],line:260},4:{loc:{start:{line:261,column:22},end:{line:261,column:70}},type:"cond-expr",locations:[{start:{line:261,column:49},end:{line:261,column:66}},{start:{line:261,column:69},end:{line:261,column:70}}],line:261},5:{loc:{start:{line:266,column:8},end:{line:269,column:70}},type:"binary-expr",locations:[{start:{line:266,column:9},end:{line:266,column:31}},{start:{line:267,column:10},end:{line:267,column:63}},{start:{line:268,column:9},end:{line:268,column:37}},{start:{line:269,column:10},end:{line:269,column:69}}],line:266},6:{loc:{start:{line:275,column:6},end:{line:277,column:7}},type:"if",locations:[{start:{line:275,column:6},end:{line:277,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:275},7:{loc:{start:{line:275,column:10},end:{line:275,column:51}},type:"binary-expr",locations:[{start:{line:275,column:10},end:{line:275,column:13}},{start:{line:275,column:17},end:{line:275,column:27}},{start:{line:275,column:31},end:{line:275,column:51}}],line:275},8:{loc:{start:{line:280,column:6},end:{line:282,column:7}},type:"if",locations:[{start:{line:280,column:6},end:{line:282,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:280},9:{loc:{start:{line:280,column:10},end:{line:280,column:51}},type:"binary-expr",locations:[{start:{line:280,column:10},end:{line:280,column:13}},{start:{line:280,column:17},end:{line:280,column:27}},{start:{line:280,column:31},end:{line:280,column:51}}],line:280},10:{loc:{start:{line:295,column:10},end:{line:317,column:11}},type:"if",locations:[{start:{line:295,column:10},end:{line:317,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:295},11:{loc:{start:{line:302,column:12},end:{line:310,column:13}},type:"if",locations:[{start:{line:302,column:12},end:{line:310,column:13}},{start:{line:308,column:19},end:{line:310,column:13}}],line:302},12:{loc:{start:{line:303,column:14},end:{line:304,column:52}},type:"binary-expr",locations:[{start:{line:303,column:14},end:{line:303,column:36}},{start:{line:304,column:14},end:{line:304,column:52}}],line:303},13:{loc:{start:{line:311,column:12},end:{line:316,column:13}},type:"if",locations:[{start:{line:311,column:12},end:{line:316,column:13}},{start:{line:314,column:19},end:{line:316,column:13}}],line:311},14:{loc:{start:{line:311,column:16},end:{line:311,column:68}},type:"binary-expr",locations:[{start:{line:311,column:16},end:{line:311,column:32}},{start:{line:311,column:36},end:{line:311,column:68}}],line:311}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0,0,0],6:[0,0],7:[0,0,0],8:[0,0],9:[0,0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0]},inputSourceMap:{version:3,sources:["ClassificationBannerSettings.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwLA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"ClassificationBannerSettings.vue",sourceRoot:"src/tools/OpenC3Admin",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-card>\n <v-card-title>Classification Banner Settings</v-card-title>\n <v-card-text class="pb-0">\n <v-alert v-model="errorLoading" type="error" dismissible dense>\n Error loading previous configuration\n </v-alert>\n <v-container class="pb-0">\n <v-row dense>\n <v-col>\n <v-text-field\n label="Text"\n v-model="text"\n data-test="classification-banner-text"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-select\n label="Background color"\n :items="colors"\n v-model="selectedBackgroundColor"\n data-test="classification-banner-background-color"\n >\n <template v-slot:prepend-inner v-if="selectedBackgroundColor">\n <v-icon :color="selectedBackgroundColor"> mdi-square </v-icon>\n </template>\n <template v-slot:item="data">\n <v-icon\n :color="data.item.value"\n v-if="data.item.value"\n class="pr-1"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label="Custom background color"\n :hint="customColorHint"\n :disabled="selectedBackgroundColor !== false"\n v-model="customBackgroundColor"\n :rules="[rules.customColor]"\n data-test="classification-banner-custom-background-color"\n >\n <template v-slot:prepend-inner>\n <v-icon\n v-show="!selectedBackgroundColor"\n :color="customBackgroundColor"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n label="Font color"\n :items="colors"\n v-model="selectedFontColor"\n data-test="classification-banner-font-color"\n >\n <template v-slot:prepend-inner v-if="selectedFontColor">\n <v-icon v-show="selectedFontColor" :color="selectedFontColor">\n mdi-square\n </v-icon>\n </template>\n <template slot="item" slot-scope="data">\n <v-icon\n v-if="data.item.value"\n :color="data.item.value"\n class="pr-1"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label="Custom font color"\n :hint="customColorHint"\n :disabled="selectedFontColor !== false"\n v-model="customFontColor"\n :rules="[rules.customColor]"\n data-test="classification-banner-custom-font-color"\n >\n <template v-slot:prepend-inner>\n <v-icon v-show="!selectedFontColor" :color="customFontColor">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n label="Display top banner"\n v-model="displayTopBanner"\n data-test="display-top-banner"\n />\n </v-col>\n <v-col>\n <v-text-field\n label="Top height"\n :disabled="!displayTopBanner"\n type="number"\n suffix="px"\n v-model="topHeight"\n data-test="classification-banner-top-height"\n />\n </v-col>\n <v-col>\n <v-switch\n label="Display bottom banner"\n v-model="displayBottomBanner"\n data-test="display-bottom-banner"\n />\n </v-col>\n <v-col>\n <v-text-field\n label="Bottom height"\n :disabled="!displayBottomBanner"\n type="number"\n suffix="px"\n v-model="bottomHeight"\n data-test="classification-banner-bottom-height"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-container class="pt-0">\n <v-row dense>\n <v-col class="pl-0">\n <v-btn\n :disabled="!formValid"\n @click="save"\n color="success"\n text\n data-test="save-classification-banner"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model="errorSaving" type="error" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model="successSaving" type="success" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport axios from \'axios\'\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\n\nconst settingName = \'classification_banner\'\nexport default {\n data() {\n return {\n api: null,\n errorLoading: false,\n errorSaving: false,\n successSaving: false,\n text: \'\',\n displayTopBanner: false,\n displayBottomBanner: false,\n topHeight: 0,\n bottomHeight: 0,\n selectedBackgroundColor: \'red\',\n customBackgroundColor: \'\',\n selectedFontColor: \'white\',\n customFontColor: \'\',\n customColorHint: \'Enter a 3 or 6-digit hex color code\',\n colors: [\n {\n text: \'Yellow\',\n value: \'yellow\',\n },\n {\n text: \'Orange\',\n value: \'orange\',\n },\n {\n text: \'Red\',\n value: \'red\',\n },\n {\n text: \'Purple\',\n value: \'purple\',\n },\n {\n text: \'Blue\',\n value: \'blue\',\n },\n {\n text: \'Green\',\n value: \'green\',\n },\n {\n text: \'Black\',\n value: \'black\',\n },\n {\n text: \'White\',\n value: \'white\',\n },\n {\n text: \'Custom\',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n topHeight: this.displayTopBanner ? this.topHeight : 0,\n bottomHeight: this.displayBottomBanner ? this.bottomHeight : 0,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith(\'#\')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith(\'#\')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.load()\n },\n methods: {\n load: function () {\n this.api\n .get_setting(settingName)\n .then((response) => {\n this.errorLoading = false\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.topHeight = parsed.topHeight\n this.bottomHeight = parsed.bottomHeight\n this.displayTopBanner = parsed.topHeight !== 0\n this.displayBottomBanner = parsed.bottomHeight !== 0\n if (\n parsed.backgroundColor &&\n parsed.backgroundColor.startsWith(\'#\')\n ) {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n } else {\n this.selectedBackgroundColor = parsed.backgroundColor\n }\n if (parsed.fontColor && parsed.fontColor.startsWith(\'#\')) {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n } else {\n this.selectedFontColor = parsed.fontColor\n }\n }\n })\n .catch((error) => {\n //console.error(error)\n this.errorLoading = true\n })\n },\n save: function () {\n this.api\n .save_setting(settingName, this.saveObj)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n //console.error(error)\n this.errorSaving = true\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7fadd344af84d54a38982cf727ae8a17ac0d96d8"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=o);var a=s[e];return f=function(){return a},a}f();var h=(f().s[0]++,"classification_banner"),C={data:function(){var e=this;return f().f[0]++,f().s[1]++,{api:null,errorLoading:!1,errorSaving:!1,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(n){return f().f[1]++,f().s[2]++,f().b[0][0]++,/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(n)||(f().b[0][1]++,e.customColorHint)}}}},computed:{saveObj:function(){return f().f[2]++,f().s[3]++,JSON.stringify({text:this.text,fontColor:(f().b[1][0]++,this.selectedFontColor||(f().b[1][1]++,this.customFontColor)),backgroundColor:(f().b[2][0]++,this.selectedBackgroundColor||(f().b[2][1]++,this.customBackgroundColor)),topHeight:this.displayTopBanner?(f().b[3][0]++,this.topHeight):(f().b[3][1]++,0),bottomHeight:this.displayBottomBanner?(f().b[4][0]++,this.bottomHeight):(f().b[4][1]++,0)})},formValid:function(){return f().f[3]++,f().s[4]++,f().b[5][0]++,(this.selectedFontColor||(f().b[5][1]++,!0===this.rules.customColor(this.customFontColor)))&&(f().b[5][2]++,this.selectedBackgroundColor||(f().b[5][3]++,!0===this.rules.customColor(this.customBackgroundColor)))}},watch:{customFontColor:function(e){f().f[4]++,f().s[5]++,f().b[7][0]++,e&&(f().b[7][1]++,e.length)&&(f().b[7][2]++,!e.startsWith("#"))?(f().b[6][0]++,f().s[6]++,this.customFontColor="#".concat(e)):f().b[6][1]++},customBackgroundColor:function(e){f().f[5]++,f().s[7]++,f().b[9][0]++,e&&(f().b[9][1]++,e.length)&&(f().b[9][2]++,!e.startsWith("#"))?(f().b[8][0]++,f().s[8]++,this.customBackgroundColor="#".concat(e)):f().b[8][1]++}},created:function(){f().f[6]++,f().s[9]++,this.api=new v,f().s[10]++,this.load()},methods:{load:function(){var e=this;f().f[7]++,f().s[11]++,this.api.get_setting(h).then((function(n){if(f().f[8]++,f().s[12]++,e.errorLoading=!1,f().s[13]++,n){f().b[10][0]++;var t=(f().s[14]++,JSON.parse(n));f().s[15]++,e.text=t.text,f().s[16]++,e.topHeight=t.topHeight,f().s[17]++,e.bottomHeight=t.bottomHeight,f().s[18]++,e.displayTopBanner=0!==t.topHeight,f().s[19]++,e.displayBottomBanner=0!==t.bottomHeight,f().s[20]++,f().b[12][0]++,t.backgroundColor&&(f().b[12][1]++,t.backgroundColor.startsWith("#"))?(f().b[11][0]++,f().s[21]++,e.customBackgroundColor=t.backgroundColor,f().s[22]++,e.selectedBackgroundColor=!1):(f().b[11][1]++,f().s[23]++,e.selectedBackgroundColor=t.backgroundColor),f().s[24]++,f().b[14][0]++,t.fontColor&&(f().b[14][1]++,t.fontColor.startsWith("#"))?(f().b[13][0]++,f().s[25]++,e.customFontColor=t.fontColor,f().s[26]++,e.selectedFontColor=!1):(f().b[13][1]++,f().s[27]++,e.selectedFontColor=t.fontColor)}else f().b[10][1]++})).catch((function(n){f().f[9]++,f().s[28]++,e.errorLoading=!0}))},save:function(){var e=this;f().f[10]++,f().s[29]++,this.api.save_setting(h,this.saveObj).then((function(n){f().f[11]++,f().s[30]++,e.errorSaving=!1,f().s[31]++,e.successSaving=!0})).catch((function(n){f().f[12]++,f().s[32]++,e.errorSaving=!0}))}}},_=C,b=t(3287),y=(0,b.Z)(_,p,g,!1,null,null,null),k=y.exports;function x(){var e="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/SettingsTab.vue",n="4277da6b2ba0b1ac1b2d7692bad3a6f6e2c228a3",t=new Function("return this")(),l="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/SettingsTab.vue",statementMap:{0:{start:{line:187,column:4},end:{line:199,column:5}},1:{start:{line:203,column:6},end:{line:209,column:7}},2:{start:{line:204,column:8},end:{line:206,column:9}},3:{start:{line:205,column:23},end:{line:205,column:34}},4:{start:{line:208,column:8},end:{line:208,column:44}},5:{start:{line:212,column:6},end:{line:216,column:7}},6:{start:{line:213,column:8},end:{line:213,column:79}},7:{start:{line:213,column:68},end:{line:213,column:78}},8:{start:{line:215,column:8},end:{line:215,column:37}},9:{start:{line:220,column:4},end:{line:220,column:33}},10:{start:{line:221,column:4},end:{line:221,column:26}},11:{start:{line:222,column:4},end:{line:222,column:24}},12:{start:{line:223,column:4},end:{line:223,column:26}},13:{start:{line:227,column:6},end:{line:231,column:49}},14:{start:{line:229,column:10},end:{line:229,column:52}},15:{start:{line:232,column:6},end:{line:232,column:42}},16:{start:{line:235,column:6},end:{line:235,column:66}},17:{start:{line:236,column:6},end:{line:236,column:35}},18:{start:{line:239,column:6},end:{line:243,column:49}},19:{start:{line:241,column:10},end:{line:241,column:47}},20:{start:{line:244,column:6},end:{line:244,column:35}},21:{start:{line:247,column:6},end:{line:247,column:59}},22:{start:{line:248,column:6},end:{line:248,column:28}},23:{start:{line:251,column:6},end:{line:253,column:7}},24:{start:{line:252,column:8},end:{line:252,column:32}},25:{start:{line:256,column:19},end:{line:256,column:58}},26:{start:{line:257,column:6},end:{line:261,column:7}},27:{start:{line:264,column:6},end:{line:271,column:10}},28:{start:{line:267,column:10},end:{line:267,column:35}},29:{start:{line:270,column:10},end:{line:270,column:61}},30:{start:{line:274,column:6},end:{line:282,column:10}},31:{start:{line:277,column:10},end:{line:277,column:34}},32:{start:{line:278,column:10},end:{line:278,column:35}},33:{start:{line:281,column:10},end:{line:281,column:33}},34:{start:{line:285,column:6},end:{line:292,column:10}},35:{start:{line:288,column:10},end:{line:288,column:37}},36:{start:{line:291,column:10},end:{line:291,column:51}},37:{start:{line:295,column:6},end:{line:303,column:10}},38:{start:{line:298,column:10},end:{line:298,column:34}},39:{start:{line:299,column:10},end:{line:299,column:35}},40:{start:{line:302,column:10},end:{line:302,column:33}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:186,column:2},end:{line:186,column:3}},loc:{start:{line:186,column:9},end:{line:200,column:3}},line:186},1:{name:"(anonymous_1)",decl:{start:{line:202,column:33},end:{line:202,column:34}},loc:{start:{line:202,column:48},end:{line:210,column:5}},line:202},2:{name:"(anonymous_2)",decl:{start:{line:205,column:10},end:{line:205,column:11}},loc:{start:{line:205,column:23},end:{line:205,column:34}},line:205},3:{name:"(anonymous_3)",decl:{start:{line:211,column:26},end:{line:211,column:27}},loc:{start:{line:211,column:41},end:{line:217,column:5}},line:211},4:{name:"(anonymous_4)",decl:{start:{line:213,column:56},end:{line:213,column:57}},loc:{start:{line:213,column:68},end:{line:213,column:78}},line:213},5:{name:"(anonymous_5)",decl:{start:{line:219,column:2},end:{line:219,column:3}},loc:{start:{line:219,column:12},end:{line:224,column:3}},line:219},6:{name:"(anonymous_6)",decl:{start:{line:226,column:28},end:{line:226,column:29}},loc:{start:{line:226,column:40},end:{line:233,column:5}},line:226},7:{name:"(anonymous_7)",decl:{start:{line:228,column:16},end:{line:228,column:17}},loc:{start:{line:228,column:25},end:{line:230,column:9}},line:228},8:{name:"(anonymous_8)",decl:{start:{line:234,column:29},end:{line:234,column:30}},loc:{start:{line:234,column:41},end:{line:237,column:5}},line:234},9:{name:"(anonymous_9)",decl:{start:{line:238,column:21},end:{line:238,column:22}},loc:{start:{line:238,column:33},end:{line:245,column:5}},line:238},10:{name:"(anonymous_10)",decl:{start:{line:240,column:16},end:{line:240,column:17}},loc:{start:{line:240,column:25},end:{line:242,column:9}},line:240},11:{name:"(anonymous_11)",decl:{start:{line:246,column:22},end:{line:246,column:23}},loc:{start:{line:246,column:34},end:{line:249,column:5}},line:246},12:{name:"(anonymous_12)",decl:{start:{line:250,column:28},end:{line:250,column:29}},loc:{start:{line:250,column:44},end:{line:254,column:5}},line:250},13:{name:"(anonymous_13)",decl:{start:{line:255,column:36},end:{line:255,column:37}},loc:{start:{line:255,column:51},end:{line:262,column:5}},line:255},14:{name:"(anonymous_14)",decl:{start:{line:263,column:19},end:{line:263,column:20}},loc:{start:{line:263,column:31},end:{line:272,column:5}},line:263},15:{name:"(anonymous_15)",decl:{start:{line:266,column:14},end:{line:266,column:15}},loc:{start:{line:266,column:28},end:{line:268,column:9}},line:266},16:{name:"(anonymous_16)",decl:{start:{line:269,column:15},end:{line:269,column:16}},loc:{start:{line:269,column:21},end:{line:271,column:9}},line:269},17:{name:"(anonymous_17)",decl:{start:{line:273,column:19},end:{line:273,column:20}},loc:{start:{line:273,column:31},end:{line:283,column:5}},line:273},18:{name:"(anonymous_18)",decl:{start:{line:276,column:14},end:{line:276,column:15}},loc:{start:{line:276,column:28},end:{line:279,column:9}},line:276},19:{name:"(anonymous_19)",decl:{start:{line:280,column:15},end:{line:280,column:16}},loc:{start:{line:280,column:26},end:{line:282,column:9}},line:280},20:{name:"(anonymous_20)",decl:{start:{line:284,column:21},end:{line:284,column:22}},loc:{start:{line:284,column:33},end:{line:293,column:5}},line:284},21:{name:"(anonymous_21)",decl:{start:{line:287,column:14},end:{line:287,column:15}},loc:{start:{line:287,column:28},end:{line:289,column:9}},line:287},22:{name:"(anonymous_22)",decl:{start:{line:290,column:15},end:{line:290,column:16}},loc:{start:{line:290,column:21},end:{line:292,column:9}},line:290},23:{name:"(anonymous_23)",decl:{start:{line:294,column:21},end:{line:294,column:22}},loc:{start:{line:294,column:33},end:{line:304,column:5}},line:294},24:{name:"(anonymous_24)",decl:{start:{line:297,column:14},end:{line:297,column:15}},loc:{start:{line:297,column:28},end:{line:300,column:9}},line:297},25:{name:"(anonymous_25)",decl:{start:{line:301,column:15},end:{line:301,column:16}},loc:{start:{line:301,column:26},end:{line:303,column:9}},line:301}},branchMap:{0:{loc:{start:{line:203,column:6},end:{line:209,column:7}},type:"if",locations:[{start:{line:203,column:6},end:{line:209,column:7}},{start:{line:207,column:13},end:{line:209,column:7}}],line:203},1:{loc:{start:{line:212,column:6},end:{line:216,column:7}},type:"if",locations:[{start:{line:212,column:6},end:{line:216,column:7}},{start:{line:214,column:13},end:{line:216,column:7}}],line:212}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["SettingsTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkLA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"SettingsTab.vue",sourceRoot:"src/tools/OpenC3Admin/tabs",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-card>\n <v-card-title> Reset suppressed warnings </v-card-title>\n <v-card-subtitle>\n This resets "don\'t show this again" dialogs on this browser\n </v-card-subtitle>\n <v-card-text class="pb-0 ml-2">\n <template v-if="suppressedWarnings.length">\n <v-checkbox\n v-model="selectAllSuppressedWarnings"\n label="Select all"\n class="mt-0"\n data-test="select-all-suppressed-warnings"\n />\n <v-checkbox\n v-for="warning in suppressedWarnings"\n :key="warning.key"\n v-model="selectedSuppressedWarnings"\n :label="warning.text"\n :value="warning.key"\n class="mt-0"\n dense\n />\n </template>\n <template v-else> No warnings to reset </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled="!selectedSuppressedWarnings.length"\n @click="resetSuppressedWarnings"\n color="warning"\n text\n class="ml-2"\n data-test="reset-suppressed-warnings"\n >\n Reset\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Clear recent configs </v-card-title>\n <v-card-subtitle>\n This clears the most recently saved/loaded tool configs on this browser\n </v-card-subtitle>\n <v-card-text class="pb-0 ml-2">\n <template v-if="lastConfigs.length">\n <v-checkbox\n v-model="selectAllLastConfigs"\n label="Select all"\n class="mt-0"\n data-test="select-all-last-configs"\n />\n <v-checkbox\n v-for="config in lastConfigs"\n :key="config.key"\n v-model="selectedLastConfigs"\n :label="`${config.text} (${config.value})`"\n :value="config.key"\n class="mt-0"\n dense\n />\n </template>\n <template v-else> No configs to clear </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled="!selectedLastConfigs.length"\n @click="clearLastConfigs"\n color="warning"\n text\n class="ml-2"\n data-test="clear-last-configs"\n >\n Clear\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <classification-banner-settings />\n <v-divider />\n <v-card>\n <v-card-title> Source code URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for the "Source" link in the footer. This is required\n under the AGPL license.\n </v-card-subtitle>\n <v-card-text class="pb-0 ml-2">\n <v-text-field\n label="Source URL"\n v-model="sourceUrl"\n data-test="source-url"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class="pt-0">\n <v-row dense>\n <v-col class="pl-0">\n <v-btn\n @click="saveSourceUrl"\n color="success"\n text\n data-test="save-source-url"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model="errorSaving" type="error" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model="successSaving" type="success" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Rubygems URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n </v-card-subtitle>\n <v-card-text class="pb-0 ml-2">\n <v-text-field\n label="Rubygems URL"\n v-model="rubygemsUrl"\n data-test="rubygems-url"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class="pt-0">\n <v-row dense>\n <v-col class="pl-0">\n <v-btn\n @click="saveRubygemsUrl"\n color="success"\n text\n data-test="save-rubygems-url"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model="errorSaving" type="error" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model="successSaving" type="success" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport ClassificationBannerSettings from \'@/tools/OpenC3Admin/ClassificationBannerSettings.vue\'\n\nexport default {\n components: {\n ClassificationBannerSettings,\n },\n data() {\n return {\n api: new OpenC3Api(),\n suppressedWarnings: [],\n selectedSuppressedWarnings: [],\n selectAllSuppressedWarnings: false,\n lastConfigs: [],\n selectedLastConfigs: [],\n selectAllLastConfigs: false,\n sourceUrl: \'\',\n rubygemsUrl: \'\',\n errorSaving: false,\n successSaving: false,\n }\n },\n watch: {\n selectAllSuppressedWarnings: function (val) {\n if (val) {\n this.selectedSuppressedWarnings = this.suppressedWarnings.map(\n (warning) => warning.key\n )\n } else {\n this.selectedSuppressedWarnings = []\n }\n },\n selectAllLastConfigs: function (val) {\n if (val) {\n this.selectedLastConfigs = this.lastConfigs.map((config) => config.key)\n } else {\n this.selectedLastConfigs = []\n }\n },\n },\n created() {\n this.loadSuppressedWarnings()\n this.loadLastConfigs()\n this.loadSourceUrl()\n this.loadRubygemsUrl()\n },\n methods: {\n loadSuppressedWarnings: function () {\n this.suppressedWarnings = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith(\'suppresswarning__\')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedSuppressedWarnings = []\n },\n resetSuppressedWarnings: function () {\n this.deleteLocalStorageKeys(this.selectedSuppressedWarnings)\n this.loadSuppressedWarnings()\n },\n loadLastConfigs: function () {\n this.lastConfigs = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith(\'lastconfig__\')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedLastConfigs = []\n },\n clearLastConfigs: function () {\n this.deleteLocalStorageKeys(this.selectedLastConfigs)\n this.loadLastConfigs()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n localStorageKeyToDisplayObject: function (key) {\n const name = key.split(\'__\')[1].replaceAll(\'_\', \' \')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n value: localStorage[key],\n }\n },\n loadSourceUrl: function () {\n this.api\n .get_setting(\'source_url\')\n .then((response) => {\n this.sourceUrl = response\n })\n .catch(() => {\n this.sourceUrl = \'https://github.com/OpenC3/openc3\'\n })\n },\n saveSourceUrl: function () {\n this.api\n .save_setting(\'source_url\', this.sourceUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n loadRubygemsUrl: function () {\n this.api\n .get_setting(\'rubygems_url\')\n .then((response) => {\n this.rubygemsUrl = response\n })\n .catch(() => {\n this.rubygemsUrl = \'https://rubygems.org\'\n })\n },\n saveRubygemsUrl: function () {\n this.api\n .save_setting(\'rubygems_url\', this.rubygemsUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"4277da6b2ba0b1ac1b2d7692bad3a6f6e2c228a3"},s=t[l]||(t[l]={});s[e]&&s[e].hash===n||(s[e]=o);var a=s[e];return x=function(){return a},a}x();var S={components:{ClassificationBannerSettings:k},data:function(){return x().f[0]++,x().s[0]++,{api:new v,suppressedWarnings:[],selectedSuppressedWarnings:[],selectAllSuppressedWarnings:!1,lastConfigs:[],selectedLastConfigs:[],selectAllLastConfigs:!1,sourceUrl:"",rubygemsUrl:"",errorSaving:!1,successSaving:!1}},watch:{selectAllSuppressedWarnings:function(e){x().f[1]++,x().s[1]++,e?(x().b[0][0]++,x().s[2]++,this.selectedSuppressedWarnings=this.suppressedWarnings.map((function(e){return x().f[2]++,x().s[3]++,e.key}))):(x().b[0][1]++,x().s[4]++,this.selectedSuppressedWarnings=[])},selectAllLastConfigs:function(e){x().f[3]++,x().s[5]++,e?(x().b[1][0]++,x().s[6]++,this.selectedLastConfigs=this.lastConfigs.map((function(e){return x().f[4]++,x().s[7]++,e.key}))):(x().b[1][1]++,x().s[8]++,this.selectedLastConfigs=[])}},created:function(){x().f[5]++,x().s[9]++,this.loadSuppressedWarnings(),x().s[10]++,this.loadLastConfigs(),x().s[11]++,this.loadSourceUrl(),x().s[12]++,this.loadRubygemsUrl()},methods:{loadSuppressedWarnings:function(){x().f[6]++,x().s[13]++,this.suppressedWarnings=Object.keys(localStorage).filter((function(e){return x().f[7]++,x().s[14]++,e.startsWith("suppresswarning__")})).map(this.localStorageKeyToDisplayObject),x().s[15]++,this.selectedSuppressedWarnings=[]},resetSuppressedWarnings:function(){x().f[8]++,x().s[16]++,this.deleteLocalStorageKeys(this.selectedSuppressedWarnings),x().s[17]++,this.loadSuppressedWarnings()},loadLastConfigs:function(){x().f[9]++,x().s[18]++,this.lastConfigs=Object.keys(localStorage).filter((function(e){return x().f[10]++,x().s[19]++,e.startsWith("lastconfig__")})).map(this.localStorageKeyToDisplayObject),x().s[20]++,this.selectedLastConfigs=[]},clearLastConfigs:function(){x().f[11]++,x().s[21]++,this.deleteLocalStorageKeys(this.selectedLastConfigs),x().s[22]++,this.loadLastConfigs()},deleteLocalStorageKeys:function(e){x().f[12]++,x().s[23]++;var n,t=(0,s.Z)(e);try{for(t.s();!(n=t.n()).done;){var l=n.value;x().s[24]++,delete localStorage[l]}}catch(o){t.e(o)}finally{t.f()}},localStorageKeyToDisplayObject:function(e){x().f[13]++;var n=(x().s[25]++,e.split("__")[1].replaceAll("_"," "));return x().s[26]++,{key:e,text:n.charAt(0).toUpperCase()+n.slice(1),value:localStorage[e]}},loadSourceUrl:function(){var e=this;x().f[14]++,x().s[27]++,this.api.get_setting("source_url").then((function(n){x().f[15]++,x().s[28]++,e.sourceUrl=n})).catch((function(){x().f[16]++,x().s[29]++,e.sourceUrl="https://github.com/OpenC3/openc3"}))},saveSourceUrl:function(){var e=this;x().f[17]++,x().s[30]++,this.api.save_setting("source_url",this.sourceUrl).then((function(n){x().f[18]++,x().s[31]++,e.errorSaving=!1,x().s[32]++,e.successSaving=!0})).catch((function(n){x().f[19]++,x().s[33]++,e.errorSaving=!0}))},loadRubygemsUrl:function(){var e=this;x().f[20]++,x().s[34]++,this.api.get_setting("rubygems_url").then((function(n){x().f[21]++,x().s[35]++,e.rubygemsUrl=n})).catch((function(){x().f[22]++,x().s[36]++,e.rubygemsUrl="https://rubygems.org"}))},saveRubygemsUrl:function(){var e=this;x().f[23]++,x().s[37]++,this.api.save_setting("rubygems_url",this.rubygemsUrl).then((function(n){x().f[24]++,x().s[38]++,e.errorSaving=!1,x().s[39]++,e.successSaving=!0})).catch((function(n){x().f[25]++,x().s[40]++,e.errorSaving=!0}))}}},w=S,B=(0,b.Z)(w,l,o,!1,null,null,null),L=B.exports}}]);
|
2
|
-
//# sourceMappingURL=23.js.map
|
data/tools/admin/js/23.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"js/23.js","mappings":"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","sources":["webpack://@openc3/tool-admin/../openc3-tool-common/src/services/axios.js","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/SettingsTab.vue?cd89","webpack://@openc3/tool-admin/../openc3-tool-common/src/services/openc3-api.js","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ClassificationBannerSettings.vue?96ad","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/ClassificationBannerSettings.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ClassificationBannerSettings.vue?3e5f","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/ClassificationBannerSettings.vue","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/tabs/SettingsTab.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/SettingsTab.vue?215e","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/SettingsTab.vue"],"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\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 delete localStorage.openc3Token\n OpenC3Auth.login(location.href)\n } else {\n // Individual tools can set axiosIgnoreResponse to an error code\n // they potentially expect, e.g. '404', in which case we ignore it\n // Since localStorage only supports strings call toString on the status\n if (\n localStorage.axiosIgnoreResponse === error.response.status.toString()\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 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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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)}\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\nimport axios from './axios.js'\n\nexport class OpenC3Api {\n id = 1\n\n constructor() {}\n\n // This is hacky Json-rpc for now. Should probably use a jsonrpc library.\n async exec(method, params, kwparams = {}) {\n try {\n await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity)\n } catch (error) {\n OpenC3Auth.login()\n }\n this.id = this.id + 1\n try {\n kwparams['scope'] = localStorage.scope\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 },\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 // ***********************************************\n // The following APIs are used by the CmdTlmServer\n // ***********************************************\n get_all_interface_info() {\n return this.exec('get_all_interface_info', [])\n }\n\n connect_interface(interface_name) {\n return this.exec('connect_interface', [interface_name])\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_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_oldest_logfile() {\n return this.exec('get_oldest_logfile', [])\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 // Called by PacketViewerComponent\n async get_tlm_packet(target_name, packet_name, value_type) {\n const data = await this.exec('get_tlm_packet', [target_name, packet_name], {\n type: value_type,\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 // Called by PacketViewerComponent\n get_packet_derived_items(target_name, packet_name) {\n return this.exec('get_packet_derived_items', [target_name, packet_name])\n }\n\n // Called by CmdTlmServer Tlm Packets tab\n get_tlm_buffer(target_name, packet_name) {\n return this.exec('get_tlm_buffer', [target_name, packet_name])\n }\n\n // Called by OpenC3ScreenComponent\n async get_tlm_values(items) {\n const data = await this.exec('get_tlm_values', [items])\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 // Called by LimitsbarWidget\n get_limits(target_name, packet_name, item_name) {\n return this.exec('get_limits', [target_name, packet_name, item_name])\n }\n\n // Called by LimitsMonitorComponent\n async tlm(target_name, packet_name, item_name) {\n const data = await this.exec('tlm', [target_name, packet_name, item_name])\n var converted = this.decode_openc3_type(data)\n if (converted !== null) {\n data = converted\n }\n return data\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 // Called by CmdTlmServer Cmd Packets tab\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) {\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(method, [target_name, command_name, param_list])\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n cmd(target_name, command_name, param_list) {\n if (command_name === undefined) {\n return this.exec('cmd', target_name)\n } else {\n return this._cmd('cmd', target_name, command_name, param_list)\n }\n }\n\n // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\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 // Called by CmdSenderComponent\n get_interface_names() {\n return this.exec('get_interface_names', [])\n }\n\n // Called by CmdSenderComponent\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 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 // 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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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 \")]),_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 \")]),_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)}\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\n<template>\n <v-card>\n <v-card-title>Classification Banner Settings</v-card-title>\n <v-card-text class=\"pb-0\">\n <v-alert v-model=\"errorLoading\" type=\"error\" dismissible dense>\n Error loading previous configuration\n </v-alert>\n <v-container class=\"pb-0\">\n <v-row dense>\n <v-col>\n <v-text-field\n label=\"Text\"\n v-model=\"text\"\n data-test=\"classification-banner-text\"\n />\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-select\n label=\"Background color\"\n :items=\"colors\"\n v-model=\"selectedBackgroundColor\"\n data-test=\"classification-banner-background-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedBackgroundColor\">\n <v-icon :color=\"selectedBackgroundColor\"> mdi-square </v-icon>\n </template>\n <template v-slot:item=\"data\">\n <v-icon\n :color=\"data.item.value\"\n v-if=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom background color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedBackgroundColor !== false\"\n v-model=\"customBackgroundColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-background-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon\n v-show=\"!selectedBackgroundColor\"\n :color=\"customBackgroundColor\"\n >\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n <v-col>\n <v-select\n label=\"Font color\"\n :items=\"colors\"\n v-model=\"selectedFontColor\"\n data-test=\"classification-banner-font-color\"\n >\n <template v-slot:prepend-inner v-if=\"selectedFontColor\">\n <v-icon v-show=\"selectedFontColor\" :color=\"selectedFontColor\">\n mdi-square\n </v-icon>\n </template>\n <template slot=\"item\" slot-scope=\"data\">\n <v-icon\n v-if=\"data.item.value\"\n :color=\"data.item.value\"\n class=\"pr-1\"\n >\n mdi-square\n </v-icon>\n {{ data.item.text }}\n </template>\n </v-select>\n </v-col>\n <v-col>\n <v-text-field\n label=\"Custom font color\"\n :hint=\"customColorHint\"\n :disabled=\"selectedFontColor !== false\"\n v-model=\"customFontColor\"\n :rules=\"[rules.customColor]\"\n data-test=\"classification-banner-custom-font-color\"\n >\n <template v-slot:prepend-inner>\n <v-icon v-show=\"!selectedFontColor\" :color=\"customFontColor\">\n mdi-square\n </v-icon>\n </template>\n </v-text-field>\n </v-col>\n </v-row>\n <v-row dense>\n <v-col>\n <v-switch\n label=\"Display top banner\"\n v-model=\"displayTopBanner\"\n data-test=\"display-top-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Top height\"\n :disabled=\"!displayTopBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"topHeight\"\n data-test=\"classification-banner-top-height\"\n />\n </v-col>\n <v-col>\n <v-switch\n label=\"Display bottom banner\"\n v-model=\"displayBottomBanner\"\n data-test=\"display-bottom-banner\"\n />\n </v-col>\n <v-col>\n <v-text-field\n label=\"Bottom height\"\n :disabled=\"!displayBottomBanner\"\n type=\"number\"\n suffix=\"px\"\n v-model=\"bottomHeight\"\n data-test=\"classification-banner-bottom-height\"\n />\n </v-col>\n </v-row>\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n :disabled=\"!formValid\"\n @click=\"save\"\n color=\"success\"\n text\n data-test=\"save-classification-banner\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\n\nconst settingName = 'classification_banner'\nexport default {\n data() {\n return {\n api: null,\n errorLoading: false,\n errorSaving: false,\n successSaving: false,\n text: '',\n displayTopBanner: false,\n displayBottomBanner: false,\n topHeight: 0,\n bottomHeight: 0,\n selectedBackgroundColor: 'red',\n customBackgroundColor: '',\n selectedFontColor: 'white',\n customFontColor: '',\n customColorHint: 'Enter a 3 or 6-digit hex color code',\n colors: [\n {\n text: 'Yellow',\n value: 'yellow',\n },\n {\n text: 'Orange',\n value: 'orange',\n },\n {\n text: 'Red',\n value: 'red',\n },\n {\n text: 'Purple',\n value: 'purple',\n },\n {\n text: 'Blue',\n value: 'blue',\n },\n {\n text: 'Green',\n value: 'green',\n },\n {\n text: 'Black',\n value: 'black',\n },\n {\n text: 'White',\n value: 'white',\n },\n {\n text: 'Custom',\n value: false,\n },\n ],\n rules: {\n customColor: (value) => {\n return (\n /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(value) || this.customColorHint\n )\n },\n },\n }\n },\n computed: {\n saveObj: function () {\n return JSON.stringify({\n text: this.text,\n fontColor: this.selectedFontColor || this.customFontColor,\n backgroundColor:\n this.selectedBackgroundColor || this.customBackgroundColor,\n topHeight: this.displayTopBanner ? this.topHeight : 0,\n bottomHeight: this.displayBottomBanner ? this.bottomHeight : 0,\n })\n },\n formValid: function () {\n return (\n (this.selectedFontColor ||\n this.rules.customColor(this.customFontColor) === true) &&\n (this.selectedBackgroundColor ||\n this.rules.customColor(this.customBackgroundColor) === true)\n )\n },\n },\n watch: {\n customFontColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customFontColor = `#${val}`\n }\n },\n customBackgroundColor: function (val) {\n if (val && val.length && !val.startsWith('#')) {\n this.customBackgroundColor = `#${val}`\n }\n },\n },\n created() {\n this.api = new OpenC3Api()\n this.load()\n },\n methods: {\n load: function () {\n this.api\n .get_setting(settingName)\n .then((response) => {\n this.errorLoading = false\n if (response) {\n const parsed = JSON.parse(response)\n this.text = parsed.text\n this.topHeight = parsed.topHeight\n this.bottomHeight = parsed.bottomHeight\n this.displayTopBanner = parsed.topHeight !== 0\n this.displayBottomBanner = parsed.bottomHeight !== 0\n if (\n parsed.backgroundColor &&\n parsed.backgroundColor.startsWith('#')\n ) {\n this.customBackgroundColor = parsed.backgroundColor\n this.selectedBackgroundColor = false\n } else {\n this.selectedBackgroundColor = parsed.backgroundColor\n }\n if (parsed.fontColor && parsed.fontColor.startsWith('#')) {\n this.customFontColor = parsed.fontColor\n this.selectedFontColor = false\n } else {\n this.selectedFontColor = parsed.fontColor\n }\n }\n })\n .catch((error) => {\n //console.error(error)\n this.errorLoading = true\n })\n },\n save: function () {\n this.api\n .save_setting(settingName, this.saveObj)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n //console.error(error)\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/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/@vue/cli-plugin-babel/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/cli-service/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=4f08cb8c&\"\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/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <v-card>\n <v-card-title> Reset suppressed warnings </v-card-title>\n <v-card-subtitle>\n This resets \"don't show this again\" dialogs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"suppressedWarnings.length\">\n <v-checkbox\n v-model=\"selectAllSuppressedWarnings\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-suppressed-warnings\"\n />\n <v-checkbox\n v-for=\"warning in suppressedWarnings\"\n :key=\"warning.key\"\n v-model=\"selectedSuppressedWarnings\"\n :label=\"warning.text\"\n :value=\"warning.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No warnings to reset </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedSuppressedWarnings.length\"\n @click=\"resetSuppressedWarnings\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"reset-suppressed-warnings\"\n >\n Reset\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Clear recent configs </v-card-title>\n <v-card-subtitle>\n This clears the most recently saved/loaded tool configs on this browser\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <template v-if=\"lastConfigs.length\">\n <v-checkbox\n v-model=\"selectAllLastConfigs\"\n label=\"Select all\"\n class=\"mt-0\"\n data-test=\"select-all-last-configs\"\n />\n <v-checkbox\n v-for=\"config in lastConfigs\"\n :key=\"config.key\"\n v-model=\"selectedLastConfigs\"\n :label=\"`${config.text} (${config.value})`\"\n :value=\"config.key\"\n class=\"mt-0\"\n dense\n />\n </template>\n <template v-else> No configs to clear </template>\n </v-card-text>\n <v-card-actions>\n <v-btn\n :disabled=\"!selectedLastConfigs.length\"\n @click=\"clearLastConfigs\"\n color=\"warning\"\n text\n class=\"ml-2\"\n data-test=\"clear-last-configs\"\n >\n Clear\n </v-btn>\n </v-card-actions>\n </v-card>\n <v-divider />\n <classification-banner-settings />\n <v-divider />\n <v-card>\n <v-card-title> Source code URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for the \"Source\" link in the footer. This is required\n under the AGPL license.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Source URL\"\n v-model=\"sourceUrl\"\n data-test=\"source-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveSourceUrl\"\n color=\"success\"\n text\n data-test=\"save-source-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n <v-divider />\n <v-card>\n <v-card-title> Rubygems URL </v-card-title>\n <v-card-subtitle>\n This sets the URL for installing dependency rubygems. Also used for\n rubygem discovery.\n </v-card-subtitle>\n <v-card-text class=\"pb-0 ml-2\">\n <v-text-field\n label=\"Rubygems URL\"\n v-model=\"rubygemsUrl\"\n data-test=\"rubygems-url\"\n />\n </v-card-text>\n <v-card-actions>\n <v-container class=\"pt-0\">\n <v-row dense>\n <v-col class=\"pl-0\">\n <v-btn\n @click=\"saveRubygemsUrl\"\n color=\"success\"\n text\n data-test=\"save-rubygems-url\"\n >\n Save\n </v-btn>\n </v-col>\n </v-row>\n <v-alert v-model=\"errorSaving\" type=\"error\" dismissible dense>\n Error saving\n </v-alert>\n <v-alert v-model=\"successSaving\" type=\"success\" dismissible dense>\n Saved! (Refresh the page to see changes)\n </v-alert>\n </v-container>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport ClassificationBannerSettings from '@/tools/OpenC3Admin/ClassificationBannerSettings.vue'\n\nexport default {\n components: {\n ClassificationBannerSettings,\n },\n data() {\n return {\n api: new OpenC3Api(),\n suppressedWarnings: [],\n selectedSuppressedWarnings: [],\n selectAllSuppressedWarnings: false,\n lastConfigs: [],\n selectedLastConfigs: [],\n selectAllLastConfigs: false,\n sourceUrl: '',\n rubygemsUrl: '',\n errorSaving: false,\n successSaving: false,\n }\n },\n watch: {\n selectAllSuppressedWarnings: function (val) {\n if (val) {\n this.selectedSuppressedWarnings = this.suppressedWarnings.map(\n (warning) => warning.key\n )\n } else {\n this.selectedSuppressedWarnings = []\n }\n },\n selectAllLastConfigs: function (val) {\n if (val) {\n this.selectedLastConfigs = this.lastConfigs.map((config) => config.key)\n } else {\n this.selectedLastConfigs = []\n }\n },\n },\n created() {\n this.loadSuppressedWarnings()\n this.loadLastConfigs()\n this.loadSourceUrl()\n this.loadRubygemsUrl()\n },\n methods: {\n loadSuppressedWarnings: function () {\n this.suppressedWarnings = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('suppresswarning__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedSuppressedWarnings = []\n },\n resetSuppressedWarnings: function () {\n this.deleteLocalStorageKeys(this.selectedSuppressedWarnings)\n this.loadSuppressedWarnings()\n },\n loadLastConfigs: function () {\n this.lastConfigs = Object.keys(localStorage)\n .filter((key) => {\n return key.startsWith('lastconfig__')\n })\n .map(this.localStorageKeyToDisplayObject)\n this.selectedLastConfigs = []\n },\n clearLastConfigs: function () {\n this.deleteLocalStorageKeys(this.selectedLastConfigs)\n this.loadLastConfigs()\n },\n deleteLocalStorageKeys: function (keys) {\n for (const key of keys) {\n delete localStorage[key]\n }\n },\n localStorageKeyToDisplayObject: function (key) {\n const name = key.split('__')[1].replaceAll('_', ' ')\n return {\n key,\n text: name.charAt(0).toUpperCase() + name.slice(1),\n value: localStorage[key],\n }\n },\n loadSourceUrl: function () {\n this.api\n .get_setting('source_url')\n .then((response) => {\n this.sourceUrl = response\n })\n .catch(() => {\n this.sourceUrl = 'https://github.com/OpenC3/openc3'\n })\n },\n saveSourceUrl: function () {\n this.api\n .save_setting('source_url', this.sourceUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n loadRubygemsUrl: function () {\n this.api\n .get_setting('rubygems_url')\n .then((response) => {\n this.rubygemsUrl = response\n })\n .catch(() => {\n this.rubygemsUrl = 'https://rubygems.org'\n })\n },\n saveRubygemsUrl: function () {\n this.api\n .save_setting('rubygems_url', this.rubygemsUrl)\n .then((response) => {\n this.errorSaving = false\n this.successSaving = true\n })\n .catch((error) => {\n this.errorSaving = true\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/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/@vue/cli-plugin-babel/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/cli-service/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=ea8d7ea4&\"\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/cli-service/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"],"names":["vueInstance","Vue","axiosInstance","axios","baseURL","location","origin","timeout","params","interceptors","response","use","error","status","localStorage","openc3Token","OpenC3Auth","login","href","axiosIgnoreResponse","toString","Promise","reject","body","statusText","config","data","message","exception","class","$notify","serious","title","render","_vm","this","_h","$createElement","_c","_self","_v","staticClass","suppressedWarnings","attrs","model","value","callback","$$v","selectAllSuppressedWarnings","expression","_l","warning","key","text","selectedSuppressedWarnings","length","on","resetSuppressedWarnings","lastConfigs","selectAllLastConfigs","selectedLastConfigs","clearLastConfigs","sourceUrl","saveSourceUrl","errorSaving","successSaving","rubygemsUrl","saveRubygemsUrl","staticRenderFns","OpenC3Api","method","kwparams","updateToken","defaultMinValidity","id","scope","jsonrpc","keyword_params","headers","Authorization","result","err","Error","name","request","val","json_class","raw","NaN","Infinity","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","exec","interface_name","router_name","target_commands","target","packet","item","log_writer_name","limits_set","target_name","packet_name","value_type","type","len","converted","i","decode_openc3_type","items","item_name","command_name","parameter_name","param_list","Object","prototype","hasOwnProperty","call","encode_openc3_type","undefined","_cmd","tool","ignored","array","string","window","isSecureContext","arrayBuffer","TextEncoder","encode","crypto","subtle","digest","hashAsArrayBuffer","uint8ViewOfHash","Uint8Array","Array","from","map","b","padStart","join","errorLoading","colors","scopedSlots","_u","fn","selectedBackgroundColor","proxy","_e","_s","customColorHint","rules","customColor","directives","rawName","customBackgroundColor","selectedFontColor","customFontColor","displayTopBanner","topHeight","displayBottomBanner","bottomHeight","formValid","save","api","computed","saveObj","fontColor","backgroundColor","watch","created","methods","load","get_setting","settingName","then","parsed","catch","save_setting","component","components","ClassificationBannerSettings","loadSuppressedWarnings","filter","loadLastConfigs","deleteLocalStorageKeys","keys","localStorageKeyToDisplayObject","loadSourceUrl","loadRubygemsUrl"],"sourceRoot":""}
|
data/tools/admin/js/251.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[251],{3251:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return A}});var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("top-bar",{attrs:{title:e.title}}),n("v-card",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(t){e.curTab=t},expression:"curTab"}},e._l(e.tabs,(function(t,a){return n("v-tab",{key:a,attrs:{to:t.path}},[e._v(" "+e._s(t.displayName)+" ")])})),1),n("router-view")],1)],1)},o=[],r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("div",{staticClass:"v-toolbar__content"},[e._l(e.menus,(function(t,a){return n("v-menu",{key:a,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function(a){var o=a.on,r=a.attrs;return[n("v-btn",e._g(e._b({staticClass:"mx-1",attrs:{outlined:"","data-test":e.formatDT(e.title+" "+t.label)}},"v-btn",r,!1),o),[n("span",{domProps:{textContent:e._s(t.label)}}),n("v-icon",{attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(a,o){return[a.divider?n("v-divider"):n("v-list-item",{key:o,attrs:{disabled:a.disabled,"data-test":e.formatDT(e.title+" "+t.label+" "+a.label)},on:{click:a.command}},[a.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:a.label,value:a.label}})],1):e._e(),a.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:a.label,value:a.label},model:{value:e.checked,callback:function(t){e.checked=t},expression:"checked"}})],1):e._e(),a.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:a.disabled}},[e._v(e._s(a.icon))])],1):e._e(),a.radio||a.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(a.disabled?"opacity: 0.2":"")},[e._v(e._s(a.label))])],1)]}))],2)],1)],1)})),n("v-spacer"),n("v-toolbar-title",[e._v(e._s(e.title))]),n("v-spacer")],2)])},i=[],l=(n(7950),n(5940),n(1639),{props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()}}}),s=l,c=(n(5741),n(3287)),u=(0,c.Z)(s,r,i,!1,null,"3237297b",null),d=u.exports,p=n(8229);function m(){var e="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/OpenC3Admin.vue",t="d5227e1585af3e9a401f09d6e5b29e26f1e79aba",n=new Function("return this")(),a="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/OpenC3Admin.vue",statementMap:{0:{start:{line:43,column:4},end:{line:47,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:42,column:2},end:{line:42,column:3}},loc:{start:{line:42,column:9},end:{line:48,column:3}},line:42}},branchMap:{},s:{0:0},f:{0:0},b:{},inputSourceMap:{version:3,sources:["OpenC3Admin.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"OpenC3Admin.vue",sourceRoot:"src/tools/OpenC3Admin",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <top-bar :title="title" />\n <v-card>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab v-for="(tab, index) in tabs" :key="index" :to="tab.path">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </div>\n</template>\n\n<script>\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport { TabsList } from \'./tabs\'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: \'OpenC3 Administrator Console\',\n curTab: null,\n tabs: TabsList,\n }\n },\n methods: {},\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d5227e1585af3e9a401f09d6e5b29e26f1e79aba"},r=n[a]||(n[a]={});r[e]&&r[e].hash===t||(r[e]=o);var i=r[e];return m=function(){return i},i}m();var v={components:{TopBar:d},data:function(){return m().f[0]++,m().s[0]++,{title:"OpenC3 Administrator Console",curTab:null,tabs:p.d}},methods:{}},b=v,f=(0,c.Z)(b,a,o,!1,null,null,null),A=f.exports},7764:function(e,t,n){"use strict";n.r(t);var a=n(3467),o=n.n(a),r=n(8715),i=n.n(r),l=i()(o());l.push([e.id,".v-list[data-v-3237297b] .v-label{margin-left:5px}.v-list-item__icon[data-v-3237297b]{margin-right:15px!important}.v-list-item__title[data-v-3237297b]{color:#fff}",""]),t["default"]=l},1639:function(e,t,n){"use strict";var a=n(3103),o=n(266),r=n(5968),i=n(8885),l=n(6733),s=n(8311),c=n(3326),u=n(5300),d=n(3349),p=n(17),m=n(95),v=n(4231),b=m("replace"),f=TypeError,A=r("".indexOf),h=r("".replace),_=r("".slice),C=Math.max,g=function(e,t,n){return n>e.length?-1:""===t?n:A(e,t,n)};a({target:"String",proto:!0},{replaceAll:function(e,t){var n,a,r,m,T,y,x,k,w,O=i(this),R=0,S=0,M="";if(null!=e){if(n=s(e),n&&(a=c(i(d(e))),!~A(a,"g")))throw f("`.replaceAll` does not allow non-global regexes");if(r=u(e,b),r)return o(r,e,O,t);if(v&&n)return h(c(O),e,t)}m=c(O),T=c(e),y=l(t),y||(t=c(t)),x=T.length,k=C(1,x),R=g(m,T,0);while(-1!==R)w=y?c(t(T,R,m)):p(T,m,R,[],void 0,t),M+=_(m,S,R)+w,S=R+x,R=g(m,T,R+k);return S<m.length&&(M+=_(m,S)),M}})},5741:function(e,t,n){var a=n(7764);a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals);var o=n(3514).Z;o("9f637652",a,!0,{sourceMap:!1,shadowMode:!1})}}]);
|
2
|
-
//# sourceMappingURL=251.js.map
|
data/tools/admin/js/251.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"js/251.js","mappings":"gLAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQN,EAAIO,SAASH,EAAG,SAAS,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,aAAa,IAAIE,MAAM,CAACC,MAAOT,EAAU,OAAEU,SAAS,SAAUC,GAAMX,EAAIY,OAAOD,CAAG,EAAEE,WAAW,WAAWb,EAAIc,GAAId,EAAQ,MAAE,SAASe,EAAIC,GAAO,OAAOZ,EAAG,QAAQ,CAACa,IAAID,EAAMV,MAAM,CAAC,GAAKS,EAAIG,OAAO,CAAClB,EAAImB,GAAG,IAAInB,EAAIoB,GAAGL,EAAIM,aAAa,MAAM,IAAG,GAAGjB,EAAG,gBAAgB,IAAI,EAAE,EAC9bkB,EAAkB,GCDlB,EAAS,WAAa,IAAItB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,kBAAkB,CAACE,MAAM,CAAC,WAAW,eAAe,OAAS,KAAK,CAACF,EAAG,MAAM,CAACmB,YAAY,sBAAsB,CAACvB,EAAIc,GAAId,EAAS,OAAE,SAASwB,EAAKC,GAAG,OAAOrB,EAAG,SAAS,CAACa,IAAIQ,EAAEnB,MAAM,CAAC,WAAW,IAAIoB,YAAY1B,EAAI2B,GAAG,CAAC,CAACV,IAAI,YAAYW,GAAG,SAASC,GACxV,IAAIC,EAAKD,EAAIC,GACTxB,EAAQuB,EAAIvB,MAChB,MAAO,CAACF,EAAG,QAAQJ,EAAI+B,GAAG/B,EAAIgC,GAAG,CAACT,YAAY,OAAOjB,MAAM,CAAC,SAAW,GAAG,YAAYN,EAAIiC,SAAUjC,EAAIO,MAAQ,IAAOiB,EAAU,SAAM,QAAQlB,GAAM,GAAOwB,GAAI,CAAC1B,EAAG,OAAO,CAAC8B,SAAS,CAAC,YAAclC,EAAIoB,GAAGI,EAAKW,UAAU/B,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAImB,GAAG,sBAAsB,GAAG,IAAI,MAAK,IAAO,CAACf,EAAG,SAAS,CAACA,EAAG,gBAAgB,CAACmB,YAAY,YAAYjB,MAAM,CAAC,MAAQkB,EAAKY,WAAW,eAAe,GAAG,MAAQ,KAAK,CAACpC,EAAIc,GAAIU,EAAU,OAAE,SAASa,EAAOC,GAAG,MAAO,CAAED,EAAc,QAAEjC,EAAG,aAAaA,EAAG,cAAc,CAACa,IAAIqB,EAAEhC,MAAM,CAAC,SAAW+B,EAAOE,SAAS,YAAYvC,EAAIiC,SAAUjC,EAAIO,MAAQ,IAAOiB,EAAU,MAAI,IAAOa,EAAY,QAAKP,GAAG,CAAC,MAAQO,EAAOG,UAAU,CAAEH,EAAY,MAAEjC,EAAG,qBAAqB,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQ+B,EAAOF,MAAM,MAAQE,EAAOF,UAAU,GAAGnC,EAAIyC,KAAMJ,EAAe,SAAEjC,EAAG,qBAAqB,CAACA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,YAAY,MAAQ+B,EAAOF,MAAM,MAAQE,EAAOF,OAAO3B,MAAM,CAACC,MAAOT,EAAW,QAAEU,SAAS,SAAUC,GAAMX,EAAI0C,QAAQ/B,CAAG,EAAEE,WAAW,cAAc,GAAGb,EAAIyC,KAAMJ,EAAW,KAAEjC,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,SAAW+B,EAAOE,WAAW,CAACvC,EAAImB,GAAGnB,EAAIoB,GAAGiB,EAAOM,UAAU,GAAG3C,EAAIyC,KAAOJ,EAAOO,OAAUP,EAAOQ,SAAwI7C,EAAIyC,KAAlIrC,EAAG,oBAAoB,CAAC0C,MAAO,oBAAsBT,EAAOE,SAAW,eAAiB,KAAM,CAACvC,EAAImB,GAAGnB,EAAIoB,GAAGiB,EAAOF,WAAoB,GAAG,KAAI,IAAI,IAAI,EAAE,IAAG/B,EAAG,YAAYA,EAAG,kBAAkB,CAACJ,EAAImB,GAAGnB,EAAIoB,GAAGpB,EAAIO,UAAUH,EAAG,aAAa,IAAI,EAC16C,EAAkB,GCsFtB,G,wBAAA,CACA2C,MAAAA,CACAC,MAAAA,CACAC,KAAAA,MACAC,QAAAA,WACA,QACA,GAEA3C,MAAAA,CACA0C,KAAAA,OACAC,QAAAA,KAGAC,QAAAA,CAEAlB,SAAAA,SAAAA,GACA,0CACA,KC3G4W,I,oBCQxWmB,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAeA,EAAiB,Q,4zECkBhC,OACAC,WAAAA,CACAC,OAAAA,GAEAC,KAJA,WAKA,OADA,sBACA,CACAhD,MAAAA,+BACAK,OAAAA,KACA4C,KAAAA,EAAAA,EAEA,EACAL,QAAAA,CAAAA,GChD0X,ICOtX,GAAY,OACd,EACApD,EACAuB,GACA,EACA,KACA,KACA,MAIF,EAAe,EAAiB,O,qFCf5BmC,EAA0B,IAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,qKAAsK,KAE/M,c,oCCNA,IAAIC,EAAI,EAAQ,MACZC,EAAO,EAAQ,KACfC,EAAc,EAAQ,MACtBC,EAAyB,EAAQ,MACjCC,EAAa,EAAQ,MACrBC,EAAW,EAAQ,MACnBC,EAAW,EAAQ,MACnBC,EAAY,EAAQ,MACpBC,EAAiB,EAAQ,MACzBC,EAAkB,EAAQ,IAC1BC,EAAkB,EAAQ,IAC1BC,EAAU,EAAQ,MAElBC,EAAUF,EAAgB,WAC1BG,EAAaC,UACbC,EAAUb,EAAY,GAAGa,SACzBC,EAAUd,EAAY,GAAGc,SACzBC,EAAcf,EAAY,GAAGgB,OAC7BC,EAAMC,KAAKD,IAEXE,EAAgB,SAAUC,EAAQC,EAAaC,GACjD,OAAIA,EAAYF,EAAOG,QAAgB,EACnB,KAAhBF,EAA2BC,EACxBT,EAAQO,EAAQC,EAAaC,EACtC,EAIAxB,EAAE,CAAE0B,OAAQ,SAAUC,OAAO,GAAQ,CACnCC,WAAY,SAAoBL,EAAaM,GAC3C,IACIC,EAAYC,EAAOC,EAAUV,EAAQW,EAAcC,EAAmBC,EAAcC,EAAWC,EAD/FC,EAAInC,EAAuB/D,MAE3BmG,EAAW,EACXC,EAAiB,EACjBC,EAAS,GACb,GAAmB,MAAflB,EAAqB,CAEvB,GADAO,EAAazB,EAASkB,GAClBO,IACFC,EAAQzB,EAASH,EAAuBK,EAAee,OACjDR,EAAQgB,EAAO,MAAM,MAAMlB,EAAW,mDAG9C,GADAmB,EAAWzB,EAAUgB,EAAaX,GAC9BoB,EACF,OAAO/B,EAAK+B,EAAUT,EAAae,EAAGT,GACjC,GAAIlB,GAAWmB,EACpB,OAAOd,EAAQV,EAASgC,GAAIf,EAAaM,EAE7C,CACAP,EAAShB,EAASgC,GAClBL,EAAe3B,EAASiB,GACxBW,EAAoB9B,EAAWyB,GAC1BK,IAAmBL,EAAevB,EAASuB,IAChDM,EAAeF,EAAaR,OAC5BW,EAAYjB,EAAI,EAAGgB,GACnBI,EAAWlB,EAAcC,EAAQW,EAAc,GAC/C,OAAqB,IAAdM,EACLF,EAAcH,EACV5B,EAASuB,EAAaI,EAAcM,EAAUjB,IAC9Cb,EAAgBwB,EAAcX,EAAQiB,EAAU,QAAIG,EAAWb,GACnEY,GAAUxB,EAAYK,EAAQkB,EAAgBD,GAAYF,EAC1DG,EAAiBD,EAAWJ,EAC5BI,EAAWlB,EAAcC,EAAQW,EAAcM,EAAWH,GAK5D,OAHII,EAAiBlB,EAAOG,SAC1BgB,GAAUxB,EAAYK,EAAQkB,IAEzBC,CACT,G,uBCjEF,IAAIE,EAAU,EAAQ,MACnBA,EAAQC,aAAYD,EAAUA,EAAQtD,SACnB,kBAAZsD,IAAsBA,EAAU,CAAC,CAAC7C,EAAOC,GAAI4C,EAAS,MAC7DA,EAAQE,SAAQ/C,EAAOgD,QAAUH,EAAQE,QAE5C,IAAIE,EAAM,UACGA,EAAI,WAAYJ,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,G","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/OpenC3Admin.vue?4a83","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue?79bd","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue?231a","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue?d9e2","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/OpenC3Admin.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/OpenC3Admin.vue?bac4","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/OpenC3Admin.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue?bfe1","webpack://@openc3/tool-admin/../../node_modules/core-js/modules/es.string.replace-all.js","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TopBar.vue?1e7c"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('top-bar',{attrs:{\"title\":_vm.title}}),_c('v-card',[_c('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.curTab),callback:function ($$v) {_vm.curTab=$$v},expression:\"curTab\"}},_vm._l((_vm.tabs),function(tab,index){return _c('v-tab',{key:index,attrs:{\"to\":tab.path}},[_vm._v(\" \"+_vm._s(tab.displayName)+\" \")])}),1),_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('mounting-portal',{attrs:{\"mount-to\":\"#openc3-menu\",\"append\":\"\"}},[_c('div',{staticClass:\"v-toolbar__content\"},[_vm._l((_vm.menus),function(menu,i){return _c('v-menu',{key:i,attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-1\",attrs:{\"outlined\":\"\",\"data-test\":_vm.formatDT((_vm.title + \" \" + (menu.label)))}},'v-btn',attrs,false),on),[_c('span',{domProps:{\"textContent\":_vm._s(menu.label)}}),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-menu-down \")])],1)]}}],null,true)},[_c('v-list',[_c('v-radio-group',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":menu.radioGroup,\"hide-details\":\"\",\"dense\":\"\"}},[_vm._l((menu.items),function(option,j){return [(option.divider)?_c('v-divider'):_c('v-list-item',{key:j,attrs:{\"disabled\":option.disabled,\"data-test\":_vm.formatDT((_vm.title + \" \" + (menu.label) + \" \" + (option.label)))},on:{\"click\":option.command}},[(option.radio)?_c('v-list-item-action',[_c('v-radio',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label}})],1):_vm._e(),(option.checkbox)?_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"color\":\"secondary\",\"label\":option.label,\"value\":option.label},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}})],1):_vm._e(),(option.icon)?_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":option.disabled}},[_vm._v(_vm._s(option.icon))])],1):_vm._e(),(!option.radio && !option.checkbox)?_c('v-list-item-title',{style:('cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : ''))},[_vm._v(_vm._s(option.label))]):_vm._e()],1)]})],2)],1)],1)}),_c('v-spacer'),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.title))]),_c('v-spacer')],2)])}\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\n<template>\n <mounting-portal mount-to=\"#openc3-menu\" append>\n <div class=\"v-toolbar__content\">\n <v-menu offset-y v-for=\"(menu, i) in menus\" :key=\"i\">\n <template v-slot:activator=\"{ on, attrs }\">\n <v-btn\n outlined\n v-bind=\"attrs\"\n v-on=\"on\"\n class=\"mx-1\"\n :data-test=\"formatDT(`${title} ${menu.label}`)\"\n >\n <span v-text=\"menu.label\" />\n <v-icon right> mdi-menu-down </v-icon>\n </v-btn>\n </template>\n <v-list>\n <!-- The radio-group is necessary in case the application wants radio buttons -->\n <v-radio-group\n :value=\"menu.radioGroup\"\n hide-details\n dense\n class=\"ma-0 pa-0\"\n >\n <template v-for=\"(option, j) in menu.items\">\n <v-divider v-if=\"option.divider\" />\n <v-list-item\n v-else\n @click=\"option.command\"\n :disabled=\"option.disabled\"\n :data-test=\"formatDT(`${title} ${menu.label} ${option.label}`)\"\n :key=\"j\"\n >\n <v-list-item-action v-if=\"option.radio\">\n <v-radio\n color=\"secondary\"\n :label=\"option.label\"\n :value=\"option.label\"\n />\n </v-list-item-action>\n <v-list-item-action v-if=\"option.checkbox\">\n <v-checkbox\n v-model=\"checked\"\n color=\"secondary\"\n :label=\"option.label\"\n :value=\"option.label\"\n />\n </v-list-item-action>\n <v-list-item-icon v-if=\"option.icon\">\n <v-icon :disabled=\"option.disabled\">{{ option.icon }}</v-icon>\n </v-list-item-icon>\n <v-list-item-title\n v-if=\"!option.radio && !option.checkbox\"\n :style=\"\n 'cursor: pointer;' + (option.disabled ? 'opacity: 0.2' : '')\n \"\n >{{ option.label }}</v-list-item-title\n >\n </v-list-item>\n </template>\n </v-radio-group>\n </v-list>\n </v-menu>\n <v-spacer />\n <v-toolbar-title>{{ title }}</v-toolbar-title>\n <v-spacer />\n </div>\n </mounting-portal>\n</template>\n\n<script>\nexport default {\n props: {\n menus: {\n type: Array,\n default: function () {\n return []\n },\n },\n title: {\n type: String,\n default: '',\n },\n },\n methods: {\n // Convert the string to a standard data-test format\n formatDT: function (string) {\n return string.replaceAll(' ', '-').toLowerCase()\n },\n },\n}\n</script>\n\n<style scoped>\n.v-list >>> .v-label {\n margin-left: 5px;\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n</style>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=3237297b&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=3237297b&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3237297b\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <top-bar :title=\"title\" />\n <v-card>\n <v-tabs v-model=\"curTab\" fixed-tabs>\n <v-tab v-for=\"(tab, index) in tabs\" :key=\"index\" :to=\"tab.path\">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </div>\n</template>\n\n<script>\nimport TopBar from '@openc3/tool-common/src/components/TopBar'\nimport { TabsList } from './tabs'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: 'OpenC3 Administrator Console',\n curTab: null,\n tabs: TabsList,\n }\n },\n methods: {},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenC3Admin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./OpenC3Admin.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OpenC3Admin.vue?vue&type=template&id=20aac7b9&\"\nimport script from \"./OpenC3Admin.vue?vue&type=script&lang=js&\"\nexport * from \"./OpenC3Admin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/@vue/cli-service/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/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".v-list[data-v-3237297b] .v-label{margin-left:5px}.v-list-item__icon[data-v-3237297b]{margin-right:15px!important}.v-list-item__title[data-v-3237297b]{color:#fff}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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 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 (searchValue != null) {\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","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[3]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=3237297b&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(\"9f637652\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","title","model","value","callback","$$v","curTab","expression","_l","tab","index","key","path","_v","_s","displayName","staticRenderFns","staticClass","menu","i","scopedSlots","_u","fn","ref","on","_g","_b","formatDT","domProps","label","radioGroup","option","j","disabled","command","_e","checked","icon","radio","checkbox","style","props","menus","type","default","methods","component","components","TopBar","data","tabs","___CSS_LOADER_EXPORT___","push","module","id","$","call","uncurryThis","requireObjectCoercible","isCallable","isRegExp","toString","getMethod","getRegExpFlags","getSubstitution","wellKnownSymbol","IS_PURE","REPLACE","$TypeError","TypeError","indexOf","replace","stringSlice","slice","max","Math","stringIndexOf","string","searchValue","fromIndex","length","target","proto","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","replacement","O","position","endOfLastMatch","result","undefined","content","__esModule","locals","exports","add"],"sourceRoot":""}
|
data/tools/admin/js/32.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
"use strict";(self["webpackChunk_openc3_tool_admin"]=self["webpackChunk_openc3_tool_admin"]||[]).push([[32],{1032:function(n,e,t){t.r(e),t.d(e,{default:function(){return C}});var i=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-list",{attrs:{"data-test":"microserviceList"}},n._l(n.microservices,(function(e,i){return t("div",{key:e},[t("v-list-item",[t("v-list-item-content",[t("v-list-item-title",[n._v(n._s(e))]),n.microservice_status[e]?t("v-list-item-subtitle",[n._v(" Updated: "+n._s(n.microservice_status[e].updated_at)+", State: "+n._s(n.microservice_status[e].state)+", Count: "+n._s(n.microservice_status[e].count)+" ")]):n._e()],1),t("div",{directives:[{name:"show",rawName:"v-show",value:!!n.microservice_status[e].error,expression:"!!microservice_status[microservice].error"}]},[t("v-list-item-icon",[t("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(i){var o=i.on,s=i.attrs;return[t("v-icon",n._g(n._b({on:{click:function(t){return n.showMicroserviceError(e)}}},"v-icon",s,!1),o),[n._v(" mdi-alert ")])]}}],null,!0)},[t("span",[n._v("View Error")])])],1)],1),t("v-list-item-icon",[t("v-tooltip",{attrs:{bottom:""},scopedSlots:n._u([{key:"activator",fn:function(i){var o=i.on,s=i.attrs;return[t("v-icon",n._g(n._b({on:{click:function(t){return n.showMicroservice(e)}}},"v-icon",s,!1),o),[n._v(" mdi-eye ")])]}}],null,!0)},[t("span",[n._v("Edit Microservice")])])],1)],1),i<n.microservices.length-1?t("v-divider",{key:i}):n._e()],1)})),0),n.showDialog?t("edit-dialog",{attrs:{content:n.jsonContent,title:"Microservice: "+n.dialogTitle,readonly:""},on:{submit:n.dialogCallback},model:{value:n.showDialog,callback:function(e){n.showDialog=e},expression:"showDialog"}}):n._e(),n.showError?t("text-box-dialog",{attrs:{text:n.jsonContent,title:n.dialogTitle},model:{value:n.showError,callback:function(e){n.showError=e},expression:"showError"}}):n._e()],1)},o=[],s=(t(6710),t(1261)),l=t(4463),c=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("v-dialog",{attrs:{width:"600"},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[n._v(" "+n._s(n.title)+" ")]),t("v-spacer"),t("div",{staticClass:"mx-2"},[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var i=e.on,o=e.attrs;return[t("div",n._g(n._b({},"div",o,!1),i),[t("v-icon",{attrs:{"data-test":"downloadIcon"},on:{click:n.download}},[n._v(" mdi-download ")])],1)]}}])},[t("span",[n._v(" Download ")])])],1)],1),t("div",{staticClass:"pa-2"},[t("v-card-text",[t("v-textarea",{attrs:{readonly:"",rows:"15","data-test":"dialogText"},model:{value:n.dialogText,callback:function(e){n.dialogText=e},expression:"dialogText"}})],1)],1),t("v-card-actions",[t("v-spacer"),t("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(e){n.show=!n.show}}},[n._v(" Ok ")])],1)],1)],1)},r=[],a=(t(8188),t(8673),t(6886),t(4121),t(523),{props:{value:Boolean,text:String,title:String},computed:{dialogText:function(){return this.text},show:{get:function(){return this.value},set:function(n){this.$emit("input",n)}}},methods:{download:function(){var n=new Blob([this.dialogText],{type:"text/plain"}),e=document.createElement("a");e.href=URL.createObjectURL(n),e.setAttribute("download","".concat(this.title,"__error.txt")),e.click()}}}),m=a,u=t(3287),d=(0,u.Z)(m,c,r,!1,null,null,null),A=d.exports;function v(){var n="/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/MicroservicesTab.vue",e="327b7c98d580f3c017cfb41bf4cd3d1c334ff8d8",t=new Function("return this")(),i="__coverage__",o={path:"/openc3/plugins/packages/openc3-tool-admin/src/tools/OpenC3Admin/tabs/MicroservicesTab.vue",statementMap:{0:{start:{line:95,column:4},end:{line:103,column:5}},1:{start:{line:106,column:4},end:{line:106,column:17}},2:{start:{line:110,column:6},end:{line:112,column:8}},3:{start:{line:111,column:8},end:{line:111,column:48}},4:{start:{line:113,column:6},end:{line:115,column:8}},5:{start:{line:114,column:8},end:{line:114,column:42}},6:{start:{line:118,column:6},end:{line:123,column:8}},7:{start:{line:119,column:8},end:{line:119,column:35}},8:{start:{line:120,column:8},end:{line:120,column:31}},9:{start:{line:121,column:8},end:{line:121,column:68}},10:{start:{line:122,column:8},end:{line:122,column:30}},11:{start:{line:126,column:6},end:{line:126,column:29}},12:{start:{line:127,column:16},end:{line:127,column:52}},13:{start:{line:128,column:6},end:{line:128,column:54}},14:{start:{line:129,column:6},end:{line:129,column:27}},15:{start:{line:132,column:6},end:{line:132,column:29}},16:{start:{line:133,column:6},end:{line:155,column:7}},17:{start:{line:134,column:21},end:{line:134,column:40}},18:{start:{line:135,column:21},end:{line:135,column:26}},19:{start:{line:136,column:18},end:{line:136,column:69}},20:{start:{line:137,column:8},end:{line:140,column:9}},21:{start:{line:138,column:10},end:{line:138,column:25}},22:{start:{line:139,column:10},end:{line:139,column:43}},23:{start:{line:142,column:8},end:{line:154,column:10}},24:{start:{line:147,column:10},end:{line:147,column:46}},25:{start:{line:148,column:10},end:{line:148,column:36}},26:{start:{line:149,column:10},end:{line:149,column:31}},27:{start:{line:150,column:10},end:{line:152,column:18}},28:{start:{line:151,column:12},end:{line:151,column:34}},29:{start:{line:153,column:10},end:{line:153,column:23}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:94,column:2},end:{line:94,column:3}},loc:{start:{line:94,column:9},end:{line:104,column:3}},line:94},1:{name:"(anonymous_1)",decl:{start:{line:105,column:2},end:{line:105,column:3}},loc:{start:{line:105,column:12},end:{line:107,column:3}},line:105},2:{name:"(anonymous_2)",decl:{start:{line:109,column:12},end:{line:109,column:13}},loc:{start:{line:109,column:24},end:{line:116,column:5}},line:109},3:{name:"(anonymous_3)",decl:{start:{line:110,column:58},end:{line:110,column:59}},loc:{start:{line:110,column:72},end:{line:112,column:7}},line:110},4:{name:"(anonymous_4)",decl:{start:{line:113,column:48},end:{line:113,column:49}},loc:{start:{line:113,column:62},end:{line:115,column:7}},line:113},5:{name:"(anonymous_5)",decl:{start:{line:117,column:22},end:{line:117,column:23}},loc:{start:{line:117,column:38},end:{line:124,column:5}},line:117},6:{name:"(anonymous_6)",decl:{start:{line:118,column:56},end:{line:118,column:57}},loc:{start:{line:118,column:70},end:{line:123,column:7}},line:118},7:{name:"(anonymous_7)",decl:{start:{line:125,column:27},end:{line:125,column:28}},loc:{start:{line:125,column:43},end:{line:130,column:5}},line:125},8:{name:"(anonymous_8)",decl:{start:{line:131,column:20},end:{line:131,column:21}},loc:{start:{line:131,column:39},end:{line:156,column:5}},line:131},9:{name:"(anonymous_9)",decl:{start:{line:146,column:16},end:{line:146,column:17}},loc:{start:{line:146,column:30},end:{line:154,column:9}},line:146},10:{name:"(anonymous_10)",decl:{start:{line:150,column:21},end:{line:150,column:22}},loc:{start:{line:150,column:27},end:{line:152,column:11}},line:150}},branchMap:{0:{loc:{start:{line:133,column:6},end:{line:155,column:7}},type:"if",locations:[{start:{line:133,column:6},end:{line:155,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:133},1:{loc:{start:{line:137,column:8},end:{line:140,column:9}},type:"if",locations:[{start:{line:137,column:8},end:{line:140,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:137}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["MicroservicesTab.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"MicroservicesTab.vue",sourceRoot:"src/tools/OpenC3Admin/tabs",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-list data-test="microserviceList">\n <div v-for="(microservice, index) in microservices" :key="microservice">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ microservice }}</v-list-item-title>\n <v-list-item-subtitle v-if="microservice_status[microservice]">\n Updated: {{ microservice_status[microservice].updated_at }},\n State: {{ microservice_status[microservice].state }}, Count:\n {{ microservice_status[microservice].count }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <div v-show="!!microservice_status[microservice].error">\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="showMicroserviceError(microservice)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-alert\n </v-icon>\n </template>\n <span>View Error</span>\n </v-tooltip>\n </v-list-item-icon>\n </div>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="showMicroservice(microservice)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>Edit Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if="index < microservices.length - 1" :key="index" />\n </div>\n </v-list>\n <edit-dialog\n v-model="showDialog"\n v-if="showDialog"\n :content="jsonContent"\n :title="`Microservice: ${dialogTitle}`"\n readonly\n @submit="dialogCallback"\n />\n <text-box-dialog\n v-model="showError"\n v-if="showError"\n :text="jsonContent"\n :title="dialogTitle"\n />\n </div>\n</template>\n\n<script>\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport EditDialog from \'@/tools/OpenC3Admin/EditDialog\'\nimport TextBoxDialog from \'@openc3/tool-common/src/components/TextBoxDialog\'\n\nexport default {\n components: {\n EditDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: \'\',\n dialogTitle: \'\',\n showDialog: false,\n showError: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update: function () {\n Api.get(\'/openc3-api/microservice_status/all\').then((response) => {\n this.microservice_status = response.data\n })\n Api.get(\'/openc3-api/microservices\').then((response) => {\n this.microservices = response.data\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, \'\\t\')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, \'\\t\')\n this.showError = true\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = \'put\'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed[\'name\'] !== this.microservice_id) {\n method = \'post\'\n url = \'/openc3-api/microservices\'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = \'Modified Microservice\'\n this.alertType = \'success\'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"327b7c98d580f3c017cfb41bf4cd3d1c334ff8d8"},s=t[i]||(t[i]={});s[n]&&s[n].hash===e||(s[n]=o);var l=s[n];return v=function(){return l},l}v();var p={components:{EditDialog:l.Z,TextBoxDialog:A},data:function(){return v().f[0]++,v().s[0]++,{microservices:[],microservice_status:{},microservice_id:null,jsonContent:"",dialogTitle:"",showDialog:!1,showError:!1}},mounted:function(){v().f[1]++,v().s[1]++,this.update()},methods:{update:function(){var n=this;v().f[2]++,v().s[2]++,s.Z.get("/openc3-api/microservice_status/all").then((function(e){v().f[3]++,v().s[3]++,n.microservice_status=e.data})),v().s[4]++,s.Z.get("/openc3-api/microservices").then((function(e){v().f[4]++,v().s[5]++,n.microservices=e.data}))},showMicroservice:function(n){var e=this;v().f[5]++,v().s[6]++,s.Z.get("/openc3-api/microservices/".concat(n)).then((function(t){v().f[6]++,v().s[7]++,e.microservice_id=n,v().s[8]++,e.dialogTitle=n,v().s[9]++,e.jsonContent=JSON.stringify(t.data,null,"\t"),v().s[10]++,e.showDialog=!0}))},showMicroserviceError:function(n){v().f[7]++,v().s[11]++,this.dialogTitle=n;var e=(v().s[12]++,this.microservice_status[n].error);v().s[13]++,this.jsonContent=JSON.stringify(e,null,"\t"),v().s[14]++,this.showError=!0},dialogCallback:function(n){var e=this;if(v().f[8]++,v().s[15]++,this.showDialog=!1,v().s[16]++,null!==n){v().b[0][0]++;var t=(v().s[17]++,JSON.parse(n)),i=(v().s[18]++,"put"),o=(v().s[19]++,"/openc3-api/microservices/".concat(this.microservice_id));v().s[20]++,t["name"]!==this.microservice_id?(v().b[1][0]++,v().s[21]++,i="post",v().s[22]++,o="/openc3-api/microservices"):v().b[1][1]++,v().s[23]++,s.Z[i](o,{data:{json:n}}).then((function(n){v().f[9]++,v().s[24]++,e.alert="Modified Microservice",v().s[25]++,e.alertType="success",v().s[26]++,e.showAlert=!0,v().s[27]++,setTimeout((function(){v().f[10]++,v().s[28]++,e.showAlert=!1}),5e3),v().s[29]++,e.update()}))}else v().b[0][1]++}}},h=p,f=(0,u.Z)(h,i,o,!1,null,null,null),C=f.exports}}]);
|
2
|
-
//# sourceMappingURL=32.js.map
|
data/tools/admin/js/32.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"js/32.js","mappings":"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","sources":["webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/MicroservicesTab.vue?bcda","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TextBoxDialog.vue?e522","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TextBoxDialog.vue","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TextBoxDialog.vue?cc45","webpack://@openc3/tool-admin/../openc3-tool-common/src/components/TextBoxDialog.vue?3d0e","webpack://@openc3/tool-admin/src/tools/OpenC3Admin/tabs/MicroservicesTab.vue","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/MicroservicesTab.vue?0ba5","webpack://@openc3/tool-admin/./src/tools/OpenC3Admin/tabs/MicroservicesTab.vue"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-list',{attrs:{\"data-test\":\"microserviceList\"}},_vm._l((_vm.microservices),function(microservice,index){return _c('div',{key:microservice},[_c('v-list-item',[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(microservice))]),(_vm.microservice_status[microservice])?_c('v-list-item-subtitle',[_vm._v(\" Updated: \"+_vm._s(_vm.microservice_status[microservice].updated_at)+\", State: \"+_vm._s(_vm.microservice_status[microservice].state)+\", Count: \"+_vm._s(_vm.microservice_status[microservice].count)+\" \")]):_vm._e()],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.microservice_status[microservice].error),expression:\"!!microservice_status[microservice].error\"}]},[_c('v-list-item-icon',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.showMicroserviceError(microservice)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-alert \")])]}}],null,true)},[_c('span',[_vm._v(\"View Error\")])])],1)],1),_c('v-list-item-icon',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({on:{\"click\":function($event){return _vm.showMicroservice(microservice)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-eye \")])]}}],null,true)},[_c('span',[_vm._v(\"Edit Microservice\")])])],1)],1),(index < _vm.microservices.length - 1)?_c('v-divider',{key:index}):_vm._e()],1)}),0),(_vm.showDialog)?_c('edit-dialog',{attrs:{\"content\":_vm.jsonContent,\"title\":(\"Microservice: \" + _vm.dialogTitle),\"readonly\":\"\"},on:{\"submit\":_vm.dialogCallback},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}}):_vm._e(),(_vm.showError)?_c('text-box-dialog',{attrs:{\"text\":_vm.jsonContent,\"title\":_vm.dialogTitle},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-spacer'),_c('div',{staticClass:\"mx-2\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_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('div',{staticClass:\"pa-2\"},[_c('v-card-text',[_c('v-textarea',{attrs:{\"readonly\":\"\",\"rows\":\"15\",\"data-test\":\"dialogText\"},model:{value:(_vm.dialogText),callback:function ($$v) {_vm.dialogText=$$v},expression:\"dialogText\"}})],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.show = !_vm.show}}},[_vm._v(\" Ok \")])],1)],1)],1)}\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\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> {{ title }} </span>\n <v-spacer />\n <div class=\"mx-2\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"downloadIcon\" @click=\"download\">\n mdi-download\n </v-icon>\n </div>\n </template>\n <span> Download </span>\n </v-tooltip>\n </div>\n </v-system-bar>\n <div class=\"pa-2\">\n <v-card-text>\n <v-textarea\n v-model=\"dialogText\"\n readonly\n rows=\"15\"\n data-test=\"dialogText\"\n />\n </v-card-text>\n </div>\n <v-card-actions>\n <v-spacer />\n <v-btn class=\"mx-2\" color=\"primary\" @click=\"show = !show\"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n text: String,\n title: String,\n },\n computed: {\n dialogText: function () {\n return this.text\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {\n download: function () {\n const blob = new Blob([this.dialogText], {\n type: 'text/plain',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute('download', `${this.title}__error.txt`)\n link.click()\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextBoxDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextBoxDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextBoxDialog.vue?vue&type=template&id=8ba29454&\"\nimport script from \"./TextBoxDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./TextBoxDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n-->\n\n<template>\n <div>\n <v-list data-test=\"microserviceList\">\n <div v-for=\"(microservice, index) in microservices\" :key=\"microservice\">\n <v-list-item>\n <v-list-item-content>\n <v-list-item-title>{{ microservice }}</v-list-item-title>\n <v-list-item-subtitle v-if=\"microservice_status[microservice]\">\n Updated: {{ microservice_status[microservice].updated_at }},\n State: {{ microservice_status[microservice].state }}, Count:\n {{ microservice_status[microservice].count }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <div v-show=\"!!microservice_status[microservice].error\">\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"showMicroserviceError(microservice)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-alert\n </v-icon>\n </template>\n <span>View Error</span>\n </v-tooltip>\n </v-list-item-icon>\n </div>\n <v-list-item-icon>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n @click=\"showMicroservice(microservice)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n mdi-eye\n </v-icon>\n </template>\n <span>Edit Microservice</span>\n </v-tooltip>\n </v-list-item-icon>\n </v-list-item>\n <v-divider v-if=\"index < microservices.length - 1\" :key=\"index\" />\n </div>\n </v-list>\n <edit-dialog\n v-model=\"showDialog\"\n v-if=\"showDialog\"\n :content=\"jsonContent\"\n :title=\"`Microservice: ${dialogTitle}`\"\n readonly\n @submit=\"dialogCallback\"\n />\n <text-box-dialog\n v-model=\"showError\"\n v-if=\"showError\"\n :text=\"jsonContent\"\n :title=\"dialogTitle\"\n />\n </div>\n</template>\n\n<script>\nimport Api from '@openc3/tool-common/src/services/api'\nimport EditDialog from '@/tools/OpenC3Admin/EditDialog'\nimport TextBoxDialog from '@openc3/tool-common/src/components/TextBoxDialog'\n\nexport default {\n components: {\n EditDialog,\n TextBoxDialog,\n },\n data() {\n return {\n microservices: [],\n microservice_status: {},\n microservice_id: null,\n jsonContent: '',\n dialogTitle: '',\n showDialog: false,\n showError: false,\n }\n },\n mounted() {\n this.update()\n },\n methods: {\n update: function () {\n Api.get('/openc3-api/microservice_status/all').then((response) => {\n this.microservice_status = response.data\n })\n Api.get('/openc3-api/microservices').then((response) => {\n this.microservices = response.data\n })\n },\n showMicroservice: function (name) {\n Api.get(`/openc3-api/microservices/${name}`).then((response) => {\n this.microservice_id = name\n this.dialogTitle = name\n this.jsonContent = JSON.stringify(response.data, null, '\\t')\n this.showDialog = true\n })\n },\n showMicroserviceError: function (name) {\n this.dialogTitle = name\n const e = this.microservice_status[name].error\n this.jsonContent = JSON.stringify(e, null, '\\t')\n this.showError = true\n },\n dialogCallback: function (content) {\n this.showDialog = false\n if (content !== null) {\n let parsed = JSON.parse(content)\n let method = 'put'\n let url = `/openc3-api/microservices/${this.microservice_id}`\n if (parsed['name'] !== this.microservice_id) {\n method = 'post'\n url = '/openc3-api/microservices'\n }\n\n Api[method](url, {\n data: {\n json: content,\n },\n }).then((response) => {\n this.alert = 'Modified Microservice'\n this.alertType = 'success'\n this.showAlert = true\n setTimeout(() => {\n this.showAlert = false\n }, 5000)\n this.update()\n })\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MicroservicesTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/@vue/cli-plugin-babel/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/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MicroservicesTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MicroservicesTab.vue?vue&type=template&id=5e4ea7bc&\"\nimport script from \"./MicroservicesTab.vue?vue&type=script&lang=js&\"\nexport * from \"./MicroservicesTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/@vue/cli-service/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"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_l","microservice","index","key","_v","_s","microservice_status","updated_at","state","count","_e","directives","name","rawName","value","error","expression","scopedSlots","_u","fn","ref","on","_g","_b","$event","showMicroserviceError","showMicroservice","microservices","length","jsonContent","dialogTitle","dialogCallback","model","callback","$$v","showDialog","showError","staticRenderFns","show","title","staticClass","download","dialogText","props","text","computed","get","set","methods","type","link","component","components","EditDialog","TextBoxDialog","data","microservice_id","mounted","update","Api","method","url","json","then","setTimeout"],"sourceRoot":""}
|