From 37668d5e950aace78227844d57e836d4e2f26e58 Mon Sep 17 00:00:00 2001
From: Florent Torregrosa <florent.torregrosa@gmail.com>
Date: Wed, 8 Jan 2025 10:35:53 +0100
Subject: [PATCH 1/2] Issue #3498128 by grimreaper: Allow token with url prop
 type

---
 src/Plugin/UiPatterns/Source/TokenSource.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Plugin/UiPatterns/Source/TokenSource.php b/src/Plugin/UiPatterns/Source/TokenSource.php
index 7ccdaffde..f7227c616 100644
--- a/src/Plugin/UiPatterns/Source/TokenSource.php
+++ b/src/Plugin/UiPatterns/Source/TokenSource.php
@@ -26,7 +26,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
   id: 'token',
   label: new TranslatableMarkup('Token'),
   description: new TranslatableMarkup('Text with placeholder variables, replaced before display.'),
-  prop_types: ['slot', 'string'],
+  prop_types: ['slot', 'string', 'url'],
   tags: [],
   context_definitions: [
     'entity' => new ContextDefinition('entity', label: new TranslatableMarkup('Entity'), required: FALSE),
-- 
GitLab


From 78ae0f5ec3fb961910a94651453ee955fbf7f00b Mon Sep 17 00:00:00 2001
From: just_like_good_vibes <mickael@meulle.com>
Date: Wed, 15 Jan 2025 14:54:45 +0100
Subject: [PATCH 2/2] add tests

---
 tests/fixtures/TestDataSet.yml | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/tests/fixtures/TestDataSet.yml b/tests/fixtures/TestDataSet.yml
index 2f99c38a9..ba47ff786 100644
--- a/tests/fixtures/TestDataSet.yml
+++ b/tests/fixtures/TestDataSet.yml
@@ -286,6 +286,27 @@ token_2:
     elementTextEquals:
       - [ 'xpath', "//div[@class='ui-patterns-props-string']/text()",'value_text_token_2']
 
+token_3:
+  component:
+    component_id: ui_patterns_test:test-component
+    props:
+      url:
+        source_id: token
+        source:
+          value: 'http://localhost/[node:body]'
+  entity:
+    body:
+      value: 'value_text_token_2'
+  output:
+    props:
+      url:
+        value: 'http://localhost/value_text_token_2'
+  assertSession:
+    elementExists:
+      - [ 'css', '.ui-patterns-test-component' ]
+    elementTextEquals:
+      - [ 'xpath', "//div[@class='ui-patterns-props-url']/text()",'http://localhost/value_text_token_2']
+
 context_exists_default:
   component:
     component_id: ui_patterns_test:test-component
-- 
GitLab