public static VerticalTabs::processVerticalTabs(&$element, FormStateInterface $form_state, &$complete_form)
Creates a group formatted as vertical tabs.
Parameters
array $element: An associative array containing the properties and children of the details element.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
array $complete_form: The complete form structure.
Return value
array The processed element.
File
- core/lib/Drupal/Core/Render/Element/VerticalTabs.php, line 102
Class
- VerticalTabs
- Provides a render element for vertical tabs in a form.
Namespace
Drupal\Core\Render\Element
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | public static function processVerticalTabs(& $element , FormStateInterface $form_state , & $complete_form ) { if (isset( $element [ '#access' ]) && ! $element [ '#access' ]) { return $element ; } // Inject a new details as child, so that form_process_details() processes // this details element like any other details. $element [ 'group' ] = array ( '#type' => 'details' , '#theme_wrappers' => array (), '#parents' => $element [ '#parents' ], ); // Add an invisible label for accessibility. if (!isset( $element [ '#title' ])) { $element [ '#title' ] = t( 'Vertical Tabs' ); $element [ '#title_display' ] = 'invisible' ; } $element [ '#attached' ][ 'library' ][] = 'core/drupal.vertical-tabs' ; // The JavaScript stores the currently selected tab in this hidden // field so that the active tab can be restored the next time the // form is rendered, e.g. on preview pages or when form validation // fails. $name = implode( '__' , $element [ '#parents' ]); if ( $form_state ->hasValue( $name . '__active_tab' )) { $element [ '#default_tab' ] = $form_state ->getValue( $name . '__active_tab' ); } $element [ $name . '__active_tab' ] = array ( '#type' => 'hidden' , '#default_value' => $element [ '#default_tab' ], '#attributes' => array ( 'class' => array ( 'vertical-tabs__active-tab' )), ); // Clean up the active tab value so it's not accidentally stored in // settings forms. $form_state ->addCleanValueKey( $name . '__active_tab' ); return $element ; } |
Please login to continue.