openc3-tool-limitsmonitor 5.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ ## OpenC3 Tool Limits Monitor Plugin
2
+
3
+ [Documentation](https://openc3.com)
4
+
5
+ This plugin provides the OpenC3 Limits Monitor user interface
6
+
7
+ ## Getting Started
8
+
9
+ 1. At the OpenC3 Admin - Plugins, upload the openc3-tool-limitsmonitor.gem file
10
+
11
+ ## Contributing
12
+
13
+ We encourage you to contribute to OpenC3!
14
+
15
+ Contributing is easy.
16
+
17
+ 1. Fork the project
18
+ 2. Create a feature branch
19
+ 3. Make your changes
20
+ 4. Submit a pull request
21
+
22
+ Before any contributions can be incorporated we do require all contributors to agree to a Contributor License Agreement
23
+
24
+ This protects both you and us and you retain full rights to any code you write.
25
+
26
+ ## License
27
+
28
+ This OpenC3 plugin is released under the AGPLv3.0 with a few addendums. See [LICENSE.txt](LICENSE.txt)
data/Rakefile ADDED
@@ -0,0 +1,40 @@
1
+ # encoding: ascii-8bit
2
+
3
+ # Copyright 2022 Ball Aerospace & Technologies Corp.
4
+ # All Rights Reserved.
5
+ #
6
+ # This program is free software; you can modify and/or redistribute it
7
+ # under the terms of the GNU Affero General Public License
8
+ # as published by the Free Software Foundation; version 3 with
9
+ # attribution addendums as found in the LICENSE.txt
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU Affero General Public License for more details.
15
+
16
+ # Modified by OpenC3, Inc.
17
+ # All changes Copyright 2022, OpenC3, Inc.
18
+ # All Rights Reserved
19
+
20
+ PLUGIN_NAME = Dir['*.gemspec'][0].split('.')[0..-2].join('.')
21
+
22
+ task :require_version do
23
+ if ENV['VERSION']
24
+ if ENV['VERSION'] =~ /-/
25
+ # Add Timestamp to prerelease versions
26
+ ENV['VERSION'] = ENV['VERSION'] + "." + Time.now.utc.strftime("%Y%m%d%H%M%S")
27
+ end
28
+ else
29
+ puts "VERSION is required: rake <task> VERSION=X.X.X"
30
+ exit 1
31
+ end
32
+ end
33
+
34
+ task :build => [:require_version] do
35
+ _, platform, *_ = RUBY_PLATFORM.split("-")
36
+ if platform == 'mswin32' or platform == 'mingw32'
37
+ puts "Warning: Building gem on Windows will lose file permissions"
38
+ end
39
+ system("gem build #{PLUGIN_NAME}")
40
+ end
data/plugin.txt ADDED
@@ -0,0 +1,3 @@
1
+ TOOL limitsmonitor "Limits Monitor"
2
+ INLINE_URL js/app.js
3
+ ICON $astro-caution
@@ -0,0 +1,4 @@
1
+ <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><main><h1>Your Microfrontend is not here</h1><p>The @openc3/tool-limitsmonitor microfrontend is running in "integrated" mode, since standalone-single-spa-webpack-plugin is disabled. This means that it does not work as a standalone application without changing configuration.</p><h2>How do I develop this microfrontend?</h2><p>To develop this microfrontend, try the following steps:</p><ol><li>Copy the following URL to your clipboard: <a target="_blank" rel="noopener" id="mf-url"></a></li><li>In a new browser tab, go to the your single-spa web app. This is where your "root config" is running. You do not have to run the root config locally if it is already running on a deployed environment - go to the deployed environment directly.</li><li>In the browser console, run <code>localStorage.setItem('devtools', true);</code> Refresh the page.</li><li>A yellowish rectangle should appear at the bottom right of your screen. Click on it. Find the name @openc3/tool-limitsmonitor and click on it. If it is not present, click on Add New Module.</li><li>Paste the URL above into the input that appears. Refresh the page.</li><li>Congrats, your local code is now being used!</li></ol><p></p><p>For further information about "integrated" mode, see the following links:</p><ul><li><a target="_blank" rel="noopener" href="https://single-spa.js.org/docs/recommended-setup#local-development">Local Development Overview</a></li><li><a target="_blank" rel="noopener" href="https://github.com/joeldenning/import-map-overrides">Import Map Overrides Documentation</a></li></ul><p></p><h2>If you prefer Standalone mode</h2><p>To run this microfrontend in "standalone" mode, the standalone-single-spa-webpack-plugin must not be disabled. In some cases, this is done by running <code>npm run start:standalone</code>. Alternatively, you can add <code>--env standalone</code> to your package.json start script if you are using webpack-config-single-spa.</p>If neither of those work for you, see more details about enabling standalone mode at <a target="_blank" rel="noopener" href="https://github.com/single-spa/standalone-single-spa-webpack-plugin">Standalone Plugin Documentation</a>.<p></p><script>const mfLink = document.getElementById('mf-url');
2
+ const fullSrc = new URL('/tools/limitsmonitor//tools/limitsmonitor/js/app.js', window.location.href);
3
+ mfLink.href = fullSrc;
4
+ mfLink.textContent = fullSrc;</script></main></head><body><div id="app"></div></body></html>
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_tool_limitsmonitor"]=self["webpackChunk_openc3_tool_limitsmonitor"]||[]).push([[405],{2405:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return Je}});var i=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",[t("top-bar",{attrs:{menus:e.menus,title:e.title}}),t("v-card",[t("v-tabs",{attrs:{"fixed-tabs":""},model:{value:e.curTab,callback:function(n){e.curTab=n},expression:"curTab"}},e._l(e.tabs,(function(n,i){return t("v-tab",{key:i},[e._v(e._s(n))])})),1),t("v-tabs-items",{model:{value:e.curTab,callback:function(n){e.curTab=n},expression:"curTab"}},[t("v-tab-item",{attrs:{eager:""}},[t("keep-alive",[t("limits-control",{key:e.renderKey,ref:"control",model:{value:e.ignored,callback:function(n){e.ignored=n},expression:"ignored"}})],1)],1),t("v-tab-item",{attrs:{eager:""}},[t("keep-alive",[t("limits-events")],1)],1)],1)],1),e.openConfig?t("open-config-dialog",{attrs:{tool:e.toolName},on:{success:e.openConfiguration},model:{value:e.openConfig,callback:function(n){e.openConfig=n},expression:"openConfig"}}):e._e(),e.saveConfig?t("save-config-dialog",{attrs:{tool:e.toolName},on:{success:e.saveConfiguration},model:{value:e.saveConfig,callback:function(n){e.saveConfig=n},expression:"saveConfig"}}):e._e()],1)},l=[],o=t(6625),s=t(5627),a=(t(6710),function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",[t("v-container",[t("v-row",{attrs:{"no-gutters":""}},[t("v-text-field",{class:e.textFieldClass,attrs:{width:"200",dense:"",outlined:"",readonly:"",label:"Overall Limits State",value:e.overallStateFormatted,"data-test":"overall-state"}})],1),e._l(e.items,(function(n,i){return t("div",{key:n.key},[t("v-row",{staticClass:"my-0",attrs:{"data-test":"limits-row"}},[t("v-col",{staticClass:"py-1"},[n.limits?t("labelvaluelimitsbar-widget",{attrs:{parameters:n.parameters,settings:[["0","WIDTH","150"],["1","WIDTH","200"],["2","WIDTH","200"]]}}):t("labelvalue-widget",{attrs:{parameters:n.parameters,settings:[["0","WIDTH","150"],["1","WIDTH","200"]]}})],1),t("v-col",{staticClass:"py-1",attrs:{cols:"2"}},[t("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(i){var l=i.on,o=i.attrs;return[t("v-btn",e._g(e._b({staticClass:"mr-2",attrs:{icon:""},on:{click:function(t){return e.ignorePacket(n.key)}}},"v-btn",o,!1),l),[t("v-icon",[e._v(" mdi-close-circle-multiple ")])],1)]}}],null,!0)},[t("span",[e._v("Ignore Entire Packet")])]),t("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(i){var l=i.on,o=i.attrs;return[t("v-btn",e._g(e._b({staticClass:"mr-2",attrs:{icon:""},on:{click:function(t){return e.ignoreItem(n.key)}}},"v-btn",o,!1),l),[t("v-icon",[e._v(" mdi-close-circle ")])],1)]}}],null,!0)},[t("span",[e._v("Ignore Item")])]),t("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(i){var l=i.on,o=i.attrs;return[t("v-btn",e._g(e._b({staticClass:"mr-2",attrs:{icon:""},on:{click:function(t){return e.removeItem(n.key)}}},"v-btn",o,!1),l),[t("v-icon",[e._v(" mdi-eye-off ")])],1)]}}],null,!0)},[t("span",[e._v("Temporarily Hide Item")])])],1)],1),i<e.items.length-1?t("v-divider",{key:i}):e._e()],1)}))],2),t("v-dialog",{attrs:{"max-width":"600"},model:{value:e.ignoredItemsDialog,callback:function(n){e.ignoredItemsDialog=n},expression:"ignoredItemsDialog"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[e._v("Ignored Items")]),t("v-spacer")],1),t("v-card-text",[t("div",{staticClass:"my-2"},[e._l(e.ignoredFormatted,(function(n,i){return t("div",{key:i},[t("v-row",{staticClass:"ma-1"},[t("span",{staticClass:"font-weight-black"},[e._v(" "+e._s(n)+" ")]),t("v-spacer"),t("v-btn",{attrs:{small:"",icon:"","data-test":"remove-ignore-"+i},on:{click:function(t){return e.restoreItem(n,i)}}},[t("v-icon",[e._v(" mdi-delete ")])],1)],1),i<e.ignoredFormatted.length-1?t("v-divider",{key:i}):e._e()],1)})),t("v-row",{staticClass:"mt-2"},[t("v-spacer"),t("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(n){e.ignoredItemsDialog=!1}}},[e._v(" Ok ")])],1),e.index<e.items.length-1?t("v-divider",{key:e.index}):e._e()],2)])],1)],1)],1)}),r=[],c=t(6533),u=t(1150),m=(t(3450),t(7950),t(8319),t(4069),t(9228),t(8188),t(9529),t(1235),t(2501),t(8178),t(9949),t(4660),t(9805),t(8816)),d=t(578),A=t(7105),v=t(6455),h=t(1901),f=(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(9644)),p=t.n(f),g=t(4091),_=new g["default"],C=p().create({baseURL:location.origin,timeout:6e4,params:{}});C.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,i,l,o,s,a,r,c,u;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!==(i=t.config)&&void 0!==i&&i.data&&(m+="".concat(e.response.config.data," ")),null!==(l=e.response)&&void 0!==l&&null!==(o=l.data)&&void 0!==o&&o.message)m+="".concat(e.response.data.message);else if(null!==(s=e.response)&&void 0!==s&&null!==(a=s.data)&&void 0!==a&&a.exception)m+="".concat(e.response.data.exception);else if(null!==(r=e.response)&&void 0!==r&&null!==(c=r.data)&&void 0!==c&&null!==(u=c.error)&&void 0!==u&&u.message)e.response.data.error.class&&(m+="".concat(e.response.data.error.class," ")),m+="".concat(e.response.data.error.message);else{var d;m+="".concat(null===(d=e.response)||void 0===d?void 0:d.data)}_.$notify.serious({title:"Network error",body:m})}throw e}throw e}));var b=C,y=function(){function e(){(0,A.Z)(this,e),(0,h.Z)(this,"id",1)}return(0,v.Z)(e,[{key:"exec",value:function(){var e=(0,s.Z)((0,o.Z)().mark((function e(n,t){var i,l,s,a=arguments;return(0,o.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return i=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,i["scope"]=localStorage.scope,e.next=14,b.post("/openc3-api/api",{jsonrpc:"2.0",method:n,params:t,id:this.id,keyword_params:i},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"}});case 14:return l=e.sent,e.abrupt("return",l.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,d.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,s.Z)((0,o.Z)().mark((function e(n,t,i){var l,s,a,r;return(0,o.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:i});case 2:if(l=e.sent,null!=l)for(s=l.length,a=null,r=0;r<s;r++)a=this.decode_openc3_type(l[r][1]),null!==a&&(l[r][1]=a);return e.abrupt("return",l);case 5:case"end":return e.stop()}}),e,this)})));function n(n,t,i){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,s.Z)((0,o.Z)().mark((function e(n){var t,i,l,s;return(0,o.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,i=t[0].length,l=null,s=0;s<i;s++)l=this.decode_openc3_type(t[0][s]),null!==l&&(t[0][s]=l);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,s.Z)((0,o.Z)().mark((function e(n,t,i){var l,s;return(0,o.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.exec("tlm",[n,t,i]);case 2:return l=e.sent,s=this.decode_openc3_type(l),null!==s&&(0,m.Z)("data"),e.abrupt("return",l);case 6:case"end":return e.stop()}}),e,this)})));function n(n,t,i){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 i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[e,n,t,i])}},{key:"get_cmd_buffer",value:function(e,n){return this.exec("get_cmd_buffer",[e,n])}},{key:"_cmd",value:function(e,n,t,i){var l=null;for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(l=this.encode_openc3_type(i[o]),null!==l&&(i[o]=l));return this.exec(e,[n,t,i])}},{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,s.Z)((0,o.Z)().mark((function e(n){var t,i,l;return(0,o.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 i=e.sent,l=new Uint8Array(i),e.abrupt("return",Array.from(l).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}(),w=t(8378),x=t(3492);x.ConnectionMonitor.staleThreshold=60;var k=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";(0,A.Z)(this,e),this._cable=x.createConsumer(n)}return(0,v.Z)(e,[{key:"disconnect",value:function(){this._cable.disconnect()}},{key:"createSubscription",value:function(e,n){var t=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((function(){return t._cable.subscriptions.create((0,w.Z)({channel:e,scope:n,token:localStorage.openc3Token},l),i)}))}}]),e}(),S=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{ref:"container",staticClass:"d-flex flex-row"},[t("label-widget",{style:e.computedStyle,attrs:{parameters:e.labelName,settings:e.settings,line:e.line,lineNumber:e.lineNumber,"widget-index":0}}),t("value-widget",{style:e.computedStyle,attrs:{parameters:e.parameters,settings:e.settings,line:e.line,lineNumber:e.lineNumber,"widget-index":1}})],1)},I=[],L=(t(1939),t(8995),t(5940),t(5794),(0,v.Z)((function e(n,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";(0,A.Z)(this,e),this.keyword=n.keyword,this.parameters=n.parameters,this.filename=n.filename,this.line=n.line,this.lineNumber=n.lineNumber,this.message=t,this.usage=i,this.url=l}))),E={props:{widgetIndex:{type:Number,default:null},parameters:{type:Array,default:function(){return[]}},settings:{type:Array,default:function(){return[]}},line:{type:String,default:""},lineNumber:{type:Number,default:0}},computed:{computedStyle:function(){var e=this,n={};return this.settings.forEach((function(t){var i=parseInt(t[0]);if(null!==e.widgetIndex){if(e.widgetIndex!==i)return;t=t.slice(1)}switch(t[0]){case"TEXTALIGN":n["text-align"]=t[1].toLowerCase();break;case"PADDING":n["padding"]=t[1]+"px !important";break;case"MARGIN":n["margin"]=t[1]+"px !important";break;case"BACKCOLOR":n["background-color"]=e.getColor(t.slice(1));break;case"TEXTCOLOR":n["color"]=e.getColor(t.slice(1));break;case"BORDERCOLOR":n["border-width"]="1px",n["border-style"]="solid",n["border-color"]=e.getColor(t.slice(1));break;case"WIDTH":n["width"]=t[1]+"px !important";break;case"HEIGHT":n["height"]=t[1]+"px !important";break;case"RAW":n[t[1].toLowerCase()]=t[2];break}})),n}},methods:{verifyNumParams:function(e,n,t){for(var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",l={line:this.line,lineNumber:this.lineNumber,keyword:e,parameters:this.parameters},o=1;o<=n;o++)if(void 0===this.parameters[o-1])throw new L(l,"Not enough parameters for ".concat(e,"."),i,"https://openc3.com/docs/v5");if(t&&void 0===!this.parameters[t])throw new L(l,"Too many parameters for ".concat(e,"."),i,"https://openc3.com/docs/v5")},getColor:function(e){switch(e.length){case 1:return e[0].toLowerCase();case 3:return"rgb(".concat(e[0],",").concat(e[1],",").concat(e[2],")")}}}},N=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("span",{staticClass:"pa-1 mt-1 label",style:[e.cssProps,e.computedStyle],attrs:{"data-test":"label"}},[e._v(" "+e._s(e.labelText)+" ")])},O=[],T={mixins:[E],data:function(){return{fontFamily:null,fontSize:null,fontWeight:"normal",fontStyle:"normal"}},computed:{labelText:function(){return this.parameters[0]},cssProps:function(){var e=null;return this.fontSize&&(e=this.fontSize+"px"),{"--font-family":this.fontFamily,"--font-size":e,"--font-weight":this.fontWeight,"--font-style":this.fontStyle}}},created:function(){this.verifyNumParams("LABEL",1,5,"LABEL <Text> <Font Family> <Font Size> <Font Weight> <Font Style>"),this.parameters[1]&&(this.fontFamily=this.parameters[1]),this.parameters[2]&&(this.fontSize=this.parameters[2]),this.parameters[3]&&(this.fontWeight=this.parameters[3]),this.parameters[4]&&(this.fontStyle=this.parameters[4])}},M=T,D=(t(2717),t(3287)),R=(0,D.Z)(M,N,O,!1,null,"c4066fac",null),V=R.exports,W=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"value-widget-container"},[t("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(n){var i=n.on,l=n.attrs;return[t("v-text-field",e._g(e._b({class:e.valueClass,style:e.computedStyle,attrs:{solo:"",dense:"",readonly:"","single-line":"","hide-no-data":"","hide-details":"",placeholder:"Value",value:e._value,"data-test":"value"},on:{contextmenu:e.showContextMenu}},"v-text-field",l,!1),i))]}}])},[t("span",[e._v(e._s(e.fullName))])]),t("v-menu",{attrs:{"position-x":e.x,"position-y":e.y,absolute:"","offset-y":""},model:{value:e.contextMenuShown,callback:function(n){e.contextMenuShown=n},expression:"contextMenuShown"}},[t("v-list",e._l(e.contextMenuOptions,(function(n,i){return t("v-list-item",{key:i,on:{click:function(e){return e.stopPropagation(),n.action.apply(null,arguments)}}},[t("v-list-item-title",[e._v(e._s(n.title))])],1)})),1)],1),t("details-dialog",{attrs:{"target-name":e.parameters[0],"packet-name":e.parameters[1],"item-name":e.parameters[2]},model:{value:e.viewDetails,callback:function(n){e.viewDetails=n},expression:"viewDetails"}})],1)},H=[],$=(t(6708),t(131),{mixins:[E],props:{value:{default:null},limitsState:{type:String,default:null},formatString:null},data:function(){var e=this;return{valueId:null,colorBlind:!1,viewDetails:!1,contextMenuShown:!1,x:0,y:0,contextMenuOptions:[{title:"Details",action:function(){e.contextMenuShown=!1,e.viewDetails=!0}},{title:"Graph",action:function(){window.open("/tools/tlmgrapher/"+e.parameters[0]+"/"+e.parameters[1]+"/"+e.parameters[2],"_blank")}}]}},computed:{_value:function(){var e=this.value;null===e&&(e=this.$store.state.tlmViewerValues[this.valueId]?this.$store.state.tlmViewerValues[this.valueId][0]:null);var n=this.formatValue(e);return"true"===localStorage.colorblindMode&&""!==this.limitsLetter?"".concat(n," (").concat(this.limitsLetter,")"):n},valueClass:function(){return"value shrink pa-1 openc3-"+this.limitsColor},limitsColor:function(){var e=this.limitsState;if(null===e&&(e=this.$store.state.tlmViewerValues[this.valueId]?this.$store.state.tlmViewerValues[this.valueId][1]:null),null!=e)switch(e){case"GREEN":case"GREEN_HIGH":case"GREEN_LOW":return"green";case"YELLOW":case"YELLOW_HIGH":case"YELLOW_LOW":return"yellow";case"RED":case"RED_HIGH":case"RED_LOW":return"red";case"BLUE":return"blue";case"STALE":return"purple";default:return"white"}return""},limitsLetter:function(){var e=this.limitsState;if(null===e&&(e=this.$store.state.tlmViewerValues[this.valueId]?this.$store.state.tlmViewerValues[this.valueId][1]:null),null!=e){var n=e.charAt(0);return e.endsWith("_LOW")&&(n=n.toLowerCase()),n}return""}},created:function(){null!==this.value&&null!==this.limitsState||(this.valueId="".concat(this.parameters[0],"__").concat(this.parameters[1],"__").concat(this.parameters[2],"__").concat(this.getType()),this.$store.commit("tlmViewerAddItem",this.valueId))},destroyed:function(){this.$store.commit("tlmViewerDeleteItem",this.valueId)},methods:{getType:function(){var e="WITH_UNITS";return this.parameters[3]&&(e=this.parameters[3]),e},formatValue:function(e){if("Array"===Object.prototype.toString.call(e).slice(8,-1)){for(var n="[",t=0;t<e.length;t++)"String"===Object.prototype.toString.call(e[t]).slice(8,-1)?n+='"'+e[t]+'"':n+=e[t],t!=e.length-1&&(n+=", ");return n+="]",n}return"Object"===Object.prototype.toString.call(e).slice(8,-1)?"":this.formatString&&e?sprintf(this.formatString,e):""+e},showContextMenu:function(e){var n=this;e.preventDefault(),this.contextMenuShown=!1,this.x=e.clientX,this.y=e.clientY,this.$nextTick((function(){n.contextMenuShown=!0}))}}}),F=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-dialog",{attrs:{width:"600"},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[e._v(" Details ")]),t("v-spacer")],1),t("v-card-title",[e._v(" "+e._s(e.targetName)+" "+e._s(e.packetName)+" "+e._s(e.itemName)+" ")]),t("v-card-subtitle",[e._v(e._s(e.details.description))]),t("v-card-text",[t("v-container",{attrs:{fluid:""}},["tlm"===e.type?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Item Values")]),t("v-col"),t("v-container",{staticClass:"ml-5 pa-0",attrs:{fluid:""}},[t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v("Raw Value")]),t("v-col",[e._v(e._s(e.rawValue))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v("Converted Value")]),t("v-col",[e._v(e._s(e.convertedValue))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v("Formatted Value")]),t("v-col",[e._v(e._s(e.formattedValue))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v("With Units Value")]),t("v-col",[e._v(e._s(e.unitsValue))])],1)],1)],1):e._e(),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Bit Offset")]),t("v-col",[e._v(e._s(e.details.bit_offset))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Bit Size")]),t("v-col",[e._v(e._s(e.details.bit_size))])],1),e.details.array_size?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Array Size")]),t("v-col",[e._v(e._s(e.details.array_size))])],1):e._e(),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Data Type")]),t("v-col",[e._v(e._s(e.details.data_type))])],1),"cmd"===e.type?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Minimum")]),t("v-col",[e._v(e._s(e.details.minimum))])],1):e._e(),"cmd"===e.type?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Maximum")]),t("v-col",[e._v(e._s(e.details.maximum))])],1):e._e(),"cmd"===e.type?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Default")]),t("v-col",[e._v(e._s(e.details.default))])],1):e._e(),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Format String")]),t("v-col",[e._v(e._s(e.details.format_string))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Read Conversion")]),e.details.read_conversion?t("v-col",[e._v(" Class: "+e._s(e.details.read_conversion.class)+" "),t("br"),e._v(" Params: "+e._s(e.details.read_conversion.params)+" ")]):t("v-col")],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Write Conversion")]),e.details.write_conversion?t("v-col",[e._v(" Class: "+e._s(e.details.write_conversion.class)+" "),t("br"),e._v(" Params: "+e._s(e.details.write_conversion.params)+" ")]):t("v-col")],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Id Value")]),t("v-col",[e._v(e._s(e.details.id_value))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Units Full")]),t("v-col",[e._v(e._s(e.details.units_full))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Units Abbr")]),t("v-col",[e._v(e._s(e.details.units))])],1),t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Endianness")]),t("v-col",[e._v(e._s(e.details.endianness))])],1),e.details.states?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("States")]),t("v-col"),t("v-container",{staticClass:"ml-5 pa-0",attrs:{fluid:""}},e._l(e.details.states,(function(n,i){return t("v-row",{key:i,attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v(e._s(i))]),t("v-col",[e._v(e._s(n.value))])],1)})),1)],1):t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("States")]),t("v-col",[e._v("None")])],1),e.details.limits?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Limits")]),t("v-col"),t("v-container",{staticClass:"ml-5 pa-0",attrs:{fluid:""}},e._l(e.details.limits,(function(n,i){return t("v-row",{key:i,attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v(e._s(i))]),e._v(" "+e._s(e.formatLimit(n))+" "),t("v-col")],1)})),1)],1):t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Limits")]),t("v-col",[e._v("None")])],1),e.details.meta?t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Meta")]),t("v-col"),t("v-container",{staticClass:"ml-5 pa-0",attrs:{fluid:""}},e._l(e.details.meta,(function(n,i){return t("v-row",{key:i,attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"4"}},[e._v(e._s(i))]),t("v-col",[e._v(e._s(n))])],1)})),1)],1):t("v-row",{attrs:{"no-gutters":""}},[t("v-col",{staticClass:"label",attrs:{cols:"3"}},[e._v("Meta")]),t("v-col",[e._v("None")])],1)],1)],1)],1)],1)},Z=[],P=(t(4083),{props:{type:{default:"tlm",validator:function(e){return-1!==["cmd","tlm"].indexOf(e)}},targetName:String,packetName:String,itemName:String,value:Boolean},data:function(){return{details:Object,updater:null,rawValue:null,convertedValue:null,formattedValue:null,unitsValue:null}},computed:{show:{get:function(){return this.value},set:function(e){this.$emit("input",e)}}},created:function(){this.api=new y},beforeDestroy:function(){clearInterval(this.updater),this.updater=null},watch:{value:function(e,n){var t=this;e?(this.requestDetails(),"tlm"===this.type&&(this.updater=setInterval((function(){t.api.get_tlm_values(["".concat(t.targetName,"__").concat(t.packetName,"__").concat(t.itemName,"__RAW"),"".concat(t.targetName,"__").concat(t.packetName,"__").concat(t.itemName,"__CONVERTED"),"".concat(t.targetName,"__").concat(t.packetName,"__").concat(t.itemName,"__FORMATTED"),"".concat(t.targetName,"__").concat(t.packetName,"__").concat(t.itemName,"__WITH_UNITS")]).then((function(e){t.rawValue=e[0][0],t.convertedValue=e[1][0],t.formattedValue=e[2][0],t.unitsValue=e[3][0]}))}),1e3))):(clearInterval(this.updater),this.updater=null)}},methods:{requestDetails:function(){var e=this;"tlm"===this.type?this.api.get_item(this.targetName,this.packetName,this.itemName).then((function(n){e.details=n})):this.api.get_parameter(this.targetName,this.packetName,this.itemName).then((function(n){e.details=n}))},formatLimit:function(e){return e.green_low?"RL/"+e.red_low+" YL/"+e.yellow_low+" YH/"+e.yellow_high+" RH/"+e.red_high+" GL/"+e.green_low+" GH/"+e.green_high:e.red_low?"RL/"+e.red_low+" YL/"+e.yellow_low+" YH/"+e.yellow_high+" RH/"+e.red_high:e}}}),G=P,U=(t(9784),(0,D.Z)(G,F,Z,!1,null,"2d350830",null)),Y=U.exports,z={components:{DetailsDialog:Y},mixins:[$],computed:{fullName:function(){return this.parameters[0]+" "+this.parameters[1]+" "+this.parameters[2]}},created:function(){this.verifyNumParams("VALUE",3,3,"VALUE <TARGET> <PACKET> <ITEM>")}},B=z,j=(t(1995),(0,D.Z)(B,W,H,!1,null,"61027b58",null)),J=j.exports,K={mixins:[E],components:{LabelWidget:V,ValueWidget:J},computed:{labelName:function(){return[this.parameters[2]+":"]}}},X=K,q=(0,D.Z)(X,S,I,!1,null,null,null),Q=q.exports,ee=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{ref:"container",staticClass:"d-flex flex-row",style:[e.defaultStyle,e.computedStyle]},[t("labelvalue-widget",{attrs:{parameters:e.parameters,settings:e.settings}}),t("limitsbar-widget",{attrs:{parameters:e.limitsBarParameters,settings:e.settings.filter((function(e){return 1==e[0]})).map((function(e){return e.slice(1)})),"widget-index":3}})],1)},ne=[],te=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"limitsbar",style:[e.cssProps,e.computedStyle]},[e._m(0)])},ie=[function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("div",{staticClass:"limitsbar__container"},[t("div",{staticClass:"limitsbar__redlow"}),t("div",{staticClass:"limitsbar__redhigh"}),t("div",{staticClass:"limitsbar__yellowlow"}),t("div",{staticClass:"limitsbar__yellowhigh"}),t("div",{staticClass:"limitsbar__greenlow"}),t("div",{staticClass:"limitsbar__greenhigh"}),t("div",{staticClass:"limitsbar__blue"}),t("div",{staticClass:"limitsbar__line"}),t("div",{staticClass:"limitsbar__arrow"})])}],le="DEFAULT",oe={mixins:[E],data:function(){return{width:"100%",height:20,minValue:null,maxValue:null,scale:0,redLow:0,yellowLow:0,greenLow:0,greenHigh:0,yellowHigh:0,redHigh:0,blue:0,api:null,limitsSettings:{DEFAULT:[]},currentLimitsSet:le,currentSetRefreshInterval:null}},computed:{cssProps:function(){var e=this.$store.state.tlmViewerValues[this.valueId][0],n=this.modifyLimits(this.limitsSettings[this.selectedLimitsSet]);return this.calcLimits(n),{"--height":this.height+"px","--width":this.width,"--container-height":this.height-5+"px","--position":this.calcPosition(e,n)+"%","--redlow-width":this.redLow+"%","--redhigh-width":this.redHigh+"%","--yellowlow-width":this.yellowLow+"%","--yellowhigh-width":this.yellowHigh+"%","--greenlow-width":this.greenLow+"%","--greenhigh-width":this.greenHigh+"%","--blue-width":this.blue+"%"}},selectedLimitsSet:function(){return this.limitsSettings.hasOwnProperty(this.currentLimitsSet)?this.currentLimitsSet:le}},created:function(){var e=this;this.api=new y,this.api.get_limits(this.parameters[0],this.parameters[1],this.parameters[2]).then((function(n){e.limitsSettings=n})),this.getCurrentLimitsSet(),this.currentSetRefreshInterval=setInterval(this.getCurrentLimitsSet,6e4),this.settings.forEach((function(n){"MIN_VALUE"===n[0]&&(e.minValue=parseInt(n[1])),"MAX_VALUE"===n[0]&&(e.maxValue=parseInt(n[1]))}));var n="CONVERTED";this.parameters[3]&&(n=this.parameters[3]),this.valueId="".concat(this.parameters[0],"__").concat(this.parameters[1],"__").concat(this.parameters[2],"__").concat(n),this.$store.commit("tlmViewerAddItem",this.valueId)},destroyed:function(){this.$store.commit("tlmViewerDeleteItem",this.valueId),clearInterval(this.currentSetRefreshInterval)},methods:{modifyLimits:function(e){this.redLow=10,this.redHigh=10,this.minValue&&(e[0]<=this.minValue&&(e[0]=this.minValue,this.redLow=0),e[1]<=this.minValue&&(e[1]=this.minValue),e[2]<=this.minValue&&(e[2]=this.minValue),e[3]<=this.minValue&&(e[3]=this.minValue),e.length>4&&e[4]<=this.minValue&&(e[4]=this.minValue),e.length>4&&e[5]<=this.minValue&&(e[5]=this.minValue)),this.maxValue&&(e[0]>=this.maxValue&&(e[0]=this.maxValue),e[1]>=this.maxValue&&(e[1]=this.maxValue),e[2]>=this.maxValue&&(e[2]=this.maxValue),e[3]>=this.maxValue&&(e[3]=this.maxValue,this.redHigh=0),e.length>4&&e[4]>=this.maxValue&&(e[4]=this.maxValue),e.length>4&&e[5]>=this.maxValue&&(e[5]=this.maxValue)),e[0]==e[1]&&(this.redLow=0),e[2]==e[3]&&(this.redHigh=0);var n=80;return 0==this.redLow&&(n+=10),0==this.redHigh&&(n+=10),this.scale=(e[3]-e[0])/n,e},calcPosition:function(e,n){if(e&&n){var t=n[0]-10*this.scale;this.minValue&&this.minValue==n[0]&&(t=n[0]);n[3],this.scale;if(this.maxValue&&this.maxValue==n[3]&&n[3],e.raw)return"-Infinity"===e.raw?0:100;if(e<this.min)return 0;if(e>this.max)return 100;var i=parseInt((e-t)/this.scale);return i>100?100:i<0?0:i}},calcLimits:function(e){e&&(this.yellowLow=Math.round((e[1]-e[0])/this.scale),this.yellowHigh=Math.round((e[3]-e[2])/this.scale),e.length>4?(this.greenLow=Math.round((e[4]-e[1])/this.scale),this.greenHigh=Math.round((e[2]-e[5])/this.scale),this.blue=Math.round(100-this.redLow-this.yellowLow-this.greenLow-this.greenHigh-this.yellowHigh-this.redHigh)):(this.greenLow=Math.round(100-this.redLow-this.yellowLow-this.yellowHigh-this.redHigh),this.greenHigh=0,this.blue=0))},getCurrentLimitsSet:function(){var e=this;this.api.get_limits_set().then((function(n){e.currentLimitsSet=n}))}}},se=oe,ae=(t(4205),(0,D.Z)(se,te,ie,!1,null,"692162b3",null)),re=ae.exports,ce={mixins:[E],components:{LabelvalueWidget:Q,LimitsbarWidget:re},data:function(){return{overallWidth:"300px"}},created:function(){var e=0;this.settings.forEach((function(n){"WIDTH"===n[1]&&(e+=parseInt(n[2]))})),0!=e&&(this.overallWidth=e+"px")},computed:{limitsBarParameters:function(){return[this.parameters[0],this.parameters[1],this.parameters[2],"CONVERTED"]},defaultStyle:function(){return{width:this.overallWidth}}}},ue=ce,me=(0,D.Z)(ue,ee,ne,!1,null,null,null),de=me.exports;function Ae(){var e="/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsControl.vue",n="913d3261facb45c467846754d137407a21308d9e",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsControl.vue",statementMap:{0:{start:{line:164,column:21},end:{line:164,column:23}},1:{start:{line:168,column:4},end:{line:176,column:5}},2:{start:{line:180,column:6},end:{line:184,column:7}},3:{start:{line:181,column:8},end:{line:181,column:61}},4:{start:{line:183,column:8},end:{line:183,column:17}},5:{start:{line:187,column:6},end:{line:191,column:7}},6:{start:{line:188,column:8},end:{line:188,column:32}},7:{start:{line:190,column:8},end:{line:190,column:58}},8:{start:{line:194,column:6},end:{line:194,column:61}},9:{start:{line:194,column:37},end:{line:194,column:60}},10:{start:{line:198,column:4},end:{line:198,column:30}},11:{start:{line:200,column:4},end:{line:208,column:5}},12:{start:{line:201,column:6},end:{line:207,column:7}},13:{start:{line:203,column:8},end:{line:203,column:35}},14:{start:{line:206,column:8},end:{line:206,column:37}},15:{start:{line:209,column:4},end:{line:209,column:28}},16:{start:{line:211,column:4},end:{line:220,column:8}},17:{start:{line:214,column:25},end:{line:214,column:41}},18:{start:{line:215,column:10},end:{line:215,column:37}},19:{start:{line:219,column:8},end:{line:219,column:52}},20:{start:{line:221,column:4},end:{line:230,column:8}},21:{start:{line:224,column:25},end:{line:224,column:41}},22:{start:{line:225,column:10},end:{line:225,column:41}},23:{start:{line:229,column:8},end:{line:229,column:52}},24:{start:{line:233,column:4},end:{line:235,column:12}},25:{start:{line:234,column:6},end:{line:234,column:19}},26:{start:{line:238,column:4},end:{line:241,column:5}},27:{start:{line:239,column:6},end:{line:239,column:33}},28:{start:{line:240,column:6},end:{line:240,column:25}},29:{start:{line:242,column:4},end:{line:244,column:5}},30:{start:{line:243,column:6},end:{line:243,column:43}},31:{start:{line:245,column:4},end:{line:247,column:5}},32:{start:{line:246,column:6},end:{line:246,column:43}},33:{start:{line:248,column:4},end:{line:248,column:27}},34:{start:{line:252,column:6},end:{line:252,column:21}},35:{start:{line:253,column:6},end:{line:253,column:24}},36:{start:{line:255,column:6},end:{line:282,column:8}},37:{start:{line:256,column:8},end:{line:280,column:9}},38:{start:{line:257,column:25},end:{line:257,column:40}},39:{start:{line:259,column:10},end:{line:261,column:11}},40:{start:{line:259,column:45},end:{line:259,column:71}},41:{start:{line:260,column:12},end:{line:260,column:20}},42:{start:{line:263,column:10},end:{line:263,column:38}},43:{start:{line:264,column:25},end:{line:267,column:11}},44:{start:{line:268,column:10},end:{line:270,column:11}},45:{start:{line:269,column:12},end:{line:269,column:40}},46:{start:{line:271,column:10},end:{line:273,column:11}},47:{start:{line:272,column:12},end:{line:272,column:37}},48:{start:{line:274,column:10},end:{line:278,column:11}},49:{start:{line:275,column:12},end:{line:275,column:38}},50:{start:{line:277,column:12},end:{line:277,column:37}},51:{start:{line:279,column:10},end:{line:279,column:35}},52:{start:{line:281,column:8},end:{line:281,column:31}},53:{start:{line:285,column:20},end:{line:285,column:27}},54:{start:{line:286,column:6},end:{line:298,column:7}},55:{start:{line:287,column:8},end:{line:289,column:9}},56:{start:{line:287,column:43},end:{line:287,column:65}},57:{start:{line:288,column:10},end:{line:288,column:18}},58:{start:{line:291,column:8},end:{line:293,column:9}},59:{start:{line:292,column:10},end:{line:292,column:28}},60:{start:{line:294,column:8},end:{line:297,column:9}},61:{start:{line:295,column:10},end:{line:295,column:25}},62:{start:{line:296,column:10},end:{line:296,column:15}},63:{start:{line:299,column:6},end:{line:299,column:33}},64:{start:{line:302,column:50},end:{line:302,column:66}},65:{start:{line:303,column:23},end:{line:303,column:55}},66:{start:{line:304,column:6},end:{line:304,column:35}},67:{start:{line:305,column:6},end:{line:305,column:38}},68:{start:{line:307,column:6},end:{line:315,column:7}},69:{start:{line:308,column:20},end:{line:308,column:80}},70:{start:{line:308,column:54},end:{line:308,column:79}},71:{start:{line:309,column:8},end:{line:314,column:9}},72:{start:{line:310,column:10},end:{line:310,column:15}},73:{start:{line:312,column:27},end:{line:312,column:65}},74:{start:{line:313,column:10},end:{line:313,column:72}},75:{start:{line:316,column:6},end:{line:316,column:29}},76:{start:{line:319,column:6},end:{line:319,column:29}},77:{start:{line:320,column:6},end:{line:320,column:38}},78:{start:{line:321,column:6},end:{line:321,column:27}},79:{start:{line:322,column:6},end:{line:322,column:29}},80:{start:{line:325,column:6},end:{line:325,column:35}},81:{start:{line:326,column:6},end:{line:326,column:26}},82:{start:{line:327,column:6},end:{line:327,column:30}},83:{start:{line:330,column:20},end:{line:332,column:7}},84:{start:{line:331,column:8},end:{line:331,column:32}},85:{start:{line:333,column:6},end:{line:333,column:33}},86:{start:{line:334,column:6},end:{line:334,column:36}},87:{start:{line:337,column:6},end:{line:337,column:39}},88:{start:{line:340,column:6},end:{line:347,column:7}},89:{start:{line:342,column:8},end:{line:346,column:12}},90:{start:{line:345,column:12},end:{line:345,column:61}},91:{start:{line:350,column:6},end:{line:355,column:7}},92:{start:{line:352,column:8},end:{line:354,column:9}},93:{start:{line:353,column:10},end:{line:353,column:34}},94:{start:{line:358,column:6},end:{line:408,column:7}},95:{start:{line:361,column:8},end:{line:363,column:9}},96:{start:{line:362,column:10},end:{line:362,column:18}},97:{start:{line:365,column:23},end:{line:365,column:93}},98:{start:{line:366,column:22},end:{line:368,column:9}},99:{start:{line:367,column:10},end:{line:367,column:38}},100:{start:{line:370,column:8},end:{line:374,column:9}},101:{start:{line:371,column:10},end:{line:371,column:75}},102:{start:{line:372,column:10},end:{line:372,column:33}},103:{start:{line:373,column:10},end:{line:373,column:18}},104:{start:{line:376,column:8},end:{line:378,column:9}},105:{start:{line:376,column:43},end:{line:376,column:69}},106:{start:{line:377,column:10},end:{line:377,column:18}},107:{start:{line:380,column:8},end:{line:388,column:9}},108:{start:{line:387,column:10},end:{line:387,column:18}},109:{start:{line:389,column:23},end:{line:396,column:9}},110:{start:{line:397,column:8},end:{line:404,column:9}},111:{start:{line:401,column:10},end:{line:401,column:36}},112:{start:{line:403,column:10},end:{line:403,column:35}},113:{start:{line:405,column:8},end:{line:405,column:70}},114:{start:{line:406,column:8},end:{line:406,column:33}},115:{start:{line:407,column:8},end:{line:407,column:31}},116:{start:{line:413,column:6},end:{line:413,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:164,column:15},end:{line:164,column:16}},loc:{start:{line:164,column:21},end:{line:164,column:23}},line:164},1:{name:"(anonymous_1)",decl:{start:{line:167,column:2},end:{line:167,column:3}},loc:{start:{line:167,column:9},end:{line:177,column:3}},line:167},2:{name:"(anonymous_2)",decl:{start:{line:179,column:4},end:{line:179,column:5}},loc:{start:{line:179,column:21},end:{line:185,column:5}},line:179},3:{name:"(anonymous_3)",decl:{start:{line:186,column:4},end:{line:186,column:5}},loc:{start:{line:186,column:28},end:{line:192,column:5}},line:186},4:{name:"(anonymous_4)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:23},end:{line:195,column:5}},line:193},5:{name:"(anonymous_5)",decl:{start:{line:194,column:30},end:{line:194,column:31}},loc:{start:{line:194,column:37},end:{line:194,column:60}},line:194},6:{name:"(anonymous_6)",decl:{start:{line:197,column:2},end:{line:197,column:3}},loc:{start:{line:197,column:12},end:{line:231,column:3}},line:197},7:{name:"(anonymous_7)",decl:{start:{line:213,column:18},end:{line:213,column:19}},loc:{start:{line:213,column:28},end:{line:216,column:9}},line:213},8:{name:"(anonymous_8)",decl:{start:{line:218,column:12},end:{line:218,column:13}},loc:{start:{line:218,column:36},end:{line:220,column:7}},line:218},9:{name:"(anonymous_9)",decl:{start:{line:223,column:18},end:{line:223,column:19}},loc:{start:{line:223,column:28},end:{line:226,column:9}},line:223},10:{name:"(anonymous_10)",decl:{start:{line:228,column:12},end:{line:228,column:13}},loc:{start:{line:228,column:36},end:{line:230,column:7}},line:228},11:{name:"(anonymous_11)",decl:{start:{line:232,column:2},end:{line:232,column:3}},loc:{start:{line:232,column:12},end:{line:236,column:3}},line:232},12:{name:"(anonymous_12)",decl:{start:{line:233,column:31},end:{line:233,column:32}},loc:{start:{line:233,column:37},end:{line:235,column:5}},line:233},13:{name:"(anonymous_13)",decl:{start:{line:237,column:2},end:{line:237,column:3}},loc:{start:{line:237,column:14},end:{line:249,column:3}},line:237},14:{name:"(anonymous_14)",decl:{start:{line:251,column:4},end:{line:251,column:5}},loc:{start:{line:251,column:24},end:{line:283,column:5}},line:251},15:{name:"(anonymous_15)",decl:{start:{line:255,column:40},end:{line:255,column:41}},loc:{start:{line:255,column:51},end:{line:282,column:7}},line:255},16:{name:"(anonymous_16)",decl:{start:{line:259,column:32},end:{line:259,column:33}},loc:{start:{line:259,column:45},end:{line:259,column:71}},line:259},17:{name:"(anonymous_17)",decl:{start:{line:284,column:4},end:{line:284,column:5}},loc:{start:{line:284,column:23},end:{line:300,column:5}},line:284},18:{name:"(anonymous_18)",decl:{start:{line:287,column:30},end:{line:287,column:31}},loc:{start:{line:287,column:43},end:{line:287,column:65}},line:287},19:{name:"(anonymous_19)",decl:{start:{line:301,column:4},end:{line:301,column:5}},loc:{start:{line:301,column:33},end:{line:317,column:5}},line:301},20:{name:"(anonymous_20)",decl:{start:{line:308,column:44},end:{line:308,column:45}},loc:{start:{line:308,column:54},end:{line:308,column:79}},line:308},21:{name:"(anonymous_21)",decl:{start:{line:318,column:4},end:{line:318,column:5}},loc:{start:{line:318,column:31},end:{line:323,column:5}},line:318},22:{name:"(anonymous_22)",decl:{start:{line:324,column:4},end:{line:324,column:5}},loc:{start:{line:324,column:29},end:{line:328,column:5}},line:324},23:{name:"(anonymous_23)",decl:{start:{line:329,column:4},end:{line:329,column:5}},loc:{start:{line:329,column:21},end:{line:335,column:5}},line:329},24:{name:"(anonymous_24)",decl:{start:{line:330,column:44},end:{line:330,column:45}},loc:{start:{line:331,column:8},end:{line:331,column:32}},line:331},25:{name:"(anonymous_25)",decl:{start:{line:336,column:4},end:{line:336,column:5}},loc:{start:{line:336,column:20},end:{line:338,column:5}},line:336},26:{name:"(anonymous_26)",decl:{start:{line:339,column:4},end:{line:339,column:5}},loc:{start:{line:339,column:13},end:{line:348,column:5}},line:339},27:{name:"(anonymous_27)",decl:{start:{line:344,column:16},end:{line:344,column:17}},loc:{start:{line:344,column:26},end:{line:346,column:11}},line:344},28:{name:"(anonymous_28)",decl:{start:{line:349,column:4},end:{line:349,column:5}},loc:{start:{line:349,column:31},end:{line:356,column:5}},line:349},29:{name:"(anonymous_29)",decl:{start:{line:357,column:4},end:{line:357,column:5}},loc:{start:{line:357,column:29},end:{line:409,column:5}},line:357},30:{name:"(anonymous_30)",decl:{start:{line:366,column:46},end:{line:366,column:47}},loc:{start:{line:367,column:10},end:{line:367,column:38}},line:367},31:{name:"(anonymous_31)",decl:{start:{line:376,column:30},end:{line:376,column:31}},loc:{start:{line:376,column:43},end:{line:376,column:69}},line:376},32:{name:"(anonymous_32)",decl:{start:{line:412,column:4},end:{line:412,column:5}},loc:{start:{line:412,column:18},end:{line:414,column:5}},line:412}},branchMap:{0:{loc:{start:{line:180,column:6},end:{line:184,column:7}},type:"if",locations:[{start:{line:180,column:6},end:{line:184,column:7}},{start:{line:182,column:13},end:{line:184,column:7}}],line:180},1:{loc:{start:{line:187,column:6},end:{line:191,column:7}},type:"if",locations:[{start:{line:187,column:6},end:{line:191,column:7}},{start:{line:189,column:13},end:{line:191,column:7}}],line:187},2:{loc:{start:{line:201,column:6},end:{line:207,column:7}},type:"if",locations:[{start:{line:201,column:6},end:{line:207,column:7}},{start:{line:204,column:13},end:{line:207,column:7}}],line:201},3:{loc:{start:{line:238,column:4},end:{line:241,column:5}},type:"if",locations:[{start:{line:238,column:4},end:{line:241,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:238},4:{loc:{start:{line:242,column:4},end:{line:244,column:5}},type:"if",locations:[{start:{line:242,column:4},end:{line:244,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:242},5:{loc:{start:{line:245,column:4},end:{line:247,column:5}},type:"if",locations:[{start:{line:245,column:4},end:{line:247,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:245},6:{loc:{start:{line:259,column:10},end:{line:261,column:11}},type:"if",locations:[{start:{line:259,column:10},end:{line:261,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:259},7:{loc:{start:{line:268,column:10},end:{line:270,column:11}},type:"if",locations:[{start:{line:268,column:10},end:{line:270,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:268},8:{loc:{start:{line:268,column:14},end:{line:268,column:71}},type:"binary-expr",locations:[{start:{line:268,column:14},end:{line:268,column:40}},{start:{line:268,column:44},end:{line:268,column:71}}],line:268},9:{loc:{start:{line:271,column:10},end:{line:273,column:11}},type:"if",locations:[{start:{line:271,column:10},end:{line:273,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:271},10:{loc:{start:{line:274,column:10},end:{line:278,column:11}},type:"if",locations:[{start:{line:274,column:10},end:{line:278,column:11}},{start:{line:276,column:17},end:{line:278,column:11}}],line:274},11:{loc:{start:{line:274,column:14},end:{line:274,column:53}},type:"binary-expr",locations:[{start:{line:274,column:14},end:{line:274,column:33}},{start:{line:274,column:37},end:{line:274,column:53}}],line:274},12:{loc:{start:{line:287,column:8},end:{line:289,column:9}},type:"if",locations:[{start:{line:287,column:8},end:{line:289,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:287},13:{loc:{start:{line:291,column:8},end:{line:293,column:9}},type:"if",locations:[{start:{line:291,column:8},end:{line:293,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:291},14:{loc:{start:{line:291,column:12},end:{line:291,column:56}},type:"binary-expr",locations:[{start:{line:291,column:12},end:{line:291,column:35}},{start:{line:291,column:39},end:{line:291,column:56}}],line:291},15:{loc:{start:{line:294,column:8},end:{line:297,column:9}},type:"if",locations:[{start:{line:294,column:8},end:{line:297,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:294},16:{loc:{start:{line:305,column:6},end:{line:305,column:38}},type:"binary-expr",locations:[{start:{line:305,column:6},end:{line:305,column:14}},{start:{line:305,column:18},end:{line:305,column:38}}],line:305},17:{loc:{start:{line:309,column:8},end:{line:314,column:9}},type:"if",locations:[{start:{line:309,column:8},end:{line:314,column:9}},{start:{line:311,column:15},end:{line:314,column:9}}],line:309},18:{loc:{start:{line:320,column:6},end:{line:320,column:38}},type:"binary-expr",locations:[{start:{line:320,column:6},end:{line:320,column:14}},{start:{line:320,column:18},end:{line:320,column:38}}],line:320},19:{loc:{start:{line:340,column:6},end:{line:347,column:7}},type:"if",locations:[{start:{line:340,column:6},end:{line:347,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:340},20:{loc:{start:{line:352,column:8},end:{line:354,column:9}},type:"if",locations:[{start:{line:352,column:8},end:{line:354,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:352},21:{loc:{start:{line:352,column:12},end:{line:352,column:69}},type:"binary-expr",locations:[{start:{line:352,column:12},end:{line:352,column:39}},{start:{line:352,column:43},end:{line:352,column:69}}],line:352},22:{loc:{start:{line:361,column:8},end:{line:363,column:9}},type:"if",locations:[{start:{line:361,column:8},end:{line:363,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:361},23:{loc:{start:{line:370,column:8},end:{line:374,column:9}},type:"if",locations:[{start:{line:370,column:8},end:{line:374,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:370},24:{loc:{start:{line:376,column:8},end:{line:378,column:9}},type:"if",locations:[{start:{line:376,column:8},end:{line:378,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:376},25:{loc:{start:{line:380,column:8},end:{line:388,column:9}},type:"if",locations:[{start:{line:380,column:8},end:{line:388,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:380},26:{loc:{start:{line:381,column:10},end:{line:385,column:11}},type:"binary-expr",locations:[{start:{line:381,column:10},end:{line:381,column:34}},{start:{line:382,column:10},end:{line:385,column:11}}],line:381},27:{loc:{start:{line:383,column:12},end:{line:384,column:52}},type:"binary-expr",locations:[{start:{line:383,column:12},end:{line:383,column:55}},{start:{line:384,column:12},end:{line:384,column:52}}],line:383},28:{loc:{start:{line:397,column:8},end:{line:404,column:9}},type:"if",locations:[{start:{line:397,column:8},end:{line:404,column:9}},{start:{line:402,column:15},end:{line:404,column:9}}],line:397},29:{loc:{start:{line:398,column:10},end:{line:399,column:43}},type:"binary-expr",locations:[{start:{line:398,column:10},end:{line:398,column:46}},{start:{line:399,column:10},end:{line:399,column:43}}],line:398}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0]},inputSourceMap:{version:3,sources:["LimitsControl.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA",file:"LimitsControl.vue",sourceRoot:"src/tools/LimitsMonitor",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-container>\n <v-row no-gutters>\n <v-text-field\n width=\"200\"\n dense\n outlined\n readonly\n label=\"Overall Limits State\"\n :value=\"overallStateFormatted\"\n :class=\"textFieldClass\"\n data-test=\"overall-state\"\n />\n </v-row>\n\n <div v-for=\"(item, index) in items\" :key=\"item.key\">\n <v-row data-test=\"limits-row\" class=\"my-0\">\n <v-col class=\"py-1\">\n <labelvaluelimitsbar-widget\n v-if=\"item.limits\"\n :parameters=\"item.parameters\"\n :settings=\"[\n ['0', 'WIDTH', '150'],\n ['1', 'WIDTH', '200'],\n ['2', 'WIDTH', '200'],\n ]\"\n />\n <labelvalue-widget\n v-else\n :parameters=\"item.parameters\"\n :settings=\"[\n ['0', 'WIDTH', '150'],\n ['1', 'WIDTH', '200'],\n ]\"\n />\n </v-col>\n <v-col cols=\"2\" class=\"py-1\">\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-btn\n icon\n class=\"mr-2\"\n @click=\"ignorePacket(item.key)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n <v-icon> mdi-close-circle-multiple </v-icon>\n </v-btn>\n </template>\n <span>Ignore Entire Packet</span>\n </v-tooltip>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-btn\n icon\n class=\"mr-2\"\n @click=\"ignoreItem(item.key)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n <v-icon> mdi-close-circle </v-icon>\n </v-btn>\n </template>\n <span>Ignore Item</span>\n </v-tooltip>\n <v-tooltip bottom>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-btn\n icon\n class=\"mr-2\"\n @click=\"removeItem(item.key)\"\n v-bind=\"attrs\"\n v-on=\"on\"\n >\n <v-icon> mdi-eye-off </v-icon>\n </v-btn>\n </template>\n <span>Temporarily Hide Item</span>\n </v-tooltip>\n </v-col>\n </v-row>\n <v-divider v-if=\"index < items.length - 1\" :key=\"index\" />\n </div>\n </v-container>\n <v-dialog v-model=\"ignoredItemsDialog\" max-width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span>Ignored Items</span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <div class=\"my-2\">\n <div v-for=\"(item, index) in ignoredFormatted\" :key=\"index\">\n <v-row class=\"ma-1\">\n <span class=\"font-weight-black\"> {{ item }} </span>\n <v-spacer />\n <v-btn\n @click=\"restoreItem(item, index)\"\n small\n icon\n :data-test=\"`remove-ignore-${index}`\"\n >\n <v-icon> mdi-delete </v-icon>\n </v-btn>\n </v-row>\n <v-divider\n v-if=\"index < ignoredFormatted.length - 1\"\n :key=\"index\"\n />\n </div>\n <v-row class=\"mt-2\">\n <v-spacer />\n <v-btn\n @click=\"ignoredItemsDialog = false\"\n class=\"mx-2\"\n color=\"primary\"\n >\n Ok\n </v-btn>\n </v-row>\n <v-divider v-if=\"index < items.length - 1\" :key=\"index\" />\n </div>\n </v-card-text>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from '@openc3/tool-common/src/services/openc3-api'\nimport Cable from '@openc3/tool-common/src/services/cable.js'\nimport LabelvalueWidget from '@openc3/tool-common/src/components/widgets/LabelvalueWidget'\nimport LabelvaluelimitsbarWidget from '@openc3/tool-common/src/components/widgets/LabelvaluelimitsbarWidget'\n\nexport default {\n components: {\n LabelvalueWidget,\n LabelvaluelimitsbarWidget,\n },\n props: {\n value: {\n type: Array,\n default: () => [],\n },\n },\n data() {\n return {\n api: null,\n cable: new Cable(),\n ignored: [],\n ignoredItemsDialog: false,\n overallState: 'GREEN',\n items: [],\n itemList: [],\n }\n },\n computed: {\n textFieldClass() {\n if (this.overallState) {\n return `textfield-${this.overallState.toLowerCase()}`\n } else {\n return ''\n }\n },\n overallStateFormatted() {\n if (this.ignored.length === 0) {\n return this.overallState\n } else {\n return `${this.overallState} (Some items ignored)`\n }\n },\n ignoredFormatted() {\n return this.ignored.map((x) => x.split('__').join(' '))\n },\n },\n created() {\n this.api = new OpenC3Api()\n // Value is passed in as the list of ignored items\n for (let item of this.value) {\n if (item.match(/.+__.+__.+/)) {\n // TARGET__PACKET__ITEM\n this.ignoreItem(item, true)\n } else {\n // TARGET__PACKET\n this.ignorePacket(item, true)\n }\n }\n this.updateOutOfLimits()\n\n this.cable\n .createSubscription('LimitsEventsChannel', localStorage.scope, {\n received: (data) => {\n const parsed = JSON.parse(data)\n this.handleMessages(parsed)\n },\n })\n .then((limitsSubscription) => {\n this.limitsSubscription = limitsSubscription\n })\n this.cable\n .createSubscription('ConfigEventsChannel', localStorage.scope, {\n received: (data) => {\n const parsed = JSON.parse(data)\n this.handleConfigEvents(parsed)\n },\n })\n .then((configSubscription) => {\n this.configSubscription = configSubscription\n })\n },\n mounted() {\n this.updater = setInterval(() => {\n this.update()\n }, 1000)\n },\n destroyed() {\n if (this.updater != null) {\n clearInterval(this.updater)\n this.updater = null\n }\n if (this.limitsSubscription) {\n this.limitsSubscription.unsubscribe()\n }\n if (this.configSubscription) {\n this.configSubscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n updateOutOfLimits() {\n this.items = []\n this.itemList = []\n\n this.api.get_out_of_limits().then((items) => {\n for (const item of items) {\n let itemName = item.join('__')\n // Skip ignored\n if (this.ignored.find((ignored) => itemName.includes(ignored))) {\n continue\n }\n\n this.itemList.push(itemName)\n let itemInfo = {\n key: item.slice(0, 3).join('__'),\n parameters: item.slice(0, 3),\n }\n if (item[3].includes('YELLOW') && this.overallState !== 'RED') {\n this.overallState = 'YELLOW'\n }\n if (item[3].includes('RED')) {\n this.overallState = 'RED'\n }\n if (item[3] == 'YELLOW' || item[3] == 'RED') {\n itemInfo['limits'] = false\n } else {\n itemInfo['limits'] = true\n }\n this.items.push(itemInfo)\n }\n this.calcOverallState()\n })\n },\n calcOverallState() {\n let overall = 'GREEN'\n for (let item of this.itemList) {\n if (this.ignored.find((ignored) => item.includes(ignored))) {\n continue\n }\n\n if (item.includes('YELLOW') && overall !== 'RED') {\n overall = 'YELLOW'\n }\n if (item.includes('RED')) {\n overall = 'RED'\n break\n }\n }\n this.overallState = overall\n },\n ignorePacket(item, noUpdate) {\n let [target_name, packet_name, item_name] = item.split('__')\n let newIgnored = `${target_name}__${packet_name}`\n this.ignored.push(newIgnored)\n noUpdate || this.updateIgnored()\n\n while (true) {\n let index = this.itemList.findIndex((item) => item.includes(newIgnored))\n if (index === -1) {\n break\n } else {\n let underIndex = this.itemList[index].lastIndexOf('__')\n this.removeItem(this.itemList[index].substring(0, underIndex))\n }\n }\n this.calcOverallState()\n },\n ignoreItem(item, noUpdate) {\n this.ignored.push(item)\n noUpdate || this.updateIgnored()\n this.removeItem(item)\n this.calcOverallState()\n },\n restoreItem(item, index) {\n this.ignored.splice(index, 1)\n this.updateIgnored()\n this.updateOutOfLimits()\n },\n removeItem(item) {\n const index = this.itemList.findIndex((arrayItem) =>\n arrayItem.includes(item)\n )\n this.items.splice(index, 1)\n this.itemList.splice(index, 1)\n },\n updateIgnored() {\n this.$emit('input', this.ignored)\n },\n update() {\n if (this.$store.state.tlmViewerItems.length !== 0) {\n // localStorage.axiosIgnoreResponse = '500' // localStorage only supports strings\n this.api\n .get_tlm_values(this.$store.state.tlmViewerItems)\n .then((data) => {\n this.$store.commit('tlmViewerUpdateValues', data)\n })\n }\n },\n handleConfigEvents(config) {\n for (let event of config) {\n // When a target is deleted we refresh the list of items\n if (event['kind'] === 'deleted' && event['type'] === 'target') {\n this.updateOutOfLimits()\n }\n }\n },\n handleMessages(messages) {\n for (let message of messages) {\n // We only want to handle LIMITS_CHANGE messages\n // NOTE: The channel also sends LIMITS_SETTINGS and LIMITS_SET messages\n if (message.type != 'LIMITS_CHANGE') {\n continue\n }\n\n let itemName = `${message.target_name}__${message.packet_name}__${message.item_name}`\n const index = this.itemList.findIndex((arrayItem) =>\n arrayItem.includes(itemName)\n )\n // If we find an existing item we update the state and re-calc overall state\n if (index !== -1) {\n this.itemList[index] = `${itemName}__${message.new_limits_state}`\n this.calcOverallState()\n continue\n }\n // Skip ignored items\n if (this.ignored.find((ignored) => itemName.includes(ignored))) {\n continue\n }\n // Only process items who have gone out of limits\n if (\n message.new_limits_state &&\n !(\n message.new_limits_state.includes('YELLOW') ||\n message.new_limits_state.includes('RED')\n )\n ) {\n continue\n }\n let itemInfo = {\n key: itemName,\n parameters: [\n message.target_name,\n message.packet_name,\n message.item_name,\n ],\n }\n if (\n message.new_limits_state == 'YELLOW' ||\n message.new_limits_state == 'RED'\n ) {\n itemInfo['limits'] = false\n } else {\n itemInfo['limits'] = true\n }\n this.itemList.push(`${itemName}__${message.new_limits_state}`)\n this.items.push(itemInfo)\n this.calcOverallState()\n }\n },\n\n // Menu options\n showIgnored() {\n this.ignoredItemsDialog = true\n },\n },\n}\n<\/script>\n\n<style scoped>\n/* TODO: Color the border */\n.textfield-green >>> .v-text-field__slot input,\n.textfield-green >>> .v-text-field__slot label {\n color: green;\n}\n\n.textfield-yellow >>> .v-text-field__slot input,\n.textfield-yellow >>> .v-text-field__slot label {\n color: yellow;\n}\n\n.textfield-red >>> .v-text-field__slot input,\n.textfield-red >>> .v-text-field__slot label {\n color: red;\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"913d3261facb45c467846754d137407a21308d9e"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return Ae=function(){return s},s}Ae();var ve={components:{LabelvalueWidget:Q,LabelvaluelimitsbarWidget:de},props:{value:{type:Array,default:function(){return Ae().f[0]++,Ae().s[0]++,[]}}},data:function(){return Ae().f[1]++,Ae().s[1]++,{api:null,cable:new k,ignored:[],ignoredItemsDialog:!1,overallState:"GREEN",items:[],itemList:[]}},computed:{textFieldClass:function(){return Ae().f[2]++,Ae().s[2]++,this.overallState?(Ae().b[0][0]++,Ae().s[3]++,"textfield-".concat(this.overallState.toLowerCase())):(Ae().b[0][1]++,Ae().s[4]++,"")},overallStateFormatted:function(){return Ae().f[3]++,Ae().s[5]++,0===this.ignored.length?(Ae().b[1][0]++,Ae().s[6]++,this.overallState):(Ae().b[1][1]++,Ae().s[7]++,"".concat(this.overallState," (Some items ignored)"))},ignoredFormatted:function(){return Ae().f[4]++,Ae().s[8]++,this.ignored.map((function(e){return Ae().f[5]++,Ae().s[9]++,e.split("__").join(" ")}))}},created:function(){var e=this;Ae().f[6]++,Ae().s[10]++,this.api=new y,Ae().s[11]++;var n,t=(0,u.Z)(this.value);try{for(t.s();!(n=t.n()).done;){var i=n.value;Ae().s[12]++,i.match(/.+__.+__.+/)?(Ae().b[2][0]++,Ae().s[13]++,this.ignoreItem(i,!0)):(Ae().b[2][1]++,Ae().s[14]++,this.ignorePacket(i,!0))}}catch(l){t.e(l)}finally{t.f()}Ae().s[15]++,this.updateOutOfLimits(),Ae().s[16]++,this.cable.createSubscription("LimitsEventsChannel",localStorage.scope,{received:function(n){Ae().f[7]++;var t=(Ae().s[17]++,JSON.parse(n));Ae().s[18]++,e.handleMessages(t)}}).then((function(n){Ae().f[8]++,Ae().s[19]++,e.limitsSubscription=n})),Ae().s[20]++,this.cable.createSubscription("ConfigEventsChannel",localStorage.scope,{received:function(n){Ae().f[9]++;var t=(Ae().s[21]++,JSON.parse(n));Ae().s[22]++,e.handleConfigEvents(t)}}).then((function(n){Ae().f[10]++,Ae().s[23]++,e.configSubscription=n}))},mounted:function(){var e=this;Ae().f[11]++,Ae().s[24]++,this.updater=setInterval((function(){Ae().f[12]++,Ae().s[25]++,e.update()}),1e3)},destroyed:function(){Ae().f[13]++,Ae().s[26]++,null!=this.updater?(Ae().b[3][0]++,Ae().s[27]++,clearInterval(this.updater),Ae().s[28]++,this.updater=null):Ae().b[3][1]++,Ae().s[29]++,this.limitsSubscription?(Ae().b[4][0]++,Ae().s[30]++,this.limitsSubscription.unsubscribe()):Ae().b[4][1]++,Ae().s[31]++,this.configSubscription?(Ae().b[5][0]++,Ae().s[32]++,this.configSubscription.unsubscribe()):Ae().b[5][1]++,Ae().s[33]++,this.cable.disconnect()},methods:{updateOutOfLimits:function(){var e=this;Ae().f[14]++,Ae().s[34]++,this.items=[],Ae().s[35]++,this.itemList=[],Ae().s[36]++,this.api.get_out_of_limits().then((function(n){Ae().f[15]++,Ae().s[37]++;var t,i=(0,u.Z)(n);try{var l=function(){var n=t.value,i=(Ae().s[38]++,n.join("__"));if(Ae().s[39]++,e.ignored.find((function(e){return Ae().f[16]++,Ae().s[40]++,i.includes(e)})))return Ae().b[6][0]++,Ae().s[41]++,"continue";Ae().b[6][1]++,Ae().s[42]++,e.itemList.push(i);var l=(Ae().s[43]++,{key:n.slice(0,3).join("__"),parameters:n.slice(0,3)});Ae().s[44]++,Ae().b[8][0]++,n[3].includes("YELLOW")&&(Ae().b[8][1]++,"RED"!==e.overallState)?(Ae().b[7][0]++,Ae().s[45]++,e.overallState="YELLOW"):Ae().b[7][1]++,Ae().s[46]++,n[3].includes("RED")?(Ae().b[9][0]++,Ae().s[47]++,e.overallState="RED"):Ae().b[9][1]++,Ae().s[48]++,Ae().b[11][0]++,"YELLOW"==n[3]||(Ae().b[11][1]++,"RED"==n[3])?(Ae().b[10][0]++,Ae().s[49]++,l["limits"]=!1):(Ae().b[10][1]++,Ae().s[50]++,l["limits"]=!0),Ae().s[51]++,e.items.push(l)};for(i.s();!(t=i.n()).done;)l()}catch(o){i.e(o)}finally{i.f()}Ae().s[52]++,e.calcOverallState()}))},calcOverallState:function(){var e=this;Ae().f[17]++;var n=(Ae().s[53]++,"GREEN");Ae().s[54]++;var t,i=(0,u.Z)(this.itemList);try{var l=function(){var i=t.value;return Ae().s[55]++,e.ignored.find((function(e){return Ae().f[18]++,Ae().s[56]++,i.includes(e)}))?(Ae().b[12][0]++,Ae().s[57]++,"continue"):(Ae().b[12][1]++,Ae().s[58]++,Ae().b[14][0]++,i.includes("YELLOW")&&(Ae().b[14][1]++,"RED"!==n)?(Ae().b[13][0]++,Ae().s[59]++,n="YELLOW"):Ae().b[13][1]++,Ae().s[60]++,i.includes("RED")?(Ae().b[15][0]++,Ae().s[61]++,n="RED",Ae().s[62]++,"break"):void Ae().b[15][1]++)};for(i.s();!(t=i.n()).done;){var o=l();if("continue"!==o&&"break"===o)break}}catch(s){i.e(s)}finally{i.f()}Ae().s[63]++,this.overallState=n},ignorePacket:function(e,n){Ae().f[19]++;var t=(Ae().s[64]++,e.split("__")),i=(0,c.Z)(t,3),l=i[0],o=i[1],s=(i[2],Ae().s[65]++,"".concat(l,"__").concat(o));Ae().s[66]++,this.ignored.push(s),Ae().s[67]++,Ae().b[16][0]++,n||(Ae().b[16][1]++,this.updateIgnored()),Ae().s[68]++;while(1){var a=(Ae().s[69]++,this.itemList.findIndex((function(e){return Ae().f[20]++,Ae().s[70]++,e.includes(s)})));if(Ae().s[71]++,-1===a){Ae().b[17][0]++,Ae().s[72]++;break}Ae().b[17][1]++;var r=(Ae().s[73]++,this.itemList[a].lastIndexOf("__"));Ae().s[74]++,this.removeItem(this.itemList[a].substring(0,r))}Ae().s[75]++,this.calcOverallState()},ignoreItem:function(e,n){Ae().f[21]++,Ae().s[76]++,this.ignored.push(e),Ae().s[77]++,Ae().b[18][0]++,n||(Ae().b[18][1]++,this.updateIgnored()),Ae().s[78]++,this.removeItem(e),Ae().s[79]++,this.calcOverallState()},restoreItem:function(e,n){Ae().f[22]++,Ae().s[80]++,this.ignored.splice(n,1),Ae().s[81]++,this.updateIgnored(),Ae().s[82]++,this.updateOutOfLimits()},removeItem:function(e){Ae().f[23]++;var n=(Ae().s[83]++,this.itemList.findIndex((function(n){return Ae().f[24]++,Ae().s[84]++,n.includes(e)})));Ae().s[85]++,this.items.splice(n,1),Ae().s[86]++,this.itemList.splice(n,1)},updateIgnored:function(){Ae().f[25]++,Ae().s[87]++,this.$emit("input",this.ignored)},update:function(){var e=this;Ae().f[26]++,Ae().s[88]++,0!==this.$store.state.tlmViewerItems.length?(Ae().b[19][0]++,Ae().s[89]++,this.api.get_tlm_values(this.$store.state.tlmViewerItems).then((function(n){Ae().f[27]++,Ae().s[90]++,e.$store.commit("tlmViewerUpdateValues",n)}))):Ae().b[19][1]++},handleConfigEvents:function(e){Ae().f[28]++,Ae().s[91]++;var n,t=(0,u.Z)(e);try{for(t.s();!(n=t.n()).done;){var i=n.value;Ae().s[92]++,Ae().b[21][0]++,"deleted"===i["kind"]&&(Ae().b[21][1]++,"target"===i["type"])?(Ae().b[20][0]++,Ae().s[93]++,this.updateOutOfLimits()):Ae().b[20][1]++}}catch(l){t.e(l)}finally{t.f()}},handleMessages:function(e){var n=this;Ae().f[29]++,Ae().s[94]++;var t,i=(0,u.Z)(e);try{var l=function(){var e=t.value;if(Ae().s[95]++,"LIMITS_CHANGE"!=e.type)return Ae().b[22][0]++,Ae().s[96]++,"continue";Ae().b[22][1]++;var i=(Ae().s[97]++,"".concat(e.target_name,"__").concat(e.packet_name,"__").concat(e.item_name)),l=(Ae().s[98]++,n.itemList.findIndex((function(e){return Ae().f[30]++,Ae().s[99]++,e.includes(i)})));if(Ae().s[100]++,-1!==l)return Ae().b[23][0]++,Ae().s[101]++,n.itemList[l]="".concat(i,"__").concat(e.new_limits_state),Ae().s[102]++,n.calcOverallState(),Ae().s[103]++,"continue";if(Ae().b[23][1]++,Ae().s[104]++,n.ignored.find((function(e){return Ae().f[31]++,Ae().s[105]++,i.includes(e)})))return Ae().b[24][0]++,Ae().s[106]++,"continue";if(Ae().b[24][1]++,Ae().s[107]++,Ae().b[26][0]++,e.new_limits_state&&(Ae().b[26][1]++,Ae().b[27][0]++,!e.new_limits_state.includes("YELLOW")&&(Ae().b[27][1]++,!e.new_limits_state.includes("RED"))))return Ae().b[25][0]++,Ae().s[108]++,"continue";Ae().b[25][1]++;var o=(Ae().s[109]++,{key:i,parameters:[e.target_name,e.packet_name,e.item_name]});Ae().s[110]++,Ae().b[29][0]++,"YELLOW"==e.new_limits_state||(Ae().b[29][1]++,"RED"==e.new_limits_state)?(Ae().b[28][0]++,Ae().s[111]++,o["limits"]=!1):(Ae().b[28][1]++,Ae().s[112]++,o["limits"]=!0),Ae().s[113]++,n.itemList.push("".concat(i,"__").concat(e.new_limits_state)),Ae().s[114]++,n.items.push(o),Ae().s[115]++,n.calcOverallState()};for(i.s();!(t=i.n()).done;)l()}catch(o){i.e(o)}finally{i.f()}},showIgnored:function(){Ae().f[32]++,Ae().s[116]++,this.ignoredItemsDialog=!0}}},he=ve,fe=(t(6998),(0,D.Z)(he,a,r,!1,null,"282dabc6",null)),pe=fe.exports,ge=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-card",{staticClass:"card-height"},[t("v-card-title",[e._v(" Limits Events "),t("v-spacer"),t("v-text-field",{attrs:{"append-icon":"mdi-magnify",label:"Search","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),t("v-data-table",{attrs:{headers:e.headers,items:e.data,search:e.search,"calculate-widths":"","disable-pagination":"","hide-default-footer":"","multi-sort":"",dense:"",height:e.calcTableHeight(),"data-test":"limits-events"},scopedSlots:e._u([{key:"item.time_nsec",fn:function(n){var i=n.item;return[t("span",[e._v(e._s(e.formatDate(i.time_nsec)))])]}},{key:"item.message",fn:function(n){var i=n.item;return[t("span",{class:e.getColorClass(i.message)},[e._v(e._s(i.message))])]}}])})],1)},_e=[],Ce=t(108),be=t(6700);function ye(){var e="/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsEvents.vue",n="8c608de65d8dfa87877ee740fb416b26f3dfe7d6",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsEvents.vue",statementMap:{0:{start:{line:67,column:4},end:{line:75,column:5}},1:{start:{line:78,column:4},end:{line:94,column:8}},2:{start:{line:84,column:27},end:{line:84,column:43}},3:{start:{line:85,column:12},end:{line:85,column:39}},4:{start:{line:93,column:8},end:{line:93,column:52}},5:{start:{line:97,column:4},end:{line:99,column:5}},6:{start:{line:98,column:6},end:{line:98,column:43}},7:{start:{line:100,column:4},end:{line:100,column:27}},8:{start:{line:104,column:6},end:{line:106,column:7}},9:{start:{line:104,column:19},end:{line:104,column:20}},10:{start:{line:105,column:8},end:{line:105,column:38}},11:{start:{line:107,column:6},end:{line:109,column:7}},12:{start:{line:108,column:8},end:{line:108,column:45}},13:{start:{line:112,column:6},end:{line:115,column:7}},14:{start:{line:118,column:6},end:{line:126,column:7}},15:{start:{line:119,column:8},end:{line:119,column:29}},16:{start:{line:120,column:13},end:{line:126,column:7}},17:{start:{line:121,column:8},end:{line:121,column:30}},18:{start:{line:122,column:13},end:{line:126,column:7}},19:{start:{line:123,column:8},end:{line:123,column:27}},20:{start:{line:124,column:13},end:{line:126,column:7}},21:{start:{line:125,column:8},end:{line:125,column:28}},22:{start:{line:127,column:6},end:{line:131,column:7}},23:{start:{line:128,column:8},end:{line:128,column:29}},24:{start:{line:130,column:8},end:{line:130,column:29}},25:{start:{line:135,column:6},end:{line:135,column:37}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:66,column:2},end:{line:66,column:3}},loc:{start:{line:66,column:9},end:{line:76,column:3}},line:66},1:{name:"(anonymous_1)",decl:{start:{line:77,column:2},end:{line:77,column:3}},loc:{start:{line:77,column:12},end:{line:95,column:3}},line:77},2:{name:"(anonymous_2)",decl:{start:{line:83,column:20},end:{line:83,column:21}},loc:{start:{line:83,column:30},end:{line:86,column:11}},line:83},3:{name:"(anonymous_3)",decl:{start:{line:92,column:12},end:{line:92,column:13}},loc:{start:{line:92,column:36},end:{line:94,column:7}},line:92},4:{name:"(anonymous_4)",decl:{start:{line:96,column:2},end:{line:96,column:3}},loc:{start:{line:96,column:14},end:{line:101,column:3}},line:96},5:{name:"(anonymous_5)",decl:{start:{line:103,column:4},end:{line:103,column:5}},loc:{start:{line:103,column:29},end:{line:110,column:5}},line:103},6:{name:"(anonymous_6)",decl:{start:{line:111,column:4},end:{line:111,column:5}},loc:{start:{line:111,column:25},end:{line:116,column:5}},line:111},7:{name:"(anonymous_7)",decl:{start:{line:117,column:4},end:{line:117,column:5}},loc:{start:{line:117,column:27},end:{line:132,column:5}},line:117},8:{name:"(anonymous_8)",decl:{start:{line:133,column:4},end:{line:133,column:5}},loc:{start:{line:133,column:22},end:{line:136,column:5}},line:133}},branchMap:{0:{loc:{start:{line:97,column:4},end:{line:99,column:5}},type:"if",locations:[{start:{line:97,column:4},end:{line:99,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:97},1:{loc:{start:{line:107,column:6},end:{line:109,column:7}},type:"if",locations:[{start:{line:107,column:6},end:{line:109,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:107},2:{loc:{start:{line:118,column:6},end:{line:126,column:7}},type:"if",locations:[{start:{line:118,column:6},end:{line:126,column:7}},{start:{line:120,column:13},end:{line:126,column:7}}],line:118},3:{loc:{start:{line:120,column:13},end:{line:126,column:7}},type:"if",locations:[{start:{line:120,column:13},end:{line:126,column:7}},{start:{line:122,column:13},end:{line:126,column:7}}],line:120},4:{loc:{start:{line:122,column:13},end:{line:126,column:7}},type:"if",locations:[{start:{line:122,column:13},end:{line:126,column:7}},{start:{line:124,column:13},end:{line:126,column:7}}],line:122},5:{loc:{start:{line:124,column:13},end:{line:126,column:7}},type:"if",locations:[{start:{line:124,column:13},end:{line:126,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:124},6:{loc:{start:{line:127,column:6},end:{line:131,column:7}},type:"if",locations:[{start:{line:127,column:6},end:{line:131,column:7}},{start:{line:129,column:13},end:{line:131,column:7}}],line:127}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0]},inputSourceMap:{version:3,sources:["LimitsEvents.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA;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",file:"LimitsEvents.vue",sourceRoot:"src/tools/LimitsMonitor",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 class=\"card-height\">\n <v-card-title>\n Limits Events\n <v-spacer />\n <v-text-field\n v-model=\"search\"\n append-icon=\"mdi-magnify\"\n label=\"Search\"\n single-line\n hide-details\n />\n </v-card-title>\n <v-data-table\n :headers=\"headers\"\n :items=\"data\"\n :search=\"search\"\n calculate-widths\n disable-pagination\n hide-default-footer\n multi-sort\n dense\n :height=\"calcTableHeight()\"\n data-test=\"limits-events\"\n >\n <template v-slot:item.time_nsec=\"{ item }\">\n <span>{{ formatDate(item.time_nsec) }}</span>\n </template>\n <template v-slot:item.message=\"{ item }\">\n <span :class=\"getColorClass(item.message)\">{{ item.message }}</span>\n </template>\n </v-data-table>\n </v-card>\n</template>\n\n<script>\nimport { toDate, format } from 'date-fns'\nimport Cable from '@openc3/tool-common/src/services/cable.js'\n\nexport default {\n props: {\n history_count: {\n type: Number,\n default: 1000,\n },\n },\n data() {\n return {\n data: [],\n cable: new Cable(),\n search: '',\n headers: [\n { text: 'Time', value: 'time_nsec', width: 250 },\n { text: 'Message', value: 'message' },\n ],\n }\n },\n created() {\n this.cable\n .createSubscription(\n 'LimitsEventsChannel',\n localStorage.scope,\n {\n received: (data) => {\n const parsed = JSON.parse(data)\n this.handleMessages(parsed)\n },\n },\n {\n history_count: 1000,\n }\n )\n .then((limitsSubscription) => {\n this.limitsSubscription = limitsSubscription\n })\n },\n destroyed() {\n if (this.limitsSubscription) {\n this.limitsSubscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n handleMessages(messages) {\n for (let i = 0; i < messages.length; i++) {\n this.data.unshift(messages[i])\n }\n if (this.data.length > this.history_count) {\n this.data.length = this.history_count\n }\n },\n formatDate(nanoSecs) {\n return format(\n toDate(parseInt(nanoSecs) / 1_000_000),\n 'yyyy-MM-dd HH:mm:ss.SSS'\n )\n },\n getColorClass(message) {\n if (message.includes('GREEN')) {\n return 'openc3-green'\n } else if (message.includes('YELLOW')) {\n return 'openc3-yellow'\n } else if (message.includes('RED')) {\n return 'openc3-red'\n } else if (message.includes('BLUE')) {\n return 'openc3-blue'\n }\n if (this.$vuetify.theme.dark) {\n return 'openc3-white'\n } else {\n return 'openc3-black'\n }\n },\n calcTableHeight() {\n // TODO: 250 is a magic number but seems to work well\n return window.innerHeight - 250\n },\n },\n}\n<\/script>\n\n<style lang=\"scss\" scoped>\n.card-height {\n // TODO: 150 is a magic number but seems to work well\n // Can this be calculated by the size of the table search box?\n height: calc(100vh - 150px);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"8c608de65d8dfa87877ee740fb416b26f3dfe7d6"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return ye=function(){return s},s}ye();var we={props:{history_count:{type:Number,default:1e3}},data:function(){return ye().f[0]++,ye().s[0]++,{data:[],cable:new k,search:"",headers:[{text:"Time",value:"time_nsec",width:250},{text:"Message",value:"message"}]}},created:function(){var e=this;ye().f[1]++,ye().s[1]++,this.cable.createSubscription("LimitsEventsChannel",localStorage.scope,{received:function(n){ye().f[2]++;var t=(ye().s[2]++,JSON.parse(n));ye().s[3]++,e.handleMessages(t)}},{history_count:1e3}).then((function(n){ye().f[3]++,ye().s[4]++,e.limitsSubscription=n}))},destroyed:function(){ye().f[4]++,ye().s[5]++,this.limitsSubscription?(ye().b[0][0]++,ye().s[6]++,this.limitsSubscription.unsubscribe()):ye().b[0][1]++,ye().s[7]++,this.cable.disconnect()},methods:{handleMessages:function(e){ye().f[5]++,ye().s[8]++;for(var n=(ye().s[9]++,0);n<e.length;n++)ye().s[10]++,this.data.unshift(e[n]);ye().s[11]++,this.data.length>this.history_count?(ye().b[1][0]++,ye().s[12]++,this.data.length=this.history_count):ye().b[1][1]++},formatDate:function(e){return ye().f[6]++,ye().s[13]++,(0,Ce.Z)((0,be.Z)(parseInt(e)/1e6),"yyyy-MM-dd HH:mm:ss.SSS")},getColorClass:function(e){return ye().f[7]++,ye().s[14]++,e.includes("GREEN")?(ye().b[2][0]++,ye().s[15]++,"openc3-green"):(ye().b[2][1]++,ye().s[16]++,e.includes("YELLOW")?(ye().b[3][0]++,ye().s[17]++,"openc3-yellow"):(ye().b[3][1]++,ye().s[18]++,e.includes("RED")?(ye().b[4][0]++,ye().s[19]++,"openc3-red"):(ye().b[4][1]++,ye().s[20]++,e.includes("BLUE")?(ye().b[5][0]++,ye().s[21]++,"openc3-blue"):(ye().b[5][1]++,ye().s[22]++,this.$vuetify.theme.dark?(ye().b[6][0]++,ye().s[23]++,"openc3-white"):(ye().b[6][1]++,ye().s[24]++,"openc3-black")))))},calcTableHeight:function(){return ye().f[8]++,ye().s[25]++,window.innerHeight-250}}},xe=we,ke=(t(9822),(0,D.Z)(xe,ge,_e,!1,null,"79d7d7dc",null)),Se=ke.exports,Ie=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[t("div",{staticClass:"v-toolbar__content"},[e._l(e.menus,(function(n,i){return t("v-menu",{key:i,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function(i){var l=i.on,o=i.attrs;return[t("v-btn",e._g(e._b({staticClass:"mx-1",attrs:{outlined:"","data-test":e.formatDT(e.title+" "+n.label)}},"v-btn",o,!1),l),[t("span",{domProps:{textContent:e._s(n.label)}}),t("v-icon",{attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[t("v-list",[t("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:n.radioGroup,"hide-details":"",dense:""}},[e._l(n.items,(function(i,l){return[i.divider?t("v-divider"):t("v-list-item",{key:l,attrs:{disabled:i.disabled,"data-test":e.formatDT(e.title+" "+n.label+" "+i.label)},on:{click:i.command}},[i.radio?t("v-list-item-action",[t("v-radio",{attrs:{color:"secondary",label:i.label,value:i.label}})],1):e._e(),i.checkbox?t("v-list-item-action",[t("v-checkbox",{attrs:{color:"secondary",label:i.label,value:i.label},model:{value:e.checked,callback:function(n){e.checked=n},expression:"checked"}})],1):e._e(),i.icon?t("v-list-item-icon",[t("v-icon",{attrs:{disabled:i.disabled}},[e._v(e._s(i.icon))])],1):e._e(),i.radio||i.checkbox?e._e():t("v-list-item-title",{style:"cursor: pointer;"+(i.disabled?"opacity: 0.2":"")},[e._v(e._s(i.label))])],1)]}))],2)],1)],1)})),t("v-spacer"),t("v-toolbar-title",[e._v(e._s(e.title))]),t("v-spacer")],2)])},Le=[],Ee=(t(1639),{props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()}}}),Ne=Ee,Oe=(t(5741),(0,D.Z)(Ne,Ie,Le,!1,null,"3237297b",null)),Te=Oe.exports,Me=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[t("v-card",[t("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[t("v-system-bar",[t("v-spacer"),t("span",[e._v("Open Configuration")]),t("v-spacer")],1),t("v-card-text",[t("div",{staticClass:"pa-3"},[t("v-row",{attrs:{dense:""}},[t("v-text-field",{attrs:{label:"search",type:"text","data-test":"search","prepend-icon":"mdi-magnify","clear-icon":"mdi-close-circle-outline",clearable:"",autofocus:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),t("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":function(e,n){return n.select(e)}},scopedSlots:e._u([{key:"item.actions",fn:function(n){var i=n.item;return[t("v-btn",{staticClass:"mt-1",attrs:{"data-test":"item-delete",icon:""},on:{click:function(n){return e.deleteConfig(i)}}},[t("v-icon",[e._v("mdi-delete")])],1)]}}])}),t("v-row",{attrs:{dense:""}},[t("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})]),t("v-row",[t("v-btn",{attrs:{type:"submit",color:"success","data-test":"open-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v(" Ok ")]),t("v-spacer"),t("v-btn",{attrs:{color:"primary","data-test":"open-config-cancel-btn"},on:{click:e.cancel}},[e._v(" Cancel ")])],1)],1)])],1)])],1)},De=[],Re=(t(4908),{props:{tool:String,value:Boolean},data:function(){return{configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.selectedItem||null===this.selectedItem?"Must select a config":null},show:{get:function(){return this.value},set:function(e){this.$emit("input",e)}}},mounted:function(){var e=this,n=-1;(new y).list_configs(this.tool).then((function(t){e.configs=t.map((function(e){return n+=1,{configId:n,config:e}}))})).catch((function(n){e.$emit("warning","Failed to connect to OpenC3. ".concat(n))}))},methods:{itemSelected:function(e){e.value?this.selectedItem=e.item:this.selectedItem=null},success:function(){this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedItem=null},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null},deleteConfig:function(e){var n=this;this.$dialog.confirm("Are you sure you want to delete: ".concat(e.config),{okText:"Delete",cancelText:"Cancel"}).then((function(t){n.selectedItem.config===e.config&&(n.selectedItem=null),n.configs.splice(n.configs.indexOf(e),1),(new y).delete_config(n.tool,e.config)})).catch((function(t){t&&n.$emit("warning","Failed to delete config ".concat(e.config," Error: ").concat(t))}))}}}),Ve=Re,We=(0,D.Z)(Ve,Me,De,!1,null,"db42aa32",null),He=We.exports,$e=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[t("v-card",[t("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[t("v-system-bar",[t("v-spacer"),t("span",[e._v("Save Configuration")]),t("v-spacer")],1),t("v-card-text",[t("div",{staticClass:"pa-3"},[t("v-row",{attrs:{dense:""}},[t("v-text-field",{attrs:{label:"search",type:"text","data-test":"search","prepend-icon":"mdi-magnify","clear-icon":"mdi-close-circle-outline",clearable:"","single-line":"","hide-details":""},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),t("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":function(e,n){return n.select(e)}},scopedSlots:e._u([{key:"item.actions",fn:function(n){var i=n.item;return[t("v-btn",{staticClass:"mt-1",attrs:{icon:"","data-test":"item-delete"},on:{click:function(n){return e.deleteConfig(i)}}},[t("v-icon",[e._v("mdi-delete")])],1)]}}])}),t("v-row",{attrs:{dense:""}},[t("v-text-field",{attrs:{"hide-details":"",autofocus:"",disabled:!!e.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},model:{value:e.configName,callback:function(n){e.configName=n},expression:"configName"}})],1),t("v-row",{attrs:{dense:""}},[t("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})]),t("v-row",[t("v-spacer"),t("v-btn",{staticClass:"mx-2",attrs:{outlined:""},on:{click:e.cancel}},[e._v(" Cancel ")]),t("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"save-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v(" Ok ")])],1)],1)])],1)])],1)},Fe=[],Ze={props:{tool:String,value:Boolean},data:function(){return{configName:"",configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.configName?"Config must have a name":null},show:{get:function(){return this.value},set:function(e){this.$emit("input",e)}}},mounted:function(){var e=this,n=-1;(new y).list_configs(this.tool).then((function(t){e.configs=t.map((function(e){return n+=1,{configId:n,config:e}}))})).catch((function(n){e.$emit("warning","Failed to connect to OpenC3. ".concat(n))}))},methods:{itemSelected:function(e){e.value?(this.selectedItem=e.item,this.configName=e.item.config):(this.selectedItem=null,this.configName="")},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},deleteConfig:function(e){var n=this;this.$dialog.confirm("Are you sure you want to delete: ".concat(e.config),{okText:"Delete",cancelText:"Cancel"}).then((function(t){n.configName===e.config&&(n.selectedItem=null,n.configName=""),n.configs.splice(n.configs.indexOf(e.config),1),(new y).delete_config(n.tool,e.config)})).catch((function(t){t&&n.$emit("warning","Failed to delete config ".concat(e.config," Error: ").concat(t))}))}}},Pe=Ze,Ge=(0,D.Z)(Pe,$e,Fe,!1,null,null,null),Ue=Ge.exports;function Ye(){var e="/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsMonitor.vue",n="1f29723a729696fafa50af5ee4ec14e884f38652",t=new Function("return this")(),i="__coverage__",l={path:"/openc3/plugins/packages/openc3-tool-limitsmonitor/src/tools/LimitsMonitor/LimitsMonitor.vue",statementMap:{0:{start:{line:74,column:4},end:{line:112,column:5}},1:{start:{line:91,column:16},end:{line:91,column:48}},2:{start:{line:100,column:16},end:{line:100,column:38}},3:{start:{line:106,column:16},end:{line:106,column:38}},4:{start:{line:116,column:23},end:{line:116,column:70}},5:{start:{line:117,column:6},end:{line:117,column:41}},6:{start:{line:118,column:6},end:{line:118,column:22}},7:{start:{line:121,column:6},end:{line:121,column:77}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:73,column:2},end:{line:73,column:3}},loc:{start:{line:73,column:9},end:{line:113,column:3}},line:73},1:{name:"(anonymous_1)",decl:{start:{line:90,column:23},end:{line:90,column:24}},loc:{start:{line:90,column:29},end:{line:92,column:15}},line:90},2:{name:"(anonymous_2)",decl:{start:{line:99,column:23},end:{line:99,column:24}},loc:{start:{line:99,column:29},end:{line:101,column:15}},line:99},3:{name:"(anonymous_3)",decl:{start:{line:105,column:23},end:{line:105,column:24}},loc:{start:{line:105,column:29},end:{line:107,column:15}},line:105},4:{name:"(anonymous_4)",decl:{start:{line:115,column:4},end:{line:115,column:5}},loc:{start:{line:115,column:34},end:{line:119,column:5}},line:115},5:{name:"(anonymous_5)",decl:{start:{line:120,column:4},end:{line:120,column:5}},loc:{start:{line:120,column:28},end:{line:122,column:5}},line:120}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{},inputSourceMap:{version:3,sources:["LimitsMonitor.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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:"LimitsMonitor.vue",sourceRoot:"src/tools/LimitsMonitor",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 :menus="menus" :title="title" />\n <v-card>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab v-for="(tab, index) in tabs" :key="index">{{ tab }}</v-tab>\n </v-tabs>\n <v-tabs-items v-model="curTab">\n <v-tab-item eager>\n <keep-alive>\n <limits-control ref="control" v-model="ignored" :key="renderKey" />\n </keep-alive>\n </v-tab-item>\n <v-tab-item eager>\n <keep-alive>\n <limits-events/>\n </keep-alive>\n </v-tab-item>\n </v-tabs-items>\n </v-card>\n \x3c!-- Note we\'re using v-if here so it gets re-created each time and refreshes the list --\x3e\n <open-config-dialog\n v-if="openConfig"\n v-model="openConfig"\n :tool="toolName"\n @success="openConfiguration"\n />\n \x3c!-- Note we\'re using v-if here so it gets re-created each time and refreshes the list --\x3e\n <save-config-dialog\n v-if="saveConfig"\n v-model="saveConfig"\n :tool="toolName"\n @success="saveConfiguration"\n />\n </div>\n</template>\n\n<script>\nimport LimitsControl from \'@/tools/LimitsMonitor/LimitsControl\'\nimport LimitsEvents from \'@/tools/LimitsMonitor/LimitsEvents\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport OpenConfigDialog from \'@openc3/tool-common/src/components/OpenConfigDialog\'\nimport SaveConfigDialog from \'@openc3/tool-common/src/components/SaveConfigDialog\'\n\nexport default {\n components: {\n LimitsControl,\n LimitsEvents,\n TopBar,\n OpenConfigDialog,\n SaveConfigDialog,\n },\n data() {\n return {\n title: \'Limits Monitor\',\n toolName: \'limits-monitor\',\n curTab: null,\n tabs: [\'Limits\', \'Log\'],\n api: new OpenC3Api(),\n renderKey: 0,\n ignored: [],\n openConfig: false,\n saveConfig: false,\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Show Ignored\',\n command: () => {\n this.$refs.control.showIgnored()\n },\n },\n {\n divider: true,\n },\n {\n label: \'Open Configuration\',\n command: () => {\n this.openConfig = true\n },\n },\n {\n label: \'Save Configuration\',\n command: () => {\n this.saveConfig = true\n },\n },\n ],\n },\n ],\n }\n },\n methods: {\n async openConfiguration(name) {\n const response = await this.api.load_config(this.toolName, name)\n this.ignored = JSON.parse(response)\n this.renderKey++ // Trigger re-render\n },\n saveConfiguration(name) {\n this.api.save_config(this.toolName, name, JSON.stringify(this.ignored))\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1f29723a729696fafa50af5ee4ec14e884f38652"},o=t[i]||(t[i]={});o[e]&&o[e].hash===n||(o[e]=l);var s=o[e];return Ye=function(){return s},s}Ye();var ze={components:{LimitsControl:pe,LimitsEvents:Se,TopBar:Te,OpenConfigDialog:He,SaveConfigDialog:Ue},data:function(){var e=this;return Ye().f[0]++,Ye().s[0]++,{title:"Limits Monitor",toolName:"limits-monitor",curTab:null,tabs:["Limits","Log"],api:new y,renderKey:0,ignored:[],openConfig:!1,saveConfig:!1,menus:[{label:"File",items:[{label:"Show Ignored",command:function(){Ye().f[1]++,Ye().s[1]++,e.$refs.control.showIgnored()}},{divider:!0},{label:"Open Configuration",command:function(){Ye().f[2]++,Ye().s[2]++,e.openConfig=!0}},{label:"Save Configuration",command:function(){Ye().f[3]++,Ye().s[3]++,e.saveConfig=!0}}]}]}},methods:{openConfiguration:function(e){var n=this;return(0,s.Z)((0,o.Z)().mark((function t(){var i;return(0,o.Z)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return Ye().f[4]++,Ye().s[4]++,t.next=4,n.api.load_config(n.toolName,e);case 4:i=t.sent,Ye().s[5]++,n.ignored=JSON.parse(i),Ye().s[6]++,n.renderKey++;case 9:case"end":return t.stop()}}),t)})))()},saveConfiguration:function(e){Ye().f[5]++,Ye().s[7]++,this.api.save_config(this.toolName,e,JSON.stringify(this.ignored))}}},Be=ze,je=(0,D.Z)(Be,i,l,!1,null,null,null),Je=je.exports},3653:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".label[data-v-2d350830]{font-weight:700;text-transform:capitalize}",""]),n["default"]=a},7764:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.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}",""]),n["default"]=a},6341:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".label[data-v-c4066fac]{font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);font-style:var(--font-style)}",""]),n["default"]=a},7818:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".textfield-green[data-v-282dabc6] .v-text-field__slot input,.textfield-green[data-v-282dabc6] .v-text-field__slot label{color:green}.textfield-yellow[data-v-282dabc6] .v-text-field__slot input,.textfield-yellow[data-v-282dabc6] .v-text-field__slot label{color:#ff0}.textfield-red[data-v-282dabc6] .v-text-field__slot input,.textfield-red[data-v-282dabc6] .v-text-field__slot label{color:red}",""]),n["default"]=a},5266:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".limitsbar[data-v-692162b3]{cursor:default;display:flex;justify-content:center;align-items:center;padding:5px;width:var(--width)}.limitsbar__container[data-v-692162b3]{position:relative;flex:1;height:var(--container-height);border:1px solid #000;background-color:#fff}.limitsbar__redlow[data-v-692162b3]{left:0;width:var(--redlow-width)}.limitsbar__redhigh[data-v-692162b3],.limitsbar__redlow[data-v-692162b3]{position:absolute;top:-1px;height:var(--container-height);background-color:red}.limitsbar__redhigh[data-v-692162b3]{right:0;width:var(--redhigh-width)}.limitsbar__yellowlow[data-v-692162b3]{left:var(--redlow-width);width:var(--yellowlow-width)}.limitsbar__yellowhigh[data-v-692162b3],.limitsbar__yellowlow[data-v-692162b3]{position:absolute;top:-1px;height:var(--container-height);background-color:#ffdc00}.limitsbar__yellowhigh[data-v-692162b3]{right:var(--redhigh-width);width:var(--yellowhigh-width)}.limitsbar__greenlow[data-v-692162b3]{left:calc(var(--redlow-width) + var(--yellowlow-width));width:var(--greenlow-width)}.limitsbar__greenhigh[data-v-692162b3],.limitsbar__greenlow[data-v-692162b3]{position:absolute;top:-1px;height:var(--container-height);background-color:green}.limitsbar__greenhigh[data-v-692162b3]{right:calc(var(--redhigh-width) + var(--yellowhigh-width));width:var(--greenhigh-width)}.limitsbar__blue[data-v-692162b3]{top:-1px;left:calc(var(--redlow-width) + var(--yellowlow-width) + var(--greenlow-width));width:var(--blue-width);background-color:blue}.limitsbar__blue[data-v-692162b3],.limitsbar__line[data-v-692162b3]{position:absolute;height:var(--container-height)}.limitsbar__line[data-v-692162b3]{left:var(--position);width:1px;background-color:gray}.limitsbar__arrow[data-v-692162b3]{position:absolute;top:-5px;left:var(--position);width:0;height:0;-webkit-transform:translateX(-5px);transform:translateX(-5px);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid gray}",""]),n["default"]=a},1050:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".value-widget-container[data-v-61027b58]{min-height:34px}.value[data-v-61027b58] div{min-height:24px!important;display:flex!important;align-items:center!important}.openc3-green[data-v-61027b58] input{color:#009600}.openc3-yellow[data-v-61027b58] input{color:#be8700}.openc3-red[data-v-61027b58] input{color:red}.openc3-blue[data-v-61027b58] input{color:#0064ff}.openc3-purple[data-v-61027b58] input{color:#c800c8}.openc3-black[data-v-61027b58] input{color:#000}.openc3-white[data-v-61027b58] input{color:#fff}",""]),n["default"]=a},679:function(e,n,t){"use strict";t.r(n);var i=t(3467),l=t.n(i),o=t(8715),s=t.n(o),a=s()(l());a.push([e.id,".card-height[data-v-79d7d7dc]{height:calc(100vh - 150px)}",""]),n["default"]=a},9784:function(e,n,t){var i=t(3653);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("7fea72d5",i,!0,{sourceMap:!1,shadowMode:!1})},5741:function(e,n,t){var i=t(7764);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("9f637652",i,!0,{sourceMap:!1,shadowMode:!1})},2717:function(e,n,t){var i=t(6341);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("490e0094",i,!0,{sourceMap:!1,shadowMode:!1})},6998:function(e,n,t){var i=t(7818);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("5f5d77b0",i,!0,{sourceMap:!1,shadowMode:!1})},4205:function(e,n,t){var i=t(5266);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("2ffb71a7",i,!0,{sourceMap:!1,shadowMode:!1})},1995:function(e,n,t){var i=t(1050);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("364acb37",i,!0,{sourceMap:!1,shadowMode:!1})},9822:function(e,n,t){var i=t(679);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var l=t(3514).Z;l("253528fc",i,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=405.js.map