wiki.techinc.nl/includes/htmlform/fields/HTMLToggleSwitchField.php
James D. Forrester 8e940c4f21 Standardise all our class alias deprecation comments for ease of grepping
Change-Id: I7f85d931d3b79da23e87b4e5692b2e14be8fcaa0
2024-03-19 20:11:29 +00:00

54 lines
1.2 KiB
PHP

<?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' );