diff --git a/templates/forms.html.twig b/templates/forms.html.twig index 674e9b5..d7b813e 100644 --- a/templates/forms.html.twig +++ b/templates/forms.html.twig @@ -46,6 +46,11 @@ {%- block form_widget_simple -%} {%- set type = type|default('text') -%} + {%- set tooltip = null -%} + {%- if attr['data-tooltip'] is defined -%} + {%- set tooltip = attr['data-tooltip'] -%} + {%- set attr = attr|filter((v, k) => k != 'data-tooltip') -%} + {%- endif -%} {%- if type != 'hidden' -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-field')|trim }) -%} {%- if errors|length -%} @@ -55,13 +60,20 @@ {%- set attr = attr|merge({'class': attr.class|default('') ~ ' cursor-not-allowed' }) -%} {%- endif -%} {%- endif -%} - {{ parent() }} - {%- if disabled is defined and disabled == true -%} - - {%- endif -%} + + {{ parent() }} + {%- if disabled is defined and disabled == true -%} + + {%- endif -%} + {%- endblock form_widget_simple -%} {%- block textarea_widget -%} + {%- set tooltip = null -%} + {%- if attr['data-tooltip'] is defined -%} + {%- set tooltip = attr['data-tooltip'] -%} + {%- set attr = attr|filter((v, k) => k != 'data-tooltip') -%} + {%- endif -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-field')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-field--has-error' }) -%} @@ -69,20 +81,27 @@ {%- if disabled is defined and disabled == true -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' cursor-not-allowed' }) -%} {%- endif -%} - {{ parent() }} - {%- if disabled is defined and disabled == true -%} - - {%- endif -%} + + {{ parent() }} + {%- if disabled is defined and disabled == true -%} + + {%- endif -%} + {%- endblock textarea_widget -%} {%- block checkbox_widget -%} - {%- set attr = attr|filter((v, k) => k != 'tooltip') -%} + {%- set tooltip = null -%} + {%- if attr['data-tooltip'] is defined -%} + {%- set tooltip = attr['data-tooltip'] -%} + {%- set attr = attr|filter((v, k) => k != 'data-tooltip') -%} + {%- endif -%} {%- set attr = attr|merge({'class': (attr.class|default('') ~ ' form-checkbox')|trim }) -%} {%- if errors|length -%} {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-checkbox--has-error' }) -%} {%- endif -%} - {%- set tooltip = null -%} - + + + {%- endblock checkbox_widget -%} {%- block radio_widget -%} @@ -91,9 +110,9 @@ {%- set attr = attr|merge({'class': attr.class|default('') ~ ' form-radio--has-error' }) -%} {%- endif -%} {%- set tooltip = null -%} - {%- if attr.tooltip is defined -%} - {%- set tooltip = attr.tooltip -%} - {%- set attr = attr|filter((v, k) => k != 'tooltip') -%} + {%- if attr['data-tooltip'] is defined -%} + {%- set tooltip = attr['data-tooltip'] -%} + {%- set attr = attr|filter((v, k) => k != 'data-tooltip') -%} {%- endif -%} @@ -102,8 +121,8 @@ {% block checkbox_row %} {%- set tooltip = null -%} - {%- if form.vars.attr.tooltip is defined -%} - {%- set tooltip = form.vars.attr.tooltip -%} + {%- if form.vars.attr['data-tooltip'] is defined -%} + {%- set tooltip = form.vars.attr['data-tooltip'] -%} {%- endif -%}
{%- endblock choice_widget_collapsed -%} {%- block choice_widget_expanded -%} @@ -145,6 +171,9 @@ 'hx-swap': attr['hx-swap'] }) -%} {%- endif -%} + {%- if child.vars.attr['data-tooltip'] is defined -%} + {%- set child_attr = child_attr|merge({'data-tooltip': child.vars.attr['data-tooltip']}) -%} + {%- endif -%} {{- form_row(child, { 'attr': child_attr }) -}} {% endfor -%} {%- endblock choice_widget_expanded -%}