23use InvalidArgumentException;
113 parent::__construct( $filterDefinition );
115 if ( isset( $filterDefinition[
'showHide'] ) ) {
116 $this->showHide = $filterDefinition[
'showHide'];
119 $this->isReplacedInStructuredUi = $filterDefinition[
'isReplacedInStructuredUi'] ??
false;
121 if ( isset( $filterDefinition[
'default'] ) ) {
122 $this->
setDefault( $filterDefinition[
'default'] );
124 throw new InvalidArgumentException(
'You must set a default' );
127 if ( isset( $filterDefinition[
'queryCallable'] ) ) {
128 $this->queryCallable = $filterDefinition[
'queryCallable'];
131 $this->activeValue = $filterDefinition[
'activeValue'] ??
true;
141 return $this->isReplacedInStructuredUi && $structuredUI ?
142 !$this->activeValue :
175 return $this->isReplacedInStructuredUi ||
176 parent::isFeatureAvailableOnStructuredUi();
192 &$tables, &$fields, &$conds, &$query_options, &$join_conds
194 if ( $this->queryCallable ===
null ) {
199 get_class( $specialPage ),
214 $output = parent::getJsData();
225 return !$opts[ $this->
getName() ] &&
229 return $opts[ $sibling->
getName() ];
240 if ( $this->isReplacedInStructuredUi && $isStructuredUI ) {
249class_alias( ChangesListBooleanFilter::class,
'ChangesListBooleanFilter' );
Special page which uses a ChangesList to show query results.
getContext()
Gets the context this SpecialPage is executed in.