You are here

public function ModerationStateFilter::onDependencyRemoval in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/content_moderation/src/Plugin/views/filter/ModerationStateFilter.php \Drupal\content_moderation\Plugin\views\filter\ModerationStateFilter::onDependencyRemoval()
  2. 9 core/modules/content_moderation/src/Plugin/views/filter/ModerationStateFilter.php \Drupal\content_moderation\Plugin\views\filter\ModerationStateFilter::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/content_moderation/src/Plugin/views/filter/ModerationStateFilter.php, line 219

Class

ModerationStateFilter
Provides a filter for the moderation state of an entity.

Namespace

Drupal\content_moderation\Plugin\views\filter

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;
}