OneForm.php in Chaos Tool Suite (ctools) 8.3
File
tests/modules/ctools_wizard_test/src/Form/OneForm.php
View source
<?php
namespace Drupal\ctools_wizard_test\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class OneForm extends FormBase {
public function getFormId() {
return 'ctools_wizard_test_one_form';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$cached_values = $form_state
->getTemporaryValue('wizard');
$form['one'] = [
'#title' => $this
->t('One'),
'#type' => 'textfield',
'#default_value' => !empty($cached_values['one']) ? $cached_values['one'] : '',
];
$form['dynamic'] = [
'#title' => $this
->t('Dynamic value'),
'#type' => 'item',
'#markup' => !empty($cached_values['dynamic']) ? $cached_values['dynamic'] : '',
];
return $form;
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$keys = [
'one',
];
$cached_values = $form_state
->getTemporaryValue('wizard');
foreach ($keys as $key) {
$cached_values[$key] = $form_state
->getValue($key);
}
$form_state
->setTemporaryValue('wizard', $cached_values);
$this
->messenger()
->addMessage($this
->t('Dynamic value submitted: @value', [
'@value' => $cached_values['dynamic'],
]));
}
}