{"version":3,"sources":["webpack:///./src/components/report/ReportEdit.vue","webpack:///src/components/report/ReportEdit.vue","webpack:///./src/components/report/ReportEdit.vue?e8b2","webpack:///./src/components/report/ReportEdit.vue?00d3","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///../../../src/components/VToolbar/index.ts"],"names":["valid","expression","attrs","staticClass","value","name","callback","_vm","$t","autocompleteRules","scopedSlots","fn","domProps","model","reportContacts","_typeof","_s","item","$$v","status","loading","_c","tagStatus","keys","tagDataKey","_v","on","removeListItem","_e","staticRenderFns","data","_this","submitted","tempo","type","tag","includedTags","tempoItems","desc","reportTypes","nameRules","v","length","messageRules","computed","_objectSpread","mapState","tags","tagDataStatus","companyUsers","companyStatus","methods","mapActions","i","splice","newInclude","_this2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","push","key","deveui","stop","deleteReport","_this3","_callee2","_context2","delete","reportId","currentReport","$router","handleSubmit","e","_this4","_callee3","payloadTags","payloadKeys","payload","_context3","tagIds","update","created","_this5","_callee4","_context4","undefined","$route","params","id","getReport","getTags","getCompanyUsers","map","user","userId","watch","val","oldVal","getKeysForTag","tagId","component","mixins","Themeable","extend","props","dense","Boolean","fixedHeader","height","Number","String","classes","this","$slots","top","bottom","themeClasses","genWrapper","wrapper","$createElement","style","convertToUnit","getSlot","render","h","class","VToolbarTitle","createSimpleFunctional","VToolbarItems","VToolbar"],"mappings":"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","file":"js/chunk-9b88896c.80d65bf8.js","sourcesContent":["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(\"report.update\")))]),_c('div',{staticClass:\"flex-grow-1\"})],1),_c('v-card-text',[_c('v-text-field',{attrs:{\"label\":_vm.$t('report.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-autocomplete',{staticClass:\"pt-0 mt-0\",attrs:{\"autocomplete\":\"off\",\"label\":_vm.$t('report.fields.reportContacts'),\"items\":_vm.companyUsers,\"rules\":_vm.autocompleteRules,\"required\":\"\",\"item-text\":\"firstname\",\"item-value\":\"userId\",\"multiple\":\"\",\"prepend-icon\":\"mdi-account-box\"},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [(typeof data.item !== 'object')?[_c('v-list-item-content',{domProps:{\"textContent\":_vm._s(data.item)}})]:[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"innerHTML\":_vm._s(data.item.firstname)}}),_c('v-list-item-subtitle',{domProps:{\"innerHTML\":_vm._s(data.item.lastname)}})],1)]]}}]),model:{value:(_vm.reportContacts),callback:function ($$v) {_vm.reportContacts=$$v},expression:\"reportContacts\"}})],1),_c('v-card-text',[_c('v-select',{attrs:{\"prepend-icon\":\"mdi-all-inclusive\",\"items\":_vm.tempoItems,\"label\":_vm.$t('report.fields.tempo'),\"item-text\":\"name\",\"item-value\":\"value\"},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [(typeof data.item !== 'object')?[_c('v-list-item-content',{domProps:{\"textContent\":_vm._s(data.item)}})]:[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"innerHTML\":_vm._s(data.item.name)}}),_c('v-list-item-subtitle',{domProps:{\"innerHTML\":_vm._s(data.item.desc)}})],1)]]}}]),model:{value:(_vm.tempo),callback:function ($$v) {_vm.tempo=$$v},expression:\"tempo\"}})],1),_c('v-card-text',[_c('v-autocomplete',{staticClass:\"pa-0 ma-0\",attrs:{\"autocomplete\":\"off\",\"disabled\":_vm.status.loading,\"loading\":_vm.status.loading,\"label\":_vm.$t('report.fields.type'),\"items\":_vm.reportTypes,\"item-text\":\"name\",\"item-value\":\"value\",\"prepend-icon\":\"mdi-form-select\",\"required\":\"\"},model:{value:(_vm.type),callback:function ($$v) {_vm.type=$$v},expression:\"type\"}})],1),_c('v-divider'),_c('v-card-text',{staticClass:\"pb-0\"},[_c('v-autocomplete',{staticClass:\"pb-0 mb-0\",attrs:{\"autocomplete\":\"off\",\"loading\":_vm.tagStatus.loading,\"label\":_vm.$t('alarm.fields.tag'),\"items\":_vm.tags,\"item-text\":\"name\",\"item-value\":\"deveui\",\"prepend-icon\":\"mdi-cellphone-link\"},model:{value:(_vm.tag),callback:function ($$v) {_vm.tag=$$v},expression:\"tag\"}})],1),_c('v-card-text',[_c('v-autocomplete',{staticClass:\"pt-0 pb-0 mt-0\",attrs:{\"autocomplete\":\"off\",\"disabled\":_vm.tagStatus.loading && _vm.tag === '',\"loading\":_vm.tagDataStatus.loading,\"label\":_vm.$t('alarm.fields.tagDataKey'),\"items\":_vm.keys,\"item-text\":\"label\",\"item-value\":\"key\",\"prepend-icon\":\"mdi-key\"},model:{value:(_vm.tagDataKey),callback:function ($$v) {_vm.tagDataKey=$$v},expression:\"tagDataKey\"}})],1),_c('v-btn',{staticClass:\"mb-6\",attrs:{\"outlined\":\"\",\"color\":\"accent\",\"text\":\"\"},on:{\"click\":function($event){return _vm.newInclude()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.add\") + \" sensor\")+\" \")]),(this.includedTags.length > 0)?_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(_vm._s(_vm.$t(\"alarm.fields.tag\")))]),_c('th',{staticClass:\"text-left\"},[_vm._v(_vm._s(_vm.$t(\"module.meta.key\")))]),_c('th',{staticClass:\"text-left\"})])]),_c('tbody',_vm._l((_vm.includedTags),function(m,i){return _c('tr',{key:i},[_c('td',{staticClass:\"text-left\"},[_vm._v(_vm._s(m.deveui != null ? m.deveui : \"\"))]),_c('td',{staticClass:\"text-left\"},[_vm._v(\" \"+_vm._s(m.key != null ? m.key : \"\")+\" \")]),_c('td',[_c('v-btn',{attrs:{\"color\":\"error\",\"fab\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.removeListItem(i)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)])}),0)]},proxy:true}],null,false,2288099334)}):_vm._e(),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\",\"type\":\"submit\",\"disabeld\":!_vm.valid,\"x-large\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.save\"))+\" \")]),_c('v-btn',{attrs:{\"color\":\"error\",\"type\":\"button\",\"x-large\":\"\"},nativeOn:{\"click\":function($event){return _vm.deleteReport()}}},[_vm._v(_vm._s(_vm.$t(\"common.delete\")))])],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(\"report.update\") }}</v-toolbar-title>\n        <div class=\"flex-grow-1\"></div>\n      </v-toolbar>\n\n      <v-card-text>\n        <v-text-field\n          :label=\"$t('report.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-autocomplete\n          autocomplete=\"off\"\n          :label=\"$t('report.fields.reportContacts')\"\n          v-model=\"reportContacts\"\n          :items=\"companyUsers\"\n          :rules=\"autocompleteRules\"\n          required\n          item-text=\"firstname\"\n          item-value=\"userId\"\n          multiple\n          prepend-icon=\"mdi-account-box\"\n          class=\"pt-0 mt-0\"\n        >\n          <template v-slot:item=\"data\">\n            <template v-if=\"typeof data.item !== 'object'\">\n              <v-list-item-content v-text=\"data.item\"></v-list-item-content>\n            </template>\n            <template v-else>\n              <v-list-item-content>\n                <v-list-item-title\n                  v-html=\"data.item.firstname\"\n                ></v-list-item-title>\n                <v-list-item-subtitle\n                  v-html=\"data.item.lastname\"\n                ></v-list-item-subtitle>\n              </v-list-item-content>\n            </template>\n          </template>\n        </v-autocomplete>\n      </v-card-text>\n\n      <v-card-text>\n        <v-select\n          prepend-icon=\"mdi-all-inclusive\"\n          v-model=\"tempo\"\n          :items=\"tempoItems\"\n          :label=\"$t('report.fields.tempo')\"\n          item-text=\"name\"\n          item-value=\"value\"\n        >\n          <template v-slot:item=\"data\">\n            <template v-if=\"typeof data.item !== 'object'\">\n              <v-list-item-content v-text=\"data.item\"></v-list-item-content>\n            </template>\n            <template v-else>\n              <v-list-item-content>\n                <v-list-item-title v-html=\"data.item.name\"></v-list-item-title>\n                <v-list-item-subtitle\n                  v-html=\"data.item.desc\"\n                ></v-list-item-subtitle>\n              </v-list-item-content>\n            </template>\n          </template>\n        </v-select>\n      </v-card-text>\n\n      <v-card-text>\n        <v-autocomplete\n          autocomplete=\"off\"\n          :disabled=\"status.loading\"\n          :loading=\"status.loading\"\n          :label=\"$t('report.fields.type')\"\n          v-model=\"type\"\n          :items=\"reportTypes\"\n          item-text=\"name\"\n          item-value=\"value\"\n          prepend-icon=\"mdi-form-select\"\n          class=\"pa-0 ma-0\"\n          required\n        ></v-autocomplete>\n      </v-card-text>\n\n      <v-divider />\n\n      <v-card-text class=\"pb-0\">\n        <v-autocomplete\n          autocomplete=\"off\"\n          :loading=\"tagStatus.loading\"\n          :label=\"$t('alarm.fields.tag')\"\n          v-model=\"tag\"\n          :items=\"tags\"\n          item-text=\"name\"\n          item-value=\"deveui\"\n          prepend-icon=\"mdi-cellphone-link\"\n          class=\"pb-0 mb-0\"\n        ></v-autocomplete>\n      </v-card-text>\n\n      <v-card-text>\n        <v-autocomplete\n          autocomplete=\"off\"\n          :disabled=\"tagStatus.loading && tag === ''\"\n          :loading=\"tagDataStatus.loading\"\n          :label=\"$t('alarm.fields.tagDataKey')\"\n          v-model=\"tagDataKey\"\n          :items=\"keys\"\n          item-text=\"label\"\n          item-value=\"key\"\n          prepend-icon=\"mdi-key\"\n          class=\"pt-0 pb-0 mt-0\"\n        ></v-autocomplete>\n      </v-card-text>\n\n      <v-btn outlined color=\"accent\" text @click=\"newInclude()\" class=\"mb-6\">\n        {{ $t(\"common.add\") + \" sensor\" }}\n      </v-btn>\n\n      <v-simple-table v-if=\"this.includedTags.length > 0\">\n        <template v-slot:default>\n          <thead>\n            <tr>\n              <th class=\"text-left\">{{ $t(\"alarm.fields.tag\") }}</th>\n              <th class=\"text-left\">{{ $t(\"module.meta.key\") }}</th>\n              <th class=\"text-left\"></th>\n            </tr>\n          </thead>\n          <tbody>\n            <tr v-for=\"(m, i) in includedTags\" :key=\"i\">\n              <td class=\"text-left\">{{ m.deveui != null ? m.deveui : \"\" }}</td>\n              <td class=\"text-left\">\n                {{ m.key != null ? m.key : \"\" }}\n              </td>\n              <td>\n                <v-btn color=\"error\" fab x-small @click=\"removeListItem(i)\">\n                  <v-icon>mdi-delete</v-icon>\n                </v-btn>\n              </td>\n            </tr>\n          </tbody>\n        </template>\n      </v-simple-table>\n\n      <v-card-actions>\n        <v-btn color=\"primary\" type=\"submit\" :disabeld=\"!valid\" x-large>\n          {{ $t(\"common.save\") }}\n        </v-btn>\n        <v-btn\n          color=\"error\"\n          type=\"button\"\n          x-large\n          v-on:click.native=\"deleteReport()\"\n          >{{ $t(\"common.delete\") }}</v-btn\n        >\n      </v-card-actions>\n    </v-card>\n  </v-form>\n</template>\n\n<script>\nimport { mapActions, mapState } from \"vuex\";\n\nexport default {\n  name: \"ReportEdit\",\n  data() {\n    return {\n      submitted: false,\n      valid: false,\n\n      name: \"\",\n      tempo: 0,\n      type: null,\n      tagDataKey: \"\",\n      tag: null,\n      reportContacts: [],\n      includedTags: [],\n\n      tempoItems: [\n        {\n          name: this.$t(\"report.tempo.0\"),\n          value: 0,\n          desc: this.$t(\"report.tempo.desc.0\"),\n        },\n        {\n          name: this.$t(\"report.tempo.1\"),\n          value: 1,\n          desc: this.$t(\"report.tempo.desc.1\"),\n        },\n        {\n          name: this.$t(\"report.tempo.2\"),\n          value: 2,\n          desc: this.$t(\"report.tempo.desc.2\"),\n        },\n      ],\n\n      reportTypes: [\n        { name: this.$t(\"report.types.regular\"), value: 0 },\n        { name: this.$t(\"report.types.trend\"), value: 1 },\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      messageRules: [\n        (v) => !!v || this.$t(\"alarm.validation.nameRequired\"),\n        (v) => (v && v.length <= 255) || this.$t(\"alarm.validation.max\"),\n      ],\n\n      autocompleteRules: [\n        (v) => !!v || this.$t(\"alarm.validation.nameRequired\"),\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\", keys: \"keys\" }),\n    ...mapState(\"companies\", {\n      companyUsers: \"companyUsers\",\n      companyStatus: \"status\",\n    }),\n    ...mapState(\"reports\", [\"currentReport\"]),\n  },\n\n  methods: {\n    ...mapActions(\"tag\", [\"getTags\", \"getKeysForTag\"]),\n    ...mapActions(\"companies\", [\"getCompanyUsers\"]),\n    ...mapActions(\"reports\", [\"update\", \"getReport\", \"delete\"]),\n\n    removeListItem(i) {\n      this.includedTags.splice(i, 1);\n    },\n\n    async newInclude() {\n      if (!this.tag || !this.tagDataKey) return;\n      this.includedTags.push({\n        key: this.tagDataKey,\n        tag: this.tag.name,\n        deveui: this.tag,\n      });\n\n      this.tag = null;\n      this.tagDataKey = null;\n    },\n\n    async deleteReport() {\n      await this.delete({ reportId: this.currentReport.reportId });\n\n      this.$router.push(\"/report\");\n    },\n\n    // eslint-disable-next-line\n    async handleSubmit(e) {\n      if (!this.includedTags.length > 0) {\n        this.valid = false;\n        return;\n      }\n\n      var payloadTags = [];\n      var payloadKeys = [];\n      for (var i = 0; i < this.includedTags.length; i++) {\n        payloadTags.push(this.includedTags[i].deveui);\n        payloadKeys.push(this.includedTags[i].key);\n      }\n\n      this.submitted = true;\n\n      const { name, type, tempo, reportContacts } = this;\n\n      var payload = {\n        name: name,\n        type: type,\n        tempo: tempo,\n        keys: payloadKeys,\n        reportContacts: reportContacts,\n        tagIds: payloadTags,\n      };\n\n      if (this.valid)\n        await this.update({\n          reportId: this.currentReport.reportId,\n          payload: payload,\n        });\n\n      this.$router.push(\"/report\");\n    },\n  },\n\n  async created() {\n    if (\n      this.currentReport !== undefined &&\n      this.currentReport.reportId !== this.$route.params.id\n    ) {\n      await this.getReport({ reportId: this.$route.params.id });\n    }\n\n    this.getTags();\n    this.getCompanyUsers();\n\n    this.name = this.currentReport.name;\n    this.type = this.currentReport.type;\n    this.tempo = this.currentReport.tempo;\n    var tags = this.currentReport.tags;\n    for (var tag in tags) {\n      this.includedTags.push({\n        deveui: tags[tag].deveui,\n        key: tags[tag].key,\n      });\n    }\n    this.reportContacts = this.currentReport.reportContacts.map((e) => {\n      return e.user.userId;\n    });\n  },\n\n  watch: {\n    // eslint-disable-next-line\n    tag(val, oldVal) {\n      if (val != null) this.getKeysForTag({ tagId: val });\n    },\n  },\n};\n</script>\n\n<style></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!./ReportEdit.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!./ReportEdit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ReportEdit.vue?vue&type=template&id=01d624df\"\nimport script from \"./ReportEdit.vue?vue&type=script&lang=js\"\nexport * from \"./ReportEdit.vue?vue&type=script&lang=js\"\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  null,\n  null\n  \n)\n\nexport default component.exports","import './VSimpleTable.sass'\n\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n  name: 'v-simple-table',\n\n  props: {\n    dense: Boolean,\n    fixedHeader: Boolean,\n    height: [Number, String],\n  },\n\n  computed: {\n    classes (): Record<string, boolean> {\n      return {\n        'v-data-table--dense': this.dense,\n        'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n        'v-data-table--fixed-header': this.fixedHeader,\n        'v-data-table--has-top': !!this.$slots.top,\n        'v-data-table--has-bottom': !!this.$slots.bottom,\n        ...this.themeClasses,\n      }\n    },\n  },\n\n  methods: {\n    genWrapper () {\n      return this.$slots.wrapper || this.$createElement('div', {\n        staticClass: 'v-data-table__wrapper',\n        style: {\n          height: convertToUnit(this.height),\n        },\n      }, [\n        this.$createElement('table', getSlot(this)),\n      ])\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-data-table',\n      class: this.classes,\n    }, [\n      getSlot(this, 'top'),\n      this.genWrapper(),\n      getSlot(this, 'bottom'),\n    ])\n  },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n  VToolbar,\n  VToolbarItems,\n  VToolbarTitle,\n}\n\nexport default {\n  $_vuetify_subcomponents: {\n    VToolbar,\n    VToolbarItems,\n    VToolbarTitle,\n  },\n}\n"],"sourceRoot":""}