https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114775
Revision: 114775
Author: kaldari
Date: 2012-04-06 21:21:08 +0000 (Fri, 06 Apr 2012)
Log Message:
-----------
making the list smart enough to know if more pages can be loaded or not after a
fetch
Modified Paths:
--------------
trunk/extensions/PageTriage/api/ApiPageTriageList.php
trunk/extensions/PageTriage/modules/ext.pageTriage.models/ext.pageTriage.article.js
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
Modified: trunk/extensions/PageTriage/api/ApiPageTriageList.php
===================================================================
--- trunk/extensions/PageTriage/api/ApiPageTriageList.php 2012-04-06
21:07:03 UTC (rev 114774)
+++ trunk/extensions/PageTriage/api/ApiPageTriageList.php 2012-04-06
21:21:08 UTC (rev 114775)
@@ -44,7 +44,7 @@
$pages = $options = array();
// Get the expected limit as defined in getAllowedParams
- $options['LIMIT'] = $opts['limit'];
+ $options['LIMIT'] = $opts['limit'] + 1;
if ( strtolower( $opts['dir'] ) === 'oldestfirst' ) {
$options['ORDER BY'] = 'ptrp_timestamp ASC';
Modified:
trunk/extensions/PageTriage/modules/ext.pageTriage.models/ext.pageTriage.article.js
===================================================================
---
trunk/extensions/PageTriage/modules/ext.pageTriage.models/ext.pageTriage.article.js
2012-04-06 21:07:03 UTC (rev 114774)
+++
trunk/extensions/PageTriage/modules/ext.pageTriage.models/ext.pageTriage.article.js
2012-04-06 21:21:08 UTC (rev 114775)
@@ -43,6 +43,7 @@
// can't include this in the declaration above because it references the
// object created therein.
mw.pageTriage.ArticleList = Backbone.Collection.extend( {
+ moreToLoad: true,
model: mw.pageTriage.Article,
apiParams: {
@@ -72,6 +73,17 @@
},
parse: function( response ) {
+ // See if the fetch returned an extra page or not. This
lets us know if there are more
+ // pages to load in a subsequent fetch.
+ if ( response.pagetriagelist.pages &&
response.pagetriagelist.pages.length > this.apiParams.limit ) {
+ // Remove the extra page from the list
+ response.pagetriagelist.pages.pop();
+ } else {
+ // We have no more pages to load.
+ this.moreToLoad = false;
+ }
+
+ // Check if user pages exist or should be redlinks
for ( var title in
response.pagetriagelist.userpagestatus ) {
mw.Title.exist.set( title );
}
Modified:
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
===================================================================
---
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
2012-04-06 21:07:03 UTC (rev 114774)
+++
trunk/extensions/PageTriage/modules/ext.pageTriage.views/ext.pageTriage.listView.js
2012-04-06 21:21:08 UTC (rev 114775)
@@ -66,6 +66,9 @@
success: function() {
$( '.mwe-pt-article-row' ).last().css(
'border-bottom', 'none' );
$.waypoints( 'refresh' );
+ if ( !articles.moreToLoad ) {
+ $(
'#mwe-pt-list-load-more-anchor' ).waypoint( 'destroy' );
+ }
}
} );
},
@@ -80,6 +83,10 @@
success: function() {
$.removeSpinner( 'more-spinner' );
$( '#mwe-pt-list-more-link' ).show();
+ if ( !articles.moreToLoad ) {
+ $( '.mwe-pt-article-row'
).last().css( 'border-bottom', 'none' );
+ $( '#mwe-pt-list-more' ).hide();
+ }
}
} );
},
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs