Aleksey Bekh-Ivanov (WMDE) has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/361451 )
Change subject: Migrate EntityInitializer to use
"wikibase.entityPage.entityLoaded" hook
......................................................................
Migrate EntityInitializer to use "wikibase.entityPage.entityLoaded" hook
Change-Id: I4e780816004cca54859d43d74ccf85bd3889b273
---
M repo/resources/wikibase.EntityInitializer.js
M repo/resources/wikibase.ui.entityViewInit.js
2 files changed, 12 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/51/361451/1
diff --git a/repo/resources/wikibase.EntityInitializer.js
b/repo/resources/wikibase.EntityInitializer.js
index 51c3ed0..5b8a35c 100644
--- a/repo/resources/wikibase.EntityInitializer.js
+++ b/repo/resources/wikibase.EntityInitializer.js
@@ -9,11 +9,12 @@
/**
* Entity initializer.
- * Deserializes the entity passed to JavaScript via mw.config variable.
+ * Deserializes the entity passed to JavaScript via mw.config variable
or
+ * as entity object promise.
*
* @constructor
*
- * @param {string} arg
+ * @param {string|Thenable} arg Config variable name or entity object
promise
*
* @throws {Error} if required parameter is not specified properly.
*/
@@ -22,10 +23,10 @@
if ( typeof arg === 'string' ) {
entityPromise = getFromConfig( arg );
} else if ( isThenable( arg ) ) {
- throw new Error( "Not implemented" );
+ entityPromise = arg;
} else {
throw new Error(
- 'Config variable name needs to be specified'
+ 'Config variable name or entity promise needs
to be specified'
);
}
diff --git a/repo/resources/wikibase.ui.entityViewInit.js
b/repo/resources/wikibase.ui.entityViewInit.js
index 85391d9..cc9041b 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -352,7 +352,13 @@
mwPerformance.mark( 'wbInitStart' );
var $entityview = $( '.wikibase-entityview' );
- var entityInitializer = new wb.EntityInitializer( 'wbEntity' );
+ var entityPromise = $.Deferred( function ( deferred ) {
+ mw.hook( 'wikibase.entityPage.entityLoaded' ).add(
function ( entity ) {
+ deferred.resolve( entity );
+ } );
+ } ).promise();
+
+ var entityInitializer = new wb.EntityInitializer( entityPromise
);
var canEdit = isEditable();
entityInitializer.getEntity().done( function ( entity ) {
--
To view, visit https://gerrit.wikimedia.org/r/361451
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4e780816004cca54859d43d74ccf85bd3889b273
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits