Merge "Avoid some unused parameter IDEA errors in User.php"
[lhc/web/wiklou.git] / includes / htmlform / HTMLTextAreaField.php
index 21173d2..aeb4b7c 100644 (file)
@@ -12,11 +12,21 @@ class HTMLTextAreaField extends HTMLFormField {
                return isset( $this->mParams['rows'] ) ? $this->mParams['rows'] : static::DEFAULT_ROWS;
        }
 
+       function getSpellCheck() {
+               $val = isset( $this->mParams['spellcheck'] ) ? $this->mParams['spellcheck'] : null;
+               if ( is_bool( $val ) ) {
+                       // "spellcheck" attribute literally requires "true" or "false" to work.
+                       return $val === true ? 'true' : 'false';
+               }
+               return null;
+       }
+
        function getInputHTML( $value ) {
                $attribs = array(
                                'id' => $this->mID,
                                'cols' => $this->getCols(),
                                'rows' => $this->getRows(),
+                               'spellcheck' => $this->getSpellCheck(),
                        ) + $this->getTooltipAndAccessKey();
 
                if ( $this->mClass !== '' ) {
@@ -35,4 +45,38 @@ class HTMLTextAreaField extends HTMLFormField {
                $attribs += $this->getAttributes( $allowedParams );
                return Html::textarea( $this->mName, $value, $attribs );
        }
+
+       function getInputOOUI( $value ) {
+               if ( isset( $this->mParams['cols'] ) ) {
+                       throw new Exception( "OOUIHTMLForm does not support the 'cols' parameter for textareas" );
+               }
+
+               $attribs = $this->getTooltipAndAccessKey();
+
+               if ( $this->mClass !== '' ) {
+                       $attribs['classes'] = array( $this->mClass );
+               }
+
+               $allowedParams = array(
+                       'placeholder',
+                       'tabindex',
+                       'disabled',
+                       'readonly',
+                       'required',
+                       'autofocus',
+               );
+
+               $attribs += $this->getAttributes( $allowedParams, array(
+                       'tabindex' => 'tabIndex',
+                       'readonly' => 'readOnly',
+               ) );
+
+               return new OOUI\TextInputWidget( array(
+                       'id' => $this->mID,
+                       'name' => $this->mName,
+                       'multiline' => true,
+                       'value' => $value,
+                       'rows' => $this->getRows(),
+               ) + $attribs );
+       }
 }