{"version":3,"sources":["webpack:///./vue_shared/components/ci_icon.vue?411a","webpack:///vue_shared/components/ci_icon.vue","webpack:///./vue_shared/components/ci_icon.vue?9b87","webpack:///./vue_shared/components/ci_icon.vue","webpack:///./lib/utils/poll.js","webpack:///./vue_shared/mixins/timeago.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:///./vue_shared/directives/tooltip.js","webpack:///./vue_shared/components/ci_badge_link.vue?06c8","webpack:///./vue_shared/components/ci_badge_link.vue?339e","webpack:///vue_shared/components/ci_badge_link.vue","webpack:///./vue_shared/components/ci_badge_link.vue","webpack:///./shortcuts_navigation.js","webpack:///./vue_shared/components/icon.vue?c951","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?25af","webpack:///./vue_shared/components/icon.vue","webpack:///./project_select_combo_button.js","webpack:///./project_select.js","webpack:///./pages/projects/project.js","webpack:///./pages/projects/index.js","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/index.js","webpack:///./lib/utils/http_status.js","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?5c14","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue?c209","webpack:///vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///./vue_shared/components/user_avatar/user_avatar_image.vue","webpack:///../images/no_avatar.png"],"names":["validSizes","components_ci_iconvue_type_script_lang_js","components","Icon","props","status","type","Object","required","size","Number","default","validator","value","includes","borderless","Boolean","computed","cssClass","this","group","icon","component","componentNormalizer","_h","$createElement","_c","_self","class","attrs","name","__webpack_exports__","Poll","options","arguments","length","undefined","_classCallCheck","data","notificationCallback","intervalHeader","timeoutID","canPoll","response","_this","headers","_common_utils__WEBPACK_IMPORTED_MODULE_1__","pollInterval","parseInt","_http_status__WEBPACK_IMPORTED_MODULE_0__","OK","setTimeout","makeRequest","successCallback","_this2","_options","resource","method","errorCallback","then","checkConditions","catch","error","ABORTED","clearTimeout","methods","timeFormated","time","_lib_utils_datetime_utility__WEBPACK_IMPORTED_MODULE_0__","format","tooltipTitle","global","lastId","self","onVisible","callback","support","isSupported","hidden","listener","change","e","state","unbind","number","_callbacks","_listen","id","afterPrerendering","_doc","webkitHidden","visibilityState","webkitVisibilityState","document","_change","event","i","call","_init","apply","addEventListener","attachEvent","module","exports","Visibility","window","lastTimer","install","every","interval","hiddenInterval","_time","_timers","visible","_run","stop","_stop","_timed","_wasHidden","_stopRun","runNow","timer","runner","last","Date","delay","setInterval","clearInterval","isHidden","wasHidden","__webpack_require__","bind","el","jquery__WEBPACK_IMPORTED_MODULE_0___default","tooltip","trigger","componentUpdated","components_ci_badge_linkvue_type_script_lang_js","CiIcon","ci_icon","directives","showText","className","_vm","rawName","href","details_path","title","text","_v","_s","_e","ShortcutsNavigation","_possibleConstructorReturn","__proto__","getPrototypeOf","mousetrap__WEBPACK_IMPORTED_MODULE_0___default","a","_shortcuts_dashboard_navigation__WEBPACK_IMPORTED_MODULE_1__","enabledHelp","push","_shortcuts__WEBPACK_IMPORTED_MODULE_2__","components_iconvue_type_script_lang_js","String","cssClasses","width","height","y","x","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","_b","xlink:href","ProjectSelectComboButton","select","projectSelectInput","jquery_default","newItemBtn","resourceType","resourceLabel","formattedText","deriveTextVariants","groupId","bindEvents","initLocalStorage","siblings","on","openDropdown","getProjectFromLocalStorage","preventDefault","selectProject","accessor","isLocalStorageAccessSafe","localStorageKey","localStorageItemType","join","setBtnTextFromLocalStorage","currentTarget","select2","selectedProjectData","JSON","parse","val","projectMeta","url","setNewItemBtnAttributes","setProjectInLocalStorage","cachedProjectData","project","attr","defaultTextPrefix","presetTextSuffix","projectString","localStorage","getItem","stringify","setItem","split","slice","projectSelect","each","placeholder","simpleFilter","includeGroups","allProjects","orderBy","withIssuesEnabled","withMergeRequestsEnabled","minimumInputLength","query","finalCallback","projectsCallback","projects","results","groupsCallback","groups","concat","api","term","groupProjects","order_by","with_issues_enabled","with_merge_requests_enabled","membership","web_url","name_with_namespace","dropdownCssClass","project_select_combo_button","d","Project","$cloneOptions","$projectCloneField","$cloneBtnText","selectedCloneOption","trim","$","addClass","$this","activeText","find","not","removeClass","toggleClass","initRefSwitcher","parents","submit","js_cookie__WEBPACK_IMPORTED_MODULE_1___default","set","remove","projectSelectDropdown","_project_select__WEBPACK_IMPORTED_MODULE_6__","changeProject","location","refListItem","createElement","refLink","$dropdown","selected","glDropdown","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_4__","get","params","ref","search","_ref","_flash__WEBPACK_IMPORTED_MODULE_5__","_locale__WEBPACK_IMPORTED_MODULE_2__","selectable","filterable","filterRemote","filterByText","inputFieldName","fieldName","renderRow","li","cloneNode","header","textContent","link","dataset","appendChild","obj","$el","toggleLabel","clicked","$form","closest","$visit","shouldVisit","action","divider","indexOf","_lib_utils_url_utility__WEBPACK_IMPORTED_MODULE_3__","visitUrl","serialize","_project__WEBPACK_IMPORTED_MODULE_0__","_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_1__","NO_CONTENT","MULTIPLE_CHOICES","BAD_REQUEST","user_avatar_user_avatar_imagevue_type_script_lang_js","lazy","imgSrc","no_avatar_default","imgAlt","tooltipText","tooltipPlacement","sanitizedSource","resultantSrcAttribute","lazy_loader","tooltipContainer","avatarSizeClass","_obj","staticClass","data-boundary","src","alt","data-src","data-container","data-placement"],"mappings":"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","file":"commons~pages.projects.commit.pipelines~pages.projects.jobs.show~pages.projects.pipelines.builds~pag~54a338ed.e22947e4.chunk.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{class:_vm.cssClass},[_c('icon',{attrs:{\"name\":_vm.icon,\"size\":_vm.size}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n \n \n \n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ci_icon.vue?vue&type=template&id=69ea14c1\"\nimport script from \"./ci_icon.vue?vue&type=script&lang=js\"\nexport * from \"./ci_icon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import httpStatusCodes from './http_status';\nimport { normalizeHeaders } from './common_utils';\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 */\nexport default class Poll {\n constructor(options = {}) {\n this.options = options;\n this.options.data = options.data || {};\n this.options.notificationCallback = options.notificationCallback ||\n function notificationCallback() {};\n\n this.intervalHeader = 'POLL-INTERVAL';\n this.timeoutID = null;\n this.canPoll = true;\n }\n\n checkConditions(response) {\n const headers = normalizeHeaders(response.headers);\n const pollInterval = parseInt(headers[this.intervalHeader], 10);\n if (pollInterval > 0 && response.status === httpStatusCodes.OK && this.canPoll) {\n this.timeoutID = setTimeout(() => {\n this.makeRequest();\n }, pollInterval);\n }\n this.options.successCallback(response);\n }\n\n makeRequest() {\n const { resource, method, data, errorCallback, notificationCallback } = this.options;\n\n // It's called everytime a new request is made. Useful to update the status.\n notificationCallback(true);\n\n return resource[method](data)\n .then((response) => {\n this.checkConditions(response);\n notificationCallback(false);\n })\n .catch((error) => {\n notificationCallback(false);\n if (error.status === httpStatusCodes.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 stop() {\n this.canPoll = false;\n clearTimeout(this.timeoutID);\n }\n\n /**\n * Restarts polling after it has been stoped\n */\n 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","import { formatDate, getTimeago } from '../../lib/utils/datetime_utility';\n\n/**\n * Mixin with time ago methods used in some vue components\n */\nexport default {\n methods: {\n timeFormated(time) {\n const timeago = getTimeago();\n\n return timeago.format(time);\n },\n\n tooltipTitle(time) {\n return formatDate(time);\n },\n },\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",";(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(require('./visibility.core'));\n } else {\n install(window.Visibility)\n }\n\n})(window);\n","import $ from 'jquery';\n\nexport default {\n bind(el) {\n $(el).tooltip({\n trigger: 'hover',\n });\n },\n\n componentUpdated(el) {\n $(el).tooltip('_fixTitle');\n },\n\n unbind(el) {\n $(el).tooltip('dispose');\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],class:_vm.cssClass,attrs:{\"href\":_vm.status.details_path,\"title\":!_vm.showText ? _vm.status.text : ''}},[_c('ci-icon',{attrs:{\"status\":_vm.status}}),_vm._v(\" \"),(_vm.showText)?[_vm._v(\"\\n \"+_vm._s(_vm.status.text)+\"\\n \")]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_badge_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ci_badge_link.vue?vue&type=script&lang=js\"","\n\n \n \n\n \n {{ status.text }}\n \n \n\n","import { render, staticRenderFns } from \"./ci_badge_link.vue?vue&type=template&id=71cd6369\"\nimport script from \"./ci_badge_link.vue?vue&type=script&lang=js\"\nexport * from \"./ci_badge_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Mousetrap from 'mousetrap';\nimport findAndFollowLink from './shortcuts_dashboard_navigation';\nimport Shortcuts from './shortcuts';\n\nexport default class ShortcutsNavigation extends Shortcuts {\n constructor() {\n super();\n\n Mousetrap.bind('g p', () => findAndFollowLink('.shortcuts-project'));\n Mousetrap.bind('g v', () => findAndFollowLink('.shortcuts-project-activity'));\n Mousetrap.bind('g f', () => findAndFollowLink('.shortcuts-tree'));\n Mousetrap.bind('g c', () => findAndFollowLink('.shortcuts-commits'));\n Mousetrap.bind('g j', () => findAndFollowLink('.shortcuts-builds'));\n Mousetrap.bind('g n', () => findAndFollowLink('.shortcuts-network'));\n Mousetrap.bind('g d', () => findAndFollowLink('.shortcuts-repository-charts'));\n Mousetrap.bind('g i', () => findAndFollowLink('.shortcuts-issues'));\n Mousetrap.bind('g b', () => findAndFollowLink('.shortcuts-issue-boards'));\n Mousetrap.bind('g m', () => findAndFollowLink('.shortcuts-merge_requests'));\n Mousetrap.bind('g w', () => findAndFollowLink('.shortcuts-wiki'));\n Mousetrap.bind('g s', () => findAndFollowLink('.shortcuts-snippets'));\n Mousetrap.bind('g k', () => findAndFollowLink('.shortcuts-kubernetes'));\n Mousetrap.bind('g e', () => findAndFollowLink('.shortcuts-environments'));\n Mousetrap.bind('i', () => findAndFollowLink('.shortcuts-new-issue'));\n\n this.enabledHelp.push('.hidden-shortcut.project');\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{class:[_vm.iconSizeClass, _vm.iconTestClass, _vm.cssClasses],attrs:{\"width\":_vm.width,\"height\":_vm.height,\"x\":_vm.x,\"y\":_vm.y}},[_c('use',_vm._b({},'use',{ 'xlink:href':_vm.spriteHref },false))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n \n\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./icon.vue?vue&type=template&id=4bd8f44c\"\nimport script from \"./icon.vue?vue&type=script&lang=js\"\nexport * from \"./icon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import $ from 'jquery';\nimport AccessorUtilities from './lib/utils/accessor';\n\nexport default class ProjectSelectComboButton {\n constructor(select) {\n this.projectSelectInput = $(select);\n this.newItemBtn = $('.new-project-item-link');\n this.resourceType = this.newItemBtn.data('type');\n this.resourceLabel = this.newItemBtn.data('label');\n this.formattedText = this.deriveTextVariants();\n this.groupId = this.projectSelectInput.data('groupId');\n this.bindEvents();\n this.initLocalStorage();\n }\n\n bindEvents() {\n this.projectSelectInput.siblings('.new-project-item-select-button')\n .on('click', e => this.openDropdown(e));\n\n this.newItemBtn.on('click', (e) => {\n if (!this.getProjectFromLocalStorage()) {\n e.preventDefault();\n this.openDropdown(e);\n }\n });\n\n this.projectSelectInput.on('change', () => this.selectProject());\n }\n\n initLocalStorage() {\n const localStorageIsSafe = AccessorUtilities.isLocalStorageAccessSafe();\n\n if (localStorageIsSafe) {\n this.localStorageKey = ['group', this.groupId, this.formattedText.localStorageItemType, 'recent-project'].join('-');\n this.setBtnTextFromLocalStorage();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n openDropdown(event) {\n $(event.currentTarget).siblings('.project-item-select').select2('open');\n }\n\n selectProject() {\n const selectedProjectData = JSON.parse(this.projectSelectInput.val());\n const projectUrl = `${selectedProjectData.url}/${this.projectSelectInput.data('relativePath')}`;\n const projectName = selectedProjectData.name;\n\n const projectMeta = {\n url: projectUrl,\n name: projectName,\n };\n\n this.setNewItemBtnAttributes(projectMeta);\n this.setProjectInLocalStorage(projectMeta);\n }\n\n setBtnTextFromLocalStorage() {\n const cachedProjectData = this.getProjectFromLocalStorage();\n\n this.setNewItemBtnAttributes(cachedProjectData);\n }\n\n setNewItemBtnAttributes(project) {\n if (project) {\n this.newItemBtn.attr('href', project.url);\n this.newItemBtn.text(`${this.formattedText.defaultTextPrefix} in ${project.name}`);\n } else {\n this.newItemBtn.text(`选择一个项目来创建 ${this.formattedText.presetTextSuffix}`);\n }\n }\n\n getProjectFromLocalStorage() {\n const projectString = localStorage.getItem(this.localStorageKey);\n\n return JSON.parse(projectString);\n }\n\n setProjectInLocalStorage(projectMeta) {\n const projectString = JSON.stringify(projectMeta);\n\n localStorage.setItem(this.localStorageKey, projectString);\n }\n\n deriveTextVariants() {\n const defaultTextPrefix = this.resourceLabel;\n\n // the trailing slice call depluralizes each of these strings (e.g. new-issues -> new-issue)\n const localStorageItemType = `new-${this.resourceType.split('_').join('-').slice(0, -1)}`;\n const presetTextSuffix = this.resourceType.split('_').join(' ').slice(0, -1);\n\n return {\n localStorageItemType, // new-issue / new-merge-request\n defaultTextPrefix, // New issue / New merge request\n presetTextSuffix, // issue / merge request\n };\n }\n}\n\n","/* eslint-disable func-names, space-before-function-paren, wrap-iife, prefer-arrow-callback, no-var, comma-dangle, object-shorthand, one-var, one-var-declaration-per-line, no-else-return, quotes, max-len */\n\nimport $ from 'jquery';\nimport Api from './api';\nimport ProjectSelectComboButton from './project_select_combo_button';\n\nexport default function projectSelect() {\n $('.ajax-project-select').each(function(i, select) {\n var placeholder;\n const simpleFilter = $(select).data('simpleFilter') || false;\n this.groupId = $(select).data('groupId');\n this.includeGroups = $(select).data('includeGroups');\n this.allProjects = $(select).data('allProjects') || false;\n this.orderBy = $(select).data('orderBy') || 'id';\n this.withIssuesEnabled = $(select).data('withIssuesEnabled');\n this.withMergeRequestsEnabled = $(select).data('withMergeRequestsEnabled');\n\n placeholder = \"搜索项目\";\n if (this.includeGroups) {\n placeholder += \"或群组\";\n }\n\n $(select).select2({\n placeholder: placeholder,\n minimumInputLength: 0,\n query: (function (_this) {\n return function (query) {\n var finalCallback, projectsCallback;\n finalCallback = function (projects) {\n var data;\n data = {\n results: projects\n };\n return query.callback(data);\n };\n if (_this.includeGroups) {\n projectsCallback = function (projects) {\n var groupsCallback;\n groupsCallback = function (groups) {\n var data;\n data = groups.concat(projects);\n return finalCallback(data);\n };\n return Api.groups(query.term, {}, groupsCallback);\n };\n } else {\n projectsCallback = finalCallback;\n }\n if (_this.groupId) {\n return Api.groupProjects(_this.groupId, query.term, projectsCallback);\n } else {\n return Api.projects(query.term, {\n order_by: _this.orderBy,\n with_issues_enabled: _this.withIssuesEnabled,\n with_merge_requests_enabled: _this.withMergeRequestsEnabled,\n membership: !_this.allProjects,\n }, projectsCallback);\n }\n };\n })(this),\n id: function(project) {\n if (simpleFilter) return project.id;\n return JSON.stringify({\n name: project.name,\n url: project.web_url,\n });\n },\n text: function (project) {\n return project.name_with_namespace || project.name;\n },\n dropdownCssClass: \"ajax-project-dropdown\"\n });\n if (simpleFilter) return select;\n return new ProjectSelectComboButton(select);\n });\n}\n","/* eslint-disable func-names, space-before-function-paren, no-var, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */\n\nimport $ from 'jquery';\nimport Cookies from 'js-cookie';\nimport { __ } from '~/locale';\nimport { visitUrl } from '~/lib/utils/url_utility';\nimport axios from '~/lib/utils/axios_utils';\nimport flash from '~/flash';\nimport projectSelect from '../../project_select';\n\nexport default class Project {\n constructor() {\n const $cloneOptions = $('ul.clone-options-dropdown');\n const $projectCloneField = $('#project_clone');\n const $cloneBtnText = $('a.clone-dropdown-btn span');\n\n const selectedCloneOption = $cloneBtnText.text().trim();\n if (selectedCloneOption.length > 0) {\n $(`a:contains('${selectedCloneOption}')`, $cloneOptions).addClass('is-active');\n }\n\n $('a', $cloneOptions).on('click', (e) => {\n const $this = $(e.currentTarget);\n const url = $this.attr('href');\n const activeText = $this.find('.dropdown-menu-inner-title').text();\n\n e.preventDefault();\n\n $('.is-active', $cloneOptions).not($this).removeClass('is-active');\n $this.toggleClass('is-active');\n $projectCloneField.val(url);\n $cloneBtnText.text(activeText);\n\n return $('.clone').text(url);\n });\n // Ref switcher\n Project.initRefSwitcher();\n $('.project-refs-select').on('change', function() {\n return $(this).parents('form').submit();\n });\n $('.hide-no-ssh-message').on('click', function(e) {\n Cookies.set('hide_no_ssh_message', 'false');\n $(this).parents('.no-ssh-key-message').remove();\n return e.preventDefault();\n });\n $('.hide-no-password-message').on('click', function(e) {\n Cookies.set('hide_no_password_message', 'false');\n $(this).parents('.no-password-message').remove();\n return e.preventDefault();\n });\n Project.projectSelectDropdown();\n }\n\n static projectSelectDropdown() {\n projectSelect();\n $('.project-item-select').on('click', e => Project.changeProject($(e.currentTarget).val()));\n }\n\n static changeProject(url) {\n return window.location = url;\n }\n\n static initRefSwitcher() {\n var refListItem = document.createElement('li');\n var refLink = document.createElement('a');\n\n refLink.href = '#';\n\n return $('.js-project-refs-dropdown').each(function() {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n return $dropdown.glDropdown({\n data(term, callback) {\n axios.get($dropdown.data('refsUrl'), {\n params: {\n ref: $dropdown.data('ref'),\n search: term,\n },\n })\n .then(({ data }) => callback(data))\n .catch(() => flash(__('An error occurred while getting projects')));\n },\n selectable: true,\n filterable: true,\n filterRemote: true,\n filterByText: true,\n inputFieldName: $dropdown.data('inputFieldName'),\n fieldName: $dropdown.data('fieldName'),\n renderRow: function(ref) {\n var li = refListItem.cloneNode(false);\n\n if (ref.header != null) {\n li.className = 'dropdown-header';\n li.textContent = ref.header;\n } else {\n var link = refLink.cloneNode(false);\n\n if (ref === selected) {\n link.className = 'is-active';\n }\n\n link.textContent = ref;\n link.dataset.ref = ref;\n\n li.appendChild(link);\n }\n\n return li;\n },\n id: function(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function(obj, $el) {\n return $el.text().trim();\n },\n clicked: function(options) {\n const { e } = options;\n e.preventDefault();\n if ($('input[name=\"ref\"]').length) {\n var $form = $dropdown.closest('form');\n\n var $visit = $dropdown.data('visit');\n var shouldVisit = $visit ? true : $visit;\n var action = $form.attr('action');\n var divider = action.indexOf('?') === -1 ? '?' : '&';\n if (shouldVisit) {\n visitUrl(`${action}${divider}${$form.serialize()}`);\n }\n }\n },\n });\n });\n }\n}\n","import Project from './project';\nimport ShortcutsNavigation from '../../shortcuts_navigation';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Project(); // eslint-disable-line no-new\n new ShortcutsNavigation(); // eslint-disable-line no-new\n});\n","module.exports = require('./lib/visibility.timers.js')\n","/**\n * exports HTTP status codes\n */\n\nexport default {\n ABORTED: 0,\n NO_CONTENT: 204,\n OK: 200,\n MULTIPLE_CHOICES: 300,\n BAD_REQUEST: 400,\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],staticClass:\"avatar\",class:( _obj = {\n lazy: _vm.lazy\n }, _obj[_vm.avatarSizeClass] = true, _obj[_vm.cssClasses] = true, _obj ),attrs:{\"data-boundary\":\"window\",\"src\":_vm.resultantSrcAttribute,\"width\":_vm.size,\"height\":_vm.size,\"alt\":_vm.imgAlt,\"data-src\":_vm.sanitizedSource,\"data-container\":_vm.tooltipContainer,\"data-placement\":_vm.tooltipPlacement,\"title\":_vm.tooltipText}})\nvar _obj;}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user_avatar_image.vue?vue&type=script&lang=js\"","\n\n\n
\n\n","import { render, staticRenderFns } from \"./user_avatar_image.vue?vue&type=template&id=322edd8c\"\nimport script from \"./user_avatar_image.vue?vue&type=script&lang=js\"\nexport * from \"./user_avatar_image.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAAAAAAdJSU2AAACNElEQVR4AdXYBa7jMBCA4b3/JZahzIkjp2qt+BWUWnG5ln2XxaJJb2b5F2ukL4wvzK/rP7bUcbf92u6oftLSe1ldk8efsfaVeEjusZZeC6e1RllaCk/yG6ag1lZ4WwPX69uyD6tAe/g2ipAlNMRS37awDLaFrpcMWxXQOi0jnWCWjFkSZomYJWDWKmatYNZyEWkJsvQimoZYah5NgdaLxagCtF6GRy0DshZPkeYwS/KIJWGWYjwYUzDLxCwDtJ54OKglimBLqHWahii2g1pmHLLGBmwVoRjcKlmgOdw65H5qKuGWCVi5Qlhs6m1sENZi4q3AWNvca5UYy2RjT/SAsiZey6CsIvc0wVlV5lJ0ibPMyLUGCmlxQq0IM0hLdWyro7CWEc3sXsqaK4O2zLxOsmtpfW5Q1u68ZrVmepaaNXEewawtI9X5Xl3U3n1qND6+rfPzvqoIWz/fklNCSLY153YV53J/XUxGCJnKZ1lajsn3/Ffegf6Y5pV2LUsSNL2UHzxUfh3TlYpZqqTpXZm0KZk9zJcqaEmaWPHDw0pxe05K7bWOLHFLWXVetqpYmrjle4+1y0aBaF4UOQ1NU+lYezJClkjLUnSEjqhH6zjAW4OjtY39Ibq+sawUb6W2RQfoqG0VeKuwrRJvlba17faRdbe2pTtYq6Nty/S7yAbGsQjWIq41wVoT1+IdZNy1djUcVdu5lklQWC0xHkt1X31qNEE1Pr3qKv/9XiSNj6Aaifj3/69+AYujsR/MvkpZAAAAAElFTkSuQmCC\""],"sourceRoot":""}