diff options
author | Mike Greiling <mike@pixelcog.com> | 2016-10-25 14:25:46 -0500 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2016-12-02 17:38:57 -0600 |
commit | 4f107f3fc4333fe2234fac1bf1247164542484a2 (patch) | |
tree | 8d8da8662c3305145670a6d9676a540067033452 | |
parent | 6cbc305daf9a30e01943c5d990424d21fb907010 (diff) | |
download | gitlab-ce-4f107f3fc4333fe2234fac1bf1247164542484a2.tar.gz |
refactor Diff to es6 class syntax
-rw-r--r-- | app/assets/javascripts/diff.js.es6 (renamed from app/assets/javascripts/diff.js) | 65 | ||||
-rw-r--r-- | app/assets/javascripts/dispatcher.js.es6 | 10 | ||||
-rw-r--r-- | app/assets/javascripts/merge_request_tabs.js.es6 | 2 |
3 files changed, 35 insertions, 42 deletions
diff --git a/app/assets/javascripts/diff.js b/app/assets/javascripts/diff.js.es6 index 66580587629..27aa67ba09d 100644 --- a/app/assets/javascripts/diff.js +++ b/app/assets/javascripts/diff.js.es6 @@ -1,19 +1,19 @@ -/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-var, max-len, one-var, camelcase, one-var-declaration-per-line, no-unused-vars, no-unused-expressions, no-sequences, object-shorthand, comma-dangle, prefer-arrow-callback, semi, radix, padded-blocks, max-len */ -(function() { - this.Diff = (function() { - var UNFOLD_COUNT; +/* eslint-disable */ - UNFOLD_COUNT = 20; +((global) => { + const UNFOLD_COUNT = 20; - function Diff() { + class Diff { + constructor() { $('.files .diff-file').singleFileDiff(); - this.filesCommentButton = $('.files .diff-file').filesCommentButton(); + $('.files .diff-file').filesCommentButton(); + if (this.diffViewType() === 'parallel') { $('.content-wrapper .container-fluid').removeClass('container-limited'); } $(document) .off('click', '.js-unfold') - .on('click', '.js-unfold', (function(event) { + .on('click', '.js-unfold', (event) => { var line_number, link, file, offset, old_line, params, prev_new_line, prev_old_line, ref, ref1, since, target, to, unfold, unfoldBottom; target = $(event.target); unfoldBottom = target.hasClass('js-unfold-bottom'); @@ -48,29 +48,27 @@ return $.get(link, params, function(response) { return target.parent().replaceWith(response); }); - }).bind(this)); - - $(document) + }) .off('click', '.diff-line-num a') - .on('click', '.diff-line-num a', (function(e) { - var hash = $(e.currentTarget).attr('href'); - e.preventDefault(); + .on('click', '.diff-line-num a', (event) => { + var hash = $(event.currentTarget).attr('href'); + event.preventDefault(); if ( history.pushState ) { history.pushState(null, null, hash); } else { window.location.hash = hash; } this.highlighSelectedLine(); - }).bind(this)); + }); this.highlighSelectedLine(); } - Diff.prototype.diffViewType = function() { + diffViewType() { return $('.inline-parallel-buttons a.active').data('view-type'); } - Diff.prototype.lineNumbers = function(line) { + lineNumbers(line) { if (!line.children().length) { return [0, 0]; } @@ -78,26 +76,21 @@ return line.find('.diff-line-num').map(function() { return parseInt($(this).data('linenumber')); }); - }; + } - Diff.prototype.highlighSelectedLine = function() { - var $diffLine, dataLineString, locationHash; - $('.hll').removeClass('hll'); - locationHash = window.location.hash; - if (locationHash !== '') { - dataLineString = '[data-line-code="' + locationHash.replace('#', '') + '"]'; - $diffLine = $(".diff-file " + locationHash + ":not(.match)"); - if (!$diffLine.is('tr')) { - $diffLine = $(".diff-file td" + locationHash + ", .diff-file td" + dataLineString); - } else { - $diffLine = $diffLine.find('td'); - } - $diffLine.addClass('hll'); - } - }; + highlighSelectedLine() { + const $diffFiles = $('.diff-file'); + $diffFiles.find('.hll').removeClass('hll'); - return Diff; + if (window.location.hash !== '') { + const hash = window.location.hash.replace('#', ''); + $diffFiles + .find(`tr#${hash}:not(.match) td, td#${hash}, td[data-line-code="${hash}"]`) + .addClass('hll'); + } + } + } - })(); + global.Diff = Diff; -}).call(this); +})(window.gl || (window.gl = {})); diff --git a/app/assets/javascripts/dispatcher.js.es6 b/app/assets/javascripts/dispatcher.js.es6 index ab521c6c1fc..3a7c5ff3681 100644 --- a/app/assets/javascripts/dispatcher.js.es6 +++ b/app/assets/javascripts/dispatcher.js.es6 @@ -61,7 +61,7 @@ new ZenMode(); break; case 'projects:compare:show': - new Diff(); + new gl.Diff(); break; case 'projects:issues:new': case 'projects:issues:edit': @@ -74,7 +74,7 @@ break; case 'projects:merge_requests:new': case 'projects:merge_requests:edit': - new Diff(); + new gl.Diff(); shortcut_handler = new ShortcutsNavigation(); new GLForm($('.merge-request-form')); new IssuableForm($('.merge-request-form')); @@ -91,7 +91,7 @@ new GLForm($('.release-form')); break; case 'projects:merge_requests:show': - new Diff(); + new gl.Diff(); shortcut_handler = new ShortcutsIssuable(true); new ZenMode(); new MergedButtons(); @@ -101,7 +101,7 @@ new MergedButtons(); break; case "projects:merge_requests:diffs": - new Diff(); + new gl.Diff(); new ZenMode(); new MergedButtons(); break; @@ -117,7 +117,7 @@ break; case 'projects:commit:show': new Commit(); - new Diff(); + new gl.Diff(); new ZenMode(); shortcut_handler = new ShortcutsNavigation(); break; diff --git a/app/assets/javascripts/merge_request_tabs.js.es6 b/app/assets/javascripts/merge_request_tabs.js.es6 index b0e068fc37b..e45de446e4c 100644 --- a/app/assets/javascripts/merge_request_tabs.js.es6 +++ b/app/assets/javascripts/merge_request_tabs.js.es6 @@ -239,7 +239,7 @@ this.diffsLoaded = true; this.scrollToElement("#diffs"); - new Diff(); + new gl.Diff(); } }); } |