Created
February 28, 2013 08:27
-
-
Save wpottier/5055176 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{# | |
This file is part of the Glit package. | |
(c) William Pottier <[email protected]> | |
For the full copyright and license information, please view the LICENSE | |
file that was distributed with this source code. | |
#} | |
{% block form_widget %} | |
{% spaceless %} | |
{{ block('field_rows') }} | |
{{ form_rest(form) }} | |
{% endspaceless %} | |
{% endblock form_widget %} | |
{% 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 %} | |
<div class="controls"> | |
<textarea {{ block('widget_attributes') }}>{{ value }}</textarea> | |
</div> | |
{% endspaceless %} | |
{% endblock textarea_widget %} | |
{% block choice_widget %} | |
{% spaceless %} | |
{% if expanded %} | |
<div class="controls" {{ block('widget_container_attributes') }}> | |
{% for child in form %} | |
<label class="radio"> | |
{{ form_widget(child) }} | |
{{ form_label(child, null, {'radio': true}) }} | |
</label> | |
{% endfor %} | |
</div> | |
{% else %} | |
<div class="controls"> | |
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}> | |
{% if empty_value is not none %} | |
<option value="">{{ empty_value|trans }}</option> | |
{% endif %} | |
{% if preferred_choices|length > 0 %} | |
{% set options = preferred_choices %} | |
{{ block('widget_choice_options') }} | |
{% if choices|length > 0 and separator is not none %} | |
<option disabled="disabled">{{ separator }}</option> | |
{% endif %} | |
{% endif %} | |
{% set options = choices %} | |
{{ block('widget_choice_options') }} | |
</select> | |
</div> | |
{% endif %} | |
{% endspaceless %} | |
{% endblock choice_widget %} | |
{% block checkbox_widget %} | |
{% set help = attr.help|default('') %} | |
{% spaceless %} | |
<div class="controls"> | |
<label class="checkbox"> | |
<input type="checkbox" {{ block('widget_attributes') }}{% if value is defined %} | |
value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} /> | |
{{ help }} | |
</label> | |
</div> | |
{% 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('field_widget') }} | |
{% 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('field_widget') }} | |
{% 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('field_widget') }} | |
{% else %} | |
<div {{ block('widget_container_attributes') }}> | |
{{ form_widget(form.hour, { 'attr': { 'size': '1' } }) }}:{{ form_widget(form.minute, { 'attr': { 'size': '1' } }) }}{% if with_seconds %}:{{ form_widget(form.second, { 'attr': { 'size': '1' } }) }}{% endif %} | |
</div> | |
{% endif %} | |
{% endspaceless %} | |
{% endblock time_widget %} | |
{% block number_widget %} | |
{% spaceless %} | |
{# type="number" doesn't work with floats #} | |
{% set type = type|default('text') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock number_widget %} | |
{% block integer_widget %} | |
{% spaceless %} | |
{% set type = type|default('number') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock integer_widget %} | |
{% block money_widget %} | |
{% spaceless %} | |
{{ money_pattern|replace({ '{{ widget }}': block('field_widget') })|raw }} | |
{% endspaceless %} | |
{% endblock money_widget %} | |
{% block url_widget %} | |
{% spaceless %} | |
{% set type = type|default('url') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock url_widget %} | |
{% block search_widget %} | |
{% spaceless %} | |
{% set type = type|default('search') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock search_widget %} | |
{% block percent_widget %} | |
{% spaceless %} | |
{% set type = type|default('text') %} | |
{{ block('field_widget') }} % | |
{% endspaceless %} | |
{% endblock percent_widget %} | |
{% block field_widget %} | |
{% spaceless %} | |
{% set type = type|default('text') %} | |
{% if type != 'hidden' %} | |
<div class="controls"> | |
{% endif %} | |
{% if prepend is defined %} | |
{% set attr = attr|merge({'class': attr.class|default('') ~ ' span2'}) %} | |
<div class="input-prepend"> | |
<span class="add-on">{{ prepend }}</span> | |
{% endif %} | |
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" | |
{% endif %}{% if errors|length > 0 %}class="error" {% endif %}/> | |
{% if type != 'hidden' %} | |
{% if prepend is defined %} | |
</div> | |
{% endif %} | |
{{ form_errors(form) }} | |
{% if help is defined %} | |
<p class="help-block">{{ help }}</p> | |
{% endif %} | |
</div> | |
{% endif %} | |
{% endspaceless %} | |
{% endblock field_widget %} | |
{% block password_widget %} | |
{% spaceless %} | |
{% set type = type|default('password') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock password_widget %} | |
{% block hidden_widget %} | |
{% set type = type|default('hidden') %} | |
{{ block('field_widget') }} | |
{% endblock hidden_widget %} | |
{% block email_widget %} | |
{% spaceless %} | |
{% set type = type|default('email') %} | |
{{ block('field_widget') }} | |
{% endspaceless %} | |
{% endblock email_widget %} | |
{# Labels #} | |
{% block generic_label %} | |
{% spaceless %} | |
{% if required %} | |
{% set attr = attr|merge({'class': attr.class|default('') ~ ' control-label required'}) %} | |
{% else %} | |
{% set attr = attr|merge({'class': attr.class|default('') ~ ' control-label'}) %} | |
{% endif %} | |
{% if label is empty %} | |
{% set label = name|humanize %} | |
{% endif %} | |
{% if radio is defined and radio %} | |
{{ label|trans({}, translation_domain) }} | |
{% else %} | |
<label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>{{ label|trans({}, translation_domain) }}</label> | |
{% endif %} | |
{% endspaceless %} | |
{% endblock %} | |
{% block field_label %} | |
{% spaceless %} | |
{% set attr = attr|merge({'for': id}) %} | |
{{ block('generic_label') }} | |
{% endspaceless %} | |
{% endblock field_label %} | |
{% block form_label %} | |
{% spaceless %} | |
{{ block('generic_label') }} | |
{% endspaceless %} | |
{% endblock form_label %} | |
{# Rows #} | |
{% block repeated_row %} | |
{% spaceless %} | |
{{ block('field_rows') }} | |
{% endspaceless %} | |
{% endblock repeated_row %} | |
{% block field_row %} | |
{% if errors|length > 0 %} | |
{% set attr = attr|merge({'class': attr.class|default('') ~ ' error control-group'}) %} | |
{% else %} | |
{% set attr = attr|merge({'class': attr.class|default('') ~ ' control-group'}) %} | |
{% endif %} | |
{% spaceless %} | |
<div {% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}" {% endfor %}> | |
{{ form_label(form, label|default(null)) }} | |
{{ form_widget(form) }} | |
</div> | |
{% endspaceless %} | |
{% endblock field_row %} | |
{% block hidden_row %} | |
{{ form_widget(form) }} | |
{% endblock hidden_row %} | |
{# Misc #} | |
{% block field_enctype %} | |
{% spaceless %} | |
{% if multipart %}enctype="multipart/form-data"{% endif %} | |
{% endspaceless %} | |
{% endblock field_enctype %} | |
{% block field_errors %} | |
{% spaceless %} | |
{% if errors|length > 0 %} | |
<ul class="error unstyled"> | |
{% for error in errors %} | |
<li>{{ error.messageTemplate|trans(error.messageParameters, 'validators') }}</li> | |
{% endfor %} | |
</ul> | |
{% endif %} | |
{% endspaceless %} | |
{% endblock field_errors %} | |
{% block field_rest %} | |
{% spaceless %} | |
{% for child in form %} | |
{% if not child.rendered %} | |
{{ form_row(child) }} | |
{% endif %} | |
{% endfor %} | |
{% endspaceless %} | |
{% endblock field_rest %} | |
{# Support #} | |
{% block field_rows %} | |
{% spaceless %} | |
{{ form_errors(form) }} | |
{% for child in form %} | |
{% if errors|length > 0 %} | |
{{ form_row(child, {'attr': {'class': 'error'}}) }} | |
{% else %} | |
{{ form_row(child) }} | |
{% endif %} | |
{% endfor %} | |
{% endspaceless %} | |
{% endblock field_rows %} | |
{% block widget_attributes %} | |
{% set attr = attr|merge({'class': attr.class|default('input-xlarge') ~ ''}) %} | |
{% spaceless %} | |
id="{{ id }}" name="{{ full_name }}"{% if read_only %} 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 %}{{attrname}}="{{attrvalue}}" {% endfor %} | |
{% endspaceless %} | |
{% endblock widget_attributes %} | |
{% block widget_container_attributes %} | |
{% spaceless %} | |
id="{{ id }}" | |
{% for attrname,attrvalue in attr %}{{attrname}}="{{attrvalue}}" {% endfor %} | |
{% endspaceless %} | |
{% endblock widget_container_attributes %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment