1const RequestAjax = (data, doneActions) => { 2 $.ajax({ 3 url: ajaxurl, 4 type: "POST", 5 data, 6 }) 7 .done((data) => { 8 doneActions(data); 9 if (data["debug"] !== undefined) { 10 console.log("DEBUG >>>>", data["debug"]); 11 } 12 13 if (data["_rootUrl"] !== null && $(".link-multilingual").length) { 14 $link = $(".link-multilingual").attr("href"); 15 $link = $link.split("?"); 16 $(".link-multilingual").attr("href", $link[0] + data["_rootUrl"]); 17 } 18 }) 19 .fail((data) => { 20 const $CaAssurancesListing = $(".ca-assurances-listing"); 21 const $CaAssurancesResults = $CaAssurancesListing.find( 22 ".ca-assurances-results" 23 ); 24 $CaAssurancesListing.removeClass("d-none"); 25 26 $CaAssurancesResults.find("#ca-assurances-nav").addClass("d-none"); 27 $CaAssurancesResults.find(`.tab-pane`).removeClass("show active"); 28 const $SearchParams = $CaAssurancesListing.find(".search-params"); 29 $SearchParams.removeClass("d-none").find("#number_posts").html(0); 30 $SearchParams 31 .find("p") 32 .html( 33 data["number_posts"] > 1 34 ? translation_object.results 35 : translation_object.result 36 ); 37 }); 38}; 39 40//------------------------------------------------------------- 41 42const SyncUrl = ({ dateSelected, viewSelected, s, compagnie }) => { 43 const selected = {}; 44 if (s) { 45 selected["s"] = [s]; 46 } 47 $(".filters").each(function () { 48 const taxonomie = $(this).data("taxonomie"); 49 const listTaxonomies = $(this) 50 .find("input:checked") 51 .map((_, checkbox) => $(checkbox).attr("id")) 52 .get(); 53 if (listTaxonomies.length > 0) selected[taxonomie] = listTaxonomies; 54 }); 55 if (dateSelected && dateSelected != 9999) { 56 selected["date"] = [dateSelected]; 57 } 58 59 if (viewSelected) { 60 selected["view"] = [viewSelected]; 61 } 62 63 if (compagnie) { 64 selected["compagnie"] = [compagnie]; 65 } 66 67 const newUrl = 68 window.location.protocol + 69 "//" + 70 window.location.host + 71 window.location.pathname; 72 73 const queryString = Object.entries(selected) 74 .map(([taxonomie, ids]) => `${taxonomie}=${ids.join("%2C")}`) 75 .join("&"); 76 77 window.history.pushState( 78 { path: `${newUrl}${queryString ? `?${queryString}` : queryString}` }, 79 "", 80 `${newUrl}${queryString ? `?${queryString}` : queryString}` 81 ); 82 83 const decodedString = decodeURIComponent( 84 window.location.search.replace("?", "") 85 ); 86 87 const queryObject = decodedString.split("&").reduce(function (obj, item) { 88 const parts = item.split("="); 89 obj[parts[0]] = parts[1]; 90 return obj; 91 }, {}); 92 93 return queryObject; 94}; 95 96//------------------------------------------------------------- 97const resetNavigation = () => { 98 $("#main-nav-and-search .big-menu-wrapper").removeClass( 99 "isClicked isLastClicked" 100 ); 101 102 $("#main-nav-and-search li").removeClass("active"); 103 104 $( 105 "#main-nav-and-search > .navbar-nav > ul > li > .big-menu-wrapper" 106 ).addClass("isClicked isLastClicked"); 107 $("#menu-overlay").removeClass("active"); 108 109 $("#main-nav-and-search .navbar-nav a").removeClass("active"); 110}; 111 112const initNavigation = () => { 113 resetNavigation(); 114 115 //menu premier niveau 116 // $( 117 // "#main-nav-and-search .main-navigation > li.menu-item-has-children > .link-container > a" 118 // ).click(function (e) { 119 // e.preventDefault(); 120 // $("#main-nav-and-search .navbar-nav a").removeClass("active"); 121 // $(this).addClass("active"); 122 // }); 123 124 // menu search 125 $("#main-nav-and-search #search-navigation > li > .link-container > a").click( 126 function (e) { 127 e.preventDefault(); 128 $("#main-nav-and-search .navbar-nav a").removeClass("active"); 129 } 130 ); 131 132 //sous-menu 133 // $("#main-nav-and-search .sub-menu .link-container > a").click(function (e) { 134 // $("#main-nav-and-search .sub-menu .link-container > a").removeClass( 135 // "active" 136 // ); 137 // $(this).addClass("active"); 138 // }); 139 140 //menu switcher de langue 141 $(".menu-item-has-children > a").click(function (e) { 142 $(this).toggleClass("active"); 143 }); 144 145 $BTN_retour_nav = $( 146 '<a class="retour-nav" title="' + 147 translation_object.retour + 148 '" href="#"><span>' + 149 translation_object.retour + 150 "</span></a>" 151 ); 152 153 $BTN_retour_nav.click(function (e) { 154 closeOverlay($(e.currentTarget).closest("li")); 155 }); 156 157 function closeOverlay($liParent) { 158 $liParentParent = $liParent.parent().closest("li"); 159 $liParent.find(">
159.big-menu-wrapper").removeClass("isClicked isLastClicked"); 160 $liParentParent 161 .find(">.big-menu-wrapper") 162 .addClass("isClicked isLastClicked"); 163 164 $liParent.removeClass("active"); 165 $liParent.find("a").removeClass("active"); 166 167 menuOverlay(); 168 } 169 170 $( 171 "#main-nav-and-search .big-menu-wrapper .big-menu-wrapper .big-menu-info-page .title" 172 ).prepend($BTN_retour_nav); 173 174 $SPANS = $("#main-nav-and-search li.menu-item > .link-container > a"); 175 $SPANS.click(function (e) { 176 const isEmpty = $(e.currentTarget).hasClass("empty"); 177 const isActive = $(e.currentTarget).hasClass("active"); 178 const isMainNav = $(e.currentTarget) 179 .closest("ul") 180 .hasClass("main-navigation"); 181 const isParent = $(e.currentTarget) 182 .closest("li") 183 .hasClass("menu-item-has-children"); 184 185 if ((isEmpty || isParent) && (!isActive || !isMainNav)) { 186 e.preventDefault(); 187 $("#main-nav-and-search .big-menu-wrapper").removeClass( 188 "isClicked isLastClicked" 189 ); 190 191 //rénitialise les actives des liens du menu header 192 if (isMainNav) { 193 $("#main-nav-and-search .navbar-nav a").removeClass("active"); 194 } 195 else { 196 //specialemnt pour sous-menu 197 $("#main-nav-and-search .sub-menu .link-container > a").removeClass( 198 "active" 199 ); 200 } 201 202 //tous les li parents 203 $(e.currentTarget).addClass("active") 204 .parents("li") 205 .addClass("active") 206 .find("> .big-menu-wrapper") 207 .removeClass("isClicked isLastClicked") 208 .addClass("isClicked"); 209 210 //les freres du li parents 211 $(e.currentTarget).closest("li").siblings().removeClass("active"); 212 213 //le li parent 214 $(e.currentTarget) 215 .closest("li") 216 .addClass("active") 217 .find("> .big-menu-wrapper") 218 .removeClass("isClicked isLastClicked") 219 .addClass("isClicked isLastClicked"); 220 221 //on reinitialise les map eventuelles 222 $(".big-menu-pannel .map").each(function (index, element) { 223 window[$(element).attr("id")].invalidateSize(); 224 }); 225 226 menuOverlay(); 227 } else if (isActive) { 228 e.preventDefault(); 229 $("#main-nav-and-search .navbar-nav a").removeClass("active"); 230 $("#main-nav-and-search .big-menu-wrapper").removeClass( 231 "isClicked isLastClicked" 232 ); 233 $("#main-nav-and-search li").removeClass("active"); 234 $("#menu-overlay").removeClass("active"); 235 } 236 }); 237 238 // A simplifier peut-être 239 $SPANSSEARCH = $( 240 "#main-nav-and-search li#menu-item-search > .link-container > a" 241 ); 242 $SPANSSEARCH.click(function (e) { 243 e.preventDefault(); 244 $("#main-nav-and-search .big-menu-wrapper").removeClass( 245 "isClicked isLastClicked" 246 ); 247 248 //tous les li parents 249 $(e.currentTarget) 250 .parents("li") 251 .addClass("active") 252 .find("> .big-menu-wrapper") 253 .removeClass("isClicked isLastClicked") 254 .addClass("isClicked"); 255 256 //les freres du li parents 257 $(e.currentTarget).closest("li").siblings().removeClass("active"); 258 259 //le li parent 260 $(e.currentTarget) 261 .closest("li") 262 .addClass("active") 263 .find("> .big-menu-wrapper") 264 .removeClass("isClicked isLastClicked") 265 .addClass("isClicked isLastClicked"); 266 267 //on reinitialise les map eventuelles 268 $(".big-menu-pannel .map").each(function (index, element) { 269 window[$(element).attr("id")].invalidateSize(); 270 }); 271 272 menuOverlay(); 273 }); 274 275 $("#menu-overlay").click(function () { 276 resetNavigation(); 277 }); 278 279 menuOverlay(); 280}; 281 282const menuOverlay = () => { 283 //je check si le menu est ouvert 284 if ( 285 $( 286 "#main-nav-and-search > .navbar-nav > ul > li > .big-menu-wrapper > .big-menu-info-page-nav > .big-menu-nav .isClicked" 287 ).length 288 ) { 289 $("#menu-overlay").addClass("active"); 290 } else { 291 $("#menu-overlay").removeClass("active"); 292 } 293}; 294 295//For agendas 296const initLinkEvent = ( 297 element, 298 { date_debut, date_fin, lieu, objet, details } 299) => { 300 const icsMSG = 301 "BEGIN:VCALENDAR\n" + 302 "VERSION:2.0\n" + 303 "PRODID:-//Our Company//NONSGML v1.0//EN\n" + 304 "BEGIN:VEVENT\n" + 305 "UID:[email protected]\n" + 306 "DTSTAMP:20120315T170000Z\n" + 307 "ORGANIZER;CN=CA Assurances\n" + 308 "DTSTART:" + 309 date_debut + 310 "\n" + 311 "DTEND:" + 312 date_fin + 313 "\n" + 314 "LOCATION:" + 315 lieu + 316 "\n" + 317 "SUMMARY:" + 318 objet + 319 "\n" + 320 "DESCRIPTION:" + 321 details + 322 "\n" + 323 "END:VEVENT\n" + 324 "END:VCALENDAR"; 325 326 $(element).attr( 327 "href", 328 "data:text/calendar;charset=utf8," + encodeURI(icsMSG) 329 ); 330}; 331 332$(document).ready(function () { 333 initNavigation(); 334 335 //----------- CONTACT PAGES ---------------------------------- 336 337 if ($(".wpcf7-form").length > 0) { 338 const $caseACocher = $("#dp"); 339 if ($caseACocher.length > 0) { 340 const $submitBtn = $(".wpcf7-form-control.wpcf7-submit"); 341 const $OTPBtn = $("#send-otp"); 342 $submitBtn.prop("disabled", true); 343 $OTPBtn.prop("disabled", true); 344 $('body').on("click", "#dp", function () { 345 if ($(this).is(":checked")) { 346 $submitBtn.prop("disabled", false); 347 $OTPBtn.prop("disabled", false); 348 } else { 349 $submitBtn.prop("disabled", true); 350 $OTPBtn.prop("disabled", true); 351 } 352 }); 353 } 354 } 355 // const wpcf7Elm = document.querySelector(".wpcf7"); 356 357 // wpcf7Elm.addEventListener( 358 // "wpcf7mailsent",
359 // function (event) { 360 // setTimeout(() => { 361 // const $output = $(wpcf7Elm).find(".wpcf7-response-output"); 362 // const backHome = $(wpcf7Elm).find("#back-home"); 363 // $output.addClass("validate").attr("aria-hidden", "false").append(backHome); 364 // const $submitBtn = $(wpcf7Elm).find(".wpcf7-form-control.wpcf7-submit"); 365 // $submitBtn.blur(); 366 // JBResetOtp(); 367 // }, "300"); 368 // }, 369 // false 370 // ); 371 372 // wpcf7Elm.addEventListener( 373 // "wpcf7invalid", 374 // function (event) { 375 // const invalidFields = event.detail.apiResponse.invalid_fields; 376 // if(invalidFields.length == 1 && invalidFields[0].field == "otp-code") { 377 // JBSetOpt(wpcf7Elm); 378 // } 379 // }, 380 // false 381 // ); 382 // } 383 384 //----------- START PAGE LISTING ----------------------------- 385 386 const $btnMoreFilters = $("#more_filters"); 387 const $CaAssurancesListing = $(".ca-assurances-listing"); 388 const $SearchParams = $CaAssurancesListing.find(".search-params"); 389 const $CaAssurancesResults = $CaAssurancesListing.find( 390 ".ca-assurances-results" 391 ); 392 let positionGouvernanceSelected = undefined; 393 let filters = {}; 394 let _rootUrl = ""; 395 396 if ($CaAssurancesListing.length) { 397 const filters_for = $CaAssurancesListing.data("filters_for"); 398 const aff_filters_dates = $CaAssurancesListing.data("aff_filters_dates"); 399 const $caAssurancesFilters = $(".ca-assurances-filters"); 400 const urlParams = new URLSearchParams(window.location.search); 401 const $GroupFilters = $caAssurancesFilters.find(".filters"); 402 let checked = false; 403 let dateSelected = urlParams.get("date") ? urlParams.get("date") : 9999; 404 let viewSelected = urlParams.get("view") ? urlParams.get("view") : "list"; 405 let loopPagination = null; 406 let compagnie = urlParams.get("compagnie") 407 ? urlParams.get("compagnie") 408 : undefined; 409 let mapData = []; 410 positionGouvernanceSelected = compagnie; 411 const s = urlParams.get("s") ? urlParams.get("s") : undefined; 412 413 const CaAssurancesFilters = (filters) => { 414 RequestAjax( 415 { 416 action: "dataFilters", 417 filters_for, 418 filters, 419 s: filters_for == "search" ? s : undefined, 420 dateSelected: aff_filters_dates ? dateSelected : undefined, 421 positionGouvernanceSelected, 422 _rootUrl, 423 lang: $("html").attr("lang").split("-")[0], 424 }, 425 (data) => { 426 $CaAssurancesListing.removeClass("d-none"); 427 428 if (aff_filters_dates) { 429 let navDates = ""; 430 let tabByDate = ""; 431 432 if (filters_for == "agenda") { 433 const dateFormatee = urlParams.get("date") 434 ? urlParams.get("date") 435 : new Date().toISOString().split("T")[0]; 436 437 navDates += `<li class="nav-item" role="presentation"> 438 <button ${data["date"] == 9999 ? "tabindex='-1'" : "" 439 } class="nav-link ${data["date"] == 9999 ? "active" : "" 440 } dates" id="tab-0" data-bs-toggle="tab" data-bs-target="#tab-pane-0" type="button" role="tab" aria-controls="tab-pane-9999" aria-selected="true" data-date="9999">${translation_object.upcoming_event 441 }</button> 442 </li>`; 443 444 tabByDate += `<div class="tab-pane fade ${data["date"] == 9999 ? "show active" : "" 445 }" id="tab-pane-0" role="tabpanel" aria-labelledby="tab-9999" tabindex="0"><div role="list"></div></div>`; 446 447 navDates += `<li class="nav-item" role="presentation"> 448 <button ${data["date"] == dateFormatee ? "tabindex='-1'" : "" 449 } 450 class="nav-link ${data["date"] == dateFormatee ? "active" : "" 451 } dates" id="tab-1" data-bs-toggle="tab" data-bs-target="#tab-pane-1" type="button" role="tab" aria-controls="tab-pane-${dateFormatee}" aria-selected="true" data-date="${dateFormatee}">${translation_object.past_event 452 }</button> 453 </li>`; 454 455 tabByDate += `<div class="tab-pane fade ${data["date"] == dateFormatee ? "show active" : "" 456 }" id="tab-pane-1" role="tabpanel" aria-labelledby="tab-${dateFormatee}" tabindex="0"><div role="list"></div></div>`; 457 } else { 458 data["dates"].forEach((date, index) => { 459 let activeFilterDate = date == data["date"] ? "active" : ""; 460 461 let active = date == data["_date"] ? "show active" : ""; 462 let url = new URL(window.location.href); 463 let params = new URLSearchParams(url.search); 464 data["date"] != "9999" && params.set("date", data["date"]); 465 url.search = params.toString(); 466 window.history.pushState({}, "", url.toString()); 467 468 if (navDates == "") { 469 navDates += `<li class="nav-item" role="presentation"> 470 <button ${data["date"] == 9999 ? "tabindex='-1'" : "" 471 } class="nav-link ${data["date"] == 9999 ? "active" : "" 472 } dates" id="tab-9999" data-bs-toggle="tab" data-bs-target="#tab-pane-${index}" type="button" role="tab" aria-controls="tab-pane-${index}" aria-selected="true" data-date="9999">${translation_object.alldates 473 }</button> 474 </li>`; 475 476 tabByDate += `<div class="tab-pane fade ${data["date"] == 9999 ? "show active" : "" 477 }" id="tab-pane-${index}" role="tabpanel" aria-labelledby="tab-9999" tabindex="0"><div role="list"></div></div>`; 478 index++; 479 } else { 480 index++; 481 } 482 483 navDates += `<li class="nav-item" role="presentation"> 484 <button ${data["date"] == date ? "tabindex='-1'" : "" 485 } class="nav-link ${activeFilterDate} dates" id="tab-${date}" data-bs-toggle="tab" data-bs-target="#tab-pane-${index}" type="button" role="tab" aria-controls="tab-pane-${index}" aria-selected="false" data-date="${date}">${index < 5 ? date : translation_object.archives 486 }</button> 487 </li>`; 488 tabByDate += `<div class="tab-pane fade ${active}" id="tab-pane-${index}" role="tabpanel" aria-labelledby="tab-${date}" tabindex="0"><div role="list"></div></div>`; 489 }); 490 } 491 492 $CaAssurancesResults 493 .find("#ca-assurances-nav") 494 .html(navDates) 495 .removeClass("d-none"); 496 $CaAssurancesResults.find("#ca-assurances-tabs").html(tabByDate); 497 498 $CaAssurancesResults 499 .find(`div[aria-labelledby="tab-${data["_date"]}"]>div`) 500 .html(""); 501 $CaAssurancesResults 502 .find(`div[aria-labelledby="tab-${data["_date"]}"]>div`) 503 .html(data["result"]); 504 } else if (filters_for === "implantation") { 505 const nav = `<li class="nav-item" role="presentation"> 506 <button class="nav-link ${viewSelected == "list" && "active" 507 } list-map" id="tab-list" data-bs-toggle="tab" data-bs-target="#tab-pane-0" type="button" role="tab" aria-controls="tab-pane-0" aria-selected="true" data-view="list">Liste</button> 508 </li> 509 <li class="nav-item" role="presentation"> 510 <button class="nav-link ${viewSelected == "map" && "active" 511 } list-map" id="tab-map" data-bs-toggle="tab" data-bs-target="#tab-pane-1" type="button" role="tab" aria-controls="tab-pane-1" aria-selected="false" data-view="map">Carte</button> 512 </li>`; 513 const tabs = `<div class="tab-pane fade ${viewSelected == "list" && "show active" 514 }" id="tab-pane-0" role="tabpanel" aria-labelledby="tab-list" tabindex="0"><div></div></div> 515 <div class="tab-pane fade ${viewSelected == "map" && "show active" 516 }" id="tab-pane-1" role="tabpanel" aria-labelledby="tab-map" tabindex="0"> 517 <div id="mapid"></div> 518 </div>`; 519 $CaAssurancesResults 520 .find("#ca-assurances-nav") 521 .html(nav) 522 .removeClass("d-none") 523 .addClass("toggle"); 524 $CaAssurancesResults.find("#ca-assurances-tabs").html(tabs); 525 $CaAssurancesResults 526 .find(`div[aria-labelledby="tab-list"]>div`) 527 .html(""); 528 $CaAssurancesResults 529 .find(`div[aria-labelledby="tab-list"]>div`) 530 .html(data["result"]); 531 mapData = data["map"]; 532 533 if (viewSelected == "map") { 534 const map = L.map("mapid"); 535 let markers = []; 536 L.tileLayer( 537 "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", 538 { 539 maxZoom: 16, 540 } 541 ).addTo(map); 542 mapData.forEach(function (mapItem) {
543 mapItem.markers.forEach(function (marker) { 544 let newMarker = L.marker([marker.lat, marker.lng]) 545 .addTo(map) 546 .bindPopup(marker.label); 547 markers.push(newMarker); 548 }); 549 }); 550 const group = new L.featureGroup(markers); 551 map.fitBounds(group.getBounds().pad(0.1)); 552 } 553 } else { 554 const tabs = `<div class="tab-pane active"><div role="list"></div></div>`; 555 $CaAssurancesResults.find("#ca-assurances-tabs").html(tabs); 556 $CaAssurancesResults.find(`.tab-pane>div`).html(""); 557 $CaAssurancesResults.find(`.tab-pane>div`).html(data["result"]); 558 559 //vérifie si compagnie est en paramètre et donc affiché les filtres au chargement de la page 560 if (compagnie) { 561 $caAssurancesFilters.addClass("d-block"); 562 if (screen.width < 650) { 563 $ListGouvernance 564 .find(".ca-assurances-compagnie-governance") 565 .addClass("d-none"); 566 // $btnMoreFilters.addClass("d-block"); 567 } 568 } 569 } 570 571 $SearchParams.find("#number_posts").html(data["number_posts"]); 572 $SearchParams 573 .find("p") 574 .html( 575 data["number_posts"] > 1 576 ? translation_object.results 577 : translation_object.result 578 ); 579 580 //------------------------------------------------------------- 581 582 loopPagination = () => { 583 const $paginationLinks = $("body").find(".pagination a"); 584 $paginationLinks.on("click", function (event) { 585 event.preventDefault(); 586 const page = 587 $(this) 588 .attr("href") 589 .match(/\/page\/(\d+)\/?/) != undefined 590 ? $(this) 591 .attr("href") 592 .match(/\/page\/(\d+)\/?/)[1] 593 : 1; 594 RequestAjax( 595 { 596 action: "dataFilters", 597 filters_for, 598 filters, 599 dateSelected: aff_filters_dates ? dateSelected : undefined, 600 s: filters_for == "search" ? s : undefined, 601 page, 602 _rootUrl, 603 lang: $("html").attr("lang").split("-")[0], 604 }, 605 (data) => { 606 if (data["_date"]) { 607 const element = 608 $CaAssurancesResults.find(".tab-pane.active"); 609 $CaAssurancesResults.find(`.tab-pane>div`).html(""); 610 $(element).find("div").html(data["result"]); //pourquoi c'était commenté ? 611 $SearchParams 612 .find("#number_posts") 613 .html(data["number_posts"]); 614 $SearchParams 615 .find("p") 616 .html( 617 data["number_posts"] > 1 618 ? translation_object.results 619 : translation_object.result 620 ); 621 loopPagination(); 622 } else { 623 const tabByDate = `<div class="tab-pane active"><div></div></div>`; 624 $CaAssurancesResults 625 .find("#ca-assurances-tabs") 626 .html(tabByDate); 627 $CaAssurancesResults.find(`.tab-pane>div`).html(""); 628 $CaAssurancesResults 629 .find(`.tab-pane>div`) 630 .html(data["result"]); 631 loopPagination(); 632 } 633 } 634 ); 635 }); 636 }; 637 638 //------------------------------------------------------------- 639 640 const tabElDate = $CaAssurancesResults.find( 641 'button[data-bs-toggle="tab"].dates' 642 ); 643 const tabElListMap = $CaAssurancesResults.find( 644 'button[data-bs-toggle="tab"].list-map' 645 ); 646 647 tabElDate.on("shown.bs.tab", function (event) { 648 const elementID = $(event.target).data("bs-target"); 649 dateSelected = $(event.target).data("date"); 650 //Accessibilité 651 $(event.target).parents("#ca-assurances-nav").find(".nav-link").attr("tabindex", "0"); 652 $(event.target).attr("tabindex", "-1"); 653 654 _rootUrl = SyncUrl({ dateSelected }); 655 656 RequestAjax( 657 { 658 action: "dataFilters", 659 filters_for, 660 filters, 661 dateSelected: aff_filters_dates ? dateSelected : undefined, 662 _rootUrl, 663 lang: $("html").attr("lang").split("-")[0], 664 }, 665 (data) => { 666 $(elementID).find("div").html(""); 667 $(elementID).find("div").html(data["result"]); 668 $SearchParams 669 .removeClass("d-none") 670 .find("#number_posts") 671 .html(data["number_posts"]); 672 $SearchParams 673 .find("p") 674 .html( 675 data["number_posts"] > 1 676 ? translation_object.results 677 : translation_object.result 678 ); 679 loopPagination(); 680 } 681 ); 682 }); 683 684 tabElListMap.on("shown.bs.tab", function (event) { 685 const elementID = $(event.target).data("bs-target"); 686 const viewSelected = $(event.target).data("view"); 687 688 _rootUrl = SyncUrl({ dateSelected }); 689 690 if ( 691 viewSelected == "map" && 692 !$("#mapid").hasClass("leaflet-container") 693 ) { 694 const map = L.map("mapid"); 695 let markers = []; 696 L.tileLayer( 697 "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", 698 { 699 maxZoom: 19, 700 } 701 ).addTo(map); 702 mapData.forEach(function (mapItem) {
703 mapItem.markers.forEach(function (marker) { 704 let newMarker = L.marker([marker.lat, marker.lng]) 705 .addTo(map) 706 .bindPopup(marker.label); 707 markers.push(newMarker); 708 }); 709 }); 710 const group = new L.featureGroup(markers); 711 map.fitBounds(group.getBounds().pad(0.1)); 712 } 713 }); 714 715 loopPagination(); 716 } 717 ); 718 }; 719 720 const CheckFilters = () => { 721 $GroupFilters.each((index, element) => { 722 const taxonomie = $(element).data("taxonomie"); 723 const terms = $(element) 724 .find("input:checked") 725 .map((_, checkbox) => $(checkbox).val()) 726 .get(); 727 filters[taxonomie] = terms; 728 }); 729 }; 730 731 $GroupFilters.find("input").on("click", function () { 732 dateSelected = 9999; 733 $(".accordion-item").each(function () { 734 let parrentTaxons = false; 735 $(this) 736 .find("input.child[type='checkbox']") 737 .each(function () { 738 if ($(this).is(":checked")) { 739 parrentTaxons = true; 740 } 741 }); 742 743 if (parrentTaxons) { 744 $($(this).closest(".accordion-item")[0]) 745 .find(".accordion-button") 746 .addClass("checked"); 747 } else { 748 $($(this).closest(".accordion-item")[0]) 749 .find(".accordion-button") 750 .removeClass("checked"); 751 } 752 }); 753 754 const urlParams = new URLSearchParams(window.location.search); 755 compagnie = urlParams.get("compagnie") 756 ? urlParams.get("compagnie") 757 : undefined; 758 viewSelected = urlParams.get("view") ? urlParams.get("view") : "list"; 759 dateSelected = urlParams.get("date") ? urlParams.get("date") : 9999; 760 positionGouvernanceSelected = compagnie; 761 CheckFilters(); 762 _rootUrl = SyncUrl({ s, compagnie, viewSelected, dateSelected }); 763 CaAssurancesFilters(filters); 764 }); 765 766 $GroupFilters.find("input").keypress(function (event) { 767 if (event.which == 13) { 768 $(this).prop("checked", !$(this).prop("checked")); 769 dateSelected = 9999; 770 $(".accordion-item").each(function () { 771 let parrentTaxons = false; 772 $(this) 773 .find("input.child[type='checkbox']") 774 .each(function () { 775 if ($(this).is(":checked")) { 776 parrentTaxons = true; 777 } 778 }); 779 780 if (parrentTaxons) { 781 $($(this).closest(".accordion-item")[0]) 782 .find(".accordion-button") 783 .addClass("checked"); 784 } else { 785 $($(this).closest(".accordion-item")[0]) 786 .find(".accordion-button") 787 .removeClass("checked"); 788 } 789 }); 790 const urlParams = new URLSearchParams(window.location.search); 791 let compagnie = urlParams.get("compagnie") 792 ? urlParams.get("compagnie") 793 : undefined; 794 let viewSelected = urlParams.get("view") 795 ? urlParams.get("view") 796 : "list"; 797 positionGouvernanceSelected = compagnie; 798 CheckFilters(); 799 _rootUrl = SyncUrl({ s, compagnie, viewSelected }); 800 CaAssurancesFilters(filters); 801 } 802 }); 803 804 $("#reset").on("click", (e) => { 805 // $("#reset").toggleClass("d-none"); 806 // $("#set").toggleClass("d-none"); 807 $GroupFilters 808 .find("input") 809 .prop("checked", false) 810 .parents(".accordion-collapse") 811 .collapse("hide"); 812 $GroupFilters.find(".accordion-button").removeClass("checked"); 813 dateSelected = 9999; 814 viewSelected = "list"; 815 const urlParams = new URLSearchParams(window.location.search); 816 let compagnie = urlParams.get("compagnie") 817 ? urlParams.get("compagnie") 818 : undefined; 819 positionGouvernanceSelected = compagnie; 820 _rootUrl = SyncUrl({ s, compagnie }); 821 CaAssurancesFilters(); 822 $link = $(".link-multilingual").attr("href"); 823 $link = $link.split("?"); 824 $(".link-multilingual").attr("href", $link[0]); 825 });
826 827 $("#set").on("click", (e) => { 828 // $("#set").toggleClass("d-none"); 829 // $("#reset").toggleClass("d-none"); 830 $GroupFilters 831 .find("input") 832 .prop("checked", true) 833 .parents(".accordion-collapse") 834 .collapse("show"); 835 $GroupFilters.find(".accordion-button").addClass("checked"); 836 dateSelected = 9999; 837 viewSelected = "list"; 838 const urlParams = new URLSearchParams(window.location.search); 839 let compagnie = urlParams.get("compagnie") 840 ? urlParams.get("compagnie") 841 : undefined; 842 positionGouvernanceSelected = compagnie; 843 CheckFilters(); 844 _rootUrl = SyncUrl({ s, compagnie }); 845 CaAssurancesFilters(filters); 846 }); 847 848 $GroupFilters.each(function () { 849 const filter = $(this); 850 const taxonomy = filter.data("taxonomie"); 851 if (urlParams.has(taxonomy)) { 852 const values = urlParams.get(taxonomy).split(","); 853 values.forEach(function (value) { 854 checked = true; 855 filter 856 .find('input[id="' + value + '"]') 857 .prop("checked", true) 858 .closest(".accordion-collapse") 859 .collapse("show"); 860 }); 861 } 862 }); 863 $(".accordion-item.child").each(function () { 864 let parrentTaxons = false; 865 $(this) 866 .find("input.child[type='checkbox']") 867 .each(function () { 868 if ($(this).is(":checked")) { 869 parrentTaxons = true; 870 } 871 }); 872 873 if (parrentTaxons) { 874 $($(this).closest(".accordion-item")[0]) 875 .closest(".accordion-collapse") 876 .collapse("show") 877 .find(".accordion-button") 878 .addClass("checked"); 879 } else { 880 $($(this).closest(".accordion-item")[0]) 881 .find(".accordion-button") 882 .removeClass("checked"); 883 } 884 }); 885 886 if (checked) { 887 CheckFilters(); 888 } 889 CaAssurancesFilters(filters); 890 891 const $btnBack = $(".back"); 892 if ($btnMoreFilters.length) { 893 $btnMoreFilters.on("click", (e) => { 894 e.preventDefault(); 895 $(".ca-assurances-params").toggleClass("d-block"); 896 $("body").toggleClass("overflow-hidden"); 897 }); 898 899 $btnBack.on("click", (e) => { 900 e.preventDefault(); 901 $(".ca-assurances-params").toggleClass("d-block"); 902 $("body").toggleClass("overflow-hidden"); 903 }); 904 } 905 } 906 907 //----------- START BLOC OFFRES ------------------------------ 908 const $ListOffres = $(".bloc-ca-assurances-list_offers"); 909 if ($ListOffres.length) { 910 $ListOffres.find(".compagnie-offers").on("click", function () { 911 const selected = $(this).hasClass("selected"); 912 const position = $(this).data("position"); 913 914 if (selected) { 915 $ListOffres.find(".compagnie-offers").removeClass("selected"); 916 $(".other-distributors").addClass("d-none"); 917 } else { 918 $ListOffres.find(".compagnie-offers").removeClass("selected"); 919 $(this).toggleClass("selected"); 920 $(".other-distributors").addClass("d-none"); 921 $(".other-distributors[data-position='" + position + "']").removeClass( 922 "d-none" 923 ); 924 } 925 }); 926 } 927 928 //------------For page gouvernance----------------------------- 929 const $ListGouvernance = $("section[data-filters_for='gouvernance']"); 930 if ($ListGouvernance.length) { 931 $ListGouvernance.on( 932 "click", 933 ".ca-assurances-compagnie-governance", 934 function () { 935 const selected = $(this).hasClass("selected"); 936 const position = $(this).data("position"); 937 // const taxons = $(this).data("taxons"); 938 const $caAssurancesFilters = $(".ca-assurances-filters"); 939 const $OtherGovernances = $( 940 ".other-governances[data-position='" + position + "']" 941 ); 942 const numberGoverances = $OtherGovernances.find("> div").length; 943 944 if (selected) { 945 $ListGouvernance 946 .find(".ca-assurances-compagnie-governance") 947 .removeClass("selected"); 948 // $caAssurancesFilters.removeClass("d-block"); 949 positionGouvernanceSelected = undefined; 950 _rootUrl = SyncUrl({ compagnie: null });
951 952 $(".other-governances").addClass("d-none"); 953 if (numberGoverances > 3) { 954 $OtherGovernances.addClass("justify-content-between"); 955 } 956 957 if (screen.width < 650) { 958 $ListGouvernance 959 .find(".ca-assurances-compagnie-governance") 960 .removeClass("d-none"); 961 $(".return-compagnie").prop("disabled", false); 962 } else { 963 $(".return-compagnie").prop("disabled", true); 964 } 965 } else { 966 $ListGouvernance 967 .find(".ca-assurances-compagnie-governance") 968 .removeClass("selected"); 969 $caAssurancesFilters.addClass("d-block"); 970 971 $(this).toggleClass("selected"); 972 positionGouvernanceSelected = $(this).data("position"); 973 compagnie = $(this).attr("id"); 974 _rootUrl = SyncUrl({ compagnie }); 975 976 $(".other-governances").addClass("d-none"); 977 $OtherGovernances.removeClass("d-none"); 978 if (numberGoverances > 3) { 979 $OtherGovernances.addClass("justify-content-between"); 980 } 981 982 if (screen.width < 650) { 983 $ListGouvernance 984 .find(".ca-assurances-compagnie-governance") 985 .addClass("d-none"); 986 $(".return-compagnie").prop("disabled", false); 987 $btnMoreFilters.addClass("d-block"); 988 $("html, body").scrollTop(0); 989 } else { 990 $(".return-compagnie").prop("disabled", true); 991 } 992 } 993 } 994 ); 995 996 $ListGouvernance.on("click", ".return-compagnie", function () { 997 if (screen.width < 650) { 998 const $caAssurancesFilters = $(".ca-assurances-filters"); 999 $ListGouvernance 1000 .find(".ca-assurances-compagnie-governance") 1001 .removeClass("selected"); 1002 $caAssurancesFilters.removeClass("d-block"); 1003 $btnMoreFilters.removeClass("d-block"); 1004 positionGouvernanceSelected = undefined; 1005 _rootUrl = SyncUrl({ compagnie: null }); 1006 1007 $(".other-governances").addClass("d-none"); 1008 1009 $ListGouvernance 1010 .find(".ca-assurances-compagnie-governance") 1011 .removeClass("d-none"); 1012 } 1013 }); 1014 } 1015 1016 //--------------------------------------------------------------- 1017 const $searchform = $(".searchform"); 1018 if ($searchform.length) { 1019 $searchform.on("click", ".searchreset", function (event) { 1020 event.preventDefault(); 1021 $searchform.find("#s").val(""); 1022 $searchform.find(".searchreset").hide(); 1023 _rootUrl = SyncUrl({ compagnie }); 1024 }); 1025 1026 if ($("#s").val() !== "") { 1027 $(".searchreset").show(); 1028 } else { 1029 $(".searchreset").hide(); 1030 } 1031 1032 // Affichez les boutons lorsque le champ de texte est rempli 1033 $("#s").on("input", function () { 1034 if ($(this).val() !== "") { 1035 $(".searchreset").show(); 1036 } else { 1037 $(".searchreset").hide(); 1038 } 1039 }); 1040 } 1041 1042 const target = window.location.hash; 1043 if (target) { 1044 $(window).on("load", function () { 1045 $("html, body").animate( 1046 { 1047 scrollTop: $(target).offset().top - 90, 1048 }, 1049 100 1050 ); 1051 }); 1052 } else { 1053 if (history.scrollRestoration) { 1054 history.scrollRestoration = "manual"; 1055 } else { 1056 $(document).scrollTop(0); 1057 } 1058 } 1059 1060 $(window).scroll(function () { 1061 if ($(this).scrollTop() > 100) { 1062 $("#backToTop").fadeIn(); 1063 } else { 1064 $("#backToTop").fadeOut(); 1065 } 1066 }); 1067 $("#backToTop").on("click", () => { 1068 $("html, body").animate({ scrollTop: 0 }, "slow"); 1069 }); 1070 1071 const $accordionPeriods = $(".ca-assurances-accordion-periods"); 1072 $("main").on("click", 'a[href^="#"]', function (e) { 1073 const target = $(this).attr("href"); 1074 $("body").removeClass("overflow-hidden"); 1075 1076 if (target != "#") { 1077 let Height = 0; 1078 if ($(this).closest(".bloc-ca-assurances-list_stories").length) { 1079 e.preventDefault(); 1080 if ($accordionPeriods.offset().top - $(window).scrollTop() != 0) { 1081 Height = $(".accordion-body").outerHeight(); 1082 } 1083 $("html, body").animate( 1084 { 1085 scrollTop: $(target).offset().top - 90 - Height, 1086 }, 1087 100 1088 ); 1089 } else { 1090 $("html, body").animate( 1091 { 1092 scrollTop: $(target).offset().top - 90, 1093 }, 1094 100 1095 ); 1096 } 1097 } 1098 }); 1099 1100 //Page Stories 1101 1102 if ($accordionPeriods.length) { 1103 if ($accordionPeriods.offset().top - $(window).scrollTop() === 0) { 1104 $("#collapseStories").collapse("hide"); 1105 $accordionPeriods.addClass("sticky"); 1106 } else { 1107 $accordionPeriods.removeClass("sticky"); 1108 $("#collapseStories").collapse("show"); 1109 } 1110 1111 $accordionPeriods.find("button").on("click", function () { 1112 $accordionPeriods.toggleClass("collapsedOnClick"); 1113 if ($accordionPeriods.offset().top - $(window).scrollTop() === 0) { 1114 $("body").toggleClass("overflow-hidden"); 1115 } 1116 });
1117 1118 $(window).scroll(function () { 1119 if ($accordionPeriods.offset().top - $(window).scrollTop() === 0) { 1120 $("#collapseStories").collapse("hide"); 1121 $accordionPeriods.addClass("sticky"); 1122 } else { 1123 $accordionPeriods.removeClass("sticky"); 1124 if ( 1125 $accordionPeriods.offset().top - $(window).scrollTop() > 64 && 1126 !$accordionPeriods.hasClass("collapsedOnClick") 1127 ) { 1128 $("#collapseStories").collapse("show"); 1129 } 1130 } 1131 }); 1132 } 1133 1134 $(".language-switcher .menu-item-has-children>a").on( 1135 "click", 1136 function (event) { 1137 event.preventDefault(); 1138 $(this).parent().find(".sub-menu").toggle(); 1139 } 1140 ); 1141 1142 //lien privacy center 1143 $A = $("<a>"); 1144 $A.attr("href", "#"); 1145 $A.click(function (event) { 1146 event.preventDefault(); 1147 tC.privacyCenter.showPrivacyCenter(); 1148 }); 1149 $("#footer-navigation-secondaire li.tagco_privacy_center span").wrap($A); 1150 1151 $(document).on( 1152 "click", 1153 ".ca-assurances-publication .links a", 1154 function (event) { 1155 $CurrentModal = $(event.currentTarget).attr("data-bs-target"); 1156 if ($(event.currentTarget).attr("class").includes("icon-download")) { 1157 $($CurrentModal).find(".piano-download").removeClass("d-none"); 1158 $($CurrentModal).find(".see-more").addClass("d-none"); 1159 } else { 1160 $($CurrentModal).find(".see-more").removeClass("d-none"); 1161 $($CurrentModal).find(".piano-download").addClass("d-none"); 1162 } 1163 } 1164 ); 1165 1166 $(document).on( 1167 "click", 1168 "div.modal .modal-footer .piano-download", 1169 function (event) { 1170 $CurrentModal = $(event.currentTarget).closest(".modal"); 1171 $CurrentModal.modal("hide"); 1172 } 1173 ); 1174 1175 1176 1177 //hit piano sur clique publication 1178 $(document).on("click", ".piano-download", function (event) { 1179 tC.event.click_download(this, { 1180 name: $(event.currentTarget).data("publication-title"), 1181 }); 1182 }); 1183 1184 const elementTranslated = { 1185 "fr-FR": {}, 1186 "en-US": { 1187 Compagnies: translation_object.compagnies, 1188 Thèmes: translation_object.themes, 1189 "Type d'événements": translation_object.type_evenements, 1190 "Types de publications": translation_object.type_publications, 1191 Instances: translation_object.instances, 1192 "Zones Géographiques": translation_object.zones_geographiques, 1193 "Cadres dirigeants": translation_object.cadres_dirigeants, 1194 }, 1195 }; 1196 1197 //Pour les classes forTranslate 1198 $(".forTranslate").each(function () { 1199 const textForTranslate = $(this).text(); 1200 const textTranslated = 1201 elementTranslated[$("html").attr("lang")][textForTranslate]; 1202 1203 if (textTranslated != undefined) { 1204 $(this).text(textTranslated); 1205 } 1206 1207 $(this).removeClass("d-none"); 1208 }); 1209 1210 const $personalisedContact = $(".bloc-ca-assurances-personalised_contact"); 1211 if ($personalisedContact.length) { 1212 const $personalisedContactTabs = $personalisedContact.find(".tabs"); 1213 const $personalisedContactSteps = $personalisedContact.find(".steps"); 1214 let startID = $personalisedContactTabs.find(".active").attr("id"); 1215 let road = []; 1216 1217 const CreateForm = (id) => { 1218 $personalisedContactTabs.find(">div").removeClass("active"); 1219 const $personalisedContactResponses = $("<div>").addClass("responses").attr("role", "list"); 1220 const $personalisedContactTab = $personalisedContactTabs.find( 1221 `>div#${id}` 1222 ).length 1223 ? $personalisedContactTabs.find(`>div#${id}`).addClass("active") 1224 : $("<div>").attr("id", id).addClass("active"); 1225 let $personalisedContactStep = ""; 1226 1227 road.push(id); 1228 1229 if (contactTree[id] != undefined) { 1230 const $personalisedContactQuestion = $("<h2>").addClass("question"); 1231 1232 $personalisedContactTab.append( 1233 $personalisedContactQuestion.html(contactTree[id]["question"]) 1234 ); 1235 1236 const contactTreeSorted = Object.values(contactTree[id].responses); 1237 contactTreeSorted.sort((a, b) => { 1238 if (a.order === "0" && b.order !== "0") { 1239 return 1; 1240 } else if (a.order !== "0" && b.order === "0") { 1241 return -1; 1242 } else { 1243 return parseInt(a.order) - parseInt(b.order); 1244 } 1245 }); 1246 1247 contactTreeSorted.forEach(({ id, label, image }) => { 1248 const $personalisedContactResponse = $("<button>") 1249 .attr("type", "button") 1250 .addClass("response") 1251 .attr("btn-id", id) 1252 .attr("role", "listitem"); 1253 1254 if (image != null) { 1255 $personalisedContactTab.append( 1256 $personalisedContactResponses.append( 1257 $personalisedContactResponse 1258 .addClass("withImg") 1259 .append($("<div>").html(label)) 1260 .prepend( 1261 $("<div>").css( 1262 "background-image", 1263 `url(${image.sizes.medium}` 1264 ) 1265 ) 1266 ) 1267 ); 1268 } else { 1269 $personalisedContactTab.append( 1270 $personalisedContactResponses.append( 1271 $personalisedContactResponse.append($("<div>").html(label)) 1272 ) 1273 ); 1274 } 1275 }); 1276 1277 $personalisedContactStep = $("<div>") 1278 .addClass("step") 1279 .attr("id", `step-${road.length}`) 1280 .append($("<div>").addClass("stepNumber").html(road.length)) 1281 .append( 1282 $("<div>") 1283 .addClass("allInfo") 1284 .append( 1285 $("<div>").addClass("stepLabel").html(contactTree[id]["etape"]) 1286 ) 1287 .append($("<div>").addClass("stepResponse").html("")) 1288 ); 1289 1290 $personalisedContactSteps.append($personalisedContactStep); 1291 } else {
1292 //affiche la fin du parcours soit le contenu d'une page de contact personnalisé 1293 $personalisedContactTab.html( 1294 contactTree[road[road.length - 2]].responses[id]["contact"] 1295 ); 1296 1297 const $experienceEvaluation = $(".experience-evaluation"); 1298 if ($experienceEvaluation.length > 0) { 1299 $experienceEvaluation.removeClass("d-none"); 1300 } 1301 } 1302 $personalisedContactTabs.append($personalisedContactTab); 1303 if ($personalisedContactTab.find(".wpcf7-form").length > 0) { 1304 wpcf7.init(document.querySelector(".wpcf7-form")); 1305 1306 const $caseACocher = $personalisedContactTab.find("#dp"); 1307 if ($caseACocher.length > 0) { 1308 const $submitBtn = $personalisedContactTab.find(".wpcf7-form-control.wpcf7-submit"); 1309 const $OTPBtn = $personalisedContactTab.find("#send-otp"); 1310 $submitBtn.prop("disabled", true); 1311 $OTPBtn.prop("disabled", true); 1312 $('body').on("click", "#dp", function () { 1313 if ($(this).is(":checked")) { 1314 $submitBtn.prop("disabled", false); 1315 $OTPBtn.prop("disabled", false); 1316 } else { 1317 $submitBtn.prop("disabled", true); 1318 $OTPBtn.prop("disabled", true); 1319 } 1320 }); 1321 } 1322 1323 setTimeout(() => { 1324 const wpcf7Elm = document.querySelector(".wpcf7"); 1325 if (wpcf7Elm) { 1326 wpcf7Elm.addEventListener( 1327 "wpcf7mailsent", 1328 function () { 1329 const $output = $personalisedContactTab.find(".wpcf7-response-output"); 1330 $output.addClass("validate").attr("aria-hidden", "false"); 1331 const $submitBtn = $personalisedContactTab.find(".wpcf7-form-control.wpcf7-submit"); 1332 $submitBtn.blur(); 1333 }, 1334 false 1335 ); 1336 1337 wpcf7Elm.addEventListener( 1338 "wpcf7invalid", 1339 function (event) { 1340 const invalidFields = event.detail.apiResponse.invalid_fields; 1341 if(invalidFields.length == 1 && invalidFields[0].field == "otp-code") { 1342 JBSetOpt(wpcf7Elm); 1343 } 1344 }, 1345 false 1346 ); 1347 } 1348 }, 2000); 1349 } 1350 }; 1351 1352 CreateForm(startID); 1353 1354 const getPianoLibelleClickPersonalisedContact = (road, ajout) => { 1355 let pianoLibelleClickPersonalisedContact = ""; 1356 1357 road.forEach((id) => { 1358 if (contactTree[id] != undefined) { 1359 pianoLibelleClickPersonalisedContact += 1360 pianoLibelleClickPersonalisedContact ? " > " : ""; 1361 pianoLibelleClickPersonalisedContact += contactTree[id].label; 1362 } else { 1363 pianoLibelleClickPersonalisedContact += 1364 pianoLibelleClickPersonalisedContact ? " => " : ""; 1365 pianoLibelleClickPersonalisedContact += 1366 contactTree[road[road.length - 2]].responses[id]["contact_title"]; 1367 } 1368 }); 1369 1370 if (ajout) { 1371 pianoLibelleClickPersonalisedContact += 1372 pianoLibelleClickPersonalisedContact ? " > " : ""; 1373 1374 pianoLibelleClickPersonalisedContact += ajout; 1375 } 1376 pianoLibelleClickPersonalisedContact = 1377 "contact-perso > " + pianoLibelleClickPersonalisedContact; 1378 return pianoLibelleClickPersonalisedContact; 1379 }; 1380 1381 $personalisedContact.on("click", ".responses .response", function () { 1382 $(`#step-${road.length}`) 1383 .addClass("done") 1384 .find(`.stepResponse`) 1385 .html($(this).find("div:last-child").html()); 1386 1387 CreateForm($(this).attr("btn-id")); 1388 1389 tC.event.click_download(this, { 1390 name: getPianoLibelleClickPersonalisedContact(road), 1391 }); 1392 1393 1394 1395 $(".actions").removeClass("d-none"); 1396 }); 1397 1398 $("#back").on("click", function () { 1399 if (road.length > 1) { 1400 $personalisedContactTabs.find(">div").removeClass("active"); 1401 $personalisedContactTabs 1402 .find(`>div#${road[road.length - 2]}`) 1403 .addClass("active"); 1404 $personalisedContactTabs.find(`>div#${road[road.length - 1]}`).remove(); 1405 $personalisedContactSteps.find(`>div#step-${road.length}`).remove(); 1406 $personalisedContactSteps 1407 .find(`>div#step-${road.length - 1}`) 1408 .removeClass("done") 1409 .find(`.stepResponse`) 1410 .html(""); 1411 1412 tC.event.click_download(this, { 1413 name: getPianoLibelleClickPersonalisedContact( 1414 road, 1415 translation_object.retour 1416 ), 1417 }); 1418 1419 road.pop(); 1420 road.length == 1 && $(this).closest(".actions").addClass("d-none"); 1421 const $experienceEvaluation = $(".experience-evaluation"); 1422 $experienceEvaluation 1423 .addClass("d-none") 1424 .find(".message") 1425 .addClass("d-none"); 1426 $experienceEvaluation.find("a").removeClass("selected d-none");
1427 $(".wpcf7-response-output").removeClass("validate"); 1428 } 1429 }); 1430 1431 $("#restart").on("click", function () { 1432 if (road.length > 1) { 1433 $personalisedContactTabs.find(">div").removeClass("active"); 1434 $personalisedContactTabs.find(`>div#${road[0]}`).addClass("active"); 1435 $personalisedContactTabs.find(`>div:not(#${road[0]})`).remove(); 1436 $personalisedContactSteps.find(`>div:not(#step-1)`).remove(); 1437 $personalisedContactSteps 1438 .find(`>div#step-1`) 1439 .removeClass("done") 1440 .find(`.stepResponse`) 1441 .html(""); 1442 1443 tC.event.click_download(this, { 1444 name: getPianoLibelleClickPersonalisedContact( 1445 road, 1446 translation_object.recommencer 1447 ), 1448 }); 1449 1450 road.length = 1; 1451 $(this).closest(".actions").addClass("d-none"); 1452 const $experienceEvaluation = $(".experience-evaluation"); 1453 $experienceEvaluation 1454 .addClass("d-none") 1455 .find(".message") 1456 .addClass("d-none"); 1457 $experienceEvaluation.find("a").removeClass("selected d-none"); 1458 $(".wpcf7-response-output").removeClass("validate"); 1459 } 1460 }); 1461 1462 $("#goodBtn").on("click", function () { 1463 $(this).closest(".actions").find(".message").removeClass("d-none"); 1464 $(this).closest(".actions").find("a").addClass("d-none"); 1465 }); 1466 1467 $("#badBtn").on("click", function () { 1468 $(this).addClass("selected"); 1469 }); 1470 1471 const wpcf7Elm = document.querySelector(".wpcf7"); 1472 1473 wpcf7Elm.addEventListener( 1474 "wpcf7mailsent", 1475 function (event) { 1476 wpcf7.init(document.querySelector(".wpcf7-form")); 1477 $("#CAAModalExperience").modal("hide"); 1478 const $experienceEvaluation = $(".experience-evaluation"); 1479 $experienceEvaluation.find(".actions .message").removeClass("d-none"); 1480 $experienceEvaluation.find(".actions a").addClass("d-none"); 1481 }, 1482 false 1483 ); 1484 } 1485}); // end document
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.