var allitems = []; // array with all the items before filtering var items = []; // the items showed in the map, after the categories var categories = []; var allCheckbox = {checked: true}; function hexToRGBA(hex,opacity){ hex = hex.replace('#',''); r = parseInt(hex.substring(0,2), 16); g = parseInt(hex.substring(2,4), 16); b = parseInt(hex.substring(4,6), 16); result = 'rgba('+r+','+g+','+b+','+opacity+')'; return result; } function printFiltersList() { var html = ""; for (var property in categories) { if (categories.hasOwnProperty(property)) { html += `
`; } } document.getElementById("filtersList").innerHTML = html; } function getItem(id) { for(var i=0; i"; }else{ document.getElementById("rightCard-text").innerHTML = ""; } // gallery images if(item.properties.gallery_images.length>0) { var html = ""; html += `
`; document.getElementById("rightCard-text").innerHTML += html; } html = ""; for (var property in item.properties.categories) { if (item.properties.categories.hasOwnProperty(property)) { html += ``; } } document.getElementById("rightCard-categories").innerHTML = html; if(item.properties.pictureUrl) { document.getElementById("rightCard-img").src="https://map.komun.org/" + item.properties.pictureUrl; document.getElementById("rightCard-img").className = "card-img-top"; } else { document.getElementById("rightCard-img").src=""; document.getElementById("rightCard-img").className = "card-img-top hidden"; } if(item.properties.web) { document.getElementById("rightCard-web").href= item.properties.web; document.getElementById("rightCard-web").innerHTML = "Web"; } else { document.getElementById("rightCard-web").href="#"; document.getElementById("rightCard-web").innerHTML=""; } if(item.properties.mastodon) { document.getElementById("rightCard-mastodon").href= item.properties.mastodon; document.getElementById("rightCard-mastodon").innerHTML = ""; } else { document.getElementById("rightCard-mastodon").href="#"; document.getElementById("rightCard-mastodon").innerHTML=""; } if(item.properties.twitter) { document.getElementById("rightCard-twitter").href= item.properties.twitter; document.getElementById("rightCard-twitter").innerHTML = ""; } else { document.getElementById("rightCard-twitter").href="#"; document.getElementById("rightCard-twitter").innerHTML=""; } if(item.properties.facebook) { document.getElementById("rightCard-facebook").href= item.properties.facebook; document.getElementById("rightCard-facebook").innerHTML = ""; } else { document.getElementById("rightCard-facebook").href="#"; document.getElementById("rightCard-facebook").innerHTML=""; } if(item.properties.telegram) { document.getElementById("rightCard-telegram").href= item.properties.telegram; document.getElementById("rightCard-telegram").innerHTML = ""; } else { document.getElementById("rightCard-telegram").href="#"; document.getElementById("rightCard-telegram").innerHTML=""; } if(item.properties.email) { document.getElementById("rightCard-email").href= "mailto:" + item.properties.email; document.getElementById("rightCard-email").innerHTML = ""; } else { document.getElementById("rightCard-email").href="#"; document.getElementById("rightCard-email").innerHTML=""; } document.getElementById("rightCard-text").innerHTML += "

"+item.properties.body+"

"; document.getElementById("rightCard").className+=" rightCard-show"; } function hideRightCard() { document.getElementById("rightCard").className ="card"; } function updateMarkers() { markers.clearLayers(); for(var i=0; i` // html: "" }); var marker = L.marker([lat, lon], {icon: icon}); marker.id = items[i].properties.slug; if(items[i].properties.description!=null) { marker.bindPopup(""+items[i].properties.name+"
"+items[i].properties.description+""); } else { marker.bindPopup(""+items[i].properties.name+""); } marker.on('mouseover', function(e) { this.openPopup(); }); marker.on('mouseout', function(e) { this.closePopup(); }); marker.on('click', function(e) { var item = getItem(this.id); placeid = this.id; console.log(item.properties.gallery_images); showRightCard(item); window.history.pushState({},"", "?lang="+lang+"&lat=" + lat + "&lon=" + lon + "&zoom=" + zoom + "&placeid=" + placeid); }); markers.addLayer(marker); } map.addLayer(markers); if (placeid!=="none") { var item = getItem(placeid); showRightCard(item); window.history.pushState({},"", "?lang="+lang+"&lat=" + lat + "&lon=" + lon + "&zoom=" + zoom + "&placeid=" + placeid); } } function updateFilter(selectedFilter) { if(categories[selectedFilter].checked===true) { categories[selectedFilter].checked = false; document.getElementById('check' + selectedFilter).checked = false; } else { categories[selectedFilter].checked = true; document.getElementById('check' + selectedFilter).checked = true; } applyFilters(); } function selectAllFilters() { if(allCheckbox.checked===true) { items = []; allCheckbox.checked = false; for (var property in categories) { if (categories.hasOwnProperty(property)) { categories[property].checked=false; document.getElementById('check' + property).checked = false; } } } else { items = JSON.parse(JSON.stringify(allitems)); allCheckbox.checked= true; for (var property in categories) { if (categories.hasOwnProperty(property)) { categories[property].checked=true; document.getElementById('check' + property).checked = true; } } } updateMarkers(); } function itemInItems(array, el) { for(var i=0;i
` + items[i].properties.name + `
3 days ago
`; if(items[i].properties.description!=null) { html += `

` + items[i].properties.description + `

`; } html += ` `; } html += ""; document.getElementById("searchResults").innerHTML = html; } function search() { var searchResults = []; var key = document.getElementById("searchinput").value.toUpperCase(); if(key=="") { document.getElementById("searchResults").innerHTML = ""; return; } for(var i=0; i