TestAjaxBlock.php in Drupal 10
File
core/modules/layout_builder/tests/modules/layout_builder_test/src/Plugin/Block/TestAjaxBlock.php
View source
<?php
namespace Drupal\layout_builder_test\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;
class TestAjaxBlock extends BlockBase {
public function blockForm($form, FormStateInterface $form_state) {
$form['ajax_test'] = [
'#type' => 'radios',
'#options' => [
1 => $this
->t('Ajax test option 1'),
2 => $this
->t('Ajax test option 2'),
],
'#prefix' => '<div id="test-ajax-wrapper">',
'#suffix' => '</div>',
'#title' => $this
->t('Time in this ajax test is @time', [
'@time' => time(),
]),
'#ajax' => [
'wrapper' => 'test-ajax-wrapper',
'callback' => [
$this,
'ajaxCallback',
],
],
];
return $form;
}
public function ajaxCallback($form, $form_state) {
return $form['settings']['ajax_test'];
}
public function build() {
$build['content'] = [
'#markup' => $this
->t('Every word is like an unnecessary stain on silence and nothingness.'),
];
return $build;
}
}