AlkantarClanX12
Current Path : /home/thanudqk/128shen.com/wp-content/themes/thegem/js/ |
Current File : /home/thanudqk/128shen.com/wp-content/themes/thegem/js/thegem-product-quick-view.js |
(function ($) { $(function () { $(document.body).on('click', '.product .quick-view-button, .product-quick-view-navigation a', function (e) { e.preventDefault(); var $button = $(this); $.fancybox.close(); $.fancybox.open({ type: 'ajax', src: thegem_woo_data.ajax_url, ajax: { settings: { method: 'POST', data: { ajax_nonce: thegem_woo_data.ajax_nonce, action: 'thegem_product_quick_view', product_id: $(this).data('product-id') } } }, slideClass: 'woo-modal-product', baseClass: "product-quick-view product-quick-view__wrapper", afterShow: function (el) { var quickViewGalleryType = $('.product-quick-view .single-product').attr("data-quick-view"); var quickViewLayoutType = $('.product-quick-view .single-product-content ').attr("data-layout"); $('.product-quick-view .gem-attribute-selector').gemWooAttributeSelector(); if (quickViewLayoutType !== 'legacy') { el.current.$content.initProductQuickViewScripts(); } if (quickViewGalleryType === 'legacy'){ legacyQuickViewGallery(el); } else { defaultQuickViewGallery(el); } } }, { spinnerTpl: '<div class="gem-fancybox-preloader"><div class="preloader-spin"></div></div>', caption: '<div class="product-navigation-caption"></div>', touch: false, backFocus: false, locked: false, }); }); function defaultQuickViewGallery(el) { $('.gem-combobox').combobox(); el.current.$content.buildQuickViewGallery(); el.current.$content.updateProductGalleries(); $('.variations_form', el.current.$content).each(function () { var $form = $(this); $form.on('reset_image show_variation', function () { el.removeEvents(); window.setTimeout(function () { el.addEvents(); }, 100); }); $form.on('show_variation', function (e, variation) { if(variation.image_id) { var $product_content = $(this).closest('.single-product-content'); var $gallery = $product_content.find('.product-gallery').eq(0); var $mainCarousel = $gallery.find('.product-gallery-slider'); if($gallery.length) { var $gallery_item = $gallery.find('.product-gallery-slider .product-gallery-slider-item[data-image-id="'+variation.image_id+'"]').parent('.owl-item').index(); $mainCarousel.trigger('to.owl.carousel', [$gallery_item, 300, true]); } } }); $form.wc_variation_form(); $form.on('change', '.variations select', function (event) { var $text = $(this).closest('.combobox-wrapper').find('.combobox-text'); $text.text($('option:selected', $(this)).text()); }); }); } function legacyQuickViewGallery(el) { $('.gem-combobox').combobox(); el.current.$content.buildSimpleGalleries(); el.current.$content.updateSimpleGalleries(); $('.variations_form', el.current.$content).each(function () { var $form = $(this); $form.on('reset_image show_variation', function () { el.removeEvents(); window.setTimeout(function () { el.addEvents(); }, 100); }); $form.on('show_variation', function (e, variation) { if (variation.image && variation.image.src) { var $g_item = $('.gem-quick-view-gallery .gem-gallery-item img[src="' + variation.image.src + '"]', el.current.$content).closest('.gem-gallery-item'); $('.gem-quick-view-gallery .gem-gallery-items-carousel', el.current.$content).trigger('slideTo', [$g_item]); } }); $form.wc_variation_form(); $form.on('change', '.variations select', function (event) { var $text = $(this).closest('.combobox-wrapper').find('.combobox-text'); $text.text($('option:selected', $(this)).text()); }); }); } }); })(jQuery);