mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-15 22:13:13 +00:00
Update form layout blocks
This commit is contained in:

committed by
Romain Neutron

parent
063de52960
commit
bbb64a7cb7
@@ -1,7 +1,276 @@
|
||||
{% extends "form_div_layout.html.twig" %}
|
||||
|
||||
{% import "login/common/macros.html.twig" as auth_macro %}
|
||||
|
||||
{# Widgets #}
|
||||
|
||||
{% block form_widget %}
|
||||
{% spaceless %}
|
||||
{% if compound %}
|
||||
{{ block('form_widget_compound') }}
|
||||
{% else %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock form_widget %}
|
||||
|
||||
{% block form_widget_simple %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('text') %}
|
||||
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
|
||||
{% endspaceless %}
|
||||
{% endblock form_widget_simple %}
|
||||
|
||||
{% block form_widget_compound %}
|
||||
{% spaceless %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{% if form.parent is empty %}
|
||||
{{ form_errors(form) }}
|
||||
{% endif %}
|
||||
{{ block('form_rows') }}
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
{% endblock form_widget_compound %}
|
||||
|
||||
{% block collection_widget %}
|
||||
{% spaceless %}
|
||||
{% if prototype is defined %}
|
||||
{% set attr = attr|merge({'data-prototype': form_row(prototype) }) %}
|
||||
{% endif %}
|
||||
{{ block('form_widget') }}
|
||||
{% endspaceless %}
|
||||
{% endblock collection_widget %}
|
||||
|
||||
{% block textarea_widget %}
|
||||
{% spaceless %}
|
||||
<textarea {{ block('widget_attributes') }}>{{ value }}</textarea>
|
||||
{% endspaceless %}
|
||||
{% endblock textarea_widget %}
|
||||
|
||||
{% block choice_widget %}
|
||||
{% spaceless %}
|
||||
{% if expanded %}
|
||||
{{ block('choice_widget_expanded') }}
|
||||
{% else %}
|
||||
{{ block('choice_widget_collapsed') }}
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock choice_widget %}
|
||||
|
||||
{% block choice_widget_expanded %}
|
||||
{% spaceless %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{% for child in form %}
|
||||
{{ form_widget(child) }}
|
||||
{{ form_label(child) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
{% endblock choice_widget_expanded %}
|
||||
|
||||
{% block choice_widget_collapsed %}
|
||||
{% spaceless %}
|
||||
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
|
||||
{% if empty_value is not none %}
|
||||
<option value="">{{ empty_value }}</option>
|
||||
{% endif %}
|
||||
{% if preferred_choices|length > 0 %}
|
||||
{% set options = preferred_choices %}
|
||||
{{ block('choice_widget_options') }}
|
||||
{% if choices|length > 0 and separator is not none %}
|
||||
<option disabled="disabled">{{ separator }}</option>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% set options = choices %}
|
||||
{{ block('choice_widget_options') }}
|
||||
</select>
|
||||
{% endspaceless %}
|
||||
{% endblock choice_widget_collapsed %}
|
||||
|
||||
{% block choice_widget_options %}
|
||||
{% spaceless %}
|
||||
{% for group_label, choice in options %}
|
||||
{% if choice is iterable %}
|
||||
<optgroup label="{{ group_label }}">
|
||||
{% set options = choice %}
|
||||
{{ block('choice_widget_options') }}
|
||||
</optgroup>
|
||||
{% else %}
|
||||
<option value="{{ choice.value }}"{% if choice is selectedchoice(value) %} selected="selected"{% endif %}>{{ choice.label }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endspaceless %}
|
||||
{% endblock choice_widget_options %}
|
||||
|
||||
{% block checkbox_widget %}
|
||||
{% spaceless %}
|
||||
<input type="checkbox" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
|
||||
{% endspaceless %}
|
||||
{% endblock checkbox_widget %}
|
||||
|
||||
{% block radio_widget %}
|
||||
{% spaceless %}
|
||||
<input type="radio" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} />
|
||||
{% endspaceless %}
|
||||
{% endblock radio_widget %}
|
||||
|
||||
{% block datetime_widget %}
|
||||
{% spaceless %}
|
||||
{% if widget == 'single_text' %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% else %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{ form_errors(form.date) }}
|
||||
{{ form_errors(form.time) }}
|
||||
{{ form_widget(form.date) }}
|
||||
{{ form_widget(form.time) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock datetime_widget %}
|
||||
|
||||
{% block date_widget %}
|
||||
{% spaceless %}
|
||||
{% if widget == 'single_text' %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% else %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{ date_pattern|replace({
|
||||
'{{ year }}': form_widget(form.year),
|
||||
'{{ month }}': form_widget(form.month),
|
||||
'{{ day }}': form_widget(form.day),
|
||||
})|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock date_widget %}
|
||||
|
||||
{% block time_widget %}
|
||||
{% spaceless %}
|
||||
{% if widget == 'single_text' %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% else %}
|
||||
{% set vars = widget == 'text' ? { 'attr': { 'size': 1 }} : {} %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{{ form_widget(form.hour, vars) }}:{{ form_widget(form.minute, vars) }}{% if with_seconds %}:{{ form_widget(form.second, vars) }}{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock time_widget %}
|
||||
|
||||
{% block number_widget %}
|
||||
{% spaceless %}
|
||||
{# type="number" doesn't work with floats #}
|
||||
{% set type = type|default('text') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock number_widget %}
|
||||
|
||||
{% block integer_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('number') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock integer_widget %}
|
||||
|
||||
{% block money_widget %}
|
||||
{% spaceless %}
|
||||
{{ money_pattern|replace({ '{{ widget }}': block('form_widget_simple') })|raw }}
|
||||
{% endspaceless %}
|
||||
{% endblock money_widget %}
|
||||
|
||||
{% block url_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('url') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock url_widget %}
|
||||
|
||||
{% block search_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('search') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock search_widget %}
|
||||
|
||||
{% block percent_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('text') %}
|
||||
{{ block('form_widget_simple') }} %
|
||||
{% endspaceless %}
|
||||
{% endblock percent_widget %}
|
||||
|
||||
{% block password_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('password') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock password_widget %}
|
||||
|
||||
{% block hidden_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('hidden') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock hidden_widget %}
|
||||
|
||||
{% block email_widget %}
|
||||
{% spaceless %}
|
||||
{% set type = type|default('email') %}
|
||||
{{ block('form_widget_simple') }}
|
||||
{% endspaceless %}
|
||||
{% endblock email_widget %}
|
||||
|
||||
{# Labels #}
|
||||
|
||||
{% block form_label %}
|
||||
{% spaceless %}
|
||||
{% if not compound %}
|
||||
{% set label_attr = label_attr|merge({'for': id}) %}
|
||||
{% endif %}
|
||||
{% if required %}
|
||||
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
|
||||
{% endif %}
|
||||
{% if label is empty %}
|
||||
{% set label = name|humanize %}
|
||||
{% endif %}
|
||||
<label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ label }}{% if required %}*{% endif %}</label>
|
||||
{% endspaceless %}
|
||||
{% endblock form_label %}
|
||||
|
||||
{# Rows #}
|
||||
|
||||
{% block repeated_row %}
|
||||
{% spaceless %}
|
||||
{#
|
||||
No need to render the errors here, as all errors are mapped
|
||||
to the first child (see RepeatedTypeValidatorExtension).
|
||||
#}
|
||||
{{ block('form_rows') }}
|
||||
{% endspaceless %}
|
||||
{% endblock repeated_row %}
|
||||
|
||||
{% block form_row %}
|
||||
{% spaceless %}
|
||||
<div>
|
||||
{{ form_label(form) }}
|
||||
{{ form_errors(form) }}
|
||||
{{ form_widget(form) }}
|
||||
</div>
|
||||
{% endspaceless %}
|
||||
{% endblock form_row %}
|
||||
|
||||
{% block hidden_row %}
|
||||
{{ form_widget(form) }}
|
||||
{% endblock hidden_row %}
|
||||
|
||||
{# Misc #}
|
||||
|
||||
{% block form_enctype %}
|
||||
{% spaceless %}
|
||||
{% if multipart %}enctype="multipart/form-data"{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock form_enctype %}
|
||||
|
||||
{% block form_errors %}
|
||||
{% spaceless %}
|
||||
{% if errors|length > 0 %}
|
||||
@@ -9,3 +278,49 @@
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
{% endblock form_errors %}
|
||||
|
||||
{% block form_rest %}
|
||||
{% spaceless %}
|
||||
{% for child in form %}
|
||||
{% if not child.rendered %}
|
||||
{{ form_row(child) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endspaceless %}
|
||||
{% endblock form_rest %}
|
||||
|
||||
{# Support #}
|
||||
|
||||
{% block form_rows %}
|
||||
{% spaceless %}
|
||||
{% for child in form %}
|
||||
{{ form_row(child) }}
|
||||
{% endfor %}
|
||||
{% endspaceless %}
|
||||
{% endblock form_rows %}
|
||||
|
||||
{% block widget_attributes %}
|
||||
{% spaceless %}
|
||||
id="{{ id }}" name="{{ name }}" {% if read_only %} readonly="readonly"{% endif %}{% if disabled %} disabled="disabled"{% endif %}{% if required %} required="required"{% endif %}{% if max_length %} maxlength="{{ max_length }}"{% endif %}{% if pattern %} pattern="{{ pattern }}"{% endif %}
|
||||
{% for attrname, attrvalue in attr %}{% if attrname in ['placeholder', 'title'] %}{{ attrname }}="{{ attrvalue }}" {% else %}{{ attrname }}="{{ attrvalue }}" {% endif %}{% endfor %}
|
||||
{% endspaceless %}
|
||||
{% endblock widget_attributes %}
|
||||
|
||||
{% block widget_container_attributes %}
|
||||
{% spaceless %}
|
||||
{% if id is not empty %}id="{{ id }}" {% endif %}
|
||||
{% for attrname, attrvalue in attr %}{{ attrname }}="{{ attrvalue }}" {% endfor %}
|
||||
{% endspaceless %}
|
||||
{% endblock widget_container_attributes %}
|
||||
|
||||
{# Deprecated in Symfony 2.1, to be removed in 2.3 #}
|
||||
|
||||
{% block generic_label %}{{ block('form_label') }}{% endblock %}
|
||||
{% block widget_choice_options %}{{ block('choice_widget_options') }}{% endblock %}
|
||||
{% block field_widget %}{{ block('form_widget_simple') }}{% endblock %}
|
||||
{% block field_label %}{{ block('form_label') }}{% endblock %}
|
||||
{% block field_row %}{{ block('form_row') }}{% endblock %}
|
||||
{% block field_enctype %}{{ block('form_enctype') }}{% endblock %}
|
||||
{% block field_errors %}{{ block('form_errors') }}{% endblock %}
|
||||
{% block field_rest %}{{ block('form_rest') }}{% endblock %}
|
||||
{% block field_rows %}{{ block('form_rows') }}{% endblock %}
|
Reference in New Issue
Block a user