{"version":3,"sources":["webpack:///./vue_shared/components/ci_icon.vue?1179","webpack:///vue_shared/components/ci_icon.vue","webpack:///./vue_shared/components/ci_icon.vue?9d08","webpack:///./vue_shared/components/ci_icon.vue","webpack:///./lib/utils/poll.js","webpack:////home/git/gitlab/node_modules/visibilityjs/lib/visibility.core.js","webpack:////home/git/gitlab/node_modules/visibilityjs/lib/visibility.timers.js","webpack:///./blob/viewer/index.js","webpack:///./vue_shared/directives/tooltip.js","webpack:///./vue_shared/components/icon.vue?6516","webpack:///vue_shared/components/icon.vue","webpack:///./vue_shared/components/icon.vue?1c2e","webpack:///./vue_shared/components/icon.vue","webpack:///./projects/tree/components/commit_pipeline_status_component.vue?a574","webpack:///./projects/tree/services/commit_pipeline_service.js","webpack:///./projects/tree/components/commit_pipeline_status_component.vue?bf80","webpack:///projects/tree/components/commit_pipeline_status_component.vue","webpack:///./projects/tree/components/commit_pipeline_status_component.vue","webpack:///./tree.js","webpack:///./pages/projects/tree/show/index.js","webpack:////home/git/gitlab/node_modules/visibilityjs/index.js","webpack:///./lib/utils/http_status.js"],"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","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__","BlobViewer","initAuxiliaryViewer","initRichViewer","initMainViewers","$fileHolder","jquery__WEBPACK_IMPORTED_MODULE_0___default","switcher","querySelector","switcherBtns","querySelectorAll","copySourceBtn","simpleViewer","richViewer","initBindings","switchToInitialViewer","initialViewerName","getAttribute","location","hash","indexOf","switchToViewer","Array","from","forEach","el","switchViewHandler","bind","classList","contains","blur","target","currentTarget","preventDefault","setAttribute","remove","activeViewer","add","tooltip","newViewer","oldButton","newButton","oldViewer","toggleCopyButtonState","loadViewer","viewer","renderGFM","trigger","_lib_utils_common_utils__WEBPACK_IMPORTED_MODULE_2__","_flash__WEBPACK_IMPORTED_MODULE_1__","auxiliaryViewer","dataset","richType","initViewer","promise","Promise","all","viewerParam","url","resolve","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_3__","get","_ref","innerHTML","html","componentUpdated","components_iconvue_type_script_lang_js","String","cssClasses","width","height","y","x","spriteHref","gon","sprite_icons","iconTestClass","iconSizeClass","_vm","_b","xlink:href","CommitPipelineService","endpoint","axios_utils","components_commit_pipeline_status_componentvue_type_script_lang_js","directives","ciIcon","ci_icon","loadingIcon","loading_icon","ciStatus","isLoading","statusTitle","locale","commitText","text","mounted","service","commit_pipeline_service","initPolling","methods","res","pipelines","details","flash","poll","visibilityjs_default","a","fetchPipelineCommitData","restart","fetchData","destroy","label","href","details_path","rawName","title","aria-label","data-container","TreeView","initKeyNav","on","$clickedEl","path","attr","is","metaKey","which","open","_lib_utils_url_utility__WEBPACK_IMPORTED_MODULE_1__","removeClass","li","liSelected","keydown","next","addClass","eq","focus","prev","_shortcuts_navigation__WEBPACK_IMPORTED_MODULE_5__","_tree__WEBPACK_IMPORTED_MODULE_4__","_blob_viewer__WEBPACK_IMPORTED_MODULE_6__","_new_commit_form__WEBPACK_IMPORTED_MODULE_7__","waitForImages","_lib_utils_common_utils__WEBPACK_IMPORTED_MODULE_8__","logsPath","_blob_edit_blob_bundle__WEBPACK_IMPORTED_MODULE_2__","commitPipelineStatusEl","statusLink","vue__WEBPACK_IMPORTED_MODULE_1__","commitPipelineStatus","_projects_tree_components_commit_pipeline_status_component_vue__WEBPACK_IMPORTED_MODULE_3__","render","createElement","NO_CONTENT","MULTIPLE_CHOICES","BAD_REQUEST"],"mappings":"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","file":"pages.projects.tree.show.216da6bb.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",";(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';\nimport Flash from '../../flash';\nimport { handleLocationHash } from '../../lib/utils/common_utils';\nimport axios from '../../lib/utils/axios_utils';\n\nexport default class BlobViewer {\n constructor() {\n BlobViewer.initAuxiliaryViewer();\n BlobViewer.initRichViewer();\n\n this.initMainViewers();\n }\n\n static initAuxiliaryViewer() {\n const auxiliaryViewer = document.querySelector('.blob-viewer[data-type=\"auxiliary\"]');\n if (!auxiliaryViewer) return;\n\n BlobViewer.loadViewer(auxiliaryViewer);\n }\n\n static initRichViewer() {\n const viewer = document.querySelector('.blob-viewer[data-type=\"rich\"]');\n if (!viewer || !viewer.dataset.richType) return;\n\n const initViewer = promise => promise\n .then(module => module.default(viewer))\n .catch((error) => {\n Flash('Error loading file viewer.');\n throw error;\n });\n\n switch (viewer.dataset.richType) {\n case 'balsamiq':\n initViewer(import(/* webpackChunkName: 'balsamiq_viewer' */ '../balsamiq_viewer'));\n break;\n case 'notebook':\n initViewer(import(/* webpackChunkName: 'notebook_viewer' */ '../notebook_viewer'));\n break;\n case 'pdf':\n initViewer(import(/* webpackChunkName: 'pdf_viewer' */ '../pdf_viewer'));\n break;\n case 'sketch':\n initViewer(import(/* webpackChunkName: 'sketch_viewer' */ '../sketch_viewer'));\n break;\n case 'stl':\n initViewer(import(/* webpackChunkName: 'stl_viewer' */ '../stl_viewer'));\n break;\n default:\n break;\n }\n }\n\n initMainViewers() {\n this.$fileHolder = $('.file-holder');\n if (!this.$fileHolder.length) return;\n\n this.switcher = document.querySelector('.js-blob-viewer-switcher');\n this.switcherBtns = document.querySelectorAll('.js-blob-viewer-switch-btn');\n this.copySourceBtn = document.querySelector('.js-copy-blob-source-btn');\n\n this.simpleViewer = this.$fileHolder[0].querySelector('.blob-viewer[data-type=\"simple\"]');\n this.richViewer = this.$fileHolder[0].querySelector('.blob-viewer[data-type=\"rich\"]');\n\n this.initBindings();\n\n this.switchToInitialViewer();\n }\n\n switchToInitialViewer() {\n const initialViewer = this.$fileHolder[0].querySelector('.blob-viewer:not(.hidden)');\n let initialViewerName = initialViewer.getAttribute('data-type');\n\n if (this.switcher && location.hash.indexOf('#L') === 0) {\n initialViewerName = 'simple';\n }\n\n this.switchToViewer(initialViewerName);\n }\n\n initBindings() {\n if (this.switcherBtns.length) {\n Array.from(this.switcherBtns)\n .forEach((el) => {\n el.addEventListener('click', this.switchViewHandler.bind(this));\n });\n }\n\n if (this.copySourceBtn) {\n this.copySourceBtn.addEventListener('click', () => {\n if (this.copySourceBtn.classList.contains('disabled')) return this.copySourceBtn.blur();\n\n return this.switchToViewer('simple');\n });\n }\n }\n\n switchViewHandler(e) {\n const target = e.currentTarget;\n\n e.preventDefault();\n\n this.switchToViewer(target.getAttribute('data-viewer'));\n }\n\n toggleCopyButtonState() {\n if (!this.copySourceBtn) return;\n\n if (this.simpleViewer.getAttribute('data-loaded')) {\n this.copySourceBtn.setAttribute('title', 'Copy source to clipboard');\n this.copySourceBtn.classList.remove('disabled');\n } else if (this.activeViewer === this.simpleViewer) {\n this.copySourceBtn.setAttribute('title', 'Wait for the source to load to copy it to the clipboard');\n this.copySourceBtn.classList.add('disabled');\n } else {\n this.copySourceBtn.setAttribute('title', 'Switch to the source to copy it to the clipboard');\n this.copySourceBtn.classList.add('disabled');\n }\n\n $(this.copySourceBtn).tooltip('_fixTitle');\n }\n\n switchToViewer(name) {\n const newViewer = this.$fileHolder[0].querySelector(`.blob-viewer[data-type='${name}']`);\n if (this.activeViewer === newViewer) return;\n\n const oldButton = document.querySelector('.js-blob-viewer-switch-btn.active');\n const newButton = document.querySelector(`.js-blob-viewer-switch-btn[data-viewer='${name}']`);\n const oldViewer = this.$fileHolder[0].querySelector(`.blob-viewer:not([data-type='${name}'])`);\n\n if (oldButton) {\n oldButton.classList.remove('active');\n }\n\n if (newButton) {\n newButton.classList.add('active');\n newButton.blur();\n }\n\n if (oldViewer) {\n oldViewer.classList.add('hidden');\n }\n\n newViewer.classList.remove('hidden');\n\n this.activeViewer = newViewer;\n\n this.toggleCopyButtonState();\n\n BlobViewer.loadViewer(newViewer)\n .then((viewer) => {\n $(viewer).renderGFM();\n\n this.$fileHolder.trigger('highlight:line');\n handleLocationHash();\n\n this.toggleCopyButtonState();\n })\n .catch(() => new Flash('Error loading viewer'));\n }\n\n static loadViewer(viewerParam) {\n const viewer = viewerParam;\n const url = viewer.getAttribute('data-url');\n\n if (!url || viewer.getAttribute('data-loaded') || viewer.getAttribute('data-loading')) {\n return Promise.resolve(viewer);\n }\n\n viewer.setAttribute('data-loading', 'true');\n\n return axios.get(url)\n .then(({ data }) => {\n viewer.innerHTML = data.html;\n viewer.setAttribute('data-loaded', 'true');\n\n return viewer;\n });\n }\n}\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('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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLoading)?_c('loading-icon',{attrs:{\"label\":\"Loading pipeline status\",\"size\":\"3\"}}):_c('a',{attrs:{\"href\":_vm.ciStatus.details_path}},[_c('ci-icon',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\"}],attrs:{\"title\":_vm.statusTitle,\"aria-label\":_vm.statusTitle,\"data-container\":\"body\",\"status\":_vm.ciStatus}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '~/lib/utils/axios_utils';\n\nexport default class CommitPipelineService {\n constructor(endpoint) {\n this.endpoint = endpoint;\n }\n\n fetchData() {\n return axios.get(this.endpoint);\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!./commit_pipeline_status_component.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js??ref--0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./commit_pipeline_status_component.vue?vue&type=script&lang=js\"","\n\n \n\n","import { render, staticRenderFns } from \"./commit_pipeline_status_component.vue?vue&type=template&id=26b48328\"\nimport script from \"./commit_pipeline_status_component.vue?vue&type=script&lang=js\"\nexport * from \"./commit_pipeline_status_component.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable func-names, space-before-function-paren, wrap-iife, max-len, quotes, consistent-return, no-var, one-var, one-var-declaration-per-line, no-else-return, prefer-arrow-callback, class-methods-use-this */\n\nimport $ from 'jquery';\nimport { visitUrl } from './lib/utils/url_utility';\n\nexport default class TreeView {\n constructor() {\n this.initKeyNav();\n // Code browser tree slider\n // Make the entire tree-item row clickable, but not if clicking another link (like a commit message)\n $(\".tree-content-holder .tree-item\").on('click', function(e) {\n var $clickedEl, path;\n $clickedEl = $(e.target);\n path = $('.tree-item-file-name a', this).attr('href');\n if (!$clickedEl.is('a') && !$clickedEl.is('.str-truncated')) {\n if (e.metaKey || e.which === 2) {\n e.preventDefault();\n return window.open(path, '_blank');\n } else {\n return visitUrl(path);\n }\n }\n });\n // Show the \"Loading commit data\" for only the first element\n $('span.log_loading:first').removeClass('hide');\n }\n\n initKeyNav() {\n var li, liSelected;\n li = $(\"tr.tree-item\");\n liSelected = null;\n return $('body').keydown(function(e) {\n var next, path;\n if ($(\"input:focus\").length > 0 && (e.which === 38 || e.which === 40)) {\n return false;\n }\n if (e.which === 40) {\n if (liSelected) {\n next = liSelected.next();\n if (next.length > 0) {\n liSelected.removeClass(\"selected\");\n liSelected = next.addClass(\"selected\");\n }\n } else {\n liSelected = li.eq(0).addClass(\"selected\");\n }\n return $(liSelected).focus();\n } else if (e.which === 38) {\n if (liSelected) {\n next = liSelected.prev();\n if (next.length > 0) {\n liSelected.removeClass(\"selected\");\n liSelected = next.addClass(\"selected\");\n }\n } else {\n liSelected = li.last().addClass(\"selected\");\n }\n return $(liSelected).focus();\n } else if (e.which === 13) {\n path = $('.tree-item.selected .tree-item-file-name a').attr('href');\n if (path) {\n return visitUrl(path);\n }\n }\n });\n }\n}\n","import $ from 'jquery';\nimport Vue from 'vue';\nimport initBlob from '~/blob_edit/blob_bundle';\nimport commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue';\nimport TreeView from '../../../../tree';\nimport ShortcutsNavigation from '../../../../shortcuts_navigation';\nimport BlobViewer from '../../../../blob/viewer';\nimport NewCommitForm from '../../../../new_commit_form';\nimport { ajaxGet } from '../../../../lib/utils/common_utils';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new ShortcutsNavigation(); // eslint-disable-line no-new\n new TreeView(); // eslint-disable-line no-new\n new BlobViewer(); // eslint-disable-line no-new\n new NewCommitForm($('.js-create-dir-form')); // eslint-disable-line no-new\n $('#tree-slider').waitForImages(() =>\n ajaxGet(document.querySelector('.js-tree-content').dataset.logsPath));\n\n initBlob();\n const commitPipelineStatusEl = document.querySelector('.js-commit-pipeline-status');\n const statusLink = document.querySelector('.commit-actions .ci-status-link');\n if (statusLink != null) {\n statusLink.remove();\n // eslint-disable-next-line no-new\n new Vue({\n el: commitPipelineStatusEl,\n components: {\n commitPipelineStatus,\n },\n render(createElement) {\n return createElement('commit-pipeline-status', {\n props: {\n endpoint: commitPipelineStatusEl.dataset.endpoint,\n },\n });\n },\n });\n }\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"],"sourceRoot":""}