function views_fieldsets_form_views_ui_rearrange_form_alter in Views fieldsets 8.3
Same name and namespace in other branches
- 7.2 views_fieldsets.module \views_fieldsets_form_views_ui_rearrange_form_alter()
- 7 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 102 - Provides an module functionality.
Code
function views_fieldsets_form_views_ui_rearrange_form_alter(&$form, &$form_state) {
$ui_view = $form_state
->get('view');
$view = $ui_view
->getExecutable();
$view
->build($form_state
->get('display_id'));
$fieldsets = Fieldset::getAllFieldsets($view);
$debug_tabledrag = [];
foreach (Element::children($form['fields']) as $field_name) {
$row =& $form['fields'][$field_name];
if (isset($fieldsets[$field_name])) {
$row['#attributes']['class'][] = 'views-fieldsets-fieldset';
}
else {
$row['#attributes']['class'][] = 'tabledrag-leaf';
}
$depth = count(Fieldset::getFieldParents($view, $field_name));
$row['name'] = [
'indent' => $depth > 0 ? [
'#theme' => 'indentation',
'#size' => $depth,
] : [],
'name' => $row['name'],
'field_name' => [
'#type' => 'hidden',
'#value' => $field_name,
'#attributes' => [
'class' => [
'field-name',
],
],
],
'hierarchy' => $debug_tabledrag + [
'#type' => 'hidden',
'#default_value' => Fieldset::getFieldParent($view, $field_name),
'#attributes' => [
'class' => [
'hierarchy',
],
],
],
'depth' => $debug_tabledrag + [
'#type' => 'hidden',
'#default_value' => $depth,
'#attributes' => [
'class' => [
'depth',
],
],
],
];
unset($row);
}
$form['fields']['#tabledrag'] = [];
$form['fields']['#tabledrag'][] = [
'action' => 'match',
'relationship' => 'parent',
'group' => 'hierarchy',
'subgroup' => 'hierarchy',
'source' => 'field-name',
'hidden' => FALSE,
];
$form['fields']['#tabledrag'][] = [
'action' => 'depth',
'relationship' => 'group',
'group' => 'depth',
'hidden' => FALSE,
];
$form['fields']['#tabledrag'][] = [
'action' => 'order',
'relationship' => 'sibling',
'group' => 'weight',
];
$form['actions']['submit']['#submit'][] = 'views_fieldsets_views_ui_rearrange_form_submit';
}