PageSourceSearch

https://civildeadline.com/wp-content/plugins/embed-sendy/assets/embed-sendy.js?ver=1.3.3

js civildeadline.com collected 2026-09-26 01:18:18 UTC 2,634 bytes, 78 lines download raw bytes

1/* global esdSettings, jQuery, grecaptcha */
2
3function esOnSubmit() {
4	jQuery( '#js-esd-form' ).submit();
5}
6
7( function( $ ) {
8	$( document ).ready( function() {
9		$( '#js-esd-form' ).on( 'submit', function( e ) {
10			e.preventDefault();
11			e.stopPropagation();
12			const self = $( this );
13
14			if ( typeof grecaptcha !== 'undefined' && ! grecaptcha.getResponse() ) {
15				$( '<p class="esd-form__row esd-form__response esd-form__response--error">Error: ' + esdSettings.recaptchaFailed + '</p>' ).insertBefore( self.find( '#es-submit' ) );
16				return;
17			}
18
19			const submitButtonText = self.find( 'input[type=submit]' ).val();
20			self.find( 'input[type=submit]' ).val("...");
21
22			if ( self.find( '#gdpr' ).is( ':checked' ) ) {
23				self.find( '#gdpr' ).val( 'true' );
24			}
25
26			self.find( 'input[type=submit]' ).attr( 'disabled', 'disabled' );
27
28			self.find( '.esd-form__response' ).remove();
29
30			let formData = $( this ).serialize();
31			formData += '&action=process_sendy';
32
33			$.ajax( {
34				method: 'POST',
35				url: esdSettings.ajaxurl,
36				data: formData,
37				dataType: 'json',
38			} )
39				.done( function( res ) {
40					if ( res.data && res.data.status === false ) {
41						const message = res.data.message || 'Some error occurred.';
42						$( '<p class="esd-form__row esd-form__response esd-form__response--error">Error: ' + message + '</p>' ).insertBefore( self.find( '#es-submit' ) );
43						return;
44					}
45
46					if ( res.success === false ) {
47						$( '<p class="esd-form__row esd-form__response esd-form__response--error">Error: ' + res.data.message + '</p>' ).insertBefore( self.find( '#es-submit' ) );
48						return;
49					}
50
51					if ( res.success && res.data.status ) {
52						const message = ( res.data.message === 'Already subscribed!' ) ? esdSettings.alreadySubscribed : esdSettings.successMessage;
53
54						$( '<p class="esd-form__row esd-form__response esd-form__response--success">' + message + '</p>' ).insertBefore( self.find( '#es-submit' ) );
55					}
56				} )
57				.fail( function( data ) {
58					const response = data.responseText;
59					let message = '';
60
61					if ( 'Already subscribed.' === response ) {
62						message = esdSettings.alreadySubscribed;
63					} else {
64						message = response;
65					}
66
67					$( '<p class="esd-form__row esd-form__response esd-form__response--error">Error: ' + message + '</p>' ).insertBefore( self.find( '#es-submit' ) );
68				} )
69				.always( function() {
70					self.find( 'input[type=submit]' ).removeAttr( 'disabled' );
71					self.find( 'input[type=submit]' ).val(submitButtonText);
72					if ( typeof grecaptcha !== 'undefined' ) {
73						grecaptcha.reset();
74					}
75				} );
76		} );
77	} );
78}( 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.