You are here

public function DrupalImageCaption::isEnabled in Drupal 8

Checks if this plugin should be enabled based on the editor configuration.

The editor's settings can be retrieved via $editor->getSettings().

Parameters

\Drupal\editor\Entity\Editor $editor: A configured text editor object.

Return value

bool

Overrides CKEditorPluginContextualInterface::isEnabled

File

core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImageCaption.php, line 80

Class

DrupalImageCaption
Defines the "drupalimagecaption" plugin.

Namespace

Drupal\ckeditor\Plugin\CKEditorPlugin

Code

public function isEnabled(Editor $editor) {
  if (!$editor
    ->hasAssociatedFilterFormat()) {
    return FALSE;
  }

  // Automatically enable this plugin if the text format associated with this
  // text editor uses the filter_align or filter_caption filter and the
  // DrupalImage button is enabled.
  $format = $editor
    ->getFilterFormat();
  if ($format
    ->filters('filter_align')->status || $format
    ->filters('filter_caption')->status) {
    $enabled = FALSE;
    $settings = $editor
      ->getSettings();
    foreach ($settings['toolbar']['rows'] as $row) {
      foreach ($row as $group) {
        foreach ($group['items'] as $button) {
          if ($button === 'DrupalImage') {
            $enabled = TRUE;
          }
        }
      }
    }
    return $enabled;
  }
  return FALSE;
}