jenkins-bot has submitted this change and it was merged.
Change subject: Consolidate language suggesters across repo special pages
......................................................................
Consolidate language suggesters across repo special pages
New generic module 'wikibase.special.languageSuggester' that replaces
'wikibase.special.itemDisambiguation' and 'wikibase.special.entitiesWithout'.
Change-Id: I51da1f47dda63c9fb2352d953048c509a1e4d996
---
M repo/Wikibase.hooks.php
M repo/includes/specials/SpecialEntitiesWithoutPage.php
M repo/includes/specials/SpecialItemDisambiguation.php
D repo/resources/wikibase.special/wikibase.special.entitiesWithout.js
D repo/resources/wikibase.special/wikibase.special.itemDisambiguation.js
A repo/resources/wikibase.special/wikibase.special.languageSuggester.js
6 files changed, 49 insertions(+), 84 deletions(-)
Approvals:
Thiemo Mättig (WMDE): Looks good to me, but someone else must approve
Addshore: Looks good to me, approved
jenkins-bot: Verified
diff --git a/repo/Wikibase.hooks.php b/repo/Wikibase.hooks.php
index e90f2d9..be51cbe 100644
--- a/repo/Wikibase.hooks.php
+++ b/repo/Wikibase.hooks.php
@@ -1154,18 +1154,9 @@
'wikibase',
),
),
- 'wikibase.special.itemDisambiguation' =>
$moduleTemplate + array(
+ 'wikibase.special.languageSuggester' => $moduleTemplate
+ array(
'scripts' => array(
-
'resources/wikibase.special/wikibase.special.itemDisambiguation.js',
- ),
- 'dependencies' => array(
- 'wikibase.special',
- 'jquery.ui.suggester',
- ),
- ),
- 'wikibase.special.entitiesWithout' => $moduleTemplate +
array(
- 'scripts' => array(
-
'resources/wikibase.special/wikibase.special.entitiesWithout.js',
+
'resources/wikibase.special/wikibase.special.languageSuggester.js',
),
'dependencies' => array(
'wikibase.special',
@@ -1177,8 +1168,7 @@
$isUlsLoaded = ExtensionRegistry::getInstance()->isLoaded(
'UniversalLanguageSelector' );
if ( $isUlsLoaded ) {
$modules['wikibase.WikibaseContentLanguages']['dependencies'][] =
'ext.uls.languagenames';
-
$modules['wikibase.special.itemDisambiguation']['dependencies'][] =
'ext.uls.mediawiki';
-
$modules['wikibase.special.entitiesWithout']['dependencies'][] =
'ext.uls.mediawiki';
+
$modules['wikibase.special.languageSuggester']['dependencies'][] =
'ext.uls.mediawiki';
}
$resourceLoader->register( $modules );
diff --git a/repo/includes/specials/SpecialEntitiesWithoutPage.php
b/repo/includes/specials/SpecialEntitiesWithoutPage.php
index 123911e..6648fa4 100644
--- a/repo/includes/specials/SpecialEntitiesWithoutPage.php
+++ b/repo/includes/specials/SpecialEntitiesWithoutPage.php
@@ -139,7 +139,7 @@
$typeSelect->addOption( $this->msg( 'wikibase-entity-'
. $type )->text(), $type );
}
- $this->getOutput()->addModules(
'wikibase.special.entitiesWithout' );
+ $this->getOutput()->addModules(
'wikibase.special.languageSuggester' );
$this->getOutput()->addHTML(
Html::openElement(
@@ -175,7 +175,8 @@
$this->language,
'text',
array(
- 'id' =>
'wb-entitieswithoutpage-language'
+ 'id' =>
'wb-entitieswithoutpage-language',
+ 'class' => 'wb-language-suggester'
)
) . ' ' .
Html::element(
diff --git a/repo/includes/specials/SpecialItemDisambiguation.php
b/repo/includes/specials/SpecialItemDisambiguation.php
index 3f9ddde..dca4a8a 100644
--- a/repo/includes/specials/SpecialItemDisambiguation.php
+++ b/repo/includes/specials/SpecialItemDisambiguation.php
@@ -190,7 +190,7 @@
* @param string|null $label
*/
private function switchForm( $languageCode, $label ) {
- $this->getOutput()->addModules(
'wikibase.special.itemDisambiguation' );
+ $this->getOutput()->addModules(
'wikibase.special.languageSuggester' );
$this->getOutput()->addHTML(
Html::openElement(
@@ -220,7 +220,7 @@
array(
'id' =>
'wb-itemdisambiguation-languagename',
'size' => 12,
- 'class' => 'wb-input-text'
+ 'class' => 'wb-input-text
wb-language-suggester'
)
)
. ' '
diff --git
a/repo/resources/wikibase.special/wikibase.special.entitiesWithout.js
b/repo/resources/wikibase.special/wikibase.special.entitiesWithout.js
deleted file mode 100644
index 8ad9b6f..0000000
--- a/repo/resources/wikibase.special/wikibase.special.entitiesWithout.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * JavaScript for 'wikibase' extension special page 'EntitiesWithout*'
- *
- * @licence GNU GPL v2+
- */
-( function( $ ) {
- 'use strict';
-
- $( document ).ready( function() {
- var languages = [];
-
- if( $.uls ) {
- $.each( $.uls.data.getAutonyms(), function( key, value
) {
- languages.push( value + ' (' + key + ')' );
- } );
- }
-
- var $languageSelector = $( '#wb-entitieswithoutpage-language' );
- $languageSelector.attr( 'autocomplete', 'off' );
- $languageSelector.suggester( { source: languages } );
-
- $( '#wb-entitieswithoutpage-form' ).submit( function() {
- // Replace human readable value like "English (en)"
with actual language name ("en"):
- var languageCode = String(
$languageSelector.val().replace( /.*\(|\).*/gi, '' ) );
- $languageSelector.val( languageCode );
- } );
-
- } );
-
-} )( jQuery );
diff --git
a/repo/resources/wikibase.special/wikibase.special.itemDisambiguation.js
b/repo/resources/wikibase.special/wikibase.special.itemDisambiguation.js
deleted file mode 100644
index 4a54fab..0000000
--- a/repo/resources/wikibase.special/wikibase.special.itemDisambiguation.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * JavaScript for 'wikibase' extension special page 'ItemDisambiguation'
- *
- * @since 0.1
- *
- * @licence GNU GPL v2+
- * @author Jens Ohlig
- */
-( function( $, mw, wb, undefined ) {
- 'use strict';
-
- $( document ).ready( function() {
- if( ( mw.config.get( 'wgCanonicalSpecialPageName' ) !==
'ItemDisambiguation' ) ) {
- return; // not the right special page
- }
-
- // TODO: Migth want to use the siteselector jquery widget or
some other suggester derivate
- var langList = [];
- if ( $.uls !== undefined ) {
- var languages = $.uls.data.getAutonyms();
- $.each( languages, function( key, value ) {
- langList.push( value + ' (' + key + ')' );
- } );
- }
- $( '#wb-itemdisambiguation-languagename' )
- .attr( 'autocomplete', 'off' )
- .suggester( { source: langList } );
-
- // On submit, replace human readable value like "English (en)"
with actual language name ("en")
- $( '#wb-itemdisambiguation-form1' ).submit( function() {
- var $input = $( '#wb-itemdisambiguation-languagename' );
- var langID = String( $input.val().replace(
/.*\(|\).*/gi, '' ) );
- $input.val( langID );
- } );
- } );
-
-} )( jQuery, mediaWiki, wikibase );
diff --git
a/repo/resources/wikibase.special/wikibase.special.languageSuggester.js
b/repo/resources/wikibase.special/wikibase.special.languageSuggester.js
new file mode 100644
index 0000000..4a839b3
--- /dev/null
+++ b/repo/resources/wikibase.special/wikibase.special.languageSuggester.js
@@ -0,0 +1,41 @@
+/**
+ * JavaScript for suggesting language names in Wikibase special pages
+ *
+ * @licence GNU GPL v2+
+ * @author Jens Ohlig
+ */
+( function ( $ ) {
+ 'use strict';
+
+ $( document ).ready( function () {
+ var $inputs,
+ languages = [];
+
+ if ( !$.uls ) {
+ return;
+ }
+
+ $inputs = $( '.wb-language-suggester' );
+ if ( $inputs.length === 0 ) {
+ return;
+ }
+
+ $.each( $.uls.data.getAutonyms(), function ( key, value ) {
+ languages.push( value + ' (' + key + ')' );
+ } );
+
+ $inputs.each( function () {
+ var $languageSelector = $( this );
+ $languageSelector.attr( 'autocomplete', 'off' );
+ // TODO: Might want to use the siteselector jQuery
widget or some other suggester derivate
+ $languageSelector.suggester( { source: languages } );
+
+ $languageSelector.closest( 'form' ).submit( function ()
{
+ // Replace human readable value like "English
(en)" with actual language name ("en"):
+ var languageCode = String(
$languageSelector.val().replace( /.*\(|\).*/gi, '' ) );
+ $languageSelector.val( languageCode );
+ } );
+ } );
+ } );
+
+} )( jQuery );
--
To view, visit https://gerrit.wikimedia.org/r/233115
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I51da1f47dda63c9fb2352d953048c509a1e4d996
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ricordisamoa <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Ricordisamoa <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits