1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?php
namespace MediaWiki\HTMLForm\Field;
use MediaWiki\Widget\ToggleSwitchWidget;
class HTMLToggleSwitchField extends HTMLCheckField {
/**
* Get the OOUI version of this field.
*
* @since 1.41
* @param string $value
* @return ToggleSwitchWidget
*/
public function getInputOOUI( $value ) {
if ( !empty( $this->mParams['invert'] ) ) {
$value = !$value;
}
$attr = $this->getTooltipAndAccessKeyOOUI();
$attr['id'] = $this->mID;
$attr['name'] = $this->mName;
$attr += \OOUI\Element::configFromHtmlAttributes(
$this->getAttributes( [ 'disabled', 'tabindex' ] )
);
if ( $this->mClass !== '' ) {
$attr['classes'] = [ $this->mClass ];
}
// For the underlaying CheckboxInputWidget
$attr['selected'] = $value;
$attr['value'] = '1';
return new ToggleSwitchWidget( $attr );
}
/**
* @inheritDoc
*/
protected function shouldInfuseOOUI() {
// Always infuse, as we want a toggle widget when JS is enabled.
return true;
}
protected function getOOUIModules() {
return [ 'mediawiki.widgets.ToggleSwitchWidget' ];
}
}
/** @deprecated class alias since 1.42 */
class_alias( HTMLToggleSwitchField::class, 'HTMLToggleSwitchField' );
|