1document.addEventListener("DOMContentLoaded", function () { 2 var listeEdition = document.querySelectorAll("#pref_edition>li>a"); 3 /* if (document.querySelector("#pref_edition .active")) { 4 var editionActive = document.querySelector("#pref_edition .active").getAttribute("data-commune"); 5 document.querySelector("#articlesEdition>.plus-btn").setAttribute("href", "actualites-" + editionActive + ".html"); 6 } */ 7 for (let i = 0; i < listeEdition.length; i++) { 8 listeEdition[i].addEventListener("click", function (event) { 9 event.preventDefault(); 10 let edition = this.getAttribute("data-id-commune"); 11 let nom_commune = this.getAttribute("data-commune"); 12 if (document.querySelector("#pref_edition .active")) { 13 document.querySelector("#pref_edition .active").classList.remove("active"); 14 } 15 this.parentNode.classList.add("active"); 16 updateListeArticleEdition(edition, nom_commune); 17 }); 18 } 19 var showInfoEdition = document.querySelector("#infoEdition"); 20 if (showInfoEdition) { 21 showInfoEdition.addEventListener("click", function () { 22 document.querySelector("#sectionEdition .indexBlocChoice .wrapper").classList.add("show"); 23 }); 24 document.querySelector("#wrapperClose").addEventListener("click", function () { 25 document.querySelector("#sectionEdition .indexBlocChoice .wrapper").classList.remove("show"); 26 }); 27 } 28 var deleteCommune = document.querySelectorAll(".deleteCommune"); 29 for (let i = 0; i < deleteCommune.length; i++) { 30 deleteCommune[i].addEventListener("click", function (e) { 31 e.preventDefault(); 32 this.parentNode.remove(); 33 refreshArticleCommunes(); 34 }); 35 } 36}); 37 38 39 40function updateListeArticleEdition(edition, nomEdition) { 41 var exclude = document.getElementById("article_dbl").value; 42 var request = new XMLHttpRequest(); 43 request.open("post", "ajax/updateListeArticleEdition.php?exclude=" + exclude, true); 44 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 45 request.send("edition=" + edition); 46 request.onreadystatechange = function () { 47 if (request.readyState == 4 && request.status == 200) { 48 if (request.response) { 49 var data = JSON.parse(request.response); 50 if (!Array.isArray(data) || data.length === 0) { 51 return; 52 } 53 var secondeDiv = document.querySelector("#articlesEdition2"); 54 if (!secondeDiv) { 55 return; 56 } 57 var secondeBigArt = secondeDiv.querySelector(".articlePrincipal"); 58 var mainArticle = data[0]; 59 secondeBigArt.querySelector(".article_img").classList.add("lds-dual-ring"); 60 secondeBigArt.querySelector("img").addEventListener("load", function () { 61 secondeBigArt.querySelector(".article_img").classList.remove("lds-dual-ring"); 62 }); 63 document.querySelector("#articlesEdition2>a").setAttribute("href", mainArticle.url); 64 secondeBigArt.querySelector(".commune_info").innerHTML = mainArticle.categorie; 65 if (mainArticle.total_com) { 66 secondeBigArt.querySelector(".commune_info").dataset.comment = mainArticle.total_com; 67 } else { 68 delete secondeBigArt.querySelector(".commune_info").dataset['comment']; 69 } 70 71 if (mainArticle.surtitre != "") { 72 secondeBigArt.querySelector(".article_titre").innerHTML = mainArticle.surtitre + ". " + mainArticle.titre; 73 } else { 74 secondeBigArt.querySelector(".article_titre").innerHTML = mainArticle.commune + ". " + mainArticle.titre; 75 } 76 if (mainArticle.etat === "melody") { 77 secondeBigArt.querySelector(".article_titre").classList.add("lock-p"); 78 secondeBigArt.querySelector(".article_titre").innerHTML = secondeBigArt.querySelector("h2").innerHTML; 79 } 80 secondeBigArt.querySelector("p").innerHTML = mainArticle.chapo; 81 secondeBigArt.querySelector("img").setAttribute("src", mainArticle.photo); 82 83 var columnArt = secondeDiv.querySelectorAll("#articlesEdition2 .native-slider .native-slider-slide"); 84 for (let i = 0; i < columnArt.length; i++) { 85 let itemArticle = data[i + 1]; 86 if (!itemArticle) { 87 break; 88 }
89 columnArt[i].classList.add("lds-dual-ring"); 90 let column = columnArt[i]; 91 columnArt[i].querySelector("img").addEventListener("load", function () { 92 column.classList.remove("lds-dual-ring"); 93 }); 94 columnArt[i].querySelector("a").setAttribute("href", itemArticle.url); 95 96 columnArt[i].querySelector(".commune_info").innerHTML = itemArticle.categorie; 97 if (itemArticle.total_com) { 98 columnArt[i].querySelector(".commune_info").dataset.comment = itemArticle.total_com; 99 } else { 100 delete columnArt[i].querySelector(".commune_info").dataset['comment']; 101 } 102 103 if (itemArticle.surtitre != "") { 104 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.surtitre + ". " + itemArticle.titre; 105 } else { 106 if (itemArticle.commune != "") {
107 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.commune + ". " + itemArticle.titre; 108 } else { 109 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.titre; 110 } 111 } 112 if (itemArticle.etat === "melody") { 113 columnArt[i].querySelector(".article_titre").classList.add("lock-p"); 114 columnArt[i].querySelector(".article_titre").innerHTML = columnArt[i].querySelector("h2").innerHTML; 115 } 116 columnArt[i].querySelector("img").setAttribute("src", itemArticle.photo); 117 } 118 } 119 } 120 } 121} 122 123function lookupIndex(inputString) { 124 if (inputString.length == 0) { 125 // Hide the suggestion box. 126 document.querySelector('#suggestions').style.display = "none"; 127 } else { 128 var request = new XMLHttpRequest(); 129 request.open("get", "ajax/listeCommunes2020.php?queryString=" + inputString + "&bychar=true", true); 130 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 131 request.onreadystatechange = function () { 132 document.querySelector('#autoSuggestionsList').innerHTML = ""; 133 if (request.readyState == 4 && request.status == 200) { 134 if (request.response) { 135 var data = JSON.parse(request.response); 136 for (let i = 0; i < data.length; i++) { 137 var li = document.createElement("li"); 138 li.setAttribute("onclick", "addCommune('" + data[i].nom_commune.replace("'", "\\'") + "', '" + data[i].commune + "');"); 139 li.append(data[i].nom_commune); 140 document.querySelector('#autoSuggestionsList').append(li); 141 } 142 document.querySelector('#suggestions').style.display = "block"; 143 } 144 } 145 } 146 request.send(null); 147 148 149 } 150} // lookup 151function fillIndex(thisValue) { 152 if (thisValue != undefined) { 153 document.querySelector('#inputString').value = thisValue; 154 } else { 155 document.querySelector('#inputString').value = ""; 156 } 157 setTimeout("document.querySelector('#suggestions').style.display = 'none';", 200); 158} 159 160function addCommune(nom, insee) { 161 var listeCommune = document.querySelector("#ulCommunes").querySelectorAll("li"); 162 for (let i = 0; i < listeCommune.length; i++) { 163 if (listeCommune[i].getAttribute("data-commune") == insee) { 164 return; 165 } 166 } 167 var ul = document.querySelector("#ulCommunes"); 168 var li = document.createElement("li"); 169 var a = document.createElement("a"); 170 a.setAttribute("title", "Supprimer la commune") 171 a.setAttribute("data-commune", insee) 172 var svg = document.createElementNS("http://www.w3.org/2000/svg", 'svg'); 173 svg.setAttribute("width", "16"); 174 svg.setAttribute("height", "16"); 175 svg.setAttribute("viewBox", "0 0 48 48"); 176 var path1 = document.createElementNS("http://www.w3.org/2000/svg", "path"); 177 path1.setAttribute("d", "M38 12.83l-2.83-2.83-11.17 11.17-11.17-11.17-2.83 2.83 11.17 11.17-11.17 11.17 2.83 2.83 11.17-11.17 11.17 11.17 2.83-2.83-11.17-11.17z"); 178 svg.append(path1); 179 li.setAttribute("data-commune", insee); 180 li.append(nom); 181 a.appendChild(svg); 182 li.append(a); 183 ul.append(li); 184 a.addEventListener("click", function (e) { 185 e.preventDefault(); 186 this.parentNode.remove(); 187 refreshArticleCommunes(); 188 }); 189 refreshArticleCommunes(); 190} 191 192 193function refreshArticleCommunes() { 194 195 var listeCommune = document.querySelector("#ulCommunes").querySelectorAll("li"); 196 var ajoutUrl = ""; 197 var exclude = document.getElementById("article_dbl").value; 198 for (let i = 0; i < listeCommune.length; i++) { 199 ajoutUrl += listeCommune[i].getAttribute("data-commune") + ","; 200 } 201 var request = new XMLHttpRequest(); 202 request.open("get", "ajax/articlesCommunes.php?communes=" + ajoutUrl + "&exclude=" + exclude, true); 203 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 204 request.onreadystatechange = function () { 205 if (request.readyState == 4 && request.status == 200) { 206 if (request.response) { 207 //document.querySelector("#articleCommunesRefresh").innerHTML = request.response; 208 209 var data = JSON.parse(request.response); 210 var articleCommunesRefresh = document.querySelector("#articleCommunesRefresh"); 211 var articlePrincipal = articleCommunesRefresh.querySelector(".articlePrincipal"); 212 var slider = articleCommunesRefresh.querySelector(".native-slider-ctn"); 213 214 if (data.length < 2 ) { // 0 ou 1 article, on supprime le slider 215 if (slider != null) {
216 slider.closest(".native-slider").remove(); 217 } 218 } 219 if (data.length < 1 ) { // Pas d'article, on supprime l'article principal 220 if (articlePrincipal != null) { 221 articlePrincipal.closest('a').remove(); 222 } 223 } 224 225 if (data.length > 0) { 226 if (articlePrincipal == null) { // On crée l'article principal, s'il n'existe pas 227 let articlePrincipalHtml = `<a href=""> 228 <div class="article_obj articlePrincipal"> 229 <div class="row no-gutters-sm"> 230 <div class="col-lg-8 article_img"> 231 <img class="media" loading="lazy" src="" width="586" height="390" alt=""> 232 </div> 233 <div class="col-lg-4"> 234 <div class="minArticle"> 235 <div class="commune_info"></div> 236 <h2 class="article_titre"></h2> 237 <p class="article_chapo"></p> 238 </div> 239 </div> 240 </div> 241 </div> 242 </a>`; 243 244 const parser = new DOMParser(); 245 articlePrincipal = parser.parseFromString(articlePrincipalHtml, "text/html"); 246 articlePrincipal = articlePrincipal.querySelector("a"); 247 articleCommunesRefresh.append(articlePrincipal); 248 } 249 250 // On ajoute/remplace le contenu du bloc article principal 251 articlePrincipal.querySelector(".article_img").classList.add("lds-dual-ring"); 252 articlePrincipal.querySelector("img").addEventListener("load", function () { 253 articlePrincipal.querySelector(".article_img").classList.remove("lds-dual-ring"); 254 }); 255 articlePrincipal.closest("a").setAttribute("href", data[0].url); 256 articlePrincipal.querySelector(".commune_info").innerHTML = data[0].categorie; 257 if (data[0].total_com) { 258 articlePrincipal.querySelector(".commune_info").dataset.comment = data[0].total_com; 259 } else { 260 delete articlePrincipal.querySelector(".commune_info").dataset['comment']; 261 } 262 263 if (data[0].surtitre != "") { 264 articlePrincipal.querySelector(".article_titre").innerHTML = data[0].surtitre + ". " + data[0].titre; 265 } else { 266 articlePrincipal.querySelector(".article_titre").innerHTML = data[0].commune + ". " + data[0].titre; 267 } 268 if (data[0].etat === "melody") { 269 articlePrincipal.querySelector(".article_titre").classList.add("lock-p"); 270 articlePrincipal.querySelector(".article_titre").innerHTML = articlePrincipal.querySelector("h2").innerHTML; 271 } 272 articlePrincipal.querySelector("p").innerHTML = data[0].chapo; 273 articlePrincipal.querySelector("img").setAttribute("src", data[0].photo); 274 275 // On traite les autres articles 276 if (data.length > 1) { 277 if (slider == null) { // On crée le slider, s'il n'existe pas 278 let nativeslider = document.createElement("div"); 279 nativeslider.classList.add("native-slider"); 280 nativeslider.setAttribute("data-nb-shown", "0"); 281 nativeslider.setAttribute("data-nb-shown-sm", "1"); 282 nativeslider.setAttribute("data-nb-shown-md", "3"); 283 nativeslider.setAttribute("data-gap", "30"); 284 let nativesliderctn = document.createElement("div"); 285 nativesliderctn.classList.add("native-slider-ctn"); 286 nativeslider.append(nativesliderctn); 287 articleCommunesRefresh.append(nativeslider); 288 slider = articleCommunesRefresh.querySelector(".native-slider-ctn"); 289 } 290 291 // Bloc slide (article) 292 let sliderSlideHtml = `<div class="col-lg-4 native-slider-slide"> 293 <div class="minArticle"> 294 <a href=""> 295 <img class="media" loading="lazy" src="" width="278" height="185" alt="le pian-médoc. Nuit d'horreur au Pian-Médoc"> 296 <div class="commune_info">Actualités</div> 297 <h2 class="article_titre lock-p-open"></h2> 298 </a> 299 </div> 300 </div>`; 301 302 303 let columnArt = slider.querySelectorAll(".native-slider-slide"); 304 let nbSlide = columnArt.length; 305 let nbArticleJson = data.length - 1; // on enlève l'article principal pour le compte (1, 2, 3 ...) 306 307 if (nbSlide < nbArticleJson) { // Si le nb d'articles dans le slider est inférieur au nb d'articles à afficher, on crée les blocs 308 let nbSlideToAdd = nbArticleJson - nbSlide; 309 for (let i = 0; i < nbSlideToAdd; i++) { 310 const parser = new DOMParser(); 311 let sliderSlide = parser.parseFromString(sliderSlideHtml, "text/html"); 312 slider.append(sliderSlide.querySelector(".native-slider-slide")); 313 } 314 315 initCarrousel(slider); 316 } else if (nbSlide > nbArticleJson) { // S'il y a trop de blocs, on les supprime 317 for (let i = nbArticleJson; i < nbSlide; i++) {
318 columnArt[i].remove(); 319 } 320 } 321 322 // On ajoute/remplace le contenu des blocs slide 323 columnArt = slider.querySelectorAll(".native-slider-slide"); 324 for (let i = 0; i < columnArt.length; i++) { 325 let itemArticle = data[i + 1]; 326 columnArt[i].classList.add("lds-dual-ring"); 327 let column = columnArt[i]; 328 columnArt[i].querySelector("img").addEventListener("load", function () { 329 column.classList.remove("lds-dual-ring"); 330 }); 331 columnArt[i].querySelector("a").setAttribute("href", itemArticle.url); 332 333 columnArt[i].querySelector(".commune_info").innerHTML = itemArticle.categorie; 334 if (itemArticle.total_com) { 335 columnArt[
335i].querySelector(".commune_info").dataset.comment = itemArticle.total_com; 336 } else { 337 delete columnArt[i].querySelector(".commune_info").dataset['comment']; 338 } 339 340 if (itemArticle.surtitre != "") { 341 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.surtitre + ". " + itemArticle.titre; 342 } else { 343 if (itemArticle.commune != "") { 344 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.commune + ". " + itemArticle.titre; 345 } else { 346 columnArt[i].querySelector(".article_titre").innerHTML = itemArticle.titre; 347 } 348 } 349 if (itemArticle.etat === "melody") { 350 columnArt[i].querySelector(".article_titre").classList.add("lock-p");
351 columnArt[i].querySelector(".article_titre").innerHTML = columnArt[i].querySelector("h2").innerHTML; 352 } 353 columnArt[i].querySelector("img").setAttribute("src", itemArticle.photo); 354 } 355 } 356 } 357 358 } 359 } 360 } 361 request.send(null); 362 363}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.