From: Trevor Parscal Date: Mon, 20 Sep 2010 23:32:28 +0000 (+0000) Subject: Implemented request grouping on the client. X-Git-Tag: 1.31.0-rc.0~34852 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/modifier.php?a=commitdiff_plain;h=098a3e1aa033f7b387c36c5dfa8af00896bdacca;p=lhc%2Fweb%2Fwiklou.git Implemented request grouping on the client. --- diff --git a/resources/mediawiki/mediawiki.js b/resources/mediawiki/mediawiki.js index 14be5c753d..3d94d2cb5d 100644 --- a/resources/mediawiki/mediawiki.js +++ b/resources/mediawiki/mediawiki.js @@ -502,16 +502,27 @@ window.mediaWiki = new ( function( $ ) { ); } } else { - // Calculate the highest timestamp - var version = 0; + // Split into groups + var groups = {}; for ( var b = 0; b < batch.length; b++ ) { - if ( registry[batch[b]].version > version ) { - version = registry[batch[b]].version; + var group = registry[batch[b]].group; + if ( !( group in groups ) ) { + groups[group] = []; } + groups[group][groups[group].length] = batch[b]; + } + for ( var group in groups ) { + // Calculate the highest timestamp + var version = 0; + for ( var g = 0; g < groups[group].length; g++ ) { + if ( registry[groups[group][g]].version > version ) { + version = registry[groups[group][g]].version; + } + } + requests[requests.length] = $.extend( + { 'modules': groups[group].join( '|' ), 'version': formatVersionNumber( version ) }, base + ); } - requests[requests.length] = $.extend( - { 'modules': batch.join( '|' ), 'version': formatVersionNumber( version ) }, base - ); } // Clear the batch - this MUST happen before we append the script element to the body or it's // possible that the script will be locally cached, instantly load, and work the batch again,