PageSourceSearch

https://ipostersessions.com/wp-content/plugins/genesis-blocks/dist…/js/newsletter-block-functions.js?ver=1.0

js ipostersessions.com collected 2026-10-01 10:17:01 UTC 3,373 bytes, 147 lines download raw bytes

1'use strict';
2
3var $ = jQuery;
4
5var GenesisBlocksNewsletterSubmission = {
6	init() {
7		$( '.gb-newsletter-submit' ).on( 'click', function( event ) {
8			var button = $( this );
9
10			var button_text_original = button.val();
11
12			var form = $( this ).parents( 'form' );
13
14			var nonce = button
15				.parent()
16				.find( "[name='gb-newsletter-form-nonce']" )
17				.val();
18
19			var email = button
20				.parent()
21				.find( "[name='gb-newsletter-email-address']" )
22				.val();
23
24			var provider = button
25				.parent()
26				.find( "[name='gb-newsletter-mailing-list-provider']" )
27				.val();
28
29			var list = button
30				.parent()
31				.find( "[name='gb-newsletter-mailing-list']" )
32				.val();
33
34			var successMessage = button
35				.parent()
36				.find( "[name='gb-newsletter-success-message']" )
37				.val();
38
39			var errorMessageContainer = button
40				.parents( '.gb-block-newsletter' )
41				.find( '.gb-block-newsletter-errors' );
42
43			var ampEndpoint = button
44				.parent()
45				.find( "[name='gb-newsletter-amp-endpoint-request']" )
46				.val();
47
48			var doubleOptIn = button
49				.parent()
50				.find( "[name='gb-newsletter-double-opt-in']" )
51				.val();
52
53			event.preventDefault();
54
55			wp.a11y.speak(
56				genesis_blocks_newsletter_vars.l10n.a11y.submission_processing
57			);
58
59			button
60				.val(
61					genesis_blocks_newsletter_vars.l10n.button_text_processing
62				)
63				.prop( 'disabled', true );
64
65			if ( ! email ) {
66				setTimeout( function() {
67					button
68						.val( button_text_original )
69						.prop( 'disabled', false );
70					wp.a11y.speak(
71						genesis_blocks_newsletter_vars.l10n.a11y
72							.submission_failed
73					);
74				}, 400 );
75				return;
76			}
77
78			if ( ! provider || ! list ) {
79				form.html(
80					'<p class="gb-newsletter-submission-message">' +
81						genesis_blocks_newsletter_vars.l10n
82							.invalid_configuration +
83						'</p>'
84				);
85				return;
86			}
87
88			$.ajax( {
89				data: {
90					action: 'genesis_blocks_newsletter_submission',
91					'gb-newsletter-email-address': email,
92					'gb-newsletter-mailing-list-provider': provider,
93					'gb-newsletter-mailing-list': list,
94					'gb-newsletter-form-nonce': nonce,
95					'gb-newsletter-success-message': successMessage,
96					'gb-newsletter-amp-endpoint-request': ampEndpoint,
97					'gb-newsletter-double-opt-in': doubleOptIn,
98				},
99				type: 'post',
100				url: genesis_blocks_newsletter_vars.ajaxurl,
101				success( response ) {
102					if ( response.success ) {
103						form.html(
104							'<p class="gb-newsletter-submission-message">' +
105								response.data.message +
106								'</p>'
107						);
108						wp.a11y.speak(
109							genesis_blocks_newsletter_vars.l10n.a11y
110								.submission_succeeded
111						);
112					}
113
114					if ( ! response.success ) {
115						errorMessageContainer
116							.html( '<p>' + response.data.message + '</p>' )
117							.fadeIn();
118						button
119							.val( button_text_original )
120							.prop( 'disabled', false );
121						wp.a11y.speak(
122							genesis_blocks_newsletter_vars.l10n.a11y
123								.submission_failed
124						);
125					}
126				},
127				failure( response ) {
128					errorMessageContainer
129						.html( '<p>' + response.data.message + '</p>' )
130						.fadeIn();
131				},
132			} );
133		} );
134
135		$( '.gb-newsletter-email-address-input' ).on( 'keyup', function(
136			event
137		) {
138			$( '.gb-block-newsletter-errors' )
139				.html( '' )
140				.fadeOut();
141		} );
142	},
143};
144
145$( document ).ready( function() {
146	GenesisBlocksNewsletterSubmission.init();
147} );

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.