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

Reply via email to