1(function ($) { 2 3 $(document).ready(function () { 4 if (!$('.notify-me-form').length) { 5 return; 6 } 7 8 $('.notify-me-form').on('submit', function (event) { 9 event.preventDefault(); 10 const $form = $(this); 11 const email = $.trim($form.find('#email').val()); 12 const emailListId = $.trim($form.data('emailListId')); 13 14 $.ajax({ 15 type: "POST", 16 url: `${GHM.rest_url_v1}/notify-me`, 17 headers: { 18 "Content-Type": "application/json" 19 }, 20 data: JSON.stringify({ 21 "email": email, 22 "listId": emailListId 23 }), 24 beforeSend: function () { 25 $form.find('.notify-me-submit-btn').prop('disabled', true); 26 $form.find('.btn-text').hide(); 27 $form.find('.loading').show(); 28 }, 29 complete: function () { 30 $form.find('.notify-me-submit-btn').prop('disabled', false); 31 $form.find('.btn-text').show(); 32 $form.find('.loading').hide(); 33 }, 34 success: function (response) { 35 if (response) { 36 $form.siblings('.notify-me-message').html('Thanks for understanding.<br>We will notify you as soon as this item is back in stock.'); 37 $form.remove(); 38 } 39 }, 40 error: function (error) { 41 const errorMessage = error.responseJSON?.message || 'An error occurred. Please try again.'; 42 $form.siblings('.notify-me-message').html(`<span class='error'>${errorMessage}</span>`); 43 } 44 }); 45 }); 46 }); 47 48})(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.