From 865d7e60ee25774488836e643696dec7ab74b003 Mon Sep 17 00:00:00 2001 From: Mikael Meulle <mickael@meulle.com> Date: Wed, 7 Aug 2024 13:19:00 +0200 Subject: [PATCH] fixed WysiwygWidget --- src/Plugin/UiPatterns/Source/WysiwygWidget.php | 7 ++++--- ui_patterns.module | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Plugin/UiPatterns/Source/WysiwygWidget.php b/src/Plugin/UiPatterns/Source/WysiwygWidget.php index b7db192c7..8bf60a769 100644 --- a/src/Plugin/UiPatterns/Source/WysiwygWidget.php +++ b/src/Plugin/UiPatterns/Source/WysiwygWidget.php @@ -40,6 +40,9 @@ class WysiwygWidget extends SourcePluginBase implements TrustedCallbackInterface * Processed element */ public static function textFormat(array $element) : array { + if (!isset($element['#ui_patterns']) || !$element['#ui_patterns']) { + return $element; + } if (isset($element['format']['format']['#access']) && !$element['format']['format']['#access']) { // See code at Drupal\filter\Element\TextFormat::processTextFormat() @@ -87,9 +90,7 @@ class WysiwygWidget extends SourcePluginBase implements TrustedCallbackInterface $value = $this->getSetting('value'); $element = [ '#type' => 'text_format', - '#pre_render' => [ - [static::class, 'textFormat'], - ], + '#ui_patterns' => TRUE, ]; if (is_array($value) && array_key_exists("value", $value)) { $element['#default_value'] = $value['value']; diff --git a/ui_patterns.module b/ui_patterns.module index b64884adf..3bbdbebbd 100644 --- a/ui_patterns.module +++ b/ui_patterns.module @@ -7,6 +7,8 @@ declare(strict_types=1); +use Drupal\ui_patterns\Plugin\UiPatterns\Source\WysiwygWidget; + /** * Implements hook_element_info_alter(). */ @@ -15,6 +17,9 @@ function ui_patterns_element_info_alter(array &$types): void { array_unshift($types['component']['#pre_render'], 'ui_patterns.component_element_alter:alter'); array_unshift($types['component']['#pre_render'], 'ui_patterns.component_element_builder:build'); } + if (isset($types['text_format'])) { + $types['text_format']['#pre_render'][] = [WysiwygWidget::class, 'textFormat']; + } } /** -- GitLab