Projekt

Obecné

Profil

Stáhnout (7.89 KB) Statistiky
| Větev: | Revize:
1 3fc08f2d vastja
{% extends 'base.html.twig' %}
2 c6708024 vastja
  
3 3c909967 Martin Sebela
{% block title %}Heatmap.ZČU{% endblock %}
4 3fc08f2d vastja
{% block stylesheets %}
5 c883131e Martin Sebela
  <link rel="stylesheet" href="{{ asset('css/leaflet.css') }}">
6
  <link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}">
7 3c909967 Martin Sebela
  <link rel="stylesheet" href="{{ asset('css/style.css') }}">
8 c883131e Martin Sebela
  <link rel="stylesheet" href="{{ asset('css/bootstrap-datepicker3.css') }}">
9 3fc08f2d vastja
{% endblock %}
10
11
{% block body %}
12
13 c6708024 vastja
  <header class="map">
14 3fc22d29 Martin Sebela
    <nav class="navbar navbar-expand-lg ml-auto">
15
      <a href="{{ path('home') }}" class="navbar-brand">
16 c6708024 vastja
        <h1>Heatmap.ZČU</h1>
17
      </a>
18
19
      <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navigation" aria-controls="navigation" aria-expanded="false" aria-label="Toggle navigation">
20
        <span class="navbar-toggler-icon"></span>
21
      </button>
22
23 3fc22d29 Martin Sebela
      <div class="collapse navbar-collapse ml-auto" id="navigation">
24 896f0d9c vastja
        {{ form_start(form, {'action': path('heatmap'), 'method': 'GET'}) }}
25 c6708024 vastja
          <ul class="navbar-nav">
26
            <li class="nav-item">
27 1cf1413d ballakt
              {{ form_label(form.date, 'Vyberte datum', {
28
                label_attr: {class: 'font-weight-bold'}
29
              }) }}
30 bb2d43b5 Martin Sebela
              {{ form_widget(form.date,
31 03c02899 vastja
                {
32 c883131e Martin Sebela
                  'type' : 'text',
33 03c02899 vastja
                  'id' : 'date',
34
                  'attr' : {
35 0a828a5a Martin Sebela
                    'class' : 'form-control',
36 a7e04778 Martin Sebela
                    'maxlength' : '10',
37
                    'placeholder' : 'YYYY-MM-DD',
38 63cd0d07 Martin Sebela
                    'autocomplete' : 'off',
39 03c02899 vastja
                    'onChange' : 'checkDataSetsAvailability("' ~ path('available') ~ '")'
40
                  }
41
                })
42
              }}
43 c6708024 vastja
            </li>
44
            <li class="nav-item">
45 1cf1413d ballakt
              <label class="font-weight-bold">Vyberte čas</label>
46 bb2d43b5 Martin Sebela
              <div class="dropdown">
47
                <button type="button" class="btn dropdown-toggle" id="dropdownMenuButtonTime" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
48 1cf1413d ballakt
                  {{ current_time }}
49
                </button>
50 bb2d43b5 Martin Sebela
                <div id="dataset-dropdown-time" class="dropdown-menu" aria-labelledby="dropdownMenuButtonTime">
51
                  {% for oneTime in form.time.children %}
52 1cf1413d ballakt
                  <label class="dropdown-item custom-dropdown-item">
53 bb2d43b5 Martin Sebela
                    {{ form_widget(oneTime, {attr: {class: 'd-none'}}) }}
54
                    {{ form_label(oneTime, null) }}
55
                  </label>
56
                  {% endfor %}
57
                </div>
58 1cf1413d ballakt
              </div>
59 c6708024 vastja
            </li>
60
            <li class="nav-item">
61 2f227a6c ballakt
              <div class="dropdown">
62 bb2d43b5 Martin Sebela
                <button type="button" class="btn dropdown-toggle font-weight-bold" id="dropdownMenuButtonDataset" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
