{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app-components/footer/footer.component.html","./src/app/app-components/menu-bar/menu-bar.component.html","./src/app/app-components/nearby-places/nearby-places.component.html","./src/app/app-components/slider/slider.component.html","./src/app/app-components/streetview/streetview.component.html","./src/app/app-views/home/home.view.html","./src/app/app.component.html","./src/app/neighborhood/private/views/neighborhood-list-page/neighborhood-list-page.view.html","./src/app/neighborhood/private/views/neighborhood-list/neighborhood-list.view.html","./src/app/neighborhood/private/views/neighborhood/neighborhood.view.html","./src/app/property/private/views/property-list/property-list.view.html","./src/app/property/private/views/property/property.view.html","./src/app/property/private/views/recommended-properties/recommended-properties.component.html","./src/app/registration-form/private/views/announce-property/announce-property.view.html","./src/app/registration-form/private/views/contact/contact.view.html","./src/app/registration-form/private/views/juridical-person/juridical-person.view.html","./src/app/registration-form/private/views/newsletter/newsletter.view.html","./src/app/registration-form/private/views/owner-property/owner-property.view.html","./src/app/registration-form/private/views/party-saloon-reservation/party-saloon-reservation.view.html","./src/app/registration-form/private/views/person-registration-form-list/person-registration-form-list.view.html","./src/app/registration-form/private/views/physical-person/physical-person.view.html","./src/app/registration-form/private/views/propery-interest-desktop/property-interest-desktop.view.html","./src/app/registration-form/private/views/propery-interest/property-interest.view.html","./src/app/registration-form/private/views/registration-form-list/registration-form-list.view.html","./src/app/registration-form/private/views/vacancy-property/vacancy-property.view.html","./src/app/search/private/views/search-box/search-box.component.html","./src/app/search/private/views/search-list/search-list.view.html","./node_modules/tslib/tslib.es6.js","./src/app/app-components/footer/footer.component.ts","./src/app/app-components/footer/services/footer.service.ts","./src/app/app-components/footer/services/index.ts","./src/app/app-components/index.ts","./src/app/app-components/menu-bar/menu-bar.component.ts","./src/app/app-components/menu-bar/services/index.ts","./src/app/app-components/menu-bar/services/menu-bar.service.ts","./src/app/app-components/nearby-places/nearby-places.component.ts","./src/app/app-components/nearby-places/services/nearby-places.service.ts","./src/app/app-components/slider/services/index.ts","./src/app/app-components/slider/services/sliders.service.ts","./src/app/app-components/slider/slider.component.ts","./src/app/app-components/streetview/streetview.component.scss","./src/app/app-components/streetview/streetview.component.ts","./src/app/app-routing.module.ts","./src/app/app-views/home/home.view.ts","./src/app/app-views/index.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.wp-api-config.ts","./src/app/neighborhood/private/neighborhood.module.ts","./src/app/neighborhood/private/neighborhood.routing.ts","./src/app/neighborhood/private/views/index.ts","./src/app/neighborhood/private/views/neighborhood-list-page/neighborhood.view.ts","./src/app/neighborhood/private/views/neighborhood-list/neighborhood-list.view.ts","./src/app/neighborhood/private/views/neighborhood/neighborhood.view.ts","./src/app/neighborhood/shared/services/index.ts","./src/app/neighborhood/shared/services/neighborhood.service.ts","./src/app/pipes/whatsapp.pipe.ts","./src/app/property/private/guards/index.ts","./src/app/property/private/guards/redirect-guard.service.ts","./src/app/property/private/property.module.ts","./src/app/property/private/property.routing.ts","./src/app/property/private/views/index.ts","./src/app/property/private/views/property-list/property-list.view.ts","./src/app/property/private/views/property/property.view.ts","./src/app/property/private/views/recommended-properties/recommended-properties.component.ts","./src/app/property/shared/services/index.ts","./src/app/property/shared/services/property.service.ts","./src/app/registration-form/private/registration-form.module.ts","./src/app/registration-form/private/registration-form.routing.ts","./src/app/registration-form/private/services/announce-property-form.service.ts","./src/app/registration-form/private/services/base-form.service.ts","./src/app/registration-form/private/services/contact-form.service.ts","./src/app/registration-form/private/services/index.ts","./src/app/registration-form/private/services/juridical-registration-form.service.ts","./src/app/registration-form/private/services/newsletter-form.service.ts","./src/app/registration-form/private/services/party-saloon-reservation-form.service.ts","./src/app/registration-form/private/services/person-registration-form.service.ts","./src/app/registration-form/private/services/property-interest-form.service.ts","./src/app/registration-form/private/services/vacancy-property-form.service.ts","./src/app/registration-form/private/views/announce-property/announce-property.view.ts","./src/app/registration-form/private/views/contact/contact.view.ts","./src/app/registration-form/private/views/index.ts","./src/app/registration-form/private/views/juridical-person/juridical-person.view.ts","./src/app/registration-form/private/views/newsletter/newsletter.view.ts","./src/app/registration-form/private/views/owner-property/owner-property.view.ts","./src/app/registration-form/private/views/party-saloon-reservation/party-saloon-reservation.view.ts","./src/app/registration-form/private/views/person-registration-form-list/person-registration-form-list.view.ts","./src/app/registration-form/private/views/physical-person/physical-person.view.ts","./src/app/registration-form/private/views/propery-interest-desktop/property-interest-desktop.view.ts","./src/app/registration-form/private/views/propery-interest/property-interest.view.ts","./src/app/registration-form/private/views/registration-form-list/registration-form-list.view.ts","./src/app/registration-form/private/views/vacancy-property/vacancy-property.view.ts","./src/app/search/private/search.module.ts","./src/app/search/private/search.routing.ts","./src/app/search/private/views/index.ts","./src/app/search/private/views/search-box/search-box.component.ts","./src/app/search/private/views/search-list/search-list.view.ts","./src/app/search/shared/services/index.ts","./src/app/search/shared/services/search-box.service.ts","./src/app/search/shared/services/search.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"Logo\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n \\r\\n \\\"Imobiliária\\r\\n \\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n

\\r\\n

\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Locais próximos

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{typeNamed[getMainType(places)][0]}}\\r\\n \\r\\n {{countTypeItems(places) == 20 ? '20+' : countTypeItems(places)}}\\r\\n {{typeNamed[getMainType(places)][0]}}\\r\\n {{typeNamed[getMainType(places)][1] == 'a' ? 'próximas' : 'próximos'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"{{slide.title.rendered}}\\\"\\r\\n \\\"{{slide.title.rendered}}\\\"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n Encontre o imóvel ideal\\r\\n

\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n Conheça os bairros de Toledo\\r\\n Localização, estilo, comodidade...\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Explore todos os bairros\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n

\\r\\n Nossos serviços\\r\\n Comodidade para você\\r\\n

\\r\\n \\r\\n \\r\\n Conheça todos os nossos serviços\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Bairros

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n
\\r\\n \\r\\n 1\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
0}\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{neighborhood.title.rendered}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{propertyService.treatsTitle(property.post_title)}}

\\r\\n

{{propertyService.treatsTitle(property.title.rendered)}}

\\r\\n
\\r\\n \\r\\n {{property.acf.room}}\\r\\n 1\\\">quartos\\r\\n quarto\\r\\n \\r\\n \\r\\n {{property.acf.bathroom}}\\r\\n 1\\\">banheiros\\r\\n banheiro\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{property.acf.garage}}\\r\\n 1\\\">vagas\\r\\n vaga\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{property.acf.terrain_area | number}}m²\\r\\n área total\\r\\n \\r\\n \\r\\n {{property.acf.internal_area | number}}m²\\r\\n área útil\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{property.acf.value | currency:'BRL'}}/mês\\r\\n \\r\\n \\r\\n {{property.acf.address}}{{property.acf.number ? \\\", \\\" + property.acf.number : \\\"\\\"}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{property.acf.value | currency:'BRL'}}\\r\\n \\r\\n /mês\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Agendar visita\\r\\n \\r\\n \\r\\n Fechar\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
    \\r\\n \\r\\n \\r\\n \\\"\\\" Fotos\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"\\\" Video\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n Street View\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Outros imóveis da busca\\r\\n \\r\\n Referência: {{property.acf.code}}\\r\\n

{{property.title.formated}}

\\r\\n

