Example #1
0
 /**
  * {@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();
 }