(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2095c2f3"],{"12b7":function(e,t,n){},2870:function(e,t,n){},"2b0b":function(e,t,n){"use strict";var s=n("12b7"),a=n.n(s);a.a},a495:function(e,t,n){"use strict";var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"stretch-height",attrs:{id:"stretch-height"},on:{mousedown:e.handleMousedown}},[n("i",{staticClass:"el-icon-more"})])},a=[],i=(n("c5f6"),{name:"StretchHeight",model:{prop:"value",event:"change"},props:{value:{required:!0,type:Number}},data:function(){return{}},created:function(){document.onmouseup=function(){document.onmousemove=null}},methods:{handleMousedown:function(e){var t=this,n=e.y;document.onmousemove=function(e){var s=e.y,a=s-n;n=e.y,t.$emit("change",t.value+a)}}}}),r=i,c=(n("2b0b"),n("2877")),o=Object(c["a"])(r,s,a,!1,null,null,null);t["a"]=o.exports},b395:function(e,t,n){"use strict";var s=n("2870"),a=n.n(s);a.a},e94e:function(e,t,n){"use strict";n.r(t);var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"rule-create"},[n("page-header",[n("div",{staticClass:"page-header-title-view"},[n("div",{staticClass:"title"},[e._v(e._s(e.$t("RuleEngine.createRules")))])]),n("div",{staticClass:"page-header-content-view"},[n("div",{staticClass:"content"},[n("p",{staticClass:"description"},[e._v("\n "+e._s(e.$t("RuleEngine.definingRuleConditionsAndDataProcessing"))+"\n ")])])])]),n("div",{staticClass:"emq-list-body rule-wrapper app-wrapper"},[n("a-card",{staticClass:"emq-list-card"},[n("el-row",{attrs:{gutter:20}},[n("el-col",{attrs:{span:15}},[n("el-form",{ref:"record",attrs:{model:e.record,rules:e.rules,"label-width":"120px","label-position":"left",size:"small","label-suffix":":"}},[n("el-form-item",{staticClass:"code-editor__item",attrs:{prop:"rawsql",label:e.$t("RuleEngine.sqlInput")}},[n("div",{staticClass:"monaco-container monaco-sql",style:{height:e.sqlEditorHeight+"px"}},[n("monaco",{staticClass:"sql",attrs:{id:"rule-sql",warp:"",lang:"sql",provider:e.sqlProvider},on:{"qucik-save":e.handleSQLTest},model:{value:e.record.rawsql,callback:function(t){e.$set(e.record,"rawsql",t)},expression:"record.rawsql"}})],1),n("stretch-height",{model:{value:e.sqlEditorHeight,callback:function(t){e.sqlEditorHeight=t},expression:"sqlEditorHeight"}})],1),n("el-form-item",{attrs:{prop:"id",label:e.$t("RuleEngine.ruleID")}},[n("el-input",{attrs:{disabled:e.isEdit},model:{value:e.record.id,callback:function(t){e.$set(e.record,"id",t)},expression:"record.id"}})],1),n("el-form-item",{attrs:{prop:"description",label:e.$t("RuleEngine.resourceDes")}},[n("el-input",{model:{value:e.record.description,callback:function(t){e.$set(e.record,"description",t)},expression:"record.description"}})],1),n("el-form-item",{attrs:{label:e.$t("RuleEngine.sqlTest")}},[n("el-switch",{on:{change:e.initTestFormItem},model:{value:e.showTest,callback:function(t){e.showTest=t},expression:"showTest"}}),n("el-popover",{attrs:{width:"220",placement:"right",trigger:"hover"}},[e._v("\n "+e._s(e.$t("RuleEngine.inputMetadata"))+"\n "),n("i",{staticClass:"icon el-icon-question",attrs:{slot:"reference"},slot:"reference"})])],1),n("el-collapse-transition",[e.showTest?n("div",[e._l(Object.keys(e.selectEvent.test_columns),function(t){return n("el-form-item",e._b({key:t,class:{"code-sql":"payload"===t,payload:"payload"===t}},"el-form-item",{label:t,prop:"ctx."+t},!1),["payload"!==t?n("el-input",{model:{value:e.record.ctx[t],callback:function(n){e.$set(e.record.ctx,t,n)},expression:"record.ctx[k]"}}):[n("div",{staticClass:"monaco-container monaco-payload",style:{height:e.payloadEditorHeight+"px"}},[n("monaco",{staticClass:"payload",attrs:{id:"payload",lang:e.payloadType},on:{"qucik-save":e.handleSQLTest},model:{value:e.record.ctx.payload,callback:function(t){e.$set(e.record.ctx,"payload",t)},expression:"record.ctx.payload"}})],1),n("div",{staticClass:"payload-type"},[n("el-radio-group",{model:{value:e.payloadType,callback:function(t){e.payloadType=t},expression:"payloadType"}},[n("el-radio",{attrs:{label:"json"}},[e._v("JSON")]),n("el-radio",{attrs:{label:"plaintext"}},[e._v("Plaintext")])],1)],1),n("stretch-height",{staticClass:"payload",model:{value:e.payloadEditorHeight,callback:function(t){e.payloadEditorHeight=t},expression:"payloadEditorHeight"}})]],2)}),n("el-form-item",[n("span",{attrs:{slot:"label"},slot:"label"},[e._v(" ")]),n("el-button",{attrs:{type:"primary"},on:{click:e.handleSQLTest}},[e._v("\n "+e._s(e.$t("RuleEngine.sqlTest"))+"\n ")])],1),n("el-form-item",{staticClass:"code-editor__item",attrs:{label:e.$t("RuleEngine.testOutput")}},[n("div",{staticClass:"monaco-container monaco-test-output",staticStyle:{height:"200px"}},[n("monaco",{staticClass:"test-output",attrs:{id:"testOutput",lang:"json",disabled:!0},model:{value:e.testOutPut,callback:function(t){e.testOutPut=t},expression:"testOutPut"}})],1)])],2):e._e()])],1)],1),n("el-col",{staticClass:"tips-form",attrs:{span:9}},[n("div",{staticClass:"tips-item"},[n("div",{staticStyle:{color:"#606266"}},[e._v("\n "+e._s(e.$t("RuleEngine.currentEventAvailableField"))+"\n "),n("transition",{attrs:{name:"el-fade-in-linear"}},[e.clipboardStatus?n("span",{staticClass:"copy-success"},[e._v(e._s(e.clipboardStatus))]):e._e()])],1),n("div",{staticClass:"tips-wrapper code"},e._l(e.availableFields,function(t){return n("span",{directives:[{name:"clipboard",rawName:"v-clipboard:cpoy",value:t,expression:"key",arg:"cpoy"},{name:"clipboard",rawName:"v-clipboard:success",value:e.copyAvailableFieldsSuccess,expression:"copyAvailableFieldsSuccess",arg:"success"}],key:t,staticClass:"available-fields"},[e._v("\n "+e._s(t)+"\n ")])}),0)]),n("div",{staticClass:"tips-item"},[n("div",{staticStyle:{color:"#606266"}},[e._v(e._s(e.$t("RuleEngine.exampleSql")))]),n("div",{staticClass:"tips-wrapper code"},[n("code",[e._v(e._s(e.selectEvent.sql_example))])])])])],1)],1),n("a-card",{staticClass:"emq-list-card"},[n("div",{staticClass:"emq-title"},[n("div",{staticClass:"title required-title"},[e._v("\n "+e._s(e.$t("RuleEngine.responseAction"))+"\n ")]),n("span",{staticClass:"sub-title"},[e._v("\n "+e._s(e.$t("RuleEngine.processingMessagesForHitRules"))+"\n ")])]),n("div",{staticClass:"rule-action-wrapper"},[n("rule-actions",{ref:"ruleAction",model:{value:e.record.actions,callback:function(t){e.$set(e.record,"actions",t)},expression:"record.actions"}})],1)]),n("div",{staticClass:"button-group__center"},[n("el-button",{attrs:{type:"default",size:"medium"},on:{click:function(t){return e.$router.push({path:"/rules"})}}},[e._v("\n "+e._s(e.$t("Base.cancel"))+"\n ")]),n("el-button",{attrs:{type:"primary",size:"medium"},on:{click:e.save}},[e._v("\n "+e._s(e.isEdit?e.$t("Base.confirm"):e.$t("Base.create"))+"\n ")])],1)],1)],1)},a=[],i=n("7618"),r=(n("4917"),n("3b2b"),n("28a5"),n("768b")),c=(n("7514"),n("96cf"),n("3b8d")),o=(n("ac6a"),n("456d"),n("6b54"),n("bd43")),l=n("1f75");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{_limit:500,_page:1};return l["a"].get("/routes",e)}var d=n("90b9"),p=n("9146"),m=n("a495"),h=n("ad43"),v=n("12cb"),g=n("a47b"),f=g["a"].state.lang,b=v["default"][f],y=[{name:"clientid",documentation:b.RuleEngine.clientid_doc,type:"Field",default:"c_emqx",valueType:"string"},{name:"username",documentation:b.RuleEngine.username_doc,type:"Field",default:"u_emqx",valueType:"string"},{name:"event",documentation:b.RuleEngine.event_doc,type:"Field",default:"disconnect",valueType:"string"},{name:"id",documentation:b.RuleEngine.id_doc,type:"Field",default:"--",valueType:"string"},{name:"payload",documentation:b.RuleEngine.payload_doc,type:"Field",default:'{"msg": "hello"}',valueType:"string"},{name:"peername",documentation:b.RuleEngine.peername_doc,type:"Field",default:"127.0.0.1:63412",valueType:"string"},{name:"qos",documentation:b.RuleEngine.qos_doc,type:"Field",default:1,valueType:"integer"},{name:"timestamp",documentation:b.RuleEngine.timestamp_doc,type:"Field",default:1576549961086,valueType:"integer"},{name:"topic",documentation:b.RuleEngine.topic_doc,type:"Field",default:"t/a",valueType:"string"},{name:"node",documentation:b.RuleEngine.node_doc,type:"Field",default:"emqx@127.0.0.1",valueType:"string"},{name:'"$events/message_delivered"',documentation:b.RuleEngine.message_delivered,type:"Method"},{name:'"$events/message_acked"',documentation:b.RuleEngine.message_acked,type:"Method"},{name:'"$events/message_dropped"',documentation:b.RuleEngine.message_dropped,type:"Method"},{name:'"$events/client_connected"',documentation:b.RuleEngine.client_connected,type:"Method"},{name:'"$events/client_disconnected"',documentation:b.RuleEngine.client_disconnected,type:"Method"},{name:'"$events/session_subscribed"',documentation:b.RuleEngine.session_subscribed,type:"Method"},{name:'"$events/session_unsubscribed"',documentation:b.RuleEngine.session_unsubscribed,type:"Method"}],_={name:"RuleCrate",components:{RuleActions:h["a"],Monaco:p["a"],StretchHeight:m["a"]},props:{},data:function(){return{loadRuleEvents:o["m"],isEdit:!1,needCheckSql:!0,sqlEditorHeight:320,payloadEditorHeight:200,payloadType:"json",topics:[],events:[],testOutPut:"",selectEvent:{columns:["clientid","username","event","id","payload","peername","qos","timestamp","topic","node"],description:"$events/message_publish",event:"$events/message_publish",sql_example:'SELECT * FROM "t/#"',test_columns:{clientid:"c_emqx",username:"u_emqx",topic:"t/a",qos:1,payload:'{"msg": "hello"}'},title:"$events/message_publish"},timer:0,showTest:!1,clipboardContent:"",clipboardStatus:"",record:{rawsql:"SELECT * FROM",actions:[],description:"",ctx:{},id:"rule:".concat(Math.random().toString().slice(3,9))},rules:{rawsql:{required:!0,message:this.$t("RuleEngine.pleaseEnterTheSQL")},id:{required:!0,validator:d["q"]}}}},computed:{availableFields:function(){return this.selectEvent.columns},testField:function(){return Object.keys(this.selectEvent.test_columns)},sqlProvider:function(){return y},currentRule:function(){return this.$route.query.rule}},watch:{"record.rawsql":"handleSqlChanged"},created:function(){var e=Object(c["a"])(regeneratorRuntime.mark(function e(){var t;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(o["m"])();case 2:return this.events=e.sent,this.selectEvent=this.events[0],e.next=6,u();case 6:t=e.sent,this.topics=t.items||[],this.currentRule?(this.isEdit=!0,this.loadRule()):this.initData("$events/message_publish");case 9:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}(),methods:{initData:function(e){this.selectEvent=this.events.find(function(t){return t.event===e});var t=this.selectEvent.sql_example;this.record.rawsql=Object(d["o"])(t),this.initTestFormItem();var n=this.$refs.ruleAction;n&&n.initData()},handleSqlChanged:function(e){if(this.triggerEventChange(e),this.needCheckSql){var t=Object(d["n"])(e);t&&this.sqlParse(e,t[0])}},sqlParse:function(e,t){var n=this;this.$confirm(this.$t("RuleEngine.parse_confirm"),this.$t("Base.warning"),{confirmButtonText:this.$t("Base.confirm"),cancelButtonText:this.$t("Base.cancel"),type:"warning"}).then(function(){n.record.rawsql=Object(d["o"])(Object(d["m"])(e,t))}).catch(function(){n.needCheckSql=!1})},triggerEventChange:function(e){var t=["events/message_delivered","events/message_acked","events/message_dropped","events/client_connected","events/client_disconnected","events/session_subscribed","events/session_unsubscribed"],n=null,s="";t.forEach(function(t){var s=t.split("/"),a=Object(r["a"])(s,2),i=a[0],c=a[1],o=new RegExp("\\$".concat(i,"\\/").concat(c),"gim");e.match(o)&&(n=e.match(o))}),s=n?n[0]:"$events/message_publish",s!==this.selectEvent.event&&(this.selectEvent=this.events.find(function(e){return e.event===s})||{columns:{},test_columns:{}},this.sqlPrimaryKey=this.events.columns,this.initTestFormItem())},initTestFormItem:function(){this.testOutPut="";var e={},t=this.selectEvent.test_columns;Object.keys(t).forEach(function(n){var s=t[n];"object"===Object(i["a"])(s)&&(s=JSON.stringify(s,null,2)),e[n]=s}),this.$set(this.record,"ctx",e)},beforeSqlValid:function(e){var t=Object(d["n"])(e);return!t||(this.sqlParse(e,t[0]),!1)},handleSQLTest:function(){var e=this;this.needCheckSql=!0,this.$refs.record.validate(function(){var t=Object(c["a"])(regeneratorRuntime.mark(function t(n){var s;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n){t.next=6;break}if(!e.showTest||e.record.id){t.next=5;break}e.$refs.record.clearValidate("id"),t.next=6;break;case 5:return t.abrupt("return");case 6:if(e.beforeSqlValid(e.record.rawsql)){t.next=8;break}return t.abrupt("return");case 8:if(s=JSON.parse(JSON.stringify(e.record)),e.testOutPut="",s.ctx.payload)try{s.ctx.payload=JSON.stringify(JSON.parse(s.ctx.payload))}catch(a){console.log(a)}Object(o["a"])(s).then(function(t){e.testOutPut=JSON.stringify(t,null,2)}).catch(function(t){e.testOutPut="SQL Not Match"===t?e.$t("RuleEngine.resultIsEmpty"):"".concat(e.$t("RuleEngine.checkForErrors"),":\n\n").concat(t)});case 12:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},copyAvailableFieldsSuccess:function(){var e=this;this.clipboardStatus=this.$t("Base.copied"),setTimeout(function(){e.clipboardStatus=""},2e3)},save:function(){var e=Object(c["a"])(regeneratorRuntime.mark(function e(){var t,n,s,a,i,r,c,l=this;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.$refs.record.validate();case 2:if(t=e.sent,t){e.next=5;break}return e.abrupt("return");case 5:if(0!==this.record.actions.length){e.next=8;break}return this.$message.error(this.$t("RuleEngine.pleaseAddAResponseAction")),e.abrupt("return");case 8:n=this.record,s=n.rawsql,a=n.actions,i=n.description,r=n.id,c={rawsql:s,actions:a,description:i,id:r},this.isEdit&&this.currentRule?Object(o["p"])(this.currentRule,c).then(function(){l.$message.success(l.$t("RuleEngine.editSuccess")),setTimeout(function(){l.$router.push({path:"/rules"})},600)}):Object(o["c"])(c).then(function(){l.$message.success(l.$t("RuleEngine.createSuccess")),setTimeout(function(){l.$router.push({path:"/rules"})},600)});case 11:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}(),loadRule:function(){var e=Object(c["a"])(regeneratorRuntime.mark(function e(){var t,n=this;return regeneratorRuntime.wrap(function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(o["l"])(this.currentRule);case 2:t=e.sent,this.record=t,setTimeout(function(){n.$refs.ruleAction.loadActions()},500);case 5:case"end":return e.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}},E=_,q=(n("b395"),n("2877")),$=Object(q["a"])(E,s,a,!1,null,null,null);t["default"]=$.exports}}]);