templates/layouts/base-layout.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="{{ app.request.locale }}">
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1">
  6.     <title>Plná Peněženka Admin</title>
  7.     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
  8.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/fontawesome-free/css/all.min.css") }}" />
  9.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/jquery-ui/jquery-ui.min.css") }}" />
  10.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/select2/css/select2.min.css") }}"/>
  11.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css") }}"/>
  12.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/flag-icon-css/css/flag-icon.min.css") }}"/>
  13.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/codemirror/codemirror.css") }}"/>
  14.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/icheck-bootstrap/icheck-bootstrap.min.css") }}"/>
  15.     <link rel="stylesheet" href="{{ asset("build/admin-lte-plugins/jquery-ui/jquery-ui.min.css") }}"/>
  16.     <link rel="shortcut icon" href="{{ asset("img/favicon.ico") }}">
  17.     <link rel="stylesheet" href="{{ asset("wheelcolorpicker/css/wheelcolorpicker.css") }}"/>
  18.     {#    <link rel="stylesheet" href="{{ asset("build/bootstrap-tree-view/css/core.min.css") }}"/>#}
  19. {#    <link rel="stylesheet" href="{{ asset("build/bootstrap-tree-view/css/tree.min.css") }}"/>#}
  20.     {% block plugins_stylesheets %}{% endblock %}
  21.     <link rel="stylesheet" href="{{ asset("build/admin-lte/css/adminlte.min.css") }}" />
  22.     <link rel="stylesheet" href="{{ asset('styles/custom-styles.css') }}" />
  23.     {% block stylesheets %}{% endblock %}
  24.     <script src="{{ asset("build/admin-lte-plugins/jquery/jquery.min.js") }}"></script>
  25.     <script src="{{ asset("build/admin-lte-plugins/jquery-ui/jquery-ui.min.js") }}"></script>
  26. </head>
  27. <body class="{% block body_class %}hold-transition sidebar-mini{% endblock %}">
  28. {% block body_content %}
  29.     <div class="wrapper">
  30.         {% include "parts/top-menu.html.twig" %}
  31.         {{ render(controller('PPAdmin\\Controller\\UIFragmentsController::sidebar')) }}
  32.         <!-- Content Wrapper. Contains page content -->
  33.         <div class="content-wrapper">
  34.             <!-- Content Header (Page header) -->
  35.             <div class="content-header">
  36.                 <div class="container-fluid">
  37.                     <div class="row mb-2">
  38.                         <div class="col-sm-6">
  39.                             <h1 class="m-0">{% block page_title %}Plná peněženka{% endblock %}</h1>
  40.                         </div><!-- /.col -->
  41.                         <div class="col-sm-6">
  42.                             <ol class="breadcrumb float-sm-right">
  43.                                 {% block breadcrumb %}
  44.                                     <li class="breadcrumb-item"><a href="{{ url("dashboard") }}"><i class="fa fa-home"></i></a></li>
  45.                                     {% block breadcrumb_items %}{#<li class="breadcrumb-item active">Starter Page</li>#}{% endblock %}
  46.                                 {% endblock %}
  47.                             </ol>
  48.                         </div><!-- /.col -->
  49.                     </div><!-- /.row -->
  50.                 </div><!-- /.container-fluid -->
  51.             </div>
  52.             <!-- /.content-header -->
  53.             <!-- Main content -->
  54.             <div class="content">
  55.                 <div class="container-fluid">
  56.                     {% for label, flashes in app.session.flashbag.all %}
  57.                         {% for flash in flashes %}
  58.                             <div class="alert alert-{{ label }} alert-dismissible">
  59.                                 <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
  60.                                 {{ flash }}
  61.                             </div>
  62.                         {% endfor %}
  63.                     {% endfor %}
  64.                     {% block content %}{% endblock %}
  65.                 </div><!-- /.container-fluid -->
  66.             </div>
  67.             <!-- /.content -->
  68.         </div>
  69.         <!-- /.content-wrapper -->
  70.         <!-- Control Sidebar -->
  71.        {# <aside class="control-sidebar control-sidebar-dark">
  72.             <!-- Control sidebar content goes here -->
  73.             <div class="p-3">
  74.                 <h5>Title</h5>
  75.                 <p>Sidebar content</p>
  76.             </div>
  77.         </aside>#}
  78.         <!-- /.control-sidebar -->
  79.         <!-- Main Footer -->
  80.         <footer class="main-footer">
  81.             <!-- To the right -->
  82.             <div class="float-right d-none d-sm-inline">
  83.                 Version 20210611
  84.             </div>
  85.             <!-- Default to the left -->
  86.             <strong>Copyright &copy; 2021 <a href="https://www.5dm.cz/">5DM.cz</a>.</strong> All rights reserved.
  87.         </footer>
  88.     </div>
  89. {% endblock %}
  90. <script src="{{ asset("build/admin-lte-plugins/bootstrap/js/bootstrap.bundle.min.js") }}"></script>
  91. <script src="{{ asset("build/admin-lte/js/adminlte.min.js") }}"></script>
  92. <script src="{{ asset("build/admin-lte-plugins/select2/js/select2.min.js") }}"></script>
  93. <script src="{{ asset("build/admin-lte-plugins/select2/js/i18n/cs.js") }}"></script>
  94. {# CodeMirror import + different modes #}
  95. <script src="{{ asset("build/admin-lte-plugins/codemirror/codemirror.js") }}"></script>
  96. <script src="{{ asset("build/admin-lte-plugins/codemirror/mode/sql/sql.js") }}"></script>
  97. <script src="{{ asset("build/admin-lte-plugins/codemirror/mode/javascript/javascript.js") }}"></script>
  98. <script src="{{ asset("build/admin-lte-plugins/codemirror/mode/sql/sql.js") }}"></script>
  99. <script src="{{ asset("build/admin-lte-plugins/bs-custom-file-input/bs-custom-file-input.min.js") }}"></script>
  100. <script src="{{ asset("build/admin-lte-plugins/jquery-ui/jquery-ui.min.js") }}"></script>
  101. <script src="{{ asset("select2-Sortable-master/select2-sortable.min.js") }}"></script>
  102. <script src="{{ asset("wheelcolorpicker/jquery.wheelcolorpicker.js") }}"></script>
  103. <script src="{{ asset("build/bootbox/bootbox.all.min.js") }}"></script>
  104. {#<script src="{{ asset("build/bootstrap-tree-view/js/core.min.js") }}"></script>#}
  105. {#<script src="{{ asset("build/bootstrap-tree-view/js/tree.min.js") }}"></script>#}
  106. {% include "common/scripts/select2-set-focus-resolver.html.twig" %}
  107. <script>
  108.     bootbox.setDefaults({"locale": "{{ app.request.locale }}"});
  109.     $(function(){
  110.         const select2_options = {
  111.             language: 'cs',
  112.         }
  113.         // select2
  114.         $('select:not([data-sortable], [data-ajax])').select2(select2_options);
  115.         $('select[data-sortable]').each((_, select) => {
  116.             const $select = $(select);
  117.             if ($select.prop("disabled")) {
  118.                 $select.select2(select2_options);
  119.             } else {
  120.                 $select.select2Sortable(select2_options)
  121.             }
  122.         });
  123.         $('select[data-ajax]').each((_, select) => {
  124.             const $select = $(select);
  125.             if ($select.prop("disabled")) {
  126.                 $select.select2(select2_options);
  127.             } else {
  128.                 $select.select2({
  129.                     ...select2_options,
  130.                     minimumInputLength: Number($select.data('ajax-min-length')),
  131.                     ajax: {
  132.                         url: $select.data('ajax'),
  133.                         delay: 500,
  134.                         data: params => ({
  135.                             query: params.term,
  136.                             page: params.page,
  137.                             field: $select.prop('name'),
  138.                             params: $select.attr('data-ajax-params'),
  139.                         }),
  140.                     }
  141.                 });
  142.             }
  143.         });
  144.         $('select.is-invalid')
  145.             .parent()
  146.             .find('.select2-selection')
  147.             .addClass('select2-is-invalid');
  148.         setFocusToSearchTextField()
  149.         bsCustomFileInput.init();
  150.         $("textarea.codemirror-json").each((_, textarea) => {
  151.             CodeMirror.fromTextArea(textarea, {
  152.                 mode: {name: "javascript", json: true},
  153.                 lineNumbers: true,
  154.                 readOnly: textarea.disabled
  155.             });
  156.         });
  157.         $("textarea.codemirror-sql").each((_, textarea) => {
  158.             CodeMirror.fromTextArea(textarea, {
  159.                 mode: "text/x-mysql",
  160.                 lineNumbers: true,
  161.                 readOnly: textarea.disabled
  162.             });
  163.         });
  164.         // colorpicker
  165.         $('.colorpicker').wheelColorPicker({
  166.             preview: true,
  167.             validate: true,
  168.             autoResize: true
  169.         })
  170.         $('.colorpicker').on('change', function (){
  171.             if (!$(this).val()) {
  172.                 $(this).css('background', 'transparent')
  173.             }
  174.         })
  175.         $(function () {
  176.             $('[data-toggle="tooltip"]').tooltip()
  177.         })
  178.         $.fn.setButtonBusy = function() {
  179.             if (this.prop('disabled')) {
  180.                 return;
  181.             }
  182.             let content = this.html();
  183.             this.html('<i class="fas fa-sync fa-spin"></i>&nbsp&nbsp' + content)
  184.             this.prop('disabled', true)
  185.         }
  186.         $.fn.unsetButtonBusy = function() {
  187.             let content = this.html();
  188.             this.html(content.replace(/.*&nbsp;/, ""))
  189.             this.prop('disabled', false)
  190.         }
  191.     })
  192. </script>
  193. {% block plugins_scripts %}{% endblock %}
  194. {{ encore_entry_script_tags('app') }}
  195. {% if app.user %}
  196. <script>
  197.     window.setInterval(
  198.         () => {
  199.             $.get("{{ url("keep-alive") }}", (resp) => {
  200.                 console.log(`User ${resp['user_id']} alive at ${resp['keep-alive']}`);
  201.             });
  202.         },
  203.         60 * 1000
  204.     );
  205. </script>
  206. {% endif %}
  207. {% block scripts %}{% endblock %}
  208. </body>
  209. </html>