summaryrefslogtreecommitdiff
path: root/includes/htmlform/HTMLTextAreaField.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/htmlform/HTMLTextAreaField.php')
-rw-r--r--includes/htmlform/HTMLTextAreaField.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/includes/htmlform/HTMLTextAreaField.php b/includes/htmlform/HTMLTextAreaField.php
index 21173d2a..aeb4b7c2 100644
--- a/includes/htmlform/HTMLTextAreaField.php
+++ b/includes/htmlform/HTMLTextAreaField.php
@@ -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 );
+ }
}