1(function (Drupal, $, once) { 2 Drupal.behaviors.Account__content = { 3 attach: function (context, settings) { 4 const elements = once('subscribe_newsletter', '[class~="custom_slider_ajax"]', context); 5 6 $(elements).on("click", function (e) { 7 var label = $(e.target).closest("label"); 8 var id_liste = $(label) 9 .find('input[type="checkbox"]') 10 .attr("data-list"); 11 var email = $('input[name="user_email"], [name="mail"]').val(); 12 let isSubscription = $(label).find('input[type="checkbox"]').is(":checked") ? false : true; 13 let url = "/api/subscription_newsletter/" + id_liste; 14 15 // on envoie la requete 16 var settings = { 17 async: true, 18 url: url, 19 method: "POST", 20 headers: { 21 Accept: "application/json", 22 "Content-Type": "application/json", 23 }, 24 processData: false, 25 data: JSON.stringify({ 26 email: email, 27 isSubscription: isSubscription 28 }), 29 }; 30 31 $.ajax(settings).done(function (response) { 32 let switch_element = $(e.target); 33 34 $(switch_element)
35 .closest(".news_type") 36 .find(".more-ot-alert .alert-texte") 37 .html(response.text); 38 39 $(switch_element) 40 .closest(".news_type") 41 .find(".more-ot-alert") 42 .fadeIn("fast"); 43 44 setTimeout(function () { 45 closeAlert(switch_element); 46 }, 2000); 47 48 if (true === response.success) { 49 var settingsNewsletterCheck = { 50 async: true, 51 url: "/api/remove_field_newsletter/" + email, 52 method: "GET", 53 }; 54 $.ajax(settingsNewsletterCheck).done(function (response) { }); 55 } 56 }); 57 }); 58 59 $(".close-ot-alert").on("click", function (e) { 60 closeAlert($(e.target)); 61 }); 62 63 $("#newsletter-subscribe") 64 .find("input#edit-email") 65 .on("keyup ", function (event) { 66 var value = $(this).val(); 67 var message = $( 68 '<span class="flk_description" style="color:red;display:none;">Vous êtes déjà inscrit à la newsletter l`\'Hebdo. Gérez votre abonnement en cliquant <a href="/user/0/newsletter?user_email=' + 69 value + 70 '" style="text-decoration:underline;"> ici </a></span>' 71 ); 72 if ( 73 $("#newsletter-subscribe .form-item-email span.flk_description") 74 .length === 0 75 ) { 76 $("#newsletter-subscribe .form-item-email").append(message); 77 } 78 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value)) { 79 // on prépare l'envoie en vérifiant si l'email est valide 80 setTimeout(function () { 81 // on envoie la requete pour savoir si l'utilisateur existe 82 var url = "/api/if_field_newsletter_active/" + value; 83 var settings = { 84 url: url, 85 method: "GET", 86 headers: { 87 "Content-Type": "application/json", 88 }, 89 }; 90 $.ajax(settings).done(function (response) { 91 if (response.data.active) { 92 // si le compte existe 93 $( 94 "#newsletter-subscribe .form-item-email span.flk_description" 95 ).show(); 96 $("#newsletter-subscribe .form-item-email input").css({ 97 "border-color": "red", 98 "border-width": "2px", 99 }); 100 101 // desactiver l'input submit 102 $("#newsletter-subscribe .form-actions input").attr( 103 "disabled", 104 true 105 ); 106 var link = "/user/0/newsletter?user_email=" + value; 107 $( 108 "#newsletter-subscribe .form-item-email span.flk_description a" 109 ).attr("href", link); 110 } else { 111 $( 112 "#newsletter-subscribe .form-item-email span.flk_description" 113 ).hide(); 114 $("#newsletter-subscribe .form-item-email input").attr( 115 "style", 116 "" 117 ); 118 119 // activer l'input submit 120 $("#newsletter-subscribe .form-actions input").attr( 121 "disabled", 122 false 123 ); 124 } 125 console.log(response.data.has_account, response.data); 126 }); 127 }, 1000); 128 } 129 }); 130 131 $("#edit-field-telephone-0-value").attr("maxlength", 10); 132 var message = $( 133 '<span class="flk_description" style="color:red;display:none;">Veuillez utiliser un numéro de téléphone valide</span>' 134 ); 135 if ( 136 $("#edit-field-telephone-wrapper span.flk_description").length === 0 137 ) { 138 $("#edit-field-telephone-wrapper").append(message); 139 } 140 $("#edit-field-telephone-0-value").on("change", function (e) { 141 console.clear(); 142 var input = $(e.target); 143 var phone_lenght = $(e.target).val().length; 144 if (phone_lenght >= 8 && phone_lenght < 10) { 145 $("#edit-field-telephone-wrapper span.flk_description").show(); 146 $(input).css({ 147 "border-color": "red", 148 "border-width": "2px", 149 }); 150 $("#edit-submit").attr("disable", true); 151 } else { 152 $("#edit-field-telephone-wrapper span.flk_description").hide(); 153 $(input).attr("style", ""); 154 $("#edit-submit").attr("disable", false); 155 } 156 console.log($(e.target), $(e.target).val(), $(e.target).val().length); 157 }); 158 159 function closeAlert(element) { 160 setTimeout(function () { 161 $(element)
162 .closest(".news_type") 163 .find(".more-ot-alert") 164 .fadeOut("fast"); 165 }, 100); 166 } 167 }, 168 }; 169})(Drupal, jQuery, once);
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.