Projekt

Obecné

Profil

Stáhnout (8.93 KB) Statistiky
| Větev: | Revize:
1
var js;js=(()=>{var e={6157:e=>{var t,a,n=null,o=null,s=49.7248,p=13.3521,r=17;let l,i,c;var u,d=!1,m=[],h=[];let g=0;const y={};var b=[];let f=!1,v=0;const w={},x={};let k={};const C={coord:{lat:0,lng:0},_popup:null},N=async(e,t,a,n)=>{const o=new Headers,s=new Request(e+"/"+t+"/"+a+"/"+n,{method:"GET",headers:o});return(await fetch(s)).json()};async function j(e,t,n){ie();for(let o=e+t;o>=0&&o<=23;o+=t)m[o]||(m[o]={}),b.forEach((async e=>{m[o][e]||(m[o][e]=await N(a,e,n,o))}));ce()}const P=async(e,t,n=1e3)=>{pe(),a=e,l=t;const o=[];m[i]={};b.forEach((e=>{o.push((async e=>{e in w||(w[e]=await(async(e,t)=>{const a=new Headers,n=new Request(e+"/"+t,{method:"GET",headers:a});return(await fetch(n)).json()})(t,e));const n=await N(a,e,W(),i);m[i][e]=n})(e))})),ie(n),await Promise.all(o).then((()=>{ce(0),O(w),I(m[i]),j(i,1,W()),j(i,-1,W())}))},I=e=>{const a=e,o=[];let s=0;Object.keys(k).length&&(Object.keys(k).forEach((function(e){k[e][0].bindPopup(k[e][1])})),k={}),Object.keys(a).forEach((e=>{const p=a[e];if(s=Math.max(s,p.max),null!=p){const e=p.items.map((e=>{const{x:t,y:a,number:n}=e,o=t+""+a,s=x[o];return!k[o]&&n&&(s[0]=s[0].unbindPopup(),k[o]=s),[t,a,n]}));o.push(...e)}else null!=n&&t.removeLayer(n)})),null!=n&&t.removeLayer(n),o.length&&(n=L.heatLayer(o,{max:s,minOpacity:.5,radius:35,blur:30}).addTo(t)),Y()},O=e=>{null!=o&&t.removeLayer(o),o=L.layerGroup(),Object.keys(e).forEach((t=>{for(var a in e[t]){const{x:n,y:s,name:p}=e[t][a],r=G(n,s,1,`popup-${t}`).setContent(H(y[t],p,0,0,1,1)),l=L.circle([n,s],{radius:2,fillOpacity:.8,color:"#004fb3",fillColor:"#004fb3",bubblingMouseEvents:!0}).bindPopup(r);x[n+""+s]=[l,r],o.addLayer(l)}})),o.setZIndex(-1).addTo(t)},S=(e=null)=>{i=null!==e?e:parseInt($('#dropdown-time input[type="radio"]:checked').val())},T=(e=null)=>{const t=$("#date");c=new Date(e||t.val()),t.val(W()),$("#player-date span").html(`${c.getDate()}. ${c.getMonth()+1}. ${c.getFullYear()}`),m=[]},D=e=>{C._popup.setContent(e),C._popup.openOn(t)},E=(e,t)=>({previousButton:'<button type="button" id="btn-popup-previous-page" onclick="js.setPreviousPageInPopup()"></button>',pagesList:`<p id="pages">${e} z ${t}</p>`,nextButton:'<button type="button" id="btn-popup-next-page" class="next" onclick="js.setNextPageInPopup()"></button>'}),M=()=>{$("#btn-popup-previous-page").prop("disabled",!0),$("#btn-popup-next-page").prop("disabled",!0),$(".popup-pagination").hide()},_=e=>`<div class="popup-pagination">${e?e.reduce(((e,t)=>e+t),""):""}</div>`,B=()=>{const e=Object.keys(h);return 1===e.length?h[e[0]].items.length:e.length},z=e=>{const t=Object.keys(h);return h[t[e]]},G=(e,t,a,n)=>L.popup({autoPan:!1,className:n}).setLatLng([e/a,t/a]),H=(e,t,a,n,o,s)=>{const p=`\n    <strong>${e}</strong>\n    <div id="place-name">${t}</div>`,r=`\n    <div id="place-intesity">\n      <span id="current-number">${a}</span>\n      <span id="sum-number">${n&&n!==Number(a)?"/"+n:""}</span>\n    </div>`,{previousButton:l,nextButton:i,pagesList:c}=E(o,s);return`\n  ${p}\n  ${r}\n  ${_(s>1?[l,c,i]:null)}\n  `},A=()=>Object.keys(h).length>1,F=e=>{const t=$(".leaflet-popup");t.removeClass((function(e,t){return(t.match(/(^|\s)popup-\S+/g)||[]).join(" ")})),t.addClass("popup-"+e)},R=e=>{h=[],g=0;const a=40075016.686*Math.cos(s)/Math.pow(2,t.getZoom())*25/256;let n=0,o=0,p=0,r=0;const l={},c={lng:e.latlng.lng,lat:e.latlng.lat};Object.keys(m[i]).forEach((t=>{m[i][t].items.forEach((s=>{e.latlng.distanceTo(new L.LatLng(s.x,s.y))<a&&(o+=s.x,p+=s.y,h[n]={place:s.place,number:s.number,datasetName:t},r+=parseInt(s.number),n++,l[t]=!0)}))})),h=h.reduce(((e,t)=>(e[t.datasetName]||(e[t.datasetName]={items:[],number:0,datasetName:t.datasetName}),e[t.datasetName].items.push(t),e[t.datasetName].number+=Number(t.number),e)),{});const u=Object.keys(l).length;if(u)if(1===u){const e=z(0),t=e.items,{place:a,number:s}=t[g];C._popup&&ee(C.coord,c)?F(e.datasetName):(C._popup=G(o,p,n,`popup-${e.datasetName}`),C.coord=c),D(H(y[e.datasetName],a,s,r,1,t.length)),1===t.length&&M()}else{const{datasetName:e,number:t}=z(g);C._popup&&ee(C.coord,c)?F(e):(C._popup=G(o,p,n,`popup-${e}`),C.coord=c),D(((e,t,a,n)=>{const o=`<strong id="dataset-name">${n}</strong>`,s=`<div id="place-intesity"><span id="current-number">${e}</span></div>`,{previousButton:p,nextButton:r,pagesList:l}=E(1,a);return`\n  ${o}\n  ${s}\n  ${_([p,l,r])}\n  `})(t,0,B(),y[e]))}else t._popup&&($("#sum-number").text(""),$("#current-number").html(0),M())},V=e=>{const t=A()?z(e):z(0).items[e],a=A()?z(g):z(0).items[g],n=$("#dataset-name");n&&n.html(y[a.datasetName]),$("#place-name").html(a.place?a.place:a.datasetName),$("#current-number").html(a.number),$("#pages").html(g+1+" z "+B()),$(".leaflet-popup").removeClass(`popup-${t.datasetName}`).addClass(`popup-${a.datasetName}`)},Y=()=>{const{_popup:e}=t;e&&R({latlng:e.getLatLng()})},Z=async()=>{v||(i=(i+23)%24,K(i),f||23!==i?I(m[i]):(X(-1),await P(a,l)),Y())},q=async()=>{v||(i=(i+1)%24,K(i),f||0!==i?I(m[i]):(X(1),await P(a,l)),Y())},J=e=>{K(e),I(m[i])},K=e=>{$("#player-time").removeAttr("style"),S(e),ae(),ne(),Q(),Y()},Q=()=>{window.history.pushState("",document.title,window.location.origin+window.location.pathname+`?date=${W()}&time=${i}${b.reduce(((e,t)=>e+"&type[]="+t),"")}`)},U=(e,t=!1)=>(t&&e<10?"0":"")+e+":00",W=()=>`${c.getFullYear()}-${(()=>{const e=c.getMonth()+1;return e>9?`${e}`:`0${e}`})()}-${(()=>{const e=c.getDate();return e>9?`${e}`:`0${e}`})()}`,X=e=>{c.setDate(c.getDate()+e),T(c)},ee=(e,t)=>e.lat===t.lat&&e.lng===t.lng,te=(e,t)=>{let a;return function(){const n=this,o=arguments;clearTimeout(a),a=setTimeout((()=>e.apply(n,o)),t)}},ae=()=>{$(`#time_${i}`).prop("checked",!0),$("#dropdownMenuButtonTime").html(U(i,!0))},ne=()=>{$("#player-time > span").text(U(i)),$("#player-time").attr("class","time hour-"+i)},oe=()=>{$("#date").change((function(){T($(this).val()),P(a,l,0),Q()})),$('#dropdown-time input[type="radio"]').each((function(){$(this).change((function(){K(parseInt($(this).val())),I(m[i])}))})),$('#dropdown-dataset input[type="checkbox"]').each((function(){$(this).change(te((()=>se(this)),1e3))}))},se=async e=>{$(e).prop("checked")?await P(a,l,0):(pe(),m.forEach(((t,a)=>{Object.keys(t).forEach((t=>{t===$(e).val()&&delete m[a][t]})),I(m[i])}))),Y(),Q()},pe=()=>{b=[],$("#dropdown-dataset .dropdown-item").each((function(){const e=$(this).find("input"),t=e[0].value;e[0].checked&&b.push(t),y[t]=$(e).data("dataset-display-name")}))},re=async e=>{let t=!1;$("#dropdown-dataset .dropdown-item").each((function(){const a=$(this).find("input");a[0].value in e?(t=!0,$(this).removeClass("disabled")):($(this).addClass("disabled"),$(a).prop("checked",!1))})),$("#btn-update-heatmap").prop("disabled",!t)},le=(e,t)=>{setTimeout((()=>{e(v),v&&le(e,t)}),t)},ie=(e=1e3)=>{v++,le((()=>le((e=>ue(e)),e)))},ce=(e=1e3)=>{v--,le((()=>le((e=>ue(e)))),e)},ue=e=>{e?de():me()},de=()=>{$("#player-time > .spinner-border").removeClass("d-none"),$("#player-time > span").text("")},me=()=>{$("#player-time > .spinner-border").addClass("d-none"),ne()};e.exports={initDatepicker:e=>{var t="";$.ajax({type:"GET",url:e,success:function(e){t=String(e).split(",")}}).then((function(){$("#date").datepicker({format:"yyyy-mm-dd",language:"cs",beforeShowDay:function(e){return t.indexOf((e=>{var t=String(e.getDate()),a=String(e.getMonth()+1);return 1===t.length&&(t="0"+t),1===a.length&&(a="0"+a),e.getFullYear()+"-"+a+"-"+t})(e))<0?{enabled:!1,tooltip:"Žádná data"}:{enabled:!0}},autoclose:!0})}))},initLocationsMenu:()=>{const e=$(".locations"),t="show";$(window).width()<=480?e.removeClass(t):e.addClass(t)},initMap:()=>{s=localStorage.getItem("lat")||s,p=localStorage.getItem("lng")||p,r=localStorage.getItem("zoom")||r,t=L.map("heatmap").setView([s,p],r),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:"",maxZoom:19}).addTo(t),t.on("click",(function(e){R(e)}))},onDocumentReady:function(){$("#dropdown-dataset").on("click",(function(e){e.stopPropagation()})),$("#btn-update-heatmap").prop("name",""),S(),T(),oe(),$(document).keydown((function(e){const{which:t}=e;37===t?(Z(),e.preventDefault()):39===t&&(q(),e.preventDefault())}))},checkDataSetsAvailability:e=>{$.ajax({type:"POST",url:e+"/"+W(),success:function(e){re(e)}})},loadCurrentTimeHeatmap:P,dragTimeline:()=>{const e=$("#player-time"),t=e.offset().left-e.parent().offset().left;if(t>=0&&t<=e.parent().width()){const a=Math.round(t/26);a!==i&&(e.attr("class","time hour-"+a),$("#player-time span").html(U(a)),J(a))}},setPreviousPageInPopup:()=>{const e=B(),t=g;g=(g+e-1)%e,V(t)},setNextPageInPopup:()=>{const e=B(),t=g;g=(g+1)%e,V(t)},previous:Z,next:q,toggleDayLock:()=>{f=!f,$("#player-date").toggleClass("lock")},changeAnimationState:()=>{const e=$("#animate-btn");(d=!d)?(e.removeClass("play").addClass("pause"),u=setInterval((function(){q()}),800)):(clearTimeout(u),e.removeClass("pause").addClass("play"))},onChangeHour:J,setMapView:function(e,a,n){localStorage.setItem("lat",e),localStorage.setItem("lng",a),localStorage.setItem("zoom",n),t.setView([e,a],n)}}}},t={};return function a(n){if(t[n])return t[n].exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}(6157)})();
(1-1/6)