WMDE-Fisch has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/364336 )
Change subject: Refactor pointer position access
......................................................................
Refactor pointer position access
Pointers do not change roles anymore. Older and Newer pointer will
always stay the same. Removed and refactored some logic in that
regard.
Change-Id: I60cf58fb9d0728a9644ed29cac335ebbe7f3de11
---
M modules/ext.RevisionSlider.SliderView.js
1 file changed, 44 insertions(+), 50 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/RevisionSlider
refs/changes/36/364336/1
diff --git a/modules/ext.RevisionSlider.SliderView.js
b/modules/ext.RevisionSlider.SliderView.js
index 57d8b4a..e01c61d 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -127,7 +127,7 @@
$container.html( this.$element );
- this.slide( Math.floor( (
this.pointerNewer.getPosition() - 1 ) / this.slider.getRevisionsPerWindow() ),
0 );
+ this.slide( Math.floor( ( this.getNewerPointerPos() - 1
) / this.slider.getRevisionsPerWindow() ), 0 );
this.diffPage.addHandlersToCoreLinks( this );
this.diffPage.replaceState( mw.config.get(
'extRevisionSliderNewRev' ), mw.config.get( 'extRevisionSliderOldRev' ), this );
this.diffPage.initOnPopState( this );
@@ -253,6 +253,22 @@
.addClass( 'mw-revslider-pointer-oldid
mw-revslider-pointer-lower' );
},
+ getOlderPointerPos: function () {
+ return this.pointerOlder.getPosition();
+ },
+
+ getNewerPointerPos: function () {
+ return this.pointerNewer.getPosition();
+ },
+
+ setOlderPointerPos: function ( pos ) {
+ return this.pointerOlder.setPosition( pos );
+ },
+
+ setNewerPointerPos: function ( pos ) {
+ return this.pointerNewer.setPosition( pos );
+ },
+
showTooltipsOnMouseMoveHandler: function ( event,
lastValidPosition ) {
var pos = this.getRevisionPositionFromLeftOffset(
event.pageX ),
$hoveredRevisionWrapper;
@@ -350,7 +366,7 @@
).data( 'revid' );
oldid = self.getRevElementAtPosition(
- $revisions,
self.pointerOlder.getPosition()
+ $revisions,
self.getOlderPointerPos()
).data( 'revid' );
self.refreshRevisions( diff, oldid );
@@ -443,24 +459,6 @@
},
/**
- * Returns the pointer that points to the older revision
- *
- * @return {Pointer}
- */
- getOldRevPointer: function () {
- return this.pointerOlder.getPosition() <=
this.pointerNewer.getPosition() ? this.pointerOlder : this.pointerNewer;
- },
-
- /**
- * Returns the pointer that points to the newer revision
- *
- * @return {Pointer}
- */
- getNewRevPointer: function () {
- return this.pointerOlder.getPosition() >
this.pointerNewer.getPosition() ? this.pointerOlder : this.pointerNewer;
- },
-
- /**
* Refreshes the diff page to show the diff for the specified
revisions
*
* @param {number} diff
@@ -472,14 +470,14 @@
},
showNextDiff: function () {
- this.pointerOlder.setPosition(
this.pointerNewer.getPosition() );
- this.pointerNewer.setPosition(
this.pointerNewer.getPosition() + 1 );
+ this.setOlderPointerPos( this.getNewerPointerPos() );
+ this.setNewerPointerPos( this.getNewerPointerPos() + 1
);
this.resetAndRefreshRevisions();
},
showPrevDiff: function () {
- this.pointerNewer.setPosition(
this.pointerOlder.getPosition() );
- this.pointerOlder.setPosition(
this.pointerOlder.getPosition() - 1 );
+ this.setNewerPointerPos( this.getOlderPointerPos() );
+ this.setOlderPointerPos( this.getOlderPointerPos() - 1
);
this.resetAndRefreshRevisions();
},
@@ -491,8 +489,8 @@
);
this.updatePointerPositionAttributes();
this.refreshRevisions(
- $( '.mw-revslider-revision[data-pos="' +
this.pointerNewer.getPosition() + '"]' ).attr( 'data-revid' ),
- $( '.mw-revslider-revision[data-pos="' +
this.pointerOlder.getPosition() + '"]' ).attr( 'data-revid' )
+ $( '.mw-revslider-revision[data-pos="' +
this.getNewerPointerPos() + '"]' ).attr( 'data-revid' ),
+ $( '.mw-revslider-revision[data-pos="' +
this.getOlderPointerPos() + '"]' ).attr( 'data-revid' )
);
},
@@ -532,7 +530,7 @@
* @param {jQuery} $newRevElement
*/
initializePointers: function ( $oldRevElement, $newRevElement )
{
- if ( this.pointerOlder.getPosition() !== 0 ||
this.pointerNewer.getPosition() !== 0 ) {
+ if ( this.getOlderPointerPos() !== 0 ||
this.getNewerPointerPos() !== 0 ) {
return;
}
if ( $oldRevElement.length === 0 &&
$newRevElement.length === 0 ) {
@@ -540,11 +538,11 @@
throw new Error( 'RS-revs-not-specified' );
}
if ( $oldRevElement.length !== 0 ) {
- this.pointerOlder.setPosition(
$oldRevElement.data( 'pos' ) );
+ this.setOlderPointerPos( $oldRevElement.data(
'pos' ) );
} else {
- this.pointerOlder.setPosition( -1 );
+ this.setOlderPointerPos( -1 );
}
- this.pointerNewer.setPosition( $newRevElement.data(
'pos' ) );
+ this.setNewerPointerPos( $newRevElement.data( 'pos' ) );
this.resetSliderLines();
this.updatePointerPositionAttributes();
},
@@ -598,15 +596,15 @@
},
getOlderDistanceToOldest: function () {
- return this.pointerOlder.getPosition() -
this.slider.getOldestVisibleRevisionIndex();
+ return this.getOlderPointerPos() -
this.slider.getOldestVisibleRevisionIndex();
},
getNewerDistanceToNewest: function () {
- return this.slider.getNewestVisibleRevisionIndex() -
this.pointerNewer.getPosition();
+ return this.slider.getNewestVisibleRevisionIndex() -
this.getNewerPointerPos();
},
getDistanceBetweenPointers: function () {
- return this.pointerNewer.getPosition() -
this.pointerOlder.getPosition();
+ return this.getNewerPointerPos() -
this.getOlderPointerPos();
},
/**
@@ -615,8 +613,8 @@
* @param {jQuery} $revisions
*/
resetRevisionStylesBasedOnPointerPosition: function (
$revisions ) {
- var olderRevPosition =
this.getOldRevPointer().getPosition(),
- newerRevPosition =
this.getNewRevPointer().getPosition(),
+ var olderRevPosition = this.getOlderPointerPos(),
+ newerRevPosition = this.getNewerPointerPos(),
positionIndex = olderRevPosition + 1;
$revisions.find( 'div.mw-revslider-revision' )
@@ -634,14 +632,14 @@
* Updates value of pointers' position data attribute
*/
updatePointerPositionAttributes: function () {
- this.getNewRevPointer().getView().getElement().attr(
+ this.pointerNewer.getView().getElement().attr(
'data-pos',
- this.getNewRevPointer().getPosition()
+ this.getNewerPointerPos()
);
- this.getOldRevPointer().getView().getElement().attr(
+ this.pointerOlder.getView().getElement().attr(
'data-pos',
- this.getOldRevPointer().getPosition()
+ this.getOlderPointerPos()
);
},
@@ -922,7 +920,6 @@
$revisionContainer = $slider.find(
'.mw-revslider-revisions-container' ),
revisionsToRender,
$addedRevisions,
- pOld, pNew,
revIdOld, revIdNew,
revisionStyleResetRequired = false,
$oldRevElement,
@@ -940,21 +937,18 @@
$addedRevisions = new
mw.libs.revisionSlider.RevisionListView( revisionsToRender, this.dir ).render(
this.revisionWidth );
- pOld = this.getOldRevPointer();
- pNew = this.getNewRevPointer();
-
- if ( pOld.getPosition() !== -1 ) {
- pOld.setPosition( pOld.getPosition() +
revisionsToRender.getLength() );
+ if ( this.getOlderPointerPos() !== -1 ) {
+ this.setOlderPointerPos(
this.getOlderPointerPos() + revisionsToRender.getLength() );
} else {
// Special case: old revision has been
previously not loaded, need to initialize correct position
$oldRevElement = this.getOldRevElement(
$addedRevisions );
if ( $oldRevElement.length !== 0 ) {
- pOld.setPosition( $oldRevElement.data(
'pos' ) );
+ this.setOlderPointerPos(
$oldRevElement.data( 'pos' ) );
revisionStyleResetRequired = true;
}
}
- pNew.setPosition( pNew.getPosition() +
revisionsToRender.getLength() );
+ this.setNewerPointerPos( this.getNewerPointerPos() +
revisionsToRender.getLength() );
$( $addedRevisions.find(
'.mw-revslider-revision-wrapper' ).get().reverse() ).each( function () { //
TODO: this is horrible
$revisions.prepend( $( this ) );
@@ -966,8 +960,8 @@
this.slider.setFirstVisibleRevisionIndex(
this.slider.getOldestVisibleRevisionIndex() + revisionsToRender.getLength() );
- revIdOld = self.getRevElementAtPosition( $revisions,
pOld.getPosition() ).data( 'revid' );
- revIdNew = self.getRevElementAtPosition( $revisions,
pNew.getPosition() ).data( 'revid' );
+ revIdOld = self.getRevElementAtPosition( $revisions,
this.getOlderPointerPos() ).data( 'revid' );
+ revIdNew = self.getRevElementAtPosition( $revisions,
this.getNewerPointerPos() ).data( 'revid' );
this.diffPage.replaceState( revIdNew, revIdOld, this );
scrollLeft =
this.slider.getOldestVisibleRevisionIndex() * this.revisionWidth;
@@ -1010,7 +1004,7 @@
expandedRevisionWindowCapacity = $slider.find(
'.mw-revslider-revisions-container' ).width() / this.revisionWidth;
this.slider.setRevisionsPerWindow(
expandedRevisionWindowCapacity );
- this.slide( Math.floor( (
this.pointerNewer.getPosition() - 1 ) / expandedRevisionWindowCapacity ), 0 );
+ this.slide( Math.floor( ( this.getNewerPointerPos() - 1
) / expandedRevisionWindowCapacity ), 0 );
},
/**
--
To view, visit https://gerrit.wikimedia.org/r/364336
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I60cf58fb9d0728a9644ed29cac335ebbe7f3de11
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: WMDE-Fisch <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits