Jakob has uploaded a new change for review.

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

Change subject: Make pointer offset depend on whether pointer is the upper 
pointer.
......................................................................

Make pointer offset depend on whether pointer is the upper pointer.

Bug: T135837
Change-Id: I0ccc34751765f1f98dd29426d4efb3f3419f3932
---
M modules/ext.RevisionSlider.Pointer.js
M modules/ext.RevisionSlider.PointerView.js
M tests/RevisionSlider.PointerView.test.js
3 files changed, 24 insertions(+), 16 deletions(-)


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

diff --git a/modules/ext.RevisionSlider.Pointer.js 
b/modules/ext.RevisionSlider.Pointer.js
index e581c0d..f3a88c1 100644
--- a/modules/ext.RevisionSlider.Pointer.js
+++ b/modules/ext.RevisionSlider.Pointer.js
@@ -1,6 +1,6 @@
 ( function ( mw, $ ) {
-       var Pointer = function ( id, offset ) {
-               this.view = new mw.libs.revisionSlider.PointerView( this, id, 
offset );
+       var Pointer = function ( id ) {
+               this.view = new mw.libs.revisionSlider.PointerView( this, id );
        };
 
        $.extend( Pointer.prototype, {
diff --git a/modules/ext.RevisionSlider.PointerView.js 
b/modules/ext.RevisionSlider.PointerView.js
index ffc106c..ad8bbb1 100644
--- a/modules/ext.RevisionSlider.PointerView.js
+++ b/modules/ext.RevisionSlider.PointerView.js
@@ -1,8 +1,7 @@
 ( function ( mw, $ ) {
-       var PointerView = function ( pointer, id, offset ) {
+       var PointerView = function ( pointer, id ) {
                this.pointer = pointer;
                this.id = id;
-               this.offset = offset;
        };
 
        $.extend( PointerView.prototype, {
@@ -10,11 +9,6 @@
                 * @type {string}
                 */
                id: '',
-
-               /**
-                * @type {int}
-                */
-               offset: 0,
 
                /**
                 * @type {Pointer}
@@ -44,8 +38,12 @@
                        return this.$html;
                },
 
+               isUpperPointer: function () {
+                       return this.getElement().hasClass( 'upper-pointer' );
+               },
+
                getOffset: function () {
-                       return this.offset;
+                       return this.isUpperPointer() ? 16 : 0;
                },
 
                animateTo: function ( posInPx, duration ) {
@@ -59,9 +57,9 @@
 
                slideToSide: function ( slider, posBeforeSlider, duration ) {
                        if ( posBeforeSlider ) {
-                               return this.animateTo( this.offset - 
slider.getView().revisionWidth + 20, duration ); // +20 otherwise pointer is in 
arrow
+                               return this.animateTo( this.getOffset() - ( 
slider.getView().revisionWidth / 2 ), duration ); // +10 otherwise pointer is 
in arrow
                        } else {
-                               return this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth - 
this.offset, duration );
+                               return this.animateTo( ( 
slider.getRevisionsPerWindow() + 1 ) * slider.getView().revisionWidth + 
this.getOffset(), duration );
                        }
                },
 
diff --git a/tests/RevisionSlider.PointerView.test.js 
b/tests/RevisionSlider.PointerView.test.js
index 34613a3..7b6c8db 100644
--- a/tests/RevisionSlider.PointerView.test.js
+++ b/tests/RevisionSlider.PointerView.test.js
@@ -7,11 +7,21 @@
                assert.ok( ( new PointerView( null, 'revslider-pointer' ) 
).render().hasClass( 'pointer' ) );
        } );
 
-       QUnit.test( 'Has offset', function ( assert ) {
-               var offset = 30,
-                       pointer = new PointerView( null, 'revslider-pointer', 
offset );
+       QUnit.test( 'Is upper pointer', function ( assert ) {
+               var pv = new PointerView( null, 'revslider-pointer' );
+               pv.render();
+               assert.notOk( pv.isUpperPointer() );
 
-               assert.equal( pointer.getOffset(), offset );
+               pv.getElement().addClass( 'upper-pointer' );
+               assert.ok( pv.isUpperPointer() );
        } );
 
+       QUnit.test( 'Has offset', function ( assert ) {
+               var pv = new PointerView( null, 'revslider-pointer' );
+               pv.render();
+               assert.equal( pv.getOffset(), 0 );
+
+               pv.getElement().addClass( 'upper-pointer' );
+               assert.equal( pv.getOffset(), 16 );
+       } );
 } )( mediaWiki );

-- 
To view, visit https://gerrit.wikimedia.org/r/290911
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0ccc34751765f1f98dd29426d4efb3f3419f3932
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: Jakob <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to