Follow-up Ifa346c8a92: LanguageNameUtils: CONSTRUCTOR_OTPIONS, not constructorOptions
[lhc/web/wiklou.git] / includes / htmlform / fields / HTMLSelectNamespace.php
1 <?php
2 /**
3 * Wrapper for Html::namespaceSelector to use in HTMLForm
4 */
5 class HTMLSelectNamespace extends HTMLFormField {
6
7 /** @var string|null */
8 protected $mAllValue;
9
10 public function __construct( $params ) {
11 parent::__construct( $params );
12
13 $this->mAllValue = array_key_exists( 'all', $params )
14 ? $params['all']
15 : 'all';
16 }
17
18 public function getInputHTML( $value ) {
19 return Html::namespaceSelector(
20 [
21 'selected' => $value,
22 'all' => $this->mAllValue
23 ], [
24 'name' => $this->mName,
25 'id' => $this->mID,
26 'class' => 'namespaceselector',
27 ]
28 );
29 }
30
31 public function getInputOOUI( $value ) {
32 return new MediaWiki\Widget\NamespaceInputWidget( [
33 'value' => $value,
34 'name' => $this->mName,
35 'id' => $this->mID,
36 'includeAllValue' => $this->mAllValue,
37 ] );
38 }
39
40 protected function getOOUIModules() {
41 // FIXME: NamespaceInputWidget should be in its own module (probably?)
42 return [ 'mediawiki.widgets' ];
43 }
44
45 protected function shouldInfuseOOUI() {
46 return true;
47 }
48 }