{"version":3,"sources":["webpack:///pipelines.46b6cb81b2cc27d3e95c.bundle.js","webpack:///pipelines/components/stage.vue","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/index.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/lib/visibility.core.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/lib/visibility.timers.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_commit.svg","webpack:////opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_play.svg","webpack:////opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_timer.svg","webpack:///../images/no_avatar.png","webpack:///./lib/utils/http_status.js","webpack:///./lib/utils/poll.js","webpack:///./pipelines/components/stage.vue?efb7","webpack:///./pipelines/components/stage.vue","webpack:///./pipelines/event_hub.js","webpack:///pipelines/components/empty_state.vue","webpack:///./pipelines/components/empty_state.vue?a569","webpack:///./pipelines/components/empty_state.vue","webpack:///pipelines/components/error_state.vue","webpack:///./pipelines/components/error_state.vue?ed16","webpack:///./pipelines/components/error_state.vue","webpack:///pipelines/components/async_button.vue","webpack:///./pipelines/components/async_button.vue?fc9f","webpack:///./pipelines/components/async_button.vue","webpack:///pipelines/components/pipelines_actions.vue","webpack:///./pipelines/components/pipelines_actions.vue?42c7","webpack:///./pipelines/components/pipelines_actions.vue","webpack:///pipelines/components/pipelines_artifacts.vue","webpack:///./pipelines/components/pipelines_artifacts.vue?c8a7","webpack:///./pipelines/components/pipelines_artifacts.vue","webpack:///pipelines/components/pipeline_url.vue","webpack:///./pipelines/components/pipeline_url.vue?4a9d","webpack:///./pipelines/components/pipeline_url.vue","webpack:///pipelines/components/time_ago.vue","webpack:///./pipelines/components/time_ago.vue?f89b","webpack:///./pipelines/components/time_ago.vue","webpack:///pipelines/components/pipelines_table_row.vue","webpack:///./pipelines/components/pipelines_table_row.vue?b2c0","webpack:///./pipelines/components/pipelines_table_row.vue","webpack:///pipelines/components/pipelines_table.vue","webpack:///./pipelines/components/pipelines_table.vue?56d3","webpack:///./pipelines/components/pipelines_table.vue","webpack:///./pipelines/mixins/pipelines.js","webpack:///pipelines/components/nav_controls.vue","webpack:///./pipelines/components/nav_controls.vue?da31","webpack:///./pipelines/components/nav_controls.vue","webpack:///pipelines/components/pipelines.vue","webpack:///./pipelines/components/pipelines.vue?0ef4","webpack:///./pipelines/components/pipelines.vue","webpack:///./pipelines/pipelines_bundle.js","webpack:///./pipelines/services/pipelines_service.js","webpack:///./pipelines/stores/pipelines_store.js"],"names":["webpackJsonp","../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/stage.vue","module","__webpack_exports__","__webpack_require__","$","__WEBPACK_IMPORTED_MODULE_0__flash__","__WEBPACK_IMPORTED_MODULE_1__vue_shared_components_icon_vue__","__WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__","__WEBPACK_IMPORTED_MODULE_3__vue_shared_directives_tooltip__","props","stage","type","Object","required","updateDropdown","Boolean","default","directives","tooltip","data","isLoading","dropdownContent","components","loadingIcon","icon","updated","this","length","stopDropdownClickPropagation","watch","isDropdownOpen","fetchJobs","methods","onClickStage","_this","$http","get","dropdown_path","then","response","json","html","catch","closeDropdown","$el","querySelectorAll","on","e","stopPropagation","$refs","dropdown","classList","contains","computed","dropdownClass","triggerButtonClass","status","group","borderlessIcon","call","../../../node_modules/visibilityjs/index.js","exports","../../../node_modules/visibilityjs/lib/visibility.core.js","global","lastId","self","onVisible","callback","support","isSupported","hidden","listener","change","state","unbind","number","_callbacks","_listen","id","afterPrerendering","_doc","webkitHidden","visibilityState","webkitVisibilityState","document","_change","event","i","_init","apply","arguments","addEventListener","attachEvent","Visibility","../../../node_modules/visibilityjs/lib/visibility.timers.js","window","lastTimer","install","every","interval","hiddenInterval","_time","_timers","visible","_run","stop","_stop","_timed","_wasHidden","_stopRun","runNow","timer","runner","last","Date","now","delay","setTimeout","setInterval","clearInterval","clearTimeout","isHidden","wasHidden","../../views/shared/icons/_icon_commit.svg","../../views/shared/icons/_icon_play.svg","../../views/shared/icons/_icon_timer.svg","../images/no_avatar.png","./lib/utils/http_status.js","ABORTED","NO_CONTENT","OK","./lib/utils/poll.js","_classCallCheck","instance","Constructor","TypeError","__WEBPACK_IMPORTED_MODULE_0__http_status__","__WEBPACK_IMPORTED_MODULE_1__common_utils__","_createClass","defineProperties","target","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","prototype","Poll","options","undefined","notificationCallback","intervalHeader","timeoutID","canPoll","value","headers","pollInterval","parseInt","makeRequest","successCallback","_this2","_options","resource","method","errorCallback","checkConditions","error","./pipelines/components/stage.vue","render","_vm","_h","$createElement","_c","_self","staticClass","name","rawName","class","attrs","title","data-placement","data-toggle","aria-haspopup","aria-expanded","click","aria-hidden","aria-label","_v","aria-labelledby","domProps","innerHTML","_s","staticRenderFns","esExports","components_stage","normalizeComponent","Component","./pipelines/event_hub.js","__WEBPACK_IMPORTED_MODULE_0_vue__","./pipelines/mixins/pipelines.js","visibilityjs","visibilityjs_default","n","flash","poll","empty_state","helpPagePath","String","emptyStateSvgPath","src","href","components_empty_state","pipelines_components_empty_state","error_state","errorStateSvgPath","error_state_render","_m","error_state_staticRenderFns","error_state_esExports","components_error_state","error_state_normalizeComponent","error_state_Component","pipelines_components_error_state","loading_icon","event_hub","async_button","endpoint","cssClass","confirmActionMessage","iconClass","buttonClass","onClick","confirm","$emit","async_button_render","data-container","disabled","_e","async_button_staticRenderFns","async_button_esExports","components_async_button","async_button_normalizeComponent","async_button_Component","pipelines_components_async_button","_icon_play","_icon_play_default","pipelines_actions","actions","Array","playIconSvg","a","onClickAction","isActionDisabled","action","playable","pipelines_actions_render","_l","$event","path","pipelines_actions_staticRenderFns","pipelines_actions_esExports","components_pipelines_actions","pipelines_actions_normalizeComponent","pipelines_actions_Component","pipelines_components_pipelines_actions","pipelines_artifacts","artifacts","pipelines_artifacts_render","role","artifact","rel","download","pipelines_artifacts_staticRenderFns","pipelines_artifacts_esExports","components_pipelines_artifacts","pipelines_artifacts_normalizeComponent","pipelines_artifacts_Component","pipelines_components_pipelines_artifacts","ci_badge_link","user_avatar_link","popover","pipeline_url","pipeline","autoDevopsHelpPath","userAvatarLink","user","popoverOptions","trigger","placement","content","pipeline_url_render","link-href","img-src","avatar_url","tooltip-text","flags","yaml_errors","failure_reason","expression","tabindex","pipeline_url_staticRenderFns","pipeline_url_esExports","components_pipeline_url","pipeline_url_normalizeComponent","pipeline_url_Component","pipelines_components_pipeline_url","_icon_timer","_icon_timer_default","timeago","time_ago","finishedTime","duration","Number","mixins","iconTimerSvg","hasDuration","hasFinishedTime","durationFormated","date","hh","getUTCHours","mm","getUTCMinutes","ss","getSeconds","time_ago_render","tooltipTitle","timeFormated","time_ago_staticRenderFns","time_ago_esExports","components_time_ago","time_ago_normalizeComponent","time_ago_Component","pipelines_components_time_ago","commit","pipelines_table_row","updateGraphDropdown","viewType","asyncButtonComponent","pipelinesActionsComponent","pipelinesArtifactsComponent","commitComponent","pipelineStage","pipelineUrl","ciBadge","pipelinesTimeago","commitAuthor","commitAuthorInformation","author","author_gravatar_url","assign","author_email","username","author_name","commitTag","ref","tag","commitRef","keys","reduce","accumulator","prop","ref_url","commitUrl","commit_path","commitShortSha","short_id","commitTitle","pipelineDuration","details","pipelineFinishedAt","finished_at","pipelineStatus","displayPipelineActions","retryable","cancelable","manual_actions","isChildView","pipelines_table_row_render","show-text","auto-devops-help-path","commit-ref","commit-url","short-sha","show-branch","stages","update-dropdown","finished-time","retry_path","css-class","cancel_path","confirm-action-message","pipelines_table_row_staticRenderFns","pipelines_table_row_esExports","components_pipelines_table_row","pipelines_table_row_normalizeComponent","pipelines_table_row_Component","pipelines_components_pipelines_table_row","pipelines_table","pipelines","pipelinesTableRowComponent","pipelines_table_render","model","update-graph-dropdown","view-type","pipelines_table_staticRenderFns","pipelines_table_esExports","components_pipelines_table","pipelines_table_normalizeComponent","pipelines_table_Component","pipelines_components_pipelines_table","pipelinesTableComponent","errorState","emptyState","shouldRenderErrorState","hasError","isMakingRequest","hasMadeRequest","beforeMount","service","requestData","setIsMakingRequest","fetchPipelines","restart","$on","postAction","beforeDestroy","$off","destroyed","getPipelines","setCommonData","store","storePipelines","./pipelines/pipelines_bundle.js","vue_esm","pipelines_store","underscore","underscore_default","pipelines_service","table_pagination","navigation_tabs","nav_controls","newPipelinePath","hasCiEnabled","ciLintPath","canCreatePipeline","components_nav_controls","pipelines_components_nav_controls","common_utils","ci_pagination_api_mixin","components_pipelines","tablePagination","navigationTabs","navigationControls","pipelinesData","querySelector","dataset","autoDevopsPath","helpAutoDevopsPath","hasCi","scope","page","canCreatePipelineParsed","shouldRenderEmptyState","shouldRenderNoPipelinesMessage","shouldRenderTable","shouldRenderPagination","pageInfo","total","perPage","tabs","count","all","isActive","pending","running","finished","created","resp","isEqual","url","split","storeCount","storePagination","updateContent","parameters","updateInternalState","pipelines_render","onChangeTab","new-pipeline-path","has-ci-enabled","help-page-path","ci-lint-path","can-create-pipeline","label","size","empty-state-svg-path","error-state-svg-path","onChangePage","page-info","pipelines_staticRenderFns","pipelines_esExports","selectortype_template_index_0_pipelines_components_pipelines","pipelines_normalizeComponent","pipelines_Component","pipelines_components_pipelines","el","pipelinesComponent","createElement","./pipelines/services/pipelines_service.js","__WEBPACK_IMPORTED_MODULE_1_vue_resource__","use","PipelinesService","root","indexOf","http","post","./pipelines/stores/pipelines_store.js","__WEBPACK_IMPORTED_MODULE_0__lib_utils_common_utils__","PipelinesStore","pagination","paginationInfo","normalizedHeaders"],"mappings":"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","file":"pipelines.46b6cb81b2cc27d3e95c.bundle.js","sourcesContent":["webpackJsonp([\"pipelines\"],{\n\n/***/ \"../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/stage.vue\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__flash__ = __webpack_require__(\"./flash.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vue_shared_components_icon_vue__ = __webpack_require__(\"./vue_shared/components/icon.vue\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__ = __webpack_require__(\"./vue_shared/components/loading_icon.vue\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__vue_shared_directives_tooltip__ = __webpack_require__(\"./vue_shared/directives/tooltip.js\");\n\n\n/**\n * Renders each stage of the pipeline mini graph.\n *\n * Given the provided endpoint will make a request to\n * fetch the dropdown data when the stage is clicked.\n *\n * Request is made inside this component to make it reusable between:\n * 1. Pipelines main table\n * 2. Pipelines table in commit and Merge request views\n * 3. Merge request widget\n * 4. Commit widget\n */\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n props: {\n stage: {\n type: Object,\n required: true\n },\n\n updateDropdown: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n\n directives: {\n tooltip: __WEBPACK_IMPORTED_MODULE_3__vue_shared_directives_tooltip__[\"a\" /* default */]\n },\n\n data: function data() {\n return {\n isLoading: false,\n dropdownContent: ''\n };\n },\n\n\n components: {\n loadingIcon: __WEBPACK_IMPORTED_MODULE_2__vue_shared_components_loading_icon_vue__[\"a\" /* default */],\n icon: __WEBPACK_IMPORTED_MODULE_1__vue_shared_components_icon_vue__[\"a\" /* default */]\n },\n\n updated: function updated() {\n if (this.dropdownContent.length > 0) {\n this.stopDropdownClickPropagation();\n }\n },\n\n\n watch: {\n updateDropdown: function updateDropdown() {\n if (this.updateDropdown && this.isDropdownOpen() && !this.isLoading) {\n this.fetchJobs();\n }\n }\n },\n\n methods: {\n onClickStage: function onClickStage() {\n if (!this.isDropdownOpen()) {\n this.isLoading = true;\n this.fetchJobs();\n }\n },\n fetchJobs: function fetchJobs() {\n var _this = this;\n\n this.$http.get(this.stage.dropdown_path).then(function (response) {\n return response.json();\n }).then(function (data) {\n _this.dropdownContent = data.html;\n _this.isLoading = false;\n }).catch(function () {\n _this.closeDropdown();\n _this.isLoading = false;\n\n var flash = new __WEBPACK_IMPORTED_MODULE_0__flash__[\"a\" /* default */]('服务器端出现了错误。');\n return flash;\n });\n },\n\n\n /**\n * When the user right clicks or cmd/ctrl + click in the job name\n * the dropdown should not be closed and the link should open in another tab,\n * so we stop propagation of the click event inside the dropdown.\n *\n * Since this component is rendered multiple times per page we need to guarantee we only\n * target the click event of this component.\n */\n stopDropdownClickPropagation: function stopDropdownClickPropagation() {\n $(this.$el.querySelectorAll('.js-builds-dropdown-list a.mini-pipeline-graph-dropdown-item')).on('click', function (e) {\n e.stopPropagation();\n });\n },\n closeDropdown: function closeDropdown() {\n if (this.isDropdownOpen()) {\n $(this.$refs.dropdown).dropdown('toggle');\n }\n },\n isDropdownOpen: function isDropdownOpen() {\n return this.$el.classList.contains('open');\n }\n },\n\n computed: {\n dropdownClass: function dropdownClass() {\n return this.dropdownContent.length > 0 ? 'js-builds-dropdown-container' : 'js-builds-dropdown-loading';\n },\n triggerButtonClass: function triggerButtonClass() {\n return 'ci-status-icon-' + this.stage.status.group;\n },\n borderlessIcon: function borderlessIcon() {\n return this.stage.status.icon + '_borderless';\n }\n }\n});\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(\"../../../node_modules/jquery/dist/jquery.js\")))\n\n/***/ }),\n\n/***/ \"../../../node_modules/visibilityjs/index.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(\"../../../node_modules/visibilityjs/lib/visibility.timers.js\")\n\n\n/***/ }),\n\n/***/ \"../../../node_modules/visibilityjs/lib/visibility.core.js\":\n/***/ (function(module, exports) {\n\n;(function (global) {\n \"use strict\";\n\n var lastId = -1;\n\n // Visibility.js allow you to know, that your web page is in the background\n // tab and thus not visible to the user. This library is wrap under\n // Page Visibility API. It fix problems with different vendor prefixes and\n // add high-level useful functions.\n var self = {\n\n // Call callback only when page become to visible for user or\n // call it now if page is visible now or Page Visibility API\n // doesn’t supported.\n //\n // Return false if API isn’t supported, true if page is already visible\n // or listener ID (you can use it in `unbind` method) if page isn’t\n // visible now.\n //\n // Visibility.onVisible(function () {\n // startIntroAnimation();\n // });\n onVisible: function (callback) {\n var support = self.isSupported();\n if ( !support || !self.hidden() ) {\n callback();\n return support;\n }\n\n var listener = self.change(function (e, state) {\n if ( !self.hidden() ) {\n self.unbind(listener);\n callback();\n }\n });\n return listener;\n },\n\n // Call callback when visibility will be changed. First argument for\n // callback will be original event object, second will be visibility\n // state name.\n //\n // Return listener ID to unbind listener by `unbind` method.\n //\n // If Page Visibility API doesn’t supported method will be return false\n // and callback never will be called.\n //\n // Visibility.change(function(e, state) {\n // Statistics.visibilityChange(state);\n // });\n //\n // It is just proxy to `visibilitychange` event, but use vendor prefix.\n change: function (callback) {\n if ( !self.isSupported() ) {\n return false;\n }\n lastId += 1;\n var number = lastId;\n self._callbacks[number] = callback;\n self._listen();\n return number;\n },\n\n // Remove `change` listener by it ID.\n //\n // var id = Visibility.change(function(e, state) {\n // firstChangeCallback();\n // Visibility.unbind(id);\n // });\n unbind: function (id) {\n delete self._callbacks[id];\n },\n\n // Call `callback` in any state, expect “prerender”. If current state\n // is “prerender” it will wait until state will be changed.\n // If Page Visibility API doesn’t supported, it will call `callback`\n // immediately.\n //\n // Return false if API isn’t supported, true if page is already after\n // prerendering or listener ID (you can use it in `unbind` method)\n // if page is prerended now.\n //\n // Visibility.afterPrerendering(function () {\n // Statistics.countVisitor();\n // });\n afterPrerendering: function (callback) {\n var support = self.isSupported();\n var prerender = 'prerender';\n\n if ( !support || prerender != self.state() ) {\n callback();\n return support;\n }\n\n var listener = self.change(function (e, state) {\n if ( prerender != state ) {\n self.unbind(listener);\n callback();\n }\n });\n return listener;\n },\n\n // Return true if page now isn’t visible to user.\n //\n // if ( !Visibility.hidden() ) {\n // VideoPlayer.play();\n // }\n //\n // It is just proxy to `document.hidden`, but use vendor prefix.\n hidden: function () {\n return !!(self._doc.hidden || self._doc.webkitHidden);\n },\n\n // Return visibility state: 'visible', 'hidden' or 'prerender'.\n //\n // if ( 'prerender' == Visibility.state() ) {\n // Statistics.pageIsPrerendering();\n // }\n //\n // Don’t use `Visibility.state()` to detect, is page visible, because\n // visibility states can extend in next API versions.\n // Use more simpler and general `Visibility.hidden()` for this cases.\n //\n // It is just proxy to `document.visibilityState`, but use\n // vendor prefix.\n state: function () {\n return self._doc.visibilityState ||\n self._doc.webkitVisibilityState ||\n 'visible';\n },\n\n // Return true if browser support Page Visibility API.\n //\n // if ( Visibility.isSupported() ) {\n // Statistics.startTrackingVisibility();\n // Visibility.change(function(e, state)) {\n // Statistics.trackVisibility(state);\n // });\n // }\n isSupported: function () {\n return !!(self._doc.visibilityState ||\n self._doc.webkitVisibilityState);\n },\n\n // Link to document object to change it in tests.\n _doc: document || {},\n\n // Callbacks from `change` method, that wait visibility changes.\n _callbacks: { },\n\n // Listener for `visibilitychange` event.\n _change: function(event) {\n var state = self.state();\n\n for ( var i in self._callbacks ) {\n self._callbacks[i].call(self._doc, event, state);\n }\n },\n\n // Set listener for `visibilitychange` event.\n _listen: function () {\n if ( self._init ) {\n return;\n }\n\n var event = 'visibilitychange';\n if ( self._doc.webkitVisibilityState ) {\n event = 'webkit' + event;\n }\n\n var listener = function () {\n self._change.apply(self, arguments);\n };\n if ( self._doc.addEventListener ) {\n self._doc.addEventListener(event, listener);\n } else {\n self._doc.attachEvent(event, listener);\n }\n self._init = true;\n }\n\n };\n\n if ( typeof(module) != 'undefined' && module.exports ) {\n module.exports = self;\n } else {\n global.Visibility = self;\n }\n\n})(this);\n\n\n/***/ }),\n\n/***/ \"../../../node_modules/visibilityjs/lib/visibility.timers.js\":\n/***/ (function(module, exports, __webpack_require__) {\n\n;(function (window) {\n \"use strict\";\n\n var lastTimer = -1;\n\n var install = function (Visibility) {\n\n // Run callback every `interval` milliseconds if page is visible and\n // every `hiddenInterval` milliseconds if page is hidden.\n //\n // Visibility.every(60 * 1000, 5 * 60 * 1000, function () {\n // checkNewMails();\n // });\n //\n // You can skip `hiddenInterval` and callback will be called only if\n // page is visible.\n //\n // Visibility.every(1000, function () {\n // updateCountdown();\n // });\n //\n // It is analog of `setInterval(callback, interval)` but use visibility\n // state.\n //\n // It return timer ID, that you can use in `Visibility.stop(id)` to stop\n // timer (`clearInterval` analog).\n // Warning: timer ID is different from interval ID from `setInterval`,\n // so don’t use it in `clearInterval`.\n //\n // On change state from hidden to visible timers will be execute.\n Visibility.every = function (interval, hiddenInterval, callback) {\n Visibility._time();\n\n if ( !callback ) {\n callback = hiddenInterval;\n hiddenInterval = null;\n }\n\n lastTimer += 1;\n var number = lastTimer;\n\n Visibility._timers[number] = {\n visible: interval,\n hidden: hiddenInterval,\n callback: callback\n };\n Visibility._run(number, false);\n\n if ( Visibility.isSupported() ) {\n Visibility._listen();\n }\n return number;\n };\n\n // Stop timer from `every` method by it ID (`every` method return it).\n //\n // slideshow = Visibility.every(5 * 1000, function () {\n // changeSlide();\n // });\n // $('.stopSlideshow').click(function () {\n // Visibility.stop(slideshow);\n // });\n Visibility.stop = function(id) {\n if ( !Visibility._timers[id] ) {\n return false;\n }\n Visibility._stop(id);\n delete Visibility._timers[id];\n return true;\n };\n\n // Callbacks and intervals added by `every` method.\n Visibility._timers = { };\n\n // Initialize variables on page loading.\n Visibility._time = function () {\n if ( Visibility._timed ) {\n return;\n }\n Visibility._timed = true;\n Visibility._wasHidden = Visibility.hidden();\n\n Visibility.change(function () {\n Visibility._stopRun();\n Visibility._wasHidden = Visibility.hidden();\n });\n };\n\n // Try to run timer from every method by it’s ID. It will be use\n // `interval` or `hiddenInterval` depending on visibility state.\n // If page is hidden and `hiddenInterval` is null,\n // it will not run timer.\n //\n // Argument `runNow` say, that timers must be execute now too.\n Visibility._run = function (id, runNow) {\n var interval,\n timer = Visibility._timers[id];\n\n if ( Visibility.hidden() ) {\n if ( null === timer.hidden ) {\n return;\n }\n interval = timer.hidden;\n } else {\n interval = timer.visible;\n }\n\n var runner = function () {\n timer.last = new Date();\n timer.callback.call(window);\n }\n\n if ( runNow ) {\n var now = new Date();\n var last = now - timer.last ;\n\n if ( interval > last ) {\n timer.delay = setTimeout(function () {\n timer.id = setInterval(runner, interval);\n runner();\n }, interval - last);\n } else {\n timer.id = setInterval(runner, interval);\n runner();\n }\n\n } else {\n timer.id = setInterval(runner, interval);\n }\n };\n\n // Stop timer from `every` method by it’s ID.\n Visibility._stop = function (id) {\n var timer = Visibility._timers[id];\n clearInterval(timer.id);\n clearTimeout(timer.delay);\n delete timer.id;\n delete timer.delay;\n };\n\n // Listener for `visibilitychange` event.\n Visibility._stopRun = function (event) {\n var isHidden = Visibility.hidden(),\n wasHidden = Visibility._wasHidden;\n\n if ( (isHidden && !wasHidden) || (!isHidden && wasHidden) ) {\n for ( var i in Visibility._timers ) {\n Visibility._stop(i);\n Visibility._run(i, !isHidden);\n }\n }\n };\n\n return Visibility;\n }\n\n if ( typeof(module) != 'undefined' && module.exports ) {\n module.exports = install(__webpack_require__(\"../../../node_modules/visibilityjs/lib/visibility.core.js\"));\n } else {\n install(window.Visibility)\n }\n\n})(window);\n\n\n/***/ }),\n\n/***/ \"../../views/shared/icons/_icon_commit.svg\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\n\\n\"\n\n/***/ }),\n\n/***/ \"../../views/shared/icons/_icon_play.svg\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\n\"\n\n/***/ }),\n\n/***/ \"../../views/shared/icons/_icon_timer.svg\":\n/***/ (function(module, exports) {\n\nmodule.exports = \"\\n\"\n\n/***/ }),\n\n/***/ \"../images/no_avatar.png\":\n/***/ (function(module, exports) {\n\nmodule.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\"\n\n/***/ }),\n\n/***/ \"./lib/utils/http_status.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * exports HTTP status codes\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n ABORTED: 0,\n NO_CONTENT: 204,\n OK: 200\n});\n\n/***/ }),\n\n/***/ \"./lib/utils/poll.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__http_status__ = __webpack_require__(\"./lib/utils/http_status.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_utils__ = __webpack_require__(\"./lib/utils/common_utils.js\");\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\n/**\n * Polling utility for handling realtime updates.\n * Requirements: Promise based HTTP client\n *\n * Service for promise based http client and method need to be provided as props\n *\n * @example\n * new Poll({\n * resource: resource,\n * method: 'name',\n * data: {page: 1, scope: 'all'}, // optional\n * successCallback: () => {},\n * errorCallback: () => {},\n * notificationCallback: () => {}, // optional\n * }).makeRequest();\n *\n * Usage in pipelines table with visibility lib:\n *\n * const poll = new Poll({\n * resource: this.service,\n * method: 'getPipelines',\n * data: { page: pageNumber, scope },\n * successCallback: this.successCallback,\n * errorCallback: this.errorCallback,\n * notificationCallback: this.updateLoading,\n * });\n *\n * if (!Visibility.hidden()) {\n * poll.makeRequest();\n * }\n *\n * Visibility.change(() => {\n * if (!Visibility.hidden()) {\n * poll.restart();\n * } else {\n * poll.stop();\n * }\n* });\n *\n * 1. Checks for response and headers before start polling\n * 2. Interval is provided by `Poll-Interval` header.\n * 3. If `Poll-Interval` is -1, we stop polling\n * 4. If HTTP response is 200, we poll.\n * 5. If HTTP response is different from 200, we stop polling.\n *\n */\n\nvar Poll = function () {\n function Poll() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Poll);\n\n this.options = options;\n this.options.data = options.data || {};\n this.options.notificationCallback = options.notificationCallback || function notificationCallback() {};\n\n this.intervalHeader = 'POLL-INTERVAL';\n this.timeoutID = null;\n this.canPoll = true;\n }\n\n _createClass(Poll, [{\n key: 'checkConditions',\n value: function checkConditions(response) {\n var _this = this;\n\n var headers = Object(__WEBPACK_IMPORTED_MODULE_1__common_utils__[\"v\" /* normalizeHeaders */])(response.headers);\n var pollInterval = parseInt(headers[this.intervalHeader], 10);\n if (pollInterval > 0 && response.status === __WEBPACK_IMPORTED_MODULE_0__http_status__[\"a\" /* default */].OK && this.canPoll) {\n this.timeoutID = setTimeout(function () {\n _this.makeRequest();\n }, pollInterval);\n }\n this.options.successCallback(response);\n }\n }, {\n key: 'makeRequest',\n value: function makeRequest() {\n var _this2 = this;\n\n var _options = this.options,\n resource = _options.resource,\n method = _options.method,\n data = _options.data,\n errorCallback = _options.errorCallback,\n notificationCallback = _options.notificationCallback;\n\n // It's called everytime a new request is made. Useful to update the status.\n\n notificationCallback(true);\n\n return resource[method](data).then(function (response) {\n _this2.checkConditions(response);\n notificationCallback(false);\n }).catch(function (error) {\n notificationCallback(false);\n if (error.status === __WEBPACK_IMPORTED_MODULE_0__http_status__[\"a\" /* default */].ABORTED) {\n return;\n }\n errorCallback(error);\n });\n }\n\n /**\n * Stops the polling recursive chain\n * and guarantees if the timeout is already running it won't make another request by\n * cancelling the previously established timeout.\n */\n\n }, {\n key: 'stop',\n value: function stop() {\n this.canPoll = false;\n clearTimeout(this.timeoutID);\n }\n\n /**\n * Restarts polling after it has been stoped\n */\n\n }, {\n key: 'restart',\n value: function restart(options) {\n // update data\n if (options && options.data) {\n this.options.data = options.data;\n }\n\n this.canPoll = true;\n this.makeRequest();\n }\n }]);\n\n return Poll;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Poll);\n\n/***/ }),\n\n/***/ \"./pipelines/components/stage.vue\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/stage.vue\nvar stage = __webpack_require__(\"../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/stage.vue\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-385035ad\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/stage.vue\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown\"},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"mini-pipeline-graph-dropdown-toggle js-builds-dropdown-button\",class:_vm.triggerButtonClass,attrs:{\"title\":_vm.stage.title,\"data-placement\":\"top\",\"data-toggle\":\"dropdown\",\"type\":\"button\",\"id\":\"stageDropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"},on:{\"click\":_vm.onClickStage}},[_c('span',{attrs:{\"aria-hidden\":\"true\",\"aria-label\":_vm.stage.title}},[_c('icon',{attrs:{\"name\":_vm.borderlessIcon}})],1),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-caret-down\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu mini-pipeline-graph-dropdown-menu js-builds-dropdown-container\",attrs:{\"aria-labelledby\":\"stageDropdown\"}},[_c('li',{staticClass:\"js-builds-dropdown-list scrollable-menu\",class:_vm.dropdownClass},[(_vm.isLoading)?_c('loading-icon'):_c('ul',{domProps:{\"innerHTML\":_vm._s(_vm.dropdownContent)}})],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_stage = (esExports);\n// CONCATENATED MODULE: ./pipelines/components/stage.vue\nvar normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n stage[\"a\" /* default */],\n components_stage,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_stage = __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n\n/***/ \"./pipelines/event_hub.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(\"../../../node_modules/vue/dist/vue.esm.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]());\n\n/***/ }),\n\n/***/ \"./pipelines/mixins/pipelines.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/index.js\nvar visibilityjs = __webpack_require__(\"../../../node_modules/visibilityjs/index.js\");\nvar visibilityjs_default = /*#__PURE__*/__webpack_require__.n(visibilityjs);\n\n// EXTERNAL MODULE: ./flash.js\nvar flash = __webpack_require__(\"./flash.js\");\n\n// EXTERNAL MODULE: ./lib/utils/poll.js\nvar poll = __webpack_require__(\"./lib/utils/poll.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/empty_state.vue\n\n/* harmony default export */ var empty_state = ({\n props: {\n helpPagePath: {\n type: String,\n required: true\n },\n emptyStateSvgPath: {\n type: String,\n required: true\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-49327b75\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/empty_state.vue\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row empty-state js-empty-state\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('div',{staticClass:\"svg-content\"},[_c('img',{attrs:{\"src\":_vm.emptyStateSvgPath}})])]),_vm._v(\" \"),_c('div',{staticClass:\"col-xs-12 text-center\"},[_c('div',{staticClass:\"text-content\"},[_c('h4',[_vm._v(\"可信赖的构建\")]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n 持续集成可以通过自动运行测试用例来帮助捕获 Bug,\\n 而持续部署可以帮助您将代码发布到生产环境。\\n \")]),_vm._v(\" \"),_c('a',{staticClass:\"btn btn-info\",attrs:{\"href\":_vm.helpPagePath}},[_vm._v(\"\\n 开始使用流水线\\n \")])])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_empty_state = (esExports);\n// CONCATENATED MODULE: ./pipelines/components/empty_state.vue\nvar normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n empty_state,\n components_empty_state,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_empty_state = (Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/error_state.vue\n\n/* harmony default export */ var error_state = ({\n props: {\n errorStateSvgPath: {\n type: String,\n required: true\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5c81d952\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/error_state.vue\nvar error_state_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row empty-state js-pipelines-error-state\"},[_c('div',{staticClass:\"col-xs-12\"},[_c('div',{staticClass:\"svg-content\"},[_c('img',{attrs:{\"src\":_vm.errorStateSvgPath}})])]),_vm._v(\" \"),_vm._m(0,false,false)])}\nvar error_state_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-xs-12 text-center\"},[_c('div',{staticClass:\"text-content\"},[_c('h4',[_vm._v(\"API 获取流水线失败。\")])])])}]\nvar error_state_esExports = { render: error_state_render, staticRenderFns: error_state_staticRenderFns }\n/* harmony default export */ var components_error_state = (error_state_esExports);\n// CONCATENATED MODULE: ./pipelines/components/error_state.vue\nvar error_state_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar error_state___vue_template_functional__ = false\n/* styles */\nvar error_state___vue_styles__ = null\n/* scopeId */\nvar error_state___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar error_state___vue_module_identifier__ = null\nvar error_state_Component = error_state_normalizeComponent(\n error_state,\n components_error_state,\n error_state___vue_template_functional__,\n error_state___vue_styles__,\n error_state___vue_scopeId__,\n error_state___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_error_state = (error_state_Component.exports);\n\n// EXTERNAL MODULE: ./vue_shared/components/loading_icon.vue + 2 modules\nvar loading_icon = __webpack_require__(\"./vue_shared/components/loading_icon.vue\");\n\n// EXTERNAL MODULE: ./pipelines/event_hub.js\nvar event_hub = __webpack_require__(\"./pipelines/event_hub.js\");\n\n// EXTERNAL MODULE: ./vue_shared/directives/tooltip.js\nvar tooltip = __webpack_require__(\"./vue_shared/directives/tooltip.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/async_button.vue\n\n/* eslint-disable no-new, no-alert */\n\n\n\n\n\n/* harmony default export */ var async_button = ({\n props: {\n endpoint: {\n type: String,\n required: true\n },\n title: {\n type: String,\n required: true\n },\n icon: {\n type: String,\n required: true\n },\n cssClass: {\n type: String,\n required: true\n },\n confirmActionMessage: {\n type: String,\n required: false\n }\n },\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n components: {\n loadingIcon: loading_icon[\"a\" /* default */]\n },\n data: function data() {\n return {\n isLoading: false\n };\n },\n\n computed: {\n iconClass: function iconClass() {\n return 'fa fa-' + this.icon;\n },\n buttonClass: function buttonClass() {\n return 'btn ' + this.cssClass;\n }\n },\n methods: {\n onClick: function onClick() {\n if (this.confirmActionMessage && confirm(this.confirmActionMessage)) {\n this.makeRequest();\n } else if (!this.confirmActionMessage) {\n this.makeRequest();\n }\n },\n makeRequest: function makeRequest() {\n this.isLoading = true;\n\n event_hub[\"a\" /* default */].$emit('postAction', this.endpoint);\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2df0e3b2\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/async_button.vue\nvar async_button_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],class:_vm.buttonClass,attrs:{\"type\":\"button\",\"title\":_vm.title,\"aria-label\":_vm.title,\"data-container\":\"body\",\"data-placement\":\"top\",\"disabled\":_vm.isLoading},on:{\"click\":_vm.onClick}},[_c('i',{class:_vm.iconClass,attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(_vm.isLoading)?_c('loading-icon'):_vm._e()],1)}\nvar async_button_staticRenderFns = []\nvar async_button_esExports = { render: async_button_render, staticRenderFns: async_button_staticRenderFns }\n/* harmony default export */ var components_async_button = (async_button_esExports);\n// CONCATENATED MODULE: ./pipelines/components/async_button.vue\nvar async_button_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar async_button___vue_template_functional__ = false\n/* styles */\nvar async_button___vue_styles__ = null\n/* scopeId */\nvar async_button___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar async_button___vue_module_identifier__ = null\nvar async_button_Component = async_button_normalizeComponent(\n async_button,\n components_async_button,\n async_button___vue_template_functional__,\n async_button___vue_styles__,\n async_button___vue_scopeId__,\n async_button___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_async_button = (async_button_Component.exports);\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_play.svg\nvar _icon_play = __webpack_require__(\"../../views/shared/icons/_icon_play.svg\");\nvar _icon_play_default = /*#__PURE__*/__webpack_require__.n(_icon_play);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipelines_actions.vue\n\n\n\n\n\n\n/* harmony default export */ var pipelines_actions = ({\n props: {\n actions: {\n type: Array,\n required: true\n }\n },\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n components: {\n loadingIcon: loading_icon[\"a\" /* default */]\n },\n data: function data() {\n return {\n playIconSvg: _icon_play_default.a,\n isLoading: false\n };\n },\n\n methods: {\n onClickAction: function onClickAction(endpoint) {\n this.isLoading = true;\n\n event_hub[\"a\" /* default */].$emit('postAction', endpoint);\n },\n isActionDisabled: function isActionDisabled(action) {\n if (action.playable === undefined) {\n return false;\n }\n\n return !action.playable;\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-deb11c8a\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipelines_actions.vue\nvar pipelines_actions_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-group\"},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"dropdown-new btn btn-default js-pipeline-dropdown-manual-actions\",attrs:{\"type\":\"button\",\"title\":\"Manual job\",\"data-toggle\":\"dropdown\",\"data-placement\":\"top\",\"aria-label\":\"Manual job\",\"disabled\":_vm.isLoading}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.playIconSvg)}}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-caret-down\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(_vm.isLoading)?_c('loading-icon'):_vm._e()],1),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-align-right\"},_vm._l((_vm.actions),function(action){return _c('li',[_c('button',{staticClass:\"js-pipeline-action-link no-btn btn\",class:{ disabled: _vm.isActionDisabled(action) },attrs:{\"type\":\"button\",\"disabled\":_vm.isActionDisabled(action)},on:{\"click\":function($event){_vm.onClickAction(action.path)}}},[_vm._v(\"\\n \"+_vm._s(action.name)+\"\\n \")])])}))])}\nvar pipelines_actions_staticRenderFns = []\nvar pipelines_actions_esExports = { render: pipelines_actions_render, staticRenderFns: pipelines_actions_staticRenderFns }\n/* harmony default export */ var components_pipelines_actions = (pipelines_actions_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipelines_actions.vue\nvar pipelines_actions_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipelines_actions___vue_template_functional__ = false\n/* styles */\nvar pipelines_actions___vue_styles__ = null\n/* scopeId */\nvar pipelines_actions___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipelines_actions___vue_module_identifier__ = null\nvar pipelines_actions_Component = pipelines_actions_normalizeComponent(\n pipelines_actions,\n components_pipelines_actions,\n pipelines_actions___vue_template_functional__,\n pipelines_actions___vue_styles__,\n pipelines_actions___vue_scopeId__,\n pipelines_actions___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipelines_actions = (pipelines_actions_Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipelines_artifacts.vue\n\n\n\n/* harmony default export */ var pipelines_artifacts = ({\n props: {\n artifacts: {\n type: Array,\n required: true\n }\n },\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b24c81b\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipelines_artifacts.vue\nvar pipelines_artifacts_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-group\",attrs:{\"role\":\"group\"}},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"dropdown-toggle btn btn-default build-artifacts js-pipeline-dropdown-download\",attrs:{\"title\":\"Artifacts\",\"data-placement\":\"top\",\"data-toggle\":\"dropdown\",\"aria-label\":\"Artifacts\"}},[_c('i',{staticClass:\"fa fa-download\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('i',{staticClass:\"fa fa-caret-down\",attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu dropdown-menu-align-right\"},_vm._l((_vm.artifacts),function(artifact){return _c('li',[_c('a',{attrs:{\"rel\":\"nofollow\",\"download\":\"\",\"href\":artifact.path}},[_vm._v(\"\\n Download \"+_vm._s(artifact.name)+\" artifacts\\n \")])])}))])}\nvar pipelines_artifacts_staticRenderFns = []\nvar pipelines_artifacts_esExports = { render: pipelines_artifacts_render, staticRenderFns: pipelines_artifacts_staticRenderFns }\n/* harmony default export */ var components_pipelines_artifacts = (pipelines_artifacts_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipelines_artifacts.vue\nvar pipelines_artifacts_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipelines_artifacts___vue_template_functional__ = false\n/* styles */\nvar pipelines_artifacts___vue_styles__ = null\n/* scopeId */\nvar pipelines_artifacts___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipelines_artifacts___vue_module_identifier__ = null\nvar pipelines_artifacts_Component = pipelines_artifacts_normalizeComponent(\n pipelines_artifacts,\n components_pipelines_artifacts,\n pipelines_artifacts___vue_template_functional__,\n pipelines_artifacts___vue_styles__,\n pipelines_artifacts___vue_scopeId__,\n pipelines_artifacts___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipelines_artifacts = (pipelines_artifacts_Component.exports);\n\n// EXTERNAL MODULE: ./vue_shared/components/ci_badge_link.vue + 2 modules\nvar ci_badge_link = __webpack_require__(\"./vue_shared/components/ci_badge_link.vue\");\n\n// EXTERNAL MODULE: ./pipelines/components/stage.vue + 1 modules\nvar stage = __webpack_require__(\"./pipelines/components/stage.vue\");\n\n// EXTERNAL MODULE: ./vue_shared/components/user_avatar/user_avatar_link.vue + 2 modules\nvar user_avatar_link = __webpack_require__(\"./vue_shared/components/user_avatar/user_avatar_link.vue\");\n\n// EXTERNAL MODULE: ./vue_shared/directives/popover.js\nvar popover = __webpack_require__(\"./vue_shared/directives/popover.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipeline_url.vue\n\n\n\n\n\n/* harmony default export */ var pipeline_url = ({\n props: {\n pipeline: {\n type: Object,\n required: true\n },\n autoDevopsHelpPath: {\n type: String,\n required: true\n }\n },\n components: {\n userAvatarLink: user_avatar_link[\"a\" /* default */]\n },\n directives: {\n tooltip: tooltip[\"a\" /* default */],\n popover: popover[\"a\" /* default */]\n },\n computed: {\n user: function user() {\n return this.pipeline.user;\n },\n popoverOptions: function popoverOptions() {\n return {\n html: true,\n trigger: 'focus',\n placement: 'top',\n title: '
This pipeline makes use of a predefined CI/CD configuration enabled by Auto DevOps.
',\n content: 'Learn more about Auto DevOps'\n };\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-67a143b1\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipeline_url.vue\nvar pipeline_url_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-section section-15 hidden-xs hidden-sm pipeline-tags\"},[_c('a',{staticClass:\"js-pipeline-url-link\",attrs:{\"href\":_vm.pipeline.path}},[_c('span',{staticClass:\"pipeline-id\"},[_vm._v(\"#\"+_vm._s(_vm.pipeline.id))])]),_vm._v(\" \"),_c('span',[_vm._v(\"by\")]),_vm._v(\" \"),(_vm.user)?_c('user-avatar-link',{staticClass:\"js-pipeline-url-user\",attrs:{\"link-href\":_vm.pipeline.user.path,\"img-src\":_vm.pipeline.user.avatar_url,\"tooltip-text\":_vm.pipeline.user.name}}):_vm._e(),_vm._v(\" \"),(!_vm.user)?_c('span',{staticClass:\"js-pipeline-url-api api\"},[_vm._v(\"\\n API\\n \")]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"label-container\"},[(_vm.pipeline.flags.latest)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"js-pipeline-url-latest label label-success\",attrs:{\"title\":\"Latest pipeline for this branch\"}},[_vm._v(\"\\n latest\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.yaml_errors)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"js-pipeline-url-yaml label label-danger\",attrs:{\"title\":_vm.pipeline.yaml_errors}},[_vm._v(\"\\n yaml invalid\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.failure_reason)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"js-pipeline-url-failure label label-danger\",attrs:{\"title\":_vm.pipeline.failure_reason}},[_vm._v(\"\\n error\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.auto_devops)?_c('a',{directives:[{name:\"popover\",rawName:\"v-popover\",value:(_vm.popoverOptions),expression:\"popoverOptions\"}],staticClass:\"js-pipeline-url-autodevops label label-info autodevops-badge\",attrs:{\"tabindex\":\"0\",\"role\":\"button\"}},[_vm._v(\"\\n Auto DevOps\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.stuck)?_c('span',{staticClass:\"js-pipeline-url-stuck label label-warning\"},[_vm._v(\"\\n stuck\\n \")]):_vm._e()])],1)}\nvar pipeline_url_staticRenderFns = []\nvar pipeline_url_esExports = { render: pipeline_url_render, staticRenderFns: pipeline_url_staticRenderFns }\n/* harmony default export */ var components_pipeline_url = (pipeline_url_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipeline_url.vue\nvar pipeline_url_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipeline_url___vue_template_functional__ = false\n/* styles */\nvar pipeline_url___vue_styles__ = null\n/* scopeId */\nvar pipeline_url___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipeline_url___vue_module_identifier__ = null\nvar pipeline_url_Component = pipeline_url_normalizeComponent(\n pipeline_url,\n components_pipeline_url,\n pipeline_url___vue_template_functional__,\n pipeline_url___vue_styles__,\n pipeline_url___vue_scopeId__,\n pipeline_url___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipeline_url = (pipeline_url_Component.exports);\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/app/views/shared/icons/_icon_timer.svg\nvar _icon_timer = __webpack_require__(\"../../views/shared/icons/_icon_timer.svg\");\nvar _icon_timer_default = /*#__PURE__*/__webpack_require__.n(_icon_timer);\n\n// EXTERNAL MODULE: ./lib/utils/datetime_utility.js\nvar datetime_utility = __webpack_require__(\"./lib/utils/datetime_utility.js\");\n\n// EXTERNAL MODULE: ./vue_shared/mixins/timeago.js\nvar timeago = __webpack_require__(\"./vue_shared/mixins/timeago.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/time_ago.vue\n\n\n\n\n\n\n/* harmony default export */ var time_ago = ({\n props: {\n finishedTime: {\n type: String,\n required: true\n },\n duration: {\n type: Number,\n required: true\n }\n },\n mixins: [timeago[\"a\" /* default */]],\n directives: {\n tooltip: tooltip[\"a\" /* default */]\n },\n data: function data() {\n return {\n iconTimerSvg: _icon_timer_default.a\n };\n },\n\n computed: {\n hasDuration: function hasDuration() {\n return this.duration > 0;\n },\n hasFinishedTime: function hasFinishedTime() {\n return this.finishedTime !== '';\n },\n durationFormated: function durationFormated() {\n var date = new Date(this.duration * 1000);\n\n var hh = date.getUTCHours();\n var mm = date.getUTCMinutes();\n var ss = date.getSeconds();\n\n // left pad\n if (hh < 10) {\n hh = '0' + hh;\n }\n if (mm < 10) {\n mm = '0' + mm;\n }\n if (ss < 10) {\n ss = '0' + ss;\n }\n\n return hh + ':' + mm + ':' + ss;\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-70b44bc5\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/time_ago.vue\nvar time_ago_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-section section-15 pipelines-time-ago\"},[_c('div',{staticClass:\"table-mobile-header\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n 持续时间\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-mobile-content\"},[(_vm.hasDuration)?_c('p',{staticClass:\"duration\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.iconTimerSvg)}}),_vm._v(\"\\n \"+_vm._s(_vm.durationFormated)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.hasFinishedTime)?_c('p',{staticClass:\"finished-at hidden-xs hidden-sm\"},[_c('i',{staticClass:\"fa fa-calendar\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('time',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],attrs:{\"data-placement\":\"top\",\"data-container\":\"body\",\"title\":_vm.tooltipTitle(_vm.finishedTime)}},[_vm._v(\"\\n \"+_vm._s(_vm.timeFormated(_vm.finishedTime))+\"\\n \")])]):_vm._e()])])}\nvar time_ago_staticRenderFns = []\nvar time_ago_esExports = { render: time_ago_render, staticRenderFns: time_ago_staticRenderFns }\n/* harmony default export */ var components_time_ago = (time_ago_esExports);\n// CONCATENATED MODULE: ./pipelines/components/time_ago.vue\nvar time_ago_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar time_ago___vue_template_functional__ = false\n/* styles */\nvar time_ago___vue_styles__ = null\n/* scopeId */\nvar time_ago___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar time_ago___vue_module_identifier__ = null\nvar time_ago_Component = time_ago_normalizeComponent(\n time_ago,\n components_time_ago,\n time_ago___vue_template_functional__,\n time_ago___vue_styles__,\n time_ago___vue_scopeId__,\n time_ago___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_time_ago = (time_ago_Component.exports);\n\n// EXTERNAL MODULE: ./vue_shared/components/commit.vue + 2 modules\nvar commit = __webpack_require__(\"./vue_shared/components/commit.vue\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipelines_table_row.vue\n\n/* eslint-disable no-param-reassign */\n\n\n\n\n\n\n\n\n\n/**\n * Pipeline table row.\n *\n * Given the received object renders a table row in the pipelines' table.\n */\n/* harmony default export */ var pipelines_table_row = ({\n props: {\n pipeline: {\n type: Object,\n required: true\n },\n updateGraphDropdown: {\n type: Boolean,\n required: false,\n default: false\n },\n autoDevopsHelpPath: {\n type: String,\n required: true\n },\n viewType: {\n type: String,\n required: true\n }\n },\n components: {\n asyncButtonComponent: pipelines_components_async_button,\n pipelinesActionsComponent: pipelines_components_pipelines_actions,\n pipelinesArtifactsComponent: pipelines_components_pipelines_artifacts,\n commitComponent: commit[\"a\" /* default */],\n pipelineStage: stage[\"a\" /* default */],\n pipelineUrl: pipelines_components_pipeline_url,\n ciBadge: ci_badge_link[\"a\" /* default */],\n pipelinesTimeago: pipelines_components_time_ago\n },\n computed: {\n /**\n * If provided, returns the commit tag.\n * Needed to render the commit component column.\n *\n * This field needs a lot of verification, because of different possible cases:\n *\n * 1. person who is an author of a commit might be a GitLab user\n * 2. if person who is an author of a commit is a GitLab user he/she can have a GitLab avatar\n * 3. If GitLab user does not have avatar he/she might have a Gravatar\n * 4. If committer is not a GitLab User he/she can have a Gravatar\n * 5. We do not have consistent API object in this case\n * 6. We should improve API and the code\n *\n * @returns {Object|Undefined}\n */\n commitAuthor: function commitAuthor() {\n var commitAuthorInformation = void 0;\n\n if (!this.pipeline || !this.pipeline.commit) {\n return null;\n }\n\n // 1. person who is an author of a commit might be a GitLab user\n if (this.pipeline.commit.author) {\n // 2. if person who is an author of a commit is a GitLab user\n // he/she can have a GitLab avatar\n if (this.pipeline.commit.author.avatar_url) {\n commitAuthorInformation = this.pipeline.commit.author;\n\n // 3. If GitLab user does not have avatar he/she might have a Gravatar\n } else if (this.pipeline.commit.author_gravatar_url) {\n commitAuthorInformation = Object.assign({}, this.pipeline.commit.author, {\n avatar_url: this.pipeline.commit.author_gravatar_url\n });\n }\n // 4. If committer is not a GitLab User he/she can have a Gravatar\n } else {\n commitAuthorInformation = {\n avatar_url: this.pipeline.commit.author_gravatar_url,\n path: 'mailto:' + this.pipeline.commit.author_email,\n username: this.pipeline.commit.author_name\n };\n }\n\n return commitAuthorInformation;\n },\n\n\n /**\n * If provided, returns the commit tag.\n * Needed to render the commit component column.\n *\n * @returns {String|Undefined}\n */\n commitTag: function commitTag() {\n if (this.pipeline.ref && this.pipeline.ref.tag) {\n return this.pipeline.ref.tag;\n }\n return undefined;\n },\n\n\n /**\n * If provided, returns the commit ref.\n * Needed to render the commit component column.\n *\n * Matches `path` prop sent in the API to `ref_url` prop needed\n * in the commit component.\n *\n * @returns {Object|Undefined}\n */\n commitRef: function commitRef() {\n var _this = this;\n\n if (this.pipeline.ref) {\n return Object.keys(this.pipeline.ref).reduce(function (accumulator, prop) {\n if (prop === 'path') {\n accumulator.ref_url = _this.pipeline.ref[prop];\n } else {\n accumulator[prop] = _this.pipeline.ref[prop];\n }\n return accumulator;\n }, {});\n }\n\n return undefined;\n },\n\n\n /**\n * If provided, returns the commit url.\n * Needed to render the commit component column.\n *\n * @returns {String|Undefined}\n */\n commitUrl: function commitUrl() {\n if (this.pipeline.commit && this.pipeline.commit.commit_path) {\n return this.pipeline.commit.commit_path;\n }\n return undefined;\n },\n\n\n /**\n * If provided, returns the commit short sha.\n * Needed to render the commit component column.\n *\n * @returns {String|Undefined}\n */\n commitShortSha: function commitShortSha() {\n if (this.pipeline.commit && this.pipeline.commit.short_id) {\n return this.pipeline.commit.short_id;\n }\n return undefined;\n },\n\n\n /**\n * If provided, returns the commit title.\n * Needed to render the commit component column.\n *\n * @returns {String|Undefined}\n */\n commitTitle: function commitTitle() {\n if (this.pipeline.commit && this.pipeline.commit.title) {\n return this.pipeline.commit.title;\n }\n return undefined;\n },\n\n\n /**\n * Timeago components expects a number\n *\n * @return {type} description\n */\n pipelineDuration: function pipelineDuration() {\n if (this.pipeline.details && this.pipeline.details.duration) {\n return this.pipeline.details.duration;\n }\n\n return 0;\n },\n\n\n /**\n * Timeago component expects a String.\n *\n * @return {String}\n */\n pipelineFinishedAt: function pipelineFinishedAt() {\n if (this.pipeline.details && this.pipeline.details.finished_at) {\n return this.pipeline.details.finished_at;\n }\n\n return '';\n },\n pipelineStatus: function pipelineStatus() {\n if (this.pipeline.details && this.pipeline.details.status) {\n return this.pipeline.details.status;\n }\n return {};\n },\n displayPipelineActions: function displayPipelineActions() {\n return this.pipeline.flags.retryable || this.pipeline.flags.cancelable || this.pipeline.details.manual_actions.length || this.pipeline.details.artifacts.length;\n },\n isChildView: function isChildView() {\n return this.viewType === 'child';\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7f549217\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipelines_table_row.vue\nvar pipelines_table_row_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"commit gl-responsive-table-row\"},[_c('div',{staticClass:\"table-section section-10 commit-link\"},[_c('div',{staticClass:\"table-mobile-header\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n Status\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-mobile-content\"},[_c('ci-badge',{attrs:{\"status\":_vm.pipelineStatus,\"show-text\":!_vm.isChildView}})],1)]),_vm._v(\" \"),_c('pipeline-url',{attrs:{\"pipeline\":_vm.pipeline,\"auto-devops-help-path\":_vm.autoDevopsHelpPath}}),_vm._v(\" \"),_c('div',{staticClass:\"table-section section-25\"},[_c('div',{staticClass:\"table-mobile-header\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n Commit\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-mobile-content\"},[_c('commit-component',{attrs:{\"tag\":_vm.commitTag,\"commit-ref\":_vm.commitRef,\"commit-url\":_vm.commitUrl,\"short-sha\":_vm.commitShortSha,\"title\":_vm.commitTitle,\"author\":_vm.commitAuthor,\"show-branch\":!_vm.isChildView}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"table-section section-wrap section-15 stage-cell\"},[_c('div',{staticClass:\"table-mobile-header\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n Stages\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-mobile-content\"},_vm._l((_vm.pipeline.details.stages),function(stage){return (_vm.pipeline.details.stages.length > 0)?_c('div',{staticClass:\"stage-container dropdown js-mini-pipeline-graph\"},[_c('pipeline-stage',{attrs:{\"stage\":stage,\"update-dropdown\":_vm.updateGraphDropdown}})],1):_vm._e()}))]),_vm._v(\" \"),_c('pipelines-timeago',{attrs:{\"duration\":_vm.pipelineDuration,\"finished-time\":_vm.pipelineFinishedAt}}),_vm._v(\" \"),(_vm.displayPipelineActions)?_c('div',{staticClass:\"table-section section-20 table-button-footer pipeline-actions\"},[_c('div',{staticClass:\"btn-group table-action-buttons\"},[(_vm.pipeline.details.manual_actions.length)?_c('pipelines-actions-component',{attrs:{\"actions\":_vm.pipeline.details.manual_actions}}):_vm._e(),_vm._v(\" \"),(_vm.pipeline.details.artifacts.length)?_c('pipelines-artifacts-component',{staticClass:\"hidden-xs hidden-sm\",attrs:{\"artifacts\":_vm.pipeline.details.artifacts}}):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.retryable)?_c('async-button-component',{attrs:{\"endpoint\":_vm.pipeline.retry_path,\"css-class\":\"js-pipelines-retry-button btn-default btn-retry\",\"title\":\"Retry\",\"icon\":\"repeat\"}}):_vm._e(),_vm._v(\" \"),(_vm.pipeline.flags.cancelable)?_c('async-button-component',{attrs:{\"endpoint\":_vm.pipeline.cancel_path,\"css-class\":\"js-pipelines-cancel-button btn-remove\",\"title\":\"Cancel\",\"icon\":\"remove\",\"confirm-action-message\":\"您确定要取消这个流水线?\"}}):_vm._e()],1)]):_vm._e()],1)}\nvar pipelines_table_row_staticRenderFns = []\nvar pipelines_table_row_esExports = { render: pipelines_table_row_render, staticRenderFns: pipelines_table_row_staticRenderFns }\n/* harmony default export */ var components_pipelines_table_row = (pipelines_table_row_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipelines_table_row.vue\nvar pipelines_table_row_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipelines_table_row___vue_template_functional__ = false\n/* styles */\nvar pipelines_table_row___vue_styles__ = null\n/* scopeId */\nvar pipelines_table_row___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipelines_table_row___vue_module_identifier__ = null\nvar pipelines_table_row_Component = pipelines_table_row_normalizeComponent(\n pipelines_table_row,\n components_pipelines_table_row,\n pipelines_table_row___vue_template_functional__,\n pipelines_table_row___vue_styles__,\n pipelines_table_row___vue_scopeId__,\n pipelines_table_row___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipelines_table_row = (pipelines_table_row_Component.exports);\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipelines_table.vue\n\n\n\n/**\n * Pipelines Table Component.\n *\n * Given an array of objects, renders a table.\n */\n/* harmony default export */ var pipelines_table = ({\n props: {\n pipelines: {\n type: Array,\n required: true\n },\n updateGraphDropdown: {\n type: Boolean,\n required: false,\n default: false\n },\n autoDevopsHelpPath: {\n type: String,\n required: true\n },\n viewType: {\n type: String,\n required: true\n }\n },\n components: {\n pipelinesTableRowComponent: pipelines_components_pipelines_table_row\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-755085b4\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipelines_table.vue\nvar pipelines_table_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ci-table\"},[_vm._m(0,false,false),_vm._v(\" \"),_vm._l((_vm.pipelines),function(model){return _c('pipelines-table-row-component',{key:model.id,attrs:{\"pipeline\":model,\"update-graph-dropdown\":_vm.updateGraphDropdown,\"auto-devops-help-path\":_vm.autoDevopsHelpPath,\"view-type\":_vm.viewType}})})],2)}\nvar pipelines_table_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-responsive-table-row table-row-header\",attrs:{\"role\":\"row\"}},[_c('div',{staticClass:\"table-section section-10 js-pipeline-status pipeline-status\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n 状态\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-section section-15 js-pipeline-info pipeline-info\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n 流水线\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-section section-25 js-pipeline-commit pipeline-commit\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n 提交\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"table-section section-15 js-pipeline-stages pipeline-stages\",attrs:{\"role\":\"rowheader\"}},[_vm._v(\"\\n 步骤\\n \")])])}]\nvar pipelines_table_esExports = { render: pipelines_table_render, staticRenderFns: pipelines_table_staticRenderFns }\n/* harmony default export */ var components_pipelines_table = (pipelines_table_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipelines_table.vue\nvar pipelines_table_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipelines_table___vue_template_functional__ = false\n/* styles */\nvar pipelines_table___vue_styles__ = null\n/* scopeId */\nvar pipelines_table___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipelines_table___vue_module_identifier__ = null\nvar pipelines_table_Component = pipelines_table_normalizeComponent(\n pipelines_table,\n components_pipelines_table,\n pipelines_table___vue_template_functional__,\n pipelines_table___vue_styles__,\n pipelines_table___vue_scopeId__,\n pipelines_table___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipelines_table = (pipelines_table_Component.exports);\n\n// CONCATENATED MODULE: ./pipelines/mixins/pipelines.js\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var pipelines = __webpack_exports__[\"a\"] = ({\n components: {\n pipelinesTableComponent: pipelines_components_pipelines_table,\n errorState: pipelines_components_error_state,\n emptyState: pipelines_components_empty_state,\n loadingIcon: loading_icon[\"a\" /* default */]\n },\n computed: {\n shouldRenderErrorState: function shouldRenderErrorState() {\n return this.hasError && !this.isLoading;\n }\n },\n data: function data() {\n return {\n isLoading: false,\n hasError: false,\n isMakingRequest: false,\n updateGraphDropdown: false,\n hasMadeRequest: false\n };\n },\n beforeMount: function beforeMount() {\n var _this = this;\n\n this.poll = new poll[\"a\" /* default */]({\n resource: this.service,\n method: 'getPipelines',\n data: this.requestData ? this.requestData : undefined,\n successCallback: this.successCallback,\n errorCallback: this.errorCallback,\n notificationCallback: this.setIsMakingRequest\n });\n\n if (!visibilityjs_default.a.hidden()) {\n this.isLoading = true;\n this.poll.makeRequest();\n } else {\n // If tab is not visible we need to make the first request so we don't show the empty\n // state without knowing if there are any pipelines\n this.fetchPipelines();\n }\n\n visibilityjs_default.a.change(function () {\n if (!visibilityjs_default.a.hidden()) {\n _this.poll.restart();\n } else {\n _this.poll.stop();\n }\n });\n\n event_hub[\"a\" /* default */].$on('refreshPipelines', this.fetchPipelines);\n event_hub[\"a\" /* default */].$on('postAction', this.postAction);\n },\n beforeDestroy: function beforeDestroy() {\n event_hub[\"a\" /* default */].$off('refreshPipelines');\n event_hub[\"a\" /* default */].$on('postAction', this.postAction);\n },\n destroyed: function destroyed() {\n this.poll.stop();\n },\n\n methods: {\n fetchPipelines: function fetchPipelines() {\n var _this2 = this;\n\n if (!this.isMakingRequest) {\n this.isLoading = true;\n\n this.service.getPipelines(this.requestData).then(function (response) {\n return _this2.successCallback(response);\n }).catch(function () {\n return _this2.errorCallback();\n });\n }\n },\n setCommonData: function setCommonData(pipelines) {\n this.store.storePipelines(pipelines);\n this.isLoading = false;\n this.updateGraphDropdown = true;\n this.hasMadeRequest = true;\n },\n errorCallback: function errorCallback() {\n this.hasError = true;\n this.isLoading = false;\n this.updateGraphDropdown = false;\n },\n setIsMakingRequest: function setIsMakingRequest(isMakingRequest) {\n this.isMakingRequest = isMakingRequest;\n\n if (isMakingRequest) {\n this.updateGraphDropdown = false;\n }\n },\n postAction: function postAction(endpoint) {\n this.service.postAction(endpoint).then(function () {\n return event_hub[\"a\" /* default */].$emit('refreshPipelines');\n }).catch(function () {\n return new flash[\"a\" /* default */]('An error occurred while making the request.');\n });\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./pipelines/pipelines_bundle.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue/dist/vue.esm.js\nvar vue_esm = __webpack_require__(\"../../../node_modules/vue/dist/vue.esm.js\");\n\n// EXTERNAL MODULE: ./pipelines/stores/pipelines_store.js\nvar pipelines_store = __webpack_require__(\"./pipelines/stores/pipelines_store.js\");\n\n// EXTERNAL MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/underscore/underscore.js\nvar underscore = __webpack_require__(\"../../../node_modules/underscore/underscore.js\");\nvar underscore_default = /*#__PURE__*/__webpack_require__.n(underscore);\n\n// EXTERNAL MODULE: ./pipelines/services/pipelines_service.js\nvar pipelines_service = __webpack_require__(\"./pipelines/services/pipelines_service.js\");\n\n// EXTERNAL MODULE: ./pipelines/mixins/pipelines.js + 27 modules\nvar pipelines = __webpack_require__(\"./pipelines/mixins/pipelines.js\");\n\n// EXTERNAL MODULE: ./vue_shared/components/table_pagination.vue + 2 modules\nvar table_pagination = __webpack_require__(\"./vue_shared/components/table_pagination.vue\");\n\n// EXTERNAL MODULE: ./vue_shared/components/navigation_tabs.vue + 1 modules\nvar navigation_tabs = __webpack_require__(\"./vue_shared/components/navigation_tabs.vue\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/nav_controls.vue\n\n/* harmony default export */ var nav_controls = ({\n name: 'PipelineNavControls',\n props: {\n newPipelinePath: {\n type: String,\n required: true\n },\n\n hasCiEnabled: {\n type: Boolean,\n required: true\n },\n\n helpPagePath: {\n type: String,\n required: true\n },\n\n ciLintPath: {\n type: String,\n required: true\n },\n\n canCreatePipeline: {\n type: Boolean,\n required: true\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e9142038\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/nav_controls.vue\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav-controls\"},[(_vm.canCreatePipeline)?_c('a',{staticClass:\"btn btn-create\",attrs:{\"href\":_vm.newPipelinePath}},[_vm._v(\"\\n 运行流水线\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.hasCiEnabled)?_c('a',{staticClass:\"btn btn-info\",attrs:{\"href\":_vm.helpPagePath}},[_vm._v(\"\\n 开始使用流水线\\n \")]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"btn btn-default\",attrs:{\"href\":_vm.ciLintPath}},[_vm._v(\"\\n CI Lint\\n \")])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\n/* harmony default export */ var components_nav_controls = (esExports);\n// CONCATENATED MODULE: ./pipelines/components/nav_controls.vue\nvar normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n nav_controls,\n components_nav_controls,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_nav_controls = (Component.exports);\n\n// EXTERNAL MODULE: ./lib/utils/common_utils.js\nvar common_utils = __webpack_require__(\"./lib/utils/common_utils.js\");\n\n// EXTERNAL MODULE: ./vue_shared/mixins/ci_pagination_api_mixin.js\nvar ci_pagination_api_mixin = __webpack_require__(\"./vue_shared/mixins/ci_pagination_api_mixin.js\");\n\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/babel-loader/lib!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=script&index=0!./pipelines/components/pipelines.vue\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var components_pipelines = ({\n props: {\n store: {\n type: Object,\n required: true\n },\n // Can be rendered in 3 different places, with some visual differences\n // Accepts root | child\n // `root` -> main view\n // `child` -> rendered inside MR or Commit View\n viewType: {\n type: String,\n required: false,\n default: 'root'\n }\n },\n components: {\n tablePagination: table_pagination[\"a\" /* default */],\n navigationTabs: navigation_tabs[\"a\" /* default */],\n navigationControls: pipelines_components_nav_controls\n },\n mixins: [pipelines[\"a\" /* default */], ci_pagination_api_mixin[\"a\" /* default */]],\n data: function data() {\n var pipelinesData = document.querySelector('#pipelines-list-vue').dataset;\n\n return {\n endpoint: pipelinesData.endpoint,\n helpPagePath: pipelinesData.helpPagePath,\n emptyStateSvgPath: pipelinesData.emptyStateSvgPath,\n errorStateSvgPath: pipelinesData.errorStateSvgPath,\n autoDevopsPath: pipelinesData.helpAutoDevopsPath,\n newPipelinePath: pipelinesData.newPipelinePath,\n canCreatePipeline: pipelinesData.canCreatePipeline,\n hasCi: pipelinesData.hasCi,\n ciLintPath: pipelinesData.ciLintPath,\n state: this.store.state,\n scope: Object(common_utils[\"h\" /* getParameterByName */])('scope') || 'all',\n page: Object(common_utils[\"h\" /* getParameterByName */])('page') || '1',\n requestData: {}\n };\n },\n\n computed: {\n canCreatePipelineParsed: function canCreatePipelineParsed() {\n return Object(common_utils[\"e\" /* convertPermissionToBoolean */])(this.canCreatePipeline);\n },\n\n\n /**\n * The empty state should only be rendered when the request is made to fetch all pipelines\n * and none is returned.\n *\n * @return {Boolean}\n */\n shouldRenderEmptyState: function shouldRenderEmptyState() {\n return !this.isLoading && !this.hasError && this.hasMadeRequest && !this.state.pipelines.length && (this.scope === 'all' || this.scope === null);\n },\n\n /**\n * When a specific scope does not have pipelines we render a message.\n *\n * @return {Boolean}\n */\n shouldRenderNoPipelinesMessage: function shouldRenderNoPipelinesMessage() {\n return !this.isLoading && !this.hasError && !this.state.pipelines.length && this.scope !== 'all' && this.scope !== null;\n },\n shouldRenderTable: function shouldRenderTable() {\n return !this.hasError && !this.isLoading && this.state.pipelines.length;\n },\n\n /**\n * Pagination should only be rendered when there is more than one page.\n *\n * @return {Boolean}\n */\n shouldRenderPagination: function shouldRenderPagination() {\n return !this.isLoading && this.state.pipelines.length && this.state.pageInfo.total > this.state.pageInfo.perPage;\n },\n hasCiEnabled: function hasCiEnabled() {\n return this.hasCi !== undefined;\n },\n tabs: function tabs() {\n var count = this.state.count;\n\n return [{\n name: 'All',\n scope: 'all',\n count: count.all,\n isActive: this.scope === 'all'\n }, {\n name: 'Pending',\n scope: 'pending',\n count: count.pending,\n isActive: this.scope === 'pending'\n }, {\n name: 'Running',\n scope: 'running',\n count: count.running,\n isActive: this.scope === 'running'\n }, {\n name: 'Finished',\n scope: 'finished',\n count: count.finished,\n isActive: this.scope === 'finished'\n }, {\n name: 'Branches',\n scope: 'branches',\n isActive: this.scope === 'branches'\n }, {\n name: 'Tags',\n scope: 'tags',\n isActive: this.scope === 'tags'\n }];\n }\n },\n created: function created() {\n this.service = new pipelines_service[\"a\" /* default */](this.endpoint);\n this.requestData = { page: this.page, scope: this.scope };\n },\n\n methods: {\n successCallback: function successCallback(resp) {\n var _this = this;\n\n return resp.json().then(function (response) {\n // Because we are polling & the user is interacting verify if the response received\n // matches the last request made\n if (underscore_default.a.isEqual(Object(common_utils[\"x\" /* parseQueryStringIntoObject */])(resp.url.split('?')[1]), _this.requestData)) {\n _this.store.storeCount(response.count);\n _this.store.storePagination(resp.headers);\n _this.setCommonData(response.pipelines);\n }\n });\n },\n\n /**\n * Handles URL and query parameter changes.\n * When the user uses the pagination or the tabs,\n * - update URL\n * - Make API request to the server with new parameters\n * - Update the polling function\n * - Update the internal state\n */\n updateContent: function updateContent(parameters) {\n var _this2 = this;\n\n this.updateInternalState(parameters);\n\n // fetch new data\n return this.service.getPipelines(this.requestData).then(function (response) {\n _this2.isLoading = false;\n _this2.successCallback(response);\n\n // restart polling\n _this2.poll.restart({ data: _this2.requestData });\n }).catch(function () {\n _this2.isLoading = false;\n _this2.errorCallback();\n\n // restart polling\n _this2.poll.restart();\n });\n }\n }\n});\n// CONCATENATED MODULE: /opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-ee97f072\",\"hasScoped\":false,\"buble\":{\"transforms\":{}}}!/opt/gitlab/embedded/service/gitlab-rails/node_modules/vue-loader/lib/selector.js?type=template&index=0!./pipelines/components/pipelines.vue\nvar pipelines_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pipelines-container\"},[(!_vm.shouldRenderEmptyState)?_c('div',{staticClass:\"top-area scrolling-tabs-container inner-page-scroll-tabs\"},[_vm._m(0,false,false),_vm._v(\" \"),_vm._m(1,false,false),_vm._v(\" \"),_c('navigation-tabs',{attrs:{\"tabs\":_vm.tabs,\"scope\":\"pipelines\"},on:{\"onChangeTab\":_vm.onChangeTab}}),_vm._v(\" \"),_c('navigation-controls',{attrs:{\"new-pipeline-path\":_vm.newPipelinePath,\"has-ci-enabled\":_vm.hasCiEnabled,\"help-page-path\":_vm.helpPagePath,\"ci-lint-path\":_vm.ciLintPath,\"can-create-pipeline\":_vm.canCreatePipelineParsed}})],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"content-list pipelines\"},[(_vm.isLoading)?_c('loading-icon',{staticClass:\"prepend-top-20\",attrs:{\"label\":\"正在载入流水线\",\"size\":\"3\"}}):_vm._e(),_vm._v(\" \"),(_vm.shouldRenderEmptyState)?_c('empty-state',{attrs:{\"help-page-path\":_vm.helpPagePath,\"empty-state-svg-path\":_vm.emptyStateSvgPath}}):_vm._e(),_vm._v(\" \"),(_vm.shouldRenderErrorState)?_c('error-state',{attrs:{\"error-state-svg-path\":_vm.errorStateSvgPath}}):_vm._e(),_vm._v(\" \"),(_vm.shouldRenderNoPipelinesMessage)?_c('div',{staticClass:\"blank-state-row\"},[_vm._m(2,false,false)]):_vm._e(),_vm._v(\" \"),(_vm.shouldRenderTable)?_c('div',{staticClass:\"table-holder\"},[_c('pipelines-table-component',{attrs:{\"pipelines\":_vm.state.pipelines,\"update-graph-dropdown\":_vm.updateGraphDropdown,\"auto-devops-help-path\":_vm.autoDevopsPath,\"view-type\":_vm.viewType}})],1):_vm._e(),_vm._v(\" \"),(_vm.shouldRenderPagination)?_c('table-pagination',{attrs:{\"change\":_vm.onChangePage,\"page-info\":_vm.state.pageInfo}}):_vm._e()],1)])}\nvar pipelines_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fade-left\"},[_c('i',{staticClass:\"fa fa-angle-left\",attrs:{\"aria-hidden\":\"true\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fade-right\"},[_c('i',{staticClass:\"fa fa-angle-right\",attrs:{\"aria-hidden\":\"true\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"blank-state-center\"},[_c('h2',{staticClass:\"blank-state-title js-blank-state-title\"},[_vm._v(\"没有流水线可显示。\")])])}]\nvar pipelines_esExports = { render: pipelines_render, staticRenderFns: pipelines_staticRenderFns }\n/* harmony default export */ var selectortype_template_index_0_pipelines_components_pipelines = (pipelines_esExports);\n// CONCATENATED MODULE: ./pipelines/components/pipelines.vue\nvar pipelines_normalizeComponent = __webpack_require__(\"../../../node_modules/vue-loader/lib/component-normalizer.js\")\n/* script */\n\n/* template */\n\n/* template functional */\nvar pipelines___vue_template_functional__ = false\n/* styles */\nvar pipelines___vue_styles__ = null\n/* scopeId */\nvar pipelines___vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar pipelines___vue_module_identifier__ = null\nvar pipelines_Component = pipelines_normalizeComponent(\n components_pipelines,\n selectortype_template_index_0_pipelines_components_pipelines,\n pipelines___vue_template_functional__,\n pipelines___vue_styles__,\n pipelines___vue_scopeId__,\n pipelines___vue_module_identifier__\n)\n\n/* harmony default export */ var pipelines_components_pipelines = (pipelines_Component.exports);\n\n// CONCATENATED MODULE: ./pipelines/pipelines_bundle.js\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n return new vue_esm[\"a\" /* default */]({\n el: '#pipelines-list-vue',\n data: function data() {\n var store = new pipelines_store[\"a\" /* default */]();\n\n return {\n store: store\n };\n },\n\n components: {\n pipelinesComponent: pipelines_components_pipelines\n },\n render: function render(createElement) {\n return createElement('pipelines-component', {\n props: {\n store: this.store\n }\n });\n }\n });\n});\n\n/***/ }),\n\n/***/ \"./pipelines/services/pipelines_service.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(\"../../../node_modules/vue/dist/vue.esm.js\");\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_resource__ = __webpack_require__(\"../../../node_modules/vue-resource/dist/vue-resource.es2015.js\");\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable class-methods-use-this */\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_resource__[\"a\" /* default */]);\n\nvar PipelinesService = function () {\n\n /**\n * Commits and merge request endpoints need to be requested with `.json`.\n *\n * The url provided to request the pipelines in the new merge request\n * page already has `.json`.\n *\n * @param {String} root\n */\n function PipelinesService(root) {\n _classCallCheck(this, PipelinesService);\n\n var endpoint = void 0;\n\n if (root.indexOf('.json') === -1) {\n endpoint = root + '.json';\n } else {\n endpoint = root;\n }\n\n this.pipelines = __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].resource(endpoint);\n }\n\n _createClass(PipelinesService, [{\n key: 'getPipelines',\n value: function getPipelines() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var scope = data.scope,\n page = data.page;\n\n return this.pipelines.get({ scope: scope, page: page });\n }\n\n /**\n * Post request for all pipelines actions.\n *\n * @param {String} endpoint\n * @return {Promise}\n */\n\n }, {\n key: 'postAction',\n value: function postAction(endpoint) {\n return __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].http.post(endpoint + '.json');\n }\n }]);\n\n return PipelinesService;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PipelinesService);\n\n/***/ }),\n\n/***/ \"./pipelines/stores/pipelines_store.js\":\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_utils_common_utils__ = __webpack_require__(\"./lib/utils/common_utils.js\");\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\nvar PipelinesStore = function () {\n function PipelinesStore() {\n _classCallCheck(this, PipelinesStore);\n\n this.state = {};\n\n this.state.pipelines = [];\n this.state.count = {};\n this.state.pageInfo = {};\n }\n\n _createClass(PipelinesStore, [{\n key: 'storePipelines',\n value: function storePipelines() {\n var pipelines = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.pipelines = pipelines;\n }\n }, {\n key: 'storeCount',\n value: function storeCount() {\n var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state.count = count;\n }\n }, {\n key: 'storePagination',\n value: function storePagination() {\n var pagination = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var paginationInfo = void 0;\n\n if (Object.keys(pagination).length) {\n var normalizedHeaders = Object(__WEBPACK_IMPORTED_MODULE_0__lib_utils_common_utils__[\"v\" /* normalizeHeaders */])(pagination);\n paginationInfo = Object(__WEBPACK_IMPORTED_MODULE_0__lib_utils_common_utils__[\"w\" /* parseIntPagination */])(normalizedHeaders);\n } else {\n paginationInfo = pagination;\n }\n\n this.state.pageInfo = paginationInfo;\n }\n }]);\n\n return PipelinesStore;\n}();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PipelinesStore);\n\n/***/ })\n\n},[\"./pipelines/pipelines_bundle.js\"]);\n\n\n// WEBPACK FOOTER //\n// pipelines.46b6cb81b2cc27d3e95c.bundle.js","\n\n