You are here

public function CkeditorTableResize::isEnabled in CKEditor Table Resize 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

src/Plugin/CKEditorPlugin/CkeditorTableResize.php, line 47

Class

CkeditorTableResize
Defines the "Table Resize" plugin.

Namespace

Drupal\ckeditor_tableresize\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
  // Table button is enabled.
  $format = $editor
    ->getFilterFormat();
  if ($format
    ->filters('filter_align')->status || $format
    ->filters('filter_caption')->status) {
    $settings = $editor
      ->getSettings();
    foreach ($settings['toolbar']['rows'] as $row) {
      foreach ($row as $group) {
        foreach ($group['items'] as $button) {
          if ($button === 'Table') {
            return TRUE;
          }
        }
      }
    }
  }
  return FALSE;
}