cosmosc2-tool-autonomic 5.0.4 → 5.0.5

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cosmosc2-tool-autonomic
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.4
4
+ version: 5.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-05-24 00:00:00.000000000 Z
12
+ date: 2022-06-25 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: " This plugin adds the COSMOS autonomic tool\n"
15
15
  email:
@@ -24,18 +24,20 @@ files:
24
24
  - Rakefile
25
25
  - plugin.txt
26
26
  - tools/autonomic/index.html
27
- - tools/autonomic/js/392.js
28
- - tools/autonomic/js/392.js.map
27
+ - tools/autonomic/js/228.js
28
+ - tools/autonomic/js/228.js.map
29
+ - tools/autonomic/js/303.js
30
+ - tools/autonomic/js/303.js.map
29
31
  - tools/autonomic/js/537.js
30
32
  - tools/autonomic/js/537.js.map
31
- - tools/autonomic/js/616.js
32
- - tools/autonomic/js/616.js.map
33
- - tools/autonomic/js/83.js
34
- - tools/autonomic/js/83.js.map
35
- - tools/autonomic/js/877.js
36
- - tools/autonomic/js/877.js.map
37
- - tools/autonomic/js/973.js
38
- - tools/autonomic/js/973.js.map
33
+ - tools/autonomic/js/596.js
34
+ - tools/autonomic/js/596.js.map
35
+ - tools/autonomic/js/822.js
36
+ - tools/autonomic/js/822.js.map
37
+ - tools/autonomic/js/977.js
38
+ - tools/autonomic/js/977.js.map
39
+ - tools/autonomic/js/99.js
40
+ - tools/autonomic/js/99.js.map
39
41
  - tools/autonomic/js/app.js
40
42
  - tools/autonomic/js/app.js.map
