You are here

public function EntityFormField::onDependencyRemoval in Views Entity Form Field 8

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

src/Plugin/views/field/EntityFormField.php, line 317

Class

EntityFormField
Defines a views form element for an entity field widget.

Namespace

Drupal\views_entity_form_field\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;
}