public static function Fieldset::replaceFieldsetHandlers in Views fieldsets 8.3
1 call to Fieldset::replaceFieldsetHandlers()
- views_fieldsets_preprocess_views_view_fields in ./
views_fieldsets.module - Implements hook_preprocess_views_view_fields().
File
- src/
Plugin/ views/ field/ Fieldset.php, line 107
Class
- Fieldset
- @ViewsField("fieldset").
Namespace
Drupal\views_fieldsets\Plugin\views\fieldCode
public static function replaceFieldsetHandlers(ViewExecutable $view, array &$fields, ResultRow $row) {
$fieldsets = self::getAllFieldsets($view);
// Replace Fieldsets.
foreach ($fields as $name => $field) {
if (isset($fieldsets[$name])) {
$fields[$name] = new RowFieldset($field, $row);
}
}
// Move Children.
$moved = [];
foreach ($fieldsets as $fieldset_name => $fieldset) {
foreach ($fieldset
->getChildren() as $child_name) {
if (isset($fields[$child_name])) {
$fields[$fieldset_name]
->addChild($fields, $child_name);
$moved[$child_name] = $child_name;
}
}
}
// Remove moved Children.
$fields = array_diff_key($fields, $moved);
return $fieldsets;
}