class GlobalAttribute
Same name in other branches
- 10 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/GlobalAttribute.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\GlobalAttribute
- 11.x core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/GlobalAttribute.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\GlobalAttribute
CKEditor 5 Global Attribute for filter_html.
Can be used for adding support for any "global attribute". For example: `<* lang>` to allow the `lang` attribute on all supported tags.
@internal Plugin classes are internal.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\ckeditor5\Plugin\CKEditor5PluginDefault extends \Drupal\Core\Plugin\PluginBase implements \Drupal\ckeditor5\Plugin\CKEditor5PluginInterface
- class \Drupal\ckeditor5\Plugin\CKEditor5Plugin\GlobalAttribute extends \Drupal\ckeditor5\Plugin\CKEditor5PluginDefault
- class \Drupal\ckeditor5\Plugin\CKEditor5PluginDefault extends \Drupal\Core\Plugin\PluginBase implements \Drupal\ckeditor5\Plugin\CKEditor5PluginInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of GlobalAttribute
See also
https://html.spec.whatwg.org/multipage/dom.html#global-attributes
1 string reference to 'GlobalAttribute'
- ckeditor5.ckeditor5.yml in core/
modules/ ckeditor5/ ckeditor5.ckeditor5.yml - core/modules/ckeditor5/ckeditor5.ckeditor5.yml
File
-
core/
modules/ ckeditor5/ src/ Plugin/ CKEditor5Plugin/ GlobalAttribute.php, line 22
Namespace
Drupal\ckeditor5\Plugin\CKEditor5PluginView source
class GlobalAttribute extends CKEditor5PluginDefault {
/**
* {@inheritdoc}
*/
public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor) : array {
// This plugin is only loaded when filter_html is enabled.
assert($editor->getFilterFormat()
->filters()
->has('filter_html'));
$filter_html = $editor->getFilterFormat()
->filters('filter_html');
$restrictions = HTMLRestrictions::fromFilterPluginInstance($filter_html);
// Determine which tags are allowed by filter_html, excluding the global
// attribute `*` HTML tag, because that's what we're expanding this to right
// now.
$allowed_elements = $restrictions->getAllowedElements();
unset($allowed_elements['*']);
$allowed_tags = array_keys($allowed_elements);
// Update the static plugin configuration: generate a `name` regular
// expression to match any of the HTML tags supported by filter_html.
// @see https://ckeditor.com/docs/ckeditor5/latest/features/general-html-support.html#configuration
$dynamic_plugin_config = $static_plugin_config;
$dynamic_plugin_config['htmlSupport']['allow'][0]['name']['regexp']['pattern'] = '/^(' . implode('|', $allowed_tags) . ')$/';
return $dynamic_plugin_config;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
CKEditor5PluginDefault::__construct | public | function | 2 | ||
GlobalAttribute::getDynamicPluginConfig | public | function | Allows a plugin to modify its static configuration. | Overrides CKEditor5PluginDefault::getDynamicPluginConfig | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.