Esanders has uploaded a new change for review.

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

Change subject: Fix language widget
......................................................................

Fix language widget

Change-Id: I2fc6984d20863cbe54153fbd83530cbaca585cca
---
M modules/ext.templateDataGenerator.ui.css
M modules/ext.templateDataGenerator.ui.tdDialog.js
M modules/widgets/ext.templateDataGenerator.languageSearchWidget.js
3 files changed, 26 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TemplateData 
refs/changes/04/238004/1

diff --git a/modules/ext.templateDataGenerator.ui.css 
b/modules/ext.templateDataGenerator.ui.css
index b6335f5..32128c5 100644
--- a/modules/ext.templateDataGenerator.ui.css
+++ b/modules/ext.templateDataGenerator.ui.css
@@ -61,6 +61,15 @@
        color: #555;
 }
 
+/* mw.TemplateData.LanguageSearchWidget */
+
+.tdg-languageResultWidget-otherMatch {
+       float: right;
+       color: #777;
+}
+
+/* Icons */
+
 .oo-ui-icon-parameter {
        /* @embed */
        background-image: url(images/parameter-ltr.svg);
diff --git a/modules/ext.templateDataGenerator.ui.tdDialog.js 
b/modules/ext.templateDataGenerator.ui.tdDialog.js
index 7a0e012..4917922 100644
--- a/modules/ext.templateDataGenerator.ui.tdDialog.js
+++ b/modules/ext.templateDataGenerator.ui.tdDialog.js
@@ -91,7 +91,7 @@
        this.addParamPanel = new OO.ui.PanelLayout();
 
        // Language panel
-       this.newLanguageSearchWidget = new 
mw.TemplateData.LanguageSearchWidget();
+       this.newLanguageSearch = new mw.TemplateData.LanguageSearchWidget();
 
        // Add parameter panel
        this.newParamInput = new OO.ui.TextInputWidget( {
@@ -170,7 +170,7 @@
        this.languagePanel.$element
                .addClass( 'tdg-templateDataDialog-languagePanel' )
                .append(
-                       this.newLanguageSearchWidget.$element
+                       this.newLanguageSearch.$element
                );
        this.addParamPanel.$element
                .addClass( 'tdg-templateDataDialog-addParamPanel' )
@@ -195,13 +195,13 @@
        );
 
        // Events
-       this.newLanguageSearchWidget.connect( this, { select: 
'newLanguageSearchWidgetSelect' } );
+       this.newLanguageSearch.getResults().connect( this, { choose: 
'onNewLanguageSearchResultsChoose' } );
        this.newParamInput.connect( this, { change: 'onAddParamInputChange' } );
        this.addParamButton.connect( this, { click: 'onAddParamButtonClick' } );
        this.descriptionInput.connect( this, { change: 
'onDescriptionInputChange' } );
        this.paramOrderWidget.connect( this, { reorder: 
'onParamOrderWidgetReorder' } );
        this.languagePanelButton.connect( this, { click: 
'onLanguagePanelButton' } );
-       this.languageDropdownWidget.getMenu().connect( this, { choose: 
'onLanguageDropdownWidgetChoose' } );
+       this.languageDropdownWidget.getMenu().connect( this, { select: 
'onLanguageDropdownWidgetSelect' } );
        this.paramSelectWidget.connect( this, { choose: 
'onParamSelectWidgetChoose' } );
 };
 
@@ -298,10 +298,11 @@
 };
 
 /**
- * Respond to language select widget choose event
- * @param {OO.ui.OptionWidget} item Chosen item
+ * Respond to language select widget select event
+ *
+ * @param {OO.ui.OptionWidget} item Selected item
  */
-mw.TemplateData.Dialog.prototype.onLanguageDropdownWidgetChoose = function ( 
item ) {
+mw.TemplateData.Dialog.prototype.onLanguageDropdownWidgetSelect = function ( 
item ) {
        var language = item ? item.getData() : this.language;
 
        // Change current language
@@ -325,12 +326,13 @@
 };
 
 /**
- * Respond to add language button
- * @param {Object} data Data from the selected option widget
+ * Handle choose events from the new language search widget
+ *
+ * @param {ve.ui.LanguageResultWidget} item Chosen item
  */
-mw.TemplateData.Dialog.prototype.newLanguageSearchWidgetSelect = function ( 
data ) {
+mw.TemplateData.Dialog.prototype.onNewLanguageSearchResultsChoose = function ( 
item ) {
        var languageButton,
-               newLanguage = data.code;
+               newLanguage = item.getData().code;
 
        if ( newLanguage ) {
                if ( $.inArray( newLanguage, this.availableLanguages ) === -1 ) 
{
@@ -344,9 +346,7 @@
                }
 
                // Select the new item
-               this.languageDropdownWidget.getMenu().chooseItem(
-                       this.languageDropdownWidget.getMenu().getItemFromData( 
newLanguage )
-               );
+               this.languageDropdownWidget.getMenu().selectItemByData( 
newLanguage );
        }
 
        // Go to the main panel
@@ -803,7 +803,7 @@
                        }
                        this.languageDropdownWidget.getMenu().addItems( 
languageItems );
                        // Trigger the initial language choice
-                       this.languageDropdownWidget.getMenu().chooseItem( 
this.languageDropdownWidget.getMenu().getItemFromData( language ) );
+                       this.languageDropdownWidget.getMenu().selectItemByData( 
language );
 
                        // Populate the paramOrder widget
                        this.paramOrderWidget.clearItems();
@@ -888,6 +888,7 @@
                        this.editParamPanel.$element.hide();
                        this.addParamPanel.$element.hide();
                        this.languagePanel.$element.show();
+                       this.newLanguageSearch.query.focus();
                        break;
        }
 };
diff --git a/modules/widgets/ext.templateDataGenerator.languageSearchWidget.js 
b/modules/widgets/ext.templateDataGenerator.languageSearchWidget.js
index 89eaac6..3a12e9b 100644
--- a/modules/widgets/ext.templateDataGenerator.languageSearchWidget.js
+++ b/modules/widgets/ext.templateDataGenerator.languageSearchWidget.js
@@ -35,6 +35,7 @@
                        } )
                );
        }
+       this.addResults();
 
        // Initialization
        this.$element.addClass( 'tdg-languageSearchWidget' );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2fc6984d20863cbe54153fbd83530cbaca585cca
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TemplateData
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to