PageSourceSearch

https://ensiapukoulutus.fi/wp-content/plugins/eventilla-events/public/js/eventilla-wp-public.js?ver=2.2.2

js ensiapukoulutus.fi collected 2026-10-07 00:02:35 UTC 7,276 bytes, 227 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	/**
5	 * All of the code for your public-facing JavaScript source
6	 * should reside in this file.
7	 *
8	 * Note: It has been assumed you will write jQuery code here, so the
9	 * $ function reference has been prepared for usage within the scope
10	 * of this function.
11	 *
12	 * This enables you to define handlers, for when the DOM is ready:
13	 */
14	$(function() {
15
16		// Show eventilla subscription form on click.
17		$( "a.show-eventilla-form" ).click(function(e) {
18			e.preventDefault();
19			var classNames = $(this).attr('class').split(' ');
20			if ($.inArray("redirect", classNames) === -1) {
21				var form_id = $(this).attr('href');
22				$(form_id).toggle();
23				$('form').hide();
24			} else {
25				window.location.replace($(this).attr('href'));
26			}
27		});
28
29		$( "a" ).on('click', function (e) {
30			if ($(this).text() == "Register now") {
31				e.preventDefault();
32				$('.eventilla-single-event').css('display', 'block');
33				$('#registrants').hide();
34				var uid = $(this)[0].pathname.split("/");
35				uid = uid[uid.length - 1];
36				var elements = document.getElementsByClassName(uid);
37				var childElem = elements[0].childNodes;
38				var forms = [];
39				var count = 0;
40				for (var i = 0; i < childElem.length; i++) {
41					if (childElem[i].id == "attend") {
42						forms[count] = childElem[i];
43						forms[count].style.display = 'none';
44						count++;
45					}
46				}
47				elements[0].className = uid;
48				forms[0].style.display = 'block';
49			}
50		});
51
52		$( "a.btn-danger" ).on('click', function (e) {
53			e.preventDefault();
54			$(this)[0].parentElement.parentElement.style.display = 'none'
55		});
56
57		$('#orderTickets').submit(function(e) {
58
59			e.preventDefault();
60
61		    var user_input = $(this).serializeArray();
62		    var pressed_button_id = $(document.activeElement).attr('id');
63		    //var user_input_last = $.trim(user_input.split(',').pop());
64
65		    $.ajax({
66		        url: eventillajax.ajax_url,
67		        type: 'POST',
68		        data: {
69		        	'form': 'ticket',
70		            'user_input': user_input,
71		            'action': 'event_registration',
72		            'security': eventillajax.ajax_nonce,
73		            'pressed_button_id': pressed_button_id
74		        },
75		        success:function(data) {
76		            console.log(data);
77		        },
78		        error: function(errorThrown){
79		            console.log(errorThrown);
80		        }
81		    });
82
83		});
84
85		$("a.eventilla-form").click(function (e) {
86			e.preventDefault();
87			var classNames = $(this).attr('class').split(' ');
88			if ($.inArray("redirect", classNames) === -1) {
89				$('form').hide();
90				var ticket_id = $(this).attr('href');
91				$('.'+ticket_id).css( "display", "block" );
92			} else {
93				window.location.replace($(this).attr('href'));
94			}
95		});
96
97	/*
98	* Hand single Eventilla #attend form submission
99	*/
100	$('.eventilla-form #attend').submit(function(e) {
101
102			e.preventDefault();
103
104			// Clear possible form errors/notices/success from previous runs.
105			$('.eventilla_error').removeClass('eventilla_error');
106			$('p.eventilla_error_msg').remove();
107			$('p.eventilla_notice_msg').remove();
108			$('p.eventilla_success_msg').remove();
109
110
111
112		    var user_input = $(this).serializeArray();
113		    var pressed_button_id = $(document.activeElement).attr('id');
114		    var eventilla_id = $(this).attr('action');
115		    eventilla_id = eventilla_id.substr(eventilla_id.lastIndexOf('/') + 1);
116			var ticket_id = $(this)[0].className;
117
118		    $.ajax({
119		        url: eventillajax.ajax_url,
120		        type: 'POST',
121		        data: {
122		        	'form': 'registration',
123		            'user_input': user_input,
124		            'event_id': eventilla_id,
125					'form_ticket': ticket_id,
126		            'action': 'event_registration',
127		            'security': eventillajax.ajax_nonce,
128		            'pressed_button_id': pressed_button_id
129		        },
130		        beforeSend:function(data) {
131		        	$(this).find(':input').prop('disabled', true);
132		        },
133		        success:function(data) {
134		        	$(this).find(':input').prop('disabled', false);
135					$(".msg-success").show();
136					$(".msg-success").text("Good");
137
138	            var json = jQuery.parseJSON(data);
139
140	            var error_msg_ob = json.error_messages;
141
142	            if(
143								typeof(json) === 'object' &&
144								'registration' in json &&
145								'errors' in json.registration
146							) {
147		            var error_msg_ob = json.registration.errors;
148		            $.each( error_msg_ob, function(i, val){
149
150		            	var err_key = i;
151		            	var err_msg = val;
152
153		            	// For some reason fields email, firstname and lastname follow different pattern and have containers set differently.
154		            	if( err_key === 'email' || err_key === 'firstname' || err_key === 'lastname' ){
155
156		            		$('input[name="0_' + err_key + '"]' ).parent().addClass('eventilla_error');
157		            		$('input[name="0_' + err_key + '"]' ).after('<p class="eventilla_error_msg">' + err_msg + '</p>' );
158
159
160		            	} /*else if( err_key.length > 0 ) {
161
162		            		$('#field_div_0_' + err_key).addClass('eventilla_error');
163		            		$('input[name="0_' + err_key + '"]' ).after('<p class="eventilla_error_msg">' + err_msg + '</p>' );
164
165		            	} */else {
166
167		            		$('#eventille_event_' + eventilla_id + ' .notice').show( function(e){
168		            			$(this).append('<p class="eventilla_notice_msg">' + err_msg + '</p>');
169		            		});
170		            		$('#eventille_event_' + eventilla_id + ' form').after('<p class="eventilla_notice_msg">' + err_msg + '</p>');
171
172		            	}
173
174		            });
175	            }
176
177	            if(
178								typeof(json) === 'object' &&
179								'registration' in json &&
180								'link' in json.registration &&
181								'type' in json.registration.link &&
182								json.registration.link.type === 'return'
183							) {
184								var message = 'You have registered. <a href="' +  json.registration.link.href + '">Summary page</a>';
185								json.registration.hasOwnProperty('success') ? message = json.registration.success : '';
186
187	            	// var success_msg = json.success_msg;
188	            	$('#eventille_event_' + eventilla_id + ' .success').show( function(e){
189		            	$(this).append('<p class="eventilla_success_msg">' + message + '</p>');
190		            });
191		            $('#eventille_event_' + eventilla_id + ' form').after('<p class="eventilla_success_msg">' + message + '</p>');
192
193		            $('#eventille_event_' + eventilla_id + ' form').trigger('reset');
194	            }
195
196
197		        },
198		        error: function(errorThrown){
199		            console.log(errorThrown);
200
201					$(".msg-error").text("Error");
202					$(".msg-error").show();
203		            $(this).find(':input').prop('disabled', false);
204		        }
205		    });
206
207		});
208
209	 });
210	 /*
211	 * When the window is loaded:
212	 */
213	 $( window ).on("load", function() {
214		 if ($('tr.event-content').length > 0) {
215		 	$('.eventilla-single-event').hide();
216		 }
217	 });
218	 /*
219	 * ...and/or other possibilities.
220	 *
221	 * Ideally, it is not considered best practise to attach more than a
222	 * single DOM-ready or window-load handler for a particular page.
223	 * Although scripts in the WordPress core, Plugins and Themes may be
224	 * practising this, we should strive to set a better example in our own work.
225	 */
226
227})( 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.