jenkins-bot has submitted this change and it was merged.

Change subject: Inject RepoApi into old UI
......................................................................


Inject RepoApi into old UI

Change-Id: I96bfb91d93002568ebb2535a27d6991209591277
---
M lib/resources/wikibase.ui.AliasesEditTool.js
M lib/resources/wikibase.ui.DescriptionEditTool.js
M lib/resources/wikibase.ui.LabelEditTool.js
M lib/resources/wikibase.ui.PropertyEditTool.EditableValue.js
M lib/resources/wikibase.ui.PropertyEditTool.js
M lib/tests/qunit/wikibase.ui.AliasesEditTool.tests.js
M lib/tests/qunit/wikibase.ui.DescriptionEditTool.tests.js
M lib/tests/qunit/wikibase.ui.LabelEditTool.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableAliases.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableDescription.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableLabel.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableSiteLink.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.tests.js
M lib/tests/qunit/wikibase.ui.SiteLinksEditTool.tests.js
M repo/resources/wikibase.ui.entityViewInit.js
16 files changed, 34 insertions(+), 21 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/resources/wikibase.ui.AliasesEditTool.js 
b/lib/resources/wikibase.ui.AliasesEditTool.js
index d4c740a..30db1bf 100644
--- a/lib/resources/wikibase.ui.AliasesEditTool.js
+++ b/lib/resources/wikibase.ui.AliasesEditTool.js
@@ -36,7 +36,7 @@
                         * @see wikibase.ui.PropertyEditTool.allowsFullErase
                         */
                        allowsFullErase: true
-               } );
+               }, options );
 
                // call PropertyEditTool's init():
                PARENT.prototype._init.call( this, subject, options );
diff --git a/lib/resources/wikibase.ui.DescriptionEditTool.js 
b/lib/resources/wikibase.ui.DescriptionEditTool.js
index d2e4a2d..0fec694 100644
--- a/lib/resources/wikibase.ui.DescriptionEditTool.js
+++ b/lib/resources/wikibase.ui.DescriptionEditTool.js
@@ -29,7 +29,7 @@
                         * @see 
wikibase.ui.PropertyEditTool.allowsMultipleValues
                         */
                        allowsMultipleValues: false
-               } );
+               }, options );
                PARENT.prototype._init.call( this, subject, options );
        },
 
diff --git a/lib/resources/wikibase.ui.LabelEditTool.js 
b/lib/resources/wikibase.ui.LabelEditTool.js
index 6034154..97a7aba 100644
--- a/lib/resources/wikibase.ui.LabelEditTool.js
+++ b/lib/resources/wikibase.ui.LabelEditTool.js
@@ -35,7 +35,7 @@
                         * @see 
wikibase.ui.PropertyEditTool.allowsMultipleValues
                         */
                        allowsMultipleValues: false
-               } );
+               }, options );
                PARENT.prototype._init.call( this, subject, options );
        },
 
diff --git a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.js 
b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.js
index c1e2a6c..b317a55 100644
--- a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.js
+++ b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.js
@@ -107,7 +107,7 @@
         * API for interaction with Wikibase
         * @type {wikibase.RepoApi}
         */
-       _api: new wb.RepoApi(),
+       _api: null,
 
        /**
         * Element representing the editable value. This element will either 
hold the value or the input
@@ -188,6 +188,11 @@
                if( toolbar !== undefined ) {
                        this.setToolbar( toolbar );
                }
+
+               this._api = options.api;
+               if( !this._api ) {
+                       throw new Error( 'You have to pass an api instance to 
wikibase.ui.PropertyEditTools' );
+               }
        },
 
        /**
diff --git a/lib/resources/wikibase.ui.PropertyEditTool.js 
b/lib/resources/wikibase.ui.PropertyEditTool.js
index 88cb349..06e9abd 100644
--- a/lib/resources/wikibase.ui.PropertyEditTool.js
+++ b/lib/resources/wikibase.ui.PropertyEditTool.js
@@ -323,7 +323,8 @@
 
                options = $.extend( {
                        // message to be displayed for empty input
-                       'inputPlaceholder': mw.msg( 'wikibase-' + 
this.getPropertyName() + '-edit-placeholder' )
+                       'inputPlaceholder': mw.msg( 'wikibase-' + 
this.getPropertyName() + '-edit-placeholder' ),
+                       api: this._options.api
                }, options );
 
                var editableValue = 
this.getEditableValuePrototype().newFromDom( valueElem, options );
diff --git a/lib/tests/qunit/wikibase.ui.AliasesEditTool.tests.js 
b/lib/tests/qunit/wikibase.ui.AliasesEditTool.tests.js
index 9290835..d347462 100644
--- a/lib/tests/qunit/wikibase.ui.AliasesEditTool.tests.js
+++ b/lib/tests/qunit/wikibase.ui.AliasesEditTool.tests.js
@@ -17,7 +17,7 @@
                         */
                        var initialStructure = 
