ui_icons-1.0.x-dev/modules/ui_icons_ckeditor5/src/Plugin/CKEditor5Plugin/IconPlugin.php

modules/ui_icons_ckeditor5/src/Plugin/CKEditor5Plugin/IconPlugin.php
<?php

declare(strict_types=1);

namespace Drupal\ui_icons_ckeditor5\Plugin\CKEditor5Plugin;

use Drupal\Core\Url;
use Drupal\ckeditor5\Plugin\CKEditor5PluginDefault;
use Drupal\editor\EditorInterface;

/**
 * Icon settings for UI Icons.
 */
class IconPlugin extends CKEditor5PluginDefault {

  /**
   * {@inheritdoc}
   */
  public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor): array {
    $filterFormat = $editor->getFilterFormat();
    if (NULL === $filterFormat) {
      return [];
    }

    // This plugin is only loaded when icon_embed is enabled.
    assert($filterFormat->filters()->has('icon_embed'));

    $dynamic_plugin_config = $static_plugin_config;
    $dynamic_plugin_config['icon']['dialogURL'] = Url::fromRoute('ui_icons_ckeditor5.icon_dialog')
      ->setRouteParameter('filter_format', $filterFormat->id())
      ->toString(TRUE)
      ->getGeneratedUrl();
    return $dynamic_plugin_config;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc