%PDF- %PDF-
Direktori : /var/www/html/ceaa/wp-content/plugins/wp-events-manager/assets/js/frontend/ |
Current File : /var/www/html/ceaa/wp-content/plugins/wp-events-manager/assets/js/frontend/events.js |
(function ($) { var TP_Event_Frontend = { init : function () { var $doc = $(document); /** * load register form */ $doc.on('click', '.event-load-booking-form', this.load_form_register); $doc.on('submit', 'form.event_register:not(.active)', this.book_event_form); /** * Sanitize form field */ this.sanitize_form_field(); $doc.on('submit', '#event-lightbox .event-auth-form', this.ajax_login); }, load_form_register : function (e) { e.preventDefault(); var _this = $(this), _event_id = _this.attr('data-event'); $.ajax({ url : WPEMS.ajaxurl, type : 'POST', dataType : 'html', async : false, data : { event_id: _event_id, nonce : WPEMS.register_button, action : 'load_form_register' }, beforeSend: function () { _this.append('<i class="event-icon-spinner2 spinner"></i>'); } }) .always(function () { _this.find('.event-icon-spinner2').remove(); }) .done(function (html) { TP_Event_Frontend.lightbox(html); }) .fail(function () { }); return false; }, /** * Ajax action register form * @returns boolean */ book_event_form : function (e) { e.preventDefault(); var _self = $(this), _data = _self.serializeArray(), button = _self.find('button[type="submit"]'), _notices = _self.find('.tp-event-notice'); $.ajax({ url : WPEMS.ajaxurl, type : 'POST', data : _data, dataType : 'json', beforeSend: function () { _notices.slideUp().remove(); button.addClass('event-register-loading'); _self.addClass('active'); } }).done(function (res) { button.removeClass('event-register-loading'); if (typeof res.status === 'undefined') { TP_Event_Frontend.set_message(_self, WPEMS.something_wrong); return; } if (res.status === true && typeof res.url !== 'undefined' && res.url !== '') { window.location.href = res.url; } if (res.status === true && res.url == '' && typeof res.event !== 'undefined') { $.magnificPopup.close(); $('.woocommerce-message').hide(); setTimeout(function () { $('.entry-register, .event_register_foot').append( '<div class="woocommerce-message">' + WPEMS.woo_cart_url + '<p>' + '“' + res.event + '”' + WPEMS.add_to_cart + '</p>' + '</div>' ) }, 100); } if (typeof res.message !== 'undefined') { TP_Event_Frontend.set_message(_self, res.message); return; } }).fail(function () { button.removeClass('event-register-loading'); TP_Event_Frontend.set_message(_self, WPEMS.something_wrong); return; }).always(function () { _self.removeClass('active'); }); // button.removeClass('event-register-loading'); return false; }, set_message : function (form, message) { var html = '<div class="tp-event-notice error">'; html += '<div class="event_auth_register_message_error">' + message + '</div>'; html += '</div>'; form.find('.event_register_foot').append(html); }, /** * sanitize form field * @returns null */ sanitize_form_field: function () { var _form_fields = $('.form-row.form-required'); for (var i = 0; i < _form_fields.length; i++) { var field = $(_form_fields[i]), input = field.find('input'); input.on('blur', function (e) { e.preventDefault(); var _this = $(this), _form_row = _this.parents('.form-row:first'); if (!_form_row.hasClass('form-required')) return; if (_this.val() == '') { _form_row.removeClass('validated').addClass('has-error'); } else { _form_row.removeClass('has-error').addClass('validated'); } }); } }, lightbox : function (content) { var html = []; html.push('<div id="event-lightbox">'); html.push(content); html.push('</div>'); $.magnificPopup.open({ items : { type: 'inline', src : $(html.join('')) }, mainClass: 'event-lightbox-wrap', callbacks: { open : function () { var lightbox = $('#event-lightbox'); lightbox.addClass('event-fade'); var timeout = setTimeout(function () { lightbox.addClass('event-in'); clearTimeout(timeout); TP_Event_Frontend.sanitize_form_field(); }, 100); }, close: function () { var lightbox = $('#event-lightbox'); lightbox.remove(); } } }); }, ajax_login : function (e) { e.preventDefault(); var _this = $(this), _button = _this.find('#wp-submit'), _lightbox = $('#event-lightbox'), _data = _this.serializeArray(); $.ajax({ url : WPEMS.ajaxurl, type : 'POST', data : _data, async : false, beforeSend: function () { // setTimeout( function(){ _lightbox.find('.tp-event-notice').slideUp().remove(); // } ); _button.addClass('event-register-loading'); } }).always(function () { _button.find('.event-icon-spinner2').remove(); }).done(function (res) { if (typeof res.notices !== 'undefined') { _this.before(res.notices); } if (typeof res.status !== 'undefined' && res.status === true) { if (typeof res.redirect !== 'undefined' && res.redirect) { window.location.href = res.redirect; } else { window.location.reload(); } } }).fail(function (jqXHR, textStatus, errorThrown) { var html = '<ul class="tp-event-notice error">'; html += '<li>' + jqXHR + '</li>'; html += '</ul>'; _this.before(res.notices); }); return false; } }; $(document).ready(function () { TP_Event_Frontend.init(); // countdown each var counts = $('.tp_event_counter'); for (var i = 0; i < counts.length; i++) { var time = $(counts[i]).attr('data-time'); time = new Date(time); var current_time = new Date(time - WPEMS.gmt_offset * 60 * 60 * 1000); $(counts[i]).countdown({ labels : WPEMS.l18n.labels, labels1 : WPEMS.l18n.labels1, until : current_time, serverSync: WPEMS.current_time }); } // owl-carausel var carousels = $('.tp_event_owl_carousel'); for (var i = 0; i < carousels.length; i++) { var data = $(carousels[i]).attr('data-countdown'); var options = { navigation : true, // Show next and prev buttons slideSpeed : 300, paginationSpeed: 400, singleItem : true }; if (typeof data !== 'undefined') { data = JSON.parse(data); $.extend(options, data); $.each(options, function (k, v) { if (v === 'true') { options[k] = true; } else if (v === 'false') { options[k] = false; } }); } if (typeof options.slide === 'undefined' || options.slide === true) { $(carousels[i]).owlCarousel(options); } else { $(carousels[i]).removeClass('owl-carousel'); } } }); })(jQuery);