*/
protected $activeValue;
- /**
- * Whether this filter is visible somewhere (legacy form or structured UI).
- *
- * @var bool $isVisible
- */
- protected $isVisible;
-
/**
* Create a new filter with the specified configuration.
*
* * $filterDefinition['default'] bool Default
* * $filterDefinition['activeValue'] bool This filter is considered active when
* its value is equal to its activeValue. Default is true.
- * * $filterDefinition['isVisible'] bool This filter is visible in the legacy form or
- * structured UI. Default is true.
* * $filterDefinition['priority'] int Priority integer. Higher value means higher
* up in the group's filter list.
* * $filterDefinition['queryCallable'] callable Callable accepting parameters, used
}
if ( isset( $filterDefinition['default'] ) ) {
- $this->defaultValue = $filterDefinition['default'];
+ $this->setDefault( $filterDefinition['default'] );
} else {
throw new MWException( 'You must set a default' );
}
} else {
$this->activeValue = true;
}
-
- if ( isset( $filterDefinition['isVisible'] ) ) {
- $this->isVisible = $filterDefinition['isVisible'];
- } else {
- $this->isVisible = true;
- }
}
/**
}
/**
- * 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;
}
/**
*/
public function isSelected( FormOptions $opts ) {
return !$opts[ $this->getName() ] &&
- array_filter( $this->getSiblings(), function ( $sibling ) use ( $opts ) {
- return $opts[ $sibling->getName() ];
- } );
+ array_filter(
+ $this->getSiblings(),
+ function ( ChangesListBooleanFilter $sibling ) use ( $opts ) {
+ return $opts[ $sibling->getName() ];
+ }
+ );
}
/**
return $opts[ $this->getName() ] === $this->activeValue;
}
-
- /**
- * @return bool Whether this filter is visible anywhere
- */
- public function isVisible() {
- return $this->isVisible;
- }
}