HTMLSizeFilterField: Add OOUI version
authorBartosz Dziewoński <matma.rex@gmail.com>
Thu, 1 Mar 2018 20:26:40 +0000 (21:26 +0100)
committerBartosz Dziewoński <matma.rex@gmail.com>
Thu, 1 Mar 2018 20:30:17 +0000 (21:30 +0100)
Bug: T183765
Change-Id: Ie86d1682f2e1b088300474e96fa7da975ad0ec9f

includes/htmlform/fields/HTMLSizeFilterField.php

index 5ad7ee3..145a0ec 100644 (file)
@@ -41,9 +41,26 @@ class HTMLSizeFilterField extends HTMLIntField {
                return $html;
        }
 
-       // No OOUI yet
-       public function getInputOOUI( $value ) {
-               return false;
+       protected function getInputWidget( $params ) {
+               $this->mParent->getOutput()->addModuleStyles( 'mediawiki.widgets.SizeFilterWidget.styles' );
+
+               // negative numbers represent "max", positive numbers represent "min"
+               $value = $params['value'];
+
+               $params['value'] = $value ? abs( $value ) : '';
+
+               return new MediaWiki\Widget\SizeFilterWidget( [
+                       'selectMin' => $value >= 0,
+                       'textinput' => $params,
+                       'radioselectinput' => [
+                               'name' => $this->mName . '-mode',
+                               'disabled' => !empty( $this->mParams['disabled'] ),
+                       ],
+               ] );
+       }
+
+       protected function getOOUIModules() {
+               return [ 'mediawiki.widgets.SizeFilterWidget' ];
        }
 
        /**