1var infoTelechargement; 2/** 3 * Fichier contenant les traitements JavaScript des nodes "base_de_donnees". 4 * 5 */ 6(function ($, window, undefined) { 7 wsUrl = function() { 8 var properties = {}; 9 10 $.ajaxSetup({ 11 async: false 12 }); 13 14 $.getJSON("/themes/custom/georisques/assets/dist/js/georisques_commun/web-service-urls.json", function (data) { 15 properties = data; 16 }); 17 18 $.ajaxSetup({ 19 async: true 20 }); 21 22 return properties.DOWNLOAD; 23 } 24 25 wsUrlTelechargement = function() { 26 var properties = {}; 27 28 $.ajaxSetup({ 29 async: false 30 }); 31 32 $.getJSON("/themes/custom/georisques/assets/dist/js/georisques_commun/web-service-urls.json", function (data) { 33 properties = data; 34 }); 35 36 $.ajaxSetup({ 37 async: true 38 }); 39 40 return properties.BASETELECHARGEMENT; 41 } 42 43 // fonction appelé en callback du ws telechargement 44 function callback(data) { 45 $("div.load-spinner").hide(); 46 $("div.bdd-choix-echelle").show(); 47 infoTelechargement = data; 48 49 // Supprime les elements liés à l'échelle nationale si pas d'info 50 if (infoTelechargement.national == null || infoTelechargement.national == undefined) { 51 $("div.bdd-echelle-nationale").remove(); 52 $("#bdd-button-national").remove(); 53 } 54 55 // Alimente select regional 56 if (infoTelechargement.regional != null && infoTelechargement.regional != undefined) { 57 var selectRegion = $("#bdd-select-region"); 58 var keysRegion = Object.keys(infoTelechargement.regional); 59 60 keysRegion.sort().forEach(function (item) { 61 selectRegion.append('<option value="' + item + '">' + item + "</option>"); 62 }); 63 } else { 64 // Supprime les elements liés à l'échelle regionale si pas d'info 65 $("div.bdd-echelle-regionale").remove(); 66 $("#bdd-button-regional").remove(); 67 } 68 69 // Alimente select departemental 70 if (infoTelechargement.departemental != null && infoTelechargement.departemental != undefined) { 71 var selectDepartement = $("#bdd-select-departement"); 72 var keysDepartement = Object.keys(infoTelechargement.departemental); 73 keysDepartement.sort().forEach(function (item) { 74 selectDepartement.append('<option value="' + item + '">' + item + "</option>"); 75 }); 76 } else { 77 // Supprime les elements liés à l'échelle departementale si pas d'info 78 $("div.bdd-echelle-departementale").remove(); 79 $("#bdd-button-departemental").remove(); 80 } 81 // Alimente select annuel 82 if (infoTelechargement.annuel != null && infoTelechargement.annuel != undefined) { 83 var selectAnnuel = $("#bdd-select-annuel"); 84 var keysAnnuel = Object.keys(infoTelechargement.annuel); 85 keysAnnuel.sort().forEach(function (item) { 86 selectAnnuel.append('<option value="' + item + '">' + item + (infoTelechargement.annuel[item] != null && infoTelechargement.annuel[item] != undefined ? '' : ' - Données non disponibles') + "</option>"); 87 }); 88 } else { 89 // Supprime les elements liés aux années si pas d'info 90 $("div.bdd-annuelle").remove(); 91 $("#bdd-button-annuel").remove(); 92 } 93 94 if ($('.bdd-choix-echelle button').length == 1) { 95 $("div.bdd-choix-echelle").remove(); 96 $("#back-button-telechargement").remove(); 97 $('.bdd-echelle-nationale, .bdd-echelle-regionale, .bdd-echelle-departementale, .bdd-annuelle').show(); 98 // $("div.bdd-telecharger-button a").addClass("btn-pink"); 99 $("div.bdd-telecharger-button").show(); 100 $("#bdd-echelle-regionale-select-format").hide() 101 $("#bdd-echelle-nationale-select-format").hide() 102 $("#bdd-echelle-departementale-select-format").hide() 103 104 if (infoTelechargement.national != null && infoTelechargement.national != undefined) { 105 $("#formatFichier").html(infoTelechargement.national.formatFichier); 106 $("#tailleFichier").html(getTailleFichier(infoTelechargement.national.tailleFichier)); 107 $("div.bdd-telecharger-button>div:nth-child(2)").show(); 108 $("div.bdd-telecharger-button a").attr("disabled", false); 109 $("div.bdd-telecharger-button a").removeClass("disabled"); 110 $("div.bdd-telecharger-button button").attr("disabled", false); 111 $("div.bdd-telecharger-button a").attr("href", infoTelechargement.national.lien); 112 } else { 113 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 114 $("div.bdd-telecharger-button a").attr("disabled", true); 115 $("div.bdd-telecharger-button a").addClass("disabled"); 116 $("div.bdd-telecharger-button button").attr("disabled", true); 117 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 118 } 119 } 120 } 121 122 123 function loadWSTelechargement() { 124 let base_key = $('.js-base-key').data('jsBaseKey'); 125 var url = wsUrl() + '/' + base_key + "?anneemin=2003"; 126 $.ajaxSetup({async:false}); 127 128 $.getJSON(url, function (data) { 129 if (data) { 130 callback(data); 131 } 132 }).fail(function () { 133 $("div.load-spinner").hide(); 134 $("div.bdd-erreur").show(); 135 $("div.bdd-echelle-nationale").remove(); 136 $("#bdd-button-national").remove(); 137 $("div.bdd-annuelle").remove(); 138 $("#bdd-button-annuel").remove(); 139 $("div.bdd-echelle-departementale").remove(); 140 $("#bdd-button-departemental").remove(); 141 $("div.bdd-echelle-regionale").remove(); 142 $("#bdd-button-regional").remove(); 143 $(".bdd-choix-echelle").remove(); 144 }); 145 } 146 147 148 function getTailleFichier(taille) { 149 var number = parseInt(taille); 150 151 if (number != NaN) { 152 return Math.round(number / 1000000 * 100) / 100 > 1 153 ? String(Math.round(number / 1000000 * 100) / 100) + " mo" 154 : String(Math.round(number / 1000 * 100) / 100) + " ko"; 155 } else { 156 return taille; 157 } 158 } 159 160 161 function alimenteSelect(key, info, afficherMessageVide) { 162 if (info != null && key != "" && info != "undefined" && key != "default") { 163 $("#formatFichier").html(info.formatFichier); 164 $("#tailleFichier").html(getTailleFichier(info.tailleFichier)); 165 $("div.bdd-telecharger-button>div:nth-child(2)").show(); 166 $("div.bdd-vide").hide(); 167 $("div.bdd-telecharger-button a").attr("disabled", false); 168 $("div.bdd-telecharger-button a").removeClass("disabled"); 169 $("div.bdd-telecharger-button button").attr("disabled", false); 170 // $("div.bdd-telecharger-button a").addClass("btn-pink"); 171 $("div.bdd-telecharger-button a").attr("href", info.lien); 172 } else { 173 if (key != "default" && afficherMessageVide) 174 $("div.bdd-vide").show(); 175 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 176 $("div.bdd-telecharger-button a").attr("disabled", true); 177 $("div.bdd-telecharger-button a").addClass("disabled"); 178 $("div.bdd-telecharger-button button").attr("disabled", true); 179 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 180 } 181 182 if (key == "" && typeof info == "undefined" && afficherMessageVide) { 183 $("div.bdd-vide").hide(); 184 } 185 } 186 187 188 function insertBackBtn() { 189 $('h1.h1_article').addClass('col-lg-8'); 190 $('.back_button').insertBefore($('h1.h1_article')); 191 $('.back_button').show(); 192 } 193 194 195 $(function () { 196 if($('#api_donnees_header_node').length){ 197 loadWSTelechargement(); 198 insertBackBtn(); 199 } 200 let base_key = $('.js-base-key').data('jsBaseKey'); 201 202 $('#bdd-button-national').on('click', function() { 203 $("div.bdd-choix-echelle").hide(); 204 $("#bdd-echelle-nationale-select-format").hide() 205 $("div.bdd-echelle-nationale").show(); 206 $("div.bdd-telecharger-button").show(); 207 $("#back-button-telechargement").show(); 208 afficherRechercheEchelleNationale(base_key); 209 }); 210 211 $('#back-button-telechargement').on('click', function() { 212 $("#back-button-telechargement").hide(); 213 $("div.bdd-choix-echelle").show(); 214 $("div.bdd-echelle-nationale").hide(); 215 $("div.bdd-echelle-regionale").hide(); 216 $("div.bdd-echelle-departementale").hide(); 217 $("div.bdd-annuelle").hide(); 218 $("div.bdd-telecharger-button").hide(); 219 $("div.bdd-vide").hide(); 220 $("#formatFichier").html(""); 221 $("#tailleFichier").html(""); 222 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 223 $("div.bdd-telecharger-button a").attr("disabled", true); 224 $("div.bdd-telecharger-button a").addClass("disabled"); 225 $("div.bdd-telecharger-button button").attr("disabled", true); 226 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 227 $("div.bdd-telecharger-button a").attr("href", ""); 228 }); 229 230 $('#bdd-button-regional').on('click', function() { 231 $("div.bdd-choix-echelle").hide(); 232 $("#bdd-echelle-regionale-select-format").hide() 233 $("div.bdd-echelle-regionale").show(); 234 $("div.bdd-telecharger-button").show(); 235 $("#back-button-telechargement").show(); 236 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 237 $("div.bdd-telecharger-button a").attr("disabled", true); 238 $("div.bdd-telecharger-button a").addClass("disabled"); 239 $("div.bdd-telecharger-button button").attr("disabled", true); 240 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 241 242 var keys = Object.keys(infoTelechargement.regional); 243 }) 244 245 $('#bdd-button-departemental').on('click', function() { 246 $("div.bdd-choix-echelle").hide(); 247 $("#bdd-echelle-departementale-select-format").hide() 248 $("div.bdd-echelle-departementale").show(); 249 $("div.bdd-telecharger-button").show(); 250 $("#back-button-telechargement").show(); 251 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 252 $("div.bdd-telecharger-button a").attr("disabled", true); 253 $("div.bdd-telecharger-button a").addClass("disabled"); 254 $("div.bdd-telecharger-button button").attr("disabled", true); 255 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 256 257 var keys = Object.keys(infoTelechargement.departemental); 258 }) 259 260 $('#bdd-button-annuel').on('click', function() { 261 $("div.bdd-choix-echelle").hide(); 262 $("div.bdd-annuelle").show(); 263 $("div.bdd-telecharger-button").show(); 264 $("#back-button-telechargement").show(); 265 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 266 $("div.bdd-telecharger-button a").attr("disabled", true); 267 $("div.bdd-telecharger-button a").addClass("disabled"); 268 $("div.bdd-telecharger-button button").attr("disabled", true); 269 // $("div.bdd-telecharger-button a").removeClass("btn-pink"); 270 271 var keys = Object.keys(infoTelechargement.annuel); 272 }); 273 274 $('#bdd-select-region').on('change', function() { 275 var info = infoTelechargement.regional[this.value]; 276 rechercherEchelleRegionale(this.value, base_key); 277 }) 278 279 $('#bdd-select-departement').on('change', function() { 280 var info = infoTelechargement.departemental[this.value]; 281 rechercherEchelleDepartementale(this.value, base_key); 282 }) 283 284 $('#bdd-select-annuel').on('change', function() { 285 var info = infoTelechargement.annuel[this.value]; 286 alimenteSelect(this.value, info, false); 287 }) 288 289 // Design des selects de la section "télécharger les données" 290 291 $('#bdd-select-departement').select2({ 292 placeholder: 'Sélectionner un département', 293 allowClear: true, 294 closeOnSelect: true, 295 language: { 296 noResults: function () { 297 return 'Aucun résultat'; 298 } 299 } 300 }); 301 302 $('#bdd-select-region').select2({ 303 placeholder: 'Sélectionner une région', 304 allowClear: true, 305 closeOnSelect: true, 306 language: { 307 noResults: function () { 308 return 'Aucun résultat'; 309 } 310 } 311 }); 312 313 $('#bdd-select-annuel').select2({ 314 placeholder: 'Sélectionner une année', 315 allowClear: true, 316 closeOnSelect: true, 317 language: { 318 noResults: function () { 319 return 'Aucun résultat'; 320 } 321 } 322 }); 323 324 if (base_key == 'alearg') { 325 if (document.referrer.includes(window.location.host)) { 326 $('#back-btn-argiles').attr('href', document.referrer); 327 } 328 } 329 330 function afficherRechercheEchelleNationale(base_key) { 331 var selectedFormat = null; 332 var selectFormats = $("#bdd-echelle-nationale-select-format > select"); 333 334 _disableSelectList(selectFormats); 335 _hideNoResultsMessage(); 336 _disableDowloadButton(); 337 _hideDownloadButton(); 338 $("#bdd-echelle-nationale-select-format").hide(); 339 340 var url = wsUrlTelechargement() + "/formats/" + base_key + "?echelle=nationale"; 341 $.ajax({ 342 url: url, 343 async: false, 344 success: function (data) { 345 var listeFormatsDisponibles = data['formats']; 346 if (listeFormatsDisponibles.length === 0) { 347 _showNoResultsMessage(); 348 } 349 else if (listeFormatsDisponibles.length === 1) { 350 selectedFormat = listeFormatsDisponibles[0]; 351 352 $("#bdd-echelle-nationale-select-format option:not(:first-child)").remove(); 353 selectFormats.append("<option value=" + selectedFormat + ">" + selectedFormat.toUpperCase() + "</option>");
354 _disableSelectList(selectFormats, 1); 355 356 var url = wsUrlTelechargement() + "/formats/" + selectedFormat + "/" + base_key + "?echelle=nationale"; 357 $.ajax({ 358 url: url, 359 async: false, 360 success: function (data) { 361 var formatFichier = data[0]['formatFichier']; 362 var tailleFichier = data[0]['tailleFichier']; 363 var lienFichier = data[0]['lienFichier']; 364 365 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 366 }, 367 error: function () { } 368 }); 369 } 370 else { 371 $("#bdd-echelle-nationale-select-format option:not(:first-child)").remove(); 372 listeFormatsDisponibles.forEach(function (item) { selectFormats.append("<option value=" + item + ">" + item.toUpperCase() + "</option>"); }); 373 _enableSelectList(selectFormats); 374 $("#bdd-echelle-nationale-select-format").show(); 375 selectFormats.on('change', function (event) { 376 var format = event.target.value; 377 378 _disableDowloadButton(); 379 _hideDownloadButton(); 380 381 if (listeFormatsDisponibles.indexOf(format) >= 0) { 382 var url = wsUrlTelechargement() + "/formats/" + format + "/" + base_key + "?echelle=nationale"; 383 $.ajax({ 384 url: url, 385 async: false, 386 success: function (data) { 387 var formatFichier = data[0]['formatFichier']; 388 var tailleFichier = data[0]['tailleFichier']; 389 var lienFichier = data[0]['lienFichier']; 390 391 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 392 }, 393 error: function () { } 394 }); 395 } 396 }); 397 } 398 }, 399 error: function () { } 400 }); 401 } 402 403 function rechercherEchelleRegionale(region, base_key) { 404 405 var selectedFormat = null; 406 var selectFormats = $("#bdd-echelle-regionale-select-format>select"); 407 _disableSelectList(selectFormats); 408 _hideNoResultsMessage(); 409 $("#bdd-echelle-regionale-select-format").hide(); 410 _disableDowloadButton(); 411 var selectedRegion = region.slice(0,2); 412 413 var url = wsUrlTelechargement() + "/formats/" + base_key + "?echelle=regionale&codeRegion=" + selectedRegion; 414 $.ajax({ 415 url: url, 416 async: false, 417 success: function (data) { 418 var listeFormatsDisponibles = data['formats']; 419 if (listeFormatsDisponibles.length === 0) { 420 _showNoResultsMessage(); 421 } 422 else if (listeFormatsDisponibles.length === 1) { 423 selectedFormat = listeFormatsDisponibles[0]; 424 425 $("#bdd-echelle-regionale-select-format option:not(:first-child)").remove(); 426 selectFormats.append("<option value=" + selectedFormat + ">" + selectedFormat.toUpperCase() + "</option>"); 427 _disableSelectList(selectFormats, 1); 428 429 var url = wsUrlTelechargement() + "/formats/" + selectedFormat + "/" + base_key + "?echelle=regionale&codeRegion=" + selectedRegion; 430 $.ajax({ 431 url: url, 432 async: false, 433 success: function (data) { 434 var formatFichier = data[0]['formatFichier']; 435 var tailleFichier = data[0]['tailleFichier']; 436 var lienFichier = data[0]['lienFichier']; 437 438 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 439 }, 440 error: function () { } 441 }); 442 } 443 else { 444 $("#bdd-echelle-regionale-select-format option:not(:first-child)").remove();
445 listeFormatsDisponibles.forEach(function (elm) { selectFormats.append("<option value=" + elm + ">" + elm.toUpperCase() + "</option>"); }); 446 _enableSelectList(selectFormats); 447 $("#bdd-echelle-regionale-select-format").show(); 448 selectFormats.on('change', function (event) { 449 selectedFormat = event.target.value; 450 451 _disableDowloadButton(); 452 _hideDownloadButton(); 453 454 if (listeFormatsDisponibles.indexOf(selectedFormat) >= 0) { 455 var url = wsUrlTelechargement() + "/formats/" + selectedFormat + "/" + base_key + "?echelle=regionale&codeRegion=" + selectedRegion; 456 $.ajax({ 457 url: url, 458 async: false, 459 success: function (data) { 460 var formatFichier = data[0]['formatFichier']; 461 var tailleFichier = data[0]['tailleFichier']; 462 var lienFichier = data[0]['lienFichier']; 463 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 464 }, 465 error: function () { } 466 }); 467 } 468 }); 469 } 470 }, 471 error: function () { } 472 }); 473 } 474 475 function rechercherEchelleDepartementale(departement, base_key) { 476 477 var selectedFormat = null; 478 var selectFormats = $("#bdd-echelle-departementale-select-format > select") 479 480 $("#bdd-echelle-departementale-select-format").hide(); 481 _disableSelectList(selectFormats, 1); 482 _disableDowloadButton(); 483 _hideNoResultsMessage(); 484 departement_string = departement.split(' - '); 485 var selectedDept = departement_string[0]; 486 487 var url = wsUrlTelechargement() + "/formats/" + base_key + "?echelle=departementale&codeDepartement=" + selectedDept; 488 489 $.ajax({ 490 url: url, 491 async: false, 492 success: function (data) { 493 var listeFormatsDisponibles = data['formats']; 494 if (listeFormatsDisponibles.length === 0) { 495 _showNoResultsMessage(); 496 } 497 else if (listeFormatsDisponibles.length === 1) { 498 selectedFormat = listeFormatsDisponibles[0]; 499 500 $("#bdd-echelle-departementale-select-format option:not(:first-child)").remove(); 501 selectFormats.append("<option value=" + selectedFormat + ">" + selectedFormat.toUpperCase() + "</option>"); 502 _disableSelectList(selectFormats, 1); 503 504 var url = wsUrlTelechargement() + "/formats/" + selectedFormat + "/" + base_key + "?echelle=departementale&codeDepartement=" + selectedDept; 505 $.ajax({ 506 url: url, 507 async: false, 508 success: function (data) { 509 var formatFichier = data[0]['formatFichier']; 510 var tailleFichier = data[0]['tailleFichier']; 511 var lienFichier = data[0]['lienFichier']; 512 513 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 514 }, 515 error: function () { } 516 }); 517 } 518 else { 519 $("#bdd-echelle-departementale-select-format option:not(:first-child)").remove(); 520 listeFormatsDisponibles.forEach(function (elm) { selectFormats.append("<option value=" + elm + ">" + elm.toUpperCase() + "</option>"); }); 521 _enableSelectList(selectFormats); 522 $("#bdd-echelle-departementale-select-format").show(); 523 selectFormats.on('change', function (event) { 524 selectedFormat = event.target.value; 525 _disableDowloadButton(); 526 _hideDownloadButton(); 527 528 if (listeFormatsDisponibles.indexOf(selectedFormat) >= 0) { 529 var url = wsUrlTelechargement() + "/formats/" + selectedFormat + "/" + base_key + "?echelle=departementale&codeDepartement=" + selectedDept; 530 $.ajax({ 531 url: url, 532 async: false, 533 success: function (data) { 534 var formatFichier = data[0]['formatFichier']; 535 var tailleFichier = data[0]['tailleFichier']; 536 var lienFichier = data[0]['lienFichier']; 537 538 _enableDownloadButton(formatFichier, tailleFichier, lienFichier); 539 }, 540 error: function () { } 541 }); 542 } 543 }); 544 } 545 }, 546 error: function () { } 547 }); 548 } 549 550 function _enableSelectList(elm) { 551 elm.prop("selectedIndex", 0); 552 elm.attr("disabled", false); 553 elm.removeClass("disabled"); 554 elm.select2({ 555 allowClear: true, 556 closeOnSelect: true 557 }); 558 } 559 560 function _disableSelectList(elm, index) { 561 elm.prop("selectedIndex", index ? index : 0); 562 elm.attr("disabled", true); 563 elm.addClass("disabled"); 564 } 565 566 function _hideDownloadButton() { 567 $(".bdd-telecharger-button").hide(); 568 } 569 570 function _enableDownloadButton(formatFichier, tailleFichier, lienFichier) { 571 $(".bdd-telecharger-button").show(); 572 $("div.bdd-telecharger-button>div:nth-child(2)").show(); 573 $("div.bdd-vide").hide(); 574 $("div.bdd-telecharger-button a").attr("disabled", false); 575 $("div.bdd-telecharger-button a").removeClass("disabled"); 576 $("div.bdd-telecharger-button button").attr("disabled", false); 577 // $("div.bdd-telecharger-button a").addClass("btn-pink"); 578 579 $("#formatFichier").html(formatFichier); 580 $("#tailleFichier").html(getTailleFichier(tailleFichier)); 581 $("div.bdd-telecharger-button a").attr("href", lienFichier); 582 } 583 584 function _disableDowloadButton() { 585 $("div.bdd-telecharger-button>div:nth-child(2)").hide(); 586 $("div.bdd-telecharger-button a").attr("disabled", true); 587 $("div.bdd-telecharger-button a").addClass("disabled"); 588 $("div.bdd-telecharger-button button").attr("disabled", true); 589 $("div.bdd-telecharger-button a").removeClass("btn-pink"); 590 } 591 592 function _showNoResultsMessage() { 593 $(".bdd-vide").show(); 594 } 595 596 function _hideNoResultsMessage() { 597 $(".bdd-vide").hide(); 598 } 599 }); 600})(jQuery, this);
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.