PluginProbe ʕ •ᴥ•ʔ
LatePoint – Calendar Booking Plugin for Appointments and Events / 5.1.3
LatePoint – Calendar Booking Plugin for Appointments and Events v5.1.3
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
171 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 (jQuery('.latepoint-booking-form-element').length) {
119 jQuery('.latepoint-booking-form-element').each(function () {
120 latepoint_init_booking_form(jQuery(this));
121 latepoint_init_step(jQuery(this).find('.latepoint_current_step_code').val(), jQuery(this));
122 });
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 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(target).show();
138 });
139
140 jQuery('body').on('keyup', '.os-form-group .os-form-control', function () {
141 if (jQuery(this).val()) {
142 jQuery(this).closest('.os-form-group').addClass('has-value');
143 } else {
144 jQuery(this).closest('.os-form-group').removeClass('has-value');
145 }
146 });
147
148 jQuery('.latepoint-tab-triggers').on('click', '.latepoint-tab-trigger', function () {
149 var $tabs_wrapper = jQuery(this).closest('.latepoint-tabs-w')
150 $tabs_wrapper.find('.latepoint-tab-trigger.active').removeClass('active');
151 $tabs_wrapper.find('.latepoint-tab-content').removeClass('active');
152 jQuery(this).addClass('active');
153 $tabs_wrapper.find('.latepoint-tab-content' + jQuery(this).data('tab-target')).addClass('active');
154 return false;
155 });
156
157
158 // Main Button to trigger lightbox opening
159 if(jQuery('.latepoint-book-form-wrapper').length){
160 jQuery('.latepoint-book-form-wrapper').each(function(){
161 latepoint_init_booking_form_by_trigger(jQuery(this));
162 });
163 }
164
165 jQuery('body').on('click', '.latepoint-book-button, .os_trigger_booking', function () {
166 latepoint_init_booking_form_by_trigger(jQuery(this));
167 return false;
168 });
169
170 });
171