🤑 Até 4ª, 20% das tuas compras VOLTAM PARA TI em cartão-oferta. Aproveita! 💵

{{item.images.0.alt}}

{{product.selected_variant.color.short_name}}

+{{product.total_colors - 1}}

Desde:

{{product.previous_price.value}}€

{{product.price_min.value}}€{{product.price.value}}€{{product.price.value}}€

Melhor preço dos últimos 30 dias: {{product.price_info_extra_vals}}€

', product_item_related: '0', relacionados_slider_mobile: '1' }
'; } else { if(typeof RDC_ICON_SVG_CLOSE != "undefined") $(".explore-look-right-bar .mfp-close").addClass("rdc-mfp-icon-svg").html(RDC_ICON_SVG_CLOSE); } $('.explore-look-right-bar-button').magnificPopup({ removalDelay: 500, closeMarkup: window.htmlClosePopup, callbacks: { beforeOpen: function() { var dataEffect = 'mfp-zoom-in'; if(window.innerWidth = 768 && this.st.el.attr("data-effect-desktop") != undefined) dataEffect = this.st.el.attr("data-effect-desktop"); this.st.mainClass = dataEffect; } }, }); }); if(typeof app == "undefined") { var app = angular.module('MyApp', ['ngSanitize']); } app.filter('unsafe', function($sce) { return $sce.trustAsHtml;}); app.controller("productsRightBar", function($scope, $http, $rootScope, $sce){ var market_last_units = "5"; var timeout_addcart_mobile = ""; $scope.showbtnClose = false; $scope.products = []; $scope.CDNIMG = "https://1616346425.rsc.cdn77.org/"; $scope.shopbylookProducts = []; $scope.wishActiveClass = ""; scopeForceApply = false; if(typeof $.fn.perfectScrollbar == "function" && 'ontouchstart' in window == false) { $('.explore-look-products').perfectScrollbar({ wheelSpeed: 0.5, useBothWheelAxes: false, suppressScrollX: true }); } if(typeof $.fn.niceScroll == "function" && "ontouchstart" in window == false) { $(".explore-look-products").niceScroll(); } $(".explore-look-bar-top .mfp-close, .explore-look-overlay").click(function(ev){ ev.preventDefault(); if(window.innerWidth >= 768) { $scope.resetProductsForms(); setTimeout(function(){ angular.forEach($scope.shopbylookProducts, function(item, key){ $scope.shopbylookProducts[key].color_model = null; $scope.shopbylookProducts[key].size_model = null; $scope.shopbylookProducts[key].dimension_model = null; }); }, 250); } else { $scope.addCartSlideDown(); } }); $scope.addCartSlideDown = function(){ $(".addcart-look-mobile").removeClass("open"); $(".explore-look-overlay").fadeOut("fast"); $.magnificPopup.defaults.allowSwipe = true; setTimeout(function(){ $scope.wishActiveClass = ""; $scope.showbtnClose = false; }, 200); $scope.resetProductsForms(); } $scope.getProductsByLook = function(shopbylookid, shopbylookunid, bannerElement) { var page_id = ""; if(page_id == "") page_id = 1; $(".shopbylook-loading-right-bar", bannerElement).fadeIn("fast"); $http({ method: 'GET', url: '/api/api.php/getLookBooksDetail/'+page_id+'/'+shopbylookid }).then(function successCallback(data) { if(typeof data != "object") var data = $.parseJSON(data); window["arrLookDetail" + shopbylookid] = data.data.response.catalog_items[0].childs; /* Create backup original object (Quando fechar a barra fazer reset aos produtos) */ $scope["arrLookDetail_bak_" + shopbylookid] = data.data.response.catalog_items[0].childs; $scope.scopeProductsForRightBar(shopbylookid, shopbylookunid); $(".shopbylook-loading-right-bar").fadeOut("fast"); }, function errorCallback(response) { // Error $(".shopbylook-loading-right-bar").fadeOut("fast"); }); } $scope.scopeProductsForRightBar = function(shopbylookid, shopbylookunid) { $scope.shopbylookid = shopbylookid; $scope.shopbylookunid = shopbylookunid; var products = []; var key_unid = 0; $.each($scope["arrLookDetail_bak_" + shopbylookid], function(unid_key, unid_value){ if(unid_value.id == shopbylookunid) { key_unid = unid_key; } }); $.each(window["arrLookDetail" + $scope.shopbylookid], function(k, item){ if(item.id == shopbylookunid) { if(scopeForceApply) { $scope.$apply(function(){ $scope.shopbylookProducts = item.products; }); } else { $scope.shopbylookProducts = item.products; } } }); angular.forEach($scope.shopbylookProducts, function(item, key){ $scope.updateProductLook(key); }); angular.forEach($scope.shopbylookProducts, function(item, key){ if(item.custom_colors.length > 1) { if(typeof item.color_model == "object") { item.sizes_disabled = true; $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].sizes_disabled = true; } else { item.sizes_disabled = false; $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].sizes_disabled = false; } } //if(item.custom_sizes.length > 1) // item.custom_dimensions = []; }); if(scopeForceApply) { $scope.$apply(function(){ $scope.shopbylookProducts = $scope.shopbylookProducts; }); } setTimeout(function(){ open_product_right_bar(); if(!$scope.showbtnClose && window.innerWidth 0) { if($scope.shopbylookProducts[key].size_model.disabled == true) { auxSearchVariants = false; } } if(auxSearchVariants) { $.each(productUpdated.variants, function(itemk, item){ if(item.inventory_quantity > 0) { $scope.shopbylookProducts[key].available = 1; } }); } /* Colors */ if(typeof $scope.shopbylookProducts[key].custom_colors == "undefined") { $scope.shopbylookProducts[key].custom_colors = []; $scope.shopbylookProducts[key].colors_disabled = false; if(!aux_productUpdated) { $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].custom_colors_bak = []; $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].colors_disabled = false; } $.each(productUpdated.available_colors, function(itemk, item){ $scope.shopbylookProducts[key].custom_colors.push({"value": item.id, "name": item.short_name}); if(!aux_productUpdated) { $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].custom_colors_bak = $scope.shopbylookProducts[key].custom_colors; } }); } /* Sizes */ if(typeof $scope.shopbylookProducts[key].custom_sizes == "undefined") { $scope.shopbylookProducts[key].custom_sizes = []; $scope.shopbylookProducts[key].sizes_disabled = false; if(!aux_productUpdated) { $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].custom_sizes_bak = []; $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].sizes_disabled = false; } $.each(productUpdated.variants, function(itemk, item){ var info_last_units = ""; var disabled = false; if(productUpdated.dimension.length == 0) { if(item.inventory_quantity == 0) { disabled = true; info_last_units = " - Esgotado"; } else if(market_last_units > 0 && item.inventory_quantity 0) $scope.shopbylookProducts[key].dimension_disabled = false; if($scope.shopbylookProducts[key].dimension_model != undefined) { if($scope.shopbylookProducts[key].dimension_model && Object.keys($scope.shopbylookProducts[key].dimension_model).length > 0) auxSearchDimension = false; } if(auxSearchDimension) { $scope.shopbylookProducts[key].custom_dimensions = []; $scope.shopbylookProducts[key].dimension_model = null; if(!aux_productUpdated) { $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].custom_dimensions_bak = []; $scope["arrLookDetail_bak_" + shopbylookid][key_unid]["products"][key].dimension_model = null; } $.each(productUpdated.dimension, function(itemk, item){ var info_last_units = ""; var disabled = false; if(item.inventory_quantity == 0) { disabled = true; info_last_units = " - Esgotado"; } else if(market_last_units > 0 && item.inventory_quantity 0 && $.trim(expPromo) != '' ){ var textPromo = expPromo.replace(`{INIT}`, `${$scope.shopbylookProducts[key].price_discount_init_date}`).replace(`{END}`, `${$scope.shopbylookProducts[key].price_discount_end_date}`); $scope.shopbylookProducts[key].textPromo = textPromo; } /* Promotion days information */ var promo_30days_only_phrase = ''; var price_info_extra_vals = $scope.shopbylookProducts[key].selected_variant && $scope.shopbylookProducts[key].selected_variant.price_info_extra_vals ? $scope.shopbylookProducts[key].selected_variant.price_info_extra_vals : $scope.shopbylookProducts[key].price_info_extra_vals; if(promo_30days_only_phrase == 1 && 'Melhor preço dos últimos 30 dias:' != '') { $scope.shopbylookProducts[key].teste30days = 'Melhor preço dos últimos 30 dias:'; } else if (promo_30days_only_phrase != 1 && price_info_extra_vals.value > 0) { var expPromo30days = (`Melhor preço dos últimos 30 dias: ${$scope.shopbylookProducts[key].price.currency.prefix}${number_format(price_info_extra_vals.value, price_info_extra_vals.currency.number_dec, price_info_extra_vals.currency.separator_dec, price_info_extra_vals.currency.separator_mil)}${$scope.shopbylookProducts[key].price.currency.sufix}`); $scope.shopbylookProducts[key].expPromo30days = expPromo30days; } } $scope.addCartStep1 = function($event, productSelected){ if(window.innerWidth 1 || productSelected.variants.length > 1)) { if(timeout_addcart_mobile != "") clearTimeout(timeout_addcart_mobile); $scope.product_mobile = productSelected; $scope.showbtnClose = true; $(".explore-look-overlay").fadeIn("fast"); $(".addcart-look-mobile").addClass("open"); $.magnificPopup.defaults.allowSwipe = false; setTimeout(function(){ $(".addcart-look-mobile-button .btn-wish").css("min-height", $(".addcart-look-mobile-button .btn-cart").outerHeight()); if(typeof RDC_ICON_SVG_CLOSE != "undefined") $(".explore-look-right-bar .mfp-close").html(RDC_ICON_SVG_CLOSE); }, 20); } else { var parent = $(event.currentTarget).closest(".product-right-bar") var dataAjax = $scope.getFormAjaxData(productSelected, parent); if(dataAjax) { $('#recomendation-cart-right-bar .wrapper-popup').animate({scrollTop:0}, 500, 'swing'); $scope.addCartGlobal({$elem: event, data: dataAjax}); } } } $scope.addCartStep1Mobile = function($event, productSelected) { var parent = $(".addcart-look-mobile"); var dataAjax = $scope.getFormAjaxData(productSelected, parent); if(dataAjax) { $scope.addCartGlobal({$elem: event, data: dataAjax}); } } $scope.addWishMobile = function($event, productSelected) { var parent = $(".addcart-look-mobile"); var dataAjax = $scope.getFormAjaxData(productSelected, parent); if(dataAjax) { dataAjax = dataAjax[0]; if($(event.currentTarget).hasClass("active")) $scope.removeWishListGlobal({$elem: $event, data: dataAjax}); else $scope.addWishlistGlobal({$elem: $event, data: dataAjax}); $(event.currentTarget).toggleClass("active"); } } $scope.getFormAjaxData = function(productSelected, parent) { var errorChecked = false, pid = (typeof productSelected == "object") ? productSelected.id : 0; if($("[name=colors]", parent).length > 0) { if(!productSelected.color_model) { errorChecked = true; $('.warning-sizes-look .warning.warning-color', parent).slideDown(300); } else { pid = productSelected.color_model.value; } } if(!errorChecked && $("[name=sizes]", parent).length > 0) { if(!productSelected.size_model) { errorChecked = true; $('.warning-sizes-look .warning:not(.warning-material):not(.warning-color)', parent).slideDown(300); } else { pid = productSelected.size_model.value; } } if(!errorChecked && $("[name=dimensions]", parent).length > 0) { if($("[name=dimensions]", parent).prop("disabled") == false && !productSelected.dimension_model) { errorChecked = true; $('.warning-sizes-look .warning.warning-material', parent).slideDown(300); } else { pid = productSelected.dimension_model.value; } } if(errorChecked) { setTimeout(function(){ $('.warning-sizes-look .warning:visible').slideUp(300); }, 2000); return false; } $(event.currentTarget).addClass("loader"); return [{pid : pid, qtd: 1, product: productSelected}]; } $scope.addCartGlobal = function ($event) { var addCartData = $event.data; var dataTrakings = []; var HTTP_COUNT = 0; if(JSVars.product == undefined) { JSVars['product'] = {pageCount: '0'} } if( JSVars.shop.templatesParams.miniBasket == 1 ) if($(window).width() >= 768 && $("#cart-dropdown").is(":visible")) $("#cart-dropdown").hide(); if($(window).width() >= 768 && $(".items-dropdown").is(":visible")) $(".items-dropdown").hide(); recCART_AJAX_in_progress = true; $.each(addCartData, function(key, value){ var HTTP_URL = '/api/api.php/addToBasket/'+ JSVars.selectedPage.id +'/'+ JSVars.selectedPage.cat +'/'+ value.pid +'/'+ value.qtd + '/'+ JSVars.product.pageCount; $http.get(HTTP_URL).then(function(data) { data = data.data; if(typeof trakingsAddCart == "function") { HTTP_COUNT++; dataTrakings.push(data); if(HTTP_COUNT == addCartData.length) { if(HTTP_COUNT == 1) { trakingsAddCart(data, value.pid, value.qtd); } } } recCART_AJAX_in_progress = false; if(window.innerWidth >= 768) { $.magnificPopup.close(); if(typeof angular.element(document.body).scope().$root.openMiniCart == 'function') { angular.element('#controller-cart').scope().addMiniBasket(data.response.cart, 'LOAD'); $scope.resetProductsForms(); setTimeout(function(){ addCartCompletedLookBar(); angular.element(document.body).scope().$root.openMiniCart(); }, 600); } else { $scope.resetProductsForms(); addCartCompletedLookBar(); setTimeout(function(){ if(angular.element('#controller-cart').scope() != undefined) { angular.element('#controller-cart').scope().addMiniBasket(data.response.cart, "AJAX", 0); } else if(typeof addMiniBasketPreviousTemplates == "function") { addMiniBasketPreviousTemplates(data, value.pid); } if(typeof addCartCompleted == "function") addCartCompleted(data.response.cart, ""); }, 600); } } else { addCartCompletedLookBar(); if(typeof angular.element(document.body).scope().$root.openMiniCart == 'function') { angular.element('#controller-cart').scope().addMiniBasket(data.response.cart, 'LOAD'); } else { if(angular.element('#controller-cart').scope() != undefined) { angular.element('#controller-cart').scope().addMiniBasket(data.response.cart, "LOAD", 0); } else if(typeof addMiniBasketPreviousTemplates == "function") { addMiniBasketPreviousTemplates(data, value.pid); } if(typeof addCartCompleted == "function") addCartCompleted(data.response.cart, ""); } } if(data.response.trackers) $(".tagsWrapper").append(atob(data.response.trackers)); }); }); } $scope.addWishlistGlobal = function ($event) { var addWishData = $event.data; if(JSVars.product == undefined) { /* Wishlist and Account */ JSVars['product'] = {pageCount: '0'} } var HTTP_URL = '/api/api.php/addToWishList/'+addWishData.pid+'/'+ JSVars.selectedPage.id +'/'+JSVars.selectedPage.cat+'/'+ JSVars.product.pageCount; $http.get(HTTP_URL).then(function(data) { data = data.data; $scope.productsWishlist = []; if(data.response.trackers) $(".tagsWrapper").append(atob(data.response.trackers)); $.each(data.response.wishlist, function(k, v){ data.response.wishlist[k].price.value = number_format(v.price.value, v.price.currency.number_dec, v.price.currency.separator_dec, v.price.currency.separator_mil); $scope.productsWishlist.push(data.response.wishlist[k]); }); if(typeof addWishlistCompleted == "function") addWishlistCompleted(data.response.wishlist, $($event.$elem.currentTarget)); if(typeof addWishCompletedLookBar == "function") addWishCompletedLookBar(data.response.wishlist, ""); }); } $scope.removeWishListGlobal = function($event) { var removeWishData = $event.data; var HTTP_URL = '/api/api.php/removeFromWishList/'+removeWishData.pid; $http.get(HTTP_URL).then(function(data) { data = data.data; if(data.response.trackers) $(".tagsWrapper").append(atob(data.response.trackers)); $.each(data.response.wishlist, function(k, v){ data.response.wishlist[k].price.value = number_format(v.price.value, v.price.currency.number_dec, v.price.currency.separator_dec, v.price.currency.separator_mil); }); if(typeof removeWishlistCompleted == "function") removeWishlistCompleted(data.response.wishlist, $($event.$elem.currentTarget)); if(typeof removeWishlistCompletedLookBar == "function") removeWishlistCompletedLookBar(data.response.wishlist, ""); }); } $scope.colorsChanged = function($event, color, productScope) { if(color == null) { angular.forEach($scope.shopbylookProducts, function(item, key){ if(item.id == productScope.id) { $scope.shopbylookProducts[key].sizes_disabled = true; $scope.shopbylookProducts[key].size_model = null; $scope.shopbylookProducts[key].dimension_disabled = true; $scope.shopbylookProducts[key].dimension_model = null; } }); return; } var parent = $(event.currentTarget).closest(".product-right-bar"); $("[name=sizes]", parent).addClass("loading"); $scope.getProductSimple(color.value, "color", color.value, productScope, parent); angular.forEach($scope.shopbylookProducts, function(item, key){ if(item.id == productScope.id) { $scope.shopbylookProducts[key].sizes_disabled = false; $scope.shopbylookProducts[key].dimension_disabled = true; if($scope.shopbylookProducts[key].custom_sizes.length 0) { var arr = $scope["arrLookDetail_bak_" + shopbylookid]; angular.forEach(arr, function(item, key){ if(item.id != shopbylookunid) return; angular.forEach(item.products, function(product, key_p){ $scope.shopbylookProducts[key_p] = product; $scope.shopbylookProducts[key_p]["custom_colors"] = product["custom_colors_bak"]; $scope.shopbylookProducts[key_p]["custom_sizes"] = product["custom_sizes_bak"]; $scope.shopbylookProducts[key_p]["custom_dimensions"] = product["custom_dimensions_bak"]; delete $scope.shopbylookProducts[key_p].color_model; delete $scope.shopbylookProducts[key_p].size_model; delete $scope.shopbylookProducts[key_p].dimension_model; if(window.innerWidth = 768) { $(".explore-look-products").scrollTop(10).scrollTop(0); //if(typeof $.fn.perfectScrollbar == "function" && 'ontouchstart' in window == false) // $('.explore-look-products').perfectScrollbar('update'); /*var scrollWidth = window.innerWidth - document.body.clientWidth; $("html, body").css("overflow-y", "hidden"); if(scrollWidth > 0) { $("body").addClass("rdc-right-bar-padding-right").css("padding-right", scrollWidth); if($("header").length > 0 && $("header").css("position") == "fixed") { $("header").addClass("rdc-right-bar-padding-right").css("padding-right", scrollWidth); } if($("footer").length > 0 && $("footer").css("position") == "fixed") { $("footer").addClass("rdc-right-bar-padding-right").css("padding-right", scrollWidth); } if($("#product-bar").length > 0 && $("#product-bar").css("position") == "fixed") { $("#product-bar").addClass("rdc-right-bar-padding-right").css("padding-right", scrollWidth); } } $(".explore-look-overlay").fadeIn("fast"); $(".explore-look-right-bar").addClass("open"); } else {*/ $(".explore-look-right-bar-button").trigger("click"); //} } function addCartCompletedLookBar(cart, type) { $(".explore-look-products .loader, .addcart-look-mobile .loader").removeClass('loader'); if(window.innerWidth 1){qnt = '(x'+ product.quantity +')';} html_cart += '
  • '+ ''+ '
    '+ '
    '+ '

    '+ product.product.list_title +' '+ qnt +'

    '+ '

    Ref: '+ product.product.sku +'

    '+ '

    '+ product.price.currency.prefix +' '+ number_format(product.price.value, product.price.currency.number_dec, product.price.currency.separator_dec, product.price.currency.separator_mil) +' '+ product.price.currency.sufix +'

    '+ '
    '+ '
    '+ ''+ '
  • '; } $("button.loader, .button.loader, .btn-cart.loader").removeClass('loader'); $(".shop-icons .cart a#itemsCart").attr('href', '/checkout/'+JSVars.CHECKOUT_VER+'?id=1'); $(".shop-icons .cart a#itemsCart").removeClass('disabled'); if(data.response.cart.item_count == '0' || data.response.cart.item_count == 0) data.response.cart.item_count = ''; $(".shop-icons .cart a#itemsCart span").html(data.response.cart.item_count); if(JSVars.shop.templatesParams.miniBasket == 1) { $(".shop-icons .cart .items-dropdown .items-list ul").html(html_cart); $('.shop-icons .cart .total-price span').text(number_format(data.response.cart.total_price.value, data.response.cart.total_price.currency.number_dec, data.response.cart.total_price.currency.separator_dec, data.response.cart.total_price.currency.separator_mil)); } if(JSVars.shop.templatesParams.miniBasket == 1) { if($(window).width() >= 768){ $(".shop-icons .cart .items-dropdown").slideDown(300); $('.header-product .warning.sucess').fadeIn(300); $("#btt_addcart_header").removeClass("loader"); setTimeout(function(){ $('.header-product .warning.sucess').fadeOut(300); }, 3000); } else { if (JSVars.shop.templatesParams.module == "product_list" || JSVars.shop.templatesParams.module == "wishlist" || JSVars.shop.templatesParams.module == "search") { $(".wrapper-sizes .wrapper-list ul li a", $(_this).parents("article.productMobile")).removeClass("sel"); $(_this).attr('prod-id', ''); $(_this).removeClass('loader'); }; $('.wrapper-cart-add-notice').slideDown(300); setTimeout(function(){ $('.wrapper-cart-add-notice').slideUp(300); }, 3000); $('.notification').hide(); $('.notification.add-cart').fadeIn(300).delay(3000).fadeOut(300); if($('body.headroomHeaderEventActive').length > 0){ $('body.headroomHeaderEventActive').addClass("disableHeadroom"); setTimeout(function(){$('body.headroomHeaderEventActive').removeClass("disableHeadroom");}, 3000); } } } else { $('a[href="#pop-cart"]').click(); } } } function addWishCompletedLookBar(wishlist, type) {} function removeWishlistCompletedLookBar(wishlist, type) {}

    JOM Tudo para o seu Lar | Móveis, Eletrodomésticos, Decoração. - JOM

    Nas Lojas JOM encontra móveis, sofás, colchões, eletrodomésticos, decoração, iluminação, utilidades e têxteis-lar com excelente relação qualidade/preço.

    Comparador ({{comparator.length}}/3)

    Assistente JOM

    Olá! 😊 Sou o teu assistente JOM e estou aqui para te ajudar. Podes falar comigo sobre o estado da tua encomenda, trocas, devoluções, envios, pagamentos ou qualquer dúvida sobre produtos. O que precisas neste momento?

    Deseja sair do Assistente JOM? Ao sair perderá esta conversa e terá de começar novamente.