File: /var/www/goautomatic.pl/wp-content/plugins/latepoint/public/javascripts/admin.js.map
{"version":3,"sources":["../../lib/assets/javascripts/bin/time.js","../../lib/assets/javascripts/bin/lateselect.js","../../lib/assets/javascripts/bin/latecheckbox.js","../../lib/assets/javascripts/bin/actions.js","../../lib/assets/javascripts/bin/notifications.js","../../lib/assets/javascripts/bin/shared.js","../../lib/assets/javascripts/bin/admin/updates.js","../../lib/assets/javascripts/bin/admin/main.js","../../lib/assets/javascripts/bin/admin/_chart.js","../../lib/assets/javascripts/bin/admin/_calendar.js","../../lib/assets/javascripts/bin/admin/_processes.js","../../lib/assets/javascripts/admin.js"],"names":[],"mappings":"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","file":"admin.js","sourcesContent":["function latepoint_is_timeframe_in_periods(timeframe_start, timeframe_end, periods_arr) {\n var is_inside = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n for (var i = 0; i < periods_arr.length; i++) {\n\n var period_start = 0;\n var period_end = 0;\n var buffer_before = 0;\n var buffer_after = 0;\n\n var period_info = periods_arr[i].split(':');\n if (period_info.length == 2) {\n period_start = period_info[0];\n period_end = period_info[1];\n } else {\n buffer_before = period_info[2];\n buffer_after = period_info[3];\n period_start = parseFloat(period_info[0]) - parseFloat(buffer_before);\n period_end = parseFloat(period_info[1]) + parseFloat(buffer_after);\n }\n if (is_inside) {\n if (latepoint_is_period_inside_another(timeframe_start, timeframe_end, period_start, period_end)) {\n return true;\n }\n } else {\n if (latepoint_is_period_overlapping(timeframe_start, timeframe_end, period_start, period_end)) {\n return true;\n }\n }\n };\n return false;\n}\n\nfunction latepoint_is_period_overlapping(period_one_start, period_one_end, period_two_start, period_two_end) {\n // https://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap/\n return period_one_start < period_two_end && period_two_start < period_one_end;\n}\nfunction latepoint_is_period_inside_another(period_one_start, period_one_end, period_two_start, period_two_end) {\n return period_one_start >= period_two_start && period_one_end <= period_two_end;\n}\n\n\n// Converts time in minutes to hours if possible, if minutes also exists - shows minutes too\nfunction latepoint_minutes_to_hours_preferably(time) {\n var army_clock = latepoint_is_army_clock();\n\n var hours = Math.floor(time / 60);\n if (!army_clock && hours > 12) hours = hours - 12;\n\n var minutes = time % 60;\n if(minutes > 0) hours = hours + ':' + minutes;\n return hours;\n}\n\n\nfunction latepoint_minutes_to_hours(time) {\n var army_clock = latepoint_is_army_clock();\n\n var hours = Math.floor(time / 60);\n if (!army_clock && hours > 12) hours = hours - 12;\n return hours;\n}\n\n\nfunction latepoint_am_or_pm(minutes) {\n if(latepoint_is_army_clock()) return '';\n return (minutes < 720 || minutes == 1440) ? 'am' : 'pm';\n}\n\nfunction latepoint_hours_and_minutes_to_minutes(hours_and_minutes, ampm) {\n var hours_and_minutes_arr = hours_and_minutes.split(':');\n var hours = hours_and_minutes_arr[0];\n var minutes = hours_and_minutes_arr[1];\n if(ampm == \"pm\" && hours<12) hours = parseInt(hours)+12;\n if(ampm == \"am\" && hours==12) hours = 0;\n minutes = parseInt(minutes) + (hours * 60);\n return minutes;\n}\n\nfunction latepoint_get_time_system(){\n return latepoint_helper.time_system;\n}\n\nfunction latepoint_is_army_clock(){\n return (latepoint_get_time_system() == '24');\n}\n\nfunction latepoint_minutes_to_hours_and_minutes(minutes) {\n var army_clock = latepoint_is_army_clock();\n var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '%02d:%02d';\n\n var hours = Math.floor(minutes / 60);\n if(!army_clock && (hours > 12)) hours = hours - 12;\n if(!army_clock && hours == 0) hours = 12;\n var minutes = minutes % 60;\n return sprintf(format, hours, minutes);\n}\n","(function($) {\n\n jQuery.fn.lateSelect = function() {\n\n function os_build_selected_item($option){\n var quantity_html = '';\n if($option.data('quantity')) quantity_html = '<span class=\"os-late-quantity-selector-w\"><span class=\"os-late-quantity-selector minus\" data-sign=\"minus\"></span><input class=\"os-late-quantity-selector-input\" type=\"text\" data-max-quantity=\"'+ $option.data('max-quantity') +'\" value=\"' + $option.data('quantity') + '\"/><span class=\"os-late-quantity-selector plus\" data-sign=\"plus\"></span></span>';\n return '<div class=\"ls-item\" data-value=\"' + $option.val() + '\"><span class=\"latepoint-icon latepoint-icon-cross ls-item-remover\"></span><span>' + $option.text() + '</span>' + quantity_html + '</div>'\n }\n\n this.each( function() {\n var lateselect_html = '';\n var all_items = '';\n var selected_items = '';\n var is_selected = '';\n if(jQuery(this).hasClass('os-late-select-active')) return;\n jQuery(this).hide().addClass('os-late-select-active');\n jQuery(this).find('option').each(function(){\n if(jQuery(this).is(':selected')) selected_items+= os_build_selected_item(jQuery(this));\n is_selected = jQuery(this).is(':selected') ? 'selected' : '';\n all_items+= '<div class=\"ls-item '+ is_selected +'\" data-value=\"' + jQuery(this).val() + '\">' + jQuery(this).text() + '</div>';\n });\n var placeholder = '<div class=\"ls-placeholder\">' + jQuery(this).data('placeholder') + '</div>';\n lateselect_html = jQuery('<div class=\"lateselect-w\"></div>');\n jQuery(this).wrap(lateselect_html);\n var $lateselect_wrapper = jQuery(this).closest('.lateselect-w');\n $lateselect_wrapper.append('<div class=\"ls-selected-items-w\">' + placeholder + selected_items + '</div>');\n $lateselect_wrapper.append('<div class=\"ls-all-items-w\">' + all_items + '</div>');\n\n\n // ADD ITEM\n $lateselect_wrapper.on('click', '.ls-all-items-w .ls-item:not(.selected)', function(){\n var selected_value = jQuery(this).data('value');\n $lateselect_wrapper.find('.ls-selected-items-w').append(os_build_selected_item($lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]')));\n jQuery(this).addClass('selected');\n $lateselect_wrapper.removeClass('ls-selecting');\n $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').prop('selected', true);\n $lateselect_wrapper.find('select').trigger('change');\n return false;\n });\n\n // REMOVE ITEM\n $lateselect_wrapper.on('click', '.ls-selected-items-w .ls-item-remover', function(){\n var selected_value = jQuery(this).closest('.ls-item').data('value');\n jQuery(this).closest('.ls-item').remove();\n $lateselect_wrapper.find('.ls-all-items-w .ls-item.selected[data-value=\"' + selected_value + '\"]').removeClass('selected');\n $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').prop('selected', false);\n $lateselect_wrapper.find('select').trigger('change');\n return false;\n });\n\n $lateselect_wrapper.on('click', '.ls-selected-items-w', function(){\n $lateselect_wrapper.toggleClass('ls-selecting');\n return false;\n });\n\n $lateselect_wrapper.on('click', '.os-late-quantity-selector', function(){\n var $input = jQuery(this).closest('.ls-item').find('input.os-late-quantity-selector-input');\n var current_value = parseInt($input.val());\n var new_quantity = (jQuery(this).data('sign') == 'minus') ? current_value - 1 : current_value + 1;\n var max_quantity = $input.data('max-quantity');\n if(new_quantity <= 0) new_quantity = 1;\n if(max_quantity && (new_quantity > max_quantity)) new_quantity = max_quantity;\n var selected_value = jQuery(this).closest('.ls-item').data('value');\n $lateselect_wrapper.find('select option[value=\"'+ selected_value +'\"]').data('quantity', new_quantity);\n $input.val(new_quantity);\n $lateselect_wrapper.find('select').trigger('change');\n return false;\n });\n\n jQuery(this).on('change', function(){\n var $hidden_connection = false;\n if(jQuery(this).data('hidden-connection')){\n $hidden_connection = jQuery(jQuery(this).data('hidden-connection'));\n }else{\n $hidden_connection = jQuery(this).closest('.lateselect-w').next('input[type=\"hidden\"]');\n }\n var formatted_ids = '';\n if(jQuery(this).find('option:selected').length){\n jQuery(this).find('option:selected').each(function(){\n if(jQuery(this).data('quantity')){\n var quantity = jQuery(this).data('quantity') ? jQuery(this).data('quantity') : 1;\n formatted_ids+= jQuery(this).val() + ':' + quantity + ',';\n }else{\n formatted_ids+= jQuery(this).val() + ',';\n }\n });\n }else{\n formatted_ids = '';\n }\n if(formatted_ids != '') formatted_ids = formatted_ids.slice(0, -1);\n $hidden_connection.val(formatted_ids);\n });\n });\n }\n}(jQuery));","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\n(function($) {\n\n jQuery.fn.lateCheckbox = function() {\n\n function applyChanges(id){\n let $wrapper = jQuery('.latecheckbox-w[data-latecheckbox-id=\"' + id + '\"]');\n $wrapper.find('.latecheckbox-options-w').html(jQuery('.latecheckbox-options-w[data-latecheckbox-id=\"' + id + '\"]').html());\n\n let $options = $wrapper.find('.latecheckbox-options');\n let total_checked = $options.find('.latecheckbox-option input[type=\"checkbox\"]:checked').length;\n let total_available = $options.find('.latecheckbox-option input[type=\"checkbox\"]').length;\n if(total_checked < total_available){\n $wrapper.find('.latecheckbox .filter-value').text(total_checked);\n }else{\n $wrapper.find('.latecheckbox .filter-value').text('All');\n }\n // set indeterminate, since it can only be set via JS\n $wrapper.find('input[type=\"checkbox\"][indeterminate=\"indeterminate\"]').prop('indeterminate', true).removeAttr('indeterminate');\n\n $wrapper.find('.latecheckbox').trigger('change');\n }\n\n this.each( function() {\n var $latecheckbox_wrapper = jQuery(this).closest('.latecheckbox-w');\n $latecheckbox_wrapper.attr('data-latecheckbox-id', 'latecheckbox-' + latepoint_random_generator());\n\n $latecheckbox_wrapper.on('click', '.latecheckbox', function(){\n let $latecheckbox = jQuery(this);\n jQuery('body > .latecheckbox-options-w').remove();\n if(jQuery(this).hasClass('is-active')){\n jQuery(this).removeClass('is-active');\n }else{\n jQuery('.latecheckbox.is-active').removeClass('is-active');\n jQuery(this).addClass('is-active');\n let position = jQuery(this).position();\n let left = position.left;\n let $options_wrapper = $latecheckbox_wrapper.find('.latecheckbox-options-w');\n let $options_wrapper_clone = $options_wrapper.clone();\n $options_wrapper_clone.attr('data-latecheckbox-id', jQuery(this).closest('.latecheckbox-w').attr('data-latecheckbox-id')).appendTo('body');\n if(true){\n // todo add ability to change position\n left = left + jQuery(this).outerWidth() - $options_wrapper_clone.outerWidth();\n }\n $options_wrapper_clone.css({\"top\": position.top + jQuery(this).outerHeight() +5 , \"left\": left});\n if($options_wrapper_clone.find('.latecheckbox-filter-input').length) $options_wrapper_clone.find('.latecheckbox-filter-input').trigger('focus');\n\n $options_wrapper_clone.on('change', '.latecheckbox-all-check', function(){\n if(jQuery(this).is(':checked')){\n jQuery(this).attr('checked', 'checked').removeAttr('indeterminate');\n jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-options input[type=\"checkbox\"]').prop('checked', true).prop('indeterminate', false).attr('checked', 'checked');\n }else{\n jQuery(this).removeAttr('checked').removeAttr('indeterminate');\n jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-options input[type=\"checkbox\"]').prop('checked', false).prop('indeterminate', false).removeAttr('checked');\n }\n applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n });\n $options_wrapper_clone.on('change', '.latecheckbox-group-check', function(){\n if(jQuery(this).is(':checked')){\n jQuery(this).attr('checked', 'checked').removeAttr('indeterminate');\n jQuery(this).closest('.latecheckbox-group').find('.latecheckbox-group-options input[type=\"checkbox\"]').prop('checked', true).attr('checked', 'checked');\n }else{\n jQuery(this).removeAttr('checked').removeAttr('indeterminate');\n jQuery(this).closest('.latecheckbox-group').find('.latecheckbox-group-options input[type=\"checkbox\"]').prop('checked', false).removeAttr('checked');\n }\n applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n });\n\n $options_wrapper_clone.on('keyup', '.latecheckbox-filter-input', function(){\n let q = jQuery(this).val().toLowerCase();\n if(q == ''){\n jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-option.hidden').removeClass('hidden');\n }else{\n jQuery(this).closest('.latecheckbox-options-w').find('.latecheckbox-option').each(function(){\n let text = jQuery(this).text().toLowerCase();\n (text.indexOf(q) >= 0) ? jQuery(this).removeClass('hidden') : jQuery(this).addClass('hidden');\n });\n }\n });\n\n $options_wrapper_clone.on('change', '.latecheckbox-option input[type=\"checkbox\"]', function(){\n if(jQuery(this).is(':checked')){\n jQuery(this).attr('checked', 'checked');\n }else{\n jQuery(this).removeAttr('checked');\n }\n\n // group checkbox\n if(jQuery(this).closest('.latecheckbox-group-options').length){\n let $group = jQuery(this).closest('.latecheckbox-group');\n let checked_count = $group.find('.latecheckbox-option input:checked').length;\n let unchecked_count = $group.find('.latecheckbox-option input:not(:checked)').length;\n\n if(checked_count && unchecked_count){\n $group.find('.latecheckbox-group-check').prop('indeterminate', true).attr('indeterminate', 'indeterminate');\n $group.find('.latecheckbox-group-check').prop('checked', false).removeAttr('checked');\n }else{\n $group.find('.latecheckbox-group-check').prop('indeterminate', false).removeAttr('indeterminate');\n if(!checked_count){\n $group.find('.latecheckbox-group-check').prop('checked', false).removeAttr('checked');\n }\n if(!unchecked_count){\n $group.find('.latecheckbox-group-check').prop('checked', true).attr('checked', 'checked');\n }\n }\n }\n let checked_count = $options_wrapper_clone.find('.latecheckbox-option input:checked').length;\n let unchecked_count = $options_wrapper_clone.find('.latecheckbox-option input:not(:checked)').length;\n\n if(checked_count && unchecked_count){\n $options_wrapper_clone.find('.latecheckbox-all-check').prop('indeterminate', true).attr('indeterminate', 'indeterminate');\n $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', false).removeAttr('checked');\n }else{\n $options_wrapper_clone.find('.latecheckbox-all-check').prop('indeterminate', false).removeAttr('indeterminate');\n if(!checked_count){\n $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', false).removeAttr('checked');\n }\n if(!unchecked_count){\n $options_wrapper_clone.find('.latecheckbox-all-check').prop('checked', true).attr('checked', 'checked');\n }\n }\n applyChanges(jQuery(this).closest('.latecheckbox-options-w').attr('data-latecheckbox-id'));\n });\n }\n return false;\n });\n\n });\n }\n}(jQuery));","function latepoint_generate_form_message_html(messages, status){\n var message_html = '<div class=\"os-form-message-w status-' + status + '\"><ul>';\n if(Array.isArray(messages)){\n messages.forEach(function(message){\n message_html+= '<li>' + message + '</li>';\n });\n }else{\n message_html+= '<li>' + messages + '</li>';\n }\n message_html+= '</ul></div>';\n return message_html;\n}\n\nfunction latepoint_clear_form_messages($form){\n $form.find('.os-form-message-w').remove();\n}\n\nfunction latepoint_show_data_in_lightbox(message, extra_classes = ''){\n jQuery('.latepoint-lightbox-w').remove();\n var lightbox_css_classes = 'latepoint-lightbox-w latepoint-w ';\n if(extra_classes) lightbox_css_classes+= extra_classes;\n jQuery('body').append('<div class=\"'+ lightbox_css_classes +'\"><div class=\"latepoint-lightbox-i\">' + message + '<a href=\"#\" class=\"latepoint-lightbox-close\"><i class=\"latepoint-icon latepoint-icon-x\"></i></a></div><div class=\"latepoint-lightbox-shadow\"></div></div>');\n jQuery('body').addClass('latepoint-lightbox-active');\n}\n\n\n\n// DOCUMENT READY\njQuery(function( $ ) {\n\n if($('.latepoint').find('[data-os-action-onload]').length){\n $('.latepoint').find('[data-os-action-onload]').each(function(){\n var $this = jQuery(this);\n $this.addClass('os-loading');\n var params = $this.data('os-params');\n var return_format = $this.data('os-return-format') ? $this.data('os-return-format') : 'json'\n var data = { action: 'latepoint_route_call', route_name: $this.data('os-action-onload'), params: params, return_format: return_format }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response) {\n $this.removeClass('os-loading');\n if (response.status === \"success\") {\n if($this.data('os-output-target') == 'self'){\n $this.html(response.message);\n }\n }\n }\n });\n });\n }\n /* \n Ajax buttons action\n */\n $('.latepoint').on('click', 'button[data-os-action], a[data-os-action], div[data-os-action], span[data-os-action], tr[data-os-action]', function(e){\n var $this = jQuery(this);\n if($this.data('os-prompt') && !confirm($this.data('os-prompt'))) return false;\n var params = $this.data('os-params');\n if($this.data('os-source-of-params')){\n var form_data = latepoint_create_form_data_from_non_form_element($($this.data('os-source-of-params')));\n params = latepoint_formdata_to_url_encoded_string(form_data);\n }\n var return_format = $this.data('os-return-format') ? $this.data('os-return-format') : 'json'\n var data = { action: 'latepoint_route_call', route_name: $this.data('os-action'), params: params, return_format: return_format }\n $this.addClass('os-loading');\n if($this.data('os-output-target') == 'side-panel'){\n $('.latepoint-side-panel-w').remove();\n $('body').append('<div class=\"latepoint-side-panel-w os-loading\"><div class=\"latepoint-side-panel-i\"></div><div class=\"latepoint-side-panel-shadow\"></div></div>');\n }\n $.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n if(response.status === \"success\"){\n if($this.data('os-output-target') == 'lightbox'){\n latepoint_show_data_in_lightbox(response.message, $this.data('os-lightbox-classes'));\n }else if($this.data('os-output-target') == 'side-panel'){\n $('.latepoint-side-panel-i').html(response.message);\n setTimeout(function(){\n $('.latepoint-side-panel-w').removeClass('os-loading');\n }, 100);\n }else if($this.data('os-success-action') == 'reload'){\n latepoint_add_notification(response.message);\n location.reload();\n return;\n }else if($this.data('os-success-action') == 'redirect'){\n if($this.data('os-redirect-to')){\n latepoint_add_notification(response.message);\n window.location.replace($this.data('os-redirect-to'));\n }else{\n window.location.replace(response.message); \n }\n return;\n }else if($this.data('os-output-target') && $($this.data('os-output-target')).length){\n if($this.data('os-output-target-do') == 'append'){\n $($this.data('os-output-target')).append(response.message);\n }else{\n $($this.data('os-output-target')).html(response.message);\n }\n }else{\n switch($this.data('os-before-after')){\n case 'before':\n $this.before(response.message);\n break;\n case 'after':\n $this.after(response.message);\n break;\n case 'replace':\n $this.replaceWith(response.message);\n break;\n case 'none':\n break;\n default:\n latepoint_add_notification(response.message);\n }\n }\n if($this.data('os-after-call')){\n var func_name = $this.data('os-after-call');\n var callback = false;\n if(func_name.includes('.')){\n var func_arr = func_name.split('.');\n if(typeof window[func_arr[0]][func_arr[1]] !== 'function'){\n console.log(func_name + ' is undefined');\n }\n if($this.data('os-pass-this') && $this.data('os-pass-response')){\n window[func_arr[0]][func_arr[1]]($this, response);\n }else if($this.data('os-pass-this')){\n window[func_arr[0]][func_arr[1]]($this);\n }else if($this.data('os-pass-response')){\n window[func_arr[0]][func_arr[1]](response);\n }else{\n window[func_arr[0]][func_arr[1]]();\n }\n }else{\n if(typeof window[func_name] !== 'function'){\n console.log(func_name + ' is undefined');\n }\n if($this.data('os-pass-this') && $this.data('os-pass-response')){\n window[func_name]($this, response);\n }else if($this.data('os-pass-this')){\n window[func_name]($this);\n }else if($this.data('os-pass-response')){\n window[func_name](response);\n }else{\n window[func_name]();\n }\n }\n }\n $this.removeClass('os-loading');\n }else{\n $this.removeClass('os-loading');\n if($this.data('os-output-target') && $($this.data('os-output-target')).length){\n $($this.data('os-output-target')).prepend(latepoint_generate_form_message_html(response.message, 'error'));\n }else{\n alert(response.message);\n }\n if($this.data('os-after-call-error')){\n var func_name = $this.data('os-after-call-error');\n var callback = false;\n if(func_name.includes('.')){\n var func_arr = func_name.split('.');\n if(typeof window[func_arr[0]][func_arr[1]] !== 'function'){\n console.log(func_name + ' is undefined');\n }\n if($this.data('os-pass-this') && $this.data('os-pass-response')){\n window[func_arr[0]][func_arr[1]]($this, response);\n }else if($this.data('os-pass-this')){\n window[func_arr[0]][func_arr[1]]($this);\n }else if($this.data('os-pass-response')){\n window[func_arr[0]][func_arr[1]](response);\n }else{\n window[func_arr[0]][func_arr[1]]();\n }\n }else{\n if(typeof window[func_name] !== 'function'){\n console.log(func_name + ' is undefined');\n }\n if($this.data('os-pass-this') && $this.data('os-pass-response')){\n window[func_name]($this, response);\n }else if($this.data('os-pass-this')){\n window[func_name]($this);\n }else if($this.data('os-pass-response')){\n window[func_name](response);\n }else{\n window[func_name]();\n }\n }\n }\n }\n }\n });\n return false;\n });\n\n\n $('.latepoint').on('click', 'form[data-os-action] button[type=\"submit\"]', function(e){\n $(this).addClass('os-loading');\n });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n /* \n Form ajax submit action\n */\n $('.latepoint').on('submit', 'form[data-os-action]', function(e){\n e.preventDefault(); // prevent native submit\n var $form = $(this);\n var form_data = new FormData($form[0]);\n\n if (('intlTelInputGlobals' in window) && ('intlTelInputUtils' in window)) {\n // Get e164 formatted number from phone fields when form is submitted\n $form.find('input.os-mask-phone').each(function () {\n let telInstance = window.intlTelInputGlobals.getInstance(this);\n if(telInstance){\n const phoneInputName = this.getAttribute('name');\n const phoneInputValue = window.intlTelInputGlobals.getInstance(this).getNumber(window.intlTelInputUtils.numberFormat.E164);\n form_data.set(phoneInputName, phoneInputValue);\n }\n });\n }\n\n var data = { action: 'latepoint_route_call', route_name: $(this).data('os-action'), params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n $form.find('button[type=\"submit\"]').addClass('os-loading');\n $.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $form.find('button[type=\"submit\"].os-loading').removeClass('os-loading');\n latepoint_clear_form_messages($form);\n if(response.status === \"success\"){\n if($form.data('os-success-action') == 'reload'){\n latepoint_add_notification(response.message);\n location.reload();\n return;\n }else if($form.data('os-success-action') == 'redirect'){\n if($form.data('os-redirect-to')){\n latepoint_add_notification(response.message);\n window.location.replace($form.data('os-redirect-to'));\n }else{\n window.location.replace(response.message);\n }\n return;\n }else if($form.data('os-output-target') && $($form.data('os-output-target')).length){\n $($form.data('os-output-target')).html(response.message);\n }else{\n if(response.message == 'redirect'){\n window.location.replace(response.url);\n }else{\n latepoint_add_notification(response.message);\n $form.prepend(latepoint_generate_form_message_html(response.message, 'success'));\n }\n }\n if($form.data('os-record-id-holder') && response.record_id){\n $form.find('[name=\"' + $form.data('os-record-id-holder') + '\"]').val(response.record_id)\n }\n if($form.data('os-after-call')){\n var func_name = $form.data('os-after-call');\n if(typeof window[func_name] !== 'function'){\n console.log(func_name + ' is undefined');\n }\n if($form.data('os-pass-response')){\n window[func_name](response);\n }else{\n window[func_name]();\n }\n }\n $('button.os-loading').removeClass('os-loading');\n }else{\n $('button.os-loading').removeClass('os-loading');\n if($form.data('os-show-errors-as-notification')){\n latepoint_add_notification(response.message, 'error');\n }else{\n $form.prepend(latepoint_generate_form_message_html(response.message, 'error'));\n $([document.documentElement, document.body]).animate({\n scrollTop: ($form.find(\".os-form-message-w\").offset().top - 30)\n }, 200);\n }\n }\n if(response.form_values_to_update){\n $.each(response.form_values_to_update, function(name, value){\n $form.find('[name=\"'+ name +'\"]').val(value);\n });\n }\n }\n });\n return false;\n });\n});","function latepoint_add_notification(message, message_type = 'success'){\n\tvar wrapper = jQuery('body').find('.os-notifications');\n\tif(!wrapper.length){\n\t\tjQuery('body').append('<div class=\"os-notifications\"></div>');\n\t\twrapper = jQuery('body').find('.os-notifications');\n\t}\n\tif(wrapper.find('.item').length > 0) wrapper.find('.item:first-child').remove();\n\twrapper.append('<div class=\"item item-type-'+ message_type +'\">' + message + '<span class=\"os-notification-close\"><i class=\"latepoint-icon latepoint-icon-x\"></i></span></div>');\n}","function latepoint_random_generator() {\n var S4 = function() {\n return (((1+Math.random())*0x10000)|0).toString(16).substring(1);\n };\n return (S4()+S4()+\"-\"+S4()+\"-\"+S4()+\"-\"+S4()+\"-\"+S4()+S4()+S4());\n}\n\nfunction latepoint_validate_form($form){\n\tlet errors = [];\n\t$form.find('select[data-os-validate], input[data-os-validate], textarea[data-os-validate]').each(function(){\n\t\tlet validations = jQuery(this).data('os-validate').split(' ');\n\t\tlet $input = jQuery(this);\n\t\tlet label = $input.closest('.os-form-group').find('label').text();\n\t\tlet field_has_errors = false;\n\t\tif(validations) {\n\t\t\tfor (let i = 0; i < validations.length; i++) {\n\t\t\t\tswitch (validations[i]) {\n\t\t\t\t\tcase 'presence':\n\t\t\t\t\t\tif(!$input.val()){\n\t\t\t\t\t\t\terrors.push({message: label + ' ' + latepoint_helper.msg_validation_presence});\n\t\t\t\t\t\t\tfield_has_errors = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'phone':\n\t\t\t\t\t\tif (!window.intlTelInputGlobals.getInstance($input[0]).isValidNumber()) {\n\t\t\t\t\t\t\terrors.push({message: label + ' ' + latepoint_helper.msg_validation_invalid});\n\t\t\t\t\t\t\tfield_has_errors = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(field_has_errors){\n\t\t\t$input.closest('.os-form-group').addClass('os-invalid');\n\t\t}else{\n\t\t\t$input.closest('.os-form-group').removeClass('os-invalid');\n\t\t}\n\t});\n\treturn errors;\n}\n\nfunction latepoint_create_form_data_from_non_form_element($elem){\n\tlet formData = new FormData();\n\t// create objecte from all input fields that are inside of the element\n\tlet fields = $elem.find('select, input, textarea').serializeArray();\n\tif(fields){\n\t\tfields.forEach(field => formData.append(field.name, field.value));\n\t}\n\treturn formData;\n}\n\nfunction latepoint_create_form_data_from_booking_form($booking_form, route_name = false, extra_params = false){\n let form_data = new FormData();\n let params = new FormData($booking_form[0]);\n\n\tif(extra_params){\n\t\tObject.keys(extra_params).forEach(key => {\n\t\t\t\tparams.set(key, extra_params[key]);\n\t\t});\n\t}\n\n // get values from phone number fields\n if (('intlTelInputGlobals' in window) && ('intlTelInputUtils' in window)) {\n $booking_form.find('input.os-mask-phone').each(function () {\n const phoneInputName = this.getAttribute('name');\n const phoneInputValue = window.intlTelInputGlobals.getInstance(this).getNumber(window.intlTelInputUtils.numberFormat.E164);\n\t\t\t// override value generated automatically by formdata with a formatted value of a phone field with country code\n params.set(phoneInputName, phoneInputValue);\n });\n }\n\tparams.set('_wpnonce', $booking_form.find('#_wpnonce').val());\n\n form_data.append('params', latepoint_formdata_to_url_encoded_string(params));\n form_data.append('action', latepoint_helper.route_action);\n form_data.append('route_name', route_name ? route_name : $booking_form.data('route-name'));\n form_data.append('layout', 'none');\n form_data.append('return_format', 'json');\n\n let file_data;\n // put file data into main form_data object, since we can't send them in \"params\" string\n $booking_form.find('input[type=\"file\"]').each(function(){\n file_data = this.files; // get multiple files from input file\n let file_name = this.getAttribute(\"name\");\n for(let i = 0;i<file_data.length;i++){\n form_data.append(file_name+'[]', file_data[i]);\n }\n });\n return form_data;\n}\n\nfunction latepoint_mask_timefield($elem){\n\tif(jQuery().inputmask){\n\t $elem.inputmask({\n\t 'mask': '99:99',\n\t 'placeholder': 'HH:MM'\n\t });\n\t}\n}\n\nfunction latepoint_formdata_to_url_encoded_string(form_data){\n\tlet filtered_form_data = new FormData();\n // remove file fields from params, so we can serialize it into string,\n\t// !important, this will not include file fields into the form_data, so you have to include them manually, see latepoint_create_form_data_from_booking_form() that does it\n\t// note: we don't use form_data.remove(key) on original object because we might want to preserve it\n for (const [key, value] of form_data) {\n\t\tif(value instanceof File) continue;\n\t\tif(key.slice(-2) === '[]'){\n\t\t\t// expecting array, append\n\t\t\tfiltered_form_data.append(key, value);\n\t\t}else{\n\t\t\tfiltered_form_data.set(key, value);\n\t\t}\n }\n\treturn new URLSearchParams(filtered_form_data).toString();\n}\n\nfunction latepoint_mask_percent($elem){\n\tif(jQuery().inputmask){\n\t $elem.inputmask({\n\t\t\t'alias': 'decimal',\n\t\t\t'radixPoint': latepoint_helper.decimal_separator,\n\t\t\t'digits': 4,\n\t\t\t'digitsOptional': false,\n\t\t\t'suffix': '%',\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t });\n\t}\n}\n\nfunction latepoint_mask_minutes($elem){\n\tif(jQuery().inputmask){\n\t $elem.inputmask({\n\t\t\t'removeMaskOnSubmit' : true,\n\t\t\t'alias': 'numeric',\n\t\t\t'digits': 0,\n\t\t\t'suffix': latepoint_helper.msg_minutes_suffix,\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t });\n\t}\n}\n\n\nfunction latepoint_mask_money($elem){\n\tif(jQuery().inputmask){\n\t $elem.inputmask({\n\t\t\t'alias': 'currency',\n\t\t\t'groupSeparator': latepoint_helper.thousand_separator,\n\t\t\t'radixPoint': latepoint_helper.decimal_separator,\n\t\t\t'digits': latepoint_helper.number_of_decimals,\n\t\t\t'digitsOptional': false,\n\t\t\t'prefix': latepoint_helper.currency_symbol_before ? latepoint_helper.currency_symbol_before + ' ' : '',\n\t\t\t'suffix': latepoint_helper.currency_symbol_after ? ' ' + latepoint_helper.currency_symbol_after : '',\n\t\t\t'placeholder': '0',\n\t\t\t'rightAlign': false\n\t });\n\t}\n}\n\nfunction latepoint_mask_date($elem){\n\tif(jQuery().inputmask){\n\t $elem.inputmask({\n\t\t\t'alias': 'datetime',\n\t\t\t'inputFormat' : latepoint_helper.date_format_for_js\n\t });\n\t}\n}\n\nfunction latepoint_init_phone_masking_from_placeholder($input){\n\tif(!latepoint_helper.mask_phone_number_fields) return;\n\tlet format = $input.attr('placeholder');\n\tif(format && jQuery().inputmask) {\n\t\t$input.inputmask(format.replace(/[0-9]/g, 9));\n\t}\n}\n\nfunction latepoint_mask_phone($elem){\n\tlet jsElem = $elem[0];\n\n\t// First priority is to prevent duplicates (common in non-document.body contexts)\n\tif (jsElem && !window.intlTelInputGlobals.getInstance(jsElem)) {\n\t\tlet dropdownContainer = document.body;\n\n\t\tlet onlyCountries = JSON.parse(latepoint_helper.included_phone_countries);\n\t\t// Remedy a quirk with json_encode(EMPTY_ARRAY)\n\t\tif (onlyCountries.length === 1 && onlyCountries[0] === \"\") {\n\t\t\tonlyCountries = [];\n\t\t}\n\t\tconst preferredCountries = onlyCountries.length ? [] : window.intlTelInputGlobals.defaults.preferredCountries;\n\n\t\t// remove country name in english and only use names in country language\n\t\tvar countryData = window.intlTelInputGlobals.getCountryData();\n\n\t\tfor (var i = 0; i < countryData.length; i++) {\n\t\t\tvar country = countryData[i];\n\t\t\tcountry.name = country.name.replace(/ *\\([^)]*\\) */g, \"\");\n\t\t}\n\n\t\tlet defaultCountryCode = latepoint_helper.default_phone_country;\n\t\tif(onlyCountries.length && !onlyCountries.includes(defaultCountryCode)){\n\t\t\tdefaultCountryCode = onlyCountries[0];\n\t\t}\n\n\n\t\tlet iti = window.intlTelInput(jsElem, {\n\t\t\tdropdownContainer: dropdownContainer,\n\t\t\tformatOnDisplay: true,\n\t\t\tnationalMode: true,\n\t\t\tautoPlaceholder: 'aggressive',\n\t\t\tinitialCountry: defaultCountryCode,\n\t\t\tgeoIpLookup: function (callback) {\n\t\t\t\tconst cookieName = 'latepoint_phone_country';\n\n\t\t\t\tif (latepoint_has_cookie(cookieName)) {\n\t\t\t\t\tcallback(latepoint_get_cookie(cookieName));\n\t\t\t\t} else {\n\t\t\t\t\tjQuery.get('https://ipinfo.io', function () {\n\t\t\t\t\t}, 'jsonp').always(function (response) {\n\t\t\t\t\t\t// Sensible default\n\t\t\t\t\t\tlet countryCode = defaultCountryCode;\n\n\t\t\t\t\t\tif (response && response.country) {\n\t\t\t\t\t\t\tcountryCode = response.country.toLowerCase();\n\t\t\t\t\t\t\tlatepoint_set_cookie(cookieName, countryCode);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback(countryCode);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t},\n\t\t\tallowDropdown: onlyCountries.length != 1,\n\t\t\tonlyCountries: onlyCountries,\n\t\t\tpreferredCountries: preferredCountries,\n\t\t\tseparateDialCode: latepoint_helper.is_enabled_show_dial_code_with_flag\n\t\t});\n\n\t\titi.promise.then(function() {\n\t\t\tlatepoint_init_phone_masking_from_placeholder($elem);\n\t\t});\n\n\n\t\t$elem.on(\"countrychange\", function(event) {\n\t\t\tlatepoint_init_phone_masking_from_placeholder(jQuery(this));\n\t\t});\n\t}\n}\n\nfunction latepoint_show_booking_end_time(){\n\treturn (latepoint_helper.show_booking_end_time == 'yes');\n}\n\nfunction latepoint_set_cookie(name, value, days) {\n\tlet date = new Date;\n\tdate.setTime(date.getTime() + 24*60*60*1000*days);\n\tdocument.cookie = name + \"=\" + value + \";path=/;expires=\" + date.toGMTString();\n}\n\nfunction latepoint_get_cookie(name) {\n\tlet cookie = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');\n\treturn cookie ? cookie[2] : null;\n}\n\nfunction latepoint_has_cookie(name) {\n\treturn latepoint_get_cookie(name) !== null;\n}\n\nfunction latepoint_delete_cookie(name) { latepoint_set_cookie(name, '', -1); }","function latepoint_load_addons_info(){\n var $addons_info_wrapper = jQuery('.addons-info-holder');\n $addons_info_wrapper.addClass('os-loading');\n var route = $addons_info_wrapper.data('route');\n\n var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n success: function(response){\n $addons_info_wrapper.removeClass('os-loading');\n if(response.status === \"success\"){\n if(response.message){\n $addons_info_wrapper.html(response.message);\n }else{\n $addons_info_wrapper.html('Something is wrong. Try refreshing the page.')\n }\n }else{\n alert(response.message, 'error');\n }\n }\n });\n}\n\n\nfunction latepoint_dismiss_message($elem){\n $elem.closest('.addon-message').slideUp(300);\n return false;\n}\n\nfunction latepoint_check_for_updates(){\n if(jQuery('.version-log-w').length){\n var $log_wrapper = jQuery('.version-log-w');\n $log_wrapper.addClass('os-loading');\n var route = $log_wrapper.data('route');\n\n var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n success: function(response){\n $log_wrapper.removeClass('os-loading');\n if(response.status === \"success\"){\n $log_wrapper.html(response.message);\n }else{\n alert(response.message, 'error');\n }\n }\n });\n }\n if(jQuery('.version-status-info').length){\n\n var $version_info_wrapper = jQuery('.version-status-info');\n $version_info_wrapper.addClass('os-loading');\n var route = $version_info_wrapper.data('route');\n\n var data = { action: 'latepoint_route_call', route_name: route, params: '', return_format: 'json' }\n jQuery.ajax({ type : \"post\", dataType : \"json\", url : latepoint_helper.ajaxurl, data : data,\n success: function(response){\n $version_info_wrapper.removeClass('os-loading');\n if(response.status === \"success\"){\n $version_info_wrapper.html(response.message);\n }else{\n alert(response.message, 'error');\n }\n }\n });\n }\n if(jQuery('.addons-info-holder').length){\n latepoint_load_addons_info();\n }\n}\n\n\n// DOCUMENT READY\njQuery(document).ready(function( $ ) {\n latepoint_check_for_updates();\n\n\n jQuery('body').on('click', '.addon-category-filter-trigger', function(){\n\t\tjQuery('.addons-categories-wrapper .addon-category-filter-trigger.is-selected').removeClass('is-selected');\n\t\tif(jQuery(this).data('category')){\n\t\t\tlet category = jQuery(this).data('category').toString();\n\t\t\tjQuery('.addon-box').addClass('hidden');\n\t\t\tjQuery('.addon-box').each(function(){\n\t\t\t\tif(jQuery(this).data('category').toString().split(',').includes(category)) jQuery(this).removeClass('hidden');\n\t\t\t})\n\t\t}else{\n\t\t\tjQuery('.addon-box').removeClass('hidden');\n\t\t}\n\n\t\tjQuery(this).addClass('is-selected');\n return false;\n })\n\n\n // Install addon button click\n jQuery('.addons-info-holder').on('click', '.os-addon-action-btn', function(){\n var $install_btn = jQuery(this);\n $install_btn.addClass('os-loading');\n\n var data = { action: 'latepoint_route_call', route_name: $install_btn.data('route-name'), params: { addon_name: $install_btn.data('addon-name'), addon_path: $install_btn.data('addon-path') }, layout: 'none', return_format: 'json'};\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $install_btn.removeClass('os-loading');\n if(response.status === \"success\"){\n latepoint_add_notification(response.message);\n latepoint_load_addons_info();\n }else{\n if(response.code == '404'){\n latepoint_show_data_in_lightbox(response.message);\n }else{\n alert(response.message);\n }\n }\n }\n });\n return false;\n });\n});","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_init_json_view($pre_element = false){\n if(!$pre_element){\n // if pre is not provided -search for all unitialised ones\n $pre_element = jQuery('pre.format-json:not(.json-document)');\n }\n if($pre_element.length){\n $pre_element.each(function(){\n let json_data = JSON.parse(jQuery(this).html());\n jQuery(this).jsonViewer(json_data);\n });\n }\n}\n\nfunction latepoint_init_accordions(){\n jQuery('.latepoint-admin').on('click', '.os-accordion-title', function(){\n jQuery(this).closest('.os-accordion-wrapper').toggleClass('is-open');\n return false;\n });\n}\n\nfunction latepoint_init_sticky_side_menu(){\n jQuery('.os-sticky-side-menu a').on('click', function(){\n jQuery('.os-sticky-side-menu li.os-active').removeClass('os-active');\n jQuery(this).closest('li').addClass('os-active');\n let section_anchor = jQuery(this).data('section-anchor');\n let position = jQuery('.section-anchor#'+section_anchor).offset();\n jQuery('html').animate({ scrollTop: position.top }, 300);\n return false;\n });\n}\n\nfunction latepoint_init_template_library(){\n jQuery('.os-templates-wrapper .template-type-selector').on('click', function(){\n jQuery('.os-templates-wrapper .template-type-selector.is-selected').removeClass('is-selected');\n jQuery(this).addClass('is-selected');\n let user_type = jQuery(this).data('user-type');\n jQuery('.os-templates-wrapper .os-template-item.hidden').removeClass('hidden');\n jQuery('.os-templates-wrapper .os-template-item:not([data-user-type=\"'+user_type+'\"])').addClass('hidden');\n return false;\n });\n\n jQuery('.os-templates-wrapper .os-template-item').on('click', function(){\n let $this = jQuery(this);\n $this.closest('.os-templates-list').find('.os-template-item.selected').removeClass('selected');\n $this.addClass('selected');\n let templateId = $this.data('id');\n jQuery('.os-template-preview').hide();\n jQuery('.os-template-preview[data-id=\"'+ templateId+'\"]').show();\n return false;\n });\n\n jQuery('.latepoint-select-template-btn').on('click', function(){\n let $btn = jQuery(this);\n let route_name = $btn.data('route');\n let action_id = $btn.data('action-id');\n let action_type = $btn.data('action-type');\n $btn.addClass('os-loading');\n\n let data = { action: latepoint_helper.route_action,\n route_name: route_name,\n params: {\n template_id: jQuery('.os-template-item.selected').data('id'),\n action_id: action_id,\n action_type: action_type\n },\n return_format: 'json' }\n jQuery.ajax({\n type: 'post',\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: (response) => {\n $btn.removeClass('os-loading');\n if(response.status === latepoint_helper.response_status.success){\n let $action_form = jQuery('.process-action-form[data-id=\"'+action_id+'\"]');\n $action_form.find('.process-action-settings').html(response.message);\n latepoint_init_process_action_form($action_form);\n latepoint_lightbox_close();\n }else{\n alert(\"Error!\");\n }\n }\n });\n\n return false;\n });\n}\n\nfunction latepoint_init_default_form_fields_settings(){\n\n if(jQuery('.os-default-fields').length){\n jQuery('.os-default-field input[type=\"checkbox\"], .os-default-field select').on('change', (event) => {\n latepoint_update_default_form_fields_settings();\n });\n\n jQuery('.os-default-field .os-toggler').on('ostoggler:toggle', (event) => {\n if(jQuery(event.currentTarget).hasClass('off')){\n jQuery(event.currentTarget).closest('.os-default-field').addClass('is-disabled');\n }else{\n jQuery(event.currentTarget).closest('.os-default-field').removeClass('is-disabled');\n }\n latepoint_update_default_form_fields_settings();\n });\n }\n}\n\nfunction latepoint_update_default_form_fields_settings(){\n var $wrapper = jQuery('.os-default-fields');\n\n var form_data = new FormData($wrapper.find('form')[0]);\n var data = { action: latepoint_helper.route_action,\n route_name: $wrapper.data('route'),\n params: latepoint_formdata_to_url_encoded_string(form_data),\n return_format: 'json' }\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: (response) => {\n latepoint_add_notification(response.message);\n }\n });\n}\n\nfunction latepoint_submit_quick_booking_form(){\n let $quick_edit_form = jQuery('form.booking-quick-edit-form');\n\n let errors = latepoint_validate_form($quick_edit_form);\n if(errors.length){\n let error_messages = errors.map(error => error.message ).join(', ');\n latepoint_add_notification(error_messages, 'error');\n return false;\n }\n\n $quick_edit_form.find('button[type=\"submit\"]').addClass('os-loading');\n jQuery.ajax({\n type: \"post\",\n dataType: \"json\",\n processData: false,\n contentType: false,\n url: latepoint_helper.ajaxurl,\n data: latepoint_create_form_data_from_booking_form($quick_edit_form),\n success: function (response) {\n $quick_edit_form.find('button[type=\"submit\"]').removeClass('os-loading');\n if(response.form_values_to_update){\n jQuery.each(response.form_values_to_update, function(name, value){\n $quick_edit_form.find('[name=\"'+ name +'\"]').val(value);\n });\n }\n if (response.status === \"success\") {\n latepoint_add_notification(response.message);\n latepoint_reload_after_booking_save();\n }else{\n latepoint_add_notification(response.message, 'error');\n }\n }\n });\n\n}\n\nfunction latepoint_reload_balance_and_payments(){\n let $wrapper = jQuery('.balance-payment-info');\n $wrapper.closest('.balance-payment-wrapper').addClass('os-loading');\n let route_name = $wrapper.data('route');\n let $quick_edit_form = $wrapper.closest('form.booking-quick-edit-form');\n let form_data = new FormData($quick_edit_form[0]);\n\n let data = { action: latepoint_helper.route_action, route_name: route_name, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $wrapper.closest('.balance-payment-wrapper').removeClass('os-loading');\n if(response.status === \"success\"){\n jQuery('.balance-payment-wrapper').html(response.message);\n }else{\n alert(response.message);\n }\n }\n });\n}\n\nfunction latepoint_init_side_menu(){\n jQuery('.menu-toggler').on('click', function(){\n var layout_style = 'full';\n if(jQuery('.latepoint-side-menu-w').hasClass('side-menu-full')){\n layout_style = 'compact';\n jQuery('.latepoint-side-menu-w').addClass('side-menu-compact').removeClass('side-menu-full');\n }else{\n jQuery('.latepoint-side-menu-w').addClass('side-menu-full').removeClass('side-menu-compact');\n }\n var route_name = jQuery(this).data('route');\n var data = { action: latepoint_helper.route_action, route_name: route_name, params: { menu_layout_style: layout_style }, layout: 'none', return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n }\n });\n return false;\n });\n}\n\nfunction latepoint_init_grouped_bookings_form(){\n\n}\n\nfunction latepoint_quick_booking_customer_cleared(){\n latepoint_init_input_masks(jQuery('.quick-booking-form-w .customer-quick-edit-form-w'));\n}\n\nfunction latepoint_quick_booking_customer_selected(){\n latepoint_init_input_masks(jQuery('.quick-booking-form-w .customer-quick-edit-form-w'));\n jQuery('.customer-info-w').removeClass('selecting').addClass('selected');\n}\n\nfunction latepoint_custom_day_removed($elem){\n $elem.closest('.custom-day-work-period').fadeOut(300, function(){ jQuery(this).remove()});\n}\n\n\nfunction latepoint_count_active_connections($connection_wrapper){\n var connected_services_count = $connection_wrapper.find('.connection-children-list li.active').length;\n var all_services_count = $connection_wrapper.find('.connection-children-list li').length;\n if(connected_services_count == all_services_count){\n connected_services_count = jQuery('.selected-connections').data('all-text');\n jQuery('.selected-connections').removeClass('not-all-selected');\n }else{\n connected_services_count = connected_services_count + '/' + all_services_count;\n jQuery('.selected-connections').addClass('not-all-selected');\n $connection_wrapper.closest('.white-box').find('.os-select-all-toggler').prop('checked', false);\n }\n $connection_wrapper.find('.selected-connections strong').text(connected_services_count);\n}\n\nfunction latepoint_custom_field_removed($elem){\n $elem.closest('.os-form-block').remove();\n}\n\nfunction latepoint_coupon_removed($elem){\n $elem.closest('.os-coupon-form').remove();\n}\n\nfunction latepoint_reminder_removed($elem){\n $elem.closest('.os-reminder-form').remove();\n}\n\nfunction latepoint_init_form_blocks(){\n jQuery('.latepoint-content-w').on('click', '.os-form-block-header', function(){\n jQuery(this).closest('.os-form-block').toggleClass('os-is-editing');\n return false;\n });\n jQuery('.latepoint-content-w').on('keyup', '.os-form-block-name-input', function(){\n jQuery(this).closest('.os-form-block').find('.os-form-block-name').text(jQuery(this).val());\n });\n}\n\n\nfunction latepoint_init_coupons_form(){\n jQuery('.latepoint-content-w').on('click', '.os-coupon-form-info', function(){\n jQuery(this).closest('.os-coupon-form').toggleClass('os-is-editing');\n return false;\n });\n jQuery('.latepoint-content-w').on('change', 'select.os-coupon-medium-select', function(){\n if(jQuery(this).val() == 'email'){\n jQuery(this).closest('.os-coupon-form').find('.os-coupon-email-subject').show();\n }else{\n jQuery(this).closest('.os-coupon-form').find('.os-coupon-email-subject').hide();\n }\n });\n jQuery('.latepoint-content-w').on('keyup', '.os-coupon-name-input', function(){\n jQuery(this).closest('.os-coupon-form').find('.os-coupon-name').text(jQuery(this).val());\n });\n jQuery('.latepoint-content-w').on('keyup', '.os-coupon-code-input', function(){\n jQuery(this).closest('.os-coupon-form').find('.os-coupon-code').text(jQuery(this).val());\n });\n}\n\nfunction latepoint_init_reminders_form(){\n jQuery('.latepoint-content-w').on('click', '.os-reminder-form-info', function(){\n jQuery(this).closest('.os-reminder-form').toggleClass('os-is-editing');\n return false;\n });\n jQuery('.latepoint-content-w').on('change', 'select.os-reminder-medium-select', function(){\n if(jQuery(this).val() == 'email'){\n jQuery(this).closest('.os-reminder-form').find('.os-reminder-email-subject').show();\n }else{\n jQuery(this).closest('.os-reminder-form').find('.os-reminder-email-subject').hide();\n }\n });\n jQuery('.latepoint-content-w').on('keyup', '.os-reminder-name-input', function(){\n jQuery(this).closest('.os-reminder-form').find('.os-reminder-name').text(jQuery(this).val());\n });\n}\n\nfunction latepoint_custom_field_saved($elem){\n}\n\nfunction latepoint_init_custom_day_schedule(){\n latepoint_init_input_masks(jQuery('.latepoint-lightbox-w .custom-day-schedule-w'));\n\n jQuery('.period-type-selector').on('change', function(){\n jQuery(this).closest('.custom-day-calendar').attr('data-period-type', jQuery(this).val());\n jQuery('.custom-day-calendar').attr('data-picking', 'start').data('picking', 'start');\n if(jQuery(this).val() == 'range'){\n jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-start'));\n jQuery('.custom-day-calendar #start_custom_date').focus();\n }else{\n jQuery('.custom-day-calendar .os-day.selected').removeClass('selected');\n jQuery('.latepoint-lightbox-footer').hide();\n jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-single'));\n }\n });\n\n\n jQuery('#custom_day_calendar_month, #custom_day_calendar_year').on('change', function(){\n var $calendar = jQuery('.custom-day-calendar-month');\n var route_name = $calendar.data('route');\n $calendar.addClass('os-loading');\n var target_date_string = jQuery('#custom_day_calendar_year').val() + '-' + jQuery('#custom_day_calendar_month').val() + '-01';\n var data = { action: latepoint_helper.route_action, route_name: route_name, params: { target_date_string: target_date_string }, layout: 'none', return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $calendar.removeClass('os-loading');\n if(data.status === \"success\"){\n $calendar.html(data.message);\n }else{\n // console.log(data.message);\n }\n }\n });\n });\n\n\n\n jQuery('.custom-day-calendar').on('focus', '#start_custom_date', function(){\n jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-start'));\n jQuery('.custom-day-calendar').attr('data-picking', 'start').data('picking', 'start');\n });\n\n jQuery('.custom-day-calendar').on('focus', '#end_custom_date', function(){\n jQuery('.custom-day-calendar-head .calendar-heading').text(jQuery('.custom-day-calendar-head .calendar-heading').data('label-end'));\n jQuery('.custom-day-calendar').attr('data-picking', 'end').data('picking', 'end');\n });\n\n jQuery('.custom-day-calendar').on('click', '.os-day', function(){\n var $this = jQuery(this);\n $this.closest('.custom-day-calendar').find('.os-day.selected').removeClass('selected');\n $this.addClass('selected');\n\n if(jQuery('.custom-day-calendar').data('picking') == 'start'){\n jQuery('.custom-day-settings-w #start_custom_date').val($this.data('date')).trigger('keyup');\n if(jQuery('.period-type-selector').val() == 'range'){\n jQuery('.custom-day-calendar #end_custom_date').focus();\n if(!jQuery('.custom-day-calendar #end_custom_date').val()) return false;\n }\n }else{\n jQuery('.custom-day-settings-w #end_custom_date').val($this.data('date')).trigger('keyup');\n }\n jQuery('.latepoint-lightbox-footer').slideDown(200);\n if(jQuery('.custom-day-calendar').data('show-schedule') == 'yes') jQuery('.latepoint-lightbox-w').removeClass('hide-schedule');\n return false;\n });\n}\n\nfunction latepoint_init_updates_page(){\n\n}\n\nfunction latepoint_calendar_set_month_label(){\n jQuery('.os-current-month-label .current-month').text(jQuery('.os-monthly-calendar-days-w.active').data('calendar-month-label'));\n jQuery('.os-current-month-label .current-year').text(jQuery('.os-monthly-calendar-days-w.active').data('calendar-year'));\n}\n\n\nfunction latepoint_init_element_togglers(){\n jQuery('[data-toggle-element]').on('click', function(){\n var $this = jQuery(this);\n $this.closest('.os-form-checkbox-group').toggleClass('is-checked');\n jQuery($this.data('toggle-element')).toggle();\n });\n}\n\n\nfunction latepoint_init_color_picker(){\n if(jQuery('.latepoint-color-picker').length){\n jQuery('.latepoint-color-picker').each(function(){\n var color = jQuery(this).data('color');\n var picker = jQuery(this)[0];\n var $picker_wrapper = jQuery(this).closest('.latepoint-color-picker-w');\n Pickr.create({\n el: picker,\n default: color,\n comparison: false,\n useAsButton: true,\n components: {\n\n // Main components\n preview: true,\n opacity: false,\n hue: true,\n\n // Input / output Options\n interaction: {\n input: false,\n clear: false,\n save: true\n }\n },\n onChange(hsva, instance) {\n $picker_wrapper.find('.os-form-control').val(hsva.toHEX().toString());\n },\n });\n });\n }\n}\n\n\nfunction latepoint_lightbox_close(){\n jQuery('body').removeClass('latepoint-lightbox-active');\n jQuery('.latepoint-lightbox-w').remove();\n}\n\nfunction latepoint_reload_select_service_categories(){\n jQuery('.service-selector-adder-field-w').each(function(){\n var $trigger_elem = jQuery(this);\n var route = jQuery('.service-selector-adder-field-w').find('select').data('select-source');\n var data = { action: latepoint_helper.route_action, route_name: route, params: '', return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $trigger_elem.removeClass('os-loading');\n if(response.status === \"success\"){\n latepoint_lightbox_close();\n $trigger_elem.find('select').html(response.message);\n $trigger_elem.find('select option:last').attr('selected', 'selected');\n }else{\n alert(response.message, 'error');\n }\n }\n });\n });\n}\n\nfunction latepoint_wizard_item_editing_cancelled(){\n jQuery('.os-wizard-setup-w').removeClass('is-sub-editing');\n jQuery('.os-wizard-footer').show();\n jQuery('.os-wizard-footer .os-wizard-next-btn').show();\n}\n\nfunction latepoint_load_quick_availability($trigger_elem, custom_agent_id = false, start_date = false, load_more_days = false, load_prev_days = false){\n $trigger_elem.addClass('os-loading');\n var route = jQuery('.trigger-quick-availability').data('route');\n var $quick_booking_form = jQuery('.quick-booking-form-w');\n\n if(custom_agent_id) $quick_booking_form.find('select[name=\"booking[agent_id]\"]').val(custom_agent_id);\n if(!$quick_booking_form.find('input[name=\"booking[service_id]\"]').val() || $quick_booking_form.find('input[name=\"booking[service_id]\"]').val() == 0){\n $quick_booking_form.find('.os-services-select-field-w .service-option:first').trigger('click');\n }\n\n let form_data = new FormData($quick_booking_form.find('form')[0]);\n\n if(start_date) form_data.set('start_date', start_date);\n if(load_more_days || load_prev_days) form_data.set('show_days_only', true);\n if(load_prev_days) form_data.set('previous_days', true);\n\n var data = { action: latepoint_helper.route_action, route_name: route, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $trigger_elem.removeClass('os-loading');\n if(response.status === \"success\"){\n if(load_more_days){\n jQuery('.latepoint-side-panel-w .quick-availability-per-day-w').html(response.message);\n }else if(load_prev_days){\n jQuery('.latepoint-side-panel-w .quick-availability-per-day-w').html(response.message);\n jQuery('.latepoint-side-panel-w .os-availability-days').scrollTop(30);\n }else{\n if(jQuery('.latepoint-side-panel-w .side-sub-panel').length){\n jQuery('.latepoint-side-panel-w .side-sub-panel').replaceWith(response.message);\n }else{\n jQuery('.latepoint-side-panel-w').append(response.message);\n }\n jQuery('.latepoint-side-panel-w .os-availability-days').scrollTop(30);\n latepoint_init_quick_availability_form();\n }\n }else{\n alert(response.message, 'error');\n }\n }\n });\n}\n\nfunction latepoint_init_quick_availability_form(){\n var selected_start_date = jQuery('.quick-booking-form-w input#booking_start_date').val();\n var selected_start_time = jQuery('.quick-booking-form-w input[name=\"booking[start_time][formatted_value]\"]').val();\n var selected_start_time_ampm = jQuery('.quick-booking-form-w input[name=\"booking[start_time][ampm]\"]').val();\n var selected_start_time_minutes = latepoint_hours_and_minutes_to_minutes(selected_start_time, selected_start_time_ampm);\n jQuery('.quick-availability-per-day-w .os-availability-days').find('.agent-timeslot[data-formatted-date=\"'+ selected_start_date +'\"][data-minutes=\"' + selected_start_time_minutes + '\"]').addClass('selected');\n jQuery('.quick-availability-per-day-w').on('click', '.load-more-quick-availability', function(){\n latepoint_load_quick_availability(jQuery(this), false, jQuery(this).data('start-date'), true);\n return false;\n });\n jQuery('.quick-availability-per-day-w').on('click', '.load-prev-quick-availability', function(){\n latepoint_load_quick_availability(jQuery(this), false, jQuery(this).data('start-date'), false, true);\n return false;\n });\n jQuery('.quick-availability-per-day-w select[name=\"booking[agent_id]\"]').on('change', function(){\n latepoint_load_quick_availability(jQuery('.trigger-quick-availability'), jQuery(this).val());\n });\n jQuery('.os-time-group label').on('click', function(){\n jQuery(this).closest('.os-time-group').find('.os-form-control').focus();\n });\n jQuery('.quick-availability-per-day-w').on('click', '.fill-booking-time', function(){\n jQuery('.os-availability-days .agent-timeslot.selected').removeClass('selected');\n jQuery(this).addClass('selected');\n var date = jQuery(this).data('date');\n var formatted_date = jQuery(this).data('formatted-date');\n var minutes = jQuery(this).data('minutes');\n var service_duration = jQuery('.os-services-select-field-w .service-option-selected').data('duration');\n var $form_w = jQuery('.quick-booking-form-w');\n $form_w.find('input[name=\"booking[start_date]\"]').val(formatted_date);\n var start_minutes = minutes;\n var start_hours_and_minutes = latepoint_minutes_to_hours_and_minutes(start_minutes);\n\n if(start_minutes >= 720){\n $form_w.find('.quick-start-time-w .time-pm').trigger('click');\n }else{\n $form_w.find('.quick-start-time-w .time-am').trigger('click');\n }\n\n $form_w.find('input[name=\"booking[start_time][formatted_value]\"]').val(start_hours_and_minutes);\n latepoint_set_booking_end_time();\n $form_w.find('.ws-period, .as-period').addClass('animate-filled-in');\n setTimeout(function(){\n $form_w.find('.ws-period, .as-period').removeClass('animate-filled-in');\n }, 500)\n });\n}\n\nfunction latepoint_reload_week_view_calendar(start_date = false){\n var service_id = (jQuery('.cc-availability-toggler #overlay_service_availability').val() == 'on') ? jQuery('.calendar-service-selector').val() : false;\n var agent_id = jQuery('.calendar-agent-selector').val();\n var location_id = jQuery('.calendar-location-selector').val();\n var calendar_start_date = (start_date) ? start_date : jQuery('.calendar-start-date').val();\n latepoint_load_calendar(calendar_start_date, agent_id, location_id, service_id);\n}\n\nfunction latepoint_init_work_period_form(){\n latepoint_mask_timefield(jQuery('.os-time-input-w .os-mask-time'));\n}\n\nfunction latepoint_close_side_panel(){\n jQuery('.latepoint-side-panel-w').remove();\n}\n\nfunction reload_process_jobs_table(){\n if(jQuery('table.os-reload-on-booking-update').length) latepoint_filter_table(jQuery('table.os-reload-on-booking-update'), jQuery('table.os-reload-on-booking-update'));\n}\n\nfunction latepoint_reload_after_booking_save(){\n latepoint_reload_calendar_view();\n\n jQuery('.os-widget').each(function(){\n latepoint_reload_widget(jQuery(this));\n });\n if(jQuery('table.os-reload-on-booking-update').length) latepoint_filter_table(jQuery('table.os-reload-on-booking-update'), jQuery('table.os-reload-on-booking-update'));\n latepoint_close_side_panel();\n}\n\nfunction latepoint_transaction_removed($trigger){\n $trigger.closest('.quick-add-transaction-box-w').remove();\n latepoint_reload_balance_and_payments();\n}\n\nfunction latepoint_init_quick_booking_form(){\n jQuery('.latepoint-admin').on('click', '.quick-booking-form-view-log-btn', function(){\n var $trigger_elem = jQuery(this);\n $trigger_elem.addClass('os-loading');\n var route = $trigger_elem.data('route');\n var data = { action: 'latepoint_route_call', route_name: route, params: {booking_id: $trigger_elem.data('booking-id')}, return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $trigger_elem.removeClass('os-loading');\n if(response.status === \"success\"){\n if(jQuery('.latepoint-side-panel-w .side-sub-panel').length){\n jQuery('.latepoint-side-panel-w .side-sub-panel').replaceWith(response.message);\n }else{\n jQuery('.latepoint-side-panel-w').append(response.message);\n }\n }else{\n alert(response.message, 'error');\n }\n }\n });\n return false;\n });\n\n\n jQuery('.booking-quick-edit-form').on('submit', function(e){\n if(jQuery(this).find('button[type=\"submit\"]').hasClass('os-loading')) return false;\n e.preventDefault();\n latepoint_submit_quick_booking_form();\n });\n\n var $quick_booking_form = jQuery('.quick-booking-form-w');\n latepoint_lightbox_close();\n latepoint_remove_floating_popup();\n latepoint_init_input_masks($quick_booking_form);\n $quick_booking_form.on(\"keydown\", \":input:not(textarea):not(:submit)\", function(event) {\n if (event.key == \"Enter\") {\n event.preventDefault();\n }\n });\n\n jQuery('.os-late-select').lateSelect();\n jQuery('.reload-price-breakdown').on('click', function(){\n latepoint_reload_price_breakdown();\n return false;\n });\n\n jQuery('.quick-booking-form-w').on('click', '.trigger-remove-transaction-btn', function(){\n jQuery(this).closest('.quick-add-transaction-box-w').remove();\n return false;\n });\n\n jQuery('.trigger-quick-availability').on('click', function(){\n latepoint_load_quick_availability(jQuery('.open-quick-availability-btn'));\n return false;\n });\n jQuery('.quick-booking-form-w input[name=\"booking[start_time][formatted_value]\"]').on('change', function(){\n latepoint_set_booking_end_time();\n });\n jQuery('.quick-booking-form-w input[name=\"booking[end_time][formatted_value]\"]').on('change', function(){\n latepoint_is_next_day();\n });\n\n jQuery('.customers-selector-search-input').on('keyup',function(){\n var $queryInput = jQuery(this);\n var query = $queryInput.val().toLowerCase();\n if(query == $queryInput.data('current-query')) return;\n\n // Search\n $queryInput.closest('.customers-selector-search-w').addClass('os-loading');\n $queryInput.data('searching-query', query);\n setTimeout(function(){\n if(query != jQuery('.customers-selector-search-input').data('searching-query')) return;\n var data = { action: latepoint_helper.route_action, route_name: $queryInput.data('route'), params: {query: query}, return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n if($queryInput.data('searching-query') != query) return;\n $queryInput.closest('.customers-selector-search-w').removeClass('os-loading');\n if(response.status === \"success\"){\n $queryInput.data('current-query', query);\n jQuery('.quick-booking-form-w .customers-options-list').html(response.message);\n }else{\n console.log(response.message);\n }\n }\n });\n }, 300, query, $queryInput);\n });\n\n\n\n jQuery('.latepoint-side-panel-w').on('change', '.agent-selector', function(){\n latepoint_apply_agent_selector_change();\n });\n jQuery('.latepoint-side-panel-w').on('change', 'select[name=\"booking[location_id]\"]', function(){\n latepoint_apply_agent_selector_change();\n });\n jQuery('.latepoint-side-panel-w').on('change', 'select[name=\"booking[total_attendies]\"]', function(){\n latepoint_apply_agent_selector_change();\n });\n\n jQuery('.latepoint-side-panel-w').on('change', '.os-affects-duration', function(){\n latepoint_set_booking_end_time();\n if(jQuery('.quick-availability-per-day-w').length){\n latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n }\n });\n\n jQuery('.latepoint-side-panel-w').on('change', '.os-affects-price', function(){\n latepoint_reload_price_breakdown();\n });\n\n jQuery('.latepoint-side-panel-w').on('change', '.os-affects-balance', function(){\n latepoint_reload_balance_and_payments();\n });\n jQuery('.latepoint-side-panel-w').on('keyup', '.os-affects-balance', function(event){\n if(event.keyCode == 13) {\n latepoint_reload_balance_and_payments();\n }\n });\n\n\n jQuery('.latepoint-side-panel-w').on('click', '.services-options-list .service-option', function(){\n var selected_option_html = jQuery(this).html();\n var $selected_option = jQuery(this).closest('.os-services-select-field-w').find('.service-option-selected');\n $selected_option.html(selected_option_html)\n .data('id', jQuery(this).data('id'))\n .data('duration', jQuery(this).data('duration'))\n .data('duration-name', jQuery(this).data('duration-name'))\n .data('buffer-before', jQuery(this).data('buffer-before'))\n .data('buffer-after', jQuery(this).data('buffer-after'))\n .data('capacity-min', jQuery(this).data('capacity-min'))\n .data('capacity-max', jQuery(this).data('capacity-max'))\n .data('extra-durations', jQuery(this).data('extra-durations'));\n jQuery(this).closest('.os-services-select-field-w').find('.service-option.selected').removeClass('selected');\n jQuery(this).addClass('selected').closest('.os-services-select-field-w').removeClass('active');\n latepoint_apply_service_selector_change();\n return false;\n });\n\n var $quick_booking_form = jQuery('.quick-booking-form-w');\n $quick_booking_form.trigger('latepoint:initQuickBookingForm');\n\n}\n\n\nfunction latepoint_reload_widget($widget_elem){\n var form_data = $widget_elem.find('select, input').serialize();\n var data = { action: latepoint_helper.route_action, route_name: $widget_elem.data('os-reload-action'), params: form_data, return_format: 'json' }\n $widget_elem.addClass('os-loading');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $widget_elem.removeClass('os-loading');\n if(response.status === \"success\"){\n var $updated_widget_elem = jQuery(response.message);\n $updated_widget_elem.removeClass('os-widget-animated');\n $widget_elem = $widget_elem.replaceWith($updated_widget_elem);\n latepoint_init_daterangepicker($updated_widget_elem.find('.os-date-range-picker'));\n if($widget_elem.hasClass('os-widget-top-agents')) latepoint_init_circles_charts();\n if($widget_elem.hasClass('os-widget-daily-bookings')){\n latepoint_init_daily_bookings_chart();\n latepoint_init_donut_charts();\n }\n }else{\n alert(response.message);\n }\n }\n });\n}\n\nfunction latepoint_load_calendar(target_date, agent_id, location_id = false, service_id = false){\n var route_name = jQuery('.calendar-week-agent-w').data('calendar-action');\n jQuery('.calendar-week-agent-w').addClass('os-loading');\n var params_arr = {target_date: target_date, agent_id: agent_id};\n if(location_id) params_arr.location_id = location_id;\n if(service_id) params_arr.service_id = service_id;\n var data = { action: latepoint_helper.route_action, route_name: route_name, params: jQuery.param(params_arr), return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n if(response.status === \"success\"){\n jQuery('.calendar-week-agent-w').html(response.message).removeClass('os-loading');\n jQuery('.calendar-load-target-date.os-loading').removeClass('os-loading');\n }else{\n alert(response.message);\n }\n }\n });\n}\n\nfunction latepoint_init_quick_transaction_form(){\n latepoint_mask_money(jQuery('.quick-add-transaction-box-w .os-mask-money'));\n}\n\nfunction latepoint_reload_price_breakdown(){\n var $trigger = jQuery('.reload-price-breakdown');\n $trigger.addClass('os-loading');\n var $quick_edit_form = $trigger.closest('form.booking-quick-edit-form');\n var form_data = new FormData($quick_edit_form[0]);\n var route = $trigger.data('route');\n\n var data = { action: latepoint_helper.route_action, route_name: route, params: latepoint_formdata_to_url_encoded_string(form_data), return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $trigger.removeClass('os-loading');\n if(response.status === \"success\"){\n jQuery('.price-breakdown-wrapper').html(response.message);\n latepoint_mask_money(jQuery('.price-breakdown-wrapper .os-mask-money'));\n latepoint_reload_balance_and_payments();\n }else{\n alert(response.message);\n }\n }\n });\n}\n\nfunction latepoint_complex_selector_select($connection_wrappers){\n $connection_wrappers.each(function(){\n jQuery(this).addClass('active');\n jQuery(this).find('.connection-children-list li').addClass('active');\n jQuery(this).find('.connection-child-is-connected').val('yes');\n latepoint_count_active_connections(jQuery(this));\n });\n}\n\nfunction latepoint_complex_selector_deselect($connection_wrappers){\n $connection_wrappers.each(function(){\n jQuery(this).removeClass('active');\n jQuery(this).removeClass('show-customize-box');\n jQuery(this).find('.connection-children-list li.active').removeClass('active');\n jQuery(this).find('.connection-child-is-connected').val('no');\n latepoint_count_active_connections(jQuery(this));\n });\n}\n\n\nfunction latepoint_apply_agent_selector_change(){\n if(jQuery('.quick-availability-per-day-w').length){\n latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n }\n}\n\nfunction latepoint_is_next_day(){\n var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n var start_time = $quick_edit_form.find('input[name=\"booking[start_time][formatted_value]\"]').val();\n var start_time_ampm = $quick_edit_form.find('input[name=\"booking[start_time][ampm]\"]').val();\n var start_time_minutes = latepoint_hours_and_minutes_to_minutes(start_time, start_time_ampm);\n var end_time = $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').val();\n var end_time_ampm = $quick_edit_form.find('input[name=\"booking[end_time][ampm]\"]').val();\n var end_time_minutes = latepoint_hours_and_minutes_to_minutes(end_time, end_time_ampm);\n\n if(end_time_minutes && (end_time_minutes <= start_time_minutes)){\n $quick_edit_form.find('.quick-end-time-w').addClass('ending-next-day');\n }else{\n $quick_edit_form.find('.quick-end-time-w').removeClass('ending-next-day');\n }\n}\n\nfunction latepoint_set_booking_end_time(){\n var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n var booking_duration = 0;\n var service_duration = $quick_edit_form.find('.os-service-durations select').val();\n booking_duration = booking_duration + service_duration;\n if($quick_edit_form.find('select[name=\"temp_service_extras_ids\"] option:selected').length){\n $quick_edit_form.find('select[name=\"temp_service_extras_ids\"] option:selected').each(function(){\n var extra_duration = Number(jQuery(this).data('duration'));\n var $extra_quantity_input = jQuery(this).closest('.lateselect-w').find('.ls-item[data-value=\"' + jQuery(this).val() + '\"]').find('.os-late-quantity-selector-input');\n if($extra_quantity_input.length) extra_duration = Number(extra_duration) * Number($extra_quantity_input.val());\n booking_duration = Number(booking_duration) + Number(extra_duration);\n });\n }\n\n var start_time = $quick_edit_form.find('input[name=\"booking[start_time][formatted_value]\"]').val();\n\n if(start_time){\n var start_time_ampm = $quick_edit_form.find('input[name=\"booking[start_time][ampm]\"]').val();\n var start_time_minutes = latepoint_hours_and_minutes_to_minutes(start_time, start_time_ampm);\n var end_time_minutes = parseInt(start_time_minutes) + parseInt(booking_duration);\n if(end_time_minutes >= (24 * 60)) end_time_minutes = (end_time_minutes - 24 * 60);\n var end_time_ampm = (end_time_minutes >= 720 && end_time_minutes < (24 * 60)) ? 'pm' : 'am';\n var end_hours_and_minutes = latepoint_minutes_to_hours_and_minutes(end_time_minutes);\n\n $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').val(end_hours_and_minutes);\n $quick_edit_form.find('.quick-end-time-w .time-ampm-select.time-' + end_time_ampm).trigger('click');\n $quick_edit_form.find('input[name=\"booking[end_time][formatted_value]\"]').closest('.os-form-group').addClass('has-value');\n }\n latepoint_is_next_day();\n}\n\nfunction latepoint_apply_service_selector_change(){\n\n var $selected_service = jQuery('.os-services-select-field-w .service-option-selected');\n var service_id = $selected_service.data('id');\n var buffer_before = $selected_service.data('buffer-before');\n var buffer_after = $selected_service.data('buffer-after');\n var default_duration = $selected_service.data('duration');\n var default_duration_name = $selected_service.data('duration-name');\n var min_capacity = $selected_service.data('capacity-min');\n var max_capacity = $selected_service.data('capacity-max');\n\n var extra_durations = $selected_service.data('extra-durations');\n\n var $quick_edit_form = jQuery('form.booking-quick-edit-form');\n $quick_edit_form.find('input[name=\"booking[buffer_before]\"]').val(buffer_before).trigger('change').closest('.os-form-group').addClass('has-value');\n $quick_edit_form.find('input[name=\"booking[buffer_after]\"]').val(buffer_after).trigger('change').closest('.os-form-group').addClass('has-value');\n $quick_edit_form.find('input[name=\"booking[service_id]\"]').val(service_id).trigger('change').closest('.os-form-group').addClass('has-value');\n\n var duration_name = default_duration_name ? default_duration_name : (default_duration + ' ' + latepoint_helper.string_minutes);\n var options = '<option value=\"'+ default_duration +'\">' + duration_name + '</option>';\n if(extra_durations.length){\n jQuery.each(extra_durations, function(index, value){\n var duration_name = value.name ? value.name : value.duration + ' ' + latepoint_helper.string_minutes;\n options+= '<option value=\"'+ value.duration +'\">' + duration_name + '</option>';\n });\n $quick_edit_form.find('.os-service-durations').show();\n }else{\n $quick_edit_form.find('.os-service-durations').hide();\n }\n\n jQuery('.booking-total-attendies-selector-w .capacity-info strong').text(max_capacity);\n var attendies_options_html = '';\n for(var i=1;i<=max_capacity;i++){\n attendies_options_html+= '<option value=\"' + i + '\">' + i + '</option>';\n }\n var selected_attendies = Math.min(jQuery('.booking-total-attendies-selector-w select').val(), max_capacity);\n jQuery('.booking-total-attendies-selector-w select').html(attendies_options_html).val(selected_attendies);\n if(max_capacity > 1){\n jQuery('.booking-total-attendies-selector-w').show();\n }else{\n jQuery('.booking-total-attendies-selector-w').hide();\n }\n\n $quick_edit_form.find('.os-service-durations select').html(options);\n\n latepoint_set_booking_end_time();\n if(jQuery('.quick-availability-per-day-w').length){\n latepoint_load_quick_availability(jQuery('.trigger-quick-availability'));\n }\n\n latepoint_init_input_masks($quick_edit_form);\n}\n\n\nfunction latepoint_init_sortable_columns(){\n jQuery('.os-sortable-column').on('click', function(){\n let current_direction = jQuery(this).hasClass('ordered-desc') ? 'desc' : 'asc';\n let new_direction = (current_direction == 'desc') ? 'asc' : 'desc';\n jQuery(this).closest('table').find('.os-sortable-column').removeClass('ordered-desc').removeClass('ordered-asc');\n jQuery(this).addClass('ordered-' + new_direction);\n\n jQuery(this).closest('table').find('.records-ordered-by-key').val(jQuery(this).data('order-key'));\n jQuery(this).closest('table').find('.records-ordered-by-direction').val(new_direction);\n latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n return false;\n });\n}\nfunction latepoint_random_text(length){\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for ( var i = 0; i < length; i++ ) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\nfunction latepoint_get_order_for_service_categories(){\n\n}\n\n\nfunction latepoint_init_daterangepicker($elem){\n $elem.each(function(){\n // DATERANGEPICKER\n var picker_start_time = jQuery(this).find('input[name=\"date_from\"], .os-datepicker-date-from').val();\n var picker_end_time = jQuery(this).find('input[name=\"date_to\"], .os-datepicker-date-to').val();\n var locale = {};\n if(jQuery(this).data('can-be-cleared')) locale = { cancelLabel: jQuery(this).data('clear-btn-label')};\n\n\n moment.locale(latepoint_helper.wp_locale);\n\n jQuery(this).daterangepicker({\n opens: 'center',\n singleDatePicker: (jQuery(this).data('single-date') == 'yes'),\n startDate: (picker_start_time) ? moment(picker_start_time) : moment(),\n endDate: (picker_end_time) ? moment(picker_end_time) : moment(),\n locale: locale\n });\n });\n\n $elem.on('cancel.daterangepicker', function(ev, picker) {\n if(picker.element.data('can-be-cleared')){\n picker.element.find('input[name=\"date_from\"], .os-datepicker-date-from').val('');\n picker.element.find('input[name=\"date_to\"], .os-datepicker-date-to').val('');\n picker.element.find('span.range-picker-value').text(picker.element.data('no-value-label'));\n if(picker.element.hasClass('os-table-filter-datepicker')){\n latepoint_filter_table(picker.element.closest('table'), picker.element.closest('.os-form-group'));\n }\n }\n });\n\n $elem.on('apply.daterangepicker', function(ev, picker) {\n if(picker.element.data('single-date') == 'yes'){\n picker.element.find('.range-picker-value').text(picker.startDate.format('ll'));\n }else{\n picker.element.find('.range-picker-value').text(picker.startDate.format('ll') + ' - ' + picker.endDate.format('ll'));\n }\n picker.element.find('input[name=\"date_from\"], .os-datepicker-date-from').attr('value', picker.startDate.format('YYYY-MM-DD'));\n picker.element.find('input[name=\"date_to\"], .os-datepicker-date-to').attr('value', picker.endDate.format('YYYY-MM-DD'));\n if(picker.element.closest('.os-widget').length){\n latepoint_reload_widget(picker.element.closest('.os-widget'));\n }\n if(picker.element.hasClass('os-table-filter-datepicker')){\n latepoint_filter_table(picker.element.closest('table'), picker.element.closest('.os-form-group'));\n }\n });\n}\n\nfunction latepoint_recalculate_items_count_in_category(){\n jQuery('.os-category-items-count').each(function(){\n var number_of_items = jQuery(this).closest('.os-category-parent-w').find('.item-in-category-w').length;\n jQuery(this).find('span').text(number_of_items);\n });\n}\n\nfunction latepoint_remove_agent_box($remove_btn){\n var $agent_box = $remove_btn.closest('.agent-box-w');\n $agent_box.fadeOut(300, function(){ jQuery(this).remove(); });\n}\n\nfunction latepoint_remove_service_box($remove_btn){\n var $service_box = $remove_btn.closest('.service-box-w');\n $service_box.fadeOut(300, function(){ jQuery(this).remove(); });\n}\n\nfunction latepoint_init_monthly_view(){\n if(!jQuery('.calendar-month-agents-w').length) return;\n\n jQuery('.monthly-calendar-headers select').on('change', function(){\n var $calendar = jQuery('.calendar-month-agents-w');\n var route_name = $calendar.data('route');\n $calendar.addClass('os-loading');\n var params = { month: jQuery('#monthly_calendar_month_select').val(), year: jQuery('#monthly_calendar_year_select').val() };\n if(jQuery('#monthly_calendar_location_select').length && jQuery('#monthly_calendar_location_select').val()) params.location_id = jQuery('#monthly_calendar_location_select').val();\n if(jQuery('#monthly_calendar_service_select').length && jQuery('#monthly_calendar_service_select').val()) params.service_id = jQuery('#monthly_calendar_service_select').val();\n var data = { action: latepoint_helper.route_action, route_name: route_name, params: params, layout: 'none', return_format: 'json' }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $calendar.removeClass('os-loading');\n if(data.status === \"success\"){\n $calendar.html(data.message);\n }else{\n // console.log(data.message);\n }\n }\n });\n });\n}\n\n\nfunction latepoint_init_copy_on_click_elements(){\n\n jQuery('.os-click-to-copy').on('mouseenter', function() {\n var $this = jQuery(this);\n var position_info = $this.offset();\n var width = jQuery(this).outerWidth();\n var position_left = position_info.left + width + 5;\n var position_top = position_info.top + 2 - jQuery(window).scrollTop();\n if($this.data('copy-tooltip-position') == 'left'){\n position_left = position_left - width - 5;\n position_top = position_top + $this.outerHeight() - jQuery(window).scrollTop();;\n }\n jQuery('body').append('<div class=\"os-click-to-copy-prompt\" style=\"top: '+position_top+'px; left: '+position_left+'px;\">' + latepoint_helper.click_to_copy_prompt + '</div>');\n }).on('mouseleave', function() {\n jQuery('body').find('.os-click-to-copy-prompt').remove();\n });\n jQuery('.os-click-to-copy').on('click', function(){\n var $this = jQuery(this);\n jQuery('body').find('.os-click-to-copy-prompt').hide();\n var $tempElement = jQuery(\"<input>\");\n jQuery(\"body\").append($tempElement);\n var text_to_copy = $this.is('input') ? $this.val() : $this.text();\n $tempElement.val(text_to_copy).trigger('select');\n document.execCommand(\"Copy\");\n $tempElement.remove();\n\n var position_info = $this.offset();\n var width = $this.outerWidth();\n var position_left = position_info.left + width + 5;\n var position_top = position_info.top + 3 - jQuery(window).scrollTop();;\n\n if($this.data('copy-tooltip-position') == 'left'){\n position_left = position_left - width - 5;\n position_top = position_top + $this.outerHeight() - jQuery(window).scrollTop();;\n }\n var $done_prompt = jQuery('<div class=\"os-click-to-copy-done\" style=\"top: '+position_top+'px; left: '+position_left+'px;\">' + latepoint_helper.click_to_copy_done + '</div>');\n $done_prompt.appendTo(jQuery('body')).animate({\n opacity: 0,\n left: (position_left + 20),\n }, 600);\n setTimeout(function(){\n jQuery('body').find('.os-click-to-copy-done').remove();\n jQuery('body').find('.os-click-to-copy-prompt').show();\n }, 800);\n });\n}\n\nfunction latepoint_remove_floating_popup(){\n jQuery('.os-showing-popup').removeClass('os-showing-popup');\n jQuery('.os-floating-popup').remove();\n}\n\nfunction latepoint_init_clickable_cells(){\n jQuery('.os-clickable-popup-trigger').on('click', function(){\n var $this = jQuery(this);\n var position = $this.offset();\n var width = $this.outerWidth();\n var $popup = jQuery('<div class=\"os-floating-popup os-loading\"></div>');\n if($this.hasClass('os-showing-popup')){\n latepoint_remove_floating_popup();\n }else{\n latepoint_remove_floating_popup();\n $popup.offset({top: position.top, left: (position.left + width/2)});\n jQuery('body').append($popup);\n $this.addClass('os-showing-popup');\n\n var route = $this.data('route');\n var params = $this.data('os-params');\n var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n if(response.status === latepoint_helper.response_status.success){\n jQuery('body').find('.os-floating-popup').html(response.message).removeClass('os-loading');\n latepoint_init_customer_donut_chart();\n jQuery('.os-floating-popup .os-floating-popup-close').on('click', function(){\n latepoint_remove_floating_popup();\n return false;\n });\n }else{\n\n }\n }\n });\n }\n return false;\n });\n}\n\nfunction latepoint_init_tiny_mce(element_id){\n // TODO CHECK IF wp.editor is defined\n if(typeof wp !== 'undefined' && typeof wp.editor !== 'undefined' && jQuery('#'+ element_id).length){\n wp.editor.remove(element_id);\n wp.editor.initialize(element_id,\n {\n tinymce: {\n wpautop: false,\n toolbar1: 'formatselect alignjustify forecolor | bold italic underline strikethrough | bullist numlist | blockquote hr | alignleft aligncenter alignright | link unlink | pastetext removeformat | outdent indent | undo redo',\n height : \"480\",\n },\n quicktags: true,\n mediaButtons: true,\n }\n );\n }\n}\n\nfunction latepoint_init_reminder_form(){\n latepoint_init_tiny_mce(jQuery('.os-reminder-form:last-child textarea').attr('id'));\n}\n\nfunction latepoint_filter_table($table, $filter_elem, reset_page = true){\n $filter_elem.addClass('os-loading');\n var filter_params = $table.find('.os-table-filter').serialize();\n var $table_w = $table.closest('.table-with-pagination-w');\n if(reset_page){\n $table_w.find('select.pagination-page-select').val(1);\n }else{\n filter_params+= '&page_number='+$table_w.find('select.pagination-page-select').val();\n }\n var route = $table.data('route');\n var data = { action: latepoint_helper.route_action, route_name: route, params: filter_params, layout: 'none', return_format: 'json' };\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $filter_elem.removeClass('os-loading');\n if(data.status === \"success\"){\n $table.find('tbody').html(data.message);\n if(data.total_pages && reset_page){\n var options = '';\n for(var i = 1; i <= data.total_pages; i++){\n options+= '<option>'+ i +'</option>';\n }\n $table_w.find('select.pagination-page-select').html(options);\n }\n $table_w.find('.os-pagination-from').text(data.showing_from);\n $table_w.find('.os-pagination-to').text(data.showing_to);\n $table_w.find('.os-pagination-total').text(data.total_records);\n latepoint_init_clickable_cells();\n }else{\n // console.log(data.message);\n }\n }\n });\n}\n\nfunction latepoint_init_wizard_content(){\n latepoint_init_input_masks(jQuery('.os-wizard-step-content'));\n}\n\nfunction latepoint_init_input_masks($scoped_element = false){\n let $wrapper = $scoped_element ? $scoped_element : jQuery('body');\n latepoint_mask_timefield($wrapper.find('.os-mask-time'));\n\n $wrapper.find('.os-mask-phone').each(function(){\n latepoint_mask_phone(jQuery(this));\n });\n\n latepoint_mask_money($wrapper.find('.os-mask-money'));\n latepoint_mask_date($wrapper.find('.os-mask-date'));\n latepoint_mask_minutes($wrapper.find('.os-mask-minutes'));\n\n $wrapper.trigger('latepoint:initInputMasks');\n}\n\n","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\n\nfunction latepoint_init_daily_bookings_chart() {\n if (typeof Chart === 'undefined' || !jQuery('#chartDailyBookings').length) return\n\n let $dailyBookingsChart = jQuery('#chartDailyBookings');\n let dailyBookingsLabels = $dailyBookingsChart.data('chart-labels').toString().split(',');\n let dailyBookingsValues = $dailyBookingsChart.data('chart-values').toString().split(',').map(Number);\n let dailyBookingsChartMax = Math.max.apply(Math, dailyBookingsValues);\n // calculate max Y to have space for a tooltip\n let canvasHeight = 200\n let spaceForTooltip = 160\n let maxValue = dailyBookingsChartMax + spaceForTooltip * dailyBookingsChartMax / canvasHeight + 1\n\n\n var fontFamily = latepoint_helper.font_family;\n\n Chart.Tooltip.positioners.top = function (items) {\n const pos = Chart.Tooltip.positioners.average(items);\n\n // Happens when nothing is found\n if (pos === false) {\n return false;\n }\n\n const chart = this.chart;\n\n return {\n x: pos.x,\n y: chart.chartArea.top,\n xAlign: 'center',\n yAlign: 'bottom',\n };\n };\n\n Chart.defaults.defaultFontFamily = fontFamily;\n Chart.defaults.defaultFontSize = 18;\n Chart.defaults.defaultFontStyle = '400';\n Chart.defaults.plugins.tooltip.titleFont = {\n family: fontFamily,\n size: 14,\n color: 'rgba(255,255,255,0.6)',\n style: 'normal',\n weight: 400\n }\n\n Chart.defaults.plugins.tooltip.titleFont = {family: fontFamily, size: 14, weight: 400};\n Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n Chart.defaults.plugins.tooltip.titleMarginBottom = 5;\n Chart.defaults.plugins.tooltip.bodyFont = {family: fontFamily, size: 24, weight: 700, lineHeight: 0.8};\n Chart.defaults.plugins.tooltip.displayColors = false;\n Chart.defaults.plugins.tooltip.padding = 10;\n Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n Chart.defaults.plugins.tooltip.xAlign = 'center';\n Chart.defaults.plugins.tooltip.cornerRadius = 4;\n Chart.defaults.plugins.tooltip.caretSize = 5;\n Chart.defaults.plugins.tooltip.position = 'top';\n\n var ctx = $dailyBookingsChart[0].getContext(\"2d\");\n var gradientStroke = ctx.createLinearGradient(500, 0, 100, 0);\n gradientStroke.addColorStop(0, '#1d7bff');\n gradientStroke.addColorStop(1, '#1d7bff');\n\n\n let gradientFill = ctx.createLinearGradient(0, 0, 0, 140);\n gradientFill.addColorStop(0, 'rgb(206,224,255, 0.4)');\n gradientFill.addColorStop(1, 'rgba(206,224,255,0)');\n\n // line chart data\n var chartDailyBookingsData = {\n labels: dailyBookingsLabels,\n datasets: [{\n backgroundColor: gradientFill,\n borderColor: gradientStroke,\n label: \"\",\n fill: true,\n lineTension: 0.1,\n borderWidth: 2,\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0.0,\n borderJoinStyle: 'miter',\n pointBorderColor: \"#fff\",\n pointBackgroundColor: \"#1D7BFF\",\n pointRadius: 3,\n pointBorderWidth: 2,\n pointHoverRadius: 6,\n pointHoverBorderWidth: 4,\n pointHoverBackgroundColor: \"#1D7BFF\",\n pointHoverBorderColor: \"#aecdff\",\n pointHitRadius: 20,\n spanGaps: false,\n data: dailyBookingsValues,\n }]\n };\n\n\n let options = {\n animation: false,\n layout: {\n padding: {\n top: 0\n }\n },\n interaction: {\n mode: 'index',\n intersect: false,\n },\n maintainAspectRatio: false,\n plugins: {\n verticalLiner: {},\n legend: {\n display: false\n },\n },\n scales: {\n x: {\n display: true,\n ticks: {\n maxRotation: 0,\n fontSize: '10',\n fontColor: '#000',\n callback: function (value, index, ticks) {\n if(ticks.length){\n return ((index + 2) % Math.round(ticks.length/8)) ? '' : this.getLabelForValue(value)\n }else{\n return this.getLabelForValue(value)\n }\n }\n },\n grid: {\n borderDash: [1, 5],\n color: 'rgba(0,0,0,0.35)',\n zeroLineColor: 'rgba(0,0,0,0.15)',\n },\n },\n y: {\n max: maxValue,\n grid: {\n color: 'rgba(0,0,0,0.05)',\n zeroLineColor: 'rgba(0,0,0,0.05)',\n },\n display: false,\n ticks: {\n beginAtZero: true,\n fontSize: '10',\n fontColor: '#000'\n }\n }\n\n }\n }\n\n const plugin = {\n id: 'verticalLiner',\n afterInit: (chart, args, opts) => {\n chart.verticalLiner = {}\n },\n afterEvent: (chart, args, options) => {\n const {inChartArea} = args\n chart.verticalLiner = {draw: inChartArea}\n },\n beforeTooltipDraw: (chart, args, options) => {\n const {draw} = chart.verticalLiner\n if (!draw) return\n\n const {ctx} = chart\n const {top, bottom} = chart.chartArea\n const {tooltip} = args\n const x = tooltip?.caretX\n if (!x) return\n\n ctx.save()\n\n ctx.beginPath()\n ctx.moveTo(x, top)\n ctx.lineTo(x, bottom)\n ctx.stroke()\n\n ctx.restore()\n }\n }\n\n // line chart init\n let chartDailyBookings = new Chart($dailyBookingsChart, {\n type: 'line',\n data: chartDailyBookingsData,\n options: options,\n plugins: [plugin],\n });\n}\n\n\nfunction latepoint_init_customer_donut_chart() {\n if (typeof Chart !== 'undefined' && jQuery('.os-customer-donut-chart').length) {\n var fontFamily = latepoint_helper.font_family;\n // set defaults\n Chart.defaults.defaultFontFamily = fontFamily;\n Chart.defaults.defaultFontSize = 16;\n Chart.defaults.defaultFontStyle = '400';\n\n Chart.defaults.plugins.tooltip.titleFont = {family: fontFamily, size: 14, weight: 400};\n Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n Chart.defaults.plugins.tooltip.titleMarginBottom = 1;\n Chart.defaults.plugins.tooltip.bodyFont = {family: fontFamily, size: 18, weight: 500};\n Chart.defaults.plugins.tooltip.displayColors = false;\n Chart.defaults.plugins.tooltip.padding = 5;\n Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n Chart.defaults.plugins.tooltip.xAlign = 'center';\n Chart.defaults.plugins.tooltip.cornerRadius = 4;\n Chart.defaults.plugins.tooltip.intersect = false;\n jQuery('.os-customer-donut-chart').each(function (index) {\n var chart_colors = jQuery(this).data('chart-colors').toString().split(',');\n var chart_labels = jQuery(this).data('chart-labels').toString().split(',');\n var chart_values = jQuery(this).data('chart-values').toString().split(',').map(Number);\n var $chart_canvas = jQuery(this);\n var chartDonut = new Chart($chart_canvas, {\n type: 'doughnut',\n data: {\n labels: chart_labels,\n datasets: [{\n data: chart_values,\n backgroundColor: chart_colors,\n hoverBackgroundColor: chart_colors,\n borderWidth: 0,\n hoverBorderColor: 'transparent'\n }]\n },\n options: {\n layout: {\n padding: {\n top: 10,\n bottom: 10,\n left: 10,\n right: 10\n }\n },\n plugins: {\n legend: {\n display: false\n },\n tooltip: {\n callbacks: {\n title: function (tooltipItem) {\n return tooltipItem[0].label;\n },\n label: function (tooltipItem) {\n return tooltipItem.parsed;\n },\n }\n },\n },\n animation: {\n animateRotate: false\n },\n cutout: \"90%\",\n responsive: false,\n maintainAspectRatio: true,\n }\n });\n });\n }\n}\n\nfunction latepoint_init_donut_charts() {\n if (typeof Chart !== 'undefined' && jQuery('.os-donut-chart').length) {\n var fontFamily = latepoint_helper.font_family;\n // set defaults\n Chart.defaults.defaultFontFamily = fontFamily;\n Chart.defaults.defaultFontSize = 18;\n Chart.defaults.defaultFontStyle = '400';\n\n Chart.defaults.plugins.tooltip.titleFont.family = fontFamily;\n Chart.defaults.plugins.tooltip.titleFont.size = 14;\n Chart.defaults.plugins.tooltip.titleColor = 'rgba(255,255,255,0.6)';\n Chart.defaults.plugins.tooltip.backgroundColor = '#000';\n Chart.defaults.plugins.tooltip.titleFont.style = '400';\n Chart.defaults.plugins.tooltip.titleMarginBottom = 1;\n Chart.defaults.plugins.tooltip.bodyFont.family = fontFamily;\n Chart.defaults.plugins.tooltip.bodyFont.size = 24;\n Chart.defaults.plugins.tooltip.bodyFont.style = '500';\n Chart.defaults.plugins.tooltip.displayColors = false;\n Chart.defaults.plugins.tooltip.padding.x = 10;\n Chart.defaults.plugins.tooltip.padding.y = 8;\n Chart.defaults.plugins.tooltip.yAlign = 'bottom';\n Chart.defaults.plugins.tooltip.xAlign = 'center';\n Chart.defaults.plugins.tooltip.cornerRadius = 8;\n Chart.defaults.plugins.tooltip.intersect = false;\n jQuery('.os-donut-chart').each(function (index) {\n var chart_colors = jQuery(this).data('chart-colors').toString().split(',');\n var chart_labels = jQuery(this).data('chart-labels').toString().split(',');\n var chart_values = jQuery(this).data('chart-values').toString().split(',').map(Number);\n var $chart_canvas = jQuery(this);\n var chartDonut = new Chart($chart_canvas, {\n type: 'doughnut',\n data: {\n labels: chart_labels,\n datasets: [{\n data: chart_values,\n backgroundColor: chart_colors,\n hoverBackgroundColor: chart_colors,\n borderWidth: 0,\n hoverBorderColor: 'transparent'\n }]\n },\n options: {\n layout: {\n padding: {\n top: 40\n }\n },\n plugins: {\n legend: {\n display: false\n },\n tooltip: {\n callbacks: {\n title: function (tooltipItem, data) {\n return data['labels'][tooltipItem[0]['index']];\n },\n label: function (tooltipItem, data) {\n return data['datasets'][0]['data'][tooltipItem['index']];\n }\n }\n }\n },\n animation: {\n animateScale: true\n },\n cutoutPercentage: 96,\n responsive: false,\n maintainAspectRatio: true,\n }\n });\n });\n }\n}\n\n\nfunction latepoint_init_circles_charts() {\n jQuery('.circle-chart').each(function (index) {\n var chart_elem_id = jQuery(this).prop('id');\n var max_value = jQuery(this).data('max-value');\n var chart_value = jQuery(this).data('chart-value');\n var chart_color = jQuery(this).data('chart-color');\n var chart_color_fade = jQuery(this).data('chart-color-fade');\n var myCircle = Circles.create({\n id: chart_elem_id,\n radius: 25,\n value: chart_value,\n maxValue: max_value,\n width: 2,\n text: function (value) {\n return Math.round(value);\n },\n colors: [chart_color, chart_color_fade],\n duration: 200,\n wrpClass: 'circles-wrp',\n textClass: 'circles-text',\n valueStrokeClass: 'circles-valueStroke',\n maxValueStrokeClass: 'circles-maxValueStroke',\n styleWrapper: true,\n styleText: true\n });\n\n });\n\n\n}\n","/*\n * Copyright (c) 2023 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_check_horizontal_calendar_scroll(){\n if(jQuery('.daily-availability-calendar.horizontal-calendar').length){\n if(jQuery('.daily-availability-calendar.horizontal-calendar').width() < 700){\n jQuery('.daily-availability-calendar.horizontal-calendar').scrollLeft(jQuery('.os-day.selected').index() * jQuery('.os-day.selected').width());\n }\n }\n}\n\nfunction latepoint_init_calendars(){\n latepoint_check_horizontal_calendar_scroll();\n jQuery('.os-calendar-settings-extra .latecheckbox').lateCheckbox();\n\n\n jQuery('.calendar-settings-toggler').on('click', function(){\n jQuery('.os-calendar-settings-form').toggleClass('show-extra-settings');\n return false;\n });\n\n jQuery('.os-calendar-settings-form').on('change', 'select[name=\"calendar_settings[view]\"]', function(){\n jQuery(this).closest('.calendar-wrapper').attr('data-view', jQuery(this).val());\n });\n\n jQuery('.os-calendar-settings-form').on('change', 'select, input, .latecheckbox ', function(){\n latepoint_reload_calendar_view();\n });\n\n\n jQuery('.calendar-view-wrapper').on('click', '.weekly-calendar-agent-selector', function(){\n jQuery('.weekly-calendar-agent-selector.selected').removeClass('selected');\n jQuery(this).addClass('selected');\n jQuery('.os-calendar-settings-form input[name=\"calendar_settings[selected_agent_id]\"]').val(jQuery(this).data('agent-id'));\n jQuery('.agent-weekly-calendar.selected').removeClass('selected');\n jQuery('.agent-weekly-calendar[data-agent-id=\"'+jQuery(this).data('agent-id')+'\"]').addClass('selected');\n return false;\n });\n\n jQuery('.calendar-view-wrapper').on('click', '.daily-calendar-action-navigation-btn', function(){\n jQuery(this).addClass('os-loading');\n jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('target-date')).trigger('change');\n return false;\n });\n\n jQuery('.calendar-view-wrapper').on('click', '.daily-availability-calendar .os-day', function(){\n jQuery('.os-monthly-calendar-days-w .os-day.selected').removeClass('selected');\n jQuery(this).addClass('selected');\n jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('date')).trigger('change');\n return false;\n });\n\n\n jQuery('.os-calendar-today-btn').on('click', function(){\n jQuery(this).addClass('os-loading');\n jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery(this).data('target-date')).trigger('change');\n return false;\n });\n\n jQuery('.os-calendar-prev-btn').on('click', function(){\n jQuery(this).addClass('os-loading');\n jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery('input[name=\"prev_target_date\"]').val()).trigger('change');\n return false;\n });\n\n jQuery('.os-calendar-next-btn').on('click', function(){\n jQuery(this).addClass('os-loading');\n jQuery('input[name=\"calendar_settings[target_date_string]\"]').val(jQuery('input[name=\"next_target_date\"]').val()).trigger('change');\n return false;\n });\n}\n\nfunction latepoint_reload_calendar_view(){\n let $calendar_wrapper = jQuery('.calendar-view-wrapper');\n if(!$calendar_wrapper.length) return;\n $calendar_wrapper.addClass('os-loading');\n\n let calendar_settings = new FormData(jQuery('form.os-calendar-settings-form')[0]);\n\n let data = new FormData();\n data.append('params', latepoint_formdata_to_url_encoded_string(calendar_settings));\n data.append('action', latepoint_helper.route_action);\n data.append('route_name', $calendar_wrapper.data('route'));\n data.append('return_format', 'json');\n\n jQuery.ajax({\n type: \"post\",\n dataType: \"json\",\n processData: false,\n contentType: false,\n url: latepoint_helper.ajaxurl,\n data: data,\n success: function (response) {\n if (response.status === \"success\") {\n $calendar_wrapper.html(response.message).removeClass('os-loading');\n jQuery('.os-calendar-today-btn, .os-calendar-prev-btn, .os-calendar-next-btn').removeClass('os-loading');\n jQuery('.os-current-month-label .current-month').text(response.top_date_label);\n latepoint_check_horizontal_calendar_scroll();\n }\n }\n });\n\n}","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\nfunction latepoint_process_updated(){\n location.reload();\n}\n\nfunction latepoint_process_action_removed($elem){\n $elem.closest('.os-form-block').remove();\n}\n\nfunction latepoint_replace_process_condition_element($trigger, params, $target, callback = null){\n let route_name = $trigger.data('route');\n let data = { action: latepoint_helper.route_action, route_name: route_name, params: params, return_format: 'json' }\n jQuery.ajax({\n type: 'post',\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: (response) => {\n if(response.status === latepoint_helper.response_status.success){\n $target.html(response.message);\n latepoint_init_process_conditions_form();\n if (typeof callback === 'function') {\n callback();\n }\n }else{\n alert(\"Error!\");\n }\n }\n });\n}\n\n\nfunction latepoint_init_process_forms(){\n latepoint_init_process_conditions_form();\n\n jQuery('.os-processes-w').on('click', '.os-run-process', function(){\n let $btn = jQuery(this);\n $btn.addClass('os-loading');\n let $process_form = $btn.closest('.os-process-form');\n // remove previously assigned class on other forms\n jQuery('.os-process-form.prepared-to-run').removeClass('prepared-to-run');\n // add class so we know which form is about to be processed\n $process_form.addClass('prepared-to-run');\n\n\n\n let form_data = new FormData($process_form[0]);\n form_data.set('process_event_type', $process_form.closest('.os-process-form').find('.process-event-type-selector').val());\n\n\n let data = new FormData();\n data.append('params', latepoint_formdata_to_url_encoded_string(form_data));\n data.append('action', latepoint_helper.route_action);\n data.append('route_name', $btn.data('route'));\n data.append('return_format', 'json');\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n processData: false,\n contentType: false,\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n latepoint_show_data_in_lightbox(data.message, 'width-800');\n latepoint_init_process_test_form();\n $btn.removeClass('os-loading');\n }\n });\n return false;\n });\n\n jQuery('.os-processes-w').find('.process-action-form').each(function(index){\n latepoint_init_process_action_form(jQuery(this));\n });\n\n jQuery('.os-processes-w').on('click', '.pe-remove-condition', (event) => {\n if(jQuery(event.currentTarget).closest('.pe-conditions').find('.pe-condition').length > 1){\n jQuery(event.currentTarget).closest('.pe-condition').remove();\n }else{\n alert('You need to have at least one condition if your custom field is set to be conditional.')\n }\n return false;\n });\n\n\n jQuery('.os-processes-w').on('change', 'select.process-condition-operator-selector', (event) => {\n let $select = jQuery(event.currentTarget);\n if($select.val() == 'changed' || $select.val() == 'not_changed'){\n $select.closest('.pe-condition').find('.process-condition-values-w').hide();\n }else{\n $select.closest('.pe-condition').find('.process-condition-values-w').show();\n }\n });\n\n jQuery('.os-processes-w').on('change', 'select.process-event-type-selector', (event) => {\n let $select = jQuery(event.currentTarget);\n latepoint_replace_process_condition_element($select, { event_type: $select.val() }, $select.closest('.os-form-block').find('.process-event-condition-wrapper'));\n });\n\n jQuery('.os-processes-w').on('change', 'select.process-condition-object-selector', (event) => {\n let $select = jQuery(event.currentTarget);\n let $property_selector = $select.closest('.pe-condition').find('.process-condition-properties-w select');\n latepoint_replace_process_condition_element($select, { object_code: $select.val() }, $property_selector, () => { $property_selector.trigger('change'); });\n });\n\n jQuery('.os-processes-w').on('change', 'select.process-condition-property-selector', (event) => {\n let $select = jQuery(event.currentTarget);\n let $operator_selector = $select.closest('.pe-condition').find('.process-condition-operators-w select');\n latepoint_replace_process_condition_element($select, { property: $select.val() }, $operator_selector, () => { $operator_selector.trigger('change'); });\n });\n\n jQuery('.os-processes-w').on('change', 'select.process-condition-operator-selector', (event) => {\n let $select = jQuery(event.currentTarget);\n latepoint_replace_process_condition_element($select, { property: $select.closest('.pe-condition').find('select.process-condition-property-selector').val(), trigger_condition_id: $select.closest('.pe-condition').data('condition-id'), operator: $select.val() }, $select.closest('.pe-condition').find('.process-condition-values-w'));\n });\n\n}\n\nfunction latepoint_init_process_conditions_form(){\n jQuery('.os-late-select').lateSelect();\n}\n\nfunction latepoint_add_process_condition($btn, response){\n $btn.closest('.pe-condition').after(response.message);\n latepoint_init_process_conditions_form();\n}\n\nfunction latepoint_init_added_process_action_form($trigger){\n let $action_form = $trigger.prev('.process-action-form');\n $action_form.addClass('is-editing');\n latepoint_init_process_action_form($action_form);\n}\n\nfunction latepoint_init_process_test_form(){\n\n jQuery('.latepoint-run-process-btn').on('click', function(){\n let $btn = jQuery(this);\n if($btn.hasClass('os-loading')) return false;\n $btn.addClass('os-loading');\n let $test_action_form = jQuery('.latepoint-lightbox-content .action-settings-wrapper');\n\n\n let form_data = new FormData(jQuery('.os-process-form.prepared-to-run')[0]);\n\n // set data sources\n jQuery('.process-test-data-source-selector').each(function(){\n form_data.set(jQuery(this).prop('name'), jQuery(this).val());\n });\n\n // set selected actions\n jQuery('.process-test-data-source-selector').each(function(){\n form_data.set(jQuery(this).prop('name'), jQuery(this).val());\n });\n\n let action_ids_to_run = [];\n jQuery('.action-to-run input[type=\"hidden\"]').each(function(){\n if(jQuery(this).val() == 'on') action_ids_to_run.push(jQuery(this).closest('.action-to-run').data('id'));\n });\n form_data.set('action_ids', action_ids_to_run.join(','));\n\n\n let data = new FormData();\n data.append('params', latepoint_formdata_to_url_encoded_string(form_data));\n data.append('action', latepoint_helper.route_action);\n data.append('route_name', $btn.data('route'));\n data.append('return_format', 'json');\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n processData: false,\n contentType: false,\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $btn.removeClass('os-loading');\n if(data.status == 'success'){\n latepoint_add_notification(data.message);\n }else{\n latepoint_add_notification(data.message, 'error');\n }\n }\n });\n });\n\n jQuery('.process-action-test-data-source-selector').on('change', function(){\n // TODO add call to server to check if selected data sources matches conditions of this process\n });\n}\n\n\nfunction latepoint_init_process_action_test_form(){\n\n latepoint_init_json_view(jQuery('.action-preview-wrapper.type-trigger_webhook pre'));\n\n jQuery('.latepoint-run-action-btn').on('click', function(){\n let $btn = jQuery(this);\n if($btn.hasClass('os-loading')) return false;\n $btn.addClass('os-loading');\n let $test_action_form = jQuery('.latepoint-lightbox-content .action-settings-wrapper');\n\n let action_data = new FormData();\n\n\n action_data.append('params', $test_action_form.find('select, textarea, input').serialize());\n action_data.append('action', latepoint_helper.route_action);\n action_data.append('route_name', $btn.data('route'));\n action_data.append('return_format', 'json');\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n processData: false,\n contentType: false,\n url : latepoint_helper.ajaxurl,\n data : action_data,\n success: function(data){\n $btn.removeClass('os-loading');\n if(data.status == 'success'){\n latepoint_add_notification(data.message);\n }else{\n latepoint_add_notification(data.message, 'error');\n }\n }\n });\n });\n\n jQuery('.process-action-test-data-source-selector').on('change', function(){\n let $select = jQuery(this);\n jQuery('.action-preview-wrapper').addClass('os-loading');\n let $test_action_form = $select.closest('.action-settings-wrapper');\n\n let action_data = new FormData();\n\n\n action_data.append('params', $test_action_form.find('select, textarea, input').serialize());\n action_data.append('action', latepoint_helper.route_action);\n action_data.append('route_name', $select.data('route'));\n action_data.append('return_format', 'json');\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n processData: false,\n contentType: false,\n url : latepoint_helper.ajaxurl,\n data : action_data,\n success: function(data){\n jQuery('.action-preview-wrapper').html(data.message).removeClass('os-loading');\n latepoint_init_json_view(jQuery('.action-preview-wrapper.type-trigger_webhook pre'));\n }\n });\n });\n}\n\nfunction latepoint_init_process_action_form($action_form){\n $action_form.on('click', '.os-run-process-action', function(){\n let $btn = jQuery(this);\n $btn.addClass('os-loading');\n let $action_form = $btn.closest('.process-action-form');\n\n if(window.tinyMCE !== undefined) window.tinyMCE.triggerSave();\n\n let action_data = new FormData();\n let params = latepoint_create_form_data_from_non_form_element($action_form);\n\n params.set('process_event_type', $action_form.closest('.os-process-form').find('.process-event-type-selector').val());\n\n action_data.append('params', latepoint_formdata_to_url_encoded_string(params));\n action_data.append('action', latepoint_helper.route_action);\n action_data.append('route_name', $btn.data('route'));\n action_data.append('return_format', 'json');\n\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n processData: false,\n contentType: false,\n url : latepoint_helper.ajaxurl,\n data : action_data,\n success: function(data){\n latepoint_show_data_in_lightbox(data.message, 'width-800');\n latepoint_init_process_action_test_form();\n $btn.removeClass('os-loading');\n }\n });\n return false;\n });\n $action_form.on('click', '.process-action-heading', function(){\n jQuery(this).closest('.process-action-form').toggleClass('is-editing');\n return false;\n });\n $action_form.on('change', '.process-action-type', function(){\n jQuery(this).closest('.process-action-form').find('.process-action-name').text(jQuery(this).find('option:selected').text());\n });\n\n $action_form.find('textarea.os-wp-editor-textarea').each(function(index){\n latepoint_init_tiny_mce(jQuery(this).attr('id'));\n });\n $action_form.on('click', '.os-remove-process-action', function(){\n if(confirm(jQuery(this).data('os-prompt'))){\n jQuery(this).closest('.process-action-form').remove();\n }\n return false;\n });\n $action_form.on('change', '.process-action-type', function(){\n let $select = jQuery(this);\n let action_type = $select.val();\n let action_id = $select.data('action-id');\n let route_name = $select.data('route');\n let data = {\n action: latepoint_helper.route_action,\n route_name: route_name,\n params: {\n action_type: action_type,\n action_id: action_id\n },\n layout: 'none',\n return_format: 'json'\n }\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $select.closest('.process-action-content').find('.process-action-settings').html(data.message);\n latepoint_init_input_masks($select.closest('.process-action-form'));\n }\n });\n return false;\n });\n}","/*\n * Copyright (c) 2022 LatePoint LLC. All rights reserved.\n */\n\n// @codekit-prepend \"bin/time.js\";\n// @codekit-prepend \"bin/lateselect.js\";\n// @codekit-prepend \"bin/latecheckbox.js\";\n// @codekit-prepend \"bin/actions.js\";\n// @codekit-prepend \"bin/notifications.js\";\n// @codekit-prepend \"bin/shared.js\";\n// @codekit-prepend \"bin/admin/updates.js\";\n// @codekit-prepend \"bin/admin/main.js\";\n// @codekit-prepend \"bin/admin/_chart.js\";\n// @codekit-prepend \"bin/admin/_calendar.js\";\n// @codekit-prepend \"bin/admin/_processes.js\";\n\n\n\n// DOCUMENT READY\njQuery(document).ready(function( $ ) {\n\n\n // DASHBOARD\n latepoint_init_calendars();\n latepoint_init_circles_charts();\n latepoint_init_donut_charts();\n latepoint_init_daily_bookings_chart();\n latepoint_init_element_togglers();\n latepoint_init_daterangepicker(jQuery('.os-date-range-picker'));\n latepoint_init_monthly_view();\n latepoint_init_form_blocks();\n latepoint_init_reminders_form();\n latepoint_init_coupons_form();\n latepoint_init_copy_on_click_elements();\n latepoint_init_side_menu();\n latepoint_init_color_picker();\n latepoint_init_clickable_cells();\n latepoint_init_input_masks();\n latepoint_init_process_forms();\n latepoint_init_sticky_side_menu();\n latepoint_init_sortable_columns();\n latepoint_init_accordions();\n latepoint_init_default_form_fields_settings();\n\n jQuery(document).on({\n mouseenter: function () {\n let $elem = jQuery(this);\n let offset = $elem.offset();\n jQuery('body > .late-tooltip').remove();\n let $popup = jQuery('<div/>').addClass('late-tooltip').text($elem.data('late-tooltip')).appendTo(jQuery('body'));\n $popup.css('top', offset.top - 2);\n $popup.css('left', offset.left + $elem.outerWidth() / 2);\n return false;\n },\n mouseleave: function () {\n jQuery('body > .late-tooltip').remove();\n }\n }, \"[data-late-tooltip]\");\n\n jQuery('body').on('click', '.booking-activity-log-panel-close', function(){\n jQuery('.booking-activity-log-panel-w').remove();\n return false;\n });\n\n jQuery('#settings_list_of_phone_countries').on('change', function(){\n if(jQuery(this).val() == latepoint_helper.value_all){\n jQuery('.select-phone-countries-wrapper').hide();\n }else{\n jQuery('.select-phone-countries-wrapper').show();\n }\n });\n\n jQuery('.os-select-all-toggler').on('change', function(){\n var $connection_wrappers = jQuery(this).closest('.white-box').find('.os-complex-connections-selector .connection');\n if(jQuery(this).is(':checked')){\n latepoint_complex_selector_select($connection_wrappers);\n }else{\n latepoint_complex_selector_deselect($connection_wrappers);\n }\n return false;\n });\n\n\n jQuery('.os-main-location-selector').on('change', function(){\n var route = jQuery(this).data('route');\n var params = 'id=' + jQuery(this).val();\n var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n jQuery('.latepoint-content-w').addClass('os-loading');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n location.reload();\n }\n });\n });\n\n jQuery('.os-service-durations-w').on('click', '.os-remove-duration', function(){\n jQuery(this).closest('.duration-box').slideUp(300, function(){\n jQuery(this).remove();\n });\n return false;\n });\n\n\n jQuery('.menu-color-toggler').on('click', function(){\n jQuery('.latepoint-side-menu-w').toggleClass('dark');\n return false;\n });\n\n\n jQuery('.latepoint-mobile-top-menu-trigger').on('click', function(){\n jQuery(this).closest('.latepoint-all-wrapper').toggleClass('os-show-mobile-menu');\n if(jQuery(this).closest('.latepoint-all-wrapper').hasClass('os-show-mobile-menu')){\n jQuery('.latepoint-side-menu-w ul.side-menu > li.has-children > a').on('click', function(){\n jQuery(this).closest('li').toggleClass('menu-item-sub-open-mobile');\n return false;\n });\n }else{\n jQuery('.latepoint-side-menu-w ul.side-menu > li.has-children > a').off('click');\n }\n return false;\n });\n\n jQuery('.latepoint-mobile-top-search-trigger-cancel').on('click', function(){\n jQuery(this).closest('.latepoint-all-wrapper').removeClass('os-show-mobile-search');\n return false;\n });\n\n jQuery('.latepoint-mobile-top-search-trigger').on('click', function(){\n jQuery(this).closest('.latepoint-all-wrapper').toggleClass('os-show-mobile-search');\n if(jQuery(this).closest('.latepoint-all-wrapper').hasClass('os-show-mobile-search')){\n jQuery('.latepoint-top-search').focus();\n }\n return false;\n });\n\n\n jQuery('.latepoint-top-bar-w').on('click', '.top-user-info-toggler', function(){\n jQuery('.latepoint-user-info-dropdown').toggleClass('os-visible');\n return false;\n });\n\n jQuery('.latepoint-content').on('click', '.mobile-calendar-actions-trigger', function(){\n jQuery(this).closest('.calendar-mobile-controls').toggleClass('os-show-actions');\n return false;\n });\n\n jQuery('.latepoint-content').on('click', '.os-widget-header-actions-trigger', function(){\n jQuery(this).closest('.os-widget-header').toggleClass('os-show-actions');\n return false;\n });\n\n jQuery('.latepoint-content').on('click', '.mobile-table-actions-trigger', function(){\n jQuery(this).closest('.os-pagination-w').toggleClass('os-show-actions');\n return false;\n });\n\n\n\n \n\n\n jQuery('.download-csv-with-filters').on('click', function(){\n var filter_params = jQuery(this).closest('.table-with-pagination-w').find('.os-table-filter').serialize();\n filter_params+= '&download=csv';\n jQuery(this).attr('href', this.href + '&' + filter_params);\n });\n\n jQuery('select.pagination-page-select').on('change', function(){\n latepoint_filter_table(jQuery(this).closest('.table-with-pagination-w').find('table'), jQuery(this).closest('.pagination-page-select-w'), false);\n });\n\n jQuery('select.os-table-filter').on('change', function(){\n latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n });\n\n jQuery('input.os-table-filter').on('keyup', function(){\n latepoint_filter_table(jQuery(this).closest('table'), jQuery(this).closest('.os-form-group'));\n });\n\n\n jQuery('.customize-connection-btn').on('click', function(){\n jQuery(this).closest('.connection').toggleClass('show-customize-box');\n return false;\n });\n\n jQuery('.connection-children-list').on('click', 'li', function(){\n if(jQuery(this).hasClass('active')){\n jQuery(this).removeClass('active');\n jQuery(this).find('input.connection-child-is-connected').val('no');\n }else{\n jQuery(this).addClass('active');\n jQuery(this).find('input.connection-child-is-connected').val('yes');\n }\n latepoint_count_active_connections(jQuery(this).closest('.connection'));\n return false;\n });\n\n jQuery('.display-toggler-control').on('change', function(){\n let group = jQuery(this).data('toggler-group');\n let key = jQuery(this).val();\n jQuery('.display-toggler-target[data-toggler-group=\"' + group + '\"]').hide();\n jQuery('.display-toggler-target[data-toggler-group=\"' + group + '\"][data-toggler-key=\"'+ key +'\"]').show();\n return false;\n });\n\n jQuery('.add-item-category-trigger').on('click', function(){\n jQuery('.add-item-category-box').toggle();\n jQuery('.os-new-item-category-form-w').toggle();\n return false;\n });\n\n jQuery('.latepoint-top-search').on('keyup', function(event){\n var $wrapper = jQuery(this).closest('.latepoint-top-search-w');\n $wrapper.addClass('os-loading');\n var query = jQuery(this).val();\n if(event.keyCode == 27){\n $wrapper.removeClass('typing');\n jQuery('.latepoint-top-search-results-w').html('');\n jQuery(this).val('');\n $wrapper.removeClass('os-loading');\n return;\n }\n if(query == ''){\n $wrapper.removeClass('typing');\n jQuery('.latepoint-top-search-results-w').html('');\n $wrapper.removeClass('os-loading');\n return;\n }\n var route = jQuery(this).data('route');\n var params = 'query=' + query;\n var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n $wrapper.addClass('typing');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n if(!$wrapper.hasClass('typing')) return;\n $wrapper.removeClass('os-loading');\n if(data.status === \"success\"){\n jQuery('.latepoint-top-search-results-w').html(data.message);\n }else{\n // console.log(data.message);\n }\n }\n });\n });\n\n\n\n jQuery('.add-custom-step-btn').on('click', function(e){\n var $step = jQuery('.empty-step-w .step-w').clone();\n var step_name = 'step_' + latepoint_random_text(6);\n var step_order_number = jQuery('.steps-ordering-w .step-w').length;\n $step.find('input[name=\"step[name]\"]').val(step_name);\n $step.find('input[name=\"step[order_number]\"]').val(step_order_number);\n\n $step.addClass('editing').attr('data-step-name', step_name);\n jQuery('.steps-ordering-w').append($step);\n return false;\n });\n\n\n\n jQuery('.appointment-status-selector').on('click', function(e){\n e.stopPropagation();\n });\n\n jQuery('.latepoint-show-license-details').on('click', function(e){\n jQuery(this).closest('.active-license-info').find('.license-info-w').slideToggle(200);\n return false;\n });\n\n jQuery('.aba-button-w').on('click', function(e){\n e.stopPropagation();\n var confirm_message = (jQuery(this).hasClass('aba-approve')) ? latepoint_helper.approve_confirm : latepoint_helper.reject_confirm;\n if(confirm(confirm_message)){\n var $box = jQuery(this).closest('.appointment-box-large');\n $box.find('.appointment-status-selector select').val(jQuery(this).data('status')).change();\n }\n return false;\n });\n\n\n\n jQuery('.appointment-status-selector select').on('change', function(e){\n var $wrapper = jQuery(this).closest('.appointment-status-selector');\n var route = $wrapper.data('route');\n var nonce = $wrapper.data('wp-nonce');\n var booking_id = $wrapper.data('booking-id');\n var status = jQuery(this).val();\n jQuery(this).closest('.appointment-box-large').attr('class', 'appointment-box-large status-' + status);\n var params = 'id=' + booking_id + '&status=' + status + '&_wpnonce=' + nonce;\n var data = { action: latepoint_helper.route_action, route_name: route, params: params, layout: 'none', return_format: 'json' };\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n if(data.status === \"success\"){\n latepoint_add_notification(data.message);\n }else{\n latepoint_add_notification(data.message, 'error');\n // console.log(data.message);\n }\n }\n });\n });\n\n jQuery('body').on('click', '.open-template-variables-panel', function(){\n jQuery('.latepoint-template-variables').toggleClass('is-visible');\n return false;\n });\n\n jQuery('body').on('click', '.close-template-variables-panel', function(){\n jQuery('.latepoint-template-variables').removeClass('is-visible');\n return false;\n });\n\n jQuery('body').on('click', '.open-layout-template-variables-panel', function(){\n jQuery('.latepoint-layout-template-variables').toggleClass('is-visible');\n return false;\n });\n\n jQuery('body').on('click', '.close-layout-template-variables-panel', function(){\n jQuery('.latepoint-layout-template-variables').removeClass('is-visible');\n return false;\n });\n\n jQuery('body').on('click', '.os-notifications .os-notification-close', function(){\n jQuery(this).closest('.item').remove();\n return false;\n });\n\n\n jQuery('body').on('keyup', '.os-form-group .os-form-control', function(){\n if(jQuery(this).val()){\n jQuery(this).closest('.os-form-group').addClass('has-value');\n }else{\n jQuery(this).closest('.os-form-group').removeClass('has-value');\n }\n });\n\n\n\n jQuery('.os-wizard-setup-w, .latepoint-settings-w, .custom-schedule-wrapper').on('click', '.ws-head', function(){\n var $schedule_wrapper = jQuery(this).closest('.weekday-schedule-w');\n $schedule_wrapper.toggleClass('is-editing').removeClass('day-off');\n $schedule_wrapper.find('.os-toggler').removeClass('off');\n $schedule_wrapper.find('input.is-active').val(1);\n });\n\n\n jQuery('.latepoint').on('click', '.wizard-add-edit-item-trigger', function(e){\n jQuery(this).addClass('os-loading');\n var add_item_route_name = jQuery(this).data('route');\n var item_info = { };\n if(jQuery(this).data('id')){\n item_info.id = jQuery(this).data('id');\n }\n var data = { action: latepoint_helper.route_action, route_name: add_item_route_name, params: item_info, layout: 'none', return_format: 'json' };\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n jQuery('.wizard-add-edit-item-trigger.os-loading').removeClass('os-loading');\n if(data.status === \"success\"){\n jQuery('.os-wizard-step-content-i').html(data.message);\n jQuery('.os-wizard-setup-w').addClass('is-sub-editing');\n jQuery('.os-wizard-footer').hide();\n latepoint_init_wizard_content();\n }else{\n // console.log(data.message);\n }\n }\n });\n });\n\n\n\n\n // WIZARD NEXT BUTTON CLICK LOGIC\n jQuery('.latepoint').on('click', '.os-wizard-next-btn', function(){\n var $next_btn = jQuery(this);\n $next_btn.addClass('os-loading');\n var current_step = jQuery('#wizard_current_step').val();\n var params = 'current_step='+current_step;\n if(jQuery('.os-wizard-setup-w form.weekday-schedules-w').length){\n params+= '&'+ jQuery('.os-wizard-setup-w form.weekday-schedules-w .weekday-schedule-w:not(.day-off) input').serialize();\n }\n var data = { action: latepoint_helper.route_action, route_name: jQuery(this).data('route-name'), params: params, layout: 'none', return_format: 'json'};\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $next_btn.removeClass('os-loading');\n if(data.status === \"success\"){\n jQuery('#wizard_current_step').val(data.step_name);\n jQuery('.os-wizard-setup-w').attr('class', 'os-wizard-setup-w step-' + data.step_name);\n jQuery('.os-wizard-step-content').html(data.message);\n latepoint_init_wizard_content();\n if(data.show_prev_btn){\n jQuery('.os-wizard-prev-btn').show();\n }else{\n jQuery('.os-wizard-prev-btn').hide();\n }\n if(data.show_next_btn){\n jQuery('.os-wizard-next-btn').show();\n }else{\n jQuery('.os-wizard-next-btn').hide();\n }\n if(!data.show_next_btn && !data.show_prev_btn){\n jQuery('.os-wizard-footer').hide();\n }else{\n jQuery('.os-wizard-footer').show();\n }\n }\n }\n });\n return false;\n });\n\n // WIZARD PREV BUTTON CLICK LOGIC\n jQuery('.latepoint').on('click', '.os-wizard-prev-btn', function(){\n var $prev_btn = jQuery(this);\n $prev_btn.addClass('os-loading');\n var current_step = jQuery('#wizard_current_step').val();\n var params = 'current_step='+current_step;\n var data = { action: latepoint_helper.route_action, route_name: jQuery(this).data('route-name'), params: params, layout: 'none', return_format: 'json'};\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(data){\n $prev_btn.removeClass('os-loading');\n if(data.status === \"success\"){\n jQuery('#wizard_current_step').val(data.step_name);\n jQuery('.os-wizard-setup-w').attr('class', 'os-wizard-setup-w step-' + data.step_name);\n jQuery('.os-wizard-step-content').html(data.message);\n latepoint_init_wizard_content();\n if(data.show_prev_btn){\n jQuery('.os-wizard-prev-btn').show();\n }else{\n jQuery('.os-wizard-prev-btn').hide();\n }\n if(data.show_next_btn){\n jQuery('.os-wizard-next-btn').show();\n }else{\n jQuery('.os-wizard-next-btn').hide();\n }\n if(!data.show_next_btn && !data.show_prev_btn){\n jQuery('.os-wizard-footer').hide();\n }else{\n jQuery('.os-wizard-footer').show();\n }\n }\n }\n });\n return false;\n });\n\n jQuery('.latepoint-content-w').on('change', '.os-widget .os-trigger-reload-widget', function(){\n latepoint_reload_widget(jQuery(this).closest('.os-widget'));\n });\n\n jQuery('.latepoint-content-w').on('click', '.os-widget .timeline-type-toggle .timeline-type-option', function(){\n jQuery(this).closest('.timeline-type-toggle').find('.timeline-type-option.active').removeClass('active');\n jQuery(this).addClass('active');\n jQuery('.timeline-and-availability-contents').removeClass('shows-appointments shows-availability').addClass('shows-' + jQuery(this).data('value'));\n jQuery('#' + jQuery(this).closest('.timeline-type-toggle').data('value-holder-id')).val(jQuery(this).data('value'));\n });\n\n\n dragula([].slice.apply(document.querySelectorAll('.os-categories-ordering-w .os-category-children')), {\n moves: function (el, container, handle) {\n return (handle.classList.contains('os-category-drag') || handle.classList.contains('os-category-item-drag'));\n },\n }).on('drop', function(el){\n var $categories_wrapper = jQuery('.os-categories-ordering-w');\n var category_datas = [];\n var item_datas = [];\n\n $categories_wrapper.find('.os-category-parent-w').each(function(index){\n var order_number = jQuery(this).index() + 1;\n var parent_id = jQuery(this).parent().closest('.os-category-parent-w').data('id') || 0;\n category_datas.push({id: jQuery(this).data('id'), order_number: order_number, parent_id: parent_id});\n });\n $categories_wrapper.find('.item-in-category-w').each(function(index){\n var item_order_number = jQuery(this).index() + 1;\n var category_id = jQuery(this).closest('.os-category-parent-w').data('id') || 0;\n item_datas.push({id: jQuery(this).data('id'), order_number: item_order_number, category_id: category_id});\n });\n latepoint_recalculate_items_count_in_category();\n var data = { action: latepoint_helper.route_action, route_name: $categories_wrapper.data('category-order-update-route'), params: {category_datas: category_datas, item_datas: item_datas}, return_format: 'json' }\n $categories_wrapper.addClass('os-loading');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $categories_wrapper.removeClass('os-loading');\n if(response.status === \"success\"){\n // latepoint_add_notification(response.message);\n }else{\n alert(response.message);\n }\n }\n });\n });\n\n\n // Universal re-ordering dragging for form blocks\n dragula([jQuery('.os-draggable-form-blocks')[0]], {\n moves: function (el, container, handle) {\n return handle.classList.contains('os-form-block-drag');\n },\n }).on('drop', function(el){\n var blocks_order_data = {};\n var $draggable_form_blocks_wrapper = jQuery('.os-draggable-form-blocks');\n $draggable_form_blocks_wrapper.find('.os-form-block').each(function(index){\n var new_order_number = jQuery(this).index() + 1;\n var $block_model_id = jQuery(this).find('.os-form-block-id');\n if($block_model_id.length && $block_model_id.val()) blocks_order_data[$block_model_id.val()] = new_order_number;\n });\n var data = { action: latepoint_helper.route_action,\n route_name: $draggable_form_blocks_wrapper.data('order-update-route'),\n params: {ordered_fields: blocks_order_data,\n fields_for: $draggable_form_blocks_wrapper.data('fields-for')},\n return_format: 'json' } \n $draggable_form_blocks_wrapper.addClass('os-loading');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $draggable_form_blocks_wrapper.removeClass('os-loading');\n }\n });\n });\n\n // Steps Order Dragging\n dragula([jQuery('.steps-ordering-w')[0]], {\n moves: function (el, container, handle) {\n return handle.classList.contains('step-drag');\n },\n }).on('drop', function(el){\n var step_order_data = {};\n var $steps_wrapper = jQuery('.steps-ordering-w');\n $steps_wrapper.find('.step-w').each(function(index){\n var new_order_number = jQuery(this).index() + 1;\n jQuery(this).data('step-order-number', new_order_number);\n jQuery(this).find('input[name=\"step[order_number]\"]').val(new_order_number);\n step_order_data[jQuery(this).data('step-name')] = new_order_number;\n });\n var data = { action: latepoint_helper.route_action, route_name: $steps_wrapper.data('step-order-update-route'), params: {steps: step_order_data}, return_format: 'json' }\n $steps_wrapper.addClass('os-loading');\n jQuery.ajax({\n type : \"post\",\n dataType : \"json\",\n url : latepoint_helper.ajaxurl,\n data : data,\n success: function(response){\n $steps_wrapper.removeClass('os-loading');\n }\n });\n });\n\n jQuery('body.latepoint-admin').on('click', '.os-category-edit-btn, .os-category-edit-cancel-btn, .os-category-w .os-category-name', function(){\n jQuery(this).closest('.os-category-w').toggleClass('editing');\n return false;\n });\n\n jQuery('body.latepoint-admin').on('click', '.step-edit-btn, .step-edit-cancel-btn, .step-w .step-head', function(){\n jQuery(this).closest('.step-w').toggleClass('editing');\n return false;\n });\n \n jQuery('body.latepoint-admin').on('click', '.agent-info-change-agent-btn', function(){\n jQuery(this).closest('.agent-info-w').removeClass('selected').addClass('selecting');\n return false;\n });\n \n jQuery('body.latepoint-admin').on('click', '.agent-info-change-agent-btn', function(){\n jQuery(this).closest('.agent-info-w').removeClass('selected').addClass('selecting');\n return false;\n });\n \n\n jQuery('body.latepoint-admin').on('click', '.customer-info-create-btn', function(){\n jQuery(this).closest('.customer-info-w').removeClass('selecting').addClass('selected');\n return false;\n });\n\n jQuery('body.latepoint-admin').on('click', '.customer-info-load-btn', function(){\n jQuery(this).closest('.customer-info-w').removeClass('selected').addClass('selecting').find('.customers-selector-search-input').focus();\n return false;\n });\n\n jQuery('body.latepoint-admin').on('click', '.customers-selector-cancel', function(){\n jQuery(this).closest('.customer-info-w').removeClass('selecting').addClass('selected ');\n jQuery('.customers-options-list .customer-option').show();\n jQuery('.customers-selector-search-input').val('');\n return false;\n });\n\n // CUSTOMER SELECTOR\n\n // SERVICES SELECTOR\n jQuery('body.latepoint-admin').on('click', '.os-services-select-field-w .service-option-selected', function(){\n var $select = jQuery(this).closest('.os-services-select-field-w');\n if($select.hasClass('active')){\n $select.removeClass('active');\n }else{\n $select.addClass('active').find('input').focus();\n }\n return false;\n });\n\n jQuery('body.latepoint-admin').on('click', '.os-services-select-field-w service-option-selected', function(){\n\n return false;\n });\n\n\n jQuery('body.latepoint-admin').on('keyup', '.service-options-filter-input', function(){\n var $list = jQuery(this).closest('.services-options-list');\n var text = jQuery(this).val().toLowerCase();\n $list.find('.service-option').hide();\n\n // Search \n $list.find('.service-option').each(function(){\n\n if(jQuery(this).text().toLowerCase().indexOf(\"\"+text+\"\") != -1 ){\n jQuery(this).show();\n }\n });\n return false;\n });\n\n\n jQuery('.calendar-week-agent-w').on('click', '.calendar-load-target-date', function(event){\n jQuery(this).addClass('os-loading');\n latepoint_reload_week_view_calendar(jQuery(this).data('target-date'));\n return false;\n });\n\n jQuery('.calendar-week-agent-w').on('change', '.cc-availability-toggler #overlay_service_availability', function(event){\n if(jQuery(this).val() == 'on'){\n jQuery('.calendar-week-agent-w .cc-service-selector').show();\n }else{\n jQuery('.calendar-week-agent-w .cc-service-selector').hide();\n }\n latepoint_reload_week_view_calendar();\n });\n\n\n jQuery('.calendar-week-agent-w').on('change', '.trigger-weekly-calendar-reload', function(event){\n latepoint_reload_week_view_calendar();\n return false;\n });\n\n jQuery('.latepoint-admin').on('click', '.os-complex-connections-selector .selector-trigger', function(){\n var $connection_wrapper = jQuery(this).closest('.connection');\n if($connection_wrapper.hasClass('active')){\n latepoint_complex_selector_deselect($connection_wrapper);\n jQuery(this).closest('.white-box').find('.os-select-all-toggler').prop('checked', false);\n }else{\n latepoint_complex_selector_select($connection_wrapper);\n }\n return false;\n });\n\n jQuery('.latepoint-admin').on('click', '.os-agents-selector .agent', function(){\n if(jQuery(this).hasClass('active')){\n jQuery(this).removeClass('active');\n jQuery(this).find('.connection-child-is-connected').val('no');\n }else{\n jQuery(this).addClass('active');\n jQuery(this).find('.connection-child-is-connected').val('yes');\n }\n return false;\n });\n\n jQuery('.latepoint-admin').on('click', '.os-services-selector .service', function(){\n if(jQuery(this).hasClass('active')){\n jQuery(this).removeClass('active');\n jQuery(this).find('.connection-child-is-connected').val('no');\n }else{\n jQuery(this).addClass('active');\n jQuery(this).find('.connection-child-is-connected').val('yes');\n }\n return false;\n });\n\n jQuery('.latepoint-admin').on( 'click', '.os-form-toggler-group', function( event ){\n jQuery(this).find('.os-toggler').trigger('click');\n return false;\n });\n\n jQuery('.latepoint-admin').on( 'click', '.os-toggler', function( event ){\n let $toggler = jQuery(this);\n if($toggler.data('confirm')){\n if(!confirm($toggler.data('confirm'))) return false;\n }\n if($toggler.hasClass('on')){\n $toggler.removeClass('on').addClass('off');\n }else{\n $toggler.removeClass('off').addClass('on');\n }\n if($toggler.data('for')){\n if($toggler.hasClass('os-toggler-radio')){\n // radio\n // uncheck all radio buttons with the same name\n let $radio = jQuery('#' + $toggler.data('for'));\n jQuery('input[type=\"radio\"][name=\"'+ $radio.prop('name') + '\"]:checked').each(function(index){\n let toggle_content_id = jQuery(this).prop('checked', false).closest('.os-toggler-w').find('.os-toggler.on').removeClass('on').addClass('off').data('controlled-toggle-id');\n jQuery('#'+ toggle_content_id).hide();\n console.log('unchecked');\n });\n $radio.prop('checked', !$toggler.hasClass('off'));\n }else{\n var $hiddenInput = jQuery('input[type=\"hidden\"]#' + $toggler.data('for'));\n if($hiddenInput.length){\n // hidden input\n if($toggler.data('is-string-value')){\n $hiddenInput.val($toggler.hasClass('off') ? 'off' : 'on').trigger('change');\n }else{\n $hiddenInput.val($toggler.hasClass('off') ? 0 : 1).trigger('change');\n }\n }else{\n // checkbox\n jQuery('#' + $toggler.data('for')).prop('checked', !$toggler.hasClass('off'));\n }\n }\n }\n if($toggler.data('controlled-toggle-id')){\n if($toggler.hasClass('off')){\n jQuery('#' + $toggler.data('controlled-toggle-id')).hide();\n }else{\n jQuery('#' + $toggler.data('controlled-toggle-id')).show();\n }\n }\n $toggler.trigger('ostoggler:toggle');\n return false;\n });\n\n\n\n // UPLOAD/REMOVE IMAGE LINK LOGIC\n jQuery('.latepoint-admin').on( 'click', '.os-image-selector-trigger', function( event ){\n var frame;\n\n event.preventDefault();\n\n var $image_uploader_trigger = jQuery(this);\n var $image_selector_w = jQuery(this).closest('.os-image-selector-w');\n var $image_container = $image_selector_w.find('.os-image-container');\n var $image_id_holder = $image_selector_w.find('.os-image-id-holder');\n\n var image_exists = $image_container.find('img').length;\n\n if(image_exists){\n $image_id_holder.val('');\n $image_container.removeClass('has-image');\n $image_container.html('');\n $image_uploader_trigger.find('.os-text-holder').text($image_uploader_trigger.data('label-set-str'));\n }else{\n // If the media frame already exists, reopen it.\n if ( frame ) {\n frame.open();\n return false;\n }\n \n // Create a new media frame\n frame = wp.media({\n title: 'Select or Upload Media',\n button: { text: 'Use this media' },\n multiple: false\n });\n\n frame.on( 'select', function() {\n var attachment = frame.state().get('selection').first().toJSON();\n $image_container.append( '<img src=\"'+attachment.url+'\" alt=\"\"/>' );\n $image_id_holder.val( attachment.id );\n $image_container.addClass('has-image');\n $image_uploader_trigger.find('.os-text-holder').text($image_uploader_trigger.data('label-remove-str'));\n });\n\n frame.open();\n }\n \n return false;\n });\n\n\n\n jQuery('body').on('click', '.latepoint-lightbox-close', function(){\n latepoint_lightbox_close();\n return false;\n });\n\n\n jQuery('body').on('click', '.latepoint-side-panel-close-trigger', function(){\n jQuery('.latepoint-side-panel-w').remove();\n return false;\n });\n\n\n jQuery('body').on('click', '.latepoint-quick-availability-close', function(){\n jQuery('.quick-availability-per-day-w').remove();\n return false;\n });\n \n\n\n jQuery('body.latepoint-admin').on('click', '.time-ampm-select', function(){\n jQuery(this).closest('.time-ampm-w').find('.active').removeClass('active');\n jQuery(this).addClass('active');\n var ampm_value = jQuery(this).data('ampm-value');\n jQuery(this).closest('.os-time-group').find('.ampm-value-hidden-holder').val(ampm_value);\n if(jQuery(this).closest('.quick-start-time-w').length){\n // if called from quick edit form - we need to make sure it accurately changes time to next day if end time is earlier than start time\n latepoint_set_booking_end_time();\n latepoint_is_next_day();\n }\n return false;\n });\n\n\n jQuery('body.latepoint-admin').on('click', '.latepoint-lightbox-shadow', function(){\n latepoint_lightbox_close();\n return false;\n });\n\n jQuery('body.latepoint-admin').on('click', '.latepoint-side-panel-shadow', function(){\n jQuery('.latepoint-side-panel-w').remove();\n return false;\n });\n\n // SCHEDULE\n\n jQuery('body.latepoint-admin').on('click', '.ws-period-remove', function(e){\n jQuery(this).closest('.ws-period').remove();\n return false;\n });\n\n\n jQuery('.latepoint-admin').on( 'click', '.weekday-schedule-w .os-toggler', function( event ){\n if(jQuery(this).hasClass('off')){\n jQuery(this).closest('.weekday-schedule-w').addClass('day-off').removeClass('is-editing').find('input.is-active').val(0);\n }else{\n jQuery(this).closest('.weekday-schedule-w').removeClass('day-off').addClass('is-editing').find('input.is-active').val(1);\n }\n return false;\n });\n\n \n\n});"]}