You are here

public function FormTestGroupDetailsForm::buildForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/system/tests/modules/form_test/src/Form/FormTestGroupDetailsForm.php \Drupal\form_test\Form\FormTestGroupDetailsForm::buildForm()
  2. 10 core/modules/system/tests/modules/form_test/src/Form/FormTestGroupDetailsForm.php \Drupal\form_test\Form\FormTestGroupDetailsForm::buildForm()

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides FormInterface::buildForm

File

core/modules/system/tests/modules/form_test/src/Form/FormTestGroupDetailsForm.php, line 25

Class

FormTestGroupDetailsForm
Builds a simple form to test the #group property on #type 'details'.

Namespace

Drupal\form_test\Form

Code

public function buildForm(array $form, FormStateInterface $form_state, $required = FALSE) {
  $form['details'] = [
    '#type' => 'details',
    '#title' => 'Root element',
    '#open' => TRUE,
    '#required' => !empty($required),
  ];
  $form['meta'] = [
    '#type' => 'details',
    '#title' => 'Group element',
    '#open' => TRUE,
    '#group' => 'details',
  ];
  $form['meta']['element'] = [
    '#type' => 'textfield',
    '#title' => 'Nest in details element',
  ];
  $form['summary_attributes'] = [
    '#type' => 'details',
    '#title' => 'Details element with summary attributes',
    '#summary_attributes' => [
      'data-summary-attribute' => 'test',
    ],
  ];
  return $form;
}