63 2f227a6c ballakt
                  Vyberte datovou sadu
64 bb2d43b5 Martin Sebela
                </button>
65
                <div id="dataset-dropdown" class="dropdown-menu" aria-labelledby="dropdownMenuButtonDataset">
66
                  {% for oneDataset in form.type.children %}
67
                  <div class="dropdown-item custom-dropdown-item">
68
                    <div class="custom-control custom-checkbox custom-checkbox-{{oneDataset.vars.value}}">
69
                      {{ form_widget(oneDataset, {
70
                        attr: {
71
                          'class': "custom-control-input custom-control-input-#{oneDataset.vars.value}",
72
                          'data-dataset-display-name': "#{oneDataset.vars.label}"
73
                          }
74
                      }) }}
75
                      {{ form_label(oneDataset, null, {
76
                        'label_attr': {'class': 'custom-control-label'}
77
                      }) }}
78
                    </div>
79
                  </div>
80
                  {% endfor %}
81
                </div>
82 2f227a6c ballakt
              </div>
83 c6708024 vastja
            </li>
84
            <li class="nav-item">
85 bb2d43b5 Martin Sebela
              {{ form_widget(form.submit,
86 03c02899 vastja
                {
87 2f227a6c ballakt
                  'name' : '',
88 1cf1413d ballakt
                  'label' : '',
89 03c02899 vastja
                  'type' : 'submit',
90 dfe43218 vastja
                  'id' : 'submit-btn',
91 03c02899 vastja
                  'attr' : {
92
                    'class': 'btn btn-secondary'
93
                  }
94
                })
95
              }}
96 c6708024 vastja
            </li>
97 bb2d43b5 Martin Sebela
          </ul>
98 03c02899 vastja
        {{ form_end(form) }}
99 c6708024 vastja
      </div>
100
    </nav>
101
  </header>
102 3fc08f2d vastja
103 c236b33a msebela
  <div class="map-locations">
104 351696d5 Martin Sebela
    <a class="menu" data-toggle="collapse" href="#mapLocations" role="button" aria-expanded="false" aria-controls="mapLocations">
105 dd652e61 Martin Sebela
      <span class="desktop">Prohlédněte si jednotlivé oblasti</span>
106
      <span class="mobile">Jednotlivé oblasti</span>
107 c236b33a msebela
      <div class="circle"></div>
108 351696d5 Martin Sebela
    </a>
109 dd652e61 Martin Sebela
    <div class="locations collapse" id="mapLocations">
110 bb2d43b5 Martin Sebela
      {% include 'heatmap-locations.html.twig' %}
111 c236b33a msebela
    </div>
112
  </div>
113
114
  <div class="player">
115 a48642fb vastja
    <div class="prev" onclick="previous()"></div>
116
    <div class="play" id="play-pause" onclick="changeAnimationState()"></div>
117
    <div class="next" onclick="next()"></div>
118 351696d5 Martin Sebela
119 4e003182 Martin Sebela
    <div class="datetime">
120 bc0a7bfd Martin Sebela
    
121
    {% if form.vars.value.date %}
122 1cf1413d ballakt
      <div class="date" id="player-date" onclick="openDatepicker()">{{ form.vars.value.date|date('j. n. Y') }}</div>
123 bc0a7bfd Martin Sebela
    {% endif %}
124 4e003182 Martin Sebela
125 351696d5 Martin Sebela
    <div class="timeline">
126 a48642fb vastja
      <div class="time hour-0" id="timeline">0:00</div>
127 351696d5 Martin Sebela
128
      <div class="hour"></div>
129
      <div class="hour"></div>
130
      <div class="hour"></div>
131
      <div class="hour"></div>
132
      <div class="hour"></div>
133
      <div class="hour"></div>
134
      <div class="hour"></div>
135
      <div class="hour"></div>
136
      <div class="hour"></div>
137
      <div class="hour"></div>
