|
| 1 | +{% import 'admin/layout.html' as layout with context -%} |
| 2 | +{% import 'admin/static.html' as admin_static with context %} |
| 3 | +<!DOCTYPE html> |
| 4 | +<html> |
| 5 | + <head> |
| 6 | + <title>{% block title %}{% if admin_view.category %}{{ admin_view.category }} - {% endif %}{{ admin_view.name }} - {{ admin_view.admin.name }}{% endblock %}</title> |
| 7 | + {% block head_meta %} |
| 8 | + <meta charset="UTF-8"> |
| 9 | + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| 10 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 11 | + <meta name="description" content=""> |
| 12 | + <meta name="author" content=""> |
| 13 | + {% endblock %} |
| 14 | + {% block head_css %} |
| 15 | + <link href="{{ admin_static.url(filename='bootstrap/bootstrap4/swatch/{swatch}/bootstrap.min.css'.format(swatch=config.get('FLASK_ADMIN_SWATCH', 'default')), v='4.2.1') }}" |
| 16 | + rel="stylesheet"> |
| 17 | + {% if config.get('FLASK_ADMIN_SWATCH', 'default') == 'default' %} |
| 18 | + <link href="{{ admin_static.url(filename='bootstrap/bootstrap4/css/bootstrap.min.css', v='4.2.1') }}" rel="stylesheet"> |
| 19 | + {% endif %} |
| 20 | + <link href="{{ admin_static.url(filename='admin/css/bootstrap4/admin.css', v='1.1.1') }}" rel="stylesheet"> |
| 21 | + <link href="{{ admin_static.url(filename='bootstrap/bootstrap4/css/font-awesome.min.css', v='4.7.0') }}" rel="stylesheet"> |
| 22 | + <link rel="stylesheet" href="{{ url_for('static', filename='admin.css') }}"> |
| 23 | + {% if admin_view.extra_css %} |
| 24 | + {% for css_url in admin_view.extra_css %} |
| 25 | + <link href="{{ css_url }}" rel="stylesheet"> |
| 26 | + {% endfor %} |
| 27 | + {% endif %} |
| 28 | + <style> |
| 29 | + .hide { |
| 30 | + display: none; |
| 31 | + } |
| 32 | + </style> |
| 33 | + {% endblock %} |
| 34 | + {% block head %} |
| 35 | + {% endblock %} |
| 36 | + {% block head_tail %} |
| 37 | + {% endblock %} |
| 38 | + </head> |
| 39 | +<body> |
| 40 | + <div class="wrapper"> |
| 41 | + {% block page_body %} |
| 42 | + <nav id="sidebar"> |
| 43 | + <div class="sidebar-header"> |
| 44 | + {% block brand %} |
| 45 | + <a class="navbar-brand" href="{{ admin_view.admin.url }}">{{ admin_view.admin.name }}</a> |
| 46 | + {% endblock %} |
| 47 | + </div> |
| 48 | + |
| 49 | + {% block main_menu %} |
| 50 | + <ul class="list-unstyled components"> |
| 51 | + {{ layout.menu() }} |
| 52 | + </ul> |
| 53 | + {% endblock %} |
| 54 | + </nav> |
| 55 | + |
| 56 | + <div id="content"> |
| 57 | + <nav class="navbar navbar-expand-lg navbar-light bg-light"> |
| 58 | + <div class="container-fluid"> |
| 59 | + |
| 60 | + <button type="button" id="sidebarCollapse" class="navbar-btn"> |
| 61 | + <span></span> |
| 62 | + <span></span> |
| 63 | + <span></span> |
| 64 | + </button> |
| 65 | + <button class="btn btn-dark d-inline-block d-lg-none ml-auto" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
| 66 | + <i class="fas fa-align-justify"></i> |
| 67 | + </button> |
| 68 | + |
| 69 | + <div class="collapse navbar-collapse" id="navbarSupportedContent"> |
| 70 | + {% block menu_links %} |
| 71 | + <ul class="nav navbar-nav navbar-right"> |
| 72 | + {{ layout.menu_links() }} |
| 73 | + </ul> |
| 74 | + {% endblock %} |
| 75 | + </div> |
| 76 | + </div> |
| 77 | + </nav> |
| 78 | + {% block access_control %} |
| 79 | + {% endblock %} |
| 80 | + {% block messages %} |
| 81 | + {{ layout.messages() }} |
| 82 | + {% endblock %} |
| 83 | + |
| 84 | + {# store the jinja2 context for form_rules rendering logic #} |
| 85 | + {% set render_ctx = h.resolve_ctx() %} |
| 86 | + |
| 87 | + {% block body %}{% endblock %} |
| 88 | + </div> |
| 89 | + |
| 90 | + {% endblock %} |
| 91 | + </div> |
| 92 | + |
| 93 | +{% block tail_js %} |
| 94 | + <script src="{{ admin_static.url(filename='vendor/jquery.min.js', v='2.1.4') }}" type="text/javascript"></script> |
| 95 | + <script src="{{ admin_static.url(filename='bootstrap/bootstrap4/js/popper.min.js') }}" type="text/javascript"></script> |
| 96 | + <script src="{{ admin_static.url(filename='bootstrap/bootstrap4/js/bootstrap.min.js', v='4.2.1') }}" |
| 97 | + type="text/javascript"></script> |
| 98 | + <script src="{{ admin_static.url(filename='vendor/moment.min.js', v='2.9.0') }}" type="text/javascript"></script> |
| 99 | + <script src="{{ admin_static.url(filename='vendor/bootstrap4/util.js', v='4.3.1') }}" type="text/javascript"></script> |
| 100 | + <script src="{{ admin_static.url(filename='vendor/select2/select2.min.js', v='4.2.1') }}" |
| 101 | + type="text/javascript"></script> |
| 102 | + <script src="{{ admin_static.url(filename='admin/js/helpers.js', v='1.0.0') }}" type="text/javascript"></script> |
| 103 | + <script type="text/javascript"> |
| 104 | + $(document).ready(function () { |
| 105 | + $('#sidebarCollapse').on('click', function () { |
| 106 | + $('#sidebar').toggleClass('active'); |
| 107 | + $(this).toggleClass('active'); |
| 108 | + }); |
| 109 | + }); |
| 110 | + </script> |
| 111 | + {% if admin_view.extra_js %} |
| 112 | + {% for js_url in admin_view.extra_js %} |
| 113 | + <script src="{{ js_url }}" type="text/javascript"></script> |
| 114 | + {% endfor %} |
| 115 | + {% endif %} |
| 116 | +{% endblock %} |
| 117 | + |
| 118 | + {% block tail %} |
| 119 | + {% endblock %} |
| 120 | + </body> |
| 121 | +</html> |
0 commit comments