Add wrapdiff option for scrollToDiff next\prev to wrap to start\end of text. resolves #57

This commit is contained in:
zhudock
2017-02-28 15:55:52 -05:00
parent 6b8c92a8db
commit d761609e54

View File

@@ -395,6 +395,7 @@ jQuery.extend(Mgly.CodeMirrorDiffView.prototype, {
viewport: false,
ignorews: false,
ignorecase: false,
wrapdiff: false,
fadein: 'fast',
editor_width: '650px',
editor_height: '400px',
@@ -498,10 +499,18 @@ jQuery.extend(Mgly.CodeMirrorDiffView.prototype, {
scrollToDiff: function(direction) {
if (!this.changes.length) return;
if (direction == 'next') {
this._current_diff = Math.min(++this._current_diff, this.changes.length - 1);
if (this.settings.wrapdiff && this._current_diff == this.changes.length -1) {
this._current_diff = 0;
} else {
this._current_diff = Math.min(++this._current_diff, this.changes.length - 1);
}
}
else if (direction == 'prev') {
this._current_diff = Math.max(--this._current_diff, 0);
if (this.settings.wrapdiff && this._current_diff == 0) {
this._current_diff = this.changes.length - 1;
} else {
this._current_diff = Math.max(--this._current_diff, 0);
}
}
this._scroll_to_change(this.changes[this._current_diff]);
this._changed(this.id + '-lhs', this.id + '-rhs');