From e47a134db0f45cbd2733990cf2884730a2286bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Leclerc?= Date: Sun, 8 Dec 2019 14:11:57 +0100 Subject: [PATCH] [Twig][Form] Twig theme for Foundation 6 --- src/Symfony/Bridge/Twig/CHANGELOG.md | 2 + .../views/Form/foundation_6_layout.html.twig | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/Symfony/Bridge/Twig/Resources/views/Form/foundation_6_layout.html.twig diff --git a/src/Symfony/Bridge/Twig/CHANGELOG.md b/src/Symfony/Bridge/Twig/CHANGELOG.md index c70801a890..70ca5e7481 100644 --- a/src/Symfony/Bridge/Twig/CHANGELOG.md +++ b/src/Symfony/Bridge/Twig/CHANGELOG.md @@ -8,6 +8,8 @@ CHANGELOG * removed `transChoice` filter and token * `HttpFoundationExtension` requires a `UrlHelper` on instantiation * removed support for implicit STDIN usage in the `lint:twig` command, use `lint:twig -` (append a dash) instead to make it explicit. + * added form theme for Foundation 6 + * added support for Foundation 6 switches: add the `switch-input` class to the attributes of a `CheckboxType` 4.4.0 ----- diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_6_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_6_layout.html.twig new file mode 100644 index 0000000000..04ed730f5c --- /dev/null +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_6_layout.html.twig @@ -0,0 +1,50 @@ +{% extends "form_div_layout.html.twig" %} + +{%- block checkbox_row -%} + {%- set parent_class = parent_class|default(attr.class|default('')) -%} + {%- if 'switch-input' in parent_class -%} + {{- form_label(form) -}} + {%- set attr = attr|merge({class: (attr.class|default('') ~ ' switch-input')|trim}) -%} + {{- form_widget(form) -}} + + {{- form_errors(form) -}} + {%- else -%} + {{- block('form_row') -}} + {%- endif -%} +{%- endblock checkbox_row -%} + +{% block money_widget -%} + {% set prepend = not (money_pattern starts with '{{') %} + {% set append = not (money_pattern ends with '}}') %} + {% if prepend or append %} +
+ {% if prepend %} + {{ money_pattern|form_encode_currency }} + {% endif %} + {% set attr = attr|merge({class: (attr.class|default('') ~ ' input-group-field')|trim}) %} + {{- block('form_widget_simple') -}} + {% if append %} + {{ money_pattern|form_encode_currency }} + {% endif %} +
+ {% else %} + {{- block('form_widget_simple') -}} + {% endif %} +{%- endblock money_widget %} + +{% block percent_widget -%} + {%- if symbol -%} +
+ {% set attr = attr|merge({class: (attr.class|default('') ~ ' input-group-field')|trim}) %} + {{- block('form_widget_simple') -}} + {{ symbol|default('%') }} +
+ {%- else -%} + {{- block('form_widget_simple') -}} + {%- endif -%} +{%- endblock percent_widget %} + +{% block button_widget -%} + {% set attr = attr|merge({class: (attr.class|default('') ~ ' button')|trim}) %} + {{- parent() -}} +{%- endblock button_widget %}