wb.ui.AliasesEditTool.getEmptyStructure();
                        this.initialStructureMembers = 
initialStructure.children();
-                       this.subject = new wb.ui.AliasesEditTool( 
initialStructure );
+                       this.subject = new wb.ui.AliasesEditTool( 
initialStructure, { api: {} } );
 
                        QUnit.assert.ok(
                                this.subject instanceof wb.ui.AliasesEditTool,
diff --git a/lib/tests/qunit/wikibase.ui.DescriptionEditTool.tests.js 
b/lib/tests/qunit/wikibase.ui.DescriptionEditTool.tests.js
index 0099bd1..72b9414 100644
--- a/lib/tests/qunit/wikibase.ui.DescriptionEditTool.tests.js
+++ b/lib/tests/qunit/wikibase.ui.DescriptionEditTool.tests.js
@@ -20,7 +20,7 @@
                                'class': 'wb-property-container-value'
                        } ) );
                        this.parentNode.append( this.node );
-                       this.subject = new wb.ui.DescriptionEditTool( 
this.parentNode );
+                       this.subject = new wb.ui.DescriptionEditTool( 
this.parentNode, { api: {} } );
                },
                teardown: function() {}
        } ) );
diff --git a/lib/tests/qunit/wikibase.ui.LabelEditTool.tests.js 
b/lib/tests/qunit/wikibase.ui.LabelEditTool.tests.js
index c98b84c..5d08347 100644
--- a/lib/tests/qunit/wikibase.ui.LabelEditTool.tests.js
+++ b/lib/tests/qunit/wikibase.ui.LabelEditTool.tests.js
@@ -18,7 +18,7 @@
                                'class': 'wb-value',
                                text: 'Text'
                        } ) ).appendTo( this.h1 );
