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