{"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:////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:///./blob/viewer/index.js","webpack:///./vue_shared/directives/tooltip.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:///./blob/blob_fork_suggestion.js","webpack:///./line_highlighter.js","webpack:///./blob/blob_line_permalink_updater.js","webpack:///./shortcuts_blob.js","webpack:///./pages/projects/init_blob.js","webpack:///./projects/tree/components/commit_pipeline_status_component.vue?6a1d","webpack:///./projects/tree/services/commit_pipeline_service.js","webpack:///./projects/tree/components/commit_pipeline_status_component.vue?4e71","webpack:///projects/tree/components/commit_pipeline_status_component.vue","webpack:///./projects/tree/components/commit_pipeline_status_component.vue","webpack:////opt/gitlab/embedded/service/gitlab-rails/node_modules/visibilityjs/index.js","webpack:///./lib/utils/http_status.js","webpack:///./pages/projects/blob/show/index.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","defaults","openButtons","forkButtons","cancelButtons","suggestionSections","actionTextPieces","BlobForkSuggestion","elementMap","assign","onOpenButtonClick","onCancelButtonClick","bindEvents","on","forkPath","action","removeClass","attr","text","addClass","showSuggestionSection","hideSuggestionSection","off","jquery__WEBPACK_IMPORTED_MODULE_0__","n","LineHighlighter","highlightLineClass","fileHolderSelector","scrollFileHolder","_hash","setHash","highlightLine","clickHandler","highlightHash","prototype","newHash","range","clearHighlight","hashToRange","highlightRange","lineSelector","scrollOptions","offset","scrollTo","a","current","lineNumber","closest","shiftKey","matches","match","ref","ref1","results","push","firstLineNumber","lastLineNumber","__setLocationHash__","history","pushState","title","lineNumberRe","blob_line_permalink_updater_updateLineNumbersOnBlobPermalinks","linksToUpdate","url_utility","test","hashUrlString","concat","slice","permalinkButton","href","baseHref","blob_line_permalink_updater","blobContentHolder","lineNumberSelector","elementsToUpdate","updateBlameAndBlobPermalinkCb","skipResetBindings","fileBlobPermalinkUrl","ShortcutsBlob","opts","_possibleConstructorReturn","__proto__","getPrototypeOf","mousetrap_default","moveToFilePermalink","shortcuts","visitUrl","line_highlighter","fileBlobPermalinkUrlElement","shortcuts_navigation","shortcuts_blob","blob_fork_suggestion","init","blob_bundle","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","mounted","service","commit_pipeline_service","initPolling","methods","res","pipelines","details","flash","poll","visibilityjs_default","fetchPipelineCommitData","restart","fetchData","destroy","label","details_path","rawName","aria-label","data-container","NO_CONTENT","MULTIPLE_CHOICES","BAD_REQUEST","_blob_viewer_index__WEBPACK_IMPORTED_MODULE_2__","_pages_projects_init_blob__WEBPACK_IMPORTED_MODULE_3__","CommitPipelineStatusEl","statusLink","vue__WEBPACK_IMPORTED_MODULE_0__","commitPipelineStatus","_projects_tree_components_commit_pipeline_status_component_vue__WEBPACK_IMPORTED_MODULE_1__","render","createElement"],"mappings":"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","file":"pages.projects.blob.show.8f14e37c.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","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', '复制源码到剪贴板');\n this.copySourceBtn.classList.remove('disabled');\n } else if (this.activeViewer === this.simpleViewer) {\n this.copySourceBtn.setAttribute('title', '等待源码加载以将其复制到剪贴板');\n this.copySourceBtn.classList.add('disabled');\n } else {\n this.copySourceBtn.setAttribute('title', '切换到源码以将其复制到剪贴板');\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","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';\n\nconst defaults = {\n // Buttons that will show the `suggestionSections`\n // has `data-fork-path`, and `data-action`\n openButtons: [],\n // Update the href(from `openButton` -> `data-fork-path`)\n // whenever a `openButton` is clicked\n forkButtons: [],\n // Buttons to hide the `suggestionSections`\n cancelButtons: [],\n // Section to show/hide\n suggestionSections: [],\n // Pieces of text that need updating depending on the action, `edit`, `replace`, `delete`\n actionTextPieces: [],\n};\n\nclass BlobForkSuggestion {\n constructor(options) {\n this.elementMap = Object.assign({}, defaults, options);\n this.onOpenButtonClick = this.onOpenButtonClick.bind(this);\n this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n }\n\n init() {\n this.bindEvents();\n\n return this;\n }\n\n bindEvents() {\n $(this.elementMap.openButtons).on('click', this.onOpenButtonClick);\n $(this.elementMap.cancelButtons).on('click', this.onCancelButtonClick);\n }\n\n showSuggestionSection(forkPath, action = 'edit') {\n $(this.elementMap.suggestionSections).removeClass('hidden');\n $(this.elementMap.forkButtons).attr('href', forkPath);\n $(this.elementMap.actionTextPieces).text(action);\n }\n\n hideSuggestionSection() {\n $(this.elementMap.suggestionSections).addClass('hidden');\n }\n\n onOpenButtonClick(e) {\n const forkPath = $(e.currentTarget).attr('data-fork-path');\n const action = $(e.currentTarget).attr('data-action');\n this.showSuggestionSection(forkPath, action);\n }\n\n onCancelButtonClick() {\n this.hideSuggestionSection();\n }\n\n destroy() {\n $(this.elementMap.openButtons).off('click', this.onOpenButtonClick);\n $(this.elementMap.cancelButtons).off('click', this.onCancelButtonClick);\n }\n}\n\nexport default BlobForkSuggestion;\n","/* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, no-use-before-define, no-underscore-dangle, no-param-reassign, prefer-template, quotes, comma-dangle, prefer-arrow-callback, consistent-return, one-var, one-var-declaration-per-line, no-else-return, max-len */\n\nimport $ from 'jquery';\n\n// LineHighlighter\n//\n// Handles single- and multi-line selection and highlight for blob views.\n//\n//\n// ### Example Markup\n//\n//
\n//
\n//
\n// 1\n// 2\n// 3\n// 4\n// 5\n//
\n//
\n//         \n//           ...\n//           ...\n//           ...\n//           ...\n//           ...\n//         \n//       
\n//
\n//
\n//\n\nconst LineHighlighter = function(options = {}) {\n options.highlightLineClass = options.highlightLineClass || 'hll';\n options.fileHolderSelector = options.fileHolderSelector || '.file-holder';\n options.scrollFileHolder = options.scrollFileHolder || false;\n options.hash = options.hash || location.hash;\n\n this.options = options;\n this._hash = options.hash;\n this.highlightLineClass = options.highlightLineClass;\n this.setHash = this.setHash.bind(this);\n this.highlightLine = this.highlightLine.bind(this);\n this.clickHandler = this.clickHandler.bind(this);\n this.highlightHash = this.highlightHash.bind(this);\n\n this.bindEvents();\n this.highlightHash();\n};\n\nLineHighlighter.prototype.bindEvents = function() {\n const $fileHolder = $(this.options.fileHolderSelector);\n\n $fileHolder.on('click', 'a[data-line-number]', this.clickHandler);\n $fileHolder.on('highlight:line', this.highlightHash);\n};\n\nLineHighlighter.prototype.highlightHash = function(newHash) {\n let range;\n if (newHash && typeof newHash === 'string') this._hash = newHash;\n\n this.clearHighlight();\n\n if (this._hash !== '') {\n range = this.hashToRange(this._hash);\n if (range[0]) {\n this.highlightRange(range);\n const lineSelector = `#L${range[0]}`;\n const scrollOptions = {\n // Scroll to the first highlighted line on initial load\n // Offset -50 for the sticky top bar, and another -100 for some context\n offset: -150\n };\n if (this.options.scrollFileHolder) {\n $(this.options.fileHolderSelector).scrollTo(lineSelector, scrollOptions);\n } else {\n $.scrollTo(lineSelector, scrollOptions);\n }\n }\n }\n};\n\nLineHighlighter.prototype.clickHandler = function(event) {\n var current, lineNumber, range;\n event.preventDefault();\n this.clearHighlight();\n lineNumber = $(event.target).closest('a').data('lineNumber');\n current = this.hashToRange(this._hash);\n if (!(current[0] && event.shiftKey)) {\n // If there's no current selection, or there is but Shift wasn't held,\n // treat this like a single-line selection.\n this.setHash(lineNumber);\n return this.highlightLine(lineNumber);\n } else if (event.shiftKey) {\n if (lineNumber < current[0]) {\n range = [lineNumber, current[0]];\n } else {\n range = [current[0], lineNumber];\n }\n this.setHash(range[0], range[1]);\n return this.highlightRange(range);\n }\n};\n\nLineHighlighter.prototype.clearHighlight = function() {\n return $(\".\" + this.highlightLineClass).removeClass(this.highlightLineClass);\n};\n\n// Convert a URL hash String into line numbers\n//\n// hash - Hash String\n//\n// Examples:\n//\n// hashToRange('#L5') # => [5, null]\n// hashToRange('#L5-15') # => [5, 15]\n// hashToRange('#foo') # => [null, null]\n//\n// Returns an Array\nLineHighlighter.prototype.hashToRange = function(hash) {\n var first, last, matches;\n // ?L(\\d+)(?:-(\\d+))?$/)\n matches = hash.match(/^#?L(\\d+)(?:-(\\d+))?$/);\n if (matches && matches.length) {\n first = parseInt(matches[1], 10);\n last = matches[2] ? parseInt(matches[2], 10) : null;\n return [first, last];\n } else {\n return [null, null];\n }\n};\n\n// Highlight a single line\n//\n// lineNumber - Line number to highlight\nLineHighlighter.prototype.highlightLine = function(lineNumber) {\n return $(\"#LC\" + lineNumber).addClass(this.highlightLineClass);\n};\n\n// Highlight all lines within a range\n//\n// range - Array containing the starting and ending line numbers\nLineHighlighter.prototype.highlightRange = function(range) {\n var i, lineNumber, ref, ref1, results;\n if (range[1]) {\n results = [];\n for (lineNumber = i = ref = range[0], ref1 = range[1]; ref <= ref1 ? i <= ref1 : i >= ref1; lineNumber = ref <= ref1 ? (i += 1) : (i -= 1)) {\n results.push(this.highlightLine(lineNumber));\n }\n return results;\n } else {\n return this.highlightLine(range[0]);\n }\n};\n\n// Set the URL hash string\nLineHighlighter.prototype.setHash = function(firstLineNumber, lastLineNumber) {\n var hash;\n if (lastLineNumber) {\n hash = \"#L\" + firstLineNumber + \"-\" + lastLineNumber;\n } else {\n hash = \"#L\" + firstLineNumber;\n }\n this._hash = hash;\n return this.__setLocationHash__(hash);\n};\n\n// Make the actual hash change in the browser\n//\n// This method is stubbed in tests.\nLineHighlighter.prototype.__setLocationHash__ = function(value) {\n return history.pushState({\n url: value\n // We're using pushState instead of assigning location.hash directly to\n // prevent the page from scrolling on the hashchange event\n }, document.title, value);\n};\n\nexport default LineHighlighter;\n","import { getLocationHash } from '../lib/utils/url_utility';\n\nconst lineNumberRe = /^L[0-9]+/;\n\nconst updateLineNumbersOnBlobPermalinks = (linksToUpdate) => {\n const hash = getLocationHash();\n if (hash && lineNumberRe.test(hash)) {\n const hashUrlString = `#${hash}`;\n\n [].concat(Array.prototype.slice.call(linksToUpdate)).forEach((permalinkButton) => {\n const baseHref = permalinkButton.getAttribute('data-original-href') || (() => {\n const href = permalinkButton.getAttribute('href');\n permalinkButton.setAttribute('data-original-href', href);\n return href;\n })();\n permalinkButton.setAttribute('href', `${baseHref}${hashUrlString}`);\n });\n }\n};\n\nfunction BlobLinePermalinkUpdater(blobContentHolder, lineNumberSelector, elementsToUpdate) {\n const updateBlameAndBlobPermalinkCb = () => {\n // Wait for the hash to update from the LineHighlighter callback\n setTimeout(() => {\n updateLineNumbersOnBlobPermalinks(elementsToUpdate);\n }, 0);\n };\n\n blobContentHolder.addEventListener('click', (e) => {\n if (e.target.matches(lineNumberSelector)) {\n updateBlameAndBlobPermalinkCb();\n }\n });\n updateBlameAndBlobPermalinkCb();\n}\n\nexport default BlobLinePermalinkUpdater;\n","import Mousetrap from 'mousetrap';\nimport { getLocationHash, visitUrl } from './lib/utils/url_utility';\nimport Shortcuts from './shortcuts';\n\nconst defaults = {\n skipResetBindings: false,\n fileBlobPermalinkUrl: null,\n};\n\nexport default class ShortcutsBlob extends Shortcuts {\n constructor(opts) {\n const options = Object.assign({}, defaults, opts);\n super(options.skipResetBindings);\n this.options = options;\n\n Mousetrap.bind('y', this.moveToFilePermalink.bind(this));\n }\n\n moveToFilePermalink() {\n if (this.options.fileBlobPermalinkUrl) {\n const hash = getLocationHash();\n const hashUrlString = hash ? `#${hash}` : '';\n visitUrl(`${this.options.fileBlobPermalinkUrl}${hashUrlString}`);\n }\n }\n}\n","import LineHighlighter from '~/line_highlighter';\nimport BlobLinePermalinkUpdater from '~/blob/blob_line_permalink_updater';\nimport ShortcutsNavigation from '~/shortcuts_navigation';\nimport ShortcutsBlob from '~/shortcuts_blob';\nimport BlobForkSuggestion from '~/blob/blob_fork_suggestion';\nimport initBlobBundle from '~/blob_edit/blob_bundle';\n\nexport default () => {\n new LineHighlighter(); // eslint-disable-line no-new\n\n new BlobLinePermalinkUpdater( // eslint-disable-line no-new\n document.querySelector('#blob-content-holder'),\n '.diff-line-num[data-line-number]',\n document.querySelectorAll('.js-data-file-blob-permalink-url, .js-blob-blame-link'),\n );\n\n const fileBlobPermalinkUrlElement = document.querySelector('.js-data-file-blob-permalink-url');\n const fileBlobPermalinkUrl = fileBlobPermalinkUrlElement && fileBlobPermalinkUrlElement.getAttribute('href');\n\n new ShortcutsNavigation(); // eslint-disable-line no-new\n\n new ShortcutsBlob({ // eslint-disable-line no-new\n skipResetBindings: true,\n fileBlobPermalinkUrl,\n });\n\n new BlobForkSuggestion({ // eslint-disable-line no-new\n openButtons: document.querySelectorAll('.js-edit-blob-link-fork-toggler'),\n forkButtons: document.querySelectorAll('.js-fork-suggestion-button'),\n cancelButtons: document.querySelectorAll('.js-cancel-fork-suggestion-button'),\n suggestionSections: document.querySelectorAll('.js-file-fork-suggestion-section'),\n actionTextPieces: document.querySelectorAll('.js-file-fork-suggestion-section-action'),\n }).init();\n\n initBlobBundle();\n};\n","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","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","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","import Vue from 'vue';\nimport commitPipelineStatus from '~/projects/tree/components/commit_pipeline_status_component.vue';\nimport BlobViewer from '~/blob/viewer/index';\nimport initBlob from '~/pages/projects/init_blob';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new BlobViewer(); // eslint-disable-line no-new\n initBlob();\n\n const CommitPipelineStatusEl = document.querySelector('.js-commit-pipeline-status');\n const statusLink = document.querySelector('.commit-actions .ci-status-link');\n if (statusLink) {\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"],"sourceRoot":""}