From 211d1650ac2996024d9a3030e7ca3936bdb63b2f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Thu, 1 Mar 2018 21:26:40 +0100 Subject: [PATCH] HTMLSizeFilterField: Add OOUI version Bug: T183765 Change-Id: Ie86d1682f2e1b088300474e96fa7da975ad0ec9f --- .../htmlform/fields/HTMLSizeFilterField.php | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/includes/htmlform/fields/HTMLSizeFilterField.php b/includes/htmlform/fields/HTMLSizeFilterField.php index 5ad7ee3414..145a0ecdb2 100644 --- a/includes/htmlform/fields/HTMLSizeFilterField.php +++ b/includes/htmlform/fields/HTMLSizeFilterField.php @@ -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' ]; } /** -- 2.20.1