Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CheckboxWidget.php 1.01 KiB
<?php
declare(strict_types=1);
namespace Drupal\ui_patterns\Plugin\UiPatterns\Source;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\ui_patterns\Attribute\Source;
use Drupal\ui_patterns\SourcePluginPropValueWidget;
/**
* Plugin implementation of the source.
*/
#[Source(
id: 'checkbox',
label: new TranslatableMarkup('Checkbox'),
description: new TranslatableMarkup('Single checkbox'),
prop_types: ['boolean'],
tags: ['widget']
)]
class CheckboxWidget extends SourcePluginPropValueWidget {
/**
* {@inheritdoc}
*/
public function getPropValue(): mixed {
return (bool) parent::getPropValue();
}
/**
* {@inheritdoc}
*/
public function settingsForm(array $form, FormStateInterface $form_state): array {
$form = parent::settingsForm($form, $form_state);
$form['value'] = [
'#type' => 'checkbox',
'#default_value' => $this->getSetting('value'),
];
$this->addRequired($form['value']);
return $form;
}
}