From a61d51af9ec671b57b0f1547fe2ca121ef8d52a5 Mon Sep 17 00:00:00 2001 From: Thalia Date: Mon, 12 Nov 2018 16:00:11 +0000 Subject: [PATCH] TitlesMultiSelectWidget: pass through 'input' config Also set 'autocomplete' to false in the 'input' config in Special:Block. Bug: T208551 Change-Id: I0376e4ce809aeb48496530cdd5d39ac9142c28bd --- .../htmlform/fields/HTMLTitlesMultiselectField.php | 4 ++++ includes/specials/SpecialBlock.php | 3 +++ includes/widget/TitlesMultiselectWidget.php | 12 ++++++++++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/includes/htmlform/fields/HTMLTitlesMultiselectField.php b/includes/htmlform/fields/HTMLTitlesMultiselectField.php index e2399b9c55..6fef23bac4 100644 --- a/includes/htmlform/fields/HTMLTitlesMultiselectField.php +++ b/includes/htmlform/fields/HTMLTitlesMultiselectField.php @@ -103,6 +103,10 @@ class HTMLTitlesMultiselectField extends HTMLTitleTextField { $params['showMissing'] = $this->mParams['showMissing']; } + if ( isset( $this->mParams['input'] ) ) { + $params['input'] = $this->mParams['input']; + } + if ( !is_null( $value ) ) { // $value is a string, but the widget expects an array $params['default'] = $value === '' ? [] : explode( "\n", $value ); diff --git a/includes/specials/SpecialBlock.php b/includes/specials/SpecialBlock.php index 918ce4a5e5..ea4cd2292a 100644 --- a/includes/specials/SpecialBlock.php +++ b/includes/specials/SpecialBlock.php @@ -172,6 +172,9 @@ class SpecialBlock extends FormSpecialPage { 'max' => 10, 'cssclass' => 'mw-block-page-restrictions', 'showMissing' => false, + 'input' => [ + 'autocomplete' => false + ], ]; } diff --git a/includes/widget/TitlesMultiselectWidget.php b/includes/widget/TitlesMultiselectWidget.php index 316748d2ad..0f5710fd86 100644 --- a/includes/widget/TitlesMultiselectWidget.php +++ b/includes/widget/TitlesMultiselectWidget.php @@ -25,6 +25,7 @@ class TitlesMultiselectWidget extends \OOUI\Widget { * - array $config['name'] Name attribute (used in forms) * - number $config['tagLimit'] Maximum number of selected titles * - bool $config['showMissing'] Show missing pages + * - array $config['input'] Config options for the input widget */ public function __construct( array $config = [] ) { parent::__construct( $config ); @@ -45,12 +46,16 @@ class TitlesMultiselectWidget extends \OOUI\Widget { if ( isset( $config['showMissing'] ) ) { $this->showMissing = $config['showMissing']; } + if ( isset( $config['input'] ) ) { + $this->input = $config['input']; + } - $textarea = new MultilineTextInputWidget( [ + $textarea = new MultilineTextInputWidget( array_merge( [ 'name' => $this->inputName, 'value' => implode( "\n", $this->titlesArray ), 'rows' => 10, - ] ); + ], $this->input ) ); + $this->appendContent( $textarea ); $this->addClasses( [ 'mw-widgets-titlesMultiselectWidget' ] ); } @@ -75,6 +80,9 @@ class TitlesMultiselectWidget extends \OOUI\Widget { if ( $this->showMissing !== null ) { $config['showMissing'] = $this->showMissing; } + if ( $this->input !== null ) { + $config['input'] = $this->input; + } $config['$overlay'] = true; return parent::getConfig( $config ); -- 2.20.1