Adrian Heine has uploaded a new change for review.

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

Change subject: [WIP] re-use terms from PHP in JS
......................................................................

[WIP] re-use terms from PHP in JS

Change-Id: Ib5e9570a1cce9220f145e74e242f481f61cfb1ce
---
M 
view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
M view/resources/jquery/wikibase/jquery.wikibase.labelview.js
M view/resources/templates.php
M view/src/EntityTermsView.php
4 files changed, 28 insertions(+), 27 deletions(-)


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

diff --git 
a/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
 
b/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index caf1013..3919763 100644
--- 
a/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
+++ 
b/view/resources/jquery/wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
@@ -130,33 +130,25 @@
                }
 
                // Scrape languages from static HTML:
-               var scrapedLanguages = [],
-                       i;
-               $entitytermsforlanguageview.each( function() {
+               var mismatchAt = null,
+                       userLanguages = this.options.userLanguages;
+               $entitytermsforlanguageview.each( function( i ) {
+                       var lang = null;
                        $.each( $( this ).attr( 'class' ).split( ' ' ), 
function() {
                                if ( this.indexOf( 
'wikibase-entitytermsforlanguageview-' ) === 0 ) {
-                                       scrapedLanguages.push(
-                                               this.split( 
'wikibase-entitytermsforlanguageview-' )[1]
-                                       );
+                                       lang = this.split( 
'wikibase-entitytermsforlanguageview-' )[1];
                                        return false;
                                }
                        } );
+                       if ( lang !== userLanguages[i] ) {
+                               mismatchAt = i;
+                               return false;
+                       }
                } );
 
-               var mismatch = scrapedLanguages.length !== 
this.options.userLanguages.length;
-
-               if ( !mismatch ) {
-                       for ( i = 0; i < scrapedLanguages.length; i++ ) {
-                               if ( scrapedLanguages[i] !== 
this.options.userLanguages[i] ) {
-                                       mismatch = true;
-                                       break;
-                               }
-                       }
-               }
-
-               if ( mismatch ) {
+               if ( mismatchAt !== null ) {
                        mw.log.warn( 'Existing entitytermsforlanguagelistview 
DOM does not match configured languages' );
-                       $entitytermsforlanguageview.remove();
+                       $entitytermsforlanguageview.slice( mismatchAt 
).remove();
                }
        },
 
diff --git a/view/resources/jquery/wikibase/jquery.wikibase.labelview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.labelview.js
index e65c7ef..3f0ec19 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.labelview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.labelview.js
@@ -28,7 +28,9 @@
                templateParams: [
                        '', // additional class
                        '', // text
-                       '' // toolbar
+                       '', // toolbar
+                       'auto', // dir
+                       '' // lang
                ],
                templateShortCuts: {
                        $text: '.wikibase-labelview-text'
diff --git a/view/resources/templates.php b/view/resources/templates.php
index 7c73431..d6d80bf 100644
--- a/view/resources/templates.php
+++ b/view/resources/templates.php
@@ -132,7 +132,7 @@
 
        $templates['wikibase-labelview'] =
 <<<HTML
-<div class="wikibase-labelview $1" dir="auto">
+<div class="wikibase-labelview $1" dir="$4" lang="$5">
        <div class="wikibase-labelview-container">
                <span class="wikibase-labelview-text">$2</span>
                <!-- wikibase-toolbar -->$3
@@ -142,7 +142,7 @@
 
        $templates['wikibase-descriptionview'] =
 <<<HTML
-<div class="wikibase-descriptionview $1" dir="auto">
+<div class="wikibase-descriptionview $1" dir="$4" lang="$5">
        <div class="wikibase-descriptionview-container">
                <span class="wikibase-descriptionview-text">$2</span>
                <!-- wikibase-toolbar -->$3
@@ -153,7 +153,7 @@
        $templates['wikibase-aliasesview'] =
 <<<HTML
 <div class="wikibase-aliasesview $1">
-       <ul class="wikibase-aliasesview-list" dir="auto">$2</ul>
+       <ul class="wikibase-aliasesview-list" dir="$4" lang="$5">$2</ul>
        <!-- wikibase-toolbar -->$3
 </div>
 HTML;
diff --git a/view/src/EntityTermsView.php b/view/src/EntityTermsView.php
index 05b3648..917898f 100644
--- a/view/src/EntityTermsView.php
+++ b/view/src/EntityTermsView.php
@@ -231,7 +231,9 @@
                                        ? $labels->getByLanguage( $languageCode 
)->getText()
                                        : $this->msg( 'wikibase-label-empty' 
)->text()
                                ),
-                               ''
+                               '',
+                               'auto', // FIXME get that somewhere
+                               $hasLabel ? $languageCode : '' // FIXME Should 
be UI language if !$hasLabel
                        ),
                        $this->templateFactory->render( 
'wikibase-descriptionview',
                                $hasDescription ? '' : 'wb-empty',
@@ -240,7 +242,8 @@
                                        : $this->msg( 
'wikibase-description-empty' )->text()
                                ),
                                '',
-                               ''
+                               'auto', // FIXME get that somewhere
+                               $hasDescription ? $languageCode : '' // FIXME 
Should be UI language if !$hasLabel
                        ),
                        $this->getAliasesView( $fingerprint->getAliasGroups(), 
$languageCode ),
                        ''
@@ -258,7 +261,9 @@
                        return $this->templateFactory->render( 
'wikibase-aliasesview',
                                'wb-empty',
                                '',
-                               ''
+                               '',
+                               'auto', // FIXME get that somewhere
+                               '' // FIXME Should be UI language if !$hasLabel
                        );
                } else {
                        $aliasesHtml = '';
@@ -273,7 +278,9 @@
                        return $this->templateFactory->render( 
'wikibase-aliasesview',
                                '',
                                $aliasesHtml,
-                               ''
+                               '',
+                               'auto', // FIXME get that somewhere
+                               $languageCode // FIXME Should be UI language if 
!$hasLabel
                        );
                }
        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib5e9570a1cce9220f145e74e242f481f61cfb1ce
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Heine <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to