$usersArray = explode( "\n", $request->getText( $this->mName ) );
// Remove empty lines
- $usersArray = array_values( array_filter( $usersArray, function( $username ) {
+ $usersArray = array_values( array_filter( $usersArray, function ( $username ) {
return trim( $username ) !== '';
} ) );
return $usersArray;
$params['default'] = $values;
}
- return new UsersMultiselectWidget( $params );
+ // Make the field auto-infusable when it's used inside a legacy HTMLForm rather than OOUIHTMLForm
+ $params['infusable'] = true;
+ $params['classes'] = [ 'mw-htmlform-field-autoinfuse' ];
+ $widget = new UsersMultiselectWidget( $params );
+ $widget->setAttributes( [ 'data-mw-modules' => implode( ',', $this->getOOUIModules() ) ] );
+
+ return $widget;
}
protected function shouldInfuseOOUI() {