-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path6cdfc78.modern.js
More file actions
1 lines (1 loc) · 6.83 KB
/
Copy path6cdfc78.modern.js
File metadata and controls
1 lines (1 loc) · 6.83 KB
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[130,153],{194:function(o,t,e){"use strict";function r(o){const t=[],e=[];let r=!1;return Object.values(o.conteudo.personalizacoes).length?(o.conteudo.personalizacoes.forEach(o=>{if("s"===o.obrigatorio){o.valores.some(o=>o.selecionado)?e.push(!0):t.push(o)}else e.push(!0)}),e.length===Object.values(o.conteudo.personalizacoes).length&&(r=!0)):r=!0,{error:!r,personalizacoesInvalida:t}}function n(o){let t=!0;return o.conteudo.atributos.simples&&(t=o.conteudo.atributos.simples.valores.some(o=>o.selecionado)),{error:!t,atributoSimples:o.conteudo.atributos.simples}}function d(o){let t=o.path;if(o.query&&Object.keys(o.query).length>0){t+=`?${Object.entries(o.query).map(o=>{let[t,e]=o;return`${encodeURIComponent(t)}=${encodeURIComponent(e)}`}).join("&")}`}return t}function l(data){const o=data.conteudo.atributos.simples.valores.find(o=>o.selecionado);o&&(data.conteudo.carrinho=o.carrinho)}function c(){}e.r(t),e.d(t,"validaPersonalizacao",function(){return r}),e.d(t,"validaAtributoSimples",function(){return n}),e.d(t,"getFullLink",function(){return d}),e.d(t,"updateCartInfo",function(){return l}),e.d(t,"default",function(){return c})},863:function(o,t,e){"use strict";e.r(t);var r=e(194),n={name:"EstadosProduto",props:{dadosFormulario:{type:Object,required:!1,validator(o){const t=Object.keys(o);if(!t.find(o=>"nome"===o)||(o.nome,0))throw new Error("A prop dadosFormulario espera a key nome do tipo string para o funcionamento do formulario avise me. Exemplo de formato válido: { nome: string; email: string }");if(!t.find(o=>"email"===o)||(o.email,0))throw new Error("A prop dadosFormulario espera a key email do tipo string para o funcionamento do formulario avise me. Exemplo de formato válido: { nome: string; email: string }");return!0}},dataProd:{type:Object,required:!0},prodInfo:{type:Object},quantidade:{type:Number,required:!0},isCarrinhoLateral:{type:Boolean,default:!1},isPersonalizacao:{type:Boolean,default:!1},isListaCompra:{type:Boolean,default:!1},isSobConsulta:{type:Boolean,default:!1},qtdLista:{type:Number,default:null}},data:()=>({loadingAviseMe:!1,loadingCompra:!1,loadingSubscribe:!1}),computed:{productData(){var o;return null===(o=this.dataProd)||void 0===o?void 0:o.conteudo},productInfo(){var o;return null===(o=this.prodInfo)||void 0===o?void 0:o.conteudo},validaEmail(){return/^[a-z0-9\-_.]+@[a-z0-9]+\.[a-z]+(\.[a-z]+)?$/i.test(this.dadosFormulario.email)},validaListaCompra(){var o;let t=!1;const e=null===(o=this.productData)||void 0===o?void 0:o.produtos.map((o,t)=>({...o,indexProduto:t})).filter(o=>{let t=!0;if(o.atributos.simples){o.atributos.simples.valores.some(o=>o.selecionado)||(t=!1)}return!t});return e.length&&(t=!0),{error:t,produtosInvalido:e}},variacaoSemEstoque(){var o,t;if(null!==(o=this.prodInfo)&&void 0!==o&&null!==(t=o.conteudo.atributos)&&void 0!==t&&t.simples){const o=this.prodInfo.conteudo.atributos.simples.valores.find(o=>o.selecionado);return o&&0===o.estoque}return!1},handleCarrinho(){return this.prodInfo.conteudo.carrinho},getAtributoSimples(){let o=0;if(this.prodInfo.conteudo.atributos.simples){const t=this.prodInfo.conteudo.atributos.simples.valores.find(o=>o.selecionado);t&&(o=t.idAtributoValor)}return o}},created(){if(!this.isListaCompra&&!this.dadosFormulario)throw new Error("A prop dadosFormulario é obrigatória quando o produto não é uma lista de compras. Exemplo de formato válido: { nome: string; email: string }")},mounted(){this.$emit("initEstadosProduto",{element:this.$refs.refEstadosProduto})},updated(){this.$emit("updatedEstadosProduto",{element:this.$refs.refEstadosProduto})},methods:{async aviseMe(){if(!this.loadingAviseMe)if(this.validaEmail&&this.dadosFormulario.nome.length>2){this.loadingAviseMe=!0,this.$emit("loadingAviseMe",{status:!0});const o={idProduto:this.productData.id,idAtributoValor:parseInt(this.getAtributoSimples,10),mailing:!1,...this.dadosFormulario};try{const t=await this.$axios.$post("/v2/front/product/solicitation",o);this.$emit("sucessoAviseMe",{data:t})}catch(o){this.$emit("erroAviseMe",{error:!0,data:o})}this.loadingAviseMe=!1,this.$emit("loadingAviseMe",{status:!1})}else{const o=[];this.validaEmail||o.push("email"),!this.dadosFormulario.nome.length>2&&o.push("nome"),this.$emit("erroAviseMe",{error:!0,data:{camposInvalido:o}})}},carrinhoUrlListaCompra(){let o=this.prodInfo.conteudo.carrinho.url.replace(/(\d*-\d*-\d*-\d*-)\d*(-.*)?/,`$1${this.quantidade}$2`);if("aberta"===this.prodInfo.conteudo.tipo){o=`${this.prodInfo.conteudo.carrinho.url.split("?add=")[0]}?add=${this.prodInfo.conteudo.carrinho.url.match(/(\d*-\d*-\d*-\d*-)\d*/g).map(o=>{const t=o.match(/\d*-\d*-\d*-\d*-/)[0],e=o.split(/\d*-\d*-\d*-\d*-/)[1];return`${t}${parseInt(e,10)*this.quantidade}`}).join("||")}`}return o},comprar(){let o=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.isListaCompra){const{error:o,produtosInvalido:t}=this.validaListaCompra;if(o)this.emitProductError({error:!0,data:{produtosInvalido:t}});else if(this.isCarrinhoLateral){const o=this.prodInfo.conteudo.carrinho;this.adicionarCarrinhoLateral(o)}else window.location.href=this.carrinhoUrlListaCompra()}else{const{error:t,atributoSimples:e}=Object(r.validaAtributoSimples)(this.prodInfo),{error:n,personalizacoesInvalida:d}=Object(r.validaPersonalizacao)(this.prodInfo);if(t||n)this.emitProductError({error:!0,data:{personalizacoes:d,atributoSimples:e}});else{const t=this.handleCarrinho;if(this.isPersonalizacao&&this.isCarrinhoLateral)alert("ERRO TENTE MAIS TARDE");else if(this.isPersonalizacao)alert("ERRO TENTE MAIS TARDE");else if(this.isCarrinhoLateral&&!o)this.adicionarCarrinhoLateral(t);else{this.$emit("loadingSubscribe",{status:!0}),this.loadingSubscribe=!0;const o=t.url.split("-");o[4]=this.quantidade,window.location.href=o.join("-"),setTimeout(()=>{this.$emit("loadingSubscribe",{status:!1}),this.loadingSubscribe=!1},1500)}}}},async adicionarCarrinhoLateral(o){let{itens:t,tipo:e}=o;const r=t.map(o=>({...o,quantidade:o.quantidade*this.quantidade}));this.loadingCompra||(this.$emit("loadingCompra",{status:!0}),this.loadingCompra=!0,await this.$carrinhoAdd(e,r,this.prodInfo.id),this.$emit("loadingCompra",{status:!1}),this.loadingCompra=!1),this.$store.state.detalhe.dataProd&&this.$gtmEventAddToCart(this.$store.state.detalhe.dataProd.conteudo,this.quantidade)},emitProductError(o){this.$store.commit("detalhe/setAttributeError",o)}}},d=n,l=e(12),component=Object(l.a)(d,function(){var o=this;return(0,o._self._c)("div",{ref:"refEstadosProduto",staticClass:"estadosProduto"},["disponivel"===o.productData.status&&!o.variacaoSemEstoque||o.isListaCompra&&(o.qtdLista>0||null===o.qtdLista)?o._t("estadoDisponivel"):"sobConsulta"===o.productData.status?o._t("estadoSobconsulta"):"indisponivel"===o.productData.status||o.variacaoSemEstoque||"sobConsulta"===o.productData.status&&!o.isSobConsulta||o.isListaCompra&&0===o.qtdLista?o._t("estadoIndisponivel"):o._e()],2)},[],!1,null,null,null);t.default=component.exports}}]);