PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.2.11
LatePoint – Calendar Booking Plugin for Appointments and Events v5.2.11
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 3 months ago vendor 1 year ago admin.js 3 months ago front.js 4 months ago vendor-admin.js 1 year ago vendor-front.js 1 year ago
front.js
180 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
13
14 // DOCUMENT READY
15 jQuery(document).ready(function ($) {
16
17 latepoint_init_customer_login_form();
18 latepoint_init_customer_dashboard();
19 latepoint_init_manage_booking_by_key();
20
21 jQuery('body').on('click', '.le-filter-trigger', function () {
22 let $events_calendar = jQuery(this).closest('.latepoint-calendar-wrapper');
23 if ($events_calendar.hasClass('show-filters')) {
24 $events_calendar.removeClass('show-filters');
25 $events_calendar.find('.latepoint-calendar-filters select').val('');
26 latepoint_reload_events_calendar($events_calendar);
27 } else {
28 $events_calendar.addClass('show-filters');
29 }
30 return false;
31 });
32
33 jQuery('body').on('click', '.le-navigation-trigger', function () {
34 let $trigger = jQuery(this);
35 let $events_calendar = $trigger.closest('.latepoint-calendar-wrapper');
36 $events_calendar.find('input[name="target_date_string"]').val($trigger.data('target-date'));
37 $trigger.addClass('os-loading');
38 latepoint_reload_events_calendar($events_calendar);
39 return false;
40 });
41
42 jQuery('body').on('change', '.le-day-filters select', function () {
43 let $trigger = jQuery(this);
44 let $day_view = $trigger.closest('.le-day-view-wrapper');
45 latepoint_reload_day_schedule($day_view);
46 return false;
47 });
48
49 jQuery('body').on('change', '.latepoint-calendar-filters select, .le-range-selector select', function () {
50 let $trigger = jQuery(this);
51 let $events_calendar = $trigger.closest('.latepoint-calendar-wrapper');
52 $events_calendar.find('.le-filter').addClass('os-loading');
53 latepoint_reload_events_calendar($events_calendar);
54 return false;
55 });
56
57 jQuery('body').on('click', '.close-calendar-types', function () {
58 jQuery(this).closest('.add-to-calendar-wrapper').removeClass('show-types');
59 return false;
60 });
61 jQuery('body').on('click', '.open-calendar-types', function () {
62 jQuery(this).closest('.add-to-calendar-wrapper').addClass('show-types');
63 return false;
64 });
65
66 jQuery('body').on('latepoint:nextStepClicked', '.latepoint-booking-form-element', (e, data) => {
67
68 latepoint_add_action(data.callbacks_list, async () => {
69 let $booking_form = jQuery(e.currentTarget).find('.latepoint-form');
70 let errors = latepoint_validate_form($booking_form);
71 if (errors.length) {
72 let error_messages = errors.map(error => error.message).join(', ');
73 throw new Error(error_messages);
74 } else {
75 return true;
76 }
77 }, 1);
78
79 });
80
81 if (latepoint_helper.start_from_order_intent_key) {
82 $('body').append('<div class="latepoint-continue-intent-loading"></div>');
83
84 let data = {
85 action: latepoint_helper.route_action,
86 route_name: latepoint_helper.start_from_order_intent_route,
87 params: {order_intent_key: latepoint_helper.start_from_order_intent_key},
88 layout: 'none',
89 return_format: 'json'
90 }
91
92 $.ajax({
93 type: "post",
94 dataType: "json",
95 url: latepoint_timestamped_ajaxurl(),
96 data: data,
97 success: function (data) {
98 $('.latepoint-continue-intent-loading').remove();
99 if (data.status === "success") {
100 var lightbox_class = '';
101 latepoint_show_data_in_lightbox(data.message, data.lightbox_class);
102 var $booking_form_element = jQuery('.latepoint-lightbox-w .latepoint-booking-form-element');
103 latepoint_init_booking_form($booking_form_element);
104 $booking_form_element.find('.latepoint-step-content').addClass('is-hidden').last().removeClass('is-hidden');
105 if ($booking_form_element.find('.latepoint-step-content').length > 1) latepoint_show_prev_btn($booking_form_element);
106 var $booking_form_element = jQuery('.latepoint-lightbox-w .latepoint-booking-form-element');
107 $booking_form_element.find('.latepoint-step-content').each(function () {
108 latepoint_init_step($(this).data('step-code'), $booking_form_element);
109 });
110 $('body').addClass('latepoint-lightbox-active');
111 } else {
112 // console.log(data.message);
113 }
114 }
115 });
116 }
117
118 if (latepoint_helper.start_from_transaction_access_key) {
119 const invoice_access_key = latepoint_helper.start_from_transaction_access_key;
120 show_summary_before_payment(invoice_access_key);
121 }
122
123
124 jQuery('body').on('click', '.latepoint-lightbox-close', function () {
125 latepoint_lightbox_close();
126 return false;
127 });
128
129
130 jQuery('body').on('click', '.os-step-tabs .os-step-tab', function () {
131 let $booking_form_element = jQuery(this).closest('.latepoint-booking-form-element');
132 jQuery(this).closest('.os-step-tabs').find('.os-step-tab').removeClass('active');
133 jQuery(this).addClass('active');
134 var target = jQuery(this).data('target');
135 jQuery(this).closest('.os-step-tabs-w').find('.os-step-tab-content').hide();
136 jQuery(this).closest('.os-step-tabs-w').find('.os-password-reset-form-holder').html('');
137 if(jQuery(this).data('next-btn') === 'show'){
138 latepoint_show_next_btn($booking_form_element);
139 }else{
140 latepoint_hide_next_btn($booking_form_element);
141 }
142
143 if(jQuery(this).data('auth-action')){
144 $booking_form_element.find('input[name="auth[action]"]').val(jQuery(this).data('auth-action'));
145 }
146 jQuery(target).show();
147 });
148
149 jQuery('body').on('keyup', '.os-form-group .os-form-control', function () {
150 if (jQuery(this).val()) {
151 jQuery(this).closest('.os-form-group').addClass('has-value');
152 } else {
153 jQuery(this).closest('.os-form-group').removeClass('has-value');
154 }
155 });
156
157 jQuery('.latepoint-tab-triggers').on('click', '.latepoint-tab-trigger', function () {
158 var $tabs_wrapper = jQuery(this).closest('.latepoint-tabs-w')
159 $tabs_wrapper.find('.latepoint-tab-trigger.active').removeClass('active');
160 $tabs_wrapper.find('.latepoint-tab-content').removeClass('active');
161 jQuery(this).addClass('active');
162 $tabs_wrapper.find('.latepoint-tab-content' + jQuery(this).data('tab-target')).addClass('active');
163 return false;
164 });
165
166
167 // Main Button to trigger lightbox opening
168 if(jQuery('.latepoint-book-form-wrapper').length){
169 jQuery('.latepoint-book-form-wrapper').each(function(){
170 latepoint_init_booking_form_by_trigger(jQuery(this));
171 });
172 }
173
174 jQuery('body').on('click', '.latepoint-book-button, .os_trigger_booking', function () {
175 latepoint_init_booking_form_by_trigger(jQuery(this));
176 return false;
177 });
178
179 });
180