{"version":3,"sources":["webpack:///./projects/commit/event_hub.js","webpack:///./projects/commit/constants.js","webpack:///./projects/commit_box/info/graphql/queries/commit_containing_tags.query.graphql","webpack:///./projects/commit/init_revert_commit_modal.js","webpack:///./projects/commit/components/form_modal.vue","webpack:///./projects/commit/components/branches_dropdown.vue?413e","webpack:///projects/commit/components/branches_dropdown.vue","webpack:///./projects/commit/components/branches_dropdown.vue?1b52","webpack:///./projects/commit/components/branches_dropdown.vue","webpack:///./projects/commit/components/projects_dropdown.vue?332e","webpack:///projects/commit/components/projects_dropdown.vue","webpack:///./projects/commit/components/form_modal.vue?e926","webpack:///projects/commit/components/form_modal.vue","webpack:///./projects/commit/components/projects_dropdown.vue?ce14","webpack:///./projects/commit/components/projects_dropdown.vue","webpack:///./projects/commit/components/form_modal.vue?de4c","webpack:///./projects/commit/components/commit_options_dropdown.vue?5626","webpack:///projects/commit/components/commit_options_dropdown.vue","webpack:///./projects/commit/components/commit_options_dropdown.vue?1b10","webpack:///./projects/commit/components/commit_options_dropdown.vue","webpack:///./projects/commit/index.js","webpack:///./projects/commit/init_commit_options_dropdown.js","webpack:///./commit_merge_requests.js","webpack:///./projects/commit_box/info/init_commit_pipeline_summary.js","webpack:///./projects/commit_box/info/constants.js","webpack:///./projects/commit_box/info/components/refs_list.vue","webpack:///./projects/commit_box/info/components/refs_list.vue?e180","webpack:///projects/commit_box/info/components/refs_list.vue","webpack:///./projects/commit_box/info/components/commit_refs.vue?efb2","webpack:///projects/commit_box/info/components/commit_refs.vue","webpack:///./projects/commit_box/info/components/refs_list.vue?fcb7","webpack:///./projects/commit_box/info/components/commit_refs.vue?145e","webpack:///./projects/commit_box/info/components/commit_refs.vue","webpack:///./projects/commit_box/info/init_commit_references.js","webpack:///./projects/commit_box/info/index.js","webpack:////build/source/node_modules/lodash/uniqBy.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/collapse/collapse.js","webpack:///./projects/commit_box/info/graphql/queries/commit_containing_branches.query.graphql","webpack:///./projects/commit/store/mutation_types.js","webpack:///./projects/commit/store/actions.js","webpack:///./projects/commit/store/getters.js","webpack:///./projects/commit/store/mutations.js","webpack:///./projects/commit/store/index.js","webpack:///./projects/commit/store/state.js","webpack:///./projects/commit/init_cherry_pick_commit_modal.js","webpack:///./projects/commit_box/info/graphql/queries/commit_references.query.graphql","webpack:///./ci/utils.js"],"names":["createEventHub","OPEN_REVERT_MODAL","REVERT_MODAL_ID","OPEN_CHERRY_PICK_MODAL","CHERRY_PICK_MODAL_ID","I18N_MODAL","startMergeRequest","s__","existingBranch","branchInFork","newMergeRequest","__","actionCancelText","I18N_REVERT_MODAL","branchLabel","actionPrimaryText","I18N_CHERRY_PICK_MODAL","projectLabel","PREPENDED_MODAL_TEXT","I18N_NO_RESULTS_MESSAGE","I18N_PROJECT_HEADER","I18N_PROJECT_SEARCH_PLACEHOLDER","I18N_BRANCH_HEADER","I18N_BRANCH_SEARCH_PLACEHOLDER","PROJECT_BRANCHES_ERROR","doc","loc","source","definitionRefs","findOperation","name","i","definitions","length","element","value","forEach","def","refs","Set","collectFragmentReferences","node","kind","add","type","selectionSet","selections","selection","variableDefinitions","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","push","oneQuery","initInviteMembersModal","primaryActionEventName","el","document","querySelector","title","endpoint","branch","pushCode","branchCollaboration","branchesEndpoint","dataset","store","createStore","parseBoolean","defaultBranch","modalTitle","Vue","provide","prependedText","render","createElement","CommitFormModal","props","i18n","openModal","modalId","components","GlCollapsibleListbox","String","required","default","noResultsMessage","branchHeaderTitle","branchSearchPlaceholder","data","searchTerm","computed","mapGetters","mapState","listboxItems","selectedItem","text","transformedList","joinedBranches","map","_uniqBy","concat","mounted","fetchBranches","methods","mapActions","selectBranch","$emit","debouncedSearch","_debounce","searchTermChanged","trim","_vm","this","_c","_self","staticClass","attrs","$options","isFetching","on","projectHeaderTitle","projectSearchPlaceholder","filterTerm","filteredResults","lowerCasedFilterTerm","toLowerCase","sortedProjects","filter","project","includes","selectedProject","id","_this","find","targetProjectId","selectProject","BranchesDropdown","ProjectsDropdown","GlModal","GlForm","GlFormCheckbox","GlSprintf","GlFormGroup","inject","Object","isCherryPick","Boolean","checked","actionPrimary","attributes","variant","category","actionCancel","eventHub","$on","show","$root","BV_SHOW_MODAL","handlePrimary","api","trackRedisHllUserEvent","$refs","form","$el","submit","resetModalHandler","clearModal","setSelectedBranch","csrf","_b","$attrs","_e","_v","ref","domProps","token","targetProjectName","setSelectedProject","setBranch","model","callback","$$v","expression","scopedSlots","_u","key","fn","_s","proxy","gitlabTag","GlDisclosureDropdown","GlDisclosureDropdownGroup","newProjectTagPath","emailPatchesPath","plainDiffPath","canRevert","canCherryPick","canTag","canEmailPatches","showDivider","cherryPickItem","extraAttrs","action","showModal","revertLinkItem","_this2","tagLinkItem","href","plainDiffItem","download","rel","patchesItem","downloadsGroup","items","optionsGroup","closeDropdown","userDropdown","close","initRevertCommitModal","initCherryPickCommitModal","CommitOptionsDropdown","initCommitOptionsDropdown","createHeader","childElementCount","mergeRequestCount","headerText","n__","getHeaderText","$","class","createItem","mergeRequest","$item","$link","path","iid","createLink","$title","createTitle","append","fetchCommitMergeRequests","$container","axios","get","then","response","$content","mergeRequests","$header","children","createContent","html","catch","createAlert","message","use","VueApollo","apolloProvider","defaultClient","createDefaultClient","BRANCHES","TAGS","CONTAINING_COMMIT","FETCH_COMMIT_REFERENCES_ERROR","EMPTY_BRANCHES_MESSAGE","EMPTY_TAGS_MESSAGE","GlCollapse","GlSkeletonLoader","GlBadge","GlButton","GlIcon","GlLoadingIcon","urlPart","refType","containingRefs","Array","tippingRefs","namespace","hasContainingRefs","isLoading","isContainingRefsVisible","collapseIcon","isLoadingRefs","refIcon","showEmptyMessage","showNameSpace","emptyMessage","toggleCollapse","showRefs","getRefUrl","containingCommit","RefsList","_l","apollo","query","commitReferencesQuery","variables","queryVariables","update","commitReferences","tippingTags","tippingBranches","containingBranches","containingTags","names","hasContainingBranches","hasContainingTags","error","errorMessage","captureError","hasBranches","hasTags","fullPath","commitSha","commitsUrlPart","joinPaths","gon","relative_url_root","$apollo","queries","loading","fetchContainingBranches","fetchContainingRefs","containingBranchesQuery","fetchContainingTags","containingTagsQuery","branches","tags","FETCH_CONTAINING_REFS_EVENT","BRANCHES_REF_TYPE","TAGS_REF_TYPE","_d","initCommitBoxInfo","selector","graphqlResourceEtag","PipelineSummary","pipelineEtag","initCommitPipelineSummary","getElementById","CommitBranches","initCommitReferences","baseIteratee","baseUniq","array","iteratee","__vue_script__","BCollapse","prop","event","visible","__vue_component__","_h","$createElement","_g","$listeners","_t","staticRenderFns","undefined","commit","requestBranches","setBranchesEndpoint","dispatch","state","params","search","_data$Branches","Branches","_state$projects","projects","p","refsUrl","_uniq","sort","unshift","selectedBranch","projectId","Vuex","initialState","Store","actions","mutations","getters","convertObjectPropsToCamelCase","JSON","parse","deep","reportToSentry","component","failureType","Sentry"],"mappings":"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","file":"commons-pages.projects.commit.pipelines-pages.projects.commit.rapid_diffs-pages.projects.commit.show.59591974.chunk.js","sourcesContent":["import createEventHub from '~/helpers/event_hub_factory';\n\nexport default createEventHub();\n","import { s__, __ } from '~/locale';\n\nexport const OPEN_REVERT_MODAL = 'openRevertModal';\nexport const REVERT_MODAL_ID = 'revert-commit-modal';\nexport const OPEN_CHERRY_PICK_MODAL = 'openCherryPickModal';\nexport const CHERRY_PICK_MODAL_ID = 'cherry-pick-commit-modal';\n\nexport const I18N_MODAL = {\n  startMergeRequest: s__('ChangeTypeAction|Start a %{newMergeRequest} with these changes'),\n  existingBranch: s__(\n    'ChangeTypeAction|Your changes will be committed to %{branchName} because a merge request is open.',\n  ),\n  branchInFork: s__(\n    'ChangeTypeAction|GitLab will create a branch in your fork and start a merge request.',\n  ),\n  newMergeRequest: __('new merge request'),\n  actionCancelText: __('Cancel'),\n};\n\nexport const I18N_REVERT_MODAL = {\n  branchLabel: s__('ChangeTypeAction|Revert in branch'),\n  actionPrimaryText: s__('ChangeTypeAction|Revert'),\n};\n\nexport const I18N_CHERRY_PICK_MODAL = {\n  branchLabel: s__('ChangeTypeAction|Pick into branch'),\n  projectLabel: s__('ChangeTypeAction|Pick into project'),\n  actionPrimaryText: s__('ChangeTypeAction|Cherry-pick'),\n};\n\nexport const PREPENDED_MODAL_TEXT = s__(\n  'ChangeTypeAction|This will create a new commit in order to revert the existing changes.',\n);\n\nexport const I18N_NO_RESULTS_MESSAGE = __('No matching results');\n\nexport const I18N_PROJECT_HEADER = s__('ChangeTypeAction|Switch project');\nexport const I18N_PROJECT_SEARCH_PLACEHOLDER = s__('ChangeTypeAction|Search projects');\n\nexport const I18N_BRANCH_HEADER = s__('ChangeTypeAction|Switch branch');\nexport const I18N_BRANCH_SEARCH_PLACEHOLDER = s__('ChangeTypeAction|Search branches');\n\nexport const PROJECT_BRANCHES_ERROR = __('Something went wrong while fetching branches');\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CommitContainingTags\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commitReferences\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"containingTags\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"excludeTipped\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":230}};\n    doc.loc.source = {\"body\":\"query CommitContainingTags($fullPath: ID!, $commitSha: String!) {\\n  project(fullPath: $fullPath) {\\n    id\\n    commitReferences(commitSha: $commitSha) {\\n      containingTags(excludeTipped: true) {\\n        names\\n      }\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n    \n    module.exports = doc;\n    \n        module.exports[\"CommitContainingTags\"] = oneQuery(doc, \"CommitContainingTags\");\n        \n","import Vue from 'vue';\nimport { parseBoolean } from '~/lib/utils/common_utils';\nimport CommitFormModal from './components/form_modal.vue';\nimport {\n  I18N_MODAL,\n  I18N_REVERT_MODAL,\n  PREPENDED_MODAL_TEXT,\n  OPEN_REVERT_MODAL,\n  REVERT_MODAL_ID,\n} from './constants';\nimport createStore from './store';\n\nexport default function initInviteMembersModal(primaryActionEventName) {\n  const el = document.querySelector('.js-revert-commit-modal');\n  if (!el) {\n    return false;\n  }\n\n  const {\n    title,\n    endpoint,\n    branch,\n    pushCode,\n    branchCollaboration,\n    existingBranch,\n    branchesEndpoint,\n  } = el.dataset;\n\n  const store = createStore({\n    endpoint,\n    branchesEndpoint,\n    branch,\n    pushCode: parseBoolean(pushCode),\n    branchCollaboration: parseBoolean(branchCollaboration),\n    defaultBranch: branch,\n    modalTitle: title,\n    existingBranch,\n  });\n\n  return new Vue({\n    el,\n    store,\n    provide: {\n      prependedText: PREPENDED_MODAL_TEXT,\n    },\n    render: (createElement) =>\n      createElement(CommitFormModal, {\n        props: {\n          i18n: { ...I18N_REVERT_MODAL, ...I18N_MODAL },\n          openModal: OPEN_REVERT_MODAL,\n          modalId: REVERT_MODAL_ID,\n          primaryActionEventName,\n        },\n      }),\n  });\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-modal',_vm._b({attrs:{\"data-testid\":\"modal-commit\",\"modal-id\":_vm.modalId,\"size\":\"sm\",\"title\":_vm.modalTitle,\"action-cancel\":_vm.actionCancel,\"action-primary\":_vm.actionPrimary},on:{\"hidden\":_vm.resetModalHandler,\"primary\":_vm.handlePrimary}},'gl-modal',_vm.$attrs,false),[(_vm.prependedText.length)?_c('p',{attrs:{\"data-testid\":\"prepended-text\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.prependedText}})],1):_vm._e(),_vm._v(\" \"),_c('gl-form',{ref:\"form\",attrs:{\"action\":_vm.endpoint,\"method\":\"post\"}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"authenticity_token\"},domProps:{\"value\":_vm.$options.csrf.token}}),_vm._v(\" \"),(_vm.isCherryPick)?_c('gl-form-group',{attrs:{\"label\":_vm.i18n.projectLabel,\"label-for\":\"start_project\",\"data-testid\":\"dropdown-group\"}},[_c('input',{attrs:{\"id\":\"target_project_id\",\"type\":\"hidden\",\"name\":\"target_project_id\"},domProps:{\"value\":_vm.targetProjectId}}),_vm._v(\" \"),_c('projects-dropdown',{attrs:{\"value\":_vm.targetProjectName},on:{\"input\":_vm.setSelectedProject}})],1):_vm._e(),_vm._v(\" \"),_c('gl-form-group',{attrs:{\"label\":_vm.i18n.branchLabel,\"label-for\":\"start_branch\",\"data-testid\":\"dropdown-group\"}},[_c('input',{attrs:{\"id\":\"start_branch\",\"type\":\"hidden\",\"name\":\"start_branch\"},domProps:{\"value\":_vm.branch}}),_vm._v(\" \"),_c('branches-dropdown',{attrs:{\"value\":_vm.branch},on:{\"input\":_vm.setBranch}})],1),_vm._v(\" \"),(_vm.pushCode)?_c('gl-form-checkbox',{staticClass:\"gl-mt-3\",attrs:{\"name\":\"create_merge_request\"},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}},[_c('gl-sprintf',{attrs:{\"message\":_vm.i18n.startMergeRequest},scopedSlots:_vm._u([{key:\"newMergeRequest\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.i18n.newMergeRequest))])]},proxy:true}],null,false,1455792372)})],1):_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"create_merge_request\",\"value\":\"1\"}})],1),_vm._v(\" \"),(!_vm.pushCode)?_c('p',{staticClass:\"gl-mb-0 gl-mt-5\",attrs:{\"data-testid\":\"appended-text\"}},[(_vm.branchCollaboration)?_c('gl-sprintf',{attrs:{\"message\":_vm.i18n.existingBranch},scopedSlots:_vm._u([{key:\"branchName\",fn:function(){return [_c('strong',[_vm._v(_vm._s(_vm.existingBranch))])]},proxy:true}],null,false,2950121280)}):_c('gl-sprintf',{attrs:{\"message\":_vm.i18n.branchInFork}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./branches_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./branches_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport { GlCollapsibleListbox } from '@gitlab/ui';\n// eslint-disable-next-line no-restricted-imports\nimport { mapActions, mapGetters, mapState } from 'vuex';\nimport { debounce, uniqBy } from 'lodash';\nimport {\n  I18N_NO_RESULTS_MESSAGE,\n  I18N_BRANCH_HEADER,\n  I18N_BRANCH_SEARCH_PLACEHOLDER,\n} from '../constants';\n\nexport default {\n  name: 'BranchesDropdown',\n  components: {\n    GlCollapsibleListbox,\n  },\n  props: {\n    value: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  i18n: {\n    noResultsMessage: I18N_NO_RESULTS_MESSAGE,\n    branchHeaderTitle: I18N_BRANCH_HEADER,\n    branchSearchPlaceholder: I18N_BRANCH_SEARCH_PLACEHOLDER,\n  },\n  data() {\n    return {\n      searchTerm: '',\n    };\n  },\n  computed: {\n    ...mapGetters(['joinedBranches']),\n    ...mapState(['isFetching', 'branch']),\n    listboxItems() {\n      const selectedItem = { value: this.branch, text: this.branch };\n      const transformedList = this.joinedBranches.map((value) => ({ value, text: value }));\n\n      if (this.searchTerm) {\n        return transformedList;\n      }\n\n      // Add selected item to top of list if not searching\n      return uniqBy([selectedItem].concat(transformedList), 'value');\n    },\n  },\n  mounted() {\n    this.fetchBranches();\n  },\n  methods: {\n    ...mapActions(['fetchBranches']),\n    selectBranch(branch) {\n      this.$emit('input', branch);\n    },\n    debouncedSearch: debounce(function debouncedSearch() {\n      this.fetchBranches(this.searchTerm);\n    }, 250),\n    searchTermChanged(value) {\n      this.searchTerm = value.trim();\n      this.debouncedSearch(value);\n    },\n  },\n};\n</script>\n<template>\n  <gl-collapsible-listbox\n    class=\"gl-max-w-full\"\n    :header-text=\"$options.i18n.branchHeaderTitle\"\n    :toggle-text=\"value\"\n    toggle-class=\"gl-w-full\"\n    :items=\"listboxItems\"\n    searchable\n    :search-placeholder=\"$options.i18n.branchSearchPlaceholder\"\n    :searching=\"isFetching\"\n    :selected=\"value\"\n    :no-results-text=\"$options.i18n.noResultsMessage\"\n    @search=\"searchTermChanged\"\n    @select=\"selectBranch\"\n  />\n</template>\n","import { render, staticRenderFns } from \"./branches_dropdown.vue?vue&type=template&id=2a5aa854\"\nimport script from \"./branches_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./branches_dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-collapsible-listbox',{staticClass:\"gl-max-w-full\",attrs:{\"header-text\":_vm.$options.i18n.branchHeaderTitle,\"toggle-text\":_vm.value,\"toggle-class\":\"gl-w-full\",\"items\":_vm.listboxItems,\"searchable\":\"\",\"search-placeholder\":_vm.$options.i18n.branchSearchPlaceholder,\"searching\":_vm.isFetching,\"selected\":_vm.value,\"no-results-text\":_vm.$options.i18n.noResultsMessage},on:{\"search\":_vm.searchTermChanged,\"select\":_vm.selectBranch}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projects_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projects_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport { GlCollapsibleListbox } from '@gitlab/ui';\n// eslint-disable-next-line no-restricted-imports\nimport { mapGetters, mapState } from 'vuex';\nimport { debounce, uniqBy } from 'lodash';\nimport {\n  I18N_NO_RESULTS_MESSAGE,\n  I18N_PROJECT_HEADER,\n  I18N_PROJECT_SEARCH_PLACEHOLDER,\n} from '../constants';\n\nexport default {\n  name: 'ProjectsDropdown',\n  components: {\n    GlCollapsibleListbox,\n  },\n  props: {\n    value: {\n      type: String,\n      required: false,\n      default: '',\n    },\n  },\n  i18n: {\n    noResultsMessage: I18N_NO_RESULTS_MESSAGE,\n    projectHeaderTitle: I18N_PROJECT_HEADER,\n    projectSearchPlaceholder: I18N_PROJECT_SEARCH_PLACEHOLDER,\n  },\n  data() {\n    return {\n      filterTerm: '',\n    };\n  },\n  computed: {\n    ...mapGetters(['sortedProjects']),\n    ...mapState(['targetProjectId']),\n    filteredResults() {\n      const lowerCasedFilterTerm = this.filterTerm.toLowerCase();\n      return this.sortedProjects.filter((project) =>\n        project.name.toLowerCase().includes(lowerCasedFilterTerm),\n      );\n    },\n    listboxItems() {\n      const selectedItem = { value: this.selectedProject.id, text: this.selectedProject.name };\n      const transformedList = this.filteredResults.map(({ id, name }) => ({\n        value: id,\n        text: name,\n      }));\n\n      if (this.filterTerm) {\n        return transformedList;\n      }\n\n      // Add selected item to top of list if not searching\n      return uniqBy([selectedItem].concat(transformedList), 'value');\n    },\n    selectedProject() {\n      return this.sortedProjects.find((project) => project.id === this.targetProjectId) || {};\n    },\n  },\n  methods: {\n    selectProject(value) {\n      this.$emit('input', value);\n    },\n    debouncedSearch: debounce(function debouncedSearch(value) {\n      this.filterTerm = value.trim();\n    }, 250),\n  },\n};\n</script>\n<template>\n  <gl-collapsible-listbox\n    class=\"gl-max-w-full\"\n    :header-text=\"$options.i18n.projectHeaderTitle\"\n    :items=\"listboxItems\"\n    searchable\n    :search-placeholder=\"$options.i18n.projectSearchPlaceholder\"\n    :selected=\"selectedProject.id\"\n    :toggle-text=\"selectedProject.name\"\n    toggle-class=\"gl-w-full\"\n    :no-results-text=\"$options.i18n.noResultsMessage\"\n    @search=\"debouncedSearch\"\n    @select=\"selectProject\"\n  />\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form_modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form_modal.vue?vue&type=script&lang=js\"","<script>\nimport { GlModal, GlForm, GlFormCheckbox, GlSprintf, GlFormGroup } from '@gitlab/ui';\n// eslint-disable-next-line no-restricted-imports\nimport { mapActions, mapState } from 'vuex';\nimport api from '~/api';\nimport { BV_SHOW_MODAL } from '~/lib/utils/constants';\nimport csrf from '~/lib/utils/csrf';\nimport eventHub from '../event_hub';\nimport BranchesDropdown from './branches_dropdown.vue';\nimport ProjectsDropdown from './projects_dropdown.vue';\n\nexport default {\n  components: {\n    BranchesDropdown,\n    ProjectsDropdown,\n    GlModal,\n    GlForm,\n    GlFormCheckbox,\n    GlSprintf,\n    GlFormGroup,\n  },\n  inject: {\n    prependedText: {\n      default: '',\n    },\n  },\n  props: {\n    i18n: {\n      type: Object,\n      required: true,\n    },\n    openModal: {\n      type: String,\n      required: true,\n    },\n    modalId: {\n      type: String,\n      required: true,\n    },\n    isCherryPick: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n    primaryActionEventName: {\n      type: String,\n      required: false,\n      default: null,\n    },\n  },\n  data() {\n    return {\n      checked: true,\n      actionPrimary: {\n        text: this.i18n.actionPrimaryText,\n        attributes: {\n          variant: 'confirm',\n          category: 'primary',\n          'data-testid': 'submit-commit',\n        },\n      },\n      actionCancel: {\n        text: this.i18n.actionCancelText,\n        attributes: { 'data-testid': 'cancel-commit' },\n      },\n    };\n  },\n  computed: {\n    ...mapState([\n      'branch',\n      'endpoint',\n      'pushCode',\n      'branchCollaboration',\n      'modalTitle',\n      'existingBranch',\n      'targetProjectId',\n      'targetProjectName',\n      'branchesEndpoint',\n    ]),\n  },\n  mounted() {\n    eventHub.$on(this.openModal, this.show);\n  },\n  methods: {\n    ...mapActions(['clearModal', 'setBranch', 'setSelectedBranch', 'setSelectedProject']),\n    show() {\n      this.$root.$emit(BV_SHOW_MODAL, this.modalId);\n    },\n    handlePrimary() {\n      if (this.primaryActionEventName) {\n        api.trackRedisHllUserEvent(this.primaryActionEventName);\n      }\n\n      this.$refs.form.$el.submit();\n    },\n    resetModalHandler() {\n      this.clearModal();\n      this.setSelectedBranch('');\n      this.checked = true;\n    },\n  },\n  csrf,\n};\n</script>\n<template>\n  <gl-modal\n    v-bind=\"$attrs\"\n    data-testid=\"modal-commit\"\n    :modal-id=\"modalId\"\n    size=\"sm\"\n    :title=\"modalTitle\"\n    :action-cancel=\"actionCancel\"\n    :action-primary=\"actionPrimary\"\n    @hidden=\"resetModalHandler\"\n    @primary=\"handlePrimary\"\n  >\n    <p v-if=\"prependedText.length\" data-testid=\"prepended-text\">\n      <gl-sprintf :message=\"prependedText\" />\n    </p>\n\n    <gl-form ref=\"form\" :action=\"endpoint\" method=\"post\">\n      <input type=\"hidden\" name=\"authenticity_token\" :value=\"$options.csrf.token\" />\n\n      <gl-form-group\n        v-if=\"isCherryPick\"\n        :label=\"i18n.projectLabel\"\n        label-for=\"start_project\"\n        data-testid=\"dropdown-group\"\n      >\n        <input\n          id=\"target_project_id\"\n          type=\"hidden\"\n          name=\"target_project_id\"\n          :value=\"targetProjectId\"\n        />\n\n        <projects-dropdown :value=\"targetProjectName\" @input=\"setSelectedProject\" />\n      </gl-form-group>\n\n      <gl-form-group\n        :label=\"i18n.branchLabel\"\n        label-for=\"start_branch\"\n        data-testid=\"dropdown-group\"\n      >\n        <input id=\"start_branch\" type=\"hidden\" name=\"start_branch\" :value=\"branch\" />\n\n        <branches-dropdown :value=\"branch\" @input=\"setBranch\" />\n      </gl-form-group>\n\n      <gl-form-checkbox\n        v-if=\"pushCode\"\n        v-model=\"checked\"\n        name=\"create_merge_request\"\n        class=\"gl-mt-3\"\n      >\n        <gl-sprintf :message=\"i18n.startMergeRequest\">\n          <template #newMergeRequest>\n            <strong>{{ i18n.newMergeRequest }}</strong>\n          </template>\n        </gl-sprintf>\n      </gl-form-checkbox>\n      <input v-else type=\"hidden\" name=\"create_merge_request\" value=\"1\" />\n    </gl-form>\n\n    <p v-if=\"!pushCode\" class=\"gl-mb-0 gl-mt-5\" data-testid=\"appended-text\">\n      <gl-sprintf v-if=\"branchCollaboration\" :message=\"i18n.existingBranch\">\n        <template #branchName>\n          <strong>{{ existingBranch }}</strong>\n        </template>\n      </gl-sprintf>\n      <gl-sprintf v-else :message=\"i18n.branchInFork\" />\n    </p>\n  </gl-modal>\n</template>\n","import { render, staticRenderFns } from \"./projects_dropdown.vue?vue&type=template&id=31e2772d\"\nimport script from \"./projects_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./projects_dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-collapsible-listbox',{staticClass:\"gl-max-w-full\",attrs:{\"header-text\":_vm.$options.i18n.projectHeaderTitle,\"items\":_vm.listboxItems,\"searchable\":\"\",\"search-placeholder\":_vm.$options.i18n.projectSearchPlaceholder,\"selected\":_vm.selectedProject.id,\"toggle-text\":_vm.selectedProject.name,\"toggle-class\":\"gl-w-full\",\"no-results-text\":_vm.$options.i18n.noResultsMessage},on:{\"search\":_vm.debouncedSearch,\"select\":_vm.selectProject}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./form_modal.vue?vue&type=template&id=1e9c1fcb\"\nimport script from \"./form_modal.vue?vue&type=script&lang=js\"\nexport * from \"./form_modal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./commit_options_dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./commit_options_dropdown.vue?vue&type=script&lang=js\"","<script>\nimport { GlDisclosureDropdownGroup, GlDisclosureDropdown } from '@gitlab/ui';\nimport { s__, __ } from '~/locale';\nimport { OPEN_REVERT_MODAL, OPEN_CHERRY_PICK_MODAL } from '../constants';\nimport eventHub from '../event_hub';\n\nexport default {\n  i18n: {\n    gitlabTag: s__('CreateTag|Tag'),\n  },\n\n  components: {\n    GlDisclosureDropdown,\n    GlDisclosureDropdownGroup,\n  },\n  inject: {\n    newProjectTagPath: {\n      default: '',\n    },\n    emailPatchesPath: {\n      default: '',\n    },\n    plainDiffPath: {\n      default: '',\n    },\n  },\n  props: {\n    canRevert: {\n      type: Boolean,\n      required: true,\n    },\n    canCherryPick: {\n      type: Boolean,\n      required: true,\n    },\n    canTag: {\n      type: Boolean,\n      required: true,\n    },\n    canEmailPatches: {\n      type: Boolean,\n      required: true,\n    },\n  },\n  computed: {\n    showDivider() {\n      return this.canRevert || this.canCherryPick || this.canTag;\n    },\n    cherryPickItem() {\n      return {\n        text: s__('ChangeTypeAction|Cherry-pick'),\n        extraAttrs: {\n          'data-testid': 'cherry-pick-link',\n        },\n        action: () => this.showModal(OPEN_CHERRY_PICK_MODAL),\n      };\n    },\n\n    revertLinkItem() {\n      return {\n        text: s__('ChangeTypeAction|Revert'),\n        extraAttrs: {\n          'data-testid': 'revert-link',\n        },\n        action: () => this.showModal(OPEN_REVERT_MODAL),\n      };\n    },\n\n    tagLinkItem() {\n      return {\n        text: s__('CreateTag|Tag'),\n        href: this.newProjectTagPath,\n        extraAttrs: {\n          'data-testid': 'tag-link',\n        },\n      };\n    },\n    plainDiffItem() {\n      return {\n        text: s__('DownloadCommit|Plain Diff'),\n        href: this.plainDiffPath,\n        extraAttrs: {\n          download: '',\n          rel: 'nofollow',\n          'data-testid': 'plain-diff-link',\n        },\n      };\n    },\n    patchesItem() {\n      return {\n        text: __('Patches'),\n        href: this.emailPatchesPath,\n        extraAttrs: {\n          download: '',\n          rel: 'nofollow',\n          'data-testid': 'email-patches-link',\n        },\n      };\n    },\n\n    downloadsGroup() {\n      const items = [];\n      if (this.canEmailPatches) {\n        items.push(this.patchesItem);\n      }\n      items.push(this.plainDiffItem);\n      return {\n        name: __('Downloads'),\n        items,\n      };\n    },\n\n    optionsGroup() {\n      const items = [];\n      if (this.canRevert) {\n        items.push(this.revertLinkItem);\n      }\n      if (this.canCherryPick) {\n        items.push(this.cherryPickItem);\n      }\n      if (this.canTag) {\n        items.push(this.tagLinkItem);\n      }\n      return {\n        items,\n      };\n    },\n  },\n\n  methods: {\n    showModal(modalId) {\n      eventHub.$emit(modalId);\n    },\n    closeDropdown() {\n      this.$refs.userDropdown.close();\n    },\n  },\n};\n</script>\n\n<template>\n  <gl-disclosure-dropdown\n    ref=\"userDropdown\"\n    :toggle-text=\"__('Options')\"\n    right\n    data-testid=\"commit-options-dropdown\"\n    class=\"gl-leading-20\"\n  >\n    <gl-disclosure-dropdown-group :group=\"optionsGroup\" @action=\"closeDropdown\" />\n\n    <gl-disclosure-dropdown-group\n      :bordered=\"showDivider\"\n      :group=\"downloadsGroup\"\n      @action=\"closeDropdown\"\n    />\n  </gl-disclosure-dropdown>\n</template>\n","import { render, staticRenderFns } from \"./commit_options_dropdown.vue?vue&type=template&id=f495d59a\"\nimport script from \"./commit_options_dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./commit_options_dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-disclosure-dropdown',{ref:\"userDropdown\",staticClass:\"gl-leading-20\",attrs:{\"toggle-text\":_vm.__('Options'),\"right\":\"\",\"data-testid\":\"commit-options-dropdown\"}},[_c('gl-disclosure-dropdown-group',{attrs:{\"group\":_vm.optionsGroup},on:{\"action\":_vm.closeDropdown}}),_vm._v(\" \"),_c('gl-disclosure-dropdown-group',{attrs:{\"bordered\":_vm.showDivider,\"group\":_vm.downloadsGroup},on:{\"action\":_vm.closeDropdown}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import initCherryPickCommitModal from './init_cherry_pick_commit_modal';\nimport initCommitOptionsDropdown from './init_commit_options_dropdown';\nimport initRevertCommitModal from './init_revert_commit_modal';\n\nexport default () => {\n  initRevertCommitModal();\n  initCherryPickCommitModal();\n  initCommitOptionsDropdown();\n};\n","import Vue from 'vue';\nimport { parseBoolean } from '~/lib/utils/common_utils';\nimport CommitOptionsDropdown from './components/commit_options_dropdown.vue';\n\nexport default function initCommitOptionsDropdown() {\n  const el = document.querySelector('#js-commit-options-dropdown');\n\n  if (!el) {\n    return false;\n  }\n\n  const {\n    newProjectTagPath,\n    emailPatchesPath,\n    plainDiffPath,\n    canRevert,\n    canCherryPick,\n    canTag,\n    canEmailPatches,\n  } = el.dataset;\n\n  return new Vue({\n    el,\n    provide: { newProjectTagPath, emailPatchesPath, plainDiffPath },\n    render: (createElement) =>\n      createElement(CommitOptionsDropdown, {\n        props: {\n          canRevert: parseBoolean(canRevert),\n          canCherryPick: parseBoolean(canCherryPick),\n          canTag: parseBoolean(canTag),\n          canEmailPatches: parseBoolean(canEmailPatches),\n        },\n      }),\n  });\n}\n","import $ from 'jquery';\nimport { createAlert } from '~/alert';\nimport axios from './lib/utils/axios_utils';\nimport { n__, s__ } from './locale';\n\nexport function getHeaderText(childElementCount, mergeRequestCount) {\n  if (childElementCount === 0) {\n    return `${mergeRequestCount} ${n__('merge request', 'merge requests', mergeRequestCount)}`;\n  }\n  return ',';\n}\n\nexport function createHeader(childElementCount, mergeRequestCount) {\n  const headerText = getHeaderText(childElementCount, mergeRequestCount);\n\n  return $('<span />', {\n    class: 'gl-mr-2',\n    text: headerText,\n  });\n}\n\nexport function createLink(mergeRequest) {\n  return $('<a />', {\n    class: 'gl-mr-2',\n    href: mergeRequest.path,\n    text: `!${mergeRequest.iid}`,\n  });\n}\n\nexport function createTitle(mergeRequest) {\n  return $('<span />', {\n    text: mergeRequest.title,\n  });\n}\n\nexport function createItem(mergeRequest) {\n  const $item = $('<span />');\n  const $link = createLink(mergeRequest);\n  const $title = createTitle(mergeRequest);\n  $item.append($link);\n  $item.append($title);\n\n  return $item;\n}\n\nexport function createContent(mergeRequests) {\n  const $content = $('<span />');\n\n  if (mergeRequests.length === 0) {\n    $content.text(s__('Commits|No related merge requests found'));\n  } else {\n    mergeRequests.forEach((mergeRequest) => {\n      const $header = createHeader($content.children().length, mergeRequests.length);\n      const $item = createItem(mergeRequest);\n      $content.append($header);\n      $content.append($item);\n    });\n  }\n\n  return $content;\n}\n\nexport function fetchCommitMergeRequests() {\n  const $container = $('.merge-requests');\n\n  axios\n    .get($container.data('projectCommitPath'))\n    .then((response) => {\n      const $content = createContent(response.data);\n\n      $container.html($content);\n    })\n    .catch(() =>\n      createAlert({\n        message: s__('Commits|An error occurred while fetching merge requests data.'),\n      }),\n    );\n}\n","import Vue from 'vue';\nimport VueApollo from 'vue-apollo';\nimport createDefaultClient from '~/lib/graphql';\nimport PipelineSummary from '~/ci/common/pipeline_summary/pipeline_summary.vue';\n\nVue.use(VueApollo);\n\nconst apolloProvider = new VueApollo({\n  defaultClient: createDefaultClient(),\n});\n\nexport default (selector = '.js-commit-box-pipeline-summary') => {\n  const el = document.querySelector(selector);\n\n  if (!el) {\n    return;\n  }\n\n  const { fullPath, iid, graphqlResourceEtag } = el.dataset;\n\n  // eslint-disable-next-line no-new\n  new Vue({\n    el,\n    apolloProvider,\n    render(createElement) {\n      return createElement(PipelineSummary, {\n        props: { fullPath, iid, pipelineEtag: graphqlResourceEtag },\n      });\n    },\n  });\n};\n","import { __, s__ } from '~/locale';\n\nexport const BRANCHES = s__('Commit|Branches');\n\nexport const TAGS = s__('Commit|Tags');\n\nexport const CONTAINING_COMMIT = s__('Commit|containing commit');\n\nexport const FETCH_CONTAINING_REFS_EVENT = 'fetch-containing-refs';\n\nexport const FETCH_COMMIT_REFERENCES_ERROR = s__(\n  'Commit|There was an error fetching the commit references. Please try again later.',\n);\n\nexport const BRANCHES_REF_TYPE = 'heads';\n\nexport const TAGS_REF_TYPE = 'tags';\n\nexport const EMPTY_BRANCHES_MESSAGE = __('No related branches found');\nexport const EMPTY_TAGS_MESSAGE = __('No related tags found');\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('gl-icon',{staticClass:\"gl-ml-2 gl-mr-3\",attrs:{\"name\":_vm.refIcon,\"size\":16}}),_vm._v(\" \"),(_vm.isLoading)?_c('gl-loading-icon',{attrs:{\"size\":\"sm\",\"inline\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.showEmptyMessage)?_c('span',[_vm._v(_vm._s(_vm.emptyMessage))]):(_vm.showNameSpace)?_c('span',{staticClass:\"gl-mr-2\",attrs:{\"data-testid\":\"title\"}},[_vm._v(_vm._s(_vm.namespace))]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.tippingRefs),function(ref){return _c('gl-badge',{key:ref,staticClass:\"gl-mr-2 gl-mt-2\",attrs:{\"href\":_vm.getRefUrl(ref)}},[_vm._v(_vm._s(ref))])}),_vm._v(\" \"),(_vm.hasContainingRefs)?_c('gl-button',{staticClass:\"gl-mr-2 !gl-text-sm\",attrs:{\"variant\":\"link\",\"size\":\"small\"},on:{\"click\":_vm.showRefs}},[_c('gl-icon',{attrs:{\"name\":_vm.collapseIcon,\"size\":14}}),_vm._v(\"\\n    \"+_vm._s(_vm.namespace)+\" \"+_vm._s(_vm.$options.i18n.containingCommit)+\"\\n  \")],1):_vm._e(),_vm._v(\" \"),_c('gl-collapse',{attrs:{\"visible\":_vm.isContainingRefsVisible}},[(_vm.isLoadingRefs)?_c('gl-skeleton-loader',{attrs:{\"lines\":1}}):_vm._l((_vm.containingRefs),function(ref){return _c('gl-badge',{key:ref,staticClass:\"gl-mr-2 gl-mt-3\",attrs:{\"href\":_vm.getRefUrl(ref)}},[_vm._v(_vm._s(ref))])})],2)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./refs_list.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./refs_list.vue?vue&type=script&lang=js\"","<script>\nimport { GlCollapse, GlBadge, GlButton, GlIcon, GlSkeletonLoader, GlLoadingIcon } from '@gitlab/ui';\nimport {\n  CONTAINING_COMMIT,\n  FETCH_CONTAINING_REFS_EVENT,\n  BRANCHES_REF_TYPE,\n  EMPTY_BRANCHES_MESSAGE,\n  EMPTY_TAGS_MESSAGE,\n} from '../constants';\n\nexport default {\n  name: 'RefsList',\n  components: {\n    GlCollapse,\n    GlSkeletonLoader,\n    GlBadge,\n    GlButton,\n    GlIcon,\n    GlLoadingIcon,\n  },\n  props: {\n    urlPart: {\n      type: String,\n      required: true,\n    },\n    refType: {\n      type: String,\n      required: true,\n    },\n    containingRefs: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n    tippingRefs: {\n      type: Array,\n      required: false,\n      default: () => [],\n    },\n    namespace: {\n      type: String,\n      required: true,\n    },\n    hasContainingRefs: {\n      type: Boolean,\n      required: true,\n    },\n    isLoading: {\n      type: Boolean,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      isContainingRefsVisible: false,\n    };\n  },\n  computed: {\n    collapseIcon() {\n      return this.isContainingRefsVisible ? 'chevron-down' : 'chevron-right';\n    },\n    isLoadingRefs() {\n      return this.isLoading && !this.containingRefs.length;\n    },\n    refIcon() {\n      return this.refType === BRANCHES_REF_TYPE ? 'branch' : 'tag';\n    },\n    showEmptyMessage() {\n      return this.tippingRefs.length === 0 && this.containingRefs.length === 0 && !this.isLoading;\n    },\n    showNameSpace() {\n      return (this.tippingRefs.length !== 0 || this.containingRefs.length !== 0) && !this.isLoading;\n    },\n    emptyMessage() {\n      return this.refType === BRANCHES_REF_TYPE ? EMPTY_BRANCHES_MESSAGE : EMPTY_TAGS_MESSAGE;\n    },\n  },\n  methods: {\n    toggleCollapse() {\n      this.isContainingRefsVisible = !this.isContainingRefsVisible;\n    },\n    showRefs() {\n      this.toggleCollapse();\n      this.$emit(FETCH_CONTAINING_REFS_EVENT);\n    },\n    getRefUrl(ref) {\n      return `${this.urlPart}${ref}?ref_type=${this.refType}`;\n    },\n  },\n  i18n: {\n    containingCommit: CONTAINING_COMMIT,\n  },\n};\n</script>\n\n<template>\n  <div>\n    <gl-icon :name=\"refIcon\" :size=\"16\" class=\"gl-ml-2 gl-mr-3\" />\n    <gl-loading-icon v-if=\"isLoading\" size=\"sm\" inline />\n    <span v-if=\"showEmptyMessage\">{{ emptyMessage }}</span>\n    <span v-else-if=\"showNameSpace\" data-testid=\"title\" class=\"gl-mr-2\">{{ namespace }}</span>\n    <gl-badge\n      v-for=\"ref in tippingRefs\"\n      :key=\"ref\"\n      :href=\"getRefUrl(ref)\"\n      class=\"gl-mr-2 gl-mt-2\"\n      >{{ ref }}</gl-badge\n    >\n    <gl-button\n      v-if=\"hasContainingRefs\"\n      class=\"gl-mr-2 !gl-text-sm\"\n      variant=\"link\"\n      size=\"small\"\n      @click=\"showRefs\"\n    >\n      <gl-icon :name=\"collapseIcon\" :size=\"14\" />\n      {{ namespace }} {{ $options.i18n.containingCommit }}\n    </gl-button>\n    <gl-collapse :visible=\"isContainingRefsVisible\">\n      <gl-skeleton-loader v-if=\"isLoadingRefs\" :lines=\"1\" />\n      <template v-else>\n        <gl-badge\n          v-for=\"ref in containingRefs\"\n          :key=\"ref\"\n          :href=\"getRefUrl(ref)\"\n          class=\"gl-mr-2 gl-mt-3\"\n          >{{ ref }}</gl-badge\n        >\n      </template>\n    </gl-collapse>\n  </div>\n</template>\n","import mod from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./commit_refs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./commit_refs.vue?vue&type=script&lang=js\"","<script>\nimport { createAlert } from '~/alert';\nimport { joinPaths } from '~/lib/utils/url_utility';\nimport commitReferencesQuery from '../graphql/queries/commit_references.query.graphql';\nimport containingBranchesQuery from '../graphql/queries/commit_containing_branches.query.graphql';\nimport containingTagsQuery from '../graphql/queries/commit_containing_tags.query.graphql';\nimport {\n  BRANCHES,\n  TAGS,\n  FETCH_CONTAINING_REFS_EVENT,\n  FETCH_COMMIT_REFERENCES_ERROR,\n  BRANCHES_REF_TYPE,\n  TAGS_REF_TYPE,\n} from '../constants';\nimport RefsList from './refs_list.vue';\n\nexport default {\n  name: 'CommitRefs',\n  components: {\n    RefsList,\n  },\n  inject: ['fullPath', 'commitSha'],\n  apollo: {\n    // eslint-disable-next-line @gitlab/vue-no-undef-apollo-properties\n    project: {\n      query: commitReferencesQuery,\n      variables() {\n        return this.queryVariables;\n      },\n      update({\n        project: {\n          commitReferences: { tippingTags, tippingBranches, containingBranches, containingTags },\n        },\n      }) {\n        this.tippingTags = tippingTags.names;\n        this.tippingBranches = tippingBranches.names;\n        this.hasContainingBranches = Boolean(containingBranches.names.length);\n        this.hasContainingTags = Boolean(containingTags.names.length);\n      },\n      error() {\n        createAlert({\n          message: this.$options.i18n.errorMessage,\n          captureError: true,\n        });\n      },\n    },\n  },\n  data() {\n    return {\n      containingTags: [],\n      containingBranches: [],\n      tippingTags: [],\n      tippingBranches: [],\n      hasContainingBranches: false,\n      hasContainingTags: false,\n    };\n  },\n  computed: {\n    hasBranches() {\n      return this.tippingBranches.length || this.hasContainingBranches;\n    },\n    hasTags() {\n      return this.tippingTags.length || this.hasContainingTags;\n    },\n    queryVariables() {\n      return {\n        fullPath: this.fullPath,\n        commitSha: this.commitSha,\n      };\n    },\n    commitsUrlPart() {\n      const urlPart = joinPaths(gon.relative_url_root || '', `/${this.fullPath}`, `/-/commits/`);\n      return urlPart;\n    },\n    isLoading() {\n      return this.$apollo.queries.project.loading;\n    },\n  },\n  methods: {\n    async fetchContainingRefs({ query, namespace }) {\n      try {\n        const { data } = await this.$apollo.query({\n          query,\n          variables: this.queryVariables,\n        });\n        this[namespace] = data.project.commitReferences[namespace].names;\n        return data.project.commitReferences[namespace].names;\n      } catch {\n        return createAlert({\n          message: this.$options.i18n.errorMessage,\n          captureError: true,\n        });\n      }\n    },\n    fetchContainingBranches() {\n      this.fetchContainingRefs({ query: containingBranchesQuery, namespace: 'containingBranches' });\n    },\n    fetchContainingTags() {\n      this.fetchContainingRefs({ query: containingTagsQuery, namespace: 'containingTags' });\n    },\n  },\n  i18n: {\n    branches: BRANCHES,\n    tags: TAGS,\n    errorMessage: FETCH_COMMIT_REFERENCES_ERROR,\n  },\n  FETCH_CONTAINING_REFS_EVENT,\n  BRANCHES_REF_TYPE,\n  TAGS_REF_TYPE,\n};\n</script>\n\n<template>\n  <div class=\"gl-border-t gl-border-t-section\">\n    <div class=\"well-segment\">\n      <refs-list\n        :has-containing-refs=\"hasContainingBranches\"\n        :is-loading=\"isLoading\"\n        :tipping-refs=\"tippingBranches\"\n        :containing-refs=\"containingBranches\"\n        :namespace=\"$options.i18n.branches\"\n        :url-part=\"commitsUrlPart\"\n        :ref-type=\"$options.BRANCHES_REF_TYPE\"\n        @[$options.FETCH_CONTAINING_REFS_EVENT]=\"fetchContainingBranches\"\n      />\n    </div>\n    <div class=\"well-segment\">\n      <refs-list\n        :has-containing-refs=\"hasContainingTags\"\n        :is-loading=\"isLoading\"\n        :tipping-refs=\"tippingTags\"\n        :containing-refs=\"containingTags\"\n        :namespace=\"$options.i18n.tags\"\n        :url-part=\"commitsUrlPart\"\n        :ref-type=\"$options.TAGS_REF_TYPE\"\n        @[$options.FETCH_CONTAINING_REFS_EVENT]=\"fetchContainingTags\"\n      />\n    </div>\n  </div>\n</template>\n","import { render, staticRenderFns } from \"./refs_list.vue?vue&type=template&id=9b132fb0\"\nimport script from \"./refs_list.vue?vue&type=script&lang=js\"\nexport * from \"./refs_list.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import { render, staticRenderFns } from \"./commit_refs.vue?vue&type=template&id=062e708e\"\nimport script from \"./commit_refs.vue?vue&type=script&lang=js\"\nexport * from \"./commit_refs.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-border-t gl-border-t-section\"},[_c('div',{staticClass:\"well-segment\"},[_c('refs-list',{attrs:{\"has-containing-refs\":_vm.hasContainingBranches,\"is-loading\":_vm.isLoading,\"tipping-refs\":_vm.tippingBranches,\"containing-refs\":_vm.containingBranches,\"namespace\":_vm.$options.i18n.branches,\"url-part\":_vm.commitsUrlPart,\"ref-type\":_vm.$options.BRANCHES_REF_TYPE},on:_vm._d({},[_vm.$options.FETCH_CONTAINING_REFS_EVENT,_vm.fetchContainingBranches])})],1),_vm._v(\" \"),_c('div',{staticClass:\"well-segment\"},[_c('refs-list',{attrs:{\"has-containing-refs\":_vm.hasContainingTags,\"is-loading\":_vm.isLoading,\"tipping-refs\":_vm.tippingTags,\"containing-refs\":_vm.containingTags,\"namespace\":_vm.$options.i18n.tags,\"url-part\":_vm.commitsUrlPart,\"ref-type\":_vm.$options.TAGS_REF_TYPE},on:_vm._d({},[_vm.$options.FETCH_CONTAINING_REFS_EVENT,_vm.fetchContainingTags])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\nimport VueApollo from 'vue-apollo';\nimport createDefaultClient from '~/lib/graphql';\nimport CommitBranches from './components/commit_refs.vue';\n\nVue.use(VueApollo);\n\nconst apolloProvider = new VueApollo({\n  defaultClient: createDefaultClient(),\n});\n\nexport default (selector = 'js-commit-branches-and-tags') => {\n  const el = document.getElementById(selector);\n\n  if (!el) {\n    return false;\n  }\n\n  const { fullPath, commitSha } = el.dataset;\n\n  return new Vue({\n    el,\n    apolloProvider,\n    provide: {\n      fullPath,\n      commitSha,\n    },\n    render(createElement) {\n      return createElement(CommitBranches);\n    },\n  });\n};\n","import { fetchCommitMergeRequests } from '~/commit_merge_requests';\nimport initCommitPipelineSummary from './init_commit_pipeline_summary';\nimport initCommitReferences from './init_commit_references';\n\nexport const initCommitBoxInfo = () => {\n  // Display commit related branches\n  // Related merge requests to this commit\n  fetchCommitMergeRequests();\n\n  initCommitPipelineSummary();\n\n  initCommitReferences();\n};\n","var baseIteratee = require('./_baseIteratee'),\n    baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n  return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","import { BCollapse } from '../../../vendor/bootstrap-vue/src/components/collapse/collapse';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n  name: 'GlCollapse',\n  components: {\n    BCollapse\n  },\n  model: {\n    prop: 'visible',\n    event: 'input'\n  },\n  props: {\n    visible: {\n      type: Boolean,\n      default: false,\n      required: false\n    }\n  }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-collapse',_vm._g(_vm._b({attrs:{\"visible\":_vm.visible}},'b-collapse',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n  /* style */\n  const __vue_inject_styles__ = undefined;\n  /* scoped */\n  const __vue_scope_id__ = undefined;\n  /* module identifier */\n  const __vue_module_identifier__ = undefined;\n  /* functional template */\n  const __vue_is_functional_template__ = false;\n  /* style inject */\n  \n  /* style inject SSR */\n  \n  /* style inject shadow dom */\n  \n\n  \n  const __vue_component__ = __vue_normalize__(\n    { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n    __vue_inject_styles__,\n    __vue_script__,\n    __vue_scope_id__,\n    __vue_is_functional_template__,\n    __vue_module_identifier__,\n    false,\n    undefined,\n    undefined,\n    undefined\n  );\n\nexport default __vue_component__;\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CommitContainingBranches\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commitReferences\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"containingBranches\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"excludeTipped\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":238}};\n    doc.loc.source = {\"body\":\"query CommitContainingBranches($fullPath: ID!, $commitSha: String!) {\\n  project(fullPath: $fullPath) {\\n    id\\n    commitReferences(commitSha: $commitSha) {\\n      containingBranches(excludeTipped: true) {\\n        names\\n      }\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n    \n    module.exports = doc;\n    \n        module.exports[\"CommitContainingBranches\"] = oneQuery(doc, \"CommitContainingBranches\");\n        \n","export const CLEAR_MODAL = 'CLEAR_MODAL';\n\nexport const SET_BRANCHES_ENDPOINT = 'SET_BRANCHES_ENDPOINT';\nexport const REQUEST_BRANCHES = 'REQUEST_BRANCHES';\nexport const RECEIVE_BRANCHES_SUCCESS = 'RECEIVE_BRANCHES_SUCCESS';\nexport const SET_BRANCH = 'SET_BRANCH';\nexport const SET_SELECTED_BRANCH = 'SET_SELECTED_BRANCH';\n\nexport const SET_SELECTED_PROJECT = 'SET_SELECTED_PROJECT';\n","import { createAlert } from '~/alert';\nimport axios from '~/lib/utils/axios_utils';\nimport { PROJECT_BRANCHES_ERROR } from '../constants';\nimport * as types from './mutation_types';\n\nexport const clearModal = ({ commit }) => {\n  commit(types.CLEAR_MODAL);\n};\n\nexport const requestBranches = ({ commit }) => {\n  commit(types.REQUEST_BRANCHES);\n};\n\nexport const setBranchesEndpoint = ({ commit }, endpoint) => {\n  commit(types.SET_BRANCHES_ENDPOINT, endpoint);\n};\n\nexport const fetchBranches = ({ commit, dispatch, state }, query) => {\n  dispatch('requestBranches');\n\n  return axios\n    .get(state.branchesEndpoint, {\n      params: { search: query },\n    })\n    .then(({ data = [] }) => {\n      commit(types.RECEIVE_BRANCHES_SUCCESS, data.Branches?.length ? data.Branches : data);\n    })\n    .catch(() => {\n      createAlert({ message: PROJECT_BRANCHES_ERROR });\n    });\n};\n\nexport const setBranch = ({ commit, dispatch }, branch) => {\n  commit(types.SET_BRANCH, branch);\n  dispatch('setSelectedBranch', branch);\n};\n\nexport const setSelectedBranch = ({ commit }, branch) => {\n  commit(types.SET_SELECTED_BRANCH, branch);\n};\n\nexport const setSelectedProject = ({ commit, dispatch, state }, id) => {\n  let { branchesEndpoint } = state;\n\n  if (state.projects?.length) {\n    branchesEndpoint = state.projects.find((p) => p.id === id).refsUrl;\n  }\n\n  commit(types.SET_SELECTED_PROJECT, id);\n  dispatch('setBranchesEndpoint', branchesEndpoint);\n  dispatch('fetchBranches');\n};\n","import { uniq, uniqBy } from 'lodash';\n\nexport const joinedBranches = (state) => {\n  return uniq(state.branches).sort();\n};\n\nexport const sortedProjects = (state) => uniqBy(state.projects, 'id').sort();\n","import * as types from './mutation_types';\n\nexport default {\n  [types.SET_BRANCHES_ENDPOINT](state, endpoint) {\n    state.branchesEndpoint = endpoint;\n  },\n\n  [types.REQUEST_BRANCHES](state) {\n    state.isFetching = true;\n  },\n\n  [types.RECEIVE_BRANCHES_SUCCESS](state, branches) {\n    state.isFetching = false;\n    state.branches = branches;\n    state.branches.unshift(state.branch);\n  },\n\n  [types.CLEAR_MODAL](state) {\n    state.branch = state.defaultBranch;\n  },\n\n  [types.SET_BRANCH](state, branch) {\n    state.branch = branch;\n  },\n\n  [types.SET_SELECTED_BRANCH](state, branch) {\n    state.selectedBranch = branch;\n  },\n\n  [types.SET_SELECTED_PROJECT](state, projectId) {\n    state.targetProjectId = projectId;\n    state.branch = state.defaultBranch;\n  },\n};\n","import Vue from 'vue';\n// eslint-disable-next-line no-restricted-imports\nimport Vuex from 'vuex';\nimport * as actions from './actions';\nimport * as getters from './getters';\nimport mutations from './mutations';\nimport state from './state';\n\nVue.use(Vuex);\n\nexport default (initialState = {}) =>\n  new Vuex.Store({\n    actions,\n    mutations,\n    getters,\n    state: {\n      ...state(),\n      ...initialState,\n    },\n  });\n","export default () => ({\n  endpoint: null,\n  branchesEndpoint: null,\n  isFetching: false,\n  branches: [],\n  projects: [],\n  selectedBranch: '',\n  pushCode: false,\n  branchCollaboration: false,\n  modalTitle: '',\n  existingBranch: '',\n  defaultBranch: '',\n  branch: '',\n  targetProjectId: '',\n  targetProjectName: '',\n});\n","import Vue from 'vue';\nimport { parseBoolean, convertObjectPropsToCamelCase } from '~/lib/utils/common_utils';\nimport CommitFormModal from './components/form_modal.vue';\nimport {\n  I18N_MODAL,\n  I18N_CHERRY_PICK_MODAL,\n  OPEN_CHERRY_PICK_MODAL,\n  CHERRY_PICK_MODAL_ID,\n} from './constants';\nimport createStore from './store';\n\nexport default function initInviteMembersModal(primaryActionEventName) {\n  const el = document.querySelector('.js-cherry-pick-commit-modal');\n  if (!el) {\n    return false;\n  }\n\n  const {\n    title,\n    endpoint,\n    branch,\n    targetProjectId,\n    targetProjectName,\n    pushCode,\n    branchCollaboration,\n    existingBranch,\n    branchesEndpoint,\n    projects,\n  } = el.dataset;\n\n  const store = createStore({\n    endpoint,\n    branchesEndpoint,\n    branch,\n    targetProjectId,\n    targetProjectName,\n    pushCode: parseBoolean(pushCode),\n    branchCollaboration: parseBoolean(branchCollaboration),\n    defaultBranch: branch,\n    modalTitle: title,\n    existingBranch,\n    projects: convertObjectPropsToCamelCase(JSON.parse(projects), { deep: true }),\n  });\n\n  return new Vue({\n    el,\n    store,\n    render: (createElement) =>\n      createElement(CommitFormModal, {\n        props: {\n          i18n: { ...I18N_CHERRY_PICK_MODAL, ...I18N_MODAL },\n          openModal: OPEN_CHERRY_PICK_MODAL,\n          modalId: CHERRY_PICK_MODAL_ID,\n          isCherryPick: true,\n          primaryActionEventName,\n        },\n      }),\n  });\n}\n","\n    var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CommitReferences\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commitReferences\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commitSha\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"containingBranches\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"excludeTipped\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"containingTags\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"excludeTipped\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tippingBranches\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tippingTags\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"names\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":404}};\n    doc.loc.source = {\"body\":\"query CommitReferences($fullPath: ID!, $commitSha: String!) {\\n  project(fullPath: $fullPath) {\\n    id\\n    commitReferences(commitSha: $commitSha) {\\n      containingBranches(excludeTipped: true, limit: 1) {\\n        names\\n      }\\n      containingTags(excludeTipped: true, limit: 1) {\\n        names\\n      }\\n      tippingBranches {\\n        names\\n      }\\n      tippingTags {\\n        names\\n      }\\n    }\\n  }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n  \n\n    var names = {};\n    function unique(defs) {\n      return defs.filter(\n        function(def) {\n          if (def.kind !== 'FragmentDefinition') return true;\n          var name = def.name.value\n          if (names[name]) {\n            return false;\n          } else {\n            names[name] = true;\n            return true;\n          }\n        }\n      )\n    }\n  \n\n    // Collect any fragment/type references from a node, adding them to the refs Set\n    function collectFragmentReferences(node, refs) {\n      if (node.kind === \"FragmentSpread\") {\n        refs.add(node.name.value);\n      } else if (node.kind === \"VariableDefinition\") {\n        var type = node.type;\n        if (type.kind === \"NamedType\") {\n          refs.add(type.name.value);\n        }\n      }\n\n      if (node.selectionSet) {\n        node.selectionSet.selections.forEach(function(selection) {\n          collectFragmentReferences(selection, refs);\n        });\n      }\n\n      if (node.variableDefinitions) {\n        node.variableDefinitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n\n      if (node.definitions) {\n        node.definitions.forEach(function(def) {\n          collectFragmentReferences(def, refs);\n        });\n      }\n    }\n\n    var definitionRefs = {};\n    (function extractReferences() {\n      doc.definitions.forEach(function(def) {\n        if (def.name) {\n          var refs = new Set();\n          collectFragmentReferences(def, refs);\n          definitionRefs[def.name.value] = refs;\n        }\n      });\n    })();\n\n    function findOperation(doc, name) {\n      for (var i = 0; i < doc.definitions.length; i++) {\n        var element = doc.definitions[i];\n        if (element.name && element.name.value == name) {\n          return element;\n        }\n      }\n    }\n\n    function oneQuery(doc, operationName) {\n      // Copy the DocumentNode, but clear out the definitions\n      var newDoc = {\n        kind: doc.kind,\n        definitions: [findOperation(doc, operationName)]\n      };\n      if (doc.hasOwnProperty(\"loc\")) {\n        newDoc.loc = doc.loc;\n      }\n\n      // Now, for the operation we're running, find any fragments referenced by\n      // it or the fragments it references\n      var opRefs = definitionRefs[operationName] || new Set();\n      var allRefs = new Set();\n      var newRefs = new Set();\n\n      // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n      opRefs.forEach(function(refName) {\n        newRefs.add(refName);\n      });\n\n      while (newRefs.size > 0) {\n        var prevRefs = newRefs;\n        newRefs = new Set();\n\n        prevRefs.forEach(function(refName) {\n          if (!allRefs.has(refName)) {\n            allRefs.add(refName);\n            var childRefs = definitionRefs[refName] || new Set();\n            childRefs.forEach(function(childRef) {\n              newRefs.add(childRef);\n            });\n          }\n        });\n      }\n\n      allRefs.forEach(function(refName) {\n        var op = findOperation(doc, refName);\n        if (op) {\n          newDoc.definitions.push(op);\n        }\n      });\n\n      return newDoc;\n    }\n    \n    module.exports = doc;\n    \n        module.exports[\"CommitReferences\"] = oneQuery(doc, \"CommitReferences\");\n        \n","import * as Sentry from '~/sentry/sentry_browser_wrapper';\n\nexport const reportToSentry = (component, failureType) => {\n  Sentry.captureException(failureType, {\n    tags: {\n      component,\n    },\n  });\n};\n"],"sourceRoot":""}