function views_fieldsets_form_views_ui_rearrange_form_alter in Views fieldsets 7
Same name and namespace in other branches
- 8.3 views_fieldsets.module \views_fieldsets_form_views_ui_rearrange_form_alter()
- 7.2 views_fieldsets.module \views_fieldsets_form_views_ui_rearrange_form_alter()
Implements hook_form_FORM_ID_alter() for views_ui_rearrange_form().
File
- ./
views_fieldsets.module, line 347 - Hooks, helpers and theming for the Views Fieldsets module.
Code
function views_fieldsets_form_views_ui_rearrange_form_alter(&$form, &$form_state, $form_id = 'views_ui_rearrange_form') {
$actions = array_filter(explode('/', $form['#action']));
if (!isset($form['fields']) || 'field' != end($actions)) {
return;
}
$view = $form_state['view'];
$display_handler = $view->display_handler;
$fields = $display_handler
->get_option('fields');
$fieldsets = views_fieldsets_field_options_to_fieldsets_1d($fields);
$hierarchy = views_fieldsets_hierarchy_info($display_handler, $fieldsets);
$fields = $hierarchy['fields'];
$tree = $hierarchy['tree'];
// Add tabledrag related elements
foreach (element_children($form['fields']) as $field_name) {
if (views_fieldsets_field_is_fieldset($field_name, $display_handler)) {
$form['fields'][$field_name]['name']['#markup'] = '<strong>' . $form['fields'][$field_name]['name']['#markup'] . '</strong>';
}
$form['fields'][$field_name]['weight']['#size'] = 3;
$form['fields'][$field_name]['field_name'] = array(
'#type' => 'hidden',
'#value' => $field_name,
'#attributes' => array(
'class' => array(
'field-name',
),
),
);
$form['fields'][$field_name]['hierarchy'] = array(
'#type' => 'hidden',
'#default_value' => @$fields[$field_name]->info->parent,
'#attributes' => array(
'class' => array(
'hierarchy',
),
),
'#size' => 5,
);
$form['fields'][$field_name]['depth'] = array(
'#type' => 'hidden',
'#default_value' => @$fields[$field_name]->info->depth,
'#attributes' => array(
'class' => array(
'depth',
),
),
'#size' => 5,
);
// $form['fields'][$field_name]['hierarchy']['#type'] = $form['fields'][$field_name]['depth']['#type'] = 'textfield';
}
// Reorder (stupid tabledrag)
/** Not necessary anymore!
foreach ($fields as $field_name => $field) {
if (isset($form['fields'][$field_name])) {
$form_element = $form['fields'][$field_name];
$form_element['weight']['#default_value'] = $fields[$field_name]->info->fieldset_weight;
unset($form['fields'][$field_name]);
$form['fields'][$field_name] = $form_element;
}
}
/**/
// To add TableDrag and visual specialties.
$form['#theme'] = 'views_fieldsets_rearrange_form';
// To be used in the theme function (for views_fieldsets_field_is_fieldset()).
$form['#display_handler'] = $display_handler;
array_unshift($form['buttons']['submit']['#submit'], 'views_fieldsets_rearrange_form_submit');
}