{"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":""}