41
43
  homepage: https://github.com/BallAerospace/COSMOS
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_cosmosc2_tool_autonomic"]=self["webpackChunk_cosmosc2_tool_autonomic"]||[]).push([[392],{8392:function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return q}});var o=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-card-title",{staticClass:"pb-0"},[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-btn",{attrs:{icon:"","data-test":"reaction-download"},on:{click:n.download}},[t("v-icon",[n._v(" mdi-download ")])],1)],1)]}}])},[t("span",[n._v(" Download Reactions ")])]),t("div",{staticClass:"mx-2"},[n._v("Reactions")]),t("v-spacer"),t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-btn",{attrs:{icon:"","data-test":"new-reaction"},on:{click:n.newReaction}},[t("v-icon",[n._v("mdi-database-plus")])],1)],1)]}}])},[t("span",[n._v(" New Reaction ")])])],1),t("v-card-title",[t("v-text-field",{attrs:{label:"Search","data-test":"reaction-search",dense:"",outlined:"","hide-details":""},model:{value:n.search,callback:function(e){n.search=e},expression:"search"}})],1),t("v-row",{staticClass:"pa-4"},n._l(n.reactions,(function(n,e){return t("div",{key:n.name},[t("v-col",[t("reaction-card",{attrs:{reaction:n,index:e}})],1)],1)})),0),t("create-dialog",{attrs:{triggers:n.triggers},model:{value:n.showNewReactionDialog,callback:function(e){n.showNewReactionDialog=e},expression:"showNewReactionDialog"}})],1)},i=[],a=t(5225),c=t(3696),l=t(8373),s=(t(8188),t(1939),t(6710),t(8673),t(6886),t(4121),t(523),t(9949),t(9805),t(5881)),r=t(9985),u=t(6911),d=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("v-dialog",{attrs:{width:"600"},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[t("v-card",[t("form",{on:{submit:function(e){return e.preventDefault(),n.addEnvironment.apply(null,arguments)}}},[t("v-system-bar",[t("v-spacer"),t("span",[n._v("Environment Variables")]),t("v-spacer")],1),t("v-card-text",[t("div",{staticClass:"pa-3"},[t("v-row",{staticClass:"mb-2",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:n.search,callback:function(e){n.search=e},expression:"search"}})],1),t("v-data-table",{attrs:{"item-key":"name","hide-default-header":"","data-test":"env-table",search:n.search,headers:n.headers,items:n.environment,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},scopedSlots:n._u([{key:"item.actions",fn:function(e){var o=e.item;return[t("v-btn",{staticClass:"mt-1",attrs:{icon:"","data-test":"item-delete"},on:{click:function(e){return n.deleteEnvironment(o)}}},[t("v-icon",[n._v("mdi-delete")])],1)]}}])}),t("v-row",{attrs:{dense:""}},[t("v-col",[t("v-text-field",{attrs:{label:"Key","data-test":"env-key"},model:{value:n.key,callback:function(e){n.key=e},expression:"key"}})],1),t("v-col",[t("v-text-field",{attrs:{label:"Value","data-test":"env-value"},model:{value:n.keyValue,callback:function(e){n.keyValue=e},expression:"keyValue"}})],1)],1),t("v-row",{attrs:{dense:""}},[t("v-btn",{attrs:{block:"",type:"submit",color:"primary","data-test":"add-env",disabled:!n.key||!n.keyValue},on:{click:function(e){return e.preventDefault(),n.addEnvironment.apply(null,arguments)}}},[n._v(" Add ")])],1)],1)])],1)])],1)},m=[],A=(t(8178),{props:{value:Boolean},data:function(){return{alert:"",alertType:"success",showAlert:!1,search:"",key:"",keyValue:"",environment:[],headers:[{text:"Key",value:"key"},{text:"Value",value:"value"},{text:"Actions",value:"actions",align:"end",sortable:!1}]}},computed:{show:{get:function(){return this.value},set:function(n){this.$emit("input",n)}}},mounted:function(){this.update()},methods:{alertHandler:function(n){this.alert=n.text,this.alertType=n.type,this.showAlert=!0},update:function(){var n=this;r.Z.get("/cosmos-api/environment").then((function(e){n.environment=e.data})).catch((function(n){}))},addEnvironment:function(){var n=this;r.Z.post("/cosmos-api/environment",{data:{key:this.key.toUpperCase(),value:this.keyValue}}).then((function(e){"New environment variable: ".concat(e.data.name);n.update()})).catch((function(e){var t={text:"Failed to add environment variable: ".concat(e),type:"error"};n.alertHandler(t)})),this.key="",this.keyValue=""},deleteEnvironment:function(n){var e=this;this.$dialog.confirm("Are you sure you want to delete: ".concat(n.key,"=").concat(n.value),{okText:"Delete",cancelText:"Cancel"}).then((function(e){return r.Z["delete"]("/cosmos-api/environment/".concat(n.name))})).then((function(t){var o={text:"Removed environment variable: ".concat(n.name),type:"success"};e.alertHandler(o),e.update()})).catch((function(n){var t={text:"Failed to delete environment: ".concat(n),type:"error"};e.alertHandler(t)}))}}}),v=A,p=t(3287),h=(0,p.Z)(v,d,m,!1,null,null,null),f=(h.exports,function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-dialog",{attrs:{width:"600"},model:{value:n.show,callback:function(e){n.show=e},expression:"show"}},[t("v-card",[t("v-system-bar",[t("v-spacer"),t("span",[n._v(" Create New Reaction ")]),t("v-spacer"),t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-icon",{attrs:{"data-test":"reaction-create-close-icon"},on:{click:n.clearHandler}},[n._v(" mdi-close-box ")])],1)]}}])},[t("span",[n._v(" Close ")])])],1),t("v-stepper",{attrs:{vertical:"","non-linear":""},model:{value:n.dialogStep,callback:function(e){n.dialogStep=e},expression:"dialogStep"}},[t("v-stepper-step",{attrs:{editable:"",step:"1"}},[n._v(" Input Triggers ")]),t("v-stepper-content",{attrs:{step:"1"}},[t("v-row",{staticClass:"ma-0"},[t("v-switch",{staticClass:"mx-2",attrs:{label:"Review Reaction Triggers after snooze"},model:{value:n.reactionReview,callback:function(e){n.reactionReview=e},expression:"reactionReview"}})],1),t("v-row",{staticClass:"ma-0"},[t("v-select",{attrs:{"persistent-hint":"",label:"Select Triggers",hint:"Triggers to cause Reaction","data-test":"reaction-select-triggers",items:n.triggerItems},on:{change:n.addTrigger},scopedSlots:n._u([{key:"item",fn:function(e){var o=e.item,i=e.attrs,a=e.on;return[t("v-list-item",n._g(n._b({attrs:{"data-test":"reaction-select-trigger-"+o.count}},"v-list-item",i,!1),a),[t("v-list-item-content",[t("v-list-item-title",{domProps:{textContent:n._s(o.text)}})],1)],1)]}}]),model:{value:n.deadSelect,callback:function(e){n.deadSelect=e},expression:"deadSelect"}})],1),t("div",{attrs:{"data-test":"triggerList"}},n._l(n.reactionTriggers,(function(e,o){return t("div",{key:e.name},[t("v-card",{staticClass:"mt-1 px-0",attrs:{outlined:""}},[t("v-card-title",[t("span",{domProps:{textContent:n._s(e.name)}}),t("v-spacer"),t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(i){var a=i.on,c=i.attrs;return[t("v-icon",n._g(n._b({attrs:{"data-test":"reaction-create-remove-trigger-"+o},on:{click:function(t){return n.removeTrigger(e)}}},"v-icon",c,!1),a),[n._v(" mdi-delete ")])]}}],null,!0)},[t("span",[n._v("Remove Trigger")])])],1)],1)],1)})),0),t("v-row",{staticClass:"ma-0 pa-2"},[t("v-spacer"),t("v-btn",{attrs:{color:"success","data-test":"reaction-create-step-two-btn",disabled:!n.reactionTriggers},on:{click:function(e){n.dialogStep=2}}},[n._v(" Continue ")])],1)],1),t("v-stepper-step",{attrs:{editable:"",step:"2"}},[n._v(" Input Actions ")]),t("v-stepper-content",{attrs:{step:"2"}},[t("v-row",{staticClass:"ma-0"},[t("v-radio-group",{staticClass:"px-2",attrs:{row:""},model:{value:n.reactionActionKind,callback:function(e){n.reactionActionKind=e},expression:"reactionActionKind"}},[t("v-radio",{attrs:{label:"View",value:"VIEW","data-test":"reaction-action-option-view"}}),t("v-radio",{attrs:{label:"Command",value:"COMMAND","data-test":"reaction-action-option-command"}}),t("v-radio",{attrs:{label:"Script",value:"SCRIPT","data-test":"reaction-action-option-script"}})],1)],1),"COMMAND"===n.reactionActionKind?t("div",[t("v-text-field",{attrs:{type:"text",label:"Command Input",placeholder:"INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0",prefix:"cmd('",suffix:"')",hint:"Autonomic runs commands with cmd_no_hazardous_check","data-test":"reaction-action-command"},model:{value:n.reactionCommand,callback:function(e){n.reactionCommand=e},expression:"reactionCommand"}})],1):"SCRIPT"===n.reactionActionKind?t("div",[t("v-card-text",[t("script-chooser",{on:{file:n.scriptHandler}}),t("environment-chooser",{on:{selected:n.environmentHandler}})],1)],1):t("div",{attrs:{"data-test":"actionList"}},n._l(n.reactionActions,(function(e,o){return t("div",{key:o},[t("v-card",{staticClass:"mt-1 px-0",attrs:{outlined:""}},[t("v-card-title",[t("v-icon",{staticClass:"mr-3"},[n._v(" "+n._s("command"===e.type?"mdi-code-braces":"mdi-file")+" ")]),t("span",[n._v(" "+n._s(e.value.length>28?e.value.slice(0,28)+"...":e.value)+" ")]),t("v-spacer"),t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var i=e.on,a=e.attrs;return[t("v-icon",n._g(n._b({attrs:{"data-test":"reaction-action-remove-"+o},on:{click:function(e){return n.removeAction(o)}}},"v-icon",a,!1),i),[n._v(" mdi-delete ")])]}}],null,!0)},[t("span",[n._v("Remove Action")])])],1)],1)],1)})),0),t("v-row",{staticClass:"ma-0 pa-2"},[t("v-btn",{attrs:{"data-test":"reaction-action-add-action-btn",disabled:n.disableAddAction},on:{click:n.addAction}},[n._v(" Add Action ")]),t("v-spacer"),t("v-btn",{attrs:{color:"success","data-test":"reaction-create-step-three-btn",disabled:!n.reactionActions},on:{click:function(e){n.dialogStep=3}}},[n._v(" Continue ")])],1)],1),t("v-stepper-step",{attrs:{editable:"",step:"3"}},[n._v(" Snooze, Description, and Review ")]),t("v-stepper-content",{attrs:{step:"3"}},[t("v-row",{staticClass:"ma-0"},[t("v-text-field",{attrs:{"data-test":"reaction-snooze-input",label:"Reaction Snooze",hint:"Snooze in Seconds",type:"number","hide-spin-buttons":""},model:{value:n.reactionSnooze,callback:function(e){n.reactionSnooze=e},expression:"reactionSnooze"}})],1),t("v-row",{staticClass:"ma-0"},[t("v-text-field",{attrs:{"data-test":"reaction-description-input",label:"Trigger Description"},model:{value:n.reactionDescription,callback:function(e){n.reactionDescription=e},expression:"reactionDescription"}})],1),t("v-row",{staticClass:"ma-0"},[t("span",{directives:[{name:"show",rawName:"v-show",value:n.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:n._s(n.error)}})]),t("v-row",{staticClass:"ma-2"},[t("v-spacer"),t("v-btn",{staticClass:"mr-4",attrs:{outlined:"","data-test":"reaction-create-cancel-btn"},on:{click:n.clearHandler}},[n._v(" Cancel ")]),t("v-btn",{attrs:{type:"submit",color:"primary","data-test":"reaction-create-submit-btn",disabled:!!n.error},on:{click:function(e){return e.preventDefault(),n.submitHandler.apply(null,arguments)}}},[n._v(" Ok ")])],1)],1)],1)],1)],1)],1)}),C=[],g=t(6451),b=(t(3489),t(4870),t(3985),t(5883),t(3450),t(5342),t(9228),t(4115),t(634),t(3994),function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-row",{attrs:{"no-gutters":""}},[t("span",[n._v(" Select from Cosmos environment variables ")])]),t("v-row",{staticClass:"ma-0"},[t("v-select",{attrs:{"persistent-hint":"","return-object":"",label:"Select Environment Options",hint:"Inject Environment Variables",items:n.environmentItems},on:{change:n.addEnvironmentItem},scopedSlots:n._u([{key:"selection",fn:function(){return[t("div",[t("span",[n._v(" Select Environment Options ")])])]},proxy:!0},{key:"item",fn:function(e){var o=e.item;return[t("div",[t("span",{domProps:{textContent:n._s(o.key+"="+o.value)}})])]}}]),model:{value:n.deadSelect,callback:function(e){n.deadSelect=e},expression:"deadSelect"}})],1),t("div",{staticClass:"mt-2"}),t("v-simple-table",{attrs:{dense:""}},[t("tbody",[t("tr",[t("th",{staticClass:"text-left"},[n._v("Key")]),t("th",{staticClass:"text-left"},[n._v("Value")]),t("th",{staticClass:"text-right"},[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-icon",{attrs:{"data-test":"new-metadata-icon"},on:{click:n.newEnvironment}},[n._v(" mdi-plus ")])],1)]}}])},[t("span",[n._v(" Add Environment ")])])],1)]),n._l(n.selected,(function(e,o){return[t("tr",{key:"tr-"+o},[t("td",[t("v-text-field",{attrs:{dense:"",type:"text",readonly:e.readonly,"data-test":"key-"+o},model:{value:e.key,callback:function(t){n.$set(e,"key",t)},expression:"env.key"}})],1),t("td",[t("v-text-field",{attrs:{dense:"",type:"text",readonly:e.readonly,"data-test":"value-"+o},model:{value:e.value,callback:function(t){n.$set(e,"value",t)},expression:"env.value"}})],1),t("td",[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var i=e.on,a=e.attrs;return[t("div",n._g(n._b({},"div",a,!1),i),[t("v-icon",{attrs:{"data-test":"remove-env-icon-"+o},on:{click:function(e){return n.rm(o)}}},[n._v(" mdi-delete ")])],1)]}}],null,!0)},[t("span",[n._v(" Delete Environment ")])])],1)])]}))],2)])],1)}),y=[],_={props:{value:{type:Array,required:!0}},data:function(){return{deadSelect:null,environmentOptions:[]}},mounted:function(){this.getEnvironment()},computed:{selected:{get:function(){return this.value},set:function(n){this.$emit("input",n)}},environmentItems:function(){var n=this;return this.environmentOptions.filter((function(e){return!n.selected.find((function(n){return n.key===e.key}))}))}},methods:{getEnvironment:function(){var n=this;r.Z.get("/cosmos-api/environment").then((function(e){n.environmentOptions=e.data}))},addEnvironmentItem:function(n){this.selected.push({key:n.key,value:n.value,readonly:!0});var e=this.environmentOptions.findIndex((function(e){return e.key===n.key&&e.value===n.value}));this.environmentOptions.splice(e,e>=0?1:0),this.deadSelect=null},newEnvironment:function(){this.selected.push({key:"",value:"",readonly:!1})},rm:function(n){var e=this.selected.splice(n,1)[0];e&&e.readonly&&this.environmentOptions.push(e)}}},w=_,x=(0,p.Z)(w,b,y,!1,null,null,null),R=x.exports,k=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-row",{attrs:{"no-gutters":""}},[t("span",[n._v(" Select Cosmos script ")])]),t("v-row",{staticClass:"my-2"},[t("v-autocomplete",{staticClass:"mx-4",attrs:{"cache-items":"",flat:"","hide-no-data":"","hide-details":"","solo-inverted":"",label:"Select a script",loading:n.loading,items:n.items,"search-input":n.search},on:{"update:searchInput":function(e){n.search=e},"update:search-input":function(e){n.search=e}},model:{value:n.selected,callback:function(e){n.selected=e},expression:"selected"}})],1)],1)},S=[],T=(t(4083),{props:{value:String},data:function(){return{loading:!1,search:"",selected:this.value,scripts:[],items:[]}},created:function(){var n=this;this.loading=!0,r.Z.get("/script-api/scripts").then((function(e){n.scripts=e.data,n.items=e.data})).catch((function(e){n.$emit("error",{type:"error",text:"Failed to connect to Cosmos. ".concat(e),error:e})})),this.selected=this.value?this.value:null,this.loading=!1},watch:{selected:function(n,e){n!==e&&this.$emit("file",n)},search:function(n){n&&n!==this.selected&&this.querySelections(n)}},methods:{querySelections:function(n){var e=this;this.loading=!0,setTimeout((function(){e.items=e.scripts.filter((function(e){return(e||"").toLowerCase().indexOf((n||"").toLowerCase())>-1})),e.loading=!1}),500)}}}),E=T,I=(0,p.Z)(E,k,S,!1,null,null,null),D=I.exports;function O(){var n="/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue",e="46ea9ce7f4b6cc49983e66ed13fd04e2cedd8f1c",t=new Function("return this")(),o="__coverage__",i={path:"/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue",statementMap:{0:{start:{line:278,column:4},end:{line:293,column:5}},1:{start:{line:281,column:29},end:{line:281,column:50}},2:{start:{line:299,column:6},end:{line:303,column:7}},3:{start:{line:300,column:8},end:{line:300,column:33}},4:{start:{line:301,column:8},end:{line:301,column:32}},5:{start:{line:302,column:8},end:{line:302,column:38}},6:{start:{line:308,column:6},end:{line:310,column:7}},7:{start:{line:309,column:8},end:{line:309,column:50}},8:{start:{line:311,column:6},end:{line:313,column:7}},9:{start:{line:312,column:8},end:{line:312,column:55}},10:{start:{line:314,column:6},end:{line:314,column:17}},11:{start:{line:317,column:6},end:{line:324,column:7}},12:{start:{line:319,column:10},end:{line:319,column:38}},13:{start:{line:321,column:10},end:{line:321,column:37}},14:{start:{line:323,column:10},end:{line:323,column:21}},15:{start:{line:327,column:6},end:{line:333,column:7}},16:{start:{line:336,column:31},end:{line:336,column:52}},17:{start:{line:337,column:18},end:{line:337,column:19}},18:{start:{line:338,column:6},end:{line:352,column:7}},19:{start:{line:339,column:8},end:{line:351,column:12}},20:{start:{line:341,column:12},end:{line:343,column:13}},21:{start:{line:342,column:22},end:{line:342,column:64}},22:{start:{line:346,column:12},end:{line:350,column:13}},23:{start:{line:356,column:8},end:{line:356,column:25}},24:{start:{line:359,column:8},end:{line:359,column:34}},25:{start:{line:365,column:6},end:{line:365,column:48}},26:{start:{line:368,column:6},end:{line:368,column:54}},27:{start:{line:371,column:6},end:{line:371,column:38}},28:{start:{line:372,column:6},end:{line:372,column:35}},29:{start:{line:373,column:6},end:{line:373,column:31}},30:{start:{line:374,column:6},end:{line:374,column:32}},31:{start:{line:375,column:6},end:{line:375,column:32}},32:{start:{line:376,column:6},end:{line:376,column:31}},33:{start:{line:377,column:6},end:{line:377,column:25}},34:{start:{line:380,column:6},end:{line:380,column:28}},35:{start:{line:381,column:6},end:{line:381,column:38}},36:{start:{line:382,column:6},end:{line:382,column:35}},37:{start:{line:383,column:6},end:{line:383,column:31}},38:{start:{line:384,column:6},end:{line:384,column:32}},39:{start:{line:385,column:6},end:{line:385,column:32}},40:{start:{line:386,column:6},end:{line:386,column:31}},41:{start:{line:387,column:6},end:{line:387,column:25}},42:{start:{line:390,column:6},end:{line:392,column:31}},43:{start:{line:393,column:6},end:{line:393,column:25}},44:{start:{line:397,column:6},end:{line:397,column:39}},45:{start:{line:400,column:6},end:{line:400,column:39}},46:{start:{line:401,column:6},end:{line:401,column:28}},47:{start:{line:404,column:27},end:{line:406,column:7}},48:{start:{line:405,column:15},end:{line:405,column:67}},49:{start:{line:407,column:6},end:{line:407,column:75}},50:{start:{line:408,column:6},end:{line:408,column:28}},51:{start:{line:411,column:6},end:{line:422,column:7}},52:{start:{line:412,column:8},end:{line:415,column:10}},53:{start:{line:416,column:13},end:{line:422,column:7}},54:{start:{line:417,column:8},end:{line:421,column:10}},55:{start:{line:423,column:6},end:{line:423,column:38}},56:{start:{line:426,column:6},end:{line:426,column:60}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:277,column:2},end:{line:277,column:3}},loc:{start:{line:277,column:9},end:{line:294,column:3}},line:277},1:{name:"(anonymous_1)",decl:{start:{line:281,column:18},end:{line:281,column:19}},loc:{start:{line:281,column:29},end:{line:281,column:50}},line:281},2:{name:"(anonymous_2)",decl:{start:{line:295,column:2},end:{line:295,column:3}},loc:{start:{line:295,column:12},end:{line:295,column:14}},line:295},3:{name:"(anonymous_3)",decl:{start:{line:298,column:24},end:{line:298,column:25}},loc:{start:{line:298,column:50},end:{line:304,column:5}},line:298},4:{name:"(anonymous_4)",decl:{start:{line:307,column:11},end:{line:307,column:12}},loc:{start:{line:307,column:23},end:{line:315,column:5}},line:307},5:{name:"(anonymous_5)",decl:{start:{line:316,column:22},end:{line:316,column:23}},loc:{start:{line:316,column:34},end:{line:325,column:5}},line:316},6:{name:"(anonymous_6)",decl:{start:{line:326,column:11},end:{line:326,column:12}},loc:{start:{line:326,column:23},end:{line:334,column:5}},line:326},7:{name:"(anonymous_7)",decl:{start:{line:335,column:18},end:{line:335,column:19}},loc:{start:{line:335,column:30},end:{line:353,column:5}},line:335},8:{name:"(anonymous_8)",decl:{start:{line:338,column:51},end:{line:338,column:52}},loc:{start:{line:339,column:8},end:{line:351,column:12}},line:339},9:{name:"(anonymous_9)",decl:{start:{line:340,column:18},end:{line:340,column:19}},loc:{start:{line:340,column:25},end:{line:344,column:11}},line:340},10:{name:"(anonymous_10)",decl:{start:{line:342,column:14},end:{line:342,column:15}},loc:{start:{line:342,column:22},end:{line:342,column:64}},line:342},11:{name:"(anonymous_11)",decl:{start:{line:345,column:15},end:{line:345,column:16}},loc:{start:{line:345,column:22},end:{line:351,column:11}},line:345},12:{name:"(anonymous_12)",decl:{start:{line:355,column:6},end:{line:355,column:7}},loc:{start:{line:355,column:12},end:{line:357,column:7}},line:355},13:{name:"(anonymous_13)",decl:{start:{line:358,column:6},end:{line:358,column:7}},loc:{start:{line:358,column:17},end:{line:360,column:7}},line:358},14:{name:"(anonymous_14)",decl:{start:{line:364,column:19},end:{line:364,column:20}},loc:{start:{line:364,column:36},end:{line:366,column:5}},line:364},15:{name:"(anonymous_15)",decl:{start:{line:367,column:24},end:{line:367,column:25}},loc:{start:{line:367,column:41},end:{line:369,column:5}},line:367},16:{name:"(anonymous_16)",decl:{start:{line:370,column:18},end:{line:370,column:19}},loc:{start:{line:370,column:30},end:{line:378,column:5}},line:370},17:{name:"(anonymous_17)",decl:{start:{line:379,column:18},end:{line:379,column:19}},loc:{start:{line:379,column:30},end:{line:388,column:5}},line:379},18:{name:"(anonymous_18)",decl:{start:{line:389,column:19},end:{line:389,column:20}},loc:{start:{line:389,column:36},end:{line:394,column:5}},line:389},19:{name:"(anonymous_19)",decl:{start:{line:392,column:14},end:{line:392,column:15}},loc:{start:{line:392,column:28},end:{line:392,column:30}},line:392},20:{name:"(anonymous_20)",decl:{start:{line:395,column:20},end:{line:395,column:21}},loc:{start:{line:395,column:46},end:{line:398,column:5}},line:395},21:{name:"(anonymous_21)",decl:{start:{line:399,column:16},end:{line:399,column:17}},loc:{start:{line:399,column:33},end:{line:402,column:5}},line:399},22:{name:"(anonymous_22)",decl:{start:{line:403,column:19},end:{line:403,column:20}},loc:{start:{line:403,column:38},end:{line:409,column:5}},line:403},23:{name:"(anonymous_23)",decl:{start:{line:405,column:8},end:{line:405,column:9}},loc:{start:{line:405,column:15},end:{line:405,column:67}},line:405},24:{name:"(anonymous_24)",decl:{start:{line:410,column:15},end:{line:410,column:16}},loc:{start:{line:410,column:27},end:{line:424,column:5}},line:410},25:{name:"(anonymous_25)",decl:{start:{line:425,column:18},end:{line:425,column:19}},loc:{start:{line:425,column:35},end:{line:427,column:5}},line:425}},branchMap:{0:{loc:{start:{line:281,column:29},end:{line:281,column:50}},type:"binary-expr",locations:[{start:{line:281,column:29},end:{line:281,column:36}},{start:{line:281,column:40},end:{line:281,column:50}}],line:281},1:{loc:{start:{line:299,column:6},end:{line:303,column:7}},type:"if",locations:[{start:{line:299,column:6},end:{line:303,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:299},2:{loc:{start:{line:308,column:6},end:{line:310,column:7}},type:"if",locations:[{start:{line:308,column:6},end:{line:310,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:308},3:{loc:{start:{line:311,column:6},end:{line:313,column:7}},type:"if",locations:[{start:{line:311,column:6},end:{line:313,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:311},4:{loc:{start:{line:317,column:6},end:{line:324,column:7}},type:"switch",locations:[{start:{line:318,column:8},end:{line:319,column:38}},{start:{line:320,column:8},end:{line:321,column:37}},{start:{line:322,column:8},end:{line:323,column:21}}],line:317},5:{loc:{start:{line:342,column:22},end:{line:342,column:64}},type:"binary-expr",locations:[{start:{line:342,column:22},end:{line:342,column:40}},{start:{line:342,column:44},end:{line:342,column:64}}],line:342},6:{loc:{start:{line:365,column:28},end:{line:365,column:48}},type:"cond-expr",locations:[{start:{line:365,column:36},end:{line:365,column:41}},{start:{line:365,column:44},end:{line:365,column:48}}],line:365},7:{loc:{start:{line:368,column:34},end:{line:368,column:54}},type:"cond-expr",locations:[{start:{line:368,column:42},end:{line:368,column:47}},{start:{line:368,column:50},end:{line:368,column:54}}],line:368},8:{loc:{start:{line:405,column:15},end:{line:405,column:67}},type:"binary-expr",locations:[{start:{line:405,column:15},end:{line:405,column:38}},{start:{line:405,column:42},end:{line:405,column:67}}],line:405},9:{loc:{start:{line:407,column:49},end:{line:407,column:74}},type:"cond-expr",locations:[{start:{line:407,column:69},end:{line:407,column:70}},{start:{line:407,column:73},end:{line:407,column:74}}],line:407},10:{loc:{start:{line:411,column:6},end:{line:422,column:7}},type:"if",locations:[{start:{line:411,column:6},end:{line:422,column:7}},{start:{line:416,column:13},end:{line:422,column:7}}],line:411},11:{loc:{start:{line:416,column:13},end:{line:422,column:7}},type:"if",locations:[{start:{line:416,column:13},end:{line:422,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:416},12:{loc:{start:{line:426,column:41},end:{line:426,column:59}},type:"cond-expr",locations:[{start:{line:426,column:54},end:{line:426,column:55}},{start:{line:426,column:58},end:{line:426,column:59}}],line:426}},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},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,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]},inputSourceMap:{version:3,sources:["CreateDialog.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkQA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"CreateDialog.vue",sourceRoot:"src/tools/Autonomic/Tabs/Reactions",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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <div>\n <v-dialog v-model="show" width="600">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Create New Reaction </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-icon\n data-test="reaction-create-close-icon"\n @click="clearHandler"\n >\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n\n <v-stepper v-model="dialogStep" vertical non-linear>\n <v-stepper-step editable step="1"> Input Triggers </v-stepper-step>\n <v-stepper-content step="1">\n <v-row class="ma-0">\n <v-switch\n v-model="reactionReview"\n label="Review Reaction Triggers after snooze"\n class="mx-2"\n />\n </v-row>\n <v-row class="ma-0">\n <v-select\n v-model="deadSelect"\n persistent-hint\n label="Select Triggers"\n hint="Triggers to cause Reaction"\n data-test="reaction-select-triggers"\n :items="triggerItems"\n @change="addTrigger"\n >\n <template v-slot:item="{ item, attrs, on }">\n <v-list-item\n v-on="on"\n v-bind="attrs"\n :data-test="`reaction-select-trigger-${item.count}`"\n >\n <v-list-item-content>\n <v-list-item-title v-text="item.text" />\n </v-list-item-content>\n </v-list-item>\n </template>\n </v-select>\n </v-row>\n <div data-test="triggerList">\n <div v-for="(trigger, i) in reactionTriggers" :key="trigger.name">\n <v-card outlined class="mt-1 px-0">\n <v-card-title>\n <span v-text="trigger.name" />\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n v-bind="attrs"\n v-on="on"\n :data-test="`reaction-create-remove-trigger-${i}`"\n @click="removeTrigger(trigger)"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Remove Trigger</span>\n </v-tooltip>\n </v-card-title>\n </v-card>\n </div>\n </div>\n <v-row class="ma-0 pa-2">\n <v-spacer />\n <v-btn\n @click="dialogStep = 2"\n color="success"\n data-test="reaction-create-step-two-btn"\n :disabled="!reactionTriggers"\n >\n Continue\n </v-btn>\n </v-row>\n </v-stepper-content>\n\n <v-stepper-step editable step="2"> Input Actions </v-stepper-step>\n <v-stepper-content step="2">\n <v-row class="ma-0">\n <v-radio-group v-model="reactionActionKind" row class="px-2">\n <v-radio\n label="View"\n value="VIEW"\n data-test="reaction-action-option-view"\n />\n <v-radio\n label="Command"\n value="COMMAND"\n data-test="reaction-action-option-command"\n />\n <v-radio\n label="Script"\n value="SCRIPT"\n data-test="reaction-action-option-script"\n />\n </v-radio-group>\n </v-row>\n <div v-if="reactionActionKind === \'COMMAND\'">\n <v-text-field\n v-model="reactionCommand"\n type="text"\n label="Command Input"\n placeholder="INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0"\n prefix="cmd(\'"\n suffix="\')"\n hint="Autonomic runs commands with cmd_no_hazardous_check"\n data-test="reaction-action-command"\n />\n </div>\n <div v-else-if="reactionActionKind === \'SCRIPT\'">\n <v-card-text>\n <script-chooser @file="scriptHandler" />\n <environment-chooser @selected="environmentHandler" />\n </v-card-text>\n </div>\n <div v-else data-test="actionList">\n <div v-for="(action, index) in reactionActions" :key="index">\n <v-card outlined class="mt-1 px-0">\n <v-card-title>\n <v-icon class="mr-3">\n {{\n action.type === \'command\'\n ? \'mdi-code-braces\'\n : \'mdi-file\'\n }}\n </v-icon>\n <span>\n {{\n action.value.length > 28\n ? `${action.value.slice(0, 28)}...`\n : action.value\n }}\n </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n v-bind="attrs"\n v-on="on"\n :data-test="`reaction-action-remove-${index}`"\n @click="removeAction(index)"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Remove Action</span>\n </v-tooltip>\n </v-card-title>\n </v-card>\n </div>\n </div>\n <v-row class="ma-0 pa-2">\n <v-btn\n data-test="reaction-action-add-action-btn"\n :disabled="disableAddAction"\n @click="addAction"\n >\n Add Action\n </v-btn>\n <v-spacer />\n <v-btn\n @click="dialogStep = 3"\n color="success"\n data-test="reaction-create-step-three-btn"\n :disabled="!reactionActions"\n >\n Continue\n </v-btn>\n </v-row>\n </v-stepper-content>\n\n <v-stepper-step editable step="3">\n Snooze, Description, and Review\n </v-stepper-step>\n <v-stepper-content step="3">\n <v-row class="ma-0">\n <v-text-field\n v-model="reactionSnooze"\n data-test="reaction-snooze-input"\n label="Reaction Snooze"\n hint="Snooze in Seconds"\n type="number"\n hide-spin-buttons\n />\n </v-row>\n <v-row class="ma-0">\n <v-text-field\n v-model="reactionDescription"\n data-test="reaction-description-input"\n label="Trigger Description"\n />\n </v-row>\n <v-row class="ma-0">\n <span class="ma-2 red--text" v-show="error" v-text="error" />\n </v-row>\n <v-row class="ma-2">\n <v-spacer />\n <v-btn\n @click="clearHandler"\n outlined\n class="mr-4"\n data-test="reaction-create-cancel-btn"\n >\n Cancel\n </v-btn>\n <v-btn\n @click.prevent="submitHandler"\n type="submit"\n color="primary"\n data-test="reaction-create-submit-btn"\n :disabled="!!error"\n >\n Ok\n </v-btn>\n </v-row>\n </v-stepper-content>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport Api from \'@cosmosc2/tool-common/src/services/api\'\nimport { CosmosApi } from \'@cosmosc2/tool-common/src/services/cosmos-api\'\n\nimport EnvironmentChooser from \'@cosmosc2/tool-common/src/components/EnvironmentChooser\'\nimport ScriptChooser from \'@cosmosc2/tool-common/src/components/ScriptChooser\'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n },\n props: {\n triggers: {\n type: Object,\n required: true,\n },\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n dialogStep: 1,\n rules: {\n required: (value) => !!value || \'Required\',\n },\n deadSelect: -1,\n reactionActionKind: \'VIEW\',\n reactionDescription: \'\',\n reactionSnooze: 300,\n reactionReview: true,\n reactionTriggers: [],\n reactionActions: [],\n reactionCommand: \'\',\n reactionScript: \'\',\n reactionEnvironments: [],\n }\n },\n created() {},\n watch: {\n // This is mainly used when a user resets the CreateDialog\n reactionActionKind: function (newVal, oldVal) {\n if (newVal !== oldVal) {\n this.reactionCommand = \'\'\n this.reactionScript = \'\'\n this.reactionEnvironments = []\n }\n },\n },\n computed: {\n error: function () {\n if (this.reactionSnooze === \'\') {\n return \'Reaction snooze can not be blank.\'\n }\n if (this.reactionDescription === \'\') {\n return \'Reaction description can not be blank.\'\n }\n return null\n },\n disableAddAction: function () {\n switch (this.reactionActionKind) {\n case \'COMMAND\':\n return !this.reactionCommand\n case \'SCRIPT\':\n return !this.reactionScript\n default:\n return true\n }\n },\n event: function () {\n return {\n description: this.reactionDescription,\n snooze: parseFloat(this.reactionSnooze),\n review: this.reactionReview,\n triggers: this.reactionTriggers,\n actions: this.reactionActions,\n }\n },\n triggerItems: function () {\n const reactionTriggers = this.reactionTriggers\n let count = 0\n return Object.entries(this.triggers).flatMap(([group, triggerArray]) =>\n triggerArray\n .filter((t) => {\n return !reactionTriggers.find(\n (tt) => tt.name === t.name && tt.group === t.group\n )\n })\n .map((t) => {\n return {\n text: `[${group}] ${t.name} (${t.description})`,\n value: { name: t.name, group },\n count: count++,\n }\n })\n )\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n methods: {\n scriptHandler: function (event) {\n this.reactionScript = event ? event : null\n },\n environmentHandler: function (event) {\n this.reactionEnvironments = event ? event : null\n },\n resetHandler: function () {\n this.reactionActionKind = \'VIEW\'\n this.reactionDescription = \'\'\n this.reactionSnooze = 300\n this.reactionReview = true\n this.reactionTriggers = []\n this.reactionActions = []\n this.dialogStep = 1\n },\n clearHandler: function () {\n this.show = !this.show\n this.reactionActionKind = \'VIEW\'\n this.reactionDescription = \'\'\n this.reactionSnooze = 300\n this.reactionReview = true\n this.reactionTriggers = []\n this.reactionActions = []\n this.dialogStep = 1\n },\n submitHandler: function (event) {\n Api.post(`/cosmos-api/autonomic/reaction`, {\n data: this.event,\n }).then((response) => {})\n this.clearHandler()\n },\n operandChanged: function (event, operand) {\n // console.log(event)\n this[`${operand}Operand`] = event\n },\n addTrigger: function (event) {\n this.reactionTriggers.push(event)\n this.deadSelect = null\n },\n removeTrigger: function (trigger) {\n const triggerIndex = this.reactionTriggers.findIndex(\n (t) => t.name === trigger.name && t.group === trigger.group\n )\n this.reactionTriggers.splice(triggerIndex, triggerIndex >= 0 ? 1 : 0)\n this.deadSelect = null\n },\n addAction: function () {\n if (this.reactionCommand) {\n this.reactionActions.push({\n type: \'command\',\n value: this.reactionCommand,\n })\n } else if (this.reactionScript) {\n this.reactionActions.push({\n type: \'script\',\n value: this.reactionScript,\n environment: this.reactionEnvironments,\n })\n }\n this.reactionActionKind = \'VIEW\'\n },\n removeAction: function (index) {\n this.reactionActions.splice(index, index >= 0 ? 1 : 0)\n },\n },\n}\n<\/script>\n\n<style scoped>\ninput[type=\'number\'] {\n -moz-appearance: textfield;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"46ea9ce7f4b6cc49983e66ed13fd04e2cedd8f1c"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return O=function(){return c},c}O();var N={components:{EnvironmentChooser:R,ScriptChooser:D},props:{triggers:{type:Object,required:!0},value:Boolean},data:function(){return O().f[0]++,O().s[0]++,{dialogStep:1,rules:{required:function(n){return O().f[1]++,O().s[1]++,O().b[0][0]++,!!n||(O().b[0][1]++,"Required")}},deadSelect:-1,reactionActionKind:"VIEW",reactionDescription:"",reactionSnooze:300,reactionReview:!0,reactionTriggers:[],reactionActions:[],reactionCommand:"",reactionScript:"",reactionEnvironments:[]}},created:function(){O().f[2]++},watch:{reactionActionKind:function(n,e){O().f[3]++,O().s[2]++,n!==e?(O().b[1][0]++,O().s[3]++,this.reactionCommand="",O().s[4]++,this.reactionScript="",O().s[5]++,this.reactionEnvironments=[]):O().b[1][1]++}},computed:{error:function(){return O().f[4]++,O().s[6]++,""===this.reactionSnooze?(O().b[2][0]++,O().s[7]++,"Reaction snooze can not be blank."):(O().b[2][1]++,O().s[8]++,""===this.reactionDescription?(O().b[3][0]++,O().s[9]++,"Reaction description can not be blank."):(O().b[3][1]++,O().s[10]++,null))},disableAddAction:function(){switch(O().f[5]++,O().s[11]++,this.reactionActionKind){case"COMMAND":return O().b[4][0]++,O().s[12]++,!this.reactionCommand;case"SCRIPT":return O().b[4][1]++,O().s[13]++,!this.reactionScript;default:return O().b[4][2]++,O().s[14]++,!0}},event:function(){return O().f[6]++,O().s[15]++,{description:this.reactionDescription,snooze:parseFloat(this.reactionSnooze),review:this.reactionReview,triggers:this.reactionTriggers,actions:this.reactionActions}},triggerItems:function(){O().f[7]++;var n=(O().s[16]++,this.reactionTriggers),e=(O().s[17]++,0);return O().s[18]++,Object.entries(this.triggers).flatMap((function(t){var o=(0,g.Z)(t,2),i=o[0],a=o[1];return O().f[8]++,O().s[19]++,a.filter((function(e){return O().f[9]++,O().s[20]++,!n.find((function(n){return O().f[10]++,O().s[21]++,O().b[5][0]++,n.name===e.name&&(O().b[5][1]++,n.group===e.group)}))})).map((function(n){return O().f[11]++,O().s[22]++,{text:"[".concat(i,"] ").concat(n.name," (").concat(n.description,")"),value:{name:n.name,group:i},count:e++}}))}))},show:{get:function(){return O().f[12]++,O().s[23]++,this.value},set:function(n){O().f[13]++,O().s[24]++,this.$emit("input",n)}}},methods:{scriptHandler:function(n){O().f[14]++,O().s[25]++,this.reactionScript=n?(O().b[6][0]++,n):(O().b[6][1]++,null)},environmentHandler:function(n){O().f[15]++,O().s[26]++,this.reactionEnvironments=n?(O().b[7][0]++,n):(O().b[7][1]++,null)},resetHandler:function(){O().f[16]++,O().s[27]++,this.reactionActionKind="VIEW",O().s[28]++,this.reactionDescription="",O().s[29]++,this.reactionSnooze=300,O().s[30]++,this.reactionReview=!0,O().s[31]++,this.reactionTriggers=[],O().s[32]++,this.reactionActions=[],O().s[33]++,this.dialogStep=1},clearHandler:function(){O().f[17]++,O().s[34]++,this.show=!this.show,O().s[35]++,this.reactionActionKind="VIEW",O().s[36]++,this.reactionDescription="",O().s[37]++,this.reactionSnooze=300,O().s[38]++,this.reactionReview=!0,O().s[39]++,this.reactionTriggers=[],O().s[40]++,this.reactionActions=[],O().s[41]++,this.dialogStep=1},submitHandler:function(n){O().f[18]++,O().s[42]++,r.Z.post("/cosmos-api/autonomic/reaction",{data:this.event}).then((function(n){O().f[19]++})),O().s[43]++,this.clearHandler()},operandChanged:function(n,e){O().f[20]++,O().s[44]++,this["".concat(e,"Operand")]=n},addTrigger:function(n){O().f[21]++,O().s[45]++,this.reactionTriggers.push(n),O().s[46]++,this.deadSelect=null},removeTrigger:function(n){O().f[22]++;var e=(O().s[47]++,this.reactionTriggers.findIndex((function(e){return O().f[23]++,O().s[48]++,O().b[8][0]++,e.name===n.name&&(O().b[8][1]++,e.group===n.group)})));O().s[49]++,this.reactionTriggers.splice(e,e>=0?(O().b[9][0]++,1):(O().b[9][1]++,0)),O().s[50]++,this.deadSelect=null},addAction:function(){O().f[24]++,O().s[51]++,this.reactionCommand?(O().b[10][0]++,O().s[52]++,this.reactionActions.push({type:"command",value:this.reactionCommand})):(O().b[10][1]++,O().s[53]++,this.reactionScript?(O().b[11][0]++,O().s[54]++,this.reactionActions.push({type:"script",value:this.reactionScript,environment:this.reactionEnvironments})):O().b[11][1]++),O().s[55]++,this.reactionActionKind="VIEW"},removeAction:function(n){O().f[25]++,O().s[56]++,this.reactionActions.splice(n,n>=0?(O().b[12][0]++,1):(O().b[12][1]++,0))}}},H=N,z=(t(6141),(0,p.Z)(H,f,C,!1,null,"5c853506",null)),M=z.exports,F=function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("v-card",{attrs:{outlined:""}},[t("div",[t("v-card-title",{class:n.reaction.snoozed_until?"selected-title":"available-title"},[t("v-icon",{staticClass:"pr-5"},[n._v(" "+n._s(n.reaction.active?"mdi-power-plug":"mdi-power-plug-off")+" ")]),t("v-icon",{staticClass:"pr-5"},[n._v(" "+n._s(n.reaction.snoozed_until?"mdi-bell-sleep":"mdi-bell")+" ")]),t("span",{domProps:{textContent:n._s(n.reaction.name)}})],1),t("v-card-text",[t("v-simple-table",{attrs:{dense:""}},[t("tbody",[t("tr",[t("th",{staticClass:"text-left"},[n._v("Description")]),t("td",{domProps:{textContent:n._s(n.reaction.description)}})]),t("tr",[t("th",{staticClass:"text-left"},[n._v("Active")]),t("td",{domProps:{textContent:n._s(n.reaction.active)}})]),t("tr",[t("th",{staticClass:"text-left"},[n._v("Review")]),t("td",{domProps:{textContent:n._s(n.reaction.review)}})]),t("tr",[t("th",{staticClass:"text-left"},[n._v("Snooze")]),t("td",{domProps:{textContent:n._s(n.reaction.snooze)}})]),t("tr",[t("th",{staticClass:"text-left"},[n._v("Snoozed Until")]),t("td",{domProps:{textContent:n._s(n.snoozedZuluTime)}})]),n._l(n.reaction.triggers,(function(e,o){return t("tr",{key:o},[t("th",{staticClass:"text-left",domProps:{textContent:n._s("Trigger-"+o)}}),t("td",{domProps:{textContent:n._s(e.group+", "+e.name)}})])})),n._l(n.reaction.actions,(function(e,o){return t("tr",{key:o},[t("th",{staticClass:"text-left",domProps:{textContent:n._s("Action-"+o)}}),t("td",{domProps:{textContent:n._s(e.value)}})])}))],2)])],1)],1),t("v-card-actions",[n.reaction.active?t("div",[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-btn",{attrs:{icon:"","data-test":"reaction-deactivate-icon-"+n.index},on:{click:n.deactivateHandler}},[t("v-icon",[n._v(" mdi-power-plug-off ")])],1)],1)]}}],null,!1,3833898251)},[t("span",[n._v(" Deactivate ")])])],1):t("div",[t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-btn",{attrs:{icon:"","data-test":"reaction-activate-icon-"+n.index},on:{click:n.activateHandler}},[t("v-icon",[n._v("mdi-power-plug")])],1)],1)]}}])},[t("span",[n._v(" Activate ")])])],1),t("v-spacer"),t("v-tooltip",{attrs:{top:""},scopedSlots:n._u([{key:"activator",fn:function(e){var o=e.on,i=e.attrs;return[t("div",n._g(n._b({},"div",i,!1),o),[t("v-btn",{attrs:{icon:"","data-test":"reaction-delete-icon-"+n.index},on:{click:n.deleteHandler}},[t("v-icon",[n._v("mdi-delete")])],1)],1)]}}])},[t("span",[n._v(" Delete ")])])],1)],1)],1)},$=[];t(1245);function P(){var n="/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue",e="893deadd29381bb76f26aa3b6514fb687f67e04b",t=new Function("return this")(),o="__coverage__",i={path:"/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue",statementMap:{0:{start:{line:139,column:4},end:{line:139,column:13}},1:{start:{line:143,column:6},end:{line:145,column:7}},2:{start:{line:144,column:8},end:{line:144,column:17}},3:{start:{line:146,column:6},end:{line:146,column:71}},4:{start:{line:151,column:6},end:{line:159,column:8}},5:{start:{line:155,column:8},end:{line:158,column:10}},6:{start:{line:162,column:6},end:{line:170,column:8}},7:{start:{line:166,column:8},end:{line:169,column:10}},8:{start:{line:173,column:6},end:{line:180,column:7}},9:{start:{line:175,column:10},end:{line:178,column:12}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:138,column:2},end:{line:138,column:3}},loc:{start:{line:138,column:9},end:{line:140,column:3}},line:138},1:{name:"(anonymous_1)",decl:{start:{line:142,column:21},end:{line:142,column:22}},loc:{start:{line:142,column:33},end:{line:147,column:5}},line:142},2:{name:"(anonymous_2)",decl:{start:{line:150,column:21},end:{line:150,column:22}},loc:{start:{line:150,column:33},end:{line:160,column:5}},line:150},3:{name:"(anonymous_3)",decl:{start:{line:154,column:13},end:{line:154,column:14}},loc:{start:{line:154,column:27},end:{line:159,column:7}},line:154},4:{name:"(anonymous_4)",decl:{start:{line:161,column:23},end:{line:161,column:24}},loc:{start:{line:161,column:35},end:{line:171,column:5}},line:161},5:{name:"(anonymous_5)",decl:{start:{line:165,column:13},end:{line:165,column:14}},loc:{start:{line:165,column:27},end:{line:170,column:7}},line:165},6:{name:"(anonymous_6)",decl:{start:{line:172,column:19},end:{line:172,column:20}},loc:{start:{line:172,column:31},end:{line:181,column:5}},line:172},7:{name:"(anonymous_7)",decl:{start:{line:174,column:8},end:{line:174,column:9}},loc:{start:{line:174,column:22},end:{line:179,column:9}},line:174}},branchMap:{0:{loc:{start:{line:143,column:6},end:{line:145,column:7}},type:"if",locations:[{start:{line:143,column:6},end:{line:145,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:143}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["ReactionCard.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HA;;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",file:"ReactionCard.vue",sourceRoot:"src/tools/Autonomic/Tabs/Reactions",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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <div>\n <v-card outlined>\n <div>\n <v-card-title\n :class="reaction.snoozed_until ? \'selected-title\' : \'available-title\'"\n >\n <v-icon class="pr-5">\n {{ reaction.active ? \'mdi-power-plug\' : \'mdi-power-plug-off\' }}\n </v-icon>\n <v-icon class="pr-5">\n {{ reaction.snoozed_until ? \'mdi-bell-sleep\' : \'mdi-bell\' }}\n </v-icon>\n <span v-text="reaction.name" />\n </v-card-title>\n <v-card-text>\n <v-simple-table dense>\n <tbody>\n <tr>\n <th class="text-left">Description</th>\n <td v-text="reaction.description" />\n </tr>\n <tr>\n <th class="text-left">Active</th>\n <td v-text="reaction.active" />\n </tr>\n <tr>\n <th class="text-left">Review</th>\n <td v-text="reaction.review" />\n </tr>\n <tr>\n <th class="text-left">Snooze</th>\n <td v-text="reaction.snooze" />\n </tr>\n <tr>\n <th class="text-left">Snoozed Until</th>\n <td v-text="snoozedZuluTime" />\n </tr>\n <tr v-for="(trigger, i) in reaction.triggers" :key="i">\n <th class="text-left" v-text="`Trigger-${i}`" />\n <td v-text="`${trigger.group}, ${trigger.name}`" />\n </tr>\n <tr v-for="(action, i) in reaction.actions" :key="i">\n <th class="text-left" v-text="`Action-${i}`" />\n <td v-text="action.value" />\n </tr>\n </tbody>\n </v-simple-table>\n </v-card-text>\n </div>\n\n <v-card-actions>\n <div v-if="reaction.active">\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-btn\n icon\n :data-test="`reaction-deactivate-icon-${index}`"\n @click="deactivateHandler"\n >\n <v-icon> mdi-power-plug-off </v-icon>\n </v-btn>\n </div>\n </template>\n <span> Deactivate </span>\n </v-tooltip>\n </div>\n <div v-else>\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-btn\n icon\n :data-test="`reaction-activate-icon-${index}`"\n @click="activateHandler"\n >\n <v-icon>mdi-power-plug</v-icon>\n </v-btn>\n </div>\n </template>\n <span> Activate </span>\n </v-tooltip>\n </div>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-btn\n icon\n :data-test="`reaction-delete-icon-${index}`"\n @click="deleteHandler"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </div>\n </template>\n <span> Delete </span>\n </v-tooltip>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Api from \'@cosmosc2/tool-common/src/services/api\'\n\nexport default {\n props: {\n reaction: {\n type: Object,\n required: true,\n },\n index: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {}\n },\n computed: {\n snoozedZuluTime: function () {\n if (!this.reaction.snoozed_until) {\n return \'\'\n }\n return new Date(this.reaction.snoozed_until * 1000).toISOString()\n },\n },\n methods: {\n activateHandler: function () {\n Api.post(\n `/cosmos-api/autonomic/reaction/${this.reaction.name}/activate`,\n {}\n ).then((response) => {\n this.$notify.normal({\n title: \'Activated Reaction\',\n body: `reaction: ${this.reaction.name} has been activated.`,\n })\n })\n },\n deactivateHandler: function () {\n Api.post(\n `/cosmos-api/autonomic/reaction/${this.reaction.name}/deactivate`,\n {}\n ).then((response) => {\n this.$notify.normal({\n title: \'Deactivated Reaction\',\n body: `reaction: ${this.reaction.name} has been deactivated.`,\n })\n })\n },\n deleteHandler: function () {\n Api.delete(`/cosmos-api/autonomic/reaction/${this.reaction.name}`).then(\n (response) => {\n this.$notify.normal({\n title: \'Reaction Deleted\',\n body: `reaction: ${this.reaction.name} has been deleted.`,\n })\n }\n )\n },\n },\n}\n<\/script>\n\n<style scoped>\n.selected-title {\n background-color: var(--v-secondary-base);\n}\n.available-title {\n background-color: var(--v-primary-darken2);\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"893deadd29381bb76f26aa3b6514fb687f67e04b"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return P=function(){return c},c}P();var Z={props:{reaction:{type:Object,required:!0},index:{type:Number,required:!0}},data:function(){return P().f[0]++,P().s[0]++,{}},computed:{snoozedZuluTime:function(){return P().f[1]++,P().s[1]++,this.reaction.snoozed_until?(P().b[0][1]++,P().s[3]++,new Date(1e3*this.reaction.snoozed_until).toISOString()):(P().b[0][0]++,P().s[2]++,"")}},methods:{activateHandler:function(){var n=this;P().f[2]++,P().s[4]++,r.Z.post("/cosmos-api/autonomic/reaction/".concat(this.reaction.name,"/activate"),{}).then((function(e){P().f[3]++,P().s[5]++,n.$notify.normal({title:"Activated Reaction",body:"reaction: ".concat(n.reaction.name," has been activated.")})}))},deactivateHandler:function(){var n=this;P().f[4]++,P().s[6]++,r.Z.post("/cosmos-api/autonomic/reaction/".concat(this.reaction.name,"/deactivate"),{}).then((function(e){P().f[5]++,P().s[7]++,n.$notify.normal({title:"Deactivated Reaction",body:"reaction: ".concat(n.reaction.name," has been deactivated.")})}))},deleteHandler:function(){var n=this;P().f[6]++,P().s[8]++,r.Z["delete"]("/cosmos-api/autonomic/reaction/".concat(this.reaction.name)).then((function(e){P().f[7]++,P().s[9]++,n.$notify.normal({title:"Reaction Deleted",body:"reaction: ".concat(n.reaction.name," has been deleted.")})}))}}},L=Z,V=(t(8457),(0,p.Z)(L,F,$,!1,null,"bcd17e08",null)),U=V.exports;function K(){var n="/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/Reaction.vue",e="d059bfec4fbee9a6946356c5de4a034bd31b4fd0",t=new Function("return this")(),o="__coverage__",i={path:"/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Tabs/Reactions/Reaction.vue",statementMap:{0:{start:{line:84,column:4},end:{line:91,column:5}},1:{start:{line:94,column:4},end:{line:94,column:20}},2:{start:{line:97,column:4},end:{line:97,column:20}},3:{start:{line:98,column:4},end:{line:98,column:23}},4:{start:{line:101,column:4},end:{line:103,column:5}},5:{start:{line:102,column:6},end:{line:102,column:37}},6:{start:{line:104,column:4},end:{line:104,column:27}},7:{start:{line:108,column:6},end:{line:116,column:7}},8:{start:{line:121,column:6},end:{line:121,column:24}},9:{start:{line:126,column:6},end:{line:128,column:8}},10:{start:{line:127,column:8},end:{line:127,column:35}},11:{start:{line:131,column:6},end:{line:141,column:8}},12:{start:{line:132,column:26},end:{line:132,column:36}},13:{start:{line:133,column:8},end:{line:140,column:9}},14:{start:{line:135,column:12},end:{line:138,column:13}},15:{start:{line:144,column:6},end:{line:146,column:8}},16:{start:{line:145,column:8},end:{line:145,column:38}},17:{start:{line:149,column:6},end:{line:149,column:39}},18:{start:{line:152,column:21},end:{line:152,column:60}},19:{start:{line:153,column:19},end:{line:155,column:8}},20:{start:{line:157,column:19},end:{line:157,column:46}},21:{start:{line:158,column:6},end:{line:158,column:43}},22:{start:{line:159,column:6},end:{line:162,column:7}},23:{start:{line:163,column:6},end:{line:163,column:18}},24:{start:{line:166,column:6},end:{line:172,column:10}},25:{start:{line:168,column:30},end:{line:168,column:49}},26:{start:{line:171,column:10},end:{line:171,column:42}},27:{start:{line:175,column:21},end:{line:175,column:37}},28:{start:{line:176,column:6},end:{line:184,column:8}},29:{start:{line:177,column:8},end:{line:177,column:43}},30:{start:{line:178,column:8},end:{line:183,column:9}},31:{start:{line:181,column:12},end:{line:181,column:65}},32:{start:{line:182,column:12},end:{line:182,column:17}},33:{start:{line:187,column:6},end:{line:187,column:37}},34:{start:{line:190,column:28},end:{line:192,column:7}},35:{start:{line:191,column:22},end:{line:191,column:55}},36:{start:{line:193,column:6},end:{line:195,column:7}},37:{start:{line:194,column:8},end:{line:194,column:50}},38:{start:{line:196,column:6},end:{line:196,column:42}},39:{start:{line:199,column:28},end:{line:201,column:7}},40:{start:{line:200,column:22},end:{line:200,column:55}},41:{start:{line:202,column:6},end:{line:202,column:70}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:83,column:2},end:{line:83,column:3}},loc:{start:{line:83,column:9},end:{line:92,column:3}},line:83},1:{name:"(anonymous_1)",decl:{start:{line:93,column:11},end:{line:93,column:12}},loc:{start:{line:93,column:23},end:{line:95,column:3}},line:93},2:{name:"(anonymous_2)",decl:{start:{line:96,column:11},end:{line:96,column:12}},loc:{start:{line:96,column:23},end:{line:99,column:3}},line:96},3:{name:"(anonymous_3)",decl:{start:{line:100,column:13},end:{line:100,column:14}},loc:{start:{line:100,column:25},end:{line:105,column:3}},line:100},4:{name:"(anonymous_4)",decl:{start:{line:107,column:35},end:{line:107,column:36}},loc:{start:{line:107,column:47},end:{line:117,column:5}},line:107},5:{name:"(anonymous_5)",decl:{start:{line:120,column:12},end:{line:120,column:13}},loc:{start:{line:120,column:24},end:{line:122,column:5}},line:120},6:{name:"(anonymous_6)",decl:{start:{line:125,column:15},end:{line:125,column:16}},loc:{start:{line:125,column:27},end:{line:129,column:5}},line:125},7:{name:"(anonymous_7)",decl:{start:{line:126,column:50},end:{line:126,column:51}},loc:{start:{line:126,column:64},end:{line:128,column:7}},line:126},8:{name:"(anonymous_8)",decl:{start:{line:130,column:17},end:{line:130,column:18}},loc:{start:{line:130,column:29},end:{line:142,column:5}},line:130},9:{name:"(anonymous_9)",decl:{start:{line:131,column:26},end:{line:131,column:27}},loc:{start:{line:131,column:37},end:{line:141,column:7}},line:131},10:{name:"(anonymous_10)",decl:{start:{line:134,column:10},end:{line:134,column:11}},loc:{start:{line:134,column:24},end:{line:139,column:11}},line:134},11:{name:"(anonymous_11)",decl:{start:{line:143,column:18},end:{line:143,column:19}},loc:{start:{line:143,column:30},end:{line:147,column:5}},line:143},12:{name:"(anonymous_12)",decl:{start:{line:144,column:53},end:{line:144,column:54}},loc:{start:{line:144,column:67},end:{line:146,column:7}},line:144},13:{name:"(anonymous_13)",decl:{start:{line:148,column:17},end:{line:148,column:18}},loc:{start:{line:148,column:29},end:{line:150,column:5}},line:148},14:{name:"(anonymous_14)",decl:{start:{line:151,column:14},end:{line:151,column:15}},loc:{start:{line:151,column:26},end:{line:164,column:5}},line:151},15:{name:"(anonymous_15)",decl:{start:{line:165,column:15},end:{line:165,column:16}},loc:{start:{line:165,column:27},end:{line:173,column:5}},line:165},16:{name:"(anonymous_16)",decl:{start:{line:168,column:20},end:{line:168,column:21}},loc:{start:{line:168,column:30},end:{line:168,column:49}},line:168},17:{name:"(anonymous_17)",decl:{start:{line:170,column:14},end:{line:170,column:15}},loc:{start:{line:170,column:32},end:{line:172,column:9}},line:170},18:{name:"(anonymous_18)",decl:{start:{line:174,column:14},end:{line:174,column:15}},loc:{start:{line:174,column:30},end:{line:185,column:5}},line:174},19:{name:"(anonymous_19)",decl:{start:{line:176,column:21},end:{line:176,column:22}},loc:{start:{line:176,column:32},end:{line:184,column:7}},line:176},20:{name:"(anonymous_20)",decl:{start:{line:186,column:30},end:{line:186,column:31}},loc:{start:{line:186,column:47},end:{line:188,column:5}},line:186},21:{name:"(anonymous_21)",decl:{start:{line:189,column:30},end:{line:189,column:31}},loc:{start:{line:189,column:47},end:{line:197,column:5}},line:189},22:{name:"(anonymous_22)",decl:{start:{line:191,column:8},end:{line:191,column:9}},loc:{start:{line:191,column:22},end:{line:191,column:55}},line:191},23:{name:"(anonymous_23)",decl:{start:{line:198,column:30},end:{line:198,column:31}},loc:{start:{line:198,column:47},end:{line:203,column:5}},line:198},24:{name:"(anonymous_24)",decl:{start:{line:200,column:8},end:{line:200,column:9}},loc:{start:{line:200,column:22},end:{line:200,column:55}},line:200}},branchMap:{0:{loc:{start:{line:101,column:4},end:{line:103,column:5}},type:"if",locations:[{start:{line:101,column:4},end:{line:103,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:101},1:{loc:{start:{line:178,column:8},end:{line:183,column:9}},type:"switch",locations:[{start:{line:179,column:10},end:{line:182,column:17}}],line:178},2:{loc:{start:{line:193,column:6},end:{line:195,column:7}},type:"if",locations:[{start:{line:193,column:6},end:{line:195,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:193},3:{loc:{start:{line:202,column:43},end:{line:202,column:69}},type:"cond-expr",locations:[{start:{line:202,column:64},end:{line:202,column:65}},{start:{line:202,column:68},end:{line:202,column:69}}],line:202}},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},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},b:{0:[0,0],1:[0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["Reaction.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Reaction.vue",sourceRoot:"src/tools/Autonomic/Tabs/Reactions",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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <div>\n \x3c!-- The top bar of the screen to have buttons and actions --\x3e\n <v-card-title class="pb-0">\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-btn icon data-test="reaction-download" @click="download">\n <v-icon> mdi-download </v-icon>\n </v-btn>\n </div>\n </template>\n <span> Download Reactions </span>\n </v-tooltip>\n <div class="mx-2">Reactions</div>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator="{ on, attrs }">\n <div v-on="on" v-bind="attrs">\n <v-btn icon data-test="new-reaction" @click="newReaction">\n <v-icon>mdi-database-plus</v-icon>\n </v-btn>\n </div>\n </template>\n <span> New Reaction </span>\n </v-tooltip>\n </v-card-title>\n <v-card-title>\n <v-text-field\n v-model="search"\n label="Search"\n data-test="reaction-search"\n dense\n outlined\n hide-details\n />\n </v-card-title>\n \x3c!-- The main part of the screen to have lists and information --\x3e\n <v-row class="pa-4">\n <div v-for="(reaction, i) in reactions" :key="reaction.name">\n <v-col>\n <reaction-card :reaction="reaction" :index="i" />\n </v-col>\n </div>\n </v-row>\n <create-dialog v-model="showNewReactionDialog" :triggers="triggers" />\n </div>\n</template>\n\n<script>\nimport { format } from \'date-fns\'\nimport Api from \'@cosmosc2/tool-common/src/services/api\'\nimport Cable from \'@cosmosc2/tool-common/src/services/cable.js\'\nimport EnvironmentDialog from \'@cosmosc2/tool-common/src/components/EnvironmentDialog\'\n\nimport CreateDialog from \'@/tools/Autonomic/Tabs/Reactions/CreateDialog\'\nimport ReactionCard from \'@/tools/Autonomic/Tabs/Reactions/ReactionCard\'\n\nexport default {\n components: {\n CreateDialog,\n ReactionCard,\n },\n data() {\n return {\n groups: [],\n triggers: {},\n reactions: [],\n cable: new Cable(),\n subscription: null,\n showNewReactionDialog: false,\n }\n },\n created: function () {\n this.subscribe()\n },\n mounted: function () {\n this.getGroups()\n this.getReactions()\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n computed: {\n eventReactionHandlerFunctions: function () {\n return {\n created: this.createdReactionFromEvent,\n updated: this.updatedReactionFromEvent,\n deleted: this.deletedReactionFromEvent,\n activated: this.updatedReactionFromEvent,\n deactivated: this.updatedReactionFromEvent,\n sleep: this.updatedReactionFromEvent,\n awaken: this.updatedReactionFromEvent,\n }\n },\n },\n watch: {\n groups: function () {\n this.getTriggers()\n },\n },\n methods: {\n getGroups: function () {\n Api.get(\'/cosmos-api/autonomic/group\').then((response) => {\n this.groups = response.data\n })\n },\n getTriggers: function () {\n this.groups.forEach((group) => {\n const groupName = group.name\n Api.get(`/cosmos-api/autonomic/${groupName}/trigger`).then(\n (response) => {\n this.triggers = {\n ...this.triggers,\n [groupName]: response.data,\n }\n }\n )\n })\n },\n getReactions: function () {\n Api.get(`/cosmos-api/autonomic/reaction`).then((response) => {\n this.reactions = response.data\n })\n },\n newReaction: function () {\n this.showNewReactionDialog = true\n },\n download: function () {\n const output = JSON.stringify(this.reactions, null, 2)\n const blob = new Blob([output], {\n type: \'application/json\',\n })\n // Make a link and then \'click\' on it to start the download\n const link = document.createElement(\'a\')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n \'download\',\n format(Date.now(), \'yyyy_MM_dd_HH_mm_ss\') + \'_autonomic_reactions.json\'\n )\n link.click()\n },\n subscribe: function () {\n this.cable\n .createSubscription(\'AutonomicEventsChannel\', localStorage.scope, {\n received: (data) => this.received(data),\n })\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data) {\n const parsed = JSON.parse(data)\n parsed.forEach((event) => {\n event.data = JSON.parse(event.data)\n switch (event.type) {\n case \'reaction\':\n // console.log(\'DEBUG REACTION >>>\', event)\n this.eventReactionHandlerFunctions[event.kind](event)\n break\n }\n })\n },\n createdReactionFromEvent: function (event) {\n this.reactions.push(event.data)\n },\n updatedReactionFromEvent: function (event) {\n const reactionIndex = this.reactions.findIndex(\n (reaction) => reaction.name === event.data.name\n )\n if (reactionIndex >= 0) {\n this.reactions[reactionIndex] = event.data\n }\n this.reactions = [...this.reactions]\n },\n removedReactionFromEvent: function (event) {\n const reactionIndex = this.reactions.findIndex(\n (reaction) => reaction.name === event.data.name\n )\n this.reactions.splice(reactionIndex, reactionIndex >= 0 ? 1 : 0)\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d059bfec4fbee9a6946356c5de4a034bd31b4fd0"},a=t[o]||(t[o]={});a[n]&&a[n].hash===e||(a[n]=i);var c=a[n];return K=function(){return c},c}K();var G={components:{CreateDialog:M,ReactionCard:U},data:function(){return K().f[0]++,K().s[0]++,{groups:[],triggers:{},reactions:[],cable:new u.Z,subscription:null,showNewReactionDialog:!1}},created:function(){K().f[1]++,K().s[1]++,this.subscribe()},mounted:function(){K().f[2]++,K().s[2]++,this.getGroups(),K().s[3]++,this.getReactions()},destroyed:function(){K().f[3]++,K().s[4]++,this.subscription?(K().b[0][0]++,K().s[5]++,this.subscription.unsubscribe()):K().b[0][1]++,K().s[6]++,this.cable.disconnect()},computed:{eventReactionHandlerFunctions:function(){return K().f[4]++,K().s[7]++,{created:this.createdReactionFromEvent,updated:this.updatedReactionFromEvent,deleted:this.deletedReactionFromEvent,activated:this.updatedReactionFromEvent,deactivated:this.updatedReactionFromEvent,sleep:this.updatedReactionFromEvent,awaken:this.updatedReactionFromEvent}}},watch:{groups:function(){K().f[5]++,K().s[8]++,this.getTriggers()}},methods:{getGroups:function(){var n=this;K().f[6]++,K().s[9]++,r.Z.get("/cosmos-api/autonomic/group").then((function(e){K().f[7]++,K().s[10]++,n.groups=e.data}))},getTriggers:function(){var n=this;K().f[8]++,K().s[11]++,this.groups.forEach((function(e){K().f[9]++;var t=(K().s[12]++,e.name);K().s[13]++,r.Z.get("/cosmos-api/autonomic/".concat(t,"/trigger")).then((function(e){K().f[10]++,K().s[14]++,n.triggers=(0,l.Z)((0,l.Z)({},n.triggers),{},(0,c.Z)({},t,e.data))}))}))},getReactions:function(){var n=this;K().f[11]++,K().s[15]++,r.Z.get("/cosmos-api/autonomic/reaction").then((function(e){K().f[12]++,K().s[16]++,n.reactions=e.data}))},newReaction:function(){K().f[13]++,K().s[17]++,this.showNewReactionDialog=!0},download:function(){K().f[14]++;var n=(K().s[18]++,JSON.stringify(this.reactions,null,2)),e=(K().s[19]++,new Blob([n],{type:"application/json"})),t=(K().s[20]++,document.createElement("a"));K().s[21]++,t.href=URL.createObjectURL(e),K().s[22]++,t.setAttribute("download",(0,s.Z)(Date.now(),"yyyy_MM_dd_HH_mm_ss")+"_autonomic_reactions.json"),K().s[23]++,t.click()},subscribe:function(){var n=this;K().f[15]++,K().s[24]++,this.cable.createSubscription("AutonomicEventsChannel",localStorage.scope,{received:function(e){return K().f[16]++,K().s[25]++,n.received(e)}}).then((function(e){K().f[17]++,K().s[26]++,n.subscription=e}))},received:function(n){var e=this;K().f[18]++;var t=(K().s[27]++,JSON.parse(n));K().s[28]++,t.forEach((function(n){switch(K().f[19]++,K().s[29]++,n.data=JSON.parse(n.data),K().s[30]++,n.type){case"reaction":K().b[1][0]++,K().s[31]++,e.eventReactionHandlerFunctions[n.kind](n),K().s[32]++;break}}))},createdReactionFromEvent:function(n){K().f[20]++,K().s[33]++,this.reactions.push(n.data)},updatedReactionFromEvent:function(n){K().f[21]++;var e=(K().s[34]++,this.reactions.findIndex((function(e){return K().f[22]++,K().s[35]++,e.name===n.data.name})));K().s[36]++,e>=0?(K().b[2][0]++,K().s[37]++,this.reactions[e]=n.data):K().b[2][1]++,K().s[38]++,this.reactions=(0,a.Z)(this.reactions)},removedReactionFromEvent:function(n){K().f[23]++;var e=(K().s[39]++,this.reactions.findIndex((function(e){return K().f[24]++,K().s[40]++,e.name===n.data.name})));K().s[41]++,this.reactions.splice(e,e>=0?(K().b[3][0]++,1):(K().b[3][1]++,0))}}},j=G,W=(0,p.Z)(j,o,i,!1,null,null,null),q=W.exports},4318:function(n,e,t){"use strict";t.r(e);var o=t(3467),i=t.n(o),a=t(8715),c=t.n(a),l=c()(i());l.push([n.id,"input[type=number][data-v-5c853506]{-moz-appearance:textfield}input[data-v-5c853506]::-webkit-inner-spin-button,input[data-v-5c853506]::-webkit-outer-spin-button{-webkit-appearance:none}",""]),e["default"]=l},881:function(n,e,t){"use strict";t.r(e);var o=t(3467),i=t.n(o),a=t(8715),c=t.n(a),l=c()(i());l.push([n.id,".selected-title[data-v-bcd17e08]{background-color:var(--v-secondary-base)}.available-title[data-v-bcd17e08]{background-color:var(--v-primary-darken2)}",""]),e["default"]=l},4990:function(n,e,t){"use strict";var o=t(9859),i=t(3718),a=t(9646),c=t(7636),l=o.TypeError,s=function(n,e,t,o,r,u,d,m){var A,v,p=r,h=0,f=!!d&&c(d,m);while(h<o){if(h in t){if(A=f?f(t[h],h,e):t[h],u>0&&i(A))v=a(A),p=s(n,e,A,v,p,u-1)-1;else{if(p>=9007199254740991)throw l("Exceed the acceptable array length");n[p]=A}p++}h++}return p};n.exports=s},4870:function(n,e,t){"use strict";var o=t(3103),i=t(4990),a=t(7111),c=t(2991),l=t(9646),s=t(7501);o({target:"Array",proto:!0},{flatMap:function(n){var e,t=c(this),o=l(t);return a(n),e=s(t,0),e.length=i(e,t,t,o,0,1,n,arguments.length>1?arguments[1]:void 0),e}})},3985:function(n,e,t){var o=t(9736);o("flatMap")},5883:function(n,e,t){var o=t(3103),i=t(7664).entries;o({target:"Object",stat:!0},{entries:function(n){return i(n)}})},6141:function(n,e,t){var o=t(4318);o.__esModule&&(o=o.default),"string"===typeof o&&(o=[[n.id,o,""]]),o.locals&&(n.exports=o.locals);var i=t(3514).Z;i("26748fb8",o,!0,{sourceMap:!1,shadowMode:!1})},8457:function(n,e,t){var o=t(881);o.__esModule&&(o=o.default),"string"===typeof o&&(o=[[n.id,o,""]]),o.locals&&(n.exports=o.locals);var i=t(3514).Z;i("e48949de",o,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=392.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js/392.js","mappings":"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","sources":["webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/Reaction.vue?13dd","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentDialog.vue?955b","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentDialog.vue","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentDialog.vue?51a9","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentDialog.vue?0b88","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue?f1e4","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentChooser.vue?86ab","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentChooser.vue","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentChooser.vue?46d4","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/EnvironmentChooser.vue?056c","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/ScriptChooser.vue?717f","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/ScriptChooser.vue","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/ScriptChooser.vue?5c86","webpack://@cosmosc2/tool-autonomic/../cosmosc2-tool-common/src/components/ScriptChooser.vue?622e","webpack://@cosmosc2/tool-autonomic/src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue?ede8","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue?6de6","webpack://@cosmosc2/tool-autonomic/src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue?0431","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue","webpack://@cosmosc2/tool-autonomic/src/tools/Autonomic/Tabs/Reactions/Reaction.vue","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/Reaction.vue?1754","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/Reaction.vue","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue?ab13","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue?cce9","webpack://@cosmosc2/tool-autonomic/../../node_modules/core-js/internals/flatten-into-array.js","webpack://@cosmosc2/tool-autonomic/../../node_modules/core-js/modules/es.array.flat-map.js","webpack://@cosmosc2/tool-autonomic/../../node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://@cosmosc2/tool-autonomic/../../node_modules/core-js/modules/es.object.entries.js","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/CreateDialog.vue?052c","webpack://@cosmosc2/tool-autonomic/./src/tools/Autonomic/Tabs/Reactions/ReactionCard.vue?a4b4"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card-title',{staticClass:\"pb-0\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"reaction-download\"},on:{\"click\":_vm.download}},[_c('v-icon',[_vm._v(\" mdi-download \")])],1)],1)]}}])},[_c('span',[_vm._v(\" Download Reactions \")])]),_c('div',{staticClass:\"mx-2\"},[_vm._v(\"Reactions\")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":\"new-reaction\"},on:{\"click\":_vm.newReaction}},[_c('v-icon',[_vm._v(\"mdi-database-plus\")])],1)],1)]}}])},[_c('span',[_vm._v(\" New Reaction \")])])],1),_c('v-card-title',[_c('v-text-field',{attrs:{\"label\":\"Search\",\"data-test\":\"reaction-search\",\"dense\":\"\",\"outlined\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-row',{staticClass:\"pa-4\"},_vm._l((_vm.reactions),function(reaction,i){return _c('div',{key:reaction.name},[_c('v-col',[_c('reaction-card',{attrs:{\"reaction\":reaction,\"index\":i}})],1)],1)}),0),_c('create-dialog',{attrs:{\"triggers\":_vm.triggers},model:{value:(_vm.showNewReactionDialog),callback:function ($$v) {_vm.showNewReactionDialog=$$v},expression:\"showNewReactionDialog\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.addEnvironment.apply(null, arguments)}}},[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\"Environment Variables\")]),_c('v-spacer')],1),_c('v-card-text',[_c('div',{staticClass:\"pa-3\"},[_c('v-row',{staticClass:\"mb-2\",attrs:{\"dense\":\"\"}},[_c('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:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{attrs:{\"item-key\":\"name\",\"hide-default-header\":\"\",\"data-test\":\"env-table\",\"search\":_vm.search,\"headers\":_vm.headers,\"items\":_vm.environment,\"items-per-page\":5,\"footer-props\":{ 'items-per-page-options': [5] }},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{staticClass:\"mt-1\",attrs:{\"icon\":\"\",\"data-test\":\"item-delete\"},on:{\"click\":function($event){return _vm.deleteEnvironment(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}])}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Key\",\"data-test\":\"env-key\"},model:{value:(_vm.key),callback:function ($$v) {_vm.key=$$v},expression:\"key\"}})],1),_c('v-col',[_c('v-text-field',{attrs:{\"label\":\"Value\",\"data-test\":\"env-value\"},model:{value:(_vm.keyValue),callback:function ($$v) {_vm.keyValue=$$v},expression:\"keyValue\"}})],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"type\":\"submit\",\"color\":\"primary\",\"data-test\":\"add-env\",\"disabled\":!_vm.key || !_vm.keyValue},on:{\"click\":function($event){$event.preventDefault();return _vm.addEnvironment.apply(null, arguments)}}},[_vm._v(\" Add \")])],1)],1)])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <form v-on:submit.prevent=\"addEnvironment\">\n <v-system-bar>\n <v-spacer />\n <span>Environment Variables</span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <div class=\"pa-3\">\n <v-row dense class=\"mb-2\">\n <v-text-field\n v-model=\"search\"\n label=\"search\"\n type=\"text\"\n data-test=\"search\"\n prepend-icon=\"mdi-magnify\"\n clear-icon=\"mdi-close-circle-outline\"\n clearable\n autofocus\n single-line\n hide-details\n />\n </v-row>\n <v-data-table\n item-key=\"name\"\n hide-default-header\n data-test=\"env-table\"\n :search=\"search\"\n :headers=\"headers\"\n :items=\"environment\"\n :items-per-page=\"5\"\n :footer-props=\"{ 'items-per-page-options': [5] }\"\n >\n <template v-slot:item.actions=\"{ item }\">\n <v-btn\n @click=\"deleteEnvironment(item)\"\n icon\n class=\"mt-1\"\n data-test=\"item-delete\"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </template>\n </v-data-table>\n <v-row dense>\n <v-col>\n <v-text-field v-model=\"key\" label=\"Key\" data-test=\"env-key\" />\n </v-col>\n <v-col>\n <v-text-field v-model=\"keyValue\" label=\"Value\" data-test=\"env-value\" />\n </v-col>\n </v-row>\n <v-row dense>\n <v-btn\n @click.prevent=\"addEnvironment\"\n block\n type=\"submit\"\n color=\"primary\"\n data-test=\"add-env\"\n :disabled=\"!key || !keyValue\"\n >\n Add\n </v-btn>\n </v-row>\n </div>\n </v-card-text>\n </form>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport Api from '../services/api'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n alert: '',\n alertType: 'success',\n showAlert: false,\n search: '',\n key: '',\n keyValue: '',\n environment: [],\n headers: [\n {\n text: 'Key',\n value: 'key',\n },\n {\n text: 'Value',\n value: 'value',\n },\n {\n text: 'Actions',\n value: 'actions',\n align: 'end',\n sortable: false,\n },\n ],\n }\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n mounted() {\n this.update()\n },\n methods: {\n alertHandler: function (event) {\n // console.log('alertHandler', event)\n this.alert = event.text\n this.alertType = event.type\n this.showAlert = true\n },\n update: function () {\n Api.get('/cosmos-api/environment')\n .then((response) => {\n this.environment = response.data\n })\n .catch((error) => {\n // TODO: $error.something\n })\n },\n addEnvironment: function () {\n Api.post('/cosmos-api/environment', {\n data: {\n key: this.key.toUpperCase(),\n value: this.keyValue,\n },\n })\n .then((response) => {\n const alertEvent = {\n text: `New environment variable: ${response.data.name}`,\n type: 'success',\n }\n this.update()\n })\n .catch((error) => {\n const alertEvent = {\n text: `Failed to add environment variable: ${error}`,\n type: 'error',\n }\n this.alertHandler(alertEvent)\n })\n this.key = ''\n this.keyValue = ''\n },\n deleteEnvironment: function (env) {\n this.$dialog\n .confirm(`Are you sure you want to delete: ${env.key}=${env.value}`, {\n okText: 'Delete',\n cancelText: 'Cancel',\n })\n .then((dialog) => {\n return Api.delete(`/cosmos-api/environment/${env.name}`)\n })\n .then((response) => {\n const alertEvent = {\n text: `Removed environment variable: ${env.name}`,\n type: 'success',\n }\n this.alertHandler(alertEvent)\n this.update()\n })\n .catch((error) => {\n const alertEvent = {\n text: `Failed to delete environment: ${error}`,\n type: 'error',\n }\n this.alertHandler(alertEvent)\n })\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnvironmentDialog.vue?vue&type=template&id=1a404e68&\"\nimport script from \"./EnvironmentDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./EnvironmentDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"width\":\"600\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('v-card',[_c('v-system-bar',[_c('v-spacer'),_c('span',[_vm._v(\" Create New Reaction \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"reaction-create-close-icon\"},on:{\"click\":_vm.clearHandler}},[_vm._v(\" mdi-close-box \")])],1)]}}])},[_c('span',[_vm._v(\" Close \")])])],1),_c('v-stepper',{attrs:{\"vertical\":\"\",\"non-linear\":\"\"},model:{value:(_vm.dialogStep),callback:function ($$v) {_vm.dialogStep=$$v},expression:\"dialogStep\"}},[_c('v-stepper-step',{attrs:{\"editable\":\"\",\"step\":\"1\"}},[_vm._v(\" Input Triggers \")]),_c('v-stepper-content',{attrs:{\"step\":\"1\"}},[_c('v-row',{staticClass:\"ma-0\"},[_c('v-switch',{staticClass:\"mx-2\",attrs:{\"label\":\"Review Reaction Triggers after snooze\"},model:{value:(_vm.reactionReview),callback:function ($$v) {_vm.reactionReview=$$v},expression:\"reactionReview\"}})],1),_c('v-row',{staticClass:\"ma-0\"},[_c('v-select',{attrs:{\"persistent-hint\":\"\",\"label\":\"Select Triggers\",\"hint\":\"Triggers to cause Reaction\",\"data-test\":\"reaction-select-triggers\",\"items\":_vm.triggerItems},on:{\"change\":_vm.addTrigger},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nvar attrs = ref.attrs;\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g(_vm._b({attrs:{\"data-test\":(\"reaction-select-trigger-\" + (item.count))}},'v-list-item',attrs,false),on),[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(item.text)}})],1)],1)]}}]),model:{value:(_vm.deadSelect),callback:function ($$v) {_vm.deadSelect=$$v},expression:\"deadSelect\"}})],1),_c('div',{attrs:{\"data-test\":\"triggerList\"}},_vm._l((_vm.reactionTriggers),function(trigger,i){return _c('div',{key:trigger.name},[_c('v-card',{staticClass:\"mt-1 px-0\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('span',{domProps:{\"textContent\":_vm._s(trigger.name)}}),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":(\"reaction-create-remove-trigger-\" + i)},on:{\"click\":function($event){return _vm.removeTrigger(trigger)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-delete \")])]}}],null,true)},[_c('span',[_vm._v(\"Remove Trigger\")])])],1)],1)],1)}),0),_c('v-row',{staticClass:\"ma-0 pa-2\"},[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"data-test\":\"reaction-create-step-two-btn\",\"disabled\":!_vm.reactionTriggers},on:{\"click\":function($event){_vm.dialogStep = 2}}},[_vm._v(\" Continue \")])],1)],1),_c('v-stepper-step',{attrs:{\"editable\":\"\",\"step\":\"2\"}},[_vm._v(\" Input Actions \")]),_c('v-stepper-content',{attrs:{\"step\":\"2\"}},[_c('v-row',{staticClass:\"ma-0\"},[_c('v-radio-group',{staticClass:\"px-2\",attrs:{\"row\":\"\"},model:{value:(_vm.reactionActionKind),callback:function ($$v) {_vm.reactionActionKind=$$v},expression:\"reactionActionKind\"}},[_c('v-radio',{attrs:{\"label\":\"View\",\"value\":\"VIEW\",\"data-test\":\"reaction-action-option-view\"}}),_c('v-radio',{attrs:{\"label\":\"Command\",\"value\":\"COMMAND\",\"data-test\":\"reaction-action-option-command\"}}),_c('v-radio',{attrs:{\"label\":\"Script\",\"value\":\"SCRIPT\",\"data-test\":\"reaction-action-option-script\"}})],1)],1),(_vm.reactionActionKind === 'COMMAND')?_c('div',[_c('v-text-field',{attrs:{\"type\":\"text\",\"label\":\"Command Input\",\"placeholder\":\"INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0\",\"prefix\":\"cmd('\",\"suffix\":\"')\",\"hint\":\"Autonomic runs commands with cmd_no_hazardous_check\",\"data-test\":\"reaction-action-command\"},model:{value:(_vm.reactionCommand),callback:function ($$v) {_vm.reactionCommand=$$v},expression:\"reactionCommand\"}})],1):(_vm.reactionActionKind === 'SCRIPT')?_c('div',[_c('v-card-text',[_c('script-chooser',{on:{\"file\":_vm.scriptHandler}}),_c('environment-chooser',{on:{\"selected\":_vm.environmentHandler}})],1)],1):_c('div',{attrs:{\"data-test\":\"actionList\"}},_vm._l((_vm.reactionActions),function(action,index){return _c('div',{key:index},[_c('v-card',{staticClass:\"mt-1 px-0\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_c('v-icon',{staticClass:\"mr-3\"},[_vm._v(\" \"+_vm._s(action.type === 'command' ? 'mdi-code-braces' : 'mdi-file')+\" \")]),_c('span',[_vm._v(\" \"+_vm._s(action.value.length > 28 ? ((action.value.slice(0, 28)) + \"...\") : action.value)+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"data-test\":(\"reaction-action-remove-\" + index)},on:{\"click\":function($event){return _vm.removeAction(index)}}},'v-icon',attrs,false),on),[_vm._v(\" mdi-delete \")])]}}],null,true)},[_c('span',[_vm._v(\"Remove Action\")])])],1)],1)],1)}),0),_c('v-row',{staticClass:\"ma-0 pa-2\"},[_c('v-btn',{attrs:{\"data-test\":\"reaction-action-add-action-btn\",\"disabled\":_vm.disableAddAction},on:{\"click\":_vm.addAction}},[_vm._v(\" Add Action \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"data-test\":\"reaction-create-step-three-btn\",\"disabled\":!_vm.reactionActions},on:{\"click\":function($event){_vm.dialogStep = 3}}},[_vm._v(\" Continue \")])],1)],1),_c('v-stepper-step',{attrs:{\"editable\":\"\",\"step\":\"3\"}},[_vm._v(\" Snooze, Description, and Review \")]),_c('v-stepper-content',{attrs:{\"step\":\"3\"}},[_c('v-row',{staticClass:\"ma-0\"},[_c('v-text-field',{attrs:{\"data-test\":\"reaction-snooze-input\",\"label\":\"Reaction Snooze\",\"hint\":\"Snooze in Seconds\",\"type\":\"number\",\"hide-spin-buttons\":\"\"},model:{value:(_vm.reactionSnooze),callback:function ($$v) {_vm.reactionSnooze=$$v},expression:\"reactionSnooze\"}})],1),_c('v-row',{staticClass:\"ma-0\"},[_c('v-text-field',{attrs:{\"data-test\":\"reaction-description-input\",\"label\":\"Trigger Description\"},model:{value:(_vm.reactionDescription),callback:function ($$v) {_vm.reactionDescription=$$v},expression:\"reactionDescription\"}})],1),_c('v-row',{staticClass:\"ma-0\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.error),expression:\"error\"}],staticClass:\"ma-2 red--text\",domProps:{\"textContent\":_vm._s(_vm.error)}})]),_c('v-row',{staticClass:\"ma-2\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"outlined\":\"\",\"data-test\":\"reaction-create-cancel-btn\"},on:{\"click\":_vm.clearHandler}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"primary\",\"data-test\":\"reaction-create-submit-btn\",\"disabled\":!!_vm.error},on:{\"click\":function($event){$event.preventDefault();return _vm.submitHandler.apply(null, arguments)}}},[_vm._v(\" Ok \")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('span',[_vm._v(\" Select from Cosmos environment variables \")])]),_c('v-row',{staticClass:\"ma-0\"},[_c('v-select',{attrs:{\"persistent-hint\":\"\",\"return-object\":\"\",\"label\":\"Select Environment Options\",\"hint\":\"Inject Environment Variables\",\"items\":_vm.environmentItems},on:{\"change\":_vm.addEnvironmentItem},scopedSlots:_vm._u([{key:\"selection\",fn:function(){return [_c('div',[_c('span',[_vm._v(\" Select Environment Options \")])])]},proxy:true},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_c('span',{domProps:{\"textContent\":_vm._s(((item.key) + \"=\" + (item.value)))}})])]}}]),model:{value:(_vm.deadSelect),callback:function ($$v) {_vm.deadSelect=$$v},expression:\"deadSelect\"}})],1),_c('div',{staticClass:\"mt-2\"}),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('tbody',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Key\")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\"Value\")]),_c('th',{staticClass:\"text-right\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":\"new-metadata-icon\"},on:{\"click\":_vm.newEnvironment}},[_vm._v(\" mdi-plus \")])],1)]}}])},[_c('span',[_vm._v(\" Add Environment \")])])],1)]),_vm._l((_vm.selected),function(env,i){return [_c('tr',{key:(\"tr-\" + i)},[_c('td',[_c('v-text-field',{attrs:{\"dense\":\"\",\"type\":\"text\",\"readonly\":env.readonly,\"data-test\":(\"key-\" + i)},model:{value:(env.key),callback:function ($$v) {_vm.$set(env, \"key\", $$v)},expression:\"env.key\"}})],1),_c('td',[_c('v-text-field',{attrs:{\"dense\":\"\",\"type\":\"text\",\"readonly\":env.readonly,\"data-test\":(\"value-\" + i)},model:{value:(env.value),callback:function ($$v) {_vm.$set(env, \"value\", $$v)},expression:\"env.value\"}})],1),_c('td',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-icon',{attrs:{\"data-test\":(\"remove-env-icon-\" + i)},on:{\"click\":function($event){return _vm.rm(i)}}},[_vm._v(\" mdi-delete \")])],1)]}}],null,true)},[_c('span',[_vm._v(\" Delete Environment \")])])],1)])]})],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <span> Select from Cosmos environment variables </span>\n </v-row>\n <v-row class=\"ma-0\">\n <v-select\n v-model=\"deadSelect\"\n @change=\"addEnvironmentItem\"\n persistent-hint\n return-object\n label=\"Select Environment Options\"\n hint=\"Inject Environment Variables\"\n :items=\"environmentItems\"\n >\n <template v-slot:selection=\"\">\n <div>\n <span> Select Environment Options </span>\n </div>\n </template>\n <template v-slot:item=\"{ item }\">\n <div>\n <span v-text=\"`${item.key}=${item.value}`\" />\n </div>\n </template>\n </v-select>\n </v-row>\n <div class=\"mt-2\" />\n <v-simple-table dense>\n <tbody>\n <tr>\n <th class=\"text-left\">Key</th>\n <th class=\"text-left\">Value</th>\n <th class=\"text-right\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon data-test=\"new-metadata-icon\" @click=\"newEnvironment\">\n mdi-plus\n </v-icon>\n </div>\n </template>\n <span> Add Environment </span>\n </v-tooltip>\n </th>\n </tr>\n <template v-for=\"(env, i) in selected\">\n <tr :key=\"`tr-${i}`\">\n <td>\n <v-text-field\n v-model=\"env.key\"\n dense\n type=\"text\"\n :readonly=\"env.readonly\"\n :data-test=\"`key-${i}`\"\n />\n </td>\n <td>\n <v-text-field\n v-model=\"env.value\"\n dense\n type=\"text\"\n :readonly=\"env.readonly\"\n :data-test=\"`value-${i}`\"\n />\n </td>\n <td>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon :data-test=\"`remove-env-icon-${i}`\" @click=\"rm(i)\">\n mdi-delete\n </v-icon>\n </div>\n </template>\n <span> Delete Environment </span>\n </v-tooltip>\n </td>\n </tr>\n </template>\n </tbody>\n </v-simple-table>\n </div>\n</template>\n\n<script>\nimport Api from '../services/api'\n\nexport default {\n props: {\n value: {\n type: Array,\n required: true,\n },\n },\n data() {\n return {\n deadSelect: null,\n environmentOptions: [],\n }\n },\n mounted() {\n this.getEnvironment()\n },\n computed: {\n selected: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n environmentItems: function () {\n return this.environmentOptions.filter(\n (env) => !this.selected.find((s) => s.key === env.key)\n )\n },\n },\n methods: {\n getEnvironment: function () {\n Api.get('/cosmos-api/environment').then((response) => {\n this.environmentOptions = response.data\n })\n },\n addEnvironmentItem: function (event) {\n this.selected.push({\n key: event.key,\n value: event.value,\n readonly: true,\n })\n const envIndex = this.environmentOptions.findIndex(\n (env) => env.key === event.key && env.value === event.value\n )\n this.environmentOptions.splice(envIndex, envIndex >= 0 ? 1 : 0)\n this.deadSelect = null\n },\n newEnvironment: function () {\n this.selected.push({\n key: '',\n value: '',\n readonly: false,\n })\n },\n rm: function (index) {\n const env = this.selected.splice(index, 1)[0]\n if (env && env.readonly) {\n this.environmentOptions.push(env)\n }\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnvironmentChooser.vue?vue&type=template&id=48ad9972&\"\nimport script from \"./EnvironmentChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./EnvironmentChooser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('span',[_vm._v(\" Select Cosmos script \")])]),_c('v-row',{staticClass:\"my-2\"},[_c('v-autocomplete',{staticClass:\"mx-4\",attrs:{\"cache-items\":\"\",\"flat\":\"\",\"hide-no-data\":\"\",\"hide-details\":\"\",\"solo-inverted\":\"\",\"label\":\"Select a script\",\"loading\":_vm.loading,\"items\":_vm.items,\"search-input\":_vm.search},on:{\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-row no-gutters>\n <span> Select Cosmos script </span>\n </v-row>\n <v-row class=\"my-2\">\n <v-autocomplete\n v-model=\"selected\"\n cache-items\n flat\n hide-no-data\n hide-details\n solo-inverted\n class=\"mx-4\"\n label=\"Select a script\"\n :loading=\"loading\"\n :items=\"items\"\n :search-input.sync=\"search\"\n />\n </v-row>\n </div>\n</template>\n\n<script>\nimport Api from '../services/api'\n\nexport default {\n props: {\n value: String, // value is the default prop when using v-model\n },\n data() {\n return {\n loading: false,\n search: '',\n selected: this.value,\n scripts: [],\n items: [],\n }\n },\n created() {\n this.loading = true\n Api.get('/script-api/scripts')\n .then((response) => {\n this.scripts = response.data\n this.items = response.data\n })\n .catch((error) => {\n this.$emit('error', {\n type: 'error',\n text: `Failed to connect to Cosmos. ${error}`,\n error: error,\n })\n })\n this.selected = this.value ? this.value : null\n this.loading = false\n },\n watch: {\n selected(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('file', newVal)\n }\n },\n search(val) {\n val && val !== this.selected && this.querySelections(val)\n },\n },\n methods: {\n querySelections: function (v) {\n this.loading = true\n // Simulated ajax query\n setTimeout(() => {\n this.items = this.scripts.filter((e) => {\n return (e || '').toLowerCase().indexOf((v || '').toLowerCase()) > -1\n })\n this.loading = false\n }, 500)\n },\n },\n}\n</script>\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScriptChooser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScriptChooser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScriptChooser.vue?vue&type=template&id=637ddf18&\"\nimport script from \"./ScriptChooser.vue?vue&type=script&lang=js&\"\nexport * from \"./ScriptChooser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-dialog v-model=\"show\" width=\"600\">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Create New Reaction </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-icon\n data-test=\"reaction-create-close-icon\"\n @click=\"clearHandler\"\n >\n mdi-close-box\n </v-icon>\n </div>\n </template>\n <span> Close </span>\n </v-tooltip>\n </v-system-bar>\n\n <v-stepper v-model=\"dialogStep\" vertical non-linear>\n <v-stepper-step editable step=\"1\"> Input Triggers </v-stepper-step>\n <v-stepper-content step=\"1\">\n <v-row class=\"ma-0\">\n <v-switch\n v-model=\"reactionReview\"\n label=\"Review Reaction Triggers after snooze\"\n class=\"mx-2\"\n />\n </v-row>\n <v-row class=\"ma-0\">\n <v-select\n v-model=\"deadSelect\"\n persistent-hint\n label=\"Select Triggers\"\n hint=\"Triggers to cause Reaction\"\n data-test=\"reaction-select-triggers\"\n :items=\"triggerItems\"\n @change=\"addTrigger\"\n >\n <template v-slot:item=\"{ item, attrs, on }\">\n <v-list-item\n v-on=\"on\"\n v-bind=\"attrs\"\n :data-test=\"`reaction-select-trigger-${item.count}`\"\n >\n <v-list-item-content>\n <v-list-item-title v-text=\"item.text\" />\n </v-list-item-content>\n </v-list-item>\n </template>\n </v-select>\n </v-row>\n <div data-test=\"triggerList\">\n <div v-for=\"(trigger, i) in reactionTriggers\" :key=\"trigger.name\">\n <v-card outlined class=\"mt-1 px-0\">\n <v-card-title>\n <span v-text=\"trigger.name\" />\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n v-bind=\"attrs\"\n v-on=\"on\"\n :data-test=\"`reaction-create-remove-trigger-${i}`\"\n @click=\"removeTrigger(trigger)\"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Remove Trigger</span>\n </v-tooltip>\n </v-card-title>\n </v-card>\n </div>\n </div>\n <v-row class=\"ma-0 pa-2\">\n <v-spacer />\n <v-btn\n @click=\"dialogStep = 2\"\n color=\"success\"\n data-test=\"reaction-create-step-two-btn\"\n :disabled=\"!reactionTriggers\"\n >\n Continue\n </v-btn>\n </v-row>\n </v-stepper-content>\n\n <v-stepper-step editable step=\"2\"> Input Actions </v-stepper-step>\n <v-stepper-content step=\"2\">\n <v-row class=\"ma-0\">\n <v-radio-group v-model=\"reactionActionKind\" row class=\"px-2\">\n <v-radio\n label=\"View\"\n value=\"VIEW\"\n data-test=\"reaction-action-option-view\"\n />\n <v-radio\n label=\"Command\"\n value=\"COMMAND\"\n data-test=\"reaction-action-option-command\"\n />\n <v-radio\n label=\"Script\"\n value=\"SCRIPT\"\n data-test=\"reaction-action-option-script\"\n />\n </v-radio-group>\n </v-row>\n <div v-if=\"reactionActionKind === 'COMMAND'\">\n <v-text-field\n v-model=\"reactionCommand\"\n type=\"text\"\n label=\"Command Input\"\n placeholder=\"INST COLLECT with TYPE 0, DURATION 1, OPCODE 171, TEMP 0\"\n prefix=\"cmd('\"\n suffix=\"')\"\n hint=\"Autonomic runs commands with cmd_no_hazardous_check\"\n data-test=\"reaction-action-command\"\n />\n </div>\n <div v-else-if=\"reactionActionKind === 'SCRIPT'\">\n <v-card-text>\n <script-chooser @file=\"scriptHandler\" />\n <environment-chooser @selected=\"environmentHandler\" />\n </v-card-text>\n </div>\n <div v-else data-test=\"actionList\">\n <div v-for=\"(action, index) in reactionActions\" :key=\"index\">\n <v-card outlined class=\"mt-1 px-0\">\n <v-card-title>\n <v-icon class=\"mr-3\">\n {{\n action.type === 'command'\n ? 'mdi-code-braces'\n : 'mdi-file'\n }}\n </v-icon>\n <span>\n {{\n action.value.length > 28\n ? `${action.value.slice(0, 28)}...`\n : action.value\n }}\n </span>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <v-icon\n v-bind=\"attrs\"\n v-on=\"on\"\n :data-test=\"`reaction-action-remove-${index}`\"\n @click=\"removeAction(index)\"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Remove Action</span>\n </v-tooltip>\n </v-card-title>\n </v-card>\n </div>\n </div>\n <v-row class=\"ma-0 pa-2\">\n <v-btn\n data-test=\"reaction-action-add-action-btn\"\n :disabled=\"disableAddAction\"\n @click=\"addAction\"\n >\n Add Action\n </v-btn>\n <v-spacer />\n <v-btn\n @click=\"dialogStep = 3\"\n color=\"success\"\n data-test=\"reaction-create-step-three-btn\"\n :disabled=\"!reactionActions\"\n >\n Continue\n </v-btn>\n </v-row>\n </v-stepper-content>\n\n <v-stepper-step editable step=\"3\">\n Snooze, Description, and Review\n </v-stepper-step>\n <v-stepper-content step=\"3\">\n <v-row class=\"ma-0\">\n <v-text-field\n v-model=\"reactionSnooze\"\n data-test=\"reaction-snooze-input\"\n label=\"Reaction Snooze\"\n hint=\"Snooze in Seconds\"\n type=\"number\"\n hide-spin-buttons\n />\n </v-row>\n <v-row class=\"ma-0\">\n <v-text-field\n v-model=\"reactionDescription\"\n data-test=\"reaction-description-input\"\n label=\"Trigger Description\"\n />\n </v-row>\n <v-row class=\"ma-0\">\n <span class=\"ma-2 red--text\" v-show=\"error\" v-text=\"error\" />\n </v-row>\n <v-row class=\"ma-2\">\n <v-spacer />\n <v-btn\n @click=\"clearHandler\"\n outlined\n class=\"mr-4\"\n data-test=\"reaction-create-cancel-btn\"\n >\n Cancel\n </v-btn>\n <v-btn\n @click.prevent=\"submitHandler\"\n type=\"submit\"\n color=\"primary\"\n data-test=\"reaction-create-submit-btn\"\n :disabled=\"!!error\"\n >\n Ok\n </v-btn>\n </v-row>\n </v-stepper-content>\n </v-stepper>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport Api from '@cosmosc2/tool-common/src/services/api'\nimport { CosmosApi } from '@cosmosc2/tool-common/src/services/cosmos-api'\n\nimport EnvironmentChooser from '@cosmosc2/tool-common/src/components/EnvironmentChooser'\nimport ScriptChooser from '@cosmosc2/tool-common/src/components/ScriptChooser'\n\nexport default {\n components: {\n EnvironmentChooser,\n ScriptChooser,\n },\n props: {\n triggers: {\n type: Object,\n required: true,\n },\n value: Boolean, // value is the default prop when using v-model\n },\n data() {\n return {\n dialogStep: 1,\n rules: {\n required: (value) => !!value || 'Required',\n },\n deadSelect: -1,\n reactionActionKind: 'VIEW',\n reactionDescription: '',\n reactionSnooze: 300,\n reactionReview: true,\n reactionTriggers: [],\n reactionActions: [],\n reactionCommand: '',\n reactionScript: '',\n reactionEnvironments: [],\n }\n },\n created() {},\n watch: {\n // This is mainly used when a user resets the CreateDialog\n reactionActionKind: function (newVal, oldVal) {\n if (newVal !== oldVal) {\n this.reactionCommand = ''\n this.reactionScript = ''\n this.reactionEnvironments = []\n }\n },\n },\n computed: {\n error: function () {\n if (this.reactionSnooze === '') {\n return 'Reaction snooze can not be blank.'\n }\n if (this.reactionDescription === '') {\n return 'Reaction description can not be blank.'\n }\n return null\n },\n disableAddAction: function () {\n switch (this.reactionActionKind) {\n case 'COMMAND':\n return !this.reactionCommand\n case 'SCRIPT':\n return !this.reactionScript\n default:\n return true\n }\n },\n event: function () {\n return {\n description: this.reactionDescription,\n snooze: parseFloat(this.reactionSnooze),\n review: this.reactionReview,\n triggers: this.reactionTriggers,\n actions: this.reactionActions,\n }\n },\n triggerItems: function () {\n const reactionTriggers = this.reactionTriggers\n let count = 0\n return Object.entries(this.triggers).flatMap(([group, triggerArray]) =>\n triggerArray\n .filter((t) => {\n return !reactionTriggers.find(\n (tt) => tt.name === t.name && tt.group === t.group\n )\n })\n .map((t) => {\n return {\n text: `[${group}] ${t.name} (${t.description})`,\n value: { name: t.name, group },\n count: count++,\n }\n })\n )\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit('input', value) // input is the default event when using v-model\n },\n },\n },\n methods: {\n scriptHandler: function (event) {\n this.reactionScript = event ? event : null\n },\n environmentHandler: function (event) {\n this.reactionEnvironments = event ? event : null\n },\n resetHandler: function () {\n this.reactionActionKind = 'VIEW'\n this.reactionDescription = ''\n this.reactionSnooze = 300\n this.reactionReview = true\n this.reactionTriggers = []\n this.reactionActions = []\n this.dialogStep = 1\n },\n clearHandler: function () {\n this.show = !this.show\n this.reactionActionKind = 'VIEW'\n this.reactionDescription = ''\n this.reactionSnooze = 300\n this.reactionReview = true\n this.reactionTriggers = []\n this.reactionActions = []\n this.dialogStep = 1\n },\n submitHandler: function (event) {\n Api.post(`/cosmos-api/autonomic/reaction`, {\n data: this.event,\n }).then((response) => {})\n this.clearHandler()\n },\n operandChanged: function (event, operand) {\n // console.log(event)\n this[`${operand}Operand`] = event\n },\n addTrigger: function (event) {\n this.reactionTriggers.push(event)\n this.deadSelect = null\n },\n removeTrigger: function (trigger) {\n const triggerIndex = this.reactionTriggers.findIndex(\n (t) => t.name === trigger.name && t.group === trigger.group\n )\n this.reactionTriggers.splice(triggerIndex, triggerIndex >= 0 ? 1 : 0)\n this.deadSelect = null\n },\n addAction: function () {\n if (this.reactionCommand) {\n this.reactionActions.push({\n type: 'command',\n value: this.reactionCommand,\n })\n } else if (this.reactionScript) {\n this.reactionActions.push({\n type: 'script',\n value: this.reactionScript,\n environment: this.reactionEnvironments,\n })\n }\n this.reactionActionKind = 'VIEW'\n },\n removeAction: function (index) {\n this.reactionActions.splice(index, index >= 0 ? 1 : 0)\n },\n },\n}\n</script>\n\n<style scoped>\ninput[type='number'] {\n -moz-appearance: textfield;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n</style>\n","import mod from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateDialog.vue?vue&type=template&id=5c853506&scoped=true&\"\nimport script from \"./CreateDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CreateDialog.vue?vue&type=style&index=0&id=5c853506&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c853506\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('div',[_c('v-card-title',{class:_vm.reaction.snoozed_until ? 'selected-title' : 'available-title'},[_c('v-icon',{staticClass:\"pr-5\"},[_vm._v(\" \"+_vm._s(_vm.reaction.active ? 'mdi-power-plug' : 'mdi-power-plug-off')+\" \")]),_c('v-icon',{staticClass:\"pr-5\"},[_vm._v(\" \"+_vm._s(_vm.reaction.snoozed_until ? 'mdi-bell-sleep' : 'mdi-bell')+\" \")]),_c('span',{domProps:{\"textContent\":_vm._s(_vm.reaction.name)}})],1),_c('v-card-text',[_c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('tbody',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Description\")]),_c('td',{domProps:{\"textContent\":_vm._s(_vm.reaction.description)}})]),_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Active\")]),_c('td',{domProps:{\"textContent\":_vm._s(_vm.reaction.active)}})]),_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Review\")]),_c('td',{domProps:{\"textContent\":_vm._s(_vm.reaction.review)}})]),_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Snooze\")]),_c('td',{domProps:{\"textContent\":_vm._s(_vm.reaction.snooze)}})]),_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\"Snoozed Until\")]),_c('td',{domProps:{\"textContent\":_vm._s(_vm.snoozedZuluTime)}})]),_vm._l((_vm.reaction.triggers),function(trigger,i){return _c('tr',{key:i},[_c('th',{staticClass:\"text-left\",domProps:{\"textContent\":_vm._s((\"Trigger-\" + i))}}),_c('td',{domProps:{\"textContent\":_vm._s(((trigger.group) + \", \" + (trigger.name)))}})])}),_vm._l((_vm.reaction.actions),function(action,i){return _c('tr',{key:i},[_c('th',{staticClass:\"text-left\",domProps:{\"textContent\":_vm._s((\"Action-\" + i))}}),_c('td',{domProps:{\"textContent\":_vm._s(action.value)}})])})],2)])],1)],1),_c('v-card-actions',[(_vm.reaction.active)?_c('div',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":(\"reaction-deactivate-icon-\" + _vm.index)},on:{\"click\":_vm.deactivateHandler}},[_c('v-icon',[_vm._v(\" mdi-power-plug-off \")])],1)],1)]}}],null,false,3833898251)},[_c('span',[_vm._v(\" Deactivate \")])])],1):_c('div',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":(\"reaction-activate-icon-\" + _vm.index)},on:{\"click\":_vm.activateHandler}},[_c('v-icon',[_vm._v(\"mdi-power-plug\")])],1)],1)]}}])},[_c('span',[_vm._v(\" Activate \")])])],1),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',_vm._g(_vm._b({},'div',attrs,false),on),[_c('v-btn',{attrs:{\"icon\":\"\",\"data-test\":(\"reaction-delete-icon-\" + _vm.index)},on:{\"click\":_vm.deleteHandler}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)]}}])},[_c('span',[_vm._v(\" Delete \")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <v-card outlined>\n <div>\n <v-card-title\n :class=\"reaction.snoozed_until ? 'selected-title' : 'available-title'\"\n >\n <v-icon class=\"pr-5\">\n {{ reaction.active ? 'mdi-power-plug' : 'mdi-power-plug-off' }}\n </v-icon>\n <v-icon class=\"pr-5\">\n {{ reaction.snoozed_until ? 'mdi-bell-sleep' : 'mdi-bell' }}\n </v-icon>\n <span v-text=\"reaction.name\" />\n </v-card-title>\n <v-card-text>\n <v-simple-table dense>\n <tbody>\n <tr>\n <th class=\"text-left\">Description</th>\n <td v-text=\"reaction.description\" />\n </tr>\n <tr>\n <th class=\"text-left\">Active</th>\n <td v-text=\"reaction.active\" />\n </tr>\n <tr>\n <th class=\"text-left\">Review</th>\n <td v-text=\"reaction.review\" />\n </tr>\n <tr>\n <th class=\"text-left\">Snooze</th>\n <td v-text=\"reaction.snooze\" />\n </tr>\n <tr>\n <th class=\"text-left\">Snoozed Until</th>\n <td v-text=\"snoozedZuluTime\" />\n </tr>\n <tr v-for=\"(trigger, i) in reaction.triggers\" :key=\"i\">\n <th class=\"text-left\" v-text=\"`Trigger-${i}`\" />\n <td v-text=\"`${trigger.group}, ${trigger.name}`\" />\n </tr>\n <tr v-for=\"(action, i) in reaction.actions\" :key=\"i\">\n <th class=\"text-left\" v-text=\"`Action-${i}`\" />\n <td v-text=\"action.value\" />\n </tr>\n </tbody>\n </v-simple-table>\n </v-card-text>\n </div>\n\n <v-card-actions>\n <div v-if=\"reaction.active\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn\n icon\n :data-test=\"`reaction-deactivate-icon-${index}`\"\n @click=\"deactivateHandler\"\n >\n <v-icon> mdi-power-plug-off </v-icon>\n </v-btn>\n </div>\n </template>\n <span> Deactivate </span>\n </v-tooltip>\n </div>\n <div v-else>\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn\n icon\n :data-test=\"`reaction-activate-icon-${index}`\"\n @click=\"activateHandler\"\n >\n <v-icon>mdi-power-plug</v-icon>\n </v-btn>\n </div>\n </template>\n <span> Activate </span>\n </v-tooltip>\n </div>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn\n icon\n :data-test=\"`reaction-delete-icon-${index}`\"\n @click=\"deleteHandler\"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </div>\n </template>\n <span> Delete </span>\n </v-tooltip>\n </v-card-actions>\n </v-card>\n </div>\n</template>\n\n<script>\nimport Api from '@cosmosc2/tool-common/src/services/api'\n\nexport default {\n props: {\n reaction: {\n type: Object,\n required: true,\n },\n index: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {}\n },\n computed: {\n snoozedZuluTime: function () {\n if (!this.reaction.snoozed_until) {\n return ''\n }\n return new Date(this.reaction.snoozed_until * 1000).toISOString()\n },\n },\n methods: {\n activateHandler: function () {\n Api.post(\n `/cosmos-api/autonomic/reaction/${this.reaction.name}/activate`,\n {}\n ).then((response) => {\n this.$notify.normal({\n title: 'Activated Reaction',\n body: `reaction: ${this.reaction.name} has been activated.`,\n })\n })\n },\n deactivateHandler: function () {\n Api.post(\n `/cosmos-api/autonomic/reaction/${this.reaction.name}/deactivate`,\n {}\n ).then((response) => {\n this.$notify.normal({\n title: 'Deactivated Reaction',\n body: `reaction: ${this.reaction.name} has been deactivated.`,\n })\n })\n },\n deleteHandler: function () {\n Api.delete(`/cosmos-api/autonomic/reaction/${this.reaction.name}`).then(\n (response) => {\n this.$notify.normal({\n title: 'Reaction Deleted',\n body: `reaction: ${this.reaction.name} has been deleted.`,\n })\n }\n )\n },\n },\n}\n</script>\n\n<style scoped>\n.selected-title {\n background-color: var(--v-secondary-base);\n}\n.available-title {\n background-color: var(--v-primary-darken2);\n}\n</style>\n","import mod from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReactionCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReactionCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReactionCard.vue?vue&type=template&id=bcd17e08&scoped=true&\"\nimport script from \"./ReactionCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ReactionCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReactionCard.vue?vue&type=style&index=0&id=bcd17e08&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bcd17e08\",\n null\n \n)\n\nexport default component.exports","<!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n-->\n\n<template>\n <div>\n <!-- The top bar of the screen to have buttons and actions -->\n <v-card-title class=\"pb-0\">\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"reaction-download\" @click=\"download\">\n <v-icon> mdi-download </v-icon>\n </v-btn>\n </div>\n </template>\n <span> Download Reactions </span>\n </v-tooltip>\n <div class=\"mx-2\">Reactions</div>\n <v-spacer />\n <v-tooltip top>\n <template v-slot:activator=\"{ on, attrs }\">\n <div v-on=\"on\" v-bind=\"attrs\">\n <v-btn icon data-test=\"new-reaction\" @click=\"newReaction\">\n <v-icon>mdi-database-plus</v-icon>\n </v-btn>\n </div>\n </template>\n <span> New Reaction </span>\n </v-tooltip>\n </v-card-title>\n <v-card-title>\n <v-text-field\n v-model=\"search\"\n label=\"Search\"\n data-test=\"reaction-search\"\n dense\n outlined\n hide-details\n />\n </v-card-title>\n <!-- The main part of the screen to have lists and information -->\n <v-row class=\"pa-4\">\n <div v-for=\"(reaction, i) in reactions\" :key=\"reaction.name\">\n <v-col>\n <reaction-card :reaction=\"reaction\" :index=\"i\" />\n </v-col>\n </div>\n </v-row>\n <create-dialog v-model=\"showNewReactionDialog\" :triggers=\"triggers\" />\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\nimport Api from '@cosmosc2/tool-common/src/services/api'\nimport Cable from '@cosmosc2/tool-common/src/services/cable.js'\nimport EnvironmentDialog from '@cosmosc2/tool-common/src/components/EnvironmentDialog'\n\nimport CreateDialog from '@/tools/Autonomic/Tabs/Reactions/CreateDialog'\nimport ReactionCard from '@/tools/Autonomic/Tabs/Reactions/ReactionCard'\n\nexport default {\n components: {\n CreateDialog,\n ReactionCard,\n },\n data() {\n return {\n groups: [],\n triggers: {},\n reactions: [],\n cable: new Cable(),\n subscription: null,\n showNewReactionDialog: false,\n }\n },\n created: function () {\n this.subscribe()\n },\n mounted: function () {\n this.getGroups()\n this.getReactions()\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n computed: {\n eventReactionHandlerFunctions: function () {\n return {\n created: this.createdReactionFromEvent,\n updated: this.updatedReactionFromEvent,\n deleted: this.deletedReactionFromEvent,\n activated: this.updatedReactionFromEvent,\n deactivated: this.updatedReactionFromEvent,\n sleep: this.updatedReactionFromEvent,\n awaken: this.updatedReactionFromEvent,\n }\n },\n },\n watch: {\n groups: function () {\n this.getTriggers()\n },\n },\n methods: {\n getGroups: function () {\n Api.get('/cosmos-api/autonomic/group').then((response) => {\n this.groups = response.data\n })\n },\n getTriggers: function () {\n this.groups.forEach((group) => {\n const groupName = group.name\n Api.get(`/cosmos-api/autonomic/${groupName}/trigger`).then(\n (response) => {\n this.triggers = {\n ...this.triggers,\n [groupName]: response.data,\n }\n }\n )\n })\n },\n getReactions: function () {\n Api.get(`/cosmos-api/autonomic/reaction`).then((response) => {\n this.reactions = response.data\n })\n },\n newReaction: function () {\n this.showNewReactionDialog = true\n },\n download: function () {\n const output = JSON.stringify(this.reactions, null, 2)\n const blob = new Blob([output], {\n type: 'application/json',\n })\n // Make a link and then 'click' on it to start the download\n const link = document.createElement('a')\n link.href = URL.createObjectURL(blob)\n link.setAttribute(\n 'download',\n format(Date.now(), 'yyyy_MM_dd_HH_mm_ss') + '_autonomic_reactions.json'\n )\n link.click()\n },\n subscribe: function () {\n this.cable\n .createSubscription('AutonomicEventsChannel', localStorage.scope, {\n received: (data) => this.received(data),\n })\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data) {\n const parsed = JSON.parse(data)\n parsed.forEach((event) => {\n event.data = JSON.parse(event.data)\n switch (event.type) {\n case 'reaction':\n // console.log('DEBUG REACTION >>>', event)\n this.eventReactionHandlerFunctions[event.kind](event)\n break\n }\n })\n },\n createdReactionFromEvent: function (event) {\n this.reactions.push(event.data)\n },\n updatedReactionFromEvent: function (event) {\n const reactionIndex = this.reactions.findIndex(\n (reaction) => reaction.name === event.data.name\n )\n if (reactionIndex >= 0) {\n this.reactions[reactionIndex] = event.data\n }\n this.reactions = [...this.reactions]\n },\n removedReactionFromEvent: function (event) {\n const reactionIndex = this.reactions.findIndex(\n (reaction) => reaction.name === event.data.name\n )\n this.reactions.splice(reactionIndex, reactionIndex >= 0 ? 1 : 0)\n },\n },\n}\n</script>\n","import mod from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reaction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Reaction.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Reaction.vue?vue&type=template&id=9afb6dc4&\"\nimport script from \"./Reaction.vue?vue&type=script&lang=js&\"\nexport * from \"./Reaction.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"input[type=number][data-v-5c853506]{-moz-appearance:textfield}input[data-v-5c853506]::-webkit-inner-spin-button,input[data-v-5c853506]::-webkit-outer-spin-button{-webkit-appearance:none}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".selected-title[data-v-bcd17e08]{background-color:var(--v-secondary-base)}.available-title[data-v-bcd17e08]{background-color:var(--v-primary-darken2)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","'use strict';\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar bind = require('../internals/function-bind-context');\n\nvar TypeError = global.TypeError;\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[2]!../../../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[3]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./CreateDialog.vue?vue&type=style&index=0&id=5c853506&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"26748fb8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[1]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[2]!../../../../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12[0].rules[0].use[3]!../../../../../../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ReactionCard.vue?vue&type=style&index=0&id=bcd17e08&scoped=true&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e48949de\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","scopedSlots","_u","key","fn","ref","on","_g","_b","download","_v","newReaction","model","value","callback","$$v","search","expression","_l","reaction","i","name","triggers","showNewReactionDialog","staticRenderFns","show","$event","preventDefault","addEnvironment","apply","arguments","headers","environment","item","deleteEnvironment","keyValue","props","data","alert","alertType","showAlert","text","align","sortable","computed","get","set","mounted","methods","alertHandler","update","Api","then","catch","type","confirm","env","okText","cancelText","component","clearHandler","dialogStep","reactionReview","triggerItems","addTrigger","domProps","_s","deadSelect","trigger","removeTrigger","reactionTriggers","reactionActionKind","reactionCommand","scriptHandler","environmentHandler","action","index","length","slice","removeAction","disableAddAction","addAction","reactionActions","reactionSnooze","reactionDescription","directives","rawName","error","submitHandler","environmentItems","addEnvironmentItem","proxy","newEnvironment","readonly","$set","rm","required","environmentOptions","selected","getEnvironment","loading","items","scripts","created","watch","newVal","oldVal","val","querySelections","setTimeout","components","EnvironmentChooser","ScriptChooser","rules","reactionScript","reactionEnvironments","event","description","snooze","review","actions","group","triggerArray","filter","map","count","resetHandler","operandChanged","class","snoozed_until","active","snoozedZuluTime","deactivateHandler","activateHandler","deleteHandler","title","body","CreateDialog","ReactionCard","groups","reactions","cable","subscription","destroyed","eventReactionHandlerFunctions","updated","deleted","activated","deactivated","sleep","awaken","getGroups","getTriggers","groupName","response","getReactions","link","format","subscribe","createSubscription","localStorage","received","parsed","createdReactionFromEvent","updatedReactionFromEvent","removedReactionFromEvent","___CSS_LOADER_EXPORT___","push","module","id","global","isArray","lengthOfArrayLike","bind","TypeError","flattenIntoArray","target","original","source","sourceLen","start","depth","mapper","thisArg","element","elementLen","targetIndex","sourceIndex","mapFn","exports","$","aCallable","toObject","arraySpeciesCreate","proto","flatMap","callbackfn","A","O","undefined","addToUnscopables","$entries","stat","entries","content","__esModule","default","locals","add"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self["webpackChunk_cosmosc2_tool_autonomic"]=self["webpackChunk_cosmosc2_tool_autonomic"]||[]).push([[616],{7616:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return A}});var o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("top-bar",{attrs:{menus:t.menus,title:t.title}}),n("v-container",{attrs:{dense:""}},[n("v-card",[n("v-tabs",{attrs:{"fixed-tabs":""},model:{value:t.curTab,callback:function(e){t.curTab=e},expression:"curTab"}},t._l(t.tabs,(function(e,o){return n("v-tab",{key:o,attrs:{to:e.path}},[t._v(" "+t._s(e.displayName)+" ")])})),1),n("router-view")],1)],1)],1)},a=[],r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("mounting-portal",{attrs:{"mount-to":"#cosmos-menu",append:""}},[n("div",{staticClass:"v-toolbar__content"},[t._l(t.menus,(function(e,o){return n("v-menu",{key:o,attrs:{"offset-y":""},scopedSlots:t._u([{key:"activator",fn:function(o){var a=o.on,r=o.attrs;return[n("v-btn",t._g(t._b({staticClass:"mx-1",attrs:{outlined:"","data-test":t.formatDT(t.title+" "+e.label)}},"v-btn",r,!1),a),[n("span",{domProps:{textContent:t._s(e.label)}}),n("v-icon",{attrs:{right:""}},[t._v(" mdi-menu-down ")])],1)]}}],null,!0)},[n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:e.radioGroup,"hide-details":"",dense:""}},[t._l(e.items,(function(o,a){return[o.divider?n("v-divider",{key:a}):n("v-list-item",{key:a,attrs:{disabled:o.disabled,"data-test":t.formatDT(t.title+" "+e.label+" "+o.label)},on:{click:o.command}},[o.radio?n("v-list-item-action",[n("v-radio",{attrs:{color:"secondary",label:o.label,value:o.label}})],1):t._e(),o.checkbox?n("v-list-item-action",[n("v-checkbox",{attrs:{color:"secondary",label:o.label,value:o.label},model:{value:t.checked,callback:function(e){t.checked=e},expression:"checked"}})],1):t._e(),o.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:o.disabled},domProps:{textContent:t._s(o.icon)}})],1):t._e(),o.radio||o.checkbox?t._e():n("v-list-item-title",{style:"cursor: pointer;"+(o.disabled?"opacity: 0.2":""),domProps:{textContent:t._s(o.label)}})],1)]}))],2)],1)],1)})),n("v-spacer"),n("v-toolbar-title",{domProps:{textContent:t._s(t.title)}}),n("v-spacer")],2)])},i=[],s=(n(7950),n(5940),n(1639),{props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(t){return t.replaceAll(" ","-").toLowerCase()}}}),l=s,c=(n(7162),n(3287)),u=(0,c.Z)(l,r,i,!1,null,"e3bb7458",null),d=u.exports,m=n(6254);function p(){var t="/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Autonomic.vue",e="3024b6145c4421054ab442c63788e6682e3c6fb2",n=new Function("return this")(),o="__coverage__",a={path:"/cosmos/plugins/packages/cosmosc2-tool-autonomic/src/tools/Autonomic/Autonomic.vue",statementMap:{0:{start:{line:45,column:4},end:{line:49,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:44,column:2},end:{line:44,column:3}},loc:{start:{line:44,column:9},end:{line:50,column:3}},line:44}},branchMap:{},s:{0:0},f:{0:0},b:{},inputSourceMap:{version:3,sources:["Autonomic.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Autonomic.vue",sourceRoot:"src/tools/Autonomic",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# This program may also be used under the terms of a commercial or\n# enterprise edition license of COSMOS if purchased from the\n# copyright holder\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-container dense>\n <v-card>\n <v-tabs v-model="curTab" fixed-tabs>\n <v-tab v-for="(tab, index) in tabs" :key="index" :to="tab.path">\n {{ tab.displayName }}\n </v-tab>\n </v-tabs>\n <router-view />\n </v-card>\n </v-container>\n </div>\n</template>\n\n<script>\nimport TopBar from \'@cosmosc2/tool-common/src/components/TopBar\'\nimport { TabsList } from \'@/tools/Autonomic/Tabs\'\n\nexport default {\n components: {\n TopBar,\n },\n data() {\n return {\n title: \'Autonomic (BETA)\',\n curTab: null,\n tabs: TabsList,\n }\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3024b6145c4421054ab442c63788e6682e3c6fb2"},r=n[o]||(n[o]={});r[t]&&r[t].hash===e||(r[t]=a);var i=r[t];return p=function(){return i},i}p();var b={components:{TopBar:d},data:function(){return p().f[0]++,p().s[0]++,{title:"Autonomic (BETA)",curTab:null,tabs:m.d}}},v=b,f=(0,c.Z)(v,o,a,!1,null,null,null),A=f.exports},3938:function(t,e,n){"use strict";n.r(e);var o=n(3467),a=n.n(o),r=n(8715),i=n.n(r),s=i()(a());s.push([t.id,".v-list[data-v-e3bb7458] .v-label{margin-left:5px}.v-list-item__icon[data-v-e3bb7458]{margin-right:15px!important}.v-list-item__title[data-v-e3bb7458]{color:#fff}",""]),e["default"]=s},1639:function(t,e,n){"use strict";var o=n(3103),a=n(9859),r=n(266),i=n(5968),s=n(8885),l=n(6733),c=n(8311),u=n(3326),d=n(5300),m=n(3349),p=n(17),b=n(95),v=n(4231),f=b("replace"),A=a.TypeError,h=i("".indexOf),_=i("".replace),g=i("".slice),C=Math.max,T=function(t,e,n){return n>t.length?-1:""===e?n:h(t,e,n)};o({target:"String",proto:!0},{replaceAll:function(t,e){var n,o,a,i,b,x,y,k,w,S=s(this),E=0,M=0,R="";if(null!=t){if(n=c(t),n&&(o=u(s(m(t))),!~h(o,"g")))throw A("`.replaceAll` does not allow non-global regexes");if(a=d(t,f),a)return r(a,t,S,e);if(v&&n)return _(u(S),t,e)}i=u(S),b=u(t),x=l(e),x||(e=u(e)),y=b.length,k=C(1,y),E=T(i,b,0);while(-1!==E)w=x?u(e(b,E,i)):p(b,i,E,[],void 0,e),R+=g(i,M,E)+w,M=E+y,E=T(i,b,E+k);return M<i.length&&(R+=g(i,M)),R}})},7162:function(t,e,n){var o=n(3938);o.__esModule&&(o=o.default),"string"===typeof o&&(o=[[t.id,o,""]]),o.locals&&(t.exports=o.locals);var a=n(3514).Z;a("a2f2c426",o,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
- //# sourceMappingURL=616.js.map