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 |