function _editor_get_formatted_text_fields in Drupal 10
Same name and namespace in other branches
- 8 core/modules/editor/editor.module \_editor_get_formatted_text_fields()
- 9 core/modules/editor/editor.module \_editor_get_formatted_text_fields()
Determines the formatted text fields on an entity.
A field type is considered to provide formatted text if its class is a subclass of Drupal\text\Plugin\Field\FieldType\TextItemBase.
Parameters
\Drupal\Core\Entity\FieldableEntityInterface $entity: An entity whose fields to analyze.
Return value
array The names of the fields on this entity that support formatted text.
1 call to _editor_get_formatted_text_fields()
- _editor_get_file_uuids_by_field in core/
modules/ editor/ editor.module - Finds all files referenced (data-entity-uuid) by formatted text fields.
File
- core/
modules/ editor/ editor.module, line 582 - Adds bindings for client-side "text editors" to text formats.
Code
function _editor_get_formatted_text_fields(FieldableEntityInterface $entity) {
$field_definitions = $entity
->getFieldDefinitions();
if (empty($field_definitions)) {
return [];
}
// Only return formatted text fields.
// @todo: improve as part of https://www.drupal.org/node/2732429
$field_type_manager = \Drupal::service('plugin.manager.field.field_type');
return array_keys(array_filter($field_definitions, function (FieldDefinitionInterface $definition) use ($field_type_manager) {
$type = $definition
->getType();
$plugin_class = $field_type_manager
->getPluginClass($type);
return is_subclass_of($plugin_class, TextItemBase::class);
}));
}