From 02bd1f01b6c1f6bf1aa7bb7cd38ac728c64d8b68 Mon Sep 17 00:00:00 2001 From: Roly Gutierrez Date: Tue, 10 Feb 2026 19:15:29 -0400 Subject: [PATCH 1/3] =?UTF-8?q?FOUR-29250=20End=20Event=20=E2=80=93=20Exte?= =?UTF-8?q?rnal=20URL=20with=20Mustache/FEEL=20Support=20Description:=20fe?= =?UTF-8?q?at(end=20event):=20support=20Mustache=20in=20external=20URL=20f?= =?UTF-8?q?or=20element=20destination?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Resolve Mustache expressions in end event "External URL" when the token reaches the end event, using the same context as scripts/screens (APP_URL, _request, _user, process variables). - Add getElementDestinationMustacheContext() to build context via DataManager with fallback; normalize to plain array for Mustache. - Add resolveElementDestinationUrl() to decode HTML entities and render URL template with MustacheExpressionEvaluator. FEEL is not supported. - Apply resolution only for externalURL type; conditional redirect URLs also go through Mustache when destination is external URL. - Harden getElementDestinationAttribute(): ensure conditionalRedirectProp and elementDestinationProp are never null (json_decode ?? [], pass ?? []). - Modeler: allow URL validation when string contains {{ (Mustache); update helper and error copy to document _request.id, _user.id, process vars. Related tickets: https://processmaker.atlassian.net/browse/FOUR-29250 --- src/components/inspectors/ElementDestination.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/inspectors/ElementDestination.vue b/src/components/inspectors/ElementDestination.vue index 5a907d1f1..f2d29e2cb 100644 --- a/src/components/inspectors/ElementDestination.vue +++ b/src/components/inspectors/ElementDestination.vue @@ -50,7 +50,7 @@ :error="getValidationErrorForURL(externalURL)" data-cy="events-add-id" :placeholder="urlPlaceholder" - :helper="$t('Determine the URL where the request will end')" + :helper="$t('URL where the request will redirect. Supports Mustache: {{APP_URL}}, {{_request.id}}, {{_user.id}}, process variables.')" data-test="external-url" /> Date: Wed, 11 Feb 2026 09:58:46 -0400 Subject: [PATCH 2/3] FOUR-29250 Add InspectorConfigViewer: collapsible card in modeler inspector to display element configuration data (formData) as key-value pairs with keyboard-accessible toggle. --- .../inspectors/InspectorConfigViewer.vue | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 src/components/inspectors/InspectorConfigViewer.vue diff --git a/src/components/inspectors/InspectorConfigViewer.vue b/src/components/inspectors/InspectorConfigViewer.vue new file mode 100644 index 000000000..e965c1e9c --- /dev/null +++ b/src/components/inspectors/InspectorConfigViewer.vue @@ -0,0 +1,134 @@ + + + + + From 1b5ac669d2c6af1b28e35b7660192acaf0aeb4be Mon Sep 17 00:00:00 2001 From: Roly Gutierrez Date: Wed, 11 Feb 2026 10:03:19 -0400 Subject: [PATCH 3/3] FOUR-29250 Remove InspectorConfigViewer and update ElementDestination. --- .../inspectors/ElementDestination.vue | 5 +- .../inspectors/InspectorConfigViewer.vue | 134 ------------------ 2 files changed, 4 insertions(+), 135 deletions(-) delete mode 100644 src/components/inspectors/InspectorConfigViewer.vue diff --git a/src/components/inspectors/ElementDestination.vue b/src/components/inspectors/ElementDestination.vue index f2d29e2cb..e5a51a37c 100644 --- a/src/components/inspectors/ElementDestination.vue +++ b/src/components/inspectors/ElementDestination.vue @@ -50,7 +50,7 @@ :error="getValidationErrorForURL(externalURL)" data-cy="events-add-id" :placeholder="urlPlaceholder" - :helper="$t('URL where the request will redirect. Supports Mustache: {{APP_URL}}, {{_request.id}}, {{_user.id}}, process variables.')" + :helper="externalUrlHelperText" data-test="external-url" /> { diff --git a/src/components/inspectors/InspectorConfigViewer.vue b/src/components/inspectors/InspectorConfigViewer.vue deleted file mode 100644 index e965c1e9c..000000000 --- a/src/components/inspectors/InspectorConfigViewer.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - - -