function views_dependent_filters_exposed_form_after_build in Views Dependent Filters 8
Same name and namespace in other branches
- 7 views_dependent_filters.module \views_dependent_filters_exposed_form_after_build()
After build form processor for the views exposed form.
1 string reference to 'views_dependent_filters_exposed_form_after_build'
- ViewsDependentFilter::buildExposedForm in src/
Plugin/ views/ filter/ ViewsDependentFilter.php - Make our changes to the form but don't return anything ourselves.
File
- ./
views_dependent_filter.module, line 15 - views_dependent_filters.module Provides a Views exposed filter which makes other filters depend on values in yet further filters for their visiblity and processing. For example: if the 'node type' filter is set to 'article', show a…
Code
function views_dependent_filters_exposed_form_after_build(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
// We may have multiple dependency info arrays from more than one copies
// of the views_dependent_filters_handler_filter_dependent handler.
foreach ($form_state->dependent_exposed_filters as $dependency_info) {
$form_dependency = array();
foreach ($dependency_info['controllers'] as $filter_id => $controller_values) {
$identifier = $dependency_info['identifiers'][$filter_id];
// Regular form.
foreach ($controller_values as $controller_value) {
$part = ":input[name= {$filter_id}]";
$form_dependency[$part]['value'] = $controller_value;
// Converting in array for multivalue fields
$form_dependency_array[] = $form_dependency;
}
}
// Set the dependency on each form element as required.
foreach ($dependency_info['dependents'] as $dependent_filter_id) {
$identifier = $dependency_info['identifiers'][$dependent_filter_id];
$form[$identifier]['#states']['visible'] = $form_dependency_array;
}
}
return $form;
}