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

Change subject: Consolidated wikibase.Site
......................................................................


Consolidated wikibase.Site

Change-Id: Ife7f678086b15696280fe693bbc6acdb9c86f6b1
---
M client/resources/jquery.wikibase/jquery.wikibase.linkitem.js
M client/resources/wikibase.client.PageConnector.js
M lib/resources/Resources.php
M lib/resources/wikibase.Site.js
M lib/resources/wikibase.ui.PropertyEditTool.EditableSiteLink.js
M lib/resources/wikibase.ui.PropertyEditTool.EditableValue.Interface.js
M lib/resources/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.js
M lib/tests/qunit/wikibase.Site.tests.js
M lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.Interface.tests.js
M 
lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.tests.js
10 files changed, 78 insertions(+), 108 deletions(-)

Approvals:
  WikidataJenkins: Verified
  Thiemo Mättig (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/client/resources/jquery.wikibase/jquery.wikibase.linkitem.js 
b/client/resources/jquery.wikibase/jquery.wikibase.linkitem.js
index 74972e9..1a1ba47 100644
--- a/client/resources/jquery.wikibase/jquery.wikibase.linkitem.js
+++ b/client/resources/jquery.wikibase/jquery.wikibase.linkitem.js
@@ -526,13 +526,13 @@
                                $( '<td>' )
                                .addClass( 'wbclient-linkItem-column-site' )
                                .text( site.getName() )
-                               .css( 'direction', site.getLanguage().dir )
+                               .css( 'direction', site.getLanguageDirection() )
                        )
                        .append(
                                $( '<td>' )
                                .addClass( 'wbclient-linkItem-column-page' )
                                .append( site.getLinkTo( entitySitelinks.title 
) )
-                               .css( 'direction', site.getLanguage().dir )
+                               .css( 'direction', site.getLanguageDirection() )
                        );
        },
 
diff --git a/client/resources/wikibase.client.PageConnector.js 
b/client/resources/wikibase.client.PageConnector.js
index 931b381..8d29597 100644
--- a/client/resources/wikibase.client.PageConnector.js
+++ b/client/resources/wikibase.client.PageConnector.js
@@ -341,12 +341,12 @@
                };
 
                // Sitelinks
