{"version":3,"sources":["webpack:///groups.90121442a2b21ad9551b.bundle.js","webpack:///groups/components/app.vue","webpack:///groups/components/groups.vue","webpack:///./groups/components/groups.vue?317e","webpack:///./groups/components/groups.vue","webpack:///./groups/constants.js","webpack:///./groups/event_hub.js","webpack:///./groups/groups_filterable_list.js","webpack:///./groups/store/groups_store.js","webpack:///./groups/service/groups_service.js","webpack:///./groups/components/app.vue?707a","webpack:///./groups/components/app.vue","webpack:///groups/components/group_folder.vue","webpack:///./groups/components/group_folder.vue?317a","webpack:///./groups/components/group_folder.vue","webpack:///groups/components/item_caret.vue","webpack:///./groups/components/item_caret.vue?c888","webpack:///./groups/components/item_caret.vue","webpack:///groups/components/item_type_icon.vue","webpack:///./groups/components/item_type_icon.vue?983a","webpack:///./groups/components/item_type_icon.vue","webpack:///groups/components/item_stats.vue","webpack:///./groups/components/item_stats.vue?0376","webpack:///./groups/components/item_stats.vue","webpack:///groups/components/item_actions.vue","webpack:///./groups/components/item_actions.vue?1562","webpack:///./groups/components/item_actions.vue","webpack:///groups/components/group_item.vue","webpack:///./groups/components/group_item.vue?a3cb","webpack:///./groups/components/group_item.vue","webpack:///./groups/index.js"],"names":["webpackJsonp","../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/app.vue","module","__webpack_exports__","__webpack_require__","$","__WEBPACK_IMPORTED_MODULE_0__event_hub__","__WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__","__WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__","__WEBPACK_IMPORTED_MODULE_3__constants__","__WEBPACK_IMPORTED_MODULE_4__groups_vue__","components","loadingIcon","groupsComponent","props","store","type","Object","required","service","hideProjects","Boolean","data","isLoading","isSearchEmpty","searchEmptyMessage","computed","groups","this","getGroups","pageInfo","getPaginationInfo","methods","fetchGroups","_ref","_this","parentId","page","filterGroupsBy","sortBy","archived","updatePagination","then","res","headers","json","catch","scrollTo","Flash","FAILURE","fetchAllGroups","_this2","updateGroups","fetchPage","_this3","currentPath","gl","utils","mergeUrlParams","window","location","href","history","replaceState","document","title","toggleChildren","group","_this4","parentGroup","isOpen","children","length","isChildrenLoading","id","setGroupChildren","leaveGroup","_this5","targetGroup","isBeingRemoved","leavePath","removeGroup","notice","err","message","status","LEAVE_FORBIDDEN","setPaginationInfo","fromSearch","setSearchedGroups","setGroups","created","GROUP_SEARCH_EMPTY","GROUP_PROJECT_SEARCH_EMPTY","$on","mounted","beforeDestroy","$off","call","./groups/components/groups.vue","table_pagination","event_hub","common_utils","tablePagination","Array","searchEmpty","String","change","filterGroupsParam","sortParam","archivedParam","$emit","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","_e","attrs","staticRenderFns","esExports","components_groups","normalizeComponent","Component","./groups/constants.js","d","MAX_CHILDREN_COUNT","COMMON_STR","ITEM_TYPE","GROUP_VISIBILITY_TYPE","PROJECT_VISIBILITY_TYPE","VISIBILITY_TYPE_ICON","__WEBPACK_IMPORTED_MODULE_0__locale__","LEAVE_BTN_TITLE","EDIT_BTN_TITLE","PROJECT","GROUP","public","internal","private","./groups/event_hub.js","__WEBPACK_IMPORTED_MODULE_0_vue__","./groups/groups_filterable_list.js","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","prototype","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","__WEBPACK_IMPORTED_MODULE_0__filterable_list__","__WEBPACK_IMPORTED_MODULE_1__event_hub__","__WEBPACK_IMPORTED_MODULE_2__lib_utils_common_utils__","_createClass","defineProperties","target","i","descriptor","defineProperty","key","protoProps","staticProps","_get","get","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","parent","getPrototypeOf","getter","GroupFilterableList","_FilterableList","form","filter","holder","filterEndpoint","pagePath","dropdownSel","filterInputField","$dropdown","queryData","params","param","queryString","onFilterOptionClikWrapper","onOptionClick","bind","on","$form","find","val","filterResults","setDefaultFilterOption","defaultOption","trim","first","text","e","preventDefault","currentTargetClassList","currentTarget","parentElement","classList","isOptionFilterBySort","contains","isOptionFilterByArchivedProjects","sort","removeClass","addClass","querySelector","xhr","getPagePath","paginationData","X-Per-Page","getResponseHeader","X-Page","X-Total","X-Total-Pages","X-Next-Page","X-Prev-Page","hasOwnProperty","./groups/index.js","groups_service__classCallCheck","vue_esm","translate","groups_filterable_list","groups_store_GroupsStore","GroupsStore","state","rawGroups","map","rawGroup","formatGroupItem","formatGroups","formattedGroup","updatedParentGroup","rawChild","pagination","arguments","paginationInfo","keys","normalizedHeaders","rawGroupItem","groupChildren","groupIsOpen","childrenCount","subgroup_count","children_count","name","fullName","full_name","description","visibility","avatarUrl","avatar_url","relativePath","relative_path","editPath","edit_path","leave_path","canEdit","can_edit","canLeave","can_leave","permission","parent_id","projectCount","project_count","subgroupCount","memberCount","number_users_with_delimiter","starCount","star_count","child","groups_store","vue_resource_es2015","groups_service__createClass","use","groups_service_GroupsService","GroupsService","endpoint","resource","filterGroups","http","delete","groups_service","app","size","label","s__","search-empty","search-empty-message","page-info","components_app","groups_components_app","locale","constants","group_folder","default","hasMoreChildren","moreChildrenStats","group_folder_render","_l","index","parent-group","aria-hidden","group_folder_staticRenderFns","group_folder_esExports","components_group_folder","group_folder_normalizeComponent","group_folder_Component","groups_components_group_folder","tooltip","identicon","item_caret","isGroupOpen","iconClass","item_caret_render","class","item_caret_staticRenderFns","item_caret_esExports","components_item_caret","item_caret_normalizeComponent","item_caret_Component","groups_components_item_caret","item_type_icon","itemType","item_type_icon_render","item_type_icon_staticRenderFns","item_type_icon_esExports","components_item_type_icon","item_type_icon_normalizeComponent","item_type_icon_Component","groups_components_item_type_icon","item_stats","directives","item","visibilityIcon","visibilityTooltip","isProject","isGroup","item_stats_render","rawName","data-placement","data-container","item_stats_staticRenderFns","item_stats_esExports","components_item_stats","item_stats_normalizeComponent","item_stats_Component","groups_components_item_stats","popup_dialog","icon","item_actions","Icon","PopupDialog","dialogStatus","leaveBtnTitle","editBtnTitle","leaveConfirmationMessage","onLeaveGroup","leaveConfirmed","item_actions_render","aria-label","click","$event","expression","primary-button-label","__","kind","body","submit","item_actions_staticRenderFns","item_actions_esExports","components_item_actions","item_actions_normalizeComponent","item_actions_Component","groups_components_item_actions","group_item","itemCaret","itemTypeIcon","itemStats","itemActions","groupDomId","rowClass","is-open","has-children","hasChildren","has-description","being-removed","hasAvatar","onClickRowGroup","visitUrl","group_item_render","stopPropagation","is-group-open","item-type","content-loading","src","entity-id","entity-name","group_item_staticRenderFns","group_item_esExports","components_group_item","group_item_normalizeComponent","group_item_Component","groups_components_group_item","addEventListener","el","getElementById","component","groupsApp","dataset","$options","loading","beforeMount","groupFilterList","formSel","filterSel","holderSel","opts","path","initSearch","createElement"],"mappings":"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","file":"groups.90121442a2b21ad9551b.bundle.js","sourcesContent":["webpackJsonp([\"groups\"],{\n\n/***/ \"../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/app.vue\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__event_hub__ = __webpack_require__(\"./groups/event_hub.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__ = __webpack_require__(\"./lib/utils/common_utils.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__ = __webpack_require__(\"./vue_shared/components/loading_icon.vue\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constants__ = __webpack_require__(\"./groups/constants.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__groups_vue__ = __webpack_require__(\"./groups/components/groups.vue\");\n\n/* global Flash */\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n components: {\n loadingIcon: __WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__[\"a\" /* default */],\n groupsComponent: __WEBPACK_IMPORTED_MODULE_4__groups_vue__[\"a\" /* default */]\n },\n props: {\n store: {\n type: Object,\n required: true\n },\n service: {\n type: Object,\n required: true\n },\n hideProjects: {\n type: Boolean,\n required: true\n }\n },\n data: function data() {\n return {\n isLoading: true,\n isSearchEmpty: false,\n searchEmptyMessage: ''\n };\n },\n\n computed: {\n groups: function groups() {\n return this.store.getGroups();\n },\n pageInfo: function pageInfo() {\n return this.store.getPaginationInfo();\n }\n },\n methods: {\n fetchGroups: function fetchGroups(_ref) {\n var _this = this;\n\n var parentId = _ref.parentId,\n page = _ref.page,\n filterGroupsBy = _ref.filterGroupsBy,\n sortBy = _ref.sortBy,\n archived = _ref.archived,\n updatePagination = _ref.updatePagination;\n\n return this.service.getGroups(parentId, page, filterGroupsBy, sortBy, archived).then(function (res) {\n if (updatePagination) {\n _this.updatePagination(res.headers);\n }\n\n return res;\n }).then(function (res) {\n return res.json();\n }).catch(function () {\n _this.isLoading = false;\n $.scrollTo(0);\n\n Flash(__WEBPACK_IMPORTED_MODULE_3__constants__[\"a\" /* COMMON_STR */].FAILURE);\n });\n },\n fetchAllGroups: function fetchAllGroups() {\n var _this2 = this;\n\n var page = Object(__WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__[\"h\" /* getParameterByName */])('page') || null;\n var sortBy = Object(__WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__[\"h\" /* getParameterByName */])('sort') || null;\n var archived = Object(__WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__[\"h\" /* getParameterByName */])('archived') || null;\n var filterGroupsBy = Object(__WEBPACK_IMPORTED_MODULE_1__lib_utils_common_utils__[\"h\" /* getParameterByName */])('filter') || null;\n\n this.isLoading = true;\n // eslint-disable-next-line promise/catch-or-return\n this.fetchGroups({\n page: page,\n filterGroupsBy: filterGroupsBy,\n sortBy: sortBy,\n archived: archived,\n updatePagination: true\n }).then(function (res) {\n _this2.isLoading = false;\n _this2.updateGroups(res, Boolean(filterGroupsBy));\n });\n },\n fetchPage: function fetchPage(page, filterGroupsBy, sortBy, archived) {\n var _this3 = this;\n\n this.isLoading = true;\n\n // eslint-disable-next-line promise/catch-or-return\n this.fetchGroups({\n page: page,\n filterGroupsBy: filterGroupsBy,\n sortBy: sortBy,\n archived: archived,\n updatePagination: true\n }).then(function (res) {\n _this3.isLoading = false;\n $.scrollTo(0);\n\n var currentPath = gl.utils.mergeUrlParams({ page: page }, window.location.href);\n window.history.replaceState({\n page: currentPath\n }, document.title, currentPath);\n\n _this3.updateGroups(res);\n });\n },\n toggleChildren: function toggleChildren(group) {\n var _this4 = this;\n\n var parentGroup = group;\n if (!parentGroup.isOpen) {\n if (parentGroup.children.length === 0) {\n parentGroup.isChildrenLoading = true;\n // eslint-disable-next-line promise/catch-or-return\n this.fetchGroups({\n parentId: parentGroup.id\n }).then(function (res) {\n _this4.store.setGroupChildren(parentGroup, res);\n }).catch(function () {\n parentGroup.isChildrenLoading = false;\n });\n } else {\n parentGroup.isOpen = true;\n }\n } else {\n parentGroup.isOpen = false;\n }\n },\n leaveGroup: function leaveGroup(group, parentGroup) {\n var _this5 = this;\n\n var targetGroup = group;\n targetGroup.isBeingRemoved = true;\n this.service.leaveGroup(targetGroup.leavePath).then(function (res) {\n return res.json();\n }).then(function (res) {\n $.scrollTo(0);\n _this5.store.removeGroup(targetGroup, parentGroup);\n Flash(res.notice, 'notice');\n }).catch(function (err) {\n var message = __WEBPACK_IMPORTED_MODULE_3__constants__[\"a\" /* COMMON_STR */].FAILURE;\n if (err.status === 403) {\n message = __WEBPACK_IMPORTED_MODULE_3__constants__[\"a\" /* COMMON_STR */].LEAVE_FORBIDDEN;\n }\n Flash(message);\n targetGroup.isBeingRemoved = false;\n });\n },\n updatePagination: function updatePagination(headers) {\n this.store.setPaginationInfo(headers);\n },\n updateGroups: function updateGroups(groups, fromSearch) {\n this.isSearchEmpty = groups ? groups.length === 0 : false;\n if (fromSearch) {\n this.store.setSearchedGroups(groups);\n } else {\n this.store.setGroups(groups);\n }\n }\n },\n created: function created() {\n this.searchEmptyMessage = this.hideProjects ? __WEBPACK_IMPORTED_MODULE_3__constants__[\"a\" /* COMMON_STR */].GROUP_SEARCH_EMPTY : __WEBPACK_IMPORTED_MODULE_3__constants__[\"a\" /* COMMON_STR */].GROUP_PROJECT_SEARCH_EMPTY;\n\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$on('fetchPage', this.fetchPage);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$on('toggleChildren', this.toggleChildren);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$on('leaveGroup', this.leaveGroup);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$on('updatePagination', this.updatePagination);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$on('updateGroups', this.updateGroups);\n },\n mounted: function mounted() {\n this.fetchAllGroups();\n },\n beforeDestroy: function beforeDestroy() {\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$off('fetchPage', this.fetchPage);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$off('toggleChildren', this.toggleChildren);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$off('leaveGroup', this.leaveGroup);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$off('updatePagination', this.updatePagination);\n __WEBPACK_IMPORTED_MODULE_0__event_hub__[\"a\" /* default */].$off('updateGroups', this.updateGroups);\n }\n});\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"./groups/components/groups.vue\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXTERNAL MODULE: ./vue_shared/components/table_pagination.vue + 2 modules\nvar table_pagination = __webpack_require__(\"./vue_shared/components/table_pagination.vue\");\n\n// EXTERNAL MODULE: ./groups/event_hub.js\nvar event_hub = __webpack_require__(\"./groups/event_hub.js\");\n\n// EXTERNAL MODULE: ./lib/utils/common_utils.js\nvar common_utils = __webpack_require__(\"./lib/utils/common_utils.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/groups.vue\n\n\n\n\n\n/* harmony default export */ var groups = ({\n components: {\n tablePagination: table_pagination[\"a\" /* default */]\n },\n props: {\n groups: {\n type: Array,\n required: true\n },\n pageInfo: {\n type: Object,\n required: true\n },\n searchEmpty: {\n type: Boolean,\n required: true\n },\n searchEmptyMessage: {\n type: String,\n required: true\n }\n },\n methods: {\n change: function change(page) {\n var filterGroupsParam = Object(common_utils[\"h\" /* getParameterByName */])('filter_groups');\n var sortParam = Object(common_utils[\"h\" /* getParameterByName */])('sort');\n var archivedParam = Object(common_utils[\"h\" /* getParameterByName */])('archived');\n event_hub[\"a\" /* default */].$emit('fetchPage', page, filterGroupsParam, sortParam, archivedParam);\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-480acf07\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/groups.vue\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"groups-list-tree-container\"},[(_vm.searchEmpty)?_c('div',{staticClass:\"has-no-search-results\"},[_vm._v(\"\\n \"+_vm._s(_vm.searchEmptyMessage)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.searchEmpty)?_c('group-folder',{attrs:{\"groups\":_vm.groups}}):_vm._e(),_vm._v(\" \"),(!_vm.searchEmpty)?_c('table-pagination',{attrs:{\"change\":_vm.change,\"pageInfo\":_vm.pageInfo}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_groups = (esExports);\n// CONCATENATED MODULE: ./groups/components/groups.vue\nvar normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n groups,\n components_groups,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_groups = __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n\n/***/ \"./groups/constants.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return MAX_CHILDREN_COUNT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return COMMON_STR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return ITEM_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return GROUP_VISIBILITY_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return PROJECT_VISIBILITY_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return VISIBILITY_TYPE_ICON; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locale__ = __webpack_require__(\"./locale/index.js\");\n\n\nvar MAX_CHILDREN_COUNT = 20;\n\nvar COMMON_STR = {\n FAILURE: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('An error occurred. Please try again.'),\n LEAVE_FORBIDDEN: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"s__\"])('GroupsTree|Failed to leave the group. Please make sure you are not the only owner.'),\n LEAVE_BTN_TITLE: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"s__\"])('GroupsTree|Leave this group'),\n EDIT_BTN_TITLE: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"s__\"])('GroupsTree|Edit group'),\n GROUP_SEARCH_EMPTY: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"s__\"])('GroupsTree|Sorry, no groups matched your search'),\n GROUP_PROJECT_SEARCH_EMPTY: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"s__\"])('GroupsTree|Sorry, no groups or projects matched your search')\n};\n\nvar ITEM_TYPE = {\n PROJECT: 'project',\n GROUP: 'group'\n};\n\nvar GROUP_VISIBILITY_TYPE = {\n public: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Public - The group and any public projects can be viewed without any authentication.'),\n internal: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Internal - The group and any internal projects can be viewed by any logged in user.'),\n private: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Private - The group and its projects can only be viewed by members.')\n};\n\nvar PROJECT_VISIBILITY_TYPE = {\n public: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Public - The project can be accessed without any authentication.'),\n internal: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Internal - The project can be accessed by any logged in user.'),\n private: Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"__\"])('Private - Project access must be granted explicitly to each user.')\n};\n\nvar VISIBILITY_TYPE_ICON = {\n public: 'fa-globe',\n internal: 'fa-shield',\n private: 'fa-lock'\n};\n\n/***/ }),\n\n/***/ \"./groups/event_hub.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(\"../../../node_modules/vue/dist/vue.esm.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]());\n\n/***/ }),\n\n/***/ \"./groups/groups_filterable_list.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__filterable_list__ = __webpack_require__(\"./filterable_list.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__event_hub__ = __webpack_require__(\"./groups/event_hub.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_utils_common_utils__ = __webpack_require__(\"./lib/utils/common_utils.js\");\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar GroupFilterableList = function (_FilterableList) {\n _inherits(GroupFilterableList, _FilterableList);\n\n function GroupFilterableList(_ref) {\n var form = _ref.form,\n filter = _ref.filter,\n holder = _ref.holder,\n filterEndpoint = _ref.filterEndpoint,\n pagePath = _ref.pagePath,\n dropdownSel = _ref.dropdownSel,\n filterInputField = _ref.filterInputField;\n\n _classCallCheck(this, GroupFilterableList);\n\n var _this = _possibleConstructorReturn(this, (GroupFilterableList.__proto__ || Object.getPrototypeOf(GroupFilterableList)).call(this, form, filter, holder, filterInputField));\n\n _this.form = form;\n _this.filterEndpoint = filterEndpoint;\n _this.pagePath = pagePath;\n _this.filterInputField = filterInputField;\n _this.$dropdown = $(dropdownSel);\n return _this;\n }\n\n _createClass(GroupFilterableList, [{\n key: 'getFilterEndpoint',\n value: function getFilterEndpoint() {\n return this.filterEndpoint;\n }\n }, {\n key: 'getPagePath',\n value: function getPagePath(queryData) {\n var params = queryData ? $.param(queryData) : '';\n var queryString = params ? '?' + params : '';\n return '' + this.pagePath + queryString;\n }\n }, {\n key: 'bindEvents',\n value: function bindEvents() {\n _get(GroupFilterableList.prototype.__proto__ || Object.getPrototypeOf(GroupFilterableList.prototype), 'bindEvents', this).call(this);\n\n this.onFilterOptionClikWrapper = this.onOptionClick.bind(this);\n\n this.$dropdown.on('click', 'a', this.onFilterOptionClikWrapper);\n }\n }, {\n key: 'onFilterInput',\n value: function onFilterInput() {\n var queryData = {};\n var $form = $(this.form);\n var archivedParam = Object(__WEBPACK_IMPORTED_MODULE_2__lib_utils_common_utils__[\"h\" /* getParameterByName */])('archived', window.location.href);\n var filterGroupsParam = $form.find('[name=\"' + this.filterInputField + '\"]').val();\n\n if (filterGroupsParam) {\n queryData[this.filterInputField] = filterGroupsParam;\n }\n\n if (archivedParam) {\n queryData.archived = archivedParam;\n }\n\n this.filterResults(queryData);\n\n if (this.setDefaultFilterOption) {\n this.setDefaultFilterOption();\n }\n }\n }, {\n key: 'setDefaultFilterOption',\n value: function setDefaultFilterOption() {\n var defaultOption = $.trim(this.$dropdown.find('.dropdown-menu li.js-filter-sort-order a').first().text());\n this.$dropdown.find('.dropdown-label').text(defaultOption);\n }\n }, {\n key: 'onOptionClick',\n value: function onOptionClick(e) {\n e.preventDefault();\n\n var queryData = {};\n\n // Get type of option selected from dropdown\n var currentTargetClassList = e.currentTarget.parentElement.classList;\n var isOptionFilterBySort = currentTargetClassList.contains('js-filter-sort-order');\n var isOptionFilterByArchivedProjects = currentTargetClassList.contains('js-filter-archived-projects');\n\n // Get option query param, also preserve currently applied query param\n var sortParam = Object(__WEBPACK_IMPORTED_MODULE_2__lib_utils_common_utils__[\"h\" /* getParameterByName */])('sort', isOptionFilterBySort ? e.currentTarget.href : window.location.href);\n var archivedParam = Object(__WEBPACK_IMPORTED_MODULE_2__lib_utils_common_utils__[\"h\" /* getParameterByName */])('archived', isOptionFilterByArchivedProjects ? e.currentTarget.href : window.location.href);\n\n if (sortParam) {\n queryData.sort = sortParam;\n }\n\n if (archivedParam) {\n queryData.archived = archivedParam;\n }\n\n this.filterResults(queryData);\n\n // Active selected option\n if (isOptionFilterBySort) {\n this.$dropdown.find('.dropdown-label').text($.trim(e.currentTarget.text));\n this.$dropdown.find('.dropdown-menu li.js-filter-sort-order a').removeClass('is-active');\n } else if (isOptionFilterByArchivedProjects) {\n this.$dropdown.find('.dropdown-menu li.js-filter-archived-projects a').removeClass('is-active');\n }\n\n $(e.target).addClass('is-active');\n\n // Clear current value on search form\n this.form.querySelector('[name=\"' + this.filterInputField + '\"]').value = '';\n }\n }, {\n key: 'onFilterSuccess',\n value: function onFilterSuccess(data, xhr, queryData) {\n var currentPath = this.getPagePath(queryData);\n\n var paginationData = {\n 'X-Per-Page': xhr.getResponseHeader('X-Per-Page'),\n 'X-Page': xhr.getResponseHeader('X-Page'),\n 'X-Total': xhr.getResponseHeader('X-Total'),\n 'X-Total-Pages': xhr.getResponseHeader('X-Total-Pages'),\n 'X-Next-Page': xhr.getResponseHeader('X-Next-Page'),\n 'X-Prev-Page': xhr.getResponseHeader('X-Prev-Page')\n };\n\n window.history.replaceState({\n page: currentPath\n }, document.title, currentPath);\n\n __WEBPACK_IMPORTED_MODULE_1__event_hub__[\"a\" /* default */].$emit('updateGroups', data, Object.prototype.hasOwnProperty.call(queryData, this.filterInputField));\n __WEBPACK_IMPORTED_MODULE_1__event_hub__[\"a\" /* default */].$emit('updatePagination', paginationData);\n }\n }]);\n\n return GroupFilterableList;\n}(__WEBPACK_IMPORTED_MODULE_0__filterable_list__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GroupFilterableList);\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"./groups/index.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue/dist/vue.esm.js\nvar vue_esm = __webpack_require__(\"../../../node_modules/vue/dist/vue.esm.js\");\n\n// EXTERNAL MODULE: ./vue_shared/translate.js\nvar translate = __webpack_require__(\"./vue_shared/translate.js\");\n\n// EXTERNAL MODULE: ./groups/groups_filterable_list.js\nvar groups_filterable_list = __webpack_require__(\"./groups/groups_filterable_list.js\");\n\n// EXTERNAL MODULE: ./lib/utils/common_utils.js\nvar common_utils = __webpack_require__(\"./lib/utils/common_utils.js\");\n\n// CONCATENATED MODULE: ./groups/store/groups_store.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\nvar groups_store_GroupsStore = function () {\n function GroupsStore(hideProjects) {\n _classCallCheck(this, GroupsStore);\n\n this.state = {};\n this.state.groups = [];\n this.state.pageInfo = {};\n this.hideProjects = hideProjects;\n }\n\n _createClass(GroupsStore, [{\n key: 'setGroups',\n value: function setGroups(rawGroups) {\n var _this = this;\n\n if (rawGroups && rawGroups.length) {\n this.state.groups = rawGroups.map(function (rawGroup) {\n return _this.formatGroupItem(rawGroup);\n });\n } else {\n this.state.groups = [];\n }\n }\n }, {\n key: 'setSearchedGroups',\n value: function setSearchedGroups(rawGroups) {\n var _this2 = this;\n\n var formatGroups = function formatGroups(groups) {\n return groups.map(function (group) {\n var formattedGroup = _this2.formatGroupItem(group);\n if (formattedGroup.children && formattedGroup.children.length) {\n formattedGroup.children = formatGroups(formattedGroup.children);\n }\n return formattedGroup;\n });\n };\n\n if (rawGroups && rawGroups.length) {\n this.state.groups = formatGroups(rawGroups);\n } else {\n this.state.groups = [];\n }\n }\n }, {\n key: 'setGroupChildren',\n value: function setGroupChildren(parentGroup, children) {\n var _this3 = this;\n\n var updatedParentGroup = parentGroup;\n updatedParentGroup.children = children.map(function (rawChild) {\n return _this3.formatGroupItem(rawChild);\n });\n updatedParentGroup.isOpen = true;\n updatedParentGroup.isChildrenLoading = false;\n }\n }, {\n key: 'getGroups',\n value: function getGroups() {\n return this.state.groups;\n }\n }, {\n key: 'setPaginationInfo',\n value: function setPaginationInfo() {\n var pagination = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var paginationInfo = void 0;\n\n if (Object.keys(pagination).length) {\n var normalizedHeaders = Object(common_utils[\"v\" /* normalizeHeaders */])(pagination);\n paginationInfo = Object(common_utils[\"w\" /* parseIntPagination */])(normalizedHeaders);\n } else {\n paginationInfo = pagination;\n }\n\n this.state.pageInfo = paginationInfo;\n }\n }, {\n key: 'getPaginationInfo',\n value: function getPaginationInfo() {\n return this.state.pageInfo;\n }\n }, {\n key: 'formatGroupItem',\n value: function formatGroupItem(rawGroupItem) {\n var groupChildren = rawGroupItem.children || [];\n var groupIsOpen = groupChildren.length > 0 || false;\n var childrenCount = this.hideProjects ? rawGroupItem.subgroup_count : rawGroupItem.children_count;\n\n return {\n id: rawGroupItem.id,\n name: rawGroupItem.name,\n fullName: rawGroupItem.full_name,\n description: rawGroupItem.description,\n visibility: rawGroupItem.visibility,\n avatarUrl: rawGroupItem.avatar_url,\n relativePath: rawGroupItem.relative_path,\n editPath: rawGroupItem.edit_path,\n leavePath: rawGroupItem.leave_path,\n canEdit: rawGroupItem.can_edit,\n canLeave: rawGroupItem.can_leave,\n type: rawGroupItem.type,\n permission: rawGroupItem.permission,\n children: groupChildren,\n isOpen: groupIsOpen,\n isChildrenLoading: false,\n isBeingRemoved: false,\n parentId: rawGroupItem.parent_id,\n childrenCount: childrenCount,\n projectCount: rawGroupItem.project_count,\n subgroupCount: rawGroupItem.subgroup_count,\n memberCount: rawGroupItem.number_users_with_delimiter,\n starCount: rawGroupItem.star_count\n };\n }\n }, {\n key: 'removeGroup',\n value: function removeGroup(group, parentGroup) {\n var updatedParentGroup = parentGroup;\n if (updatedParentGroup.children && updatedParentGroup.children.length) {\n updatedParentGroup.children = parentGroup.children.filter(function (child) {\n return group.id !== child.id;\n });\n } else {\n this.state.groups = this.state.groups.filter(function (child) {\n return group.id !== child.id;\n });\n }\n }\n }]);\n\n return GroupsStore;\n}();\n\n/* harmony default export */ var groups_store = (groups_store_GroupsStore);\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-resource/dist/vue-resource.es2015.js\nvar vue_resource_es2015 = __webpack_require__(\"../../../node_modules/vue-resource/dist/vue-resource.es2015.js\");\n\n// CONCATENATED MODULE: ./groups/service/groups_service.js\nvar groups_service__createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction groups_service__classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvue_esm[\"a\" /* default */].use(vue_resource_es2015[\"a\" /* default */]);\n\nvar groups_service_GroupsService = function () {\n function GroupsService(endpoint) {\n groups_service__classCallCheck(this, GroupsService);\n\n this.groups = vue_esm[\"a\" /* default */].resource(endpoint);\n }\n\n groups_service__createClass(GroupsService, [{\n key: 'getGroups',\n value: function getGroups(parentId, page, filterGroups, sort, archived) {\n var data = {};\n\n if (parentId) {\n data.parent_id = parentId;\n } else {\n // Do not send the following param for sub groups\n if (page) {\n data.page = page;\n }\n\n if (filterGroups) {\n data.filter = filterGroups;\n }\n\n if (sort) {\n data.sort = sort;\n }\n\n if (archived) {\n data.archived = archived;\n }\n }\n\n return this.groups.get(data);\n }\n\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: 'leaveGroup',\n value: function leaveGroup(endpoint) {\n return vue_esm[\"a\" /* default */].http.delete(endpoint);\n }\n }]);\n\n return GroupsService;\n}();\n\n/* harmony default export */ var groups_service = (groups_service_GroupsService);\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/app.vue\nvar app = __webpack_require__(\"../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/app.vue\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9072e552\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/app.vue\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLoading)?_c('loading-icon',{staticClass:\"loading-animation prepend-top-20\",attrs:{\"size\":\"2\",\"label\":_vm.s__('GroupsTree|Loading groups')}}):_vm._e(),_vm._v(\" \"),(!_vm.isLoading)?_c('groups-component',{attrs:{\"groups\":_vm.groups,\"search-empty\":_vm.isSearchEmpty,\"search-empty-message\":_vm.searchEmptyMessage,\"page-info\":_vm.pageInfo}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_app = (esExports);\n// CONCATENATED MODULE: ./groups/components/app.vue\nvar normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n app[\"a\" /* default */],\n components_app,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_app = (Component.exports);\n\n// EXTERNAL MODULE: ./locale/index.js + 1 modules\nvar locale = __webpack_require__(\"./locale/index.js\");\n\n// EXTERNAL MODULE: ./groups/constants.js\nvar constants = __webpack_require__(\"./groups/constants.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/group_folder.vue\n\n\n\n\n/* harmony default export */ var group_folder = ({\n props: {\n parentGroup: {\n type: Object,\n required: false,\n default: function _default() {\n return {};\n }\n },\n groups: {\n type: Array,\n required: false,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n hasMoreChildren: function hasMoreChildren() {\n return this.parentGroup.childrenCount > constants[\"d\" /* MAX_CHILDREN_COUNT */];\n },\n moreChildrenStats: function moreChildrenStats() {\n return Object(locale[\"n__\"])('One more item', '%d more items', this.parentGroup.childrenCount - this.parentGroup.children.length);\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-70f97de8\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/group_folder.vue\nvar group_folder_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"content-list group-list-tree\"},[_vm._l((_vm.groups),function(group,index){return _c('group-item',{key:index,attrs:{\"group\":group,\"parent-group\":_vm.parentGroup}})}),_vm._v(\" \"),(_vm.hasMoreChildren)?_c('li',{staticClass:\"group-row\"},[_c('a',{staticClass:\"group-row-contents has-more-items\",attrs:{\"href\":_vm.parentGroup.relativePath}},[_c('i',{staticClass:\"fa fa-external-link\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.moreChildrenStats)+\"\\n \")])]):_vm._e()],2)}\nvar group_folder_staticRenderFns = []\nvar group_folder_esExports = { render: group_folder_render, staticRenderFns: group_folder_staticRenderFns }\n/* harmony default export */ var components_group_folder = (group_folder_esExports);\n// CONCATENATED MODULE: ./groups/components/group_folder.vue\nvar group_folder_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar group_folder___vue_template_functional__ = false\n/* styles */\nvar group_folder___vue_styles__ = null\n/* scopeId */\nvar group_folder___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar group_folder___vue_module_identifier__ = null\nvar group_folder_Component = group_folder_normalizeComponent(\n group_folder,\n components_group_folder,\n group_folder___vue_template_functional__,\n group_folder___vue_styles__,\n group_folder___vue_scopeId__,\n group_folder___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_group_folder = (group_folder_Component.exports);\n\n// EXTERNAL MODULE: ./vue_shared/directives/tooltip.js\nvar tooltip = __webpack_require__(\"./vue_shared/directives/tooltip.js\");\n\n// EXTERNAL MODULE: ./vue_shared/components/identicon.vue + 2 modules\nvar identicon = __webpack_require__(\"./vue_shared/components/identicon.vue\");\n\n// EXTERNAL MODULE: ./groups/event_hub.js\nvar event_hub = __webpack_require__(\"./groups/event_hub.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/item_caret.vue\n\n/* harmony default export */ var item_caret = ({\n props: {\n isGroupOpen: {\n type: Boolean,\n required: true,\n default: false\n }\n },\n computed: {\n iconClass: function iconClass() {\n return this.isGroupOpen ? 'fa-caret-down' : 'fa-caret-right';\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-127aaebb\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_caret.vue\nvar item_caret_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"folder-caret\"},[_c('i',{staticClass:\"fa\",class:_vm.iconClass,attrs:{\"aria-hidden\":\"true\"}})])}\nvar item_caret_staticRenderFns = []\nvar item_caret_esExports = { render: item_caret_render, staticRenderFns: item_caret_staticRenderFns }\n/* harmony default export */ var components_item_caret = (item_caret_esExports);\n// CONCATENATED MODULE: ./groups/components/item_caret.vue\nvar item_caret_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar item_caret___vue_template_functional__ = false\n/* styles */\nvar item_caret___vue_styles__ = null\n/* scopeId */\nvar item_caret___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar item_caret___vue_module_identifier__ = null\nvar item_caret_Component = item_caret_normalizeComponent(\n item_caret,\n components_item_caret,\n item_caret___vue_template_functional__,\n item_caret___vue_styles__,\n item_caret___vue_scopeId__,\n item_caret___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_item_caret = (item_caret_Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/item_type_icon.vue\n\n\n\n/* harmony default export */ var item_type_icon = ({\n props: {\n itemType: {\n type: String,\n required: true\n },\n isGroupOpen: {\n type: Boolean,\n required: true,\n default: false\n }\n },\n computed: {\n iconClass: function iconClass() {\n if (this.itemType === constants[\"c\" /* ITEM_TYPE */].GROUP) {\n return this.isGroupOpen ? 'fa-folder-open' : 'fa-folder';\n }\n return 'fa-bookmark';\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ba124bca\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_type_icon.vue\nvar item_type_icon_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"item-type-icon\"},[_c('i',{staticClass:\"fa\",class:_vm.iconClass,attrs:{\"aria-hidden\":\"true\"}})])}\nvar item_type_icon_staticRenderFns = []\nvar item_type_icon_esExports = { render: item_type_icon_render, staticRenderFns: item_type_icon_staticRenderFns }\n/* harmony default export */ var components_item_type_icon = (item_type_icon_esExports);\n// CONCATENATED MODULE: ./groups/components/item_type_icon.vue\nvar item_type_icon_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar item_type_icon___vue_template_functional__ = false\n/* styles */\nvar item_type_icon___vue_styles__ = null\n/* scopeId */\nvar item_type_icon___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar item_type_icon___vue_module_identifier__ = null\nvar item_type_icon_Component = item_type_icon_normalizeComponent(\n item_type_icon,\n components_item_type_icon,\n item_type_icon___vue_template_functional__,\n item_type_icon___vue_styles__,\n item_type_icon___vue_scopeId__,\n item_type_icon___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_item_type_icon = (item_type_icon_Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/item_stats.vue\n\n\n\n\n/* harmony default export */ var item_stats = ({\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n props: {\n item: {\n type: Object,\n required: true\n }\n },\n computed: {\n visibilityIcon: function visibilityIcon() {\n return constants[\"f\" /* VISIBILITY_TYPE_ICON */][this.item.visibility];\n },\n visibilityTooltip: function visibilityTooltip() {\n if (this.item.type === constants[\"c\" /* ITEM_TYPE */].GROUP) {\n return constants[\"b\" /* GROUP_VISIBILITY_TYPE */][this.item.visibility];\n }\n return constants[\"e\" /* PROJECT_VISIBILITY_TYPE */][this.item.visibility];\n },\n isProject: function isProject() {\n return this.item.type === constants[\"c\" /* ITEM_TYPE */].PROJECT;\n },\n isGroup: function isGroup() {\n return this.item.type === constants[\"c\" /* ITEM_TYPE */].GROUP;\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e7406ebe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_stats.vue\nvar item_stats_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"stats\"},[(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-subgroups\",attrs:{\"title\":_vm.s__('Subgroups'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-folder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.subgroupCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-projects\",attrs:{\"title\":_vm.s__('Projects'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-bookmark\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.projectCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-users\",attrs:{\"title\":_vm.s__('Members'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.memberCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isProject)?_c('span',{staticClass:\"project-stars\"},[_c('i',{staticClass:\"fa fa-star\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.starCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"item-visibility\",attrs:{\"title\":_vm.visibilityTooltip,\"data-placement\":\"left\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa\",class:_vm.visibilityIcon,attrs:{\"aria-hidden\":\"true\"}})])])}\nvar item_stats_staticRenderFns = []\nvar item_stats_esExports = { render: item_stats_render, staticRenderFns: item_stats_staticRenderFns }\n/* harmony default export */ var components_item_stats = (item_stats_esExports);\n// CONCATENATED MODULE: ./groups/components/item_stats.vue\nvar item_stats_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar item_stats___vue_template_functional__ = false\n/* styles */\nvar item_stats___vue_styles__ = null\n/* scopeId */\nvar item_stats___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar item_stats___vue_module_identifier__ = null\nvar item_stats_Component = item_stats_normalizeComponent(\n item_stats,\n components_item_stats,\n item_stats___vue_template_functional__,\n item_stats___vue_styles__,\n item_stats___vue_scopeId__,\n item_stats___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_item_stats = (item_stats_Component.exports);\n\n// EXTERNAL MODULE: ./vue_shared/components/popup_dialog.vue + 2 modules\nvar popup_dialog = __webpack_require__(\"./vue_shared/components/popup_dialog.vue\");\n\n// EXTERNAL MODULE: ./vue_shared/components/icon.vue + 2 modules\nvar icon = __webpack_require__(\"./vue_shared/components/icon.vue\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/item_actions.vue\n\n\n\n\n\n\n\n\n/* harmony default export */ var item_actions = ({\n components: {\n Icon: icon[\"a\" /* default */],\n PopupDialog: popup_dialog[\"a\" /* default */]\n },\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n props: {\n parentGroup: {\n type: Object,\n required: false,\n default: function _default() {\n return {};\n }\n },\n group: {\n type: Object,\n required: true\n }\n },\n data: function data() {\n return {\n dialogStatus: false\n };\n },\n\n computed: {\n leaveBtnTitle: function leaveBtnTitle() {\n return constants[\"a\" /* COMMON_STR */].LEAVE_BTN_TITLE;\n },\n editBtnTitle: function editBtnTitle() {\n return constants[\"a\" /* COMMON_STR */].EDIT_BTN_TITLE;\n },\n leaveConfirmationMessage: function leaveConfirmationMessage() {\n return Object(locale[\"s__\"])('GroupsTree|Are you sure you want to leave the \"' + this.group.fullName + '\" group?');\n }\n },\n methods: {\n onLeaveGroup: function onLeaveGroup() {\n this.dialogStatus = true;\n },\n leaveGroup: function leaveGroup(leaveConfirmed) {\n this.dialogStatus = false;\n if (leaveConfirmed) {\n event_hub[\"a\" /* default */].$emit('leaveGroup', this.group, this.parentGroup);\n }\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5a56f6bd\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_actions.vue\nvar item_actions_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"controls\"},[(_vm.group.canEdit)?_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"edit-group btn no-expand\",attrs:{\"href\":_vm.group.editPath,\"title\":_vm.editBtnTitle,\"aria-label\":_vm.editBtnTitle,\"data-container\":\"body\"}},[_c('icon',{attrs:{\"name\":\"settings\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.group.canLeave)?_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"leave-group btn no-expand\",attrs:{\"href\":_vm.group.leavePath,\"title\":_vm.leaveBtnTitle,\"aria-label\":_vm.leaveBtnTitle,\"data-container\":\"body\"},on:{\"click\":function($event){$event.preventDefault();_vm.onLeaveGroup($event)}}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),_c('popup-dialog',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dialogStatus),expression:\"dialogStatus\"}],attrs:{\"primary-button-label\":_vm.__('Leave'),\"kind\":\"warning\",\"title\":_vm.__('Are you sure?'),\"text\":_vm.__('Are you sure you want to leave this group?'),\"body\":_vm.leaveConfirmationMessage},on:{\"submit\":_vm.leaveGroup}})],1)}\nvar item_actions_staticRenderFns = []\nvar item_actions_esExports = { render: item_actions_render, staticRenderFns: item_actions_staticRenderFns }\n/* harmony default export */ var components_item_actions = (item_actions_esExports);\n// CONCATENATED MODULE: ./groups/components/item_actions.vue\nvar item_actions_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar item_actions___vue_template_functional__ = false\n/* styles */\nvar item_actions___vue_styles__ = null\n/* scopeId */\nvar item_actions___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar item_actions___vue_module_identifier__ = null\nvar item_actions_Component = item_actions_normalizeComponent(\n item_actions,\n components_item_actions,\n item_actions___vue_template_functional__,\n item_actions___vue_styles__,\n item_actions___vue_scopeId__,\n item_actions___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_item_actions = (item_actions_Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./groups/components/group_item.vue\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var group_item = ({\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n components: {\n identicon: identicon[\"a\" /* default */],\n itemCaret: groups_components_item_caret,\n itemTypeIcon: groups_components_item_type_icon,\n itemStats: groups_components_item_stats,\n itemActions: groups_components_item_actions\n },\n props: {\n parentGroup: {\n type: Object,\n required: false,\n default: function _default() {\n return {};\n }\n },\n group: {\n type: Object,\n required: true\n }\n },\n computed: {\n groupDomId: function groupDomId() {\n return 'group-' + this.group.id;\n },\n rowClass: function rowClass() {\n return {\n 'is-open': this.group.isOpen,\n 'has-children': this.hasChildren,\n 'has-description': this.group.description,\n 'being-removed': this.group.isBeingRemoved\n };\n },\n hasChildren: function hasChildren() {\n return this.group.childrenCount > 0;\n },\n hasAvatar: function hasAvatar() {\n return this.group.avatarUrl !== null;\n },\n isGroup: function isGroup() {\n return this.group.type === 'group';\n }\n },\n methods: {\n onClickRowGroup: function onClickRowGroup(e) {\n var NO_EXPAND_CLS = 'no-expand';\n if (!(e.target.classList.contains(NO_EXPAND_CLS) || e.target.parentElement.classList.contains(NO_EXPAND_CLS))) {\n if (this.hasChildren) {\n event_hub[\"a\" /* default */].$emit('toggleChildren', this.group);\n } else {\n gl.utils.visitUrl(this.group.relativePath);\n }\n }\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4d78daeb\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/group_item.vue\nvar group_item_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"group-row\",class:_vm.rowClass,attrs:{\"id\":_vm.groupDomId},on:{\"click\":function($event){$event.stopPropagation();_vm.onClickRowGroup($event)}}},[_c('div',{staticClass:\"group-row-contents\"},[(_vm.isGroup)?_c('item-actions',{attrs:{\"group\":_vm.group,\"parent-group\":_vm.parentGroup}}):_vm._e(),_vm._v(\" \"),_c('item-stats',{attrs:{\"item\":_vm.group}}),_vm._v(\" \"),_c('div',{staticClass:\"folder-toggle-wrap\"},[_c('item-caret',{attrs:{\"is-group-open\":_vm.group.isOpen}}),_vm._v(\" \"),_c('item-type-icon',{attrs:{\"item-type\":_vm.group.type,\"is-group-open\":_vm.group.isOpen}})],1),_vm._v(\" \"),_c('div',{staticClass:\"avatar-container s40 hidden-xs\",class:{ 'content-loading': _vm.group.isChildrenLoading }},[_c('a',{staticClass:\"no-expand\",attrs:{\"href\":_vm.group.relativePath}},[(_vm.hasAvatar)?_c('img',{staticClass:\"avatar s40\",attrs:{\"src\":_vm.group.avatarUrl}}):_c('identicon',{attrs:{\"entity-id\":_vm.group.id,\"entity-name\":_vm.group.name}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"title namespace-title\"},[_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"no-expand\",attrs:{\"href\":_vm.group.relativePath,\"title\":_vm.group.fullName,\"data-placement\":\"top\"}},[_vm._v(_vm._s(// ending bracket must be by closing tag to prevent\n // link hover text-decoration from over-extending\n _vm.group.name))]),_vm._v(\" \"),(_vm.group.permission)?_c('span',{staticClass:\"user-access-role\"},[_vm._v(\"\\n \"+_vm._s(_vm.group.permission)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.group.description)?_c('div',{staticClass:\"description\"},[_vm._v(\"\\n \"+_vm._s(_vm.group.description)+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.group.isOpen && _vm.hasChildren)?_c('group-folder',{attrs:{\"parent-group\":_vm.group,\"groups\":_vm.group.children}}):_vm._e()],1)}\nvar group_item_staticRenderFns = []\nvar group_item_esExports = { render: group_item_render, staticRenderFns: group_item_staticRenderFns }\n/* harmony default export */ var components_group_item = (group_item_esExports);\n// CONCATENATED MODULE: ./groups/components/group_item.vue\nvar group_item_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar group_item___vue_template_functional__ = false\n/* styles */\nvar group_item___vue_styles__ = null\n/* scopeId */\nvar group_item___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar group_item___vue_module_identifier__ = null\nvar group_item_Component = group_item_normalizeComponent(\n group_item,\n components_group_item,\n group_item___vue_template_functional__,\n group_item___vue_styles__,\n group_item___vue_scopeId__,\n group_item___vue_module_identifier__\n)\n\n/* harmony default export */ var groups_components_group_item = (group_item_Component.exports);\n\n// CONCATENATED MODULE: ./groups/index.js\n\n\n\n\n\n\n\n\n\n\nvue_esm[\"a\" /* default */].use(translate[\"a\" /* default */]);\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var el = document.getElementById('js-groups-tree');\n\n // Don't do anything if element doesn't exist (No groups)\n // This is for when the user enters directly to the page via URL\n if (!el) {\n return;\n }\n\n vue_esm[\"a\" /* default */].component('group-folder', groups_components_group_folder);\n vue_esm[\"a\" /* default */].component('group-item', groups_components_group_item);\n\n // eslint-disable-next-line no-new\n new vue_esm[\"a\" /* default */]({\n el: el,\n components: {\n groupsApp: groups_components_app\n },\n data: function data() {\n var dataset = this.$options.el.dataset;\n var hideProjects = dataset.hideProjects === 'true';\n var store = new groups_store(hideProjects);\n var service = new groups_service(dataset.endpoint);\n\n return {\n store: store,\n service: service,\n hideProjects: hideProjects,\n loading: true\n };\n },\n beforeMount: function beforeMount() {\n var dataset = this.$options.el.dataset;\n var groupFilterList = null;\n var form = document.querySelector(dataset.formSel);\n var filter = document.querySelector(dataset.filterSel);\n var holder = document.querySelector(dataset.holderSel);\n\n var opts = {\n form: form,\n filter: filter,\n holder: holder,\n filterEndpoint: dataset.endpoint,\n pagePath: dataset.path,\n dropdownSel: dataset.dropdownSel,\n filterInputField: 'filter'\n };\n\n groupFilterList = new groups_filterable_list[\"a\" /* default */](opts);\n groupFilterList.initSearch();\n },\n render: function render(createElement) {\n return createElement('groups-app', {\n props: {\n store: this.store,\n service: this.service,\n hideProjects: this.hideProjects\n }\n });\n }\n });\n});\n\n/***/ })\n\n},[\"./groups/index.js\"]);\n\n\n// WEBPACK FOOTER //\n// groups.90121442a2b21ad9551b.bundle.js","\n\n\n \n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/app.vue","\n\n\n \n \n {{searchEmptyMessage}}\n \n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/groups.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"groups-list-tree-container\"},[(_vm.searchEmpty)?_c('div',{staticClass:\"has-no-search-results\"},[_vm._v(\"\\n \"+_vm._s(_vm.searchEmptyMessage)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.searchEmpty)?_c('group-folder',{attrs:{\"groups\":_vm.groups}}):_vm._e(),_vm._v(\" \"),(!_vm.searchEmpty)?_c('table-pagination',{attrs:{\"change\":_vm.change,\"pageInfo\":_vm.pageInfo}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-480acf07\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/groups.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./groups.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-480acf07\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./groups.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/groups.vue\n// module id = null\n// module chunks = ","import { __, s__ } from '../locale';\n\nexport const MAX_CHILDREN_COUNT = 20;\n\nexport const COMMON_STR = {\n FAILURE: __('An error occurred. Please try again.'),\n LEAVE_FORBIDDEN: s__('GroupsTree|Failed to leave the group. Please make sure you are not the only owner.'),\n LEAVE_BTN_TITLE: s__('GroupsTree|Leave this group'),\n EDIT_BTN_TITLE: s__('GroupsTree|Edit group'),\n GROUP_SEARCH_EMPTY: s__('GroupsTree|Sorry, no groups matched your search'),\n GROUP_PROJECT_SEARCH_EMPTY: s__('GroupsTree|Sorry, no groups or projects matched your search'),\n};\n\nexport const ITEM_TYPE = {\n PROJECT: 'project',\n GROUP: 'group',\n};\n\nexport const GROUP_VISIBILITY_TYPE = {\n public: __('Public - The group and any public projects can be viewed without any authentication.'),\n internal: __('Internal - The group and any internal projects can be viewed by any logged in user.'),\n private: __('Private - The group and its projects can only be viewed by members.'),\n};\n\nexport const PROJECT_VISIBILITY_TYPE = {\n public: __('Public - The project can be accessed without any authentication.'),\n internal: __('Internal - The project can be accessed by any logged in user.'),\n private: __('Private - Project access must be granted explicitly to each user.'),\n};\n\nexport const VISIBILITY_TYPE_ICON = {\n public: 'fa-globe',\n internal: 'fa-shield',\n private: 'fa-lock',\n};\n\n\n\n// WEBPACK FOOTER //\n// ./groups/constants.js","import Vue from 'vue';\n\nexport default new Vue();\n\n\n\n// WEBPACK FOOTER //\n// ./groups/event_hub.js","import FilterableList from '~/filterable_list';\nimport eventHub from './event_hub';\nimport { getParameterByName } from '../lib/utils/common_utils';\n\nexport default class GroupFilterableList extends FilterableList {\n constructor({ form, filter, holder, filterEndpoint, pagePath, dropdownSel, filterInputField }) {\n super(form, filter, holder, filterInputField);\n this.form = form;\n this.filterEndpoint = filterEndpoint;\n this.pagePath = pagePath;\n this.filterInputField = filterInputField;\n this.$dropdown = $(dropdownSel);\n }\n\n getFilterEndpoint() {\n return this.filterEndpoint;\n }\n\n getPagePath(queryData) {\n const params = queryData ? $.param(queryData) : '';\n const queryString = params ? `?${params}` : '';\n return `${this.pagePath}${queryString}`;\n }\n\n bindEvents() {\n super.bindEvents();\n\n this.onFilterOptionClikWrapper = this.onOptionClick.bind(this);\n\n this.$dropdown.on('click', 'a', this.onFilterOptionClikWrapper);\n }\n\n onFilterInput() {\n const queryData = {};\n const $form = $(this.form);\n const archivedParam = getParameterByName('archived', window.location.href);\n const filterGroupsParam = $form.find(`[name=\"${this.filterInputField}\"]`).val();\n\n if (filterGroupsParam) {\n queryData[this.filterInputField] = filterGroupsParam;\n }\n\n if (archivedParam) {\n queryData.archived = archivedParam;\n }\n\n this.filterResults(queryData);\n\n if (this.setDefaultFilterOption) {\n this.setDefaultFilterOption();\n }\n }\n\n setDefaultFilterOption() {\n const defaultOption = $.trim(this.$dropdown.find('.dropdown-menu li.js-filter-sort-order a').first().text());\n this.$dropdown.find('.dropdown-label').text(defaultOption);\n }\n\n onOptionClick(e) {\n e.preventDefault();\n\n const queryData = {};\n\n // Get type of option selected from dropdown\n const currentTargetClassList = e.currentTarget.parentElement.classList;\n const isOptionFilterBySort = currentTargetClassList.contains('js-filter-sort-order');\n const isOptionFilterByArchivedProjects = currentTargetClassList.contains('js-filter-archived-projects');\n\n // Get option query param, also preserve currently applied query param\n const sortParam = getParameterByName('sort', isOptionFilterBySort ? e.currentTarget.href : window.location.href);\n const archivedParam = getParameterByName('archived', isOptionFilterByArchivedProjects ? e.currentTarget.href : window.location.href);\n\n if (sortParam) {\n queryData.sort = sortParam;\n }\n\n if (archivedParam) {\n queryData.archived = archivedParam;\n }\n\n this.filterResults(queryData);\n\n // Active selected option\n if (isOptionFilterBySort) {\n this.$dropdown.find('.dropdown-label').text($.trim(e.currentTarget.text));\n this.$dropdown.find('.dropdown-menu li.js-filter-sort-order a').removeClass('is-active');\n } else if (isOptionFilterByArchivedProjects) {\n this.$dropdown.find('.dropdown-menu li.js-filter-archived-projects a').removeClass('is-active');\n }\n\n $(e.target).addClass('is-active');\n\n // Clear current value on search form\n this.form.querySelector(`[name=\"${this.filterInputField}\"]`).value = '';\n }\n\n onFilterSuccess(data, xhr, queryData) {\n const currentPath = this.getPagePath(queryData);\n\n const paginationData = {\n 'X-Per-Page': xhr.getResponseHeader('X-Per-Page'),\n 'X-Page': xhr.getResponseHeader('X-Page'),\n 'X-Total': xhr.getResponseHeader('X-Total'),\n 'X-Total-Pages': xhr.getResponseHeader('X-Total-Pages'),\n 'X-Next-Page': xhr.getResponseHeader('X-Next-Page'),\n 'X-Prev-Page': xhr.getResponseHeader('X-Prev-Page'),\n };\n\n window.history.replaceState({\n page: currentPath,\n }, document.title, currentPath);\n\n eventHub.$emit('updateGroups', data, Object.prototype.hasOwnProperty.call(queryData, this.filterInputField));\n eventHub.$emit('updatePagination', paginationData);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./groups/groups_filterable_list.js","import { normalizeHeaders, parseIntPagination } from '../../lib/utils/common_utils';\n\nexport default class GroupsStore {\n constructor(hideProjects) {\n this.state = {};\n this.state.groups = [];\n this.state.pageInfo = {};\n this.hideProjects = hideProjects;\n }\n\n setGroups(rawGroups) {\n if (rawGroups && rawGroups.length) {\n this.state.groups = rawGroups.map(rawGroup => this.formatGroupItem(rawGroup));\n } else {\n this.state.groups = [];\n }\n }\n\n setSearchedGroups(rawGroups) {\n const formatGroups = groups => groups.map((group) => {\n const formattedGroup = this.formatGroupItem(group);\n if (formattedGroup.children && formattedGroup.children.length) {\n formattedGroup.children = formatGroups(formattedGroup.children);\n }\n return formattedGroup;\n });\n\n if (rawGroups && rawGroups.length) {\n this.state.groups = formatGroups(rawGroups);\n } else {\n this.state.groups = [];\n }\n }\n\n setGroupChildren(parentGroup, children) {\n const updatedParentGroup = parentGroup;\n updatedParentGroup.children = children.map(rawChild => this.formatGroupItem(rawChild));\n updatedParentGroup.isOpen = true;\n updatedParentGroup.isChildrenLoading = false;\n }\n\n getGroups() {\n return this.state.groups;\n }\n\n setPaginationInfo(pagination = {}) {\n let paginationInfo;\n\n if (Object.keys(pagination).length) {\n const normalizedHeaders = normalizeHeaders(pagination);\n paginationInfo = parseIntPagination(normalizedHeaders);\n } else {\n paginationInfo = pagination;\n }\n\n this.state.pageInfo = paginationInfo;\n }\n\n getPaginationInfo() {\n return this.state.pageInfo;\n }\n\n formatGroupItem(rawGroupItem) {\n const groupChildren = rawGroupItem.children || [];\n const groupIsOpen = (groupChildren.length > 0) || false;\n const childrenCount = this.hideProjects ?\n rawGroupItem.subgroup_count :\n rawGroupItem.children_count;\n\n return {\n id: rawGroupItem.id,\n name: rawGroupItem.name,\n fullName: rawGroupItem.full_name,\n description: rawGroupItem.description,\n visibility: rawGroupItem.visibility,\n avatarUrl: rawGroupItem.avatar_url,\n relativePath: rawGroupItem.relative_path,\n editPath: rawGroupItem.edit_path,\n leavePath: rawGroupItem.leave_path,\n canEdit: rawGroupItem.can_edit,\n canLeave: rawGroupItem.can_leave,\n type: rawGroupItem.type,\n permission: rawGroupItem.permission,\n children: groupChildren,\n isOpen: groupIsOpen,\n isChildrenLoading: false,\n isBeingRemoved: false,\n parentId: rawGroupItem.parent_id,\n childrenCount,\n projectCount: rawGroupItem.project_count,\n subgroupCount: rawGroupItem.subgroup_count,\n memberCount: rawGroupItem.number_users_with_delimiter,\n starCount: rawGroupItem.star_count,\n };\n }\n\n removeGroup(group, parentGroup) {\n const updatedParentGroup = parentGroup;\n if (updatedParentGroup.children && updatedParentGroup.children.length) {\n updatedParentGroup.children = parentGroup.children.filter(child => group.id !== child.id);\n } else {\n this.state.groups = this.state.groups.filter(child => group.id !== child.id);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./groups/store/groups_store.js","import Vue from 'vue';\nimport VueResource from 'vue-resource';\n\nVue.use(VueResource);\n\nexport default class GroupsService {\n constructor(endpoint) {\n this.groups = Vue.resource(endpoint);\n }\n\n getGroups(parentId, page, filterGroups, sort, archived) {\n const data = {};\n\n if (parentId) {\n data.parent_id = parentId;\n } else {\n // Do not send the following param for sub groups\n if (page) {\n data.page = page;\n }\n\n if (filterGroups) {\n data.filter = filterGroups;\n }\n\n if (sort) {\n data.sort = sort;\n }\n\n if (archived) {\n data.archived = archived;\n }\n }\n\n return this.groups.get(data);\n }\n\n // eslint-disable-next-line class-methods-use-this\n leaveGroup(endpoint) {\n return Vue.http.delete(endpoint);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./groups/service/groups_service.js","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLoading)?_c('loading-icon',{staticClass:\"loading-animation prepend-top-20\",attrs:{\"size\":\"2\",\"label\":_vm.s__('GroupsTree|Loading groups')}}):_vm._e(),_vm._v(\" \"),(!_vm.isLoading)?_c('groups-component',{attrs:{\"groups\":_vm.groups,\"search-empty\":_vm.isSearchEmpty,\"search-empty-message\":_vm.searchEmptyMessage,\"page-info\":_vm.pageInfo}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-9072e552\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/app.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./app.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9072e552\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./app.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/app.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n \n \n {{moreChildrenStats}}\n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/group_folder.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"content-list group-list-tree\"},[_vm._l((_vm.groups),function(group,index){return _c('group-item',{key:index,attrs:{\"group\":group,\"parent-group\":_vm.parentGroup}})}),_vm._v(\" \"),(_vm.hasMoreChildren)?_c('li',{staticClass:\"group-row\"},[_c('a',{staticClass:\"group-row-contents has-more-items\",attrs:{\"href\":_vm.parentGroup.relativePath}},[_c('i',{staticClass:\"fa fa-external-link\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.moreChildrenStats)+\"\\n \")])]):_vm._e()],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-70f97de8\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/group_folder.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group_folder.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-70f97de8\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./group_folder.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/group_folder.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/item_caret.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"folder-caret\"},[_c('i',{staticClass:\"fa\",class:_vm.iconClass,attrs:{\"aria-hidden\":\"true\"}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-127aaebb\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_caret.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./item_caret.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-127aaebb\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./item_caret.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/item_caret.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/item_type_icon.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"item-type-icon\"},[_c('i',{staticClass:\"fa\",class:_vm.iconClass,attrs:{\"aria-hidden\":\"true\"}})])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ba124bca\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_type_icon.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./item_type_icon.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ba124bca\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./item_type_icon.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/item_type_icon.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n {{item.subgroupCount}}\n \n \n \n {{item.projectCount}}\n \n \n \n {{item.memberCount}}\n \n \n \n {{item.starCount}}\n \n \n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/item_stats.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"stats\"},[(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-subgroups\",attrs:{\"title\":_vm.s__('Subgroups'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-folder\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.subgroupCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-projects\",attrs:{\"title\":_vm.s__('Projects'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-bookmark\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.projectCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"number-users\",attrs:{\"title\":_vm.s__('Members'),\"data-placement\":\"top\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa fa-users\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.memberCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isProject)?_c('span',{staticClass:\"project-stars\"},[_c('i',{staticClass:\"fa fa-star\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.item.starCount)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"item-visibility\",attrs:{\"title\":_vm.visibilityTooltip,\"data-placement\":\"left\",\"data-container\":\"body\"}},[_c('i',{staticClass:\"fa\",class:_vm.visibilityIcon,attrs:{\"aria-hidden\":\"true\"}})])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e7406ebe\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_stats.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./item_stats.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e7406ebe\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./item_stats.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/item_stats.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/item_actions.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"controls\"},[(_vm.group.canEdit)?_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"edit-group btn no-expand\",attrs:{\"href\":_vm.group.editPath,\"title\":_vm.editBtnTitle,\"aria-label\":_vm.editBtnTitle,\"data-container\":\"body\"}},[_c('icon',{attrs:{\"name\":\"settings\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.group.canLeave)?_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"leave-group btn no-expand\",attrs:{\"href\":_vm.group.leavePath,\"title\":_vm.leaveBtnTitle,\"aria-label\":_vm.leaveBtnTitle,\"data-container\":\"body\"},on:{\"click\":function($event){$event.preventDefault();_vm.onLeaveGroup($event)}}},[_c('i',{staticClass:\"fa fa-sign-out\",attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),_c('popup-dialog',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.dialogStatus),expression:\"dialogStatus\"}],attrs:{\"primary-button-label\":_vm.__('Leave'),\"kind\":\"warning\",\"title\":_vm.__('Are you sure?'),\"text\":_vm.__('Are you sure you want to leave this group?'),\"body\":_vm.leaveConfirmationMessage},on:{\"submit\":_vm.leaveGroup}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5a56f6bd\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/item_actions.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./item_actions.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5a56f6bd\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./item_actions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/item_actions.vue\n// module id = null\n// module chunks = ","\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{\n // ending bracket must be by closing tag to prevent\n // link hover text-decoration from over-extending\n group.name\n }}\n \n {{group.permission}}\n \n \n \n {{group.description}}\n \n \n \n \n\n\n\n\n// WEBPACK FOOTER //\n// groups/components/group_item.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"group-row\",class:_vm.rowClass,attrs:{\"id\":_vm.groupDomId},on:{\"click\":function($event){$event.stopPropagation();_vm.onClickRowGroup($event)}}},[_c('div',{staticClass:\"group-row-contents\"},[(_vm.isGroup)?_c('item-actions',{attrs:{\"group\":_vm.group,\"parent-group\":_vm.parentGroup}}):_vm._e(),_vm._v(\" \"),_c('item-stats',{attrs:{\"item\":_vm.group}}),_vm._v(\" \"),_c('div',{staticClass:\"folder-toggle-wrap\"},[_c('item-caret',{attrs:{\"is-group-open\":_vm.group.isOpen}}),_vm._v(\" \"),_c('item-type-icon',{attrs:{\"item-type\":_vm.group.type,\"is-group-open\":_vm.group.isOpen}})],1),_vm._v(\" \"),_c('div',{staticClass:\"avatar-container s40 hidden-xs\",class:{ 'content-loading': _vm.group.isChildrenLoading }},[_c('a',{staticClass:\"no-expand\",attrs:{\"href\":_vm.group.relativePath}},[(_vm.hasAvatar)?_c('img',{staticClass:\"avatar s40\",attrs:{\"src\":_vm.group.avatarUrl}}):_c('identicon',{attrs:{\"entity-id\":_vm.group.id,\"entity-name\":_vm.group.name}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"title namespace-title\"},[_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"no-expand\",attrs:{\"href\":_vm.group.relativePath,\"title\":_vm.group.fullName,\"data-placement\":\"top\"}},[_vm._v(_vm._s(// ending bracket must be by closing tag to prevent\n // link hover text-decoration from over-extending\n _vm.group.name))]),_vm._v(\" \"),(_vm.group.permission)?_c('span',{staticClass:\"user-access-role\"},[_vm._v(\"\\n \"+_vm._s(_vm.group.permission)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.group.description)?_c('div',{staticClass:\"description\"},[_vm._v(\"\\n \"+_vm._s(_vm.group.description)+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.group.isOpen && _vm.hasChildren)?_c('group-folder',{attrs:{\"parent-group\":_vm.group,\"groups\":_vm.group.children}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4d78daeb\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./groups/components/group_item.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./group_item.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4d78daeb\\\",\\\"hasScoped\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./group_item.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./groups/components/group_item.vue\n// module id = null\n// module chunks = ","import Vue from 'vue';\nimport Translate from '../vue_shared/translate';\nimport GroupFilterableList from './groups_filterable_list';\nimport GroupsStore from './store/groups_store';\nimport GroupsService from './service/groups_service';\n\nimport groupsApp from './components/app.vue';\nimport groupFolderComponent from './components/group_folder.vue';\nimport groupItemComponent from './components/group_item.vue';\n\nVue.use(Translate);\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const el = document.getElementById('js-groups-tree');\n\n // Don't do anything if element doesn't exist (No groups)\n // This is for when the user enters directly to the page via URL\n if (!el) {\n return;\n }\n\n Vue.component('group-folder', groupFolderComponent);\n Vue.component('group-item', groupItemComponent);\n\n // eslint-disable-next-line no-new\n new Vue({\n el,\n components: {\n groupsApp,\n },\n data() {\n const dataset = this.$options.el.dataset;\n const hideProjects = dataset.hideProjects === 'true';\n const store = new GroupsStore(hideProjects);\n const service = new GroupsService(dataset.endpoint);\n\n return {\n store,\n service,\n hideProjects,\n loading: true,\n };\n },\n beforeMount() {\n const dataset = this.$options.el.dataset;\n let groupFilterList = null;\n const form = document.querySelector(dataset.formSel);\n const filter = document.querySelector(dataset.filterSel);\n const holder = document.querySelector(dataset.holderSel);\n\n const opts = {\n form,\n filter,\n holder,\n filterEndpoint: dataset.endpoint,\n pagePath: dataset.path,\n dropdownSel: dataset.dropdownSel,\n filterInputField: 'filter',\n };\n\n groupFilterList = new GroupFilterableList(opts);\n groupFilterList.initSearch();\n },\n render(createElement) {\n return createElement('groups-app', {\n props: {\n store: this.store,\n service: this.service,\n hideProjects: this.hideProjects,\n },\n });\n },\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./groups/index.js"],"sourceRoot":""}