"use strict"; var $ = jQuery; var AtomicBlocksNewsletterSubmission = { init: function() { $( '.ab-newsletter-submit' ).on( 'click', function( event ) { event.preventDefault(); wp.a11y.speak( atomic_blocks_newsletter_vars.l10n.a11y.submission_processing ); var button = $( this ); var button_text_original = button.val(); button.val( atomic_blocks_newsletter_vars.l10n.button_text_processing ).prop( 'disabled', true ); var form = $( this ).parents( 'form' ); var nonce = button.parent().find( "[name='ab-newsletter-form-nonce']" ).val(); var email = button.parent().find( "[name='ab-newsletter-email-address']" ).val(); var provider = button.parent().find( "[name='ab-newsletter-mailing-list-provider']" ).val(); var list = button.parent().find( "[name='ab-newsletter-mailing-list']" ).val(); var successMessage = button.parent().find( "[name='ab-newsletter-success-message']" ).val(); var errorMessageContainer = button.parents( '.ab-block-newsletter' ).find( '.ab-block-newsletter-errors' ); var ampEndpoint = button.parent().find( "[name='ab-newsletter-amp-endpoint-request']" ).val(); if ( ! email ) { setTimeout( function() { button.val( button_text_original ).prop( 'disabled', false ); wp.a11y.speak( atomic_blocks_newsletter_vars.l10n.a11y.submission_failed ); }, 400 ); return; } if ( ! provider || ! list ) { form.html( '
' ); return; } $.ajax( { data: { action: 'atomic_blocks_newsletter_submission', 'ab-newsletter-email-address': email, 'ab-newsletter-mailing-list-provider': provider, 'ab-newsletter-mailing-list': list, 'ab-newsletter-form-nonce': nonce, 'ab-newsletter-success-message': successMessage, 'ab-newsletter-amp-endpoint-request': ampEndpoint, }, type: 'post', url: atomic_blocks_newsletter_vars.ajaxurl, success: function( response ) { if ( response.success ) { form.html( '' ); wp.a11y.speak( atomic_blocks_newsletter_vars.l10n.a11y.submission_succeeded ); } if ( ! response.success ) { errorMessageContainer.html( '' + response.data.message + '
' ).fadeIn(); button.val( button_text_original ).prop( 'disabled', false ); wp.a11y.speak( atomic_blocks_newsletter_vars.l10n.a11y.submission_failed ); } }, failure: function( response ) { errorMessageContainer.html( '' + response.data.message + '
' ).fadeIn(); } } ); } ); $( '.ab-newsletter-email-address-input' ).on( 'keyup', function( event ) { $( '.ab-block-newsletter-errors' ).html('').fadeOut(); } ); } } $( document ).ready( function() { AtomicBlocksNewsletterSubmission.init(); } );