-               entityData.sitelinks[ firstSite.getGlobalSiteId() ] = {
-                       site: firstSite.getGlobalSiteId(),
+               entityData.sitelinks[ firstSite.getId() ] = {
+                       site: firstSite.getId(),
                        title: firstPageName
                };
-               entityData.sitelinks[ secondSite.getGlobalSiteId() ] = {
-                       site: secondSite.getGlobalSiteId(),
+               entityData.sitelinks[ secondSite.getId() ] = {
+                       site: secondSite.getId(),
                        title: secondPageName
                };
 
diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index f9f054a..f910d90 100644
--- a/lib/resources/Resources.php
+++ b/lib/resources/Resources.php
@@ -33,12 +33,24 @@
                'wikibase.sites' => $moduleTemplate + array(
                        'scripts' => array(
                                'wikibase.sites.js',
-                               'wikibase.Site.js',
                        ),
                        'dependencies' => array(
                                'mw.config.values.wbSiteDetails',
-                               'wikibase'
+                               'wikibase',
+                               'wikibase.Site',
                        )
+               ),
+
+               'wikibase.Site' => $moduleTemplate + array(
+                       'scripts' => array(
+                               'wikibase.Site.js',
+                       ),
+                       'dependencies' => array(
+                               'jquery',
+                               'mediawiki.util',
+                               'util.inherit',
+                               'wikibase',
+                       ),
                ),
 
                'mw.config.values.wbSiteDetails' => $moduleTemplate + array(
@@ -782,7 +794,7 @@
 
        if ( defined( 'ULS_VERSION' ) ) {
                $modules['wikibase']['dependencies'][] = 'ext.uls.mediawiki';
-               $modules['wikibase.sites']['dependencies'][] = 
'ext.uls.mediawiki';
+               $modules['wikibase.Site']['dependencies'][] = 
'ext.uls.mediawiki';
                $modules['wikibase.ui.PropertyEditTool']['dependencies'][] = 
'ext.uls.mediawiki';
        }
 
diff --git a/lib/resources/wikibase.Site.js b/lib/resources/wikibase.Site.js
index 22dc0c1..0b428ba 100644
--- a/lib/resources/wikibase.Site.js
+++ b/lib/resources/wikibase.Site.js
@@ -47,22 +47,6 @@
        },
 
        /**
-        * Returns the global site id of the site.
-        *
-        * @deprecated Use getId() instead. There is no "global" ID anymore. 
Before, the local ID
-        *             simply was the language code which is still available by 
getLanguageCode() and
-        *             the global ID was the normal ID.
-        *
-        * NOTE: The getGlobalSiteId() in the PHP class is a concept of the 
Sites within MediaWiki and
-        *       has nothing to do with the Site in our data model.
-        *
-        * @return string
-        */
-       getGlobalSiteId: function() {
-               return this.getId();
-       },
-
-       /**
         * Returns the group of the site.
         *
         * @since 0.4
@@ -128,28 +112,12 @@
        },
 
        /**
-        * Returns an object containing the site's language code and language 
direction
+        * Returns the site language's text direction.
         *
-        * @return object language code and direction
+        * @return {string}
         */
-       getLanguage: function() {
-               var dir = 'ltr',
-                       languageCode = this.getLanguageCode();
-
-               // language might not be defined in ULS
-               if ( wb.getLanguages()[languageCode] ) {
-                       if ( $.uls.data.isRtl( languageCode ) ) {
-                               dir = 'rtl';
-                       }
-               } else {
-                       // TODO: This should probably be logged somehow, 
because it really shouldn't happen.
-                       dir = 'auto';
-               }
-
-               return {
-                       code: languageCode,
-                       dir: dir
-               };
+       getLanguageDirection: function() {
+               return $.uls && $.uls.data.getDir( this.getLanguageCode() ) || 
'auto';
        },
 
        /**
diff --git a/lib/resources/wikibase.ui.PropertyEditTool.EditableSiteLink.js 
b/lib/resources/wikibase.ui.PropertyEditTool.EditableSiteLink.js
index b089662..3777c6e 100644
--- a/lib/resources/wikibase.ui.PropertyEditTool.EditableSiteLink.js
+++ b/lib/resources/wikibase.ui.PropertyEditTool.EditableSiteLink.js
@@ -73,12 +73,15 @@
        _bindInterfaces: function( interfaces ) {
                PARENT.prototype._bindInterfaces.call( this, interfaces );
 
+               var selectedSite = this.siteIdInterface.getSelectedSite();
+
                // TODO: move this into _init() perhaps
                /* TODO: Setting the language attributes on initialisation will 
not be required as soon as
                the attributes are already attached in PHP for the non-JS 
version */
-               if ( this.siteIdInterface.getSelectedSite() !== null ) {
+               if( selectedSite !== null ) {
                        this.sitePageInterface.setLanguageAttributes(
-                               
this.siteIdInterface.getSelectedSite().getLanguage()
+                               selectedSite.getLanguageCode(),
+                               selectedSite.getLanguageDirection()
                        );
                }
        },
@@ -118,7 +121,10 @@
                        pageInterfaceCell.removeClassByRegex( 
/^wb-sitelinks-link-.+/ );
                        pageInterfaceCell.addClass( 'wb-sitelinks-link 
wb-sitelinks-link-' + siteId );
                        // directly updating the page interface's language 
attributes when a site is selected
-                       pageInterface.setLanguageAttributes( site.getLanguage() 
);
+                       pageInterface.setLanguageAttributes(
+                               site.getLanguageCode(),
+                               site.getLanguageDirection()
+                       );
                }
 
                // only enable site page selector if there is a valid site id 
selected
diff --git 
a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.Interface.js 
b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.Interface.js
index f8dafa8..42e4f02 100644
--- a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.Interface.js
+++ b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.Interface.js
@@ -216,10 +216,11 @@
        /**
         * Set HTML language and directionality attributes.
         *
-        * @param {object} language
+        * @param {string} code
+        * @param {string} dir
         */
-       setLanguageAttributes: function( language ) {
-               this.getSubject().attr( 'lang', language.code ).attr( 'dir', 
language.dir );
+       setLanguageAttributes: function( code, dir ) {
+               this.getSubject().attr( 'lang', code ).attr( 'dir', dir );
                this.updateLanguageAttributes();
        },
 
diff --git 
a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.js 
b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.js
index ab79cf5..1bac97f 100644
--- 
a/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.js
+++ 
b/lib/resources/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.js
@@ -350,7 +350,7 @@
                }
 
                return mw.util.getUrl(
-                       'Special:SetSiteLink/' + entityId + '/' + 
this.getSite().getGlobalSiteId()
+                       'Special:SetSiteLink/' + entityId + '/' + 
this.getSite().getId()
                );
        },
 
diff --git a/lib/tests/qunit/wikibase.Site.tests.js 
b/lib/tests/qunit/wikibase.Site.tests.js
index 3d218aa..667de5b 100644
--- a/lib/tests/qunit/wikibase.Site.tests.js
+++ b/lib/tests/qunit/wikibase.Site.tests.js
@@ -1,77 +1,60 @@
 /**
- * QUnit tests for site component
- * @see https://www.mediawiki.org/wiki/Extension:Wikibase
- *
- * @since 0.1
- *
  * @licence GNU GPL v2+
  * @author H. Snater
  */
 
-( function( mw, wb, $, QUnit, undefined ) {
+( function( mw, wb, $, QUnit ) {
        'use strict';
 
-       QUnit.module( 'wikibase.Site', QUnit.newWbEnvironment( {
-               setup: function() {
-                       this.siteDetails = {
-                               apiUrl: 'http://en.wikipedia.org/w/api.php',
-                               id: 'en-global',
-                               name: 'English Wikipedia',
-                               pageUrl: 'http://en.wikipedia.org/wiki/$1',
-                               shortName: 'English',
-                               languageCode: 'en',
-                               group: 'wikipedia'
-                       };
-                       this.string = 'test';
-                       this.site = new wb.Site( this.siteDetails );
-               },
-               teardown: function() {
-                       delete( this.siteDetails );
-                       delete( this.string );
-                       delete( this.site );
-               }
-       } ) );
+       var siteDetails = {
+               apiUrl: 'http://en.wikipedia.org/w/api.php',
+               id: 'en-global',
+               name: 'English Wikipedia',
+               pageUrl: 'http://en.wikipedia.org/wiki/$1',
+               shortName: 'English',
+               languageCode: 'en',
+               group: 'wikipedia'
+       };
+
+       var string = 'test',
+               site = new wb.Site( siteDetails );
+
+       QUnit.module( 'wikibase.Site', QUnit.newWbEnvironment() );
 
        QUnit.test( 'check init', function( assert ) {
                assert.strictEqual(
-                       this.site._siteDetails,
-                       this.siteDetails,
+                       site._siteDetails,
+                       siteDetails,
                        'set site details'
                );
 
                assert.strictEqual(
-                       this.site.getId(),
-                       this.siteDetails.id,
+                       site.getId(),
+                       siteDetails.id,
                        'verified site id'
                );
 
                assert.strictEqual(
-                       this.site.getGlobalSiteId(), // deprecated, equivalent 
to getId() now
-                       this.site.getId(),
-                       'verified global site id'
-               );
-
-               assert.strictEqual(
-                       this.site.getName(),
-                       this.siteDetails.name,
+                       site.getName(),
+                       siteDetails.name,
                        'verified site name'
                );
 
                assert.strictEqual(
-                       this.site.getShortName(),
-                       this.siteDetails.shortName,
+                       site.getShortName(),
+                       siteDetails.shortName,
                        'verified short site name'
                );
 
                assert.strictEqual(
-                       this.site.getApi(),
-                       this.siteDetails.apiUrl,
+                       site.getApi(),
+                       siteDetails.apiUrl,
                        'verified site api'
                );
 
                assert.strictEqual(
-                       this.site.getGroup(),
-                       this.siteDetails.group,
+                       site.getGroup(),
+                       siteDetails.group,
                        'verified site group'
                );
        } );
@@ -79,7 +62,7 @@
        QUnit.test( 'link handling', function( assert ) {
 
                assert.equal(
-                       this.site.getLinkTo( this.string )[0].nodeName,
+                       site.getLinkTo( string )[0].nodeName,
                        'A',
                        'created DOM node for link'
                );
@@ -89,29 +72,29 @@
        QUnit.test( 'language functions', function( assert ) {
 
                assert.equal(
-                       this.site.getLanguageCode(),
+                       site.getLanguageCode(),
                        'en',
                        'retrieved language code'
                );
 
                assert.equal(
-                       this.site.getLanguage().dir,
+                       site.getLanguageDirection(),
                        ( $.uls !== undefined ) ? 'ltr' : 'auto',
                        'retrieved ltr language direction'
                );
 
-               this.site._siteDetails.languageCode = 'ar';
+               site._siteDetails.languageCode = 'ar';
 
                assert.equal(
-                       this.site.getLanguage().dir,
+                       site.getLanguageDirection(),
                        ( $.uls !== undefined ) ? 'rtl' : 'auto',
                        'retrieved rtl language direction'
                );
 
-               this.site._siteDetails.languageCode = 'non-existing-code';
+               site._siteDetails.languageCode = 'non-existing-code';
 
                assert.equal(
-                       this.site.getLanguage().dir,
+                       site.getLanguageDirection(),
                        'auto',
                        'received "auto" when no special language direction 
could be retrieved'
                );
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.Interface.tests.js 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.Interface.tests.js
index 905b4ec..c5055f8 100644
--- 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.Interface.tests.js
+++ 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.Interface.tests.js
@@ -293,7 +293,7 @@
 
                var subject = newTestInterface();
                subject._subject.appendTo( 'body' );
-               subject.setLanguageAttributes( this.language.ltr );
+               subject.setLanguageAttributes( this.language.ltr.code, 
this.language.ltr.dir );
 
                assert.equal(
                        subject.getSubject().attr( 'lang' ),
@@ -307,7 +307,7 @@
                        'assign ltr language direction to subject'
                );
 
-               subject.setLanguageAttributes( this.language.rtl );
+               subject.setLanguageAttributes( this.language.rtl.code, 
this.language.rtl.dir );
 
                assert.equal(
                        subject.getSubject().attr( 'lang' ),
@@ -339,7 +339,7 @@
                        'input has rtl direction'
                );
 
-               subject.setLanguageAttributes( this.language.ltr );
+               subject.setLanguageAttributes( this.language.ltr.code, 
this.language.ltr.dir );
 
                assert.equal(
                        subject._inputElem.attr( 'lang' ),
diff --git 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.tests.js
 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.tests.js
index f5578eb..47d7d9e 100644
--- 
a/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.tests.js
+++ 
b/lib/tests/qunit/wikibase.ui.PropertyEditTool.EditableValue.SitePageInterface.tests.js
@@ -89,7 +89,7 @@
 
        test( 'update language attributes', function() {
 
-               this.subject.setLanguageAttributes( this.language.ltr );
+               this.subject.setLanguageAttributes( this.language.ltr.code, 
this.language.ltr.dir );
                this.subject._subject.appendTo( 'body' );
 
                equal(
@@ -110,7 +110,7 @@
                        'start editing'
                );
 
-               this.subject.setLanguageAttributes( this.language.rtl );
+               this.subject.setLanguageAttributes( this.language.rtl.code, 
this.language.rtl.dir );
 
                equal(
                        this.subject._inputElem.data( 'suggester' 
).options.menu.element.attr( 'lang' ),

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ife7f678086b15696280fe693bbc6acdb9c86f6b1
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <henning.sna...@wikimedia.de>
Gerrit-Reviewer: Fomafix
Gerrit-Reviewer: Hoo man <h...@online.de>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: WikidataJenkins <wikidata-servi...@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