{"version":3,"sources":["webpack:///./vue_shared/directives/tooltip.js","webpack:///./shortcuts_navigation.js","webpack:///./vue_shared/components/icon.vue?c951","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?25af","webpack:///./vue_shared/components/icon.vue","webpack:///./project_select_combo_button.js","webpack:///./project_select.js","webpack:///./pages/projects/project.js","webpack:///./pages/projects/index.js","webpack:///./cycle_analytics/svg/icon_branch.svg","webpack:///./cycle_analytics/svg/icon_build_status.svg","webpack:///./cycle_analytics/svg/icon_commit.svg","webpack:////opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_cycle_analytics_splash.svg","webpack:///./cycle_analytics/components/banner.vue?013b","webpack:///cycle_analytics/components/banner.vue","webpack:///./cycle_analytics/components/banner.vue","webpack:///./cycle_analytics/components/banner.vue?31e0","webpack:///./cycle_analytics/components/limit_warning_component.vue?c9a5","webpack:///cycle_analytics/components/limit_warning_component.vue","webpack:///./cycle_analytics/components/limit_warning_component.vue","webpack:///./cycle_analytics/components/limit_warning_component.vue?0d22","webpack:///./cycle_analytics/components/total_time_component.vue?5889","webpack:///cycle_analytics/components/total_time_component.vue","webpack:///./cycle_analytics/components/total_time_component.vue","webpack:///./cycle_analytics/components/total_time_component.vue?fbe7","webpack:///./cycle_analytics/components/stage_code_component.vue?442d","webpack:///cycle_analytics/components/stage_code_component.vue","webpack:///./cycle_analytics/components/stage_code_component.vue","webpack:///./cycle_analytics/components/stage_code_component.vue?fa6b","webpack:///./cycle_analytics/components/stage_plan_component.vue?e142","webpack:///cycle_analytics/components/stage_plan_component.vue","webpack:///./cycle_analytics/components/stage_plan_component.vue","webpack:///./cycle_analytics/components/stage_plan_component.vue?85cc","webpack:///./cycle_analytics/components/stage_component.vue?aad9","webpack:///cycle_analytics/components/stage_component.vue","webpack:///./cycle_analytics/components/stage_component.vue","webpack:///./cycle_analytics/components/stage_component.vue?a672","webpack:///./cycle_analytics/components/stage_review_component.vue?b4ff","webpack:///cycle_analytics/components/stage_review_component.vue","webpack:///./cycle_analytics/components/stage_review_component.vue","webpack:///./cycle_analytics/components/stage_review_component.vue?436b","webpack:///./cycle_analytics/components/stage_staging_component.vue?f994","webpack:///cycle_analytics/components/stage_staging_component.vue","webpack:///./cycle_analytics/components/stage_staging_component.vue","webpack:///./cycle_analytics/components/stage_staging_component.vue?1bb8","webpack:///./cycle_analytics/components/stage_test_component.vue?5523","webpack:///cycle_analytics/components/stage_test_component.vue","webpack:///./cycle_analytics/components/stage_test_component.vue","webpack:///./cycle_analytics/components/stage_test_component.vue?7479","webpack:///./cycle_analytics/cycle_analytics_service.js","webpack:///./cycle_analytics/default_event_objects.js","webpack:///./cycle_analytics/cycle_analytics_store.js","webpack:///./cycle_analytics/cycle_analytics_bundle.js","webpack:///./pages/projects/cycle_analytics/show/index.js","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?5c14","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?c209","webpack:///vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///../images/no_avatar.png"],"names":["__webpack_exports__","bind","el","jquery__WEBPACK_IMPORTED_MODULE_0___default","tooltip","trigger","componentUpdated","unbind","ShortcutsNavigation","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","mousetrap__WEBPACK_IMPORTED_MODULE_0___default","a","_shortcuts_dashboard_navigation__WEBPACK_IMPORTED_MODULE_1__","enabledHelp","push","_shortcuts__WEBPACK_IMPORTED_MODULE_2__","validSizes","components_iconvue_type_script_lang_js","props","name","type","String","required","size","Number","default","validator","value","includes","cssClasses","width","height","y","x","computed","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","component","componentNormalizer","_vm","_h","$createElement","_c","_self","class","attrs","_b","xlink:href","ProjectSelectComboButton","select","projectSelectInput","jquery_default","newItemBtn","resourceType","data","resourceLabel","formattedText","deriveTextVariants","groupId","bindEvents","initLocalStorage","siblings","on","e","openDropdown","getProjectFromLocalStorage","preventDefault","selectProject","accessor","isLocalStorageAccessSafe","localStorageKey","localStorageItemType","join","setBtnTextFromLocalStorage","event","currentTarget","select2","selectedProjectData","JSON","parse","val","projectMeta","url","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","minimumInputLength","query","finalCallback","projectsCallback","projects","results","callback","groupsCallback","groups","concat","api","term","groupProjects","order_by","with_issues_enabled","with_merge_requests_enabled","membership","id","web_url","name_with_namespace","dropdownCssClass","project_select_combo_button","__webpack_require__","d","Project","$cloneOptions","$projectCloneField","$cloneBtnText","selectedCloneOption","trim","length","$","addClass","$this","activeText","find","not","removeClass","toggleClass","initRefSwitcher","parents","submit","js_cookie__WEBPACK_IMPORTED_MODULE_1___default","set","remove","projectSelectDropdown","_project_select__WEBPACK_IMPORTED_MODULE_6__","changeProject","window","location","refListItem","document","createElement","refLink","href","$dropdown","selected","glDropdown","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_4__","get","params","ref","search","then","_ref","catch","_flash__WEBPACK_IMPORTED_MODULE_5__","_locale__WEBPACK_IMPORTED_MODULE_2__","selectable","filterable","filterRemote","filterByText","inputFieldName","fieldName","renderRow","li","cloneNode","header","className","textContent","link","dataset","appendChild","obj","$el","toggleLabel","clicked","options","$form","closest","$visit","shouldVisit","action","divider","indexOf","_lib_utils_url_utility__WEBPACK_IMPORTED_MODULE_3__","visitUrl","serialize","addEventListener","_project__WEBPACK_IMPORTED_MODULE_0__","_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","module","exports","components_bannervue_type_script_lang_js","documentationLink","iconCycleAnalyticsSplash","_icon_cycle_analytics_splash_default","methods","dismissOverviewDialog","$emit","banner","staticClass","aria-label","__","click","aria-hidden","_v","domProps","innerHTML","_s","target","rel","components_limit_warning_componentvue_type_script_lang_js","directives","count","limit_warning_component","rawName","title","n__","data-placement","_e","components_total_time_componentvue_type_script_lang_js","time","hasData","keys","total_time_component","days","hours","mins","seconds","s__","components_stage_code_componentvue_type_script_lang_js","components","userAvatarImage","user_avatar_image","limitWarning","totalTime","items","Array","stage","stage_code_component","description","_l","mergeRequest","key","img-src","author","avatarUrl","iid","createdAt","webUrl","components_stage_plan_componentvue_type_script_lang_js","iconCommit","icon_commit_default","stage_plan_component","commit","commitUrl","shortSha","components_stage_componentvue_type_script_lang_js","stage_component","issue","components_stage_review_componentvue_type_script_lang_js","icon","stage_review_component","state","toUpperCase","branch","components_stage_staging_componentvue_type_script_lang_js","iconBranch","icon_branch_default","stage_staging_component","build","date","components_stage_test_componentvue_type_script_lang_js","iconBuildStatus","icon_build_status_default","stage_test_component","CycleAnalyticsService","axios","axios_utils","create","baseURL","requestPath","arguments","undefined","startDate","cycle_analytics[start_date]","default_event_objects","created_at","total_time","avatar_url","plan","commit_url","short_sha","code","test","review","staging","production","EMPTY_STAGE_TEXTS","locale","cycle_analytics_store","summary","stats","analytics","events","stages","setCycleAnalyticsData","assign","decorateData","newData","forEach","item","stageSlug","text_utility","toLowerCase","active","isUserAllowed","permissions","emptyStageText","slug","setLoadingState","isLoading","setErrorState","hasError","deactivateAllStages","setActiveStage","setStageEvents","decorateEvents","newEvents","eventItem","currentActiveStage","vue_esm","use","translate","stage-issue-component","stage-plan-component","stage-code-component","stage-test-component","stage-review-component","stage-staging-component","stage-production-component","cycleAnalyticsEl","querySelector","cycleAnalyticsService","cycle_analytics_service","store","isLoadingStage","isEmptyStage","isOverviewDialogDismissed","js_cookie_default","service","currentStage","created","fetchCycleAnalyticsData","handleError","flash","initDropdown","$label","off","$target","_this2","fetchOptions","response","selectDefaultStage","selectStage","_this3","fetchStageData","expires","user_avatar_user_avatar_imagevue_type_script_lang_js","lazy","Boolean","imgSrc","no_avatar_default","imgAlt","tooltipText","tooltipPlacement","sanitizedSource","resultantSrcAttribute","lazy_loader","tooltipContainer","avatarSizeClass","_obj","data-boundary","src","alt","data-src","data-container"],"mappings":"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","file":"pages.projects.cycle_analytics.show.04741705.chunk.js","sourcesContent":["import $ from 'jquery';\n\nexport default {\n bind(el) {\n $(el).tooltip({\n trigger: 'hover',\n });\n },\n\n componentUpdated(el) {\n $(el).tooltip('_fixTitle');\n },\n\n unbind(el) {\n $(el).tooltip('dispose');\n },\n};\n","import Mousetrap from 'mousetrap';\nimport findAndFollowLink from './shortcuts_dashboard_navigation';\nimport Shortcuts from './shortcuts';\n\nexport default class ShortcutsNavigation extends Shortcuts {\n constructor() {\n super();\n\n Mousetrap.bind('g p', () => findAndFollowLink('.shortcuts-project'));\n Mousetrap.bind('g 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('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:[_vm.iconSizeClass, _vm.iconTestClass, _vm.cssClasses],attrs:{\"width\":_vm.width,\"height\":_vm.height,\"x\":_vm.x,\"y\":_vm.y}},[_c('use',_vm._b({},'use',{ 'xlink:href':_vm.spriteHref },false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n \n \n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./icon.vue?vue&type=template&id=4bd8f44c\"\nimport script from \"./icon.vue?vue&type=script&lang=js\"\nexport * from \"./icon.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 $ 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.siblings('.new-project-item-select-button')\n .on('click', e => this.openDropdown(e));\n\n this.newItemBtn.on('click', (e) => {\n if (!this.getProjectFromLocalStorage()) {\n e.preventDefault();\n this.openDropdown(e);\n }\n });\n\n this.projectSelectInput.on('change', () => this.selectProject());\n }\n\n initLocalStorage() {\n const localStorageIsSafe = AccessorUtilities.isLocalStorageAccessSafe();\n\n if (localStorageIsSafe) {\n this.localStorageKey = ['group', this.groupId, this.formattedText.localStorageItemType, 'recent-project'].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n openDropdown(event) {\n $(event.currentTarget).siblings('.project-item-select').select2('open');\n }\n\n selectProject() {\n const selectedProjectData = JSON.parse(this.projectSelectInput.val());\n const projectUrl = `${selectedProjectData.url}/${this.projectSelectInput.data('relativePath')}`;\n const projectName = selectedProjectData.name;\n\n const projectMeta = {\n url: projectUrl,\n name: projectName,\n };\n\n this.setNewItemBtnAttributes(projectMeta);\n this.setProjectInLocalStorage(projectMeta);\n }\n\n setBtnTextFromLocalStorage() {\n const cachedProjectData = this.getProjectFromLocalStorage();\n\n this.setNewItemBtnAttributes(cachedProjectData);\n }\n\n setNewItemBtnAttributes(project) {\n if (project) {\n this.newItemBtn.attr('href', project.url);\n this.newItemBtn.text(`${this.formattedText.defaultTextPrefix} in ${project.name}`);\n } else {\n this.newItemBtn.text(`选择一个项目来创建 ${this.formattedText.presetTextSuffix}`);\n }\n }\n\n getProjectFromLocalStorage() {\n const projectString = localStorage.getItem(this.localStorageKey);\n\n return JSON.parse(projectString);\n }\n\n setProjectInLocalStorage(projectMeta) {\n const projectString = JSON.stringify(projectMeta);\n\n localStorage.setItem(this.localStorageKey, projectString);\n }\n\n deriveTextVariants() {\n const defaultTextPrefix = this.resourceLabel;\n\n // the trailing slice call depluralizes each of these strings (e.g. new-issues -> new-issue)\n const localStorageItemType = `new-${this.resourceType.split('_').join('-').slice(0, -1)}`;\n const presetTextSuffix = this.resourceType.split('_').join(' ').slice(0, -1);\n\n return {\n localStorageItemType, // new-issue / new-merge-request\n defaultTextPrefix, // New issue / New merge request\n presetTextSuffix, // issue / merge request\n };\n }\n}\n\n","/* eslint-disable func-names, space-before-function-paren, wrap-iife, prefer-arrow-callback, no-var, comma-dangle, object-shorthand, one-var, one-var-declaration-per-line, no-else-return, quotes, max-len */\n\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\n placeholder = \"搜索项目\";\n if (this.includeGroups) {\n placeholder += \"或群组\";\n }\n\n $(select).select2({\n placeholder: placeholder,\n minimumInputLength: 0,\n query: (function (_this) {\n return function (query) {\n var finalCallback, projectsCallback;\n finalCallback = function (projects) {\n var data;\n data = {\n results: projects\n };\n return query.callback(data);\n };\n if (_this.includeGroups) {\n projectsCallback = function (projects) {\n var groupsCallback;\n groupsCallback = function (groups) {\n var data;\n data = groups.concat(projects);\n return finalCallback(data);\n };\n return Api.groups(query.term, {}, groupsCallback);\n };\n } else {\n projectsCallback = finalCallback;\n }\n if (_this.groupId) {\n return Api.groupProjects(_this.groupId, query.term, projectsCallback);\n } else {\n return Api.projects(query.term, {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects,\n }, projectsCallback);\n }\n };\n })(this),\n id: function(project) {\n if (simpleFilter) return project.id;\n return JSON.stringify({\n name: project.name,\n url: project.web_url,\n });\n },\n text: function (project) {\n return project.name_with_namespace || project.name;\n },\n dropdownCssClass: \"ajax-project-dropdown\"\n });\n if (simpleFilter) return select;\n return new ProjectSelectComboButton(select);\n });\n}\n","/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */\n\nimport $ 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 $cloneBtnText = $('a.clone-dropdown-btn span');\n\n const selectedCloneOption = $cloneBtnText.text().trim();\n if (selectedCloneOption.length > 0) {\n $(`a:contains('${selectedCloneOption}')`, $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', (e) => {\n const $this = $(e.currentTarget);\n const url = $this.attr('href');\n const activeText = $this.find('.dropdown-menu-inner-title').text();\n\n e.preventDefault();\n\n $('.is-active', $cloneOptions).not($this).removeClass('is-active');\n $this.toggleClass('is-active');\n $projectCloneField.val(url);\n $cloneBtnText.text(activeText);\n\n return $('.clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function() {\n return $(this).parents('form').submit();\n });\n $('.hide-no-ssh-message').on('click', function(e) {\n Cookies.set('hide_no_ssh_message', 'false');\n $(this).parents('.no-ssh-key-message').remove();\n return e.preventDefault();\n });\n $('.hide-no-password-message').on('click', function(e) {\n Cookies.set('hide_no_password_message', 'false');\n $(this).parents('.no-password-message').remove();\n return e.preventDefault();\n });\n Project.projectSelectDropdown();\n }\n\n static projectSelectDropdown() {\n projectSelect();\n $('.project-item-select').on('click', e => Project.changeProject($(e.currentTarget).val()));\n }\n\n static changeProject(url) {\n return window.location = url;\n }\n\n static initRefSwitcher() {\n var refListItem = document.createElement('li');\n var refLink = document.createElement('a');\n\n refLink.href = '#';\n\n return $('.js-project-refs-dropdown').each(function() {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n return $dropdown.glDropdown({\n data(term, callback) {\n axios.get($dropdown.data('refsUrl'), {\n params: {\n ref: $dropdown.data('ref'),\n search: term,\n },\n })\n .then(({ data }) => callback(data))\n .catch(() => flash(__('An error occurred while getting projects')));\n },\n selectable: true,\n filterable: true,\n filterRemote: true,\n filterByText: true,\n inputFieldName: $dropdown.data('inputFieldName'),\n fieldName: $dropdown.data('fieldName'),\n renderRow: function(ref) {\n var li = refListItem.cloneNode(false);\n\n if (ref.header != null) {\n li.className = 'dropdown-header';\n li.textContent = ref.header;\n } else {\n var link = refLink.cloneNode(false);\n\n if (ref === selected) {\n link.className = 'is-active';\n }\n\n link.textContent = ref;\n link.dataset.ref = ref;\n\n li.appendChild(link);\n }\n\n return li;\n },\n id: function(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function(obj, $el) {\n return $el.text().trim();\n },\n clicked: function(options) {\n const { e } = options;\n e.preventDefault();\n if ($('input[name=\"ref\"]').length) {\n var $form = $dropdown.closest('form');\n\n var $visit = $dropdown.data('visit');\n var shouldVisit = $visit ? true : $visit;\n var action = $form.attr('action');\n var divider = action.indexOf('?') === -1 ? '?' : '&';\n if (shouldVisit) {\n visitUrl(`${action}${divider}${$form.serialize()}`);\n }\n }\n },\n });\n });\n }\n}\n","import Project from './project';\nimport ShortcutsNavigation from '../../shortcuts_navigation';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Project(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n});\n","module.exports = \"\\n\"","module.exports = \"\\n\"","module.exports = \"\\n\"","module.exports = \"\\n\"","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./banner.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./banner.vue?vue&type=script&lang=js\"","\n\n \n \n \n \n \n \n \n \n \n {{ __('Introducing Cycle Analytics') }}\n \n \n {{ __(`Cycle Analytics gives an overview\nof how much time it takes to go from idea to production in your project.`) }}\n \n \n \n {{ __('Read more') }}\n \n \n \n \n\n","import { render, staticRenderFns } from \"./banner.vue?vue&type=template&id=0e9f08fa\"\nimport script from \"./banner.vue?vue&type=script&lang=js\"\nexport * from \"./banner.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"landing content-block\"},[_c('button',{staticClass:\"js-ca-dismiss-button dismiss-button\",attrs:{\"type\":\"button\",\"aria-label\":_vm.__('Dismiss Cycle Analytics introduction box')},on:{\"click\":_vm.dismissOverviewDialog}},[_c('i',{staticClass:\"fa fa-times\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"svg-container\",domProps:{\"innerHTML\":_vm._s(_vm.iconCycleAnalyticsSplash)}}),_vm._v(\" \"),_c('div',{staticClass:\"inner-content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.__('Introducing Cycle Analytics'))+\"\\n \")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.__(\"Cycle Analytics gives an overview\\nof how much time it takes to go from idea to production in your project.\"))+\"\\n \")]),_vm._v(\" \"),_c('p',[_c('a',{staticClass:\"btn\",attrs:{\"href\":_vm.documentationLink,\"target\":\"_blank\",\"rel\":\"nofollow\"}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Read more'))+\"\\n \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./limit_warning_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./limit_warning_component.vue?vue&type=script&lang=js\"","\n\n \n \n \n {{ n__('Showing %d event', 'Showing %d events', 50) }}\n \n\n","import { render, staticRenderFns } from \"./limit_warning_component.vue?vue&type=template&id=d49207da\"\nimport script from \"./limit_warning_component.vue?vue&type=script&lang=js\"\nexport * from \"./limit_warning_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.count === 50)?_c('span',{staticClass:\"events-info float-right\"},[_c('i',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"fa fa-warning\",attrs:{\"aria-hidden\":\"true\",\"title\":_vm.n__(\n 'Limited to showing %d event at most',\n 'Limited to showing %d events at most',\n 50\n ),\"data-placement\":\"top\"}}),_vm._v(\"\\n \"+_vm._s(_vm.n__('Showing %d event', 'Showing %d events', 50))+\"\\n\")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./total_time_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./total_time_component.vue?vue&type=script&lang=js\"","\n\n \n \n \n {{ time.days }}\n \n {{ n__('day', 'days', time.days) }}\n \n \n \n {{ time.hours }}\n \n {{ n__('Time|hr', 'Time|hrs', time.hours) }}\n \n \n \n {{ time.mins }}\n \n {{ n__('Time|min', 'Time|mins', time.mins) }}\n \n \n \n {{ time.seconds }}\n \n {{ s__('Time|s') }}\n \n \n \n \n --\n \n \n\n","import { render, staticRenderFns } from \"./total_time_component.vue?vue&type=template&id=26e64d68\"\nimport script from \"./total_time_component.vue?vue&type=script&lang=js\"\nexport * from \"./total_time_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"total-time\"},[(_vm.hasData)?[(_vm.time.days)?[_vm._v(\"\\n \"+_vm._s(_vm.time.days)+\"\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.n__('day', 'days', _vm.time.days))+\"\\n \")])]:_vm._e(),_vm._v(\" \"),(_vm.time.hours)?[_vm._v(\"\\n \"+_vm._s(_vm.time.hours)+\"\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.n__('Time|hr', 'Time|hrs', _vm.time.hours))+\"\\n \")])]:_vm._e(),_vm._v(\" \"),(_vm.time.mins && !_vm.time.days)?[_vm._v(\"\\n \"+_vm._s(_vm.time.mins)+\"\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.n__('Time|min', 'Time|mins', _vm.time.mins))+\"\\n \")])]:_vm._e(),_vm._v(\" \"),(_vm.time.seconds && _vm.hasData === 1 || _vm.time.seconds === 0)?[_vm._v(\"\\n \"+_vm._s(_vm.time.seconds)+\"\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('Time|s'))+\"\\n \")])]:_vm._e()]:[_vm._v(\"\\n --\\n \")]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_code_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_code_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n {{ mergeRequest.title }}\n \n \n \n !{{ mergeRequest.iid }}\n \n ·\n \n {{ s__('OpenedNDaysAgo|Opened') }}\n \n {{ mergeRequest.createdAt }}\n \n \n \n {{ s__('ByAuthor|by') }}\n \n {{ mergeRequest.author.name }}\n \n \n \n \n \n \n \n \n \n\n","import { render, staticRenderFns } from \"./stage_code_component.vue?vue&type=template&id=59c77388\"\nimport script from \"./stage_code_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_code_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(mergeRequest,i){return _c('li',{key:i,staticClass:\"stage-event-item\"},[_c('div',{staticClass:\"item-details\"},[_c('user-avatar-image',{attrs:{\"img-src\":mergeRequest.author.avatarUrl}}),_vm._v(\" \"),_c('h5',{staticClass:\"item-title merge-merquest-title\"},[_c('a',{attrs:{\"href\":mergeRequest.url}},[_vm._v(\"\\n \"+_vm._s(mergeRequest.title)+\"\\n \")])]),_vm._v(\" \"),_c('a',{staticClass:\"issue-link\",attrs:{\"href\":mergeRequest.url}},[_vm._v(\"\\n !\"+_vm._s(mergeRequest.iid)+\"\\n \")]),_vm._v(\"\\n ·\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('OpenedNDaysAgo|Opened'))+\"\\n \"),_c('a',{staticClass:\"issue-date\",attrs:{\"href\":mergeRequest.url}},[_vm._v(\"\\n \"+_vm._s(mergeRequest.createdAt)+\"\\n \")])]),_vm._v(\" \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('ByAuthor|by'))+\"\\n \"),_c('a',{staticClass:\"issue-author-link\",attrs:{\"href\":mergeRequest.author.webUrl}},[_vm._v(\"\\n \"+_vm._s(mergeRequest.author.name)+\"\\n \")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":mergeRequest.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_plan_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_plan_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n {{ commit.title }}\n \n \n \n {{ s__('FirstPushedBy|First') }}\n \n \n {{ commit.shortSha }}\n {{ s__('FirstPushedBy|pushed by') }}\n \n {{ commit.author.name }}\n \n \n \n \n \n \n \n \n \n\n\n","import { render, staticRenderFns } from \"./stage_plan_component.vue?vue&type=template&id=2ff345cf\"\nimport script from \"./stage_plan_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_plan_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(commit,i){return _c('li',{key:i,staticClass:\"stage-event-item\"},[_c('div',{staticClass:\"item-details item-conmmit-component\"},[_c('user-avatar-image',{attrs:{\"img-src\":commit.author.avatarUrl}}),_vm._v(\" \"),_c('h5',{staticClass:\"item-title commit-title\"},[_c('a',{attrs:{\"href\":commit.commitUrl}},[_vm._v(\"\\n \"+_vm._s(commit.title)+\"\\n \")])]),_vm._v(\" \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('FirstPushedBy|First'))+\"\\n \"),_c('span',{staticClass:\"commit-icon\",domProps:{\"innerHTML\":_vm._s(_vm.iconCommit)}}),_vm._v(\" \"),_c('a',{staticClass:\"commit-hash-link commit-sha\",attrs:{\"href\":commit.commitUrl}},[_vm._v(_vm._s(commit.shortSha))]),_vm._v(\"\\n \"+_vm._s(_vm.s__('FirstPushedBy|pushed by'))+\"\\n \"),_c('a',{staticClass:\"commit-author-link\",attrs:{\"href\":commit.author.webUrl}},[_vm._v(\"\\n \"+_vm._s(commit.author.name)+\"\\n \")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":commit.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n {{ issue.title }}\n \n \n #{{ issue.iid }}\n ·\n \n {{ s__('OpenedNDaysAgo|Opened') }}\n {{ issue.createdAt }}\n \n \n {{ s__('ByAuthor|by') }}\n \n {{ issue.author.name }}\n \n \n \n \n \n \n \n \n \n\n\n","import { render, staticRenderFns } from \"./stage_component.vue?vue&type=template&id=79a02633\"\nimport script from \"./stage_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(issue,i){return _c('li',{key:i,staticClass:\"stage-event-item\"},[_c('div',{staticClass:\"item-details\"},[_c('user-avatar-image',{attrs:{\"img-src\":issue.author.avatarUrl}}),_vm._v(\" \"),_c('h5',{staticClass:\"item-title issue-title\"},[_c('a',{staticClass:\"issue-title\",attrs:{\"href\":issue.url}},[_vm._v(\"\\n \"+_vm._s(issue.title)+\"\\n \")])]),_vm._v(\" \"),_c('a',{staticClass:\"issue-link\",attrs:{\"href\":issue.url}},[_vm._v(\"#\"+_vm._s(issue.iid))]),_vm._v(\"\\n ·\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('OpenedNDaysAgo|Opened'))+\"\\n \"),_c('a',{staticClass:\"issue-date\",attrs:{\"href\":issue.url}},[_vm._v(_vm._s(issue.createdAt))])]),_vm._v(\" \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('ByAuthor|by'))+\"\\n \"),_c('a',{staticClass:\"issue-author-link\",attrs:{\"href\":issue.author.webUrl}},[_vm._v(\"\\n \"+_vm._s(issue.author.name)+\"\\n \")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":issue.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_review_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_review_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n {{ mergeRequest.title }}\n \n \n !{{ mergeRequest.iid }}\n ·\n \n {{ s__('OpenedNDaysAgo|Opened') }}\n {{ mergeRequest.createdAt }}\n \n \n {{ s__('ByAuthor|by') }}\n {{ mergeRequest.author.name }}\n \n \n \n \n \n {{ mergeRequest.state.toUpperCase() }}\n \n \n \n \n \n \n {{ mergeRequest.branch.name }}\n \n \n \n \n \n \n \n \n \n \n\n","import { render, staticRenderFns } from \"./stage_review_component.vue?vue&type=template&id=d0126fec\"\nimport script from \"./stage_review_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_review_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(mergeRequest,i){return _c('li',{key:i,staticClass:\"stage-event-item\"},[_c('div',{staticClass:\"item-details\"},[_c('user-avatar-image',{attrs:{\"img-src\":mergeRequest.author.avatarUrl}}),_vm._v(\" \"),_c('h5',{staticClass:\"item-title merge-merquest-title\"},[_c('a',{attrs:{\"href\":mergeRequest.url}},[_vm._v(\"\\n \"+_vm._s(mergeRequest.title)+\"\\n \")])]),_vm._v(\" \"),_c('a',{staticClass:\"issue-link\",attrs:{\"href\":mergeRequest.url}},[_vm._v(\"!\"+_vm._s(mergeRequest.iid))]),_vm._v(\"\\n ·\\n \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('OpenedNDaysAgo|Opened'))+\"\\n \"),_c('a',{staticClass:\"issue-date\",attrs:{\"href\":mergeRequest.url}},[_vm._v(_vm._s(mergeRequest.createdAt))])]),_vm._v(\" \"),_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.s__('ByAuthor|by'))+\"\\n \"),_c('a',{staticClass:\"issue-author-link\",attrs:{\"href\":mergeRequest.author.webUrl}},[_vm._v(_vm._s(mergeRequest.author.name))])]),_vm._v(\" \"),(mergeRequest.state === 'closed')?[_c('span',{staticClass:\"merge-request-state\"},[_c('i',{staticClass:\"fa fa-ban\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(mergeRequest.state.toUpperCase())+\"\\n \")])]:[(mergeRequest.branch)?_c('span',{staticClass:\"merge-request-branch\"},[_c('icon',{attrs:{\"name\":\"fork\",\"size\":16}}),_vm._v(\" \"),_c('a',{attrs:{\"href\":mergeRequest.branch.url}},[_vm._v(\"\\n \"+_vm._s(mergeRequest.branch.name)+\"\\n \")])],1):_vm._e()]],2),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":mergeRequest.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_staging_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_staging_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n #{{ build.id }}\n \n \n \n {{ build.branch.name }}\n \n \n \n \n {{ build.shortSha }}\n \n \n \n \n {{ build.date }}\n \n {{ s__('ByAuthor|by') }}\n \n {{ build.author.name }}\n \n \n \n \n \n \n \n \n \n\n","import { render, staticRenderFns } from \"./stage_staging_component.vue?vue&type=template&id=037af442\"\nimport script from \"./stage_staging_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_staging_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(build,i){return _c('li',{key:i,staticClass:\"stage-event-item item-build-component\"},[_c('div',{staticClass:\"item-details\"},[_c('user-avatar-image',{attrs:{\"img-src\":build.author.avatarUrl}}),_vm._v(\" \"),_c('h5',{staticClass:\"item-title\"},[_c('a',{staticClass:\"pipeline-id\",attrs:{\"href\":build.url}},[_vm._v(\"\\n #\"+_vm._s(build.id)+\"\\n \")]),_vm._v(\" \"),_c('icon',{attrs:{\"name\":\"fork\",\"size\":16}}),_vm._v(\" \"),_c('a',{staticClass:\"ref-name\",attrs:{\"href\":build.branch.url}},[_vm._v(\"\\n \"+_vm._s(build.branch.name)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"icon-branch\",domProps:{\"innerHTML\":_vm._s(_vm.iconBranch)}}),_vm._v(\" \"),_c('a',{staticClass:\"commit-sha\",attrs:{\"href\":build.commitUrl}},[_vm._v(\"\\n \"+_vm._s(build.shortSha)+\"\\n \")])],1),_vm._v(\" \"),_c('span',[_c('a',{staticClass:\"build-date\",attrs:{\"href\":build.url}},[_vm._v(\"\\n \"+_vm._s(build.date)+\"\\n \")]),_vm._v(\"\\n \"+_vm._s(_vm.s__('ByAuthor|by'))+\"\\n \"),_c('a',{staticClass:\"issue-author-link\",attrs:{\"href\":build.author.webUrl}},[_vm._v(\"\\n \"+_vm._s(build.author.name)+\"\\n \")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":build.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_test_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./stage_test_component.vue?vue&type=script&lang=js\"","\n\n \n \n {{ stage.description }}\n \n \n \n \n \n \n \n \n \n {{ build.name }}\n \n ·\n \n #{{ build.id }}\n \n \n \n {{ build.branch.name }}\n \n \n \n \n {{ build.shortSha }}\n \n \n \n \n {{ build.date }}\n \n \n \n \n \n \n \n \n \n\n","import { render, staticRenderFns } from \"./stage_test_component.vue?vue&type=template&id=6742412f\"\nimport script from \"./stage_test_component.vue?vue&type=script&lang=js\"\nexport * from \"./stage_test_component.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"events-description\"},[_vm._v(\"\\n \"+_vm._s(_vm.stage.description)+\"\\n \"),_c('limit-warning',{attrs:{\"count\":_vm.items.length}})],1),_vm._v(\" \"),_c('ul',{staticClass:\"stage-event-list\"},_vm._l((_vm.items),function(build,i){return _c('li',{key:i,staticClass:\"stage-event-item item-build-component\"},[_c('div',{staticClass:\"item-details\"},[_c('h5',{staticClass:\"item-title\"},[_c('span',{staticClass:\"icon-build-status\",domProps:{\"innerHTML\":_vm._s(_vm.iconBuildStatus)}}),_vm._v(\" \"),_c('a',{staticClass:\"item-build-name\",attrs:{\"href\":build.url}},[_vm._v(\"\\n \"+_vm._s(build.name)+\"\\n \")]),_vm._v(\"\\n ·\\n \"),_c('a',{staticClass:\"pipeline-id\",attrs:{\"href\":build.url}},[_vm._v(\"\\n #\"+_vm._s(build.id)+\"\\n \")]),_vm._v(\" \"),_c('icon',{attrs:{\"name\":\"fork\",\"size\":16}}),_vm._v(\" \"),_c('a',{staticClass:\"ref-name\",attrs:{\"href\":build.branch.url}},[_vm._v(\"\\n \"+_vm._s(build.branch.name)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"icon-branch\",domProps:{\"innerHTML\":_vm._s(_vm.iconBranch)}}),_vm._v(\" \"),_c('a',{staticClass:\"commit-sha\",attrs:{\"href\":build.commitUrl}},[_vm._v(\"\\n \"+_vm._s(build.shortSha)+\"\\n \")])],1),_vm._v(\" \"),_c('span',[_c('a',{staticClass:\"issue-date\",attrs:{\"href\":build.url}},[_vm._v(\"\\n \"+_vm._s(build.date)+\"\\n \")])])]),_vm._v(\" \"),_c('div',{staticClass:\"item-time\"},[_c('total-time',{attrs:{\"time\":build.totalTime}})],1)])}))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '~/lib/utils/axios_utils';\n\nexport default class CycleAnalyticsService {\n constructor(options) {\n this.axios = axios.create({\n baseURL: options.requestPath,\n });\n }\n\n fetchCycleAnalyticsData(options = { startDate: 30 }) {\n return this.axios\n .get('', {\n params: {\n 'cycle_analytics[start_date]': options.startDate,\n },\n })\n .then(x => x.data);\n }\n\n fetchStageData(options) {\n const {\n stage,\n startDate,\n } = options;\n\n return this.axios\n .get(`events/${stage.name}.json`, {\n params: {\n 'cycle_analytics[start_date]': startDate,\n },\n })\n .then(x => x.data);\n }\n}\n","export default {\n issue: {\n created_at: '',\n url: '',\n iid: '',\n title: '',\n total_time: {},\n author: {\n avatar_url: '',\n id: '',\n name: '',\n web_url: '',\n },\n },\n plan: {\n title: '',\n commit_url: '',\n short_sha: '',\n total_time: {},\n author: {\n name: '',\n id: '',\n avatar_url: '',\n web_url: '',\n },\n },\n code: {\n title: '',\n iid: '',\n created_at: '',\n url: '',\n total_time: {},\n author: {\n name: '',\n id: '',\n avatar_url: '',\n web_url: '',\n },\n },\n test: {\n name: '',\n id: '',\n date: '',\n url: '',\n short_sha: '',\n commit_url: '',\n total_time: {},\n branch: {\n name: '',\n url: '',\n },\n },\n review: {\n title: '',\n iid: '',\n created_at: '',\n url: '',\n state: '',\n total_time: {},\n author: {\n name: '',\n id: '',\n avatar_url: '',\n web_url: '',\n },\n },\n staging: {\n id: '',\n short_sha: '',\n date: '',\n url: '',\n commit_url: '',\n total_time: {},\n author: {\n name: '',\n id: '',\n avatar_url: '',\n web_url: '',\n },\n branch: {\n name: '',\n url: '',\n },\n },\n production: {\n title: '',\n created_at: '',\n url: '',\n iid: '',\n total_time: {},\n author: {\n name: '',\n id: '',\n avatar_url: '',\n web_url: '',\n },\n },\n};\n","/* eslint-disable no-param-reassign */\n\nimport { __ } from '../locale';\nimport { dasherize } from '../lib/utils/text_utility';\nimport DEFAULT_EVENT_OBJECTS from './default_event_objects';\n\nconst EMPTY_STAGE_TEXTS = {\n issue: __('The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage.'),\n plan: __('The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit.'),\n code: __('The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request.'),\n test: __('The testing stage shows the time GitLab CI takes to run every pipeline for the related merge request. The data will automatically be added after your first pipeline finishes running.'),\n review: __('The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request.'),\n staging: __('The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time.'),\n production: __('The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle.'),\n};\n\nexport default {\n state: {\n summary: '',\n stats: '',\n analytics: '',\n events: [],\n stages: [],\n },\n setCycleAnalyticsData(data) {\n this.state = Object.assign(this.state, this.decorateData(data));\n },\n decorateData(data) {\n const newData = {};\n\n newData.stages = data.stats || [];\n newData.summary = data.summary || [];\n\n newData.summary.forEach((item) => {\n item.value = item.value || '-';\n });\n\n newData.stages.forEach((item) => {\n const stageSlug = dasherize(item.name.toLowerCase());\n item.active = false;\n item.isUserAllowed = data.permissions[stageSlug];\n item.emptyStageText = EMPTY_STAGE_TEXTS[stageSlug];\n item.component = `stage-${stageSlug}-component`;\n item.slug = stageSlug;\n });\n newData.analytics = data;\n return newData;\n },\n setLoadingState(state) {\n this.state.isLoading = state;\n },\n setErrorState(state) {\n this.state.hasError = state;\n },\n deactivateAllStages() {\n this.state.stages.forEach((stage) => {\n stage.active = false;\n });\n },\n setActiveStage(stage) {\n this.deactivateAllStages();\n stage.active = true;\n },\n setStageEvents(events, stage) {\n this.state.events = this.decorateEvents(events, stage);\n },\n decorateEvents(events, stage) {\n const newEvents = [];\n\n events.forEach((item) => {\n if (!item) return;\n\n const eventItem = Object.assign({}, DEFAULT_EVENT_OBJECTS[stage.slug], item);\n\n eventItem.totalTime = eventItem.total_time;\n\n if (eventItem.author) {\n eventItem.author.webUrl = eventItem.author.web_url;\n eventItem.author.avatarUrl = eventItem.author.avatar_url;\n }\n\n if (eventItem.created_at) eventItem.createdAt = eventItem.created_at;\n if (eventItem.short_sha) eventItem.shortSha = eventItem.short_sha;\n if (eventItem.commit_url) eventItem.commitUrl = eventItem.commit_url;\n\n delete eventItem.author.web_url;\n delete eventItem.author.avatar_url;\n delete eventItem.total_time;\n delete eventItem.created_at;\n delete eventItem.short_sha;\n delete eventItem.commit_url;\n\n newEvents.push(eventItem);\n });\n\n return newEvents;\n },\n currentActiveStage() {\n return this.state.stages.find(stage => stage.active);\n },\n};\n","import $ from 'jquery';\nimport Vue from 'vue';\nimport Cookies from 'js-cookie';\nimport Flash from '../flash';\nimport Translate from '../vue_shared/translate';\nimport banner from './components/banner.vue';\nimport stageCodeComponent from './components/stage_code_component.vue';\nimport stagePlanComponent from './components/stage_plan_component.vue';\nimport stageComponent from './components/stage_component.vue';\nimport stageReviewComponent from './components/stage_review_component.vue';\nimport stageStagingComponent from './components/stage_staging_component.vue';\nimport stageTestComponent from './components/stage_test_component.vue';\nimport CycleAnalyticsService from './cycle_analytics_service';\nimport CycleAnalyticsStore from './cycle_analytics_store';\n\nVue.use(Translate);\n\nexport default () => {\n const OVERVIEW_DIALOG_COOKIE = 'cycle_analytics_help_dismissed';\n\n new Vue({ // eslint-disable-line no-new\n el: '#cycle-analytics',\n name: 'CycleAnalytics',\n components: {\n banner,\n 'stage-issue-component': stageComponent,\n 'stage-plan-component': stagePlanComponent,\n 'stage-code-component': stageCodeComponent,\n 'stage-test-component': stageTestComponent,\n 'stage-review-component': stageReviewComponent,\n 'stage-staging-component': stageStagingComponent,\n 'stage-production-component': stageComponent,\n },\n data() {\n const cycleAnalyticsEl = document.querySelector('#cycle-analytics');\n const cycleAnalyticsService = new CycleAnalyticsService({\n requestPath: cycleAnalyticsEl.dataset.requestPath,\n });\n\n return {\n store: CycleAnalyticsStore,\n state: CycleAnalyticsStore.state,\n isLoading: false,\n isLoadingStage: false,\n isEmptyStage: false,\n hasError: false,\n startDate: 30,\n isOverviewDialogDismissed: Cookies.get(OVERVIEW_DIALOG_COOKIE),\n service: cycleAnalyticsService,\n };\n },\n computed: {\n currentStage() {\n return this.store.currentActiveStage();\n },\n },\n created() {\n this.fetchCycleAnalyticsData();\n },\n methods: {\n handleError() {\n this.store.setErrorState(true);\n return new Flash('There was an error while fetching cycle analytics data.');\n },\n initDropdown() {\n const $dropdown = $('.js-ca-dropdown');\n const $label = $dropdown.find('.dropdown-label');\n\n $dropdown.find('li a').off('click').on('click', (e) => {\n e.preventDefault();\n const $target = $(e.currentTarget);\n this.startDate = $target.data('value');\n\n $label.text($target.text().trim());\n this.fetchCycleAnalyticsData({ startDate: this.startDate });\n });\n },\n fetchCycleAnalyticsData(options) {\n const fetchOptions = options || { startDate: this.startDate };\n\n this.isLoading = true;\n\n this.service\n .fetchCycleAnalyticsData(fetchOptions)\n .then((response) => {\n this.store.setCycleAnalyticsData(response);\n this.selectDefaultStage();\n this.initDropdown();\n this.isLoading = false;\n })\n .catch(() => {\n this.handleError();\n this.isLoading = false;\n });\n },\n selectDefaultStage() {\n const stage = this.state.stages[0];\n this.selectStage(stage);\n },\n selectStage(stage) {\n if (this.isLoadingStage) return;\n if (this.currentStage === stage) return;\n\n if (!stage.isUserAllowed) {\n this.store.setActiveStage(stage);\n return;\n }\n\n this.isLoadingStage = true;\n this.store.setStageEvents([], stage);\n this.store.setActiveStage(stage);\n\n this.service\n .fetchStageData({\n stage,\n startDate: this.startDate,\n })\n .then((response) => {\n this.isEmptyStage = !response.events.length;\n this.store.setStageEvents(response.events, stage);\n this.isLoadingStage = false;\n })\n .catch(() => {\n this.isEmptyStage = true;\n this.isLoadingStage = false;\n });\n },\n dismissOverviewDialog() {\n this.isOverviewDialogDismissed = true;\n Cookies.set(OVERVIEW_DIALOG_COOKIE, '1', { expires: 365 });\n },\n },\n });\n};\n","import initCycleAnalytics from '~/cycle_analytics/cycle_analytics_bundle';\n\ndocument.addEventListener('DOMContentLoaded', initCycleAnalytics);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"avatar\",class:( _obj = {\n lazy: _vm.lazy\n }, _obj[_vm.avatarSizeClass] = true, _obj[_vm.cssClasses] = true, _obj ),attrs:{\"data-boundary\":\"window\",\"src\":_vm.resultantSrcAttribute,\"width\":_vm.size,\"height\":_vm.size,\"alt\":_vm.imgAlt,\"data-src\":_vm.sanitizedSource,\"data-container\":_vm.tooltipContainer,\"data-placement\":_vm.tooltipPlacement,\"title\":_vm.tooltipText}})\nvar _obj;}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"","\n\n\n \n\n","import { render, staticRenderFns } from \"./user_avatar_image.vue?vue&type=template&id=322edd8c\"\nimport script from \"./user_avatar_image.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_image.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","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAAAAAAdJSU2AAACNElEQVR4AdXYBa7jMBCA4b3/JZahzIkjp2qt+BWUWnG5ln2XxaJJb2b5F2ukL4wvzK/rP7bUcbf92u6oftLSe1ldk8efsfaVeEjusZZeC6e1RllaCk/yG6ag1lZ4WwPX69uyD6tAe/g2ipAlNMRS37awDLaFrpcMWxXQOi0jnWCWjFkSZomYJWDWKmatYNZyEWkJsvQimoZYah5NgdaLxagCtF6GRy0DshZPkeYwS/KIJWGWYjwYUzDLxCwDtJ54OKglimBLqHWahii2g1pmHLLGBmwVoRjcKlmgOdw65H5qKuGWCVi5Qlhs6m1sENZi4q3AWNvca5UYy2RjT/SAsiZey6CsIvc0wVlV5lJ0ibPMyLUGCmlxQq0IM0hLdWyro7CWEc3sXsqaK4O2zLxOsmtpfW5Q1u68ZrVmepaaNXEewawtI9X5Xl3U3n1qND6+rfPzvqoIWz/fklNCSLY153YV53J/XUxGCJnKZ1lajsn3/Ffegf6Y5pV2LUsSNL2UHzxUfh3TlYpZqqTpXZm0KZk9zJcqaEmaWPHDw0pxe05K7bWOLHFLWXVetqpYmrjle4+1y0aBaF4UOQ1NU+lYezJClkjLUnSEjqhH6zjAW4OjtY39Ibq+sawUb6W2RQfoqG0VeKuwrRJvlba17faRdbe2pTtYq6Nty/S7yAbGsQjWIq41wVoT1+IdZNy1djUcVdu5lklQWC0xHkt1X31qNEE1Pr3qKv/9XiSNj6Aaifj3/69+AYujsR/MvkpZAAAAAElFTkSuQmCC\""],"sourceRoot":""}
\n {{ __(`Cycle Analytics gives an overview\nof how much time it takes to go from idea to production in your project.`) }}\n
\n \n {{ __('Read more') }}\n \n