{"version":3,"sources":["webpack:///./behaviors/shortcuts/shortcuts_navigation.js","webpack:///./project_select_combo_button.js","webpack:///./project_select.js","webpack:///./pages/projects/project.js","webpack:///./pages/projects/index.js"],"names":["ShortcutsNavigation","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","Mousetrap","bind","findAndFollowLink","enabledHelp","push","Shortcuts","ProjectSelectComboButton","select","projectSelectInput","$","newItemBtn","resourceType","data","resourceLabel","formattedText","deriveTextVariants","groupId","bindEvents","initLocalStorage","siblings","on","e","openDropdown","getProjectFromLocalStorage","preventDefault","selectProject","AccessorUtilities","isLocalStorageAccessSafe","localStorageKey","localStorageItemType","join","setBtnTextFromLocalStorage","event","currentTarget","select2","selectedProjectData","JSON","parse","val","projectMeta","url","concat","name","setNewItemBtnAttributes","setProjectInLocalStorage","cachedProjectData","project","attr","text","defaultTextPrefix","presetTextSuffix","projectString","localStorage","getItem","stringify","setItem","split","slice","projectSelect","each","i","placeholder","simpleFilter","includeGroups","allProjects","orderBy","withIssuesEnabled","withMergeRequestsEnabled","withShared","undefined","includeProjectsInSubgroups","allowClear","minimumInputLength","query","finalCallback","projectsCallback","projects","results","callback","groupsCallback","groups","Api","term","groupProjects","with_issues_enabled","with_merge_requests_enabled","with_shared","include_subgroups","order_by","membership","id","web_url","name_with_namespace","initSelection","el","then","_ref","dropdownCssClass","__webpack_require__","d","__webpack_exports__","Project","$cloneOptions","$projectCloneField","$cloneBtnLabel","mobileCloneField","document","querySelector","selectedCloneOption","trim","length","addClass","$this","cloneType","removeClass","$el","activeText","find","$label","closest","toggleClass","dataset","clipboardText","initRefSwitcher","parents","submit","Cookies","set","remove","projectId","cookieKey","projectSelectDropdown","changeProject","window","location","refListItem","createElement","refLink","href","$dropdown","selected","glDropdown","axios","get","params","ref","search","catch","flash","__","selectable","filterable","filterRemote","filterByText","inputFieldName","fieldName","renderRow","li","cloneNode","header","className","textContent","link","appendChild","obj","toggleLabel","clicked","options","$form","$visit","shouldVisit","action","divider","indexOf","visitUrl","serialize","r","_dismissable_callout__WEBPACK_IMPORTED_MODULE_0__","_projects_gke_cluster_dropdowns__WEBPACK_IMPORTED_MODULE_1__","_project__WEBPACK_IMPORTED_MODULE_2__","_behaviors_shortcuts_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_3__","addEventListener","page","body","initDismissableCallout","initGkeDropdowns"],"mappings":"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","file":"pages.projects.da6e1d56.chunk.js","sourcesContent":["import Mousetrap from 'mousetrap';\nimport findAndFollowLink from '../../lib/utils/navigation_utility';\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 v', () => 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 w', () => findAndFollowLink('.shortcuts-wiki'));\n Mousetrap.bind('g s', () => findAndFollowLink('.shortcuts-snippets'));\n Mousetrap.bind('g k', () => findAndFollowLink('.shortcuts-kubernetes'));\n Mousetrap.bind('g e', () => findAndFollowLink('.shortcuts-environments'));\n Mousetrap.bind('g l', () => findAndFollowLink('.shortcuts-metrics'));\n Mousetrap.bind('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n","import $ from 'jquery';\nimport 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\n .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 = [\n 'group',\n this.groupId,\n this.formattedText.localStorageItemType,\n 'recent-project',\n ].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n openDropdown(event) {\n $(event.currentTarget)\n .siblings('.project-item-select')\n .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(`Select project to create ${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\n .split('_')\n .join('-')\n .slice(0, -1)}`;\n const presetTextSuffix = this.resourceType\n .split('_')\n .join(' ')\n .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","/* eslint-disable func-names, no-var, object-shorthand, one-var, no-else-return */\n\nimport $ from 'jquery';\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 this.withShared =\n $(select).data('withShared') === undefined ? true : $(select).data('withShared');\n this.includeProjectsInSubgroups = $(select).data('includeProjectsInSubgroups') || false;\n this.allowClear = $(select).data('allowClear') || false;\n\n placeholder = 'Search for project';\n if (this.includeGroups) {\n placeholder += ' or group';\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(\n _this.groupId,\n query.term,\n {\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n with_shared: _this.withShared,\n include_subgroups: _this.includeProjectsInSubgroups,\n },\n projectsCallback,\n );\n } else {\n return Api.projects(\n query.term,\n {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects,\n },\n projectsCallback,\n );\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\n initSelection: function(el, callback) {\n return Api.project(el.val()).then(({ data }) => callback(data));\n },\n\n allowClear: this.allowClear,\n\n dropdownCssClass: 'ajax-project-dropdown',\n });\n if (simpleFilter) return select;\n return new ProjectSelectComboButton(select);\n });\n}\n","/* eslint-disable func-names, no-var, no-return-assign, one-var, object-shorthand, vars-on-top */\n\nimport $ from 'jquery';\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 $cloneBtnLabel = $('.js-git-clone-holder .js-clone-dropdown-label');\n const mobileCloneField = document.querySelector(\n '.js-mobile-git-clone .js-clone-dropdown-label',\n );\n\n const selectedCloneOption = $cloneBtnLabel.text().trim();\n if (selectedCloneOption.length > 0) {\n $(`a:contains('${selectedCloneOption}')`, $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', e => {\n e.preventDefault();\n const $this = $(e.currentTarget);\n const url = $this.attr('href');\n const cloneType = $this.data('cloneType');\n\n $('.is-active', $cloneOptions).removeClass('is-active');\n $(`a[data-clone-type=\"${cloneType}\"]`).each(function() {\n const $el = $(this);\n const activeText = $el.find('.dropdown-menu-inner-title').text();\n const $container = $el.closest('.project-clone-holder');\n const $label = $container.find('.js-clone-dropdown-label');\n\n $el.toggleClass('is-active');\n $label.text(activeText);\n });\n\n if (mobileCloneField) {\n mobileCloneField.dataset.clipboardText = url;\n } else {\n $projectCloneField.val(url);\n }\n $('.js-git-empty .js-clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function() {\n return $(this)\n .parents('form')\n .submit();\n });\n $('.hide-no-ssh-message').on('click', function(e) {\n Cookies.set('hide_no_ssh_message', 'false');\n $(this)\n .parents('.no-ssh-key-message')\n .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)\n .parents('.no-password-message')\n .remove();\n return e.preventDefault();\n });\n $('.hide-auto-devops-implicitly-enabled-banner').on('click', function(e) {\n const projectId = $(this).data('project-id');\n const cookieKey = `hide_auto_devops_implicitly_enabled_banner_${projectId}`;\n Cookies.set(cookieKey, 'false');\n $(this)\n .parents('.auto-devops-implicitly-enabled-banner')\n .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\n .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","import initDismissableCallout from '~/dismissable_callout';\nimport initGkeDropdowns from '~/projects/gke_cluster_dropdowns';\nimport Project from './project';\nimport ShortcutsNavigation from '../../behaviors/shortcuts/shortcuts_navigation';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const { page } = document.body.dataset;\n const newClusterViews = [\n 'projects:clusters:new',\n 'projects:clusters:create_gcp',\n 'projects:clusters:create_user',\n ];\n\n if (newClusterViews.indexOf(page) > -1) {\n initDismissableCallout('.gcp-signup-offer');\n initGkeDropdowns();\n }\n\n new Project(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n});\n"],"sourceRoot":""}