WLFilters: Respect default values
Followup to I3e48a9f2d9b70f0b9f6d7c6329db9c8e8001ee49
Reported in T174725#3590145
Comparing current value and active value with
different representation ("1" !== true) leads to
not applying filters that are ON by default.
Bug: T174725
Change-Id: If083610c0294756589adfc32a59388cc7422ad5d
This commit is contained in:
parent
052abe72c8
commit
5e12ab58be
1 changed files with 16 additions and 5 deletions
|
|
@ -235,10 +235,13 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
* @inheritDoc
|
||||
*/
|
||||
public function isSelected( FormOptions $opts ) {
|
||||
return !$opts[ $this->getName() ] &&
|
||||
array_filter( $this->getSiblings(), function ( $sibling ) use ( $opts ) {
|
||||
return $opts[ $sibling->getName() ];
|
||||
} );
|
||||
return !$this->getValue( $opts ) &&
|
||||
array_filter(
|
||||
$this->getSiblings(),
|
||||
function ( ChangesListBooleanFilter $sibling ) use ( $opts ) {
|
||||
return $sibling->getValue( $opts );
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -251,6 +254,14 @@ class ChangesListBooleanFilter extends ChangesListFilter {
|
|||
return false;
|
||||
}
|
||||
|
||||
return $opts[ $this->getName() ] === $this->activeValue;
|
||||
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() ];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue