PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.6.10
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.6.10
5.6.10 5.6.9 5.6.8 5.6.7 5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / assets / javascripts / front.js
latepoint / lib / assets / javascripts Last commit date
bin 1 week ago vendor 1 year ago admin.js 3 weeks ago front.js 3 weeks ago vendor-admin.js 1 year ago vendor-front.js 1 year ago
front.js
182 lines
1 /*
2 * Copyright (c) 2022 LatePoint LLC. All rights reserved.
3 */
4 // @codekit-prepend "bin/time.js"
5 // @codekit-prepend "bin/shared.js"
6 // @codekit-prepend "bin/notifications.js";
7 // @codekit-prepend "bin/actions.js"
8 // @codekit-prepend "bin/front/main.js"
9 // @codekit-prepend "bin/front/_customer.js"
10 // @codekit-prepend "bin/front/_events.js"
11 // @codekit-prepend "bin/front/_stripe_connect.js"
12 // @codekit-prepend "bin/front/_paypal_connect.js"
13 // @codekit-prepend "bin/front/_razorpay_connect.js"
14
15
16 // DOCUMENT READY
17 jQuery(document).ready(function ($) {
18
19 latepoint_init_customer_login_form();
20 latepoint_init_customer_dashboard();
21 latepoint_init_manage_booking_by_key();
22
23 jQuery('body').on('click', '.le-filter-trigger', function () {
24 let $events_calendar = jQuery(this).closest('.latepoint-calendar-wrapper');
25 if ($events_calendar.hasClass('show-filters')) {
26 $events_calendar.removeClass('show-filters');
27 $events_calendar.find('.latepoint-calendar-filters select').val('');
28 latepoint_reload_events_calendar($events_calendar);
29 } else {
30 $events_calendar.addClass('show-filters');
31 }
32 return false;
33 });
34
35 jQuery('body').on('click', '.le-navigation-trigger', function () {
36 let $trigger = jQuery(this);
37 let $events_calendar = $trigger.closest('.latepoint-calendar-wrapper');
38 $events_calendar.find('input[name="target_date_string"]').val($trigger.data('target-date'));
39 $trigger.addClass('os-loading');
40 latepoint_reload_events_calendar($events_calendar);
41 return false;
42 });
43
44 jQuery('body').on('change', '.le-day-filters select', function () {
45 let $trigger = jQuery(this);
46 let $day_view = $trigger.closest('.le-day-view-wrapper');
47 latepoint_reload_day_schedule($day_view);
48 return false;
49 });
50
51 jQuery('body').on('change', '.latepoint-calendar-filters select, .le-range-selector select', function () {
52 let $trigger = jQuery(this);
53 let $events_calendar = $trigger.closest('.latepoint-calendar-wrapper');
54 $events_calendar.find('.le-filter').addClass('os-loading');
55 latepoint_reload_events_calendar($events_calendar);
56 return false;
57 });
58
59 jQuery('body').on('click', '.close-calendar-types', function () {
60 jQuery(this).closest('.add-to-calendar-wrapper').removeClass('show-types');
61 return false;
62 });
63 jQuery('body').on('click', '.open-calendar-types', function () {
64 jQuery(this).closest('.add-to-calendar-wrapper').addClass('show-types');
65 return false;
66 });
67
68 jQuery('body').on('latepoint:nextStepClicked', '.latepoint-booking-form-element', (e, data) => {
69
70 latepoint_add_action(data.callbacks_list, async () => {
71 let $booking_form = jQuery(e.currentTarget).find('.latepoint-form');
72 let errors = latepoint_validate_form($booking_form);
73 if (errors.length) {
74 let error_messages = errors.map(error => error.message).join(', ');
75 throw new Error(error_messages);
76 } else {
77 return true;
78 }
79 }, 1);
80
81 });
82
83 if (latepoint_helper.start_from_order_intent_key) {
84 $('body').append('<div class="latepoint-continue-intent-loading"></div>');
85
86 let data = {
87 action: latepoint_helper.route_action,
88 route_name: latepoint_helper.start_from_order_intent_route,
89 params: {order_intent_key: latepoint_helper.start_from_order_intent_key},
90 layout: 'none',
91 return_format: 'json'
92 }
93
94 $.ajax({
95 type: "post",
96 dataType: "json",
97 url: latepoint_timestamped_ajaxurl(),
98 data: data,
99 success: function (data) {
100 $('.latepoint-continue-intent-loading').remove();
101 if (data.status === "success") {
102 var lightbox_class = '';
103 latepoint_show_data_in_lightbox(data.message, data.lightbox_class);
104 var $booking_form_element = jQuery('.latepoint-lightbox-w .latepoint-booking-form-element');
105 latepoint_init_booking_form($booking_form_element);
106 $booking_form_element.find('.latepoint-step-content').addClass('is-hidden').last().removeClass('is-hidden');
107 if ($booking_form_element.find('.latepoint-step-content').length > 1) latepoint_show_prev_btn($booking_form_element);
108 var $booking_form_element = jQuery('.latepoint-lightbox-w .latepoint-booking-form-element');
109 $booking_form_element.find('.latepoint-step-content').each(function () {
110 latepoint_init_step($(this).data('step-code'), $booking_form_element);
111 });
112 $('body').addClass('latepoint-lightbox-active');
113 } else {
114 // console.log(data.message);
115 }
116 }
117 });
118 }
119
120 if (latepoint_helper.start_from_transaction_access_key) {
121 const invoice_access_key = latepoint_helper.start_from_transaction_access_key;
122 show_summary_before_payment(invoice_access_key);
123 }
124
125
126 jQuery('body').on('click', '.latepoint-lightbox-close', function () {
127 latepoint_lightbox_close();
128 return false;
129 });
130
131
132 jQuery('body').on('click', '.os-step-tabs .os-step-tab', function () {
133 let $booking_form_element = jQuery(this).closest('.latepoint-booking-form-element');
134 jQuery(this).closest('.os-step-tabs').find('.os-step-tab').removeClass('active');
135 jQuery(this).addClass('active');
136 var target = jQuery(this).data('target');
137 jQuery(this).closest('.os-step-tabs-w').find('.os-step-tab-content').hide();
138 jQuery(this).closest('.os-step-tabs-w').find('.os-password-reset-form-holder').html('');
139 if(jQuery(this).data('next-btn') === 'show'){
140 latepoint_show_next_btn($booking_form_element);
141 }else{
142 latepoint_hide_next_btn($booking_form_element);
143 }
144
145 if(jQuery(this).data('auth-action')){
146 $booking_form_element.find('input[name="auth[action]"]').val(jQuery(this).data('auth-action'));
147 }
148 jQuery(target).show();
149 });
150
151 jQuery('body').on('keyup', '.os-form-group .os-form-control', function () {
152 if (jQuery(this).val()) {
153 jQuery(this).closest('.os-form-group').addClass('has-value');
154 } else {
155 jQuery(this).closest('.os-form-group').removeClass('has-value');
156 }
157 });
158
159 jQuery('.latepoint-tab-triggers').on('click', '.latepoint-tab-trigger', function () {
160 var $tabs_wrapper = jQuery(this).closest('.latepoint-tabs-w')
161 $tabs_wrapper.find('.latepoint-tab-trigger.active').removeClass('active');
162 $tabs_wrapper.find('.latepoint-tab-content').removeClass('active');
163 jQuery(this).addClass('active');
164 $tabs_wrapper.find('.latepoint-tab-content' + jQuery(this).data('tab-target')).addClass('active');
165 return false;
166 });
167
168
169 // Main Button to trigger lightbox opening
170 if(jQuery('.latepoint-book-form-wrapper').length){
171 jQuery('.latepoint-book-form-wrapper').each(function(){
172 latepoint_init_booking_form_by_trigger(jQuery(this));
173 });
174 }
175
176 jQuery('body').on('click', '.latepoint-book-button, .os_trigger_booking', function () {
177 latepoint_init_booking_form_by_trigger(jQuery(this));
178 return false;
179 });
180
181 });
182