Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0.00%  | 
      0 / 1  | 
              | 
      7.69%  | 
      1 / 13  | 
      CRAP |         | 
      18.52%  | 
      5 / 27  | 
     
| Editor |         | 
      0.00%  | 
      0 / 1  | 
              | 
      7.69%  | 
      1 / 13  | 
      136.72 |         | 
      18.52%  | 
      5 / 27  | 
     
| id |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| __construct |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 4  | 
     |||
| label |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| calculateDependencies |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      5 / 5  | 
     |||
| hasAssociatedFilterFormat |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| getFilterFormat |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 3  | 
     |||
| editorPluginManager |         | 
      0.00%  | 
      0 / 1  | 
      6 |         | 
      0.00%  | 
      0 / 3  | 
     |||
| getEditor |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setEditor |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getSettings |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setSettings |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| getImageUploadSettings |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 1  | 
     |||
| setImageUploadSettings |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\editor\Entity\Editor. | |
| */ | |
| namespace Drupal\editor\Entity; | |
| use Drupal\Core\Config\Entity\ConfigEntityBase; | |
| use Drupal\editor\EditorInterface; | |
| /** | |
| * Defines the configured text editor entity. | |
| * | |
| * @ConfigEntityType( | |
| * id = "editor", | |
| * label = @Translation("Text Editor"), | |
| * entity_keys = { | |
| * "id" = "format" | |
| * }, | |
| * config_export = { | |
| * "format", | |
| * "editor", | |
| * "settings", | |
| * "image_upload", | |
| * } | |
| * ) | |
| */ | |
| class Editor extends ConfigEntityBase implements EditorInterface { | |
| /** | |
| * The machine name of the text format with which this configured text editor | |
| * is associated. | |
| * | |
| * @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 = array(); | |
| /** | |
| * The structured array of image upload settings. | |
| * | |
| * @var array | |
| */ | |
| protected $image_upload = array(); | |
| /** | |
| * 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); | |
| $plugin = $this->editorPluginManager()->createInstance($this->editor); | |
| $this->settings += $plugin->getDefaultSettings(); | |
| } | |
| /** | |
| * {@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::entityManager()->getStorage('filter_format')->load($this->format); | |
| } | |
| return $this->filterFormat; | |
| } | |
| /** | |
| * Returns the editor plugin manager. | |
| * | |
| * @return \Drupal\Component\Plugin\PluginManagerInterface | |
| */ | |
| 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; | |
| } | |
| } |