-                       this.subject = new wb.ui.LabelEditTool( this.h1 );
+                       this.subject = new wb.ui.LabelEditTool( this.h1, { api: 
{} } );
                },
                teardown: function() {}
        } ) );
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableAliases.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableAliases.tests.js
index b2b25e1..d22a2cc 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableAliases.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableAliases.tests.js
@@ -18,8 +18,8 @@
         */
        var newTestEditableAliases = function() {
                var $node = $( '<ul/>', { id: 'parent' } ).appendTo( 'body' );
-               var propertyEditTool = new wb.ui.PropertyEditTool( $node );
-               var subject = 
wb.ui.PropertyEditTool.EditableAliases.newFromDom( $node );
+               var propertyEditTool = new wb.ui.PropertyEditTool( $node, { 
api: {} } );
+               var subject = 
wb.ui.PropertyEditTool.EditableAliases.newFromDom( $node, { api: {} } );
                var toolbar = propertyEditTool._buildSingleValueToolbar();
                subject.setToolbar( toolbar );
                return subject;
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableDescription.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableDescription.tests.js
index d0685d3..aa8aa6f 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableDescription.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableDescription.tests.js
@@ -13,7 +13,7 @@
        'use strict';
 
        function setup( options ) {
-               options = options || {};
+               options = $.extend( { api: {} }, options || {} );
 
                var $node = $( '<div><div class="wb-value"/></div>' );
                $( '<div/>', { id: 'parent' } ).append( $node );
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableLabel.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableLabel.tests.js
index ba63911..55ce8b4 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableLabel.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableLabel.tests.js
@@ -13,7 +13,7 @@
        'use strict';
 
        function setup( options ) {
-               options = options || {};
+               options = $.extend( { api: {} }, options || {} );
 
                var $node = $( '<div><div class="wb-value"/></div>' );
                $( '<div/>', { id: 'parent' } ).append( $node );
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableSiteLink.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableSiteLink.tests.js
index 6a1edd7..7320ada 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableSiteLink.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableSiteLink.tests.js
@@ -24,7 +24,10 @@
                $node.append( $( '<td/>' ).addClass( 'child' ) );
                $node.append( $( '<td/>' ).addClass( 'child' ).text( 'en' ) );
                var propertyEditTool = new wb.ui.PropertyEditTool( $node );
-               var editableSiteLink = 
wb.ui.PropertyEditTool.EditableSiteLink.newFromDom( $node );
+               var editableSiteLink = 
wb.ui.PropertyEditTool.EditableSiteLink.newFromDom(
+                       $node,
+                       { api: {} }
+               );
                var toolbar = propertyEditTool._buildSingleValueToolbar();
                editableSiteLink.setToolbar( toolbar );
                return editableSiteLink;
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.tests.js
index 06bca86..e375dfb 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.tests.js
@@ -42,7 +42,7 @@
        newTestEV = function( subject, overwrites ) {
                // propertyEditTool is required for creating suited toolbar
                var propertyEditTool = new wb.ui.PropertyEditTool( subject ),
-                       editableValue = 
wb.ui.PropertyEditTool.EditableValue.newFromDom( subject ),
+                       editableValue = 
wb.ui.PropertyEditTool.EditableValue.newFromDom( subject, { api: {} } ),
                        toolbar = propertyEditTool._buildSingleValueToolbar();
 
                // add functions for testing:
diff --git a/lib/tests/qunit/wikibase.ui.PropertyEditTool.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.tests.js
index 504f6b4..acbd6e6 100644
--- a/lib/tests/qunit/wikibase.ui.PropertyEditTool.tests.js
+++ b/lib/tests/qunit/wikibase.ui.PropertyEditTool.tests.js
@@ -30,7 +30,8 @@
                );
 
                propertyEditTool.init( subject, {
-                       allowsMultipleValues: false // TODO: shouldn't change 
default here
+                       allowsMultipleValues: false, // TODO: shouldn't change 
default here
+                       api: {}
                } );
 
                return propertyEditTool;
diff --git a/lib/tests/qunit/wikibase.ui.SiteLinksEditTool.tests.js 
b/lib/tests/qunit/wikibase.ui.SiteLinksEditTool.tests.js
index 207a1b7..6126b42 100644
--- a/lib/tests/qunit/wikibase.ui.SiteLinksEditTool.tests.js
+++ b/lib/tests/qunit/wikibase.ui.SiteLinksEditTool.tests.js
@@ -39,7 +39,8 @@
 
                        // initialize:
                        this.subject = new wb.ui.SiteLinksEditTool( $dom, {
-                               allowedSites: wb.getSites() // TODO: decouple 
test from abusing global config here
+                               allowedSites: wb.getSites(), // TODO: decouple 
test from abusing global config here
+                               api: {}
                        } );
                },
                teardown: function() {
diff --git a/repo/resources/wikibase.ui.entityViewInit.js 
b/repo/resources/wikibase.ui.entityViewInit.js
index 982f14b..97ae073 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -32,10 +32,12 @@
                // adjustments are necessary.
                mw.hook( 'wikibase.domready' ).fire();
 
+               var repoApi = new wb.RepoApi();
+
                // add an edit tool for the main label. This will be integrated 
into the heading nicely:
                var $firstHeading = $( '.wb-firstHeading' );
                if ( $firstHeading.length ) { // Special pages do not have a 
custom wb heading
-                       var labelEditTool = new wb.ui.LabelEditTool( 
$firstHeading[0] ),
+                       var labelEditTool = new wb.ui.LabelEditTool( 
$firstHeading[0], { api: repoApi } ),
                                editableLabel = labelEditTool.getValues( true 
)[0], // [0] will always be set
                                fn = function( event, origin ) {
                                        // Limit the global 
stopItemPageEditMode event to that element
@@ -58,7 +60,7 @@
                // add an edit tool for all properties in the data view:
                $( '.wb-property-container:has( > 
.wb-property-container-key[title=description] )' ).each( function() {
                        // TODO: Make this nicer when we have implemented the 
data model
-                       new wb.ui.DescriptionEditTool( this );
+                       new wb.ui.DescriptionEditTool( this, { api: repoApi } );
                } );
 
                if( mw.config.get( 'wbEntity' ) !== null ) {
@@ -71,7 +73,7 @@
 
                        // edit tool for aliases:
                        $( '.wb-aliases' ).each( function() {
-                               new wb.ui.AliasesEditTool( this );
+                               new wb.ui.AliasesEditTool( this, { api: repoApi 
} );
                        } );
 
                        // BUILD CLAIMS VIEW:
@@ -108,7 +110,6 @@
                        entityInitializer.getEntity().done( function( entity ) {
                                // FIXME: Initializing entityview on $claims 
leads to the claim section inserted as
                                // child of $claims. It should be direct child 
of ".wb-entity".
-                               var repoApi = new wb.RepoApi();
                                var abstractedRepoApi = new 
wb.AbstractedRepoApi();
                                var entityStore = new wb.store.EntityStore( 
abstractedRepoApi );
                                wb.compileEntityStoreFromMwConfig( entityStore 
);
@@ -142,7 +143,8 @@
                                        // actual initialization
                                        new wb.ui.SiteLinksEditTool( $( this ), 
{
                                                allowedSites: 
wb.getSitesOfGroup( group ),
-                                               counterContainers: 
$sitesCounterContainer
+                                               counterContainers: 
$sitesCounterContainer,
+                                               api: repoApi
                                        } );
                                } );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/145237
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I96bfb91d93002568ebb2535a27d6991209591277
Gerrit-PatchSet: 10
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>
Gerrit-Reviewer: Adrian Lang <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: WikidataJenkins <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to