[MediaWiki-commits] [Gerrit] TOC: Trigger the loadmore check after each load - change (mediawiki...Flow)

2015-01-10 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: TOC: Trigger the loadmore check after each load
..


TOC: Trigger the loadmore check after each load

The loadmore code was attempting to trigger the scroll.flow event,
but under some circumstances was triggering it against an unparented
target.  Our actual handler is not the target but an element in the
bubble path, so the unparented event did not trigger the right code.

This removes the unnecessary check in flow-board-loadmore.js, and
adjusts to trigger the 'scroll.flow' event on the correct elements.

Change-Id: I8ecb1c417e6a378aeb582002e669ec288cc8d076
---
M modules/engine/components/board/features/flow-board-loadmore.js
M modules/engine/components/board/features/flow-board-toc.js
2 files changed, 1 insertion(+), 8 deletions(-)

Approvals:
  Mattflaschen: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/engine/components/board/features/flow-board-loadmore.js 
b/modules/engine/components/board/features/flow-board-loadmore.js
index eb219fd..2f1e040 100644
--- a/modules/engine/components/board/features/flow-board-loadmore.js
+++ b/modules/engine/components/board/features/flow-board-loadmore.js
@@ -345,13 +345,6 @@
$target.on( 'scroll.flow', $.throttle( 50, function () {

_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck.call( board, 
$scrollContainer, $target );
} ) );
-
-   // Auto-trigger to keep loading if the new button is 
already in the viewport
-   if ( $button.is( ':visible' ) ) {
-   setTimeout( function () {
-   $button.parents().trigger( 
'scroll.flow' );
-   }, 100 );
-   }
}
}
FlowBoardComponentLoadMoreFeatureMixin.UI.events.loadHandlers.loadMore 
= flowBoardComponentLoadMoreFeatureElementLoadCallback;
diff --git a/modules/engine/components/board/features/flow-board-toc.js 
b/modules/engine/components/board/features/flow-board-toc.js
index 4508944..74b7fbf 100644
--- a/modules/engine/components/board/features/flow-board-toc.js
+++ b/modules/engine/components/board/features/flow-board-toc.js
@@ -220,7 +220,7 @@
}
 
// Triggers load more if we didn't load enough content to fill 
the viewport
-   info.$target.trigger( 'scroll.flow' );
+   $kids.trigger( 'scroll.flow' );
}
FlowBoardComponentTocFeatureMixin.UI.events.apiHandlers.topicList = 
flowBoardComponentTocFeatureMixinTopicListApiHandler;
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ecb1c417e6a378aeb582002e669ec288cc8d076
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 
Gerrit-Reviewer: EBernhardson 
Gerrit-Reviewer: Mattflaschen 
Gerrit-Reviewer: SG 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] TOC: Trigger the loadmore check after each load - change (mediawiki...Flow)

2014-12-15 Thread EBernhardson (Code Review)
EBernhardson has uploaded a new change for review.

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

Change subject: TOC: Trigger the loadmore check after each load
..

TOC: Trigger the loadmore check after each load

The loadmore was setup to only re-trigger flow.scroll on the first
load, but we want it to fire any time the anchor is on screen.  Not
doing this caused the toc behavior to stop loading more if the second
load was not enough to trigger a scrollbar.  This is not likely to be
as much of an issue in prod when we increase the limit on the toc
query, but is an important edge case we might still see on browsers on
a portrait browser and such.

Change-Id: I8ecb1c417e6a378aeb582002e669ec288cc8d076
---
M modules/engine/components/board/features/flow-board-loadmore.js
1 file changed, 18 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/15/180115/1

diff --git a/modules/engine/components/board/features/flow-board-loadmore.js 
b/modules/engine/components/board/features/flow-board-loadmore.js
index eb219fd..bd8184c 100644
--- a/modules/engine/components/board/features/flow-board-loadmore.js
+++ b/modules/engine/components/board/features/flow-board-loadmore.js
@@ -330,29 +330,27 @@
this.$loadMoreNodes = this.$loadMoreNodes.add( $button );
 
// Make sure we didn't already bind to this element's scroll 
previously
-   if ( $scrollContainer.data( 'scrollIsBound' ) ) {
-   return;
-   }
-   $scrollContainer.data( 'scrollIsBound', true );
+   if ( !$scrollContainer.data( 'scrollIsBound' ) ) {
+   $scrollContainer.data( 'scrollIsBound', true );
 
-   // Bind the event for this
-   if ( scrollTargetSelector === 'window' ) {
-   this.on( 'windowScroll', function () {
-   
_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck.call( board, 
$scrollContainer, $( window ) );
-   } );
-   } else {
-   $target = $.findWithParent( $button, 
scrollTargetSelector );
-   $target.on( 'scroll.flow', $.throttle( 50, function () {
-   
_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck.call( board, 
$scrollContainer, $target );
-   } ) );
-
-   // Auto-trigger to keep loading if the new button is 
already in the viewport
-   if ( $button.is( ':visible' ) ) {
-   setTimeout( function () {
-   $button.parents().trigger( 
'scroll.flow' );
-   }, 100 );
+   // Bind the event for this
+   if ( scrollTargetSelector === 'window' ) {
+   this.on( 'windowScroll', function () {
+   
_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck.call( board, 
$scrollContainer, $( window ) );
+   } );
+   } else {
+   $target = $.findWithParent( $button, 
scrollTargetSelector );
+   $target.on( 'scroll.flow', $.throttle( 50, 
function () {
+   
_flowBoardComponentLoadMoreFeatureInfiniteScrollCheck.call( board, 
$scrollContainer, $target );
+   } ) );
}
}
+   // Auto-trigger to keep loading if the new button is already in 
the viewport
+   if ( scrollTargetSelector !== 'window' && $button.is( 
':visible' ) ) {
+   setTimeout( function () {
+   $button.trigger( 'scroll.flow' );
+   }, 100 );
+   }
}
FlowBoardComponentLoadMoreFeatureMixin.UI.events.loadHandlers.loadMore 
= flowBoardComponentLoadMoreFeatureElementLoadCallback;
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ecb1c417e6a378aeb582002e669ec288cc8d076
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: EBernhardson 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits