Button kits¶
Button kits live in src/Kits/Button/. All of them use AjaxTrait, so any button can trigger an AJAX request. ButtonKit also sets #name to the kit ID, which Form API uses to tell buttons apart ($form_state->getTriggeringElement()).
ButtonKit¶
A plain button element. It does not submit the form by default in the browser, but Form API still processes it; combine it with setAjax() for AJAX actions.
| Class | Drupal\formfactorykits\Kits\Button\ButtonKit (src/Kits/Button/ButtonKit.php) |
| Extends | FormFactoryKit |
| Factory method | $kits->button() |
Form API #type |
button |
| Default ID | button |
| Traits | AjaxTrait, DefaultValueTrait, PrefixTrait, SuffixTrait, ValueTrait |
Setters
| Method | From |
|---|---|
setAjax(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setAjaxCallback(string $callback = '::ajaxFormRebuild') |
AjaxTrait (trait) |
setAjaxSetting(string $key, array\|string\|null $value) |
AjaxTrait (trait) |
setAjaxSettings(array $array) |
AjaxTrait (trait) |
setAjaxWrapper(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setButtonType(string $type) |
ButtonKit |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->button('refresh', ['value' => 'Refresh'])->setAjax('results-wrapper');
Generated render array ([$kit->getID() => $kit->getArray()])
[
'refresh' => [
'#value' => 'Refresh',
'#type' => 'button',
'#name' => 'refresh',
'#ajax' => [
'wrapper' => 'results-wrapper',
'callback' => '::ajaxFormRebuild',
],
],
]
SubmitButtonKit¶
A submit button. Its default label is t('Submit') and its #button_type is primary.
| Class | Drupal\formfactorykits\Kits\Button\SubmitButtonKit (src/Kits/Button/SubmitButtonKit.php) |
| Extends | ButtonKit |
| Factory method | $kits->submit() |
Form API #type |
submit |
| Default ID | submit |
| Traits | AjaxTrait, DefaultValueTrait, PrefixTrait, SuffixTrait, ValueTrait |
Setters
| Method | From |
|---|---|
setAjax(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setAjaxCallback(string $callback = '::ajaxFormRebuild') |
AjaxTrait (trait) |
setAjaxSetting(string $key, array\|string\|null $value) |
AjaxTrait (trait) |
setAjaxSettings(array $array) |
AjaxTrait (trait) |
setAjaxWrapper(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setButtonType(string $type) |
ButtonKit |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->submit();
Generated render array ([$kit->getID() => $kit->getArray()])
[
'submit' => [
'#value' => t('Submit'),
'#type' => 'submit',
'#button_type' => 'primary',
],
]
ImageButtonKit¶
An image_button: a submit button drawn as an image.
| Class | Drupal\formfactorykits\Kits\Button\ImageButtonKit (src/Kits/Button/ImageButtonKit.php) |
| Extends | ButtonKit |
| Factory method | $kits->imageButton() |
Form API #type |
image_button |
| Default ID | image_button |
| Traits | AjaxTrait, AttributesTrait, DefaultValueTrait, PrefixTrait, SuffixTrait, ValueTrait |
Setters
| Method | From |
|---|---|
setAjax(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setAjaxCallback(string $callback = '::ajaxFormRebuild') |
AjaxTrait (trait) |
setAjaxSetting(string $key, array\|string\|null $value) |
AjaxTrait (trait) |
setAjaxSettings(array $array) |
AjaxTrait (trait) |
setAjaxWrapper(string $wrapper = 'ajax-wrapper') |
AjaxTrait (trait) |
setAlternativeText(string $title) |
ImageButtonKit |
setAttribute(string $name, array\|string\|null $value) |
AttributesTrait (trait) |
setAttributes(array $attributes) |
AttributesTrait (trait) |
setButtonType(string $type) |
ButtonKit |
setDefaultValue(array\|string\|null $value) |
DefaultValueTrait (trait) |
setPrefix(array\|string\|null $value) |
PrefixTrait (trait) |
setSource(string $source) |
ImageButtonKit |
setSuffix(array\|string\|null $value) |
SuffixTrait (trait) |
setValue(array\|string\|null $value) |
ValueTrait (trait) |
Example
$kit = $kits->imageButton('go', ['value' => 'Go'])->setSource('/core/misc/icons/787878/cog.svg')->setAlternativeText('Go');
Generated render array ([$kit->getID() => $kit->getArray()])
[
'go' => [
'#value' => 'Go',
'#type' => 'image_button',
'#name' => 'go',
'#src' => '/core/misc/icons/787878/cog.svg',
'#attributes' => [
'alt' => 'Go',
],
],
]