function eva_view_presave in EVA: Entity Views Attachment 8.2
Same name and namespace in other branches
- 8 eva.module \eva_view_presave()
Implements hook_ENTITY_TYPE_presave().
Address https://www.drupal.org/node/2922112: if Eva displays are removed, remove the module dependency from the View.
File
- ./
eva.module, line 137 - Module implementing EVA extra field and views display.
Code
function eva_view_presave(EntityInterface $view) {
$dependencies = $view
->get('dependencies');
if (in_array('eva', $dependencies['module'])) {
$eva_count = 0;
foreach ($view
->get('display') as $display_id => $display) {
// Is there a display that's still using Eva?
if ($display['display_plugin'] == 'entity_view') {
$eva_count += 1;
}
}
// No Eva's? Remove the dependency.
if ($eva_count == 0) {
$dependencies['module'] = array_values(array_diff($dependencies['module'], [
'eva',
]));
$view
->set('dependencies', $dependencies);
}
}
}