mediawiki-extensions-Visual.../modules/ve-mw/ui/widgets/ve.ui.MWLanguageInputWidget.js
Trevor Parscal 7994eae8c2 MediaWiki language inspector updates
* Add ULS, which was removed from VE core
* Add experimental mwlanguage module which adds ULS integration
* Hook in ULS to the existing language widget

Also update VE core submodule with changes:
* 1e92abe Generic language inspector

Bug: 47759
Change-Id: I325a4dcc316d0334fadfcaa46ad3acd45c6bf84b
2014-01-18 01:02:23 +00:00

65 lines
1.7 KiB
JavaScript

/*!
* VisualEditor UserInterface LanguageInputWidget class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* Creates an ve.ui.MWLanguageInputWidget object.
*
* @class
* @extends ve.ui.LanguageInputWidget
*
* @constructor
* @param {Object} [config] Configuration options
*/
ve.ui.MWLanguageInputWidget = function VeUiMWLanguageInputWidget( config ) {
// Parent constructor
ve.ui.LanguageInputWidget.call( this, config );
};
/* Inheritance */
OO.inheritClass( ve.ui.MWLanguageInputWidget, ve.ui.LanguageInputWidget );
/* Static properties */
/* Methods */
/**
* @inheritdoc
*/
ve.ui.MWLanguageInputWidget.prototype.initialize = function () {
// Parent method
ve.ui.LanguageInputWidget.prototype.initialize.call( this );
// Properties
this.changeButton = new OO.ui.ButtonWidget( {
'label': ve.msg( 'visualeditor-languageinspector-widget-changelang' ),
// Add 'href' so the button returns true on click and triggers ULS
'href': '#',
'flags': ['primary']
} );
// Events
this.changeButton.$element.uls( {
'onSelect': ve.bind( function ( language ) {
this.setValue( {
'lang': language,
'dir': $.uls.data.getDir( language )
} );
}, this ),
'compact': true,
// Temporary Quicklist for the Prototype:
// (This will likely change once we find a better list)
'quickList': [ 'en', 'hi', 'he', 'ml', 'ta', 'fr' ]
} );
// TODO: Rethink the layout, maybe integrate the change button into the language field
// TODO: Consider using getAutonym to display a nicer language name label somewhere
// Initialization
this.$element.append( this.changeButton.$element );
};