class DrupalImage

Same name and namespace in other branches
  1. 8.9.x core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImage.php \Drupal\ckeditor\Plugin\CKEditorPlugin\DrupalImage

Defines the "drupalimage" plugin.

Plugin annotation


@CKEditorPlugin(
  id = "drupalimage",
  label = @Translation("Image"),
  module = "ckeditor"
)

Hierarchy

Expanded class hierarchy of DrupalImage

12 string references to 'DrupalImage'
CKEditor4to5UpgradeCompletenessTest::testSettings in core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php
Tests that all configurable CKEditor 4 plugins in core have an upgrade path.
CKEditor::getDefaultSettings in core/modules/ckeditor/src/Plugin/Editor/CKEditor.php
Returns the default settings for this configurable text editor.
CKEditorAdminTest::testExistingFormat in core/modules/ckeditor/tests/src/Functional/CKEditorAdminTest.php
Tests configuring a text editor for an existing text format.
CKEditorIntegrationTest::testDrupalImageCaptionDialog in core/modules/ckeditor/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php
Tests if the Drupal Image Caption plugin appears and works as expected.
CKEditorPluginManagerTest::testEnabledPlugins in core/modules/ckeditor/tests/src/Kernel/CKEditorPluginManagerTest.php
Tests the enabling of plugins.

... See full list

File

core/modules/ckeditor/src/Plugin/CKEditorPlugin/DrupalImage.php, line 19

Namespace

Drupal\ckeditor\Plugin\CKEditorPlugin
View source
class DrupalImage extends CKEditorPluginBase implements CKEditorPluginConfigurableInterface {
    
    /**
     * {@inheritdoc}
     */
    public function getFile() {
        return $this->getModulePath('ckeditor') . '/js/plugins/drupalimage/plugin.js';
    }
    
    /**
     * {@inheritdoc}
     */
    public function getLibraries(Editor $editor) {
        return [
            'core/drupal.ajax',
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    public function getConfig(Editor $editor) {
        return [
            'drupalImage_dialogTitleAdd' => $this->t('Insert Image'),
            'drupalImage_dialogTitleEdit' => $this->t('Edit Image'),
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    public function getButtons() {
        return [
            'DrupalImage' => [
                'label' => $this->t('Image'),
                'image' => $this->getModulePath('ckeditor') . '/js/plugins/drupalimage/icons/drupalimage.png',
            ],
        ];
    }
    
    /**
     * {@inheritdoc}
     *
     * @see \Drupal\editor\Form\EditorImageDialog
     * @see editor_image_upload_settings_form()
     */
    public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor) {
        $form_state->loadInclude('editor', 'admin.inc');
        $form['image_upload'] = editor_image_upload_settings_form($editor);
        $form['image_upload']['#attached']['library'][] = 'ckeditor/drupal.ckeditor.drupalimage.admin';
        $form['image_upload']['#element_validate'][] = [
            $this,
            'validateImageUploadSettings',
        ];
        return $form;
    }
    
    /**
     * #element_validate handler for the "image_upload" element in settingsForm().
     *
     * Moves the text editor's image upload settings from the DrupalImage plugin's
     * own settings into $editor->image_upload.
     *
     * @see \Drupal\editor\Form\EditorImageDialog
     * @see editor_image_upload_settings_form()
     */
    public function validateImageUploadSettings(array $element, FormStateInterface $form_state) {
        $settings =& $form_state->getValue([
            'editor',
            'settings',
            'plugins',
            'drupalimage',
            'image_upload',
        ]);
        $form_state->get('editor')
            ->setImageUploadSettings($settings);
        $form_state->unsetValue([
            'editor',
            'settings',
            'plugins',
            'drupalimage',
        ]);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
CKEditorPluginBase::$moduleList protected property The module list service.
CKEditorPluginBase::getDependencies public function Returns a list of plugins this plugin requires. Overrides CKEditorPluginInterface::getDependencies 1
CKEditorPluginBase::getModuleList protected function Gets the module list service.
CKEditorPluginBase::getModulePath protected function Gets the Drupal-root relative installation directory of a module.
CKEditorPluginBase::isInternal public function Indicates if this plugin is part of the optimized CKEditor build. Overrides CKEditorPluginInterface::isInternal 4
DrupalImage::getButtons public function Returns the buttons that this plugin provides, along with metadata. Overrides CKEditorPluginButtonsInterface::getButtons
DrupalImage::getConfig public function Returns the additions to CKEDITOR.config for a specific CKEditor instance. Overrides CKEditorPluginInterface::getConfig
DrupalImage::getFile public function Returns the Drupal root-relative file path to the plugin JavaScript file. Overrides CKEditorPluginInterface::getFile
DrupalImage::getLibraries public function Returns a list of libraries this plugin requires. Overrides CKEditorPluginBase::getLibraries
DrupalImage::settingsForm public function Overrides CKEditorPluginConfigurableInterface::settingsForm
DrupalImage::validateImageUploadSettings public function #element_validate handler for the "image_upload" element in settingsForm().
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.