{"version":3,"sources":["webpack:///./src/components/users/UhubPermissions.vue?2ba3","webpack:///./src/components/users/GroupUsers.vue?619c","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./src/views/UhubPermissions/UserPermissions.vue?6725","webpack:///./src/components/users/GroupUsers.vue?42f6","webpack:///src/components/users/GroupUsers.vue","webpack:///./src/components/users/GroupUsers.vue?2978","webpack:///./src/components/users/GroupUsers.vue","webpack:///./src/components/users/UhubPermissions.vue?4ce7","webpack:///src/components/users/UhubPermissions.vue","webpack:///./src/components/users/UhubPermissions.vue?30a5","webpack:///./src/components/users/UhubPermissions.vue","webpack:///./src/components/users/UhubTags.vue?9d3e","webpack:///src/components/users/UhubTags.vue","webpack:///./src/components/users/UhubTags.vue?dbae","webpack:///./src/components/users/UhubTags.vue","webpack:///src/views/UhubPermissions/UserPermissions.vue","webpack:///./src/views/UhubPermissions/UserPermissions.vue?0ff3","webpack:///./src/views/UhubPermissions/UserPermissions.vue","webpack:///./src/components/users/UhubTags.vue?2e80"],"names":["$","$find","find","addToUnscopables","FIND","SKIPS_HOLES","Array","target","proto","forced","callbackfn","this","arguments","length","undefined","render","_vm","_h","$createElement","_c","_self","attrs","$t","staticClass","on","$event","type","indexOf","_k","keyCode","key","getusers","apply","model","value","serverParams","callback","$$v","$set","expression","_v","totalRecords","isLoading","enabled","rows","columns","onPageChange","onSortChange","onColumnFilter","onPerPageChange","scopedSlots","_u","fn","props","column","field","_s","row","firstname","lastname","$moment","date_creation","format","latest_solvability","solvabilite","statusVariant","directives","name","rawName","syncUsers","formattedRow","perPageChanged","currentPerPage","pageLength","total","pageChanged","currentPage","proxy","ref","formTitle","dialogSyncUsers","editedItem","id","deleteItemConfirm","closeDelete","dialogDelete","dialogPermissions","savePermissions","dialogTags","saveTags","staticRenderFns","$store","state","appConfig","isRTL","items","onSearch","onSelect","attributes","_b","option","deselect","multiple","disabled","selected","_l","listItem","index","slice","remove","components","draggable","vSelect","Permissions","required","data","role","class","watch","handler","newValue","oldValue","deep","mounted","methods","mapActions","initialize","payload","then","search","loading","selectedOption","component","item","permission","description","permissions","filtred","user_permissions","acc","map","children","title","variant","subtag","subtags","user_subtags","VueGoodTable","GroupUsers","Tags","columnFilters","sort","page","perPage","label","sortable","computed","sortOptions","filter","text","dialog","val","updateParams","newProps","params","deleteItem","closedialogSyncUsers","info","msg","editItem","close","save","icon","onFiltered","filteredrows","updateusers","editPermissions","closePermissions","editTags","closeTags"],"mappings":"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","file":"UhubUsersPermissions~31ecd969.25b984f7.js?version=1727726453033","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!./UhubPermissions.vue?vue&type=style&index=0&lang=css&\"","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&\"","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n  find: function find(callbackfn /* , that = undefined */) {\n    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"title\":_vm.$t('Utilisateurs UHUB')}},[_c('div',{},[_c('b-form-group',[_c('div',{staticClass:\"d-flex align-rows-center\"},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('Filtrez vos résultats'),\"type\":\"text\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getusers.apply(null, arguments)}},model:{value:(_vm.serverParams.columnFilters),callback:function ($$v) {_vm.$set(_vm.serverParams, \"columnFilters\", $$v)},expression:\"serverParams.columnFilters\"}}),_c('b-btn',{on:{\"click\":_vm.getusers}},[_vm._v(\" Filtrer \")])],1)])],1),_c('vue-good-table',{attrs:{\"mode\":\"remote\",\"total-rows\":_vm.totalRecords,\"is-loading\":_vm.isLoading,\"pagination-options\":{\n      enabled: true,\n    },\"rows\":_vm.rows,\"columns\":_vm.columns},on:{\"update:isLoading\":function($event){_vm.isLoading=$event},\"update:is-loading\":function($event){_vm.isLoading=$event},\"on-page-change\":_vm.onPageChange,\"on-sort-change\":_vm.onSortChange,\"on-column-filter\":_vm.onColumnFilter,\"on-per-page-change\":_vm.onPerPageChange},scopedSlots:_vm._u([{key:\"table-row\",fn:function(props){return [(props.column.field === 'nom')?_c('span',{staticClass:\"text-nowrap\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(props.row.firstname)+\" \"+_vm._s(props.row.lastname))])]):(props.column.field === 'date_creation')?_c('span',{staticClass:\"text-nowrap\"},[_c('span',{staticClass:\"text-nowrap\"},[_c('span',[_vm._v(_vm._s(_vm.$moment(props.row.date_creation).format(\"DD/MM/YYYY hh:mm\")))])])]):(props.column.field === 'latest_solvability.solvabilite')?_c('span',[(\n            props.row.latest_solvability &&\n              props.row.latest_solvability.solvabilite\n          )?_c('b-badge',{attrs:{\"variant\":_vm.statusVariant(props.row.latest_solvability.solvabilite)}},[_vm._v(\" \"+_vm._s(props.row.latest_solvability.solvabilite)+\" \")]):_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.$t(\"En cours\")))])],1):(props.column.field === 'action')?_c('span',[_c('b-button-group',[_c('Can',{attrs:{\"i\":\"sync_permissions\",\"a\":\"competence_group\"}},[_c('b-btn',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip\",value:(\"Groupes de competence\"),expression:\"`Groupes de competence`\"}],attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function($event){return _vm.syncUsers(props.row)}}},[_c('span',{staticClass:\"mdi mdi-home-group\"})])],1)],1)],1):_c('span',[_vm._v(\" \"+_vm._s(props.formattedRow[props.column.field])+\" \")])]}},{key:\"pagination-bottom\",fn:function(props){return [_c('div',{staticClass:\"d-flex justify-content-between flex-wrap\"},[_c('div',{staticClass:\"d-flex align-rows-center mb-0 mt-1\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" Showing 1 to \")]),_c('b-form-select',{staticClass:\"mx-1\",attrs:{\"options\":['3', '5', '10', '30', '50', '100']},on:{\"input\":function (value) { return props.perPageChanged({ currentPerPage: value }); }},model:{value:(_vm.pageLength),callback:function ($$v) {_vm.pageLength=$$v},expression:\"pageLength\"}}),_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" of \"+_vm._s(props.total)+\" entries \")])],1),_c('div',[_c('b-pagination',{staticClass:\"mt-1 mb-0\",attrs:{\"value\":1,\"total-rows\":props.total,\"per-page\":_vm.pageLength,\"first-number\":\"\",\"last-number\":\"\",\"align\":\"right\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},on:{\"input\":function (value) { return props.pageChanged({ currentPage: value }); }},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}],null,true)})],1)])]}}])}),_c('br'),_c('b-modal',{ref:\"modal\",staticClass:\"test\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},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(('Delete')))])],1),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"sm\"},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\":\"name\",\"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 name = ref.name;\nreturn [_c('div',[_c('span',[_vm._v(\" \"+_vm._s(name))])])]}},{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 Groupes\"))+\" \")]),_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.name.slice(0, 2)}}),_c('div',{staticClass:\"ml-25\"},[_c('b-card-text',{staticClass:\"mb-0 font-weight-bold\"},[_vm._v(\" \"+_vm._s(listItem.name)+\" \")])],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=\"name\"\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=\"{ name }\">\n            <div>\n              <span> {{ name }}</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 Groupes\") }}\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 :text=\"listItem.name.slice(0, 2)\" />\n              <div class=\"ml-25\">\n                <b-card-text class=\"mb-0 font-weight-bold\">\n                  {{ listItem.name }}\n                </b-card-text>\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    }\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      'GROUP_SEARCH',\n    ]),\n    ...mapActions('users_uhub', ['GET_USER_INFO']),\n\n    async initialize() {\n      this.GET_USER_INFO(this.id).then(res => {\n        if (res) {\n          this.selected = res.competences_groups\n        }\n      })\n    },\n\n    remove(listItem) {\n      // this.selected = this.selected.filter((item) => item !== listItem);\n      this.REMOVE_USER_FROM_GROUP({\n        id: listItem.id,\n        payload: this.id,\n      }).then(res => {\n        if (res) {\n          this.selected = this.selected.filter(item => item !== listItem)\n        }\n      })\n    },\n    onSearch(search, loading) {\n      if (search.length) {\n        loading(true)\n        this.GROUP_SEARCH(search).then(res => {\n          this.items = res\n          loading(false)\n        })\n      }\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: selectedOption.id,\n          payload: this.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: selectedOption.id,\n\n          payload: this.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=21802a44&\"\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-form-checkbox-group',{attrs:{\"id\":\"flavors\",\"switches\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[[_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(permission){return _c('b-card-text',{key:permission.id},[_c('b-form-checkbox',{key:permission.id,attrs:{\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\",\"value\":permission.id}},[_vm._v(\" \"+_vm._s(permission.description)+\" \")])],1)}),1)}),1)]],2),_c('b-btn',{on:{\"click\":_vm.savePermissions}},[_vm._v(\" \"+_vm._s(_vm.$t(\"save\"))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card>\n    <!-- left position -->\n    <b-form-checkbox-group\n      id=\"flavors\"\n      v-model=\"selected\"\n      switches\n    >\n      <template>\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=\"permission in item.children\"\n              :key=\"permission.id\"\n            >\n              <b-form-checkbox\n                :key=\"permission.id\"\n                name=\"check-button\"\n                switch\n                inline\n                :value=\"permission.id\"\n              >\n                {{ permission.description }}\n              </b-form-checkbox>\n            </b-card-text>\n          </b-tab>\n        </b-tabs>\n      </template>\n    </b-form-checkbox-group>\n    <b-btn @click=\"savePermissions\">\n      {{ $t(\"save\") }}\n    </b-btn>\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      permissions: [],\n      filtred: [],\n      selected: [],\n      user_permissions: [],\n    }\n  },\n\n  watch: {\n    selected: {\n      handler(newValue, oldValue) {\n        this.$emit('update_permissions', newValue)\n      },\n      deep: true,\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {},\n  methods: {\n    ...mapActions('permissions_uhub', ['GET_PERMISSIONS', 'EDIT_PERMISSIONS']),\n    ...mapActions('groupes', ['GET_GROUP_INFO']),\n    ...mapActions('users_uhub', ['GET_USER_INFO']),\n    async initialize() {\n      this.GET_PERMISSIONS().then(permissions => {\n        this.permissions = permissions\n        this.permissions = this.permissions.map(permission => {\n          permission.action = permission.name.split('.')[0]\n          permission.group = permission.name.split('.')[1]\n          return permission\n        })\n        this.filtred = Object.entries(\n          this.permissions.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_USER_INFO(this.id).then(res => {\n        if (res) {\n          this.selected = res.permissions.map(el => el.id)\n        }\n      })\n    },\n    savePermissions() {\n      this.EDIT_PERMISSIONS({\n        id: this.id,\n        payload: { permissions: this.selected },\n      }).then(() => {\n        this.$toast({\n          component: ToastificationContentVue,\n          props: {\n            title: this.$t('Permission mis à jour avec success'),\n            variant: 'success',\n          },\n        })\n        this.$emit('savePermissions')\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!./UhubPermissions.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!./UhubPermissions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UhubPermissions.vue?vue&type=template&id=a8c88706&\"\nimport script from \"./UhubPermissions.vue?vue&type=script&lang=js&\"\nexport * from \"./UhubPermissions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UhubPermissions.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form-checkbox-group',{attrs:{\"id\":\"flavors\",\"switches\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[[_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},[_c('b-form-checkbox',{key:subtag.id,attrs:{\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\",\"value\":subtag.id}},[_vm._v(\" \"+_vm._s(subtag.name)+\" \")])],1)}),1)}),1)]],2),_c('b-btn',{on:{\"click\":_vm.saveTags}},[_vm._v(\" \"+_vm._s(_vm.$t(\"save\"))+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card>\n    <!-- left position -->\n    <b-form-checkbox-group\n      id=\"flavors\"\n      v-model=\"selected\"\n      switches\n    >\n      <template>\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            >\n              <b-form-checkbox\n                :key=\"subtag.id\"\n                name=\"check-button\"\n                switch\n                inline\n                :value=\"subtag.id\"\n              >\n                {{ subtag.name }}\n              </b-form-checkbox>\n            </b-card-text>\n          </b-tab>\n        </b-tabs>\n      </template>\n    </b-form-checkbox-group>\n    <b-btn @click=\"saveTags\">\n      {{ $t(\"save\") }}\n    </b-btn>\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      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    ...mapActions('users_uhub', ['GET_USER_INFO']),\n    async initialize() {\n      this.GET_SUBTAGS().then(subtags => {\n        this.subtags = subtags\n        this.subtags = this.subtags.map(subtag => {\n          subtag.action = 'test'\n          subtag.group = subtag.tag.name\n          return 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_USER_INFO(this.id).then(res => {\n        if (res) {\n          this.selected = res.subtags.map(el => el.id)\n        }\n      })\n    },\n    saveTags() {\n      const subtags = this.selected.map(\n        el => this.subtags.find(subtag => subtag.id == el).tag.id,\n      )\n      const tags = subtags.filter(\n        (tag, index) => subtags.indexOf(tag) == index,\n      )\n\n      this.SYNC_SUBTAGS({\n        id: this.id,\n        payload: { subtags: this.selected },\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=228ddb83&\"\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=\"$t('Utilisateurs UHUB')\">\n    <!-- search input -->\n    <div class=\"\">\n      <b-form-group>\n        <div class=\"d-flex align-rows-center\">\n          <b-form-input\n            v-model=\"serverParams.columnFilters\"\n            :placeholder=\"$t('Filtrez vos résultats')\"\n            type=\"text\"\n            @keyup.enter=\"getusers\"\n          />\n          <b-btn @click=\"getusers\">\n            Filtrer\n          </b-btn>\n        </div>\n      </b-form-group>\n    </div>\n\n    <!-- table -->\n    <vue-good-table\n      mode=\"remote\"\n      :total-rows=\"totalRecords\"\n      :is-loading.sync=\"isLoading\"\n      :pagination-options=\"{\n        enabled: true,\n      }\"\n      :rows=\"rows\"\n      :columns=\"columns\"\n      @on-page-change=\"onPageChange\"\n      @on-sort-change=\"onSortChange\"\n      @on-column-filter=\"onColumnFilter\"\n      @on-per-page-change=\"onPerPageChange\"\n    >\n      <template\n        slot=\"table-row\"\n        slot-scope=\"props\"\n      >\n        <!-- Column: Name -->\n        <span\n          v-if=\"props.column.field === 'nom'\"\n          class=\"text-nowrap\"\n        >\n          <span class=\"text-nowrap\">{{ props.row.firstname }} {{ props.row.lastname }}</span>\n        </span>\n\n        <!-- Column: date d'ajout -->\n        <span\n          v-else-if=\"props.column.field === 'date_creation'\"\n          class=\"text-nowrap\"\n        >\n          <span class=\"text-nowrap\"><span>{{\n            $moment(props.row.date_creation).format(\"DD/MM/YYYY hh:mm\")\n          }}</span></span>\n        </span>\n        <!-- Column: Status -->\n        <span\n          v-else-if=\"props.column.field === 'latest_solvability.solvabilite'\"\n        >\n          <b-badge\n            v-if=\"\n              props.row.latest_solvability &&\n                props.row.latest_solvability.solvabilite\n            \"\n            :variant=\"statusVariant(props.row.latest_solvability.solvabilite)\"\n          >\n            {{ props.row.latest_solvability.solvabilite }}\n          </b-badge>\n          <b-badge\n            v-else\n            variant=\"secondary\"\n          >{{ $t(\"En cours\") }}</b-badge>\n        </span>\n\n        <!-- Column: Action -->\n        <span v-else-if=\"props.column.field === 'action'\">\n          <b-button-group>\n            <Can\n              i=\"sync_permissions\"\n              a=\"competence_group\"\n            >\n              <b-btn\n                v-b-tooltip=\"`Groupes de competence`\"\n                variant=\"outline-dark\"\n                @click=\"syncUsers(props.row)\"\n              >\n                <span class=\"mdi mdi-home-group\" />\n              </b-btn>\n            </Can>\n            <!-- <Can I=\"sync\" a=\"uhub_users_permissions\"> -->\n            <!-- <b-btn @click=\"editPermissions(props.row)\" variant=\"outline-dark\">\n              <feather-icon icon=\"KeyIcon\" />\n            </b-btn> -->\n            <!-- </Can> -->\n            <!-- <Can I=\"sync\" a=\"uhub_users_permissions\"> -->\n            <!-- <b-btn variant=\"outline-dark\" @click=\"editTags(props.row)\">\n              <feather-icon icon=\"TagIcon\" />\n            </b-btn> -->\n            <!-- </Can> -->\n          </b-button-group>\n        </span>\n\n        <!-- Column: Common -->\n        <span v-else>\n          {{ props.formattedRow[props.column.field] }}\n        </span>\n      </template>\n\n      <!-- pagination -->\n      <template\n        slot=\"pagination-bottom\"\n        slot-scope=\"props\"\n      >\n        <div class=\"d-flex justify-content-between flex-wrap\">\n          <div class=\"d-flex align-rows-center mb-0 mt-1\">\n            <span class=\"text-nowrap\"> Showing 1 to </span>\n            <b-form-select\n              v-model=\"pageLength\"\n              :options=\"['3', '5', '10', '30', '50', '100']\"\n              class=\"mx-1\"\n              @input=\"\n                (value) => props.perPageChanged({ currentPerPage: value })\n              \"\n            />\n            <span class=\"text-nowrap\"> of {{ props.total }} entries </span>\n          </div>\n          <div>\n            <b-pagination\n              :value=\"1\"\n              :total-rows=\"props.total\"\n              :per-page=\"pageLength\"\n              first-number\n              last-number\n              align=\"right\"\n              prev-class=\"prev-item\"\n              next-class=\"next-item\"\n              class=\"mt-1 mb-0\"\n              @input=\"(value) => props.pageChanged({ currentPage: value })\"\n            >\n              <template #prev-text>\n                <feather-icon\n                  icon=\"ChevronLeftIcon\"\n                  size=\"18\"\n                />\n              </template>\n              <template #next-text>\n                <feather-icon\n                  icon=\"ChevronRightIcon\"\n                  size=\"18\"\n                />\n              </template>\n            </b-pagination>\n          </div>\n        </div>\n      </template>\n    </vue-good-table>\n    <br>\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=\"lg\"\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      >{{('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=\"sm\"\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<script>\nimport { VueGoodTable } from 'vue-good-table'\nimport store from '@/store/index'\nimport Ripple from 'vue-ripple-directive'\nimport { mapActions } from 'vuex'\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\nimport GroupUsers from '@/components/users/GroupUsers.vue'\nimport Permissions from '@/components/users/UhubPermissions.vue'\nimport Tags from '@/components/users/UhubTags.vue'\n\nexport default {\n  components: {\n    // ValidationProvider,\n    // ValidationObserver,\n    VueGoodTable,\n    GroupUsers,\n    Permissions,\n    Tags,\n  },\n  data() {\n    return {\n      isLoading: false,\n      rows: [],\n      totalRecords: 0,\n      serverParams: {\n        columnFilters: '',\n        sort: [\n          {\n            field: '',\n            type: '',\n          },\n        ],\n        page: 1,\n        perPage: 10,\n      },\n\n      disabled: false,\n      pageLength: 10,\n      disabled: false,\n      dialogDelete: false,\n      dialogSyncUsers: false,\n      dialogPermissions: false,\n      dialogTags: false,\n\n      pageLength: 10,\n      dir: false,\n      dialog: false,\n      columns: [\n        {\n          label: this.$t('Identifiant'),\n          field: 'id',\n          type: 'number',\n        },\n        {\n          label: this.$t('Nom & Prénom'),\n          field: 'nom',\n        },\n        {\n          label: this.$t('Email'),\n          field: 'email',\n        },\n        {\n          label: this.$t(\"Date d'ajout\"),\n          field: 'date_creation',\n        },\n\n        {\n          label: this.$t('Actions'),\nsortable: false,\n          field: 'action',\n        },\n      ],\n      searchTerm: '',\n      loading: true,\n      editedIndex: -1,\n      editedItem: {\n        name: '',\n      },\n      defaultItem: {\n        name: '',\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        ? `${\n          this.$t(\"Groupes de competence de l'utilisateur\")\n            + this.editedItem.firstname\n        }  ${this.editedItem.lastname}`\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    dialogTags(val) {\n      val || this.closedialogTags()\n    },\n    dialogPermissions(val) {\n      val || this.closedialogPermissions()\n    },\n  },\n  async mounted() {\n    await this.getusers()\n  },\n  methods: {\n    ...mapActions('groupes', [\n      'GET_GROUPES',\n      'EDIT_GROUPE',\n      'ADD_GROUPE',\n      'DELETE_GROUPE',\n    ]),\n    ...mapActions('users_uhub', ['GET_USERS']),\n    async getusers() {\n      this.isLoading = true\n      await this.GET_USERS(this.serverParams).then(res => {\n        if (res) {\n          this.rows = res.data\n          this.isLoading = false\n          this.totalRecords = res.count\n        }\n      })\n    },\n    updateParams(newProps) {\n      this.serverParams = { ...this.serverParams, ...newProps }\n    },\n\n    onPageChange(params) {\n      this.updateParams({ page: params.currentPage })\n      this.getusers()\n    },\n\n    onPerPageChange(params) {\n      this.updateParams({ perPage: params.currentPerPage, page: 1 })\n\n      this.getusers()\n    },\n\n    onSortChange(params) {\n      this.updateParams({\n        sort: params,\n      })\n      this.getusers()\n    },\n\n    onColumnFilter(params) {\n      this.updateParams(params)\n      this.getusers()\n    },\n\n    deleteItem(item) {\n      this.editedIndex = this.rows.indexOf(item)\n      this.editedItem = { ...item }\n      this.dialogDelete = true\n    },\n\n    deleteItemConfirm() {\n      // this.rows.splice(this.editedIndex, 1);\n      this.DELETE_GROUPE(this.editedItem.id).then(() => {\n        this.getusers()\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.rows.indexOf(item)\n      this.editedItem = { ...item }\n      this.dialogSyncUsers = true\n    },\n    editItem(item) {\n      this.editedIndex = this.rows.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.getusers()\n            })\n            // Object.assign(this.rows[this.editedIndex], this.editedItem);\n          } else {\n            this.ADD_GROUPE(this.editedItem).then(() => {\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.getusers()\n            })\n            // this.editedItem.id = this.rows.length + 1;\n            // this.rows.push(this.editedItem);\n          }\n          this.close()\n        }\n      })\n    },\n    onFiltered(filteredrows) {\n      // Trigger pagination to update the number of buttons/pages due to filtering\n      this.totalRows = filteredrows.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.rows.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.getusers();\n      // });\n\n      this.closePermissions()\n    },\n    editTags(item) {\n      this.editedIndex = this.rows.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.getusers();\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!./UserPermissions.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!./UserPermissions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPermissions.vue?vue&type=template&id=ee30e538&\"\nimport script from \"./UserPermissions.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPermissions.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":""}