PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.1.8
LatePoint – Calendar Booking Plugin for Appointments and Events v5.1.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 year ago vendor 1 year ago admin.js 1 year ago front.js 1 year ago vendor-admin.js 1 year ago vendor-front.js 1 year ago
front.js
169 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_dashboard();
18 latepoint_init_manage_booking_by_key();
19
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 jQuery(this).closest('.os-step-tabs').find('.os-step-tab').removeClass('active');
132 jQuery(this).addClass('active');
133 var target = jQuery(this).data('target');
134 jQuery(this).closest('.os-step-tabs-w').find('.os-step-tab-content').hide();
135 jQuery(target).show();
136 });
137
138 jQuery('body').on('keyup', '.os-form-group .os-form-control', function () {
139 if (jQuery(this).val()) {
140 jQuery(this).closest('.os-form-group').addClass('has-value');
141 } else {
142 jQuery(this).closest('.os-form-group').removeClass('has-value');
143 }
144 });
145
146 jQuery('.latepoint-tab-triggers').on('click', '.latepoint-tab-trigger', function () {
147 var $tabs_wrapper = jQuery(this).closest('.latepoint-tabs-w')
148 $tabs_wrapper.find('.latepoint-tab-trigger.active').removeClass('active');
149 $tabs_wrapper.find('.latepoint-tab-content').removeClass('active');
150 jQuery(this).addClass('active');
151 $tabs_wrapper.find('.latepoint-tab-content' + jQuery(this).data('tab-target')).addClass('active');
152 return false;
153 });
154
155
156 // Main Button to trigger lightbox opening
157 if(jQuery('.latepoint-book-form-wrapper').length){
158 jQuery('.latepoint-book-form-wrapper').each(function(){
159 latepoint_init_booking_form_by_trigger(jQuery(this));
160 });
161 }
162
163 jQuery('body').on('click', '.latepoint-book-button, .os_trigger_booking', function () {
164 latepoint_init_booking_form_by_trigger(jQuery(this));
165 return false;
166 });
167
168 });
169