jenkins-bot has submitted this change and it was merged.

Change subject: Expand slider if there are space for more revision at the 
beginning
......................................................................


Expand slider if there are space for more revision at the beginning

After resizing a window there might be more space at the beginning
of the slider "axis" than there are revisions loaded so far. In such
case the slider should be expanded, so more revisions are loaded
to fill the whole available space.

Change-Id: Ied8abe294967328112afb1fe4d14b2e29ed2c092
---
M modules/ext.RevisionSlider.SliderView.js
1 file changed, 11 insertions(+), 6 deletions(-)

Approvals:
  Jakob: Checked; Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ext.RevisionSlider.SliderView.js 
b/modules/ext.RevisionSlider.SliderView.js
index 55889c5..9daf162 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -740,6 +740,7 @@
                        }
 
                        this.slider.setFirstVisibleRevisionIndex( 
this.slider.getFirstVisibleRevisionIndex() + revisionsToRender.getLength() );
+
                        revIdOld = self.getRevElementAtPosition( $revisions, 
pOld.getPosition() ).data( 'revid' );
                        revIdNew = self.getRevElementAtPosition( $revisions, 
pNew.getPosition() ).data( 'revid' );
                        this.diffPage.replaceState( revIdOld, revIdNew, this );
@@ -748,6 +749,10 @@
                        $revisionContainer.scrollLeft( scrollLeft );
                        if ( this.$element.css( 'direction' ) === 'rtl' ) {
                                $revisionContainer.scrollLeft( 
self.getRtlScrollLeft( $revisionContainer, scrollLeft ) );
+                       }
+
+                       if ( this.shouldExpandSlider( $slider ) ) {
+                               this.expandSlider( $slider );
                        }
 
                        
this.slider.getRevisions().getView().adjustRevisionSizes( $slider );
@@ -777,24 +782,24 @@
                        var sliderWidth = parseInt( $slider.css( 'width' ), 10 
),
                                maxAvailableWidth = 
this.calculateSliderContainerWidth() + this.containerMargin;
 
-                       return !this.noMoreNewerRevisions && sliderWidth < 
maxAvailableWidth;
+                       return !( this.noMoreNewerRevisions && 
this.noMoreOlderRevisions ) && sliderWidth < maxAvailableWidth;
                },
 
                /**
                 * @param {jQuery} $slider
                 */
                expandSlider: function ( $slider ) {
-                       var containerWidth = 
this.calculateSliderContainerWidth();
+                       var containerWidth = 
this.calculateSliderContainerWidth(),
+                               expandedRevisionWindowCapacity;
 
                        $slider.css( { width: ( containerWidth + 
this.containerMargin ) + 'px' } );
                        $slider.find( '.mw-revslider-revisions-container' 
).css( { width: containerWidth + 'px' } );
                        $slider.find( '.mw-revslider-pointer-container' ).css( 
{ width: containerWidth + this.revisionWidth - 1 + 'px' } );
 
-                       if ( $slider.css( 'direction' ) === 'rtl' ) {
-                               this.alignPointers( 0 );
-                       }
+                       expandedRevisionWindowCapacity = $slider.find( 
'.mw-revslider-revisions-container' ).width() / this.revisionWidth;
+                       this.slider.setRevisionsPerWindow( 
expandedRevisionWindowCapacity );
 
-                       this.slider.setRevisionsPerWindow( $slider.find( 
'.mw-revslider-revisions-container' ).width() / this.revisionWidth );
+                       this.slide( Math.floor( ( 
this.pointerNewer.getPosition() - 1 ) / expandedRevisionWindowCapacity ), 0 );
                }
 
        } );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ied8abe294967328112afb1fe4d14b2e29ed2c092
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: WMDE-leszek <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Jakob <[email protected]>
Gerrit-Reviewer: WMDE-Fisch <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to