{"version":3,"sources":["webpack:///./src/views/TicketCategories/List.vue?7fb1","webpack:///src/views/TicketCategories/List.vue","webpack:///./src/views/TicketCategories/List.vue?d40b","webpack:///./src/views/TicketCategories/List.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","$t","staticClass","on","$event","dialog","_v","model","value","callback","$$v","filter","expression","items","fields","currentPage","perPage","filterOn","sortBy","sortDesc","sortDirection","onFiltered","scopedSlots","_u","key","fn","row","editItem","item","deleteItem","pageOptions","totalRows","ref","formTitle","stopPropagation","preventDefault","save","apply","arguments","errors","length","editedItem","$set","_s","deleteItemConfirm","closeDelete","dialogDelete","staticRenderFns","components","ValidationProvider","ValidationObserver","data","editedIndex","name","defaultItem","label","sortable","formatter","text","infoModal","id","title","content","computed","sortOptions","map","val","mapActions","initialize","component","props","variant","info","msg","close","payload","then","filteredItems"],"mappings":"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","file":"Tags~7b11101b.25b984f7.js?version=1727726453033","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"title\":_vm.$t('Catégories des tickets')}},[_c('b-row',[_c('Can',{attrs:{\"i\":\"create\",\"a\":\"ticket_tag\"}},[_c('b-col',{staticClass:\"my-1\",attrs:{\"sm\":\"5\",\"md\":\"2\"}},[_c('b-button',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){_vm.dialog = !_vm.dialog}}},[_vm._v(\" Ajouter \")])],1)],1),_c('b-col',{staticClass:\"my-1\",attrs:{\"sm\":\"7\",\"md\":\"10\"}},[_c('b-form-group',{staticClass:\"mb-0\",attrs:{\"label\":_vm.$t('Filtrer'),\"label-for\":\"filter-input\",\"label-cols-sm\":\"3\",\"label-align-sm\":\"right\",\"label-size\":\"sm\"}},[_c('b-input-group',{attrs:{\"size\":\"sm\"}},[_c('b-form-input',{attrs:{\"id\":\"filter-input\",\"type\":\"search\",\"placeholder\":\"Filtrez vos résultats\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"disabled\":!_vm.filter},on:{\"click\":function($event){_vm.filter = ''}}},[_vm._v(\"Clear\")])],1)],1)],1)],1)],1),_c('b-table',{attrs:{\"items\":_vm.items,\"fields\":_vm.fields,\"current-page\":_vm.currentPage,\"per-page\":_vm.perPage,\"filter\":_vm.filter,\"filter-included-fields\":_vm.filterOn,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"sort-direction\":_vm.sortDirection,\"show-empty\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event},\"filtered\":_vm.onFiltered},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(row){return [_c('b-button-group',[_c('Can',{attrs:{\"i\":\"update\",\"a\":\"ticket_tag\"}},[_c('b-btn',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.editItem(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"Edit2Icon\"}})],1)],1),_c('Can',{attrs:{\"i\":\"delete\",\"a\":\"ticket_tag\"}},[_c('b-btn',{attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.deleteItem(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}})],1)],1)],1)]}}])}),_c('b-row',[_c('b-col',{staticClass:\"my-1\",attrs:{\"sm\":\"5\",\"md\":\"2\"}},[_c('b-form-group',{staticClass:\"mb-0\",attrs:{\"label\":_vm.$t('Per page'),\"label-for\":\"per-page-select\",\"label-cols-sm\":\"6\",\"label-cols-md\":\"4\",\"label-cols-lg\":\"3\",\"label-align-sm\":\"right\",\"label-size\":\"sm\"}},[_c('b-form-select',{attrs:{\"id\":\"per-page-select\",\"options\":_vm.pageOptions,\"size\":\"sm\"},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1)],1),_c('b-col',{staticClass:\"my-1\",attrs:{\"sm\":\"7\",\"md\":\"10\"}},[_c('b-pagination',{staticClass:\"my-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"align\":\"fill\",\"size\":\"sm\"},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('validation-observer',{ref:\"form\"},[_c('b-form',{staticClass:\"auth-login-form mt-2\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.save.apply(null, arguments)}}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('Nom'),\"label-for\":\"name\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('Nom'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"name\",\"state\":errors.length > 0 ? false : null,\"name\":\"name\"},model:{value:(_vm.editedItem.name),callback:function ($$v) {_vm.$set(_vm.editedItem, \"name\", $$v)},expression:\"editedItem.name\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-form-group',{attrs:{\"label\":_vm.$t('Description'),\"label-for\":\"description\"}},[_c('validation-provider',{attrs:{\"name\":_vm.$t('Description'),\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-textarea',{attrs:{\"id\":\"description\",\"state\":errors.length > 0 ? false : null,\"name\":\"description\"},model:{value:(_vm.editedItem.description),callback:function ($$v) {_vm.$set(_vm.editedItem, \"description\", $$v)},expression:\"editedItem.description\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enregistrer\"))+\" \")])],1)],1)],1),_c('b-modal',{attrs:{\"hide-footer\":\"\",\"max-width\":\"500px\"},on:{\"OK\":_vm.deleteItemConfirm,\"cancel\":_vm.closeDelete},model:{value:(_vm.dialogDelete),callback:function ($$v) {_vm.dialogDelete=$$v},expression:\"dialogDelete\"}},[_vm._v(\" \"+_vm._s(_vm.$t('Are you sure you want to delete this item'))+\"? \"),_c('b-button',{staticClass:\"mt-2\",attrs:{\"variant\":\"outline-danger\",\"block\":\"\"},on:{\"click\":_vm.deleteItemConfirm}},[_vm._v(_vm._s(_vm.$t('Delete')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card :title=\"$t('Catégories des tickets')\">\n    <!-- User Interface controls -->\n    <b-row>\n      <Can\n        i=\"create\"\n        a=\"ticket_tag\"\n      >\n        <b-col\n          sm=\"5\"\n          md=\"2\"\n          class=\"my-1\"\n        >\n          <b-button\n            variant=\"outline-primary\"\n            @click=\"dialog = !dialog\"\n          >\n            Ajouter\n          </b-button>\n        </b-col>\n      </Can>\n      <b-col\n        sm=\"7\"\n        md=\"10\"\n        class=\"my-1\"\n      >\n        <b-form-group\n          :label=\"$t('Filtrer')\"\n          label-for=\"filter-input\"\n          label-cols-sm=\"3\"\n          label-align-sm=\"right\"\n          label-size=\"sm\"\n          class=\"mb-0\"\n        >\n          <b-input-group size=\"sm\">\n            <b-form-input\n              id=\"filter-input\"\n              v-model=\"filter\"\n              type=\"search\"\n              placeholder=\"Filtrez vos résultats\"\n            />\n\n            <b-input-group-append>\n              <b-button\n                :disabled=\"!filter\"\n                @click=\"filter = ''\"\n              >Clear</b-button>\n            </b-input-group-append>\n          </b-input-group>\n        </b-form-group>\n      </b-col>\n    </b-row>\n    <!-- Main table element -->\n    <b-table\n      :items=\"items\"\n      :fields=\"fields\"\n      :current-page=\"currentPage\"\n      :per-page=\"perPage\"\n      :filter=\"filter\"\n      :filter-included-fields=\"filterOn\"\n      :sort-by.sync=\"sortBy\"\n      :sort-desc.sync=\"sortDesc\"\n      :sort-direction=\"sortDirection\"\n      show-empty\n      @filtered=\"onFiltered\"\n    >\n      <template #cell(actions)=\"row\">\n        <b-button-group>\n          <Can\n            i=\"update\"\n            a=\"ticket_tag\"\n          >\n            <b-btn\n              variant=\"outline-primary\"\n              @click=\"editItem(row.item)\"\n            >\n              <feather-icon icon=\"Edit2Icon\" />\n            </b-btn>\n          </Can>\n          <Can\n            i=\"delete\"\n            a=\"ticket_tag\"\n          >\n            <b-btn\n              variant=\"outline-primary\"\n              @click=\"deleteItem(row.item)\"\n            >\n              <feather-icon icon=\"TrashIcon\" />\n            </b-btn>\n          </Can>\n        </b-button-group>\n      </template>\n    </b-table>\n    <b-row>\n      <b-col\n        sm=\"5\"\n        md=\"2\"\n        class=\"my-1\"\n      >\n        <b-form-group\n          :label=\"$t('Per page')\"\n          label-for=\"per-page-select\"\n          label-cols-sm=\"6\"\n          label-cols-md=\"4\"\n          label-cols-lg=\"3\"\n          label-align-sm=\"right\"\n          label-size=\"sm\"\n          class=\"mb-0\"\n        >\n          <b-form-select\n            id=\"per-page-select\"\n            v-model=\"perPage\"\n            :options=\"pageOptions\"\n            size=\"sm\"\n          />\n        </b-form-group>\n      </b-col>\n\n      <b-col\n        sm=\"7\"\n        md=\"10\"\n        class=\"my-1\"\n      >\n        <b-pagination\n          v-model=\"currentPage\"\n          :total-rows=\"totalRows\"\n          :per-page=\"perPage\"\n          align=\"fill\"\n          size=\"sm\"\n          class=\"my-0\"\n        />\n      </b-col>\n    </b-row>\n\n    <!-- Info modal -->\n    <b-modal\n      id=\"modal-prevent-closing\"\n      ref=\"modal\"\n      v-model=\"dialog\"\n      :title=\"formTitle\"\n      hide-footer\n    >\n      <validation-observer ref=\"form\">\n        <b-form\n          class=\"auth-login-form mt-2\"\n          @submit.stop.prevent=\"save\"\n        >\n          <!-- Nom -->\n          <b-form-group\n            :label=\"$t('Nom')\"\n            label-for=\"name\"\n          >\n            <validation-provider\n              v-slot=\"{ errors }\"\n              :name=\"$t('Nom')\"\n              rules=\"required\"\n            >\n              <b-form-input\n                id=\"name\"\n                v-model=\"editedItem.name\"\n                :state=\"errors.length > 0 ? false : null\"\n                name=\"name\"\n              />\n              <small class=\"text-danger\">{{ errors[0] }}</small>\n            </validation-provider>\n          </b-form-group>\n          <b-form-group\n            :label=\"$t('Description')\"\n            label-for=\"description\"\n          >\n            <validation-provider\n              v-slot=\"{ errors }\"\n              :name=\"$t('Description')\"\n              rules=\"required\"\n            >\n              <b-form-textarea\n                id=\"description\"\n                v-model=\"editedItem.description\"\n                :state=\"errors.length > 0 ? false : null\"\n                name=\"description\"\n              />\n              <small class=\"text-danger\">{{ errors[0] }}</small>\n            </validation-provider>\n          </b-form-group>\n          <b-button\n            type=\"submit\"\n            variant=\"primary\"\n            block\n            @click=\"save\"\n          >\n            {{ $t(\"Enregistrer\") }}\n          </b-button>\n        </b-form>\n      </validation-observer>\n    </b-modal>\n    <b-modal\n      v-model=\"dialogDelete\"\n      hide-footer\n      max-width=\"500px\"\n      @OK=\"deleteItemConfirm\"\n      @cancel=\"closeDelete\"\n    >\n    {{$t('Are you sure you want to delete this item')}}?\n      <b-button\n        class=\"mt-2\"\n        variant=\"outline-danger\"\n        block\n        @click=\"deleteItemConfirm\"\n      >{{$t('Delete')}}</b-button>\n    </b-modal>\n  </b-card>\n</template>\n\n<script>\nimport { ValidationProvider, ValidationObserver } from 'vee-validate'\n\nimport { mapActions } from 'vuex'\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\n\nexport default {\n  components: {\n    ValidationProvider,\n    ValidationObserver,\n  },\n  data() {\n    return {\n      dialogDelete: false,\n      editedIndex: -1,\n      editedItem: {\n        name: '',\n      },\n      defaultItem: {\n        name: '',\n      },\n      items: [],\n      fields: [\n        {\n          key: 'name',\n          label: 'Nom',\n          sortable: true,\n          sortDirection: 'desc',\n        },\n        {\n          key: 'description',\n          label: 'Description',\n          sortable: true,\n          sortDirection: 'desc',\n        },\n        {\n          key: 'subtags_count',\n          label: 'Nombre de sous-catégories',\n          sortable: true,\n          sortDirection: 'desc',\n        },\n\n        // {\n        //   key: \"display_name\",\n        //   label: \"Afficher un nom\",\n        //   sortable: true,\n        //   class: \"text-center\",\n        // },\n        // {\n        //   key: \"categories_count\",\n        //   label: \"\tCatégories d'articles\",\n        //   sortable: true,\n        // },\n        {\n          key: 'created_at',\n          label: 'Créé à',\n          sortable: true,\n          formatter: value => (value\n            ? this.$moment(value).format('DD/MM/YYYY')\n            : this.$moment(new Date()).format('DD/MM/YYYY')),\n        },\n        { key: 'actions', label: 'Actions' },\n      ],\n      totalRows: 1,\n      currentPage: 1,\n      perPage: 15,\n      pageOptions: [5, 10, 15, { value: 100, text: 'Show a lot' }],\n      sortBy: '',\n      sortDesc: false,\n      sortDirection: 'asc',\n      filter: null,\n      filterOn: [],\n      infoModal: {\n        id: 'info-modal',\n        title: '',\n        content: '',\n      },\n      dialog: false,\n    }\n  },\n  computed: {\n    formTitle() {\n      return this.editedIndex === -1\n        ? this.$t('New Item')\n        : this.$t('Edit Item')\n    },\n  },\n  computed: {\n    sortOptions() {\n      // Create an options list from our fields\n      return this.fields\n        .filter(f => f.sortable)\n        .map(f => ({ text: f.label, value: f.key }))\n    },\n  },\n  watch: {\n    dialog(val) {\n      val || this.close()\n    },\n    dialogDelete(val) {\n      val || this.closeDelete()\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {\n    ...mapActions('uhub', ['GET_TAGS', 'ADD_TAG', 'EDIT_TAG', 'DELETE_TAG']),\n    initialize() {\n      this.GET_TAGS().then(res => {\n        this.items = res\n\n        this.totalRows = this.items.length\n        // this.currentPage = json.current_page;\n        // this.perPage = json.per_page;\n      })\n      // this.items = [];\n\n      // this.items = [\n      //   {\n      //     name: \"test\",\n      //     created_at: \"2020-01-01\",\n      //   },\n      // ];\n\n      // this.totalRows = this.items.length;\n    },\n    deleteItem(item) {\n      this.editedIndex = this.items.indexOf(item)\n      this.editedItem = { ...item }\n      this.dialogDelete = true\n    },\n\n    deleteItemConfirm() {\n      // this.items.splice(this.editedIndex, 1);\n      this.DELETE_TAG(this.editedItem.id).then(() => {\n        this.$toast({\n          component: ToastificationContent,\n          props: {\n            title: this.$t('Catégorie supprimé avec success'),\n            variant: 'success',\n          },\n        })\n        this.initialize()\n      })\n\n      this.closeDelete()\n    },\n    closeDelete() {\n      this.dialogDelete = false\n      this.$nextTick(() => {\n        this.editedItem = { ...this.defaultItem }\n        this.editedIndex = -1\n      })\n    },\n    info(item, msg) {\n      // this.infoModal.title = `Row index: ${index}`;\n      // this.infoModal.content = JSON.stringify(item, null, 2);\n      // this.$root.$emit(\"bv::show::modal\", this.infoModal.id, button);\n      this.infoModal.title = msg\n      this.dialog = true\n    },\n    editItem(item) {\n      this.editedIndex = this.items.indexOf(item)\n      this.editedItem = { ...item }\n      this.dialog = true\n    },\n    close() {\n      this.dialog = false\n      this.$nextTick(() => {\n        this.editedItem = { ...this.defaultItem }\n        this.editedIndex = -1\n      })\n    },\n    save() {\n      this.$refs.form.validate().then(async success => {\n        if (success) {\n          if (this.editedIndex > -1) {\n            this.EDIT_TAG({\n              id: this.editedItem.id,\n              payload: this.editedItem,\n            }).then(() => {\n              this.$toast({\n                component: ToastificationContent,\n                props: {\n                  title: this.$t('Catégorie modifié avec success'),\n                  variant: 'success',\n                },\n              })\n              this.initialize()\n            })\n          } else {\n            this.ADD_TAG(this.editedItem).then(() => {\n              this.$toast({\n                component: ToastificationContent,\n                props: {\n                  title: this.$t('Catégorie ajouté avec success'),\n                  variant: 'success',\n                },\n              })\n              this.initialize()\n            })\n            // this.items.push(this.editedItem);\n          }\n          this.close()\n        }\n      })\n    },\n    onFiltered(filteredItems) {\n      // Trigger pagination to update the number of buttons/pages due to filtering\n      this.totalRows = filteredItems.length\n      this.currentPage = 1\n    },\n  },\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=a4ce1472&\"\nimport script from \"./List.vue?vue&type=script&lang=js&\"\nexport * from \"./List.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"],"sourceRoot":""}