PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.2.0
LatePoint – Calendar Booking Plugin for Appointments and Events v5.2.0
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 9 months ago vendor 1 year ago admin.js 9 months ago front.js 9 months ago vendor-admin.js 1 year ago vendor-front.js 1 year ago
front.js
179 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 var 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 if(jQuery(this).data('next-btn') === 'show'){
137 latepoint_show_next_btn($booking_form_element);
138 }else{
139 latepoint_hide_next_btn($booking_form_element);
140 }
141
142 if(jQuery(this).data('auth-action')){
143 $booking_form_element.find('input[name="auth[action]"]').val(jQuery(this).data('auth-action'));
144 }
145 jQuery(target).show();
146 });
147
148 jQuery('body').on('keyup', '.os-form-group .os-form-control', function () {
149 if (jQuery(this).val()) {
150 jQuery(this).closest('.os-form-group').addClass('has-value');
151 } else {
152 jQuery(this).closest('.os-form-group').removeClass('has-value');
153 }
154 });
155
156 jQuery('.latepoint-tab-triggers').on('click', '.latepoint-tab-trigger', function () {
157 var $tabs_wrapper = jQuery(this).closest('.latepoint-tabs-w')
158 $tabs_wrapper.find('.latepoint-tab-trigger.active').removeClass('active');
159 $tabs_wrapper.find('.latepoint-tab-content').removeClass('active');
160 jQuery(this).addClass('active');
161 $tabs_wrapper.find('.latepoint-tab-content' + jQuery(this).data('tab-target')).addClass('active');
162 return false;
163 });
164
165
166 // Main Button to trigger lightbox opening
167 if(jQuery('.latepoint-book-form-wrapper').length){
168 jQuery('.latepoint-book-form-wrapper').each(function(){
169 latepoint_init_booking_form_by_trigger(jQuery(this));
170 });
171 }
172
173 jQuery('body').on('click', '.latepoint-book-button, .os_trigger_booking', function () {
174 latepoint_init_booking_form_by_trigger(jQuery(this));
175 return false;
176 });
177
178 });
179