summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2016-10-25 14:25:46 -0500
committerMike Greiling <mike@pixelcog.com>2016-12-02 17:38:57 -0600
commit4f107f3fc4333fe2234fac1bf1247164542484a2 (patch)
tree8d8da8662c3305145670a6d9676a540067033452
parent6cbc305daf9a30e01943c5d990424d21fb907010 (diff)
downloadgitlab-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.es610
-rw-r--r--app/assets/javascripts/merge_request_tabs.js.es62
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();
}
});
}