TitlesMultiSelectWidget: pass through 'input' config
authorThalia <thalia.e.chan@googlemail.com>
Mon, 12 Nov 2018 16:00:11 +0000 (16:00 +0000)
committerThalia <thalia.e.chan@googlemail.com>
Tue, 13 Nov 2018 19:29:04 +0000 (19:29 +0000)
Also set 'autocomplete' to false in the 'input' config
in Special:Block.

Bug: T208551
Change-Id: I0376e4ce809aeb48496530cdd5d39ac9142c28bd

includes/htmlform/fields/HTMLTitlesMultiselectField.php
includes/specials/SpecialBlock.php
includes/widget/TitlesMultiselectWidget.php

index e2399b9..6fef23b 100644 (file)
@@ -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 );
index 918ce4a..ea4cd22 100644 (file)
@@ -172,6 +172,9 @@ class SpecialBlock extends FormSpecialPage {
                                'max' => 10,
                                'cssclass' => 'mw-block-page-restrictions',
                                'showMissing' => false,
+                               'input' => [
+                                       'autocomplete' => false
+                               ],
                        ];
                }
 
index 316748d..0f5710f 100644 (file)
@@ -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 );