class Contrib

Same name in other branches
  1. 9 core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php \Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade\Contrib
  2. 11.x core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php \Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade\Contrib

Provides the CKEditor 4 to 5 upgrade path for contrib plugins now in core.

@CKEditor4To5Upgrade( id = "contrib", cke4_buttons = { "Code", "CodeSnippet", }, cke4_plugin_settings = { "codesnippet", }, cke5_plugin_elements_subset_configuration = { } )

@internal Plugin classes are internal.

Hierarchy

Expanded class hierarchy of Contrib

4 string references to 'Contrib'
locale_test_development_release_locale_translation_projects_alter in core/modules/locale/tests/modules/locale_test_development_release/locale_test_development_release.module
Implements hook_locale_translation_projects_alter().
update_page_top in core/modules/update/update.module
Implements hook_page_top().
update_requirements in core/modules/update/update.install
Implements hook_requirements().
_update_cron_notify in core/modules/update/update.fetch.inc
Performs any notifications that should be done once cron fetches new data.

File

core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php, line 33

Namespace

Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade
View source
class Contrib extends PluginBase implements CKEditor4To5UpgradePluginInterface {
    
    /**
     * {@inheritdoc}
     */
    public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button, HTMLRestrictions $text_format_html_restrictions) : ?array {
        switch ($cke4_button) {
            // @see https://www.drupal.org/project/codetag
            case 'Code':
                return [
                    'code',
                ];
            // @see https://www.drupal.org/project/codesnippet
            case 'CodeSnippet':
                return [
                    'codeBlock',
                ];
            default:
                throw new \OutOfBoundsException();
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function mapCKEditor4SettingsToCKEditor5Configuration(string $cke4_plugin_id, array $cke4_plugin_settings) : ?array {
        switch ($cke4_plugin_id) {
            case 'codesnippet':
                $languages = [];
                $enabled_cke4_languages = array_filter($cke4_plugin_settings['highlight_languages']);
                foreach ($enabled_cke4_languages as $language) {
                    $languages[] = [
                        'language' => $language,
                        'label' => $language,
                    ];
                }
                return [
                    'ckeditor5_codeBlock' => [
                        'languages' => $languages,
                    ],
                ];
            default:
                throw new \OutOfBoundsException();
        }
    }
    
    /**
     * {@inheritdoc}
     */
    public function computeCKEditor5PluginSubsetConfiguration(string $cke5_plugin_id, FilterFormatInterface $text_format) : ?array {
        throw new \OutOfBoundsException();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Contrib::computeCKEditor5PluginSubsetConfiguration public function Computes elements subset configuration for CKEditor 5 plugin. Overrides CKEditor4To5UpgradePluginInterface::computeCKEditor5PluginSubsetConfiguration
Contrib::mapCKEditor4SettingsToCKEditor5Configuration public function Maps CKEditor 4 settings to the CKEditor 5 equivalent, if needed. Overrides CKEditor4To5UpgradePluginInterface::mapCKEditor4SettingsToCKEditor5Configuration
Contrib::mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem public function Maps a CKEditor 4 button to the CKEditor 5 equivalent, if it exists. Overrides CKEditor4To5UpgradePluginInterface::mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem
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.