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

Change subject: Use EntityIdPlainFormatter in badgeselector
......................................................................


Use EntityIdPlainFormatter in badgeselector

Change-Id: I9644a31714ad9f337985dbb363be3e629bcf7c94
---
M view/resources/jquery/wikibase/jquery.wikibase.badgeselector.js
M view/resources/jquery/wikibase/jquery.wikibase.descriptionview.js
M view/resources/jquery/wikibase/jquery.wikibase.itemview.js
M view/resources/jquery/wikibase/jquery.wikibase.propertyview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinkgroupview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinkview.js
M view/resources/jquery/wikibase/jquery.wikibase.statementgrouplistview.js
M view/resources/jquery/wikibase/resources.php
M view/resources/wikibase/view/ViewFactory.js
M view/resources/wikibase/view/resources.php
M view/tests/qunit/jquery/wikibase/jquery.wikibase.badgeselector.tests.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.itemview.tests.js
M 
view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
M view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkview.tests.js
M 
view/tests/qunit/jquery/wikibase/jquery.wikibase.statementgrouplistview.tests.js
M view/tests/qunit/jquery/wikibase/resources.php
M view/tests/qunit/wikibase/view/ViewFactory.tests.js
M view/tests/qunit/wikibase/view/resources.php
22 files changed, 87 insertions(+), 124 deletions(-)

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



diff --git a/view/resources/jquery/wikibase/jquery.wikibase.badgeselector.js 
b/view/resources/jquery/wikibase/jquery.wikibase.badgeselector.js
index ab1ffa1..0eebcbc 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.badgeselector.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.badgeselector.js
@@ -27,7 +27,7 @@
  *         Structure: {<{string} item id>: <{string} custom badge css classes>}
  *         Default: {}
  *
- * @option {wikibase.store.EntityStore} entityStore
+ * @option {wikibase.entityIdFormatter.entityIdPlainFormatter} 
entityIdPlainFormatter
  *
  * @option {string} languageCode
  *
@@ -61,7 +61,7 @@
                templateShortCuts: {},
                value: [],
                badges: {},
