diff options
Diffstat (limited to 'vendor/oojs/oojs-ui/src/layouts/FormLayout.js')
-rw-r--r-- | vendor/oojs/oojs-ui/src/layouts/FormLayout.js | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/vendor/oojs/oojs-ui/src/layouts/FormLayout.js b/vendor/oojs/oojs-ui/src/layouts/FormLayout.js deleted file mode 100644 index a131c169..00000000 --- a/vendor/oojs/oojs-ui/src/layouts/FormLayout.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * FormLayouts are used to wrap {@link OO.ui.FieldsetLayout FieldsetLayouts} when you intend to use browser-based - * form submission for the fields instead of handling them in JavaScript. Form layouts can be configured with an - * HTML form action, an encoding type, and a method using the #action, #enctype, and #method configs, respectively. - * See the [OOjs UI documentation on MediaWiki] [1] for more information and examples. - * - * Only widgets from the {@link OO.ui.InputWidget InputWidget} family support form submission. It - * includes standard form elements like {@link OO.ui.CheckboxInputWidget checkboxes}, {@link - * OO.ui.RadioInputWidget radio buttons} and {@link OO.ui.TextInputWidget text fields}, as well as - * some fancier controls. Some controls have both regular and InputWidget variants, for example - * OO.ui.DropdownWidget and OO.ui.DropdownInputWidget – only the latter support form submission and - * often have simplified APIs to match the capabilities of HTML forms. - * See the [OOjs UI Inputs documentation on MediaWiki] [2] for more information about InputWidgets. - * - * [1]: https://www.mediawiki.org/wiki/OOjs_UI/Layouts/Forms - * [2]: https://www.mediawiki.org/wiki/OOjs_UI/Widgets/Inputs - * - * @example - * // Example of a form layout that wraps a fieldset layout - * var input1 = new OO.ui.TextInputWidget( { - * placeholder: 'Username' - * } ); - * var input2 = new OO.ui.TextInputWidget( { - * placeholder: 'Password', - * type: 'password' - * } ); - * var submit = new OO.ui.ButtonInputWidget( { - * label: 'Submit' - * } ); - * - * var fieldset = new OO.ui.FieldsetLayout( { - * label: 'A form layout' - * } ); - * fieldset.addItems( [ - * new OO.ui.FieldLayout( input1, { - * label: 'Username', - * align: 'top' - * } ), - * new OO.ui.FieldLayout( input2, { - * label: 'Password', - * align: 'top' - * } ), - * new OO.ui.FieldLayout( submit ) - * ] ); - * var form = new OO.ui.FormLayout( { - * items: [ fieldset ], - * action: '/api/formhandler', - * method: 'get' - * } ) - * $( 'body' ).append( form.$element ); - * - * @class - * @extends OO.ui.Layout - * @mixins OO.ui.GroupElement - * - * @constructor - * @param {Object} [config] Configuration options - * @cfg {string} [method] HTML form `method` attribute - * @cfg {string} [action] HTML form `action` attribute - * @cfg {string} [enctype] HTML form `enctype` attribute - * @cfg {OO.ui.FieldsetLayout[]} [items] Fieldset layouts to add to the form layout. - */ -OO.ui.FormLayout = function OoUiFormLayout( config ) { - // Configuration initialization - config = config || {}; - - // Parent constructor - OO.ui.FormLayout.super.call( this, config ); - - // Mixin constructors - OO.ui.GroupElement.call( this, $.extend( {}, config, { $group: this.$element } ) ); - - // Events - this.$element.on( 'submit', this.onFormSubmit.bind( this ) ); - - // Initialization - this.$element - .addClass( 'oo-ui-formLayout' ) - .attr( { - method: config.method, - action: config.action, - enctype: config.enctype - } ); - if ( Array.isArray( config.items ) ) { - this.addItems( config.items ); - } -}; - -/* Setup */ - -OO.inheritClass( OO.ui.FormLayout, OO.ui.Layout ); -OO.mixinClass( OO.ui.FormLayout, OO.ui.GroupElement ); - -/* Events */ - -/** - * A 'submit' event is emitted when the form is submitted. - * - * @event submit - */ - -/* Static Properties */ - -OO.ui.FormLayout.static.tagName = 'form'; - -/* Methods */ - -/** - * Handle form submit events. - * - * @private - * @param {jQuery.Event} e Submit event - * @fires submit - */ -OO.ui.FormLayout.prototype.onFormSubmit = function () { - if ( this.emit( 'submit' ) ) { - return false; - } -}; |