class Image

Same name in this branch
  1. 10 core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
  2. 10 core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
  3. 10 core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
Same name in other branches
  1. 9 core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
  2. 9 core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
  3. 9 core/modules/quickedit/src/Plugin/InPlaceEditor/Image.php \Drupal\quickedit\Plugin\InPlaceEditor\Image
  4. 9 core/modules/image/src/Plugin/InPlaceEditor/Image.php \Drupal\image\Plugin\InPlaceEditor\Image
  5. 9 core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
  6. 9 core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
  7. 8.9.x core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
  8. 8.9.x core/modules/image/src/Plugin/InPlaceEditor/Image.php \Drupal\image\Plugin\InPlaceEditor\Image
  9. 8.9.x core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
  10. 8.9.x core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image
  11. 11.x core/modules/media/src/Plugin/media/Source/Image.php \Drupal\media\Plugin\media\Source\Image
  12. 11.x core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
  13. 11.x core/lib/Drupal/Core/Image/Image.php \Drupal\Core\Image\Image
  14. 11.x core/lib/Drupal/Component/Utility/Image.php \Drupal\Component\Utility\Image

CKEditor 5 Image plugin.

@internal Plugin classes are internal.

Hierarchy

Expanded class hierarchy of Image

327 string references to 'Image'
344b943c-b231-4d73-9669-0b0a2be12aa5.yml in core/tests/fixtures/default_content/media/344b943c-b231-4d73-9669-0b0a2be12aa5.yml
core/tests/fixtures/default_content/media/344b943c-b231-4d73-9669-0b0a2be12aa5.yml
AjaxFileManagedMultipleTest::testMultipleFilesUpload in core/modules/file/tests/src/FunctionalJavascript/AjaxFileManagedMultipleTest.php
Tests if managed file form element works well with multiple files upload.
banner.component.yml in core/profiles/demo_umami/themes/umami/components/banner/banner.component.yml
core/profiles/demo_umami/themes/umami/components/banner/banner.component.yml
ckeditor5.ckeditor5.yml in core/modules/ckeditor5/ckeditor5.ckeditor5.yml
core/modules/ckeditor5/ckeditor5.ckeditor5.yml
ckeditor5.ckeditor5.yml in core/modules/ckeditor5/ckeditor5.ckeditor5.yml
core/modules/ckeditor5/ckeditor5.ckeditor5.yml

... See full list

File

core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Image.php, line 20

Namespace

Drupal\ckeditor5\Plugin\CKEditor5Plugin
View source
class Image extends CKEditor5PluginDefault implements CKEditor5PluginConfigurableInterface {
    use CKEditor5PluginConfigurableTrait;
    use DynamicPluginConfigWithCsrfTokenUrlTrait;
    
    /**
     * {@inheritdoc}
     */
    public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor) : array {
        $config = $static_plugin_config;
        if ($editor->getImageUploadSettings()['status'] === TRUE) {
            $config += [
                'drupalImageUpload' => [
                    'uploadUrl' => self::getUrlWithReplacedCsrfTokenPlaceholder(Url::fromRoute('ckeditor5.upload_image')->setRouteParameter('editor', $editor->getFilterFormat()
                        ->id())),
                    'withCredentials' => TRUE,
                    'headers' => [
                        'Accept' => 'application/json',
                        'text/javascript',
                    ],
                ],
            ];
            $config['image']['insert']['integrations'][] = 'upload';
        }
        else {
            $config['image']['insert']['integrations'][] = 'url';
        }
        return $config;
    }
    
    /**
     * {@inheritdoc}
     *
     * @see \Drupal\editor\Form\EditorImageDialog
     * @see editor_image_upload_settings_form()
     */
    public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
        $form_state->loadInclude('editor', 'admin.inc');
        return editor_image_upload_settings_form($form_state->get('editor'));
    }
    
    /**
     * {@inheritdoc}
     */
    public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
        $form_state->setValue('status', (bool) $form_state->getValue('status'));
        $directory = $form_state->getValue([
            'directory',
        ]);
        $form_state->setValue([
            'directory',
        ], trim($directory) === '' ? NULL : $directory);
        $max_size = $form_state->getValue([
            'max_size',
        ]);
        $form_state->setValue([
            'max_size',
        ], trim($max_size) === '' ? NULL : $max_size);
        $max_width = $form_state->getValue([
            'max_dimensions',
            'width',
        ]);
        $form_state->setValue([
            'max_dimensions',
            'width',
        ], trim($max_width) === '' ? NULL : (int) $max_width);
        $max_height = $form_state->getValue([
            'max_dimensions',
            'height',
        ]);
        $form_state->setValue([
            'max_dimensions',
            'height',
        ], trim($max_height) === '' ? NULL : (int) $max_height);
    }
    
    /**
     * {@inheritdoc}
     */
    public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
        $settings = $form_state->getValues();
        if (!$settings['status']) {
            // Remove all other settings to comply with config schema.
            $settings = [
                'status' => FALSE,
            ];
        }
        // Store this configuration in its out-of-band location.
        $form_state->get('editor')
            ->setImageUploadSettings($settings);
    }
    
    /**
     * {@inheritdoc}
     *
     * This returns an empty array as image upload config is stored out of band.
     */
    public function defaultConfiguration() {
        return [];
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
CKEditor5PluginConfigurableTrait::getConfiguration public function
CKEditor5PluginConfigurableTrait::setConfiguration public function
CKEditor5PluginDefault::__construct public function 3
DynamicPluginConfigWithCsrfTokenUrlTrait::getUrlWithReplacedCsrfTokenPlaceholder private static function Gets the given URL with all placeholders replaced.
Image::buildConfigurationForm public function
Image::defaultConfiguration public function This returns an empty array as image upload config is stored out of band.
Image::getDynamicPluginConfig public function Overrides CKEditor5PluginDefault::getDynamicPluginConfig
Image::submitConfigurationForm public function
Image::validateConfigurationForm public function
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.