\\r\\n {{property.acf.address}}{{property.acf.number ? \\\", \\\" +\\r\\n property.acf.number : \\\"\\\"}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Compartilhar\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Compartilhe\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n \\r\\n Quartos\\r\\n {{property.acf.room}}\\r\\n ({{property.acf.suite}} suíte)\\r\\n 1\\\"\\r\\n >({{property.acf.suite}} suítes)\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Banheiros\\r\\n {{property.acf.bathroom}}\\r\\n \\r\\n
\\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n \\r\\n Área útil\\r\\n {{property.acf.internal_area}}m²\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n \\r\\n Garagem\\r\\n {{property.acf.garage}}\\r\\n vaga\\r\\n 1\\\">vagas\\r\\n \\r\\n \\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n \\r\\n Andar\\r\\n {{property.acf.floor}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Ver menos\\r\\n Ver mais\\r\\n \\r\\n \\r\\n
\\r\\n

Comodidades

\\r\\n
    \\r\\n \\r\\n {{feature}}\\r\\n \\r\\n \\r\\n {{feature}}\\r\\n \\r\\n \\r\\n {{feature}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{property.acf.value | currency:'BRL'}}\\r\\n \\r\\n /mês\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Localização do imóvel

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n

\\r\\n Conheça o bairro {{property.acf.region.post_title}}\\r\\n

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Mais imóveis à venda nesse bairro\\r\\n Mais imóveis para alugar nesse bairro\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

Outros imóveis como esse

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n O imóvel que você está procurando não está mais disponível!\\r\\n Encontre o imóvel ideal para você\\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n

\\r\\n Recomendados para você\\r\\n Imóveis que você vai gostar\\r\\n

\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
0}\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros formulários de cadastro\\r\\n \\r\\n

\\r\\n Anuncie seu imóvel\\r\\n Preencha os dados do imóvel abaixo\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Endereço do imóvel

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Valores

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Áreas / Dimensões

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Características

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Lazer

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Características extras

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Água individual\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Aquecimento solar\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Aquecimento elétrico\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Cerca elétrica\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Câmeras de Segurança\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Portão eletrônico\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Documentos

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com os termos.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos\\r\\n dados.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Enviar imóvel\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Whatsapp é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Mensagem é requerido\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros cadastros pessoais\\r\\n \\r\\n

\\r\\n Cadastro de pessoa jurídica\\r\\n Preencha os dados abaixo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Dados gerais\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome da empresa é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail para contato é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Celular é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNPJ é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Ramo de atuação é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Número de empregados é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Endereço

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CEP é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Estado é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Cidade é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Bairro é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Endereço é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Número é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Referências

\\r\\n
\\r\\n\\r\\n

Referência bancária

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Banco é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Agência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Conta bancária é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Gerente é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ( + ) Adicionar nova referência\\r\\n\\r\\n
\\r\\n\\r\\n

Referência comercial

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Referência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Telefone é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ( + ) Adicionar nova referência\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Contrato Social é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de residência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de renda é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

Documentos sócios

\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade do sócio\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de residência do sócio\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ( + ) Adicionar novo sócio\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos dados.\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros cadastros pessoais\\r\\n \\r\\n

\\r\\n Cadastro de proprietário\\r\\n Preencha os dados abaixo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Dados pessoais\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail para contato é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Celular é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CPF é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n RG é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nacionalidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Naturalidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do pai é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome da mãe é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Dados do cônjuge\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CPF do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n RG do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nacionalidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Naturalidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do pai do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome da mãe do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Endereço

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CEP é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Estado é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Cidade é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Bairro é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Endereço é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Número é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados bancários

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Banco é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Agência é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Conta é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados profissionais

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Profissão é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Empresa é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Telefone é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade / Contrato Social é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de residência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de renda é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos dados.\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros formulários de cadastro\\r\\n \\r\\n

\\r\\n Reserva de salão de festa\\r\\n Preencha o formulário para reservar o salão\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CPF é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail para contato é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Celular é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados do imóvel

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Apartamento é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Condomínio é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Endereço é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Data requerida é requerido\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos dados.\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Observações

\\r\\n
    \\r\\n
  • \\r\\n As chaves deverão ser retiradas na Imobiliária Panorama e devolvidas na mesma no prazo de 1 dia útil seguinte ao evento.\\r\\n
  • \\r\\n
  • \\r\\n Quaisquer danos causados à propriedade serão de total responsabilidade do locatário.\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros formulários de cadastro\\r\\n \\r\\n

\\r\\n Seu cadastro online\\r\\n Selecione abaixo o tipo de cadastro\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros cadastros pessoais\\r\\n \\r\\n

\\r\\n Cadastro de pessoa física\\r\\n Preencha os dados abaixo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Dados pessoais\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail para contato é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Celular é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CPF é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n RG é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nacionalidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Naturalidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do pai é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome da mãe é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Dados do cônjuge\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CPF do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n RG do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nacionalidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Naturalidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome do pai do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome da mãe do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Endereço

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CEP é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Estado é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Cidade é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Bairro é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Endereço é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Número é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados bancários

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Banco é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Agência é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Conta é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados profissionais

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Profissão é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Empresa é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Telefone é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Referências

\\r\\n
\\r\\n

Referência comercial

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Referência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Telefone é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ( + ) Adicionar nova referência\\r\\n
\\r\\n

Referência pessoal

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Referência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Telefone é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ( + ) Adicionar nova referência\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de residência é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Certidão de nascimento / Certidão de casamento é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Comprovante de renda é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CNH / Identidade do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Certidão de nascimento / Certidão de casamento do cônjuge é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos dados.\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Whatsapp é requerido\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n Preencha os dados abaixo para entrarmos em contato com você \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Nome é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail é requerido\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Whatsapp é requerido\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n

\\r\\n Formulários cadastrais\\r\\n Comodidade para você\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n \\\"\\\"\\r\\n Outros formulários de cadastro\\r\\n \\r\\n

\\r\\n Desocupação de imóvel\\r\\n Formulário para aviso de desocupação de imóvel\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Locatário é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n E-mail para contato é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Celular é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Dados do imóvel

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n CEP é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Estado é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Cidade é requerida\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Bairro é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Endereço é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Número é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Motivo é requerido\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Para submeter o formulário deve-se concordar com a utilização dos dados.\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Observações

\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\r\\n {{error == null ? 'Enviado com sucesso!' : 'Erro ao enviar!'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n O que você deseja?\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Onde?\\r\\n \\r\\n \\\"\\\"\\r\\n Abrir mapa\\r\\n
\\r\\n
\\r\\n Imóvel de qual tipo?\\r\\n \\r\\n \\\"\\\"\\r\\n Abrir seleção de tipo de imóvel\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Quartos\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Suítes\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Banheiros\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Vagas de garagem\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n Faixa de preço\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Área\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Código de referência\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n Mais opções do imóvel?
\\r\\n Utilize nossa busca avançada\\r\\n
\\r\\n \\r\\n Busca avançada\\r\\n Fechar busca avançada\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Selecione uma ou mais localidades\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Selecione um ou mais tipos de imóveis\\r\\n\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Resultados da busca\\r\\n \\r\\n Alterar busca\\r\\n \\\"\\\"\\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Oops!\\r\\n Não encontramos nenhum imóvel com as seguintes caracterísicas.\\r\\n
\\r\\n Quer um imóvel assim?\\r\\n Entre em contato, nós encontramos para você\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n Finalidade\\r\\n {{queryParams.searchType == \\\"alugar\\\" ? \\\"Aluguel\\\" : \\\"Compra\\\"}}\\r\\n
\\r\\n
\\r\\n Tipo do imóvel\\r\\n {{getSearchPropertyTypeNameFormatted()}}\\r\\n
\\r\\n
\\r\\n Localização\\r\\n {{getSearchPropertyLocationNameFormatted()}}\\r\\n
\\r\\n
\\r\\n Quartos\\r\\n {{queryParams.rooms}}\\r\\n
\\r\\n
\\r\\n Suites\\r\\n {{queryParams.suites}}\\r\\n
\\r\\n
\\r\\n Banheiros\\r\\n {{queryParams.bathrooms}}\\r\\n
\\r\\n
\\r\\n Garagem\\r\\n {{queryParams.garages}}\\r\\n
\\r\\n
\\r\\n Mobiliado\\r\\n {{queryParams.hasForniture == true ? 'Sim' : 'Não'}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Alterar busca\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Vamos tentar novamente?

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n Imóveis que podem interessar\\r\\n Separamos alguns imóveis que podem te interessar também\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n Carregando resultados\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Component } from \"@angular/core\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { FooterService } from \"./services\";\r\nimport { MenuBarService } from \"../menu-bar/services\";\r\n\r\n@Component({\r\n selector: \"app-footer\",\r\n templateUrl: \"./footer.component.html\"\r\n})\r\n\r\nexport class FooterComponent {\r\n\r\n // variáveis de carregamento\r\n public isLoadingMenu: any;\r\n\r\n // variáveis\r\n public mainAddress: any;\r\n public phoneNumber: any[];\r\n public saleWppNumber: any[];\r\n public rentWppNumber: any[];\r\n public menuFooterInstitucional: Array;\r\n public menuFooterParaVoce: Array;\r\n\r\n // flags\r\n public wppContactOpen: boolean;\r\n\r\n // formulário newsletter\r\n public newsletterForm: any;\r\n\r\n // serviços de requisição\r\n private readonly footerService: FooterService;\r\n\r\n constructor(footerService: FooterService) {\r\n this.footerService = footerService;\r\n }\r\n\r\n\r\n public ngOnInit(): void {\r\n\r\n let loadingVariables = {\r\n menuInstitucional: true,\r\n menuParaVoce: true\r\n };\r\n\r\n this.isLoadingMenu = loadingVariables;\r\n\r\n // cria formulário de newsletter\r\n this.createNewsletterForm();\r\n\r\n\r\n // carregamento do menu institucional\r\n this.footerService.getFooterMenuInstitucional()\r\n .subscribe((data: any[]) => {\r\n this.menuFooterInstitucional = this.treatsMenu(data);\r\n this.isLoadingMenu.menuInstitucional = false;\r\n },\r\n error => () => {\r\n this.isLoadingMenu.menuInstitucional = false;\r\n }\r\n );\r\n\r\n this.footerService.getFooterMenuParaVoce()\r\n .subscribe((data: any[]) => {\r\n this.menuFooterParaVoce = this.treatsMenu(data);\r\n this.isLoadingMenu.menuParaVoce = false;\r\n },\r\n error => () => {\r\n this.isLoadingMenu.menuParaVoce = false;\r\n }\r\n );\r\n\r\n // carrega o endereço e telefones\r\n this.footerService.getOption('main_address').subscribe((data: any[]) => { this.mainAddress = data; });\r\n this.footerService.getOption('phone_textbox').subscribe((data: any[]) => { this.phoneNumber = data; });\r\n this.footerService.getOption('sale_wpp_textbox').subscribe((data: any[]) => { this.saleWppNumber = data; });\r\n this.footerService.getOption('rent_wpp_textbox').subscribe((data: any[]) => { this.rentWppNumber = data; });\r\n\r\n }\r\n\r\n // função de criação do formulário de newsletter\r\n private createNewsletterForm(): void {\r\n this.newsletterForm = new FormGroup({\r\n searchType: new FormControl('')\r\n });\r\n }\r\n\r\n // tratamento do menu\r\n private treatsMenu(req) {\r\n\r\n let menu = [];\r\n let isInternalRouter = false;\r\n\r\n // tratamento de itens do menu\r\n req.forEach(menuItem => {\r\n if(menuItem.menu_item_parent == 0) {\r\n\r\n isInternalRouter = menuItem.url.includes('#./');\r\n\r\n menu.push({\r\n id: menuItem.ID,\r\n title: menuItem.title,\r\n url: isInternalRouter ? menuItem.url.replace('#', '') : menuItem.url,\r\n useRouter: isInternalRouter,\r\n submenu: null\r\n });\r\n }\r\n });\r\n\r\n\r\n // tratamento de itens do submenu\r\n menu.forEach(menuItem => {\r\n req.forEach(submenuItem => {\r\n if(submenuItem.menu_item_parent == menuItem.id) {\r\n\r\n isInternalRouter = submenuItem.url.includes('#./');\r\n\r\n menuItem.submenu = menuItem.submenu == null ? [] : menuItem.submenu;\r\n\r\n menuItem.submenu.push({\r\n id: submenuItem.ID,\r\n title: submenuItem.title,\r\n url: isInternalRouter ? submenuItem.url.replace('#', '') : submenuItem.url,\r\n useRouter: isInternalRouter\r\n });\r\n }\r\n });\r\n });\r\n\r\n return menu;\r\n }\r\n\r\n private toggleWhatsAppOpen() {\r\n this.wppContactOpen = !this.wppContactOpen;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class FooterService {\r\n\r\n private actionUrl: string;\r\n private wpEndpoint: string;\r\n private wpApiOptEndpoint: string;\r\n\r\n\r\n private readonly MENU_FOOTER_INSTITUCIONAL = 'footer_menu_institucional';\r\n private readonly MENU_FOOTER_PARAVOCE = 'footer_menu_paravoce';\r\n\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndpoint = 'custom_endpoint/menu/';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndpoint;\r\n this.wpApiOptEndpoint = configWpApi.wpApiOptUrl;\r\n }\r\n\r\n public getFooterMenuInstitucional(): Observable {\r\n return this.http.get(this.actionUrl + this.MENU_FOOTER_INSTITUCIONAL)\r\n }\r\n\r\n public getFooterMenuParaVoce(): Observable {\r\n return this.http.get(this.actionUrl + this.MENU_FOOTER_PARAVOCE)\r\n }\r\n\r\n public getOption(optionName): Observable {\r\n return this.http.get(this.wpApiOptEndpoint + optionName);\r\n }\r\n\r\n}\r\n","export * from \"./footer.service\"\r\n","export * from \"./menu-bar/menu-bar.component\";\r\nexport * from \"./footer/footer.component\";\r\nexport * from \"./slider/slider.component\";\r\nexport * from \"./streetview/streetview.component\";\r\nexport * from \"./nearby-places/nearby-places.component\";\r\n\r\n","import { Component } from '@angular/core';\r\nimport { MenuBarService } from \"./services\";\r\nimport {query} from \"@angular/animations\";\r\n\r\n@Component({\r\n selector: \"app-menu-bar\",\r\n templateUrl: \"./menu-bar.component.html\"\r\n})\r\nexport class MenuBarComponent {\r\n\r\n public isLoading: boolean;\r\n public isLoadingDesktop: boolean;\r\n\r\n public isOpen: boolean;\r\n\r\n public menuHeader: Array;\r\n public menuHeaderDesktop: Array;\r\n\r\n public phoneNumber: any[];\r\n public saleWppNumber: any[];\r\n public rentWppNumber: any[];\r\n\r\n\r\n\r\n // Declaração de serviços\r\n private readonly menubarService: MenuBarService;\r\n\r\n constructor(menubarSerivce: MenuBarService) {\r\n this.menubarService = menubarSerivce;\r\n }\r\n\r\n\r\n public closeMenu(): void {\r\n this.isOpen = false;\r\n }\r\n\r\n public openMenu(): void {\r\n this.isOpen = true;\r\n }\r\n\r\n\r\n public ngOnInit(): void {\r\n\r\n this.isLoading = true;\r\n this.isLoadingDesktop = true;\r\n\r\n this.isOpen = false;\r\n\r\n this.menubarService.getHeaderMenu()\r\n .subscribe((data: any[]) => {\r\n this.menuHeader = this.treatsMenu(data);\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n this.menubarService.getHeaderMenuDesktop()\r\n .subscribe((data: any[]) => {\r\n this.menuHeaderDesktop = this.treatsMenu(data);\r\n this.isLoadingDesktop = false;\r\n },\r\n error => () => {\r\n this.isLoadingDesktop = false;\r\n }\r\n );\r\n\r\n this.menubarService.getPhoneNumber('phone_textbox').subscribe((data: any[]) => { this.phoneNumber = data; });\r\n this.menubarService.getPhoneNumber('sale_wpp_textbox').subscribe((data: any[]) => { this.saleWppNumber = data; });\r\n this.menubarService.getPhoneNumber('rent_wpp_textbox').subscribe((data: any[]) => { this.rentWppNumber = data; });\r\n }\r\n\r\n\r\n private treatsMenu(req) {\r\n\r\n if(!req.length) return;\r\n let menu = [];\r\n let isInternalRouter = false;\r\n let queryParams = '';\r\n\r\n // tratamento de itens do menu\r\n req.forEach(menuItem => {\r\n if(menuItem.menu_item_parent == 0) {\r\n\r\n if(menuItem.url.indexOf('?') != -1) {\r\n queryParams = menuItem.url;\r\n menuItem.url = menuItem.url.split('?')[0];\r\n }\r\n\r\n isInternalRouter = menuItem.url.includes('#./');\r\n menu.push({\r\n id: menuItem.ID,\r\n title: menuItem.title,\r\n url: isInternalRouter ? menuItem.url.replace('#', '') : menuItem.url,\r\n target: isInternalRouter ? 'self' : 'blank',\r\n queryParams: this.getQueryParams(queryParams),\r\n useRouter: isInternalRouter,\r\n submenu: null\r\n });\r\n queryParams = '';\r\n }\r\n });\r\n\r\n\r\n // tratamento de itens do submenu\r\n menu.forEach(menuItem => {\r\n req.forEach(submenuItem => {\r\n if(submenuItem.menu_item_parent == menuItem.id) {\r\n\r\n isInternalRouter = submenuItem.url.includes('#./');\r\n\r\n menuItem.submenu = menuItem.submenu == null ? [] : menuItem.submenu;\r\n\r\n if(submenuItem.url.indexOf('?') != -1) {\r\n queryParams = submenuItem.url;\r\n submenuItem.url = submenuItem.url.split('?')[0];\r\n }\r\n\r\n menuItem.submenu.push({\r\n id: submenuItem.ID,\r\n title: submenuItem.title,\r\n url: isInternalRouter ? submenuItem.url.replace('#', '') : submenuItem.url,\r\n target: isInternalRouter ? 'self' : 'blank',\r\n queryParams: this.getQueryParams(queryParams),\r\n useRouter: isInternalRouter\r\n });\r\n queryParams = '';\r\n }\r\n });\r\n });\r\n\r\n return menu;\r\n }\r\n\r\n private getQueryParams(link): Array {\r\n let queryParams = [];\r\n\r\n link = link.split('?');\r\n link = link.length > 1 ? link[1] : link[0];\r\n link = link.split('&');\r\n link.forEach((param) => {\r\n let paramSplited = param.split('=');\r\n queryParams[paramSplited[0]] = paramSplited[1];\r\n });\r\n\r\n return queryParams;\r\n }\r\n\r\n}\r\n","export * from \"./menu-bar.service\"\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class MenuBarService {\r\n\r\n\r\n private actionUrl: string;\r\n private wpEndpoint: string;\r\n private wpApiOptEndpoint: string;\r\n\r\n private readonly MENU_TO_LOAD_MOBILE = 'main_menu';\r\n private readonly MENU_TO_LOAD_DESKTOP = 'desktop_main_menu';\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndpoint = 'custom_endpoint/menu/';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndpoint;\r\n this.wpApiOptEndpoint = configWpApi.wpApiOptUrl;\r\n }\r\n\r\n public getHeaderMenu(): Observable {\r\n return this.http.get(this.actionUrl + this.MENU_TO_LOAD_MOBILE)\r\n }\r\n public getHeaderMenuDesktop(): Observable {\r\n return this.http.get(this.actionUrl + this.MENU_TO_LOAD_DESKTOP)\r\n }\r\n\r\n public getPhoneNumber(phoneName): Observable {\r\n return this.http.get(this.wpApiOptEndpoint + phoneName);\r\n }\r\n\r\n\r\n}\r\n","import {Component, OnInit, ViewChild, Input, Inject, PLATFORM_ID, NgZone} from '@angular/core';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { NearbyPlacesService } from \"./services/nearby-places.service\";\r\nimport { isPlatformBrowser } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'app-nearby-places-map',\r\n templateUrl: './nearby-places.component.html'\r\n})\r\nexport class NearbyPlacesComponent implements OnInit {\r\n\r\n @ViewChild('nearbyPlacesMap', {static: false})\r\n nearbyPlacesMap: any;\r\n\r\n @Input()\r\n latitude: number = 42.345573;\r\n\r\n @Input()\r\n longitude: number = -71.098326;\r\n\r\n @Input()\r\n zoom: number = 16;\r\n\r\n @Input()\r\n scrollwheel: boolean = false;\r\n\r\n private map: any;\r\n\r\n public loadingLocations: boolean;\r\n\r\n public nearbyPlacesReached: any;\r\n\r\n private locationTypes = [\r\n 'park',\r\n 'school',\r\n 'university',\r\n 'hospital',\r\n 'church',\r\n 'pharmacy',\r\n 'restaurant',\r\n 'bus_station',\r\n 'supermarket',\r\n 'gas_station'\r\n ];\r\n private typeNamed = {\r\n 'park': ['Parques', 'o'],\r\n 'school': ['Instituições de ensino', 'a'],\r\n 'university': ['Universidades', 'a'],\r\n 'hospital': ['Hospitais', 'o'],\r\n 'church': ['Igrejas', 'a'],\r\n 'pharmacy': ['Farmácias', 'a'],\r\n 'restaurant': ['Restaurantes', 'o'],\r\n 'bus_station': ['Rodoviária', 'a'],\r\n 'supermarket': ['Supermercados', 'o'],\r\n 'gas_station': ['Postos de combustível', 'o']\r\n };\r\n\r\n\r\n private readonly nearbyPlacesServices: NearbyPlacesService;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object, private ngZone: NgZone, private mapsAPILoader: MapsAPILoader, nearbyPlacesService: NearbyPlacesService) {\r\n this.nearbyPlacesServices = nearbyPlacesService;\r\n this.loadingLocations = true;\r\n this.nearbyPlacesReached = null;\r\n }\r\n\r\n async ngOnInit() {\r\n if(isPlatformBrowser(this.platformId)){\r\n\r\n this.loadingLocations = true;\r\n let response = await this.nearbyPlacesServices.findWordpressPlaces(this.latitude, this.longitude).toPromise();\r\n\r\n this.mapsAPILoader.load().then(() => {\r\n\r\n let center = { lat: this.latitude, lng: this.longitude };\r\n this.map = new window['google'].maps.Map(this.nearbyPlacesMap.nativeElement, { center: center, zoom: this.zoom, scrollwheel: this.scrollwheel });\r\n var marker = new window['google'].maps.Marker({\r\n position: center,\r\n map: this.map,\r\n title: 'Hello World!'\r\n });\r\n if (response) {\r\n this.loadingLocations = false;\r\n this.nearbyPlacesReached = JSON.parse(response);\r\n }\r\n else {\r\n\r\n this.nearbyPlacesServices\r\n .searchNearbyPlaces(this.latitude, this.longitude, this.map)\r\n .then((data: any[]) => {\r\n\r\n this.nearbyPlacesReached = data;\r\n this.nearbyPlacesServices.setWordpressPlaces(this.latitude, this.longitude, data).toPromise()\r\n .then((response) => {\r\n console.log(\"response\", response);\r\n })\r\n .catch((error: Error) => {\r\n console.log(\"error\", error);\r\n });\r\n this.loadingLocations = false;\r\n });\r\n }\r\n })\r\n }\r\n }\r\n \r\n public getMap(): any {\r\n return this.map;\r\n }\r\n\r\n public async categoryzePlaces(data: Array): Promise> {\r\n let categorized = [];\r\n\r\n for (let type of this.locationTypes) {\r\n categorized[type] = [];\r\n for (let items of data) {\r\n if(items !== undefined) {\r\n for (let item of items) {\r\n if (item.types.indexOf(type) !== -1) {\r\n categorized[type].push(item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return categorized;\r\n }\r\n\r\n public getMainType(items): string {\r\n let type = '';\r\n\r\n if (items == undefined)\r\n return 'none';\r\n\r\n for (let category of this.locationTypes) {\r\n for (let item of items) {\r\n if (item.types.indexOf(category) !== -1)\r\n return category;\r\n }\r\n }\r\n return items[0].types[0];\r\n }\r\n\r\n\r\n public countTypeItems(items): number {\r\n let type = '';\r\n\r\n if (items == undefined)\r\n return 0;\r\n\r\n for (let category of this.locationTypes) {\r\n for (let item of items) {\r\n if (item.types.indexOf(category) !== -1)\r\n return items.length;\r\n }\r\n }\r\n return items.length;\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class NearbyPlacesService {\r\n /**\r\n * Url de ação para requisição.\r\n */\r\n private actionUrl: string;\r\n /**\r\n * Endpoint da aplicação wordpress.\r\n */\r\n protected wpEndpoint: string;\r\n\r\n private placesReached: any;\r\n\r\n private googleMapsService: any;\r\n\r\n private locationTypes = [\r\n \"park\",\r\n // 'university',\r\n \"school\",\r\n \"hospital\",\r\n \"church\",\r\n \"pharmacy\",\r\n \"restaurant\",\r\n \"bus_station\",\r\n \"supermarket\",\r\n \"gas_station\",\r\n ];\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.placesReached = [];\r\n\r\n this.wpEndpoint = \"custom_endpoint/maps/nearby_places\";\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndpoint;\r\n }\r\n\r\n public async searchNearbyPlaces(lat, lon, map): Promise {\r\n const googleMapsService = new window[\"google\"].maps.places.PlacesService(map);\r\n\r\n var pyrmont = new window[\"google\"].maps.LatLng(lat, lon);\r\n\r\n let requestPool = [];\r\n\r\n for (let type of this.locationTypes) {\r\n let request = {\r\n location: pyrmont,\r\n radius: \"500\",\r\n type: type,\r\n };\r\n requestPool.push(this.searchNearbyPlacesGoogle(googleMapsService, request));\r\n }\r\n\r\n return await Promise.all(requestPool);\r\n }\r\n\r\n /**\r\n * ESSA MERDA É ASSINCRONA MAS NÃO FUNCIONA DE FORMA ASSINCRONA\r\n *\r\n * A API do Google Maps é burra. Não adianta tentar,\r\n * se você conseguir resolver e retornar de forma correta\r\n * pro front te pago um X Tudo e uma coca lata\r\n *\r\n * TCHARLES RESOLVEU SAPORRA COM A FUNÇÂO DE BAIXO.\r\n * DIA 04/05/2020. ESPERANDO MEU X TUDO COM A COCA LATA.\r\n * */\r\n public async nearbySearchCustom(request) {\r\n return new Promise((resolve, reject) => {\r\n this.googleMapsService.nearbySearch(request, async (results, status) => {\r\n if (status == window[\"google\"].maps.places.PlacesServiceStatus.OK) {\r\n resolve(results);\r\n } else {\r\n resolve();\r\n }\r\n });\r\n });\r\n }\r\n public searchNearbyPlacesGoogle(googleMapsService: any, request: any) {\r\n return new Promise(function (resolve, reject) {\r\n googleMapsService.nearbySearch(request, function (results, status) {\r\n if (status != window[\"google\"].maps.places.PlacesServiceStatus.OK) {\r\n // reject(new Error(status));\r\n resolve();\r\n } else {\r\n resolve(results);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public findWordpressPlaces(latitude: number, longitude: number): Observable {\r\n let endpoint =\r\n this.actionUrl + \"?latitude=\" + latitude + \"&longitude=\" + longitude + \"&radius=500\";\r\n return this.http.get(endpoint);\r\n }\r\n\r\n public setWordpressPlaces(latitude: number, longitude: number, data: Object) {\r\n let request = { data: data, latitude: latitude, longitude: longitude, radius: \"500\" };\r\n return this.http.post(this.actionUrl, request);\r\n }\r\n}\r\n","export * from \"./sliders.service\";\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SlidersService {\r\n\r\n\r\n private actionUrl: string;\r\n private wpEndpoint: string;\r\n private wpApiOptEndpoint: string;\r\n\r\n private readonly MENU_TO_LOAD_MOBILE = 'main_menu';\r\n private readonly MENU_TO_LOAD_DESKTOP = 'desktop_main_menu';\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndpoint = 'wp/v2/slider';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndpoint;\r\n this.wpApiOptEndpoint = configWpApi.wpApiOptUrl;\r\n }\r\n\r\n public getSliders(): Observable {\r\n return this.http.get(this.actionUrl)\r\n }\r\n\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {SlidersService} from \"./services\";\r\nimport {OwlOptions} from \"ngx-owl-carousel-o\";\r\n\r\n@Component({\r\n selector: \"app-slider\",\r\n templateUrl: \"./slider.component.html\"\r\n})\r\nexport class SliderComponent {\r\n\r\n public isLoading: boolean;\r\n\r\n public slider: Array;\r\n\r\n // Declaração de serviços\r\n private readonly slidersService: SlidersService;\r\n\r\n constructor(slidersSerivce: SlidersService) {\r\n this.slidersService = slidersSerivce;\r\n }\r\n\r\n\r\n public ngOnInit(): void {\r\n\r\n this.isLoading = true;\r\n\r\n this.slidersService.getSliders()\r\n .subscribe((data: any[]) => {\r\n this.slider = data;\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n sliderCustomOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n autoplay: true,\r\n autoplayTimeout: 5000,\r\n autoplayHoverPause: true,\r\n navText: ['prev', 'next'],\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 400: {\r\n items: 1\r\n },\r\n 740: {\r\n items: 1\r\n },\r\n 940: {\r\n items: 1\r\n }\r\n },\r\n nav: true\r\n }\r\n\r\n}\r\n","export default \"#streetview-map {\\n display: none;\\n}\\n\\n#streetview-pano {\\n width: 100%;\\n height: 100%;\\n}\\n\\n#streetview-container {\\n position: relative;\\n min-height: 200px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLWNvbXBvbmVudHMvc3RyZWV0dmlldy9DOlxcVXNlcnNcXHR1cnJhXFxPbmVEcml2ZVxcRG9jdW1lbnRzXFxQUk9KRVRPU1xcQU5HVUxBUlxcaW1vYi1wYW5vcmFtYS1hbmd1bGFyLWFwcGxpY2F0aW9uL3NyY1xcYXBwXFxhcHAtY29tcG9uZW50c1xcc3RyZWV0dmlld1xcc3RyZWV0dmlldy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvYXBwLWNvbXBvbmVudHMvc3RyZWV0dmlldy9zdHJlZXR2aWV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksYUFBQTtBQ0NKOztBREVBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7QUNDSjs7QURFQTtFQUNJLGtCQUFBO0VBQ0EsaUJBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2FwcC1jb21wb25lbnRzL3N0cmVldHZpZXcvc3RyZWV0dmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiNzdHJlZXR2aWV3LW1hcCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jc3RyZWV0dmlldy1wYW5vIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4jc3RyZWV0dmlldy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbn1cclxuIiwiI3N0cmVldHZpZXctbWFwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3N0cmVldHZpZXctcGFubyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNzdHJlZXR2aWV3LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMjAwcHg7XG59Il19 */\"","import { Component, OnInit, ViewChild, Input, Inject, PLATFORM_ID } from '@angular/core';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-streetview',\r\n templateUrl: './streetview.component.html',\r\n styleUrls: ['./streetview.component.scss']\r\n})\r\nexport class StreetviewComponent implements OnInit {\r\n\r\n @ViewChild('streetviewMap', {static: false})\r\n streetviewMap: any;\r\n\r\n @ViewChild('streetviewPano', {static: false})\r\n streetviewPano: any;\r\n\r\n @Input()\r\n latitude: number = 42.345573;\r\n\r\n @Input()\r\n longitude: number = -71.098326;\r\n\r\n @Input()\r\n zoom: number = 10;\r\n\r\n @Input()\r\n heading: number = 10;\r\n\r\n @Input()\r\n pitch: number = 0;\r\n\r\n @Input()\r\n scrollwheel: boolean = false;\r\n\r\n constructor(@Inject(PLATFORM_ID) private platformId: Object, private mapsAPILoader: MapsAPILoader) { }\r\n\r\n ngOnInit() {\r\n if(isPlatformBrowser(this.platformId)){\r\n this.mapsAPILoader.load().then(() => {\r\n let center = { lat: this.latitude, lng: this.longitude };\r\n let map = new window['google'].maps.Map(this.streetviewMap.nativeElement, { center: center, zoom: this.zoom, scrollwheel: this.scrollwheel });\r\n let panorama = new window['google'].maps.StreetViewPanorama(\r\n this.streetviewPano.nativeElement, {\r\n position: center,\r\n pov: { heading: this.heading, pitch: this.pitch },\r\n scrollwheel: this.scrollwheel\r\n });\r\n map.setStreetView(panorama);\r\n });\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HomeView } from './app-views';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot([\r\n {\r\n path: \"\",\r\n component: HomeView\r\n },\r\n //--- Módulos\r\n // Teste\r\n {\r\n path: \"teste\",\r\n loadChildren: () => import(\"./teste/private/teste.module\").then(m => m.TesteModule)\r\n },\r\n // Imóvel\r\n {\r\n path: \"imovel\",\r\n loadChildren: () => import(\"./property/private/property.module\").then(m => m.PropertyModule)\r\n },\r\n // Imóvel (link indexado)\r\n {\r\n path: \"detalhes-imovel.php\",\r\n loadChildren: () => import(\"./property/private/property.module\").then(m => m.PropertyModule)\r\n },\r\n // bairro\r\n {\r\n path: \"bairro\",\r\n loadChildren: () => import(\"./neighborhood/private/neighborhood.module\").then(m => m.NeighborhoodModule)\r\n },\r\n // busca\r\n {\r\n path: \"busca\",\r\n loadChildren: () => import(\"./search/private/search.module\").then(m => m.SearchModule)\r\n },\r\n // fichas cadastrais\r\n {\r\n path: \"formularios-de-cadastro\",\r\n loadChildren: () => import(\"./registration-form/private/registration-form.module\").then(m => m.RegistrationFormModule)\r\n },\r\n // páginas\r\n {\r\n path: \"pagina\",\r\n loadChildren: () => import(\"./page/private/page.module\").then(m => m.PageModule)\r\n },\r\n // time\r\n {\r\n path: \"equipe\",\r\n loadChildren: () => import(\"./team/private/team.module\").then(m => m.TeamModule)\r\n },\r\n // contato\r\n {\r\n path: \"contato\",\r\n loadChildren: () => import(\"./contact/private/contact.module\").then(m => m.ContactModule)\r\n }\r\n ], {scrollPositionRestoration: 'enabled'})\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport {CookieService} from \"ngx-cookie-service\";\r\nimport {split} from \"ts-node\";\r\nimport {Title} from \"@angular/platform-browser\";\r\nimport {GLOBAL_TITLE} from \"../../app.module\";\r\n\r\n@Component({\r\n selector: \"app-home-view\",\r\n templateUrl: \"./home.view.html\"\r\n})\r\nexport class HomeView {\r\n\r\n public recommendedPropertiesByCookie: Array;\r\n\r\n private readonly cookieService: CookieService;\r\n private readonly titleService: Title;\r\n\r\n constructor(cookieService: CookieService, titleService: Title) {\r\n this.titleService = titleService;\r\n this.cookieService = cookieService;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.titleService.setTitle(GLOBAL_TITLE);\r\n this.recommendedPropertiesByCookie = this.cookieService.get('everyPropertyLookedAt').split(',');\r\n }\r\n\r\n}","export * from \"./home/home.view\";","import { Component } from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\ndeclare let ga: Function;\r\ndeclare let fbq: Function;\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n})\r\nexport class AppComponent {\r\n public title = \"panorama-angular\";\r\n\r\n constructor(public router: Router) {\r\n // subscribe to router events and send team views to Google Analytics\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n ga(\"set\", \"page\", event.urlAfterRedirects);\r\n ga(\"send\", \"pageview\");\r\n fbq(\"track\", \"PageView\");\r\n }\r\n });\r\n }\r\n}\r\n","// Angular Imports\r\nimport { BrowserModule, Title } from \"@angular/platform-browser\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { LOCALE_ID } from '@angular/core';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localePt from '@angular/common/locales/pt';\r\n\r\nregisterLocaleData(localePt);\r\n\r\n// Http Request Module\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n\r\n// Reactive Forms\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\n// Carousel\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\n// Lightbox\r\nimport { LightboxModule } from \"ngx-lightbox\";\r\n\r\n// Google Maps\r\nimport { AgmCoreModule } from '@agm/core';\r\n\r\n// Mascara de formulários\r\nimport { IConfig, NgxMaskModule } from \"ngx-mask\";\r\n\r\n// Componentes da aplicação\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { MenuBarComponent, SliderComponent } from \"./app-components\";\r\nimport { FooterComponent } from \"./app-components\";\r\nimport { NeighborhoodModule } from \"./neighborhood/private/neighborhood.module\";\r\nimport { SearchModule } from \"./search/private/search.module\";\r\nimport { PropertyModule } from \"./property/private/property.module\";\r\n\r\n// Views\r\nimport { HomeView } from \"./app-views\";\r\nimport { CookieService } from \"ngx-cookie-service\";\r\nimport { RegistrationFormModule } from \"./registration-form/private/registration-form.module\";\r\nimport { WhatsappPipe } from './pipes/whatsapp.pipe';\r\n\r\nexport const options: Partial | (() => Partial) = {};\r\n@NgModule({\r\n declarations: [\r\n // Components\r\n // root components\r\n AppComponent,\r\n MenuBarComponent,\r\n FooterComponent,\r\n\t\tSliderComponent,\r\n\r\n // Views\r\n HomeView,\r\n\r\n WhatsappPipe,\r\n\r\n ],\r\n\timports: [\r\n\t\tBrowserModule,\r\n\t\tAppRoutingModule,\r\n\r\n\t\t// Http Module to load wordpress api\r\n\t\tHttpClientModule,\r\n\t\tReactiveFormsModule,\r\n\r\n\t\t// carousel\r\n\t\tCarouselModule,\r\n\t\tBrowserAnimationsModule,\r\n\r\n\t\t// lightbox\r\n\t\tLightboxModule,\r\n\r\n\t\t// bairros\r\n\t\tNeighborhoodModule,\r\n\r\n\t\t// busca\r\n\t\tSearchModule,\r\n\t\tPropertyModule,\r\n\r\n\t\t// maps\r\n\t\tAgmCoreModule.forRoot({\r\n\t\t\tapiKey: 'AIzaSyBMLsr2opRI1naridY8jnBe--WljUlD6yM',\r\n\t\t\tlibraries: ['places']\r\n\t\t}),\r\n\r\n\t\t// mascaras\r\n\t\tNgxMaskModule.forRoot(options),\r\n\t\tRegistrationFormModule\r\n\t],\r\n providers: [\r\n\t\t{\r\n\t\t\tprovide: LOCALE_ID,\r\n\t\t\tuseValue: 'pt-BR'\r\n\t\t},\r\n CookieService,\r\n\t\tTitle\r\n ],\r\n exports: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n\r\n}\r\n\r\nexport const GLOBAL_TITLE = 'Imobiliária Panorama';\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ConfigurationWpApi {\r\n\r\n public readonly server = 'https://backofficeimobpanorama.com.br/';\r\n public readonly apiUrl = 'wp-json/';\r\n public readonly wpApiUrl = this.server + this.apiUrl;\r\n public readonly wpApiOptUrl = this.wpApiUrl + 'custom_endpoint/option/';\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { NeighborhoodView, NeighborhoodListView, NeighborhoodListPageView } from './views';\r\nimport { NeighborhoodRoutingModule } from \"./neighborhood.routing\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\n// import { PropertyModule } from \"../../property/private/property.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n NeighborhoodRoutingModule,\r\n CarouselModule,\r\n // PropertyModule\r\n ],\r\n declarations: [\r\n // Views\r\n NeighborhoodView,\r\n NeighborhoodListView,\r\n NeighborhoodListPageView\r\n ],\r\n exports: [\r\n NeighborhoodListView\r\n ]\r\n})\r\nexport class NeighborhoodModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { NeighborhoodView, NeighborhoodListPageView } from \"./views\";\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild([\r\n {\r\n path: \"\",\r\n component: NeighborhoodListPageView\r\n },\r\n {\r\n path: \":rewriteUrl\",\r\n component: NeighborhoodView\r\n }\r\n ])\r\n ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class NeighborhoodRoutingModule {}","export * from \"./neighborhood/neighborhood.view\"\r\nexport * from \"./neighborhood-list/neighborhood-list.view\"\r\nexport * from \"./neighborhood-list-page/neighborhood.view\"\r\n","import { Component } from \"@angular/core\";\r\nimport { NeighborhoodService } from \"../../../shared/services\";\r\n\r\n@Component({\r\n selector: 'neighborhood-list-page-view',\r\n templateUrl: './neighborhood-list-page.view.html'\r\n})\r\nexport class NeighborhoodListPageView {\r\n\r\n public isLoading: boolean;\r\n\r\n public exibition: string;\r\n\r\n private readonly EXIBITION_IMAGE_ONLY = 'image_only';\r\n\r\n public neighborhoodList: Array;\r\n\r\n private readonly neighborhoodService: NeighborhoodService;\r\n\r\n\r\n constructor(neighborhoodService: NeighborhoodService) {\r\n this.neighborhoodService = neighborhoodService;\r\n this.exibition = this.EXIBITION_IMAGE_ONLY;\r\n }\r\n\r\n\r\n public ngOnInit(): void {\r\n this.isLoading = true;\r\n\r\n this.neighborhoodService.getNeighborhoods([])\r\n .subscribe((data: any[]) => {\r\n this.neighborhoodList = this.treatsToShow(data);\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n private treatsToShow(neighborhoodList: Array): Array {\r\n\r\n let newNeighborhoodList = [];\r\n\r\n neighborhoodList.forEach((neighborhood: any) => {\r\n\r\n neighborhood.url = neighborhood.ID + '-' + neighborhood.post_name;\r\n\r\n if(this.exibition == this.EXIBITION_IMAGE_ONLY) {\r\n if(neighborhood.images.length)\r\n newNeighborhoodList.push(neighborhood);\r\n } else {\r\n newNeighborhoodList.push(neighborhood);\r\n }\r\n });\r\n\r\n return newNeighborhoodList;\r\n }\r\n\r\n\r\n}","import { Component, Input } from \"@angular/core\";\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\nimport { NeighborhoodService } from \"../../../shared/services\";\r\n\r\n@Component({\r\n selector: 'app-neighborhood-list',\r\n templateUrl: './neighborhood-list.view.html'\r\n})\r\n\r\nexport class NeighborhoodListView {\r\n\r\n public isLoading: boolean;\r\n\r\n @Input()\r\n public neighborhoodIds: Array;\r\n\r\n @Input()\r\n public exibition: string;\r\n\r\n private readonly EXIBITION_IMAGE_ONLY = 'image_only';\r\n\r\n public neighborhoodList: Array;\r\n\r\n private readonly neighborhoodService: NeighborhoodService;\r\n\r\n neighborhoodCustomOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1.15\r\n },\r\n 400: {\r\n items: 2.2\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n }\r\n\r\n\r\n constructor(neighborhoodService: NeighborhoodService) {\r\n this.neighborhoodService = neighborhoodService;\r\n this.exibition = this.exibition != null ? this.exibition : this.EXIBITION_IMAGE_ONLY;\r\n }\r\n\r\n\r\n public ngOnInit(): void {\r\n this.neighborhoodIds = typeof this.neighborhoodIds !== \"undefined\" ? this.neighborhoodIds : [];\r\n this.isLoading = true;\r\n\r\n this.neighborhoodService.getNeighborhoods(this.neighborhoodIds)\r\n .subscribe((data: any[]) => {\r\n this.neighborhoodList = this.treatsToShow(data);\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n private treatsToShow(neighborhoodList: Array): Array {\r\n\r\n let newNeighborhoodList = [];\r\n\r\n neighborhoodList.forEach((neighborhood: any) => {\r\n\r\n neighborhood.url = neighborhood.ID + '-' + neighborhood.post_name;\r\n\r\n if(this.exibition == this.EXIBITION_IMAGE_ONLY) {\r\n if(neighborhood.images.length)\r\n newNeighborhoodList.push(neighborhood);\r\n } else {\r\n newNeighborhoodList.push(neighborhood);\r\n }\r\n });\r\n\r\n return newNeighborhoodList;\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { NeighborhoodService } from \"../../../shared/services\";\r\nimport { SearchService } from \"../../../../search/shared/services\";\r\nimport { PreviousRouteService } from \"../../../../app-services/previous-router.service\";\r\nimport {PropertyService} from \"../../../../property/shared/services\";\r\nimport {OwlOptions} from \"ngx-owl-carousel-o\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'neighborhood-view',\r\n templateUrl: './neighborhood.view.html'\r\n})\r\nexport class NeighborhoodView {\r\n\r\n // flags\r\n public isLoading: boolean;\r\n public isLoadingProperties: boolean;\r\n\r\n public neighborhoodId: number;\r\n public neighborhood: Array;\r\n public saleProperties: Array;\r\n public rentProperties: Array;\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n private readonly neighborhoodService: NeighborhoodService;\r\n private readonly searchService: SearchService;\r\n private readonly propertyService: PropertyService;\r\n private readonly sanitizer: DomSanitizer;\r\n\r\n\r\n constructor(activatedRoute: ActivatedRoute, neighborhoodService: NeighborhoodService, searchService: SearchService, propertyService: PropertyService, sanitizer: DomSanitizer) {\r\n this.activatedRoute = activatedRoute;\r\n this.neighborhoodService = neighborhoodService;\r\n this.searchService = searchService;\r\n this.propertyService = propertyService;\r\n this.sanitizer = sanitizer;\r\n\r\n this.isLoading = false;\r\n this.isLoadingProperties = false;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.activatedRoute.params.subscribe((params: {rewriteUrl?: string}) => {\r\n\r\n // pega o id do imóvel em questão\r\n let splitedParams = params.rewriteUrl.split('-');\r\n this.neighborhoodId = Number(splitedParams[0]);\r\n\r\n if(this.neighborhoodId) {\r\n this.isLoading = true;\r\n this.isLoadingProperties = true;\r\n\r\n this.neighborhoodService.getNeighborhood(this.neighborhoodId)\r\n .subscribe((data: any[]) => {\r\n this.neighborhood = data;\r\n this.neighborhood['content'].rendered = this.sanitizer.bypassSecurityTrustHtml(this.neighborhood['content'].rendered);\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n\r\n // carrega os imóveis a venda do bairro\r\n this.searchService.neighborhoodSearch([this.neighborhoodId], 'comprar')\r\n .subscribe((data: any[]) => {\r\n this.saleProperties = data['mainSearch'];\r\n this.isLoadingProperties = false;\r\n },\r\n error => () => {\r\n this.isLoadingProperties = false;\r\n }\r\n );\r\n\r\n // carrega imoveis para alugar no bairro\r\n this.searchService.neighborhoodSearch([this.neighborhoodId], 'alugar')\r\n .subscribe((data: any[]) => {\r\n this.rentProperties = data['mainSearch'];\r\n this.isLoadingProperties = false;\r\n },\r\n error => () => {\r\n this.isLoadingProperties = false;\r\n }\r\n );\r\n } else {\r\n this.isLoading = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n propertiesCustomOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: ['prev', 'next'],\r\n responsive: {\r\n 0: {\r\n items: 1.15\r\n },\r\n 400: {\r\n items: 1.15\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n }\r\n\r\n\r\n}","export * from \"./neighborhood.service\";","import {Injectable} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport {HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\n\r\n// Configuração da API do WP\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class NeighborhoodService {\r\n\r\n private actionUrl: string;\r\n private actionUrlCustom: string;\r\n private wpEndPoint: string;\r\n private wpCustomEndpoin: string;\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndPoint = 'wp/v2/neighborhood/';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndPoint;\r\n\r\n this.wpCustomEndpoin = 'custom_endpoint/get_multiple_neighborhoods/';\r\n this.actionUrlCustom = configWpApi.wpApiUrl + this.wpCustomEndpoin;\r\n }\r\n\r\n public getNeighborhood(id: number): Observable {\r\n return this.findOneById(id);\r\n }\r\n\r\n // busca muitos imóveis\r\n public getNeighborhoods(ids: Array): Observable {\r\n if(ids.length)\r\n return this.http.get(this.actionUrlCustom + ids.join(','));\r\n else\r\n return this.http.get(this.actionUrlCustom + 'all');\r\n }\r\n\r\n // busca um imóvel pelo ID\r\n public findOneById(id: number): Observable {\r\n return this.http.get(this.actionUrl + id);\r\n }\r\n\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CustomInterceptor implements HttpInterceptor {\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (!req.headers.has('Content-Type')) {\r\n req = req.clone({ headers: req.headers.set('Content-Type', 'application/json') });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n\r\n\r\n return next.handle(req);\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"whatsapp\",\r\n})\r\nexport class WhatsappPipe implements PipeTransform {\r\n transform(value: any, ...args: any[]): any {\r\n return value\r\n .replace(\"(\", \"\")\r\n .replace(\")\", \"\")\r\n .replace(\"-\", \"\")\r\n .replace(\" \", \"\");\r\n }\r\n}\r\n","export * from \"./redirect-guard.service\";","import { Injectable } from \"@angular/core\";\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from \"@angular/router\";\r\nimport { PropertyService } from \"../../shared/services\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class RedirectGuardService implements CanActivate {\r\n\r\n\tpublic router: Router;\r\n\r\n\tprivate propertyService: PropertyService;\r\n\r\n\tconstructor (router: Router, propertyService: PropertyService) {\r\n\t\tthis.router = router;\r\n\t\tthis.propertyService = propertyService;\r\n\t}\r\n\r\n\tpublic async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n\r\n\t\tconst queryParams: {imovel?: string, finalidade?: string} = route.queryParams;\r\n\t\tconst property = await this.propertyService.findOneByReference(Number(queryParams.imovel)).toPromise();\r\n\r\n\t\treturn this.router.navigate(['imovel/'+ this.propertyService.getPropertyUrl(property[0])]);\r\n\t}\r\n}","import { NgModule } from '@angular/core';\r\n\r\nimport { PropertyListView, PropertyView, RecommendedPropertiesComponent } from './views';\r\nimport { PropertyRoutingModule } from \"./property.routing\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { CarouselModule } from \"ngx-owl-carousel-o\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NeighborhoodModule } from \"../../neighborhood/private/neighborhood.module\";\r\nimport { AgmCoreModule } from \"@agm/core\";\r\nimport { RegistrationFormModule } from \"../../registration-form/private/registration-form.module\";\r\nimport { AngularStickyThingsModule } from \"@w11k/angular-sticky-things\";\r\nimport { NearbyPlacesComponent, StreetviewComponent } from \"../../app-components\";\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tPropertyRoutingModule,\r\n\t\tCarouselModule,\r\n\t\tReactiveFormsModule,\r\n\t\tNeighborhoodModule,\r\n\t\tAgmCoreModule,\r\n\t\tRegistrationFormModule,\r\n AngularStickyThingsModule\r\n\t],\r\n exports: [\r\n PropertyListView,\r\n RecommendedPropertiesComponent\r\n ],\r\n declarations: [\r\n // Views\r\n PropertyView,\r\n PropertyListView,\r\n RecommendedPropertiesComponent,\r\n StreetviewComponent,\r\n NearbyPlacesComponent\r\n ]\r\n})\r\nexport class PropertyModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { PropertyView } from \"./views\";\r\nimport { RedirectGuardService } from \"./guards\";\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild([\r\n {\r\n path: \"\",\r\n canActivate: [RedirectGuardService],\r\n component: PropertyView\r\n },\r\n {\r\n path: \":rewriteUrl\",\r\n component: PropertyView\r\n }\r\n ])\r\n ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class PropertyRoutingModule {}","export * from './property/property.view'\r\nexport * from './property-list/property-list.view'\r\nexport * from './recommended-properties/recommended-properties.component'\r\n","import { Component, Input } from \"@angular/core\";\r\nimport {PropertyService} from \"../../../shared/services\";\r\nimport {OwlOptions} from \"ngx-owl-carousel-o\";\r\n\r\n@Component({\r\n selector: 'app-property-list',\r\n templateUrl: './property-list.view.html'\r\n})\r\n\r\nexport class PropertyListView {\r\n\r\n @Input()\r\n public properties: Array;\r\n\r\n @Input()\r\n public isCaroussel: boolean;\r\n\r\n private readonly propertyService: PropertyService;\r\n\r\n constructor(propertyService: PropertyService) {\r\n this.propertyService = propertyService;\r\n }\r\n\r\n getUrl(property) {\r\n return property.acf.photos[0].sizes ? property.acf.photos[0].sizes.medium_large : property.acf.photos[0].url;\r\n }\r\n\r\n propertiesCustomOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: ['prev', 'next'],\r\n responsive: {\r\n 0: {\r\n items: 1.15\r\n },\r\n 400: {\r\n items: 1.15\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 3\r\n }\r\n },\r\n nav: true\r\n }\r\n\r\n}","import { Component, OnDestroy, Renderer2 } from \"@angular/core\";\r\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { PropertyService } from \"../../../shared/services\";\r\nimport { OwlOptions } from \"ngx-owl-carousel-o\";\r\nimport { FormControl, FormGroup } from \"@angular/forms\";\r\nimport { NeighborhoodService } from \"../../../../neighborhood/shared/services\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { GLOBAL_TITLE } from \"../../../../app.module\";\r\nimport { NgNavigatorShareService } from \"ng-navigator-share\";\r\nimport { Lightbox } from \"ngx-lightbox\";\r\ndeclare let fbq: Function;\r\n\r\n@Component({\r\n selector: \"property-view\",\r\n templateUrl: \"./property.view.html\",\r\n})\r\nexport class PropertyView implements OnDestroy {\r\n // flags\r\n public isLoading: boolean;\r\n public isLoadingNeightborhood: boolean;\r\n public propertyNotFound: boolean;\r\n public activeView: Object;\r\n public isDescriptionOpen: boolean;\r\n public isVisitFormOpen: boolean;\r\n public isVisitFormSubmited: boolean;\r\n public isLoadingSubmitVisitForm: boolean;\r\n public zoom: number = 14;\r\n public nativeShare: boolean;\r\n\r\n // formulários\r\n public visitForm: any;\r\n\r\n // dados da do imóvel\r\n public propertyId: number;\r\n public property: Array;\r\n public propertyNeighborhood: Array;\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n private readonly propertyService: PropertyService;\r\n private readonly neighborhoodService: NeighborhoodService;\r\n private readonly titleService: Title;\r\n private readonly sanitizer: DomSanitizer;\r\n private renderer: Renderer2;\r\n private readonly ngNavigatorShareService: NgNavigatorShareService;\r\n private readonly lightboxService: Lightbox;\r\n\r\n // plugins\r\n // carroussel de imagens\r\n public propertyImagesCustomOptions: OwlOptions;\r\n public _lightboxGallery: Array = [];\r\n\r\n // CONSTRAINTS\r\n private readonly ACTIVE_VIEW_PHOTO = \"photo\";\r\n private readonly ACTIVE_VIEW_VIDEO = \"video\";\r\n private readonly ACTIVE_VIEW_STREETVIEW = \"streetview\";\r\n private readonly ACTIVE_VIEW_360 = \"360\";\r\n\r\n ngOnDestroy() {\r\n this.renderer.removeClass(document.body, \"sale-property\");\r\n this.renderer.removeClass(document.body, \"rent-property\");\r\n }\r\n\r\n constructor(\r\n activatedRoute: ActivatedRoute,\r\n propertyService: PropertyService,\r\n neighborhoodService: NeighborhoodService,\r\n titleService: Title,\r\n sanitizer: DomSanitizer,\r\n renderer: Renderer2,\r\n ngNavigatorShareService: NgNavigatorShareService,\r\n lightboxService: Lightbox\r\n ) {\r\n this.activatedRoute = activatedRoute;\r\n this.propertyService = propertyService;\r\n this.neighborhoodService = neighborhoodService;\r\n this.titleService = titleService;\r\n this.sanitizer = sanitizer;\r\n this.renderer = renderer;\r\n this.ngNavigatorShareService = ngNavigatorShareService;\r\n\r\n this.isLoading = false;\r\n this.propertyId = null;\r\n this.propertyNotFound = false;\r\n this.isDescriptionOpen = false;\r\n this.isVisitFormOpen = false;\r\n this.isVisitFormSubmited = false;\r\n this.isLoadingSubmitVisitForm = false;\r\n this.nativeShare = this.ngNavigatorShareService.canShare();\r\n this.lightboxService = lightboxService;\r\n\r\n this.activeView = this.ACTIVE_VIEW_PHOTO;\r\n\r\n this.propertyImagesCustomOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: true,\r\n navText: [\"prev\", \"next\"],\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 400: {\r\n items: 1,\r\n },\r\n 740: {\r\n items: 2,\r\n },\r\n 940: {\r\n items: 3,\r\n },\r\n },\r\n nav: true,\r\n };\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.activatedRoute.params.subscribe((params: { rewriteUrl?: string }) => {\r\n //\r\n // pega o id do imóvel em questão\r\n let splitedParams = params.rewriteUrl.split(\"-\");\r\n this.propertyId = Number(splitedParams[0]);\r\n\r\n if (this.propertyId) {\r\n this.isLoading = true;\r\n this.isLoadingNeightborhood = true;\r\n\r\n this.propertyService.getProperty(this.propertyId).subscribe(\r\n (data: any[]) => {\r\n this.property = this.treatsProperty(data);\r\n this.property[\"acf\"].latitude = Number(\r\n this.property[\"acf\"].latitude\r\n );\r\n this.property[\"acf\"].longitude = Number(\r\n this.property[\"acf\"].longitude\r\n );\r\n\r\n for (let image of this.property[\"acf\"].photos) {\r\n this._lightboxGallery.push({\r\n src: image.sizes ? image.sizes[\"post-thumbnail\"] : image.url,\r\n });\r\n }\r\n\r\n // Altera o título da página\r\n this.titleService.setTitle(\r\n GLOBAL_TITLE +\r\n \" - \" +\r\n this.propertyService.treatsTitle(\r\n this.property[\"title\"].rendered,\r\n true\r\n )\r\n );\r\n if (this.property[\"acf\"].finality == \"Venda\") {\r\n this.renderer.addClass(document.body, \"sale-property\");\r\n } else {\r\n this.renderer.addClass(document.body, \"rent-property\");\r\n }\r\n this.isLoading = false;\r\n\r\n // Puxa o bairro do imóvel\r\n this.neighborhoodService\r\n .findOneById(this.property[\"acf\"].region.ID)\r\n .subscribe(\r\n (data: any[]) => {\r\n this.propertyNeighborhood = data;\r\n this.isLoadingNeightborhood = false;\r\n },\r\n (error) => () => {\r\n this.isLoadingNeightborhood = false;\r\n }\r\n );\r\n\r\n // Tracking do facebook\r\n fbq(\"track\", \"ViewContent\", {\r\n content_type: \"product\",\r\n content_ids: [this.property[\"acf\"].code],\r\n content_name: this.propertyService.treatsTitle(\r\n this.property[\"title\"].rendered,\r\n true\r\n ),\r\n currency: \"BRL\",\r\n value: this.property[\"acf\"].value,\r\n });\r\n },\r\n (error) => (error) => {\r\n this.isLoading = false;\r\n this.propertyNotFound = true;\r\n }\r\n );\r\n } else {\r\n this.isLoading = false;\r\n }\r\n });\r\n\r\n this.createVisitForm();\r\n }\r\n\r\n // criação de formulário\r\n private createVisitForm() {\r\n this.visitForm = new FormGroup({\r\n name: new FormControl(\"\"),\r\n email: new FormControl(\"\"),\r\n phone: new FormControl(\"\"),\r\n });\r\n }\r\n\r\n private performSubmitVisitForm() {\r\n this.isLoadingSubmitVisitForm = true;\r\n setTimeout(() => {\r\n this.isVisitFormSubmited = true;\r\n }, 1200);\r\n }\r\n\r\n // altera o que é exibido no topo do imóvel (foto, video, streetview, etc)\r\n private activateView(view) {\r\n if (this.activeView !== view) {\r\n this.activeView = view;\r\n }\r\n }\r\n\r\n // altera a flag de abertura da descrição\r\n private toggleDescriptionOpen() {\r\n this.isDescriptionOpen = !this.isDescriptionOpen;\r\n }\r\n\r\n // altera flag de abertura do formulário de visita\r\n private toggleVisitFormOpen() {\r\n this.isVisitFormOpen = !this.isVisitFormOpen;\r\n }\r\n\r\n // formata os dados da propriedade antes de exibir\r\n private treatsProperty(property) {\r\n property.title.formated = this.propertyService.treatsTitle(\r\n property.title.rendered\r\n );\r\n\r\n if (property.acf.video)\r\n property.acf.video = this.getVideoUrlSafe(property.acf.video);\r\n\r\n return property;\r\n }\r\n\r\n // pega url do vídeo (putaria do angular de safe object)\r\n private getVideoUrlSafe(url: string): SafeUrl {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n // faz o compartilhamento\r\n private performShare() {\r\n if (this.nativeShare) {\r\n this.ngNavigatorShareService\r\n .share({\r\n title: this.propertyService.treatsTitle(\r\n this.property[\"title\"].rendered,\r\n true\r\n ),\r\n url:\r\n \"https://www.imobiliariapanorama.com.br/imovel/\" +\r\n this.activatedRoute.snapshot.params.rewriteUrl,\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n // abre o lightbox\r\n private openLightbox(galleryIndex) {\r\n this.lightboxService.open(this._lightboxGallery, galleryIndex);\r\n }\r\n}\r\n","import {Component, Input} from \"@angular/core\";\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\nimport {PropertyService} from \"../../../shared/services\";\r\n\r\n@Component({\r\n selector: 'app-recommended-properties',\r\n templateUrl: './recommended-properties.component.html'\r\n})\r\n\r\nexport class RecommendedPropertiesComponent {\r\n\r\n // flags\r\n private isLoading: boolean;\r\n\r\n // inputs de fora\r\n @Input()\r\n private searchForSomethingLikeThis: Array;\r\n\r\n // variaveis internas\r\n private properties: Array;\r\n\r\n // services\r\n private readonly propertyService: PropertyService;\r\n\r\n constructor(propertyService: PropertyService) {\r\n this.propertyService = propertyService;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.isLoading = true;\r\n this.propertyService.searchForSomethingLikeThis(this.searchForSomethingLikeThis)\r\n .subscribe((data: any[]) => {\r\n this.properties = data['mainSearch'];\r\n this.isLoading = false;\r\n },\r\n error => () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n recommendedPropertiesCustomOptions: OwlOptions = {\r\n loop: true,\r\n mouseDrag: true,\r\n touchDrag: true,\r\n pullDrag: true,\r\n dots: false,\r\n navText: ['', ''],\r\n responsive: {\r\n 0: {\r\n items: 1.15\r\n },\r\n 400: {\r\n items: 2.2\r\n },\r\n 740: {\r\n items: 3\r\n },\r\n 940: {\r\n items: 4\r\n }\r\n },\r\n nav: false\r\n }\r\n}\r\n","export * from \"./property.service\"","import {Injectable} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport {HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\n\r\n// Configuração da API do WP\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class PropertyService {\r\n\r\n private actionUrl: string;\r\n private wpEndPoint: string;\r\n private customActionUrl: string;\r\n private customWpEndPoint: string;\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndPoint = 'wp/v2/properties/';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndPoint;\r\n\r\n this.customWpEndPoint = 'custom_endpoint/';\r\n this.customActionUrl = configWpApi.wpApiUrl + this.customWpEndPoint;\r\n }\r\n\r\n public getProperty(id: number): Observable {\r\n return this.findOneById(id);\r\n }\r\n\r\n // busca um imóvel pelo ID\r\n public findOneById(id: number): Observable {\r\n return this.http.get(this.actionUrl + id);\r\n }\r\n\r\n public findOneByReference(reference: number): Observable {\r\n return this.http.get(this.customActionUrl + 'get_property_by_reference/' + reference);\r\n }\r\n\r\n public findManyById(ids: Array): Observable {\r\n let first = true;\r\n let params: string = '';\r\n for (let id of ids) {\r\n params += first ? '?include[]=' + id : '&include[]=' + id;\r\n first = false;\r\n }\r\n return this.http.get(this.actionUrl + params);\r\n }\r\n\r\n /**\r\n * @author Jhone Turra\r\n *\r\n * Aqui o negócio fica baum pia\r\n * A função abaixo serve para buscar imóveis parecidos com uma lista de dados estruturado\r\n * contendo o id dos imóveis que foram exibidos na tela do consagrado que ta acessando o site\r\n *\r\n * */\r\n\r\n public searchForSomethingLikeThis(dataIds: Array): Observable {\r\n\r\n dataIds = dataIds ? dataIds : [];\r\n let paramsUrl = \"\";\r\n\r\n if(dataIds.length)\r\n dataIds.forEach((id) => {\r\n paramsUrl += id + \",\";\r\n });\r\n else\r\n paramsUrl = \"random\";\r\n\r\n return this.http.get(this.customActionUrl + 'lookalike/' + paramsUrl);\r\n }\r\n\r\n // tratamento de dados do título\r\n public treatsTitle(title: string, complete: boolean = false): string {\r\n\r\n let treatedTitle = title.split(',');\r\n\r\n if(!complete) {\r\n // Sobrado para alugar no Centro de Toledo\r\n // Apartamento para aluguel, 2 quartos, 1 vaga, Jardim Coopagro – Toledo/PR\r\n // pega o primeiro e o último item do título\r\n treatedTitle = [treatedTitle[0], treatedTitle[treatedTitle.length - 1]];\r\n }\r\n\r\n for (let i = 0; i < treatedTitle.length; i++) {\r\n treatedTitle[i] = treatedTitle[i].replace('aluguel', 'alugar');\r\n treatedTitle[i] = treatedTitle[i].replace('vender', 'venda');\r\n treatedTitle[i] = treatedTitle[i].replace('–', 'de');\r\n treatedTitle[i] = treatedTitle[i].replace('/PR', '');\r\n }\r\n\r\n return treatedTitle.join(',');\r\n }\r\n\r\n public getPropertyUrl(property: any): string {\r\n let url = property.ID != undefined ? property.ID + '-' + property.post_name : property.id + '-' + property.slug;\r\n url += \"--\" + property.acf.code;\r\n return url;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CustomInterceptor implements HttpInterceptor {\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (!req.headers.has('Content-Type')) {\r\n req = req.clone({ headers: req.headers.set('Content-Type', 'application/json') });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n\r\n\r\n return next.handle(req);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\n\r\nimport {\r\n PersonRegistrationFormListView,\r\n PartySaloonReservationView,\r\n AnnouncePropertyView,\r\n RegistrationFormListView,\r\n VacancyPropertyView,\r\n OwnerPropertyView,\r\n PhysicalPersonView,\r\n JuridicalPersonView,\r\n NewsletterView, PropertyInterestView, PropertyInterestDesktopView, ContactView\r\n} from \"./views\";\r\nimport { CommonModule } from '@angular/common';\r\nimport { RegistrationFormRoutingModule } from './registration-form.routing';\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RegistrationFormRoutingModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule\r\n ],\r\n exports: [\r\n NewsletterView,\r\n PropertyInterestView,\r\n PropertyInterestDesktopView,\r\n ContactView\r\n ],\r\n declarations: [\r\n // Views\r\n RegistrationFormListView,\r\n AnnouncePropertyView,\r\n ContactView,\r\n NewsletterView,\r\n PropertyInterestView,\r\n PropertyInterestDesktopView,\r\n VacancyPropertyView,\r\n PartySaloonReservationView,\r\n PersonRegistrationFormListView,\r\n OwnerPropertyView,\r\n PhysicalPersonView,\r\n JuridicalPersonView\r\n ]\r\n})\r\nexport class RegistrationFormModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport {\r\n PartySaloonReservationView,\r\n AnnouncePropertyView,\r\n RegistrationFormListView,\r\n VacancyPropertyView,\r\n PersonRegistrationFormListView,\r\n OwnerPropertyView,\r\n PhysicalPersonView,\r\n JuridicalPersonView\r\n} from \"./views\";\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild([\r\n {\r\n path: \"\",\r\n component: RegistrationFormListView\r\n },\r\n {\r\n path: \"anuncie-seu-imovel\",\r\n component: AnnouncePropertyView\r\n },\r\n {\r\n path: \"desocupar-imovel\",\r\n component: VacancyPropertyView\r\n },\r\n {\r\n path: \"reserva-salao-festa\",\r\n component: PartySaloonReservationView\r\n },\r\n {\r\n path: \"cadastro-pessoal\",\r\n component: PersonRegistrationFormListView\r\n },\r\n {\r\n path: \"cadastro-pessoal/proprietario\",\r\n component: OwnerPropertyView\r\n },\r\n {\r\n path: \"cadastro-pessoal/pessoa-fisica\",\r\n component: PhysicalPersonView\r\n },\r\n {\r\n path: \"cadastro-pessoal/pessoa-juridica\",\r\n component: JuridicalPersonView\r\n }\r\n ])\r\n ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class RegistrationFormRoutingModule {}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class AnnouncePropertyFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/announce_property\");\r\n\t}\r\n}","import { Observable } from \"rxjs\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class BaseFormService {\r\n\r\n\t//#region Private Attributes\r\n\t/**\r\n\t * Url de ação para requisição.\r\n\t */\r\n\tprivate actionUrl: string;\r\n\t//#endregion\r\n\r\n\t//#region Protected Attributes\r\n\t/**\r\n\t * Endpoint da aplicação wordpress.\r\n\t */\r\n\tprotected wpEndpoint: string;\r\n\t//#endregion\r\n\r\n\t//#region Constructor\r\n\tconstructor(private http: HttpClient, private configWpApi: ConfigurationWpApi, wpEndpoint: string) {\r\n\r\n\t\tthis.wpEndpoint = wpEndpoint;\r\n\t\tthis.actionUrl = configWpApi.wpApiUrl + this.wpEndpoint;\r\n\t}\r\n\t//#endregion\r\n\r\n\t//#region Public Methods\r\n\t/**\r\n\t * Submeter formulário\r\n\t * @param data Dados a serem enviados.\r\n\t */\r\n\tpublic submit(data: Object): Observable {\r\n\t\treturn this.http.post(this.actionUrl, data);\r\n\t}\r\n\t//#endregion\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class ContactFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/general_contact\");\r\n\t}\r\n}","export * from \"./announce-property-form.service\";\r\nexport * from \"./newsletter-form.service\";\r\nexport * from \"./contact-form.service\";\r\nexport * from \"./party-saloon-reservation-form.service\";\r\nexport * from \"./person-registration-form.service\";\r\nexport * from \"./juridical-registration-form.service\";\r\nexport * from \"./property-interest-form.service\";\r\nexport * from \"./vacancy-property-form.service\";\r\n","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class JuridicalRegistrationFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/register_juridical_person\");\r\n\t}\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class NewsletterFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/newsletter\");\r\n\t}\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class PartySaloonReservationFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/reservation_party_saloon\");\r\n\t}\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class PersonRegistrationFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/register_physical_person\");\r\n\t}\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class PropertyInterestFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/property_interest\");\r\n\t}\r\n}","import { BaseFormService } from \"./base-form.service\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class VacancyPropertyFormService extends BaseFormService {\r\n\r\n\tconstructor(http: HttpClient, configWpApi: ConfigurationWpApi) {\r\n\t\tsuper(http, configWpApi, \"custom_endpoint/contacts/vacancy\");\r\n\t}\r\n}","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { AnnouncePropertyFormService } from \"../../services\";\r\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: \"announce-property-view\",\r\n templateUrl: \"./announce-property.view.html\",\r\n})\r\nexport class AnnouncePropertyView {\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de cadastro de proprietário.\r\n */\r\n public announcePropertyForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly announcePropertyFormService: AnnouncePropertyFormService;\r\n public images: string[];\r\n public imagesOwnerDocuments: string[];\r\n public imagesPropertyDocuments: string[];\r\n\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(\r\n activatedRoute: ActivatedRoute,\r\n announcePropertyFormService: AnnouncePropertyFormService,\r\n private http: HttpClient\r\n ) {\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.announcePropertyFormService = announcePropertyFormService;\r\n\r\n // Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createAnnouncePropertyForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n processFile(imageInput: any, arrayToPush: string) {\r\n this[arrayToPush] = [];\r\n const files = imageInput.files;\r\n\r\n for (let file of files) {\r\n const reader = new FileReader();\r\n reader.addEventListener(\"load\", (event) => {\r\n this[arrayToPush].push((event.target as any).result);\r\n });\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n public performSubmitForm(): void {\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.announcePropertyForm.getRawValue();\r\n formData = {\r\n ...formData,\r\n images: this.images,\r\n ownerDocuments: this.imagesOwnerDocuments,\r\n documents: this.imagesPropertyDocuments,\r\n };\r\n\r\n this.announcePropertyFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n }\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createAnnouncePropertyForm(): void {\r\n this.announcePropertyForm = new FormGroup({\r\n announceType: new FormControl(\"1\"),\r\n ownerName: new FormControl(\"Teste wing\", [Validators.required]),\r\n ownerEmail: new FormControl(\"Teste wing\", [Validators.required]),\r\n ownerCellphone: new FormControl(\"Teste wing\", [Validators.required]),\r\n ownerDocuments: new FormControl(\"Teste wing\", [Validators.required]),\r\n propertyCep: new FormControl(\"Teste wing\", [Validators.required]),\r\n propertyUf: new FormControl(\"Teste wing\", [Validators.required]),\r\n propertyCity: new FormControl(\"Teste wing\", [Validators.required]),\r\n propertyNeighborhood: new FormControl(\"\", [Validators.required]),\r\n propertyAddress: new FormControl(\"\", [Validators.required]),\r\n propertyNumber: new FormControl(\"\", [Validators.required]),\r\n propertyValue: new FormControl(\"\", [Validators.required]),\r\n propertyIPTU: new FormControl(\"\", [Validators.required]),\r\n propertyInternalArea: new FormControl(\"\", [Validators.required]),\r\n propertyFloor: new FormControl(\"\", [Validators.required]),\r\n propertyFinishing: new FormControl(\"\", [Validators.required]),\r\n propertyPosition: new FormControl(\"\", [Validators.required]),\r\n propertyBedrooms: new FormControl(\"\", [Validators.required]),\r\n propertySuites: new FormControl(\"\", [Validators.required]),\r\n propertyRooms: new FormControl(\"\", [Validators.required]),\r\n propertyBalconies: new FormControl(\"\", [Validators.required]),\r\n propertyParkingSpaces: new FormControl(\"\", [Validators.required]),\r\n propertyRegistration: new FormControl(\"\", [Validators.required]),\r\n propertyRealEstateRegistryOffice: new FormControl(\"\", [\r\n Validators.required,\r\n ]),\r\n propertyMunicipalRegistry: new FormControl(\"\", [Validators.required]),\r\n propertyDocuments: new FormControl(\"\", [Validators.required]),\r\n propertyCompliment: new FormControl(\"\"),\r\n propertyReferencePoint: new FormControl(\"\"),\r\n propertyBuildingName: new FormControl(\"\"),\r\n propertyCondominio: new FormControl(\"\"),\r\n propertyExternalArea: new FormControl(\"\"),\r\n propertyBatch: new FormControl(\"\"),\r\n propertyLeisureGym: new FormControl(\"\"),\r\n propertyLeisureGamesRoom: new FormControl(\"\"),\r\n propertyLeisureHomeCinema: new FormControl(\"\"),\r\n propertyLeisureGrill: new FormControl(\"\"),\r\n propertyLeisureSportsCourt: new FormControl(\"\"),\r\n propertyLeisurePool: new FormControl(\"\"),\r\n propertyLeisureMassageRoom: new FormControl(\"\"),\r\n propertyLeisurePlayground: new FormControl(\"\"),\r\n propertyLeisureSauna: new FormControl(\"\"),\r\n propertyLeisurePartyRoom: new FormControl(\"\"),\r\n propertyLeisureWhirlpool: new FormControl(\"\"),\r\n propertyLeisureWifi: new FormControl(\"\"),\r\n propertyFeaturesIndividualWater: new FormControl(\"\"),\r\n propertyFeaturesIntercom: new FormControl(\"\"),\r\n propertyFeaturesSolarHeating: new FormControl(\"\"),\r\n propertyFeaturesConcierge: new FormControl(\"\"),\r\n propertyFeaturesElectricHeating: new FormControl(\"\"),\r\n propertyFeaturesElectricFence: new FormControl(\"\"),\r\n propertyFeaturesGasHeating: new FormControl(\"\"),\r\n propertyFeaturesGarden: new FormControl(\"\"),\r\n propertyFeaturesPipedgas: new FormControl(\"\"),\r\n propertyFeaturesSecurityCameras: new FormControl(\"\"),\r\n propertyFeaturesElectronicGate: new FormControl(\"\"),\r\n propertyFeaturesLaundry: new FormControl(\"\"),\r\n propertyFeaturesAlarm: new FormControl(\"\"),\r\n propertyData: new FormControl(\"\"),\r\n agree: new FormControl(false, [Validators.pattern(\"true\")]),\r\n agreeValue: new FormControl(false, [Validators.pattern(\"true\")]),\r\n agreeTerms: new FormControl(false, [Validators.pattern(\"true\")]),\r\n });\r\n }\r\n\r\n /*valida se possui imagens no input documento*/\r\n onImageChange(input: any): void {\r\n if (input.files.length > 0) {\r\n this.announcePropertyForm.get(\"ownerDocuments\").setErrors(null);\r\n } else {\r\n this.announcePropertyForm\r\n .get(\"ownerDocuments\")\r\n .setErrors({ required: true });\r\n }\r\n }\r\n\r\n onImageChange1(input: any): void {\r\n if (input.files.length > 0) {\r\n this.announcePropertyForm.get(\"propertyDocuments\").setErrors(null);\r\n } else {\r\n this.announcePropertyForm\r\n .get(\"propertyDocuments\")\r\n .setErrors({ required: true });\r\n }\r\n }\r\n\r\n getAddressFromCep(cep: string) {\r\n this.http\r\n .get(`https://viacep.com.br/ws/${cep}/json/`)\r\n .subscribe((address: any) => {\r\n this.announcePropertyForm.patchValue({\r\n propertyUf: address.uf,\r\n propertyCity: address.localidade,\r\n propertyNeighborhood: address.bairro,\r\n propertyAddress: address.logradouro,\r\n });\r\n });\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Title } from \"@angular/platform-browser\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ContactFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'contact-view',\r\n templateUrl: './contact.view.html'\r\n})\r\nexport class ContactView {\r\n\r\n //#region Declarações de variáveis\r\n // flags\r\n public isSubmitted: boolean;\r\n public isSubmitting: boolean;\r\n public error: string;\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n private readonly contactFormService: ContactFormService;\r\n\r\n // formulário\r\n public contactForm: FormGroup;\r\n\r\n // preset message\r\n public message: string;\r\n //#endregion\r\n\r\n\r\n constructor(activatedRoute: ActivatedRoute, contactFormService: ContactFormService, titleService: Title) {\r\n this.activatedRoute = activatedRoute;\r\n this.contactFormService = contactFormService;\r\n\r\n this.error = null;\r\n this.isSubmitted = false;\r\n this.isSubmitting = false;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.queryParams.subscribe((queryParams: Array) => {\r\n\r\n this.message = queryParams['message'] ? queryParams['message'] : '';\r\n\r\n });\r\n\r\n this.createContactForm();\r\n }\r\n\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.contactForm.getRawValue();\r\n\r\n this.contactFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createContactForm(): void {\r\n\r\n this.contactForm = new FormGroup({\r\n name: new FormControl('', [\r\n Validators.required\r\n ]),\r\n email: new FormControl('', [\r\n Validators.required\r\n ]),\r\n phone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n message: new FormControl(this.message, [\r\n Validators.required\r\n ])\r\n });\r\n\r\n }\r\n //#endregion\r\n}","export * from \"./registration-form-list/registration-form-list.view\";\r\nexport * from \"./announce-property/announce-property.view\";\r\nexport * from \"./contact/contact.view\";\r\nexport * from \"./vacancy-property/vacancy-property.view\";\r\nexport * from \"./newsletter/newsletter.view\";\r\nexport * from \"./propery-interest/property-interest.view\";\r\nexport * from \"./propery-interest-desktop/property-interest-desktop.view\";\r\nexport * from \"./party-saloon-reservation/party-saloon-reservation.view\";\r\nexport * from \"./person-registration-form-list/person-registration-form-list.view\";\r\nexport * from \"./owner-property/owner-property.view\";\r\nexport * from \"./physical-person/physical-person.view\";\r\nexport * from \"./juridical-person/juridical-person.view\";\r\n\r\n\r\n\r\n\r\n","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { JuridicalRegistrationFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'juridical-person-view',\r\n templateUrl: './juridical-person.view.html'\r\n})\r\nexport class JuridicalPersonView {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de cadastro de pessoa juridica.\r\n */\r\n public juridicalPersonForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly juridicalRegistrationFormService: JuridicalRegistrationFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(activatedRoute: ActivatedRoute,\r\n juridicalRegistrationFormService: JuridicalRegistrationFormService) {\r\n\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.juridicalRegistrationFormService = juridicalRegistrationFormService;\r\n\r\n // Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createJuridicalPersonForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public processFile(imageInput: any, formControl: FormControl): void {\r\n\r\n const files: Array = imageInput.files;\r\n formControl.setValue(null);\r\n\r\n for (let file of files) {\r\n\r\n const reader: FileReader = new FileReader();\r\n\r\n reader.addEventListener(\"load\", (event: any) => {\r\n\r\n let formControlValue = formControl.value != null ? formControl.value : [];\r\n\r\n formControlValue.push(event.target.result);\r\n formControl.setValue(formControlValue);\r\n });\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n public addCommercialReference() {\r\n\r\n const formArray: FormArray = this.juridicalPersonForm.get('commercialReferences') as FormArray;\r\n\r\n formArray.push(new FormGroup({\r\n name: new FormControl('', Validators.required),\r\n phone: new FormControl('', Validators.required)\r\n }))\r\n }\r\n\r\n public addPartner() {\r\n\r\n const formArray: FormArray = this.juridicalPersonForm.get('partnerDocuments') as FormArray;\r\n\r\n formArray.push(new FormGroup({\r\n partnerDocumentFile: new FormControl('', Validators.required),\r\n partnerResidenceFile: new FormControl('', Validators.required)\r\n }))\r\n }\r\n\r\n public addBankReference() {\r\n\r\n const formArray: FormArray = this.juridicalPersonForm.get('bankReferences') as FormArray;\r\n\r\n formArray.push(new FormGroup({\r\n bankAgency: new FormControl('', [Validators.required]),\r\n bankAccount: new FormControl('', [Validators.required]),\r\n bankName: new FormControl('', [Validators.required]),\r\n bankManager: new FormControl('', [Validators.required]),\r\n }))\r\n }\r\n\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.juridicalPersonForm.getRawValue();\r\n\r\n this.juridicalRegistrationFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createJuridicalPersonForm(): void {\r\n\r\n this.juridicalPersonForm = new FormGroup({\r\n personName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personEmail: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCellphone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIE: new FormControl(''),\r\n personBusinessType: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personEmployees: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // dados de endereço\r\n personCep: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personUf: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNeighborhood: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personAddress: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNumber: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCompliment: new FormControl(''),\r\n\r\n commercialReferences: new FormArray([\r\n new FormGroup({\r\n name: new FormControl('', Validators.required),\r\n phone: new FormControl('', Validators.required)\r\n })\r\n ]),\r\n\r\n bankReferences: new FormArray([\r\n new FormGroup({\r\n bankAgency: new FormControl('', [Validators.required]),\r\n bankAccount: new FormControl('', [Validators.required]),\r\n bankName: new FormControl('', [Validators.required]),\r\n bankManager: new FormControl('', [Validators.required]),\r\n })\r\n ]),\r\n\r\n // documentos\r\n personDocumentFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personSocialContractFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personResidenceFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIncomeProof: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // documentos sócios\r\n hasPartner: new FormControl(false),\r\n\r\n partnerDocuments: new FormArray([\r\n new FormGroup({\r\n partnerDocumentFile: new FormControl('', [Validators.required]),\r\n partnerResidenceFile: new FormControl('', [Validators.required])\r\n })\r\n ]),\r\n\r\n agree: new FormControl(false, [\r\n Validators.pattern('true')\r\n ])\r\n });\r\n\r\n this.onHasPartnerChange(false);\r\n\r\n this.juridicalPersonForm.get(\"hasPartner\").valueChanges.subscribe((value: boolean) => {\r\n\r\n this.onHasPartnerChange(value);\r\n })\r\n }\r\n\r\n /**\r\n * Event listener para alterações no checkbox de \"Tem sócio?\"\r\n * @param value Novo valor do campo.\r\n */\r\n private onHasPartnerChange(value: boolean): void {\r\n\r\n if (value) {\r\n\r\n this.juridicalPersonForm.get(\"partnerDocuments\").enable();\r\n } else {\r\n\r\n this.juridicalPersonForm.get(\"partnerDocuments\").disable();\r\n }\r\n }\r\n //#endregion\r\n}","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NewsletterFormService, VacancyPropertyFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'newsletter-view',\r\n templateUrl: './newsletter.view.html'\r\n})\r\nexport class NewsletterView implements OnInit {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de desocupação de imóvel.\r\n */\r\n public newsletterForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly newsletterFormService: NewsletterFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(newsletterFormService: NewsletterFormService) {\r\n\r\n // Injetados\r\n this.newsletterFormService = newsletterFormService;\r\n\r\n /// Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createNewsletterForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n const formData: Object = this.newsletterForm.getRawValue();\r\n this.newsletterFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createNewsletterForm(): void {\r\n\r\n this.newsletterForm = new FormGroup({\r\n email: new FormControl('', [\r\n Validators.required\r\n ])\r\n });\r\n }\r\n //#endregion\r\n}","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PersonRegistrationFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'owner-property-view',\r\n templateUrl: './owner-property.view.html'\r\n})\r\nexport class OwnerPropertyView {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de cadastro de proprietário.\r\n */\r\n public ownerForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly personRegistrationFormService: PersonRegistrationFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(activatedRoute: ActivatedRoute,\r\n personRegistrationFormService: PersonRegistrationFormService) {\r\n\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.personRegistrationFormService = personRegistrationFormService;\r\n\r\n // Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createOwnerForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public processFile(imageInput: any, formControl: FormControl): void {\r\n\r\n const files: Array = imageInput.files;\r\n formControl.setValue(null);\r\n\r\n for (let file of files) {\r\n\r\n const reader: FileReader = new FileReader();\r\n\r\n reader.addEventListener(\"load\", (event: any) => {\r\n\r\n let formControlValue = formControl.value != null ? formControl.value : [];\r\n\r\n formControlValue.push(event.target.result);\r\n formControl.setValue(formControlValue);\r\n });\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.ownerForm.getRawValue();\r\n formData = {...formData, isOwner: true};\r\n formData = {...formData};\r\n\r\n this.personRegistrationFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createOwnerForm(): void {\r\n\r\n this.ownerForm = new FormGroup({\r\n personName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personEmail: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCellphone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIdentity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNacionatily: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNaturalFrom: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personFatherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personMotherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personHasPartner: new FormControl(false),\r\n\r\n // dados de endereço\r\n personCep: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personUf: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNeighborhood: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personAddress: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNumber: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCompliment: new FormControl(''),\r\n\r\n // dados do conjuge\r\n partnerName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerJobTitle: new FormControl(''),\r\n partnerJobEnterprise: new FormControl(''),\r\n partnerDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerIdentity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerNacionatily: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerNaturalFrom: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerFatherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerMotherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // dados bancarios\r\n bankAgency: new FormControl('', [\r\n Validators.required\r\n ]),\r\n bankAccount: new FormControl('', [\r\n Validators.required\r\n ]),\r\n bankName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // trabalho\r\n personJobEnterprise: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personJobTitle: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personJobPhone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // documentos\r\n personDocumentFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personResidenceFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIncomeProof: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // documentos conjuge\r\n partnerDocumentFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n agree: new FormControl(false, [\r\n Validators.pattern('true')\r\n ])\r\n });\r\n\r\n this.onHasPartnerChange(false);\r\n\r\n this.ownerForm.get(\"personHasPartner\").valueChanges.subscribe((value: boolean) => {\r\n\r\n this.onHasPartnerChange(value);\r\n })\r\n }\r\n\r\n /**\r\n * Event listener para alterações no checkbox de \"Tem cônjuge?\"\r\n * @param value Novo valor do campo.\r\n */\r\n private onHasPartnerChange(value: boolean): void {\r\n\r\n if (value) {\r\n\r\n this.ownerForm.get(\"partnerName\").enable();\r\n this.ownerForm.get(\"partnerJobTitle\").enable();\r\n this.ownerForm.get(\"partnerJobEnterprise\").enable();\r\n this.ownerForm.get(\"partnerDocument\").enable();\r\n this.ownerForm.get(\"partnerIdentity\").enable();\r\n this.ownerForm.get(\"partnerNacionatily\").enable();\r\n this.ownerForm.get(\"partnerNaturalFrom\").enable();\r\n this.ownerForm.get(\"partnerFatherName\").enable();\r\n this.ownerForm.get(\"partnerMotherName\").enable();\r\n this.ownerForm.get(\"partnerDocumentFile\").enable();\r\n } else {\r\n\r\n this.ownerForm.get(\"partnerName\").disable();\r\n this.ownerForm.get(\"partnerJobTitle\").disable();\r\n this.ownerForm.get(\"partnerJobEnterprise\").disable();\r\n this.ownerForm.get(\"partnerDocument\").disable();\r\n this.ownerForm.get(\"partnerIdentity\").disable();\r\n this.ownerForm.get(\"partnerNacionatily\").disable();\r\n this.ownerForm.get(\"partnerNaturalFrom\").disable();\r\n this.ownerForm.get(\"partnerFatherName\").disable();\r\n this.ownerForm.get(\"partnerMotherName\").disable();\r\n this.ownerForm.get(\"partnerDocumentFile\").disable();\r\n }\r\n }\r\n //#endregion\r\n}","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PartySaloonReservationFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'party-saloon-reservation-view',\r\n templateUrl: './party-saloon-reservation.view.html'\r\n})\r\nexport class PartySaloonReservationView implements OnInit {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de reserva de aréa de festa.\r\n */\r\n public saloonReservationForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly partySaloonReservationFormService: PartySaloonReservationFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(activatedRoute: ActivatedRoute,\r\n partySaloonReservationFormService: PartySaloonReservationFormService) {\r\n\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.partySaloonReservationFormService = partySaloonReservationFormService;\r\n\r\n // Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createSaloonReservationForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n const formData: Object = this.saloonReservationForm.getRawValue();\r\n this.partySaloonReservationFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createSaloonReservationForm(): void {\r\n\r\n this.saloonReservationForm = new FormGroup({\r\n rentalName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalEmail: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalCellphone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyApartment: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyBuilding: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyAddress: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalDate: new FormControl('', [\r\n Validators.required\r\n ]),\r\n // rentalTurn: new FormControl('', [\r\n // Validators.required\r\n // ]),\r\n agree: new FormControl(false, [\r\n Validators.pattern('true')\r\n ])\r\n });\r\n }\r\n //#endregion\r\n}","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'person-registration-form-list-view',\r\n templateUrl: './person-registration-form-list.view.html'\r\n})\r\nexport class PersonRegistrationFormListView {\r\n\r\n // flags\r\n public isLoading: boolean;\r\n\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n\r\n\r\n\r\n constructor(activatedRoute: ActivatedRoute) {\r\n this.activatedRoute = activatedRoute;\r\n }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n\r\n}","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormArray, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PersonRegistrationFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'physical-person-view',\r\n templateUrl: './physical-person.view.html'\r\n})\r\nexport class PhysicalPersonView implements OnInit {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de cadastro de pessoa fisica.\r\n */\r\n public physicalPersonForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly personRegistrationFormService: PersonRegistrationFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(activatedRoute: ActivatedRoute,\r\n personRegistrationFormService: PersonRegistrationFormService) {\r\n\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.personRegistrationFormService = personRegistrationFormService;\r\n\r\n // Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createPhysicalPersonForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public processFile(imageInput: any, formControl: FormControl): void {\r\n\r\n const files: Array = imageInput.files;\r\n formControl.setValue(null);\r\n\r\n for (let file of files) {\r\n\r\n const reader: FileReader = new FileReader();\r\n\r\n reader.addEventListener(\"load\", (event: any) => {\r\n\r\n let formControlValue = formControl.value != null ? formControl.value : [];\r\n\r\n formControlValue.push(event.target.result);\r\n formControl.setValue(formControlValue);\r\n });\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n public addCommercialReference() {\r\n\r\n const formArray: FormArray = this.physicalPersonForm.get('commercialReferences') as FormArray;\r\n\r\n formArray.push(new FormGroup({\r\n name: new FormControl('', Validators.required),\r\n phone: new FormControl('', Validators.required)\r\n }))\r\n }\r\n\r\n public addPersonalReference() {\r\n\r\n const formArray: FormArray = this.physicalPersonForm.get('personalReferences') as FormArray;\r\n\r\n formArray.push(new FormGroup({\r\n name: new FormControl('', [Validators.required]),\r\n phone: new FormControl('', [Validators.required])\r\n }))\r\n }\r\n\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.physicalPersonForm.getRawValue();\r\n formData = {...formData, isOwner: false};\r\n formData = {...formData};\r\n\r\n\r\n this.personRegistrationFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createPhysicalPersonForm(): void {\r\n\r\n this.physicalPersonForm = new FormGroup({\r\n personName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personEmail: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCellphone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIdentity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNacionatily: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNaturalFrom: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personFatherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personMotherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personHasPartner: new FormControl(false),\r\n\r\n // dados de endereço\r\n personCep: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personUf: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNeighborhood: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personAddress: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personNumber: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personCompliment: new FormControl(''),\r\n\r\n // dados do conjuge\r\n partnerName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerJobTitle: new FormControl(''),\r\n partnerJobEnterprise: new FormControl(''),\r\n partnerDocument: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerIdentity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerNacionatily: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerNaturalFrom: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerFatherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerMotherName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // dados bancarios\r\n bankAgency: new FormControl('', [\r\n Validators.required\r\n ]),\r\n bankAccount: new FormControl('', [\r\n Validators.required\r\n ]),\r\n bankName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n commercialReferences: new FormArray([\r\n new FormGroup({\r\n name: new FormControl('', Validators.required),\r\n phone: new FormControl('', Validators.required)\r\n })\r\n ]),\r\n\r\n personalReferences: new FormArray([\r\n new FormGroup({\r\n name: new FormControl('', Validators.required),\r\n phone: new FormControl('', Validators.required)\r\n })\r\n ]),\r\n\r\n // trabalho\r\n personJobEnterprise: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personJobTitle: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personJobPhone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // documentos\r\n personDocumentFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personResidenceFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personBirthWeddingCertificate: new FormControl('', [\r\n Validators.required\r\n ]),\r\n personIncomeProof: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n // documentos conjuge\r\n partnerDocumentFile: new FormControl('', [\r\n Validators.required\r\n ]),\r\n partnerBirthWeddingCertificate: new FormControl('', [\r\n Validators.required\r\n ]),\r\n\r\n agree: new FormControl(false, [\r\n Validators.pattern('true')\r\n ])\r\n });\r\n\r\n this.onHasPartnerChange(false);\r\n\r\n this.physicalPersonForm.get(\"personHasPartner\").valueChanges.subscribe((value: boolean) => {\r\n\r\n this.onHasPartnerChange(value);\r\n })\r\n }\r\n\r\n /**\r\n * Event listener para alterações no checkbox de \"Tem cônjuge?\"\r\n * @param value Novo valor do campo.\r\n */\r\n private onHasPartnerChange(value: boolean): void {\r\n\r\n if (value) {\r\n\r\n this.physicalPersonForm.get(\"partnerName\").enable();\r\n this.physicalPersonForm.get(\"partnerJobTitle\").enable();\r\n this.physicalPersonForm.get(\"partnerJobEnterprise\").enable();\r\n this.physicalPersonForm.get(\"partnerDocument\").enable();\r\n this.physicalPersonForm.get(\"partnerIdentity\").enable();\r\n this.physicalPersonForm.get(\"partnerNacionatily\").enable();\r\n this.physicalPersonForm.get(\"partnerNaturalFrom\").enable();\r\n this.physicalPersonForm.get(\"partnerFatherName\").enable();\r\n this.physicalPersonForm.get(\"partnerMotherName\").enable();\r\n this.physicalPersonForm.get(\"partnerBirthWeddingCertificate\").enable();\r\n this.physicalPersonForm.get(\"partnerDocumentFile\").enable();\r\n } else {\r\n\r\n this.physicalPersonForm.get(\"partnerName\").disable();\r\n this.physicalPersonForm.get(\"partnerJobTitle\").disable();\r\n this.physicalPersonForm.get(\"partnerJobEnterprise\").disable();\r\n this.physicalPersonForm.get(\"partnerDocument\").disable();\r\n this.physicalPersonForm.get(\"partnerIdentity\").disable();\r\n this.physicalPersonForm.get(\"partnerNacionatily\").disable();\r\n this.physicalPersonForm.get(\"partnerNaturalFrom\").disable();\r\n this.physicalPersonForm.get(\"partnerFatherName\").disable();\r\n this.physicalPersonForm.get(\"partnerMotherName\").disable();\r\n this.physicalPersonForm.get(\"partnerBirthWeddingCertificate\").disable();\r\n this.physicalPersonForm.get(\"partnerDocumentFile\").disable();\r\n }\r\n }\r\n //#endregion\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PropertyInterestFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\ndeclare let fbq: Function;\r\n\r\n@Component({\r\n selector: 'property-interest-desktop-view',\r\n templateUrl: './property-interest-desktop.view.html'\r\n})\r\nexport class PropertyInterestDesktopView implements OnInit {\r\n\r\n //#region Inputs\r\n /**\r\n *\r\n */\r\n @Input()\r\n public id: number;\r\n //#endregion\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de interesse no imóvel.\r\n */\r\n public propertyInterestForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly propertyInterestFormService: PropertyInterestFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(propertyInterestFormService: PropertyInterestFormService) {\r\n\r\n // Injetados\r\n this.propertyInterestFormService = propertyInterestFormService;\r\n\r\n /// Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createPropertyInterestForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public performSubmitForm(): void {\r\n\r\n fbq('track', 'CompleteRegistration');\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.propertyInterestForm.getRawValue();\r\n formData = {...formData, interestedProperty: this.id};\r\n this.propertyInterestFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createPropertyInterestForm(): void {\r\n\r\n this.propertyInterestForm = new FormGroup({\r\n name: new FormControl('', [\r\n Validators.required\r\n ]),\r\n email: new FormControl('', [\r\n Validators.required\r\n ]),\r\n phone: new FormControl('', [\r\n Validators.required\r\n ])\r\n });\r\n }\r\n //#endregion\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { PropertyInterestFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'property-interest-view',\r\n templateUrl: './property-interest.view.html'\r\n})\r\nexport class PropertyInterestView implements OnInit {\r\n\r\n //#region Inputs\r\n /**\r\n *\r\n */\r\n @Input()\r\n public id: number;\r\n //#endregion\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de interesse no imóvel.\r\n */\r\n public propertyInterestForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly propertyInterestFormService: PropertyInterestFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(propertyInterestFormService: PropertyInterestFormService) {\r\n\r\n // Injetados\r\n this.propertyInterestFormService = propertyInterestFormService;\r\n\r\n /// Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createPropertyInterestForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n let formData: Object = this.propertyInterestForm.getRawValue();\r\n formData = {...formData, interestedProperty: this.id};\r\n this.propertyInterestFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createPropertyInterestForm(): void {\r\n\r\n this.propertyInterestForm = new FormGroup({\r\n name: new FormControl('', [\r\n Validators.required\r\n ]),\r\n email: new FormControl('', [\r\n Validators.required\r\n ]),\r\n phone: new FormControl('', [\r\n Validators.required\r\n ])\r\n });\r\n }\r\n //#endregion\r\n}","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'registration-form-list-view',\r\n templateUrl: './registration-form-list.view.html'\r\n})\r\nexport class RegistrationFormListView {\r\n\r\n // flags\r\n public isLoading: boolean;\r\n\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n\r\n\r\n\r\n constructor(activatedRoute: ActivatedRoute) {\r\n this.activatedRoute = activatedRoute;\r\n }\r\n\r\n public ngOnInit(): void {\r\n }\r\n\r\n\r\n}","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { VacancyPropertyFormService } from \"../../services\";\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'vacancy-property-view',\r\n templateUrl: './vacancy-property.view.html'\r\n})\r\nexport class VacancyPropertyView implements OnInit {\r\n\r\n //#region Public Attributes\r\n /**\r\n * Flag que indica se está em processo de submissão do formulário\r\n * @default false\r\n */\r\n public isSubmitting: boolean;\r\n public isSubmitted: boolean;\r\n /**\r\n * Erro ocorrido na submissão do formulário.\r\n * @default null\r\n */\r\n public error: string;\r\n /**\r\n * Formulário de desocupação de imóvel.\r\n */\r\n public vacancyPropertyForm: FormGroup;\r\n //#endregion\r\n\r\n //#region Private Attributes\r\n /**\r\n * @injected\r\n */\r\n private readonly activatedRoute: ActivatedRoute;\r\n /**\r\n * @injected\r\n */\r\n private readonly vacancyPropertyFormService: VacancyPropertyFormService;\r\n //#endregion\r\n\r\n //#region Constructor\r\n constructor(activatedRoute: ActivatedRoute,\r\n vacancyPropertyFormService: VacancyPropertyFormService) {\r\n\r\n // Injetados\r\n this.activatedRoute = activatedRoute;\r\n this.vacancyPropertyFormService = vacancyPropertyFormService;\r\n\r\n /// Públicos\r\n this.isSubmitting = false;\r\n this.isSubmitted = false;\r\n this.error = null;\r\n }\r\n //#endregion\r\n\r\n //#region Lifecycle Hooks\r\n /**\r\n * @inheritDoc\r\n */\r\n public ngOnInit(): void {\r\n this.createVacancyPropertyForm();\r\n }\r\n //#endregion\r\n\r\n //#region Public Methods\r\n public performSubmitForm(): void {\r\n\r\n this.error = null;\r\n this.isSubmitting = true;\r\n const formData: Object = this.vacancyPropertyForm.getRawValue();\r\n this.vacancyPropertyFormService.submit(formData).subscribe(\r\n () => {\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.error = error.message;\r\n this.isSubmitting = false;\r\n this.isSubmitted = true;\r\n },\r\n );\r\n }\r\n //#endregion\r\n\r\n //#region Private Methods\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createVacancyPropertyForm(): void {\r\n\r\n this.vacancyPropertyForm = new FormGroup({\r\n rentalName: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalEmail: new FormControl('', [\r\n Validators.required\r\n ]),\r\n rentalCellphone: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyCep: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyUf: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyCity: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyNeighborhood: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyAddress: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyNumber: new FormControl('', [\r\n Validators.required\r\n ]),\r\n propertyCompliment: new FormControl(''),\r\n reason: new FormControl('', [\r\n Validators.required\r\n ]),\r\n agree: new FormControl(false, [\r\n Validators.pattern('true')\r\n ])\r\n });\r\n }\r\n //#endregion\r\n}","import { NgModule } from '@angular/core';\r\n\r\nimport { SearchBoxComponent, SearchListView } from './views';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SearchRoutingModule } from \"./search.routing\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { PropertyModule } from \"../../property/private/property.module\";\r\n\r\n// import { AgmCoreModule } from \"@agm/core\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SearchRoutingModule,\r\n ReactiveFormsModule,\r\n PropertyModule,\r\n ],\r\n declarations: [\r\n // Views\r\n SearchListView,\r\n SearchBoxComponent\r\n ],\r\n exports: [\r\n SearchBoxComponent\r\n ]\r\n})\r\nexport class SearchModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from \"@angular/router\";\r\n\r\nimport { SearchListView } from \"./views\";\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild([\r\n {\r\n path: \"\",\r\n component: SearchListView\r\n }\r\n ])\r\n ],\r\n exports: [ RouterModule ]\r\n})\r\nexport class SearchRoutingModule {}","export * from \"./search-list/search-list.view\";\r\nexport * from \"./search-box/search-box.component\";\r\n","import {Component, Input} from \"@angular/core\";\r\nimport { FormArray, FormControl, FormGroup } from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { SearchboxService } from \"../../../shared/services\";\r\n\r\n@Component({\r\n selector: \"app-search-box\",\r\n templateUrl: './search-box.component.html'\r\n})\r\nexport class SearchBoxComponent {\r\n\r\n // inputs\r\n @Input()\r\n public queryParamsInput: Array;\r\n\r\n // flags\r\n public searching: boolean;\r\n public isAdvancedSearch: boolean;\r\n public searchMapOpened: boolean;\r\n public searchPropertyTypeOpened: boolean;\r\n public isLoadingPropertyTypes: boolean;\r\n public isLoadingPropertyLocations: boolean;\r\n public isPopulatedPropertyTypes: boolean;\r\n public isPopulatedPropertyLocations: boolean;\r\n\r\n // configurações do mapa\r\n public map: any;\r\n\r\n // formularios\r\n public propertyLocationForm: FormGroup;\r\n public propertyTypeForm: FormGroup;\r\n public searchForm: FormGroup;\r\n\r\n // constantes\r\n private readonly SEARCH_RENT = 'alugar';\r\n private readonly SEARCH_BUY = 'comprar';\r\n\r\n\r\n // variáveis carregadas de fora\r\n public propertyTypes: any;\r\n public propertyLocations: any;\r\n\r\n // serviços\r\n public routerService: Router;\r\n private readonly searchboxService: SearchboxService;\r\n\r\n\r\n constructor(routerService: Router, searchboxService: SearchboxService) {\r\n this.routerService = routerService;\r\n this.searchboxService = searchboxService;\r\n this.isLoadingPropertyTypes = true;\r\n this.searching = false;\r\n this.isPopulatedPropertyLocations = false;\r\n this.isPopulatedPropertyTypes = false;\r\n }\r\n\r\n // inicialização\r\n public ngOnInit(): void {\r\n\r\n this.isAdvancedSearch = false;\r\n this.searchMapOpened = false;\r\n this.searchPropertyTypeOpened = false;\r\n\r\n // seta as configurações do mapa\r\n this.initiateMapSettings();\r\n\r\n // carrega os tipos de imóvel\r\n this.loadPropertyTypes();\r\n\r\n // carrega as localizações\r\n this.loadPropertyLocations();\r\n\r\n // cria os formulários\r\n this.createSearchForm();\r\n\r\n\r\n }\r\n\r\n // abertura de busca avançada\r\n public collapseAdvancedSearch(): void {\r\n this.isAdvancedSearch = !this.isAdvancedSearch;\r\n }\r\n // -- abertura de busca avançada\r\n\r\n\r\n // retorna se a busca está setada como aluguel para deixar o botão selecionado\r\n public isRentSet(): boolean {\r\n return this.searchForm.get('searchType').value == this.SEARCH_RENT;\r\n }\r\n\r\n // abertura de modais\r\n public toggleLocationMap(): void {\r\n this.searchMapOpened = !this.searchMapOpened;\r\n }\r\n public togglePropertyType(): void {\r\n this.searchPropertyTypeOpened = !this.searchPropertyTypeOpened;\r\n }\r\n // -- abertura de modais\r\n\r\n\r\n // ações dos modais\r\n public performSelectLocation(): void {\r\n if(!this.isLoadingPropertyLocations)\r\n this.searchForm.patchValue({\r\n searchLocation: this.treatsSelectPropertyTypeAndLocation(this.propertyLocationForm, 'propertyLocationCheckbox', this.propertyLocations)\r\n })\r\n }\r\n\r\n public clearInput(inputName: string): void {\r\n this.searchForm.get(inputName).setValue(null);\r\n }\r\n\r\n\r\n /**\r\n * Tratamento de dados de de tipo de imóvel\r\n * */\r\n\r\n public performSelectPropertyType(): void {\r\n if(!this.isLoadingPropertyTypes)\r\n this.searchForm.patchValue({\r\n searchPropertyType: this.treatsSelectPropertyTypeAndLocation(this.propertyTypeForm, 'propertyTypeCheckbox', this.propertyTypes)\r\n })\r\n }\r\n private treatsSelectPropertyTypeAndLocation(form: FormGroup, inputName: string, comparator: Array): string {\r\n let selectedValues = form.get(inputName).value;\r\n let queryParamsSelected = [];\r\n if(inputName == 'propertyTypeCheckbox' && !this.isPopulatedPropertyTypes && this.queryParamsInput) {\r\n queryParamsSelected = this.queryParamsInput['searchPropertyType'] || [];\r\n this.isPopulatedPropertyTypes = true;\r\n } else if(inputName == 'propertyLocationCheckbox' && !this.isPopulatedPropertyLocations && this.queryParamsInput) {\r\n queryParamsSelected = this.queryParamsInput['searchLocation'] || [];\r\n this.isPopulatedPropertyLocations = true;\r\n }\r\n let returnedText = '';\r\n\r\n\r\n // Atualiza a lista de itens selecionados e seta o texto a ser retornado Ex.: Sobrado, apartamento e casa\r\n comparator.forEach(function(val, index) {\r\n if(selectedValues[index] === true || queryParamsSelected.indexOf(val.value.toString()) != -1) {\r\n val.selected = true;\r\n selectedValues[index] = true;\r\n returnedText += returnedText == '' ? val.name : ', ' + val.name\r\n } else if(selectedValues[index] === false) {\r\n val.selected = false;\r\n }\r\n });\r\n\r\n if(inputName == 'propertyTypeCheckbox') {\r\n form.patchValue({propertyTypeCheckbox: selectedValues});\r\n } else {\r\n form.patchValue({propertyLocationCheckbox: selectedValues});\r\n }\r\n\r\n return returnedText.replace(/, ([^,]*)$/, ' e $1');\r\n }\r\n // -- ações dos modais\r\n\r\n // pega os itens selecionados do checkbox\r\n private getSelectedItemsFromCheckbox(key: string, form: FormGroup, inputName: string, comparator: Array): Array {\r\n\r\n key = key || 'value';\r\n\r\n // let selectedValues = this.propertyTypeForm.get('propertyTypeCheckbox').value;\r\n let selectedValues = form.get(inputName).value;\r\n let selectedItems = [];\r\n\r\n comparator.forEach(function(val, index) {\r\n if(selectedValues[index] == true) {\r\n val.selected = true;\r\n selectedItems.push(val[key]);\r\n } else {\r\n val.selected = false;\r\n }\r\n });\r\n\r\n return selectedItems;\r\n }\r\n\r\n\r\n private loadPropertyTypes(): void {\r\n\r\n this.propertyTypes = [];\r\n\r\n this.isLoadingPropertyTypes = true;\r\n\r\n // carregamento dos tipos de imóvel\r\n this.searchboxService.gerPropertyTypes()\r\n .subscribe((data: any[]) => {\r\n this.propertyTypes = this.treatsPropertyTypesAndLocations(data);\r\n this.isLoadingPropertyTypes = false;\r\n // cria o formulário de tipo de imóvel\r\n this.createPropertyTypeForm();\r\n },\r\n error => () => {\r\n this.isLoadingPropertyTypes = false;\r\n }\r\n );\r\n }\r\n\r\n /**\r\n * Tratamento de localidades para filtro\r\n * */\r\n\r\n private loadPropertyLocations(): void {\r\n\r\n this.propertyTypes = [];\r\n\r\n this.isLoadingPropertyLocations = true;\r\n\r\n // carregamento das localidades\r\n this.searchboxService.gerPropertyLocations()\r\n .subscribe((data: any[]) => {\r\n this.propertyLocations = this.treatsPropertyTypesAndLocations(data, true);\r\n this.isLoadingPropertyLocations = false;\r\n // cria o formulário de tipo de imóvel\r\n this.createPropertyLocationForm();\r\n },\r\n error => () => {\r\n this.isLoadingPropertyLocations = false;\r\n }\r\n );\r\n }\r\n\r\n\r\n // popula dados dos tipos de propriedades e localidades\r\n private treatsPropertyTypesAndLocations(data: Array, isLocation: boolean = false): Array {\r\n\r\n let returnData = [];\r\n let titlesToOrder = [];\r\n data.forEach((el) => {\r\n titlesToOrder.push(el.title.rendered);\r\n });\r\n\r\n // Ordena em ordem alfabética\r\n titlesToOrder.sort();\r\n\r\n titlesToOrder.forEach((titleOrdered) => {\r\n data.forEach((el) => {\r\n if(el.title.rendered == titleOrdered) {\r\n let title = el.acf.city ? el.title.rendered + ' - ' + el.acf.city : el.title.rendered;\r\n returnData.push({\r\n name: title,\r\n value: el.id\r\n });\r\n }\r\n });\r\n });\r\n\r\n if(isLocation) {\r\n returnData.push({\r\n name: 'Distritos de Toledo',\r\n value: 'distritos'\r\n });\r\n returnData.push({\r\n name: 'Outras Cidades',\r\n value: 'outras_cidades'\r\n });\r\n }\r\n\r\n return returnData;\r\n }\r\n\r\n\r\n // configurações do mapa\r\n private initiateMapSettings(): void {\r\n this.map = this.map || [];\r\n\r\n this.map.lat = -24.7254277;\r\n this.map.lng = -53.7420329;\r\n this.map.zoom = 14;\r\n }\r\n\r\n\r\n /**\r\n * Criação de formulários\r\n * */\r\n private createSearchForm(): void {\r\n\r\n this.searchForm = new FormGroup({\r\n searchType: new FormControl(''),\r\n searchLocation: new FormControl(''),\r\n searchPropertyType: new FormControl(''),\r\n rooms: new FormControl(''),\r\n suites: new FormControl(''),\r\n bathrooms: new FormControl(''),\r\n garages: new FormControl(''),\r\n hasForniture: new FormControl(''),\r\n minPrice: new FormControl(''),\r\n maxPrice: new FormControl(''),\r\n minSize: new FormControl(''),\r\n maxSize: new FormControl(''),\r\n searchReference: new FormControl('')\r\n });\r\n\r\n // seta campo de tipo de busca para compra\r\n this.searchForm.patchValue({\r\n searchType: this.SEARCH_BUY\r\n });\r\n\r\n this.populateByQueryParams();\r\n }\r\n\r\n\r\n private createPropertyTypeForm(): void {\r\n this.propertyTypeForm = new FormGroup({\r\n propertyTypeCheckbox: this.createCheckboxInputs(this.propertyTypes)\r\n });\r\n if(this.queryParamsInput) {\r\n this.performSelectPropertyType();\r\n }\r\n }\r\n private createPropertyLocationForm(): void {\r\n this.propertyLocationForm = new FormGroup({\r\n propertyLocationCheckbox: this.createCheckboxInputs(this.propertyLocations)\r\n });\r\n if(this.queryParamsInput) {\r\n this.performSelectLocation();\r\n }\r\n }\r\n\r\n private createCheckboxInputs(inputs) {\r\n const arr = inputs.map(input => {\r\n return new FormControl(input.selected || false);\r\n });\r\n return new FormArray(arr);\r\n }\r\n\r\n private performSubmitSearchForm() {\r\n this.searching = true;\r\n\r\n let params = this.searchForm.getRawValue();\r\n\r\n params.searchPropertyType = this.getSelectedItemsFromCheckbox('value', this.propertyTypeForm, 'propertyTypeCheckbox', this.propertyTypes);\r\n params.searchPropertyTypeName = this.getSelectedItemsFromCheckbox('name', this.propertyTypeForm, 'propertyTypeCheckbox', this.propertyTypes);\r\n\r\n params.searchLocation = this.getSelectedItemsFromCheckbox('value', this.propertyLocationForm, 'propertyLocationCheckbox', this.propertyLocations);\r\n params.searchLocationName = this.getSelectedItemsFromCheckbox('name', this.propertyLocationForm, 'propertyLocationCheckbox', this.propertyLocations);\r\n\r\n this.routerService.navigate(['/busca'], {\r\n queryParams: params\r\n });\r\n }\r\n\r\n private populateByQueryParams(): void {\r\n if(this.queryParamsInput) {\r\n this.searchForm.patchValue({\r\n searchType: this.queryParamsInput['searchType'],\r\n rooms: this.queryParamsInput['rooms'],\r\n suites: this.queryParamsInput['suites'],\r\n bathrooms: this.queryParamsInput['bathrooms'],\r\n garages: this.queryParamsInput['garages'],\r\n hasForniture: this.queryParamsInput['hasForniture'],\r\n minPrice: this.queryParamsInput['minPrice'],\r\n maxPrice: this.queryParamsInput['maxPrice'],\r\n minSize: this.queryParamsInput['minSize'],\r\n maxSize: this.queryParamsInput['maxSize'],\r\n searchReference: this.queryParamsInput['searchReference'],\r\n });\r\n }\r\n }\r\n\r\n}\r\n","import { Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { SearchService } from \"../../../shared/services\";\r\nimport { PropertyService } from \"../../../../property/shared/services\";\r\nimport {CookieService} from \"ngx-cookie-service\";\r\nimport {GLOBAL_TITLE} from \"../../../../app.module\";\r\nimport {Title} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'search-list-view',\r\n templateUrl: './search-list.view.html'\r\n})\r\nexport class SearchListView {\r\n\r\n // carroussel de imagens\r\n\r\n // flags\r\n public isLoading: boolean;\r\n public isOpenFilterForm: boolean;\r\n\r\n // parametros de busca\r\n public queryParams: Array;\r\n public searchParamsReadable: string;\r\n\r\n // imóveis da busca\r\n public properties: Array;\r\n public lookalikeProperties: Array;\r\n\r\n // serviços\r\n private readonly activatedRoute: ActivatedRoute;\r\n private readonly searchService: SearchService;\r\n private readonly propertyService: PropertyService;\r\n private readonly cookieService: CookieService;\r\n private readonly titleService: Title;\r\n\r\n\r\n constructor(activatedRoute: ActivatedRoute,\r\n searchService: SearchService,\r\n propertyService: PropertyService,\r\n cookieService: CookieService,\r\n titleService: Title) {\r\n this.activatedRoute = activatedRoute;\r\n this.searchService = searchService;\r\n this.propertyService = propertyService;\r\n this.cookieService = cookieService;\r\n this.titleService = titleService;\r\n\r\n this.isLoading = true;\r\n this.isOpenFilterForm = false;\r\n\r\n this.titleService.setTitle(GLOBAL_TITLE + ' - Busca');\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.isLoading = true;\r\n this.activatedRoute.queryParams.subscribe((queryParams: Array) => {\r\n\r\n this.queryParams = queryParams;\r\n\r\n this.searchService.generalSearch(queryParams)\r\n .subscribe((data: any[]) => {\r\n this.isLoading = false;\r\n this.properties = data['mainSearch'];\r\n this.putOnCookie(this.properties);\r\n this.lookalikeProperties = data['lookalikeSearch'] || [];\r\n \r\n }, error => () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n });\r\n\r\n }\r\n\r\n public getSearchReadable(params: Array, sensitive: boolean): string {\r\n let searchReadable: string;\r\n\r\n searchReadable = sensitive ? 'Imóvel para ' : 'imóvel para ';\r\n searchReadable += params['searchType'] == \"alugar\" ? \"alugar\" : \"comprar\";\r\n searchReadable += params['searchPropertyTypeName'] ? \" (\"+this.getSearchPropertyTypeNameFormatted()+\")\" : \"\";\r\n searchReadable += params['searchLocation'] && params['searchLocation'].length ? \" no(s) bairro(s) \" + this.getSearchPropertyLocationNameFormatted() : \"\";\r\n searchReadable += params['rooms'] ? \", quartos: \" + params['rooms'] : \"\";\r\n searchReadable += params['suites'] ? \", suítes: \" + params['suites'] : \"\";\r\n searchReadable += params['bathrooms'] ? \", banheiros: \" + params['bathrooms'] : \"\";\r\n searchReadable += params['garages'] ? \", garagens: \" + params['garages'] : \"\";\r\n\r\n return searchReadable;\r\n }\r\n\r\n private getSearchPropertyTypeNameFormatted(): string {\r\n return this.formatTitle(this.queryParams['searchPropertyTypeName']);\r\n }\r\n\r\n private getSearchPropertyLocationNameFormatted(): string {\r\n return this.formatTitle(this.queryParams['searchLocationName']);\r\n }\r\n\r\n private toggleFilterForm(): void {\r\n this.isOpenFilterForm = !this.isOpenFilterForm;\r\n }\r\n\r\n private formatTitle(params: any): string {\r\n\r\n let returnedText = '';\r\n let val;\r\n if(!Array.isArray(params))\r\n return params;\r\n\r\n for (let i = 0; i < params.length; i++) {\r\n val = params[i];\r\n returnedText += returnedText == '' ? val : ', ' + val;\r\n }\r\n return returnedText.replace(/, ([^,]*)$/, ' e $1');\r\n }\r\n\r\n private putOnCookie(properties: Array) {\r\n let idsAlreadyIn = this.cookieService.get('everyPropertyLookedAt').split(',');\r\n let ids = '';\r\n\r\n if(idsAlreadyIn.length > 30) {\r\n for (let i = idsAlreadyIn.length; i > 30; i--) {\r\n ids += idsAlreadyIn + ',';\r\n }\r\n } else {\r\n ids += idsAlreadyIn.join(',') + ',';\r\n }\r\n\r\n if(properties.length) {\r\n properties.forEach((property) => {\r\n ids += property.ID + ',';\r\n });\r\n this.cookieService.set('everyPropertyLookedAt', ids);\r\n }\r\n }\r\n\r\n}","export * from \"./search.service\"\r\nexport * from \"./search-box.service\";\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SearchboxService {\r\n\r\n private actionUrl: string;\r\n private wpEndpoint: string;\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {}\r\n\r\n // busca os tipos de imóveis disponíveis\r\n public gerPropertyTypes(): Observable {\r\n\r\n this.wpEndpoint = 'wp/v2/property_type/?per_page=50';\r\n this.actionUrl = this.configWpApi.wpApiUrl + this.wpEndpoint;\r\n\r\n return this.http.get(this.actionUrl)\r\n }\r\n\r\n // as localidades disponíveis\r\n public gerPropertyLocations(): Observable {\r\n\r\n this.wpEndpoint = 'wp/v2/neighborhood/?per_page=100&show_on_search=1';\r\n this.actionUrl = this.configWpApi.wpApiUrl + this.wpEndpoint;\r\n\r\n return this.http.get(this.actionUrl)\r\n }\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\n\r\n// Configuração da API do WP\r\nimport { ConfigurationWpApi } from \"../../../app.wp-api-config\";\r\n\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SearchService {\r\n\r\n private actionUrl: string;\r\n private wpEndPoint: string;\r\n\r\n constructor(private http: HttpClient, private configWpApi: ConfigurationWpApi) {\r\n this.wpEndPoint = 'custom_endpoint/get_properties_by_search_box';\r\n this.actionUrl = configWpApi.wpApiUrl + this.wpEndPoint;\r\n }\r\n\r\n public generalSearch(searchArgs: Array): Observable {\r\n let args = '';\r\n\r\n Object.keys(searchArgs).forEach((key, index) => {\r\n args += index == 0 ? '?' : '&';\r\n args += key + '=' + searchArgs[key];\r\n });\r\n\r\n return this.http.get(this.actionUrl + args);\r\n }\r\n\r\n public neighborhoodSearch(ids: Array, searchType: string = null): Observable {\r\n\r\n let args = '?searchLocation=' + ids.join(',');\r\n if(searchType)\r\n args += '&searchType=' + searchType;\r\n\r\n return this.http.get(this.actionUrl + args);\r\n }\r\n\r\n // busca um imóvel pelo ID\r\n public findOneById(id: number): Observable {\r\n return this.http.get(this.actionUrl + id);\r\n }\r\n\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CustomInterceptor implements HttpInterceptor {\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (!req.headers.has('Content-Type')) {\r\n req = req.clone({ headers: req.headers.set('Content-Type', 'application/json') });\r\n }\r\n\r\n req = req.clone({ headers: req.headers.set('Accept', 'application/json') });\r\n\r\n\r\n return next.handle(req);\r\n }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}