You are here

public function EntityField::onDependencyRemoval in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/field/EntityField.php \Drupal\views\Plugin\views\field\EntityField::onDependencyRemoval()

Allows a plugin to define whether it should be removed.

If this method returns TRUE then the plugin should be removed.

Parameters

array $dependencies: An array of dependencies that will be deleted keyed by dependency type. Dependency types are, for example, entity, module and theme.

Return value

bool TRUE if the plugin instance should be removed.

Overrides DependentWithRemovalPluginInterface::onDependencyRemoval

See also

\Drupal\Core\Config\Entity\ConfigDependencyManager

\Drupal\Core\Config\ConfigEntityBase::preDelete()

\Drupal\Core\Config\ConfigManager::uninstall()

\Drupal\Core\Entity\EntityDisplayBase::onDependencyRemoval()

File

core/modules/views/src/Plugin/views/field/EntityField.php, line 1116

Class

EntityField
A field that displays entity field data.

Namespace

Drupal\views\Plugin\views\field

Code

public function onDependencyRemoval(array $dependencies) {

  // See if this handler is responsible for any of the dependencies being
  // removed. If this is the case, indicate that this handler needs to be
  // removed from the View.
  $remove = FALSE;

  // Get all the current dependencies for this handler.
  $current_dependencies = $this
    ->calculateDependencies();
  foreach ($current_dependencies as $group => $dependency_list) {

    // Check if any of the handler dependencies match the dependencies being
    // removed.
    foreach ($dependency_list as $config_key) {
      if (isset($dependencies[$group]) && array_key_exists($config_key, $dependencies[$group])) {

        // This handlers dependency matches a dependency being removed,
        // indicate that this handler needs to be removed.
        $remove = TRUE;
        break 2;
      }
    }
  }
  return $remove;
}