4 * A size filter field for use on query-type special pages. It looks a bit like:
6 * (o) Min size ( ) Max size: [ ] bytes
8 * Minimum size limits are represented using a positive integer, while maximum
9 * size limits are represented using a negative integer.
11 class HTMLSizeFilterField
extends HTMLIntField
{
12 public function getSize() {
13 return isset( $this->mParams
['size'] ) ?
$this->mParams
['size'] : 9;
16 public function getInputHTML( $value ) {
18 if ( !empty( $this->mParams
['disabled'] ) ) {
19 $attribs['disabled'] = 'disabled';
22 $html = Xml
::radioLabel(
23 $this->msg( 'minimum-size' )->text(),
24 $this->mName
. '-mode',
26 $this->mID
. '-mode-min',
30 $html .= ' ' . Xml
::radioLabel(
31 $this->msg( 'maximum-size' )->text(),
32 $this->mName
. '-mode',
34 $this->mID
. '-mode-max',
38 $html .= ' ' . parent
::getInputHTML( $value ?
abs( $value ) : '' );
39 $html .= ' ' . $this->msg( 'pagesize' )->parse();
45 public function getInputOOUI( $value ) {
50 * @param WebRequest $request
54 public function loadDataFromRequest( $request ) {
55 $size = $request->getInt( $this->mName
);
57 return $this->getDefault();
61 // negative numbers represent "max", positive numbers represent "min"
62 if ( $request->getVal( $this->mName
. '-mode' ) === 'max' ) {
69 protected function needsLabel() {