/**
* {@inheritdoc}
*/
public function onFieldDefinitionDelete(FieldDefinitionInterface
$field_definition) { $entity_type_id =
$field_definition->
getTargetEntityTypeId();
$bundle =
$field_definition->
getTargetBundle();
$field_name =
$field_definition->
getName();
// Notify the storage about the field deletion.
$this->entityTypeManager->
getStorage($entity_type_id)->
onFieldDefinitionDelete($field_definition);
// Unset the bundle from the bundle field map key value collection.
$bundle_field_map =
$this->keyValueFactory->
get('entity.definitions.bundle_field_map'
)->
get($entity_type_id);
unset($bundle_field_map[$field_name]['bundles'
][$bundle]);
if (empty($bundle_field_map[$field_name]['bundles'
])) { // If there are no bundles left, remove the field from the map.
unset($bundle_field_map[$field_name]);
} $this->keyValueFactory->
get('entity.definitions.bundle_field_map'
)->
set($entity_type_id,
$bundle_field_map);
// Delete the cache entry.