jQuery(document).ready(function($) { // get URL parameters urlParams = new URLSearchParams(window.location.search); paramYear = (urlParams.get('years') == null ? urlParams.getAll('year') : urlParams.getAll('years')); paramMonth = (urlParams.get('months') == null ? urlParams.getAll('month') : urlParams.getAll('months')); paramDimension = (urlParams.get('dimensions') == null ? urlParams.getAll('dimension') : urlParams.getAll('dimensions')); paramGenre = (urlParams.get('genres') == null ? urlParams.getAll('genre') : urlParams.getAll('genres')); paramTheme = (urlParams.get('themes') == null ? urlParams.getAll('theme') : urlParams.getAll('themes')); paramPlace = (urlParams.get('places') == null ? urlParams.getAll('place') : urlParams.getAll('places')); paramTag = (urlParams.get('tags') == null ? urlParams.getAll('tag') : urlParams.getAll('tags')); paramPhoto = (urlParams.get('photos') == null ? urlParams.getAll('photo') : urlParams.getAll('photos')); paramHelp = (urlParams.get('helps') == null ? urlParams.getAll('help') : urlParams.getAll('helps')); $.getJSON("data.json", function(data) { /**********/ /** MENU **/ /**********/ //var dimensions = []; var genres = []; var themes = []; var places = []; var tags = []; function generateMenu() { for (i of data) { /*if (dimensions.indexOf(i.dimension) === -1 && i.dimension != "" && i.dimension != "—") dimensions.push(i.dimension);*/ if (genres.indexOf(i.genre) === -1 && i.genre != "" && i.genre != "—") genres.push(i.genre); if (themes.indexOf(i.theme) === -1 && i.theme != "" && i.theme != "—") themes.push(i.theme); if (places.indexOf(i.place) === -1 && i.place != "" && i.place != "—") places.push(i.place); if (tags.indexOf(i.tags) === -1 && i.tags != "" && i.tags != "—") { splitTags = i.tags.split(", "); for (splitTag of splitTags) { if (tags.indexOf(splitTag) === -1) { tags.push(splitTag); } } } } //dimensions.sort(); genres.sort(); themes.sort(); places.sort(); tags.sort(); /*for (dimension of dimensions) { html = '\n'; html += ''; $(".box.dimensions .item-cont").append(html); }*/ for (genre of genres) { html = '\n'; html += ''; $(".box.genres .item-cont").append(html); } for (theme of themes) { html = '\n'; html += ''; $(".box.themes .item-cont").append(html); } //$(".box.places select").append('\n'; html += ''; $(".box.places .item-cont").append(html); //$(".box.places select").append('Aucun\n'; html += ''; $(".box.tags .item-cont").append(html); //$(".box.tags select").append('= 1950 && year <= 1959) return true; if (paramYear.includes("60s") && year >= 1960 && year <= 1969) return true; if (paramYear.includes("70s") && year >= 1970 && year <= 1979) return true; if (paramYear.includes("80s") && year >= 1980 && year <= 1989) return true; if (paramYear.includes("90s") && year >= 1990 && year <= 1999) return true; if (paramYear.includes("00s") && year >= 2000 && year <= 2009) return true; if (paramYear.includes("10s") && year >= 2010 && year <= 2020) return true; return false; } function checkMonth(month) { if (paramMonth == "all") return true; if (paramMonth.includes("01") && month == "Janvier") return true; if (paramMonth.includes("02") && month == "Février") return true; if (paramMonth.includes("03") && month == "Mars") return true; if (paramMonth.includes("04") && month == "Avril") return true; if (paramMonth.includes("05") && month == "Mai") return true; if (paramMonth.includes("06") && month == "Juin") return true; if (paramMonth.includes("07") && month == "Juillet") return true; if (paramMonth.includes("08") && month == "Août") return true; if (paramMonth.includes("09") && month == "Septembre") return true; if (paramMonth.includes("10") && month == "Octobre") return true; if (paramMonth.includes("11") && month == "Novembre") return true; if (paramMonth.includes("12") && month == "Décembre") return true; return false; } function checkDimension(dimension) { if (paramDimension == "all") return true; if (paramDimension.includes("18") && dimension.split("x")[0] >= 18 && dimension.split("x")[0] <= 19) return true; if (paramDimension.includes("20") && dimension.split("x")[0] >= 20 && dimension.split("x")[0] <= 29) return true; if (paramDimension.includes("30") && dimension.split("x")[0] >= 30 && dimension.split("x")[0] <= 39) return true; if (paramDimension.includes("40") && dimension.split("x")[0] >= 40 && dimension.split("x")[0] <= 49) return true; if (paramDimension.includes("50") && dimension.split("x")[0] >= 50 && dimension.split("x")[0] <= 59) return true; if (paramDimension.includes("60") && dimension.split("x")[0] >= 60 && dimension.split("x")[0] <= 69) return true; if (paramDimension.includes("70") && dimension.split("x")[0] >= 70 && dimension.split("x")[0] <= 79) return true; if (paramDimension.includes("80") && dimension.split("x")[0] >= 80 && dimension.split("x")[0] <= 89) return true; if (paramDimension.includes("90") && dimension.split("x")[0] >= 90 && dimension.split("x")[0] <= 99) return true; if (paramDimension.includes("100") && dimension.split("x")[0] >= 100 && dimension.split("x")[0] <= 109) return true; return false; } function checkGenre(genre) { if (paramGenre == "all") return true; if (paramGenre.includes(genre)) return true; return false; } function checkTheme(theme) { if (paramTheme == "all") return true; if (paramTheme.includes(theme)) return true; return false; } function checkPlace(place) { if (paramPlace == "all") return true; if (paramPlace.includes(place)) return true; return false; } function checkTag(tag) { if (paramTag == "all") return true; splitTag = tag.split(", "); for (t of splitTag) { if (paramTag.includes(t)) return true; } return false; } function checkPhoto(photo) { if (paramPhoto == "all") return true; if (paramPhoto.includes("none") && photo == "none") return true; if (paramPhoto.includes("bad") && photo == "bad") return true; if (paramPhoto.includes("ok") && photo == "ok") return true; if (paramPhoto.includes("good") && photo == "good") return true; return false; } function checkHelp(help) { if (paramHelp == "all") return true; if (paramHelp.includes("no") && help == "no") return true; if (paramHelp.includes("yes") && help == "yes") return true; return false; } function generateTable() { hasResult = false; numberOfItem = 0; for (i of data) { if (urlParams.toString() === "") // no parameter in URL res = false; else res = true; // check URL parameters and compute result if (paramYear != "") res &&= checkYear(i.year); if (paramMonth != "") res &&= checkMonth(i.month); if (paramDimension != "") res &&= checkDimension(i.dimension); if (paramGenre != "") res &&= checkGenre(i.genre); if (paramTheme != "") res &&= checkTheme(i.theme); if (paramPlace != "") res &&= checkPlace(i.place); if (paramTag != "") res &&= checkTag(i.tags); if (paramPhoto != "") res &&= checkPhoto(i.photo); if (paramHelp != "") res &&= checkHelp(i.help); if (!res) continue; hasResult = true; numberOfItem++; // table $("table").css("display", "block"); result = "