class Editor
Same name in this branch
- 11.x core/modules/editor/src/Attribute/Editor.php \Drupal\editor\Attribute\Editor
- 11.x core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
Same name and namespace in other branches
- 10 core/modules/editor/src/Attribute/Editor.php \Drupal\editor\Attribute\Editor
- 10 core/modules/editor/src/Entity/Editor.php \Drupal\editor\Entity\Editor
- 10 core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
- 9 core/modules/quickedit/src/Plugin/InPlaceEditor/Editor.php \Drupal\quickedit\Plugin\InPlaceEditor\Editor
- 9 core/modules/editor/src/Entity/Editor.php \Drupal\editor\Entity\Editor
- 9 core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
- 9 core/modules/editor/src/Plugin/InPlaceEditor/Editor.php \Drupal\editor\Plugin\InPlaceEditor\Editor
- 8.9.x core/modules/editor/src/Entity/Editor.php \Drupal\editor\Entity\Editor
- 8.9.x core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
- 8.9.x core/modules/editor/src/Plugin/InPlaceEditor/Editor.php \Drupal\editor\Plugin\InPlaceEditor\Editor
Defines the configured text editor entity.
An Editor entity is created when a filter format entity (Text format) is saved after selecting an editor plugin (eg: CKEditor). The ID of the Editor entity will be same as the ID of the filter format entity in which the editor plugin was selected.
Attributes
#[ConfigEntityType(id: 'editor', label: new TranslatableMarkup('Text editor'), label_collection: new TranslatableMarkup('Text editors'), label_singular: new TranslatableMarkup('text editor'), label_plural: new TranslatableMarkup('text editors'), entity_keys: [
'id' => 'format',
], handlers: [
'access' => EditorAccessControlHandler::class,
], label_count: [
'singular' => '@count text editor',
'plural' => '@count text editors',
], constraints: [
'RequiredConfigDependencies' => [
'filter_format',
],
], config_export: [
'format',
'editor',
'settings',
'image_upload',
])]
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements \Drupal\Core\Entity\EntityInterface uses \Drupal\Core\Cache\RefinableCacheableDependencyTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements \Drupal\Core\Config\Entity\ConfigEntityInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Entity\SynchronizableEntityTrait extends \Drupal\Core\Entity\EntityBase
- class \Drupal\editor\Entity\Editor implements \Drupal\editor\EditorInterface extends \Drupal\Core\Config\Entity\ConfigEntityBase
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements \Drupal\Core\Config\Entity\ConfigEntityInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Entity\SynchronizableEntityTrait extends \Drupal\Core\Entity\EntityBase
Expanded class hierarchy of Editor
59 files declare their use of Editor
- AddedStylesheetsTest.php in core/
modules/ ckeditor5/ tests/ src/ Functional/ AddedStylesheetsTest.php - AddItemToToolbarConfigActionTest.php in core/
modules/ ckeditor5/ tests/ src/ Kernel/ ConfigAction/ AddItemToToolbarConfigActionTest.php - CKEditor5.php in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - ckeditor5.post_update.php in core/
modules/ ckeditor5/ ckeditor5.post_update.php - Post update functions for CKEditor 5.
- CKEditor5AllowedTagsTest.php in core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ CKEditor5AllowedTagsTest.php
48 string references to 'Editor'
- AssetAggregationAcrossPagesTest::testFrontAndRecipesPagesEditor in core/
profiles/ demo_umami/ tests/ src/ FunctionalJavascript/ AssetAggregationAcrossPagesTest.php - Checks the front and recipe page asset requests as an editor.
- CKEditor5::assessActiveTextEditorAfterBuild in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - Form #after_build callback: provides text editor state changes.
- CKEditor5::buildConfigurationForm in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - Form constructor.
- CKEditor5::submitConfigurationForm in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - Form submission handler.
- CKEditor5::validateConfigurationForm in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php - Form validation handler.
File
-
core/
modules/ editor/ src/ Entity/ Editor.php, line 21
Namespace
Drupal\editor\EntityView source
class Editor extends ConfigEntityBase implements EditorInterface {
/**
* Machine name of the text format for this configured text editor.
*
* @var string
*
* @see getFilterFormat()
*/
protected $format;
/**
* The name (plugin ID) of the text editor.
*
* @var string
*/
protected $editor;
/**
* The structured array of text editor plugin-specific settings.
*
* @var array
*/
protected $settings = [];
/**
* The structured array of image upload settings.
*
* @var array
*/
protected $image_upload = [];
/**
* The filter format this text editor is associated with.
*
* @var \Drupal\filter\FilterFormatInterface
*/
protected $filterFormat;
/**
* @var \Drupal\Component\Plugin\PluginManagerInterface
*/
protected $editorPluginManager;
/**
* {@inheritdoc}
*/
public function id() {
return $this->format;
}
/**
* {@inheritdoc}
*/
public function __construct(array $values, $entity_type) {
parent::__construct($values, $entity_type);
try {
$plugin = $this->editorPluginManager()
->createInstance($this->editor);
$this->settings += $plugin->getDefaultSettings();
} catch (PluginNotFoundException) {
// When a Text Editor plugin has gone missing, still allow the Editor
// config entity to be constructed. The only difference is that default
// settings are not added.
}
}
/**
* {@inheritdoc}
*/
public function label() {
return $this->getFilterFormat()
->label();
}
/**
* {@inheritdoc}
*/
public function calculateDependencies() {
parent::calculateDependencies();
// Create a dependency on the associated FilterFormat.
$this->addDependency('config', $this->getFilterFormat()
->getConfigDependencyName());
// @todo use EntityWithPluginCollectionInterface so configuration between
// config entity and dependency on provider is managed automatically.
$definition = $this->editorPluginManager()
->createInstance($this->editor)
->getPluginDefinition();
$this->addDependency('module', $definition['provider']);
return $this;
}
/**
* {@inheritdoc}
*/
public function hasAssociatedFilterFormat() {
return $this->format !== NULL;
}
/**
* {@inheritdoc}
*/
public function getFilterFormat() {
if (!$this->filterFormat) {
$this->filterFormat = \Drupal::entityTypeManager()->getStorage('filter_format')
->load($this->format);
}
return $this->filterFormat;
}
/**
* Returns the editor plugin manager.
*
* @return \Drupal\Component\Plugin\PluginManagerInterface
* The editor plugin manager instance.
*/
protected function editorPluginManager() {
if (!$this->editorPluginManager) {
$this->editorPluginManager = \Drupal::service('plugin.manager.editor');
}
return $this->editorPluginManager;
}
/**
* {@inheritdoc}
*/
public function getEditor() {
return $this->editor;
}
/**
* {@inheritdoc}
*/
public function setEditor($editor) {
$this->editor = $editor;
return $this;
}
/**
* {@inheritdoc}
*/
public function getSettings() {
return $this->settings;
}
/**
* {@inheritdoc}
*/
public function setSettings(array $settings) {
$this->settings = $settings;
return $this;
}
/**
* {@inheritdoc}
*/
public function getImageUploadSettings() {
return $this->image_upload;
}
/**
* {@inheritdoc}
*/
public function setImageUploadSettings(array $image_upload_settings) {
$this->image_upload = $image_upload_settings;
return $this;
}
/**
* Computes all valid choices for the "image_upload.scheme" setting.
*
* @see editor.schema.yml
*
* @return string[]
* All valid choices.
*
* @internal
*/
public static function getValidStreamWrappers() : array {
return array_keys(\Drupal::service('stream_wrapper_manager')->getNames(StreamWrapperInterface::WRITE_VISIBLE));
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Member alias | Overriden Title | Overrides |
---|---|---|---|---|---|---|
CacheableDependencyTrait::$cacheContexts | protected | property | Cache contexts. | |||
CacheableDependencyTrait::$cacheMaxAge | protected | property | Cache max-age. | |||
CacheableDependencyTrait::$cacheTags | protected | property | Cache tags. | |||
CacheableDependencyTrait::setCacheability | protected | function | Sets cacheability; useful for value object constructors. | |||
ConfigEntityBase::$isUninstalling | private | property | Whether the config is being deleted by the uninstall process. | |||
ConfigEntityBase::$langcode | protected | property | The language code of the entity's default language. | |||
ConfigEntityBase::$originalId | protected | property | The original ID of the configuration entity. | |||
ConfigEntityBase::$status | protected | property | The enabled/disabled status of the configuration entity. | 4 | ||
ConfigEntityBase::$third_party_settings | protected | property | Third party entity settings. | |||
ConfigEntityBase::$trustedData | protected | property | Trust supplied data and not use configuration schema on save. | |||
ConfigEntityBase::$uuid | protected | property | The UUID for this entity. | |||
ConfigEntityBase::$_core | protected | property | Information maintained by Drupal core about configuration. | |||
ConfigEntityBase::addDependency | protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |||
ConfigEntityBase::createDuplicate | public | function | Overrides EntityBase::createDuplicate | 1 | ||
ConfigEntityBase::disable | public | function | #[ActionMethod(adminLabel: new TranslatableMarkup('Disable'), pluralize: FALSE)] | Overrides ConfigEntityInterface::disable | 1 | |
ConfigEntityBase::enable | public | function | #[ActionMethod(adminLabel: new TranslatableMarkup('Enable'), pluralize: FALSE)] | Overrides ConfigEntityInterface::enable | ||
ConfigEntityBase::get | public | function | Overrides ConfigEntityInterface::get | |||
ConfigEntityBase::getCacheTagsToInvalidate | public | function | Overrides EntityBase::getCacheTagsToInvalidate | 1 | ||
ConfigEntityBase::getConfigDependencyName | public | function | Overrides EntityBase::getConfigDependencyName | |||
ConfigEntityBase::getConfigManager | protected static | function | Gets the configuration manager. | |||
ConfigEntityBase::getConfigTarget | public | function | Overrides EntityBase::getConfigTarget | |||
ConfigEntityBase::getDependencies | public | function | Overrides ConfigEntityInterface::getDependencies | |||
ConfigEntityBase::getOriginalId | public | function | Overrides EntityBase::getOriginalId | |||
ConfigEntityBase::getThirdPartyProviders | public | function | Overrides ThirdPartySettingsInterface::getThirdPartyProviders | |||
ConfigEntityBase::getThirdPartySetting | public | function | Overrides ThirdPartySettingsInterface::getThirdPartySetting | |||
ConfigEntityBase::getThirdPartySettings | public | function | Overrides ThirdPartySettingsInterface::getThirdPartySettings | |||
ConfigEntityBase::getTypedConfig | protected | function | Gets the typed config manager. | |||
ConfigEntityBase::hasTrustedData | public | function | Overrides ConfigEntityInterface::hasTrustedData | |||
ConfigEntityBase::invalidateTagsOnDelete | protected static | function | Override to never invalidate the individual entities' cache tags; the config system already invalidates them. |
Overrides EntityBase::invalidateTagsOnDelete | ||
ConfigEntityBase::invalidateTagsOnSave | protected | function | Override to never invalidate the entity's cache tag; the config system already invalidates it. |
Overrides EntityBase::invalidateTagsOnSave | ||
ConfigEntityBase::isInstallable | public | function | Overrides ConfigEntityInterface::isInstallable | 2 | ||
ConfigEntityBase::isNew | public | function | Overrides EntityBase::isNew(). | Overrides EntityBase::isNew | ||
ConfigEntityBase::isUninstalling | public | function | Overrides ConfigEntityInterface::isUninstalling | |||
ConfigEntityBase::onDependencyRemoval | public | function | Overrides ConfigEntityInterface::onDependencyRemoval | 8 | ||
ConfigEntityBase::preDelete | public static | function | Overrides EntityBase::preDelete | 8 | ||
ConfigEntityBase::preSave | public | function | Overrides EntityBase::preSave | 13 | ||
ConfigEntityBase::save | public | function | Overrides EntityBase::save | 2 | ||
ConfigEntityBase::set | public | function | #[ActionMethod(adminLabel: new TranslatableMarkup('Set a value'), pluralize: 'setMultiple')] | Overrides ConfigEntityInterface::set | 1 | |
ConfigEntityBase::setOriginalId | public | function | Overrides EntityBase::setOriginalId | |||
ConfigEntityBase::setStatus | public | function | #[ActionMethod(adminLabel: new TranslatableMarkup('Set status'), pluralize: FALSE)] | Overrides ConfigEntityInterface::setStatus | ||
ConfigEntityBase::setThirdPartySetting | public | function | #[ActionMethod(adminLabel: new TranslatableMarkup('Set third-party setting'))] | Overrides ThirdPartySettingsInterface::setThirdPartySetting | ||
ConfigEntityBase::setUninstalling | public | function | ||||
ConfigEntityBase::sort | public static | function | Callback for uasort() to sort configuration entities by weight and label. | 6 | ||
ConfigEntityBase::status | public | function | Overrides ConfigEntityInterface::status | 4 | ||
ConfigEntityBase::toArray | public | function | Overrides EntityBase::toArray | 3 | ||
ConfigEntityBase::toUrl | public | function | Overrides EntityBase::toUrl | |||
ConfigEntityBase::trustData | public | function | Overrides ConfigEntityInterface::trustData | |||
ConfigEntityBase::unsetThirdPartySetting | public | function | Overrides ThirdPartySettingsInterface::unsetThirdPartySetting | |||
ConfigEntityBase::__sleep | public | function | Overrides EntityBase::__sleep | 4 | ||
DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | |||
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | |||
DependencySerializationTrait::__sleep | public | function | Aliased as: traitSleep | 2 | ||
DependencySerializationTrait::__wakeup | public | function | 2 | |||
DependencyTrait::$dependencies | protected | property | The object's dependencies. | |||
DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | |||
DependencyTrait::addDependency | protected | function | Adds a dependency. | Aliased as: addDependencyTrait | ||
Editor::$editor | protected | property | The name (plugin ID) of the text editor. | |||
Editor::$editorPluginManager | protected | property | ||||
Editor::$filterFormat | protected | property | The filter format this text editor is associated with. | |||
Editor::$format | protected | property | Machine name of the text format for this configured text editor. | |||
Editor::$image_upload | protected | property | The structured array of image upload settings. | |||
Editor::$settings | protected | property | The structured array of text editor plugin-specific settings. | |||
Editor::calculateDependencies | public | function | Calculates dependencies and stores them in the dependency property. | Overrides ConfigEntityBase::calculateDependencies | ||
Editor::editorPluginManager | protected | function | Returns the editor plugin manager. | |||
Editor::getEditor | public | function | Returns the associated text editor plugin ID. | Overrides EditorInterface::getEditor | ||
Editor::getFilterFormat | public | function | Returns the filter format this text editor is associated with. | Overrides EditorInterface::getFilterFormat | ||
Editor::getImageUploadSettings | public | function | Returns the image upload settings. | Overrides EditorInterface::getImageUploadSettings | ||
Editor::getSettings | public | function | Returns the text editor plugin-specific settings. | Overrides EditorInterface::getSettings | ||
Editor::getValidStreamWrappers | public static | function | Computes all valid choices for the "image_upload.scheme" setting. | |||
Editor::hasAssociatedFilterFormat | public | function | Returns whether this text editor has an associated filter format. | Overrides EditorInterface::hasAssociatedFilterFormat | ||
Editor::id | public | function | Gets the identifier. | Overrides EntityBase::id | ||
Editor::label | public | function | Gets the label of the entity. | Overrides EntityBase::label | ||
Editor::setEditor | public | function | Set the text editor plugin ID. | Overrides EditorInterface::setEditor | ||
Editor::setImageUploadSettings | public | function | Sets the image upload settings. | Overrides EditorInterface::setImageUploadSettings | ||
Editor::setSettings | public | function | Sets the text editor plugin-specific settings. | Overrides EditorInterface::setSettings | ||
Editor::__construct | public | function | Constructs an Entity object. | Overrides ConfigEntityBase::__construct | ||
EntityBase::$enforceIsNew | protected | property | Boolean indicating whether the entity should be forced to be new. | |||
EntityBase::$entityTypeId | protected | property | The entity type. | |||
EntityBase::$originalEntity | protected | property | The original unchanged entity. | |||
EntityBase::$typedData | protected | property | A typed data object wrapping this entity. | |||
EntityBase::access | public | function | Overrides AccessibleInterface::access | 1 | ||
EntityBase::bundle | public | function | Overrides EntityInterface::bundle | 1 | ||
EntityBase::create | public static | function | Overrides EntityInterface::create | 2 | ||
EntityBase::delete | public | function | Overrides EntityInterface::delete | 1 | ||
EntityBase::enforceIsNew | public | function | Overrides EntityInterface::enforceIsNew | |||
EntityBase::entityTypeBundleInfo | protected | function | Gets the entity type bundle info service. | |||
EntityBase::entityTypeManager | protected | function | Gets the entity type manager. | |||
EntityBase::getCacheContexts | public | function | Overrides CacheableDependencyTrait::getCacheContexts | |||
EntityBase::getCacheMaxAge | public | function | Overrides CacheableDependencyTrait::getCacheMaxAge | |||
EntityBase::getCacheTags | public | function | Overrides CacheableDependencyTrait::getCacheTags | |||
EntityBase::getConfigDependencyKey | public | function | Overrides EntityInterface::getConfigDependencyKey | |||
EntityBase::getEntityType | public | function | Overrides EntityInterface::getEntityType | 1 | ||
EntityBase::getEntityTypeId | public | function | Overrides EntityInterface::getEntityTypeId | |||
EntityBase::getListCacheTagsToInvalidate | protected | function | The list cache tags to invalidate for this entity. | |||
EntityBase::getOriginal | public | function | Overrides EntityInterface::getOriginal | |||
EntityBase::getTypedData | public | function | Overrides EntityInterface::getTypedData | |||
EntityBase::getTypedDataClass | private | function | Returns the typed data class name for this entity. | |||
EntityBase::hasLinkTemplate | public | function | Overrides EntityInterface::hasLinkTemplate | |||
EntityBase::language | public | function | Overrides EntityInterface::language | 1 | ||
EntityBase::languageManager | protected | function | Gets the language manager. | |||
EntityBase::linkTemplates | protected | function | Gets an array link templates. | 1 | ||
EntityBase::load | public static | function | Overrides EntityInterface::load | |||
EntityBase::loadMultiple | public static | function | Overrides EntityInterface::loadMultiple | |||
EntityBase::postCreate | public | function | Overrides EntityInterface::postCreate | 5 | ||
EntityBase::postDelete | public static | function | Overrides EntityInterface::postDelete | 17 | ||
EntityBase::postLoad | public static | function | Overrides EntityInterface::postLoad | 3 | ||
EntityBase::postSave | public | function | Overrides EntityInterface::postSave | 13 | ||
EntityBase::preCreate | public static | function | Overrides EntityInterface::preCreate | 6 | ||
EntityBase::referencedEntities | public | function | Overrides EntityInterface::referencedEntities | 1 | ||
EntityBase::setOriginal | public | function | Overrides EntityInterface::setOriginal | |||
EntityBase::toLink | public | function | Overrides EntityInterface::toLink | |||
EntityBase::uriRelationships | public | function | Overrides EntityInterface::uriRelationships | |||
EntityBase::urlRouteParameters | protected | function | Gets an array of placeholders for this entity. | 2 | ||
EntityBase::uuid | public | function | Overrides EntityInterface::uuid | 1 | ||
EntityBase::uuidGenerator | protected | function | Gets the UUID generator. | |||
EntityBase::__get | public | function | 1 | |||
EntityBase::__isset | public | function | 1 | |||
EntityBase::__set | public | function | 1 | |||
EntityBase::__unset | public | function | 1 | |||
PluginDependencyTrait::calculatePluginDependencies | protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 | ||
PluginDependencyTrait::getPluginDependencies | protected | function | Calculates and returns dependencies of a specific plugin instance. | |||
PluginDependencyTrait::moduleHandler | protected | function | Wraps the module handler. | 1 | ||
PluginDependencyTrait::themeHandler | protected | function | Wraps the theme handler. | 1 | ||
RefinableCacheableDependencyTrait::addCacheableDependency | public | function | 1 | |||
RefinableCacheableDependencyTrait::addCacheContexts | public | function | ||||
RefinableCacheableDependencyTrait::addCacheTags | public | function | ||||
RefinableCacheableDependencyTrait::mergeCacheMaxAge | public | function | ||||
SynchronizableEntityTrait::$isSyncing | protected | property | Is entity being created updated or deleted through synchronization process. | |||
SynchronizableEntityTrait::isSyncing | public | function | ||||
SynchronizableEntityTrait::setSyncing | public | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.