{% from "__macros__/bootstrap/ui.html" import ico, bs_btn %} {% macro bs_form(form=None, action="", method="POST", role="form", hidden_tags=True) -%} {% if form %}{% do kwargs.setdefault("enctype", form.enctype) %}{% endif %} {{ html_tag("form", action=action, method=method, role=role, **kwargs) }} {% if form and hidden_tags %}{{ form.hidden_tag() }}{% endif %} {{ caller() }} {%- endmacro %} {% macro bs_hform(form=None, action="") -%} {% set c = caller %} {% call bs_form(form, action, class_="form-horizontal " + kwargs.pop("class_", ""), **kwargs) %}{{ c() }}{% endcall %} {%- endmacro %} {% macro bs_iform(form=None, action="") -%} {% set c = caller %} {% call bs_form(form, action, class_="form-inline " + kwargs.pop("class_", ""), **kwargs) %}{{ c() }}{% endcall %} {%- endmacro %} {% macro bs_navbar_form(form=None, action="") -%} {% set c = caller %} {% call bs_form(form, action, class_="navbar-form " + kwargs.pop("class_", ""), **kwargs) %}{{ c() }}{% endcall %} {%- endmacro %} {% macro bs_form_group(label=None, label_for=None, required=False, has_error=False, has_feedback=False, size=None, use_cols=True, lbl_col_width=2, col_offset=False, sr_only=False) -%}
{% if label %} {% endif %} {% if use_cols %}
{% endif %} {{ caller() }} {% if use_cols %}
{% endif %}
{%- endmacro %} {% macro bs_form_static_field(label, value=None, use_cols=False) -%} {% set c = caller %} {% call bs_form_group(label, use_cols=use_cols, **kwargs) %}

{{ c() if c else value }}

{% endcall %} {%- endmacro %} {% macro bs_form_static_hfield(label, value) -%} {{ bs_form_static_field(label, value, use_cols=True) }} {%- endmacro %} {% macro bs_form_field_group(field, inline=False) -%} {% set has_error = field.errors and field.type != 'FieldList' %} {% set label = field.label.text if field.type != 'BooleanField' else None %} {% set col_offset = field.type == "BooleanField" %} {% do kwargs.setdefault("sr_only", inline and field.type != 'BooleanField') %} {% set c = caller %} {% call bs_form_group(label, label_for=field.id, required=field.flags.required, has_error=has_error, col_offset=col_offset, **kwargs) %} {{ c() }} {% endcall %} {%- endmacro %} {% macro bs_form_field(field, inline=False, use_cols=False, size=None, icon=None, radio_inline=False) -%} {% set attrs = kwargs %} {% if field.flags.required %}{% do attrs.setdefault('required', 'required') %}{% endif %} {% if inline %} {% do attrs.setdefault('placeholder', field.label.text) %} {% endif %} {% if field.type in ('HiddenField', 'CSRFTokenField') %} {{ field() }} {% else %} {% call bs_form_field_group(field, inline, has_feedback=((field.errors and not icon) or (inline and icon)), use_cols=use_cols, size=size) %} {% if field.type == 'FieldList' %} {% else %} {{ bs_form_field_input(field, size=size, icon=icon, inline=radio_inline, **attrs) }} {% endif %} {% if field.errors and field.type != 'FieldList' %}

{{ field.errors|join(', ') }}

{% endif %} {% if field.description %}

{{ field.description|safe }}

{% endif %} {% endcall %} {% endif %} {%- endmacro %} {% macro bs_form_ifield(field) -%} {{ bs_form_field(field, inline=True, **kwargs) }} {%- endmacro %} {% macro bs_form_hfield(field) -%} {{ bs_form_field(field, use_cols=True, **kwargs) }} {%- endmacro %} {% macro bs_form_style_input(prefix=None, suffix=None, icon=None, size=None, auto_wrapper=False) -%} {% if not auto_wrapper or prefix or suffix %}
{% if prefix %}
{{ prefix }}
{% endif %} {% endif %} {{ caller() }} {% if icon %}{{ ico(icon, class_="form-control-feedback") }}{% endif %} {% if not auto_wrapper or prefix or suffix %} {% if suffix %}
{{ suffix }}
{% endif %}
{% endif %} {%- endmacro %} {% macro bs_form_field_input(field, inline=False, disabled=False, size=None, prefix=None, suffix=None, icon=None) -%} {% set attrs = kwargs %} {% if disabled %}{% do attrs.setdefault("disabled", "disabled") %}{% endif %} {% if not icon and field.errors %}{% set icon="remove" %}{% endif %} {% set class_ = "form-control" %} {% if size %}{% set class_ = class_ + " input-" + size %}{% endif %} {% call bs_form_style_input(prefix=prefix, suffix=suffix, icon=icon, size=size, auto_wrapper=True) %} {% if field.type == 'BooleanField' %}
{% elif field.type == 'RadioField' %} {% if inline %}
{% for radio in field %} {% endfor %}
{% else %} {% for radio in field %}
{% endfor %} {% endif %} {% elif field.type == 'FileField' %} {{ field(**attrs) }} {% else %} {{ field(class_=class_, **attrs) }} {% endif %} {% endcall %} {%- endmacro %} {% macro bs_form_buttons(use_cols=False, lbl_col_width=2) -%} {% if use_cols %}
{% endif %} {{ caller() }} {% if use_cols %}
{% endif %} {%- endmacro %} {% macro bs_form_hbuttons() -%} {% set c = caller %} {% call bs_form_buttons(use_cols=True, **kwargs) %} {{ c() }} {% endcall %} {%- endmacro %} {% macro bs_form_btn(label="Submit", use_cols=False, lbl_col_width=2) -%} {% set attrs = kwargs %} {% call bs_form_buttons(use_cols=use_cols, lbl_col_width=lbl_col_width) %} {{ bs_btn(label, type="submit", **attrs) }} {% endcall %} {%- endmacro %} {% macro bs_form_hbtn(label="Submit") -%} {{ bs_form_btn(label, use_cols=True, **kwargs) }} {%- endmacro %}