var SPMaskBehaviorFlyer = function (val) { return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; }; var spOptionsFlyer = { onKeyPress: function (val, e, field, options) { field.mask(SPMaskBehaviorFlyer.apply({}, arguments), options); } }; var form = { texts: [], inputs: [], endereco:{ 0:{ nome:'SÃO PAULO (ADM BENS)', address1:'Avenida das Nações Unidas, 18.001', address2:'04795-900 - Santo Amaro', address3:'São Paulo - SP', address4:'Brasil', }, 1:{ nome:'CLARIANT P&C - SUZANO', address1:'Av. Jorge Bei Maluf, 2.165', address2:'08686-000 - Vila Theodoro', address3:'Suzano - SP', address4:'Brasil', }, 2:{ nome:'SÃO PAULO (LABORATÓRIO)', address1:'Rua Bento Branco de Andrade Filho, 488', address2:'04757-000 - Vila Almeida', address3:'São Paulo - SP', address4:'Brasil', }, 3:{ nome:'BELO HORIZONTE', address1:'Avenida Portugal, 3.899', address2:'31710-400 - Itapoã', address3:'Belo Horizonte - MG', address4:'Brasil', }, 4:{ nome:'JACAREÍ', address1:'Avenida Industrial, 802', address2:'12321-500 - Rio Abaixo', address3:'Jacareí - SP', address4:'Brasil', }, 5:{ nome:'MACAÉ', address1:'Avenida Pref. Aristeu Ferreira da Silva, 2.121', address2:'27930-070 - Novo Cavaleiros', address3:'Macaé - RJ', address4:'Brasil', }, 6:{ nome:'NITEROI - RJ', address1:'Ilha do Viana, s/nº', address2:'24110-240 - Barreto', address3:'Niterói - RJ', address4:'Brasil', }, 7:{ nome:'CLARIANT S/A - SUZANO', address1:'Avenida Jorge Bey Maluf, 2.163', address2:'08686-000 - Vila Theodoro', address3:'Suzano - SP', address4:'Brasil', }, 8:{ nome:'RIO DAS OSTRAS', address1:'Rua do Sondador, s/n Lote 4 A, Quadra H Zen', address2:'28899-010', address3:'Rio das Ostras - RJ', address4:'Brasil', }, 9:{ nome:'RIO DE JANEIRO', address1:'Av. João Cabral de Mello Neto, 850 - CEO Bl 03 - S706 e 707', address2:'22.775-057 - Barra da Tijuca', address3:'Rio de Janeiro - RJ', address4:'Brasil', }, 10:{ nome:'SÃO PAULO', address1:'Avenida das Nações Unidas, 18.001', address2:'04795-900 - Santo Amaro', address3:'São Paulo - SP', address4:'Brasil', }, 11:{ nome:'VITÓRIA DA CONQUISTA - BA', address1:'Estrada Fazenda Santa Helena, s/nº', address2:'45000-970', address3:'Vitória da Conquista - BA', address4:'Brasil', }, }, address:1, key:0, id_model:0, appendForm:'#produto-form-personalizar .panel-body', buttonHandler:'#pagina-produto #produto-resumo button.confirm', init: function(){ self = this; $.ajax({ url: "https://editor.print-one.com.br/api/modelo/"+this.id_model+"/layers/?key="+this.key, type: "GET", dataType:'json', beforeSend: function () { }, success: function (objJSON) { self.texts = objJSON.layers.texts self.configForm(); self.createContainer(); self.createForm(); }, error: function (objXHR, txtStatus, txtErro) { console.error('erro', objXHR); }, complete: function (xhr) { } }); }, configForm: function () { for (let key = 0; key < this.texts.length; key++) { const element = this.texts[key].name; const elementID = this.texts[key].name.replace(' ', '').toLowerCase(); const mask = element.toLowerCase().indexOf('telefone') != -1 || element.toLowerCase().indexOf('celular') != -1 ? true : false; const maxlength = element.toLowerCase().indexOf('nome') != -1 ? 20 : false; const type = element.toLowerCase().indexOf('endereco') != -1 ? 'select' : 'text'; const label = element.toLowerCase().indexOf('endereco') != -1 ? 'Endereço' : this.capitalize(element.replace(/\#/g,'')); const value = element.toLowerCase().indexOf('endereco') != -1 ? this.endereco : ''; if (element.toLowerCase().indexOf('endereco4') == -1 & element.toLowerCase().indexOf('endereco2') == -1 & element.toLowerCase().indexOf('endereco3') == -1){ if (this.findArray(elementID)){ this.inputs.push({ name:elementID, label: label, match:"#"+elementID+"#", value:value, required: true, id: elementID, type: type, mask: mask, maxlength, maxlength }); } } } }, save:function(){ self = this; var validate = true; for (var i in self.inputs){ if(self.inputs[i].required && $('#'+self.inputs[i].id).val() == ''){ alert('Campo '+self.inputs[i].label+' obrigatório'); $('#'+self.inputs[i].id).focus(); validate = false; break; }else{ localStorage.setItem($('#'+self.inputs[i].id).data('match'),$('#'+self.inputs[i].id).val()); } } if(validate){ $(self.buttonHandler).click(); } }, createContainer:function(){ $container = $('

Preencha os dados corretamente

'); $container.insertAfter('#produto-descricao-reduzida'); }, capitalize: function (string) { string = string[0].toUpperCase() + string.slice(1); //tem número na string? Ex: Telefone1, Telefone2... hasNumber = string.match(/[0-9]/); if(hasNumber){ //Separa para ficar Telefone 1, Telefone 2, Telefone 3 string = string.replace(hasNumber[0], ' ' + hasNumber[0]); } return string; }, findArray: function (string) { //Verifica se já existe um campo com o nome igual, se tiver não deixa criar o input if (this.inputs.filter(p => p.name == string).length > 0){ return false; }else{ return true; } }, createForm:function(){ self = this; if(!self.inputs.length){ console.error('Nenhum input definido'); }else{ for (var i in self.inputs){ $(self.appendForm).append(self.getInput(self.inputs[i])); } $button = $('
'); $button.css({ 'position':'absolute', 'top':0, 'left':0, 'right':0, 'bottom':0, 'z-index':1, 'cursor':'pointer' }).click(function(event) { event.preventDefault(); form.save(); }); $(self.buttonHandler).css({ 'position':'relative' }).parent().css({ 'position':'relative' }).append($button) } }, getInput:function(input, key){ $field = $('
'); var $input; if(input.type == 'text'){ $input = $(''); } if(input.type == 'select'){ $input = $(''); for (var i in input.value) { value = input.value[i].address1 + '#pula#' + input.value[i].address2 + '#pula#' + input.value[i].address3 + '#pula#' + input.value[i].address4 $input.append(''); } } $input.attr({ 'name':input.name, 'id':input.id }).data({ 'match':input.match, 'required':input.required, }) if(!!localStorage.getItem(input.match)){ $input.val(localStorage.getItem(input.match)); } if(input.maxlength){ $input.attr({ 'maxlength':input.maxlength, }).data({ 'maxlength':input.maxlength }) } var $label = $(''); $label.attr({ 'for':input.id }).text(input.label); var $span; if(input.maxlength){ $span = $(''+($input.val().length)+'/'+input.maxlength+''); $input.on('input',function(){ max = $(this).data('maxlength'); current = $(this).val().length; $(this).next('span').text(current+'/'+max); }) } if(input.mask !== false){ $input.mask(SPMaskBehaviorFlyer, spOptionsFlyer); } $field.append($label); $field.append($input); $field.append($span); return $field; } } $(document).ready(function(){ if($('#formProposta').length){ // $('#produto-resumo button.confirm b').text('') } $('#prInfo_txt_nome').hide() $('#prInfo_txt_email').hide() $('#prInfo_txt_telefone').hide() $('#prInfo_txt_nomeProjeto').hide() $('#produto-resumo button:lt(1)').hide(); $('#produto-resumo > div > div.row.email-orcamento > div > h3 >label').hide() $('#produto-resumo > div > div:nth-child(4)').hide() if (document.URL.indexOf('produtos-detalhes') > 0 || document.URL.indexOf('produtos-editor') > 0) { console.log("teste"); idProduto = document.URL.split("/"); $.ajax({ url: "http://developer.brochura.com.br/printone/loja_modelo_2013/loja/theme/nav/getEditorProduto.asp", type: "POST", dataType:'json', data : { idProduto : idProduto[5] }, beforeSend: function () { }, success: function (objJSON) { console.log(objJSON); if (objJSON.txtErro == ""){ form.key = objJSON.key; form.id_model = objJSON.model; form.init(); }else{ console.log(objJSON.txtErro); } }, error: function (objXHR, txtStatus, txtErro) { console.log(objXHR); }, complete: function (xhr) { } }); } }); if(typeof EdPO == 'object'){ var FORM = { endpoint:'https://editor.print-one.com.br/api/personalizacao/', key:'', texts:{}, models:['PTC','MDRT 3','MDRT 4','MDRT 3 PTC','MDRT 4 PTC','MDRT Member','MDRT Court','MDRT Member PTC','MDRT Court PTC'], content:{ $:$('

Preencha o formulário abaixo.

'), style:{ 'width':'25%', 'float':'left', 'background-color':'#424242', 'border-right':'1px solid #000', 'position':'relative' } }, $submitBtn:{ $:'', style:{ 'background':'#00c853', 'border':'none', 'text-tranform':'uppercase', 'text-align':'center', 'width':'100%', 'padding':'20px', 'font-size':'18px', 'color':'#FFF' } }, $form:'', $editor:$('#'+EdPO.config.iframe), label:{ $:$(''), style:{ 'display':'block', 'color':'#FFF', } }, input:{ $:$(''), style:{ 'color':'#FFF', 'display':'block', 'margin-bottom':'15px', 'width':'100%', 'background-color':'transparent', 'border':'none', 'border-bottom':'2px solid #26a69a', 'box-shadow':'none', 'padding':'7px 0px' } }, select:{ $:$(''), style:{ 'color':'#FFF', 'display':'block', 'margin-bottom':'15px', 'width':'100%', 'background-color':'transparent', 'border':'none', 'border-bottom':'2px solid #26a69a', 'box-shadow':'none', 'padding':0, 'height':36 } }, masks:{ 'Telefone':{ meiomask:{ type:'fixed', mask:'(nn) nnnn-nnnn', autoTab:false, }, }, 'Celular':{ meiomask:{ type:'fixed', mask:'(nn) nnnnn-nnnn', autoTab:false, }, }, }, init:function(){ FORM.getTexts(); }, qrcode:false, getTexts:function(){ $.ajax({ url:FORM.endpoint+EdPO.config.model, type:'GET', dataType:'json', data:{ key:EdPO.config.key }, success:function(data){ FORM.texts = data.personalizacao[0].texts; FORM.form(); } }); }, form:function(){ FORM.$editor = $('#'+EdPO.config.iframe); FORM.$editor.css({ 'width':'75%' }); for(var i in FORM.texts){ text = FORM.texts[i]; name = text.match.charAt(0).toUpperCase() + text.match.substr(1); $input = FORM.input.$.attr({'id':'input-'+i,'name':name}).css(FORM.input.style).clone().data({layer:text.name,match:'#'+text.match+'#',name:name}).attr({'required':'required'}); v = FORM.hasData(name); if(v !== false){ $input.val(v.replace).data({'match':r.match}); } if(typeof FORM.masks[name] == 'object'){ $input.setMask(FORM.masks[name].meiomask); } $label = FORM.label.$.text(name).attr({'for':'input-'+i}).css(FORM.label.style).clone(); if(name == 'Email' || name == 'E-mail'){ $input.attr('type','email'); } FORM.content.$.find('.card-body').append($label); FORM.content.$.find('.card-body').append($input); } FORM.content.$.find('.card-head').css({ position:'absolute', padding:'22px 15px', width:'100%', top:0, 'border-bottom':'1px solid #000' }); FORM.content.$.find('.card-body').css({ position:'absolute', top:64, bottom:110, padding:'15px', width:'100%', 'overflow-y':'auto' }); FORM.content.$.find('.card-footer').css({ position:'absolute', padding:'15px', width:'100%', bottom:0, height:110, 'background-color':'#212121' }); FORM.content.$.height(FORM.$editor.height()); FORM.content.$.css(FORM.content.style); FORM.content.$.insertBefore(FORM.$editor); FORM.$submitBtn.$ = $('#btn-put-data-on-model'); FORM.$submitBtn.$.css(FORM.$submitBtn.style); FORM.$form = $('#submit-form-to-editor'); FORM.$form.submit(function(e){ e.preventDefault(); FORM.apply(); }); // FORM.$form.submit(); }, vcard:{ data:{ 'key':'B28752184046517F27738FA6CC739F84E84670EC5EF0A4F71B2E9D942EFE2458', 'width':2000, }, endpoint:'http://developer.brochura.com.br/pergraf/qrcode/api/vcard', }, apply:function(){ FORM.$form.find('input').each(function(index,input){ FORM.vcard.data[$(this).data().name.toLowerCase()] = $(this).val(); EdPO.replaceTextLayer($(this).data().layer,$(this).data().match,$(this).val()); $(this).data().match = $(this).val(); }); // EdPO.setImageLayer('qrcode',{'url':'https://cdn-images-1.medium.com/max/1200/0*zPG9dqz508rmRR70.','position':'contain'}) $.ajax({ url: FORM.vcard.endpoint, type: 'POST', dataType: 'json', data: FORM.vcard.data, crossDomain:true, success:function(data){ EdPO.setImageLayer('qrcode',{'url':data.url,'position':'contain'}) }, error:function(data){ console.log(data); }, }); }, hasData:function(match){ r = false; if(Object.keys(EdPO.config.texts).length > 0){ for(var i in EdPO.config.texts){ t = EdPO.config.texts[i]; if(t.match == '#'+match.toLowerCase()+'#'){ r = t; break; } } } return r; } } } $(function(){ if(typeof EdPO == 'object'){ if(EdPO.config.model == 1246){ EdPO.ready = function(){ FORM.init(); } } } });