$( () => { /** * 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( './selectandother.js' ); require( './selectorother.js' ); require( './timezone.js' );