$( () => {
/**
* Fired on page load to enhance any HTML forms on the page.
*
* @event ~'htmlform.enhance'
* @param {jQuery} document
* @memberof Hooks
*/
mw.hook( 'htmlform.enhance' ).fire( $( document ) );
} );
mw.hook( 'htmlform.enhance' ).add( ( $root ) => {
// Turn HTML5 form validation back on, in cases where it was disabled server-side (see
// HTMLForm::needsJSForHtml5FormValidation()) because we need extra logic implemented in JS to
// validate correctly. Currently, this is only used for forms containing fields with 'hide-if'.
$root.find( '.mw-htmlform' ).removeAttr( 'novalidate' );
// Enable collapsible forms
const $collapsible = $root.find( '.mw-htmlform-ooui .oo-ui-fieldsetLayout.mw-collapsible' );
if ( $collapsible.length ) {
mw.loader.using( 'jquery.makeCollapsible' ).then( () => {
$collapsible.makeCollapsible();
} );
}
} );
// Collect other hook handlers
require( './autocomplete.js' );
require( './autoinfuse.js' );
require( './cloner.js' );
require( './cond-state.js' );
require( './multiselect.js' );
require( './selectandother.js' );
require( './selectorother.js' );
require( './timezone.js' );