X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fhtmlform%2FHTMLFormElement.php;h=089213cff56e04e01786522d291a4652bd168636;hb=38a023f45853a838d2af50fe6a4f52ea0380348c;hp=e553218fa559abb2045eaeb5c80c9197a3280900;hpb=46a3fc8b68d5636deba3fee872f3e66698129608;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/htmlform/HTMLFormElement.php b/includes/htmlform/HTMLFormElement.php index e553218fa5..089213cff5 100644 --- a/includes/htmlform/HTMLFormElement.php +++ b/includes/htmlform/HTMLFormElement.php @@ -9,15 +9,23 @@ trait HTMLFormElement { protected $hideIf = null; + protected $modules = null; public function initializeHTMLFormElement( array $config = [] ) { // Properties $this->hideIf = isset( $config['hideIf'] ) ? $config['hideIf'] : null; + $this->modules = isset( $config['modules'] ) ? $config['modules'] : []; // Initialization if ( $this->hideIf ) { $this->addClasses( [ 'mw-htmlform-hide-if' ] ); } + if ( $this->modules ) { + // JS code must be able to read this before infusing (before OOjs UI is even loaded), + // so we put this in a separate attribute (not with the rest of the config). + // And it's not needed anymore after infusing, so we don't put it in JS config at all. + $this->setAttributes( [ 'data-mw-modules' => implode( ',', $this->modules ) ] ); + } $this->registerConfigCallback( function( &$config ) { if ( $this->hideIf !== null ) { $config['hideIf'] = $this->hideIf;