Choice field kits¶
Kits for picking values, from src/Kits/Field/Checkboxes/, Radios/, Select/, Table/ and Common/. CheckboxesKit, RadiosKit and SelectKit use OptionsTrait: setOptions(['key' => 'Label']) or appendOption(['key' => 'Label']) store OptionKit objects, which are turned into #options when the array is built.
CheckboxKit¶
A single checkbox.
| Class | Drupal\formfactorykits\Kits\Field\Checkboxes\CheckboxKit (src/Kits/Field/Checkboxes/CheckboxKit.php) |
| Extends | FieldKit |
| Factory method | $kits->checkbox() |
Form API #type |
checkbox |
| Default ID | checkbox |
| Traits | DefaultValueTrait, DescriptionTrait, PrefixTrait, RequiredTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setDescription(string $description) |
DescriptionTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setRequired(bool $required = TRUE) |
RequiredTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->checkbox('agree')->setTitle('I agree')->setRequired();
Generated render array ([$kit->getID() => $kit->getArray()])
[
'agree' => [
'#type' => 'checkbox',
'#title' => 'I agree',
'#required' => TRUE,
],
]
CheckboxesKit¶
A set of checkboxes.
| Class | Drupal\formfactorykits\Kits\Field\Checkboxes\CheckboxesKit (src/Kits/Field/Checkboxes/CheckboxesKit.php) |
| Extends | FieldKit |
| Factory method | $kits->checkboxes() |
Form API #type |
checkboxes |
| Default ID | checkboxes |
| Traits | DefaultValueTrait, DescriptionTrait, OptionsTrait, PrefixTrait, RequiredTrait, StringTranslationTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
appendOption(Drupal\formfactorykits\Kits\Field\Common\OptionKit\|array $mixed) |
OptionsTrait (trait) |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setDescription(string $description) |
DescriptionTrait (trait) |
setOptions(array $options) |
OptionsTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setRequired(bool $required = TRUE) |
RequiredTrait (trait) |
setStringTranslation(Drupal\Core\StringTranslation\TranslationInterface $translation) |
StringTranslationTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->checkboxes('pets')->setTitle('Pets')->appendOption(['dog' => 'Dog'])->appendOption(['cat' => 'Cat'])->setDefaultValue(['cat']);
Generated render array ([$kit->getID() => $kit->getArray()])
[
'pets' => [
'#type' => 'checkboxes',
'#title' => 'Pets',
'#default_value' => ['cat'],
'#options' => [
'dog' => 'Dog',
'cat' => 'Cat',
],
],
]
RadiosKit¶
A set of radios.
| Class | Drupal\formfactorykits\Kits\Field\Radios\RadiosKit (src/Kits/Field/Radios/RadiosKit.php) |
| Extends | FieldKit |
| Factory method | $kits->radios() |
Form API #type |
radios |
| Default ID | radios |
| Traits | DefaultValueTrait, DescriptionTrait, OptionsTrait, PrefixTrait, RequiredTrait, StringTranslationTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
appendOption(Drupal\formfactorykits\Kits\Field\Common\OptionKit\|array $mixed) |
OptionsTrait (trait) |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setDescription(string $description) |
DescriptionTrait (trait) |
setOptions(array $options) |
OptionsTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setRequired(bool $required = TRUE) |
RequiredTrait (trait) |
setStringTranslation(Drupal\Core\StringTranslation\TranslationInterface $translation) |
StringTranslationTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->radios('size')->setTitle('Size')->setOptions(['s' => 'Small', 'l' => 'Large']);
Generated render array ([$kit->getID() => $kit->getArray()])
[
'size' => [
'#type' => 'radios',
'#title' => 'Size',
'#options' => [
's' => 'Small',
'l' => 'Large',
],
],
]
SelectKit¶
A select list. The constructor sets #empty_option to an empty string unless you pass one in $parameters.
| Class | Drupal\formfactorykits\Kits\Field\Select\SelectKit (src/Kits/Field/Select/SelectKit.php) |
| Extends | FieldKit |
| Factory method | $kits->select() |
Form API #type |
select |
| Default ID | select |
| Traits | DefaultValueTrait, DescriptionTrait, OptionsTrait, PrefixTrait, StringTranslationTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
appendOption(Drupal\formfactorykits\Kits\Field\Common\OptionKit\|array $mixed) |
OptionsTrait (trait) |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setDescription(string $description) |
DescriptionTrait (trait) |
setMultiple(bool $isMultiple = TRUE) |
SelectKit |
setOptions(array $options) |
OptionsTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setStringTranslation(Drupal\Core\StringTranslation\TranslationInterface $translation) |
StringTranslationTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->select('color')->setTitle('Color')->setOptions(['red' => 'Red', 'blue' => 'Blue'])->setMultiple();
Generated render array ([$kit->getID() => $kit->getArray()])
[
'color' => [
'#empty_option' => '',
'#type' => 'select',
'#title' => 'Color',
'#multiple' => TRUE,
'#options' => [
'red' => 'Red',
'blue' => 'Blue',
],
],
]
TableSelectKit¶
A tableselect: a table whose rows can be selected. Options are rows keyed by option ID and header column key. The constructor sets #options to [] and #empty to t('No options available.'). Its appendOption() and setOptions() are its own, not OptionsTrait.
| Class | Drupal\formfactorykits\Kits\Field\Table\TableSelectKit (src/Kits/Field/Table/TableSelectKit.php) |
| Extends | FieldKit |
| Factory method | $kits->tableSelect() |
Form API #type |
tableselect |
| Default ID | tableselect |
| Traits | DefaultValueTrait, DescriptionTrait, PrefixTrait, StickyTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
appendHeaderColumn(string $column, string $title) |
TableSelectKit |
appendOption(string $option, array $row) |
TableSelectKit |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setDescription(string $description) |
DescriptionTrait (trait) |
setEmptyMessage(Drupal\Core\StringTranslation\TranslatableMarkup $message) |
TableSelectKit |
setHeader(array $columns) |
TableSelectKit |
setMultiple(bool $state = TRUE) |
TableSelectKit |
setOptions(array $options = []) |
TableSelectKit |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setSingle() |
TableSelectKit |
setSticky() |
StickyTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->tableSelect('users')->appendHeaderColumn('name', 'Name')->appendOption('1', ['name' => 'Ada'])->setSingle();
Generated render array ([$kit->getID() => $kit->getArray()])
[
'users' => [
'#options' => [
1 => [
'name' => 'Ada',
],
],
'#type' => 'tableselect',
'#empty' => t('No options available.'),
'#header' => [
'name' => 'Name',
],
'#multiple' => FALSE,
],
]
OptionKit¶
One option of an OptionsTrait kit. Its ID becomes the option key and its title the label. It has no Form API type and is never rendered on its own.
| Class | Drupal\formfactorykits\Kits\Field\Common\OptionKit (src/Kits/Field/Common/OptionKit.php) |
| Extends | FieldKit |
| Factory method | none; created by setOptions() / appendOption() |
Form API #type |
none |
| Default ID | none (pass one) |
| Traits | DefaultValueTrait, PrefixTrait, SuffixTrait, TitleTrait, ValueTrait |
Setters
| Method | From |
|---|---|
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setTitle(string $title) |
TitleTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |