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