{"version":3,"sources":["webpack:///projects-03eda0.e8e5e8c6069d287745ae.chunk.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__","./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","document","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":"projects-03eda0.e8e5e8c6069d287745ae.chunk.js","sourcesContent":["webpackJsonp([\"projects-03eda0\"],{\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\n/* harmony default export */ __webpack_exports__[\"default\"] = (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('refs-url'), {\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__[\"__\"])('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('input-field-name'),\n fieldName: $dropdown.data('field-name'),\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('simple-filter') || false;\n this.groupId = $(select).data('group-id');\n this.includeGroups = $(select).data('include-groups');\n this.allProjects = $(select).data('all-projects') || false;\n this.orderBy = $(select).data('order-by') || 'id';\n this.withIssuesEnabled = $(select).data('with-issues-enabled');\n this.withMergeRequestsEnabled = $(select).data('with-merge-requests-enabled');\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});\n\n\n// WEBPACK FOOTER //\n// projects-03eda0.e8e5e8c6069d287745ae.chunk.js","import Project from './project';\nimport ShortcutsNavigation from '../../shortcuts_navigation';\n\nexport default () => {\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('refs-url'), {\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('input-field-name'),\n fieldName: $dropdown.data('field-name'),\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('simple-filter') || false;\n this.groupId = $(select).data('group-id');\n this.includeGroups = $(select).data('include-groups');\n this.allProjects = $(select).data('all-projects') || false;\n this.orderBy = $(select).data('order-by') || 'id';\n this.withIssuesEnabled = $(select).data('with-issues-enabled');\n this.withMergeRequestsEnabled = $(select).data('with-merge-requests-enabled');\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":""}