From: Matthew Flaschen Date: Fri, 8 Sep 2017 20:56:00 +0000 (-0400) Subject: RCFilters: Remove getValue and use FormOptions X-Git-Tag: 1.31.0-rc.0~2174^2 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=91c2f9a6d56e3df5be8a980ed3814e2afb5f1d9e;p=lhc%2Fweb%2Fwiklou.git RCFilters: Remove getValue and use FormOptions Ensure the default is boolean, then FormOptions will do the rest for us. Bug: T174725 Change-Id: I92f2f77e1225f536a38f592578012855b948050c --- diff --git a/includes/changes/ChangesListBooleanFilter.php b/includes/changes/ChangesListBooleanFilter.php index dd62d7fd8e..2a7ba8849f 100644 --- a/includes/changes/ChangesListBooleanFilter.php +++ b/includes/changes/ChangesListBooleanFilter.php @@ -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; } }