# macro field_errors(field) # for error in field.errors

{{error}}

# endfor # endmacro # macro field_description(field) # if field.description

{{field.description}}

# endif # endmacro # macro field_optional(field) # if not field.flags.required (optional) # endif # endmacro # macro input_field(field, prefix='', suffix='')
{{field.label(class='control-label')}} {{field_optional(field)}} # if prefix or suffix
# if prefix {{prefix}} # endif {{field(class='form-control', **kwargs)}} # if suffix {{suffix}} # endif
# else {{field(class='form-control', **kwargs)}} # endif {{field_errors(field)}} {{field_description(field)}}
# endmacro # macro text_field(field) {{input_field(field, type='text', **kwargs)}} # endmacro # macro password_field(field) {{input_field(field, type='password', **kwargs)}} # endmacro # macro password_visible_field(field, size='')
{{field.label(class='control-label')}} {{field_optional(field)}}
{{field(class='form-control', type='password', autocomplete='off', **kwargs)}}
{{field_errors(field)}} {{field_description(field)}}
# endmacro # macro number_field(field) {{input_field(field, type='number', **kwargs)}} # endmacro # macro date_field(field) {{input_field(field, type='date', **kwargs)}} # endmacro # macro datetime_field(field) {{input_field(field, type='datetime-local', **kwargs)}} # endmacro # macro email_field(field) {{input_field(field, type='email', **kwargs)}} # endmacro # macro select_field(field) {{input_field(field, **kwargs)}} # endmacro # macro hidden_field(field) {{field(type='hidden', **kwargs)}} # endmacro # macro textarea_field(field, rows=4)
{{field.label(class='control-label')}} {{field_optional(field)}} {{field(class='form-control', rows=rows, **kwargs)}} {{field_errors(field)}} {{field_description(field)}}
# endmacro # macro checkbox_field(field)
{{field_errors(field)}} {{field_description(field)}}
# endmacro # macro list_input_field(field, type)
{{field.label(class='control-label')}} {{field_optional(field)}} {{field_description(field)}} # for key, value in field.choices
# endfor {{field_errors(field)}}
# endmacro # macro multiple_checkbox_field(field) {{list_input_field(field, 'checkbox')}} # endmacro # macro radio_field(field) {{list_input_field(field, 'radio')}} # endmacro # macro recaptcha_field(field) # if field
{{field.widget.server}} {{field.widget.script_url}} {{field.widget.frame_url}} {{field}} {{field_errors(field)}} {{field_description(field)}}
# endif # endmacro # macro panel_fields(name, fields, help)

{{name}}

# for field in (fields if is_iterable(fields) else [fields]): {{text_field(field)}} # endfor # if help

{{help|safe}}

# endif
# endmacro # macro data_loading_text(text='Please wait..', icon='fa fa-spin fa-spinner') # if icon data-loading-text=" {{text}}" # else data-loading-text="{{text}}" # endif # endmacro