138
      <div class="hour"></div>
139
      <div class="hour"></div>
140
      <div class="hour"></div>
141
      <div class="hour"></div>
142
      <div class="hour"></div>
143
      <div class="hour"></div>
144
      <div class="hour"></div>
145
      <div class="hour"></div>
146
      <div class="hour"></div>
147
      <div class="hour"></div>
148
      <div class="hour"></div>
149
      <div class="hour"></div>
150
      <div class="hour"></div>
151
      <div class="hour"></div>
152
      <div class="end-dot"></div>
153 4e003182 Martin Sebela
    </div>
154 351696d5 Martin Sebela
    </div>
155 c236b33a msebela
  </div>
156
157 c6708024 vastja
  <div id="heatmap"></div>
158
  
159 3fc08f2d vastja
{% endblock %}
160
161
{% block javascripts %}
162
163 8feb1753 ballakt
    <script src="{{ asset('js/vendor/jquery-3.4.1.min.js') }}"></script>
164
    <script src="{{ asset('js/vendor/bootstrap.min.js') }}"></script>
165
    <script src="{{ asset('js/vendor/bootstrap-datepicker.min.js') }}"></script>
166
    <script src="{{ asset('js/vendor/bootstrap-datepicker.cs.min.js') }}" charset="UTF-8"></script>
167
    <script src="{{ asset('js/vendor/leaflet.js') }}"></script>
168
    <script src="{{ asset('js/vendor/leaflet-heat.js') }}"></script>
169 03c02899 vastja
    <script src="{{ asset('js/zcu-heatmap.js') }}"></script>
170
    <script>
171 0a828a5a Martin Sebela
        initDatepicker("{{ path('dates') }}");
172 dd652e61 Martin Sebela
        initLocationsMenu();
173 2f227a6c ballakt
        initMap();        
174 bb2d43b5 Martin Sebela
        $(document).ready(function() {
175 2f227a6c ballakt
          onDocumentReady();
176
          checkDataSetsAvailability("{{ path('available') }}")
177
          {% if submitted %}
178
          loadCurrentTimeHeatmap("{{ path('opendata') }}", "{{ path('positions') }}");
179
          {% endif %}
180
        });
181 dd652e61 Martin Sebela
        $(window).resize(function() {
182
          initLocationsMenu();
183
        });
184 c883131e Martin Sebela
  </script>
185 3fc08f2d vastja
186 2f227a6c ballakt
{% endblock %}
187
188
{% block style %}
189
  <style>
190
    {% for key, item in dataset_colors %}
191
      .custom-control-input-{{key}}:focus~.custom-control-label::before {
192 bb2d43b5 Martin Sebela
        border-color: {{item}} !important;
193
        box-shadow: 0 0 0 0.2rem rgba(192,192,192, 0.4) !important;
194 2f227a6c ballakt
      }
195
196
      .custom-control-input-{{key}}:checked~.custom-control-label::before {
197 bb2d43b5 Martin Sebela
        border-color: {{item}} !important;
198
        background-color: {{item}} !important;
199 2f227a6c ballakt
      }
200
201
      .custom-control-input-{{key}}:focus:not(:checked)~.custom-control-label::before {
202 bb2d43b5 Martin Sebela
        border-color: {{item}} !important;
203 2f227a6c ballakt
      }
204
205
      .custom-control-input-{{key}}:not(:disabled):active~.custom-control-label::before {
206 bb2d43b5 Martin Sebela
        background-color: {{item}} !important;
207
        border-color: {{item}} !important;
208 2f227a6c ballakt
      }
209
210 bb2d43b5 Martin Sebela
      .popup-{{key}} > .leaflet-popup-content-wrapper, .popup-{{key}} .leaflet-popup-tip {
211 2f227a6c ballakt
        background-color: {{item}} !important;
212
      }
213
    {% endfor %}
214
  </style>
215 3fc08f2d vastja
{% endblock %}