'name' => $this->mName,
'size' => $this->getSize(),
'value' => $value,
+ 'dir' => $this->mDir,
) + $this->getTooltipAndAccessKey();
if ( $this->mClass !== '' ) {
$attribs += $this->getAttributes( $allowedParams );
# Extract 'type'
+ $type = $this->getType( $attribs );
+ return Html::input( $this->mName, $value, $type, $attribs );
+ }
+
+ protected function getType( &$attribs ) {
$type = isset( $attribs['type'] ) ? $attribs['type'] : 'text';
unset( $attribs['type'] );
}
}
- return Html::input( $this->mName, $value, $type, $attribs );
+ return $type;
+ }
+
+ function getInputOOUI( $value ) {
+ $attribs = $this->getTooltipAndAccessKey();
+
+ if ( $this->mClass !== '' ) {
+ $attribs['classes'] = array( $this->mClass );
+ }
+
+ # @todo Enforce pattern, step, required, readonly on the server side as
+ # well
+ $allowedParams = array(
+ 'autofocus',
+ 'autosize',
+ 'disabled',
+ 'flags',
+ 'indicator',
+ 'maxlength',
+ 'placeholder',
+ 'readonly',
+ 'required',
+ 'tabindex',
+ 'type',
+ );
+
+ $attribs += $this->getAttributes( $allowedParams, array(
+ 'maxlength' => 'maxLength',
+ 'readonly' => 'readOnly',
+ 'tabindex' => 'tabIndex',
+ ) );
+
+ $type = $this->getType( $attribs );
+
+ return new OOUI\TextInputWidget( array(
+ 'id' => $this->mID,
+ 'name' => $this->mName,
+ 'value' => $value,
+ 'type' => $type,
+ ) + $attribs );
}
}