{"version":3,"sources":["webpack:///./src/components/script/ScriptEdit.vue?82b8","webpack:///./src/components/script/ScriptEdit.vue","webpack:///src/components/script/ScriptEdit.vue","webpack:///./src/components/script/ScriptEdit.vue?cc03","webpack:///./src/components/script/ScriptEdit.vue?4d0b"],"names":["staticClass","attrs","model","callback","value","_vm","expression","type","interval","loading","$t","reqRule","deveui","tagKey","cmOptions","content","_c","key","dialog","search","tags","on","scopedSlots","_u","i","proxy","_v","staticRenderFns","render","name","data","_this","submitted","valid","loaded","enabled","tagKeys","expandedKeys","i18n","t","scriptId","typeItems","headers","text","nameRules","v","length","intervalRules","tabSize","mode","theme","lineNumbers","line","computed","_objectSpread","mapState","tagStatus","tagDataStatus","companyUsers","companyStatus","errorMessage","validScript","currentScript","methods","mapActions","handleSubmit","e","_this2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","payload","wrap","_context","prev","next","tagDeveui","test","$refs","form","validate","window","scrollTo","abrupt","edit","$router","push","stop","removeScript","_this3","_callee2","_context2","delete","getKeysForExpanded","param","_this4","_callee3","_context3","getKeysForTagAsync","tagId","item","sent","created","_this5","_callee4","_context4","$route","params","id","getTags","getScript","resetValidScript","codeMirror","codemirror","setSize","components","ExampleScripts","watch","val","_this6","_callee5","_context5","component"],"mappings":"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","file":"js/chunk-fa6ec2cc.2538a1d5.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScriptEdit.vue?vue&type=style&index=0&id=4db8b299&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":false},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"flat\":\"\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"script.edit\")))]),_c('v-spacer'),_c('v-switch',{staticClass:\"white--text pt-6\",attrs:{\"label\":_vm.$t('script.fields.enabled')},model:{value:(_vm.enabled),callback:function ($$v) {_vm.enabled=$$v},expression:\"enabled\"}})],1),_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":_vm.$t('script.fields.name'),\"name\":\"name\",\"prepend-icon\":\"mdi-domain\",\"type\":\"text\",\"rules\":_vm.nameRules},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-card-text',[_c('v-select',{attrs:{\"items\":_vm.typeItems,\"label\":_vm.$t('script.fields.type'),\"prepend-icon\":\"mdi-numeric\",\"item-text\":\"name\",\"item-value\":\"value\"},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}})],1),(_vm.type == 0)?_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":_vm.$t('script.fields.interval'),\"name\":\"interval\",\"prepend-icon\":\"mdi-refresh\",\"type\":\"text\",\"rules\":_vm.intervalRules},model:{value:(_vm.interval),callback:function ($$v) {_vm.interval=$$v},expression:\"interval\"}})],1):_vm._e(),(_vm.type == 2)?_c('div',[_c('v-card-text',[_c('v-select',{attrs:{\"items\":_vm.tags,\"loading\":_vm.tagStatus.loading,\"label\":_vm.$t('alarm.fields.tag'),\"prepend-icon\":\"mdi-cellphone-link\",\"item-text\":\"name\",\"item-value\":\"deveui\",\"rules\":_vm.reqRule},model:{value:(_vm.deveui),callback:function ($$v) {_vm.deveui=$$v},expression:\"deveui\"}})],1),_c('v-card-text',[_c('v-autocomplete',{attrs:{\"disabled\":_vm.deveui == null,\"loading\":_vm.tagDataStatus.loading,\"label\":_vm.$t('alarm.fields.tagDataKey'),\"items\":_vm.tagKeys,\"rules\":_vm.reqRule,\"item-text\":\"key\",\"item-value\":\"key\",\"prepend-icon\":\"mdi-key\"},model:{value:(_vm.tagKey),callback:function ($$v) {_vm.tagKey=$$v},expression:\"tagKey\"}})],1)],1):_vm._e(),_c('v-card-text',[(!_vm.validScript)?_c('v-alert',{attrs:{\"type\":\"error\"}},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),_c('codemirror',{ref:\"codeMirror\",attrs:{\"options\":_vm.cmOptions},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}})],1),_c('v-card-text',[_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"color\":\"primary\",\"dark\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.$t(\"script.helpTitle\"))+\" \")])]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('ExampleScripts',{on:{\"dialog-toggle\":function($event){_vm.dialog = !_vm.dialog}}})],1)],1),_c('v-card-text',{staticClass:\"md-0 pa-0\"},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm.$t(\"script.tagsTitle\")))])],1),_c('v-text-field',{staticClass:\"mx-2\",attrs:{\"label\":_vm.$t('common.search')},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"items-per-page\":5,\"items\":_vm.tags,\"item-key\":\"deveui\",\"headers\":_vm.headers,\"single-expand\":true,\"show-expand\":\"\",\"search\":_vm.search},on:{\"item-expanded\":_vm.getKeysForExpanded},scopedSlots:_vm._u([{key:\"expanded-item\",fn:function(){return [_c('td',{attrs:{\"colspan\":2}},[_c('v-list',_vm._l((_vm.expandedKeys),function(item,i){return _c('v-list-item',{key:i},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\" mdi-circle-small \")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.key))])],1)],1)}),1)],1)]},proxy:true}])})],1),_c('v-card-actions',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\",\"md\":\"8\",\"lg\":\"8\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"x-large\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.save\"))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\",\"md\":\"4\",\"lg\":\"4\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"error\",\"type\":\"button\",\"x-large\":\"\"},on:{\"click\":_vm.removeScript}},[_vm._v(_vm._s(_vm.$t(\"common.delete\")))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <v-form\n :lazy-validation=\"false\"\n @submit.prevent=\"handleSubmit\"\n v-model=\"valid\"\n ref=\"form\"\n >\n <v-card>\n <v-toolbar color=\"primary\" dark flat>\n <v-toolbar-title>{{ $t(\"script.edit\") }}</v-toolbar-title>\n <v-spacer></v-spacer>\n <v-switch\n class=\"white--text pt-6\"\n v-model=\"enabled\"\n :label=\"$t('script.fields.enabled')\"\n ></v-switch>\n </v-toolbar>\n\n <v-card-text>\n <v-text-field\n :label=\"$t('script.fields.name')\"\n name=\"name\"\n prepend-icon=\"mdi-domain\"\n type=\"text\"\n v-model=\"name\"\n :rules=\"nameRules\"\n ></v-text-field>\n </v-card-text>\n\n <v-card-text>\n <v-select\n v-model=\"type\"\n :items=\"typeItems\"\n :label=\"$t('script.fields.type')\"\n prepend-icon=\"mdi-numeric\"\n item-text=\"name\"\n item-value=\"value\"\n ></v-select>\n </v-card-text>\n\n <v-card-text v-if=\"type == 0\">\n <v-text-field\n :label=\"$t('script.fields.interval')\"\n name=\"interval\"\n prepend-icon=\"mdi-refresh\"\n type=\"text\"\n v-model=\"interval\"\n :rules=\"intervalRules\"\n ></v-text-field>\n </v-card-text>\n\n <div v-if=\"type == 2\">\n <v-card-text>\n <v-select\n v-model=\"deveui\"\n :items=\"tags\"\n :loading=\"tagStatus.loading\"\n :label=\"$t('alarm.fields.tag')\"\n prepend-icon=\"mdi-cellphone-link\"\n item-text=\"name\"\n item-value=\"deveui\"\n :rules=\"reqRule\"\n ></v-select>\n </v-card-text>\n\n <v-card-text>\n <v-autocomplete\n :disabled=\"deveui == null\"\n :loading=\"tagDataStatus.loading\"\n :label=\"$t('alarm.fields.tagDataKey')\"\n v-model=\"tagKey\"\n :items=\"tagKeys\"\n :rules=\"reqRule\"\n item-text=\"key\"\n item-value=\"key\"\n prepend-icon=\"mdi-key\"\n ></v-autocomplete>\n </v-card-text>\n </div>\n\n <v-card-text>\n <v-alert type=\"error\" v-if=\"!validScript\">{{ errorMessage }}</v-alert>\n <codemirror ref=\"codeMirror\" v-model=\"content\" :options=\"cmOptions\">\n </codemirror>\n </v-card-text>\n\n <v-card-text>\n <v-dialog\n v-model=\"dialog\"\n fullscreen\n hide-overlay\n transition=\"dialog-bottom-transition\"\n >\n <template v-slot:activator=\"{ on }\">\n <v-btn color=\"primary\" dark v-on=\"on\">\n {{ $t(\"script.helpTitle\") }}\n </v-btn>\n </template>\n\n <ExampleScripts v-on:dialog-toggle=\"dialog = !dialog\" />\n </v-dialog>\n </v-card-text>\n\n <v-card-text class=\"md-0 pa-0\">\n <v-toolbar flat color=\"primary\">\n <v-toolbar-title class=\"white--text\">{{\n $t(\"script.tagsTitle\")\n }}</v-toolbar-title>\n </v-toolbar>\n <v-text-field\n v-model=\"search\"\n :label=\"$t('common.search')\"\n class=\"mx-2\"\n ></v-text-field>\n <v-data-table\n :items-per-page=\"5\"\n class=\"elevation-1\"\n @item-expanded=\"getKeysForExpanded\"\n :items=\"tags\"\n item-key=\"deveui\"\n :headers=\"headers\"\n :single-expand=\"true\"\n show-expand\n :search=\"search\"\n >\n <template v-slot:expanded-item=\"\">\n <td :colspan=\"2\">\n <v-list>\n <v-list-item v-for=\"(item, i) in expandedKeys\" :key=\"i\">\n <v-list-item-icon>\n <v-icon> mdi-circle-small </v-icon>\n </v-list-item-icon>\n <v-list-item-content>\n <v-list-item-title>{{ item.key }}</v-list-item-title>\n </v-list-item-content>\n </v-list-item>\n </v-list>\n </td>\n </template>\n </v-data-table>\n </v-card-text>\n\n <v-card-actions>\n <v-col cols=\"12\" sm=\"8\" md=\"8\" lg=\"8\">\n <v-btn block color=\"primary\" type=\"submit\" x-large>\n {{ $t(\"common.save\") }}\n </v-btn>\n </v-col>\n <v-col cols=\"12\" sm=\"4\" md=\"4\" lg=\"4\">\n <v-btn\n block\n color=\"error\"\n type=\"button\"\n @click=\"removeScript\"\n x-large\n >{{ $t(\"common.delete\") }}</v-btn\n >\n </v-col>\n </v-card-actions>\n </v-card>\n </v-form>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\nimport i18n from \"@/plugins/i18n\";\nimport ExampleScripts from \"@/components/script/ExampleDialog\";\n\nimport { codemirror } from \"vue-codemirror\";\nimport \"codemirror/mode/javascript/javascript.js\";\nimport \"codemirror/lib/codemirror.css\";\nimport \"codemirror/theme/monokai.css\";\n\nexport default {\n name: \"ScriptEdit\",\n data() {\n return {\n search: \"\",\n submitted: false,\n valid: false,\n loaded: false,\n\n name: \"\",\n type: 0,\n interval: 1,\n enabled: false,\n deveui: null,\n tagKey: null,\n tagKeys: [],\n expandedKeys: [],\n content: i18n.t(\"script.placeHolderContent\"),\n scriptId: null,\n dialog: false,\n\n typeItems: [\n {\n name: i18n.t(\"script.type.0\"),\n value: 0,\n },\n {\n name: i18n.t(\"script.type.1\"),\n value: 1,\n },\n {\n name: i18n.t(\"script.type.2\"),\n value: 2,\n },\n ],\n\n headers: [\n { text: this.$t(\"tag.fields.deveui\"), value: \"deveui\" },\n { text: this.$t(\"tag.fields.name\"), value: \"name\" },\n ],\n\n nameRules: [\n (v) => !!v || this.$t(\"alarm.validation.nameRequired\"),\n (v) => (v && v.length <= 255) || this.$t(\"alarm.validation.max\"),\n ],\n\n intervalRules: [\n (v) => !!v || this.$t(\"script.validation.intervalRequired\"),\n (v) => v >= 0 || this.$t(\"script.validation.intervalMinValue\"),\n ],\n\n reqRule: [\n (v) => !!v || v === 0 || this.$t(\"alarm.validation.nameRequired\"),\n ],\n\n cmOptions: {\n tabSize: 4,\n mode: \"javascript\",\n theme: \"monokai\",\n lineNumbers: true,\n line: true,\n },\n };\n },\n\n computed: {\n ...mapState(\"users\", [\n \"status\",\n \"currentUser\",\n \"userCompany\",\n \"hasCompany\",\n ]),\n ...mapState(\"tag\", { tagStatus: \"status\", tags: \"tags\" }),\n ...mapState(\"tagData\", { tagDataStatus: \"status\" }),\n ...mapState(\"companies\", {\n companyUsers: \"companyUsers\",\n companyStatus: \"status\",\n }),\n ...mapState(\"scripts\", {\n errorMessage: \"error\",\n validScript: \"validScript\",\n currentScript: \"currentScript\",\n }),\n },\n\n methods: {\n ...mapActions(\"scripts\", [\n \"edit\",\n \"test\",\n \"resetValidScript\",\n \"getScript\",\n \"delete\",\n ]),\n ...mapActions(\"tag\", [\"getTags\", \"getKeysForTagAsync\"]),\n\n // eslint-disable-next-line\n async handleSubmit(e) {\n const { name, type, interval, content, enabled, deveui, tagKey } = this;\n\n var payload = {\n name: name,\n type: type,\n interval: interval,\n content: content,\n enabled: enabled,\n tagDeveui: deveui,\n key: tagKey,\n };\n\n await this.test({ payload: { content: content } });\n\n if (!this.$refs.form.validate() || !this.validScript) {\n this.valid = false;\n window.scrollTo(0, 0);\n return;\n }\n\n this.valid = true;\n this.submitted = true;\n\n if (this.valid) {\n this.edit({ scriptId: this.scriptId, payload: payload });\n this.$router.push(\"/script\");\n }\n },\n\n async removeScript() {\n if (this.scriptId === null) {\n return;\n }\n\n await this.delete({ scriptId: this.scriptId });\n this.$router.push(\"/script\");\n },\n\n async getKeysForExpanded(param) {\n this.expandedKeys = await this.getKeysForTagAsync({\n tagId: param.item.deveui,\n });\n },\n },\n\n async created() {\n this.scriptId = this.$route.params.id;\n\n await this.getTags();\n\n await this.getScript({ scriptId: this.scriptId });\n this.content = this.currentScript.content;\n this.type = this.currentScript.type;\n this.interval = this.currentScript.interval;\n this.name = this.currentScript.name;\n this.enabled = this.currentScript.enabled;\n this.deveui = this.currentScript.tagDeveui;\n\n if (this.deveui) {\n this.tagKeys = await this.getKeysForTagAsync({ tagId: this.deveui });\n this.tagKey = this.currentScript.key;\n }\n\n await this.resetValidScript();\n\n this.$refs.codeMirror.codemirror.setSize(null, 500);\n\n this.loaded = true;\n },\n\n components: {\n ExampleScripts,\n codemirror,\n },\n\n watch: {\n type(val) {\n if (val == 0) {\n this.interval = this.currentScript.interval;\n } else if (val == 2) {\n this.deveui = this.currentScript.tagDeveui;\n this.tagKey = this.currentScript.key;\n }\n },\n async deveui(val) {\n if (this.loaded) {\n this.tagKeys = await this.getKeysForTagAsync({ tagId: val });\n this.tagKey = null;\n }\n },\n },\n};\n</script>\n\n<style scoped>\n.white--text /deep/ label {\n color: white;\n}\n</style>\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScriptEdit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScriptEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScriptEdit.vue?vue&type=template&id=4db8b299&scoped=true\"\nimport script from \"./ScriptEdit.vue?vue&type=script&lang=js\"\nexport * from \"./ScriptEdit.vue?vue&type=script&lang=js\"\nimport style0 from \"./ScriptEdit.vue?vue&type=style&index=0&id=4db8b299&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4db8b299\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}