-               entityStore: null,
+               entityIdPlainFormatter: null,
                languageCode: null,
                isRtl: false,
                messages: {
@@ -73,7 +73,7 @@
         * @see jQuery.Widget._create
         */
        _create: function() {
-               if( !this.options.entityStore || !this.options.languageCode ) {
+               if( !this.options.entityIdPlainFormatter || 
!this.options.languageCode ) {
                        throw new Error( 'Required option(s) missing' );
                }
 
@@ -193,11 +193,11 @@
                        this._addPlaceholderBadge( this.options.value[i] );
                }
 
-               this.options.entityStore.getMultiple( this.options.value )
-               .done( function( items ) {
-                       for( var i = 0; i < items.length; i++ ) {
-                               self._addBadge( items[ i ].getContent() );
-                       }
+               $.when.apply( $, $.map( this.options.value, function( badgeId ) 
{
+                       return self.options.entityIdPlainFormatter.format( 
badgeId ).done( function( badgeLabel ) {
+                               self._addBadge( badgeId, badgeLabel );
+                       } );
+               } ) ).done( function() {
                        deferred.resolve();
                } )
                .fail( function() {
@@ -276,31 +276,27 @@
                                return itemId;
                        } );
 
-               this.options.entityStore.getMultiple( badgeIds )
-               .done( function( badges ) {
+               $.when.apply( $, $.map( badgeIds, function( badgeId ) {
+                       return self.options.entityIdPlainFormatter.format( 
badgeId );
+               } ) ).done( function( /*…*/ ) {
+                       var badgeLabels = arguments;
                        $menu.empty();
 
                        $.each( badgeIds, function( index, itemId ) {
-                               var item = badges[index] && 
badges[index].getContent();
-
-                               if( !item ) {
-                                       return true;
-                               }
-
-                               var data = self._getBadgeDataForItem( item );
+                               var badgeLabel = badgeLabels[ index ];
                                var $item = $( '<a/>' )
                                        .on( 'click.' + self.widgetName, 
function( event ) {
                                                event.preventDefault();
                                        } )
-                                       .text( data.label );
+                                       .text( badgeLabel );
 
                                $( '<li/>' )
                                .addClass( self.widgetFullName + '-menuitem-' + 
itemId )
                                .data( self.widgetName + '-menuitem-badge', 
itemId )
                                .append( $item
                                        .prepend( mw.wbTemplate( 'wb-badge',
-                                               data.cssClasses,
-                                               data.label,
+                                               itemId + ' ' + 
self.options.badges[ itemId ],
+                                               badgeLabel,
                                                itemId
                                        ) )
                                )
@@ -315,21 +311,6 @@
                } );
 
                return deferred;
-       },
-
-       /**
-        * @param {wikibase.datamodel.Item} item
-        *
-        * @return {Object} A plain object with values for keys label and 
cssClasses
-        */
-       _getBadgeDataForItem: function( item ) {
-               var term = item.getFingerprint().getLabelFor( 
this.options.languageCode ),
-                       itemId = item.getId();
-
-               return {
-                       label: term ? term.getText() : itemId,
-                       cssClasses: itemId + ' ' + this.options.badges[ itemId ]
-               };
        },
 
        /**
@@ -348,8 +329,8 @@
 
                        this._trigger( 'change' );
                } else {
-                       this.options.entityStore.get( badgeId ).done( function( 
badgeItem ) {
-                               self._addBadge( badgeItem.getContent() );
+                       this.options.entityIdPlainFormatter.format( badgeId 
).done( function( badgeLabel ) {
+                               self._addBadge( badgeId, badgeLabel );
                                self._getEmptyBadge().remove();
                                self._trigger( 'change' );
                        } );
@@ -376,16 +357,15 @@
        },
 
        /**
-        * @param {wikibase.datamodel.Item} badgeItem
+        * @param {string} badgeId
+        * @param {string} badgeLabel
         */
-       _addBadge: function( badgeItem ) {
-               var badgeId = badgeItem.getId(),
-                       badgeData = this._getBadgeDataForItem( badgeItem ),
-                       $placeholderBadge = this.element.children( 
'[data-wb-badge="' + badgeId + '"]' );
+       _addBadge: function( badgeId, badgeLabel ) {
+               var $placeholderBadge = this.element.children( 
'[data-wb-badge="' + badgeId + '"]' );
 
                var $badge = mw.wbTemplate( 'wb-badge',
-                       badgeData.cssClasses,
-                       badgeData.label,
+                       badgeId + ' ' + this.options.badges[ badgeId ],
+                       badgeLabel,
                        badgeId
                );
 
@@ -457,11 +437,11 @@
 
                        // Since the widget might have been initialized on 
pre-existing DOM, badges need to be
                        // fetched to ensure their data is available for 
resetting:
-                       this.options.entityStore.getMultiple( 
this.options.value )
-                       .done( function( items ) {
-                               for( var i = 0; i < items.length; i++ ) {
-                                       self._addBadge( items[ i ].getContent() 
);
-                               }
+                       $.when.apply( $, $.map( this.options.value, function( 
badgeId ) {
+                               return 
self.options.entityIdPlainFormatter.format( badgeId ).done( function( 
badgeLabel ) {
+                                       self._addBadge( badgeId, badgeLabel );
+                               } );
+                       } ) ).done( function() {
                                self._trigger( 'afterstopediting', null, 
[dropValue] );
                        } );
                }
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.descriptionview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.descriptionview.js
index 2e73581..ec2ab0a 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.descriptionview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.descriptionview.js
@@ -21,8 +21,6 @@
  *         Default: mw.msg( 'wikibase-description-input-help-message' )
  *
  * @option {wikibase.entityChangers.DescriptionsChanger} descriptionsChanger
- *
- * @option {wikibase.store.EntityStore} entityStore
  */
 $.widget( 'wikibase.descriptionview', PARENT, {
        /**
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
index f894d68..073bfbe 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
@@ -98,6 +98,8 @@
  *
  * @constructor
  *
+ * @param {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
options.entityIdPlainFormatter
+ *        Required for dynamically rendering plain text references to 
`Entity`s.
  * @param {wikibase.store.EntityStore} options.entityStore
  *        Required by sub-components of the `entityview` to enable those to 
dynamically query for
  *        `Entity` objects.
@@ -114,6 +116,7 @@
         * @protected
         */
        options: {
+               entityIdPlainFormatter: null,
                entityStore: null,
                valueViewBuilder: null,
                dataTypeStore: null
@@ -165,6 +168,7 @@
                        claimGuidGenerator: claimGuidGenerator,
                        dataTypeStore: this.option( 'dataTypeStore' ),
                        entityStore: this.options.entityStore,
+                       entityIdPlainFormatter: 
this.options.entityIdPlainFormatter,
                        valueViewBuilder: this.options.valueViewBuilder,
                        entityChangersFactory: 
this.options.entityChangersFactory
                } )
@@ -190,7 +194,7 @@
                        value: value,
                        entityId: self.options.value.getId(),
                        siteLinksChanger: 
self.options.entityChangersFactory.getSiteLinksChanger(),
-                       entityStore: self.options.entityStore
+                       entityIdPlainFormatter: 
self.options.entityIdPlainFormatter
                } );
        },
 
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.propertyview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.propertyview.js
index e4492d8..fcbc5aa 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.propertyview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.propertyview.js
@@ -17,6 +17,8 @@
  *
  * @constructor
  *
+ * @param {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
options.entityIdPlainFormatter
+ *        Required for dynamically rendering plain text references to 
`Entity`s.
  * @param {wikibase.store.EntityStore} options.entityStore
  *        Required by sub-components of the `entityview` to enable those to 
dynamically query for
  *        `Entity` objects.
@@ -33,6 +35,7 @@
         * @protected
         */
        options: {
+               entityIdPlainFormatter: null,
                entityStore: null,
                valueViewBuilder: null,
                dataTypeStore: null
@@ -105,6 +108,7 @@
                        value: this.options.value.getStatements(),
                        claimGuidGenerator: claimGuidGenerator,
                        dataTypeStore: this.option( 'dataTypeStore' ),
+                       entityIdPlainFormatter: 
this.options.entityIdPlainFormatter,
                        entityStore: this.options.entityStore,
                        valueViewBuilder: this.options.valueViewBuilder,
                        entityChangersFactory: 
this.options.entityChangersFactory
diff --git 
a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
index 70fef4e..f9bf807 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
@@ -18,7 +18,7 @@
  *
  * @option {wikibase.entityChangers.SiteLinksChanger} siteLinksChanger
  *
- * @option {wikibase.store.EntityStore} entityStore
+ * @option {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
entityIdPlainFormatter
  */
 $.widget( 'wikibase.sitelinkgrouplistview', PARENT, {
        options: {
@@ -29,7 +29,7 @@
                templateShortCuts: {},
                value: null,
                siteLinksChanger: null,
-               entityStore: null
+               entityIdPlainFormatter: null
        },
 
        /**
@@ -46,7 +46,7 @@
         * @see jQuery.ui.TemplatedWidget._create
         */
        _create: function() {
-               if( !this.options.value || !this.options.siteLinksChanger || 
!this.options.entityStore ) {
+               if( !this.options.value || !this.options.siteLinksChanger || 
!this.options.entityIdPlainFormatter ) {
                        throw new Error( 'Required option(s) missing' );
                }
 
@@ -93,7 +93,7 @@
                                        return {
                                                value: value,
                                                siteLinksChanger: 
self.options.siteLinksChanger,
-                                               entityStore: 
self.options.entityStore,
+                                               entityIdPlainFormatter: 
self.options.entityIdPlainFormatter,
                                                eventSingletonManager: 
this._eventSingletonManager,
                                                helpMessage: mw.msg( 
'wikibase-sitelinkgroupview-input-help-message' )
                                        };
diff --git 
a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgroupview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgroupview.js
index f957b7c..14c6dff 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgroupview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgroupview.js
@@ -28,9 +28,9 @@
  *         Object representing the widget's value.
  *         Structure: { group: <{string}>, siteLinks: 
<{wikibase.datamodel.SiteLink[]}> }
  *
- * @option {wikibase.entityChangers:SiteLinksChanger} siteLinksChanger
+ * @option {wikibase.entityChangers.SiteLinksChanger} siteLinksChanger
  *
- * @option {wikibase.store.EntityStore} entityStore
+ * @option {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
entityIdPlainFormatter
  *
  * @option {jQuery.util.EventSingletonManager} [eventSingletonManager]
  *         Should be set when the widget instance is part of a 
jQuery.wikibase.sitelinkgrouplistview.
@@ -62,7 +62,7 @@
                        $counter: '.wikibase-sitelinkgroupview-counter'
                },
                value: null,
-               entityStore: null,
+               entityIdPlainFormatter: null,
                siteLinksChanger: null,
                eventSingletonManager: null,
                helpMessage: 'Add a site link by specifying a site and a page 
of that site, edit or remove '
@@ -83,7 +83,7 @@
         * @see jQuery.ui.TemplatedWidget._create
         */
        _create: function() {
-               if( !this.options.siteLinksChanger || !this.options.entityStore 
) {
+               if( !this.options.siteLinksChanger || 
!this.options.entityIdPlainFormatter ) {
                        throw new Error( 'Required parameter(s) missing' );
                }
 
@@ -179,7 +179,7 @@
                        allowedSiteIds: this.options.value
                                ? getSiteIdsOfGroup( this.options.value.group )
                                : [],
-                       entityStore: this.options.entityStore,
+                       entityIdPlainFormatter: 
this.options.entityIdPlainFormatter,
                        siteLinksChanger: this.options.siteLinksChanger,
                        eventSingleton: this._eventSingleton,
                        $counter: this.$counter,
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
index 257ff90..497fcef 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
@@ -29,7 +29,7 @@
  *
  * @option {wikibase.entityChangers.SiteLinksChanger} siteLinksChanger
  *
- * @option {wikibase.store.EntityStore} entityStore
+ * @option {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
entityIdPlainFormatter
  *
  * @option {jQuery.util.EventSingletonManager} [eventSingletonManager]
  *         Should be set when the widget instance is part of a 
sitelinkgroupview.
@@ -55,7 +55,7 @@
                value: [],
                allowedSiteIds: [],
                siteLinksChanger: null,
-               entityStore: null,
+               entityIdPlainFormatter: null,
                eventSingletonManager: null,
                $counter: null,
                autoInput: true
@@ -70,7 +70,7 @@
         * @see jQuery.ui.TemplatedWidget._create
         */
        _create: function() {
-               if( !this.options.siteLinksChanger || !this.options.entityStore 
) {
+               if( !this.options.siteLinksChanger || 
!this.options.entityIdPlainFormatter ) {
                        throw new Error( 'Required option(s) missing' );
                }
 
@@ -141,7 +141,7 @@
                                                                return 
wb.sites.getSite( siteId );
                                                        } );
                                                },
-                                               entityStore: 
self.options.entityStore
+                                               entityIdPlainFormatter: 
self.options.entityIdPlainFormatter
                                        };
                                }
                        } ),
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkview.js
index fd7d0fb..a036cb2 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.sitelinkview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.sitelinkview.js
@@ -19,7 +19,7 @@
  *         Function returning an array of wikibase.Site objects.
  *         Default: function() { return []; }
  *
- * @option {wikibase.store.EntityStore} entityStore
+ * @option {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
entityIdPlainFormatter
  *
  * @option {string} [helpMessage]
  *         Default: mw.msg( 'wikibase-sitelinks-input-help-message' )
@@ -76,7 +76,7 @@
                },
                value: null,
                getAllowedSites: function() { return []; },
-               entityStore: null,
+               entityIdPlainFormatter: null,
                helpMessage: mw.msg( 'wikibase-sitelinks-input-help-message' )
        },
 
@@ -94,7 +94,7 @@
         * @see jQuery.ui.TemplatedWidget._create
         */
        _create: function() {
-               if( !this.options.entityStore || !this.options.helpMessage ) {
+               if( !this.options.entityIdPlainFormatter || 
!this.options.helpMessage ) {
                        throw new Error( 'Required option(s) missing' );
                }
 
@@ -145,7 +145,7 @@
                .badgeselector( {
                        value: this.options.value ? 
this.options.value.getBadges() : [],
                        badges: badges,
-                       entityStore: this.options.entityStore,
+                       entityIdPlainFormatter: 
this.options.entityIdPlainFormatter,
                        languageCode: mw.config.get( 'wgUserLanguage' ),
                        emptyBadgeTitle: mw.msg( 'wikibase-add-badges' ),
                        isRtl: $( 'body' ).hasClass( 'rtl' ),
diff --git 
a/view/resources/jquery/wikibase/jquery.wikibase.statementgrouplistview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.statementgrouplistview.js
index 797a27e..993c1c5 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.statementgrouplistview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.statementgrouplistview.js
@@ -23,6 +23,8 @@
  *        The `Statements` to be displayed by this view.
  * @param {wikibase.utilities.ClaimGuidGenerator} options.claimGuidGenerator
  *        Required for dynamically generating GUIDs for new `Statement`s.
+ * @param {wikibase.entityIdFormatter.EntityIdPlainFormatter} 
options.entityIdPlainFormatter
+ *        Required for dynamically rendering plain text references to 
`Entity`s.
  * @param {wikibase.store.EntityStore} options.entityStore
  *        Required for dynamically gathering `Entity`/`Property` information.
  * @param {wikibase.ValueViewBuilder} options.valueViewBuilder
@@ -48,6 +50,7 @@
                templateShortCuts: {},
                value: null,
                claimGuidGenerator: null,
+               entityIdPlainFormatter: null,
                entityStore: null,
                valueViewBuilder: null,
                entityChangersFactory: null,
@@ -118,9 +121,6 @@
                var entityIdHtmlFormatter = new 
wb.entityIdFormatter.SimpleEntityIdHtmlFormatter(
                        this.options.entityStore
                );
-               var entityIdPlainFormatter = new 
wb.entityIdFormatter.SimpleEntityIdPlainFormatter(
-                       this.options.entityStore
-               );
                $listview.listview( {
                        listItemAdapter: new 
$.wikibase.listview.ListItemAdapter( {
                                listItemWidget: $.wikibase.statementgroupview,
@@ -130,7 +130,7 @@
                                                claimGuidGenerator: 
self.options.claimGuidGenerator,
                                                dataTypeStore: 
self.options.dataTypeStore,
                                                entityIdHtmlFormatter: 
entityIdHtmlFormatter,
-                                               entityIdPlainFormatter: 
entityIdPlainFormatter,
+                                               entityIdPlainFormatter: 
self.options.entityIdPlainFormatter,
                                                entityStore: 
self.options.entityStore,
                                                valueViewBuilder: 
self.options.valueViewBuilder,
                                                entityChangersFactory: 
self.options.entityChangersFactory
diff --git a/view/resources/jquery/wikibase/resources.php 
b/view/resources/jquery/wikibase/resources.php
index 316a31b..b197af5 100644
--- a/view/resources/jquery/wikibase/resources.php
+++ b/view/resources/jquery/wikibase/resources.php
@@ -72,7 +72,6 @@
                                'wikibase.datamodel.Item',
                                'wikibase.datamodel.StatementGroupSet',
                                
'wikibase.entityIdFormatter.SimpleEntityIdHtmlFormatter',
-                               
'wikibase.entityIdFormatter.SimpleEntityIdPlainFormatter',
                        ),
                ),
 
diff --git a/view/resources/wikibase/view/ViewFactory.js 
b/view/resources/wikibase/view/ViewFactory.js
index 9113628..9803473 100644
--- a/view/resources/wikibase/view/ViewFactory.js
+++ b/view/resources/wikibase/view/ViewFactory.js
@@ -136,6 +136,7 @@
                        {
                                dataTypeStore: this._dataTypeStore,
                                entityChangersFactory: 
this._entityChangersFactory,
+                               entityIdPlainFormatter: new 
wb.entityIdFormatter.SimpleEntityIdPlainFormatter( this._entityStore ),
                                entityStore: this._entityStore,
                                languages: this._userLanguages,
                                value: entity,
diff --git a/view/resources/wikibase/view/resources.php 
b/view/resources/wikibase/view/resources.php
index 9b7123d..199571a 100644
--- a/view/resources/wikibase/view/resources.php
+++ b/view/resources/wikibase/view/resources.php
@@ -29,6 +29,7 @@
                        'dependencies' => array(
                                'jquery.wikibase.itemview',
                                'jquery.wikibase.propertyview',
+                               
'wikibase.entityIdFormatter.SimpleEntityIdPlainFormatter',
                                'wikibase.view.__namespace',
                                'wikibase.ValueViewBuilder'
                        )
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.badgeselector.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.badgeselector.tests.js
index 3fb9c75..8394d6d 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.badgeselector.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.badgeselector.tests.js
@@ -18,38 +18,6 @@
        }
 } ) );
 
-var entities =  {
-       Q1: new wb.store.FetchedContent( {
-               title: new mw.Title( 'Item:Q1' ),
-               content: new wb.datamodel.Item( 'Q1',
-                       new wb.datamodel.Fingerprint( new wb.datamodel.TermMap( 
[
-                               new wb.datamodel.Term( 'en', 'Q1-label' )
-                       ] ) )
-               )
-       } ),
-       Q2: new wb.store.FetchedContent( {
-               title: new mw.Title( 'Item:Q2' ),
-               content: new wb.datamodel.Item( 'Q2',
-                       new wb.datamodel.Fingerprint( new wb.datamodel.TermMap( 
[
-                               new wb.datamodel.Term( 'en', 'Q2-label' )
-                       ] ) )
-               )
-       } ),
-       Q3: new wb.store.FetchedContent( {
-               title: new mw.Title( 'Item:Q3' ),
-               content: new wb.datamodel.Item( 'Q3',
-                       new wb.datamodel.Fingerprint( new wb.datamodel.TermMap( 
[
-                               new wb.datamodel.Term( 'en', 'Q3-label' )
-                       ] ) )
-               )
-       } )
-};
-
-var entityStore = new wb.store.EntityStore();
-entityStore.get = function( entityId ) {
-       return $.Deferred().resolve( entities[entityId] );
-};
-
 /**
  * @param {Object} [options]
  * @return {jQuery}
@@ -61,7 +29,9 @@
                        Q2: 'additionalCssClass-21 additionalCssClass22',
                        Q3: 'additionalCssClass-3'
                },
-               entityStore: entityStore,
+               entityIdPlainFormatter: function( entityId ) {
+                       return $.Deferred().resolve( entityId ).promise();
+               },
                languageCode: 'en'
        }, options || {} );
 
diff --git a/view/tests/qunit/jquery/wikibase/jquery.wikibase.itemview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.itemview.tests.js
index ea54e9a..3ecac9d 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.itemview.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.itemview.tests.js
@@ -12,6 +12,7 @@
  */
 var createItemview = function( options, $node ) {
        options = $.extend( {
+               entityIdPlainFormatter: 'I am an EntityIdPlainFormatter',
                entityStore: new wb.store.EntityStore(),
                entityChangersFactory: {
                        getAliasesChanger: function() { return 'I am an 
AliasesChanger'; },
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
index 2068fa5..25c0d08 100644
--- 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
+++ 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
@@ -12,7 +12,7 @@
 function createSitelinkgrouplistview( options ) {
        options = $.extend( {
                siteLinksChanger: 'I am a SiteLinksChanger',
-               entityStore: 'I am an EntityStore'
+               entityIdPlainFormatter: 'I am an EntityIdPlainFormatter'
        }, options );
 
        return $( '<div/>' )
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
index 7cecec2..b71e651 100644
--- 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
+++ 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgroupview.tests.js
@@ -12,7 +12,7 @@
 function createSitelinkgroupview( options ) {
        options = $.extend( {
                siteLinksChanger: 'I am a SiteLinksChanger',
-               entityStore: new wb.store.EntityStore()
+               entityIdPlainFormatter: 'I am an EntityIdPlainFormatter'
        }, options );
 
        var $sitelinkgroupview = $( '<div/>' )
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
index 0888fb3..a5955b6 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinklistview.tests.js
@@ -11,9 +11,9 @@
  */
 function createSitelinklistview( options ) {
        options = $.extend( {
-               siteLinksChanger: 'I am a SiteLinksChanger',
-               entityStore: new wb.store.EntityStore(),
-               allowedSiteIds: ['aawiki', 'enwiki']
+               allowedSiteIds: ['aawiki', 'enwiki'],
+               entityIdPlainFormatter: 'I am an EntityIdPlainFormatter',
+               siteLinksChanger: 'I am a SiteLinksChanger'
        }, options );
 
        var $sitelinklistview = $( '<table/>' )
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkview.tests.js 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkview.tests.js
index b949280..fa80fb2 100644
--- a/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkview.tests.js
+++ b/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkview.tests.js
@@ -11,7 +11,7 @@
         */
        function createSitelinkview( options ) {
                options = $.extend( {
-                       entityStore: new wb.store.EntityStore(),
+                       entityIdPlainFormatter: 'i am an 
EntityIdPlainFormatter',
                        allowedSiteIds: ['aawiki', 'enwiki']
                }, options );
 
diff --git 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementgrouplistview.tests.js
 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementgrouplistview.tests.js
index cd0e87b..99f2fcf 100644
--- 
a/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementgrouplistview.tests.js
+++ 
b/view/tests/qunit/jquery/wikibase/jquery.wikibase.statementgrouplistview.tests.js
@@ -19,6 +19,11 @@
 var createStatementgrouplistview = function( options, $node ) {
        options = $.extend( {
                claimGuidGenerator: 'I am a ClaimGuidGenerator',
+               entityIdPlainFormatter: {
+                       format: function( entityId ) {
+                               return $.Deferred().resolve( entityId 
).promise();
+                       }
+               },
                entityStore: entityStore,
                valueViewBuilder: 'I am a ValueViewBuilder',
                entityChangersFactory: {
diff --git a/view/tests/qunit/jquery/wikibase/resources.php 
b/view/tests/qunit/jquery/wikibase/resources.php
index 6c3d534..5872e4c 100644
--- a/view/tests/qunit/jquery/wikibase/resources.php
+++ b/view/tests/qunit/jquery/wikibase/resources.php
@@ -33,10 +33,7 @@
                        ),
                        'dependencies' => array(
                                'jquery.wikibase.badgeselector',
-                               'mediawiki.Title',
                                'wikibase.datamodel',
-                               'wikibase.store.EntityStore',
-                               'wikibase.store.FetchedContent',
                        ),
                ),
 
@@ -234,7 +231,6 @@
                        'dependencies' => array(
                                'jquery.wikibase.sitelinkgroupview',
                                'wikibase.datamodel',
-                               'wikibase.store.EntityStore',
                                'wikibase.tests.qunit.testrunner',
                        ),
                ),
@@ -246,7 +242,6 @@
                        'dependencies' => array(
                                'jquery.wikibase.sitelinklistview',
                                'wikibase.datamodel',
-                               'wikibase.store.EntityStore',
                                'wikibase.tests.qunit.testrunner',
                        ),
                ),
@@ -258,7 +253,6 @@
                        'dependencies' => array(
                                'jquery.wikibase.sitelinkview',
                                'wikibase.datamodel',
-                               'wikibase.store.EntityStore',
                                'wikibase.tests.qunit.testrunner',
                        ),
                ),
diff --git a/view/tests/qunit/wikibase/view/ViewFactory.tests.js 
b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
index e614346..a17e5fb 100644
--- a/view/tests/qunit/wikibase/view/ViewFactory.tests.js
+++ b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
@@ -16,7 +16,8 @@
        }
 
        QUnit.test( 'getEntityView constructs correct views', function( assert 
) {
-               var viewFactory = new ViewFactory(),
+               var entityStore = new wb.store.EntityStore(),
+                       viewFactory = new ViewFactory( null, null, null, 
entityStore ),
                        fooView = {},
                        $dom = $( '<div/>' ),
                        FooView = $dom.fooview = $.wikibase.fooview = 
sinon.spy();
@@ -29,7 +30,8 @@
        } );
 
        QUnit.test( 'getEntityView throws on incorrect views', function( assert 
) {
-               var viewFactory = new ViewFactory();
+               var entityStore = new wb.store.EntityStore(),
+                       viewFactory = new ViewFactory( null, null, null, 
entityStore );
 
                assert.throws(
                        function() {
@@ -44,7 +46,7 @@
                        dataTypeStore = {},
                        entity = getEntityStub( 'foo' ),
                        entityChangersFactory = {},
-                       entityStore = {},
+                       entityStore = new wb.store.EntityStore(),
                        expertStore = {},
                        formatterStore = {},
                        messageProvider = {},
@@ -77,14 +79,15 @@
                        contentLanguages
                );
 
-               sinon.assert.calledWith( FooView, {
+               sinon.assert.calledWith( FooView, sinon.match( {
                        dataTypeStore: dataTypeStore,
                        entityChangersFactory: entityChangersFactory,
+                       entityIdPlainFormatter: sinon.match.instanceOf( 
wb.entityIdFormatter.EntityIdPlainFormatter ),
                        entityStore: entityStore,
                        languages: userLanguages,
                        value: entity,
                        valueViewBuilder: wb.ValueViewBuilder.thisValues[0]
-               } );
+               } ) );
 
                wb.ValueViewBuilder.restore();
        } );
diff --git a/view/tests/qunit/wikibase/view/resources.php 
b/view/tests/qunit/wikibase/view/resources.php
index 5e0bc17..9d39780 100644
--- a/view/tests/qunit/wikibase/view/resources.php
+++ b/view/tests/qunit/wikibase/view/resources.php
@@ -20,6 +20,8 @@
                                'ViewFactory.tests.js',
                        ),
                        'dependencies' => array(
+                               'wikibase.store.EntityStore',
+                               
'wikibase.entityIdFormatter.EntityIdPlainFormatter',
                                'wikibase.view.ViewFactory',
                                'wikibase.ValueViewBuilder'
                        ),
@@ -28,4 +30,5 @@
        );
 
        return $modules;
+
 } );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I9644a31714ad9f337985dbb363be3e629bcf7c94
Gerrit-PatchSet: 15
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <adrian.he...@wikimedia.de>
Gerrit-Reviewer: Adrian Lang <adrian.he...@wikimedia.de>
Gerrit-Reviewer: Bene <benestar.wikime...@gmail.com>
Gerrit-Reviewer: Hoo man <h...@online.de>
Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to