/** * {@inheritdoc} */ public function &getGroups() { return $this->mainFormState->getGroups(); }
/** * Arranges elements into groups. * * This method is useful for non-input elements that can be used in and * outside the context of a form. * * @param array $element * An associative array containing the properties and children of the * element. Note that $element must be taken by reference here, so processed * child elements are taken over into $form_state. * @param \Drupal\Core\Form\FormStateInterface $form_state * The current state of the form. * @param array $complete_form * The complete form structure. * * @return array * The processed element. */ public static function processGroup(&$element, FormStateInterface $form_state, &$complete_form) { $parents = implode('][', $element['#parents']); // Each details element forms a new group. The #type 'vertical_tabs' basically // only injects a new details element. $groups =& $form_state->getGroups(); $groups[$parents]['#group_exists'] = TRUE; $element['#groups'] =& $groups; // Process vertical tabs group member details elements. if (isset($element['#group'])) { // Add this details element to the defined group (by reference). $group = $element['#group']; $groups[$group][] =& $element; } return $element; }
/** * {@inheritdoc} */ public function &getGroups() { return $this->decoratedFormState->getGroups(); }