Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
ChangesListStringOptionsFilter
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 3
30
0.00% covered (danger)
0.00%
0 / 1
 displaysOnUnstructuredUi
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 isSelected
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
 isActive
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace MediaWiki\RecentChanges;
4
5use MediaWiki\Html\FormOptions;
6
7/**
8 * An individual filter in a ChangesListStringOptionsFilterGroup.
9 *
10 * This filter type will only be displayed on the structured UI currently.
11 *
12 * @since 1.29
13 * @ingroup RecentChanges
14 */
15class ChangesListStringOptionsFilter extends ChangesListFilter {
16    /**
17     * @inheritDoc
18     */
19    public function displaysOnUnstructuredUi() {
20        return false;
21    }
22
23    /**
24     * @inheritDoc
25     */
26    public function isSelected( FormOptions $opts ) {
27        $option = $opts[ $this->getGroup()->getName() ];
28        if ( $option === ChangesListStringOptionsFilterGroup::ALL ) {
29            return true;
30        }
31
32        $values = explode( ChangesListStringOptionsFilterGroup::SEPARATOR, $option );
33        return in_array( $this->getName(), $values );
34    }
35
36    /** @inheritDoc */
37    public function isActive( FormOptions $opts, $isStructuredUI ) {
38        // STRING_OPTIONS filter groups are exclusively active on Structured UI
39        return $isStructuredUI && $this->isSelected( $opts );
40    }
41}
42
43/** @deprecated class alias since 1.44 */
44class_alias( ChangesListStringOptionsFilter::class, 'ChangesListStringOptionsFilter' );