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