284 lines
13 KiB
JavaScript
284 lines
13 KiB
JavaScript
|
|
var ns_minicart_change_html = [];
|
|
|
|
/* Document ready */
|
|
jQuery(document).ready(function($) {
|
|
"use strict";
|
|
$('body').on('click', '.nasa-change_variation_mini_cart:not(.nasa-cart-variation-updating) .mini-cart-item dl.variation', function (e) {
|
|
|
|
nasa_quick_viewimg = true;
|
|
/**
|
|
* Append stylesheet Off Canvas
|
|
*/
|
|
$('body').trigger('nasa_append_style_off_canvas');
|
|
|
|
if (
|
|
typeof nasa_params_quickview !== 'undefined' &&
|
|
typeof nasa_params_quickview.wc_ajax_url !== 'undefined'
|
|
) {
|
|
var _urlAjax = nasa_params_quickview.wc_ajax_url.toString().replace('%%endpoint%%', 'nasa_quick_view');
|
|
var _this = $(this);
|
|
var _product_type = $(_this).attr('data-product_type');
|
|
|
|
if (_product_type === 'woosb' && typeof $(_this).attr('data-href') !== 'undefined') {
|
|
window.location.href = $(_this).attr('data-href');
|
|
}
|
|
|
|
else {
|
|
var _cart = $(_this).parents('.nasa-static-sidebar'),
|
|
_wrap = $(_this).parents('.mini-cart-item'),
|
|
_wishlist = ($(_this).attr('data-from_wishlist') === '1') ? '1' : '0',
|
|
product_id = $(_wrap).attr('data-id-product'),
|
|
_data_cart_item_key = $(_wrap).find('.remove_from_cart_button ').attr('data-cart_item_key'),
|
|
_footer_mini_cart = $(_cart).find('.nasa-minicart-footer'),
|
|
_quantity = $(_wrap).find('.quantity-wrap .quantity .qty').attr('value'),
|
|
_main_img = $(_wrap).find('.nasa-image-cart-item img');
|
|
|
|
var _data = {
|
|
product: product_id,
|
|
nasa_wishlist: _wishlist
|
|
};
|
|
|
|
var _form_change_variation = '<div class="ext-node mini-cart-change-variation"></div>',
|
|
_close ='<a href="javascript:void(0);" title="Close" class="nasa-close-node nasa-stclose" rel="nofollow"></a>';
|
|
|
|
if ((_main_img).length) {
|
|
var _width = $(_main_img).outerWidth();
|
|
var _height = $(_main_img).outerHeight();
|
|
}
|
|
|
|
_data.quickview = 'popup';
|
|
|
|
if ($(_footer_mini_cart).find('.ext-nodes-wrap').length) {
|
|
if ($(_footer_mini_cart).find('.ext-nodes-wrap .mini-cart-change-variation').length <= 0) {
|
|
$(_footer_mini_cart).find('.ext-nodes-wrap').append(_form_change_variation);
|
|
}
|
|
} else {
|
|
$(_footer_mini_cart).append('<div class="ext-nodes-wrap">' + _form_change_variation + '</div>');
|
|
}
|
|
|
|
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>');
|
|
}
|
|
|
|
var _callAjax = true;
|
|
var _change_variation = $(_footer_mini_cart).find('.ext-nodes-wrap .mini-cart-change-variation');
|
|
var _html_mask_load = _close +
|
|
'<div class="ns-mask-load nasa-crazy-load qv-loading padding-left-35 mobile-padding-left-20 mobile-padding-right-20 padding-right-35">' +
|
|
'<div class="product-quickview-img-wrap nasa-flex align-start">' +
|
|
'<div class="product-quickview-img margin-bottom-20" style="height:' + _height + 'px; width:' + _width + 'px;"></div>' +
|
|
'<div class="nasa-quickview-fog">' +
|
|
'<div class="qv-crazy-info">' +
|
|
'<span class="info-1"></span>' +
|
|
'<span class="info-2 margin-top-20"></span>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'<div class="nasa-quickview-fog">' +
|
|
'<div class="qv-crazy-info">' +
|
|
'<span class="info-3 margin-top-20"></span>' +
|
|
'<span class="info-6-2 margin-top-20"></span>' +
|
|
'<span class="info-3 margin-top-20"></span>' +
|
|
'<span class="info-6-2 margin-top-20"></span>' +
|
|
'<span class="info-3 margin-top-20"></span>' +
|
|
'<span class="info-7 nasa-flex margin-top-20">' +
|
|
'<span class="info-7-1"></span>' +
|
|
'<span class="info-7-2"></span>' +
|
|
'</span>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>';
|
|
|
|
$(_change_variation).html(_html_mask_load);
|
|
|
|
setTimeout(function () {
|
|
$(_change_variation).addClass('active');
|
|
}, 100);
|
|
|
|
if (typeof ns_minicart_change_html[product_id] !== 'undefined') {
|
|
_callAjax = false;
|
|
}
|
|
|
|
if (_callAjax) {
|
|
$.ajax({
|
|
url: _urlAjax,
|
|
type: 'post',
|
|
dataType: 'json',
|
|
data: _data,
|
|
cache: false,
|
|
beforeSend: function () {
|
|
if (typeof setMaxHeightQVPU !== 'undefined') {
|
|
clearInterval(setMaxHeightQVPU);
|
|
}
|
|
},
|
|
success: function (response) {
|
|
ns_minicart_change_html[product_id] = response;
|
|
|
|
$(_change_variation).html(_close + '<div class="product-lightbox">' + response.content + '</div>');
|
|
$(_change_variation).find('.product-lightbox .nasa-product-gallery-lightbox').css({'min-height':_height});
|
|
$('body').trigger('init-mini-cart-update-form', [_change_variation, _quantity, _data_cart_item_key, _this]);
|
|
|
|
}
|
|
});
|
|
} else {
|
|
var quicview_obj = ns_minicart_change_html[product_id];
|
|
|
|
$(_change_variation).html(_close + '<div class="product-lightbox">' + quicview_obj.content + '</div>');
|
|
$(_change_variation).find('.product-lightbox .nasa-product-gallery-lightbox').css({'min-height': _height});
|
|
$('body').trigger('init-mini-cart-update-form', [_change_variation, _quantity, _data_cart_item_key, _this]);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
e.preventDefault();
|
|
});
|
|
|
|
|
|
$('body').on('init-mini-cart-update-form', function(e, wrap, _quantity, _data_cart_item_key, _btn) {
|
|
/**
|
|
* Init Gallery image
|
|
*/
|
|
$('body').trigger('nasa_init_product_gallery_lightbox');
|
|
|
|
if ($(wrap).find('.variations_form .quantity .qty').length) {
|
|
$(wrap).find('.variations_form .quantity .qty').val(_quantity).attr({'data-old':_quantity-1});
|
|
}
|
|
|
|
if ($(wrap).find('.variations_form .ns-single-add-btn').length) {
|
|
var _text = $(wrap).parents('.nasa-static-sidebar').find('.nasa-minicart-items').attr('data-text');
|
|
var _ns_infor_variation = $(wrap).find('.variations_form .ns-info-variants');
|
|
|
|
if ($(_ns_infor_variation).length) {
|
|
$(_ns_infor_variation).replaceWith($(_ns_infor_variation).html());
|
|
}
|
|
|
|
$(wrap).find('.variations_form .ns-single-add-btn').attr({'data-quantity': _quantity, 'data-cart_item_key': _data_cart_item_key}).addClass('btn-add-from-minicart').text(_text);
|
|
}
|
|
|
|
var ns_objectsToAppend = [
|
|
$(wrap).find('.product-lightbox .product-info .product_title').clone().addClass('fs-16'),
|
|
$(wrap).find('.product-lightbox .product-info .nasa-single-product-price').clone(),
|
|
$(wrap).find('.variations_form .woocommerce-variation').clone()
|
|
];
|
|
|
|
var variation_bulk_dsct = $(wrap).find('.product-lightbox .product-info .nasa-variation-bulk-dsct');
|
|
|
|
$(wrap).find('.variations_form .variations').append(variation_bulk_dsct);
|
|
|
|
if ($(wrap).find('.product-lightbox .product-quickview-img .ns-price').length <= 0) {
|
|
$(wrap).find('.product-lightbox .product-quickview-img').append('<div class="ns-price flex-column nasa-flex align-start"></div>');
|
|
}
|
|
|
|
$(wrap).find('.product-lightbox .product-quickview-img .ns-price').append(ns_objectsToAppend);
|
|
|
|
$(wrap).find('.product-lightbox .product-quickview-img').removeClass('padding-left-0 padding-right-0');
|
|
|
|
setTimeout(function () {
|
|
if ($('form.cart input[name="quantity"]').length && $('.product-lightbox .ev-dsc-qty').length) {
|
|
$('form.cart input[name="quantity"]').trigger('change');
|
|
}
|
|
}, 10);
|
|
|
|
$('body').trigger('before_init_variations_form');
|
|
|
|
var formLightBox = $('.mini-cart-change-variation .product-lightbox').find('.variations_form');
|
|
|
|
if ($(formLightBox).length) {
|
|
$(formLightBox).find('.single_variation_wrap').hide();
|
|
|
|
$(formLightBox).each(function () {
|
|
var _form_var = $(this);
|
|
$('body').trigger('init_quickview_variations_form', [_form_var]);
|
|
|
|
$(_form_var).find('select').trigger('change');
|
|
|
|
if ($(_form_var).find('.variations select option[selected="selected"]').length) {
|
|
$(_form_var).find('.variations .reset_variations').css({'visibility': 'visible'}).show();
|
|
}
|
|
});
|
|
}
|
|
|
|
var infor_cart_item = $(_btn).parents('.nasa-info-cart-item');
|
|
var data_variations_selected = jQuery.parseJSON($(infor_cart_item).attr('data-variations-selected'));
|
|
|
|
for (var key in data_variations_selected) {
|
|
var _value = data_variations_selected[key];
|
|
|
|
if ($(wrap).find('.variations_form .variations').length) {
|
|
var _pa = $(wrap).find('.variations_form .variations');
|
|
|
|
var _ux = $(_pa).find('td.value .nasa-attr-ux_wrap[data-attribute_name="' + key + '"] a[data-value="' + _value + '"]');
|
|
// console.log(_ux);
|
|
|
|
if ($(_ux).length) {
|
|
if (!$(_ux).hasClass('selected')) {
|
|
$(_ux).trigger('click');
|
|
}
|
|
} else {
|
|
_ux = $(_pa).find('td.value select[data-attribute_name="' + key + '"]');
|
|
$(_ux).val(_value);
|
|
}
|
|
}
|
|
}
|
|
|
|
$('body').trigger('nasa_changed_gallery_variable_quickview');
|
|
$('body').trigger('nasa_after_quickview');
|
|
|
|
});
|
|
|
|
/*
|
|
* Change gallery for variation - Quick view
|
|
*/
|
|
$('body').on('nasa_changed_gallery_variable_quickview', function () {
|
|
var wrap = $('#cart-sidebar .ext-nodes-wrap .mini-cart-change-variation');
|
|
|
|
if ($(wrap).find('.product-quickview-img .nasa-slick-slider').length) {
|
|
var img = $(wrap).find('.product-quickview-img .nasa-slick-slider img:first-child').clone().attr({'class': 'main-img', 'style': 'width:100%;'});
|
|
|
|
if ($(wrap).find('.product-quickview-img .product-img .main-img').length <= 0) {
|
|
$(wrap).find('.product-quickview-img .product-img').prepend(img);
|
|
}else {
|
|
$(wrap).find('.product-quickview-img .product-img .main-img').replaceWith(img);
|
|
}
|
|
}
|
|
|
|
// /loading_slick_element($, true, '.mini-cart-change-variation .product-lightbox');
|
|
});
|
|
|
|
/**
|
|
* Update Quantity mini cart change
|
|
*/
|
|
$('body').on('ns_bulk_discount_changed', function () {
|
|
var wrap = $('#cart-sidebar .ext-nodes-wrap .mini-cart-change-variation');
|
|
if ($(wrap).length) {
|
|
$('body').trigger('update-price-stock-pos',[wrap]);
|
|
}
|
|
});
|
|
|
|
$('body').on('update-price-stock-pos',function(e,wrap) {
|
|
setTimeout(function () {
|
|
var _price_stock = $(wrap).find('.variations_form .woocommerce-variation').clone();
|
|
if ($(wrap).find('.product-info .price.nasa-bulk-price').length) {
|
|
_price_stock = $(wrap).find('.product-info .price.nasa-bulk-price').html();
|
|
$(wrap).find('.product-lightbox .product-quickview-img .ns-price .woocommerce-variation .woocommerce-variation-price').html('<span class="price">' + _price_stock + '</span>');
|
|
$(wrap).find('.product-lightbox .product-quickview-img .ns-price .woocommerce-variation').removeAttr('style');
|
|
} else {
|
|
$(wrap).find('.product-lightbox .product-quickview-img .ns-price .woocommerce-variation').replaceWith(_price_stock);
|
|
}
|
|
|
|
var _org_price = $(wrap).find('.product-lightbox .product-quickview-img .ns-price .nasa-single-product-price');
|
|
if ($(_price_stock).find('.woocommerce-variation-price').html() != '' && !$(wrap).find('.variations_form .btn-add-from-minicart').hasClass('disabled')) {
|
|
$(_org_price).hide();
|
|
}else {
|
|
$(_org_price).show();
|
|
}
|
|
}, 200);
|
|
});
|
|
});
|
|
/* End Document Ready */
|