Phedenskog has uploaded a new change for review.
https://gerrit.wikimedia.org/r/284816
Change subject: Prepare for collectors to return promises
......................................................................
Prepare for collectors to return promises
Lets take promises from the collectors so that we later on can do
things async inside the collectors (fetching images etc).
Change-Id: I672e81a265cbe8d00fe5ce1baa04abaf8485918d
---
M modules/ext.PerformanceInspector.startup.js
1 file changed, 26 insertions(+), 16 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/PerformanceInspector
refs/changes/16/284816/1
diff --git a/modules/ext.PerformanceInspector.startup.js
b/modules/ext.PerformanceInspector.startup.js
index 9fd9098..f88ed87 100644
--- a/modules/ext.PerformanceInspector.startup.js
+++ b/modules/ext.PerformanceInspector.startup.js
@@ -25,27 +25,37 @@
).done( function () {
var views = [],
summary = {},
- windowManager = new
OO.ui.WindowManager();
+ windowManager = new
OO.ui.WindowManager(),
+ promises = [];
// for each collector object collect
summary and view data and
// pass it on to the dialog
mw.performanceInspector.collectors.forEach( function ( collector ) {
- var data = collector();
- if ( data.view ) {
- views.push( data.view );
- Object.keys(
data.summary ).forEach( function ( summaryItem ) {
- summary[
summaryItem ] = data.summary[ summaryItem ];
- } );
- }
+ promises.push( collector() );
} );
- piDialog = new
mw.performanceInspector.dialog.PiDialog( {
- size: 'larger'
- },
- summary,
- views );
+ $.when.apply( $, promises ).done(
function () {
+ var result = arguments,
+ summaryItems;
+ for ( i = 0; i < result.length;
i++ ) {
+ if ( result[ i ].view )
{
+ views.push(
result[ i ].view );
+ summaryItems =
Object.keys( result[ i ].summary );
+ for ( j = 0; j
< summaryItems.length; j++ ) {
+
summary[ summaryItems[ j ] ] = result[ i ].summary[ summaryItems[ j ] ];
+ }
+ }
+ }
- $( 'body' ).append(
windowManager.$element );
- windowManager.addWindows( [ piDialog ]
);
- windowManager.openWindow( piDialog );
+ piDialog = new
mw.performanceInspector.dialog.PiDialog( {
+ size: 'larger'
+ },
+ summary,
+ views );
+
+ $( 'body' ).append(
windowManager.$element );
+ windowManager.addWindows( [
piDialog ] );
+ windowManager.openWindow(
piDialog );
+ } );
+
} );
} );
}
--
To view, visit https://gerrit.wikimedia.org/r/284816
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I672e81a265cbe8d00fe5ce1baa04abaf8485918d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/PerformanceInspector
Gerrit-Branch: master
Gerrit-Owner: Phedenskog <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits