wip
This commit is contained in:
93
public/web/shella/scripts/section.product.js
Normal file
93
public/web/shella/scripts/section.product.js
Normal file
@@ -0,0 +1,93 @@
|
||||
theme.ProductPage = (function() {
|
||||
|
||||
function ProductPage(container) {
|
||||
this.$container = $(container);
|
||||
|
||||
//var sectionId = this.$container.attr('data-section-id');
|
||||
|
||||
//this.settings = {};
|
||||
|
||||
this.namespace = '.product-page';
|
||||
|
||||
this.onLoad();
|
||||
}
|
||||
|
||||
ProductPage.prototype = $.extend({}, ProductPage.prototype, {
|
||||
onLoad: function () {
|
||||
var $product = this.$container.find('[data-js-product]'),
|
||||
$gallery = $product.find('[data-js-product-gallery]'),
|
||||
$countdown = $product.find('[data-js-product-countdown] .js-countdown'),
|
||||
$text_countdown = $product.find('.js-text-countdown'),
|
||||
$visitors = $product.find('.js-visitors');
|
||||
|
||||
if($gallery.length) {
|
||||
this.$gallery = $gallery;
|
||||
|
||||
if(this.$gallery.find('[data-js-product-gallery-main]').attr('data-js-product-gallery-main') === 'mobile') {
|
||||
function initGallery() {
|
||||
if(theme.current.is_mobile) {
|
||||
theme.ProductGallery.init($gallery);
|
||||
}
|
||||
};
|
||||
|
||||
$window.on('theme.resize', initGallery);
|
||||
|
||||
initGallery();
|
||||
} else {
|
||||
theme.ProductGallery.init($gallery);
|
||||
}
|
||||
}
|
||||
|
||||
if(theme.is_loaded) {
|
||||
theme.ProductReview.update();
|
||||
if(theme.Tooltip) {
|
||||
theme.Tooltip.init();
|
||||
}
|
||||
|
||||
if($countdown.length) {
|
||||
theme.ProductCountdown.init($countdown);
|
||||
}
|
||||
|
||||
if($text_countdown.length) {
|
||||
theme.ProductTextCountdown.init($text_countdown);
|
||||
}
|
||||
|
||||
if($visitors.length) {
|
||||
theme.ProductVisitors.init($visitors);
|
||||
}
|
||||
|
||||
theme.StoreLists.checkProductStatus($product);
|
||||
|
||||
if(theme.Tabs) {
|
||||
theme.Tabs.init();
|
||||
}
|
||||
}
|
||||
|
||||
if(theme.StickySidebar) {
|
||||
theme.StickySidebar.init(this.$container);
|
||||
}
|
||||
},
|
||||
onUnload: function() {
|
||||
this.$container.off(this.namespace);
|
||||
|
||||
if(this.$gallery && this.$gallery.length) {
|
||||
theme.ProductGallery.destroy(this.$gallery);
|
||||
this.$gallery = null;
|
||||
}
|
||||
|
||||
if(theme.StickySidebar) {
|
||||
theme.StickySidebar.destroy(this.$container);
|
||||
}
|
||||
|
||||
if(theme.Tooltip) {
|
||||
theme.Tooltip.destroy();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return ProductPage;
|
||||
})();
|
||||
|
||||
$(function() {
|
||||
theme.sections.register('product-page', theme.ProductPage);
|
||||
});
|
||||
Reference in New Issue
Block a user