{"version":3,"sources":["webpack:///./src/components/groupes/GroupUsers.vue?b3b7","webpack:///./src/views/groupes/List.vue?087b","webpack:///./src/components/groupes/GroupUsers.vue?d8fe","webpack:///src/components/groupes/GroupUsers.vue","webpack:///./src/components/groupes/GroupUsers.vue?48d5","webpack:///./src/components/groupes/GroupUsers.vue","webpack:///./src/components/groupes/UhubTags.vue?599d","webpack:///src/components/groupes/UhubTags.vue","webpack:///./src/components/groupes/UhubTags.vue?2190","webpack:///./src/components/groupes/UhubTags.vue","webpack:///src/views/groupes/List.vue","webpack:///./src/views/groupes/List.vue?8d51","webpack:///./src/views/groupes/List.vue","webpack:///./src/components/groupes/UhubTags.vue?7616"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","on","$event","dialog","_v","$t","model","value","callback","$$v","filter","expression","_s","items","fields","currentPage","perPage","filterOn","sortBy","sortDesc","sortDirection","onFiltered","scopedSlots","_u","key","fn","row","editItem","item","deleteItem","syncUsers","editPermissions","editTags","pageOptions","totalRows","ref","formTitle","stopPropagation","preventDefault","save","apply","arguments","errors","length","editedItem","$set","dialogSyncUsers","id","deleteItemConfirm","closeDelete","dialogDelete","dialogPermissions","savePermissions","dialogTags","saveTags","staticRenderFns","$store","state","appConfig","isRTL","onSearch","onSelect","attributes","_b","firstname","lastname","email","option","deselect","multiple","disabled","selected","_l","listItem","index","slice","remove","components","draggable","vSelect","Permissions","props","type","required","data","role","class","timer","watch","handler","newValue","oldValue","deep","mounted","methods","mapActions","initialize","payload","search","loading","clearTimeout","selectedOption","then","component","name","subtag","selected_show","selected_create","subtags","filtred","user_subtags","map","acc","children","subtags_for_reading","subtags_for_creation","title","variant","ValidationProvider","ValidationObserver","GroupUsers","Tags","editedIndex","defaultItem","label","sortable","formatter","text","infoModal","content","computed","sortOptions","val","closedialogSyncUsers","info","msg","close","icon","filteredItems","updateusers","closePermissions","closeTags"],"mappings":"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","file":"Groupes~21833f8f.25b984f7.js?version=1727726453033","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupUsers.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"title\":\"Groupes de compétences\"}},[_c('b-row',[_c('Can',{attrs:{\"i\":\"create\",\"a\":\"competence_group\"}},[_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\":_vm.$t('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(_vm._s(_vm.$t(\"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-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.editItem(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"Edit2Icon\"}})],1),_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.deleteItem(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}})],1),_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.syncUsers(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"UsersIcon\"}})],1),_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.editPermissions(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"KeyIcon\"}})],1),_c('b-btn',{attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.editTags(row.item)}}},[_c('feather-icon',{attrs:{\"icon\":\"TagIcon\"}})],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-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enregistrer\"))+\" \")])],1)],1)],1),_c('b-modal',{ref:\"modal\",staticClass:\"test\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"xl\"},model:{value:(_vm.dialogSyncUsers),callback:function ($$v) {_vm.dialogSyncUsers=$$v},expression:\"dialogSyncUsers\"}},[_c('group-users',{attrs:{\"id\":_vm.editedItem.id}})],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),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},model:{value:(_vm.dialogPermissions),callback:function ($$v) {_vm.dialogPermissions=$$v},expression:\"dialogPermissions\"}},[_c('Permissions',{attrs:{\"id\":_vm.editedItem.id},on:{\"savePermissions\":_vm.savePermissions}})],1),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},model:{value:(_vm.dialogTags),callback:function ($$v) {_vm.dialogTags=$$v},expression:\"dialogTags\"}},[_c('Tags',{attrs:{\"id\":_vm.editedItem.id},on:{\"saveTags\":_vm.saveTags}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.items,\"multiple\":\"\",\"label\":\"firstname\",\"filterable\":false,\"selectable\":function () { return true; }},on:{\"search\":_vm.onSearch,\"option:selecting\":_vm.onSelect},scopedSlots:_vm._u([{key:\"open-indicator\",fn:function(ref){\nvar attributes = ref.attributes;\nreturn [_c('span',_vm._b({},'span',attributes,false),[_vm._v(\"🔽\")])]}},{key:\"option\",fn:function(ref){\nvar firstname = ref.firstname;\nvar lastname = ref.lastname;\nvar email = ref.email;\nreturn [_c('div',[_c('span',[_vm._v(\" \"+_vm._s(firstname)+\" \"+_vm._s(lastname))])])]}},{key:\"selected-option-container\",fn:function(ref){\n          var option = ref.option;\n          var deselect = ref.deselect;\n          var multiple = ref.multiple;\n          var disabled = ref.disabled;\nreturn [_c('div',{staticClass:\"vs__selected d-none\"})]}}]),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1),(_vm.selected.length)?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('h6',{staticClass:\"text-primary font-weight-bold m-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Liste des Utilisateurs\"))+\" \")]),_vm._l((_vm.selected),function(listItem,index){return _c('b-list-group-item',{key:index,attrs:{\"tag\":\"li\"}},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('div',{staticClass:\"d-flex\"},[_c('b-avatar',{attrs:{\"text\":listItem.firstname.slice(0, 1) + listItem.lastname.slice(0, 1)}}),_c('div',{staticClass:\"ml-25\"},[_c('b-card-text',{staticClass:\"mb-0 font-weight-bold\"},[_vm._v(\" \"+_vm._s(listItem.firstname)+\" \"+_vm._s(listItem.lastname)+\" \")]),_c('small',[_vm._v(_vm._s(listItem.email))])],1)],1),_c('b-btn',{attrs:{\"size\":\"sm\",\"variant\":\"outline-danger\"},on:{\"click\":function($event){return _vm.remove(listItem)}}},[_c('feather-icon',{attrs:{\"icon\":\"TrashIcon\"}})],1)],1)])})],2):_c('b-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Aucun utilisateur existant\"))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <b-row>\n      <!-- people group 1 -->\n      <b-col cols=\"12\">\n        <v-select\n          v-model=\"selected\"\n          :dir=\"$store.state.appConfig.isRTL ? 'rtl' : 'ltr'\"\n          :options=\"items\"\n          multiple\n          label=\"firstname\"\n          :filterable=\"false\"\n          :selectable=\"() => true\"\n          @search=\"onSearch\"\n          @option:selecting=\"onSelect\"\n        >\n          <template #open-indicator=\"{ attributes }\">\n            <span v-bind=\"attributes\">🔽</span>\n          </template>\n          <template #option=\"{ firstname, lastname, email }\">\n            <div>\n              <span> {{ firstname }} {{ lastname }}</span>\n            </div>\n          </template>\n          <template\n            #selected-option-container=\"{\n              option,\n              deselect,\n              multiple,\n              disabled,\n            }\"\n          >\n            <div class=\"vs__selected d-none\" />\n          </template>\n        </v-select>\n      </b-col>\n      <b-col\n        v-if=\"selected.length\"\n        cols=\"12\"\n      >\n        <h6 class=\"text-primary font-weight-bold m-2\">\n          {{ $t(\"Liste des Utilisateurs\") }}\n        </h6>\n\n        <!-- draggable -->\n\n        <b-list-group-item\n          v-for=\"(listItem, index) in selected\"\n          :key=\"index\"\n          tag=\"li\"\n        >\n          <div class=\"d-flex justify-content-between\">\n            <div class=\"d-flex\">\n              <b-avatar\n                :text=\"\n                  listItem.firstname.slice(0, 1) + listItem.lastname.slice(0, 1)\n                \"\n              />\n              <div class=\"ml-25\">\n                <b-card-text class=\"mb-0 font-weight-bold\">\n                  {{ listItem.firstname }} {{ listItem.lastname }}\n                </b-card-text>\n                <small>{{ listItem.email }}</small>\n              </div>\n            </div>\n            <b-btn\n              size=\"sm\"\n              variant=\"outline-danger\"\n              @click=\"remove(listItem)\"\n            >\n              <feather-icon icon=\"TrashIcon\" />\n            </b-btn>\n          </div>\n        </b-list-group-item>\n      </b-col>\n\n      <b-col\n        v-else\n        cols=\"12\"\n      >\n        {{ $t(\"Aucun utilisateur existant\") }}\n      </b-col>\n\n      <!-- people group 2 -->\n    </b-row>\n  </div>\n</template>\n\n<script>\nimport draggable from 'vuedraggable'\n\nimport vSelect from 'vue-select'\nimport Permissions from '@/components/groupes/UhubPermissions'\n\nimport { mapActions } from 'vuex'\n\nexport default {\n  components: {\n    draggable,\n    vSelect,\n    Permissions,\n  },\n  props: {\n    id: {\n      type: Number,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      attributes: {\n        ref: 'openIndicator',\n        role: 'presentation',\n        class: 'vs__open-indicator',\n      },\n      selected: [],\n      items: [],\n      timer: null,\n    }\n  },\n  watch: {\n    selected: {\n      handler(newValue, oldValue) {},\n      deep: true,\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {\n    ...mapActions('groupes', [\n      'GET_GROUP_INFO',\n      'ADD_USER_TO_GROUP',\n      'REMOVE_USER_FROM_GROUP',\n    ]),\n\n    async initialize() {\n      this.GET_GROUP_INFO(this.id).then(res => {\n        if (res) {\n          this.selected = res.users\n        }\n      })\n    },\n\n    ...mapActions('users_uhub', ['GET_USERS', 'USER_SEARCH']),\n    remove(listItem) {\n      // this.selected = this.selected.filter((item) => item !== listItem);\n      this.REMOVE_USER_FROM_GROUP({ id: this.id, payload: listItem.id }).then(\n        res => {\n          if (res) {\n            this.selected = this.selected.filter(item => item !== listItem)\n          }\n        },\n      )\n    },\n    // onSearch(search, loading) {\n    //   if (search.length) {\n    //     loading(true);\n    //     this.USER_SEARCH(search).then((res) => {\n    //       this.items = res;\n    //       loading(false);\n    //     });\n    //   }\n    // },\n    onSearch(search, loading) {\n      clearTimeout(this.timer)\n      this.timer = setTimeout(() => {\n        if (search.length >= 1) {\n          this.items = []\n          loading(true)\n          this.USER_SEARCH(search).then(res => {\n            this.items = res\n            loading(false)\n            clearTimeout(this.timer)\n          })\n        }\n      }, 1000)\n    },\n    onSelect(selectedOption) {\n      const index = this.selected.findIndex(el => el.id == selectedOption.id)\n      if (index > -1) {\n        this.REMOVE_USER_FROM_GROUP({\n          id: this.id,\n          payload: selectedOption.id,\n        }).then(res => {\n          if (res) {\n            this.selected = this.selected.filter(\n              item => item !== selectedOption,\n            )\n          }\n        })\n      } else {\n        this.ADD_USER_TO_GROUP({\n          id: this.id,\n          payload: selectedOption.id,\n        })\n      }\n    },\n  },\n}\n</script>\n<style lang=\"scss\">\n@import \"@core/scss/vue/libs/vue-select.scss\";\n</style>\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!./GroupUsers.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!./GroupUsers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupUsers.vue?vue&type=template&id=acefe75c&\"\nimport script from \"./GroupUsers.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupUsers.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupUsers.vue?vue&type=style&index=0&lang=scss&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-tabs',{attrs:{\"vertical\":\"\",\"nav-wrapper-class\":\"nav-vertical\"}},_vm._l((_vm.filtred),function(item,index){return _c('b-tab',{key:index,attrs:{\"title\":item.name}},_vm._l((item.children),function(subtag){return _c('b-card-text',{key:subtag.id,staticClass:\"d-flex w-100 justify-content-between\"},[_c('b-label',[_vm._v(\" \"+_vm._s(subtag.name))]),_c('div',{staticClass:\"d-flex\"},[_c('b-form-checkbox-group',{attrs:{\"id\":\"flavors\",\"switches\":\"\"},model:{value:(_vm.selected_show),callback:function ($$v) {_vm.selected_show=$$v},expression:\"selected_show\"}},[[_c('div',[_c('b-form-checkbox',{key:subtag.id,attrs:{\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\",\"value\":subtag.id}},[_vm._v(\" show \")])],1)]],2),_c('b-form-checkbox-group',{attrs:{\"id\":\"flavors\",\"switches\":\"\"},model:{value:(_vm.selected_create),callback:function ($$v) {_vm.selected_create=$$v},expression:\"selected_create\"}},[[_c('div',[_c('b-form-checkbox',{key:subtag.id,attrs:{\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\",\"value\":subtag.id}},[_vm._v(\" create \")])],1)]],2),_c('hr',{staticClass:\"my-2\"})],1)],1)}),1)}),1),_c('b-button',{staticClass:\"my-2\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.saveTags}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enregistrer\"))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card>\n    <!-- left position -->\n    <b-tabs\n      vertical\n      nav-wrapper-class=\"nav-vertical\"\n    >\n      <b-tab\n        v-for=\"(item, index) in filtred\"\n        :key=\"index\"\n        :title=\"item.name\"\n      >\n        <b-card-text\n          v-for=\"subtag in item.children\"\n          :key=\"subtag.id\"\n          class=\"d-flex w-100 justify-content-between\"\n        >\n          <b-label> {{ subtag.name }}</b-label>\n          <div class=\"d-flex\">\n            <b-form-checkbox-group\n              id=\"flavors\"\n              v-model=\"selected_show\"\n              switches\n            >\n              <template>\n                <div>\n                  <b-form-checkbox\n                    :key=\"subtag.id\"\n                    name=\"check-button\"\n                    switch\n                    inline\n                    :value=\"subtag.id\"\n                  >\n                    show\n                  </b-form-checkbox>\n                </div>\n              </template>\n            </b-form-checkbox-group>\n            <b-form-checkbox-group\n              id=\"flavors\"\n              v-model=\"selected_create\"\n              switches\n            >\n              <template>\n                <div>\n                  <b-form-checkbox\n                    :key=\"subtag.id\"\n                    name=\"check-button\"\n                    switch\n                    inline\n                    :value=\"subtag.id\"\n                  >\n                    create\n                  </b-form-checkbox>\n                </div>\n              </template>\n            </b-form-checkbox-group>\n            <hr class=\"my-2\">\n          </div>\n        </b-card-text>\n      </b-tab>\n    </b-tabs>\n\n    <b-button\n      type=\"submit\"\n      variant=\"primary\"\n      class=\"my-2\"\n      block\n      @click=\"saveTags\"\n    >\n      {{ $t(\"Enregistrer\") }}\n    </b-button>\n  </b-card>\n</template>\n<script>\nimport ToastificationContentVue from '@/@core/components/toastification/ToastificationContent.vue'\nimport { mapActions } from 'vuex'\n\nexport default {\n  props: {\n    id: {\n      type: Number,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      subtags: [],\n      filtred: [],\n      selected: [],\n      selected_show: [],\n      selected_create: [],\n      user_subtags: [],\n    }\n  },\n\n  watch: {\n    selected: {\n      handler(newValue, oldValue) {\n        this.$emit('update_subtags', newValue)\n      },\n      deep: true,\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {},\n  methods: {\n    ...mapActions('uhub', ['GET_SUBTAGS']),\n    ...mapActions('groupes', ['GET_GROUP_INFO', 'SYNC_TAGS', 'SYNC_SUBTAGS']),\n    async initialize() {\n      this.GET_SUBTAGS().then(subtags => {\n        this.subtags = subtags\n        this.subtags = this.subtags\n          .map(subtag => {\n            if (subtag && subtag.tag) {\n              subtag.action = 'test'\n              subtag.group = subtag.tag.name\n              return subtag\n            }\n          })\n          .filter(subtag => subtag)\n\n        this.filtred = Object.entries(\n          this.subtags.reduce((acc, el) => {\n            acc[el.group] = acc[el.group] || []\n            acc[el.group].push(el)\n            return acc\n          }, {}),\n        ).map(([key, value]) => ({ name: key, children: value }))\n      })\n\n      this.GET_GROUP_INFO(this.id).then(res => {\n        if (res) {\n          this.selected = res.subtags.map(el => el.id)\n          this.selected_create = res.subtags_to_create.map(el => el.id)\n          this.selected_show = res.subtags_to_read.map(el => el.id)\n        }\n      })\n    },\n    saveTags() {\n      // let create = this.selected_create.map((el) => {\n      //   return this.subtags.find((subtag) => subtag.id == el).tag.id;\n      // });\n\n      // let show = this.selected_show.map((el) => {\n      //   return this.subtags.find((subtag) => subtag.id == el).tag.id;\n      // });\n\n      // let tags = subtags.filter((tag, index) => subtags.indexOf(tag) == index);\n\n      this.SYNC_SUBTAGS({\n        id: this.id,\n        payload: {\n          subtags_for_reading: this.selected_show,\n          subtags_for_creation: this.selected_create,\n        },\n      }).then(() => {\n        this.$toast({\n          component: ToastificationContentVue,\n          props: {\n            title: this.$t('Sous Catégories mis à jour avec success'),\n            variant: 'success',\n          },\n        })\n        this.$emit('saveTags')\n      })\n\n      // this.SYNC_TAGS({\n      //   id: this.id,\n      //   payload: { tags: tags },\n      // }).then((res) => {\n      //   this.$toast({\n      //     component: ToastificationContentVue,\n      //     props: {\n      //       title: this.$t(`Catégories mis à jour avec success`),\n      //       variant: \"success\",\n      //     },\n      //   });\n      //   this.$emit(\"saveTags\");\n      // });\n    },\n  },\n}\n</script>\n<style>\n.nav-pills .nav-link,\n.nav-tabs .nav-link {\n  justify-content: start !important;\n}\n</style>\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!./UhubTags.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!./UhubTags.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UhubTags.vue?vue&type=template&id=18480848&\"\nimport script from \"./UhubTags.vue?vue&type=script&lang=js&\"\nexport * from \"./UhubTags.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UhubTags.vue?vue&type=style&index=0&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  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <b-card title=\"Groupes de compétences\">\n    <!-- User Interface controls -->\n    <b-row>\n      <Can\n        i=\"create\"\n        a=\"competence_group\"\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=\"$t('Filtrez vos résultats')\"\n            />\n\n            <b-input-group-append>\n              <b-button\n                :disabled=\"!filter\"\n                @click=\"filter = ''\"\n              >{{\n                $t(\"Clear\")\n              }}</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        <!-- <Can I=\"update\" a=\"groupe\"> -->\n        <b-btn\n          variant=\"outline-dark\"\n          @click=\"editItem(row.item)\"\n        >\n          <feather-icon icon=\"Edit2Icon\" />\n        </b-btn>\n        <!-- </Can> -->\n\n        <!-- <Can I=\"delete\" a=\"groupe\"> -->\n        <b-btn\n          variant=\"outline-dark\"\n          @click=\"deleteItem(row.item)\"\n        >\n          <feather-icon icon=\"TrashIcon\" />\n        </b-btn>\n        <!-- </Can> -->\n        <!-- <Can I=\"delete\" a=\"groupe\"> -->\n        <b-btn\n          variant=\"outline-dark\"\n          @click=\"syncUsers(row.item)\"\n        >\n          <feather-icon icon=\"UsersIcon\" />\n        </b-btn>\n        <!-- </Can> -->\n        <!-- <Can I=\"sync\" a=\"uhub_users_permissions\"> -->\n        <b-btn\n          variant=\"outline-dark\"\n          @click=\"editPermissions(row.item)\"\n        >\n          <feather-icon icon=\"KeyIcon\" />\n        </b-btn>\n        <!-- </Can> -->\n        <!-- <Can I=\"sync\" a=\"uhub_users_permissions\"> -->\n        <b-btn\n          variant=\"outline-dark\"\n          @click=\"editTags(row.item)\"\n        >\n          <feather-icon icon=\"TagIcon\" />\n        </b-btn>\n        <!-- </Can> -->\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-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      id=\"modal-prevent-closing\"\n      ref=\"modal\"\n      v-model=\"dialogSyncUsers\"\n      class=\"test\"\n      :title=\"formTitle\"\n      hide-footer\n      size=\"xl\"\n    >\n      <group-users :id=\"editedItem.id\" />\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-modal\n      id=\"modal-prevent-closing\"\n      ref=\"modal\"\n      v-model=\"dialogPermissions\"\n      :title=\"formTitle\"\n      hide-footer\n      size=\"lg\"\n    >\n      <Permissions\n        :id=\"editedItem.id\"\n        @savePermissions=\"savePermissions\"\n      />\n    </b-modal>\n    <b-modal\n      id=\"modal-prevent-closing\"\n      ref=\"modal\"\n      v-model=\"dialogTags\"\n      :title=\"formTitle\"\n      hide-footer\n      size=\"lg\"\n    >\n      <Tags\n        :id=\"editedItem.id\"\n        @saveTags=\"saveTags\"\n      />\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'\nimport GroupUsers from '@/components/groupes/GroupUsers.vue'\nimport Permissions from '@/components/groupes/UhubPermissions.vue'\nimport Tags from '@/components/groupes/UhubTags.vue'\n\nexport default {\n  components: {\n    ValidationProvider,\n    ValidationObserver,\n    GroupUsers,\n    Permissions,\n    Tags,\n  },\n  data() {\n    return {\n      dialogSyncUsers: false,\n      dialogPermissions: false,\n      dialogTags: false,\n      dialogDelete: false,\n      editedIndex: -1,\n      editedItem: {\n        name: '',\n      },\n      defaultItem: {\n        name: '',\n      },\n      items: [],\n      fields: [\n        {\n          key: 'id',\n          label: 'Id',\n          sortable: true,\n          sortDirection: 'desc',\n        },\n        {\n          key: 'name',\n          label: 'Nom',\n          sortable: true,\n          sortDirection: 'desc',\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\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    formTitle() {\n      return this.editedIndex === -1\n        ? this.$t('New Item')\n        : this.$t('Edit Item')\n    },\n  },\n  watch: {\n    dialog(val) {\n      val || this.close()\n    },\n    dialogDelete(val) {\n      val || this.closeDelete()\n    },\n    dialogSyncUsers(val) {\n      val || this.closedialogSyncUsers()\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {\n    ...mapActions('groupes', [\n      'GET_GROUPES',\n      'EDIT_GROUPE',\n      'ADD_GROUPE',\n      'DELETE_GROUPE',\n    ]),\n    initialize() {\n      this.GET_GROUPES().then(res => {\n        this.items = res\n\n        this.totalRows = this.items.length\n      })\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_GROUPE(this.editedItem.id).then(() => {\n        this.initialize()\n      })\n\n      this.closeDelete()\n    },\n    closedialogSyncUsers() {\n      this.dialogSyncUsers = false\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    syncUsers(item) {\n      this.editedIndex = this.items.indexOf(item)\n      this.editedItem = { ...item }\n      this.dialogSyncUsers = 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_GROUPE({\n              id: this.editedItem.id,\n              payload: this.editedItem,\n            }).then(() => {\n              this.$toast({\n                component: ToastificationContent,\n                props: {\n                  title: this.$t('Groupe mis à jour avec Success'),\n                  icon: 'EditIcon',\n                  variant: 'success',\n                },\n              })\n              this.initialize()\n            })\n            // Object.assign(this.items[this.editedIndex], this.editedItem);\n          } else {\n            this.ADD_GROUPE(this.editedItem).then(res => {\n              this.$toast({\n                component: ToastificationContent,\n                props: {\n                  title: this.$t('Groupe ajouté avec Success'),\n                  icon: 'EditIcon',\n                  variant: 'success',\n                },\n              })\n              this.initialize()\n            })\n            // this.editedItem.id = this.items.length + 1;\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    ...mapActions('permissions_uhub', ['EDIT_PERMISSIONS']),\n\n    updateusers(data) {\n      this.editedItem.editedusers = data\n    },\n    editPermissions(item) {\n      this.editedIndex = this.items.indexOf(item)\n      this.editedItem = { ...item }\n\n      this.dialogPermissions = true\n    },\n    closePermissions() {\n      this.dialogPermissions = false\n      this.$nextTick(() => {\n        this.editedItem = { ...this.defaultItem }\n        this.editedIndex = -1\n      })\n    },\n    savePermissions() {\n      // this.EDIT_PERMISSIONS({\n      //   id: this.editedItem.id,\n      //   payload: { permissions: this.editedItem.editedPermissions },\n      // }).then((res) => {\n      //   this.$toast({\n      //     component: ToastificationContent,\n      //     props: {\n      //       title: this.$t(`Permission mis à jour avec success`),\n      //       variant: \"success\",\n      //     },\n      //   });\n      //   this.initialize();\n      // });\n\n      this.closePermissions()\n    },\n    editTags(item) {\n      this.editedIndex = this.items.indexOf(item)\n      this.editedItem = { ...item }\n\n      this.dialogTags = true\n    },\n    closeTags() {\n      this.dialogTags = false\n      this.$nextTick(() => {\n        this.editedItem = { ...this.defaultItem }\n        this.editedIndex = -1\n      })\n    },\n    saveTags() {\n      // this.EDIT_PERMISSIONS({\n      //   id: this.editedItem.id,\n      //   payload: { permissions: this.editedItem.editedTags },\n      // }).then((res) => {\n      //   this.$toast({\n      //     component: ToastificationContent,\n      //     props: {\n      //       title: this.$t(`Permission mis à jour avec success`),\n      //       variant: \"success\",\n      //     },\n      //   });\n      //   this.initialize();\n      // });\n\n      this.closeTags()\n    },\n  },\n}\n</script>\n<style></style>\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=2d2b2962&\"\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","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!./UhubTags.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}