Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/167971
Change subject: Hygiene: Refactor pageImage.js to be a method on PageList
......................................................................
Hygiene: Refactor pageImage.js to be a method on PageList
Change-Id: I750468cd1c06cd14c2f2fb90cee84fa01a341b93
---
M includes/Resources.php
M javascripts/modules/PageList.js
M javascripts/modules/search/SearchOverlay.js
D javascripts/modules/search/pageImages.js
4 files changed, 41 insertions(+), 45 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/71/167971/1
diff --git a/includes/Resources.php b/includes/Resources.php
index 516cad5..a74b1ee 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -448,7 +448,6 @@
'javascripts/modules/search/SearchApi.js',
'javascripts/modules/search/SearchOverlay.js',
'javascripts/modules/search/search.js',
- 'javascripts/modules/search/pageImages.js',
),
'templates' => array(
'modules/search/SearchOverlay.hogan',
diff --git a/javascripts/modules/PageList.js b/javascripts/modules/PageList.js
index 13fca6e..d863a0a 100644
--- a/javascripts/modules/PageList.js
+++ b/javascripts/modules/PageList.js
@@ -12,6 +12,44 @@
pages: [],
enhance: false
},
+ /**
+ * Render page images for the existing page list. Assumes no
page images have been loaded.
+ * Only load when wgImagesDisabled has not been activated via
Special:MobileOptions.
+ */
+ renderPageImages: function() {
+ var self = this,
+ pages = {},
+ $ul = this.$( '.page-list' ),
+ delay = M.isWideScreen() ? 0 : 1000;
+
+ if ( !mw.config.get( 'wgImagesDisabled' ) ) {
+ window.setTimeout( function() {
+ $.each( self.options.pages, function(
i, page ) {
+ var thumb;
+ if ( page.thumbnail ) {
+ thumb = page.thumbnail;
+
page.listThumbStyleAttribute = 'background-image: url(' + thumb.source + ')';
+ page.pageimageClass =
thumb.width > thumb.height ? 'list-thumb-y' : 'list-thumb-x';
+ } else {
+ page.pageimageClass =
'list-thumb-none list-thumb-x';
+ }
+ pages[page.title] = page;
+ } );
+
+ // Render page images
+ $ul.find( 'li' ).each( function() {
+ var $li = $( this ),
+ title = $li.attr(
'title' ),
+ page = pages[title];
+
+ if ( page ) {
+ $li.find( '.list-thumb'
).addClass( page.pageimageClass )
+ .attr( 'style',
page.listThumbStyleAttribute );
+ }
+ } );
+ }, delay );
+ }
+ },
initialize: function( options ) {
// FIXME: Find more elegant standard way to allow
enhancement of views already in DOM
if ( options.enhance ) {
diff --git a/javascripts/modules/search/SearchOverlay.js
b/javascripts/modules/search/SearchOverlay.js
index cca085c..c370258 100644
--- a/javascripts/modules/search/SearchOverlay.js
+++ b/javascripts/modules/search/SearchOverlay.js
@@ -111,6 +111,7 @@
performSearch: function() {
var
self = this,
+ pageList,
query = this.$input.val(),
$results = this.$( '.results' );
@@ -137,7 +138,8 @@
filter(
data.results.length ? '.with-results' : '.without-results' ).
show();
self.$(
'.spinner' ).hide();
- new PageList( {
pages: data.results, el: $results } );
+ pageList = new
PageList( { pages: data.results, el: $results } );
+
pageList.renderPageImages();
M.emit(
'search-results', self, data.results );
}
} );
diff --git a/javascripts/modules/search/pageImages.js
b/javascripts/modules/search/pageImages.js
deleted file mode 100644
index d0878e5..0000000
--- a/javascripts/modules/search/pageImages.js
+++ /dev/null
@@ -1,43 +0,0 @@
-( function( M, $ ) {
-
- var delay = M.isWideScreen() ? 0 : 1000;
-
- function renderPageImages( overlay, results ) {
- var pages = {},
- $ul = overlay.$( 'ul' );
-
- $.each( results, function( i, page ) {
- var thumb;
- if ( page.thumbnail ) {
- thumb = page.thumbnail;
- page.listThumbStyleAttribute =
'background-image: url(' + thumb.source + ')';
- page.pageimageClass = thumb.width >
thumb.height ? 'list-thumb-y' : 'list-thumb-x';
- } else {
- page.pageimageClass = 'list-thumb-none
list-thumb-x';
- }
- pages[page.title] = page;
- } );
-
- // Render page images
- $ul.find( 'li' ).each( function() {
- var $li = $( this ),
- title = $li.attr( 'title' ),
- page = pages[title];
-
- if ( page ) {
- $li.find( '.list-thumb' ).addClass(
page.pageimageClass )
- .attr( 'style',
page.listThumbStyleAttribute );
- }
- } );
- }
-
- // Add event to retrieve page images when images not disabled
- if ( !mw.config.get( 'wgImagesDisabled' ) ) {
- M.on( 'search-results', function( overlay, results ) {
- window.setTimeout( function() {
- renderPageImages( overlay, results );
- }, delay );
- } );
- }
-
-}( mw.mobileFrontend, jQuery ) );
--
To view, visit https://gerrit.wikimedia.org/r/167971
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I750468cd1c06cd14c2f2fb90cee84fa01a341b93
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits