[MediaWiki-commits] [Gerrit] Enable moving of the pointers by clicking on the revisions. - change (mediawiki...RevisionSlider)

2016-05-25 Thread WMDE-leszek (Code Review)
WMDE-leszek has submitted this change and it was merged.

Change subject: Enable moving of the pointers by clicking on the revisions.
..


Enable moving of the pointers by clicking on the revisions.

Bug: T134993
Change-Id: I6b467d8b89bdccc2d6e01fbd94ac5890a07d20b4
---
M modules/ext.RevisionSlider.PointerView.js
M modules/ext.RevisionSlider.SliderView.js
2 files changed, 111 insertions(+), 53 deletions(-)

Approvals:
  WMDE-leszek: Verified; Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ext.RevisionSlider.PointerView.js 
b/modules/ext.RevisionSlider.PointerView.js
index d229340..ffc106c 100644
--- a/modules/ext.RevisionSlider.PointerView.js
+++ b/modules/ext.RevisionSlider.PointerView.js
@@ -49,19 +49,19 @@
},
 
animateTo: function ( posInPx, duration ) {
-   this.getElement().animate( { left: posInPx }, duration 
);
+   return this.getElement().animate( { left: posInPx }, 
duration );
},
 
slideToPosition: function ( slider, duration ) {
var relativePos = this.pointer.getPosition() - 
slider.getFirstVisibleRevisionIndex();
-   this.animateTo( relativePos * 
slider.getView().revisionWidth + 4, duration ); // +4 to align triangle and 
revision
+   return this.animateTo( relativePos * 
slider.getView().revisionWidth + 4, duration ); // +4 to align triangle and 
revision
},
 
slideToSide: function ( slider, posBeforeSlider, duration ) {
if ( posBeforeSlider ) {
-   this.animateTo( this.offset - 
slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in 
arrow
+   return this.animateTo( this.offset - 
slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in 
arrow
} else {
-   this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - 
this.offset, duration );
+   return this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - 
this.offset, duration );
}
},
 
@@ -70,9 +70,9 @@
posBeforeSlider = this.pointer.getPosition() < 
firstVisibleRev,
isVisible = !posBeforeSlider && 
this.pointer.getPosition() <= firstVisibleRev + slider.getRevisionsPerWindow();
if ( isVisible ) {
-   this.slideToPosition( slider, duration );
+   return this.slideToPosition( slider, duration );
} else {
-   this.slideToSide( slider, posBeforeSlider, 
duration );
+   return this.slideToSide( slider, 
posBeforeSlider, duration );
}
}
} );
diff --git a/modules/ext.RevisionSlider.SliderView.js 
b/modules/ext.RevisionSlider.SliderView.js
index 53546be..61d7181 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -1,6 +1,7 @@
 ( function ( mw, $ ) {
var SliderView = function ( slider ) {
this.slider = slider;
+   this.diffPage = new mw.libs.revisionSlider.DiffPage( 
this.slider.getRevisions() );
};
 
$.extend( SliderView.prototype, {
@@ -12,6 +13,11 @@
 * @type {jQuery}
 */
$element: null,
+
+   /**
+* @type {DiffPage}
+*/
+   diffPage: null,
 
/**
 * @type {Slider}
@@ -30,7 +36,6 @@
 
render: function ( $container ) {
var containerWidth = 
this.calculateSliderContainerWidth(),
-   diffPage = new mw.libs.revisionSlider.DiffPage( 
this.slider.getRevisions() ),
$revisions = 
this.slider.getRevisions().getView().render( this.revisionWidth ),
$slider = $( '' ),
self = this;
@@ -80,24 +85,49 @@

self.resetPointerStylesBasedOnPosition();

self.resetRevisionStylesBasedOnPointerPosition( $revisions );
 
-   revId1 = $revisions
-   .find( 
'div.revision[data-pos=\'' + self.pointerOne.getPosition() + '\']' )
-   .data( 'revid' );
-   revId2 = $revisions
-   .find( 
'div.revision[data-pos=\'' + 

[MediaWiki-commits] [Gerrit] Enable moving of the pointers by clicking on the revisions. - change (mediawiki...RevisionSlider)

2016-05-20 Thread Jakob (Code Review)
Jakob has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/289841

Change subject: Enable moving of the pointers by clicking on the revisions.
..

Enable moving of the pointers by clicking on the revisions.

Bug: T134993
Change-Id: I6b467d8b89bdccc2d6e01fbd94ac5890a07d20b4
---
M modules/ext.RevisionSlider.PointerView.js
M modules/ext.RevisionSlider.SliderView.js
2 files changed, 88 insertions(+), 36 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider 
refs/changes/41/289841/1

diff --git a/modules/ext.RevisionSlider.PointerView.js 
b/modules/ext.RevisionSlider.PointerView.js
index 9575b0a..4c98ae0 100644
--- a/modules/ext.RevisionSlider.PointerView.js
+++ b/modules/ext.RevisionSlider.PointerView.js
@@ -49,19 +49,19 @@
},
 
animateTo: function ( posInPx, duration ) {
-   this.getElement().animate( { left: posInPx }, duration 
);
+   return this.getElement().animate( { left: posInPx }, 
duration );
},
 
slideToPosition: function ( slider, duration ) {
var relativePos = this.pointer.getPosition() - 
slider.getFirstVisibleRevisionIndex();
-   this.animateTo( relativePos * 
slider.getView().revisionWidth, duration );
+   return this.animateTo( relativePos * 
slider.getView().revisionWidth, duration );
},
 
slideToSide: function ( slider, posBeforeSlider, duration ) {
if ( posBeforeSlider ) {
-   this.animateTo( this.offset - 
slider.getView().revisionWidth, duration );
+   return this.animateTo( this.offset - 
slider.getView().revisionWidth, duration );
} else {
-   this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - 
this.offset, duration );
+   return this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - 
this.offset, duration );
}
},
 
@@ -70,9 +70,9 @@
posBeforeSlider = this.pointer.getPosition() < 
firstVisibleRev,
isVisible = !posBeforeSlider && 
this.pointer.getPosition() <= firstVisibleRev + slider.getRevisionsPerWindow();
if ( isVisible ) {
-   this.slideToPosition( slider, duration );
+   return this.slideToPosition( slider, duration );
} else {
-   this.slideToSide( slider, posBeforeSlider, 
duration );
+   return this.slideToSide( slider, 
posBeforeSlider, duration );
}
}
} );
diff --git a/modules/ext.RevisionSlider.SliderView.js 
b/modules/ext.RevisionSlider.SliderView.js
index 14717f1..8f59ed6 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -1,6 +1,7 @@
 ( function ( mw, $ ) {
var SliderView = function ( slider ) {
this.slider = slider;
+   this.diffPage = new mw.libs.revisionSlider.DiffPage( 
this.slider.getRevisions() );
};
 
$.extend( SliderView.prototype, {
@@ -12,6 +13,11 @@
 * @type {jQuery}
 */
$element: null,
+
+   /**
+* @type {DiffPage}
+*/
+   diffPage: null,
 
/**
 * @type {Slider}
@@ -30,7 +36,6 @@
 
render: function ( $container ) {
var containerWidth = 
this.calculateSliderContainerWidth(),
-   diffPage = new mw.libs.revisionSlider.DiffPage( 
this.slider.getRevisions() ),
$revisions = 
this.slider.getRevisions().getView().render( this.revisionWidth ),
$slider = $( '' ),
self = this;
@@ -85,43 +90,83 @@
.find( 
'div.revision[data-pos=\'' + self.pointerTwo.getPosition() + '\']' )
.data( 'revid' );
 
-   diffPage.refresh( revId1, revId2 );
-   diffPage.pushState( revId1, revId2, 
self );
+   self.diffPage.refresh( revId1, revId2 );
+   self.diffPage.pushState( revId1, 
revId2, self );
},
drag: function () {
-   self.resetPointerColorsBasedOnOffset();
+