Revize 4e003182
Přidáno uživatelem Martin Sebela před téměř 5 roky(ů)
modules/crawler/DatasetConfigs/JIS.yaml | ||
---|---|---|
1 | 1 |
# jmeno datasetu, pod kterym bude zobrazen v aplikaci |
2 |
display-name: Snímače JIS |
|
2 |
display-name: Snímače JIS karet
|
|
3 | 3 |
# jednoslovný název datasetu, pod kterym bude reprezentovana v architektuře |
4 | 4 |
dataset-name: JIS |
5 | 5 |
# root slozka, ktera obsahuje odkazy na dataset |
... | ... | |
193 | 193 |
- Parkoviste-vyjezd: |
194 | 194 |
x: 49.7231533 |
195 | 195 |
y: 13.3518328 |
196 |
|
|
196 |
|
website/public/css/style.css | ||
---|---|---|
296 | 296 |
} |
297 | 297 |
|
298 | 298 |
.swiper-slide { |
299 |
z-index: -1000; |
|
300 | 299 |
display: flex; |
301 | 300 |
justify-content: center; |
302 | 301 |
align-items: center; |
303 | 302 |
} |
304 | 303 |
|
305 | 304 |
.swiper-slide.slide-bg-1 { |
306 |
background: url("../img/bg-1.jpg") no-repeat bottom center;
|
|
305 |
background: url("../img/bg-1.jpg") no-repeat top center;
|
|
307 | 306 |
background-size: cover; |
308 | 307 |
} |
309 | 308 |
|
... | ... | |
317 | 316 |
background-size: cover; |
318 | 317 |
} |
319 | 318 |
|
319 |
.swiper-slide.slide-bg-3 .slide-text { |
|
320 |
width: 100%; |
|
321 |
} |
|
322 |
|
|
320 | 323 |
@media (max-width: 767.98px) { |
321 |
.swiper-slide.slide-bg-3 .container {
|
|
324 |
.swiper-slide .container { |
|
322 | 325 |
max-width: 100%; |
323 | 326 |
height: 100%; |
324 | 327 |
overflow-y: scroll; |
325 | 328 |
} |
326 | 329 |
} |
327 | 330 |
|
328 |
.swiper-slide.slide-bg-3 .slide-text { |
|
329 |
width: 100%; |
|
330 |
} |
|
331 |
|
|
332 | 331 |
.slide-text { |
333 | 332 |
width: 600px; |
334 | 333 |
padding-bottom: 160px; |
... | ... | |
573 | 572 |
border: 2px solid #fff; |
574 | 573 |
} |
575 | 574 |
|
576 |
@media (max-width: 767.98px) {
|
|
575 |
@media not all and (min-width: 1900px) and (max-width: 2100px) {
|
|
577 | 576 |
.map-point { |
578 | 577 |
display: none; |
579 | 578 |
} |
... | ... | |
598 | 597 |
|
599 | 598 |
.map-point:hover .desc { |
600 | 599 |
display: block; |
601 |
width: 210px;
|
|
600 |
width: 220px;
|
|
602 | 601 |
padding: 10px 20px; |
603 | 602 |
z-index: 0; |
604 | 603 |
opacity: 0.75; |
... | ... | |
637 | 636 |
} |
638 | 637 |
|
639 | 638 |
.map-point.point-1 { |
640 |
bottom: 12%;
|
|
641 |
right: -75%;
|
|
639 |
top: 455px;
|
|
640 |
right: 32.5%;
|
|
642 | 641 |
} |
643 | 642 |
|
644 | 643 |
.map-point.point-2 { |
645 |
top: 21%;
|
|
646 |
right: -92%;
|
|
644 |
top: 235px;
|
|
645 |
right: 18%;
|
|
647 | 646 |
} |
648 | 647 |
|
649 | 648 |
.map-point.point-3 { |
650 |
top: 22%;
|
|
651 |
right: -92%;
|
|
649 |
bottom: 430px;
|
|
650 |
right: 20.8%;
|
|
652 | 651 |
} |
653 | 652 |
|
654 | 653 |
#heatmap { |
... | ... | |
684 | 683 |
@media (max-width: 575.98px) { |
685 | 684 |
.map-locations { |
686 | 685 |
max-width: 240px; |
686 |
max-height: 70%; |
|
687 | 687 |
top: 80px; |
688 | 688 |
right: 10px; |
689 | 689 |
} |
... | ... | |
736 | 736 |
|
737 | 737 |
@media (max-width: 575.98px) { |
738 | 738 |
.map-locations .locations ul { |
739 |
max-height: 244px; |
|
740 |
overflow-y: scroll; |
|
739 | 741 |
font-size: 13.5px; |
740 | 742 |
} |
741 | 743 |
} |
... | ... | |
833 | 835 |
} |
834 | 836 |
} |
835 | 837 |
|
838 |
@media (max-width: 575.98px) { |
|
839 |
.player .next { |
|
840 |
margin-right: 0; |
|
841 |
} |
|
842 |
} |
|
843 |
|
|
836 | 844 |
.player .next:after { |
837 | 845 |
background: url("../img/btn-next.svg") no-repeat; |
838 | 846 |
} |
... | ... | |
847 | 855 |
background: url("../img/btn-prev.svg") no-repeat; |
848 | 856 |
} |
849 | 857 |
|
858 |
.player .datetime { |
|
859 |
display: flex; |
|
860 |
} |
|
861 |
|
|
862 |
@media (max-width: 390px) { |
|
863 |
.player .datetime { |
|
864 |
display: block; |
|
865 |
text-align: center; |
|
866 |
margin-right: 10px; |
|
867 |
} |
|
868 |
} |
|
869 |
|
|
870 |
.player .date { |
|
871 |
font-size: 15px; |
|
872 |
padding: 3px 12px 4px 12px; |
|
873 |
margin-right: 10px; |
|
874 |
text-align: center; |
|
875 |
border-radius: 15px; |
|
876 |
cursor: pointer; |
|
877 |
background: #0B155A; |
|
878 |
} |
|
879 |
|
|
880 |
@media (max-width: 390px) { |
|
881 |
.player .date { |
|
882 |
margin-right: 0; |
|
883 |
} |
|
884 |
} |
|
885 |
|
|
886 |
.player .date:hover { |
|
887 |
opacity: .7; |
|
888 |
} |
|
889 |
|
|
850 | 890 |
.player .timeline { |
851 | 891 |
display: flex; |
852 | 892 |
height: 30px; |
... | ... | |
865 | 905 |
} |
866 | 906 |
} |
867 | 907 |
|
908 |
@media (max-width: 390px) { |
|
909 |
.player .timeline { |
|
910 |
display: inline-block; |
|
911 |
margin: 4px 0 0 0; |
|
912 |
} |
|
913 |
} |
|
914 |
|
|
868 | 915 |
@media (max-width: 991.98px) { |
869 | 916 |
.player .timeline .hour { |
870 | 917 |
display: none; |
website/public/css/style.scss | ||
---|---|---|
274 | 274 |
} |
275 | 275 |
|
276 | 276 |
.swiper-slide { |
277 |
z-index: -1000; |
|
278 | 277 |
display: flex; |
279 | 278 |
justify-content: center; |
280 | 279 |
align-items: center; |
281 | 280 |
|
282 | 281 |
&.slide-bg-1 { |
283 |
background: url($images-dir + 'bg-1.jpg') no-repeat bottom center;
|
|
282 |
background: url($images-dir + 'bg-1.jpg') no-repeat top center;
|
|
284 | 283 |
background-size: cover; |
285 | 284 |
} |
286 | 285 |
|
... | ... | |
293 | 292 |
background: url($images-dir + 'bg-3.jpg') no-repeat bottom center; |
294 | 293 |
background-size: cover; |
295 | 294 |
|
296 |
@include media-breakpoint-down(sm) { |
|
297 |
.container { |
|
298 |
max-width: 100%; |
|
299 |
height: 100%; |
|
300 |
overflow-y: scroll; |
|
301 |
} |
|
302 |
} |
|
303 |
|
|
304 | 295 |
.slide-text { |
305 | 296 |
width: 100%; |
306 | 297 |
} |
307 | 298 |
} |
299 |
|
|
300 |
@include media-breakpoint-down(sm) { |
|
301 |
.container { |
|
302 |
max-width: 100%; |
|
303 |
height: 100%; |
|
304 |
overflow-y: scroll; |
|
305 |
} |
|
306 |
} |
|
308 | 307 |
} |
309 | 308 |
|
310 | 309 |
// TEXT VE SLIDU |
... | ... | |
534 | 533 |
cursor: pointer; |
535 | 534 |
border: 2px solid #fff; |
536 | 535 |
|
537 |
@include media-breakpoint-down(sm) {
|
|
536 |
@media not all and (min-width: 1900px) and (max-width: 2100px) {
|
|
538 | 537 |
display: none; |
539 | 538 |
} |
540 | 539 |
|
... | ... | |
558 | 557 |
|
559 | 558 |
.desc { |
560 | 559 |
display: block; |
561 |
width: 210px;
|
|
560 |
width: 220px;
|
|
562 | 561 |
padding: 10px 20px; |
563 | 562 |
z-index: 0; |
564 | 563 |
opacity: 0.75; |
... | ... | |
598 | 597 |
} |
599 | 598 |
|
600 | 599 |
&.point-1 { |
601 |
bottom: 12%;
|
|
602 |
right: -75%;
|
|
600 |
top: 455px;
|
|
601 |
right: 32.5%;
|
|
603 | 602 |
} |
604 | 603 |
|
605 | 604 |
&.point-2 { |
606 |
top: 21%;
|
|
607 |
right: -92%;
|
|
605 |
top: 235px;
|
|
606 |
right: 18%;
|
|
608 | 607 |
} |
609 | 608 |
|
610 | 609 |
&.point-3 { |
611 |
top: 22%;
|
|
612 |
right: -92%;
|
|
610 |
bottom: 430px;
|
|
611 |
right: 20.8%;
|
|
613 | 612 |
} |
614 | 613 |
} |
615 | 614 |
|
... | ... | |
646 | 645 |
|
647 | 646 |
@include media-breakpoint-down(xs) { |
648 | 647 |
max-width: 240px; |
648 |
max-height: 70%; |
|
649 | 649 |
top: 80px; |
650 | 650 |
right: 10px; |
651 | 651 |
} |
... | ... | |
694 | 694 |
list-style-image: url($images-dir + 'li-bullet.svg'); |
695 | 695 |
|
696 | 696 |
@include media-breakpoint-down(xs) { |
697 |
max-height: 244px; |
|
698 |
overflow-y: scroll; |
|
697 | 699 |
font-size: 13.5px; |
698 | 700 |
} |
699 | 701 |
} |
... | ... | |
789 | 791 |
order: 3; |
790 | 792 |
} |
791 | 793 |
|
794 |
@include media-breakpoint-down(xs) { |
|
795 |
margin-right: 0; |
|
796 |
} |
|
797 |
|
|
792 | 798 |
&:after { |
793 | 799 |
background: url($images-dir + 'btn-next.svg') no-repeat; |
794 | 800 |
} |
... | ... | |
804 | 810 |
} |
805 | 811 |
} |
806 | 812 |
|
813 |
.datetime { |
|
814 |
display: flex; |
|
815 |
|
|
816 |
@media (max-width: 390px) { |
|
817 |
display: block; |
|
818 |
text-align: center; |
|
819 |
margin-right: 10px; |
|
820 |
} |
|
821 |
} |
|
822 |
|
|
823 |
.date { |
|
824 |
font-size: 15px; |
|
825 |
padding: 3px 12px 4px 12px; |
|
826 |
margin-right: 10px; |
|
827 |
text-align: center; |
|
828 |
border-radius: 15px; |
|
829 |
cursor: pointer; |
|
830 |
background: #0B155A; |
|
831 |
|
|
832 |
@media (max-width: 390px) { |
|
833 |
margin-right: 0; |
|
834 |
} |
|
835 |
|
|
836 |
&:hover { |
|
837 |
opacity: .7; |
|
838 |
} |
|
839 |
} |
|
840 |
|
|
807 | 841 |
.timeline { |
808 | 842 |
display: flex; |
809 | 843 |
height: 30px; |
... | ... | |
819 | 853 |
margin-right: 20px; |
820 | 854 |
} |
821 | 855 |
|
856 |
@media (max-width: 390px) { |
|
857 |
display: inline-block; |
|
858 |
margin: 4px 0 0 0; |
|
859 |
} |
|
860 |
|
|
822 | 861 |
.hour { |
823 | 862 |
@include media-breakpoint-down(md) { |
824 | 863 |
display: none; |
website/public/js/zcu-heatmap.js | ||
---|---|---|
377 | 377 |
else { |
378 | 378 |
$(locationsWrapper).addClass(locationsDisplayClass); |
379 | 379 |
} |
380 |
} |
|
381 |
|
|
382 |
function openDatepicker() { |
|
383 |
if ($(window).width() <= 990) { |
|
384 |
$('.navbar-collapse').collapse(); |
|
385 |
} |
|
386 |
|
|
387 |
$('#date').datepicker('show') |
|
380 | 388 |
} |
website/templates/heatmap.html.twig | ||
---|---|---|
116 | 116 |
<div class="play" id="play-pause" onclick="changeAnimationState()"></div> |
117 | 117 |
<div class="next" onclick="next()"></div> |
118 | 118 |
|
119 |
<div class="datetime"> |
|
120 |
<div class="date" onclick="openDatepicker()">{{ app.request.get('data_set')['date']|date('j. n. Y') }}</div> |
|
121 |
|
|
119 | 122 |
<div class="timeline"> |
120 | 123 |
<div class="time hour-0" id="timeline">0:00</div> |
121 | 124 |
|
... | ... | |
145 | 148 |
<div class="hour"></div> |
146 | 149 |
<div class="end-dot"></div> |
147 | 150 |
</div> |
151 |
</div> |
|
148 | 152 |
</div> |
149 | 153 |
|
150 | 154 |
<div id="heatmap"></div> |
website/templates/index.html.twig | ||
---|---|---|
18 | 18 |
</div> |
19 | 19 |
|
20 | 20 |
<nav class="navbar navbar-expand-lg"> |
21 |
<a href="{{ path('heatmap') }}" class="navbar-brand shifted">
|
|
21 |
<a href="/heatmap/?data_set[date]=2019-04-11&data_set[time]=9&data_set[type]=JIS" class="navbar-brand shifted">
|
|
22 | 22 |
<h1>Heatmap.ZČU</h1> |
23 | 23 |
</a> |
24 | 24 |
|
... | ... | |
63 | 63 |
<hr> |
64 | 64 |
<p>Zobrazte si heatmapu života univerzity hodinu po hodině během jednoho dne. Od ranního probouzení, kdy studenti a zaměstnanci přicházejí do laboratoří, přes polední špičku v menze až do samotného večera, kdy končí poslední z přednášek a cvičení.</p> |
65 | 65 |
<a href="/heatmap/?data_set[date]=2019-04-11&data_set[time]=9&data_set[type]=JIS" class="btn btn-primary" role="button">Vyzkoušet heatmapu</a> |
66 |
</div> |
|
67 |
</div> |
|
66 | 68 |
|
67 |
<div class="map-point point-1">
|
|
68 |
<div class="desc">
|
|
69 |
<div class="circle"></div>
|
|
70 |
<strong>Menza</strong>
|
|
71 |
<p>Polední špička v menze.</p>
|
|
72 |
</div>
|
|
73 |
</div>
|
|
69 |
<div class="map-point point-1"> |
|
70 |
<div class="desc"> |
|
71 |
<div class="circle"></div> |
|
72 |
<strong>Bufet</strong>
|
|
73 |
<p>Dopolední špička v bufetu před otevřením menzy.</p>
|
|
74 |
</div> |
|
75 |
</div> |
|
74 | 76 |
|
75 |
<div class="map-point point-2"> |
|
76 |
<div class="desc"> |
|
77 |
<div class="circle"></div> |
|
78 |
<strong>Knihovna</strong> |
|
79 |
<p>Množství lidí v knihovně ukazuje, že se jedná o jedno z nejpopulárnějších míst na univerzitě.</p> |
|
80 |
</div> |
|
81 |
</div> |
|
77 |
<div class="map-point point-2"> |
|
78 |
<div class="desc"> |
|
79 |
<div class="circle"></div> |
|
80 |
<strong>Příjezdy</strong> |
|
81 |
<p>Využití parkoviště u FAV v dopoledních hodinách.</p> |
|
82 | 82 |
</div> |
83 | 83 |
</div> |
84 | 84 |
|
... | ... | |
93 | 93 |
<hr> |
94 | 94 |
<p>Heatmapa vám také dává možnost prozkoumávat data vlastním způsobem – stačí jen zvolit konkrétní datum a čas, pro které chcete data zobrazit. Můžete tak objevit i různé anomálie, například narazit na noční návštěvníky kampusu nebo odhalit návraty na studentské koleje v brzkých ranních hodinách…</p> |
95 | 95 |
<a href="/heatmap/?data_set[date]=2019-04-11&data_set[time]=9&data_set[type]=JIS" class="btn btn-primary" role="button">Vyzkoušet heatmapu</a> |
96 |
</div> |
|
97 |
</div> |
|
96 | 98 |
|
97 |
<div class="map-point point-3"> |
|
98 |
<div class="desc"> |
|
99 |
<div class="circle"></div> |
|
100 |
<strong>Podivný pohyb studentů</strong> |
|
101 |
<p>Po středečním večeru bylo zaznamenáno relativně hodně vstupů na kolej kolem 4:00 ráno.</p> |
|
102 |
</div> |
|
103 |
</div> |
|
99 |
<div class="map-point point-3"> |
|
100 |
<div class="desc"> |
|
101 |
<div class="circle"></div> |
|
102 |
<strong>Nezvyklá aktivita</strong> |
|
103 |
<p>Po středečním večeru bylo zaznamenáno větší množství vstupů na kolej kolem 3:00 ráno.</p> |
|
104 | 104 |
</div> |
105 | 105 |
</div> |
106 | 106 |
|
Také k dispozici: Unified diff
Re #8079 - finishing frontend
- new date label next to timeline
- changed intro images to images with real data
- locations box has maximum height with scrollbar
- new texts on intro pages (map points)
- CSS changes and repairs