jenkins-bot has submitted this change and it was merged.
Change subject: Add getReferenceView
......................................................................
Add getReferenceView
Change-Id: I4b4f4cca778c58e978f4ef2b7b129be35154cf08
---
M view/resources/wikibase/view/ViewFactory.js
M view/tests/qunit/wikibase/view/ViewFactory.tests.js
2 files changed, 35 insertions(+), 18 deletions(-)
Approvals:
Jonas Kress (WMDE): Looks good to me, approved
Thiemo Mättig (WMDE): Looks good to me, approved
jenkins-bot: Verified
diff --git a/view/resources/wikibase/view/ViewFactory.js
b/view/resources/wikibase/view/ViewFactory.js
index 30b5e36..4e33749 100644
--- a/view/resources/wikibase/view/ViewFactory.js
+++ b/view/resources/wikibase/view/ViewFactory.js
@@ -448,15 +448,24 @@
SELF.prototype.getListItemAdapterForReferenceView = function(
startEditingCallback ) {
return new $.wikibase.listview.ListItemAdapter( {
listItemWidget: $.wikibase.referenceview,
- newItemOptionsFn: $.proxy( function( value ) {
- return {
- value: value || null,
- listItemAdapter:
this.getListItemAdapterForSnakListView( startEditingCallback )
- };
+ getNewItem: $.proxy( function( value, dom ) {
+ return this.getReferenceView(
startEditingCallback, value, $( dom ) );
}, this )
} );
};
+ SELF.prototype.getReferenceView = function( startEditingCallback,
value, $dom ) {
+ var view = this._getView(
+ 'referenceview',
+ $dom,
+ {
+ value: value || null,
+ listItemAdapter:
this.getListItemAdapterForSnakListView( startEditingCallback )
+ }
+ );
+ return view;
+ };
+
/**
* Construct a `ListItemAdapter` for `snaklistview`s
*
diff --git a/view/tests/qunit/wikibase/view/ViewFactory.tests.js
b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
index 8d66dab..6689698 100644
--- a/view/tests/qunit/wikibase/view/ViewFactory.tests.js
+++ b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
@@ -343,9 +343,8 @@
} );
QUnit.test( 'getListItemAdapterForReferenceView passes correct options
to ListItemAdapter', function( assert ) {
- assert.expect( 3 );
- var value = null,
- viewFactory = new ViewFactory(),
+ assert.expect( 1 );
+ var viewFactory = new ViewFactory(),
ListItemAdapter = sinon.spy( $.wikibase.listview,
'ListItemAdapter' );
viewFactory.getListItemAdapterForReferenceView();
@@ -354,23 +353,32 @@
ListItemAdapter,
sinon.match( {
listItemWidget: $.wikibase.referenceview,
- newItemOptionsFn: sinon.match.func
+ getNewItem: sinon.match.func
} )
);
- var result = ListItemAdapter.args[0][0].newItemOptionsFn( value
);
+ ListItemAdapter.restore();
- assert.deepEqual(
- result,
- {
+ } );
+
+ QUnit.test( 'getReferenceView passes correct options to view',
function( assert ) {
+ assert.expect( 1 );
+ var value = null,
+ viewFactory = new ViewFactory(),
+ $dom = $( '<div/>' ),
+ referenceview = sinon.stub( $dom, 'referenceview' );
+
+ viewFactory.getReferenceView( {}, value, $dom );
+
+ sinon.assert.calledWith(
+ referenceview,
+ sinon.match( {
value: value || null,
- listItemAdapter: result.listItemAdapter // Hack
- }
+ listItemAdapter: sinon.match.instanceOf(
$.wikibase.listview.ListItemAdapter )
+ } )
);
- assert.ok( result.listItemAdapter instanceof
$.wikibase.listview.ListItemAdapter );
-
- ListItemAdapter.restore();
+ referenceview.restore();
} );
QUnit.test( 'getListItemAdapterForSnakListView passes correct options
to ListItemAdapter', function( assert ) {
--
To view, visit https://gerrit.wikimedia.org/r/298757
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4b4f4cca778c58e978f4ef2b7b129be35154cf08
Gerrit-PatchSet: 9
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Heine <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits