diff --git a/js/forms/custom-elements/turbo_stream_event.js b/js/forms/custom-elements/turbo_stream_event.js index dbef05fe3..d440b39e6 100644 --- a/js/forms/custom-elements/turbo_stream_event.js +++ b/js/forms/custom-elements/turbo_stream_event.js @@ -13,6 +13,7 @@ class TurboStreamEvent extends HTMLElement { const event = new CustomEvent("itop:TurboStreamEvent", { detail: { id: this.getAttribute('id'), + form_id: this.dataset.formId, block_class: this.dataset.formBlockClass, view_data: this.dataset.viewData, valid: this.dataset.valid, diff --git a/sources/Forms/Block/Expression/AbstractExpressionFormBlock.php b/sources/Forms/Block/Expression/AbstractExpressionFormBlock.php index 62c7db360..8050921bd 100644 --- a/sources/Forms/Block/Expression/AbstractExpressionFormBlock.php +++ b/sources/Forms/Block/Expression/AbstractExpressionFormBlock.php @@ -49,6 +49,7 @@ abstract class AbstractExpressionFormBlock extends AbstractFormBlock try { $oExpression = Expression::FromOQL($sExpression); $aFieldsToResolve = $oExpression->ListRequiredFields(); + $aResolvedParams = []; foreach ($aFieldsToResolve as $sFieldToResolve) { $aResolvedParams[$sFieldToResolve] = strval($this->GetInputValue($sFieldToResolve)); } diff --git a/sources/Renderer/BlockRenderer.php b/sources/Renderer/BlockRenderer.php index 290d9e062..4f71e7ac0 100644 --- a/sources/Renderer/BlockRenderer.php +++ b/sources/Renderer/BlockRenderer.php @@ -72,7 +72,7 @@ class BlockRenderer $aAdditionalPaths[] = APPROOT.'lib/symfony/twig-bridge/Resources/views/Form'; $oTwig = TwigHelper::GetTwigEnvironment(static::TWIG_BASE_PATH, $aAdditionalPaths); /** @link https://github.com/symfony/twig-bridge/blob/6.4/CHANGELOG.md#320 */ - $formEngine = new TwigRendererEngine(['application/forms/itop_console_layout.html.twig'], $oTwig); + $formEngine = new TwigRendererEngine(['application/forms/itop_console_layout.html.twig', 'application/forms/wip_form_demonstrator.html.twig'], $oTwig); $oTwig->addRuntimeLoader(new FactoryRuntimeLoader([ FormRenderer::class => function () use ($formEngine): FormRenderer { return new FormRenderer($formEngine, new CsrfTokenManager()); diff --git a/templates/application/forms/itop_console_layout.html.twig b/templates/application/forms/itop_console_layout.html.twig index e37c47441..583c00e1d 100644 --- a/templates/application/forms/itop_console_layout.html.twig +++ b/templates/application/forms/itop_console_layout.html.twig @@ -138,3 +138,4 @@ {%- endblock oql_form_row -%} + diff --git a/templates/application/forms/turbo-ajax-update.html.twig b/templates/application/forms/turbo-ajax-update.html.twig index caf1cf0cb..569440593 100644 --- a/templates/application/forms/turbo-ajax-update.html.twig +++ b/templates/application/forms/turbo-ajax-update.html.twig @@ -16,6 +16,6 @@ {% if current_form %} {% UITurboStream Replace { sTarget: current_form.vars.id} %} {{ form_widget(current_form) }} - + {% EndUITurboStream %} {% endif %} diff --git a/templates/application/forms/wip_form_demonstrator.html.twig b/templates/application/forms/wip_form_demonstrator.html.twig new file mode 100644 index 000000000..0da294d72 --- /dev/null +++ b/templates/application/forms/wip_form_demonstrator.html.twig @@ -0,0 +1,5 @@ +{%- block dashlet_collection_row -%} + {{- form_errors(form) -}} + {{- form_label(form) -}} +
+{%- endblock dashlet_collection_row -%} \ No newline at end of file