def add_aria_tags_to_field(field): attrs = [] if field.help_text or field.label: attrs.append("aria-describedby:help-" + field.id_for_label) if field.field.required: attrs.append("aria-required:true") if field.errors: attrs.append("aria-invalid:true") attrs.append("aria-describedby:error-" + field.id_for_label) for attr in attrs: append_attr(field, attr) return field
def with_error_popover(field): if hasattr(field, 'errors') and field.errors: #return field return wg.add_class( wg.append_attr( wg.append_attr( wg.append_attr(field, 'data-content:' + '<br/>'.join(field.errors)), 'data-placement:bottom'), 'data-container:body'), 'has-popover') else: return field
def add_class(field, css_class): return append_attr(field, 'class:' + css_class)
def attr_with_id(field, attr): attr = attr.replace('$id', field.auto_id) return append_attr(field, attr)
def add_placeholder(field, placeholder): return append_attr(field, 'placeholder:' + placeholder)
def append_attr(field, attr): return widget_tweaks.append_attr(field, attr)