[MediaWiki-commits] [Gerrit] Move sitelink scraping to sitelinkgrouplistview - change (mediawiki...Wikibase)

2015-09-29 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Move sitelink scraping to sitelinkgrouplistview
..


Move sitelink scraping to sitelinkgrouplistview

This improves reusability and encapsulation of `sitelinkgrouplistview`.

Change-Id: Ie18fb8e5e0d7ecca3ded216a4a2cd1aeb27393ef
---
M view/resources/jquery/wikibase/jquery.wikibase.itemview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
M view/resources/jquery/wikibase/resources.php
M 
view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
M view/tests/qunit/jquery/wikibase/resources.php
5 files changed, 100 insertions(+), 110 deletions(-)

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



diff --git a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
index 7056ead..2c0e6aa 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
@@ -4,86 +4,6 @@
 var PARENT = $.wikibase.entityview;
 
 /**
- * Scrapes site links from static HTML in order to be sure the order in the 
static HTML matches the
- * order set on the widget initialized on the HTML structure since that widget 
is not supposed to
- * re-render the HTML for performance reasons.
- * @ignore
- *
- * @param {jQuery} $siteLinks
- * @param {wikibase.datamodel.SiteLinkSet} siteLinkSet
- * @return {Object}
- */
-function scrapeSiteLinks( $siteLinks, siteLinkSet ) {
-   var value = [];
-
-   $siteLinks.find( '.wikibase-sitelinkgroupview' ).each( function() {
-   var $sitelinkgroupview = $( this ),
-   $sitelinklistview = $sitelinkgroupview.find( 
'.wikibase-sitelinklistview' ),
-   group = $sitelinkgroupview.data( 'wb-sitelinks-group' ),
-   siteIdsOfGroup = [],
-   siteLinkIds = siteLinkSet.getKeys(),
-   siteLinksOfGroup = [];
-
-   $sitelinklistview.find( '.wikibase-sitelinkview' ).each( 
function() {
-   siteIdsOfGroup.push( $( this ).data( 'wb-siteid' ) );
-   } );
-
-   for( var i = 0; i < siteIdsOfGroup.length; i++ ) {
-   for( var j = 0; j < siteLinkIds.length; j++ ) {
-   if( siteLinkIds[j] === siteIdsOfGroup[i] ) {
-   siteLinksOfGroup.push( 
siteLinkSet.getItemByKey( siteLinkIds[j] ) );
-   break;
-   }
-   }
-   }
-
-   value.push( {
-   group: group,
-   siteLinks: siteLinksOfGroup
-   } );
-   } );
-
-   return value;
-}
-
-/**
- * Maps site links of a `wikibase.datamodel.SiteLinkSet` to their Wikibase 
site groups.
- * @ignore
- *
- * @param {wikibase.datamodel.SiteLinkSet} siteLinkSet
- * @return {Object}
- */
-function orderSiteLinksByGroup( siteLinkSet ) {
-   var value = [];
-
-   siteLinkSet.each( function( siteId, siteLink ) {
-   var site = wb.sites.getSite( siteId ),
-   found = false;
-
-   if( !site ) {
-   throw new Error( 'Site with id ' + siteId + ' is not 
registered' );
-   }
-
-   for( var i = 0; i < value.length; i++ ) {
-   if( value[i].group === site.getGroup() ) {
-   value[i].siteLinks.push( siteLink );
-   found = true;
-   break;
-   }
-   }
-
-   if( !found ) {
-   value.push( {
-   group: site.getGroup(),
-   siteLinks: [siteLink]
-   } );
-   }
-   } );
-
-   return value;
-}
-
-/**
  * View for displaying a Wikibase `Item`.
  * @see wikibase.datamodel.Item
  * @class jQuery.wikibase.itemview
@@ -189,16 +109,10 @@
 * @protected
 */
_initSiteLinks: function() {
-   var self = this,
-   value = $( '.wikibase-sitelinkgrouplistview', 
this.element ).length
-   ? scrapeSiteLinks( this.$siteLinks, 
this.options.value.getSiteLinks() )
-   : orderSiteLinksByGroup( 
this.options.value.getSiteLinks() );
-
this.$siteLinks.sitelinkgrouplistview( {
-   value: value,
-   entityId: self.options.value.getId(),
-   siteLinksChanger: 
self.options.entityChangersFactory.getSiteLinksChanger(),
-   entityIdPlainFormatter: 
self.options.entityIdPlainFormatter
+   value: 

[MediaWiki-commits] [Gerrit] Move sitelink scraping to sitelinkgrouplistview - change (mediawiki...Wikibase)

2015-09-17 Thread Adrian Lang (Code Review)
Adrian Lang has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/239052

Change subject: Move sitelink scraping to sitelinkgrouplistview
..

Move sitelink scraping to sitelinkgrouplistview

Change-Id: Ie18fb8e5e0d7ecca3ded216a4a2cd1aeb27393ef
---
M view/resources/jquery/wikibase/jquery.wikibase.itemview.js
M view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
M view/resources/jquery/wikibase/resources.php
M 
view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
4 files changed, 101 insertions(+), 107 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/52/239052/1

diff --git a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
index 2d86045..f9882e6 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
@@ -4,86 +4,6 @@
 var PARENT = $.wikibase.entityview;
 
 /**
- * Scrapes site links from static HTML in order to be sure the order in the 
static HTML matches the
- * order set on the widget initialized on the HTML structure since that widget 
is not supposed to
- * re-render the HTML for performance reasons.
- * @ignore
- *
- * @param {jQuery} $siteLinks
- * @param {wikibase.datamodel.SiteLinkSet} siteLinkSet
- * @return {Object}
- */
-function scrapeSiteLinks( $siteLinks, siteLinkSet ) {
-   var value = [];
-
-   $siteLinks.find( '.wikibase-sitelinkgroupview' ).each( function() {
-   var $sitelinkgroupview = $( this ),
-   $sitelinklistview = $sitelinkgroupview.find( 
'.wikibase-sitelinklistview' ),
-   group = $sitelinkgroupview.data( 'wb-sitelinks-group' ),
-   siteIdsOfGroup = [],
-   siteLinkIds = siteLinkSet.getKeys(),
-   siteLinksOfGroup = [];
-
-   $sitelinklistview.find( '.wikibase-sitelinkview' ).each( 
function() {
-   siteIdsOfGroup.push( $( this ).data( 'wb-siteid' ) );
-   } );
-
-   for( var i = 0; i < siteIdsOfGroup.length; i++ ) {
-   for( var j = 0; j < siteLinkIds.length; j++ ) {
-   if( siteLinkIds[j] === siteIdsOfGroup[i] ) {
-   siteLinksOfGroup.push( 
siteLinkSet.getItemByKey( siteLinkIds[j] ) );
-   break;
-   }
-   }
-   }
-
-   value.push( {
-   group: group,
-   siteLinks: siteLinksOfGroup
-   } );
-   } );
-
-   return value;
-}
-
-/**
- * Maps site links of a `wikibase.datamodel.SiteLinkSet` to their Wikibase 
site groups.
- * @ignore
- *
- * @param {wikibase.datamodel.SiteLinkSet} siteLinkSet
- * @return {Object}
- */
-function orderSiteLinksByGroup( siteLinkSet ) {
-   var value = [];
-
-   siteLinkSet.each( function( siteId, siteLink ) {
-   var site = wb.sites.getSite( siteId ),
-   found = false;
-
-   if( !site ) {
-   throw new Error( 'Site with id ' + siteId + ' is not 
registered' );
-   }
-
-   for( var i = 0; i < value.length; i++ ) {
-   if( value[i].group === site.getGroup() ) {
-   value[i].siteLinks.push( siteLink );
-   found = true;
-   break;
-   }
-   }
-
-   if( !found ) {
-   value.push( {
-   group: site.getGroup(),
-   siteLinks: [siteLink]
-   } );
-   }
-   } );
-
-   return value;
-}
-
-/**
  * View for displaying a Wikibase `Item`.
  * @see wikibase.datamodel.Item
  * @class jQuery.wikibase.itemview
@@ -183,16 +103,10 @@
 * @protected
 */
_initSiteLinks: function() {
-   var self = this,
-   value = $( '.wikibase-sitelinkgrouplistview', 
this.element ).length
-   ? scrapeSiteLinks( this.$siteLinks, 
this.options.value.getSiteLinks() )
-   : orderSiteLinksByGroup( 
this.options.value.getSiteLinks() );
-
this.$siteLinks.sitelinkgrouplistview( {
-   value: value,
-   entityId: self.options.value.getId(),
-   siteLinksChanger: 
self.options.entityChangersFactory.getSiteLinksChanger(),
-   entityStore: self.options.entityStore
+   value: this.options.value,
+   siteLinksChanger: