getFilterFormat(); return [ 'image2_captionedClass' => 'caption caption-img', 'image2_alignClasses' => ['align-left', 'align-center', 'align-right'], 'drupalImageCaption_captionPlaceholderText' => $this->t('Enter caption here'), // Only enable those parts of DrupalImageCaption for which the // corresponding Drupal text filters are enabled. 'drupalImageCaption_captionFilterEnabled' => $format->filters('filter_caption')->status, 'drupalImageCaption_alignFilterEnabled' => $format->filters('filter_align')->status, ]; } /** * {@inheritdoc} */ public function getCssFiles(Editor $editor) { return [ drupal_get_path('module', 'ckeditor') . '/css/plugins/drupalimagecaption/ckeditor.drupalimagecaption.css', ]; } /** * {@inheritdoc} */ 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; } }