Convert $.Deferred() to ve.createDeferred(), except in preinit

Follow-up to a8e07e026dea4f54241d1dbb6b7bcdbd8c670db2 in core.

Change-Id: I09333adb4876c6e584a4a6b6a1628227c4cd2616
This commit is contained in:
David Chan 2019-11-02 13:06:28 +08:00
parent b00787b572
commit 22098d6b16
28 changed files with 64 additions and 64 deletions

View file

@ -62,7 +62,7 @@
var dummySurface, surfaceModel,
isNewAuthor = !ve.init.platform.sessionStorage.get( 've-collab-author' ),
username = mw.user.getName(),
progressDeferred = $.Deferred();
progressDeferred = ve.createDeferred();
target = ve.init.mw.targetFactory.create( 'collab', title, conf.rebaserUrl, { importTitle: importTitle } );
@ -158,12 +158,12 @@
] );
} else {
// Import failed
return $.Deferred().reject( 'No content for ' + target.importTitle ).promise();
return ve.createDeferred().reject( 'No content for ' + target.importTitle ).promise();
}
} );
} else {
// No import, or history already exists
initPromise = $.Deferred().resolve().promise();
initPromise = ve.createDeferred().resolve().promise();
// Look for import metadata in document
surfaceModel = target.getSurface().getModel();

View file

@ -60,7 +60,7 @@ ve.ce.MWExtensionNode.static.getDescription = function ( model ) {
*/
ve.ce.MWExtensionNode.prototype.generateContents = function ( config ) {
var xhr, attr, wikitext,
deferred = $.Deferred(),
deferred = ve.createDeferred(),
mwData = ve.copy( this.getModel().getAttribute( 'mw' ) ),
extsrc = config && config.extsrc !== undefined ? config.extsrc : ( ve.getProp( mwData, 'body', 'extsrc' ) || '' ),
attrs = config && config.attrs || mwData.attrs,

View file

@ -98,7 +98,7 @@ ve.ce.MWImageNode.prototype.generateContents = function () {
width = model.getAttribute( 'width' ),
height = model.getAttribute( 'height' ),
mwData = model.getAttribute( 'mw' ) || {},
deferred = $.Deferred();
deferred = ve.createDeferred();
// If the current rendering is larger don't fetch a new image, just let the browser resize
if ( this.renderedDimensions && this.renderedDimensions.width > width ) {

View file

@ -107,7 +107,7 @@ ve.ce.MWSignatureNode.prototype.generateContents = function () {
wikitext = '<span>~~~~</span>';
signatureNode = this;
deferred = $.Deferred();
deferred = ve.createDeferred();
xhr = ve.init.target.getContentApi( this.getModel().getDocument() ).post( {
action: 'parse',
text: wikitext,

View file

@ -144,7 +144,7 @@ ve.ce.MWTransclusionNode.static.filterRendering = function ( contentNodes ) {
* @inheritdoc
*/
ve.ce.MWTransclusionNode.prototype.generateContents = function ( config ) {
var xhr, deferred = $.Deferred();
var xhr, deferred = ve.createDeferred();
xhr = ve.init.target.parseWikitextFragment(
( config && config.wikitext ) || this.model.getWikitext(),
true,

View file

@ -97,7 +97,7 @@ ve.ce.MWWikitextSurface.prototype.afterPasteInsertExternalData = function ( targ
if ( !pastedDocumentModel.data.isPlainText( contextRange, true, undefined, true ) ) {
// Not plaintext. We need to ask whether we should convert it to
// wikitext, or just strip the formatting out.
deferred = $.Deferred();
deferred = ve.createDeferred();
windowAction = ve.ui.actionFactory.create( 'window', this.getSurface() );
windowAction.open( 'wikitextconvertconfirm', { deferred: deferred } );
return deferred.promise().then( function ( usePlain ) {

View file

@ -64,7 +64,7 @@
*/
ve.dm.MWTransclusionModel.prototype.insertTransclusionNode = function ( surfaceFragment, forceType ) {
var model = this,
deferred = $.Deferred(),
deferred = ve.createDeferred(),
baseNodeClass = ve.dm.MWTransclusionNode;
function insertNode( isInline, generatedContents ) {
@ -160,14 +160,14 @@
for ( i = 0, len = data.parts.length; i < len; i++ ) {
part = data.parts[ i ];
if ( part.template ) {
deferred = $.Deferred();
deferred = ve.createDeferred();
promises.push( deferred.promise() );
this.queue.push( {
add: ve.dm.MWTemplateModel.newFromData( this, part.template ),
deferred: deferred
} );
} else if ( typeof part === 'string' ) {
deferred = $.Deferred();
deferred = ve.createDeferred();
promises.push( deferred.promise() );
this.queue.push( {
add: new ve.dm.MWTransclusionContentModel( this, part ),
@ -437,7 +437,7 @@
* @return {jQuery.Promise} Promise, resolved when part is added
*/
ve.dm.MWTransclusionModel.prototype.replacePart = function ( remove, add ) {
var deferred = $.Deferred();
var deferred = ve.createDeferred();
if (
!( remove instanceof ve.dm.MWTransclusionPartModel ) ||
!( add instanceof ve.dm.MWTransclusionPartModel )
@ -464,7 +464,7 @@
* @return {jQuery.Promise} Promise, resolved when part is added
*/
ve.dm.MWTransclusionModel.prototype.addPart = function ( part, index ) {
var deferred = $.Deferred();
var deferred = ve.createDeferred();
if ( !( part instanceof ve.dm.MWTransclusionPartModel ) ) {
throw new Error( 'Invalid transclusion part' );
}

View file

@ -311,12 +311,12 @@ ve.dm.MWImageNode.static.getScalablePromise = function ( filename ) {
if ( ve.init.platform.imageInfoCache ) {
return ve.init.platform.imageInfoCache.get( filename ).then( function ( info ) {
if ( !info || info.missing ) {
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
}
return info;
} );
} else {
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
}
};

View file

@ -133,7 +133,7 @@ ve.dm.MWWikitextSurfaceFragment.prototype.convertToSource = function ( doc ) {
var wikitextPromise, progressPromise;
if ( !doc.data.hasContent() ) {
return $.Deferred().resolve( '' ).promise();
return ve.createDeferred().resolve( '' ).promise();
}
wikitextPromise = ve.init.target.getWikitextFragment( doc, false );
@ -148,7 +148,7 @@ ve.dm.MWWikitextSurfaceFragment.prototype.convertToSource = function ( doc ) {
} );
return $.when( wikitextPromise, progressPromise ).then( function ( wikitext ) {
var deferred = $.Deferred();
var deferred = ve.createDeferred();
setTimeout( function () {
deferred.resolve( wikitext );
}, ve.init.target.getSurface().dialogs.getTeardownDelay() );
@ -162,7 +162,7 @@ ve.dm.MWWikitextSurfaceFragment.prototype.convertToSource = function ( doc ) {
ve.dm.MWWikitextSurfaceFragment.prototype.convertFromSource = function ( source ) {
var parsePromise;
if ( !source ) {
parsePromise = $.Deferred().resolve(
parsePromise = ve.createDeferred().resolve(
ve.dm.Document.static.newBlankDocument()
).promise();
} else {

View file

@ -80,11 +80,11 @@ ve.init.mw.ApiResponseCache.prototype.get = function ( title ) {
// Don't bother letting things like undefined or null make it all the way through,
// just reject them here. Otherwise they'll cause problems or exceptions at random
// other points in this file.
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
}
title = this.constructor.static.normalizeTitle( title );
if ( !Object.prototype.hasOwnProperty.call( this.deferreds, title ) ) {
this.deferreds[ title ] = $.Deferred();
this.deferreds[ title ] = ve.createDeferred();
this.queue.push( title );
this.schedule();
}
@ -121,7 +121,7 @@ ve.init.mw.ApiResponseCache.prototype.set = function ( entries ) {
var name;
for ( name in entries ) {
if ( !Object.prototype.hasOwnProperty.call( this.deferreds, name ) ) {
this.deferreds[ name ] = $.Deferred();
this.deferreds[ name ] = ve.createDeferred();
}
if ( this.deferreds[ name ].state() === 'pending' ) {
this.deferreds[ name ].resolve( entries[ name ] );

View file

@ -78,7 +78,7 @@ ve.init.mw.LinkCache.prototype.styleElement = function ( title, $element, hasFra
// Use the synchronous missing link cache data if it exists
if ( cachedMissingData ) {
promise = $.Deferred().resolve( cachedMissingData ).promise();
promise = ve.createDeferred().resolve( cachedMissingData ).promise();
} else {
promise = this.get( title );
}

View file

@ -1054,7 +1054,7 @@ ve.init.mw.ArticleTarget.prototype.bindSaveDialogClearDiff = function () {
ve.init.mw.ArticleTarget.prototype.onSaveDialogReviewComplete = function ( wikitext ) {
this.bindSaveDialogClearDiff();
this.saveDialog.setDiffAndReview(
$.Deferred().resolve( $( '<pre>' ).text( wikitext ) ).promise(),
ve.createDeferred().resolve( $( '<pre>' ).text( wikitext ) ).promise(),
this.getVisualDiffGeneratorPromise(),
this.getSurface().getModel().getDocument().getHtmlDocument()
);
@ -1089,7 +1089,7 @@ ve.init.mw.ArticleTarget.prototype.getVisualDiffGeneratorPromise = function () {
} else {
doc = target.doc;
}
target.originalDmDocPromise = $.Deferred().resolve( target.constructor.static.createModelFromDom( doc, 'visual' ) ).promise();
target.originalDmDocPromise = ve.createDeferred().resolve( target.constructor.static.createModelFromDom( doc, 'visual' ) ).promise();
} else {
target.originalDmDocPromise = mw.libs.ve.diffLoader.fetchRevision( target.revid, target.getPageName(), target.section );
}
@ -1293,7 +1293,7 @@ ve.init.mw.ArticleTarget.prototype.prepareCacheKey = function ( doc ) {
this.preparedCacheKeyPromise = mw.libs.ve.targetSaver.deflateDoc( doc, this.doc )
.then( function ( deflatedHtml ) {
if ( aborted ) {
return $.Deferred().reject();
return ve.createDeferred().reject();
}
xhr = target.getContentApi().postWithToken( 'csrf',
{
@ -1318,7 +1318,7 @@ ve.init.mw.ArticleTarget.prototype.prepareCacheKey = function ( doc ) {
};
} else {
target.events.track( 'performance.system.serializeforcache.nocachekey', trackData );
return $.Deferred().reject();
return ve.createDeferred().reject();
}
},
function () {
@ -1349,7 +1349,7 @@ ve.init.mw.ArticleTarget.prototype.getPreparedCacheKey = function ( doc ) {
if ( this.preparedCacheKeyPromise && this.preparedCacheKeyPromise.doc === doc ) {
return this.preparedCacheKeyPromise;
}
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
};
/**
@ -1636,16 +1636,16 @@ ve.init.mw.ArticleTarget.prototype.getWikitextDiffPromise = function ( doc ) {
}, 'diff' ).then( function ( response ) {
var data = response.visualeditoredit;
if ( !data && !response.error ) {
return $.Deferred().reject( 'Invalid response from server' ).promise();
return ve.createDeferred().reject( 'Invalid response from server' ).promise();
} else if ( response.error ) {
return $.Deferred().reject( response.error.info ).promise();
return ve.createDeferred().reject( response.error.info ).promise();
} else if ( data.result === 'nochanges' ) {
target.emit( 'noChanges' );
return null;
} else if ( data.result !== 'success' ) {
return $.Deferred().reject( 'Failed request: ' + data.result ).promise();
return ve.createDeferred().reject( 'Failed request: ' + data.result ).promise();
} else if ( typeof data.diff !== 'string' ) {
return $.Deferred().reject( 'Invalid HTML content in response from server' ).promise();
return ve.createDeferred().reject( 'Invalid HTML content in response from server' ).promise();
} else {
return data.diff;
}
@ -1825,7 +1825,7 @@ ve.init.mw.ArticleTarget.prototype.tryTeardown = function ( noPrompt, trackMecha
if ( data && data.action === 'discard' ) {
return target.teardown( trackMechanism );
}
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
} );
}
};
@ -2170,7 +2170,7 @@ ve.init.mw.ArticleTarget.prototype.maybeShowWelcomeDialog = function () {
windowManager = this.getSurface().dialogs,
target = this;
this.welcomeDialogPromise = $.Deferred();
this.welcomeDialogPromise = ve.createDeferred();
if ( mw.config.get( 'wgVisualEditorConfig' ).showBetaWelcome ) {
// Only use the preference value if the user is logged-in.
@ -2264,7 +2264,7 @@ ve.init.mw.ArticleTarget.prototype.switchToWikitextEditor = function ( modified
// TODO: Some sort of progress bar?
target.switchToFallbackWikitextEditor( modified );
// Keep everything else waiting so our error handler can do its business
return $.Deferred().promise();
return ve.createDeferred().promise();
}
);
} else {
@ -2373,7 +2373,7 @@ ve.init.mw.ArticleTarget.prototype.switchToWikitextSection = function ( section,
return data && data.action === 'discard';
} );
} else {
promise = $.Deferred().resolve( true ).promise();
promise = ve.createDeferred().resolve( true ).promise();
}
promise.then( function ( confirmed ) {
if ( confirmed ) {
@ -2402,7 +2402,7 @@ ve.init.mw.ArticleTarget.prototype.reloadSurface = function ( newMode, dataPromi
this.clearDiff();
// Create progress - will be discarded when surface is destroyed.
this.getSurface().createProgress(
$.Deferred().promise(),
ve.createDeferred().promise(),
ve.msg( newMode === 'source' ? 'visualeditor-mweditmodesource-progress' : 'visualeditor-mweditmodeve-progress' ),
true /* non-cancellable */
);

View file

@ -406,8 +406,8 @@ ve.init.mw.DesktopArticleTarget.prototype.activate = function ( dataPromise ) {
if ( !this.active && !this.activating ) {
this.activating = true;
this.activatingDeferred = $.Deferred();
this.toolbarSetupDeferred = $.Deferred();
this.activatingDeferred = ve.createDeferred();
this.toolbarSetupDeferred = ve.createDeferred();
$( 'html' ).addClass( 've-activating' );
$.when( this.activatingDeferred, this.toolbarSetupDeferred ).done( function () {
@ -576,7 +576,7 @@ ve.init.mw.DesktopArticleTarget.prototype.tryTeardown = function ( noPrompt, tra
*/
ve.init.mw.DesktopArticleTarget.prototype.teardown = function ( trackMechanism ) {
var abortType,
saveDialogPromise = $.Deferred().resolve().promise(),
saveDialogPromise = ve.createDeferred().resolve().promise(),
target = this;
this.emit( 'deactivate' );
@ -1109,7 +1109,7 @@ ve.init.mw.DesktopArticleTarget.prototype.restoreScrollPosition = function () {
*/
ve.init.mw.DesktopArticleTarget.prototype.teardownToolbar = function () {
var target = this,
deferred = $.Deferred();
deferred = ve.createDeferred();
if ( !this.toolbar ) {
return deferred.resolve().promise();
@ -1584,7 +1584,7 @@ ve.init.mw.DesktopArticleTarget.prototype.reloadSurface = function () {
var target = this;
this.activating = true;
this.activatingDeferred = $.Deferred();
this.activatingDeferred = ve.createDeferred();
// Parent method
ve.init.mw.DesktopArticleTarget.super.prototype.reloadSurface.apply( this, arguments );

View file

@ -328,7 +328,7 @@ ve.init.mw.MobileArticleTarget.prototype.surfaceReady = function () {
*/
ve.init.mw.MobileArticleTarget.prototype.maybeShowWelcomeDialog = function () {
// Never show the dialog (T227670), but set up this promise in case something depends on it
this.welcomeDialogPromise = $.Deferred().reject();
this.welcomeDialogPromise = ve.createDeferred().reject();
};
/**

View file

@ -463,7 +463,7 @@ ve.init.mw.Target.prototype.teardown = function () {
*/
ve.init.mw.Target.prototype.refreshEditToken = function ( doc ) {
var api = this.getContentApi( doc ),
deferred = $.Deferred(),
deferred = ve.createDeferred(),
target = this;
api.get( {
action: 'query',
@ -535,7 +535,7 @@ ve.init.mw.Target.prototype.getWikitextFragment = function ( doc, useRevision, i
// Optimise as a no-op
if ( params.html === '' ) {
return $.Deferred().resolve( '' );
return ve.createDeferred().resolve( '' );
}
if ( useRevision === undefined || useRevision ) {
@ -552,7 +552,7 @@ ve.init.mw.Target.prototype.getWikitextFragment = function ( doc, useRevision, i
if ( response.visualeditoredit ) {
return response.visualeditoredit.content;
}
return $.Deferred().reject();
return ve.createDeferred().reject();
}, function ( error ) {
if ( error === 'badtoken' && !isRetry ) {
return target.refreshEditToken( doc ).then( function () {

View file

@ -81,7 +81,7 @@ QUnit.test( 'init', function ( assert ) {
}
},
target = new ve.init.mw.DesktopArticleTarget(),
dataPromise = $.Deferred().resolve( response ).promise(),
dataPromise = ve.createDeferred().resolve( response ).promise(),
done = assert.async();
target.on( 'surfaceReady', function () {

View file

@ -36,7 +36,7 @@ ve.test.utils.runWikitextStringHandlerTest = function ( assert, server, string,
};
},
createProgress: function () {
return $.Deferred().promise();
return ve.createDeferred().promise();
}
};

View file

@ -61,7 +61,7 @@
ve.test.utils.mwEnvironment = ( function () {
var mwPlatform, corePlatform, mwTarget, coreTarget,
setEditorPreference = mw.libs.ve.setEditorPreference,
dummySetEditorPreference = function () { return $.Deferred().resolve().promise(); },
dummySetEditorPreference = function () { return ve.createDeferred().resolve().promise(); },
overrides = [
ve.dm.MWHeadingNode,
ve.dm.MWPreformattedNode,

View file

@ -740,7 +740,7 @@ ve.ui.MWMediaDialog.prototype.fetchThumbnail = function ( imageName, dimensions
// Check cache first
if ( this.searchCache[ imageName ] ) {
return $.Deferred().resolve( this.searchCache[ imageName ] );
return ve.createDeferred().resolve( this.searchCache[ imageName ] );
}
if ( dimensions.width ) {
@ -1166,7 +1166,7 @@ ve.ui.MWMediaDialog.prototype.getSetupProcess = function ( data ) {
// so the this.switchPanels() call has to be later.
return ( this.mediaUploadBooklet ?
this.mediaUploadBooklet.initialize() :
$.Deferred().resolve().promise()
ve.createDeferred().resolve().promise()
).then( function () {
dialog.actions.setAbilities( { upload: false, save: false, insert: false, done: false } );

View file

@ -26,7 +26,7 @@ ve.ui.MWSaveDialog = function VeUiMwSaveDialog( config ) {
this.editSummaryCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' );
this.restoring = false;
this.messages = {};
this.setupDeferred = $.Deferred();
this.setupDeferred = ve.createDeferred();
this.checkboxesByName = null;
this.changedEditSummary = false;
this.canReview = false;
@ -277,7 +277,7 @@ ve.ui.MWSaveDialog.prototype.showPreview = function ( docOrMsg, baseDoc ) {
ve.init.platform.linkCache.styleParsoidElements( $categories, baseDoc );
} );
} else {
deferred = $.Deferred().resolve();
deferred = ve.createDeferred().resolve();
}
deferred.done( function () {
// Run hooks so other things can alter the document
@ -935,7 +935,7 @@ ve.ui.MWSaveDialog.prototype.getActionProcess = function ( action ) {
if ( action === 'save' ) {
return new OO.ui.Process( function () {
var saveDeferred = $.Deferred();
var saveDeferred = ve.createDeferred();
this.clearMessage( 'keyboard-shortcut-submit' );
this.emit( 'save', saveDeferred );
return saveDeferred.promise();

View file

@ -348,7 +348,7 @@ ve.ui.MWTemplateDialog.prototype.initialize = function () {
*/
ve.ui.MWTemplateDialog.prototype.checkRequiredParameters = function () {
var blankRequired = [],
deferred = $.Deferred();
deferred = ve.createDeferred();
this.bookletLayout.stackLayout.getItems().forEach( function ( page ) {
if ( !( page instanceof ve.ui.MWParameterPage ) ) {
@ -392,7 +392,7 @@ ve.ui.MWTemplateDialog.prototype.getActionProcess = function ( action ) {
var dialog = this;
if ( action === 'done' || action === 'insert' ) {
return new OO.ui.Process( function () {
var deferred = $.Deferred();
var deferred = ve.createDeferred();
dialog.checkRequiredParameters().done( function () {
var modelPromise,
surfaceModel = dialog.getFragment().getSurface(),
@ -403,7 +403,7 @@ ve.ui.MWTemplateDialog.prototype.getActionProcess = function ( action ) {
if ( dialog.selectedNode instanceof ve.dm.MWTransclusionNode ) {
dialog.transclusionModel.updateTransclusionNode( surfaceModel, dialog.selectedNode );
// TODO: updating the node could result in the inline/block state change
modelPromise = $.Deferred().resolve().promise();
modelPromise = ve.createDeferred().resolve().promise();
} else if ( obj !== null ) {
// Collapse returns a new fragment, so update dialog.fragment
dialog.fragment = dialog.getFragment().collapseToEnd();

View file

@ -245,7 +245,7 @@ ve.ui.MWAdvancedSettingsPage.prototype.setup = function ( metaList, config ) {
.setDisabled( config.isReadOnly );
} );
return $.Deferred().resolve().promise();
return ve.createDeferred().resolve().promise();
};
/**

View file

@ -165,7 +165,7 @@ ve.ui.MWLanguagesPage.prototype.getLocalLanguageItems = function () {
* @return {jQuery.Promise}
*/
ve.ui.MWLanguagesPage.prototype.getAllLanguageItems = function () {
var deferred = $.Deferred();
var deferred = ve.createDeferred();
// TODO: Detect paging token if results exceed limit
ve.init.target.getContentApi().get( {
format: 'json',

View file

@ -326,7 +326,7 @@ ve.ui.MWSettingsPage.prototype.setup = function ( metaList, config ) {
.setDisabled( config.isReadOnly );
} );
return $.Deferred().resolve().promise();
return ve.createDeferred().resolve().promise();
};
/**

View file

@ -39,7 +39,7 @@ ve.ui.MWTemplatesUsedPage = function VeUiMWTemplatesUsedPage() {
if ( templatesUsed.length && $( templatesUsed ).find( 'li' ).length ) {
return templatesUsed;
} else {
return $.Deferred().reject().promise();
return ve.createDeferred().reject().promise();
}
} ).then( function ( templatesUsed ) {
page.templatesUsedFieldset.$element.append( templatesUsed );

View file

@ -40,7 +40,7 @@ ve.ui.MWAceEditorWidget = function VeUiMWAceEditorWidget( config ) {
this.$ace = $( '<div>' ).attr( 'dir', 'ltr' );
this.editor = null;
// Initialise to a rejected promise for the setValue call in the parent constructor
this.loadingPromise = $.Deferred().reject().promise();
this.loadingPromise = ve.createDeferred().reject().promise();
this.styleHeight = null;
// Parent constructor
@ -75,7 +75,7 @@ ve.ui.MWAceEditorWidget.prototype.setup = function () {
if ( !this.loadingPromise ) {
this.loadingPromise = mw.loader.getState( 'ext.codeEditor.ace' ) ?
mw.loader.using( 'ext.codeEditor.ace' ) :
$.Deferred().reject().promise();
ve.createDeferred().reject().promise();
// Resolved promises will run synchronously, so ensure #setupEditor
// runs after this.loadingPromise is stored.
this.loadingPromise.done( this.setupEditor.bind( this ) );

View file

@ -289,7 +289,7 @@ ve.ui.MWCategoryWidget.prototype.queryCategoryStatus = function ( categoryNames
} );
if ( !categoryNamesToQuery.length ) {
return $.Deferred().resolve( {} ).promise();
return ve.createDeferred().resolve( {} ).promise();
}
// Batch this up into groups of 50

View file

@ -105,7 +105,7 @@ ve.ui.MWEditSummaryWidget.prototype.getSummaries = function () {
var splitSummary = this.constructor.static.splitSummary.bind( this.constructor.static );
if ( !this.getSummariesPromise ) {
if ( mw.user.isAnon() ) {
this.getSummariesPromise = $.Deferred().resolve( [] ).promise();
this.getSummariesPromise = ve.createDeferred().resolve( [] ).promise();
} else {
this.getSummariesPromise = ve.init.target.getLocalApi().get( {
action: 'query',