RCFilters: Remove getValue and use FormOptions
Ensure the default is boolean, then FormOptions will do the rest for us. Bug: T174725 Change-Id: I92f2f77e1225f536a38f592578012855b948050c
This commit is contained in:
parent
df0c0f52e3
commit
91c2f9a6d5
1 changed files with 8 additions and 14 deletions
|
|
@ -127,7 +127,7 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
}
|
||||
|
||||
if ( isset( $filterDefinition['default'] ) ) {
|
||||
$this->defaultValue = $filterDefinition['default'];
|
||||
$this->setDefault( $filterDefinition['default'] );
|
||||
} else {
|
||||
throw new MWException( 'You must set a default' );
|
||||
}
|
||||
|
|
@ -156,12 +156,14 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets default
|
||||
* Sets default. It must be a boolean.
|
||||
*
|
||||
* It will be coerced to boolean.
|
||||
*
|
||||
* @param bool $defaultValue
|
||||
*/
|
||||
public function setDefault( $defaultValue ) {
|
||||
$this->defaultValue = $defaultValue;
|
||||
$this->defaultValue = (bool)$defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -235,11 +237,11 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
* @inheritDoc
|
||||
*/
|
||||
public function isSelected( FormOptions $opts ) {
|
||||
return !$this->getValue( $opts ) &&
|
||||
return !$opts[ $this->getName() ] &&
|
||||
array_filter(
|
||||
$this->getSiblings(),
|
||||
function ( ChangesListBooleanFilter $sibling ) use ( $opts ) {
|
||||
return $sibling->getValue( $opts );
|
||||
return $opts[ $sibling->getName() ];
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
@ -254,14 +256,6 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
return false;
|
||||
}
|
||||
|
||||
return $this->getValue( $opts ) === $this->activeValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FormOptions $opts
|
||||
* @return bool The current value of this filter according to $opts but coerced to boolean
|
||||
*/
|
||||
public function getValue( FormOptions $opts ) {
|
||||
return (bool)$opts[ $this->getName() ];
|
||||
return $opts[ $this->getName() ] === $this->activeValue;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue