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"+item.properties.description+"";
}else{
document.getElementById("rightCard-text").innerHTML = "";
}
// gallery images
if(item.properties.gallery_images.length>0) {
var html = "";
html += `
`;
for(var i=0; i`;
} else {
html += ``;
}
}
html += `
`;
for(var i=0; i
`;
} else {
html += ``;
}
html += `
`;
}
html += `
Previous
Next
`;
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";
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