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