layout.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. {% macro menu_icon(item) -%}
  2. {% set icon_type = item.get_icon_type() %}
  3. {%- if icon_type %}
  4. {% set icon_value = item.get_icon_value() %}
  5. {% if icon_type == 'glyph' %}
  6. <i class="{{ icon_value }}"></i>
  7. {% elif icon_type == 'fa' %}
  8. <i class="fa fa-{{ icon_value }}"></i>
  9. {% elif icon_type == 'image' %}
  10. <img src="{{ url_for('static', filename=icon_value) }}" alt="menu image">
  11. {% elif icon_type == 'image-url' %}
  12. <img src="item.icon_value" alt="menu image">
  13. {% endif %}
  14. {% endif %}
  15. {%- endmacro %}
  16. {% macro menu(menu_root=None) %}
  17. {% if menu_root is none %}{% set menu_root = admin_view.admin.menu() %}{% endif %}
  18. {%- for item in menu_root %}
  19. {%- if item.is_category() -%}
  20. {% set children = item.get_children() %}
  21. {%- if children %}
  22. {% set class_name = item.get_class_name() %}
  23. {%- if item.is_active(admin_view) %}
  24. <li class="active dropdown">
  25. {% else -%}
  26. <li class="dropdown">
  27. {%- endif %}
  28. <a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">
  29. {% if item.class_name %}<i class="{{ item.class_name }}"></i> {% endif %}{{ item.name }}<b class="caret"></b>
  30. </a>
  31. <ul class="dropdown-menu">
  32. {%- for child in children -%}
  33. {% set class_name = child.get_class_name() %}
  34. {%- if child.is_active(admin_view) %}
  35. <li class="active{% if class_name %} {{class_name}}{% endif %}">
  36. {% else %}
  37. <li{% if class_name %} class="{{class_name}}"{% endif %}>
  38. {%- endif %}
  39. <a href="{{ child.get_url() }}"{% if child.target %} target="{{ child.target }}"{% endif %}>{{ menu_icon(child) }}{{ child.name }}</a>
  40. </li>
  41. {%- endfor %}
  42. </ul>
  43. </li>
  44. {% endif %}
  45. {%- else %}
  46. {%- if item.is_accessible() and item.is_visible() -%}
  47. {% set class_name = item.get_class_name() %}
  48. {%- if item.is_active(admin_view) %}
  49. <li class="active{% if class_name %} {{class_name}}{% endif %}">
  50. {%- else %}
  51. <li{% if class_name %} class="{{class_name}}"{% endif %}>
  52. {%- endif %}
  53. <a href="{{ item.get_url() }}"{% if item.target %} target="{{ item.target }}"{% endif %}>{{ menu_icon(item) }}{{ item.name }}</a>
  54. </li>
  55. {%- endif -%}
  56. {% endif -%}
  57. {% endfor %}
  58. {% endmacro %}
  59. {% macro menu_links(links=None) %}
  60. {% if links is none %}{% set links = admin_view.admin.menu_links() %}{% endif %}
  61. {% for item in links %}
  62. {% if item.is_accessible() and item.is_visible() %}
  63. <li>
  64. <a href="{{ item.get_url() }}">{{ menu_icon(item) }}{{ item.name }}</a>
  65. </li>
  66. {% endif %}
  67. {% endfor %}
  68. {% endmacro %}
  69. {% macro messages() %}
  70. {% with messages = get_flashed_messages(with_categories=True) %}
  71. {% if messages %}
  72. {% for category, m in messages %}
  73. {% if category %}
  74. <div class="alert alert-{{ category }}">
  75. {% else %}
  76. <div class="alert">
  77. {% endif %}
  78. <a href="javascript:void(0)" class="close" data-dismiss="alert">x</a>
  79. {{ m }}
  80. </div>
  81. {% endfor %}
  82. {% endif %}
  83. {% endwith %}
  84. {% endmacro %}