9use InvalidArgumentException;
99 parent::__construct( $filterDefinition );
101 if ( isset( $filterDefinition[
'showHide'] ) ) {
102 $this->showHide = $filterDefinition[
'showHide'];
105 $this->isReplacedInStructuredUi = $filterDefinition[
'isReplacedInStructuredUi'] ??
false;
107 if ( isset( $filterDefinition[
'default'] ) ) {
108 $this->
setDefault( $filterDefinition[
'default'] );
110 throw new InvalidArgumentException(
'You must set a default' );
113 if ( isset( $filterDefinition[
'queryCallable'] ) ) {
114 $this->queryCallable = $filterDefinition[
'queryCallable'];
117 $this->activeValue = $filterDefinition[
'activeValue'] ??
true;
127 return $this->isReplacedInStructuredUi && $structuredUI ?
128 !$this->activeValue :
161 return $this->isReplacedInStructuredUi ||
162 parent::isFeatureAvailableOnStructuredUi();
178 &$tables, &$fields, &$conds, &$query_options, &$join_conds
180 if ( $this->queryCallable ===
null ) {
185 get_class( $specialPage ),
200 $output = parent::getJsData();
211 return !$opts[ $this->
getName() ] &&
215 return $opts[ $sibling->
getName() ];
224 if ( $this->isReplacedInStructuredUi && $isStructuredUI ) {
233class_alias( ChangesListBooleanFilter::class,
'ChangesListBooleanFilter' );
Special page which uses a ChangesList to show query results.
getContext()
Gets the context this SpecialPage is executed in.