Initial Commit N° : 001 - V.4.3.3
This commit is contained in:
@@ -0,0 +1,546 @@
|
||||
/* Document ready */
|
||||
jQuery(document).ready(function($) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Check if a node is blocked for processing.
|
||||
*
|
||||
* @param {JQuery Object} $node
|
||||
* @return {bool} True if the DOM Element is UI Blocked, false if not.
|
||||
*/
|
||||
var mini_cart_ext_is_blocked = function($node) {
|
||||
return $node.is('.processing') || $node.parents('.processing').length;
|
||||
};
|
||||
|
||||
/**
|
||||
* Block a node visually for processing.
|
||||
*
|
||||
* @param {JQuery Object} $node
|
||||
*/
|
||||
var mini_cart_ext_block = function($node) {
|
||||
$('body').trigger('nasa_publish_coupon_refresh');
|
||||
|
||||
if (!mini_cart_ext_is_blocked($node)) {
|
||||
var $color = $('body').hasClass('nasa-dark') ? '#000' : '#fff';
|
||||
|
||||
$node.addClass('processing').block({
|
||||
message: null,
|
||||
overlayCSS: {
|
||||
background: $color,
|
||||
opacity: 0.6
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Unblock a node after processing is complete.
|
||||
*
|
||||
* @param {JQuery Object} $node
|
||||
*/
|
||||
var mini_cart_ext_unblock = function($node) {
|
||||
$node.removeClass('processing').unblock();
|
||||
|
||||
if ($node.find('.nasa-close-node').length) {
|
||||
$node.find('.nasa-close-node').trigger('click');
|
||||
}
|
||||
|
||||
$('body').trigger('nasa_publish_coupon_refresh');
|
||||
|
||||
if ($('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').length) {
|
||||
$('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').trigger('change');
|
||||
$(document.body).trigger('country_to_state_changed'); // Trigger select2 to load.
|
||||
}
|
||||
};
|
||||
|
||||
var mini_cart_ext_url = function(endpoint) {
|
||||
return ext_mini_cart_params.wc_ajax_url.toString().replace('%%endpoint%%', endpoint);
|
||||
};
|
||||
|
||||
/**
|
||||
* Show mess
|
||||
* @param {type} mess
|
||||
* @returns {undefined}
|
||||
*/
|
||||
var _ext_remove_mess;
|
||||
var mini_cart_ext_mess = function(mess) {
|
||||
$('.ext-mini-cart-wrap .mess-wrap').remove();
|
||||
$('.ext-mini-cart-wrap').append('<div class="mess-wrap">' + mess + '</div>');
|
||||
|
||||
if (_ext_remove_mess) {
|
||||
clearTimeout(_ext_remove_mess);
|
||||
}
|
||||
|
||||
_ext_remove_mess = setTimeout(function() {
|
||||
$('.ext-mini-cart-wrap .mess-wrap').remove();
|
||||
}, 5000);
|
||||
};
|
||||
|
||||
$('body').on('nasa_opened_cart_sidebar', function() {
|
||||
if (!$('body').hasClass('canvas-on')) {
|
||||
$('body').addClass('canvas-on');
|
||||
}
|
||||
|
||||
$('body').trigger('ns_render_ext_mini_cart_nonce');
|
||||
$('body').trigger('nasa_publish_coupon_refresh');
|
||||
});
|
||||
|
||||
$('body').on('nasa_after_close_fog_window', function() {
|
||||
$('body').removeClass('canvas-on');
|
||||
});
|
||||
|
||||
/**
|
||||
* Close Node
|
||||
*/
|
||||
$('body').on('click', '.nasa-close-node', function() {
|
||||
var _cart = $(this).parents('.nasa-static-sidebar');
|
||||
var _node = $(this).parents('.ext-node');
|
||||
|
||||
if($(this).parents('.ns-cart-popup-wrap').length) {
|
||||
_cart = $(this).parents('.ns-cart-popup');
|
||||
}
|
||||
|
||||
if ($(_cart).length) {
|
||||
$(_cart).removeClass('ext-loading');
|
||||
}
|
||||
|
||||
if ($(_node).length) {
|
||||
$(_node).removeClass('active');
|
||||
}
|
||||
|
||||
if ($(_node).hasClass('mini-cart-change-variation')) {
|
||||
nasa_quick_viewimg = false;
|
||||
setTimeout(function(){
|
||||
$(_node).find('.product-lightbox').remove();
|
||||
},100);
|
||||
}
|
||||
|
||||
$(_cart).find('.close-nodes').remove();
|
||||
});
|
||||
|
||||
/**
|
||||
* Global Close
|
||||
*/
|
||||
$('body').on('click', '.nasa-static-sidebar .close-nodes, .ns-cart-popup .close-nodes', function() {
|
||||
var _wrap = $(this).parents('.ns-cart-popup-wrap').length ? $(this).parents('.ns-cart-popup') : $(this).parents('.nasa-static-sidebar');;
|
||||
var _close = $(_wrap).find('.ext-nodes-wrap .ext-node.active .nasa-close-node');
|
||||
|
||||
if ($(_close).length) {
|
||||
$(_close).trigger('click');
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Open ext mini cart
|
||||
*/
|
||||
$('body').on('click', '.ext-mini-cart', function() {
|
||||
var _act = $(this).attr('data-act'),
|
||||
_cart = $(this).parents('.nasa-static-sidebar');
|
||||
|
||||
if($(this).parents('.ns-cart-popup-wrap').length) {
|
||||
_cart = $(this).parents('.ns-cart-popup');
|
||||
}
|
||||
|
||||
if ($(_cart).find('.ext-mini-cart-wrap').length && !$(_cart).find('.ext-mini-cart-wrap').hasClass('nasa-disable')) {
|
||||
|
||||
if (!$('body').hasClass('canvas-on')) {
|
||||
$('body').addClass('canvas-on');
|
||||
}
|
||||
|
||||
if (!$(_cart).hasClass('ext-loading')) {
|
||||
$(_cart).addClass('ext-loading');
|
||||
}
|
||||
|
||||
if ($(_cart).find('.close-nodes').length < 1) {
|
||||
$(_cart).append('<a href="javascript:void(0);" class="close-nodes"></a>');
|
||||
}
|
||||
|
||||
$(_cart).find('.ext-nodes-wrap .ext-node').removeClass('active');
|
||||
|
||||
if ($(_cart).find('.ext-nodes-wrap .ext-node.mini-cart-' + _act).length) {
|
||||
$(_cart).find('.ext-nodes-wrap .ext-node.mini-cart-' + _act).addClass('active');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* ext mini cart Note
|
||||
*/
|
||||
$('body').on('click', '#mini-cart-save_note', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var _this = $(this);
|
||||
var _wnote = $(_this).parents('.ext-node');
|
||||
|
||||
if (!$(_this).hasClass('nasa-disable')) {
|
||||
$(_this).addClass('nasa-disable');
|
||||
|
||||
var _wrap = $(_this).parents('.nasa-static-sidebar');
|
||||
if ($(_wrap).length < 1) {
|
||||
_wrap = $(_this).parents('.widget_shopping_cart_content');
|
||||
}
|
||||
|
||||
var _note = $('.mini-cart-note textarea[name="order_comments"]').val();
|
||||
|
||||
mini_cart_ext_block(_wrap);
|
||||
|
||||
$(_wnote).removeClass('active');
|
||||
|
||||
$.ajax({
|
||||
url: mini_cart_ext_url('nasa_mini_cart_note'),
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
data: {
|
||||
order_comments: _note
|
||||
},
|
||||
success: function(data) {
|
||||
$('#cart-sidebar').find('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove();
|
||||
$(_this).removeClass('nasa-disable');
|
||||
|
||||
if (data) {
|
||||
if (data.fragments) {
|
||||
$.each(data.fragments, function(key, value) {
|
||||
if ($(key).length) {
|
||||
$(key).replaceWith(value);
|
||||
}
|
||||
});
|
||||
|
||||
// $('body').trigger('added_to_cart', [data.fragments, data.cart_hash, _this]);
|
||||
$('body').trigger('wc_fragments_refreshed');
|
||||
// $('body').trigger('wc_fragment_refresh');
|
||||
|
||||
/**
|
||||
* notification free shipping
|
||||
*/
|
||||
$('body').trigger('nasa_init_shipping_free_notification');
|
||||
}
|
||||
|
||||
/**
|
||||
* mess
|
||||
*/
|
||||
if (data.mess) {
|
||||
mini_cart_ext_mess(data.mess);
|
||||
}
|
||||
}
|
||||
|
||||
$('body').trigger('mini_cart_mobile_layout_change');
|
||||
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
},
|
||||
complete: function() {
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('wc_fragments_refreshed', function() {
|
||||
if ($('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').length) {
|
||||
$('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').trigger('change');
|
||||
$(document.body).trigger('country_to_state_changed'); // Trigger select2 to load.
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Publish Coupons
|
||||
*/
|
||||
$('body').on('nasa_publish_coupon_refresh', function() {
|
||||
if ($('.mini-cart-coupon .publish-coupon').length) {
|
||||
$('.mini-cart-coupon .publish-coupon').each(function() {
|
||||
var _this = $(this);
|
||||
var _code = $(_this).attr('data-code');
|
||||
|
||||
$(_this).removeClass('nasa-actived');
|
||||
|
||||
if ($('.coupon-wrap[data-code="' + _code + '"]').length) {
|
||||
$(_this).addClass('nasa-actived');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* From Publish Coupon
|
||||
*/
|
||||
$('body').on('click', '.mini-cart-coupon .publish-coupon:not(.nasa-actived)', function() {
|
||||
var _this = (this);
|
||||
var _code = $(_this).attr('data-code');
|
||||
|
||||
if ($('#mini-cart-add-coupon_code').length) {
|
||||
$('#mini-cart-add-coupon_code').val(_code).trigger('change');
|
||||
|
||||
if ($('#mini-cart-apply_coupon').length) {
|
||||
$('#mini-cart-apply_coupon').trigger('click');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Apply Coupon
|
||||
*/
|
||||
$('body').on('click', '#mini-cart-apply_coupon', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var _this = $(this);
|
||||
var _wnote = $(_this).parents('.ext-node');
|
||||
|
||||
var _nonce = $('.mini-cart-ajax-nonce input[name=apply_coupon_nonce]').length ? $('.mini-cart-ajax-nonce input[name=apply_coupon_nonce]').val() : null;
|
||||
|
||||
if (_nonce && !$(_this).hasClass('nasa-disable')) {
|
||||
$(_this).addClass('nasa-disable');
|
||||
|
||||
var _wrap = $(_this).parents('.nasa-static-sidebar');
|
||||
if ($(_wrap).length < 1) {
|
||||
_wrap = $(_this).parents('.widget_shopping_cart_content');
|
||||
}
|
||||
|
||||
var coupon = $('input#mini-cart-add-coupon_code').val();
|
||||
|
||||
if (coupon) {
|
||||
mini_cart_ext_block(_wrap);
|
||||
$(_wnote).removeClass('active');
|
||||
|
||||
var _data = {
|
||||
security: _nonce,
|
||||
coupon_code: coupon
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: mini_cart_ext_url('nasa_mini_cart_apply_coupon'),
|
||||
data: _data,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
$('#cart-sidebar').find('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove();
|
||||
$(_this).removeClass('nasa-disable');
|
||||
|
||||
if (data) {
|
||||
if (data.fragments) {
|
||||
$.each(data.fragments, function(key, value) {
|
||||
if ($(key).length) {
|
||||
$(key).replaceWith(value);
|
||||
}
|
||||
});
|
||||
|
||||
// $('body').trigger('added_to_cart', [data.fragments, data.cart_hash, _this]);
|
||||
$('body').trigger('wc_fragments_refreshed');
|
||||
// $('body').trigger('wc_fragment_refresh');
|
||||
|
||||
/**
|
||||
* notification free shipping
|
||||
*/
|
||||
$('body').trigger('nasa_init_shipping_free_notification');
|
||||
}
|
||||
|
||||
/**
|
||||
* mess
|
||||
*/
|
||||
if (data.mess) {
|
||||
mini_cart_ext_mess(data.mess);
|
||||
}
|
||||
|
||||
$('input#mini-cart-add-coupon_code').val('').trigger('change');
|
||||
}
|
||||
|
||||
$('body').trigger('mini_cart_mobile_layout_change');
|
||||
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
},
|
||||
complete: function() {
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
$(_this).removeClass('nasa-disable');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Remove Coupon
|
||||
*/
|
||||
$('body').on('click', '.widget_shopping_cart_content .woocommerce-remove-coupon', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var _this = $(this);
|
||||
|
||||
var _nonce = $('.mini-cart-ajax-nonce input[name=remove_coupon_nonce]').length ? $('.mini-cart-ajax-nonce input[name=remove_coupon_nonce]').val() : null;
|
||||
|
||||
if (_nonce && !$(_this).hasClass('nasa-disable')) {
|
||||
$(_this).addClass('nasa-disable');
|
||||
|
||||
var _wrap = $(_this).parents('.nasa-static-sidebar');
|
||||
if ($(_wrap).length < 1) {
|
||||
_wrap = $(_this).parents('.widget_shopping_cart_content');
|
||||
}
|
||||
|
||||
mini_cart_ext_block(_wrap);
|
||||
|
||||
var coupon = $(_this).attr('data-coupon');
|
||||
|
||||
var _data = {
|
||||
security: _nonce,
|
||||
coupon: coupon
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: mini_cart_ext_url('nasa_mini_cart_remove_coupon'),
|
||||
data: _data,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
$('#cart-sidebar').find('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove();
|
||||
$(_this).removeClass('nasa-disable');
|
||||
|
||||
if (data) {
|
||||
if (data.fragments) {
|
||||
$.each(data.fragments, function(key, value) {
|
||||
if ($(key).length) {
|
||||
$(key).replaceWith(value);
|
||||
}
|
||||
});
|
||||
|
||||
// $('body').trigger('added_to_cart', [data.fragments, data.cart_hash, _this]);
|
||||
$('body').trigger('wc_fragments_refreshed');
|
||||
// $('body').trigger('wc_fragment_refresh');
|
||||
|
||||
/**
|
||||
* notification free shipping
|
||||
*/
|
||||
$('body').trigger('nasa_init_shipping_free_notification');
|
||||
}
|
||||
|
||||
/**
|
||||
* mess
|
||||
*/
|
||||
if (data.mess) {
|
||||
mini_cart_ext_mess(data.mess);
|
||||
}
|
||||
}
|
||||
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
},
|
||||
complete: function() {
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Calculate Shipping Rate
|
||||
*/
|
||||
$('body').on('click', '.mini-cart-shipping [name="calc_shipping"]', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var _this = $(this);
|
||||
var _wnote = $(_this).parents('.ext-node');
|
||||
|
||||
if (!$(_this).hasClass('nasa-disable')) {
|
||||
$(_this).addClass('nasa-disable');
|
||||
|
||||
var _wrap = $(_this).parents('.nasa-static-sidebar');
|
||||
var $form = $(_this).parents('form');
|
||||
|
||||
mini_cart_ext_block(_wrap);
|
||||
$(_wnote).removeClass('active');
|
||||
|
||||
$('<input />').attr('type', 'hidden')
|
||||
.attr('name', 'calc_shipping')
|
||||
.attr('value', 'x')
|
||||
.appendTo($form);
|
||||
|
||||
var _data = $form.serialize();
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: mini_cart_ext_url('nasa_mini_cart_calculate_shipping'),
|
||||
data: _data,
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
$('#cart-sidebar').find('.woocommerce-error, .woocommerce-message, .woocommerce-info').remove();
|
||||
$(_this).removeClass('nasa-disable');
|
||||
|
||||
if (data) {
|
||||
if (data.fragments) {
|
||||
$.each(data.fragments, function(key, value) {
|
||||
if ($(key).length) {
|
||||
$(key).replaceWith(value);
|
||||
}
|
||||
});
|
||||
|
||||
// $('body').trigger('added_to_cart', [data.fragments, data.cart_hash, _this]);
|
||||
$('body').trigger('wc_fragments_refreshed');
|
||||
// $('body').trigger('wc_fragment_refresh');
|
||||
|
||||
/**
|
||||
* notification free shipping
|
||||
*/
|
||||
$('body').trigger('nasa_init_shipping_free_notification');
|
||||
}
|
||||
|
||||
/**
|
||||
* mess
|
||||
*/
|
||||
if (data.mess) {
|
||||
mini_cart_ext_mess(data.mess);
|
||||
}
|
||||
}
|
||||
|
||||
$('body').trigger('mini_cart_mobile_layout_change');
|
||||
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
},
|
||||
complete: function() {
|
||||
mini_cart_ext_unblock(_wrap);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Refresh nonce code
|
||||
*/
|
||||
var ns_ext_now = Date.now();
|
||||
|
||||
$('body').on('ns_render_ext_mini_cart_nonce', function() {
|
||||
if ($('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').length) {
|
||||
$('#cart-sidebar select.country_to_state, #cart-sidebar input.country_to_state').trigger('change');
|
||||
$(document.body).trigger('country_to_state_changed'); // Trigger select2 to load.
|
||||
}
|
||||
|
||||
var ns_now_click = Date.now();
|
||||
|
||||
/**
|
||||
* Accept with 10 min ago
|
||||
*/
|
||||
if ($('#cart-sidebar .mini-cart-ajax-nonce').length <= 0 && (ns_now_click - ns_ext_now) / 1000 / 60 < 10) {
|
||||
$.ajax({
|
||||
url: mini_cart_ext_url('nasa_ext_cart_ajax_nonce'),
|
||||
type: 'post',
|
||||
dataType: 'json',
|
||||
cache: false,
|
||||
data: {},
|
||||
success: function(data) {
|
||||
if (data) {
|
||||
if (data.fds) {
|
||||
$('#cart-sidebar').append(data.fds);
|
||||
}
|
||||
|
||||
if (data.scalc && $('input#woocommerce-shipping-calculator-nonce').length) {
|
||||
$('input#woocommerce-shipping-calculator-nonce').val(data.scalc);
|
||||
}
|
||||
}
|
||||
},
|
||||
complete: function() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/* End Document Ready */
|
||||
Reference in New Issue
Block a user