{"version":3,"sources":["webpack:///pages.projects.127d3e2649bb1c3ba17f.bundle.js","webpack:///./pages/projects/index.js","webpack:///./pages/projects/project.js","webpack:///./project_select.js","webpack:///./project_select_combo_button.js","webpack:///./shortcuts_navigation.js"],"names":["webpackJsonp","./pages/projects/index.js","module","__webpack_exports__","__webpack_require__","Object","defineProperty","value","__WEBPACK_IMPORTED_MODULE_0__project__","__WEBPACK_IMPORTED_MODULE_1__shortcuts_navigation__","document","addEventListener","./pages/projects/project.js","$","_classCallCheck","instance","Constructor","TypeError","__WEBPACK_IMPORTED_MODULE_0_js_cookie__","__WEBPACK_IMPORTED_MODULE_0_js_cookie___default","n","__WEBPACK_IMPORTED_MODULE_1__locale__","__WEBPACK_IMPORTED_MODULE_2__lib_utils_url_utility__","__WEBPACK_IMPORTED_MODULE_3__lib_utils_axios_utils__","__WEBPACK_IMPORTED_MODULE_4__flash__","__WEBPACK_IMPORTED_MODULE_5__project_select__","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","Project","this","$cloneOptions","$projectCloneField","$cloneBtnText","selectedCloneOption","text","trim","addClass","on","e","$this","currentTarget","url","attr","activeText","find","preventDefault","not","removeClass","toggleClass","val","initRefSwitcher","parents","submit","a","set","remove","projectSelectDropdown","changeProject","window","location","refListItem","createElement","refLink","href","each","$dropdown","selected","data","glDropdown","term","callback","get","params","ref","search","then","_ref","catch","selectable","filterable","filterRemote","filterByText","inputFieldName","fieldName","renderRow","li","cloneNode","header","className","textContent","link","dataset","appendChild","id","obj","$el","toggleLabel","clicked","options","$form","closest","$visit","shouldVisit","action","divider","indexOf","visitUrl","serialize","call","./project_select.js","projectSelect","select","placeholder","simpleFilter","groupId","includeGroups","allProjects","orderBy","withIssuesEnabled","withMergeRequestsEnabled","select2","minimumInputLength","query","_this","finalCallback","projectsCallback","projects","results","groupsCallback","groups","concat","__WEBPACK_IMPORTED_MODULE_0__api__","groupProjects","order_by","with_issues_enabled","with_merge_requests_enabled","membership","project","JSON","stringify","name","web_url","name_with_namespace","dropdownCssClass","__WEBPACK_IMPORTED_MODULE_1__project_select_combo_button__","./project_select_combo_button.js","__WEBPACK_IMPORTED_MODULE_0__lib_utils_accessor__","ProjectSelectComboButton","projectSelectInput","newItemBtn","resourceType","resourceLabel","formattedText","deriveTextVariants","bindEvents","initLocalStorage","siblings","openDropdown","getProjectFromLocalStorage","selectProject","isLocalStorageAccessSafe","localStorageKey","localStorageItemType","join","setBtnTextFromLocalStorage","event","selectedProjectData","parse","projectUrl","projectName","projectMeta","setNewItemBtnAttributes","setProjectInLocalStorage","cachedProjectData","defaultTextPrefix","presetTextSuffix","projectString","localStorage","getItem","setItem","split","slice","./shortcuts_navigation.js","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","__WEBPACK_IMPORTED_MODULE_0_mousetrap__","__WEBPACK_IMPORTED_MODULE_0_mousetrap___default","__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__","__WEBPACK_IMPORTED_MODULE_2__shortcuts__","ShortcutsNavigation","_Shortcuts","getPrototypeOf","bind","enabledHelp","push"],"mappings":"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","file":"pages.projects.127d3e2649bb1c3ba17f.bundle.js","sourcesContent":["webpackJsonp([\"pages.projects\"],{\n\n/***/ \"./pages/projects/index.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__project__ = __webpack_require__(\"./pages/projects/project.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shortcuts_navigation__ = __webpack_require__(\"./shortcuts_navigation.js\");\n\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n new __WEBPACK_IMPORTED_MODULE_0__project__[\"a\" /* default */](); // eslint-disable-line no-new\n new __WEBPACK_IMPORTED_MODULE_1__shortcuts_navigation__[\"a\" /* default */](); // eslint-disable-line no-new\n});\n\n/***/ }),\n\n/***/ \"./pages/projects/project.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie__ = __webpack_require__(\"../../../node_modules/js-cookie/src/js.cookie.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_js_cookie__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__locale__ = __webpack_require__(\"./locale/index.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_utils_url_utility__ = __webpack_require__(\"./lib/utils/url_utility.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_utils_axios_utils__ = __webpack_require__(\"./lib/utils/axios_utils.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__flash__ = __webpack_require__(\"./flash.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__project_select__ = __webpack_require__(\"./project_select.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/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */\n\n\n\n\n\n\n\n\nvar Project = function () {\n function Project() {\n _classCallCheck(this, Project);\n\n var $cloneOptions = $('ul.clone-options-dropdown');\n var $projectCloneField = $('#project_clone');\n var $cloneBtnText = $('a.clone-dropdown-btn span');\n\n var selectedCloneOption = $cloneBtnText.text().trim();\n if (selectedCloneOption.length > 0) {\n $('a:contains(\\'' + selectedCloneOption + '\\')', $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', function (e) {\n var $this = $(e.currentTarget);\n var url = $this.attr('href');\n var activeText = $this.find('.dropdown-menu-inner-title').text();\n\n e.preventDefault();\n\n $('.is-active', $cloneOptions).not($this).removeClass('is-active');\n $this.toggleClass('is-active');\n $projectCloneField.val(url);\n $cloneBtnText.text(activeText);\n\n return $('.clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function () {\n return $(this).parents('form').submit();\n });\n $('.hide-no-ssh-message').on('click', function (e) {\n __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set('hide_no_ssh_message', 'false');\n $(this).parents('.no-ssh-key-message').remove();\n return e.preventDefault();\n });\n $('.hide-no-password-message').on('click', function (e) {\n __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set('hide_no_password_message', 'false');\n $(this).parents('.no-password-message').remove();\n return e.preventDefault();\n });\n Project.projectSelectDropdown();\n }\n\n _createClass(Project, null, [{\n key: 'projectSelectDropdown',\n value: function projectSelectDropdown() {\n Object(__WEBPACK_IMPORTED_MODULE_5__project_select__[\"a\" /* default */])();\n $('.project-item-select').on('click', function (e) {\n return Project.changeProject($(e.currentTarget).val());\n });\n }\n }, {\n key: 'changeProject',\n value: function changeProject(url) {\n return window.location = url;\n }\n }, {\n key: 'initRefSwitcher',\n value: function initRefSwitcher() {\n var refListItem = document.createElement('li');\n var refLink = document.createElement('a');\n\n refLink.href = '#';\n\n return $('.js-project-refs-dropdown').each(function () {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n return $dropdown.glDropdown({\n data: function data(term, callback) {\n __WEBPACK_IMPORTED_MODULE_3__lib_utils_axios_utils__[\"a\" /* default */].get($dropdown.data('refsUrl'), {\n params: {\n ref: $dropdown.data('ref'),\n search: term\n }\n }).then(function (_ref) {\n var data = _ref.data;\n return callback(data);\n }).catch(function () {\n return Object(__WEBPACK_IMPORTED_MODULE_4__flash__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_1__locale__[\"a\" /* __ */])('An error occurred while getting projects'));\n });\n },\n\n selectable: true,\n filterable: true,\n filterRemote: true,\n filterByText: true,\n inputFieldName: $dropdown.data('inputFieldName'),\n fieldName: $dropdown.data('fieldName'),\n renderRow: function renderRow(ref) {\n var li = refListItem.cloneNode(false);\n\n if (ref.header != null) {\n li.className = 'dropdown-header';\n li.textContent = ref.header;\n } else {\n var link = refLink.cloneNode(false);\n\n if (ref === selected) {\n link.className = 'is-active';\n }\n\n link.textContent = ref;\n link.dataset.ref = ref;\n\n li.appendChild(link);\n }\n\n return li;\n },\n id: function id(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function toggleLabel(obj, $el) {\n return $el.text().trim();\n },\n clicked: function clicked(options) {\n var e = options.e;\n\n e.preventDefault();\n if ($('input[name=\"ref\"]').length) {\n var $form = $dropdown.closest('form');\n\n var $visit = $dropdown.data('visit');\n var shouldVisit = $visit ? true : $visit;\n var action = $form.attr('action');\n var divider = action.indexOf('?') === -1 ? '?' : '&';\n if (shouldVisit) {\n Object(__WEBPACK_IMPORTED_MODULE_2__lib_utils_url_utility__[\"g\" /* visitUrl */])('' + action + divider + $form.serialize());\n }\n }\n }\n });\n });\n }\n }]);\n\n return Project;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Project);\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"./project_select.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony export (immutable) */ __webpack_exports__[\"a\"] = projectSelect;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(\"./api.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__project_select_combo_button__ = __webpack_require__(\"./project_select_combo_button.js\");\n/* eslint-disable func-names, space-before-function-paren, wrap-iife, prefer-arrow-callback, no-var, comma-dangle, object-shorthand, one-var, one-var-declaration-per-line, no-else-return, quotes, max-len */\n\n\n\nfunction projectSelect() {\n $('.ajax-project-select').each(function (i, select) {\n var placeholder;\n var simpleFilter = $(select).data('simpleFilter') || false;\n this.groupId = $(select).data('groupId');\n this.includeGroups = $(select).data('includeGroups');\n this.allProjects = $(select).data('allProjects') || false;\n this.orderBy = $(select).data('orderBy') || 'id';\n this.withIssuesEnabled = $(select).data('withIssuesEnabled');\n this.withMergeRequestsEnabled = $(select).data('withMergeRequestsEnabled');\n\n placeholder = \"搜索项目\";\n if (this.includeGroups) {\n placeholder += \"或群组\";\n }\n\n $(select).select2({\n placeholder: placeholder,\n minimumInputLength: 0,\n query: function (_this) {\n return function (query) {\n var finalCallback, projectsCallback;\n finalCallback = function finalCallback(projects) {\n var data;\n data = {\n results: projects\n };\n return query.callback(data);\n };\n if (_this.includeGroups) {\n projectsCallback = function projectsCallback(projects) {\n var groupsCallback;\n groupsCallback = function groupsCallback(groups) {\n var data;\n data = groups.concat(projects);\n return finalCallback(data);\n };\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].groups(query.term, {}, groupsCallback);\n };\n } else {\n projectsCallback = finalCallback;\n }\n if (_this.groupId) {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].groupProjects(_this.groupId, query.term, projectsCallback);\n } else {\n return __WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */].projects(query.term, {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects\n }, projectsCallback);\n }\n };\n }(this),\n id: function id(project) {\n if (simpleFilter) return project.id;\n return JSON.stringify({\n name: project.name,\n url: project.web_url\n });\n },\n text: function text(project) {\n return project.name_with_namespace || project.name;\n },\n dropdownCssClass: \"ajax-project-dropdown\"\n });\n if (simpleFilter) return select;\n return new __WEBPACK_IMPORTED_MODULE_1__project_select_combo_button__[\"a\" /* default */](select);\n });\n}\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"./project_select_combo_button.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_utils_accessor__ = __webpack_require__(\"./lib/utils/accessor.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 ProjectSelectComboButton = function () {\n function ProjectSelectComboButton(select) {\n _classCallCheck(this, ProjectSelectComboButton);\n\n this.projectSelectInput = $(select);\n this.newItemBtn = $('.new-project-item-link');\n this.resourceType = this.newItemBtn.data('type');\n this.resourceLabel = this.newItemBtn.data('label');\n this.formattedText = this.deriveTextVariants();\n this.groupId = this.projectSelectInput.data('groupId');\n this.bindEvents();\n this.initLocalStorage();\n }\n\n _createClass(ProjectSelectComboButton, [{\n key: 'bindEvents',\n value: function bindEvents() {\n var _this = this;\n\n this.projectSelectInput.siblings('.new-project-item-select-button').on('click', function (e) {\n return _this.openDropdown(e);\n });\n\n this.newItemBtn.on('click', function (e) {\n if (!_this.getProjectFromLocalStorage()) {\n e.preventDefault();\n _this.openDropdown(e);\n }\n });\n\n this.projectSelectInput.on('change', function () {\n return _this.selectProject();\n });\n }\n }, {\n key: 'initLocalStorage',\n value: function initLocalStorage() {\n var localStorageIsSafe = __WEBPACK_IMPORTED_MODULE_0__lib_utils_accessor__[\"a\" /* default */].isLocalStorageAccessSafe();\n\n if (localStorageIsSafe) {\n this.localStorageKey = ['group', this.groupId, this.formattedText.localStorageItemType, 'recent-project'].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: 'openDropdown',\n value: function openDropdown(event) {\n $(event.currentTarget).siblings('.project-item-select').select2('open');\n }\n }, {\n key: 'selectProject',\n value: function selectProject() {\n var selectedProjectData = JSON.parse(this.projectSelectInput.val());\n var projectUrl = selectedProjectData.url + '/' + this.projectSelectInput.data('relativePath');\n var projectName = selectedProjectData.name;\n\n var projectMeta = {\n url: projectUrl,\n name: projectName\n };\n\n this.setNewItemBtnAttributes(projectMeta);\n this.setProjectInLocalStorage(projectMeta);\n }\n }, {\n key: 'setBtnTextFromLocalStorage',\n value: function setBtnTextFromLocalStorage() {\n var cachedProjectData = this.getProjectFromLocalStorage();\n\n this.setNewItemBtnAttributes(cachedProjectData);\n }\n }, {\n key: 'setNewItemBtnAttributes',\n value: function setNewItemBtnAttributes(project) {\n if (project) {\n this.newItemBtn.attr('href', project.url);\n this.newItemBtn.text(this.formattedText.defaultTextPrefix + ' in ' + project.name);\n } else {\n this.newItemBtn.text('\\u9009\\u62E9\\u4E00\\u4E2A\\u9879\\u76EE\\u6765\\u521B\\u5EFA ' + this.formattedText.presetTextSuffix);\n }\n }\n }, {\n key: 'getProjectFromLocalStorage',\n value: function getProjectFromLocalStorage() {\n var projectString = localStorage.getItem(this.localStorageKey);\n\n return JSON.parse(projectString);\n }\n }, {\n key: 'setProjectInLocalStorage',\n value: function setProjectInLocalStorage(projectMeta) {\n var projectString = JSON.stringify(projectMeta);\n\n localStorage.setItem(this.localStorageKey, projectString);\n }\n }, {\n key: 'deriveTextVariants',\n value: function deriveTextVariants() {\n var defaultTextPrefix = this.resourceLabel;\n\n // the trailing slice call depluralizes each of these strings (e.g. new-issues -> new-issue)\n var localStorageItemType = 'new-' + this.resourceType.split('_').join('-').slice(0, -1);\n var presetTextSuffix = this.resourceType.split('_').join(' ').slice(0, -1);\n\n return {\n localStorageItemType: localStorageItemType, // new-issue / new-merge-request\n defaultTextPrefix: defaultTextPrefix, // New issue / New merge request\n presetTextSuffix: presetTextSuffix // issue / merge request\n };\n }\n }]);\n\n return ProjectSelectComboButton;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ProjectSelectComboButton);\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"./shortcuts_navigation.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mousetrap__ = __webpack_require__(\"../../../node_modules/mousetrap/mousetrap.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mousetrap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_mousetrap__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__ = __webpack_require__(\"./shortcuts_dashboard_navigation.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__shortcuts__ = __webpack_require__(\"./shortcuts.js\");\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 ShortcutsNavigation = function (_Shortcuts) {\n _inherits(ShortcutsNavigation, _Shortcuts);\n\n function ShortcutsNavigation() {\n _classCallCheck(this, ShortcutsNavigation);\n\n var _this = _possibleConstructorReturn(this, (ShortcutsNavigation.__proto__ || Object.getPrototypeOf(ShortcutsNavigation)).call(this));\n\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g p', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-project');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g e', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-project-activity');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g f', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-tree');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g c', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-commits');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g j', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-builds');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g n', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-network');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g d', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-repository-charts');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g i', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-issues');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g b', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-issue-boards');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g m', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-merge_requests');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g t', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-todos');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g w', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-wiki');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('g s', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-snippets');\n });\n __WEBPACK_IMPORTED_MODULE_0_mousetrap___default.a.bind('i', function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__shortcuts_dashboard_navigation__[\"a\" /* default */])('.shortcuts-new-issue');\n });\n\n _this.enabledHelp.push('.hidden-shortcut.project');\n return _this;\n }\n\n return ShortcutsNavigation;\n}(__WEBPACK_IMPORTED_MODULE_2__shortcuts__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ShortcutsNavigation);\n\n/***/ })\n\n},[\"./pages/projects/index.js\"]);\n\n\n// WEBPACK FOOTER //\n// pages.projects.127d3e2649bb1c3ba17f.bundle.js","import Project from './project';\nimport ShortcutsNavigation from '../../shortcuts_navigation';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Project(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n});\n\n\n\n// WEBPACK FOOTER //\n// ./pages/projects/index.js","/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */\n\nimport Cookies from 'js-cookie';\nimport { __ } from '~/locale';\nimport { visitUrl } from '~/lib/utils/url_utility';\nimport axios from '~/lib/utils/axios_utils';\nimport flash from '~/flash';\nimport projectSelect from '../../project_select';\n\nexport default class Project {\n constructor() {\n const $cloneOptions = $('ul.clone-options-dropdown');\n const $projectCloneField = $('#project_clone');\n const $cloneBtnText = $('a.clone-dropdown-btn span');\n\n const selectedCloneOption = $cloneBtnText.text().trim();\n if (selectedCloneOption.length > 0) {\n $(`a:contains('${selectedCloneOption}')`, $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', (e) => {\n const $this = $(e.currentTarget);\n const url = $this.attr('href');\n const activeText = $this.find('.dropdown-menu-inner-title').text();\n\n e.preventDefault();\n\n $('.is-active', $cloneOptions).not($this).removeClass('is-active');\n $this.toggleClass('is-active');\n $projectCloneField.val(url);\n $cloneBtnText.text(activeText);\n\n return $('.clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function() {\n return $(this).parents('form').submit();\n });\n $('.hide-no-ssh-message').on('click', function(e) {\n Cookies.set('hide_no_ssh_message', 'false');\n $(this).parents('.no-ssh-key-message').remove();\n return e.preventDefault();\n });\n $('.hide-no-password-message').on('click', function(e) {\n Cookies.set('hide_no_password_message', 'false');\n $(this).parents('.no-password-message').remove();\n return e.preventDefault();\n });\n Project.projectSelectDropdown();\n }\n\n static projectSelectDropdown() {\n projectSelect();\n $('.project-item-select').on('click', e => Project.changeProject($(e.currentTarget).val()));\n }\n\n static changeProject(url) {\n return window.location = url;\n }\n\n static initRefSwitcher() {\n var refListItem = document.createElement('li');\n var refLink = document.createElement('a');\n\n refLink.href = '#';\n\n return $('.js-project-refs-dropdown').each(function() {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n return $dropdown.glDropdown({\n data(term, callback) {\n axios.get($dropdown.data('refsUrl'), {\n params: {\n ref: $dropdown.data('ref'),\n search: term,\n },\n })\n .then(({ data }) => callback(data))\n .catch(() => flash(__('An error occurred while getting projects')));\n },\n selectable: true,\n filterable: true,\n filterRemote: true,\n filterByText: true,\n inputFieldName: $dropdown.data('inputFieldName'),\n fieldName: $dropdown.data('fieldName'),\n renderRow: function(ref) {\n var li = refListItem.cloneNode(false);\n\n if (ref.header != null) {\n li.className = 'dropdown-header';\n li.textContent = ref.header;\n } else {\n var link = refLink.cloneNode(false);\n\n if (ref === selected) {\n link.className = 'is-active';\n }\n\n link.textContent = ref;\n link.dataset.ref = ref;\n\n li.appendChild(link);\n }\n\n return li;\n },\n id: function(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function(obj, $el) {\n return $el.text().trim();\n },\n clicked: function(options) {\n const { e } = options;\n e.preventDefault();\n if ($('input[name=\"ref\"]').length) {\n var $form = $dropdown.closest('form');\n\n var $visit = $dropdown.data('visit');\n var shouldVisit = $visit ? true : $visit;\n var action = $form.attr('action');\n var divider = action.indexOf('?') === -1 ? '?' : '&';\n if (shouldVisit) {\n visitUrl(`${action}${divider}${$form.serialize()}`);\n }\n }\n },\n });\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./pages/projects/project.js","/* eslint-disable func-names, space-before-function-paren, wrap-iife, prefer-arrow-callback, no-var, comma-dangle, object-shorthand, one-var, one-var-declaration-per-line, no-else-return, quotes, max-len */\nimport Api from './api';\nimport ProjectSelectComboButton from './project_select_combo_button';\n\nexport default function projectSelect() {\n $('.ajax-project-select').each(function(i, select) {\n var placeholder;\n const simpleFilter = $(select).data('simpleFilter') || false;\n this.groupId = $(select).data('groupId');\n this.includeGroups = $(select).data('includeGroups');\n this.allProjects = $(select).data('allProjects') || false;\n this.orderBy = $(select).data('orderBy') || 'id';\n this.withIssuesEnabled = $(select).data('withIssuesEnabled');\n this.withMergeRequestsEnabled = $(select).data('withMergeRequestsEnabled');\n\n placeholder = \"搜索项目\";\n if (this.includeGroups) {\n placeholder += \"或群组\";\n }\n\n $(select).select2({\n placeholder: placeholder,\n minimumInputLength: 0,\n query: (function (_this) {\n return function (query) {\n var finalCallback, projectsCallback;\n finalCallback = function (projects) {\n var data;\n data = {\n results: projects\n };\n return query.callback(data);\n };\n if (_this.includeGroups) {\n projectsCallback = function (projects) {\n var groupsCallback;\n groupsCallback = function (groups) {\n var data;\n data = groups.concat(projects);\n return finalCallback(data);\n };\n return Api.groups(query.term, {}, groupsCallback);\n };\n } else {\n projectsCallback = finalCallback;\n }\n if (_this.groupId) {\n return Api.groupProjects(_this.groupId, query.term, projectsCallback);\n } else {\n return Api.projects(query.term, {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects,\n }, projectsCallback);\n }\n };\n })(this),\n id: function(project) {\n if (simpleFilter) return project.id;\n return JSON.stringify({\n name: project.name,\n url: project.web_url,\n });\n },\n text: function (project) {\n return project.name_with_namespace || project.name;\n },\n dropdownCssClass: \"ajax-project-dropdown\"\n });\n if (simpleFilter) return select;\n return new ProjectSelectComboButton(select);\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./project_select.js","import AccessorUtilities from './lib/utils/accessor';\n\nexport default class ProjectSelectComboButton {\n constructor(select) {\n this.projectSelectInput = $(select);\n this.newItemBtn = $('.new-project-item-link');\n this.resourceType = this.newItemBtn.data('type');\n this.resourceLabel = this.newItemBtn.data('label');\n this.formattedText = this.deriveTextVariants();\n this.groupId = this.projectSelectInput.data('groupId');\n this.bindEvents();\n this.initLocalStorage();\n }\n\n bindEvents() {\n this.projectSelectInput.siblings('.new-project-item-select-button')\n .on('click', e => this.openDropdown(e));\n\n this.newItemBtn.on('click', (e) => {\n if (!this.getProjectFromLocalStorage()) {\n e.preventDefault();\n this.openDropdown(e);\n }\n });\n\n this.projectSelectInput.on('change', () => this.selectProject());\n }\n\n initLocalStorage() {\n const localStorageIsSafe = AccessorUtilities.isLocalStorageAccessSafe();\n\n if (localStorageIsSafe) {\n this.localStorageKey = ['group', this.groupId, this.formattedText.localStorageItemType, 'recent-project'].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n openDropdown(event) {\n $(event.currentTarget).siblings('.project-item-select').select2('open');\n }\n\n selectProject() {\n const selectedProjectData = JSON.parse(this.projectSelectInput.val());\n const projectUrl = `${selectedProjectData.url}/${this.projectSelectInput.data('relativePath')}`;\n const projectName = selectedProjectData.name;\n\n const projectMeta = {\n url: projectUrl,\n name: projectName,\n };\n\n this.setNewItemBtnAttributes(projectMeta);\n this.setProjectInLocalStorage(projectMeta);\n }\n\n setBtnTextFromLocalStorage() {\n const cachedProjectData = this.getProjectFromLocalStorage();\n\n this.setNewItemBtnAttributes(cachedProjectData);\n }\n\n setNewItemBtnAttributes(project) {\n if (project) {\n this.newItemBtn.attr('href', project.url);\n this.newItemBtn.text(`${this.formattedText.defaultTextPrefix} in ${project.name}`);\n } else {\n this.newItemBtn.text(`选择一个项目来创建 ${this.formattedText.presetTextSuffix}`);\n }\n }\n\n getProjectFromLocalStorage() {\n const projectString = localStorage.getItem(this.localStorageKey);\n\n return JSON.parse(projectString);\n }\n\n setProjectInLocalStorage(projectMeta) {\n const projectString = JSON.stringify(projectMeta);\n\n localStorage.setItem(this.localStorageKey, projectString);\n }\n\n deriveTextVariants() {\n const defaultTextPrefix = this.resourceLabel;\n\n // the trailing slice call depluralizes each of these strings (e.g. new-issues -> new-issue)\n const localStorageItemType = `new-${this.resourceType.split('_').join('-').slice(0, -1)}`;\n const presetTextSuffix = this.resourceType.split('_').join(' ').slice(0, -1);\n\n return {\n localStorageItemType, // new-issue / new-merge-request\n defaultTextPrefix, // New issue / New merge request\n presetTextSuffix, // issue / merge request\n };\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./project_select_combo_button.js","import Mousetrap from 'mousetrap';\nimport findAndFollowLink from './shortcuts_dashboard_navigation';\nimport Shortcuts from './shortcuts';\n\nexport default class ShortcutsNavigation extends Shortcuts {\n constructor() {\n super();\n\n Mousetrap.bind('g p', () => findAndFollowLink('.shortcuts-project'));\n Mousetrap.bind('g e', () => findAndFollowLink('.shortcuts-project-activity'));\n Mousetrap.bind('g f', () => findAndFollowLink('.shortcuts-tree'));\n Mousetrap.bind('g c', () => findAndFollowLink('.shortcuts-commits'));\n Mousetrap.bind('g j', () => findAndFollowLink('.shortcuts-builds'));\n Mousetrap.bind('g n', () => findAndFollowLink('.shortcuts-network'));\n Mousetrap.bind('g d', () => findAndFollowLink('.shortcuts-repository-charts'));\n Mousetrap.bind('g i', () => findAndFollowLink('.shortcuts-issues'));\n Mousetrap.bind('g b', () => findAndFollowLink('.shortcuts-issue-boards'));\n Mousetrap.bind('g m', () => findAndFollowLink('.shortcuts-merge_requests'));\n Mousetrap.bind('g t', () => findAndFollowLink('.shortcuts-todos'));\n Mousetrap.bind('g w', () => findAndFollowLink('.shortcuts-wiki'));\n Mousetrap.bind('g s', () => findAndFollowLink('.shortcuts-snippets'));\n Mousetrap.bind('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./shortcuts_navigation.js"],"sourceRoot":""}