1(function ($) { 2 $(document).ready(function () { 3 $(".accordion-el").click(function () { 4 if ($(".accordion-el", this).hasClass("collapsed")) { 5 $("i.fas", this).toggleClass("fa-chevron-down") 6 } else { 7 $("i.fas", this).toggleClass("fa-chevron-up") 8 } 9 }) 10 11 $(".home_slider").slick({ 12 dots: true, 13 prevArrow: false, 14 nextArrow: false, 15 infinite: true, 16 autoplay: true, 17 autoplaySpeed: 4000, 18 fade: true, 19 cssEase: "linear", 20 }) 21 22 /* 23 Per le scuole filter 24 */ 25 26 var f_reg_pls = "" 27 var f_set_pls = "" 28 var f_tip_pls = "" 29 var f_alf_pls = "" 30 31 $('#filter-regione-per-le-scuole').on('change', function() { 32 f_reg_pls = this.value 33 filterPerLeScuole() 34 }); 35 36 $('#filter-settori-per-le-scuole').on('change', function() { 37 f_set_pls = this.value 38 filterPerLeScuole() 39 }); 40 41 $('#filter-tipologie-per-le-scuole').on('change', function() { 42 f_tip_pls = this.value 43 filterPerLeScuole() 44 }); 45 46 $('#filter-alfabetico-per-le-scuole').on('change', function() { 47 f_alf_pls = this.value 48 filterPerLeScuole() 49 }); 50 51 $("#per-le-scuole-input").on("keyup", function() { 52 var inputText = $(this).val().toUpperCase(); 53 54 if(inputText !== ''){ 55 $("#risultati").css("display","block") 56 } else { 57 $("#risultati").css("display","none") 58 } 59 60 $("#risultati > [data-title]").each(function() { 61 var title = $(this).attr("data-title"); 62 if (title.toUpperCase().indexOf(inputText) > -1) { 63 $(this).show(); 64 } else { 65 $(this).hide(); 66 } 67 }); 68 }); 69 70 function filterPerLeScuole(){ 71 $.ajax({ 72 url: siteUrl + "/api/filter-per-le-scuole.php", 73 type: "POST", 74 data: { 75 regione: f_reg_pls, 76 settore: f_set_pls, 77 tipologia: f_tip_pls, 78 lettera: f_alf_pls, 79 }, 80 dataType: "html", 81 success: function (data) { 82 $("#per-le-scuole-container").html(data) 83 }, 84 error: function (request, error) { 85 alert("Errore imprevisto") 86 console.log(error) 87 console.log(request) 88 }, 89 }) 90 } 91 92 // end per le scuole filter 93 94 // **** INIZIATIVE **** // 95 // Tipologia 96 var type = "" 97 setType = (passedType) => { 98 type = passedType 99 let dropReplace = '' 100 if(language == 'it_IT'){ 101 dropReplace = 'TIPOLOGIA ' 102 } else if(language == 'en_GB') { 103 dropReplace = 'TYPE ' 104 } 105 if (type == "tutte") { 106 $("#dropdown-tipologia").html(dropReplace) 107 } else { 108 $("#dropdown-tipologia").html(type) 109 } 110 ajaxRequest() 111 } 112 113 // Anno 114 var year = "" 115 setYear = (passedYear) => { 116 year = passedYear 117 let dropReplace = '' 118 if(language == 'it_IT'){ 119 dropReplace = 'ANNO ' 120 } else if(language == 'en_GB') { 121 dropReplace = 'YEAR ' 122 } 123 if (year == "tutti") { 124 $("#dropdown-anno").html(dropReplace) 125 } else { 126 $("#dropdown-anno").html(year) 127 } 128 ajaxRequest() 129 } 130 131 // Ricerca testuale 132 var search = "" 133 $("#iniziative-input").on("input", () => { 134 search = $("#iniziative-input").val() 135 }) 136 $("#iniziative-input").bind("enterKey", (e) => { 137 search = e.target.value 138 ajaxRequest() 139 }) 140 $("#iniziative-input").keydown(function (e) { 141 if (e.keyCode == 13) { 142 $(this).trigger("enterKey") 143 } 144 }) 145 146 var ppp = 4 // Post per page 147 var pageNumber = 1 148 149 var typeForPag = "" 150 // Fetch con AJAX 151 function ajaxRequest() { 152 typeForPag = type 153 pageNumber = 1 154 $.ajax({ 155 url: siteUrl + "/api/filter-iniziative.php", 156 type: "POST", 157 data: { 158 type: type.length > 0 ? type : "tutte", 159 year: year.length > 0 ? year : "tutti", 160 search: search, 161 addButton: true, 162 }, 163 dataType: "html", 164 success: function (data) { 165 $("#iniziative-container").html(data) 166 }, 167 error: function (request, error) { 168 alert("Errore imprevisto") 169 console.log(error) 170 console.log(request) 171 }, 172 }) 173 } 174 175 // Paginazione 176 177 $("body").on("click", "#more_posts", function () { 178 // Pulsante mostra di più premuto 179 $("#more_posts").attr("disabled", true) // Disabilito pulsante 180 var cat = $("#more_posts").data("cat") 181 iniziativeLoadPosts(cat) 182 }) 183 184 function iniziativeLoadPosts(cat) { 185 pageNumber++ 186 $.ajax({ 187 type: "POST", 188 dataType: "html", 189 url: siteUrl + "/api/filter-iniziative.php", 190 data: { 191 type: typeForPag.length > 0 ? typeForPag : "tutte", 192 year: year.length > 0 ? year : "tutti", 193 search: search, 194 ppp: ppp, 195 pageNumber: pageNumber, 196 doNotPrint: true, 197 }, 198 success: function (data) { 199 if (data.length) { 200 $(data).insertBefore("#load-container") 201 if(data.length > 40){ 202 $("#more_posts").attr("disabled", false) 203 } else { 204 $("#more_posts").addClass('d-none') 205 } 206 } else { 207 $("#more_posts").attr("disabled", true) 208 $("#more_posts").addClass('d-none') 209 } 210 }, 211 error: function (jqXHR, textStatus, errorThrown) { 212 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 213 }, 214 }) 215 return false 216 } 217 218 // **** RASSEGNA **** // 219 // Calendario 220 $("#rassegna-cal-button").click(() => { 221 $("#rassegna-calendar").toggleClass("d-none") 222 }) 223 var rassegnaStartDate = null 224 var rassegnaEndDate = null 225 var calendarID = document.getElementById("rassegna-calendar") 226 if (calendarID != null) { 227 var calendar = jsCalendar.new({ 228 target: calendarID, 229 }) 230 var clickNumber = 0 231 calendar.onDateClick((event, date) => { 232 if(clickNumber == 0){ 233 // Primo click 234 rassegnaStartDate = date 235 calendar.select(date) 236 clickNumber = 1 237 } else if(clickNumber == 1) { 238 // Secondo click, controllo maggiore/minore 239 if(date.getTime() < rassegnaStartDate.getTime()){ 240 let tmp = rassegnaStartDate 241 rassegnaStartDate = date 242 rassegnaEndDate = tmp 243 } else { 244 rassegnaEndDate = date 245 } 246 // Calcolo differenza e seleziono range 247 let diff = (rassegnaEndDate.getTime() - rassegnaStartDate.getTime()) / (1000 * 3600 * 24) 248 for(var i = 0; i < diff; i++){ 249 let tmp = new Date() 250 tmp.setDate(rassegnaStartDate.getDate() + i) 251 tmp.setMonth(rassegnaStartDate.getMonth()) 252 tmp.setFullYear(rassegnaStartDate.getFullYear()) 253 calendar.select(tmp) 254 } 255 calendar.select(rassegnaEndDate) 256 clickNumber = 2 257 $('#rassegna-calendar').addClass('d-none') 258 ajaxRequestRassegna() 259 } else if(clickNumber == 2) { 260 let diff = (rassegnaEndDate.getTime() - rassegnaStartDate.getTime()) / (1000 * 3600 * 24) 261 for(var i = 0; i < diff; i++){ 262 let tmp = new Date() 263 tmp.setDate(rassegnaStartDate.getDate() + i) 264 tmp.setMonth(rassegnaStartDate.getMonth()) 265 tmp.setFullYear(rassegnaStartDate.getFullYear()) 266 calendar.unselect(tmp) 267 } 268 calendar.unselect(rassegnaEndDate) 269 rassegnaStartDate = null 270 rassegnaEndDate = null 271 clickNumber = 0 272 ajaxRequestRassegna() 273 } 274 }) 275 } 276 277 // Ricerca testuale 278 var rassegnaSearch = "" 279 $("#rassegna-input").on("input", () => { 280 rassegnaSearch = $("#rassegna-input").val() 281 }) 282 $("#rassegna-input").bind("enterKey", (e) => { 283 rassegnaSearch = e.target.value 284 ajaxRequestRassegna() 285 }) 286 $("#rassegna-input").keydown(function (e) { 287 if (e.keyCode == 13) { 288 $(this).trigger("enterKey") 289 } 290 }) 291 292 var rassegnaPpp = 5 // Post per page 293 var rassegnaPageNumber = 1 294 295 // Fetch con AJAX 296 function ajaxRequestRassegna() { 297 rassegnaPageNumber = 1 298 let APIstart = '' 299 let APIend = '' 300 if(rassegnaStartDate != null && rassegnaEndDate != null){ 301 APIstart = rassegnaStartDate.getDate() + '/' + (rassegnaStartDate.getMonth() + 1) + '/' + rassegnaStartDate.getFullYear() 302 APIend = rassegnaEndDate.getDate() + '/' + (rassegnaEndDate.getMonth() + 1) + '/' + rassegnaEndDate.getFullYear() 303 } 304 $.ajax({ 305 url: siteUrl + "/api/filter-rassegna.php", 306 type: "POST", 307 data: { 308 startDate: APIstart, 309 endDate: APIend, 310 search: rassegnaSearch, 311 addButton: true, 312 }, 313 dataType: "html", 314 success: function (data) { 315 $("#rassegna-container").html(data) 316 }, 317 error: function (request, error) { 318 alert("Errore imprevisto") 319 console.log(error) 320 console.log(request) 321 }, 322 }) 323 } 324 325 // Paginazione 326 $("body").on("click", "#rassegna_more_posts", function () { 327 // Pulsante mostra di più premuto 328 $("#rassegna_more_posts").attr("disabled", true) // Disabilito pulsante 329 var cat = $("#rassegna_more_posts").data("cat") 330 rassegnaLoadPosts(cat) 331 }) 332 333 function rassegnaLoadPosts(cat) { 334 rassegnaPageNumber++ 335 let APIstart = '' 336 let APIend = '' 337 if(rassegnaStartDate != null && rassegnaEndDate != null){ 338 APIstart = rassegnaStartDate.getDate() + '/' + (rassegnaStartDate.getMonth() + 1) + '/' + rassegnaStartDate.getFullYear() 339 APIend = rassegnaEndDate.getDate() + '/' + (rassegnaEndDate.getMonth() + 1) + '/' + rassegnaEndDate.getFullYear() 340 } 341 $.ajax({ 342 type: "POST", 343 dataType: "html", 344 url: siteUrl + "/api/filter-rassegna.php", 345 data: { 346 startDate: APIstart, 347 endDate: APIend, 348 search: rassegnaSearch, 349 ppp: rassegnaPpp, 350 pageNumber: rassegnaPageNumber, 351 doNotPrint: true, 352 }, 353 success: function (data) { 354 if (data.length) { 355 $(data).insertBefore("#rassegna-load-container") 356 $("#rassegna_more_posts").attr("disabled", false) 357 if(data.length > 40){ 358 $("#rassegna_more_posts").attr("disabled", false) 359 } else { 360 $("#rassegna_more_posts").addClass('d-none') 361 } 362 } else { 363 $("#rassegna_more_posts").attr("disabled", true) 364 $("#rassegna_more_posts").addClass('d-none') 365 } 366 }, 367 error: function (jqXHR, textStatus, errorThrown) { 368 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 369 }, 370 }) 371 return false 372 } 373 374 // **** ASSOCIATI **** // 375 376 // Tipologia 377 var typeMuseo = "" 378 setTypeMuseo = (passedType) => { 379 typeMuseo = passedType 380 let dropReplace = '' 381 if(language == 'it_IT'){ 382 dropReplace = 'TIPOLOGIA ' 383 } else if(language == 'en_GB') { 384 dropReplace = 'TYPE ' 385 } 386 if (typeMuseo == "tutte") { 387 $("#dropdown-tipologia-museo").html(dropReplace) 388 } else { 389 $("#dropdown-tipologia-museo").html(typeMuseo) 390 } 391 museiPageNumber = 0 392 filterMusei() 393 } 394 395 // Regione 396 var regioneMuseo = "" 397 setRegioneMuseo = (passedType, passedName) => { 398 regioneMuseo = passedType 399 if(language == 'it_IT'){ 400 dropReplace = 'REGIONE ' 401 } else if(language == 'en_GB') { 402 dropReplace = 'REGION ' 403 } 404 if (regioneMuseo == "tutte") { 405 $("#dropdown-regione-musei").html(dropReplace) 406 } else { 407 $("#dropdown-regione-musei").html(passedName) 408 } 409 museiPageNumber = 0 410 filterMusei() 411 } 412 413 // Ricerca per lettera 414 var museoLettera = "" 415 setAlfabeticoArchivio = (passedType) => { 416 museoLettera = passedType 417 let dropReplace = '' 418 if(language == 'it_IT'){ 419 dropReplace = 'ALFABETICO ' 420 } else if(language == 'en_GB') { 421 dropReplace = 'ALPHABETICAL ' 422 } 423 if (museoLettera == "tutte") { 424 $("#dropdown-alfabetico-museo-archive").html(dropReplace) 425 } else { 426 $("#dropdown-alfabetico-museo-archive").html(museoLettera) 427 } 428 museiPageNumberArchive = 0 429 filterMuseiArchivio() 430 } 431 432 //Tipologia archivio 433 var typeMuseoArchivio = "" 434 setTypeMuseoArchivio = (passedType) => { 435 typeMuseoArchivio = passedType 436 let dropReplace = '' 437 if(language == 'it_IT'){ 438 dropReplace = 'TIPOLOGIA ' 439 } else if(language == 'en_GB') { 440 dropReplace = 'TYPE ' 441 } 442 if (typeMuseoArchivio == "tutte") { 443 $("#dropdown-tipologia-museo-archive").html(dropReplace) 444 } else { 445 $("#dropdown-tipologia-museo-archive").html(typeMuseoArchivio) 446 } 447 museiPageNumberArchive = 0 448 filterMuseiArchivio() 449 } 450 451 //Tipologia regione 452 var regioneMuseoArchivio = "" 453 setRegioneMuseoArchivio = (passedType, passedName) => { 454 regioneMuseoArchivio = passedType 455 let dropReplace = '' 456 if(language == 'it_IT'){ 457 dropReplace = 'REGIONE ' 458 } else if(language == 'en_GB') { 459 dropReplace = 'REGION ' 460 } 461 if (regioneMuseoArchivio == "tutte") { 462 $("#dropdown-regione-musei-archive").html(dropReplace) 463 } else { 464 $("#dropdown-regione-musei-archive").html(passedName) 465 } 466 museiPageNumberArchive = 0 467 filterMuseiArchivio() 468 } 469
470 // Ricerca testuale - Archivio 471 var associatiSearchInput = "" 472 $("#musei-input").on("input", () => { 473 associatiSearchInput = $("#musei-input").val() 474 if(associatiSearchInput.length > 0){ 475 fetchTags() 476 } else { 477 setTimeout(() => $('#associati-search-drop').removeClass('d-block'), 500) 478 } 479 }) 480 $("#musei-input").bind("enterKey", (e) => { 481 associatiSearchInput = e.target.value 482 // filterMusei() 483 }) 484 $("#musei-input").keydown(function (e) { 485 if (e.keyCode == 13) { 486 $(this).trigger("enterKey") 487 } 488 }) 489 490 // Ricerca testuale - Home 491 var homeSearchInput = "" 492 $("#home-musei-input").on("input", () => { 493 homeSearchInput = $("#home-musei-input").val() 494 if(homeSearchInput.length > 0){ 495 homeTags() 496 } else { 497 setTimeout(() => $('#associati-search-drop').removeClass('d-block'), 500) 498 } 499 }) 500 501 var museiPpp = 9 // Post per page 502 var museiPageNumber = 1 503 var museiPageNumberArchive = 1 504 var museiPppArchive = 18 // Post per page 505 506 // Fetch tags - Archivio 507 fetchTags = () => { 508 $.ajax({ 509 type: 'POST', 510 dataType: 'HTML', 511 url: siteUrl + '/api/fetch-tags.php', 512 data: { 513 input: associatiSearchInput 514 }, 515 success: data => { 516 $('#associati-search-drop').html(data) 517 if(!$('#associati-search-drop').hasClass('d-block')){ 518 $('#associati-search-drop').addClass('d-block') 519 } 520 }, 521 error: (request, error) => { 522 // alert('Si è verificato un errore, riprova.') 523 console.log("Request:", request) 524 console.log("Error occurred:", error) 525 } 526 }) 527 } 528 529 // Fetch tags - Home 530 homeTags = () => { 531 $.ajax({ 532 type: 'POST', 533 dataType: 'HTML', 534 url: siteUrl + '/api/fetch-tags.php', 535 data: { 536 input: homeSearchInput, 537 pageType : 'home' 538 }, 539 success: data => { 540 $('#associati-search-drop').html(data) 541 if(!$('#associati-search-drop').hasClass('d-block')){ 542 $('#associati-search-drop').addClass('d-block') 543 } 544 }, 545 error: (request, error) => { 546 alert('Si è verificato un errore, riprova.') 547 console.log("Request:", request) 548 console.log("Error occurred:", error) 549 } 550 }) 551 } 552 553 var associatiTag = "" 554 // Home 555 homeSetTag = (passedType, passedName) => { 556 associatiTag = passedType 557 museiPageNumber = 0 558 $('#associati-search-drop').removeClass('d-block') 559 $('#associati-search-drop').addClass('d-none') 560 filterMusei() 561 } 562 563 /** 564 * Attiva e disattiva il submit della newsletter 565 * @param {boolean} check true/false se abilitare o meno il pulsante 566 */ 567 acceptNewsletterToc = check => { 568 if(check){ 569 document.getElementById('newsletter-sub-btn').classList.remove('disabled') 570 } else { 571 document.getElementById('newsletter-sub-btn').classList.add('disabled') 572 } 573 } 574 575 /** 576 * Valida il form della newsletter 577 * @param {HTMLFormElement} form il form da validare 578 */ 579 newsletterValidation = form => { 580 let errors = '' 581 // Nome 582 if(form.sub_name.value.length == 0){ 583 errors += '- Il campo "Nome" è obbligatorio\n' 584 form.sub_name.focus() 585 } 586 587 // Cognome 588 if(form.last_name.value.length == 0){ 589 errors += '- Il campo "Cognome" è obbligatorio\n' 590 } 591 592 // E-Mail 593 if(form.email.value.length == 0){ 594 errors += '- Il campo "Indirizzo E-Mail" è obbligatorio\n' 595 } 596 597 // Validazione 598 if(errors.length > 0){ 599 alert('Attenzione:\n' + errors) 600 return false 601 } else { 602 return true 603 } 604 } 605 606 // Archivio 607 associatiSetTag = (passedType, passedName) => { 608 associatiTag = passedType 609 museiPageNumberArchive = 0 610 $('#associati-search-drop').removeClass('d-block') 611 $('#associati-search-drop').addClass('d-none') 612 filterMuseiArchivio() 613 } 614 615 // Paginazione 616 $("body").on("click", "#more_posts_musei", function () { 617 // Pulsante mostra di più premuto 618 $("#more_posts_musei").attr("disabled", true) // Disabilito pulsante 619 //var cat = $("#more_posts_musei").data("cat") 620 //var regione = $("#more_posts_musei").data("regione") 621 museiLoadPosts() 622 }) 623 624 // Paginazione 625 $("body").on("click", "#more_posts_musei_archive", function () { 626 // Pulsante mostra di più premuto 627 $("#more_posts_musei_archive").attr("disabled", true) // Disabilito pulsante 628 museiLoadPostsArchive() 629 }) 630 631 $("body").on("click", "#more_posts_musei_filtered", function () { 632 // Pulsante mostra di più premuto 633 $("#more_posts_musei_filtered").attr("disabled", true) // Disabilito pulsante 634 var cat = $("#more_posts_musei_filtered").data("cat") 635 var regione = $("#more_posts_musei_filtered").data("regione") 636 regioneMuseo = regione 637 typeMuseo = cat 638 filterMuseiMore() 639 }) 640 641 $("body").on("click", "#more_posts_musei_filtered_archive", function () { 642 // Pulsante mostra di più premuto 643 $("#more_posts_musei_filtered_archive").attr("disabled", true) // Disabilito pulsante 644 var cat = $("#more_posts_musei_filtered_archive").data("cat") 645 var regione = $("#more_posts_musei_filtered_archive").data("regione") 646 regioneMuseoArchivio = regione 647 typeMuseoArchivio = cat 648 filterMuseiMoreArchivio() 649 }) 650 651 function museiLoadPosts() { 652 museiPageNumber++ 653 $.ajax({ 654 type: "POST", 655 dataType: "html", 656 url: siteUrl + "/api/filter-musei.php", 657 data: { 658 ppp: museiPpp, 659 pageNumber: museiPageNumber, 660 //cat: cat, 661 //regione: regione, 662 }, 663 success: function (data) { 664 if (data.length) { 665 console.log(data) 666 $(data).insertBefore("#load-container-musei") 667 if(data.length > 40){ 668 $("#more_posts_musei").attr("disabled", false) 669 } else { 670 $('#more_posts_musei').addClass('d-none') 671 } 672 } else { 673 $("#more_posts_musei").attr("disabled", true) 674 $('#more_posts_musei').addClass('d-none') 675 } 676 }, 677 error: function (jqXHR, textStatus, errorThrown) { 678 console.log(jqXHR + " :: " + textStatus + " :: " + errorThrown) 679 }, 680 }) 681 } 682 683 function museiLoadPostsArchive() { 684 museiPageNumberArchive++ 685 $.ajax({ 686 type: "POST", 687 dataType: "html", 688 url: siteUrl + "/api/filter-musei-archive.php", 689 data: { 690 ppp: museiPppArchive, 691 pageNumber: museiPageNumberArchive, 692 }, 693 success: function (data) { 694 if (data.length) { 695 console.log(data) 696 $(data).insertBefore("#load-container-musei-archive") 697 if(data.length > 40){ 698 $("#more_posts_musei_archive").attr("disabled", false) 699 } else { 700 $('#more_posts_musei_archive').addClass('d-none') 701 } 702 } else { 703 $("#more_posts_musei_archive").attr("disabled", true) 704 $('#more_posts_musei_archive').addClass('d-none') 705 } 706 }, 707 error: function (jqXHR, textStatus, errorThrown) { 708 console.log(jqXHR + " :: " + textStatus + " :: " + errorThrown) 709 }, 710 }) 711 } 712 713 // Fetch con AJAX - Homepage 714 function filterMusei() { 715 museiPageNumber++ 716 console.log(museiPageNumber) 717 $.ajax({ 718 url: siteUrl + "/api/filter-musei-ordered.php", 719 type: "POST", 720 data: { 721 cat: typeMuseo.length > 0 ? typeMuseo : "tutte", 722 regione: regioneMuseo.length > 0 ? regioneMuseo : "tutte", 723 ppp: museiPpp, 724 pageNumber: museiPageNumber, 725 search: associatiTag.length > 0 ? associatiTag : 'tutte', 726 addButton: true, 727 }, 728 dataType: "html", 729 success: function (data) { 730 $("#associati-home-container").html(data) 731 }, 732 error: function (request, error) { 733 alert("Errore imprevisto") 734 console.log(error) 735 console.log(request) 736 }, 737 }) 738 } 739 740 // Fetch con AJAX - Musei e Archivi 741 function filterMuseiArchivio() { 742 museiPageNumberArchive++ 743 $.ajax({ 744 url: siteUrl + "/api/filter-musei-archive-ordered.php", 745 type: "POST", 746 data: { 747 museiLettera: museoLettera.length > 0 ? museoLettera : 'tutte', 748 cat: typeMuseoArchivio.length > 0 ? typeMuseoArchivio : "tutte", 749 regione: regioneMuseoArchivio.length > 0 ? regioneMuseoArchivio : "tutte", 750 ppp: museiPppArchive, 751 pageNumber: museiPageNumberArchive, 752 search: associatiTag.length > 0 ? associatiTag : 'tutte', 753 addButton: true, 754 }, 755 dataType: "html", 756 success: function (data) { 757 $("#associati-archivio-container").html(data) 758 }, 759 error: function (request, error) { 760 console.log(error) 761 console.log(request) 762 }, 763 }) 764 } 765 766 function filterMuseiMoreArchivio() { 767 museiPageNumberArchive++ 768 $.ajax({ 769 url: siteUrl + "/api/filter-musei-more-archive.php", 770 type: "POST", 771 data: { 772 museiLettera: museoLettera.length > 0 ? museoLettera : 'tutte', 773 cat: typeMuseoArchivio.length > 0 ? typeMuseoArchivio : "tutte", 774 regione: regioneMuseoArchivio.length > 0 ? regioneMuseoArchivio : "tutte", 775 ppp: museiPppArchive, 776 pageNumber: museiPageNumberArchive, 777 search: associatiTag.length > 0 ? associatiTag : 'tutte', 778 }, 779 dataType: "html", 780 success: function (data) { 781 if (data.length) { 782 $(data).insertBefore("#load-container-musei-archive") 783 if(data.length > 40){ 784 $("#more_posts_musei_filtered_archive").attr("disabled", false) 785 } else { 786 $('#more_posts_musei_filtered_archive').addClass('d-none') 787 } 788 } else { 789 $("#more_posts_musei_filtered_archive").attr("disabled", true) 790 $('#more_posts_musei_filtered_archive').addClass('d-none') 791 } 792 }, 793 error: function (request, error) { 794 alert("Errore imprevisto") 795 console.log(error) 796 console.log(request) 797 }, 798 }) 799 } 800 801 function filterMuseiMore() { 802 museiPageNumber++ 803 $.ajax({ 804 url: siteUrl + "/api/filter-musei-more.php", 805 type: "POST", 806 data: { 807 cat: typeMuseo.length > 0 ? typeMuseo : "tutte", 808 regione: regioneMuseo.length > 0 ? regioneMuseo : "tutte", 809 ppp: museiPpp, 810 pageNumber: museiPageNumber, 811 search: associatiTag.length > 0 ? associatiTag : 'tutte', 812 }, 813 dataType: "html", 814 success: function (data) { 815 if (data.length) { 816 $(data).insertBefore("#load-container-musei") 817 if(data.length > 40){ 818 $("#more_posts_musei_filtered").attr("disabled", false) 819 } else { 820 $("#more_posts_musei_filtered").addClass('d-none') 821 } 822 } else { 823 $("#more_posts_musei_filtered").attr("disabled", true) 824 $("#more_posts_musei_filtered").addClass('d-none') 825 } 826 }, 827 error: function (request, error) { 828 alert("Errore imprevisto") 829 console.log(error) 830 console.log(request) 831 }, 832 }) 833 } 834 835 // *** SINGLE MUSEO *** // 836 $("#s-ass-gallery").slick({ 837 infinite: false, 838 slidesToShow: 3, 839 slidesToScroll: 1,
840 arrows: false, 841 dots: true, 842 responsive: [ 843 // md 844 { 845 breakpoint: 992, 846 settings: { 847 slidesToShow: 2, 848 }, 849 }, 850 // xs 851 { 852 breakpoint: 576, 853 settings: { 854 slidesToShow: 1, 855 }, 856 }, 857 ], 858 }) 859 860 // *** SINGLE ITINERARI *** // 861 if(document.getElementsByClassName('tappa-gallery')){ 862 [...document.getElementsByClassName('tappa-gallery')].forEach(gallery => { 863 console.log("Gallery:", gallery) 864 $(gallery).slick({ 865 infinite: false, 866 slidesToShow: 3, 867 slidesToScroll: 1, 868 arrows: false, 869 dots: true, 870 responsive: [ 871 // md 872 { 873 breakpoint: 992, 874 settings: { 875 slidesToShow: 2, 876 }, 877 }, 878 // xs 879 { 880 breakpoint: 576, 881 settings: { 882 slidesToShow: 1, 883 }, 884 }, 885 ], 886 }) 887 }) 888 } 889 890 lightbox.option({ 891 showImageNumberLabel: false, 892 }) 893 894 // *** ARCHIVE APPROFONDIMENTI *** // 895 // Paginazione 896 $("body").on("click", "#approfondimenti_more_posts", function () { 897 // Pulsante mostra di più premuto 898 $("#approfondimenti_more_posts").attr("disabled", true) // Disabilito pulsante 899 var cat = $("#approfondimenti_more_posts").data("cat") 900 approfondimentiLoadPosts(cat) 901 }) 902 903 var approfondimentiPpp = 4 // Post per page 904 var approfondimentiPageNumber = 1 905 906 function approfondimentiLoadPosts(cat) { 907 approfondimentiPageNumber++ 908 $.ajax({ 909 type: "POST", 910 dataType: "html", 911 url: siteUrl + "/api/load-approfondimenti.php", 912 data: { 913 ppp: approfondimentiPpp, 914 pageNumber: approfondimentiPageNumber, 915 doNotPrint: true, 916 }, 917 success: function (data) { 918 if (data.length) { 919 $(data).insertBefore("#approfondimenti-load-container") 920 if(data.length > 40){ 921 $("#approfondimenti_more_posts").attr("disabled", false) 922 } else { 923 $("#approfondimenti_more_posts").addClass('d-none') 924 } 925 } else { 926 $("#approfondimenti_more_posts").attr("disabled", true) 927 $("#approfondimenti_more_posts").addClass('d-none') 928 } 929 }, 930 error: function (jqXHR, textStatus, errorThrown) { 931 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 932 }, 933 }) 934 return false 935 } 936 937 // *** SINGLE ASSOCIATI *** // 938 setVideoID = (passedID) => { 939 $("#ytplayer").attr("src", "https://www.youtube.com/embed/" + passedID) 940 } 941 942 // *** NEWS *** // 943 var newsType = "" 944 newsSetType = (passedType) => { 945 newsType = passedType 946 if (newsType == "tutte") { 947 $("#dropdown-tipologia").html("Tipologia") 948 } else { 949 $("#dropdown-tipologia").html(newsType) 950 } 951 newsAjaxRequest() 952 } 953 954 // Calendario 955 $("#news-cal-button").click(() => { 956 $("#news-calendar").toggleClass("d-none") 957 }) 958 var newsStartDate = null 959 var newsEndDate = null 960 var newsCalendarID = document.getElementById("news-calendar") 961 if (newsCalendarID != null) { 962 var calendar = jsCalendar.new({ 963 target: newsCalendarID, 964 }) 965 var clickNumber = 0 966 calendar.onDateClick((event, date) => { 967 if(clickNumber == 0){ 968 // Primo click 969 newsStartDate = date 970 calendar.select(date) 971 clickNumber = 1 972 } else if(clickNumber == 1) { 973 // Secondo click, controllo maggiore/minore 974 if(date.getTime() < newsStartDate.getTime()){ 975 let tmp = newsStartDate 976 newsStartDate = date 977 newsEndDate = tmp 978 } else { 979 newsEndDate = date 980 } 981 // Calcolo differenza e seleziono range 982 let diff = (newsEndDate.getTime() - newsStartDate.getTime()) / (1000 * 3600 * 24) 983 for(var i = 0; i < diff; i++){ 984 let tmp = new Date() 985 tmp.setDate(newsStartDate.getDate() + i) 986 tmp.setMonth(newsStartDate.getMonth()) 987 tmp.setFullYear(newsStartDate.getFullYear()) 988 calendar.select(tmp) 989 } 990 calendar.select(newsEndDate) 991 clickNumber = 2 992 $('#news-calendar').addClass('d-none') 993 newsAjaxRequest() 994 } else if(clickNumber == 2) { 995 // Reset calendario 996 let diff = (newsEndDate.getTime() - newsStartDate.getTime()) / (1000 * 3600 * 24) 997 for(var i = 0; i < diff; i++){ 998 let tmp = new Date() 999 tmp.setDate(newsStartDate.getDate() + i) 1000 tmp.setMonth(newsStartDate.getMonth()) 1001 tmp.setFullYear(newsStartDate.getFullYear()) 1002 calendar.unselect(tmp) 1003 } 1004 calendar.unselect(newsEndDate) 1005 newsStartDate = null 1006 newsEndDate = null 1007 clickNumber = 0 1008 newsAjaxRequest() 1009 } 1010 }) 1011 } 1012 1013 // Ricerca testuale 1014 var newsSearch = "" 1015 $("#news-input").on("input", () => { 1016 newsSearch = $("#news-input").val() 1017 }) 1018 $("#news-input").bind("enterKey", (e) => { 1019 newsSearch = e.target.value 1020 newsAjaxRequest() 1021 }) 1022 $("#news-input").keydown(function (e) { 1023 if (e.keyCode == 13) { 1024 $(this).trigger("enterKey") 1025 } 1026 }) 1027 1028 var newsPpp = 6 // Post per page 1029 var newsPageNumber = 1 1030 1031 var typeForPag = "" 1032 // Fetch con AJAX 1033 function newsAjaxRequest() { 1034 typeForPag = newsType 1035 pageNumber = 1 1036 let APIstart = '' 1037 let APIend = '' 1038 if(newsStartDate != null && newsEndDate != null){ 1039 APIstart = newsStartDate.getDate() + '/' + (newsStartDate.getMonth() + 1) + '/' + newsStartDate.getFullYear() 1040 APIend = newsEndDate.getDate() + '/' + (newsEndDate.getMonth() + 1) + '/' + newsEndDate.getFullYear() 1041 } 1042 $.ajax({ 1043 url: siteUrl + "/api/filter-news.php", 1044 type: "POST", 1045 data: { 1046 type: newsType.length > 0 ? newsType : "tutte", 1047 startDate: APIstart, 1048 endDate: APIend, 1049 search: newsSearch, 1050 addButton: true, 1051 }, 1052 dataType: "html", 1053 success: function (data) { 1054 $("#news-container").html(data) 1055 }, 1056 error: function (request, error) { 1057 console.log(error) 1058 console.log(request) 1059 }, 1060 }) 1061 } 1062 1063 // Paginazione 1064 $("body").on("click", "#news_more_posts", function () { 1065 // Pulsante mostra di più premuto 1066 $("#news_more_posts").attr("disabled", true) // Disabilito pulsante 1067 var cat = $("#news_more_posts").data("cat") 1068 newsLoadPosts(cat) 1069 }) 1070 1071 function newsLoadPosts(cat) { 1072 newsPageNumber++ 1073 let APIstart = '' 1074 let APIend = '' 1075 if(newsStartDate != null && newsEndDate != null){ 1076 APIstart = newsStartDate.getDate() + '/' + (newsStartDate.getMonth() + 1) + '/' + newsStartDate.getFullYear() 1077 APIend = newsEndDate.getDate() + '/' + (newsEndDate.getMonth() + 1) + '/' + newsEndDate.getFullYear() 1078 } 1079 $.ajax({ 1080 type: "POST", 1081 dataType: "html", 1082 url: siteUrl + "/api/filter-news.php", 1083 data: { 1084 type: typeForPag.length > 0 ? typeForPag : "tutte", 1085 startDate: APIstart, 1086 endDate: APIend, 1087 search: search, 1088 ppp: newsPpp, 1089 pageNumber: newsPageNumber, 1090 doNotPrint: true, 1091 }, 1092 success: function (data) { 1093 if (data.length) { 1094 $(data).insertBefore("#news-load-container") 1095 if(data.length > 40){ 1096 $("#news_more_posts").attr("disabled", false) 1097 } else { 1098 $("#news_more_posts").addClass('d-none') 1099 } 1100 } else { 1101 $("#news_more_posts").attr("disabled", true) 1102 $("#news_more_posts").addClass('d-none') 1103 } 1104 }, 1105 error: function (jqXHR, textStatus, errorThrown) { 1106 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 1107 }, 1108 }) 1109 return false 1110 } 1111 1112 // *** ARCHIVE ITINERARI *** // 1113 var itinerariType = "" 1114 itinerariSetRegion = (passedType) => { 1115 itinerariType = passedType 1116 let dropReplace = '' 1117 if(language == 'it_IT'){ 1118 dropReplace = 'REGIONE' 1119 } else if(language == 'en_GB') { 1120 dropReplace = 'REGION' 1121 } 1122 if (itinerariType == "tutte") { 1123 $("#dropdown-tipologia").html(dropReplace) 1124 } else { 1125 $("#dropdown-tipologia").html(itinerariType) 1126 } 1127 itinerariAjaxRequest() 1128 } 1129 1130 // Ricerca testuale 1131 var itinerariSearch = "" 1132 $("#itinerari-input").on("input", () => { 1133 itinerariSearch = $("#itinerari-input").val() 1134 }) 1135 $("#itinerari-input").bind("enterKey", (e) => { 1136 itinerariSearch = e.target.value 1137 itinerariAjaxRequest() 1138 }) 1139 $("#itinerari-input").keydown(function (e) { 1140 if (e.keyCode == 13) { 1141 $(this).trigger("enterKey") 1142 } 1143 }) 1144 1145 var itinerariPpp = 5 // Post per page 1146 var itinerariPageNumber = 1 1147 1148 var itinerariTypeForPag = "" 1149 // Fetch con AJAX 1150 function itinerariAjaxRequest() { 1151 itinerariTypeForPag = itinerariType 1152 itinerariPageNumber = 1 1153 $.ajax({ 1154 url: siteUrl + "/api/filter-itinerari.php", 1155 type: "POST", 1156 data: { 1157 type: itinerariType.length > 0 ? itinerariType : "tutte", 1158 search: itinerariSearch, 1159 addButton: true, 1160 }, 1161 dataType: "html", 1162 success: function (data) { 1163 $("#itinerari-container").html(data) 1164 }, 1165 error: function (request, error) { 1166 console.log(error) 1167 console.log(request) 1168 }, 1169 }) 1170 } 1171 1172 // Paginazione 1173 $("body").on("click", "#itinerari_more_posts", function () { 1174 // Pulsante mostra di più premuto 1175 $("#itinerari_more_posts").attr("disabled", true) // Disabilito pulsante 1176 var cat = $("#itinerari_more_posts").data("cat") 1177 itinerariLoadPosts(cat) 1178 }) 1179 1180 function itinerariLoadPosts(cat) { 1181 itinerariPageNumber++ 1182 $.ajax({ 1183 type: "POST", 1184 dataType: "html", 1185 url: siteUrl + "/api/filter-itinerari.php", 1186 data: { 1187 type: itinerariTypeForPag.length > 0 ? itinerariTypeForPag : "tutte", 1188 search: itinerariSearch,
1189 ppp: itinerariPpp, 1190 pageNumber: itinerariPageNumber, 1191 doNotPrint: true, 1192 }, 1193 success: function (data) { 1194 if (data.length) { 1195 $(data).insertBefore("#itinerari-load-container") 1196 if(data.length > 40){ 1197 $("#itinerari_more_posts").attr("disabled", false) 1198 } else { 1199 $("#itinerari_more_posts").addClass('d-none') 1200 } 1201 } else { 1202 $("#itinerari_more_posts").attr("disabled", true) 1203 $("#itinerari_more_posts").addClass('d-none') 1204 } 1205 }, 1206 error: function (jqXHR, textStatus, errorThrown) { 1207 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 1208 }, 1209 }) 1210 return false 1211 } 1212 1213 // *** AREA RISERVATA *** // 1214 1215 var areaPageNumber = 1 1216 1217 // Paginazione 1218 $("body").on("click", "#area_more_posts", function () { 1219 // Pulsante mostra di più premuto 1220 $("#area_more_posts").attr("disabled", true) // Disabilito pulsante 1221 var cat = $("#area_more_posts").data("cat") 1222 areaLoadPosts(cat) 1223 }) 1224 1225 function areaLoadPosts(cat) { 1226 areaPageNumber++ 1227 $.ajax({ 1228 type: "POST", 1229 dataType: "html", 1230 url: siteUrl + "/api/filter-area.php", 1231 data: { 1232 type: cat, 1233 ppp: 5, 1234 pageNumber: areaPageNumber, 1235 }, 1236 success: function (data) { 1237 if (data.length) { 1238 $(data).insertBefore("#area-load-container") 1239 $("#area-load-container").attr("disabled", false) 1240 } else { 1241 $("#area-load-container").attr("disabled", true) 1242 } 1243 }, 1244 error: function (jqXHR, textStatus, errorThrown) { 1245 $loader.html(jqXHR + " :: " + textStatus + " :: " + errorThrown) 1246 }, 1247 }) 1248 return false 1249 } 1250 1251 // *** HEADER *** // 1252 // Ricerca testuale 1253 var headerSearch = "" 1254 $("#header-input").on("input", () => { 1255 headerSearch = $("#header-input").val() 1256 }) 1257 $("#header-input").bind("enterKey", (e) => { 1258 headerSearch = e.target.value 1259 if(headerSearch.length >= 3){ 1260 headerAjaxRequest() 1261 } else { 1262 alert("Inserisci almeno tre caratteri per cominciare la ricerca.") 1263 } 1264 }) 1265 $("#header-input").keydown(function (e) { 1266 if (e.keyCode == 13) { 1267 $(this).trigger("enterKey") 1268 } 1269 }) 1270 1271 function headerAjaxRequest() { 1272 $.ajax({ 1273 url: siteUrl + "/api/search.php", 1274 type: "POST", 1275 data: { 1276 search: headerSearch, 1277 }, 1278 dataType: "html", 1279 success: function (data) { 1280 $("#header-search-results").html(data) 1281 }, 1282 error: function (request, error) { 1283 console.log(error) 1284 console.log(request) 1285 }, 1286 }) 1287 } 1288 1289 // *** ¿ DONDE ESTA LA BIBLIOTECA ? *** // 1290 // Ricerca testuale 1291 let bookSearch = '' 1292 let bookPage = 1 1293 let prevBookSearch = '' 1294 1295 if(document.getElementById('libri-input')){ 1296 // Listner per tasto Enter 1297 document.getElementById('libri-input').onkeypress = e => { 1298 if(!e){ 1299 e = window.event 1300 } 1301 let keyCode = e.code || e.key 1302 if(keyCode == 'Enter'){ 1303 searchBook() 1304 } 1305 } 1306 } 1307 1308 // Ricerca biblioteca, funzione per impostare il settore 1309 var bookSector = 'Tutti' 1310 setBookSector = value => { 1311 if(value != 'Tutti'){ 1312 bookSector = value 1313 document.getElementById('biblioteca-drop-sect').innerHTML = value 1314 } else { 1315 bookSector = 'Tutti' 1316 document.getElementById('biblioteca-drop-sect').innerHTML = 'Settore' 1317 } 1318 1319 } 1320 1321 // Check seleziona tutto 1322 bookSelectAllChecks = allBooksCheckbox => { 1323 let check = allBooksCheckbox.checked 1324 let checkboxes = document.querySelectorAll('.filter') 1325 for (let checkbox of checkboxes) { 1326 checkbox.checked = check 1327 } 1328 } 1329 1330 1331 // Ricerca biblioteca 1332 searchBook = () => { 1333 bookSearch = document.getElementById('libri-input').value 1334 annoFrom = document.getElementById('anno-from').value 1335 annoTo = document.getElementById('anno-to').value 1336 1337 bookPage = 1 1338 1339 document.getElementById('libri-load-button').classList.remove('d-none') 1340 1341 // calc filters 1342 var filters = [] 1343 var checkboxes = document.querySelectorAll('.filter:checked') 1344 1345 for (var i = 0; i < checkboxes.length; i++) { 1346 filters.push(checkboxes[i].value) 1347 } 1348 1349 $.ajax({ 1350 url: siteUrl + '/api/search-book.php', 1351 type: 'POST', 1352 data: { 1353 search: bookSearch, 1354 page: bookPage, 1355 filters: filters, 1356 bookSector: bookSector, 1357 anno_from: annoFrom, 1358 anno_to: annoTo 1359 }, 1360 dataType: 'html', 1361 success: data => { 1362 if(data == '-1'){ 1363 $('#libri-content').html('Nessun libro trovato.') 1364 $("#libri-load-button").attr("disabled", true) 1365 } else { 1366 $('#libri-content').html(data) 1367 $("#libri-load-button").attr("disabled", false) 1368 } 1369 $('#libri-reset').removeClass('d-none') 1370 prevBookSearch = bookSearch 1371 }, 1372 error: (request, error) => { 1373 alert('Si è verificato un errore durante la ricerca. Riprova.') 1374 console.log("Error in searchBook:", error) 1375 console.log("Request:", request) 1376 } 1377 }) 1378 1379 } 1380 1381 // Tasto Reset 1382 resetBooks = () => { 1383 $.ajax({ 1384 url: siteUrl + '/api/search-book.php', 1385 type: 'POST', 1386 data: { 1387 reset: true 1388 }, 1389 dataType: 'html', 1390 success: data => { 1391 $('#libri-content').html(data) 1392 $('#libri-reset').addClass('d-none') 1393 $("#libri-load-button").attr("disabled", false) 1394 $(".filter").each(function(){ 1395 $(this).prop("checked", false) 1396 }) 1397 bookSearch = '' 1398 bookPage = 1 1399 bookSector = 'Tutti' 1400 document.getElementById('libri-input').value = '' 1401 document.getElementById('anno-from').value = '' 1402 document.getElementById('anno-to').value = '' 1403 document.getElementById('biblioteca-drop-sect').innerHTML = 'Settore' 1404 document.getElementById('libri-load-button').classList.remove('d-none') 1405 }, 1406 error: (request, error) => { 1407 alert('Si è verificato un errore durante la ricerca. Riprova.') 1408 console.log("Error in searchBook:", error) 1409 console.log("Request:", request) 1410 } 1411 }) 1412 } 1413 1414 // Tasto carica altro
1415 loadMoreBook = () => { 1416 1417 // calc filters 1418 var filters = [] 1419 var checkboxes = document.querySelectorAll('.filter:checked') 1420 1421 for (var i = 0; i < checkboxes.length; i++) { 1422 filters.push(checkboxes[i].value) 1423 } 1424 1425 annoFrom = document.getElementById('anno-from').value 1426 annoTo = document.getElementById('anno-to').value 1427 1428 bookPage++ 1429 $.ajax({ 1430 url: siteUrl + '/api/search-book.php', 1431 type: 'POST', 1432 data: { 1433 search: bookSearch, 1434 page: bookPage, 1435 filters: filters, 1436 anno_from: annoFrom, 1437 anno_to: annoTo 1438 }, 1439 dataType: 'html', 1440 success: data => { 1441 if (data.length > 0 && data != "-1") { 1442 $('#libri-content').append(data) 1443 $("#libri-load-button").attr("disabled", false) 1444 } else { 1445 $("#libri-load-button").attr("disabled", true) 1446 $("#libri-load-button").addClass('d-none') 1447 } 1448 }, 1449 error: (request, error) => { 1450 alert('Si è verificato un errore durante il caricamento. Riprova.') 1451 console.log("Error in loadMoreBook:", error) 1452 console.log("Request:", request) 1453 } 1454 }) 1455 } 1456 1457 /** 1458 * Modifica il pulsante di caricameno mettendo uno spinner 1459 */ 1460 switchEditBooksToSpinner = () => { 1461 // Sostituisco pulsante con spinner, quindi mostro scritta di caricamento 1462 document.getElementById('bibl-edit-btn').classList.add('d-none') 1463 document.getElementById('bibl-edit-wait').classList.remove('d-none') 1464 document.getElementById('bibl-edit-wait').classList.add('d-flex') 1465 document.getElementById('bibl-edit-wait-desc').classList.remove('d-none') 1466 1467 document.querySelector('#bibl-upload-button').disabled = true 1468 document.querySelector('#bibl-download').disabled = true 1469 } 1470 1471 /** 1472 * Scarica i libri 1473 */ 1474 downloadBooks = async () => { 1475 // Disabilito i pulsanti delle altre funzioni 1476 document.querySelector('#bibl-upload-button').disabled = true 1477 document.querySelector('#bibl-edit-btn').disabled = true 1478 1479 // Sostituisco pulsante download con uno spinner 1480 document.getElementById('bibl-download').classList.add('d-none') 1481 document.getElementById('bibl-download-wait').classList.remove('d-none') 1482 try { 1483 const url = siteUrl + '/api/download-libri.php' 1484 fetch(url, { 1485 method: 'GET' 1486 }) 1487 .then(response => response.json()) 1488 .then(data => { 1489 if(data.file){ 1490 let file = document.createElement('a') 1491 file.href = data.file
1492 file.download = 'Libreria.xlsx' 1493 file.click() 1494 // Riabilito tutt i pulsanti 1495 document.getElementById('bibl-download').classList.remove('d-none') 1496 document.getElementById('bibl-download-wait').classList.add('d-none') 1497 1498 document.querySelector('#bibl-upload-button').disabled = false 1499 document.querySelector('#bibl-edit-btn').disabled = false 1500 } else { 1501 throw data 1502 } 1503 }) 1504 } catch (error) { 1505 console.log("Error in main.downloadBooks:", error) 1506 alert('Si è verificato un errore') 1507 } 1508 } 1509 1510 $(document).ready(function(){ 1511 var path = window.location.pathname.split("/") 1512 path = path.filter(item => item != '') 1513 if(path.length === 1 && path[0] == 'biblioteca'){ 1514 searchBook() 1515 } 1516 }) 1517 1518 }) 1519})(jQuery)
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.