public function __construct(EntityTypeManagerInterface
$entity_type_manager, TranslationInterface
$string_translation, FieldTypePluginManagerInterface
$field_type_manager) { $this->fieldStorageConfigStorage =
$entity_type_manager->
getStorage('field_storage_config'
);
$this->stringTranslation =
$string_translation;
$this->fieldTypeManager =
$field_type_manager;
} /**
* {@inheritdoc}
*/
public function validate($module) { $reasons =
[];
if ($field_storages =
$this->
getFieldStoragesByModule($module)) { // Provide an explanation message (only mention pending deletions if there
// remain no actual, non-deleted fields.)
$fields_in_use =
[];
foreach ($field_storages as $field_storage) { if (!
$field_storage->
isDeleted()) { $fields_in_use[$field_storage->
getType()][] =
$field_storage->
getLabel();
} } if (!
empty($fields_in_use)) { foreach ($fields_in_use as $field_type =>
$field_storages) { $field_type_label =
$this->
getFieldTypeLabel($field_type);