mediawiki-extensions-Visual.../modules/ve-mw/ui/widgets/ve.ui.MWParameterResultWidget.js
Erick Guan 30f1ed4c75 No more configuration overrides
In various places in the UI code, certain properties of config objects
were overridden and in some cases the configurations were documented as
private as a strange hack to prevent them from being advertised in the
docs.

I, Trevor, have been convinced of the error of my ways, and gladly
reverse this situation, allowing all configurations to always be
overridden when desired, while still allowing default values.

Change-Id: I242e3b1902dec8e09eeea38fa64381e69ee04215
2013-09-23 23:59:14 +00:00

65 lines
1.7 KiB
JavaScript

/*!
* VisualEditor UserInterface MWParameterResultWidget class.
*
* @copyright 2011-2013 VisualEditor Team and others; see AUTHORS.txt
* @license The MIT License (MIT); see LICENSE.txt
*/
/**
* Creates an ve.ui.MWParameterResultWidget object.
*
* @class
* @extends ve.ui.OptionWidget
*
* @constructor
* @param {Mixed} data Item data
* @param {Object} [config] Config options
*/
ve.ui.MWParameterResultWidget = function VeUiMWParameterResultWidget( data, config ) {
// Configuration initialization
config = ve.extendObject( { 'icon': 'parameter' }, config );
// Parent constructor
ve.ui.OptionWidget.call( this, data, config );
// Initialization
this.$.addClass( 've-ui-mwParameterResultWidget' );
this.setLabel( this.buildLabel() );
};
/* Inheritance */
ve.inheritClass( ve.ui.MWParameterResultWidget, ve.ui.OptionWidget );
/* Methods */
/** */
ve.ui.MWParameterResultWidget.prototype.buildLabel = function () {
var i, len,
$label = this.$$( '<div>' )
.addClass( 've-ui-mwParameterResultWidget-label' )
.text( this.data.label ),
$names = this.$$( '<div>' )
.addClass( 've-ui-mwParameterResultWidget-names' ),
$description = this.$$( '<div>' )
.addClass( 've-ui-mwParameterResultWidget-description' )
.text( this.data.description || '' );
if ( this.data.name ) {
$names.append(
this.$$( '<span>' )
.addClass( 've-ui-mwParameterResultWidget-name' )
.text( this.data.name )
);
}
for ( i = 0, len = this.data.aliases.length; i < len; i++ ) {
$names.append(
this.$$( '<span>' )
.addClass( 've-ui-mwParameterResultWidget-name' )
.text( this.data.aliases[i] )
);
}
return $label.add( $names ).add( $description );
};