X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.widgets%2FMediaSearch%2Fmw.widgets.MediaSearchWidget.js;h=1cc168abafe70c85f8f919523a9f51c51d1591bc;hb=f7e1770fb832aa77bf4e16ce8cc815f2b24dd10d;hp=c6938e874eaf3cb4f4ff4d9515b6d5c7756df45a;hpb=17b3bab4d636df56e4a4b55e52fcda9fde892804;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchWidget.js b/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchWidget.js index c6938e874e..1cc168abaf 100644 --- a/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchWidget.js +++ b/resources/src/mediawiki.widgets/MediaSearch/mw.widgets.MediaSearchWidget.js @@ -65,7 +65,7 @@ this.$results.on( 'scroll', this.onResultsScroll.bind( this ) ); this.$query.append( this.noItemsMessage.$element ); this.results.connect( this, { - add: 'onResultsAdd', + change: 'onResultsChange', remove: 'onResultsRemove' } ); @@ -351,15 +351,19 @@ }; /** - * Respond to add results event in the results widget. + * Respond to change results event in the results widget. * Override the way SelectWidget and GroupElement append the items * into the group so we can append them in groups of rows. * * @param {mw.widgets.MediaResultWidget[]} items An array of item elements */ - mw.widgets.MediaSearchWidget.prototype.onResultsAdd = function ( items ) { + mw.widgets.MediaSearchWidget.prototype.onResultsChange = function ( items ) { var search = this; + if ( !items.length ) { + return; + } + // Add method to a queue; this queue will only run when the widget // is visible this.layoutQueue.push( function () { @@ -370,6 +374,12 @@ // Go over the added items row = search.getAvailableRow(); for ( i = 0, ilen = items.length; i < ilen; i++ ) { + + // Check item has just been added + if ( items[ i ].row !== null ) { + continue; + } + itemWidth = items[ i ].$element.outerWidth( true ); // Add items to row until it is full @@ -404,6 +414,7 @@ // Append the item search.rows[ row ].$element.append( items[ i ].$element ); + } // If we have less than 4 rows, call for more images