diff options
Diffstat (limited to 'vendor/oojs/oojs-ui/src/widgets/ButtonInputWidget.js')
-rw-r--r-- | vendor/oojs/oojs-ui/src/widgets/ButtonInputWidget.js | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/vendor/oojs/oojs-ui/src/widgets/ButtonInputWidget.js b/vendor/oojs/oojs-ui/src/widgets/ButtonInputWidget.js deleted file mode 100644 index 1d4d97fe..00000000 --- a/vendor/oojs/oojs-ui/src/widgets/ButtonInputWidget.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * ButtonInputWidget is used to submit HTML forms and is intended to be used within - * a OO.ui.FormLayout. If you do not need the button to work with HTML forms, you probably - * want to use OO.ui.ButtonWidget instead. Button input widgets can be rendered as either an - * HTML `<button/>` (the default) or an HTML `<input/>` tags. See the - * [OOjs UI documentation on MediaWiki] [1] for more information. - * - * @example - * // A ButtonInputWidget rendered as an HTML button, the default. - * var button = new OO.ui.ButtonInputWidget( { - * label: 'Input button', - * icon: 'check', - * value: 'check' - * } ); - * $( 'body' ).append( button.$element ); - * - * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Inputs#Button_inputs - * - * @class - * @extends OO.ui.InputWidget - * @mixins OO.ui.ButtonElement - * @mixins OO.ui.IconElement - * @mixins OO.ui.IndicatorElement - * @mixins OO.ui.LabelElement - * @mixins OO.ui.TitledElement - * - * @constructor - * @param {Object} [config] Configuration options - * @cfg {string} [type='button'] The value of the HTML `'type'` attribute: 'button', 'submit' or 'reset'. - * @cfg {boolean} [useInputTag=false] Use an `<input/>` tag instead of a `<button/>` tag, the default. - * Widgets configured to be an `<input/>` do not support {@link #icon icons} and {@link #indicator indicators}, - * non-plaintext {@link #label labels}, or {@link #value values}. In general, useInputTag should only - * be set to `true` when there’s need to support IE6 in a form with multiple buttons. - */ -OO.ui.ButtonInputWidget = function OoUiButtonInputWidget( config ) { - // Configuration initialization - config = $.extend( { type: 'button', useInputTag: false }, config ); - - // Properties (must be set before parent constructor, which calls #setValue) - this.useInputTag = config.useInputTag; - - // Parent constructor - OO.ui.ButtonInputWidget.super.call( this, config ); - - // Mixin constructors - OO.ui.ButtonElement.call( this, $.extend( {}, config, { $button: this.$input } ) ); - OO.ui.IconElement.call( this, config ); - OO.ui.IndicatorElement.call( this, config ); - OO.ui.LabelElement.call( this, config ); - OO.ui.TitledElement.call( this, $.extend( {}, config, { $titled: this.$input } ) ); - - // Initialization - if ( !config.useInputTag ) { - this.$input.append( this.$icon, this.$label, this.$indicator ); - } - this.$element.addClass( 'oo-ui-buttonInputWidget' ); -}; - -/* Setup */ - -OO.inheritClass( OO.ui.ButtonInputWidget, OO.ui.InputWidget ); -OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.ButtonElement ); -OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.IconElement ); -OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.IndicatorElement ); -OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.LabelElement ); -OO.mixinClass( OO.ui.ButtonInputWidget, OO.ui.TitledElement ); - -/* Methods */ - -/** - * @inheritdoc - * @private - */ -OO.ui.ButtonInputWidget.prototype.getInputElement = function ( config ) { - var html = '<' + ( config.useInputTag ? 'input' : 'button' ) + ' type="' + config.type + '">'; - return $( html ); -}; - -/** - * Set label value. - * - * If #useInputTag is `true`, the label is set as the `value` of the `<input/>` tag. - * - * @param {jQuery|string|Function|null} label Label nodes, text, a function that returns nodes or - * text, or `null` for no label - * @chainable - */ -OO.ui.ButtonInputWidget.prototype.setLabel = function ( label ) { - OO.ui.LabelElement.prototype.setLabel.call( this, label ); - - if ( this.useInputTag ) { - if ( typeof label === 'function' ) { - label = OO.ui.resolveMsg( label ); - } - if ( label instanceof jQuery ) { - label = label.text(); - } - if ( !label ) { - label = ''; - } - this.$input.val( label ); - } - - return this; -}; - -/** - * Set the value of the input. - * - * This method is disabled for button inputs configured as {@link #useInputTag <input/> tags}, as - * they do not support {@link #value values}. - * - * @param {string} value New value - * @chainable - */ -OO.ui.ButtonInputWidget.prototype.setValue = function ( value ) { - if ( !this.useInputTag ) { - OO.ui.ButtonInputWidget.super.prototype.setValue.call( this, value ); - } - return this; -}; |