You are here

public function Internal::getConfig in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php \Drupal\ckeditor\Plugin\CKEditorPlugin\Internal::getConfig()
  2. 9 core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php \Drupal\ckeditor\Plugin\CKEditorPlugin\Internal::getConfig()

File

core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php, line 101

Class

Internal
Defines the "internal" plugin (i.e. core plugins part of our CKEditor build).

Namespace

Drupal\ckeditor\Plugin\CKEditorPlugin

Code

public function getConfig(Editor $editor) {

  // Reasonable defaults that provide expected basic behavior.
  $config = [
    // Don't load CKEditor's config.js file.
    'customConfig' => '',
    'pasteFromWordPromptCleanup' => TRUE,
    'resize_dir' => 'vertical',
    'justifyClasses' => [
      'text-align-left',
      'text-align-center',
      'text-align-right',
      'text-align-justify',
    ],
    'entities' => FALSE,
    'disableNativeSpellChecker' => FALSE,
  ];

  // Add the allowedContent setting, which ensures CKEditor only allows tags
  // and attributes that are allowed by the text format for this text editor.
  [
    $config['allowedContent'],
    $config['disallowedContent'],
  ] = $this
    ->generateACFSettings($editor);

  // Add the format_tags setting, if its button is enabled.
  $toolbar_buttons = CKEditorPluginManager::getEnabledButtons($editor);
  if (in_array('Format', $toolbar_buttons) && ($format_string = $this
    ->generateFormatTagsSetting($editor))) {
    $config['format_tags'] = $format_string;
  }
  return $config;
}