utils.html 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. {% macro flashed_messages(messages=None, container=True, transform={
  2. 'critical': 'danger',
  3. 'error': 'danger',
  4. 'info': 'info',
  5. 'warning': 'warning',
  6. 'debug': 'info',
  7. 'notset': 'info',
  8. 'message': 'info',
  9. }, default_category=None, dismissible=False) -%}
  10. {% with messages = messages or get_flashed_messages(with_categories=True) -%}
  11. {% if messages -%} {# don't output anything if there are no messages #}
  12. {% if container -%}
  13. <!-- begin message block -->
  14. <div class="container flashed-messages">
  15. <div class="row">
  16. <div class="col-md-12">
  17. {% endif -%}
  18. {% for cat, msg in messages %} <div class="alert alert-{{transform.get(cat.lower(), default_category or cat)}}{% if dismissible %} alert-dismissible{% endif %}" role="alert">
  19. {% if dismissible %} <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>{% endif %}
  20. {{msg}}
  21. </div>
  22. {%- endfor -%}
  23. {% if container %}
  24. </div>
  25. </div>
  26. </div>
  27. <!-- end message block -->
  28. {% endif -%}
  29. {% endif -%}
  30. {% endwith -%}
  31. {% endmacro -%}
  32. {% macro icon(type=None, extra_classes=[]) -%}
  33. <span{{ ({'class': (['glyphicon', 'glyphicon-' + type] + extra_classes)|join(' ')})|xmlattr}}{{kwargs|xmlattr}}></span>
  34. {%- endmacro %}
  35. {% macro form_button(url, content, method='post', class='btn-link') -%}
  36. <form style="display: inline;" action='{{url}}' method='{{method}}'><button class="{{class|safe}}">{{content}}</button></form>
  37. {%- endmacro %}