From 5ea587a0da101eb3988b528f45708c5039abeb3f Mon Sep 17 00:00:00 2001
From: Joao Paulo <joaopauloctga@gmail.com>
Date: Tue, 14 Jan 2025 15:28:51 -0300
Subject: [PATCH 1/3] Can't put text in a calculation markup field.

---
 .../src/Plugin/WebformElement/WebformCalculationMarkup.php  | 6 ++++--
 src/CalculationFieldsHandlerExpression.php                  | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/modules/webform_calculation_fields/src/Plugin/WebformElement/WebformCalculationMarkup.php b/modules/webform_calculation_fields/src/Plugin/WebformElement/WebformCalculationMarkup.php
index 89d0edb..dad53bd 100644
--- a/modules/webform_calculation_fields/src/Plugin/WebformElement/WebformCalculationMarkup.php
+++ b/modules/webform_calculation_fields/src/Plugin/WebformElement/WebformCalculationMarkup.php
@@ -50,7 +50,8 @@ class WebformCalculationMarkup extends TextField {
     $form['element']['evaluation_fields'] = [
       '#type' => 'webform_html_editor',
       '#title' => $this->t('Math Expression and the Html markup'),
-      '#description' => $this->t('e.g.: &lt;h3&gt;:webform_element_key_1 + :webform_element_key_2 - (:webform_element_key_1 * :webform_element_key_3)&lt;/h3&gt;'),
+      '#description' => $this->t('e.g.: &lt;h3&gt; {{ :webform_element_key_1 + :webform_element_key_2 - (:webform_element_key_1 * :webform_element_key_3) }}&lt;/h3&gt;'),
+      '#help' => $this->t('Put the expression between {{ }} to be evaluated.'),
       '#required' => TRUE,
     ];
 
@@ -102,7 +103,8 @@ class WebformCalculationMarkup extends TextField {
       return parent::validateConfigurationForm($form, $form_state);
     }
 
-    $fields = self::calculationFieldsHandlerService()->getFieldsFromExpression($expression);
+    $expressionBetweenTags = $matches[1][0];
+    $fields = self::calculationFieldsHandlerService()->getFieldsFromExpression($expressionBetweenTags);
     $currentWebform = $this->getWebform();
     $invalidFields = [];
     foreach ($fields as $field) {
diff --git a/src/CalculationFieldsHandlerExpression.php b/src/CalculationFieldsHandlerExpression.php
index 43602c8..3e39fcd 100644
--- a/src/CalculationFieldsHandlerExpression.php
+++ b/src/CalculationFieldsHandlerExpression.php
@@ -44,10 +44,10 @@ class CalculationFieldsHandlerExpression implements CalculationFieldsHandlerExpr
    */
   public function getFieldsFromExpression(string $expression): array {
     $expressionFields = explode(':', $expression) ?? [];
-    $expressionFields = array_filter($expressionFields);
+    $expressionFields = array_filter($expressionFields, fn($field) => !empty(trim($field)));
     $fields = [];
     foreach ($expressionFields as $field) {
-      $items = explode(' ', $field);
+      $items = explode(' ', trim($field));
       $items = array_map(function ($item) {
         return preg_replace("/[^a-zA-Z0-9_|]/", "", $item);
       }, $items);
-- 
GitLab


From d550b92e1d860e1505b84119388fd7412806b180 Mon Sep 17 00:00:00 2001
From: Joao Paulo <joaopauloctga@gmail.com>
Date: Tue, 14 Jan 2025 15:33:21 -0300
Subject: [PATCH 2/3] Can't put text in a calculation markup field.

---
 calculation_fields.info.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/calculation_fields.info.yml b/calculation_fields.info.yml
index 1017738..4a4ec76 100644
--- a/calculation_fields.info.yml
+++ b/calculation_fields.info.yml
@@ -2,7 +2,7 @@ name: Calculation Fields
 type: module
 description: Provides additional form element that can evaluation math expressions.
 package: Fields
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 # project: 'drupal/calculation_fields'
 
 # Information added by Drupal.org packaging script on 2023-11-22
-- 
GitLab


From 6b6de7380c7d658ef9d20dafd2647001f493032f Mon Sep 17 00:00:00 2001
From: Joao Paulo <joaopauloctga@gmail.com>
Date: Tue, 14 Jan 2025 15:39:58 -0300
Subject: [PATCH 3/3] Can't put text in a calculation markup field.

---
 .../calculation_fields_example.info.yml                         | 2 +-
 .../webform_calculation_fields_examples.info.yml                | 2 +-
 .../webform_calculation_fields.info.yml                         | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/modules/calculation_fields_example/calculation_fields_example.info.yml b/modules/calculation_fields_example/calculation_fields_example.info.yml
index 6c42c1f..ef92b2b 100644
--- a/modules/calculation_fields_example/calculation_fields_example.info.yml
+++ b/modules/calculation_fields_example/calculation_fields_example.info.yml
@@ -2,7 +2,7 @@ name: Calculation Fields Example
 type: module
 description: Provides examples how to use calculation fields in an normal form or webform.
 package: Fields
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 dependencies:
   - calculation_fields:calculation_fields
 
diff --git a/modules/webform_calculation_fields/modules/webform_calculation_fields_examples/webform_calculation_fields_examples.info.yml b/modules/webform_calculation_fields/modules/webform_calculation_fields_examples/webform_calculation_fields_examples.info.yml
index a73ee80..ae0e5d4 100644
--- a/modules/webform_calculation_fields/modules/webform_calculation_fields_examples/webform_calculation_fields_examples.info.yml
+++ b/modules/webform_calculation_fields/modules/webform_calculation_fields_examples/webform_calculation_fields_examples.info.yml
@@ -2,7 +2,7 @@ name: Webform Calculation Fields Examples
 type: module
 description: Provides webform examples using calculation fiel types.
 package: Webform
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 dependencies:
   - calculation_fields:calculation_fields
   - webform_calculation_fields:webform_calculation_fields
diff --git a/modules/webform_calculation_fields/webform_calculation_fields.info.yml b/modules/webform_calculation_fields/webform_calculation_fields.info.yml
index 17b9207..9577fdb 100644
--- a/modules/webform_calculation_fields/webform_calculation_fields.info.yml
+++ b/modules/webform_calculation_fields/webform_calculation_fields.info.yml
@@ -2,7 +2,7 @@ name: Webform Calculation Fields
 type: module
 description: Provides additional form math element to realize math expression combining fields.
 package: Webform
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^9 || ^10 || ^11
 dependencies:
   - calculation_fields:calculation_fields
   - webform:webform
-- 
GitLab