Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
PageQualityInputWidget
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 2
20
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
12
 getJavaScriptClassName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace ProofreadPage\OOUI;
4
5use OOUI\RadioInputWidget;
6use OOUI\RadioSelectInputWidget;
7
8class PageQualityInputWidget extends RadioSelectInputWidget {
9
10    /**
11     * @inheritDoc
12     */
13    public function __construct( array $config = [] ) {
14        $options = [];
15        foreach ( $config['levels'] as $level ) {
16            $msg = 'proofreadpage_quality' . $level . '_category';
17            $options[] = [ 'data' => $level, 'label' => wfMessage( $msg ) ];
18        }
19        parent::__construct( array_merge( [
20            'infusable' => true,
21            'classes' => [ 'prp-pageQualityInputWidget' ],
22            'name' => 'wpQuality',
23            'options' => $options,
24        ], $config ) );
25
26        foreach ( $this->fields as $field ) {
27            // @var RadioInputWidget $widget
28            $widget = $field->getField();
29            '@phan-var RadioInputWidget $widget';
30            $widget->addClasses( [ 'prp-quality-radio', 'quality' . $widget->getValue() ] );
31            $widget->setInfusable( true );
32        }
33    }
34
35    /**
36     * @inheritDoc
37     */
38    protected function getJavaScriptClassName() {
39        return 'mw.proofreadpage.PageQualityInputWidget';
40    }
41}