1 form.inc | form_process_fieldset(&$element, &$form_state) |
Arranges fieldsets into groups.
Parameters
$element: An associative array containing the properties and children of the fieldset. Note that $element must be taken by reference here, so processed child elements are taken over into $form_state.
$form_state: The $form_state array for the form this fieldset belongs to.
Return value
The processed element.:
Related topics
File
- core/
includes/ form.inc, line 4122 - Functions for form and batch generation and processing.
Code
function form_process_fieldset(&$element, &$form_state) {
$parents = implode('][', $element['#parents']);
// Each fieldset forms a new group. The #type 'vertical_tabs' basically only
// injects a new fieldset.
$form_state['groups'][$parents]['#group_exists'] = TRUE;
$element['#groups'] = &$form_state['groups'];
// Process vertical tabs group member fieldsets.
if (isset($element['#group'])) {
// Add this fieldset to the defined group (by reference).
$group = $element['#group'];
$form_state['groups'][$group][] = &$element;
}
// Contains form element summary functionalities.
$element['#attached']['library'][] = array('system', 'backdrop.form');
// The .form-wrapper class is required for #states to treat fieldsets like
// containers.
if (!isset($element['#attributes']['class'])) {
$element['#attributes']['class'] = array();
}
// Collapsible fieldsets
if (!empty($element['#collapsible'])) {
$element['#attached']['library'][] = array('system', 'backdrop.collapse');
$element['#attributes']['class'][] = 'collapsible';
if (!empty($element['#collapsed'])) {
$element['#attributes']['class'][] = 'collapsed';
}
}
return $element;
}