2014-10-04 14:35:54 +00:00
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* Wrapper for Html::namespaceSelector to use in HTMLForm
|
|
|
|
|
*/
|
|
|
|
|
class HTMLSelectNamespace extends HTMLFormField {
|
2018-06-25 19:36:21 +00:00
|
|
|
|
|
|
|
|
/** @var string|null */
|
|
|
|
|
protected $mAllValue;
|
|
|
|
|
|
2015-07-11 17:12:10 +00:00
|
|
|
public function __construct( $params ) {
|
|
|
|
|
parent::__construct( $params );
|
2015-10-28 12:29:45 +00:00
|
|
|
|
|
|
|
|
$this->mAllValue = array_key_exists( 'all', $params )
|
|
|
|
|
? $params['all']
|
|
|
|
|
: 'all';
|
2015-07-11 17:12:10 +00:00
|
|
|
}
|
2015-05-07 16:01:38 +00:00
|
|
|
|
2016-11-04 10:40:42 +00:00
|
|
|
public function getInputHTML( $value ) {
|
2014-10-04 14:35:54 +00:00
|
|
|
return Html::namespaceSelector(
|
2016-02-17 09:09:32 +00:00
|
|
|
[
|
2014-10-04 14:35:54 +00:00
|
|
|
'selected' => $value,
|
2015-07-11 17:12:10 +00:00
|
|
|
'all' => $this->mAllValue
|
2016-02-17 09:09:32 +00:00
|
|
|
], [
|
2014-10-04 14:35:54 +00:00
|
|
|
'name' => $this->mName,
|
|
|
|
|
'id' => $this->mID,
|
|
|
|
|
'class' => 'namespaceselector',
|
2016-02-17 09:09:32 +00:00
|
|
|
]
|
2014-10-04 14:35:54 +00:00
|
|
|
);
|
|
|
|
|
}
|
2015-07-11 17:12:10 +00:00
|
|
|
|
|
|
|
|
public function getInputOOUI( $value ) {
|
2016-02-17 09:09:32 +00:00
|
|
|
return new MediaWiki\Widget\NamespaceInputWidget( [
|
2015-08-11 15:12:36 +00:00
|
|
|
'value' => $value,
|
|
|
|
|
'name' => $this->mName,
|
2015-07-11 17:12:10 +00:00
|
|
|
'id' => $this->mID,
|
2015-07-14 20:30:06 +00:00
|
|
|
'includeAllValue' => $this->mAllValue,
|
2016-02-17 09:09:32 +00:00
|
|
|
] );
|
2015-07-11 17:12:10 +00:00
|
|
|
}
|
2016-07-26 12:12:21 +00:00
|
|
|
|
2016-07-31 14:56:23 +00:00
|
|
|
protected function getOOUIModules() {
|
|
|
|
|
// FIXME: NamespaceInputWidget should be in its own module (probably?)
|
|
|
|
|
return [ 'mediawiki.widgets' ];
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-26 12:12:21 +00:00
|
|
|
protected function shouldInfuseOOUI() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2014-10-04 14:35:54 +00:00
|
|
|
}
|