abstract class EmbedCKEditorPluginBase in Embed 8
Provides a base class for embed CKEditor plugins.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\ckeditor\CKEditorPluginBase implements CKEditorPluginButtonsInterface, CKEditorPluginInterface
- class \Drupal\embed\EmbedCKEditorPluginBase implements ContainerFactoryPluginInterface
- class \Drupal\ckeditor\CKEditorPluginBase implements CKEditorPluginButtonsInterface, CKEditorPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of EmbedCKEditorPluginBase
File
- src/
EmbedCKEditorPluginBase.php, line 16
Namespace
Drupal\embedView source
abstract class EmbedCKEditorPluginBase extends CKEditorPluginBase implements ContainerFactoryPluginInterface {
/**
* The embed button query.
*
* @var \Drupal\Core\Entity\Query\QueryInterface
*/
protected $embedButtonQuery;
/**
* Constructs a Drupal\entity_embed\Plugin\CKEditorPlugin\DrupalEntity object.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Entity\Query\QueryInterface $embed_button_query
* The entity query object for embed button.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, QueryInterface $embed_button_query) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->embedButtonQuery = $embed_button_query;
if (!empty($plugin_definition['embed_type_id'])) {
$this->embedButtonQuery
->condition('type_id', $plugin_definition['embed_type_id']);
}
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('entity_type.manager')
->getStorage('embed_button')
->getQuery());
}
/**
* {@inheritdoc}
*/
public function getButtons() {
$buttons = [];
if ($ids = $this->embedButtonQuery
->execute()) {
$embed_buttons = EmbedButton::loadMultiple($ids);
foreach ($embed_buttons as $embed_button) {
$buttons[$embed_button
->id()] = $this
->getButton($embed_button);
}
}
return $buttons;
}
/**
* Build the information about the specific button.
*
* @param \Drupal\embed\EmbedButtonInterface $embed_button
* The embed button.
*
* @return array
* The array for use with getButtons().
*/
protected function getButton(EmbedButtonInterface $embed_button) {
$info = [
'id' => $embed_button
->id(),
'name' => Html::escape($embed_button
->label()),
'label' => Html::escape($embed_button
->label()),
'image' => $embed_button
->getIconUrl(),
];
$definition = $this
->getPluginDefinition();
if (!empty($definition['required_filter_plugin_id'])) {
$info['required_filter_plugin_id'] = $definition['required_filter_plugin_id'];
}
return $info;
}
/**
* {@inheritdoc}
*/
public function getLibraries(Editor $editor) {
return [
'embed/embed',
];
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CKEditorPluginBase:: |
public | function |
Returns a list of plugins this plugin requires. Overrides CKEditorPluginInterface:: |
1 |
CKEditorPluginBase:: |
public | function |
Indicates if this plugin is part of the optimized CKEditor build. Overrides CKEditorPluginInterface:: |
4 |
CKEditorPluginInterface:: |
public | function | Returns the additions to CKEDITOR.config for a specific CKEditor instance. | 9 |
CKEditorPluginInterface:: |
public | function | Returns the Drupal root-relative file path to the plugin JavaScript file. | 9 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EmbedCKEditorPluginBase:: |
protected | property | The embed button query. | |
EmbedCKEditorPluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
EmbedCKEditorPluginBase:: |
protected | function | Build the information about the specific button. | |
EmbedCKEditorPluginBase:: |
public | function |
Returns the buttons that this plugin provides, along with metadata. Overrides CKEditorPluginButtonsInterface:: |
|
EmbedCKEditorPluginBase:: |
public | function |
Returns a list of libraries this plugin requires. Overrides CKEditorPluginBase:: |
|
EmbedCKEditorPluginBase:: |
public | function |
Constructs a Drupal\entity_embed\Plugin\CKEditorPlugin\DrupalEntity object. Overrides PluginBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |