{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/action-history-queue/action-history-queue.module.ts","./src/app/action-history-queue/action-history-queue.service.ts","./src/app/action-history-queue/components/modal-calendar/modal-calendar.component.html","./src/app/action-history-queue/components/modal-calendar/modal-calendar.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/broker-calendar/broker-calendar.component.html","./src/app/broker-calendar/broker-calendar.component.ts","./src/app/broker-calendar/broker-calendar.module.ts","./src/app/broker-calendar/calendar-mark-modal/calendar-mark-modal.component.html","./src/app/broker-calendar/calendar-mark-modal/calendar-mark-modal.component.ts","./src/app/broker-calendar/calendar-mark/calendar-mark.component.html","./src/app/broker-calendar/calendar-mark/calendar-mark.component.ts","./src/app/broker-calendar/calendar-view/calendar-view.component.html","./src/app/broker-calendar/calendar-view/calendar-view.component.ts","./src/app/broker-calendar/filter-calendar/filter-calendar.component.html","./src/app/broker-calendar/filter-calendar/filter-calendar.component.ts","./src/app/broker-calendar/menu-calendar/menu-calendar.component.html","./src/app/broker-calendar/menu-calendar/menu-calendar.component.ts","./src/app/company-configuration-list/company-configuration-list.component.html","./src/app/company-configuration-list/company-configuration-list.component.ts","./src/app/company-configuration-list/company-configuration-list.module.ts","./src/app/company-configuration-list/company-configuration/company-configuration.component.html","./src/app/company-configuration-list/company-configuration/company-configuration.component.ts","./src/app/company-configuration-list/service/company-configuration.service.ts","./src/app/company-configuration-list/user-modal/user-modal.component.html","./src/app/company-configuration-list/user-modal/user-modal.component.ts","./src/app/core/analytics/google-tag-manager.service.ts","./src/app/core/constants/calendar.ts","./src/app/core/constants/consts.ts","./src/app/core/constants/facs-const.ts","./src/app/core/constants/fields-type-unit.ts","./src/app/core/constants/flag-Input-const.ts","./src/app/core/constants/lead-const.ts","./src/app/core/constants/properties-const.ts","./src/app/core/constants/team-management-const.ts","./src/app/core/core.module.ts","./src/app/core/directives/imagePreload/image-preload.directive.ts","./src/app/core/enviroment/environment.service.ts","./src/app/core/guards/auth-guard/auth-guard.ts","./src/app/core/guards/broker-profile-guard/broker-profile.guard.ts","./src/app/core/guards/route-guard/route-guard.guard.ts","./src/app/core/guards/route-guard/service/route-guard.service.ts","./src/app/core/guards/toggle-guard/toggle-guard.guard.ts","./src/app/core/helpers/array.healper.ts","./src/app/core/helpers/date.helper.ts","./src/app/core/helpers/object.helper.ts","./src/app/core/helpers/string.healper.ts","./src/app/core/models/activities-enum.ts","./src/app/core/models/calendar.model.ts","./src/app/core/models/channels.ts","./src/app/core/models/facs.model.ts","./src/app/core/models/geolocation.ts","./src/app/core/models/scale.model.ts","./src/app/core/models/team-management.model.ts","./src/app/core/pipes/format-phone-ddi.pipe.ts","./src/app/core/services/application-initialize-service/application-initialize.service.ts","./src/app/core/services/auth-token/auth-token.service.ts","./src/app/core/services/check-task-status-service/check-task-status-service.ts","./src/app/core/services/clipboard/clipboard.service.ts","./src/app/core/services/geolocation/geolocation.service.ts","./src/app/core/services/geral-service/geral-service.ts","./src/app/core/services/interceptor/interceptor.service.ts","./src/app/core/services/is-leader-service/is-leader.service.ts","./src/app/core/services/layout/layout.service.ts","./src/app/core/services/lead-form/lead-form.service.ts","./src/app/core/services/phone/phone.service.ts","./src/app/core/services/product-service/product.service.ts","./src/app/core/services/step-service/stepper.service.ts","./src/app/core/services/window-scroll.service.ts","./src/app/core/toggle/feature-toggle.service.ts","./src/app/core/validators/edit-fac-modal.validators.ts","./src/app/cta-banner/cta-banner.component.html","./src/app/cta-banner/cta-banner.component.ts","./src/app/dashboard-queue/components/dashboard-header/dashboard-header.component.html","./src/app/dashboard-queue/components/dashboard-header/dashboard-header.component.ts","./src/app/dashboard-queue/components/dashboard-menu/dashboard-menu.component.html","./src/app/dashboard-queue/components/dashboard-menu/dashboard-menu.component.ts","./src/app/dashboard-queue/dashboard-queue.component.html","./src/app/dashboard-queue/dashboard-queue.component.ts","./src/app/dashboard-queue/dashboard-queue.module.ts","./src/app/dashboard-queue/pages/distribution-by-queue/distribution-by-queue.component.html","./src/app/dashboard-queue/pages/distribution-by-queue/distribution-by-queue.component.ts","./src/app/dashboard-reports/dashboard-reports.component.html","./src/app/dashboard-reports/dashboard-reports.component.ts","./src/app/dashboard-reports/dashboard-reports.module.ts","./src/app/dashboard-reports/dashboard-reports.service.ts","./src/app/dashboard-reports/tables/leads-by-product/leads-by-product.component.html","./src/app/dashboard-reports/tables/leads-by-product/leads-by-product.component.ts","./src/app/dashboard-reports/tables/overview/overview.component.html","./src/app/dashboard-reports/tables/overview/overview.component.ts","./src/app/dashboard-reports/tables/received-lead-by-agents/received-lead-by-agents.component.html","./src/app/dashboard-reports/tables/received-lead-by-agents/received-lead-by-agents.component.ts","./src/app/distribution-queue/distribution-queue.module.ts","./src/app/distribution-queue/leads-management/services/distribution-service/distribution.service.ts","./src/app/distribution-queue/queue-configuration/add-filter-modal/add-filter-modal.component.html","./src/app/distribution-queue/queue-configuration/add-filter-modal/add-filter-modal.component.ts","./src/app/distribution-queue/queue-configuration/destination/add-rule-destination/add-rule-destination.component.html","./src/app/distribution-queue/queue-configuration/destination/add-rule-destination/add-rule-destination.component.ts","./src/app/errors-pages/error-service/error-service.component.html","./src/app/errors-pages/error-service/error-service.component.ts","./src/app/errors-pages/error-token/error-token.component.html","./src/app/errors-pages/error-token/error-token.component.ts","./src/app/errors-pages/errors-pages.module.ts","./src/app/facs/bulk-error-modal/bulk-error-modal.component.html","./src/app/facs/bulk-error-modal/bulk-error-modal.component.ts","./src/app/facs/facs-filters/facs-filters.component.html","./src/app/facs/facs-filters/facs-filters.component.ts","./src/app/facs/facs-tour/facs-tour.component.html","./src/app/facs/facs-tour/facs-tour.component.ts","./src/app/facs/facs-tour/tour-card/tour-card.component.html","./src/app/facs/facs-tour/tour-card/tour-card.component.ts","./src/app/facs/facs.component.html","./src/app/facs/facs.component.ts","./src/app/facs/facs.module.ts","./src/app/facs/service/facs.service.ts","./src/app/helper-center/helper-center.component.html","./src/app/helper-center/helper-center.component.ts","./src/app/home/home-manager/components/chart-contact-type/chart-contact-type-options.ts","./src/app/home/home-manager/components/chart-contact-type/chart-contact-type.component.html","./src/app/home/home-manager/components/chart-contact-type/chart-contact-type.component.ts","./src/app/home/home-manager/components/chart-performance-team/chart-performance-team-options.ts","./src/app/home/home-manager/components/chart-performance-team/chart-performance-team.component.html","./src/app/home/home-manager/components/chart-performance-team/chart-performance-team.component.ts","./src/app/home/home-manager/home-manager.component.html","./src/app/home/home-manager/home-manager.component.ts","./src/app/home/home-realtor/home-realtor.component.html","./src/app/home/home-realtor/home-realtor.component.ts","./src/app/home/home.component.html","./src/app/home/home.component.ts","./src/app/home/home.module.ts","./src/app/home/manager-filters/manager-filters.component.html","./src/app/home/manager-filters/manager-filters.component.ts","./src/app/home/service/home-manager.service.ts","./src/app/home/service/home.service.ts","./src/app/initialization-factory.ts","./src/app/lead-campaign/application-summary/application-summary.component.html","./src/app/lead-campaign/application-summary/application-summary.component.ts","./src/app/lead-campaign/autocomplete/autocomplete.component.html","./src/app/lead-campaign/autocomplete/autocomplete.component.ts","./src/app/lead-campaign/enum/subscription-status-enum.ts","./src/app/lead-campaign/faq/faq-card/faq-card.component.html","./src/app/lead-campaign/faq/faq-card/faq-card.component.ts","./src/app/lead-campaign/faq/faq-home/faq-home.component.html","./src/app/lead-campaign/faq/faq-home/faq-home.component.ts","./src/app/lead-campaign/faq/faq-list/faq-item/faq-item.component.html","./src/app/lead-campaign/faq/faq-list/faq-item/faq-item.component.ts","./src/app/lead-campaign/faq/faq-list/faq-list.component.html","./src/app/lead-campaign/faq/faq-list/faq-list.component.ts","./src/app/lead-campaign/faq/faq.component.html","./src/app/lead-campaign/faq/faq.component.ts","./src/app/lead-campaign/lead-campaign-list/lead-campaign-list.component.html","./src/app/lead-campaign/lead-campaign-list/lead-campaign-list.component.ts","./src/app/lead-campaign/lead-campaign.component.ts.LeadCampaignComponent.html","./src/app/lead-campaign/lead-campaign.component.ts","./src/app/lead-campaign/lead-campaign.module.ts","./src/app/lead-campaign/lead-campaign.service.ts","./src/app/lead-campaign/lead-card/lead-card.component.html","./src/app/lead-campaign/lead-card/lead-card.component.ts","./src/app/lead-campaign/lead-confirm/lead-confirm.component.html","./src/app/lead-campaign/lead-confirm/lead-confirm.component.ts","./src/app/lead-campaign/lead-home/lead-home.component.html","./src/app/lead-campaign/lead-home/lead-home.component.ts","./src/app/lead-campaign/modal-participate/lead-offer-card/lead-offer-card.component.html","./src/app/lead-campaign/modal-participate/lead-offer-card/lead-offer-card.component.ts","./src/app/lead-campaign/modal-participate/modal-participate.component.html","./src/app/lead-campaign/modal-participate/modal-participate.component.ts","./src/app/lead-campaign/model-summary/model-summary.component.html","./src/app/lead-campaign/model-summary/model-summary.component.ts","./src/app/lead-campaign/participants-card/participants-card.component.html","./src/app/lead-campaign/participants-card/participants-card.component.ts","./src/app/legacy-logout/legacy-logout.module.ts","./src/app/legacy-logout/logout/legacy-logout.component.ts","./src/app/notfound-exeptions/notfound-exeptions.component.html","./src/app/notfound-exeptions/notfound-exeptions.component.ts","./src/app/notifications/message-item/message-item.component.html","./src/app/notifications/message-item/message-item.component.ts","./src/app/notifications/notifications.component.html","./src/app/notifications/notifications.component.ts","./src/app/notifications/notifications.module.ts","./src/app/notifications/notifications.service.ts","./src/app/products/product-gallery/carousel-fluid/carousel-fluid.component.html","./src/app/products/product-gallery/carousel-fluid/carousel-fluid.component.ts","./src/app/products/product-gallery/carousel/carousel.component.html","./src/app/products/product-gallery/carousel/carousel.component.ts","./src/app/products/product-gallery/gallery-controller/gallery-controller.component.html","./src/app/products/product-gallery/gallery-controller/gallery-controller.component.ts","./src/app/products/product-gallery/map/map.component.html","./src/app/products/product-gallery/map/map.component.ts","./src/app/products/product-gallery/modal/modal.component.html","./src/app/products/product-gallery/modal/modal.component.ts","./src/app/products/product-gallery/product-gallery.component.html","./src/app/products/product-gallery/product-gallery.component.ts","./src/app/products/product-gallery/product-gallery.module.ts","./src/app/products/product-gallery/thumbnail/thumbnail.component.html","./src/app/products/product-gallery/thumbnail/thumbnail.component.ts","./src/app/products/product-register/capture/capture.component.html","./src/app/products/product-register/capture/capture.component.ts","./src/app/products/product-register/description/description.component.html","./src/app/products/product-register/description/description.component.ts","./src/app/products/product-register/media/media.component.html","./src/app/products/product-register/media/media.component.ts","./src/app/products/product-register/other-information/construction/construction.component.html","./src/app/products/product-register/other-information/construction/construction.component.ts","./src/app/products/product-register/other-information/documentation/documentation.component.html","./src/app/products/product-register/other-information/documentation/documentation.component.ts","./src/app/products/product-register/other-information/other-information.component.html","./src/app/products/product-register/other-information/other-information.component.ts","./src/app/products/product-register/other-information/other-infos/other-infos.component.html","./src/app/products/product-register/other-information/other-infos/other-infos.component.ts","./src/app/products/product-register/product-characteristics/product-characteristics.component.html","./src/app/products/product-register/product-characteristics/product-characteristics.component.ts","./src/app/products/product-register/products-filters/address-filters/address-filters.component.html","./src/app/products/product-register/products-filters/address-filters/address-filters.component.ts","./src/app/products/product-register/products-filters/company-filters/company-filters.component.html","./src/app/products/product-register/products-filters/company-filters/company-filters.component.ts","./src/app/products/product-register/products-filters/date-filters/date-filters.component.html","./src/app/products/product-register/products-filters/date-filters/date-filters.component.ts","./src/app/products/product-register/products-filters/feature-filters/feature-filters.component.html","./src/app/products/product-register/products-filters/feature-filters/feature-filters.component.ts","./src/app/products/product-register/products-filters/general-filters/general-filters.component.html","./src/app/products/product-register/products-filters/general-filters/general-filters.component.ts","./src/app/products/product-register/products-filters/neighborhood-filters/neighborhood-filters.component.html","./src/app/products/product-register/products-filters/neighborhood-filters/neighborhood-filters.component.ts","./src/app/products/product-register/products-filters/other-filters/other-filters.component.html","./src/app/products/product-register/products-filters/other-filters/other-filters.component.ts","./src/app/products/product-register/products-filters/products-filters.component.html","./src/app/products/product-register/products-filters/products-filters.component.ts","./src/app/products/product-register/products-filters/value-filters/value-filters.component.html","./src/app/products/product-register/products-filters/value-filters/value-filters.component.ts","./src/app/products/product-register/products-filters/value-zone-filters/value-zone-filters.component.html","./src/app/products/product-register/products-filters/value-zone-filters/value-zone-filters.component.ts","./src/app/products/product-register/products.component.html","./src/app/products/product-register/products.component.ts","./src/app/products/product-register/products.module.ts","./src/app/products/product-register/professional/professional.component.html","./src/app/products/product-register/professional/professional.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-architect/product-architect.component.html","./src/app/products/product-sheet/product-ready/product-details/product-architect/product-architect.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-contacts/product-contacts.component.html","./src/app/products/product-sheet/product-ready/product-details/product-contacts/product-contacts.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-description/product-description.component.html","./src/app/products/product-sheet/product-ready/product-details/product-description/product-description.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-details.component.html","./src/app/products/product-sheet/product-ready/product-details/product-details.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-features/product-features.component.html","./src/app/products/product-sheet/product-ready/product-details/product-features/product-features.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-landscaper/product-landscaper.component.html","./src/app/products/product-sheet/product-ready/product-details/product-landscaper/product-landscaper.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-models/product-models.component.html","./src/app/products/product-sheet/product-ready/product-details/product-models/product-models.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-neighborhood/product-neighborhood.component.html","./src/app/products/product-sheet/product-ready/product-details/product-neighborhood/product-neighborhood.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-prices/product-prices.component.html","./src/app/products/product-sheet/product-ready/product-details/product-prices/product-prices.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-proposals/product-proposals.component.html","./src/app/products/product-sheet/product-ready/product-details/product-proposals/product-proposals.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-sales-blueprint/product-sales-blueprint.component.html","./src/app/products/product-sheet/product-ready/product-details/product-sales-blueprint/product-sales-blueprint.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-sold-units/product-sold-units.component.html","./src/app/products/product-sheet/product-ready/product-details/product-sold-units/product-sold-units.component.ts","./src/app/products/product-sheet/product-ready/product-details/product-support-material/product-support-material.component.html","./src/app/products/product-sheet/product-ready/product-details/product-support-material/product-support-material.component.ts","./src/app/products/product-sheet/product-ready/product-ready.component.html","./src/app/products/product-sheet/product-ready/product-ready.component.ts","./src/app/products/product-sheet/product-sheet.component.html","./src/app/products/product-sheet/product-sheet.component.ts","./src/app/products/product-sheet/product-sheet.module.ts","./src/app/products/product-sheet/service/product-sheet.service.ts","./src/app/profile-home/profile-home.component.html","./src/app/profile-home/profile-home.component.ts","./src/app/profile-home/profile.module.ts","./src/app/profile-home/profile/profile.component.html","./src/app/profile-home/profile/profile.component.ts","./src/app/profile-home/service/profile.service.ts","./src/app/profile/broker-header/broker-header.component.html","./src/app/profile/broker-header/broker-header.component.ts","./src/app/profile/broker-header/broker-header.module.ts","./src/app/profile/broker-header/origin-enum.ts","./src/app/profile/broker-modal-edition/broker-modal-edition.component.html","./src/app/profile/broker-modal-edition/broker-modal-edition.component.ts","./src/app/profile/broker-modal-edition/broker-modal-edition.module.ts","./src/app/profile/broker-profile/broker-profile.component.html","./src/app/profile/broker-profile/broker-profile.component.ts","./src/app/profile/broker-profile/broker-profile.module.ts","./src/app/profile/broker-profile/broker-profile.service.ts","./src/app/profile/components/attributes/attributes.component.html","./src/app/profile/components/attributes/attributes.component.ts","./src/app/profile/components/attributes/attributes.module.ts","./src/app/profile/components/bookmark/bookmark.component.html","./src/app/profile/components/bookmark/bookmark.component.ts","./src/app/profile/components/bookmark/bookmark.module.ts","./src/app/profile/components/card-grid/card-grid.component.html","./src/app/profile/components/card-grid/card-grid.component.ts","./src/app/profile/components/card-grid/card-grid.module.ts","./src/app/profile/components/card-product/card-product.component.html","./src/app/profile/components/card-product/card-product.component.ts","./src/app/profile/components/card-product/card-product.module.ts","./src/app/profile/components/icon/icon.component.html","./src/app/profile/components/icon/icon.component.ts","./src/app/profile/components/icon/icon.module.ts","./src/app/profile/components/icon/pipes/icon.pipe.ts","./src/app/profile/components/icon/pipes/icons-type.ts","./src/app/profile/components/link-product/link-product.component.html","./src/app/profile/components/link-product/link-product.component.ts","./src/app/profile/components/link-product/link-product.module.ts","./src/app/profile/components/search-filter-wrapper/search-filter-wrapper.component.html","./src/app/profile/components/search-filter-wrapper/search-filter-wrapper.component.ts","./src/app/profile/components/search-filter-wrapper/search-filter-wrapper.module.ts","./src/app/profile/components/search-filter/components/area-type-filter/area-type-filter.component.html","./src/app/profile/components/search-filter/components/area-type-filter/area-type-filter.component.ts","./src/app/profile/components/search-filter/components/area-type-filter/area-type-filter.module.ts","./src/app/profile/components/search-filter/components/characteristics-type-filter/characteristics-type-filter.component.html","./src/app/profile/components/search-filter/components/characteristics-type-filter/characteristics-type-filter.component.ts","./src/app/profile/components/search-filter/components/characteristics-type-filter/characteristics-type-filter.module.ts","./src/app/profile/components/search-filter/components/checkbox-list-filter.ts","./src/app/profile/components/search-filter/components/checkbox-list/checkbox-list.component.html","./src/app/profile/components/search-filter/components/checkbox-list/checkbox-list.component.ts","./src/app/profile/components/search-filter/components/checkbox-list/checkbox-list.module.ts","./src/app/profile/components/search-filter/components/more-type-filter/more-type-filter.component.html","./src/app/profile/components/search-filter/components/more-type-filter/more-type-filter.component.ts","./src/app/profile/components/search-filter/components/more-type-filter/more-type-filter.module.ts","./src/app/profile/components/search-filter/components/operation-type-filter/operation-type-filter.component.html","./src/app/profile/components/search-filter/components/operation-type-filter/operation-type-filter.component.ts","./src/app/profile/components/search-filter/components/operation-type-filter/operation-type-filter.module.ts","./src/app/profile/components/search-filter/components/property-type-filter/property-type-filter.component.html","./src/app/profile/components/search-filter/components/property-type-filter/property-type-filter.component.ts","./src/app/profile/components/search-filter/components/property-type-filter/property-type-filter.module.ts","./src/app/profile/components/search-filter/components/range-input/range-input.component.html","./src/app/profile/components/search-filter/components/range-input/range-input.component.ts","./src/app/profile/components/search-filter/components/range-input/range-input.module.ts","./src/app/profile/components/search-filter/components/range-type-filter.ts","./src/app/profile/components/search-filter/components/value-type-filter/value-type-filter.component.html","./src/app/profile/components/search-filter/components/value-type-filter/value-type-filter.component.ts","./src/app/profile/components/search-filter/components/value-type-filter/value-type-filter.module.ts","./src/app/profile/components/search-filter/const/more-type.ts","./src/app/profile/components/search-filter/const/property-type.ts","./src/app/profile/components/search-filter/home-search-filters-analytics-handler.ts","./src/app/profile/components/search-filter/model/deal-type.enum.ts","./src/app/profile/components/search-filter/model/filter-panel-handler.model.ts","./src/app/profile/components/search-filter/search-filter.component.html","./src/app/profile/components/search-filter/search-filter.component.ts","./src/app/profile/components/search-filter/search-filter.module.ts","./src/app/profile/components/search-filter/search-filter.service.ts","./src/app/profile/components/search-order/search-order.component.html","./src/app/profile/components/search-order/search-order.component.ts","./src/app/profile/components/search-order/search-order.module.ts","./src/app/profile/components/skeleton-product-card/skeleton-product-card.component.html","./src/app/profile/components/skeleton-product-card/skeleton-product-card.component.ts","./src/app/profile/components/skeleton-product-card/skeleton-product-card.module.ts","./src/app/profile/directives/image-preload/image-preload.directive.ts","./src/app/profile/enums/division-type.enum.ts","./src/app/profile/enums/event-action.enum.ts","./src/app/profile/enums/event-category.enum.ts","./src/app/profile/enums/event-type.enum.ts","./src/app/profile/models/attributes.model.ts","./src/app/profile/models/product-card.model.ts","./src/app/profile/models/product-grid-event.model.ts","./src/app/profile/models/product-type.enum.ts","./src/app/profile/models/search-filter.model.ts","./src/app/profile/services/product/product-url.service.ts","./src/app/profile/services/slug/slug.service.ts","./src/app/properties/properties.component.html","./src/app/properties/properties.component.ts","./src/app/properties/properties.module.ts","./src/app/properties/service/properties.service.ts","./src/app/reports/components/AvatarComponent/avatar.component.html","./src/app/reports/components/AvatarComponent/avatar.component.ts","./src/app/reports/components/ContactComponent/contact.component.html","./src/app/reports/components/ContactComponent/contact.component.ts","./src/app/reports/components/ContentScrollable/content-scrollable.component.html","./src/app/reports/components/ContentScrollable/content-scrollable.component.ts","./src/app/reports/components/FilterImpoundedLeads/filter-impounded-leads.component.html","./src/app/reports/components/FilterImpoundedLeads/filter-impounded-leads.component.ts","./src/app/reports/components/FilterLeads/filter-leads.component.html","./src/app/reports/components/FilterLeads/filter-leads.component.ts","./src/app/reports/components/ImpoundedLeads/impounded-leads.component.html","./src/app/reports/components/ImpoundedLeads/impounded-leads.component.ts","./src/app/reports/components/distributionBroker/distribution-broker.component.html","./src/app/reports/components/distributionBroker/distribution-broker.component.ts","./src/app/reports/components/distributionService/distribution-service.component.html","./src/app/reports/components/distributionService/distribution-service.component.ts","./src/app/reports/reports.component.html","./src/app/reports/reports.component.ts","./src/app/reports/reports.module.ts","./src/app/shared/components/accordion/accordion.component.html","./src/app/shared/components/accordion/accordion.component.ts","./src/app/shared/components/address-registry/address-registry.component.html","./src/app/shared/components/address-registry/address-registry.component.ts","./src/app/shared/components/autocomplete/autocomplete.component.html","./src/app/shared/components/autocomplete/autocomplete.component.ts","./src/app/shared/components/broker-profile-card/broker-profile-card.component.html","./src/app/shared/components/broker-profile-card/broker-profile-card.component.ts","./src/app/shared/components/button-option/button-option.component.html","./src/app/shared/components/button-option/button-option.component.ts","./src/app/shared/components/buttons-filters/buttons-filters.component.html","./src/app/shared/components/buttons-filters/buttons-filters.component.ts","./src/app/shared/components/buttons-list/buttons-list.component.html","./src/app/shared/components/buttons-list/buttons-list.component.ts","./src/app/shared/components/buttons-popup/buttons-popup.component.html","./src/app/shared/components/buttons-popup/buttons-popup.component.ts","./src/app/shared/components/buttons-popup/service/buttons-popup.service.ts","./src/app/shared/components/calendar/calendar.component.html","./src/app/shared/components/calendar/calendar.component.ts","./src/app/shared/components/capture-unit-product/capture-unit-product-modal/capture-unit-product-modal.component.html","./src/app/shared/components/capture-unit-product/capture-unit-product-modal/capture-unit-product-modal.component.ts","./src/app/shared/components/capture-unit-product/capture-unit-product.component.html","./src/app/shared/components/capture-unit-product/capture-unit-product.component.ts","./src/app/shared/components/card-info/card-info.component.html","./src/app/shared/components/card-info/card-info.component.ts","./src/app/shared/components/default-dialog/default-dialog.component.html","./src/app/shared/components/default-dialog/default-dialog.component.ts","./src/app/shared/components/dnd-card/dnd-card.component.html","./src/app/shared/components/dnd-card/dnd-card.component.ts","./src/app/shared/components/dnd-table/dnd-table.component.html","./src/app/shared/components/dnd-table/dnd-table.component.ts","./src/app/shared/components/dropdown-button/dropdown-button.component.html","./src/app/shared/components/dropdown-button/dropdown-button.component.ts","./src/app/shared/components/dropdown-icon/dropdown-icon.component.html","./src/app/shared/components/dropdown-icon/dropdown-icon.component.ts","./src/app/shared/components/dropdown-input-list/dropdown-input-list.component.html","./src/app/shared/components/dropdown-input-list/dropdown-input-list.component.ts","./src/app/shared/components/dropdown-select/dropdown-select.component.html","./src/app/shared/components/dropdown-select/dropdown-select.component.ts","./src/app/shared/components/dropdown-select/dropdown-select.module.ts","./src/app/shared/components/dropdown-tags/dropdown-tags.component.html","./src/app/shared/components/dropdown-tags/dropdown-tags.component.ts","./src/app/shared/components/dropdown/dropdown.component.html","./src/app/shared/components/dropdown/dropdown.component.ts","./src/app/shared/components/dropdown/dropdown.pipe.ts","./src/app/shared/components/edit-fac-modal/edit-fac-modal.component.html","./src/app/shared/components/edit-fac-modal/edit-fac-modal.component.ts","./src/app/shared/components/edit-fac-modal/edit-fac-modal.module.ts","./src/app/shared/components/edit-fac-modal/modal-files-upload/modal-files-upload.component.html","./src/app/shared/components/edit-fac-modal/modal-files-upload/modal-files-upload.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/client-chat/client-chat.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/client-chat/client-chat.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/discard-popup/discard-popup.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/discard-popup/discard-popup.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/fac-history-chat/fac-history.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/fac-history-chat/fac-history.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-geral.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-geral.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-offered-product/modal-offered-product.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-offered-product/modal-offered-product.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-origin-lead/modal-origin-lead.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/modal-origin-lead/modal-origin-lead.component.ts","./src/app/shared/components/edit-fac-modal/modal-geral-chat/transfer-popup/transfer-popup.component.html","./src/app/shared/components/edit-fac-modal/modal-geral-chat/transfer-popup/transfer-popup.component.ts","./src/app/shared/components/edit-fac-modal/modal-log/modal-log.component.html","./src/app/shared/components/edit-fac-modal/modal-log/modal-log.component.ts","./src/app/shared/components/edit-fac-modal/modal-more-details/modal-more-details.component.html","./src/app/shared/components/edit-fac-modal/modal-more-details/modal-more-details.component.ts","./src/app/shared/components/edit-fac-modal/modal-product-search/modal-product-search.component.html","./src/app/shared/components/edit-fac-modal/modal-product-search/modal-product-search.component.ts","./src/app/shared/components/edit-fac-modal/modal-search-profile/edit-modal-search-profile/edit-modal-search-profile.component.html","./src/app/shared/components/edit-fac-modal/modal-search-profile/edit-modal-search-profile/edit-modal-search-profile.component.ts","./src/app/shared/components/edit-fac-modal/modal-search-profile/modal-search-profile.component.html","./src/app/shared/components/edit-fac-modal/modal-search-profile/modal-search-profile.component.ts","./src/app/shared/components/edit-fac-modal/service/edit-fac-modal.service.ts","./src/app/shared/components/flag-component/flag-component.component.html","./src/app/shared/components/flag-component/flag-component.component.ts","./src/app/shared/components/flag-component/flag-component.module.ts","./src/app/shared/components/flag-input/flag-input.component.html","./src/app/shared/components/flag-input/flag-input.component.ts","./src/app/shared/components/input-dropdown-country-prefix-phone/input-dropdown-country-prefix-phone.component.html","./src/app/shared/components/input-dropdown-country-prefix-phone/input-dropdown-country-prefix-phone.component.ts","./src/app/shared/components/input-dropdown-country-prefix-phone/input-dropdown-country-prefix-phone.module.ts","./src/app/shared/components/input-search/input-search.component.html","./src/app/shared/components/input-search/input-search.component.ts","./src/app/shared/components/input-tag/input-tag.component.html","./src/app/shared/components/input-tag/input-tag.component.ts","./src/app/shared/components/input-text/input-text.component.html","./src/app/shared/components/input-text/input-text.component.ts","./src/app/shared/components/input-text/input-text.module.ts","./src/app/shared/components/input/input.component.html","./src/app/shared/components/input/input.component.ts","./src/app/shared/components/lead-form/lead-form.component.html","./src/app/shared/components/lead-form/lead-form.component.ts","./src/app/shared/components/lead-form/lead-form.module.ts","./src/app/shared/components/list-action/list-action.component.html","./src/app/shared/components/list-action/list-action.component.ts","./src/app/shared/components/modal-config-users/modal-config-users.component.html","./src/app/shared/components/modal-config-users/modal-config-users.component.ts","./src/app/shared/components/modal-edit/modal-edit.component.html","./src/app/shared/components/modal-edit/modal-edit.component.ts","./src/app/shared/components/modal-order/modal-order.component.html","./src/app/shared/components/modal-order/modal-order.component.ts","./src/app/shared/components/modal-work-schedule/modal-work-schedule.component.html","./src/app/shared/components/modal-work-schedule/modal-work-schedule.component.ts","./src/app/shared/components/modal-work-schedule/service/modal-work-schedule.service.ts","./src/app/shared/components/more-information/more-information.component.html","./src/app/shared/components/more-information/more-information.component.ts","./src/app/shared/components/multi-selection-dropdown/multi-selection-dropdown.component.html","./src/app/shared/components/multi-selection-dropdown/multi-selection-dropdown.component.ts","./src/app/shared/components/multi-selection-tags/multi-selection-tags.component.html","./src/app/shared/components/multi-selection-tags/multi-selection-tags.component.ts","./src/app/shared/components/not-found/not-found-page.component.html","./src/app/shared/components/not-found/not-found-page.component.ts","./src/app/shared/components/participants-modal/participants-modal.component.html","./src/app/shared/components/participants-modal/participants-modal.component.ts","./src/app/shared/components/product-registration/product-registration.component.html","./src/app/shared/components/product-registration/product-registration.component.ts","./src/app/shared/components/product-registration/product-search/product-reg-card/product-reg-card.component.html","./src/app/shared/components/product-registration/product-search/product-reg-card/product-reg-card.component.ts","./src/app/shared/components/product-registration/product-search/product-search.component.html","./src/app/shared/components/product-registration/product-search/product-search.component.ts","./src/app/shared/components/professional-modal/professional-modal.component.html","./src/app/shared/components/professional-modal/professional-modal.component.ts","./src/app/shared/components/profile-card/profile-card.component.html","./src/app/shared/components/profile-card/profile-card.component.ts","./src/app/shared/components/properties-card/properties-card.component.html","./src/app/shared/components/properties-card/properties-card.component.ts","./src/app/shared/components/properties-table/properties-table.component.html","./src/app/shared/components/properties-table/properties-table.component.ts","./src/app/shared/components/proprietary-modal/proprietary-modal.component.html","./src/app/shared/components/proprietary-modal/proprietary-modal.component.ts","./src/app/shared/components/proprietary/proprietary.component.html","./src/app/shared/components/proprietary/proprietary.component.ts","./src/app/shared/components/range-selector/range-selector.component.html","./src/app/shared/components/range-selector/range-selector.component.ts","./src/app/shared/components/sale-and-rent/sale-and-rent.component.html","./src/app/shared/components/sale-and-rent/sale-and-rent.component.ts","./src/app/shared/components/search-profile-card/search-profile-card.component.html","./src/app/shared/components/search-profile-card/search-profile-card.component.ts","./src/app/shared/components/select-options/select-options.component.html","./src/app/shared/components/select-options/select-options.component.ts","./src/app/shared/components/slide-toggle/slide-toggle.component.html","./src/app/shared/components/slide-toggle/slide-toggle.component.ts","./src/app/shared/components/snackbar/service/snackbar.service.ts","./src/app/shared/components/snackbar/snackbar.component.html","./src/app/shared/components/snackbar/snackbar.component.ts","./src/app/shared/components/sort-arrows/sort-arrows.component.html","./src/app/shared/components/sort-arrows/sort-arrows.component.ts","./src/app/shared/components/stepper/stepper.component.html","./src/app/shared/components/stepper/stepper.component.ts","./src/app/shared/components/tags/tags.component.html","./src/app/shared/components/tags/tags.component.ts","./src/app/shared/components/team-management-table/team-management-table.html","./src/app/shared/components/team-management-table/team-management-table.ts","./src/app/shared/components/timepicker/timepicker.component.html","./src/app/shared/components/timepicker/timepicker.component.ts","./src/app/shared/components/today-schedule/today-schedule.component.html","./src/app/shared/components/today-schedule/today-schedule.component.ts","./src/app/shared/components/valid-msg/valid-msg.component.html","./src/app/shared/components/valid-msg/valid-msg.component.ts","./src/app/shared/components/valid-msg/valid-msg.module.ts","./src/app/shared/components/valid-msg/valid-msg.pipe.ts","./src/app/shared/components/valid-msg/validation.service.ts","./src/app/shared/components/widgets/clock/clock.component.html","./src/app/shared/components/widgets/clock/clock.component.ts","./src/app/shared/components/widgets/done-visits/done-visits.component.html","./src/app/shared/components/widgets/done-visits/done-visits.component.ts","./src/app/shared/components/widgets/facs-fav/facs-fav.component.html","./src/app/shared/components/widgets/facs-fav/facs-fav.component.ts","./src/app/shared/components/widgets/facs-receiveds/facs-receiveds.component.html","./src/app/shared/components/widgets/facs-receiveds/facs-receiveds.component.ts","./src/app/shared/components/widgets/facs-temp/facs-temp.component.html","./src/app/shared/components/widgets/facs-temp/facs-temp.component.ts","./src/app/shared/components/widgets/facs-time/facs-time.component.html","./src/app/shared/components/widgets/facs-time/facs-time.component.ts","./src/app/shared/components/widgets/funnel/funnel.component.html","./src/app/shared/components/widgets/funnel/funnel.component.ts","./src/app/shared/components/widgets/outdated-facs/outdated-facs.component.html","./src/app/shared/components/widgets/outdated-facs/outdated-facs.component.ts","./src/app/shared/components/widgets/proposals-made/proposals-made.component.html","./src/app/shared/components/widgets/proposals-made/proposals-made.component.ts","./src/app/shared/components/widgets/schedule/schedule.component.html","./src/app/shared/components/widgets/schedule/schedule.component.ts","./src/app/shared/components/widgets/scheduled-visits/scheduled-visits.component.html","./src/app/shared/components/widgets/scheduled-visits/scheduled-visits.component.ts","./src/app/shared/components/widgets/widget.component.html","./src/app/shared/components/widgets/widget.component.ts","./src/app/shared/components/zip-code-flag-input/zip-code-flag-input.component.html","./src/app/shared/components/zip-code-flag-input/zip-code-flag-input.component.ts","./src/app/shared/components/zip-code-flag-input/zip-code-flag-input.model.ts","./src/app/shared/contact-event-tag.builder.ts","./src/app/shared/enum/communication-subject-enum.ts","./src/app/shared/enum/file-types-enum.ts","./src/app/shared/functions/CustomPaginatorConfiguration.ts","./src/app/shared/functions/DefaultFilterSearchDashboardFac.ts","./src/app/shared/functions/DefaultListRangeDates.ts","./src/app/shared/functions/FileDownloader.ts","./src/app/shared/functions/StringSanitize.ts","./src/app/shared/material.module.ts","./src/app/shared/services/communication-proxy.service.ts","./src/app/shared/services/legacy-login.service.ts","./src/app/shared/shared.module.ts","./src/app/team-management/service/team-management.service.ts","./src/app/team-management/team-management.component.html","./src/app/team-management/team-management.component.ts","./src/app/team-management/team-management.module.ts","./src/app/user-preferences/audio-player/audio-player.component.html","./src/app/user-preferences/audio-player/audio-player.component.ts","./src/app/user-preferences/notification-sound/notification-sound.component.html","./src/app/user-preferences/notification-sound/notification-sound.component.ts","./src/app/user-preferences/user-preferences.component.html","./src/app/user-preferences/user-preferences.component.ts","./src/app/user-preferences/user-preferences.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-4d5463774e7a51784e6a63774f44637a4d7934344f54453d.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\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActionHistoryQueueComponent } from './action-history-queue.component';\nimport { ListActionHistoryQueueComponent } from './components/list-action-history-queue/list-action-history-queue.component';\nimport { MaterialModule } from '../shared/material.module';\nimport { CommonsLibModule } from 'commons-lib';\nimport { RouterModule } from '@angular/router';\nimport { MatDialogModule, MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatTableModule } from '@angular/material';\nimport { SharedModule } from '../shared/shared.module';\nimport { FilterActionHistoryQueueComponent } from './components/filter-action-history-queue/filter-action-history-queue.component';\nimport { ModalCalendarComponent } from './components/modal-calendar/modal-calendar.component';\nimport { NzDatePickerModule, NzSelectModule } from 'ng-zorro-antd';\n\n\n\n@NgModule({\n declarations: [\n ActionHistoryQueueComponent, \n ListActionHistoryQueueComponent, \n FilterActionHistoryQueueComponent, \n ModalCalendarComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n SharedModule,\n CommonsLibModule.forRoot(),\n MatProgressSpinnerModule,\n MatPaginatorModule,\n MatTableModule,\n MatDialogModule,\n NzDatePickerModule,\n NzSelectModule,\n MatProgressBarModule\n ],\n entryComponents: [ModalCalendarComponent]\n})\nexport class ActionHistoryQueueModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoginService } from 'lps-navigation';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\nimport { IDateRange } from './interfaces/date-range.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActionHistoryQueueService {\n\n public api_uri = this.environmentService.getEnvVar('base_url_roulette');\n\n constructor(private http: HttpClient, private loginService: LoginService, private environmentService: EnvironmentService) { }\n\n listActionHistoryQueue(page: number, maxResults: number, action = '', dateRange: IDateRange) {\n const { initialDate, endDate } = dateRange;\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/queue/action-history?max_results=${maxResults}&page=${page}&action=${action}&dtIni=${initialDate}&dtEnd=${endDate}`, {headers});\n }\n\n reportActionHistory(initialDate: string, endDate: string) {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/queue/action-history/report?dtIni=${initialDate}&dtEnd=${endDate}`, {headers});\n }\n\n listActionType() {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/queue/action-history/action-type`, {headers});\n }\n}\n","
\n

Visualização de relatório por data

\n X\n
\n\n
\n \n
\n\n
\n
\n Período:\n
\n \n \n
\n\n
\n \n
\n\n
\n Cancelar\n Fazer Download\n \n
","import { DatePipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material';\nimport { convertBase64toFileAndDownload } from 'src/app/shared/functions/FileDownloader';\nimport { ActionHistoryQueueService } from '../../action-history-queue.service';\n\n@Component({\n selector: 'app-modal-calendar',\n templateUrl: './modal-calendar.component.html',\n styleUrls: ['./modal-calendar.component.scss']\n})\nexport class ModalCalendarComponent implements OnInit {\n date;\n loading = false;\n form: FormGroup;\n\n constructor(private datepipe: DatePipe, private service: ActionHistoryQueueService, public dialogRef: MatDialogRef) {\n this.form = new FormGroup({\n startDate: new FormControl(null, Validators.required),\n endDate: new FormControl(null, Validators.required),\n });\n }\n\n ngOnInit(): void {\n }\n\n onChange(result: any): void {\n this.form.get('startDate').setValue(this.datepipe.transform(result[0], 'yyyy-MM-dd'));\n this.form.get('endDate').setValue(this.datepipe.transform(result[1], 'yyyy-MM-dd'));\n }\n\n download() {\n this.loading = true;\n this.service.reportActionHistory(this.form.get('startDate').value, this.form.get('endDate').value).subscribe((res: any) => {\n convertBase64toFileAndDownload('xlsx', res.file,res.name); \n this.loading = false;\n this.close();\n }, (err: any) => {\n this.loading = false;\n console.error('Erro ao gerar relatório', err);\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n}\n","import { Routes } from '@angular/router';\n\nimport { HomeComponent } from './home/home.component';\nimport { ReportsComponent } from './reports/reports.component';\nimport { NotificationsComponent } from './notifications/notifications.component';\nimport { ProfileHomeComponent } from './profile-home/profile-home.component';\nimport { ProfileComponent } from './profile-home/profile/profile.component';\nimport { FacsComponent } from './facs/facs.component';\nimport { PropertiesComponent } from './properties/properties.component';\nimport { ToggleGuardGuard } from './core/guards/toggle-guard/toggle-guard.guard';\nimport { TeamManagementComponent } from './team-management/team-management.component';\nimport { ErrorTokenComponent } from './errors-pages/error-token/error-token.component';\nimport { ErrorServiceComponent } from './errors-pages/error-service/error-service.component';\nimport { NotfoundExeptionsComponent } from './notfound-exeptions/notfound-exeptions.component';\nimport { ProductsFiltersComponent } from './products/product-register/products-filters/products-filters.component';\nimport { DistributionServiceComponent } from './reports/components/distributionService/distribution-service.component';\nimport { DistributionBrokerComponent } from './reports/components/distributionBroker/distribution-broker.component';\nimport { ImpoundedLeadsComponent } from './reports/components/ImpoundedLeads/impounded-leads.component';\nimport { ProductsComponent } from './products/product-register/products.component';\nimport { CaptureComponent } from './products/product-register/capture/capture.component';\nimport { OtherInformationComponent } from './products/product-register/other-information/other-information.component';\nimport { ProductCharacteristicsComponent } from './products/product-register/product-characteristics/product-characteristics.component';\nimport { DescriptionComponent } from './products/product-register/description/description.component';\nimport { MediaComponent } from './products/product-register/media/media.component';\nimport { ProfessionalComponent } from './products/product-register/professional/professional.component';\nimport { ProductSheetComponent } from './products/product-sheet/product-sheet.component';\nimport { ProductReadyComponent } from './products/product-sheet/product-ready/product-ready.component';\nimport { BrokerCalendarComponent } from './broker-calendar/broker-calendar.component';\nimport { FacsTourComponent } from './facs/facs-tour/facs-tour.component';\nimport { CompanyConfigurationListComponent } from './company-configuration-list/company-configuration-list.component';\nimport { CompanyConfigurationComponent } from './company-configuration-list/company-configuration/company-configuration.component';\nimport { BrokerProfileComponent } from './profile/broker-profile/broker-profile.component';\nimport { RouteGuard } from '../app/core/guards/route-guard/route-guard.guard';\nimport { HelperCenterComponent } from './helper-center/helper-center.component';\nimport { UserPreferencesComponent } from './user-preferences/user-preferences.component';\nimport { AuthGuard } from './core/guards/auth-guard/auth-guard';\nimport { LeadCampaignComponent } from './lead-campaign/lead-campaign.component';\nimport { LeadHomeComponent } from './lead-campaign/lead-home/lead-home.component';\nimport { LeadCampaignListComponent } from './lead-campaign/lead-campaign-list/lead-campaign-list.component';\nimport { BrokerProfileGuard } from './core/guards/broker-profile-guard/broker-profile.guard';\nimport { DashboardQueueComponent } from './dashboard-queue/dashboard-queue.component';\nimport { DistributionByQueueComponent } from './dashboard-queue/pages/distribution-by-queue/distribution-by-queue.component';\nimport {LegacyLogoutComponent} from \"./legacy-logout/logout/legacy-logout.component\";\nimport { NotFoundPageComponent } from './shared/components/not-found/not-found-page.component';\nimport { DashboardReportsComponent } from './dashboard-reports/dashboard-reports.component';\nimport { FaqHomeComponent } from './lead-campaign/faq/faq-home/faq-home.component';\n\nconst PUBLIC_ROUTES = [\n {\n path: 'relatorios-gestao',\n component: DashboardReportsComponent\n },\n {\n path: 'relatorios-gestao/:id',\n component: DashboardReportsComponent\n },\n {\n path: 'preferencias-do-usuario',\n component: UserPreferencesComponent,\n },\n {\n path: 'perfil/:name',\n component: ProfileHomeComponent,\n children: [\n {\n path: '',\n redirectTo: 'perfil',\n pathMatch: 'prefix'\n },\n {\n path: 'perfil',\n component: ProfileComponent\n }\n ]\n },\n {\n path: 'associado/:name',\n component: BrokerProfileComponent,\n canActivate: [BrokerProfileGuard]\n },\n {\n path: 'erro',\n children: [\n {\n path: 'token',\n component: ErrorTokenComponent\n },\n {\n path: 'servico',\n component: ErrorServiceComponent\n }\n ],\n },\n {\n path: 'nao-encontrado',\n component: NotfoundExeptionsComponent\n },\n {\n path: 'painel-filas-de-atendimento/distribuicao-por-fila',\n component: DistributionByQueueComponent\n },\n {\n path: 'legacy-logout',\n component: LegacyLogoutComponent\n }\n];\n\nconst SECURE_ROUTES = [\n { path: 'home', component: HomeComponent },\n { path: 'central-ajuda', component: HelperCenterComponent },\n {\n path: 'relatorios-de-distribuicao',\n component: ReportsComponent,\n canActivate: [ToggleGuardGuard],\n data: {\n toggle: 'feature_reports'\n },\n children: [\n {\n path: 'distribuicao-atendimento',\n component: DistributionServiceComponent\n },\n {\n path: 'distribuicao-corretor',\n component: DistributionBrokerComponent\n },\n {\n path: 'leads-represados',\n component: ImpoundedLeadsComponent\n }\n ]\n },\n { path: 'notificacao', component: NotificationsComponent },\n {\n path: 'painel-filas-de-atendimento',\n component: DashboardQueueComponent\n },\n {\n path: 'gerenciamento-de-equipe',\n component: TeamManagementComponent,\n canActivate: [ToggleGuardGuard],\n data: {\n toggle: 'feature_distribution'\n }\n },\n {\n path: 'produtos',\n component: PropertiesComponent,\n },\n { path: 'facs/:id', component: FacsComponent },\n { path: 'facs/:tempo', component: FacsComponent },\n { path: 'facs/:temperatura', component: FacsComponent },\n { path: 'facs/:favoritos', component: FacsComponent },\n { path: 'facs/:incorporador', component: FacsComponent },\n { path: 'facs', component: FacsComponent },\n { path: 'facs-tour', component: FacsTourComponent },\n {\n path: 'produtos/registro',\n component: ProductsComponent,\n children: [\n {\n path: '',\n component: CaptureComponent\n },\n {\n path: 'outras-informacoes',\n component: OtherInformationComponent\n },\n {\n path: 'caracteristicas',\n component: ProductCharacteristicsComponent\n },\n {\n path: 'descricao',\n component: DescriptionComponent\n },\n {\n path: 'midias',\n component: MediaComponent\n },\n {\n path: 'profissional',\n component: ProfessionalComponent\n }\n ]\n },\n {\n path: 'produtos/filtros',\n component: ProductsFiltersComponent,\n canActivate: [ToggleGuardGuard],\n data: {\n toggle: 'feature_distribution'\n },\n },\n {\n path: 'agenda',\n component: BrokerCalendarComponent,\n canActivate: [ToggleGuardGuard],\n data: {\n toggle: 'feature_calendar'\n }\n },\n {\n path: 'produtos/ficha/:sku',\n component: ProductSheetComponent,\n children: [\n {\n path: '',\n component: ProductReadyComponent\n }\n ],\n canActivate: [ToggleGuardGuard],\n data: {\n toggle: 'feature_product_sheet'\n }\n },\n {\n path: 'lista-de-empresas',\n component: CompanyConfigurationListComponent,\n },\n {\n path: 'lista-de-empresas/configuracao-de-empresa',\n component: CompanyConfigurationComponent,\n },\n {\n path: 'lopes-leads',\n component: LeadCampaignComponent,\n data: {\n toggle: 'feature_lopes_lead'\n },\n children: [\n {\n path: '',\n component: LeadHomeComponent\n },\n {\n path: 'lista',\n component: LeadCampaignListComponent,\n },\n {\n path: 'perguntas-frequentes',\n component: FaqHomeComponent\n }\n ]\n }\n];\n\nconst PUBLIC_PAGES = [\n { path: 'nao-encontrado', component: NotFoundPageComponent }\n];\n\nexport const APP_ROUTES: Routes = [\n { path: '', pathMatch: 'prefix', redirectTo: 'home' },\n { path: '', children: PUBLIC_ROUTES },\n {\n path: '',\n canActivate: [AuthGuard, RouteGuard],\n children: SECURE_ROUTES\n },\n { path: 'paginas', children: PUBLIC_PAGES },\n { path: '**', redirectTo: 'paginas/nao-encontrado' },\n];\n","
\n\t\n\t\n\t\n\t\n\t\n
\n\n\n","import {Component, OnDestroy, OnInit} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\n\nimport {DropActionModel, SideMenuItemModel, SideMenuModel} from './core/models/sidemenu.model';\nimport {HomeService} from './home/service/home.service';\nimport {EnvironmentService} from './core/enviroment/environment.service';\nimport {GeolocationService} from './core/services/geolocation/geolocation.service';\n\nimport {take} from 'rxjs/operators';\nimport {Navigation, NavigationService, TagGoogleAnalytics} from 'lps-navigation';\nimport {FacsService} from './facs/service/facs.service';\nimport {SnackbarService} from './shared/components/snackbar/service/snackbar.service';\nimport {Subscription} from 'rxjs';\nimport {LayoutService} from './core/services/layout/layout.service';\nimport {GoogleTagManagerService} from './core/analytics/google-tag-manager.service';\nimport {HomeManagerService} from './home/service/home-manager.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n public hasFinishedLoading = false;\n public showSideMenu: boolean;\n public showHeaderMenu = true;\n public showFooter = true;\n public routerAtHome = true;\n public sideMenuItems: SideMenuModel[];\n public sideMenuCollapsed: SideMenuItemModel;\n public envs = this.environmentService.getAllEnvs();\n public showModal = false;\n private openSideMenu = false;\n public facId = '';\n public activeRoute: string;\n public portalUrl: string;\n public crmUrl: string;\n\n public subjectGeolocation = new Subscription();\n public navigation: Navigation;\n public showNewBrokerProfile;\n public featureQueueList: boolean = this.environmentService.getEnvVar('feature_queue_list') === 'true';\n public featureReleaseNotes: boolean = this.environmentService.getEnvVar('feature_release_notes') === 'true';\n private subscShowFilter = new Subscription();\n\n constructor(\n private homeSvc: HomeService,\n private homeManagerService: HomeManagerService,\n private environmentService: EnvironmentService,\n private router: Router,\n private navigationService: NavigationService,\n private geolocationService: GeolocationService,\n private service: FacsService,\n private snackbarService: SnackbarService,\n private layoutService: LayoutService,\n private googleTagService: GoogleTagManagerService\n ) {\n }\n\n get domain() {\n return this.environmentService.getEnvVar('lopes_portal_domain');\n }\n\n get sideMenuDraggables() {\n return this.homeSvc.sideMenuDraggables;\n }\n\n ngOnInit() {\n this.portalUrl = this.environmentService.getBasePortalUrl();\n this.crmUrl = this.environmentService.getBaseCrmUrl();\n this.showNewBrokerProfile = this.environmentService.getEnvVar('feature_new_broker_profile');\n this.subjectGeolocation = this.geolocationService.getLocation().subscribe((value: any) => {\n this.getNavigation(value);\n this.getRoute();\n });\n this.listenShowFooter();\n this.hideHeaderMenuBrokerProfile();\n }\n\n public getNavigation(geolocation: any) {\n this.navigationService.getNavigation('br', geolocation)\n .pipe(take(1))\n .subscribe(\n (navigationResponse) => {\n this.navigation = navigationResponse;\n if (navigationResponse.sidebar) {\n this.homeSvc.getDraggableSidemenuItems(navigationResponse.sidebar.menu);\n }\n this.hasFinishedLoading = true;\n this.setURLBrokerProfile();\n }, () => { this.hasFinishedLoading = true; }\n );\n }\n\n ngOnDestroy(): void {\n this.subjectGeolocation.unsubscribe();\n this.subscShowFilter.unsubscribe();\n }\n\n addDashWidget(action: DropActionModel) {\n this.homeSvc.addDashWidget(action);\n }\n\n toggleSideMenu(): void {\n this.openSideMenu = !this.openSideMenu;\n this.service.setOpen(this.openSideMenu);\n const route = this.router.url;\n if (route === '/home') {\n this.routerAtHome = true;\n } else {\n this.routerAtHome = false;\n }\n this.showSideMenu = !this.showSideMenu;\n this.sideMenuCollapsed = null;\n }\n\n logout(token?) {\n this.router.navigate(['/']);\n this.homeSvc.clearHomeCrmToken();\n }\n\n successfulLogin(event: string) {\n if (event) {\n this.router.navigate(['/home']);\n }\n }\n\n sideMenuAction(event: any) {\n if (event.action) {\n const url = event.action.url;\n if (url === '/home' && !this.isFromCrm()) {\n window.location.href = `${this.crmUrl}/home`;\n }\n\n this.router.navigate([url]);\n }\n }\n\n closeModal() {\n this.showModal = false;\n }\n\n public getURL(data) {\n const route = this.showNewBrokerProfile === 'true' || this.showNewBrokerProfile === true ? '/associado' : '/perfil';\n this.router.navigate([route, data]);\n }\n\n openFacModal(event) {\n this.facId = event[0].id;\n this.showModal = true;\n }\n\n getRoute() {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd ) {\n if (!event || !event.url) {\n return;\n }\n this.activeRoute = event.url;\n }\n });\n }\n\n showSnackbar(event) {\n this.snackbarService.show(event.text, event.type, event.time);\n }\n\n listenShowFooter(): void {\n this.subscShowFilter = this.layoutService.getShowFooter()\n .subscribe(state => this.showFooter = state);\n }\n\n setURLBrokerProfile() {\n if (sessionStorage.getItem('broker-nickname') && (!this.navigation.userProfile || !this.navigation.userProfile.name)) {\n this.navigation.header.company.url = 'associado/' + sessionStorage.getItem('broker-nickname');\n }\n }\n\n hideHeaderMenuBrokerProfile() {\n this.router.events.subscribe((value: NavigationEnd) => {\n if (value instanceof NavigationEnd) {\n this.showHeaderMenu = !value.url.includes('associado'); }\n });\n }\n\n pushTagEvent(tag: TagGoogleAnalytics) {\n this.googleTagService.pushTag(tag);\n }\n\n private isFromCrm(): boolean {\n return window.location.origin === this.crmUrl;\n }\n\n}\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\nimport { HTTP_INTERCEPTORS, HttpClientModule, HttpClient } from '@angular/common/http';\nimport { TransferHttpCacheModule } from '@nguniversal/common';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { AppComponent } from './app.component';\nimport { APP_ROUTES } from './app-routing.module';\nimport { environment } from 'src/environments/environment';\nimport { SharedModule } from './shared/shared.module';\nimport { InterceptorService } from './core/services/interceptor/interceptor.service';\nimport { HomeModule } from './home/home.module';\nimport { ReportsModule } from './reports/reports.module';\nimport { NotificationsModule } from './notifications/notifications.module';\nimport { ProfileModule } from './profile-home/profile.module';\nimport { FacsModule } from './facs/facs.module';\nimport { EditFacModalModule } from './shared/components/edit-fac-modal/edit-fac-modal.module';\nimport { PropertiesModule } from './properties/properties.module';\nimport { DistributionQueueModule } from './distribution-queue/distribution-queue.module';\nimport { TeamManagementModule } from './team-management/team-management.module';\nimport { initializationFactory } from './initialization-factory';\nimport { ApplicationInitializeService } from './core/services/application-initialize-service/application-initialize.service';\nimport { ErrorsPagesModule } from './errors-pages/errors-pages.module';\nimport { NotfoundExeptionsComponent } from './notfound-exeptions/notfound-exeptions.component';\nimport { ProductsModule } from './products/product-register/products.module';\nimport { ParticipantsModalComponent } from './shared/components/participants-modal/participants-modal.component';\nimport { ProductSheetModule } from './products/product-sheet/product-sheet.module';\nimport { BrokerCalendarModule } from './broker-calendar/broker-calendar.module';\nimport { CompanyConfigurationModule } from './company-configuration-list/company-configuration-list.module';\nimport { ProductGalleryModule } from './products/product-gallery/product-gallery.module';\nimport { BrokerProfileModule } from './profile/broker-profile/broker-profile.module';\nimport { HelperCenterComponent } from './helper-center/helper-center.component';\nimport { UserPreferencesModule } from './user-preferences/user-preferences.module';\nimport { LeadCampaignModule } from './lead-campaign/lead-campaign.module';\nimport { DashboardQueueModule } from './dashboard-queue/dashboard-queue.module';\nimport {LegacyLogoutModule} from './legacy-logout/legacy-logout.module';\nimport { MatPaginatorIntl } from '@angular/material';\nimport { CustomPaginator } from './shared/functions/CustomPaginatorConfiguration';\nimport { ActionHistoryQueueModule } from './action-history-queue/action-history-queue.module';\nimport { DashboardReportsModule } from './dashboard-reports/dashboard-reports.module';\n\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\nexport function getEnvVar(key: string) {\n const win = typeof window === 'undefined' ? null : window as any;\n const env = win && win.env\n ? win.env\n : process.env;\n\n return env ? env[key] : '';\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n NotfoundExeptionsComponent,\n HelperCenterComponent\n ],\n imports: [\n UserPreferencesModule,\n ProductsModule,\n SharedModule,\n HomeModule,\n ReportsModule,\n ProfileModule,\n FacsModule,\n PropertiesModule,\n ProductSheetModule,\n ProductGalleryModule,\n DistributionQueueModule,\n ActionHistoryQueueModule,\n TeamManagementModule,\n CompanyConfigurationModule,\n ErrorsPagesModule,\n HttpClientModule,\n BrowserAnimationsModule,\n BrowserModule.withServerTransition({ appId: 'lpsCrm' }),\n RouterModule.forRoot(APP_ROUTES),\n TransferHttpCacheModule,\n NotificationsModule,\n EditFacModalModule,\n TranslateModule.forRoot({\n defaultLanguage: 'pt-br',\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n BrokerCalendarModule,\n BrokerProfileModule,\n LeadCampaignModule,\n DashboardQueueModule,\n DashboardReportsModule,\n LegacyLogoutModule\n ],\n bootstrap: [AppComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initializationFactory,\n deps: [ApplicationInitializeService],\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true\n },\n {\n provide: 'google_tag_manager_id', useValue: getEnvVar('google_tag_manager_id')\n },\n { provide: MatPaginatorIntl, useValue: CustomPaginator() }\n ],\n entryComponents: [ParticipantsModalComponent],\n})\nexport class AppModule {\n}","
\n\n
\n \n \n \n \n
\n\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n\n
\n\n\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { CalendarModel, CALENDARVIEW } from '../core/models/calendar.model';\nimport { MOCK_CALENDAR, MOCK_SCHEDULE_TODAY } from '../core/constants/calendar';\nimport { WindowScrollService } from '../core/services/window-scroll.service';\n\n@Component({\n selector: 'app-broker-calendar',\n templateUrl: './broker-calendar.component.html',\n styleUrls: ['./broker-calendar.component.scss']\n})\nexport class BrokerCalendarComponent implements OnInit {\n\n public filterForm: FormGroup;\n\n public showColumnCalendar = true;\n\n mockCalendar: CalendarModel = MOCK_CALENDAR;\n mockTodaySchedule: any = MOCK_SCHEDULE_TODAY;\n\n activeYear: number;\n activeMonth: number;\n activeDay: number;\n\n markData: any;\n showMarkModal = false;\n public openEvent = false;\n public isSearch = false;\n public dataMark = {\n day: null,\n month: null\n };\n public showFilter = false;\n public alertFilter = false;\n\n calendarViewMode = CALENDARVIEW.Month;\n\n constructor(private scroll: WindowScrollService,\n private fb: FormBuilder,\n private router: Router) { }\n\n ngOnInit(): void {\n this.initializeForm();\n this.mockCalendar.today.day = new Date().getDate();\n this.mockCalendar.today.month = new Date().getMonth();\n this.mockCalendar.today.year = new Date().getFullYear();\n this.activeDay = this.mockCalendar.today.day;\n this.activeMonth = this.mockCalendar.today.month;\n this.activeYear = this.mockCalendar.today.year;\n }\n\n private initializeForm(): void {\n this.filterForm = this.fb.group({\n key_event: [null],\n date_from: [null],\n date_to: [null],\n event: [null],\n task: [null],\n remember: [null],\n return: [null],\n visit: [null]\n });\n }\n\n public openCalendar(data: boolean) {\n this.showColumnCalendar = data;\n if (data) {\n this.scroll.disable();\n } else {\n this.scroll.enable();\n }\n }\n\n public selectViewMode(mode: CALENDARVIEW) {\n this.calendarViewMode = mode;\n }\n\n public clickCalendar(data) {\n console.log('BrokerCalendarComponent -> clickCalendar -> data', data);\n }\n\n public clickGear(data) {\n console.log('BrokerCalendarComponent -> clickGear -> data', data);\n }\n\n public clickBack(data) {\n if (data < 0) {\n return;\n }\n if (this.activeMonth === 0) {\n this.activeMonth = 12;\n this.activeYear--;\n }\n this.activeMonth--;\n }\n\n public clickNext(data) {\n if (data > 11) {\n return;\n }\n if (this.activeMonth === 11) {\n this.activeMonth = 0;\n this.activeYear++;\n }\n this.activeMonth++;\n }\n\n selectDate(data: any): void {\n this.activeYear = data.year;\n this.activeMonth = data.month;\n this.activeDay = data.day;\n }\n\n public openMarkModal(markData: any): void {\n this.markData = markData;\n this.showMarkModal = true;\n this.scroll.disable();\n }\n\n public openNewMarkModal(data: {day: number, month: number}): void {\n this.openModalMark(data);\n this.scroll.disable();\n }\n\n goToday(): void {\n this.activeDay = this.mockCalendar.today.day;\n this.activeMonth = this.mockCalendar.today.month;\n this.activeYear = this.mockCalendar.today.year;\n }\n\n closeMarkModal(): void {\n this.scroll.enable();\n this.showMarkModal = false;\n }\n\n public openModalMark(data: {day: number, month: number}): void {\n this.dataMark = data;\n this.openEvent = true;\n }\n\n public getFilter(event: boolean): void {\n this.scroll.disable();\n this.showFilter = event;\n }\n\n public getCloseFilter(data: boolean): void {\n this.showFilter = data;\n }\n\n public clearForm(): void {\n this.isSearch = false;\n this.alertFilter = false;\n this.router.navigate(['/agenda']);\n this.filterForm.reset();\n this.calendarViewMode = CALENDARVIEW.Month;\n }\n\n public applyFilter(): void {\n const queryData = this.validatorFilter();\n this.router.navigate(['/agenda'], { queryParams: queryData });\n if (Object.keys(queryData).length === 0 && queryData.constructor === Object) {\n if (this.calendarViewMode === CALENDARVIEW.Results) {\n this.calendarViewMode = CALENDARVIEW.Month;\n }\n } else {\n this.calendarViewMode = CALENDARVIEW.Results;\n }\n }\n\n public validatorFilter(): any {\n const data = {\n palavra_chave: this.filterForm.get('key_event').value,\n data_visita_de: this.filterForm.get('date_from').value,\n data_visita_ate: this.filterForm.get('date_to').value,\n evento: this.filterForm.get('event').value,\n tarefa: this.filterForm.get('task').value,\n lembrete: this.filterForm.get('remember').value,\n retorno: this.filterForm.get('return').value,\n visita: this.filterForm.get('visit').value,\n };\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n if (data[key] === null || !data[key]) {\n delete data[key];\n }\n }\n }\n return data;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrokerCalendarComponent } from './broker-calendar.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { MenuCalendarComponent } from './menu-calendar/menu-calendar.component';\nimport { CalendarViewComponent } from './calendar-view/calendar-view.component';\nimport { CalendarMarkModalComponent } from './calendar-mark-modal/calendar-mark-modal.component';\nimport { CalendarMarkComponent } from './calendar-mark/calendar-mark.component';\nimport { FilterCalendarComponent } from './filter-calendar/filter-calendar.component';\n\n@NgModule({\n declarations: [\n BrokerCalendarComponent,\n MenuCalendarComponent,\n CalendarViewComponent,\n CalendarMarkModalComponent,\n CalendarMarkComponent,\n FilterCalendarComponent\n ],\n imports: [\n SharedModule\n ],\n exports: [\n BrokerCalendarComponent,\n MenuCalendarComponent,\n CalendarViewComponent,\n CalendarMarkModalComponent,\n FilterCalendarComponent\n ]\n})\nexport class BrokerCalendarModule { }\n","
\n
\n
\n

\n {{ markData.facName ? (markData.type | titlecase) + ': ' : markData.title }}{{ markData.facName ? markData.facName : '' }}\n

\n
\n \n \n \n
\n
\n
\n
\n
\n
\n {{ markData.type | titlecase }}\n
\n
\n \n \n \n Editar\n
\n
\n \n \n \n
\n
\n
\n

Vincular à fac

\n
\n {{ markData.facName }}\n
\n
\n
\n
\n

Data

\n
\n \n \n \n {{ markData.date }}\n
\n
\n
\n

Hora

\n
\n \n \n \n {{ markData.hourStart }}{{ markData.hourEnd ? ' até ' + markData.hourEnd : ''}}\n
\n
\n
\n
\n

Repetir

\n
\n \n \n \n {{ markData.repeat }}\n
\n
\n
\n
\n

Notificação

\n
\n \n \n \n {{ markData.notification }}\n
\n
\n
\n

Tipo de contato

\n
\n \n \n \n {{ markData.contactType }}\n
\n
\n
\n
\n

Local

\n
\n {{ markData.place }}\n
\n
\n
\n

Descrição ou comentário

\n
\n {{ markData.description }}\n
\n
\n
\n
\n Responder\n \n \n \n
\n
\n
\n
\n
\n
\n {{ markData.type | titlecase }}\n
\n
\n \n \n \n Editar\n
\n
\n \n \n \n
\n
\n
\n
\n

\n \n \n \n Organizador

\n
\n
\n \n \n \n
\n

{{ markData.creator.name }}

\n

{{ markData.creator.email }}

\n
\n
\n
\n
\n
\n

\n \n \n \n Confirmou ({{ markData.confirmed.length }})

\n
\n
\n \n \n \n
\n

{{ confirmed.name }}

\n

{{ confirmed.email }}

\n
\n
\n
\n
\n
\n

\n \n \n \n Talvez ({{ markData.maybe.length }})

\n
\n
\n \n \n \n
\n

{{ maybe.name }}

\n

{{ maybe.email }}

\n
\n
\n
\n
\n
\n

\n \n \n \n Não comparecerá ({{ markData.absent.length }})

\n
\n
\n \n \n \n
\n

{{ absent.name }}

\n

{{ absent.email }}

\n
\n
\n
\n
\n
\n

\n \n \n \n Não respondeu ({{ markData.noAnswer.length }})

\n
\n
\n \n \n \n
\n

{{ noAns.name }}

\n

{{ noAns.email }}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-calendar-mark-modal',\n templateUrl: './calendar-mark-modal.component.html',\n styleUrls: ['./calendar-mark-modal.component.scss']\n})\nexport class CalendarMarkModalComponent implements OnInit {\n\n @Input() markData: any;\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n creator = true;\n confirmed = true;\n maybe = false;\n absent = false;\n noAnswer = false;\n\n isMobile: boolean;\n\n \n\n ngOnInit(): void {\n this.deviceWidth(window.innerWidth);\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: any) {\n this.deviceWidth(event.target.innerWidth);\n }\n\n deviceWidth(width: number): void {\n this.isMobile = width < 769;\n }\n\n}\n","
\n
\n \n
\n \n \n
\n\n
\n \n
\n\n
\n\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n \n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n\n \n \n \n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n
\n \n
\n \n \n
\n\n
\n\n \n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n
\n\n \n \n \n
\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n
\n
\n \n \n
\n
\n\n
\n \n
\n \n
\n \n \n
\n\n
\n\n \n \n \n
\n \n\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n\n
\n
\n \n\n \n
\n \n
\n\n
\n \n
\n \n
\n \n \n
\n
\n
\n\n
\n \n Salvar\n
\n\n
\n
","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\nimport { MenuAction, RequestAction } from 'src/app/core/models/calendar.model';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { emailRegex } from 'src/app/core/constants/consts';\nimport { removeCaracter } from 'src/app/core/constants/properties-const';\n\n@Component({\n selector: 'app-calendar-mark',\n templateUrl: './calendar-mark.component.html',\n styleUrls: ['./calendar-mark.component.scss']\n})\nexport class CalendarMarkComponent implements OnInit {\n\n public listActions: MenuAction [] = [\n {\n select: false,\n text: 'Evento'\n },\n {\n select: false,\n text: 'Tarefa'\n },\n {\n select: false,\n text: 'Lembrete'\n },\n {\n select: false,\n text:'Retorno'\n },\n {\n select: false,\n text: 'Visita'\n }\n ];\n\n public listStage: string [] = ['Sem atendimento', 'Sem contato', 'Em atendimento', 'Visita', 'Proposta', 'Venda'];\n public contactList: string [] = ['Telefone', 'Email', 'WhatsApp', 'Pombo-correio'];\n public timeList: string [] = ['Minutos antes', 'Horas antes', 'Dias antes', 'Semanas antes'];\n public eventsActions: string [] = ['Não se repete', 'Todos os dias', 'Toda semana (quarta-feira)', 'Todo mês (todo dia 12)', 'Todo ano (12 de agosto)', 'Dias úteis (seg. a sex.)'];\n\n public id_type = null;\n \n @Input() public open = false;\n @Input() public requestData = {\n day: null,\n month: null\n };\n @Output() public close = new EventEmitter();\n\n public emailRegex = emailRegex;\n public formCalendar: FormGroup;\n public textSearching = '';\n\n public removeCaracter = removeCaracter;\n\n\n constructor(\n private scroll: WindowScrollService,\n private formBuilder: FormBuilder\n ) { }\n\n ngOnInit(): void {\n this.initializeEvents();\n this.listActions[0].select = true;\n this.id_type = 0;\n this.scroll.disable();\n }\n\n private initializeEvents() {\n this.formCalendar = this.formBuilder.group({\n title: ['',[Validators.required]],\n day: [this.requestData.day,[Validators.required]],\n mounth: [this.requestData.month,[Validators.required]],\n type_select: [null,[Validators.required]],\n date: [null,[Validators.required]],\n hour: [null,[Validators.required]],\n event_notofication: [null,[Validators.required]],\n notification_time: [null,[Validators.required]],\n time_repeat: [null,[Validators.required]],\n location: [null,[Validators.required]],\n invaits: [[],[Validators.required]],\n description: [null,[Validators.required]],\n link_facs: [null, [Validators.required]],\n stage_attendance: [null, [Validators.required]],\n type_contact: [null, [Validators.required]],\n });\n }\n\n public actionButtons(data: RequestAction): void {\n this.id_type = data.index;\n }\n\n public closeModal(): void {\n this.scroll.enable();\n this.open = false;\n this.close.emit(this.open);\n }\n\n public sendSearch(event: string): void {\n if (event === 'Visita') {\n this.listActions.forEach(x => x.select = false);\n this.listActions[4].select = true;\n this.id_type = 4;\n this.textSearching = this.listStage[3];\n } else {\n this.textSearching = event;\n }\n }\n\n public getTags(tag: string []): void {\n this.formCalendar.get('invaits').setValue(tag);\n }\n\n}\n","
\n
\n

{{ wDay }}

\n
\n
\n
\n
\n

{{ weekDay.day }}

\n \n
\n {{ s.description }}\n
\n
\n
\n {{ m.hourStart }} {{ m.type | titlecase }} - {{ m.facName ? 'Cliente' : m.title | titlecase }}\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n

{{ wDay }}

\n

{{ viewMonth.weeks[viewWeekIdx].days[idx].day }}

\n
\n \n
\n {{ s.description }}\n
\n
\n
\n
\n
\n
\n
\n

{{ hour }}

\n
\n
\n
\n
\n \n {{ m.hourStart }} {{ m.type | titlecase }} - {{ m.facName ? 'Cliente' : m.title | titlecase }}\n
\n
\n
\n
\n \n \n \n
\n
\n\n\n
\n
\n
\n
\n

{{ weekDays[viewDayIdx] }}

\n

{{ viewMonth.weeks[viewWeekIdx].days[viewDayIdx].day }}

\n
\n \n
\n {{ s.description }}\n
\n
\n
\n
\n
\n
\n
\n

{{ hour }}

\n
\n
\n
\n
\n \n {{ m.hourStart }} {{ m.type | titlecase }} - {{ m.facName ? 'Cliente' : m.title | titlecase }}\n
\n
\n
\n
\n \n {{ m.hourStart }} {{ m.type | titlecase }} - {{ m.facName ? 'Cliente' : m.title | titlecase }}\n
\n
\n
\n
\n \n {{ m.hourStart }} {{ m.type | titlecase }} - {{ m.facName ? 'Cliente' : m.title | titlecase }}\n
\n \n
\n
\n \n \n \n
\n \n\n\n
\n
\n
\n
\n {{ ap.day }} \n {{ shortMonth(ap.month) }}. de {{ ap.year }}\n /{{ ap.month > 9 ? '' : 0 }}{{ ap.month }}/{{ shortYear(ap.year) }}\n
\n
\n

{{ ap.facName ? ap.facName : ap.title }}

\n {{ ap.hourStart }}{{ ap.hourEnd ? ' até ' + ap.hourEnd : '' }}\n
\n
\n
\n
{{ ap.type | uppercase }}
\n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport {\n CalendarModel,\n CalendarMonthModel,\n CalendarYearModel,\n CalendarDayModel,\n MONTHSHORT,\n CALENDARVIEW,\n} from 'src/app/core/models/calendar.model';\n\nimport { MOCK_SCHEDULE_RESULTS } from 'src/app/core/constants/calendar';\n\n@Component({\n selector: 'app-calendar-view',\n templateUrl: './calendar-view.component.html',\n styleUrls: ['./calendar-view.component.scss']\n})\nexport class CalendarViewComponent implements OnInit, OnDestroy {\n\n @Input() calendar: CalendarModel;\n\n private activeViewMode: CALENDARVIEW;\n @Input() set viewMode(mode: CALENDARVIEW) {\n this.activeViewMode = mode;\n if (this.activeViewMode === CALENDARVIEW.Results) {\n this.prepareResults();\n return;\n }\n this.prepareCalendar();\n }\n get viewMode(): CALENDARVIEW {\n return this.activeViewMode;\n }\n\n private activeViewYear: number;\n @Input() set activeYear(y: number) {\n this.activeViewYear = y;\n this.prepareCalendar();\n }\n get activeYear(): number {\n return this.activeViewYear;\n }\n\n private activeViewMonth: number;\n @Input() set activeMonth(m: number) {\n this.activeViewMonth = m;\n this.prepareCalendar();\n }\n get activeMonth(): number {\n return this.activeViewMonth;\n }\n\n private activeViewDay: number;\n @Input() set activeDay(d: number) {\n this.activeViewDay = d;\n this.prepareCalendar();\n }\n get activeDay(): number {\n return this.activeViewDay;\n }\n\n @Output() openMark: EventEmitter = new EventEmitter();\n @Output() openNewMark: EventEmitter = new EventEmitter();\n\n viewMonth: CalendarMonthModel;\n viewWeekIdx: number;\n viewDayIdx: number;\n\n weekDays = [ 'Dom.', 'Seg.', 'Ter.', 'Qua.', 'Qui.', 'Sex.', 'Sáb.' ];\n dayHours = [\n '06:00', '07:00', '08:00', '09:00', '10:00', '11:00',\n '12:00', '13:00', '14:00', '15:00', '16:00', '17:00',\n '18:00', '19:00', '20:00', '21:00', '22:00'\n ];\n\n headerHeight = [ 90, 108 ];\n\n get headerHeightCalc(): number {\n return this.verifyHeaderHeight();\n }\n\n private dt: Date;\n set dtUpdate(date: Date) {\n this.dt = date;\n }\n get calcLineYpos(): number {\n return (( new Date().getHours() + new Date().getMinutes() / 60 ) - 6 ) * 56 - 8;\n }\n\n timer: any;\n\n // mock\n searchFilterResults = MOCK_SCHEDULE_RESULTS.activities;\n\n ngOnInit(): void {\n this.prepareCalendar();\n this.startTimer();\n }\n\n ngOnDestroy(): void {\n this.stopTimer();\n }\n\n startTimer(): void {\n this.timer = window.setInterval(() => {\n this.dtUpdate = new Date();\n }, 1000);\n }\n\n stopTimer(): void {\n window.clearInterval(this.timer);\n }\n\n prepareCalendar(): void {\n this.setViewMonth();\n switch (this.viewMode) {\n case CALENDARVIEW.Week:\n this.setViewWeek();\n break;\n case CALENDARVIEW.Day:\n this.setViewDay();\n break;\n }\n }\n\n prepareResults(): void {\n console.log('using mock results');\n }\n\n setViewMonth(): void {\n this.calendar.years.forEach((y: CalendarYearModel, yi: number) => {\n if (y.year === this.activeViewYear) {\n y.months.forEach((m: CalendarMonthModel, mi: number) => {\n if (m.month === this.activeViewMonth) {\n this.viewMonth = JSON.parse(JSON.stringify(this.calendar.years[yi].months[mi]));\n this.completeEdges(yi, mi);\n return;\n }\n });\n }\n });\n }\n\n setViewWeek(): void {\n this.calendar.years[1].months[this.activeMonth].weeks.forEach((week, idx: number) => {\n for (const weekday of week.days) {\n if (weekday.day === this.activeDay) {\n this.viewWeekIdx = idx;\n return;\n }\n }\n });\n }\n\n setViewDay(): void {\n this.calendar.years[1].months[this.activeMonth].weeks.forEach((week, idx: number) => {\n for (let i = 0; i < week.days.length; i++) {\n if (week.days[i].day === this.activeDay) {\n this.viewWeekIdx = idx;\n this.viewDayIdx = i;\n return;\n }\n }\n });\n }\n\n completeEdges(yi: number, mi: number): void {\n const viewMonthFirstWeekLen = this.calendar.years[yi].months[mi].weeks[0].days.length;\n const viewMonthLastWeekLen = this.calendar.years[yi].months[mi].weeks[this.calendar.years[yi].months[mi].weeks.length - 1].days.length;\n const viewMonthLastWeekIdx = this.calendar.years[yi].months[mi].weeks.length - 1;\n let nextMonthIdx = mi + 1;\n let lastMonthIdx = mi - 1;\n let nextYearIdx = yi;\n let lastYearIdx = yi;\n if (mi === 0) {\n lastMonthIdx = 11;\n lastYearIdx = yi - 1;\n }\n if (mi === 11) {\n nextMonthIdx = 0;\n nextYearIdx = yi + 1;\n }\n const firstWeekEdge = this.calendar.years[lastYearIdx].months[lastMonthIdx].weeks.length - 1;\n if (viewMonthFirstWeekLen < 7) {\n const iDays = JSON.parse(JSON.stringify(this.calendar.years[lastYearIdx].months[lastMonthIdx].weeks[firstWeekEdge].days));\n iDays.forEach(day => day.notActive = true);\n const d = iDays.concat(this.calendar.years[yi].months[mi].weeks[0].days);\n this.viewMonth.weeks[0].days = d;\n }\n if (viewMonthLastWeekLen < 7) {\n const iDays = JSON.parse(JSON.stringify(this.calendar.years[nextYearIdx].months[nextMonthIdx].weeks[0].days));\n iDays.forEach(day => day.notActive = true);\n this.viewMonth.weeks[viewMonthLastWeekIdx].days = this.viewMonth.weeks[viewMonthLastWeekIdx].days.concat(iDays);\n }\n }\n\n isToday(weekday: any): boolean {\n if (weekday.notActive\n || this.calendar.today.day !== weekday.day\n || this.calendar.today.month !== this.activeViewMonth\n || this.calendar.today.year !== this.activeViewYear) {\n return false;\n }\n return true;\n }\n\n openMarkModal(ev: any, markData: any): void {\n ev.stopPropagation();\n this.openMark.emit(markData);\n }\n\n createNewMark(weekDay?: CalendarDayModel): void {\n let month: number = this.activeMonth;\n if (weekDay && weekDay.notActive) {\n weekDay.day < 7 ? month-- : month++;\n }\n const day = weekDay ? weekDay.day : this.activeDay;\n this.openNewMark.emit({ day, month });\n }\n\n verifyHeaderHeight(): number {\n let height = 0;\n for (const weekday of this.viewMonth.weeks[this.viewWeekIdx].days) {\n if (weekday.special?.length > 1) {\n height = 1;\n break;\n }\n }\n return this.headerHeight[height];\n }\n\n calcMarkYpos(hourStart: string): number {\n const start = hourStart.split(':');\n return (( parseFloat(start[0]) + parseFloat(start[1]) / 60 ) - 6 ) * 56;\n }\n\n calcMarkYsize(hourStart: string, hourEnd?: string): number {\n let h = 16;\n if (!hourEnd) {\n return h;\n }\n const start = hourStart.split(':');\n const end = hourEnd.split(':');\n const hS = ( parseFloat(start[0]) + parseFloat(start[1]) / 60 );\n const hE = ( parseFloat(end[0]) + parseFloat(end[1]) / 60 );\n h = ( hE - hS ) * 56;\n return h;\n }\n\n shortMonth(month: number): string {\n return MONTHSHORT[month];\n }\n\n shortYear(year: number): string {\n return String(year).substr(2);\n }\n\n}\n","
\n
\n
\n

Filtros

\n \n
\n
\n \n
\n
\n \n
\n \n\n \n
\n
\n

Buscar em

\n
\n \n \n \n \n \n
\n
\n Limpar tudo\n Aplicar\n
\n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-filter-calendar',\n templateUrl: './filter-calendar.component.html',\n styleUrls: ['./filter-calendar.component.scss']\n})\n\nexport class FilterCalendarComponent {\n\n @Input() public filterForm: FormGroup;\n\n @Output() public sendCloseFilter = new EventEmitter();\n @Output() public getFilter = new EventEmitter();\n @Output() public emitForm = new EventEmitter();\n @Output() public emitFilter = new EventEmitter();\n @Output() public resetForm = new EventEmitter();\n\n public isFormReset = false;\n\n public closeFilter(): void {\n if (this.alert()) {\n this.getFilter.emit(true);\n } else {\n this.getFilter.emit(false);\n }\n this.sendCloseFilter.emit(false);\n }\n\n public clearForm(): void {\n this.filterForm.reset();\n this.isFormReset = true;\n }\n\n public applyFilter(): void {\n if (this.isFormReset) {\n this.emitFilter.emit(false);\n this.getFilter.emit(false);\n this.emitForm.emit(true);\n } else {\n if (this.alert()) {\n this.emitFilter.emit(true);\n this.emitForm.emit(true);\n } else {\n this.emitForm.emit(false);\n this.emitFilter.emit(false);\n }\n }\n this.sendCloseFilter.emit(false);\n }\n\n public alert(): boolean {\n let flag = false;\n if (this.filterForm.get('key_event').value !== null ||\n this.filterForm.get('date_from').value !== null ||\n this.filterForm.get('date_to').value !== null ||\n this.filterForm.get('event').value === true ||\n this.filterForm.get('task').value === true ||\n this.filterForm.get('remember').value === true ||\n this.filterForm.get('return').value === true ||\n this.filterForm.get('visit').value === true) {\n flag = true;\n }\n return flag;\n }\n\n}","\n\n\n\n
\n
\n
\n
\n \n \n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n \n
\n
\n
\n
\n
","import { Component, Output, EventEmitter, Input } from \"@angular/core\";\nimport { MONTH, CALENDARVIEW } from 'src/app/core/models/calendar.model';\n\n@Component({\n selector: 'app-menu-calendar',\n templateUrl: './menu-calendar.component.html',\n styleUrls: ['./menu-calendar.component.scss']\n})\nexport class MenuCalendarComponent {\n\n @Output() public openCalendar = new EventEmitter();\n @Output() public selectViewMode = new EventEmitter();\n @Output() public clickCalendar = new EventEmitter();\n @Output() public clickGear = new EventEmitter();\n @Output() public clickBack = new EventEmitter();\n @Output() public clickNext = new EventEmitter();\n @Output() public clickNow = new EventEmitter();\n @Output() public openFilter = new EventEmitter();\n @Output() public clearFilter = new EventEmitter();\n @Output() public goTodayDate: EventEmitter = new EventEmitter();\n \n @Input() public incrementValue: number;\n @Input() public decrementValue: number;\n @Input() public showColumnCalendar = false;\n\n @Input() public year: string;\n @Input() public isSearch = false;\n @Input() public isAlert = false;\n @Input() public showFilter = false;\n\n public month: string;\n public isOpenCalendar = false;\n public isGear = false;\n public open = false;\n public optionsList = [CALENDARVIEW.Day, CALENDARVIEW.Week, CALENDARVIEW.Month];\n public calendarViewMode = CALENDARVIEW.Month;\n\n public options = {\n isIcon: true,\n iconRight: 'arrow_down',\n iconLeft: 'calender',\n listOptions: [CALENDARVIEW.Month, CALENDARVIEW.Week, CALENDARVIEW.Day]\n };\n\n @Input() set monthInput(indexMonth: number) {\n this.month = MONTH[indexMonth];\n }\n\n constructor() { }\n\n public increment() {\n this.incrementValue += 1;\n this.clickNext.emit(this.incrementValue);\n }\n\n public decrement() {\n this.decrementValue -= 1;\n this.clickBack.emit(this.decrementValue);\n }\n\n public closeModal() {\n this.open = !this.open;\n this.openCalendar.emit(this.open);\n }\n\n goToday(): void {\n this.closeModal();\n this.goTodayDate.emit();\n }\n\n public selectItem(item: CALENDARVIEW): void {\n this.selectViewMode.emit(item);\n this.calendarViewMode = item;\n }\n\n public openMenu(): void {\n this.showColumnCalendar = !this.showColumnCalendar;\n this.openCalendar.emit(this.showColumnCalendar);\n }\n\n public openFilterClick(): void {\n this.showFilter = true;\n this.openFilter.emit(this.showFilter);\n }\n\n}\n","
\n
\n \n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \"Actions\"\n
\n \n \n \n
\n \n \n
\n
\n Empresa\n
\n \"Seta\n \"Seta\n
\n
\n
\n
\n Mercado\n
\n \"Seta\n \"Seta\n
\n
\n
{{item.company}}\n
\n {{getMarketsDescription(item.markets)}}\n
\n
\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CompanyConfigurationService } from './service/company-configuration.service';\n\ninterface CompaniesListModel {\n company_id: string;\n company: string;\n markets: {\n market_subtype?: string[];\n name: string;\n }[];\n}\n\n@Component({\n selector: 'app-company-configuration-list',\n templateUrl: './company-configuration-list.component.html',\n styleUrls: ['./company-configuration-list.component.scss']\n})\n\nexport class CompanyConfigurationListComponent implements OnInit {\n public companiesList: CompaniesListModel[] = [];\n public autocomplete = [];\n\n constructor(\n private router: Router,\n private companyService: CompanyConfigurationService\n ) {}\n\n ngOnInit() {\n this.getCompaniesList();\n }\n\n getCompaniesList(sortItem = { field: 'company.name', type: 'ASC' }, searchField = '') {\n this.companyService.postCompaniesList(sortItem, searchField).subscribe(resp => {\n this.companiesList = [];\n\n resp.payload.forEach(item => {\n this.companiesList.push({\n company_id: item.company.id,\n company: item.company.name,\n markets: item.markets,\n });\n });\n });\n }\n\n orderBy(sortItem = { field: '', type: '' }) {\n this.getCompaniesList(sortItem);\n }\n\n formatMarketName(key: string) {\n switch (key) {\n case 'PRIMARY':\n return 'Primário';\n case 'SECONDARY':\n return 'Secundário';\n }\n }\n\n formatMarketSub(key: string) {\n switch (key) {\n case 'SALE':\n return 'Venda';\n case 'RENT':\n return 'Locação';\n }\n }\n\n navigatoToConf(id: string) {\n const navigationExtras = {\n queryParams: { id },\n };\n\n this.router.navigate(['lista-de-empresas/configuracao-de-empresa'], navigationExtras);\n }\n\n setElement(event) {\n this.getCompaniesList({ field: 'company.name', type: 'ASC' }, event);\n }\n\n searchElement(key: string) {\n this.autocomplete = [];\n\n this.companyService.getCompanyAutoComplete(key).subscribe(resp => {\n resp.forEach(element => {\n this.autocomplete.push({\n type: 'Empresa',\n description: element.original_value,\n });\n });\n });\n }\n\n getMarketsDescription(markets): string {\n let resp = '';\n if (markets.length === 0) {\n return resp;\n }\n\n if (markets.length === 2) {\n resp = `${markets[0].name} e ${markets[1].name}`;\n } else {\n resp = `${markets[0].name}`;\n }\n\n markets.forEach(item => {\n if (item.market_subtype && item.market_subtype.length > 0) {\n resp = `${resp} (${item.market_subtype.join('/')})`;\n }\n });\n\n return resp;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CoreModule } from '../core/core.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { RouterModule } from '@angular/router';\nimport { MatSelectModule } from '@angular/material';\nimport { CompanyConfigurationComponent } from './company-configuration/company-configuration.component';\nimport { UserModalComponent } from './user-modal/user-modal.component';\nimport { CompanyConfigurationListComponent } from './company-configuration-list.component';\nimport { CompanyConfigurationService } from './service/company-configuration.service';\n\n@NgModule({\n declarations: [\n CompanyConfigurationComponent,\n UserModalComponent,\n CompanyConfigurationListComponent\n ],\n imports: [\n CommonModule,\n CoreModule,\n SharedModule,\n RouterModule,\n MatSelectModule\n ],\n exports: [\n CompanyConfigurationComponent,\n UserModalComponent,\n CompanyConfigurationListComponent\n ],\n providers: [\n CompanyConfigurationService\n ]\n})\nexport class CompanyConfigurationModule { }\n","
\n
\n\n
\n

Tipo de mercado

\n
\n

Mercado primário

\n \n
\n
\n
\n

Mercado secundário

\n
\n \n \n
\n
\n \n
\n\n
\n

Gestão de produto em caso de descredencimento

\n

Definir para quem irá a gestão do produto em caso de descreencimento do antigo gestor (apenas mercado secundário)

\n
\n \n
    \n
    \n
  • {{item.label}}
  • \n
    \n
\n
\n
\n
\n
\n\n
\n

Alertas de novos leads

\n

Definir quem recebe alertas de novos leads e o período que os alertas podem ser recebidos

\n\n
\n
\n

Quem recebe alerta de novo lead

\n \n
\n
\n \n \n Outro usuário\n
\n
\n \n
\n
\n
\n
\n

Período de alertas

\n
\n \n \n

Até

\n \n \n
\n
\n
\n

1\" class=\"exlude-label\" (click)=\"removeNewLead(i)\">Excluir alerta

\n
\n
\n

Novo alerta

\n
\n
\n\n
\n\n
\n

Alertas leads não atendidos

\n

Definir quem recebe alertas de leads não atendidos e o período que os alertas podem ser recebidos

\n\n
\n
\n

Quem recebe alerta de leads não atendidos

\n \n
\n
\n \n \n Outro usuário\n
\n
\n \n
\n
\n
\n
\n

Tempo do alerta

\n \n \n
\n
\n

Período de alertas

\n
\n \n \n

Até

\n \n \n
\n
\n
\n

1\" class=\"exlude-label\" (click)=\"removeNewLeadNotMet(i)\">Excluir alerta

\n
\n
\n

Novo alerta

\n
\n
\n\n
\n
\n Cancelar\n Salvar\n
\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ButtonsPopupService } from 'src/app/shared/components/buttons-popup/service/buttons-popup.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CompanyConfigurationService } from '../service/company-configuration.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\n\n@Component({\n selector: 'app-company-configuration',\n templateUrl: './company-configuration.component.html',\n styleUrls: ['./company-configuration.component.scss']\n})\n\nexport class CompanyConfigurationComponent implements OnInit {\n companyInfo: any = {\n company_id: '',\n market_type: {\n sale: true,\n rent: true,\n product_management: {\n company: true,\n director_company: false,\n leader_company: false,\n user: {}\n },\n primary_market: true,\n secondary_market: true\n },\n unattended_lead_alert: [],\n new_lead_alert: []\n };\n public readonly returnInList = ['Minuto', 'Hora', 'Dia', 'Semana'];\n loading = true;\n currentLead;\n showUserModal = false;\n marketDropdown = false;\n disqualificationList = [\n {\n label: 'Empresa',\n func: () => {\n this.resetMarketTypeProduct();\n this.companyInfo.market_type.product_management.company = true;\n }\n },\n {\n label: 'Diretor da empresa',\n func: () => {\n this.resetMarketTypeProduct();\n this.companyInfo.market_type.product_management.director_company = true;\n }\n },\n {\n label: 'Líder imediato',\n func: () => {\n this.resetMarketTypeProduct();\n this.companyInfo.market_type.product_management.leader_company = true;\n }\n },\n {\n label: 'Outro usuário',\n func: () => {\n this.showUserModal = true;\n this.modalFunc = (user) => {\n this.resetMarketTypeProduct();\n this.companyInfo.market_type.product_management.user = user;\n };\n }\n }\n ];\n\n errorModalUnattendedAlertTime = {\n title: 'Atenção',\n description: 'Selecione um tempo do alerta para leads não atendidos',\n buttons: [{\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }]\n };\n\n errorModalUnattendedLeads = {\n title: 'Atenção',\n description: 'Selecione quem recebe os alertas de leads não atendidos',\n buttons: [{\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }]\n };\n\n errorModalBtns = {\n title: 'Atenção',\n description: 'Selecione pelo menos um tipo de mercado',\n buttons: [{\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }]\n };\n\n errorModalMarket = {\n title: 'Atenção',\n description: 'Selecione venda ou locação',\n buttons: [{\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }]\n };\n\n modalFunc = (user) => {};\n\n get newLeadDeafult() {\n return {\n destinataries: [\n {\n type: 'OWN_USER',\n }\n ],\n own_user: true,\n initial_time: '00:00',\n final_time: '23:59'\n };\n }\n\n get unattendedLeadDeafult() {\n return {\n destinataries: [\n {\n type: 'OWN_USER',\n },\n {\n type: 'IMMEDIATE_LEADER',\n }\n ],\n own_user: true,\n leader_user: true,\n initial_time: '08:00',\n final_time: '20:00',\n time_type: 'Minuto',\n time_alert_value: 30\n };\n }\n\n constructor(\n private btnsService: ButtonsPopupService,\n private router: Router,\n private companyService: CompanyConfigurationService,\n private activatedRoute: ActivatedRoute,\n private snackbarService: SnackbarService\n ) { }\n\n ngOnInit(): void {\n this.activatedRoute.queryParams.subscribe(params => {\n this.companyInfo.company_id = params.id;\n\n this.companyService.getCompanyConfig(params.id).subscribe(resp => {\n this.companyInfo = resp;\n this.formatList();\n this.loading = false;\n }, () => {\n this.formatList();\n this.loading = false;\n });\n });\n }\n\n formatList() {\n if (this.companyInfo.new_lead_alert.length === 0) {\n this.companyInfo.new_lead_alert.push(this.newLeadDeafult);\n } else {\n this.companyInfo.new_lead_alert.forEach(newLead => {\n newLead.own_user = false;\n newLead.leader_user = false;\n newLead.destinataries.forEach(dest => {\n switch (dest.type) {\n case 'OWN_USER':\n newLead.own_user = true;\n break;\n case 'IMMEDIATE_LEADER':\n newLead.leader_user = true;\n break;\n }\n });\n });\n }\n\n if (this.companyInfo.unattended_lead_alert.length === 0) {\n this.companyInfo.unattended_lead_alert.push(this.unattendedLeadDeafult);\n } else {\n this.companyInfo.unattended_lead_alert.forEach(unattendedLead => {\n unattendedLead.own_user = false;\n unattendedLead.leader_user = false;\n unattendedLead.time_type = this.formatAlertTime(unattendedLead.time_type);\n unattendedLead.destinataries.forEach(dest => {\n switch (dest.type) {\n case 'OWN_USER':\n unattendedLead.own_user = true;\n break;\n case 'IMMEDIATE_LEADER':\n unattendedLead.leader_user = true;\n break;\n }\n });\n });\n }\n }\n\n formatAlertTime(value: string): string {\n switch (value) {\n case 'MINUTES':\n return 'Minuto';\n case 'HOURS':\n return 'Hora';\n case 'DAYS':\n return 'Dia';\n case 'WEEKS ':\n return 'Semana';\n\n case 'Minuto':\n return 'MINUTES';\n case 'Hora':\n return 'HOURS';\n case 'Dia':\n return 'DAYS';\n case 'Semana ':\n return 'WEEKS';\n }\n }\n\n getMarketProdutName(): string {\n if (this.companyInfo.market_type.product_management.company) {\n return 'Empresa';\n } else if (this.companyInfo.market_type.product_management.director_company) {\n return 'Diretor da empresa';\n } else if (this.companyInfo.market_type.product_management.leader_company) {\n return 'Líder imediato';\n } else if (this.companyInfo.market_type.product_management.user) {\n return this.companyInfo.market_type.product_management.user.name;\n }\n }\n\n formatReturnIn(value: {name: string, value: string}): string {\n if (value.value && value.name) {\n return `${value.value} ${value.name}${parseInt(value.value, 10) > 1 ? 's' : ''}`;\n } else {\n return null;\n }\n }\n\n removeTags(value: {tag: string, index: number}, lead) {\n if (!lead.destinataries[value.index]) {\n return;\n }\n\n switch (lead.destinataries[value.index].type) {\n case 'OWN_USER':\n lead.own_user = false;\n break;\n case 'IMMEDIATE_LEADER':\n lead.leader_user = false;\n break;\n }\n\n lead.destinataries.splice(value.index, 1);\n }\n\n selectCheckbox(form, state, type: string) {\n if (state === false) {\n form.destinataries = form.destinataries.filter(item => item.type !== type);\n } else {\n form.destinataries.push({\n type\n });\n }\n }\n\n getTags(lead) {\n const resp = [];\n\n lead.forEach(item => {\n switch (item.type) {\n case 'OWN_USER':\n resp.push('Próprio usuário');\n break;\n case 'IMMEDIATE_LEADER':\n resp.push('Líder imediato');\n break;\n case 'ANOTHER_USER':\n resp.push(item.user.name);\n break;\n }\n });\n\n return resp;\n }\n\n findUser(form, isInattendedLead = false) {\n this.modalFunc = (user) => {\n if (!isInattendedLead) {\n form.destinataries = form.destinataries.filter(item => item.type !== 'ANOTHER_USER');\n } else {\n for (const item of form.destinataries) {\n if (item.user) {\n if (item.user.id === user.id) {\n console.log('igual');\n return;\n }\n }\n }\n\n form.destinataries.push(\n {\n type: 'ANOTHER_USER',\n user\n });\n }\n };\n this.showUserModal = true;\n }\n\n selectUser(user) {\n this.modalFunc(user);\n this.showUserModal = false;\n }\n\n addNewLead() {\n this.companyInfo.new_lead_alert.push(this.newLeadDeafult);\n }\n\n removeNewLead(index: number) {\n this.companyInfo.new_lead_alert.splice(index, 1);\n }\n\n addNewLeadNotMet() {\n this.companyInfo.unattended_lead_alert.push(this.unattendedLeadDeafult);\n }\n\n removeNewLeadNotMet(index: number) {\n this.companyInfo.unattended_lead_alert.splice(index, 1);\n }\n\n resetMarketTypeProduct() {\n this.companyInfo.market_type.product_management.company = false;\n this.companyInfo.market_type.product_management.director_company = false;\n this.companyInfo.market_type.product_management.leader_company = false;\n this.companyInfo.market_type.product_management.user = null;\n }\n\n changeSecondaryMarket(ev) {\n if (!ev.checked) {\n this.companyInfo.market_type.sale = false;\n this.companyInfo.market_type.rent = false;\n }\n }\n\n navigatoBack() {\n this.router.navigate(['lista-de-empresas']);\n }\n\n save() {\n const validateLeads = (lead) => {\n for (const element of lead) {\n if (element.destinataries.length === 0) {\n return this.errorModalUnattendedLeads;\n }\n if (!element.time_alert_value) {\n return this.errorModalUnattendedAlertTime;\n }\n }\n return null;\n };\n\n const errorModal = validateLeads(this.companyInfo.unattended_lead_alert);\n\n if (errorModal) {\n this.btnsService.show(errorModal);\n return;\n }\n\n if (this.companyInfo.market_type.primary_market === false && this.companyInfo.market_type.secondary_market === false) {\n this.btnsService.show(this.errorModalBtns);\n return;\n }\n\n if (this.companyInfo.market_type.secondary_market === true) { // Validate Market\n if (this.companyInfo.market_type.sale === false && this.companyInfo.market_type.rent === false) {\n this.btnsService.show(this.errorModalMarket);\n return;\n }\n }\n\n let formatedCompany = JSON.parse(JSON.stringify(this.companyInfo)); // Deep copying\n\n formatedCompany.unattended_lead_alert.forEach(element => {\n element.time_type = this.formatAlertTime(element.time_type);\n });\n\n this.companyService.updateCompanyConfig(formatedCompany).subscribe(resp => {\n this.snackbarService.show('As alterações foram salvas.', 'success');\n }, err => {\n\n if (err.error.messages[0]) {\n this.btnsService.show({\n title: 'Atenção',\n description: err.error.messages[0].message,\n buttons: [{\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }]\n });\n }\n\n });\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { CompanyConfigModel } from '../company-configuration.model';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CompanyConfigurationService {\n public uri = this.environmentService.getEnvVar('api_company');\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public getCompanyAutoComplete(value: string) {\n let params = new HttpParams();\n params = params.append('value', value);\n params = params.append('max_value', '100');\n\n return this.http.get(`${this.uri}/companies/autocomplete`, {params});\n }\n\n public getAgentAutoComplete(value: string, companyId: string) {\n let params = new HttpParams();\n params = params.append('value', value);\n params = params.append('max_results', '100');\n params = params.append('company', companyId);\n\n return this.http.get(`${this.uri}/autocomplete/team/members`, {params});\n }\n\n public getCompanyConfig(id: string) {\n return this.http.get(`${this.uri}/company-configuration/${id}`);\n }\n\n public updateCompanyConfig(company: CompanyConfigModel) {\n return this.http.post(`${this.uri}/company/configuration`, company);\n }\n\n public postCompaniesList(sortItem = { field: 'company.name', type: 'ASC' }, searchField = '') {\n let body = {\n page_items: 10,\n page_number: 1,\n sorts: [\n sortItem\n ],\n search: {\n fields: [\n 'company.name',\n 'markets.name',\n 'markets.market_subtype'\n ],\n value: searchField\n }\n };\n\n return this.http.post(`${this.uri}/companies`, body);\n }\n\n}\n","
\n
\n

Usuário

\n\n \n \n\n
\n Cancelar\n Adicionar\n
\n
\n
\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { CompanyConfigurationService } from '../service/company-configuration.service';\n\n@Component({\n selector: 'app-user-modal',\n templateUrl: './user-modal.component.html',\n styleUrls: ['./user-modal.component.scss']\n})\nexport class UserModalComponent {\n @Input() public companyId = '';\n @Output() public closeModal = new EventEmitter();\n @Output() public saveModal = new EventEmitter();\n\n public autocomplete = [];\n public fullList = [];\n public disableSave = true;\n public selectedValue: {\n id: string;\n name: string;\n nickname: string;\n };\n\n constructor(\n private companyService: CompanyConfigurationService\n ) { }\n\n setElement(event) {\n const currentValue = this.fullList.find(item => item.matched_record.name === event);\n this.selectedValue = {\n id: currentValue.matched_record.id,\n name: currentValue.matched_record.name,\n nickname: currentValue.matched_record.nickname\n };\n this.disableSave = false;\n }\n\n searchElement(event) {\n this.companyService.getAgentAutoComplete(event, this.companyId).subscribe(resp => {\n this.autocomplete = [];\n this.fullList = resp;\n resp.forEach(element => {\n this.autocomplete.push({\n type: 'Nome',\n description: element.matched_record.name,\n });\n });\n });\n }\n\n save() {\n this.saveModal.emit(this.selectedValue);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GoogleTagManagerService {\n private readonly gtmId: string;\n private initialized = false;\n\n constructor(\n @Inject('google_tag_manager_id') public googleTagManagerId: string,\n ) {\n this.gtmId = googleTagManagerId;\n }\n\n public initialize() {\n if (this.initialized) {\n throw new Error('Google Tag Manager Services had already been initialized');\n }\n this.initialized = true;\n const doc = (document as any);\n const script = doc.createElement('script');\n\n script.id = 'GTM-script';\n // tslint:disable-next-line:max-line-length\n script.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','${this.gtmId}');`;\n\n doc.head.insertBefore(script, doc.head.firstChild);\n }\n\n public pushTag(dataObject) {\n\n if (!this.initialized) {\n throw new Error('Google Tag Manager needs to be initialized before pushing tags');\n }\n (window as any).dataLayer.push(dataObject);\n\n }\n}\n","import { CalendarModel } from '../models/calendar.model';\n\nexport const MOCK_SCHEDULE_TODAY = {\n activities: [\n {\n type: 'retorno',\n title: null,\n facName: 'Jards Macale',\n facId: 'FAC_ID',\n facColor: 3,\n hourStart: '09:00',\n hourEnd: null\n },\n {\n type: 'visita',\n title: null,\n facName: 'Elomar',\n facId: 'FAC_ID',\n facColor: 1,\n hourStart: '10:00',\n hourEnd: '10:30'\n },\n {\n type: 'evento',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '13:00',\n hourEnd: '16:00'\n },\n {\n type: 'tarefa',\n title: 'Iniciar campanha',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '16:30',\n hourEnd: null\n },\n {\n type: 'lembrete',\n title: 'Atualizar facs',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '17:00',\n hourEnd: null\n }\n ]\n};\n\nexport const MOCK_SCHEDULE_RESULTS = {\n activities: [\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'evento',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'tarefa',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'lembrete',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'retorno',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 1,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'visita',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 2,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'evento',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'tarefa',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'lembrete',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'retorno',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 1,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'visita',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 2,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'evento',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'tarefa',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: '12:34'\n },\n {\n day: 1,\n month: 1,\n year: 2020,\n type: 'lembrete',\n title: 'Reunião mensal',\n facName: null,\n facId: null,\n facColor: null,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'retorno',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 1,\n hourStart: '12:34',\n hourEnd: null\n },\n {\n day: 31,\n month: 1,\n year: 2020,\n type: 'visita',\n title: 'Cliente',\n facName: null,\n facId: null,\n facColor: 2,\n hourStart: '12:34',\n hourEnd: '12:34'\n }\n ]\n};\n\nexport const MOCK_CALENDAR: CalendarModel = {\n today: { year: 2020, month: 7, day: 28 },\n years: [\n {\n year: 2019,\n months: [\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n {\n month: 11,\n firstWeekDay: 0,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n }\n ]\n },\n {\n year: 2020,\n months: [\n {\n month: 0,\n firstWeekDay: 3,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 1,\n firstWeekDay: 6,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] }\n ]\n }\n ]\n },\n {\n month: 2,\n firstWeekDay: 0,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 3,\n firstWeekDay: 3,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] }\n ]\n }\n ]\n },\n {\n month: 4,\n firstWeekDay: 5,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n ]\n },\n {\n week: 6,\n days: [\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 5,\n firstWeekDay: 1,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] }\n ]\n }\n ]\n },\n {\n month: 6,\n firstWeekDay: 3,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 7,\n firstWeekDay: 6,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] }\n ]\n },\n {\n week: 6,\n days: [\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 8,\n firstWeekDay: 2,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 6, marks: [] },\n { day: 7, marks: [\n {\n type: 'lembrete',\n title: 'Atualizar facs',\n facName: null,\n facId: null,\n date: '07/09/2020',\n hourStart: '11:55',\n hourEnd: null,\n repeat: 'Toda semana (segunda-feira)',\n notification: '5 minutos antes',\n contactType: null,\n place: null,\n description: 'Descrição ou comentários sobre o lembrete.',\n creator: { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' },\n confirmed: null,\n maybe: null,\n absent: null,\n noAnswer: null,\n myAnswer: null\n }\n ],\n special: [\n { description: 'Dia da Independência' }\n ]},\n { day: 8, marks: [\n {\n type: 'tarefa',\n title: 'Iniciar campanha',\n facName: null,\n facId: null,\n date: '08/09/2020',\n hourStart: '07:00',\n hourEnd: '08:55',\n repeat: null,\n notification: '5 minutos antes',\n contactType: null,\n place: null,\n description: 'Descrição ou comentários sobre a tarefa.',\n creator: { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' },\n confirmed: null,\n maybe: null,\n absent: null,\n noAnswer: null,\n myAnswer: null\n }\n ]},\n { day: 9, marks: [\n {\n type: 'evento',\n title: 'Reunião semanal',\n facName: null,\n facId: null,\n date: '09/09/2020',\n hourStart: '08:45',\n hourEnd: '18:30',\n repeat: 'Toda semana (quarta-feira)',\n notification: '12 minutos antes',\n contactType: null,\n place: 'https://meeting.com',\n description: 'Descrição ou comentários sobre o evento.',\n creator: { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' },\n confirmed: [\n { name: 'Jorge Ben', email: 'ben@gmx.com' },\n { name: 'Antonio Pecci', email: 'toquinho@uol.com.br' },\n { name: 'Vinícius de Moraes', email: 'poeta@gmail.com' },\n { name: 'Tim Maia', email: 'sindico@ig.com.br' }\n ],\n maybe: [\n { name: 'Elis Regina', email: 'elis@ig.com.br' },\n { name: 'Jards Macale', email: 'jards@gmail.com.br' }\n ],\n absent: [\n { name: 'João Gilberto', email: 'contato@jg.com' }\n ],\n noAnswer: [\n { name: 'Baden Powell', email: 'baden@gmail.com' },\n { name: 'João Barone', email: 'barone@gmail.com' },\n { name: 'Paulo Miklos', email: 'paulo@gmail.com' }\n ],\n myAnswer: null\n }\n ]},\n { day: 10, marks: [\n {\n type: 'visita',\n facName: 'Milton Nascimento',\n facId: 'FAC_ID',\n date: '10/09/2020',\n hourStart: '07:20',\n hourEnd: '08:30',\n repeat: null,\n notification: '30 minutos antes',\n contactType: null,\n place: 'Rua Estados Unidos, 2000 - Jardim América - São Paulo - SP',\n description: 'Descrição ou comentários sobre a visita.',\n creator: { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' },\n confirmed: [\n { name: 'Milton Nascimento', email: 'milton@outlook.com' }\n ],\n maybe: [],\n absent: [],\n noAnswer: [\n { name: 'Lô Borges', email: 'lo@outlook.com' }\n ],\n myAnswer: null\n }\n ]},\n { day: 11, marks: [\n {\n type: 'evento',\n title: 'Follow up',\n facName: null,\n facId: null,\n date: '11/09/2020',\n hourStart: '08:00',\n hourEnd: '12:00',\n repeat: 'Todo mês (dia 11)',\n notification: '30 minutos antes',\n contactType: null,\n place: 'https://meeting.com',\n description: 'Descrição ou comentários sobre o evento.',\n creator: { name: 'Tim Maia', email: 'sindico@ig.com.br' },\n confirmed: [\n { name: 'Jorge Ben', email: 'ben@gmx.com' },\n { name: 'Vinícius de Moraes', email: 'poeta@gmail.com' },\n ],\n maybe: [\n { name: 'Elis Regina', email: 'elis@ig.com.br' }\n ],\n absent: [],\n noAnswer: [\n { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' }\n ],\n myAnswer: 'noAnswer'\n }\n ]},\n { day: 12, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [\n {\n type: 'retorno',\n facName: 'Gilberto Gil',\n facId: 'FAC_ID',\n date: '15/09/2020',\n hourStart: '10:00',\n hourEnd: null,\n repeat: null,\n notification: '5 minutos antes',\n contactType: 'Telefone',\n place: null,\n description: 'Descrição ou comentários sobre o retorno.',\n creator: { name: 'Hermeto Pascoal', email: 'hermeto@outlook.com' },\n confirmed: null,\n maybe: null,\n absent: null,\n noAnswer: null,\n myAnswer: null\n }\n ]},\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] }\n ]\n }\n ]\n },\n {\n month: 9,\n firstWeekDay: 4,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n },\n {\n month: 10,\n firstWeekDay: 0,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 29, marks: [] },\n { day: 30, marks: [] }\n ]\n }\n ]\n },\n {\n month: 11,\n firstWeekDay: 2,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] },\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] },\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] },\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] },\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n { day: 31, marks: [] }\n ]\n }\n ]\n }\n ]\n },\n {\n year: 2021,\n months: [\n {\n month: 0,\n firstWeekDay: 5,\n weeks: [\n {\n week: 1,\n days: [\n { day: 1, marks: [] },\n { day: 2, marks: [] }\n ]\n },\n {\n week: 2,\n days: [\n { day: 3, marks: [] },\n { day: 4, marks: [] },\n { day: 5, marks: [] },\n { day: 6, marks: [] },\n { day: 7, marks: [] },\n { day: 8, marks: [] },\n { day: 9, marks: [] }\n ]\n },\n {\n week: 3,\n days: [\n { day: 10, marks: [] },\n { day: 11, marks: [] },\n { day: 12, marks: [] },\n { day: 13, marks: [] },\n { day: 14, marks: [] },\n { day: 15, marks: [] },\n { day: 16, marks: [] }\n ]\n },\n {\n week: 4,\n days: [\n { day: 17, marks: [] },\n { day: 18, marks: [] },\n { day: 19, marks: [] },\n { day: 20, marks: [] },\n { day: 21, marks: [] },\n { day: 22, marks: [] },\n { day: 23, marks: [] }\n ]\n },\n {\n week: 5,\n days: [\n { day: 24, marks: [] },\n { day: 25, marks: [] },\n { day: 26, marks: [] },\n { day: 27, marks: [] },\n { day: 28, marks: [] },\n { day: 29, marks: [] },\n { day: 30, marks: [] },\n ]\n },\n {\n week: 6,\n days: [\n { day: 31, marks: [] }\n ]\n }\n ]\n }\n ]\n }\n ]\n};\n","// tslint:disable-next-line: max-line-length\nexport const emailRegex: RegExp = /^(([^<>()\\[\\]\\.,;:\\s@\\\"]+(\\.[^<>()\\[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nexport const SOMENTE_NUMEROS: RegExp = /^(0*[1-9][0-9]*(.[0-9]+)?|0+.[0-9]*[1-9][0-9]*)$/;\nexport const SOMENTE_INTEIROS: RegExp = /^\\d[^e]*$/;\nexport const VALIDA_CELULAR: RegExp = /^(?:[14689][1-9]|2[12478]|3[1-8]|5[1345]|7[134579])9[0-9]{8}$/;\nexport const VALIDA_CELULAR_FIXO: RegExp = /^(?:[14689][1-9]|2[12478]|3[1-8]|5[1345]|7[134579])(9[0-9]{8}|[2-8]{1}[0-9]{7})$/;\nexport const SOMENTE_LETRAS: RegExp = /^[^\\s][A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÊÈÍÏÓÔÕÖÚÇÑ ]{1,}/;\nexport const SOMENTE_LETRAS_FILTER: RegExp = /[^A-Za-záàâãéèêẽíïóôõöúçñÁÀÂÃẼÊÉÈÍÏÓÔÕÖÚÇÑ ]/g;\nexport const CELLPHONE_MASK = '(00) 00000-0000';\nexport const BRASIL_MASK = '(00) 00000-0000';\nexport const PORTUGAL_MASK = '000 000 000';\nexport const USA_MASK = '(000) 000-0000';\nexport const LANDLINE_MASK = '(00) 0000-0000';\nexport const PORTUGAL_PATTERN_PHONE: RegExp = /^[0-9]{9}/;\nexport const USA_PATTERN_PHONE: RegExp = /^[0-9]{10}/;\n","export const FacDashboard = [\n {\n stage: 0,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 1,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 2,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 3,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 4,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 5,\n page_number: 1,\n page_items: 30\n }\n];\n\nexport const FacsDefault = [\n {\n facs: [],\n title: ''\n },\n {\n facs: [],\n title: ''\n },\n {\n facs: [],\n title: ''\n },\n {\n facs: [],\n title: ''\n },\n {\n facs: [],\n title: ''\n },\n {\n facs: [],\n title: ''\n }\n];\n\nexport const FacsTemp = [\n {id: 1, name: 'Quente', icon: 'hot'},\n {id: 2, name: 'Morno', icon: 'warm'},\n {id: 3, name: 'Frio', icon: 'cold'}\n];\n\nexport const FacsChanger = [\n {id: 1, name: 'Verde', icon: 'dot-green'},\n {id: 2, name: 'Amarelo', icon: 'dot-yellow'},\n {id: 3, name: 'Vermelho', icon: 'dot-alert'}\n];\n\nexport const createTimeMock = {\n field: 'creation_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '',\n to: '',\n }\n};\n\nexport const updateTimeMock = {\n field: 'stage_update_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '',\n to: '',\n }\n};\n","export const fieldsTypeUnit = [\n {\n typeId: 3, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 28, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 30, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 31, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 32, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 21, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 34, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 2, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 26, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 27, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 29, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 33, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 35, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 17, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 36, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: true, required: true },\n { name: 'carpet_area', show: true, required: true },\n { name: 'patio_area', show: true, required: true },\n { name: 'right_foot', show: true, required: true },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: true, required: true },\n { name: 'mezzanine', show: true, required: true },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 8, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: true, required: true },\n { name: 'kitchen', show: true, required: true },\n { name: 'docks', show: true, required: true },\n { name: 'mezzanine', show: true, required: true },\n { name: 'number_floors', show: true, required: true }\n ]\n },\n {\n typeId: 7, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 19, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: false, required: false },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: false, required: false },\n { name: 'kitchen_pantry', show: true, required: true },\n { name: 'kitchen', show: true, required: true },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: true, required: true },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 5, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 38, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: false, required: false },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 40, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: false, required: false },\n { name: 'car_spaces', show: false, required: false },\n { name: 'living_room', show: false, required: false },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 41, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 42, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 44, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: true, required: true },\n { name: 'kitchen', show: true, required: true },\n { name: 'docks', show: true, required: true },\n { name: 'mezzanine', show: true, required: true },\n { name: 'number_floors', show: true, required: true }\n ]\n },\n {\n typeId: 39, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 4, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: false, required: false },\n { name: 'suite', show: false, required: false },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: true, required: true },\n { name: 'kitchen', show: true, required: true },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: true, required: true },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 43, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n {\n typeId: 23, fields: [\n { name: 'useful_area', show: true, required: true },\n { name: 'total_area', show: true, required: true },\n { name: 'manufacturing_area', show: false, required: false },\n { name: 'carpet_area', show: false, required: false },\n { name: 'patio_area', show: false, required: false },\n { name: 'right_foot', show: false, required: false },\n { name: 'bedroom', show: true, required: true },\n { name: 'suite', show: true, required: true },\n { name: 'bathroom', show: true, required: true },\n { name: 'car_spaces', show: true, required: true },\n { name: 'living_room', show: true, required: true },\n { name: 'kitchen_pantry', show: false, required: false },\n { name: 'kitchen', show: false, required: false },\n { name: 'docks', show: false, required: false },\n { name: 'mezzanine', show: false, required: false },\n { name: 'number_floors', show: false, required: false }\n ]\n },\n];\n","import { FlagListModel } from 'src/app/shared/components/flag-input/flag-input.model';\nimport { Phone } from '../models/phone.model';\n\nexport const flagOptions: FlagListModel[] = [\n {\n prefix: '+55',\n country: 'Brasil',\n icon: 'flag_br_ico',\n mask: '(00) 00000-0000',\n pattern: ['(00) 00000-0000', '(00) 0000-0000'],\n mask_length: 15,\n minimum_length: 10\n },\n {\n prefix: '+1',\n country: 'USA',\n icon: 'usa_flag_ico',\n mask: '(000) 000-0000',\n pattern: ['(000) 000-0000'],\n mask_length: 14,\n minimum_length: 10\n },\n {\n prefix: '+351',\n country: 'Portugal',\n icon: 'portugal_flag_ico',\n mask: '000 000 000',\n pattern: ['000 000 000'],\n mask_length: 11,\n minimum_length: 9\n }\n];\n\nexport const isPhoneValid = (phone: Phone): boolean => {\n const phoneRegex = new RegExp('^([+][1-9]?[1-9]?[1-9]) ([0-9]?[0-9]?[0-9]) ([0-9][0-9][0-9][0-9]?[0-9]?) ([0-9][0-9][0-9][0-9]?)');\n if (!phoneRegex.test(`${phone.ddi} ${phone.phone}`)) {\n return true;\n }\n return false;\n};\n\nexport const removeMask = (data) => {\n if (!data.phone) {\n return null;\n }\n data.phone = data.phone.replace(/[()]/g, '');\n data.phone = data.phone.replace(/-/g, ' ');\n return data;\n};\n","import { AutocompleteLead } from '../models/lead-campaign'\n\n\n\nexport const list_user: AutocompleteLead[] = [\n {\n label: 'Ribeira (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://i.pinimg.com/564x/e0/ac/70/e0ac70d280116dfe323d27b65f2617c9.jpg',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n },\n {\n label: 'Fernanda (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://a.wattpad.com/cover/80966922-352-k683006.jpg',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n },\n {\n label: 'Alícia (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://i.pinimg.com/originals/03/68/ee/0368ee079e38e1fadc75445cfb04ef67.jpg',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n },\n {\n label: 'Raquel (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://static1.purepeople.com.br/articles/9/21/73/19/@/2492864--tao-doce-tao-maravilhosa-a-mulher-mai-950x0-1.jpg',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n },\n {\n label: 'Priscila (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://1.bp.blogspot.com/-Qycf2qX_4uU/UvTtX2eFytI/AAAAAAAAAhI/dJ842ME0on4/s1600/megan-fox-face.jpg',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n },\n\n {\n label: 'Agata (Martins)',\n matched_record: {\n id: 'PESS1111',\n name: 'Ribeiro da Silva',\n nickname: 'Ribeiro',\n picture_url: 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQQgpjxa72vPDXmoqGkXZUv8Z-0tKLgqsm4Zw&usqp=CAU',\n leaders: [\n {\n id: 'PESS3333',\n name: 'Martins da Silva',\n nickname: 'Martins'\n }\n ]\n }\n }\n]","export const listProperties = [\n {\n title: 'Apartamento',\n listItems: [\n {\n item: 'Apartamento',\n code: 3\n },\n {\n item: 'Cobertura',\n code: 3\n },\n {\n item: 'Duplex',\n code: 3\n },\n {\n item: 'Loft',\n code: 3\n },\n {\n item: 'Penthouse',\n code: 3\n },\n {\n item: 'Studio',\n code: 3\n },\n {\n item: 'Triplex',\n code: 3\n }\n ]\n },\n {\n title: 'Casa',\n listItems: [\n {\n item: 'Casa',\n code: 2\n },\n {\n item: 'Casa de vila',\n code: 26\n },\n {\n item: 'Casa térrea',\n code: 27\n },\n {\n item: 'Condomínio',\n code: 29\n },\n {\n item: 'Sobrado',\n code: 33\n },\n // {\n // item: 'Villagio',\n // code: 33\n // }\n ]\n },\n {\n title: 'Flat',\n listItems: [\n {\n item: 'Flat',\n code: 17\n }\n ]\n },\n {\n title: 'Galpão',\n listItems: [\n {\n item: 'Barracão',\n code: 36\n },\n {\n item: 'Galpão',\n code: 8\n }\n ]\n },\n {\n title: 'Hotel',\n listItems: [\n {\n item: 'Hotel',\n code: 7\n }\n ]\n },\n {\n title: 'Lajes corporativas',\n listItems: [\n {\n item: 'Lajes corporativas',\n code: 19\n }\n ]\n },\n {\n title: 'Loteamento',\n listItems: [\n {\n item: 'Loteamento',\n code: 5\n }\n ]\n },\n {\n title: 'Mall',\n listItems: [\n {\n item: 'Loja',\n code: 38\n },\n {\n item: 'Mall',\n code: 38\n }\n ]\n },\n {\n title: 'Rural',\n listItems: [\n {\n item: 'Chácara',\n code: 40\n },\n {\n item: 'Fazenda',\n code: 41\n },\n {\n item: 'Rural',\n code: 41\n },\n {\n item: 'Sítio',\n code: 42\n }\n ]\n },\n {\n title: 'Salão',\n listItems: [\n {\n item: 'Salão comercial',\n code: 44\n },\n {\n item: 'Prédio inteiro',\n code: 39\n },\n {\n item: 'Salas',\n code: 4\n }\n ]\n },\n {\n title: 'Terreno',\n listItems: [\n // {\n // item: 'Área de terra'\n // },\n {\n item: 'Terreno',\n code: 23\n }\n ]\n },\n {\n title: 'Vaga',\n listItems: [\n {\n item: 'Vaga',\n code: 100 // not found\n }\n ]\n },\n];\n\nexport const listStepperVertical = [\n {\n title: 'Captação',\n listStepper: [\n {\n title: 'Localização',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Tipo de unidade',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Venda e locação',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Mais informações',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Proprietários',\n icon: 'i_exclamation',\n active: false\n }\n ]\n },\n {\n title: 'Caracteristicas',\n listStepper: [\n {\n title: 'Detalhes do imóvel',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Detalhes do condomínio',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Detalhes adicionais',\n icon: 'i_exclamation',\n active: false\n }\n ]\n },\n {\n title: 'Descrição',\n listStepper: [\n {\n title: 'Descrições para o portal',\n icon: 'i_exclamation',\n active: false\n }\n ]\n },\n {\n title: 'Mídias',\n listStepper: [\n {\n title: 'Fotos',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'outras mídias',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Anexos',\n icon: 'i_exclamation',\n active: false\n }\n ]\n },\n {\n title: 'Profissionais',\n listStepper: [\n {\n title: 'Detalhes para o portal',\n icon: 'i_exclamation',\n active: false\n }\n ]\n },\n {\n title: 'Outras informações',\n listStepper: [\n {\n title: 'Detalhes do imóvel',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Detalhes do condomínio',\n icon: 'i_exclamation',\n active: false\n },\n {\n title: 'Detalhes adicionais',\n icon: 'i_exclamation',\n active: false\n }\n ]\n }\n];\n\nexport const listStepperHorizontal = [\n {\n icon: 'i_finished.svg',\n iconLast: 'i_finished_last.svg',\n description: 'Básico',\n completed: false\n },\n {\n icon: 'i_finished.svg',\n iconLast: 'i_finished_last.svg',\n description: 'Moderado',\n completed: false\n },\n {\n icon: 'i_intermediate.svg',\n iconLast: 'i_intermediate_last.svg',\n description: 'Intermediário',\n completed: false\n },\n {\n icon: 'i_advanced.svg',\n iconLast: 'i_advanced_last.svg',\n description: 'Avançado',\n completed: false,\n },\n {\n icon: 'i_champion.svg',\n iconLast: 'i_champion_last.svg',\n description: 'Campeão',\n completed: false\n }\n];\n\nexport const listTabs = [\n {\n id: 1,\n title: 'Captação',\n active: false\n },\n {\n id: 1,\n title: 'Caracteristicas',\n active: false\n },\n {\n id: 1,\n title: 'Descrição',\n active: false\n },\n {\n id: 1,\n title: 'Mídias',\n active: false\n },\n {\n id: 1,\n title: 'Profissionais',\n active: false\n },\n {\n id: 1,\n title: 'Outras informações',\n active: false\n }\n];\n\n\nexport const propertiesHeader = [\n // {\n // id: 1,\n // nameClass: 'contador',\n // data: '',\n // },\n {\n id: 2,\n nameClass: 'name',\n data: 'Cód/Produto',\n },\n {\n id: 3,\n nameClass: 'product',\n data: 'Mercado',\n },\n {\n id: 4,\n nameClass: 'address',\n data: 'Endereço',\n },\n {\n id: 5,\n nameClass: 'stage',\n data: 'Tipo',\n },\n {\n id: 6,\n nameClass: 'temp',\n data: 'Torre',\n },\n {\n id: 7,\n nameClass: 'unit',\n data: 'Unidade',\n },\n {\n id: 8,\n nameClass: 'desc',\n data: 'Características',\n },\n {\n id: 9,\n nameClass: 'sales',\n data: 'Venda',\n },\n {\n id: 10,\n nameClass: 'rent',\n data: 'Aluguel',\n },\n // {\n // id: 11,\n // nameClass: 'indicator',\n // data: 'Indicadores',\n // },\n // {\n // id: 12,\n // nameClass: 'action',\n // data: '',\n // }\n];\n\n\nexport const mockTableProduct = [\n {\n porcentagem: 85,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 15,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 45,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 80,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 15,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 45,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 80,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n },\n {\n porcentagem: 100,\n codeProduct: '890-IM16391',\n properties: 'Penha Plano Manoel Leiroz de Azevedo',\n mercado: 1,\n imageUrl: 'https://www.incorposul.com.br/wp-content/uploads/2019/08/cropped-como-comprar-um-apartamento-1-1024x576.jpg',\n tipo: 'Apartamento duplex',\n torre: 'Torre A',\n unidade: '73',\n caracteristicas: {\n tamanho: 134,\n dormitorios: 3,\n banheiro: 3,\n camas: 3\n },\n venda: 1300.000,\n aluguel: 50.000,\n condIPTU: '2.345',\n endereco: {\n street: 'Professor Luiz Ignácio Anhaia Mello',\n number: 627,\n city: 'Jardim América',\n neighborhood: 'Vila Bela da Santíssima Trindade',\n state: 'SP'\n },\n atualizado: '13/11/19 12:30',\n usuario: 'Wollner',\n indicadores: {\n predio: 1,\n estrela: true,\n pessoas: true,\n diamante: true,\n iconeEstranho: true,\n calendario: true,\n dinheiro: true\n }\n }\n];\n\n// Remove Characters\nexport const removeCaracter = (event) => {\n event.target.value = event.target.value.replace(/[^0-9\\.]+/g, '');\n};\n","export const listMock = [\n {\n id: 'PESS1777960',\n select: false,\n user: {\n corretor: 'Bart',\n super: 'Cabo',\n image: 'bart'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'cabo@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '2',\n select: false,\n user: {\n corretor: 'Manjula',\n super: 'Apu',\n image: 'manjula'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'apu@simpson.com',\n creci:{\n status: 'expired',\n expiration: '31/12/2019',\n },\n market: 'Secundário (Venda/locação)',\n },\n {\n id: '3',\n select: false,\n user: {\n corretor: 'Burns',\n super: 'Burns',\n image: 'burn'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'burn@simpson.com',\n creci:{\n status: null,\n },\n market: 'Primário e Secundário (Venda/locação)',\n },\n {\n id: '4',\n select: false,\n user: {\n corretor: 'Otto',\n super: 'Otto',\n image: 'otto'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'otto@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: '',\n },\n {\n id: '5',\n select: false,\n user: {\n corretor: 'Krusty',\n super: 'Krusty Super',\n image: 'krusty'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'krusty@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '6',\n select: false,\n user: {\n corretor: 'Frink',\n super: 'Frink Super',\n image: 'frink'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'frink@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '7',\n select: false,\n user: {\n corretor: 'Homer',\n super: 'Homer Super',\n image: 'home'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'homer@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '8',\n select: false,\n user: {\n corretor: 'Lionel',\n super: 'Lionel Super',\n image: 'lionel'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'lionel@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Secundário (Venda)',\n },\n {\n id: '9',\n select: false,\n user: {\n corretor: 'Moe',\n super: 'Moe Super',\n image: 'mo'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'moe@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Secundário (Locação)',\n },\n {\n id: '10',\n select: false,\n user: {\n corretor: 'Murphy',\n super: 'Murphy Super',\n image: 'sax'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'sax@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Secundário (Venda/locação)',\n },\n {\n id: '11',\n select: false,\n user: {\n corretor: 'Snake',\n super: 'Snake Super',\n image: 'snack'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'snake@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '12',\n select: false,\n user: {\n corretor: 'Troy',\n super: 'Troy Super',\n image: 'troy'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'troy@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '13',\n select: false,\n user: {\n corretor: 'Edna',\n super: 'SEYMOUR',\n image: 'edna'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'edna@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '14',\n select: false,\n user: {\n corretor: 'Selma',\n super: 'Selma Super',\n image: 'selma'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'selma@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '15',\n select: false,\n user: {\n corretor: 'Luann',\n super: 'Kirk',\n image: 'luann'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'luann@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n },\n {\n id: '16',\n select: false,\n user: {\n corretor: 'Rick',\n super: 'Rick Super',\n image: 'rick'\n },\n phone: {\n ddi: '11',\n phone: '1198877-6655'\n },\n email: 'rick@simpson.com',\n creci:{\n status: 'ok',\n expiration: '31/12/2020',\n },\n market: 'Primário',\n }\n];\n\nexport const listMockParticipants = [\n {\n id: '1',\n select: false,\n user: {\n corretor: 'Bart',\n super: 'Cabo',\n image: 'bart'\n },\n enterprise: 'Lopes'\n },\n {\n id: '2',\n select: false,\n user: {\n corretor: 'Manjula',\n super: 'Apu',\n image: 'manjula'\n },\n enterprise: 'Lopes'\n },\n {\n id: '3',\n select: false,\n user: {\n corretor: 'Burns',\n super: 'Burns',\n image: 'burn'\n },\n enterprise: 'Lopes'\n },\n {\n id: '4',\n select: false,\n user: {\n corretor: 'Otto',\n super: 'Otto',\n image: 'otto'\n },\n enterprise: 'Lopes'\n },\n {\n id: '5',\n select: false,\n user: {\n corretor: 'Krusty',\n super: 'Krusty Super',\n image: 'krusty'\n },\n enterprise: 'Lopes'\n },\n {\n id: '6',\n select: false,\n user: {\n corretor: 'Frink',\n super: 'Frink Super',\n image: 'frink'\n },\n enterprise: 'Lopes'\n },\n {\n id: '7',\n select: false,\n user: {\n corretor: 'Homer',\n super: 'Homer Super',\n image: 'home'\n },\n enterprise: 'Lopes'\n },\n {\n id: '8',\n select: false,\n user: {\n corretor: 'Lionel',\n super: 'Lionel Super',\n image: 'lionel'\n },\n enterprise: 'Lopes'\n },\n {\n id: '9',\n select: false,\n user: {\n corretor: 'Moe',\n super: 'Moe Super',\n image: 'mo'\n },\n enterprise: 'Lopes'\n },\n {\n id: '10',\n select: false,\n user: {\n corretor: 'Murphy',\n super: 'Murphy Super',\n image: 'sax'\n },\n enterprise: 'Lopes'\n },\n {\n id: '11',\n select: false,\n user: {\n corretor: 'Snake',\n super: 'Snake Super',\n image: 'snack'\n },\n enterprise: 'Lopes'\n },\n {\n id: '12',\n select: false,\n user: {\n corretor: 'Troy',\n super: 'Troy Super',\n image: 'troy'\n },\n enterprise: 'Lopes'\n },\n {\n id: '13',\n select: false,\n user: {\n corretor: 'Edna',\n super: 'SEYMOUR',\n image: 'edna'\n },\n enterprise: 'Lopes'\n },\n {\n id: '14',\n select: false,\n user: {\n corretor: 'Selma',\n super: 'Selma Super',\n image: 'selma'\n },\n enterprise: 'Lopes'\n },\n {\n id: '15',\n select: false,\n user: {\n corretor: 'Luann',\n super: 'Kirk',\n image: 'luann'\n },\n enterprise: 'Lopes'\n },\n {\n id: '16',\n select: false,\n user: {\n corretor: 'Rick',\n super: 'Rick Super',\n image: 'rick'\n },\n enterprise: 'Lopes'\n }\n];\nexport const listOptions = [\n {\n id: 1,\n name: 'Editar escala'\n },\n {\n id: 2,\n name: 'Configurar usuário'\n },\n {\n id: 3,\n name: 'Ver filas'\n },\n {\n id: 4,\n name: 'Ver perfil'\n },\n {\n id: 5,\n name: 'Ver facs'\n }\n];\n\nexport const OPTIONS_TM_ENUM = {\n CONFIG_USER: 'Configurar usuário',\n EDIT_SCALE: 'Editar escala',\n SEE_QUEUE: 'Ver filas',\n SEE_PROFILE: 'Ver perfil',\n SEE_FACS: 'Ver facs'\n};","import { DefaultImageDirective } from './directives/imagePreload/image-preload.directive';\nimport { CustomClipboard } from './services/clipboard/clipboard.service';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WindowScrollService } from './services/window-scroll.service';\nimport { GeralService } from './services/geral-service/geral-service';\nimport { FeatureToggleDirective } from './directives/feature-toggle/feature-toggle.directive';\nimport { FormatPhoneDDIPipe } from './pipes/format-phone-ddi.pipe';\nimport { RouteGuardService } from './guards/route-guard/service/route-guard.service';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n providers: [\n WindowScrollService,\n GeralService,\n RouteGuardService,\n CustomClipboard\n ],\n declarations: [FeatureToggleDirective, FormatPhoneDDIPipe, DefaultImageDirective],\n exports: [FeatureToggleDirective, FormatPhoneDDIPipe, DefaultImageDirective]\n})\nexport class CoreModule { }\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: 'img[default]',\n // tslint:disable-next-line: no-host-metadata-property\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src'\n }\n})\nexport class DefaultImageDirective {\n @Input() src: string;\n @Input() default: string;\n\n updateUrl() {\n this.src = this.default;\n }\n}\n","import {Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EnvironmentService {\n isBrowser: boolean;\n\n constructor(@Inject(PLATFORM_ID) private platformId) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n getAllEnvs() {\n const env = this.isBrowser\n ? (window as any).env\n : process.env;\n\n return env;\n }\n\n getEnvVar(key: string) {\n const env = this.isBrowser\n ? (window as any).env\n : process.env;\n\n return env[key];\n }\n\n getLopesNetProntosAutoLogin(): string {\n return `${this.getEnvVar('bff_login')}/legacy-login`;\n }\n\n getBaseLeadUrl(): string {\n return this.getEnvVar('base_url_lead');\n }\n\n getBasePortalUrl(): string {\n return this.getEnvVar('base_url_portal');\n }\n\n getBaseCrmUrl(): string {\n return this.getEnvVar('base_url_crm');\n }\n\n getToggle(toggleName: string) {\n if (!toggleName.startsWith('toggle_')) {\n throw new Error('toggles should start with \"toggle_\" prefix');\n }\n return this.getEnvVar(toggleName);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { LoginService } from 'lps-navigation';\nimport { Observable } from 'rxjs';\nimport { EnvironmentService } from '../../enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AuthGuard implements CanActivate {\n constructor(\n private loginService: LoginService,\n private environmentService: EnvironmentService\n ) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (!this.loginService.getAuthInformation().isUserLoggedIn() || !this.loginService.getAuthInformation().isAgent()) {\n if (this.environmentService.getEnvVar('localhost_domain') !== 'true') {\n this.loginService.removeAuthInformation('');\n const protocol = document.location.protocol + \"//\";\n const host = document.location.host;\n const url = state.url;\n\n if (url === '/home') {\n window.location.href = this.environmentService.getEnvVar('base_url_portal');\n } else {\n window.location.href = `${this.environmentService.getEnvVar('base_url_portal')}?redirect=${protocol + host + url}`;\n }\n }\n }\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { LoginService } from 'lps-navigation';\nimport { Observable } from 'rxjs';\nimport { EnvironmentService } from '../../enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrokerProfileGuard implements CanActivate {\n constructor(\n public envService: EnvironmentService,\n public loginService: LoginService,\n ) {\n }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (this.envService.getEnvVar('feature_new_broker_profile')) {\n if (window.location.origin === this.envService.getEnvVar('base_url_crm') &&\n this.loginService.getAuthInformation().isUserLoggedIn() &&\n this.loginService.getAuthInformation().isAgent()) {\n return true;\n } else if (window.location.origin === this.envService.getEnvVar('portal_url')) {\n return true;\n } else if (window.location.origin === this.envService.getEnvVar('base_url_crm') && \n !this.loginService.getAuthInformation().isUserLoggedIn()) {\n window.location.href = `${this.envService.getBasePortalUrl()}`;\n }\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { RouteGuardService } from './service/route-guard.service';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RouteGuard implements CanActivate {\n constructor(\n private authGuardService: RouteGuardService\n ) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return this.authGuardService.getRouteGuard().pipe(\n map(resp => {\n if (this.validateRoute(state.url, resp.urls)) {\n return true;\n } else {\n return false;\n }\n }),\n );\n }\n\n private validateRoute(url: string, allowedRoutes: string[]): boolean {\n for (const item of allowedRoutes) {\n if (url.includes(item)) {\n return true;\n }\n }\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\ninterface RouteGuardResponde {\n urls: string[];\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class RouteGuardService {\n private readonly uri = this.environmentService.getEnvVar('api_home');\n\n constructor(\n private environmentService: EnvironmentService,\n private http: HttpClient\n ) { }\n\n public getRouteGuard(): Observable {\n return this.http.get(`${this.uri}/route-guard`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\nimport { EnvironmentService } from '../../enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleGuardGuard implements CanActivate {\n constructor(\n private envService: EnvironmentService\n ) {}\n canActivate(route: ActivatedRouteSnapshot): boolean {\n const toggle = route.data.toggle;\n if (this.envService.getEnvVar(toggle) === 'true') {\n return true;\n } else {\n return false;\n }\n }\n}\n","\nexport function flatten(array, depth = 1, result = []) {\n let index = -1;\n const length = array.length;\n\n while (++index < length) {\n const value = array[index];\n if (depth > 0 && Array.isArray(value)) {\n if (depth > 0) {\n // Recursively flatten arrays (susceptible to call stack limits).\n flatten(value, depth - 1, result);\n } else {\n result.push(value);\n }\n } else {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport function uniqPrimitiveValues(array: Array) {\n return [...new Set(array)];\n}\n","import {ManagerFiltersControls, ManagerFilterType} from '../../home/manager-filters/manager-filters.component';\nimport {differenceInDays, format, subDays} from 'date-fns';\n\nconst actualDate: Date = new Date();\nconst defaultDatePattern = 'YYYY-MM-DD';\n\nexport function getActualDate(): string {\n return format(actualDate, defaultDatePattern);\n}\n\nexport function subtractDaysFrom(date: Date, numberOfDays: number): string {\n return format(subDays(date, numberOfDays), defaultDatePattern);\n}\n\nexport function getDifferenceInDays(endDate: any, beginDate: any): number {\n return differenceInDays(endDate, beginDate);\n}\n\nexport function getManagerFilterBeginDate(filtersControls: ManagerFiltersControls): string {\n switch (filtersControls.type) {\n case ManagerFilterType.Today:\n return getActualDate();\n case ManagerFilterType.FifteenDays:\n return subtractDaysFrom(actualDate, 15);\n case ManagerFilterType.ThirtyDays:\n return subtractDaysFrom(actualDate, 30);\n case ManagerFilterType.Range:\n return format(filtersControls.begin, defaultDatePattern);\n default:\n return '';\n }\n}\n\nexport function getManagerFilterEndDate(filtersControls: ManagerFiltersControls): string {\n\n if (filtersControls.type === ManagerFilterType.Range) {\n return format(filtersControls.end, defaultDatePattern);\n }\n\n return getActualDate();\n}\n","// substitui o pickBy do lodash\nexport function pickBy(object) {\n const obj = {};\n for (const key in object) {\n if ( object[key] ) {\n if (Array.isArray(object[key]) && !object[key].length) {\n continue;\n }\n obj[key] = object[key];\n }\n }\n return obj;\n}\n// substitui o get do lodash\nexport const getE = (obj, path, defaultValue = null) => {\n const result = String.prototype.split.call(path, /[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key) => (res !== null && res !== undefined) ? res[key] : res, obj);\n return (result === undefined || result === obj) ? defaultValue : result;\n};\n","const accentsMap = {\n a: 'á|à|ã|â|À|Á|Ã|Â',\n e: 'é|è|ê|É|È|Ê',\n i: 'í|ì|î|Í|Ì|Î',\n o: 'ó|ò|ô|õ|Ó|Ò|Ô|Õ',\n u: 'ú|ù|û|ü|Ú|Ù|Û|Ü',\n c: 'ç|Ç',\n n: 'ñ|Ñ',\n};\n\nexport const slugify = text => Object.keys(accentsMap).reduce(\n (acc, cur) => acc.replace(new RegExp(accentsMap[cur], 'g'), cur), text\n);\n\nexport const toKebabCase = text => {\n return slugify(text).replace(/([A-Z])([A-Z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s__]+/g, '-')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase();\n};\n\n","export enum ActivitiesEnum {\n NextDays = 'proximos-dias',\n Past = 'vencidas',\n Today = 'hoje',\n Tomorrow = 'amanha'\n}\n","export interface CalendarModel {\n today: TodayModel;\n years: CalendarYearModel[];\n}\n\nexport interface TodayModel {\n day: number;\n month: number;\n year: number;\n}\n\nexport interface CalendarYearModel {\n year: number;\n months: CalendarMonthModel[];\n}\n\nexport interface CalendarMonthModel {\n month: number;\n firstWeekDay: number;\n weeks: CalendarWeekModel[];\n}\n\nexport interface CalendarWeekModel {\n week: number;\n days: CalendarDayModel[];\n}\n\nexport interface CalendarDayModel {\n day: number;\n marks: any[];\n special?: any[];\n notActive?: boolean;\n}\n\nexport enum MONTH {\n 'Janeiro' = 0,\n 'Fevereiro' = 1,\n 'Março' = 2,\n 'Abril' = 3,\n 'Maio' = 4,\n 'Junho' = 5,\n 'Julho' = 6,\n 'Agosto' = 7,\n 'Setembro' = 8,\n 'Outubro' = 9,\n 'Novembro' = 10,\n 'Dezembro' = 11\n}\n\nexport enum MONTHSHORT {\n 'jan' = 0,\n 'fev' = 1,\n 'mar' = 2,\n 'abr' = 3,\n 'mai' = 4,\n 'jun' = 5,\n 'jul' = 6,\n 'ago' = 7,\n 'set' = 8,\n 'out' = 9,\n 'nov' = 10,\n 'dez' = 11\n}\n\nexport enum CALENDARVIEW {\n Month = 'Mês',\n Week = 'Semana',\n Day = 'Dia',\n Results = 'Resultados'\n}\n\nexport interface MenuAction {\n select: boolean;\n text: string;\n}\n\nexport interface RequestAction {\n index: number;\n list: MenuAction []\n}","export enum ChannelsEnum {\n TELEFONE = '1',\n EMAIL = '2',\n WHATSAPP = '3',\n CHAT = '4'\n}\n\nexport interface ChannelsInterface {\n id: string;\n description: string;\n}\nexport class Channels {\n\n private channels = [\n {\n id: ChannelsEnum.TELEFONE,\n description: 'Telefone'\n },\n {\n id: ChannelsEnum.EMAIL,\n description: 'Email'\n },\n {\n id: ChannelsEnum.WHATSAPP,\n description: 'Whatsapp'\n },\n {\n id: ChannelsEnum.CHAT,\n description: 'Chat'\n }\n ];\n\n values() {\n return [].concat(this.channels);\n }\n\n withoutChat() {\n return [].concat(\n this.channels.filter(item => item.id !== ChannelsEnum.CHAT)\n );\n }\n\n channelById(id: string): string {\n const channel = this.channels.find(item => item.id === id);\n return channel && channel.description;\n }\n\n getSpecificItems(options: Array): Array {\n return this.channels.filter(item => !options.includes(item.id));\n }\n}\n\n\n","import { Phone } from './phone.model';\nimport { TransferFormModel } from './edit-fac-modal.model';\n\nexport interface FacChartsModel {\n green: number;\n yellow: number;\n red: number;\n total?: number;\n}\n\nexport interface Payload {\n payload: ColumnDashboard []\n}\nexport interface ColumnDashboard {\n id: string;\n funnel_stage: string;\n title: string;\n facs: Facs [];\n}\n\nexport interface Facs {\n id: string;\n phone: Phone;\n email: string;\n product: string;\n name: string;\n badges: Badges[];\n color: number;\n last_update_date: Date;\n visit_date: Date;\n date_return: string;\n contact: Date;\n temperature: string;\n is_favorite: boolean;\n interest: string;\n funnel_stage: Funnel;\n user_full_name: string;\n user_nickname: string;\n isCall?: boolean;\n}\n\nexport interface Funnel {\n value: string;\n sub_items: string [];\n}\nexport interface Badges {\n name: string;\n description: string;\n}\n\nexport interface Favorite {\n id: string;\n is_favorite: boolean;\n}\n\nexport interface TransferPackModel {\n fac_ids: string [];\n user: TransferFormModel;\n}\n\nexport interface UpdateFacs {\n id: string;\n stage: Stage;\n}\n\nexport interface Stage {\n above_fac_id: string;\n below_fac_id: string;\n}\n\nexport interface SendOpenModal {\n id: string;\n openModal: boolean;\n}\n\nexport interface FilterFacs {\n fields: string;\n color: number;\n temperature: string;\n is_favorite: boolean;\n badges: string;\n filters?: Field [];\n}\n\nexport interface Field {\n field: string;\n value: string;\n match: string;\n}\n\nexport interface Person {\n name: string;\n phone: string;\n email: string;\n}\nexport interface Temperature {\n name: string;\n}\n\nexport interface FunnelStage {\n value: string;\n}\n\nexport interface AutoComplite {\n description: string;\n type: string;\n field: string;\n}\n\nexport interface OrderCard {\n above_fac_id: string;\n below_fac_id: string;\n}\n\nexport interface RespTransferPost {\n status: {\n id: number,\n name:string\n },\n messages: [\n {\n code: string,\n message: string,\n type: string\n }\n ],\n task_id: string,\n taskId: string\n}\n\nexport const HeaderTableFacs = [\n {\n id: 0,\n nameClass: '',\n data: 'input',\n },\n {\n id: 1,\n nameClass: 'name',\n data: 'Nome',\n },\n {\n id: 2,\n nameClass: 'product',\n data: 'Produto',\n },\n {\n id: 3,\n nameClass: 'stage',\n data: 'Estágio',\n },\n {\n id: 5,\n nameClass: 'contact',\n data: 'Contato',\n },\n {\n id: 6,\n nameClass: 'temp',\n data: 'Temperatura',\n },\n {\n id: 7,\n nameClass: 'indicators',\n data: 'Indicadores',\n },\n {\n id: 8,\n nameClass: 'data',\n data: 'Data',\n }\n];\n\nexport const HeaderTableFacsV2 = [\n {\n id: 0,\n nameClass: '',\n data: 'input',\n },\n {\n id: 1,\n nameClass: 'name',\n data: 'Nome',\n },\n {\n id: 2,\n nameClass: 'product',\n data: 'Produto',\n },\n {\n id: 3,\n nameClass: 'stage',\n data: 'Estágio',\n },\n {\n id: 4,\n nameClass: 'broker',\n data: 'Corretor',\n },\n {\n id: 5,\n nameClass: 'contact',\n data: 'Contato',\n },\n {\n id: 6,\n nameClass: 'temp',\n data: 'Temperatura',\n },\n {\n id: 7,\n nameClass: 'indicators',\n data: 'Indicadores',\n },\n {\n id: 8,\n nameClass: 'data',\n data: 'Data',\n }\n];","export class GeolocationInfo {\n constructor(\n public readonly latitude: string,\n public readonly longitude: string\n ) { }\n}\n","export enum WEEK {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY'\n}\n\nexport interface ScheduleData {\n entry_time: string;\n exit_time: string;\n}\n\nexport interface Scale {\n weekday: WEEK;\n schedules: ScheduleData[];\n}\n\nexport interface ScalePost {\n user_id: string;\n scales: Scale[];\n}\n\nexport interface ScaleBulkPost {\n user_ids: string[];\n scales: Scale[];\n}\n\nexport interface ResponseMessage {\n code: string;\n message: string;\n type: string;\n}\n\nexport interface ResponseStatus {\n id: number;\n name: string;\n}\n\nexport interface ResponseOk {\n task_id: string;\n status: ResponseStatus;\n messages: ResponseMessage[];\n}\n\nexport interface ErrorItem {\n [idx: string]: ScheduleError;\n}\nexport interface WorkScheduleModel {\n label: string;\n id: WEEK;\n schedule: ScheduleModel[];\n}\n\nexport interface ScheduleModel {\n start: string;\n end: string;\n}\n\nexport interface ScheduleModelFront {\n start: Date;\n end: Date;\n}\n\nexport interface ScheduleError {\n start: boolean;\n end: boolean;\n}\n\nexport interface ResponseGetScale {\n scales: Scale[];\n user_id: string;\n}","export enum operationMarketType {\n PRIMARY = 'PRIMARY',\n SECONDARY = 'SECONDARY'\n}\n\nexport interface OperationMarkets {\n operationMarketType: operationMarketType;\n agentId: string;\n}\n\nexport interface PhoneType {\n id: string;\n legacyId: number;\n name: string;\n}\n\nexport interface TmTag {\n id?: string;\n value: string;\n}\nexport interface Member {\n id: string;\n user_id: string;\n name: string;\n nickname: string;\n leader_nickname: string;\n image_url: string;\n role: string;\n market?: operationMarketType | string;\n userLabel?: string;\n operation_markets: OperationMarkets[];\n email: string;\n phone_ddi: string;\n phone_ddd: string;\n phone_number: string;\n phone_type: PhoneType;\n creci_validity: string;\n creci_status: boolean;\n sale: boolean;\n rent: boolean;\n}\n\nexport interface Pagination {\n page_number: number;\n page_items: number;\n}\n\nexport interface Sort {\n sort: string;\n sort_order: SORT_ENUM;\n}\n\nexport interface ResponseOk {\n next_request: Pagination;\n previous_request: Pagination;\n payload: Member[];\n}\n\nexport enum SORT_ENUM {\n ASC = 'ASC',\n DESC = 'DESC'\n}\n\nexport interface GetMembers {\n page_number: number;\n page_items: number;\n sort?: string;\n sort_order?: SORT_ENUM;\n search_values: string;\n}\n\nexport interface Autocomplete {\n max_results: number;\n search_value: string;\n}\n\nexport interface Team {\n description: string;\n type: string;\n field: string;\n label: string;\n}\n\nexport interface AutocompleteResponse {\n payload: Team[];\n}\n\nexport interface TmItem {\n id: string;\n user_id?: string;\n name?: string;\n nickname?: string;\n userLabel?: string;\n type?: string;\n option?: string;\n select?: boolean;\n}\n\nexport const TmSortProperties = {\n 2: 'agent.nickname',\n 4: 'market.type',\n 5: 'creci.validity'\n};\n","import { Pipe, PipeTransform } from '@angular/core';\nimport StringMask from 'string-mask';\nimport {flagOptions} from '../constants/flag-Input-const';\n\n@Pipe({\n name: 'formatPhoneDDI'\n})\nexport class FormatPhoneDDIPipe implements PipeTransform {\n // Apply phone mask using DDI as param\n\n transform(value: string, ...args: unknown[]): unknown {\n const ph = value.replace(/[^0-9]/g, '');\n const flag = flagOptions.find(ddi => ddi.prefix === args[0]);\n switch (args[0]) {\n case '+55':\n if (ph.length === 11) {\n return new StringMask(flag.pattern[0]).apply(ph);\n }\n return new StringMask(flag.pattern[1]).apply(ph);\n\n case '+1':\n return new StringMask(flag.pattern[0]).apply(ph);\n\n case '+351':\n return new StringMask(flag.pattern[0]).apply(ph);\n\n }\n }\n\n}\n","import {Injectable, Inject, PLATFORM_ID} from '@angular/core';\nimport { GoogleTagManagerService } from '../../analytics/google-tag-manager.service';\nimport { GeolocationService } from '../geolocation/geolocation.service';\nimport { GeolocationInfo } from '../../models/geolocation';\nimport { isPlatformBrowser } from '@angular/common';\nimport {LegacyLoginService} from \"../../../shared/services/legacy-login.service\";\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApplicationInitializeService {\n\n private isNotOnBrowser: boolean;\n\n get isSafariBrowser() {\n const userAgentDescription = window.navigator.userAgent.toLowerCase();\n return userAgentDescription.includes('safari') && !userAgentDescription.includes('chrome');\n }\n\n get isLastGeolocationAllowanceStillValid() {\n const storedDate = new Date(localStorage.getItem('lps-geolocation-accepted-safari'));\n return storedDate.getTime() > new Date(Date.now() - 604800000).getTime();\n }\n\n public constructor(\n private readonly googleTagManagerService: GoogleTagManagerService,\n private readonly geolocationService: GeolocationService,\n private readonly legacyLoginService: LegacyLoginService,\n @Inject(PLATFORM_ID) private readonly platformId: string,\n ) {\n this.isNotOnBrowser = !isPlatformBrowser(this.platformId);\n }\n\n public initialize(): void {\n this.googleTagManagerService.initialize();\n this.legacyLoginService.autologin();\n this.getCurrentLocationAndSave();\n }\n\n // -------- GEO LOCATION --------\n\n private getCurrentLocationAndSave() {\n if (this.isLastGeolocationAllowanceStillValid) {\n return;\n }\n this.getCurrentLocation()\n .then(location => this.saveCookies(location))\n .catch(error => console.log(error.message))\n .finally(() => this.saveGeolocationAcceptance());\n }\n\n public getCurrentLocation(): Promise {\n const resolverCookies = (resolve, reject) => {\n if (this.isNotOnBrowser) {\n return reject(new Error('Cannot get location on server.'));\n }\n window.navigator.geolocation.getCurrentPosition((position) => {\n const latitude = position.coords.latitude.toString();\n const longitude = position.coords.longitude.toString();\n resolve(new GeolocationInfo(latitude, longitude));\n }, (e) => reject(e),\n );\n };\n return new Promise(resolverCookies);\n }\n\n private saveCookies(location: GeolocationInfo): void {\n this.geolocationService.setSubjectGeolocationInfo(location);\n this.geolocationService.saveLocationOnCookies(location);\n }\n\n private saveGeolocationAcceptance() {\n if (this.isSafariBrowser) {\n localStorage.setItem('lps-geolocation-accepted-safari', new Date().toLocaleString());\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LoginService } from 'lps-navigation';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthTokenService {\n positionManager = [\n '/job_position/superintendente_on-line',\n '/job_position/superintendente',\n '/job_position/diretor_geral',\n '/job_position/diretor'\n ];\n\n administrator = '/user_type/administrator';\n\n constructor(private loginService: LoginService) { }\n\n getPayloadToken(): any {\n return this.loginService.getPayloadToken(this.loginService.getAuthInformation().token);\n }\n\n getUserType(): string {\n const payloadToken = this.getPayloadToken();\n\n if (payloadToken) {\n const groups: any[] = payloadToken.groups || [];\n\n const userType = groups.find((group: string) => group.includes('user_type'));\n\n return userType;\n }\n\n return null;\n }\n\n getJobPosition(): string {\n const payloadToken = this.getPayloadToken();\n\n if (payloadToken) {\n const groups: any[] = payloadToken.groups || [];\n\n const jobPosition = groups.find((group: string) => group.includes('job_position'));\n\n return jobPosition;\n }\n\n return null;\n }\n\n isManager(): boolean {\n const jobPosition = this.getJobPosition();\n return this.positionManager.includes(jobPosition);\n }\n\n isAdministrator(): boolean {\n const userType = this.getUserType();\n return this.administrator.includes(userType);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { retryWhen, catchError, mergeMap, map, delay, take, delayWhen } from 'rxjs/operators';\nimport { Observable, throwError, timer, of } from 'rxjs';\nimport { EnvironmentService } from '../../enviroment/environment.service';\nimport { HttpClient } from '@angular/common/http';\n\n// PROCESSING(0, \"Still Processing\"),\n// SUCCESSFUL(1, \"Successful\"),\n// FAILURE(2, \"Failure\");\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CheckTaskStatusService {\n\n private envs = this.environmentService.getAllEnvs();\n private retryITNERVAL = 1000;\n private retryLIMIT = 30;\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n checkTaskStatus(taskId: string, url = this.envs.api_home): Observable {\n return this.http.get(`${url}/task/${taskId}`).pipe(\n retryWhen(this.genericRetryStrategy()),\n catchError(e => throwError(e))\n );\n }\n\n genericRetryStrategy = (maxRetryAttempts = 10, excludedStatusCodes = []) => (attempts: Observable) => {\n return attempts.pipe(\n mergeMap((error, i) => {\n const retryAttempt = i + 1;\n if (\n retryAttempt > maxRetryAttempts ||\n excludedStatusCodes.find(e => e === error.status)\n ) {\n return throwError(error);\n }\n return timer(this.envs.service_retry_timer);\n })\n );\n }\n\n checkTaskStatus2(taskId, url = this.envs.api_home): Observable {\n let count = 1;\n return this.http.get(`${url}/task/${taskId}`).pipe(\n map(response => {\n if (count >= this.retryLIMIT) {\n return null;\n }\n if (response.status.id === 0 || response.status === 'OPENNED') {\n count = count + 1;\n throw response;\n }\n return response;\n }),\n retryWhen((errors: any) => {\n return errors.pipe(delayWhen((_, index) => timer(this.retryITNERVAL)), take(this.retryLIMIT));\n })\n );\n }\n}\n","export class CustomClipboard {\n\n writeText(text): Promise {\n return window.navigator.clipboard.writeText(text);\n }\n\n readText(): Promise {\n return window.navigator.clipboard.readText();\n }\n\n}\n","import {Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { CookieService } from 'ngx-cookie-service';\n\nimport { GeolocationInfo } from '../../models/geolocation';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GeolocationService {\n\n private isNotOnBrowser: boolean;\n\n private subjectGeolocationInfo: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(\n private cookieService: CookieService,\n @Inject(PLATFORM_ID) private platformId: string,\n ) {\n this.isNotOnBrowser = !isPlatformBrowser(platformId);\n }\n\n public getLocation(): BehaviorSubject {\n if (!this.getCookies('lps-location')) {\n return this.subjectGeolocationInfo;\n }\n return new BehaviorSubject(JSON.parse(this.getCookies('lps-location')));\n }\n\n public saveLocationOnCookies(geolocationInfo: GeolocationInfo) {\n if (this.isNotOnBrowser) {\n return;\n }\n this.setCookies('lps-location', JSON.stringify(geolocationInfo));\n }\n\n public setSubjectGeolocationInfo(geolocationInfo: GeolocationInfo) {\n this.subjectGeolocationInfo.next(geolocationInfo);\n }\n\n // GET and SET COOKIES\n\n private setCookies(key: string, value: string, expires: number = 1000): void {\n this.cookieService.set(key, value, expires);\n }\n\n private getCookies(key: string): string {\n if ((window as any).cookieServer) {\n return (window as any).cookieServer[key];\n }\n return this.cookieService.get(key);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GeralService {\n copyToClipboard(text: string) {\n const dummy = document.createElement('textarea');\n document.body.appendChild(dummy);\n dummy.value = text;\n dummy.select();\n document.execCommand('copy');\n document.body.removeChild(dummy);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse, HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { EnvironmentService } from '../../enviroment/environment.service';\nimport { LoginService } from 'lps-navigation';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InterceptorService implements HttpInterceptor {\n\n constructor(\n private loginService: LoginService,\n private environmentService: EnvironmentService,\n private router: Router\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(tap((resp) => {\n },\n (err: any) => {\n if (err instanceof HttpErrorResponse) {\n // if (err.status === 401) {\n // this.loginService.removeAuthInformation(this.environmentService.getEnvVar('lopes_portal_domain'));\n // this.router.navigate(['/erro/token']);\n // }\n if (err.status === 500) {\n // this.router.navigate(['/erro/servico']);\n }\n }\n }\n ));\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EnvironmentService } from '../../enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IsLeaderService {\n\n public uri = this.environmentService.getEnvVar('api_agent');\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService) { }\n\n public getIsLeader() {\n return this.http.get(`${this.uri}/is-leader`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n\n footer$ = new BehaviorSubject(true);\n\n getShowFooter(): Observable {\n return this.footer$.asObservable();\n }\n\n setShowFooter(state: boolean): void {\n this.footer$.next(state);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpResponse } from '@angular/common/http';\nimport { FormGroup } from '@angular/forms';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { throwError, Observable } from 'rxjs';\nimport { tap, map, catchError } from 'rxjs/operators';\n\nimport { ChannelsEnum } from 'src/app/shared/components/lead-form/lead-form.component';\nimport { EnvironmentService } from '../../enviroment/environment.service';\nimport { GoogleTagManagerService } from '../../analytics/google-tag-manager.service';\nimport { Channels } from '../../models/channels';\nimport { Profile } from '../../models/profile';\n\ninterface LeadResponse {\n taskId: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class LeadFormService {\n\n url = 'lead';\n private DEFAULT_VALUE = '1';\n\n constructor(\n public readonly http: HttpClient,\n public readonly envService: EnvironmentService,\n public platform: Platform,\n public readonly googleTagService: GoogleTagManagerService\n ) { }\n\n save(lead): Observable> {\n return this.http.post(`${this.envService.getBaseLeadUrl()}${this.url}`, lead)\n .pipe(\n map(response => response.taskId || this.generateLeadId()),\n tap((leadId) => this.sendLeadEventForPurchase(lead, leadId)),\n catchError((err) => {\n this.googleTagService.pushTag({\n event: 'event',\n eventCategory: 'lopes:ecommerce:fale-com-o-corretor:site',\n eventAction: 'erro:fale-corretor',\n eventLabel: 'erro-de-servidor',\n });\n return throwError(err);\n })\n );\n }\n\n buildLead(\n channel: number, companyId: string, form: FormGroup, nickname: string\n ) {\n return {\n type_id: 1,\n contact_type_id: channel,\n chatChannelId: '',\n reference: '',\n end_point: '1',\n company_id: companyId,\n nickname,\n bm_utm: '',\n utm: '',\n user: {\n name: form.get('name').value,\n email: form.get('email').value,\n phone: '55' + (form.get('telefone').value)\n },\n lps_media_origin: ''\n };\n }\n\n startCommunicationForWhatsApp(\n channel: ChannelsEnum, brokerPhone: string\n ) {\n if (channel === ChannelsEnum.WHATSAPP) {\n this.callWhatsApp(brokerPhone);\n }\n }\n\n callWhatsApp(phone: string) {\n const msg = `?text=Olá, gostaria de mais informações`;\n if (!this.platform.ANDROID && !this.platform.IOS) {\n window.open(`https://web.whatsapp.com/send${msg}&phone=${phone}`, '_blank');\n } else {\n const target = this.platform.SAFARI ? '_top' : '_blank';\n window.open(`https://wa.me/${phone}${msg}`, target);\n }\n }\n\n sendLeadEventForPurchase(lead, leadId: string) {\n const ecommerce = {\n purchase: {\n actionField: {\n id: leadId,\n revenue: this.DEFAULT_VALUE,\n affiliation: 'fale-com-o-corretor'\n }\n }\n };\n const leadEvent = this.eventFor(\n 'purchase',\n 'lopes:ecommerce:fale-com-o-corretor:site',\n 'purchase',\n ecommerce,\n lead.contact_type_id\n );\n this.googleTagService.pushTag(leadEvent);\n }\n\n sendLeadEventForNameChanged() {\n const leadEvent = this.eventFor(\n 'addToCart',\n 'lopes:ecommerce:fale-com-o-corretor:site',\n 'addToCart');\n\n this.googleTagService.pushTag(leadEvent);\n }\n\n sendLeadEventForCheckout(chosenCommunication: string) {\n const ecommerce = {\n checkout: {\n actionField: {\n step: '1'\n }\n }\n };\n const leadEvent = this.eventFor(\n 'checkout',\n 'lopes:ecommerce:fale-com-o-corretor:site',\n 'checkout',\n ecommerce,\n null,\n 'checkout-etapa-1');\n\n leadEvent.dimension6 = chosenCommunication;\n this.googleTagService.pushTag(leadEvent);\n }\n\n private eventFor(\n eventType: string,\n eventCategory: string,\n eventAction: string,\n ecommerce?: object,\n contactTypeId?: number,\n eventLabel?: string\n ) {\n return {\n event: eventType,\n eventCategory,\n eventAction,\n eventLabel,\n ecommerce,\n dimension6: contactTypeId && new Channels().channelById(contactTypeId.toString())\n };\n }\n\n generateLeadId() {\n return Math.random().toString(36).substring(2) + Date.now().toString(36);\n }\n\n checkNameChanged(name: string, oldName: string): void {\n if ( this.isNameFilled(name) && this.nameHasChanged(name, oldName)) {\n this.sendLeadEventForNameChanged();\n }\n }\n\n nameHasChanged(name: string, oldName: string) {\n return name !== oldName;\n }\n\n isNameFilled(name: string) {\n return name.trim().length !== 0;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Profile } from '../../models/profile';\n\n@Injectable({ providedIn: 'root' })\nexport class PhoneService {\n\n whatsAppLopes = '5511988952656';\n\n getDdiPlusPhone(ddiPhone: {ddi: string, phone: string}): string {\n const ddi = ddiPhone.ddi.replace('+', '');\n const phone = ddiPhone.phone.replace(/ /g, '').replace('-', '');\n return ddi + phone;\n }\n\n getAlternativePhone(profile: Profile): string {\n if (profile.alternative_phone) {\n return this.getDdiPlusPhone(profile.alternative_phone);\n }\n }\n\n getMainPhone(profile: Profile): string {\n if (profile.phone) {\n return this.getDdiPlusPhone(profile.phone);\n }\n }\n\n getCellphoneCheckingCountry(profile: Profile): string {\n const mainPhone = this.getMainPhone(profile);\n const alternativePhone = this.getAlternativePhone(profile);\n if (mainPhone?.startsWith('55') && mainPhone?.length === 13) {\n return mainPhone;\n } else if (alternativePhone?.startsWith('55') && alternativePhone?.length === 13) {\n return alternativePhone;\n } else if (mainPhone) {\n return mainPhone;\n } else if (alternativePhone) {\n return alternativePhone;\n } else {\n return this.whatsAppLopes;\n }\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductsService {\n\n private uri = this.environmentService.getEnvVar('api_products');\n\n constructor(private http: HttpClient,\n private environmentService: EnvironmentService) { }\n\n autoCompleteByNameOrAddress(searchTerm: string) {\n return this.http.get(`${this.uri}/register-product/autocomplete?max_items=20&search=${searchTerm}`);\n }\n\n searchByName(data?) {\n let params = new HttpParams();\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n params = params.append(key, data[key]);\n }\n }\n params = params.append('rand', Math.random().toString());\n return this.http.get(`${this.uri}/products`, {params});\n }\n}\n","import { Injectable} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StepperService {\n\n private listSteps = new Subject();\n\n setList(data) {\n this.listSteps.next(data);\n }\n\n getList() {\n return this.listSteps.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowScrollService {\n private styleTag: HTMLStyleElement;\n\n constructor() {\n this.styleTag = this.buildStyleElement();\n }\n\n public disable(): void {\n document.body.appendChild( this.styleTag );\n }\n\n public enable(): void {\n document.body.removeChild( this.styleTag );\n }\n\n private buildStyleElement(): HTMLStyleElement {\n const style = document.createElement('style');\n\n style.textContent = `\n body {\n overflow: hidden !important ;\n }\n `;\n\n return( style );\n }\n}\n","import {Injectable} from '@angular/core';\nimport { EnvironmentService } from '../enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureToggleService {\n constructor(private readonly environmentService: EnvironmentService) {\n }\n\n isActive(myToggle: string): boolean {\n return this.toggle('toggle_all_active') || this.toggle(myToggle);\n }\n\n private toggle(myToggle: string) {\n const toggle = this.environmentService.getToggle(myToggle) || '';\n return toggle.trim().toLowerCase() === 'true';\n }\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport function contactTypeValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (control.parent.value.column_type.value !== 'Sem Contato' && !control.value) {\n return { contact_type: true };\n }\n return null;\n };\n}\n\nexport function returnDateValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (control.parent.value.column_type.value !== 'Visita' && isReturnDateEmpty(control.value)) {\n return { return_date: true };\n }\n\n return null;\n };\n}\n\nexport function visitDateValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (control.parent.value.column_type.value === 'Visita' && (control.value.date === null || control.value.hour === null)) {\n return { visit_date: true };\n }\n\n return null;\n };\n}\n\nexport function descriptionValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: boolean } | null => {\n if (!control.value) {\n return { description: true };\n }\n\n return null;\n };\n}\n\nexport function validateCPF(control: AbstractControl): { [key: string]: boolean } | null {\n let Soma = 0;\n let Resto = 0;\n Soma = 0;\n if (!control.value) {\n return null;\n }\n if (control.value.length !== 11 ||\n control.value === '00000000000' ||\n control.value === '11111111111' ||\n control.value === '22222222222' ||\n control.value === '33333333333' ||\n control.value === '44444444444' ||\n control.value === '55555555555' ||\n control.value === '66666666666' ||\n control.value === '77777777777' ||\n control.value === '88888888888' ||\n control.value === '99999999999') { return { cpf: true }; }\n\n for (let i = 1; i <= 9; i++) {\n Soma = Soma + parseInt(control.value.substring(i - 1, i), null) * (11 - i);\n }\n Resto = (Soma * 10) % 11;\n\n if ((Resto === 10) || (Resto === 11)) {\n Resto = 0;\n }\n if (Resto !== parseInt(control.value.substring(9, 10), null) ) {\n return { cpf: true };\n }\n\n Soma = 0;\n for (let i = 1; i <= 10; i++) {\n Soma = Soma + parseInt(control.value.substring(i - 1, i), null) * (12 - i);\n }\n Resto = (Soma * 10) % 11;\n\n if ((Resto === 10) || (Resto === 11)) {\n Resto = 0;\n }\n\n if (Resto !== parseInt(control.value.substring(10, 11), null) ) {\n return { cpf: true };\n }\n return null;\n}\n\nexport function validateDateRange(control: AbstractControl): { [key: string]: boolean } | null {\n const maxDate = new Date(new Date().setFullYear(new Date().getFullYear() - 12)); // 12 years ago\n const selectedDate = new Date(new Date(control.value).setFullYear(new Date(control.value).getFullYear()));\n\n if (selectedDate > maxDate) {\n return { birth_date: true };\n }\n\n return null;\n}\n\nexport function validateHaveCep(control: AbstractControl): { [key: string]: boolean } | null {\n if (!control.parent) {\n return null;\n }\n\n if (control.parent.value.zip_code && !control.value) {\n return { no_cep: true };\n }\n return null;\n}\n\nfunction isReturnDateEmpty(returnDate) {\n return !returnDate || !returnDate.name || !returnDate.value;\n}\n","
\n
\n
\n \"Thumbnail\n
\n

Já conferiu sua página de corretor? Ela é seu cartão de visitas digital.

\n

Já conferiu sua página de corretor?

\n

Atualize seus dados de telefone, capriche na sua descrição e compartilhe com seus clientes.

\n
\n
\n Acessar minha página\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { GoogleTagManagerService } from '../core/analytics/google-tag-manager.service';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\nimport { Navigation, NavigationService } from 'lps-navigation';\nimport { GeolocationService } from '../core/services/geolocation/geolocation.service';\nimport { take } from 'rxjs/internal/operators/take';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-cta-banner',\n templateUrl: './cta-banner.component.html',\n styleUrls: ['./cta-banner.component.scss']\n})\nexport class CtaBannerComponent implements OnInit {\n\n constructor(\n private googleTagService: GoogleTagManagerService,\n private environmentService: EnvironmentService,\n private navigationService: NavigationService,\n private geolocationService: GeolocationService\n ) { }\n\n private baseUrl = this.environmentService.getBaseCrmUrl();\n private portalUrl = this.environmentService.getEnvVar('portal_url');\n private navigation: Navigation;\n\n ngOnInit(): void { }\n\n clickRedirectAgentPage(): void {\n\n this.findNavigation();\n\n this.publishTagEvent();\n\n const userNickname = this.navigation?.userProfile?.nickname;\n\n if (!!userNickname) {\n window.location.href = `${this.portalUrl}/associado/${userNickname}`;\n } else {\n throw new Error('Não foi possível redirecionar para a página do corretor');\n }\n }\n\n private publishTagEvent(): void {\n this.googleTagService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:banner',\n eventLabel: '-',\n });\n }\n\n private findNavigation(): void {\n this.geolocationService.getLocation().subscribe((value: any) => {\n this.navigationService.getNavigation('br', value)\n .pipe(take(1))\n .subscribe((navigationResponse) => {\n this.navigation = navigationResponse;\n })\n });\n }\n\n}\n","
\n
\n

Painel de Controle de Distribuição de Leads

\n

Monitore o desempenho das filas de distribuição, gere relatórios e crie novas filas sempre que precisar.

\n
\n
\n \n \n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-dashboard-header',\n templateUrl: './dashboard-header.component.html',\n styleUrls: ['./dashboard-header.component.scss']\n})\nexport class DashboardHeaderComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-dashboard-menu',\n templateUrl: './dashboard-menu.component.html',\n styleUrls: ['./dashboard-menu.component.scss']\n})\nexport class DashboardMenuComponent implements OnInit {\n\n constructor(public router: Router) { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n \n
\n\n \n\n
\n
\n

Geral

\n
\n \n
\n
\n
\n
\n
\n
Volume de atendimento de leads
\n
Número de leads que foram distribuídos, atendidos e represados.
\n
\n \n \n
\n
\n
\n
\n
\n
Capacidade leads x corretores
\n
Capacidade de atendimento relativo ao número de corretores.
\n
\n \n \n Regra de 3 leads simultâneos, total de 50 corretores para\n 240 leads distribuídos.\n
\n
\n
\n
\n
\n
\n Gerenciar Filas ➔\n
\n
\n
Filas de Distribuição Ativas
\n
3
\n
\n
\n
Inativas
\n
0
\n
\n
\n
\n
\n Gerenciar Corretores ➔\n
\n
\n
Corretores Online
\n
34
\n
\n
\n
Offline
\n
78
\n
\n
\n
\n
\n Gerenciar Leads ➔\n
\n
\n
Leads Recebidos
\n
45
\n
\n
\n
Represados
\n
19
\n
\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FilasDistribuídosNão AtendidosRepresadosCorretores
Campanha do Facebook de Fevereiro0000
00000
\n
\n\n
\n
\n\n
\n
\n Período:\n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ChartType, ChartOptions, Chart } from 'chart.js';\nimport { Color, Label, SingleDataSet, PluginServiceGlobalRegistrationAndOptions } from 'ng2-charts';\n\n@Component({\n selector: 'app-dashboard-queue',\n templateUrl: './dashboard-queue.component.html',\n styleUrls: ['./dashboard-queue.component.scss']\n})\nexport class DashboardQueueComponent implements OnInit {\n\n //Calendário\n date: any = null;\n isVisible: boolean = false;\n periodType: string = \"personalized\";\n todayDate = new Date();\n\n //Gráfico de barras\n public barChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n legend: {\n display: true\n },\n scales: {\n xAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0)\",\n }\n }],\n yAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0)\",\n }\n }]\n }\n };\n public barChartLabels = ['Volume de atendimento de leads'];\n public barChartType = 'bar';\n public barChartLegend = true;\n public barChartDatasets = [\n {\n data: [240],\n borderWidth: 1,\n backgroundColor: '#E1D8F0',\n borderColor: '#673BB6',\n hoverBackgroundColor: '#673BB6',\n hoverBorderColor: '#673BB6',\n label: 'Distribuídos',\n labels: ['Votes']\n },\n {\n data: [227],\n borderWidth: 1,\n backgroundColor: '#F8BBD0',\n borderColor: '#E81D62',\n hoverBackgroundColor: '#E81D62',\n hoverBorderColor: '#E81D62',\n label: 'Atendidos',\n labels: ['Votes']\n },\n {\n data: [13],\n borderWidth: 1,\n backgroundColor: '#BFE1DB',\n borderColor: '#00866E',\n hoverBackgroundColor: '#00866E',\n hoverBorderColor: '#00866E',\n label: 'Represados',\n labels: ['Votes']\n }\n ]\n\n //Gráfico circular\n public doughnutChartLabels = ['Leads'];\n public doughnutChartData = [\n {\n data: [48, 100 - 48],\n indexLabel: \"#percent%\",\n borderWidth: 1,\n backgroundColor: [\n \"#B2F1F4\",\n \"#E5E5E5\"\n ],\n borderColor: [\n '#20B5BB',\n '#DFE1E5'\n ],\n hoverBackgroundColor: [\n '#20B5BB',\n '#DFE1E5'\n ],\n hoverBorderColor: [\n \"#B2F1F4\",\n \"#ffffff\"\n ]\n }\n ];\n public doughnutChartType = 'doughnut';\n public doughnutChartOptions = {\n scaleShowVerticalLines: false,\n showTooltips: false,\n responsive: true,\n hover: { mode: null },\n maintainAspectRatio: true,\n legend: { display: false },\n cutoutPercentage: 80,\n elements: {\n center: {\n text: '48%',\n color: '#36A2EB', //Default black\n fontStyle: 'Helvetica', //Default Arial\n sidePadding: 15 //Default 20 (as a percentage)\n }\n },\n tooltips: {enabled: false}\n }\n public doughnutChartPlugins: PluginServiceGlobalRegistrationAndOptions[] = [{\n beforeDraw: function (chart) {\n var width = chart.width,\n height = chart.height,\n ctx = chart.ctx;\n ctx.restore();\n var fontSize = (height / 114).toFixed(2);\n ctx.font = fontSize + \"em sans-serif\";\n ctx.textBaseline = \"middle\";\n var text = chart.config.options.elements['center'].text,\n textX = Math.round((width - ctx.measureText(text).width) / 2),\n textY = height / 2;\n ctx.fillText(text, textX, textY);\n ctx.save();\n }\n }];\n\n constructor(public titleService: Title) {\n }\n\n ngOnInit(): void {\n this.titleService.setTitle('CRM - Painel Roleta Inteligente');\n }\n\n onChange(result: Date[]): void {\n console.log('onChange: ', result);\n }\n\n getWeek(result: Date[]): void {\n // console.log('week: ', result.map(getISOWeek));\n }\n\n //Modal calendário\n showModal(): void {\n this.isVisible = true;\n }\n\n handleOk(): void {\n console.log('Button ok clicked!');\n this.isVisible = false;\n }\n\n handleCancel(): void {\n console.log('Button cancel clicked!');\n this.isVisible = false;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DashboardQueueComponent } from './dashboard-queue.component';\nimport { DashboardHeaderComponent } from './components/dashboard-header/dashboard-header.component';\nimport { DashboardMenuComponent } from './components/dashboard-menu/dashboard-menu.component';\nimport { DashboardCardsComponent } from './components/dashboard-cards/dashboard-cards.component';\nimport { NzButtonModule, NzDatePickerModule, NzModalModule, NzSelectModule } from 'ng-zorro-antd';\nimport { SharedModule } from '../shared/shared.module';\nimport { ChartsModule } from 'ng2-charts';\nimport { RouterModule } from '@angular/router';\nimport { DistributionByQueueComponent } from './pages/distribution-by-queue/distribution-by-queue.component';\nimport { CoreModule } from '../core/core.module';\n\n@NgModule({\n declarations: [\n DashboardQueueComponent,\n DashboardHeaderComponent,\n DashboardMenuComponent,\n DashboardCardsComponent,\n DistributionByQueueComponent\n ],\n imports: [\n RouterModule,\n CommonModule,\n CoreModule,\n SharedModule,\n NzDatePickerModule,\n NzModalModule,\n NzButtonModule,\n NzSelectModule,\n ChartsModule\n ],\n exports: [\n DashboardQueueComponent,\n DashboardHeaderComponent,\n DashboardMenuComponent,\n DashboardCardsComponent\n ],\n entryComponents: [\n DistributionByQueueComponent\n ]\n})\nexport class DashboardQueueModule { }\n","
\n \n
\n \n
\n
\n

Geral

\n
\n
\n
\n
\n
\n
Volume de atendimento de leads
\n
Número de leads que foram distribuídos, atendidos e represados.
\n
\n \n \n
\n
\n
\n
\n
\n
Capacidade leads x corretores
\n
Capacidade de atendimento relativo ao número de corretores.
\n
\n \n \n Regra de 3 leads simultâneos, total de 50 corretores para\n 240 leads distribuídos.\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { PluginServiceGlobalRegistrationAndOptions } from 'ng2-charts';\n\n@Component({\n selector: 'app-distribution-by-queue',\n templateUrl: './distribution-by-queue.component.html',\n styleUrls: ['./distribution-by-queue.component.scss']\n})\nexport class DistributionByQueueComponent implements OnInit {\n //Gráfico de barras\n public barChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n legend: {\n display: true\n },\n scales: {\n xAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0)\",\n }\n }],\n yAxes: [{\n gridLines: {\n color: \"rgba(0, 0, 0, 0)\",\n }\n }]\n }\n };\n public barChartLabels = ['Volume de atendimento de leads'];\n public barChartType = 'bar';\n public barChartLegend = true;\n public barChartDatasets = [\n {\n data: [240],\n borderWidth: 1,\n backgroundColor: '#E1D8F0',\n borderColor: '#673BB6',\n hoverBackgroundColor: '#673BB6',\n hoverBorderColor: '#673BB6',\n label: 'Distribuídos',\n labels: ['Votes']\n },\n {\n data: [227],\n borderWidth: 1,\n backgroundColor: '#F8BBD0',\n borderColor: '#E81D62',\n hoverBackgroundColor: '#E81D62',\n hoverBorderColor: '#E81D62',\n label: 'Atendidos',\n labels: ['Votes']\n },\n {\n data: [13],\n borderWidth: 1,\n backgroundColor: '#BFE1DB',\n borderColor: '#00866E',\n hoverBackgroundColor: '#00866E',\n hoverBorderColor: '#00866E',\n label: 'Represados',\n labels: ['Votes']\n }\n ]\n\n //Gráfico circular\n public doughnutChartLabels = ['Leads'];\n public doughnutChartData = [\n {\n data: [48, 100 - 48],\n indexLabel: \"#percent%\",\n borderWidth: 1,\n backgroundColor: [\n \"#B2F1F4\",\n \"#E5E5E5\"\n ],\n borderColor: [\n '#20B5BB',\n '#DFE1E5'\n ],\n hoverBackgroundColor: [\n '#20B5BB',\n '#DFE1E5'\n ],\n hoverBorderColor: [\n \"#B2F1F4\",\n \"#ffffff\"\n ]\n }\n ];\n public doughnutChartType = 'doughnut';\n public doughnutChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n hover: { mode: null },\n maintainAspectRatio: true,\n legend: { display: false },\n cutoutPercentage: 80,\n elements: {\n center: {\n text: '48%',\n color: '#36A2EB', //Default black\n fontStyle: 'Helvetica', //Default Arial\n sidePadding: 15 //Default 20 (as a percentage)\n }\n },\n tooltips: {\n callbacks: {\n },\n }\n }\n public doughnutChartPlugins: PluginServiceGlobalRegistrationAndOptions[] = [{\n beforeDraw: function (chart) {\n var width = chart.width,\n height = chart.height,\n ctx = chart.ctx;\n ctx.restore();\n var fontSize = (height / 114).toFixed(2);\n ctx.font = fontSize + \"em sans-serif\";\n ctx.textBaseline = \"middle\";\n var text = chart.config.options.elements['center'].text,\n textX = Math.round((width - ctx.measureText(text).width) / 2),\n textY = height / 2;\n ctx.fillText(text, textX, textY);\n ctx.save();\n }\n }];\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n
\n
\n
\n

Relatórios da Roleta Inteligente

\n

Monitore o desempenho das filas de distribuição, gere relatórios e crie novas filas sempre que precisar.

\n
\n \n
\n \n
\n\n \n \n\n keyboard_arrow_down\n \n \n {{item.company_name}}\n \n \n\n
\n
\n \n \n\n \n \n \n \n
\n \n
\n \n \n
\n
\n\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n \n \n \n \n \n \n
\n\n
\n Voltar\n Relatórios da Roleta Inteligente\n
\n\n
","import { MediaMatcher } from '@angular/cdk/layout';\nimport { Location } from '@angular/common';\nimport { ChangeDetectorRef, Component, OnInit, Output, ViewChild, EventEmitter} from '@angular/core';\nimport { MatPaginator } from '@angular/material';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { DistributionQueueHeaderComponent } from '../distribution-queue/components/distribution-queue-header/distribution-queue-header.component';\nimport { listRangeDates } from 'src/app/shared/functions/DefaultListRangeDates';\nimport { IPeriodDate } from '../action-history-queue/interfaces/date-range.interface';\nimport moment from 'moment-timezone';\nimport { FormControl } from '@angular/forms';\nimport { CompanyInterface } from '../core/models/company.model';\nimport { AuthTokenService } from '../core/services/auth-token/auth-token.service';\nimport {map, startWith} from 'rxjs/operators';\nimport { DashboardReportsService } from './dashboard-reports.service';\n@Component({\n selector: 'app-dashboard-reports',\n templateUrl: './dashboard-reports.component.html',\n styleUrls: ['./dashboard-reports.component.scss']\n})\nexport class DashboardReportsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(DistributionQueueHeaderComponent) headerComponent: DistributionQueueHeaderComponent;\n eventSubjectCompany: Subject = new BehaviorSubject([]);\n eventsSubject: Subject = new BehaviorSubject([]);\n periodDateList: IPeriodDate[] = listRangeDates();\n label = 'Hoje';\n periodDate: IPeriodDate = { range: { initialDate: moment().format('YYYY-MM-DD'), endDate: moment().format('YYYY-MM-DD') }, label: this.label };\n date;\n isCustom = false;\n companyList: CompanyInterface[];\n companyListFiltered: Observable;\n action = new FormControl([]);\n companyId = \"\";\n\n constructor(\n public media: MediaMatcher,\n public changeDetectorRef: ChangeDetectorRef,\n private location: Location,\n private dashboardService: DashboardReportsService,\n private authTokenService : AuthTokenService\n ) { }\n\n ngOnInit(): void {\n this.emitEventToChild();\n this.getCompanyList();\n \n }\n\n private _filter(value: string): CompanyInterface[] {\n\n try {\n const filterValue = value.toLowerCase() || \"\";\n return this.companyList.filter(option => option.company_name.toLowerCase().includes(filterValue));\n } catch (error) {\n console.log(error);\n }\n return this.companyList;\n }\n\n selectChange(periodDate: IPeriodDate) {\n this.periodDate = periodDate;\n this.label = periodDate.label;\n this.isCustom = periodDate.label == 'Personalizado';\n\n if (periodDate.label != 'Personalizado') {\n this.emitEventToChild();\n }\n }\n\n getCompanyList() {\n this.dashboardService.getCompaniesList().subscribe(resp => {\n this.companyList = [];\n resp.forEach(item => {\n this.companyList.push({\n company_id: item.company_id,\n company_name: item.affiliate_abbreviation,\n legacy_id : item.legacy_id \n });\n\n this.configureFilterList();\n });\n });\n }\n\n configureFilterList() {\n this.companyListFiltered = this.action.valueChanges\n .pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n\n selectAction() { \n this.actionEmit();\n }\n\n actionEmit() {\n this.eventSubjectCompany.next(this.action.value.legacy_id);\n this.action.setValue(this.action.value.company_name);\n }\n\n dateChange(date: string[]): void {\n let range = {\n initialDate: '',\n endDate: ''\n };\n \n if (date.length) {\n range = {\n initialDate: moment(date.shift()).format('YYYY-MM-DD'),\n endDate: moment(date.shift()).format('YYYY-MM-DD')\n };\n }\n\n this.label = 'Personalizado';\n this.periodDate = { label: this.label, range };\n this.emitEventToChild();\n }\n\n emitEventToChild() {\n this.eventsSubject.next(this.periodDate);\n }\n\n back() {\n this.location.back();\n }\n\n isUserAdministrator(): boolean {\n return this.authTokenService.isAdministrator();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzButtonModule, NzDatePickerModule, NzModalModule, NzSelectModule } from 'ng-zorro-antd';\nimport { SharedModule } from '../shared/shared.module';\nimport { ChartsModule } from 'ng2-charts';\nimport { RouterModule } from '@angular/router';\nimport { CoreModule } from '../core/core.module';\nimport { DashboardReportsComponent } from './dashboard-reports.component';\nimport { MatAutocomplete, MatAutocompleteModule, MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatSortModule, MatTableModule } from '@angular/material';\nimport { OverviewComponent } from './tables/overview/overview.component';\nimport { LeadsByProductComponent } from './tables/leads-by-product/leads-by-product.component';\nimport { ReceivedLeadByAgentsComponent } from './tables/received-lead-by-agents/received-lead-by-agents.component';\nimport { DistributionQueueModule } from '../distribution-queue/distribution-queue.module';\n@NgModule({\n declarations: [\n DashboardReportsComponent,\n OverviewComponent,\n LeadsByProductComponent,\n ReceivedLeadByAgentsComponent\n ],\n imports: [\n RouterModule,\n CommonModule,\n CoreModule,\n SharedModule,\n NzDatePickerModule,\n NzModalModule,\n NzButtonModule,\n NzSelectModule,\n ChartsModule,\n MatTableModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatSortModule,\n MatProgressSpinnerModule,\n DistributionQueueModule,\n MatAutocompleteModule\n ],\n exports: [\n DashboardReportsComponent\n ],\n entryComponents: [\n \n ]\n})\nexport class DashboardReportsModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoginService } from 'lps-navigation';\nimport { IDateRange } from '../action-history-queue/interfaces/date-range.interface';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardReportsService {\n public api_uri = this.environmentService.getEnvVar('base_url_roulette');\n public BASE_URL = '/dashboard';\n\n constructor(private http: HttpClient, private loginService: LoginService, private environmentService: EnvironmentService) { }\n\n getReceivedLeadAgents(page: number, maxResults: number, order: string, dateRange: IDateRange, company_id: string) {\n const { initialDate, endDate } = dateRange;\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(\n `${this.api_uri}${this.BASE_URL}/lead/distribution/agent?max_results=${maxResults}&page=${page}&order=${order}&dtIni=${initialDate}&dtEnd=${endDate}&company_id=${company_id}`,\n {headers}\n );\n }\n\n public getCompaniesList() {\n return this.http.get(`${this.api_uri}/companies`);\n }\n}\n","\n

Distribuição de leads por produto

\n
\n
\n \n
\n \n\n \n Produto\n \n \n {{element.product_name}}\n \n \n \n\n \n Leads recebidos \n \n \n {{element.received_lead_amount}}\n \n \n \n\n \n Fila \n \n \n {{element.queue_name}}\n \n \n \n\n \n \n \n \n \n \n
\n
","import { MediaMatcher } from '@angular/cdk/layout';\nimport { ChangeDetectorRef, Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator, MatSort, MatTableDataSource, PageEvent } from '@angular/material';\nimport { Observable, Subscription } from 'rxjs';\nimport { IDateRange, IPeriodDate } from 'src/app/action-history-queue/interfaces/date-range.interface';\nimport { DistributionService } from 'src/app/distribution-queue/leads-management/services/distribution-service/distribution.service';\n\n@Component({\n selector: 'app-leads-by-product',\n templateUrl: './leads-by-product.component.html',\n styleUrls: ['./leads-by-product.component.scss']\n})\nexport class LeadsByProductComponent implements OnInit {\n eventsSubscription: Subscription\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n @Input() events: Observable;\n @Input() companyEvents: Observable;\n startDate: string;\n endDate: string;\n displayedColumns: string[] = ['produto', 'leads', 'fila'];\n dataSource = new MatTableDataSource([]);\n order = 'DESC';\n loading: boolean = true;\n maxResults = 5;\n page = 1;\n total = 0;\n companyId: string = \"\";\n \n constructor(\n private distributionService: DistributionService,\n public media: MediaMatcher,\n public changeDetectorRef: ChangeDetectorRef\n ) { }\n\n ngOnInit(): void {\n this.companyEvents.subscribe(res => {\n this.companyId = res;\n this.getData();\n });\n\n this.eventsSubscription = this.events.subscribe(\n (res: IPeriodDate) => {\n this.startDate = res.range.initialDate;\n this.endDate = res.range.endDate;\n this.getData();\n }\n );\n }\n\n getData() {\n this.loading = true;\n this.companyId = this.companyId || \"\";\n this.distributionService.getReportsByProduct(this.startDate, this.endDate, this.maxResults, this.page, this.order, this.companyId).subscribe(\n (res: any) => {\n this.total = res.totalElements;\n this.dataSource = new MatTableDataSource(res.content);\n this.loading = false;\n }, () => {\n this.loading = false;\n }\n );\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n\n pageChange(event: PageEvent) {\n this.page = event.pageIndex + 1;\n this.maxResults = event.pageSize;\n\n this.getData();\n }\n\n sortTable(event: MatSort): void {\n if (!event.direction) {\n return;\n }\n\n this.order = event.direction.toUpperCase();\n this.getData();\n }\n}","\n

Overview das filas de atendimento

\n
\n\n
\n \n
\n\n \n\n \n \n \n \n \n \n \n \n \n\n \n \n
{{col.header}}{{col.header}}\n \n {{element[col.label]}}\n \n
\n\n \n \n\n
\n
","import { MediaMatcher } from '@angular/cdk/layout';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator, MatSort, MatTableDataSource, PageEvent } from '@angular/material';\nimport { Observable, Subscription } from 'rxjs';\nimport { IPeriodDate } from 'src/app/action-history-queue/interfaces/date-range.interface';\nimport { DistributionService } from 'src/app/distribution-queue/leads-management/services/distribution-service/distribution.service';\n\n@Component({\n selector: 'app-overview',\n templateUrl: './overview.component.html',\n styleUrls: ['./overview.component.scss']\n})\nexport class OverviewComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n @Input() events: Observable;\n @Input() companyEvents: Observable;\n isToday: boolean;\n startDate: string;\n endDate: string;\n eventsSubscription: Subscription\n displayedColumns = [];\n displayedColumnsWithoutOnline = ['filas', 'leads', 'corretores_total'];\n dataSource = new MatTableDataSource([]);\n order = 'DESC';\n loading: boolean = true;\n maxResults: number = 5;\n page = 1;\n total: number = 0;\n columns = [];\n companyId: string = \"\";\n\n constructor(private distributionService: DistributionService, public media: MediaMatcher) { }\n\n ngOnInit(): void {\n this.initColumn();\n\n this.companyEvents.subscribe(res => {\n this.companyId = res;\n this.getData();\n });\n\n this.eventsSubscription = this.events.subscribe(\n (res: IPeriodDate) => {\n this.isToday = res.label == 'Hoje';\n \n if (!this.isToday) {\n this.displayedColumns = ['filas', 'leads', 'corretores_total'];\n this.columns = [\n { columnDef: 'filas', header: 'Filas', label: 'name' },\n { columnDef: 'leads', header: 'Leads recebidos', label: 'received_lead_amount', sort: true },\n { columnDef: 'corretores_total', header: 'Total de Corretores', label: 'agents_amount' }\n ];\n } else {\n this.initColumn();\n }\n\n this.startDate = res.range.initialDate;\n this.endDate = res.range.endDate;\n this.getData();\n }\n );\n }\n\n initColumn() {\n this.displayedColumns = ['filas', 'leads', 'corretores_total', 'corretores_online', 'corretores_offline'];\n this.columns = [\n { columnDef: 'filas', header: 'Filas', label: 'name' },\n { columnDef: 'leads', header: 'Leads recebidos', label: 'received_lead_amount', sort: true },\n { columnDef: 'corretores_total', header: 'Total de Corretores', label: 'agents_amount' },\n { columnDef: 'corretores_online', header: 'Corretores online', label: 'agents_online_amount' },\n { columnDef: 'corretores_offline', header: 'Corretores offline', label: 'agents_offline_amount' }\n ];\n }\n\n getData() {\n this.loading = true;\n this.companyId = this.companyId || \"\";\n this.distributionService.getReportsOverview(this.startDate, this.endDate, this.maxResults, this.page, this.order, this.companyId).subscribe(\n (res: any) => {\n this.total = res.totalElements;\n this.dataSource = new MatTableDataSource(res.content);\n this.loading = false;\n }, () => {\n this.loading = false;\n }\n );\n }\n\n pageChange(event: PageEvent) {\n this.page = event.pageIndex + 1;\n this.maxResults = event.pageSize;\n\n this.getData();\n }\n\n sortTable(event: MatSort): void {\n if (!event.direction) {\n return;\n }\n\n this.order = event.direction.toUpperCase();\n this.getData();\n }\n\n ngOnDestroy() {\n this.eventsSubscription.unsubscribe();\n }\n}","\n \n

Gerenciamento de corretores

\n\n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n
Corretor \n {{element.agent_name}}\n Status \n {{element.status}}\n Leads recebidos \n {{element.received_lead_amount}}\n Fila \n {{element.queue_name}}\n Último Login \n {{element.last_login | date:'dd/MM/yy HH:mm': 'UTC +0'}}\n
\n \n \n \n
\n\n
","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator, MatSort, MatTableDataSource, PageEvent } from '@angular/material';\nimport { IDateRange, IPeriodDate } from 'src/app/action-history-queue/interfaces/date-range.interface';\nimport { DashboardReportsService } from '../../dashboard-reports.service';\nimport { IReceveidLeadAgentsPaginate } from '../../interfaces/received-lead-agents.interface';\nimport moment from 'moment';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-received-lead-by-agents',\n templateUrl: './received-lead-by-agents.component.html',\n styleUrls: ['./received-lead-by-agents.component.scss']\n})\nexport class ReceivedLeadByAgentsComponent implements OnInit { \n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort, {static: true}) sort: MatSort;\n @Input() startDate = moment().format('YYYY-MM-DD');\n @Input() endDate = moment().format('YYYY-MM-DD');\n @Input() events: Observable;\n @Input() companyEvents: Observable;\n dateRange: IDateRange;\n eventsSubscription: Subscription;\n displayedColumns: string[] = ['agentName', 'status', 'receivedLead', 'queueName', 'lastLogin'];\n dataSource = new MatTableDataSource([]);\n page = 1;\n maxResults = 5;\n order = 'DESC';\n total: number;\n loading: boolean;\n companyId: string = \"\";\n\n constructor(private service: DashboardReportsService) { }\n\n ngOnInit(): void {\n this.companyEvents.subscribe(res => {\n this.companyId = res;\n this.getData();\n });\n\n this.eventsSubscription = this.events.subscribe(\n (res: IPeriodDate) => {\n this.startDate = res.range.initialDate;\n this.endDate = res.range.endDate;\n this.getData();\n }\n );\n\n \n }\n\n getData(): void {\n this.loading = true;\n this.dateRange = { initialDate: this.startDate, endDate: this.endDate };\n this.companyId = this.companyId || \"\";\n this.service.getReceivedLeadAgents(this.page, this.maxResults, this.order, this.dateRange, this.companyId).subscribe(\n (res: IReceveidLeadAgentsPaginate) => {\n const {content, totalElements} = res;\n this.total = totalElements;\n this.dataSource = new MatTableDataSource(content);\n this.dataSource.sort = this.sort;\n this.loading = false;\n }, \n err => {\n this.loading = false;\n console.log(\"Error at get received leads by agents: \", err);\n }\n );\n }\n\n pageChange(event: PageEvent): void {\n this.page = event.pageIndex + 1;\n this.maxResults = event.pageSize;\n this.getData();\n }\n\n sortTable(event: MatSort): void {\n if (!event.direction) {\n return;\n }\n\n this.order = event.direction.toUpperCase();\n this.getData();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { DistributionQueueComponent } from './distribution-queue.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { CoreModule } from '../core/core.module';\nimport { QueueConfigurationComponent } from './queue-configuration/queue-configuration.component';\nimport { SegmentationComponent } from './queue-configuration/segmentation/segmentation.component';\nimport { RouterModule } from '@angular/router';\nimport { AddQueueComponent } from './queue-configuration/add-queue/add-queue.component';\nimport { CriteriaModalComponent } from './components/criteria-modal/criteria-modal.component';\nimport { SegmentationModalComponent } from './components/segmentation-modal/segmentation-modal.component';\nimport { StringListPipe } from './pipes/string-list.pipe';\nimport { DestinationComponent } from './queue-configuration/destination/destination.component';\nimport { AddFilterModalComponent } from './queue-configuration/add-filter-modal/add-filter-modal.component';\nimport { AddRuleDestinationComponent } from './queue-configuration/destination/add-rule-destination/add-rule-destination.component';\nimport { MatAutocompleteModule, MatIconModule, MatPaginatorModule, MatProgressBarModule, MatProgressSpinnerModule, MatRadioModule, MatSnackBarModule } from '@angular/material';\nimport { PermissionComponent } from './queue-configuration/permission/permission.component';\nimport { QueueParticipantsComponent } from './queue-participants/queue-participants.component';\nimport { FilterRowComponent } from './queue-configuration/destination/filter-row/filter-row.component';\nimport { DuplicateModalComponent } from './components/duplicate-modal/duplicate-modal.component';\nimport { NgZorroAntdModule, NzButtonModule, NzDatePickerModule, NzModalModule, NzPaginationModule, NzSelectModule } from 'ng-zorro-antd';\nimport { ParticipantsComponent } from './queue-configuration/participants/participants.component';\nimport { LeadsManagementComponent } from './leads-management/leads-management.component';\nimport { BreadcrumbsDistributionComponent } from './components/breadcrumbs-distribution/breadcrumbs-distribution.component';\nimport { LeadsUnansweredComponent } from './leads-management/leads-unanswered/leads-unanswered.component';\nimport { ReconfigurationComponent } from './queue-configuration/reconfiguration/reconfiguration.component';\nimport { ListParticipantsMobileComponent } from './queue-participants/components/list-participants-mobile/list-participants-mobile.component';\nimport { SearchParticipantsComponent } from './queue-participants/components/search-participants/search-participants.component';\nimport { ListParticipantsComponent } from './queue-participants/components/list-participants/list-participants.component';\nimport { DistributionQueueHeaderComponent } from './components/distribution-queue-header/distribution-queue-header.component';\n\n@NgModule({\n declarations: [\n DistributionQueueComponent,\n QueueConfigurationComponent,\n SegmentationComponent,\n AddQueueComponent,\n CriteriaModalComponent,\n DuplicateModalComponent,\n SegmentationModalComponent,\n StringListPipe,\n DestinationComponent,\n AddFilterModalComponent,\n AddRuleDestinationComponent,\n PermissionComponent,\n QueueParticipantsComponent,\n FilterRowComponent,\n ParticipantsComponent,\n LeadsManagementComponent,\n BreadcrumbsDistributionComponent,\n LeadsUnansweredComponent,\n ReconfigurationComponent,\n ListParticipantsComponent,\n ListParticipantsMobileComponent,\n SearchParticipantsComponent,\n DistributionQueueHeaderComponent\n ],\n imports: [\n CommonModule,\n CoreModule,\n SharedModule,\n RouterModule,\n MatRadioModule,\n NgZorroAntdModule,\n NzModalModule,\n NzPaginationModule,\n NzDatePickerModule,\n NzSelectModule,\n NzButtonModule,\n MatSnackBarModule,\n MatPaginatorModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatIconModule, \n MatAutocompleteModule\n ],\n exports: [\n DistributionQueueComponent,\n QueueConfigurationComponent,\n AddQueueComponent,\n SegmentationComponent,\n CriteriaModalComponent,\n DuplicateModalComponent,\n SegmentationModalComponent,\n StringListPipe,\n AddFilterModalComponent,\n PermissionComponent,\n QueueParticipantsComponent,\n LeadsManagementComponent,\n BreadcrumbsDistributionComponent\n ],\n entryComponents: [\n AddFilterModalComponent,\n AddRuleDestinationComponent\n ],\n providers: [\n DatePipe\n ]\n})\nexport class DistributionQueueModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoginService } from 'lps-navigation';\nimport { IDateRange } from 'src/app/action-history-queue/interfaces/date-range.interface';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DistributionService {\n\n public api_uri = this.environmentService.getEnvVar('base_url_roulette');\n\n constructor(private http: HttpClient, private loginService: LoginService, private environmentService: EnvironmentService) { }\n\n distributionByQueueId(queueId: number, dateRange: IDateRange, maxResults: number, page: number) {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/queue/${queueId}/distributions?dtIni=${dateRange.initialDate}&dtEnd=${dateRange.endDate}&max_results=${maxResults}&page=${page}`, {headers});\n }\n\n distributionByQueueIdPaginate(queueId, pageNumber) {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/queue/${queueId}/distributions?max_results=10&page=${pageNumber}`, {headers});\n }\n\n getWithheldLeads(queueId: number, dateRange: IDateRange, maxResults: number, page: number) {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/lead/withheld?state=true&queueID=${queueId}&dtIni=${dateRange.initialDate}&dtEnd=${dateRange.endDate}&max_results=${maxResults}&page=${page}`, {headers});\n }\n\n generateReport(queueId,dtIni=\"\",dtEnd=\"\") {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(`${this.api_uri}/lead/withheld/report?state=true&queueID=${queueId}&dtIni=${dtIni}&dtEnd=${dtEnd}`, {headers});\n }\n\n \n getReportsByProduct(dtIni, dtEnd, max_results, page, order, companyId = \"\") {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(\n `${this.api_uri}/dashboard/lead/distribution/product?dtIni=${dtIni}&dtEnd=${dtEnd}&max_results=${max_results}&order=${order}&page=${page}&company_id=${companyId}`,\n {headers}\n );\n }\n\n getReportsOverview(dtIni, dtEnd, max_results, page, order, companyId = \"\") {\n let headers = new HttpHeaders();\n headers = headers.append('Authorization', 'Bearer ' + this.loginService.getAuthInformation().token);\n return this.http.get(\n `${this.api_uri}/dashboard/queue/overview?dtIni=${dtIni}&dtEnd=${dtEnd}&max_results=${max_results}&order=${order}&page=${page}&company_id=${companyId}`, \n {headers}\n );\n }\n}\n","
\n
\n Selecione o filtro\n
\n
    \n
  • {{filter.tableName}}
  • \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\n\n@Component({\n selector: 'app-add-filter-modal',\n templateUrl: './add-filter-modal.component.html',\n styleUrls: ['./add-filter-modal.component.scss']\n})\nexport class AddFilterModalComponent implements OnInit {\n filterOptions = [];\n filters = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data) {}\n\n ngOnInit(): void {\n this.filterOptions = this.data.filterOptions;\n this.filters = this.data.filters;\n }\n\n checkFilter(filter) {\n const exists = this.filters.find(f => f.tableName === filter.tableName);\n if (exists) {\n return true;\n }\n return false;\n }\n\n addFilter(filter) {\n if (this.checkFilter(filter)) {\n return false;\n }\n this.dialogRef.close(filter);\n }\n\n}\n","\n
\n
\n {{data.filter.tableName}}\n \"close\"\n
\n
\n
\n Regra\n \n
    \n
    \n
  • \n
    \n {{item.value}} \n
  • \n
    \n
\n
\n
\n
\n {{data.filter.header}}\n \n
\n
\n % de participação\n \n
\n
\n Permitir offline\n \n Não \n Sim \n \n
\n\n
\n Quem atende\n \n \n
\n\n
\n Canal\n \n \n
\n
\n
\n \n Cancelar\n \n \n Adicionar\n \n
\n
","import { Component, OnInit, Inject, ChangeDetectorRef } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\n\n@Component({\n selector: 'app-add-rule-destination',\n templateUrl: './add-rule-destination.component.html',\n styleUrls: ['./add-rule-destination.component.scss']\n})\nexport class AddRuleDestinationComponent implements OnInit {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n private cdr: ChangeDetectorRef\n ) { }\n\n\n comboAtendentes = [{value: 'Diretores'}, {value: 'Superintendentes'}, {value: 'Corretores', selected: true}];\n combosList = [\n {\n status: 1,\n value: 'Deve conter',\n type: true,\n color: 'green'\n },\n {\n status: 2,\n value: 'Não deve conter',\n type: false,\n color: 'red'\n }\n ];\n allowOfflineCombo = [{id: 1, value: 'Sim'}, {id: 2, value: 'Não'}];\n\n form = {\n company: '',\n rule: {...this.combosList[0], ...{isOpen: false}},\n offline: this.allowOfflineCombo[1],\n percentage: '',\n answer: [],\n channel: []\n };\n autocomplete = [];\n ngOnInit(): void {\n this.cdr.detectChanges();\n }\n\n closeAddNewLine() {\n this.dialogRef.close();\n }\n\n setRuleCombo(item) {\n this.form.rule = item;\n }\n\n setAtendentes(event) {\n this.form.answer = event;\n }\n\n setChannel(event) {\n this.form.channel = event;\n }\n\n addNewLine() {\n this.dialogRef.close(this.form);\n }\n searchElement(event) {\n this.autocomplete = [{description: 'aaaaa', type: 'bbbb'}, {description: 'ccccccccccc', type: 'ssssss'}];\n }\n\n setElement(event) {\n this.form.company = event;\n }\n\n}\n","
\n \n
\n

Prezado usuário

\n
\n No momento, alguns serviços estão temporariamente indisponíveis. Para fazer login, \n tente novamente em alguns minutos. Voltar à página inicial.\n \n Voltar à página inicial\n \n
\n
\n
\n","import { Component } from '@angular/core';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-error-service',\n templateUrl: './error-service.component.html',\n styleUrls: ['../errors-pages.component.scss']\n})\nexport class ErrorServiceComponent {\n\n constructor(private envService: EnvironmentService) { }\n\n get portalUrl(): string {\n return this.envService.getEnvVar('base_url_portal');\n }\n\n}\n","
\n \n
\n

Sessão expirada

\n
\n A sua sessão foi encerrada automaticamente pela aplicação \n para garantir sua segurança e para aumentar a disponibilidade do serviço.\n \n Fazer login novamente\n \n
\n
\n
\n","import { Component } from '@angular/core';\nimport { EnvironmentService } from '../../core/enviroment/environment.service';\n\n@Component({\n selector: 'app-error-token',\n templateUrl: './error-token.component.html',\n styleUrls: ['../errors-pages.component.scss']\n})\nexport class ErrorTokenComponent {\n\n constructor(private envService: EnvironmentService) { }\n\n get portalUrl(): string {\n return this.envService.getEnvVar('base_url_portal');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ErrorTokenComponent } from './error-token/error-token.component';\nimport { ErrorServiceComponent } from './error-service/error-service.component';\n\n@NgModule({\n declarations: [\n ErrorTokenComponent,\n ErrorServiceComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ErrorTokenComponent,\n ErrorServiceComponent\n ]\n})\n\nexport class ErrorsPagesModule { }\n","
\n
\n
\n
\n

{{ errorMessage }}

\n \n \n \n
\n
\n
\n Copiar tudo\n
\n
\n \n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n
\n Nome\n
\n
\n \n {{ item }}\n \n
\n
\n
\n
\n
\n","import { Component, EventEmitter, OnInit, Input, Output } from '@angular/core';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { CustomClipboard } from 'src/app/core/services/clipboard/clipboard.service';\n\n@Component({\n selector: 'app-bulk-error-modal',\n templateUrl: './bulk-error-modal.component.html',\n styleUrls: ['./bulk-error-modal.component.scss']\n})\nexport class BulkErrorModalComponent implements OnInit {\n\n @Input() bulkErrorItems: string[];\n @Input() errorMessage: string;\n\n @Output() closeModal = new EventEmitter();\n\n constructor(\n private scroll: WindowScrollService,\n private snackbarService: SnackbarService,\n private clipboard: CustomClipboard) { }\n\n ngOnInit(): void {\n this.scroll.disable();\n }\n\n clickClose(): void {\n this.scroll.enable();\n this.closeModal.emit(false);\n }\n\n copyTranferFacs() {\n return this.clipboard.writeText(this.bulkErrorItems.join(', ').replace(/,/g,'\\r\\n')).then( () => {\n this.snackbarService.show('Cópia realizada', 'success');\n });\n }\n\n customSort(event: number): void {\n if (event === 0) {\n return\n }\n if (event === 1) {\n this.bulkErrorItems.sort();\n }\n if (event === 2) {\n this.bulkErrorItems.sort(this.compareFunc);\n }\n }\n\n compareFunc(a: string, b: string) {\n if (a > b) { return -1; }\n if (a < b) { return 1; }\n }\n \n}\n","
\n
\n
\n
\n

Filtros

\n \n \n \n
\n\n \n
\n

Data e hora da criação

\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n\n \n
\n

Data e hora da atualização

\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n \n \n
\n

Data e hora da distribuição

\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n\n
\n
\n
\n \n \n \n \n
\n
\n \n
\n \n \n \n \n
\n
\n
\n\n
\n
\n Limpar tudo\n Aplicar\n
\n
\n
\n
","import moment from 'moment';\nimport { Component, OnInit, EventEmitter, Output, OnDestroy } from '@angular/core';\nimport { FacsTemp, FacsChanger } from '../../core/constants/facs-const';\nimport { WindowScrollService } from '../../core/services/window-scroll.service';\nimport { FormGroup, ControlContainer } from '@angular/forms';\n\ninterface RangeModel {\n field: string;\n from?: string;\n to?: string;\n}\n\n@Component({\n selector: 'app-facs-filters',\n templateUrl: './facs-filters.component.html',\n styleUrls: ['./facs-filters.component.scss']\n})\n\nexport class FacsFiltersComponent implements OnInit, OnDestroy {\n public filterForm: FormGroup;\n public listChanger = FacsChanger;\n public listTemperature = FacsTemp;\n public createTime = {\n field: 'creation_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n public updateTime = {\n field: 'last_update_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n public distributionTime = {\n field: 'distribution_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n @Output() emitFilter: EventEmitter = new EventEmitter();\n @Output() resetClick: EventEmitter = new EventEmitter();\n\n disabledUpdateStartDate = (startValue: Date): boolean => {\n if (!startValue || !this.updateTime.date.to) {\n return false;\n }\n return (startValue.getTime()) > this.updateTime.date.to.getTime();\n }\n\n disabledUpdateFinalDate = (endValue: Date): boolean => {\n if (!endValue || !this.updateTime.date.from) {\n return false;\n }\n return (endValue.getTime() + 86400000) <= this.updateTime.date.from.getTime();\n }\n\n disabledCreateStartDate = (startValue: Date): boolean => {\n if (!startValue || !this.createTime.date.to) {\n return false;\n }\n return (startValue.getTime()) > this.createTime.date.to.getTime();\n }\n\n disabledCreateEndDate = (endValue: Date): boolean => {\n if (!endValue || !this.createTime.date.from) {\n return false;\n }\n return (endValue.getTime() + 86400000) <= this.createTime.date.from.getTime();\n }\n\n disabledDistributionStartDate = (startValue: Date): boolean => {\n if (!startValue || !this.distributionTime.date.to) {\n return false;\n }\n return (startValue.getTime()) > this.distributionTime.date.to.getTime();\n }\n\n disabledDistributionEndDate = (endValue: Date): boolean => {\n if (!endValue || !this.distributionTime.date.from) {\n return false;\n }\n return (endValue.getTime() + 86400000) <= this.distributionTime.date.from.getTime();\n }\n\n constructor(\n private windowService: WindowScrollService,\n private controlContainer: ControlContainer\n ) { }\n\n ngOnInit() {\n this.filterForm = this.controlContainer.control as FormGroup;\n this.populateDate();\n this.windowService.disable();\n }\n\n ngOnDestroy() {\n this.windowService.enable();\n }\n\n populateDate() {\n const index = 10; // Zulu time T index Ex: '2020-07-23T23:59:59.999Z'\n\n if (this.filterForm.get('createTime').value) {\n if (this.filterForm.get('createTime').value.from) {\n this.createTime.date.from = moment(this.filterForm.get('createTime').value.from.substr(0, index)).utc().toDate();\n this.createTime.hour.from = this.filterForm.get('createTime').value.from.substr(index + 1, 5);\n }\n\n if (this.filterForm.get('createTime').value.to) {\n this.createTime.date.to = moment(this.filterForm.get('createTime').value.to.substr(0, index)).utc().toDate();\n this.createTime.hour.to = this.filterForm.get('createTime').value.to.substr(index + 1, 5);\n }\n }\n\n if (this.filterForm.get('updateTime').value) {\n if (this.filterForm.get('updateTime').value.from) {\n this.updateTime.date.from = moment(this.filterForm.get('updateTime').value.from.substr(0, index)).utc().toDate();\n this.updateTime.hour.from = this.filterForm.get('updateTime').value.from.substr(index + 1, 5);\n }\n\n if (this.filterForm.get('updateTime').value.to) {\n this.updateTime.date.to = moment(this.filterForm.get('updateTime').value.to.substr(0, index)).utc().toDate();\n this.updateTime.hour.to = this.filterForm.get('updateTime').value.to.substr(index + 1, 5);\n }\n }\n\n if (this.filterForm.get('distributionTime').value) {\n if (this.filterForm.get('distributionTime').value.from) {\n this.distributionTime.date.from = moment(this.filterForm.get('distributionTime').value.from.substr(0, index)).utc().toDate();\n this.distributionTime.hour.from = this.filterForm.get('distributionTime').value.from.substr(index + 1, 5);\n }\n\n if (this.filterForm.get('distributionTime').value.to) {\n this.distributionTime.date.to = moment(this.filterForm.get('distributionTime').value.to.substr(0, index)).utc().toDate();\n this.distributionTime.hour.to = this.filterForm.get('distributionTime').value.to.substr(index + 1, 5);\n }\n }\n }\n\n clickClose() {\n this.closeModal.emit(false);\n }\n\n selectIncorporator() {\n if (this.filterForm.get('notCorporator').value === true) {\n this.filterForm.get('corporator').patchValue(true);\n this.filterForm.get('notCorporator').patchValue(false);\n }\n }\n\n selectNotIncorporator() {\n if (this.filterForm.get('corporator').value === true) {\n this.filterForm.get('notCorporator').patchValue(true);\n this.filterForm.get('corporator').patchValue(false);\n }\n }\n\n resetForm() {\n this.createTime = {\n field: 'creation_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '',\n to: '',\n }\n };\n this.updateTime = {\n field: 'last_update_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '',\n to: '',\n }\n };\n this.distributionTime = {\n field: 'distribution_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n this.filterForm.reset();\n this.resetClick.emit();\n }\n\n sendFilter() {\n this.formatDate();\n this.emitFilter.emit();\n }\n\n formatDate() {\n const formatString = (date, hour, from = true): string => {\n if (!date || !hour) {\n return null;\n }\n return moment(new Date(date).setHours(0, 0, 0, 0)).format(`YYYY-MM-DD[T]${hour}${from ? ':00.000[Z]' : ':59.999[Z]'}`);\n };\n\n const formatObject = (fieldName, fromDate, fromHour, toDate, toHour): RangeModel => {\n const resp: RangeModel = {\n field: fieldName,\n from: formatString(fromDate, fromHour, true),\n to: formatString(toDate, toHour, false)\n };\n\n if (!fromDate || !fromHour) {\n delete resp.from;\n }\n if (!toDate || !toHour) {\n delete resp.to;\n }\n if (!resp.from && !resp.to) {\n return null;\n }\n\n return resp;\n };\n\n this.filterForm.get('createTime').patchValue(\n formatObject(this.createTime.field, this.createTime.date.from,\n this.createTime.hour.from, this.createTime.date.to, this.createTime.hour.to)\n );\n\n this.filterForm.get('updateTime').patchValue(\n formatObject(this.updateTime.field, this.updateTime.date.from,\n this.updateTime.hour.from, this.updateTime.date.to, this.updateTime.hour.to)\n );\n\n this.filterForm.get('distributionTime').patchValue(\n formatObject(this.distributionTime.field, this.distributionTime.date.from,\n this.distributionTime.hour.from, this.distributionTime.date.to, this.distributionTime.hour.to)\n );\n }\n}\n","
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n \n Cadastrar fac\n Cadastrar fac\n
\n
\n\n \n\n
\n
\n
\n
\n

{{ list.title }} ({{ list.facs.length }})

\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \"lamp\"\n
\n
\n Parabéns\n Agora você poderá aproveitar ao máximo a busca de facs\n Concluir\n
\n
\n
\n\n
\n
\n
\n \"lamp\"\n
\n
\n Busca de facs\n Faça um tour guiado e veja como utilizar a poderosa ferramenta de busca para que você possa gerenciar suas facs com mais eficiência\n Iniciar demonstração\n Pular\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-facs-tour',\n templateUrl: './facs-tour.component.html',\n styleUrls: ['./facs-tour.component.scss']\n})\nexport class FacsTourComponent implements OnInit {\n\n public paramsRouter = null;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n ) { }\n\n firstText = `A busca ajudará você a encontrar clientes com facilidade. Você poderá usar os seguintes critérios:\n nome do cliente, produto, e-mail ou telefone.`;\n secondText = `Ao digitar um termo na busca, uma lista de sugestões aparecerá.\n

Clique em Novo Estilo para buscar esse termo.`;\n thirdText = 'Ao selecionar itens de busca uma tag será adicionada e trará todos os resultados contendo aquele termo.';\n fourthText = 'Você poderá combinar várias tags ao mesmo tempo.';\n fifthText = `Você também poderá apenas digitar um termo e apertar Enter,\n dessa forma traremos para você resultados gerais contendo aquele termo.`;\n step = window.localStorage.getItem('facs-tour-step') ? parseInt(window.localStorage.getItem('facs-tour-step'), 10) : 0;\n autocompleteOptions = [];\n auto: FormControl;\n tags = [];\n totalSteps = 5;\n form = FormGroup;\n facsList = [\n {\n title: 'Sem Atendimento', facs: [\n { badges: [],\n color: 1,\n email: 'joao@bol.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'João Carlos Ribeiro da Silva',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'One Park Perdizes',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'João Carlos Ribeiro da Silva',\n user_nickname: 'CAMPERS'\n }\n ]\n },\n {title: 'Sem Contato', facs: [\n { badges: [],\n color: 1,\n email: 'fsilva@gmail.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2018-08-12T19:52:24.347Z',\n name: 'Fabrício da Silva',\n is_favorite: true,\n phone: {ddi: '+55', phone: '11 91426 7653'},\n product: 'Central Park Pinheiros',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Fabrício da Silva',\n user_nickname: 'FSILVA'\n },\n { badges: [],\n color: 2,\n email: 'marcia@hotmail.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2019-12-22T19:52:24.347Z',\n name: 'Márcia Ferreira Pedrosa',\n phone: {ddi: '+55', phone: '11 94409 3141'},\n product: 'Golden Gates Morumbi',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Márcia Ferreira Pedrosa',\n user_nickname: 'MARCINHA'\n }\n ]},\n {title: 'Em Atendimento', facs: [\n { badges: [],\n color: 1,\n email: 'cabral@outlook.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Bruce Cabral',\n phone: {ddi: '+55', phone: '11 93239 5541'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Bruce Cabral',\n user_nickname: 'HULK'\n },\n { badges: [],\n color: 3,\n email: 'terezasilva@gmail.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Tereza Carla Silva',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Tereza Carla Silva',\n user_nickname: 'Terezinha'\n }\n ]},\n {title: 'Visita', facs: [\n { badges: [],\n color: 1,\n email: 'anafarias@ig.com.br',\n funnel_stage: {value: 'Visita', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Ana Farias',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Ana Farias de Castro Alves',\n user_nickname: 'CAMPERS'\n },\n { badges: [],\n color: 1,\n email: 'teste17f941@mailinator.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'ESD 1 - 5E 15/06 17:55 \"One Park Perdizes\"',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'One Park Perdizes',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'João Carlos Ribeiro da Silva',\n user_nickname: 'CAMPERS'\n }\n ]},\n {title: 'Proposta', facs: []},\n {title: 'Venda', facs: []}\n ];\n\n facsFilter1 = [\n {title: 'Sem Atendimento', facs: []},\n {title: 'Sem Contato', facs: []},\n {title: 'Em Atendimento', facs: [\n { badges: [],\n color: 1,\n email: 'cabral@outlook.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Bruce Cabral',\n phone: {ddi: '+55', phone: '11 93239 5541'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Bruce Cabral',\n user_nickname: 'HULK'\n },\n { badges: [],\n color: 3,\n email: 'terezasilva@gmail.com',\n funnel_stage: {value: 'Sem Atendimento', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Tereza Carla Silva',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Tereza Carla Silva',\n user_nickname: 'Terezinha'\n }\n ]},\n {title: 'Visita', facs: [\n { badges: [],\n color: 1,\n email: 'anafarias@ig.com.br',\n funnel_stage: {value: 'Visita', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Ana Farias',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Ana Farias de Castro Alves',\n user_nickname: 'CAMPERS'\n }\n ]},\n {title: 'Proposta', facs: []},\n {title: 'Venda', facs: []}\n ];\n\n facsFilter2 = [\n {title: 'Sem Atendimento', facs: []},\n {title: 'Sem Contato', facs: []},\n {title: 'Em Atendimento', facs: []},\n {title: 'Visita', facs: [\n { badges: [],\n color: 1,\n email: 'anafarias@ig.com.br',\n funnel_stage: {value: 'Visita', sub_items: []},\n id: '01278696-0000-0000-0000-000000000000',\n last_update_date: '2020-08-12T19:52:24.347Z',\n name: 'Ana Farias',\n phone: {ddi: '+55', phone: '11 93609 5941'},\n product: 'Novo Estilo',\n stage_update_date: '2020-06-15T21:57:03.737Z',\n user_full_name: 'Ana Farias de Castro Alves',\n user_nickname: 'CAMPERS'\n }\n ]},\n {title: 'Proposta', facs: []},\n {title: 'Venda', facs: []}\n ];\n body = document.getElementsByTagName('body')[0];\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(x => {\n if(x != null){\n this.paramsRouter= {\n user_type: x.user_type ? x.user_type: null,\n user_id: x.user_id ? x.user_id : null,\n user_nickname: x.user_nickname ? x.user_nickname : null,\n user_name: x.user_name ? x.user_name : null,\n }\n }\n });\n this.auto = new FormControl('');\n if (this.step > 6) {\n this.step = 0;\n this.body.style.setProperty('overflow', 'hidden');\n return;\n }\n this.step --;\n this.nextStep(2);\n }\n\n nextStep(event) {\n switch (this.step) {\n case 0: {\n this.body.style.setProperty('overflow', 'auto');\n this.stepGeneralState();\n break;\n }\n case 1: {\n this.step1State();\n this.stepGeneralState();\n break;\n }\n case 2: {\n if (event === 2) {\n this.step2State();\n this.stepGeneralState();\n }\n break;\n }\n case 3 : {\n this.step3State();\n this.stepGeneralState();\n break;\n }\n case 4 : {\n this.step4State();\n this.stepGeneralState();\n break;\n }\n case 5 : {\n this.stepGeneralState();\n this.body.style.setProperty('overflow', 'hidden');\n break;\n }\n case 6 : {\n this.stepGeneralState();\n this.skipTour();\n break;\n }\n default: {\n this.stepGeneralState();\n break;\n }\n }\n }\n\n step1State() {\n this.auto.setValue('Novo');\n this.autocompleteOptions = [\n {name: 'AP Novo conceito', type: 'Cliente'},\n {name: 'Empreendimento Novo Mundo', type: 'Produto'},\n {name: 'Novo Estilo', type: 'Produto'},\n {name: 'Empreendimento Novo Conceito', type: 'Produto'}];\n this.body.style.setProperty('overflow', 'auto');\n }\n\n step2State() {\n this.tags = [{type: 'Produto', description: 'Novo Estilo'}];\n this.facsList = this.facsFilter1;\n }\n\n step3State() {\n this.tags = [{type: 'Produto', description: 'Novo Estilo'}, {type: 'Cliente', description: 'Ana Farias'}];\n this.facsList = this.facsFilter2;\n }\n\n step4State() {\n this.auto.setValue('');\n }\n\n stepGeneralState() {\n this.step = this.step + 1;\n this.saveTourStep();\n }\n\n saveTourStep() {\n window.localStorage.setItem('facs-tour-step', this.step.toString());\n }\n\n skipTour() {\n window.localStorage.setItem('facs-tour-step', '7');\n window.localStorage.setItem('facs-tour-complete', 'true');\n this.body.style.setProperty('overflow', 'auto');\n if (this.router.url.includes('helper=true')) {\n this.router.navigate(['/central-ajuda']);\n } else {\n this.paramsRouter.user_id != null ? \n this.router.navigate([`/facs`],\n { queryParams: \n { user_id: this.paramsRouter.user_id,\n user_type: this.paramsRouter.user_type,\n user_nickname: this.paramsRouter.user_nickname,\n user_name: this.paramsRouter.user_name \n }\n }) :\n this.router.navigate(['/facs']);\n }\n }\n}\n","
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{currentStep}} de {{totalSteps}}\n \n \n \n \n
\n \n \n \n
\n
\n
\n
\n {{actionMsg}}\n
\n
\n
\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-tour-card',\n templateUrl: './tour-card.component.html',\n styleUrls: ['./tour-card.component.scss']\n})\nexport class TourCardComponent {\n @Input() currentStep = 0;\n @Input() totalSteps = 0;\n @Input() text = '';\n @Input() actionMsg = '';\n @Input() tipRight = false;\n @Output() next = new EventEmitter();\n @Output() quit = new EventEmitter();\n}\n","
\n \n
\n
\n
\n \n \n
\n \n \n
\n
\n \n
\n
\n
\n \n \"Alert\"\n \n\n \n \n \n \n \n
\n \n
\n
\n
\n
\n
\n\n \n \n
\n\n\n
\n
\n \n \n
\n
\n

{{ listDashboard[0].title }} ({{ stageResponse[0].total_items }})

\n
\n \n \n
\n \"Loader\"\n \"Loader\"\n
\n
\n \n
\n
\n
\n \n \n
\n
\n

{{ listDashboard[1].title }} ({{ stageResponse[1].total_items }})

\n
\n \n \n
\n \"Loader\"\n
\n
\n \n
\n
\n
\n \n \n
\n
\n

{{ listDashboard[2].title }} ({{ stageResponse[2].total_items }})

\n
\n \n \n
\n \"Loader\"\n \"Loader\"\n
\n
\n \n
\n
\n \n \n \n
\n
\n

{{ listDashboard[3].title }} ({{ stageResponse[3].total_items }})

\n
\n \n \n
\n \"Loader\"\n
\n
\n \n
\n
\n \n \n \n
\n
\n

{{ listDashboard[4].title }} ({{ stageResponse[4].total_items }})

\n
\n \n \n
\n \"Loader\"\n \"Loader\"\n
\n
\n \n
\n
\n \n \n \n
\n
\n

{{ listDashboard[5].title }} ({{ stageResponse[5].total_items }})

\n
\n \n \n
\n \"Loader\"\n \"Loader\"\n
\n
\n \n
\n
\n \n\n \n \n\n \n\n\n
\n \n
\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, OnInit, HostListener, ElementRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormGroup, FormBuilder, FormControl } from '@angular/forms';\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\n\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nimport { UpdateFacs, Favorite, OrderCard } from '../core/models/facs.model';\nimport { FacsService } from './service/facs.service';\nimport { CheckTaskStatusService } from '../core/services/check-task-status-service/check-task-status-service';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\nimport { FacsDefault, FacsTemp, FacsChanger, FacDashboard } from '../core/constants/facs-const';\nimport { SnackbarService } from '../shared/components/snackbar/service/snackbar.service';\nimport { IsLeaderService } from '../core/services/is-leader-service/is-leader.service';\nimport { ButtonsPopupService } from '../shared/components/buttons-popup/service/buttons-popup.service';\nimport { ButtonsPopupModel } from '../shared/components/buttons-popup/buttons-popup.model';\nimport { WindowScrollService } from '../core/services/window-scroll.service';\nimport { GoogleTagManagerService } from '../core/analytics/google-tag-manager.service';\nimport { CommunicationProxyService } from '../shared/services/communication-proxy.service';\nimport { CommunicationSubjectEnum } from '../shared/enum/communication-subject-enum';\nimport { EditFacModalService } from '../shared/components/edit-fac-modal/service/edit-fac-modal.service';\n\n@Component({\n selector: 'app-facs',\n templateUrl: './facs.component.html',\n styleUrls: ['./facs.component.scss']\n})\nexport class FacsComponent implements OnInit {\n\n @ViewChild('arrow_scroll') arrow_scroll: ElementRef;\n\n public form: FormGroup;\n public listDashboard = FacsDefault;\n public dragItem: {\n id: string,\n columnType: any\n };\n public loaderDash = {};\n\n public showFilter = false;\n public showDot = false;\n public openFilter = false;\n public showOpenDrop = false;\n public corp = false;\n public inCorp = false;\n public isFavorite = false;\n public flagInput = false;\n public isDrag = true;\n public showModal = false;\n public loader = false;\n public openList = false;\n public isArchived = false;\n public showFacs = false;\n public isSelect = false;\n public rowDown = false;\n public featureV2 = false;\n private isLoader = false;\n public isParam = false;\n public isCloseModalFeature = false;\n public featureTable = false;\n public featureInputSearch = false;\n public featureSwipe = this.environmentService.getEnvVar('feature_swipe_mobile') === 'true';\n public featureUnarchiveFac: boolean = this.environmentService.getEnvVar('feature_unarchive_fac') === 'true';\n\n public paramsRouterFromSearch = null;\n public paramsRouter = null;\n public isUuid = /[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/;\n\n public listTemperature = FacsTemp;\n public listChanger = FacsChanger;\n public listStage = FacDashboard;\n public orderCardHorizontal: OrderCard = {\n above_fac_id: null,\n below_fac_id: null\n };\n\n public stageResponse = [];\n public listSearch = [];\n public tags = [];\n public ListToService = [];\n public listParams = [];\n public stageNumber = null;\n\n public textSearch = '';\n public text = '';\n public textField = '';\n\n public indexId = -1;\n public page = 0;\n public indexScroll = 0;\n public facsTour = window.localStorage.getItem('facs-tour-complete') === 'true';\n public featureTour = this.environmentService.getEnvVar('feature_fac_tour') === 'true';\n\n public clearOrder = false;\n public itemsSelected = [];\n public clearFilterRouter = false;\n public showTransferModal = false;\n\n public DELAY_AUTOCOMPLETE = 600;\n public requestForm = new FormControl();\n\n public isLeader = true;\n public showBulkErrorModal = false;\n public bulkErrorItems: any;\n public bulkErrorMessage: string;\n public showDiscardPopup = false;\n\n public showToFileButton: boolean;\n\n private columnSourceIndex?: number;\n\n private facStatus?: string;\n\n public readonly popupArchive: ButtonsPopupModel = {\n title: 'Arquivar facs',\n description:\n 'Você tem certeza que deseja arquivar estas facs? Facs arquivadas podem ser acessadas utilizando o filtro de facs arquivadas.',\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => this.closeBulkArchiveModal()\n },\n {\n btnType: 1,\n title: 'Arquivar',\n func: () => this.archiveSelectedFacs()\n }\n ]\n };\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.flagInput && this.listSearch.length) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.listSearch = [];\n this.flagInput = false;\n }\n }\n }\n\n constructor(\n public service: FacsService,\n private serviceIsLeader: IsLeaderService,\n private route: ActivatedRoute,\n private router: Router,\n private fb: FormBuilder,\n private eRef: ElementRef,\n private checkStatusService: CheckTaskStatusService,\n private environmentService: EnvironmentService,\n private snackbarService: SnackbarService,\n private btnService: ButtonsPopupService,\n private windowScroll: WindowScrollService,\n private googleTagService: GoogleTagManagerService, \n private communicationProxyService: CommunicationProxyService,\n private facModalService: EditFacModalService,\n ) { }\n\n ngOnInit() {\n this.showFacs = true;\n this.featureTable = this.environmentService.getEnvVar('feature_table') === 'true';\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true';\n this.initForm();\n this.requestFacId(this.getfacIdFromUrl(this.router.url));\n this.trackOrigin();\n this.router.navigate(\n [],\n {\n queryParams: { id: null },\n queryParamsHandling: 'merge'\n });\n this.localStoragePosition();\n this.checkIsLeader();\n this.route.queryParams.subscribe(x => {\n if (x === null) {\n this.form.get('isFavorite').setValue(null);\n }\n this.openLinkModal(x);\n this.dataForm(x);\n this.requestActiveRouter(x);\n this.validatorUser();\n this.paramsValid();\n this.paramsOperation();\n });\n this.tourFac();\n this.searchInput();\n this.verifyFlag();\n this.communicationProxyService.subscribe(CommunicationSubjectEnum.onFacUpdated, (payload) => {this.facStatus = payload.message})\n }\n\n public verifyFlag() {\n this.route.queryParams.subscribe(x => {\n if (this.paramsRouter.archived === true) {\n this.showToFileButton = true;\n } else {\n this.showToFileButton = false;\n }\n });\n\n }\n\n public scrollLeft(): void {\n this.arrow_scroll.nativeElement.scrollLeft -= 314;\n }\n\n public scrollRight(): void {\n this.arrow_scroll.nativeElement.scrollLeft += 314;\n }\n\n private checkIsLeader() {\n if (this.environmentService.getEnvVar('feature_check_is_leader_fac') === 'true') {\n this.serviceIsLeader.getIsLeader().subscribe(isLeader => this.isLeader = isLeader);\n }\n }\n\n private tourFac(): void {\n if (!this.facsTour && this.featureTour) {\n this.paramsRouter.user_id != null ? this.router.navigate([`/facs-tour`],\n {\n queryParams:\n {\n user_id: this.paramsRouter.user_id,\n user_type: this.paramsRouter.user_type,\n user_nickname: this.paramsRouter.user_nickname,\n user_name: this.paramsRouter.user_name\n }\n }) : this.router.navigate([`/facs-tour`]);\n return;\n }\n }\n\n private requestActiveRouter(x: any): void {\n this.paramsRouter = {\n fields: this.textSearch ? this.textSearch : null,\n color: x.vencimentos ? this.validateColorId(x.vencimentos) : null,\n temperature: x.temperatura ? x.temperatura.toLowerCase() : null,\n is_favorite: this.form.get('isFavorite').value ? this.form.get('isFavorite').value : null,\n badges: {\n name: this.isBadges(x.incorporador).corp,\n flag: this.isBadges(x.incorporador).flag\n },\n archived: this.form.get('archived').value ? this.form.get('archived').value : null,\n ranges: this.getItem(x),\n user_type: x.user_type ? x.user_type : null,\n user_id: x.user_id ? x.user_id : null,\n user_nickname: x.user_nickname ? x.user_nickname : null,\n user_name: x.user_name ? x.user_name : null,\n };\n this.clearFilterActiveRouter();\n }\n\n private clearFilterActiveRouter(): void {\n this.clearFilterRouter = false;\n if (this.paramsRouter.fields === null && this.paramsRouter.color === null && this.paramsRouter.temperature === null &&\n !this.paramsRouter.is_favorite && this.paramsRouter.badges.name === null && this.paramsRouter.archived === null &&\n !this.paramsRouter.ranges.length && this.paramsRouter.user_id === null && this.paramsRouter.user_nickname === null &&\n this.paramsRouter.user_name === null) {\n this.clearFilterRouter = false;\n this.resetForm();\n } else {\n this.clearFilterRouter = true;\n }\n }\n\n private paramsOperation(): void {\n if (this.openList) {\n if (this.featureTable) {\n this.getScroll({ index: 1 });\n } else {\n this.getScroll(1);\n }\n } else {\n this.dataSearch(this.ListToService, 0, 0);\n }\n }\n\n private validatorUser() {\n if (this.paramsRouter.user_id !== null) {\n this.ListToService = [{\n values: [this.paramsRouter.user_id],\n field: 'user.id'\n }];\n this.tags.push({\n type: this.paramsRouter.user_type,\n field: 'user.id',\n value: this.formatStrong(this.paramsRouter.user_id),\n description: this.formatStrong(this.paramsRouter.user_nickname + ' - ' + this.paramsRouter.user_name)\n });\n this.dataSearch(this.ListToService, 0, 0);\n }\n }\n\n private getItem(x: any) {\n const dateRanges = [];\n if (x.create_date) {\n dateRanges.push(JSON.parse(x.create_date));\n }\n if (x.update_date) {\n dateRanges.push(JSON.parse(x.update_date));\n }\n if (x.distribution_date) {\n dateRanges.push(JSON.parse(x.distribution_date));\n }\n return dateRanges;\n }\n\n private requestFacId(facId: string) {\n if (this.isUuid.test(facId)) {\n this.dragItem = { id: facId, columnType: { value: null } };\n this.showModal = true;\n this.featureTour = false;\n }\n }\n\n private openLinkModal(data): void {\n if (data && data.id && data.id !== null) {\n const valueLink = {\n event: {\n id: data.id,\n openModal: true,\n },\n column: {\n value: null,\n sub_items: []\n },\n };\n this.openModal(valueLink);\n }\n }\n\n public getfacIdFromUrl(url: string) {\n url = url.replace('/facs?id=', '');\n return url;\n }\n\n public initForm() {\n this.form = this.fb.group({\n temp: [null],\n late: [null],\n isFavorite: [null],\n corporator: [null],\n notCorporator: [null],\n archived: [null],\n createTime: [null],\n updateTime: [null],\n distributionTime: [null]\n });\n }\n\n public localStoragePosition() {\n if (localStorage.getItem('position') !== 'table') {\n this.openList = false;\n } else {\n this.openList = true;\n }\n }\n\n public changeView() {\n this.openList = !this.openList;\n if (this.openList) {\n localStorage.setItem('position', 'table');\n if (this.featureTable) {\n this.getScroll({ index: 1 });\n } else {\n this.getScroll(1);\n }\n } else {\n localStorage.setItem('position', 'dashboard');\n this.listDashboard = FacsDefault;\n this.listStage = [{\n stage: 0,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 1,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 2,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 3,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 4,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 5,\n page_number: 1,\n page_items: 30\n }];\n this.dataSearch(this.ListToService, 0, 0);\n }\n }\n\n public drop(event: CdkDragDrop, column: any) {\n this.dragItem = null;\n this.isDrag = true;\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n this.showModal = false;\n\n // NEW UPDATE FACS\n const index = event.container.data.indexOf(event.container.data[event.currentIndex]);\n this.updateFacs({\n id: event.container.data[index]['id'],\n stage: {\n above_fac_id: event.container.data[index - 1] ? event.container.data[index - 1]['id'] : null,\n below_fac_id: event.container.data[index + 1] ? event.container.data[index + 1]['id'] : null\n }\n });\n event.currentIndex = null;\n } else {\n\n this.columnSourceIndex = this.extractIndexColumnFromDragDrop(event.previousContainer.id);\n\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n const index = event.container.data.indexOf(event.container.data[event.currentIndex]);\n this.orderCardHorizontal = {\n above_fac_id: event.container.data[index - 1] ? event.container.data[index - 1]['id'] : null,\n below_fac_id: event.container.data[index + 1] ? event.container.data[index + 1]['id'] : null\n };\n this.dragItem = {\n id: event.container.data[event.currentIndex]['id'],\n columnType: column\n };\n \n const facNumber = event.container.data[event.currentIndex]['fac_number'];\n this.sendGATagOnChangeFunnel(column.value, facNumber);\n \n event.currentIndex = null;\n this.flagInput = false;\n this.showModal = true;\n }\n }\n\n private extractIndexColumnFromDragDrop(dragDropId: string): number {\n const matchValues = dragDropId.match(/\\d+/);\n return matchValues.length > 0 ? +matchValues[0] : null;\n }\n\n public dataForm(data) {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n this.requestParams(data);\n }\n }\n }\n\n private requestParams(data: any): void {\n if (data.favoritos) {\n this.form.get('isFavorite').setValue(true);\n }\n if (data.temperatura) {\n this.form.get('temp').setValue(data.temperatura);\n }\n if (data.vencimentos) {\n this.form.get('late').setValue(data.vencimentos);\n }\n if (data.arquivados) {\n this.form.get('archived').setValue(true);\n }\n if (data.create_date) {\n this.form.get('createTime').setValue(JSON.parse(data.create_date));\n }\n if (data.update_date) {\n this.form.get('updateTime').setValue(JSON.parse(data.update_date));\n }\n if (data.distribution_date) {\n this.form.get('distributionTime').setValue(JSON.parse(data.distribution_date));\n }\n\n }\n\n public dataList(data: any[]) {\n if (data.length) {\n data.forEach(col => {\n if (col.facs.length) {\n col.facs.forEach((fac: any) => {\n this.validColor(fac);\n this.validTemperature(fac);\n });\n }\n });\n }\n }\n\n public validColor(color: { color: any; }) {\n color.color = Number(color.color);\n if (!color.color || (color.color !== 1 && color.color !== 2 && color.color !== 3)) {\n color.color = 1;\n }\n }\n\n public validTemperature(dataTemp: { temperature: any; isCall: any; interest?: any; }) {\n if (dataTemp.temperature || dataTemp.interest) {\n dataTemp.isCall = true;\n } else {\n dataTemp.isCall = false;\n }\n }\n\n public pointerSelection(data: number) {\n this.indexId = data;\n }\n\n public updateFacs(currentIndex: UpdateFacs) {\n this.service.updateFacs(currentIndex).subscribe(() => currentIndex = null, () => null);\n }\n\n public eventDrag(event: boolean) {\n this.isDrag = event;\n }\n\n public updateFavorite(data: Favorite) {\n let dataNumber = this.stageNumber;\n if (dataNumber != null) {\n this.stageNumber = null;\n }\n this.service.puthFavorite(data).subscribe((x: any) => {\n this.checkStatusService.checkTaskStatus(x.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(() => {\n if (!this.ListToService.length) {\n if (!data.is_favorite && this.form.get('isFavorite').value) {\n this.listUpdatingFavorite(dataNumber, data.id);\n this.service.filterv2(this.paramsRouter, 0, 0, this.ListToService, this.listStage, this.openList).subscribe((resp: any) => {\n this.stageResponse = resp.paginations;\n dataNumber = null;\n });\n }\n }\n });\n });\n }\n\n public clearSearch() {\n this.requestForm.setValue('');\n this.flagInput = false;\n this.indexId = -1;\n }\n\n private listUpdatingFavorite(dataNumber: number, data: string): void {\n const dataRest = Object.assign({}, this.listDashboard[dataNumber]);\n this.listDashboard[dataNumber].facs = [];\n dataRest.facs.forEach((x, i) => {\n if (x.id === data) {\n this.listDashboard[dataNumber].facs.splice(i, 1);\n } else {\n this.listDashboard[dataNumber].facs.push(x);\n }\n });\n }\n\n public getPosition(data: number) {\n this.stageNumber = data;\n }\n\n public closeModal() {\n this.showModal = false;\n this.isCloseModalFeature = true;\n if(this.facStatus && this.facStatus !== '') {\n this.requestClosedModalStatusUpdated(this.facModalService.getColumnType(this.facStatus) - 1);\n } else {\n this.requestClosedModal();\n }\n }\n\n private requestClosedModalStatusUpdated(columnTargetIndex: number) {\n const columnSourceIndex = this.listRequest();\n this.updateSourceAndTargetDashboardColumns(columnSourceIndex, columnTargetIndex);\n }\n\n private requestClosedModal() {\n const columnTargetIndex = this.listRequest();\n this.updateSourceAndTargetDashboardColumns(this.columnSourceIndex, columnTargetIndex);\n }\n\n private updateSourceAndTargetDashboardColumns(sourceIndex: number, targetIndex: number) {\n\n this.listStage[targetIndex].page_number = 1;\n this.listStage[targetIndex].page_items = this.listDashboard[targetIndex].facs.length;\n\n this.service.filterv2(this.paramsRouter, 0, 0, this.ListToService, this.listStage, this.openList).subscribe((resp: any) => {\n\n this.updateDashboardColumn(resp.payload, sourceIndex)\n this.updateDashboardColumn(resp.payload, targetIndex)\n \n this.dataList(this.listDashboard);\n this.stageResponse = resp.paginations;\n\n });\n }\n\n private listRequest(): number {\n const dataNumber = this.stageNumber;\n if (dataNumber != null) {\n this.stageNumber = null;\n }\n this.stageResponse.forEach((x, i) => {\n this.listStage[i].page_items = x.page_items;\n this.listStage[i].page_number = x.page_number;\n });\n return dataNumber;\n }\n\n private updateDashboardColumn(updatedColumns, columnIndex) {\n if(columnIndex !== undefined) {\n const facs = updatedColumns[columnIndex].facs;\n this.listDashboard[columnIndex].facs = [...new Set(facs)];\n }\n }\n\n public openModal(data: { event: any; column: any; }) {\n this.dragItem = {\n id: data.event.id,\n columnType: data.column\n };\n const { openModal } = data.event;\n this.flagInput = false;\n this.showModal = openModal;\n }\n\n public openTable(event) {\n this.dragItem = {\n id: event.id,\n columnType: event.column\n };\n this.showModal = event.openModal;\n this.flagInput = false;\n }\n\n\n public searchInput() {\n this.requestForm.valueChanges.pipe(\n debounceTime(this.DELAY_AUTOCOMPLETE),\n distinctUntilChanged(),\n ).subscribe(text => this.requestSearch(text));\n }\n\n private requestSearch(data: string): void {\n this.textSearch = this.formatStrong(data);\n if (data && data.length >= 3) {\n this.flagInput = true;\n this.service.autoComplete(data).subscribe(resp => {\n this.listSearch = resp;\n });\n } else {\n this.flagInput = false;\n this.indexId = -1;\n }\n }\n\n public noRefreshSearch() {\n this.flagInput = false;\n if (this.indexId >= 0) {\n this.alteredCarbom();\n } else {\n if (this.textSearch.length === 1 || this.textSearch.length === 2) {\n return false;\n } else {\n this.searchText();\n }\n }\n }\n\n\n public searchText() {\n if (this.textSearch.length >= 3 || this.ListToService.length) {\n this.listSearch = [];\n this.paramsRouter.fields = this.textSearch;\n this.clearOrder = true;\n this.dataSearch(this.ListToService, 0, 0);\n this.flagInput = false;\n } else {\n if (this.openTable) {\n this.dataSearch(this.ListToService, this.indexScroll, 50);\n return false;\n }\n this.paramsRouter.fields = this.textSearch;\n this.flagInput = false;\n this.requestClosedModal();\n this.tags = [];\n }\n }\n\n public showFilterAction() {\n this.showFilter = !this.showFilter;\n }\n\n public tempData(event: { name: any; }) {\n this.form.get('temp').setValue(event.name);\n }\n\n public changeData(event: { name: any; }) {\n this.form.get('late').setValue(event.name);\n }\n\n public validatorDot(): boolean {\n if (this.form.get('temp').value || this.form.get('late').value ||\n this.form.get('isFavorite').value || this.form.get('corporator').value ||\n this.form.get('notCorporator').value || this.form.get('archived').value ||\n this.form.get('createTime').value || this.form.get('updateTime').value ||\n this.form.get('distributionTime').value\n ) {\n this.showDot = true;\n } else {\n this.showDot = false;\n }\n return this.showDot;\n }\n\n private paramsValid() {\n if (this.paramsRouter.archived !== null\n || this.paramsRouter.color !== null || this.paramsRouter.fields !== null\n || this.paramsRouter.is_favorite !== null || this.paramsRouter.temperature !== null\n || this.paramsRouter.badges.name !== null || this.paramsRouter.ranges.length > 0) {\n this.isParam = true;\n } else {\n this.isParam = false;\n }\n }\n\n public selectField(): void {\n this.isFavorite = !this.isFavorite;\n this.form.get('isFavorite').setValue(this.isFavorite);\n }\n\n public selectArchived(): void {\n this.isArchived = !this.isArchived;\n this.form.get('archived').setValue(this.isArchived);\n }\n\n public enableAction(): void {\n this.showToFileButton = !this.showToFileButton;\n this.form.get('archived').setValue(this.showToFileButton);\n }\n\n\n public selectIncorporator() {\n this.corp = !this.corp;\n this.inCorp = false;\n this.form.get('corporator').setValue(this.corp);\n this.form.get('notCorporator').setValue(this.inCorp);\n }\n\n public selectNotCorp() {\n this.inCorp = !this.inCorp;\n this.corp = false;\n this.form.get('corporator').setValue(this.corp);\n this.form.get('notCorporator').setValue(this.inCorp);\n }\n\n public resetForm() {\n this.isFavorite = false;\n this.isArchived = false;\n this.inCorp = false;\n this.corp = false;\n this.form.reset();\n }\n\n public initFormRouter() {\n this.showFilter = false;\n this.router.navigate([`/facs`], {\n queryParams: {\n temperatura: this.form.get('temp').value,\n vencimentos: this.form.get('late').value,\n favoritos: this.form.get('isFavorite').value ? this.form.get('isFavorite').value : null,\n incorporador: this.validCorp(),\n arquivados: this.form.get('archived').value ? this.form.get('archived').value : null,\n create_date: this.form.get('createTime').value ? JSON.stringify(this.form.get('createTime').value) : null,\n update_date: this.form.get('updateTime').value ? JSON.stringify(this.form.get('updateTime').value) : null,\n distribution_date: this.form.get('distributionTime').value ? JSON.stringify(this.form.get('distributionTime').value) : null\n }\n });\n }\n\n public validCorp(): boolean {\n let isCorp = null;\n if (this.form.get('corporator').value) {\n isCorp = 'Sim';\n }\n if (this.form.get('notCorporator').value) {\n isCorp = 'Nao';\n }\n return isCorp;\n }\n\n public alteredCarbom() {\n if (this.indexId > -1 && this.textSearch.length >= 3) {\n this.searchTags(this.listSearch[this.indexId]);\n this.flagInput = false;\n this.indexId = -1;\n }\n }\n\n public downList(event: Event | any) {\n if (event.keyCode === 27) {\n this.flagInput = false;\n return false;\n }\n if ((event.keyCode === 40 || event.keyCode === 38)) {\n if (this.indexFilter(this.indexId, this.listSearch.length, event, 40, 38)) {\n return false;\n }\n this.validIndex(event.keyCode);\n }\n }\n\n public validIndex(data: number) {\n if (data === 40) {\n this.indexId += 1;\n this.textSearch = this.formatStrong(this.listSearch[this.indexId].description);\n return false;\n }\n if (data === 38) {\n this.indexId -= 1;\n this.textSearch = this.formatStrong(this.listSearch[this.indexId].description);\n return false;\n }\n }\n\n public indexFilter(index: number, listLength: number, event, numberDown: number, numberUp: number) {\n if ((index + 1 >= listLength) && event.keyCode === numberDown) {\n return true;\n }\n if ((index <= 0) && event.keyCode === numberUp) {\n return true;\n }\n return false;\n }\n\n public formatStrong(data: string): string {\n return data.replace(//g, '').replace(/<\\/strong>/g, '');\n }\n\n public validateColorId(data: string) {\n let colorId = null;\n switch (data.toLowerCase()) {\n case 'verde':\n colorId = 1;\n break;\n case 'vermelho':\n colorId = 2;\n break;\n case 'amarelo':\n colorId = 3;\n break;\n }\n return colorId;\n }\n\n public removeTags(data: string, index: number) {\n this.ListToService.forEach((x, i) => {\n if (x.values.find((a: any) => a === data)) {\n this.tags.splice(index, 1);\n x.values.splice(x.values.indexOf(data), 1);\n }\n if (!x.values.length) {\n this.ListToService.splice(i, 1);\n }\n });\n this.lengthListSearch();\n }\n\n public lengthListSearch() {\n if (this.ListToService.length) {\n this.validatorTable();\n } else {\n this.requestForm.setValue('');\n this.validatorTable();\n }\n }\n\n private validatorTable() {\n if (this.openList) {\n this.dataSearch(this.ListToService, this.indexScroll, 50);\n } else {\n this.dataSearch(this.ListToService, 0, 0);\n }\n }\n\n public searchTags(item) {\n let listAlteranative = {};\n this.ListToService = [];\n this.flagInput = false;\n this.textSearch = '';\n this.requestForm.setValue('');\n\n this.carbomList(this.tags, item.description);\n this.tags.push({\n type: item.type,\n field: item.field,\n value: this.formatStrong(item.description),\n description: this.formatStrong(item.label)\n });\n this.clearOrder = true;\n this.listAlteredCarbom(this.tags, listAlteranative);\n this.alterdCarbom(listAlteranative, this.ListToService, item.type);\n this.dataSearch(this.ListToService, 0, 0);\n this.textField = null;\n }\n\n public carbomList(list: any[], data: string) {\n if (list.length > 0) {\n list.forEach((x, i: number) => {\n if (this.formatStrong(data).toLocaleLowerCase() === x.value.toLocaleLowerCase()) {\n list.splice(i, 1);\n }\n if (this.formatStrong(data).toLocaleLowerCase() === x.description.toLocaleLowerCase()) {\n list.splice(i, 1);\n }\n });\n }\n }\n\n private alterdCarbom(clone: { [x: string]: any; hasOwnProperty?: any; }, listOrigin: any[], type: string) {\n for (const key in clone) {\n if (clone.hasOwnProperty(key)) {\n listOrigin.push({\n values: clone[key],\n field: key,\n type\n });\n }\n }\n }\n\n public listAlteredCarbom(listOrigin: any[], listClone: { [x: string]: any[]; }) {\n listOrigin.forEach(x => {\n if (listClone[x.field] !== undefined) {\n listClone[x.field] = [...listClone[x.field], x.value];\n } else {\n listClone[x.field] = [x.value];\n }\n });\n }\n\n public isBadges(data: string): { corp: string, flag: boolean } {\n let corp = null;\n let flag = false;\n switch (data) {\n case 'Sim':\n corp = this.returnIsBadges(true).innerValue;\n flag = this.returnIsBadges(true).isBadges;\n break;\n case 'Nao':\n corp = this.returnIsBadges(false).innerValue;\n flag = this.returnIsBadges(false).isBadges;\n break;\n default:\n corp = null;\n flag = false;\n break;\n }\n return { corp, flag };\n }\n\n public returnIsBadges(data: boolean): { isBadges: boolean, innerValue: string } {\n this.form.get('corporator').setValue(data);\n this.form.get('notCorporator').setValue(!data);\n return { isBadges: data, innerValue: 'REAL_STATE_DEVELOPER_SELLER' };\n }\n\n public dataSearch(list: any[], index: number, pageNumber: number, order?: any[]) {\n // tslint:disable-next-line: max-line-length\n this.paramsRouterFromSearch ? (this.paramsRouter.fields = this.paramsRouterFromSearch) : (this.paramsRouter.fields = this.requestForm.value);\n let listParams = [];\n if (list && list.length) {\n listParams = list;\n }\n this.service.filterv2(this.paramsRouter, index, pageNumber, listParams, [], this.openList, order).subscribe((response: any) => {\n this.listStage = FacDashboard;\n if (this.openList) {\n this.page = response.page_info.total_pages ? response.page_info.total_pages : 1;\n }\n this.listDashboard = response.payload;\n this.stageResponse = response.paginations;\n this.dataList(this.listDashboard);\n this.service.setList(response);\n this.showFacs = false;\n this.clearOrder = false;\n if (!this.clearFilterRouter) {\n this.validatorDot();\n }\n }, (err) => {\n if (err.status === 400 && err.error.messages[0]) {\n this.snackbarService.show(err.error.messages[0].message, 'error');\n }\n this.showFacs = false;\n });\n }\n\n public getScroll(event) {\n if (this.featureTable) {\n this.indexScroll = event.index;\n } else {\n this.indexScroll = event;\n }\n if (this.indexScroll === null && this.openTable) {\n this.indexScroll = 1;\n }\n const count = event?.data && event.data.listLength ? event.data.listLength : 50;\n const order = event?.data && event.data.order ? event.data.order : null;\n if (order != null) {\n this.loaderAct(event.index);\n this.dataSearch(this.ListToService, this.indexScroll, count, order);\n } else {\n this.loaderAct(event);\n this.dataSearch(this.ListToService, this.indexScroll, count);\n }\n }\n\n public loaderAct(dataIndex: number) {\n if (dataIndex >= this.page) {\n return false;\n }\n }\n\n public scroll(event: Event | any, stage: number) {\n event.preventDefault();\n const heigth = ((100 * event.srcElement.scrollTop) / (event.srcElement.scrollHeight - event.srcElement.clientHeight));\n if (heigth >= 99) {\n this.validatorRequest(stage);\n }\n }\n\n private validatorRequest(stage: number): void {\n if (this.stageResponse[stage].page_number >= this.stageResponse[stage].total_pages) {\n this.loaderDash[stage] = false;\n }\n if (this.isLoader || this.isCloseModalFeature) {\n this.isCloseModalFeature = false;\n return;\n } else {\n this.isLoader = true;\n this.requestColumn(stage, this.stageResponse[stage].page_number + 1);\n }\n }\n\n public requestColumn(stage: number, increment: number): void {\n this.stageNumber = stage;\n this.listStage[stage] = {\n stage,\n page_number: increment,\n page_items: 30\n };\n const request = this.listStage[stage];\n if (this.listDashboard[stage].facs.length >= 30) {\n this.loaderDash[stage] = true;\n }\n this.service.filterv2(this.paramsRouter, 0, 0, this.ListToService, [request], this.openList).subscribe((resp: any) => {\n resp.payload[stage].facs.forEach((x: any) => this.listDashboard[stage].facs.push(x));\n this.stageResponse[stage] = resp.paginations[0];\n this.loaderDash[stage] = false;\n this.isLoader = false;\n });\n }\n\n\n public getFacIds(itemsSelected: []) {\n this.itemsSelected = itemsSelected;\n }\n\n\n public transferFac(data) {\n const dataFac = {\n fac_ids: this.itemsSelected,\n destination_user: data\n };\n this.service.postFacPackTransfer(dataFac).subscribe((resp: any) => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe((taskRes: any) => {\n this.snackbarService.show('A transferência está em processamento', 'success');\n if (taskRes.status.id === 1) {\n if (dataFac.fac_ids.length === 1) {\n this.snackbarService.show('A fac foi transferida com sucesso', 'success');\n } else {\n this.snackbarService.show('As facs foram transferidas com sucesso', 'success');\n }\n this.paramsOperation();\n this.isSelect = false;\n }\n if (taskRes.status.id === 2) {\n // tslint:disable-next-line: max-line-length\n this.messageResp(taskRes.metadata.facs_with_errors, 'Atenção: houve um problema e as seguintes facs não puderam ser transferidas');\n }\n });\n });\n }\n\n public messageResp(resp: any[], msg: string) {\n this.bulkErrorItems = resp;\n this.bulkErrorMessage = msg;\n this.showBulkErrorModal = true;\n }\n\n showBulkArchiveModal(): void {\n this.windowScroll.disable();\n this.btnService.show(this.popupArchive);\n }\n\n closeBulkArchiveModal(): void {\n this.windowScroll.enable();\n this.showTransferModal = false;\n }\n\n archiveSelectedFacs(): void {\n const dataFac = {\n fac_ids: this.itemsSelected,\n archived: true\n };\n this.service.postFacBulkArchive(dataFac).subscribe((resp: any) => {\n this.snackbarService.show('O arquivamento foi iniciado', 'success');\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe((taskRes: any) => {\n if (taskRes.status.id === 1) {\n this.snackbarService.show('O arquivamento foi concluído com sucesso', 'success');\n this.dataSearch(this.ListToService, this.indexScroll, 50);\n this.paramsOperation();\n this.isSelect = false;\n }\n if (taskRes.status.id === 2) {\n this.messageResp(taskRes.metadata.facs_with_errors, 'Atenção: houve um problema e as seguintes facs não foram arquivadas');\n }\n });\n });\n }\n\n unarchiveSelectedFacs(): void {\n const dataFac = {\n fac_ids: this.itemsSelected,\n archived: false\n };\n this.service.postFacBulkArchive(dataFac).subscribe((resp: any) => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe((taskRes: any) => {\n this.snackbarService.show('O desarquivamento foi iniciado', 'success');\n if (taskRes.status.id === 1) {\n if (dataFac.fac_ids.length === 1) {\n this.snackbarService.show('A fac foi desarquivada', 'success');\n } else {\n this.snackbarService.show('As facs foram desarquivadas', 'success');\n }\n this.dataSearch(this.ListToService, this.indexScroll, 50);\n this.paramsOperation();\n this.isSelect = false;\n }\n if (taskRes.status.id === 2) {\n this.messageResp(taskRes.metadata.facs_with_errors, 'Atenção: Houve um problema e as seguintes FACs não foram desarquivadas.');\n }\n });\n });\n }\n\n showBulkDiscard(): void {\n this.windowScroll.disable();\n this.showDiscardPopup = true;\n }\n\n closeBulkDiscard(): void {\n this.windowScroll.enable();\n this.showDiscardPopup = false;\n }\n\n discardSelectedFacs(modalData: any): void {\n let dataFacs = {\n fac_ids: this.itemsSelected,\n discarded: true,\n reason: modalData.reason,\n observation: modalData.observation\n };\n this.closeBulkDiscard();\n this.service.postFacBulkDiscard(dataFacs).subscribe((resp: any) => {\n this.snackbarService.show('O descarte foi iniciado', 'success');\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe((taskRes: any) => {\n if (taskRes.status.id === 2) {\n this.messageResp(taskRes.metadata.facs_with_errors, 'Atenção: houve um problema e as seguintes facs não foram descartadas');\n } else {\n this.snackbarService.show('O descarte foi concluído com sucesso', 'success');\n this.dataSearch(this.ListToService, this.indexScroll, 50);\n this.paramsOperation();\n this.isSelect = false;\n }\n });\n });\n if (dataFacs.discarded) {\n dataFacs.fac_ids.length = 0;\n }\n }\n\n private trackOrigin(): void {\n this.route.queryParams.subscribe(param => {\n if (param.origin != null && param.source != null) {\n this.sendTrackingSourceOrigin(param.source, param.origin);\n this.router.navigate(['.'], { relativeTo: this.route, queryParams: {}});\n }\n });\n }\n\n private sendGATagOnChangeFunnel(status, facNumber) {\n this.googleTagService.pushTag({\n event: 'event',\n eventCategory: 'gestao_fac',\n eventAction: 'clique:status:fac',\n eventLabel: `status: ${status}`,\n dimension8: facNumber\n });\n }\n\n private sendTrackingSourceOrigin(source: string, origin: string): void {\n\n const origins = new Map();\n origins.set('new_lead', 'novo-lead');\n origins.set('fac_transfer', 'nova-fac-recebida-de-transferencia');\n\n const eventOrigin = origins.get(origin.toLowerCase());\n this.googleTagService.pushTag({\n event: 'callback',\n eventCategory: 'deeplink_open_web',\n eventAction: `origem_${source}`,\n eventLabel: `[tipo-notificação]:${eventOrigin ? eventOrigin : 'indefinido'}`,\n });\n }\n\nr}\n","import { NgModule } from '@angular/core';\n\nimport { FacsComponent } from './facs.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { EditFacModalModule } from '../shared/components/edit-fac-modal/edit-fac-modal.module';\nimport { FacsService } from './service/facs.service';\nimport { FacsFiltersComponent } from './facs-filters/facs-filters.component';\nimport { NzDatePickerModule } from 'ng-zorro-antd';\nimport { FacsTourComponent } from './facs-tour/facs-tour.component';\nimport { TourCardComponent } from './facs-tour/tour-card/tour-card.component';\nimport { BulkErrorModalComponent } from './bulk-error-modal/bulk-error-modal.component';\n\n@NgModule({\n declarations: [\n FacsComponent,\n FacsFiltersComponent,\n FacsTourComponent,\n TourCardComponent,\n BulkErrorModalComponent\n ],\n imports: [\n SharedModule,\n EditFacModalModule,\n NzDatePickerModule,\n ],\n exports: [\n FacsComponent,\n FacsFiltersComponent\n ],\n providers: [\n FacsService\n ]\n})\nexport class FacsModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { EnvironmentService } from '../../core/enviroment/environment.service';\nimport { Payload, Facs, AutoComplite, Favorite, UpdateFacs } from 'src/app/core/models/facs.model';\nimport { setDefaultFilterSearchDashboardFac } from 'src/app/shared/functions/DefaultFilterSearchDashboardFac';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FacsService {\n\n public toggle = this.environmentService.getEnvVar('feature_table') === 'true';\n\n public uriv3 = this.environmentService.getEnvVar('api_facs_v3');\n public uriv2 = this.environmentService.getEnvVar('api_facs_v2');\n public uriv1 = this.environmentService.getEnvVar('api_facs');\n\n\n public dataList = [{\n stage: 0,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 1,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 2,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 3,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 4,\n page_number: 1,\n page_items: 30\n },\n {\n stage: 5,\n page_number: 1,\n page_items: 30\n }];\n\n public sendList = new Subject();\n public getSideMenu = new Subject();\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService,\n private featureToggleService: FeatureToggleService\n ) { }\n\n public puthFavorite(data: Favorite): Observable {\n return this.http.patch(`${this.uriv1}/favorite/`, data);\n }\n\n public updateFacs(data: UpdateFacs): Observable {\n return this.http.patch(`${this.uriv1}/fac/${data.id}`, data.stage);\n }\n\n public autoComplete(data: string | number): Observable {\n const filter = {\n or: {\n multi_match: {\n search_value: data,\n match: 'CONTAINS_PHRASE',\n fields: [\n {\n name: 'person.name',\n type: 'Cliente'\n },\n {\n name: 'offered_products.name',\n type: 'Produto'\n },\n {\n name: 'person.email',\n type: 'Email'\n },\n {\n name: 'person.phone',\n type: 'Telefone'\n },\n {\n name: 'fac_number',\n type: 'Número da FAC'\n }\n ]\n }\n }\n };\n return this.http.post(`${this.toggle ? this.uriv2 : this.uriv1}/fac/autocomplete/`, filter);\n }\n\n public filterv2(\n data: any, index: number, page?: number,\n tag?: any[], pageStage?: any[], isTable?: boolean, order?: any[]): Observable {\n const filterSearch = {\n and: {\n multi_match: {\n search_value: data.fields,\n match: 'CONTAINS_PHRASE',\n fields: [\n {\n name: 'person.name',\n type: 'Cliente'\n },\n {\n name: 'offered_products.name',\n type: 'Produto'\n },\n {\n name: 'person.email',\n type: 'Email'\n },\n {\n name: 'person.phone',\n type: 'Telefone'\n },\n {\n name: 'fac_number',\n type: 'Número da FAC'\n }\n ]\n },\n tags: tag,\n filters: [\n {\n field: 'color',\n value: data.color,\n match: 'CONTAINS_PHRASE'\n },\n {\n field: 'is_favorite',\n value: data.is_favorite,\n match: 'PHRASE'\n },\n {\n field: 'temperature.name',\n value: data.temperature,\n match: 'CONTAINS_PHRASE'\n },\n {\n field: 'badges.name',\n value: data.badges.name,\n match: data.badges.flag ? 'CONTAINS_PHRASE' : 'NOT_CONTAINS_PHRASE'\n },\n {\n field: 'archived',\n value: data.archived,\n match: 'PHRASE'\n }\n ],\n ranges: [...data.ranges]\n },\n sorts: order,\n page_items: page,\n page_number: index,\n pages: pageStage.length ? pageStage : this.dataList,\n tabular_view: isTable\n };\n if (!filterSearch.and.tags.length) {\n delete filterSearch.and.tags;\n }\n if (!filterSearch.and.multi_match.search_value) {\n delete filterSearch.and.multi_match;\n }\n filterSearch.and.filters = filterSearch.and.filters.filter(x => x.value !== null);\n if (filterSearch.and.filters.length <= 0) {\n delete filterSearch.and.filters;\n }\n if (data.fields === undefined) {\n delete filterSearch.and.multi_match;\n }\n if (order === undefined || !order.length || order[0].sort === undefined) {\n delete filterSearch.sorts;\n }\n\n if (this.featureToggleService.isActive('toggle_default_search_dashboard_fac')) {\n const numberMonthsBehind = +this.environmentService.getEnvVar('number_months_behind');\n setDefaultFilterSearchDashboardFac(filterSearch, numberMonthsBehind);\n }\n \n return this.http.post(`${this.toggle ? this.uriv3 : this.uriv2}/dashboard`, filterSearch);\n }\n\n public setList(data) {\n this.sendList.next(data);\n }\n\n public getList() {\n return this.sendList.asObservable();\n }\n\n public setOpen(data: boolean) {\n return this.getSideMenu.next(data);\n }\n\n public getOpen() {\n return this.getSideMenu.asObservable();\n }\n\n public getClientMessages(id) {\n return this.http.get(`${this.uriv1}/fac/${id}/chat-messages`);\n }\n\n public sendClientMessage(id, message) {\n return this.http.post(`${this.uriv1}/fac/${id}/chat-message`, message);\n }\n\n public postFacPackTransfer(data: any): Observable {\n return this.http.post(`${this.uriv1}/fac/bulk-transfer/`, data);\n }\n\n public postFacBulkArchive(data: any): Observable {\n return this.http.post(`${this.uriv1}/fac/bulk-archive/`, data);\n }\n\n public postFacBulkDiscard(data: any): Observable {\n return this.http.post(`${this.uriv1}/fac/bulk-discard/`, data);\n }\n\n}","
\n Tours guiados\n
\n \n
\n \n
\n
\n
\n
","import { Component } from '@angular/core';\nimport { NavigationExtras, Router } from '@angular/router';\n\n@Component({\n selector: 'app-helper-center',\n templateUrl: './helper-center.component.html',\n styleUrls: ['./helper-center.component.scss']\n})\nexport class HelperCenterComponent {\n\n constructor(private router: Router) { }\n\n isOpen = false;\n cards = [{\n title: 'Busca de facs',\n message: 'Duração: 50 segundos',\n image: 'student_hat_ico',\n link: '/facs-tour'\n }\n ];\n\n cardClicked(card) {\n const navigations: NavigationExtras = {\n queryParams: {helper: true}\n };\n this.router.navigate([card.link], navigations);\n }\n}\n","import { ChartOptions } from \"chart.js\";\n\nexport function chartOptions(max?: number): ChartOptions {\n return {\n maintainAspectRatio: false,\n responsive: true,\n hover: {\n mode: null\n },\n plugins: {\n datalabels: {\n display: true,\n anchor: 'end',\n align: 'end',\n font: {\n weight: 'bold',\n size: 12,\n color: '#000'\n }\n }\n },\n scales: {\n xAxes: [{\n position: 'top',\n gridLines: {\n display: false,\n drawBorder: false\n },\n ticks: {\n min: 0,\n max: max || 600,\n stepSize: 200,\n display: false,\n beginAtZero: false,\n }\n }],\n yAxes: [{\n gridLines: {\n display: false\n }\n }]\n },\n tooltips: {\n enabled: false\n }\n };\n};","
\n \n
\n\n\n\n

Volume de atendimento por canal

\n \n
\n
\n \n \n
\n
\n \n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChartOptions, ChartType, ChartDataSets } from 'chart.js';\nimport * as pluginDataLabels from 'chartjs-plugin-datalabels';\nimport { Label } from 'ng2-charts';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { CommunicationSubjectEnum } from 'src/app/shared/enum/communication-subject-enum';\nimport { CommunicationProxyService } from 'src/app/shared/services/communication-proxy.service';\nimport { Ranges } from '../../home-manager.component';\nimport { chartOptions } from './chart-contact-type-options';\n\nexport interface BarChartData {\n data: ChartContactType[];\n}\n\nexport interface ChartContactType {\n count: number;\n contact_type: string;\n}\n\n@Component({\n selector: 'app-chart-contact-type',\n templateUrl: './chart-contact-type.component.html',\n styleUrls: ['./chart-contact-type.component.scss']\n})\nexport class ChartContactTypeComponent implements OnInit {\n @Input() width;\n @Output() emitOnResize = new EventEmitter();\n public maxScale;\n public ranges: Ranges = {\n field: 'last_update_date'\n };\n public barChartLabels: Label[] = [\n 'Telefone', 'E-mail', 'Stand', 'Visita', 'Whatsapp'\n ];\n public barChartData: ChartDataSets[] = [];\n public barChartOptions: ChartOptions = chartOptions();\n public barChartType: ChartType = 'horizontalBar';\n public barChartLegend = true;\n public barChartPlugins = [pluginDataLabels];\n public chartColors: Array = [\n {\n backgroundColor: ['#91BEFF', '#85AFEB', '#7AA0D6', '#6E90C2', '#6381AD', '#6381AD']\n }\n ];\n public loading = true;\n\n constructor(private service: HomeService, private communicationProxyService: CommunicationProxyService) {}\n\n ngOnInit(): void {\n this.communicationProxyService\n .subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (res: any) => {\n const { begin, end } = res.message;\n this.ranges.from = begin;\n this.ranges.to = end;\n this.getCountContactType();\n });\n }\n\n getCountContactType(): void {\n this.loading = true;\n this.service.getCountContactType(this.ranges).subscribe((res: BarChartData) => {\n this.getBarChartInfos(res.data);\n this.loading = false;\n }, () => {\n this.loading = false;\n })\n }\n\n getBarChartInfos(chartContactType: ChartContactType[]): void {\n let chartDataSets = [];\n\n const data = chartContactType.map((item: ChartContactType) => item.count);\n\n chartDataSets.push({\n data,\n barPercentage: 0.6\n });\n\n this.barChartData = chartDataSets;\n this.maxScale = Math.max(...data);\n this.scaleMax(innerWidth);\n }\n\n onResize(event){\n this.scaleMax(event.target.innerWidth);\n this.emitOnResize.emit(event.target.innerWidth);\n }\n\n scaleMax(width: number) {\n if (width < 575) {\n return this.barChartOptions = chartOptions(this.maxScale * 1.3);\n }\n\n this.barChartOptions = chartOptions(this.maxScale * 1.1);\n }\n}\n","import { ChartOptions } from \"chart.js\";\n\nexport function chartPerformanceTeamOptions(): ChartOptions {\n return {\n maintainAspectRatio: false,\n responsive: true,\n hover: {\n mode: null\n },\n plugins: {\n datalabels: {\n display: false\n }\n },\n scales: {\n xAxes: [{\n position: 'top',\n gridLines: {\n display: true,\n drawBorder: false\n },\n ticks: {\n suggestedMax: 10,\n display: true,\n beginAtZero: true,\n callback\n }\n }],\n yAxes: [{\n gridLines: {\n display: false\n }\n }]\n },\n tooltips: {\n callbacks: {\n title,\n label\n },\n backgroundColor: '#403D3D',\n titleFontSize: 12,\n titleFontColor: '#fff',\n bodyFontColor: '#fff',\n bodyFontSize: 12,\n displayColors: false,\n xPadding: 10,\n yPadding: 10,\n bodySpacing: 4,\n position: 'nearest',\n }\n };\n};\n\nexport function title(tooltipItem): any {\n const sum = tooltipItem.reduce((partialSum, a) => partialSum + +a.value, 0);\n return sum + ' FAC(s)';\n}\n\nexport function label(tooltipItem, data): any {\n const label = `${tooltipItem.value} ${data.datasets[tooltipItem.datasetIndex].label.toLocaleLowerCase()}(s)`;\n return label;\n}\n\nexport function callback(value: number) { \n if (value % 1 === 0) { \n return value; \n } \n}","
\n \n
\n\n \n

Produtividade da equipe por temperatura de FACs

\n \n
\n
\n
\n {{data.label}}\n
\n
\n\n
\n
10}\">\n 10}\"\n (window:resize)=\"onResize()\" [datasets]=\"barChartData\" [labels]=\"barChartLabels\" [options]=\"barChartOptions\"\n [legend]=\"false\" [chartType]=\"barChartType\" [colors]=\"chartColors\">\n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ChartDataSets, ChartOptions, ChartType } from 'chart.js';\nimport { Label } from 'ng2-charts';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { CommunicationProxyService } from 'src/app/shared/services/communication-proxy.service';\nimport { CommunicationSubjectEnum } from 'src/app/shared/enum/communication-subject-enum';\nimport { chartPerformanceTeamOptions } from './chart-performance-team-options';\nimport { Ranges } from '../../home-manager.component';\n\nexport interface BarChartPerformanceTeam {\n data: ChartDataSets[];\n teams: string[];\n}\n\n@Component({\n selector: 'app-chart-performance-team',\n templateUrl: './chart-performance-team.component.html',\n styleUrls: ['./chart-performance-team.component.scss']\n})\nexport class ChartPerformanceTeamComponent implements OnInit {\n @Output() emitOnResize = new EventEmitter();\n @Input() width;\n public longest: any;\n public barChartLabels: Label[] = [];\n public height: number;\n public barChartOptions: ChartOptions = chartPerformanceTeamOptions();\n public barChartType: ChartType = 'horizontalBar';\n public barChartLegend = true;\n public barChartData: ChartDataSets[] = [];\n public chartColors: Array = [\n { backgroundColor: '#A51134', label: 'Quente' },\n { backgroundColor: '#0A68BF', label: 'Fria' },\n { backgroundColor: '#BD862C', label: 'Morna' },\n { backgroundColor: '#BFBCBC', label: 'Não categorizada' }\n ];\n public loading = true;\n public ranges: Ranges = {\n field: 'last_update_date'\n };\n public configBar = {\n barPercentage: 1,\n categoryPercentage: 0.7\n };\n\n constructor(private service: HomeService, private communicationProxyService: CommunicationProxyService) {}\n\n ngOnInit(): void {\n this.communicationProxyService\n .subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (res: any) => {\n const { begin, end } = res.message;\n this.ranges.from = begin;\n this.ranges.to = end;\n this.getCountPerformanceTeam();\n });\n }\n\n getCountPerformanceTeam(): void {\n this.loading = true;\n this.service.getCountPerformanceTeam(this.ranges).subscribe((res: BarChartPerformanceTeam) => {\n this.barChartLabels = res.teams;\n this.getBarChartInfos(res.data);\n this.widthProportional();\n this.loading = false;\n }, () => {\n this.loading = false;\n });\n }\n\n getBarChartInfos(data: ChartDataSets[]): void {\n this.barChartData = data.map((item: ChartDataSets) => {\n return { ...item, ...this.configBar }\n });\n this.height = this.barChartLabels.length * 70;\n document.documentElement.style.setProperty('--dynamic-height', this.height + 'px' );\n }\n\n onResize(): void {\n this.widthProportional();\n }\n\n widthProportional(): void {\n const fontSize = 10;\n this.longest = this.barChartLabels.reduce((a, b) => { return a.length > b.length ? a : b; });\n const calc = 400 + (this.longest.length * fontSize);\n document.documentElement.style.setProperty('--dynamic-width', calc + 'px' );\n }\n}\n","
\n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n {{ item.card_title }}\n
\n
\n
\n
\n
\n\n
\n\n
\n
\n \n \n \n\n \n \n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import {Component, ElementRef, OnInit, Renderer2, ViewChild} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {InformationModel, WidgetInfoModel, WidgetModel} from '../../core/models/widget.model';\nimport {SidemenuDragAndDropService} from 'lps-navigation';\nimport {SideMenuItemModel} from '../../core/models/sidemenu.model';\nimport {HomeManagerService} from '../service/home-manager.service';\nimport {HomeService} from '../service/home.service';\n\nexport interface Ranges {\n field: string;\n from?: string;\n to?: string;\n}\n\n@Component({\n selector: 'app-home-manager',\n templateUrl: './home-manager.component.html',\n styleUrls: ['./home-manager.component.scss']\n})\nexport class HomeManagerComponent implements OnInit {\n public width;\n\n @ViewChild('dragContainer', { read: ElementRef, static: true })\n dragContainer: ElementRef;\n\n @ViewChild('dragElement', { read: ElementRef, static: true })\n dragEelement: ElementRef;\n\n @ViewChild('widgetsDropdownContainer', { read: ElementRef, static: true })\n widgetsDropdownContainer: ElementRef;\n\n get hasFinishedLoading() { return this.homeManagerService.getDashDataFinished; }\n get dropMask(): boolean { return this.dnd.isDragging; }\n get draggedItem() { return this.dnd.draggedItem; }\n get draggedItemInfo() { return this.dnd.draggedItemInfo; }\n get dragIdx() { return this.dnd.draggedItemIndex; }\n get draggedType() { return this.dnd.draggedType; }\n get draggableSidemenuItems() { return this.homeManagerService.sideMenuDraggables; }\n\n public smWidgetsSubscription: Subscription;\n public widgetInfoSubscription: Subscription;\n public smallWidgets: WidgetModel[];\n public smallWidgetsInfo: InformationModel[][] = [[], [], [], []];\n\n public dropAreaId: string;\n public dragScrollStarted: boolean;\n public dragScrolling: boolean;\n public isDown: boolean;\n public startX: number;\n public scrollLeft: number;\n public showWidgetsBackdrop: boolean;\n public showWidgetsDropdown: boolean[] = [ false, false, false, false ];\n\n constructor(\n private dnd: SidemenuDragAndDropService,\n private homeSvc: HomeService,\n private homeManagerService: HomeManagerService,\n private renderer: Renderer2,\n ) { }\n\n ngOnInit() {\n if (!this.smallWidgets) { this.smallWidgets = []; }\n this.homeManagerService.getManagerDashData();\n this.smWidgetsSubscription = this.homeManagerService.getSmWidgets().subscribe(widgets => this.smallWidgets = widgets);\n this.widgetInfoSubscription = this.homeManagerService.getwidgetInfo().subscribe(widgetsInfo => this.updateInfo(widgetsInfo));\n this.homeManagerService.getDraggableSidemenuItems();\n }\n\n updateInfo(widgetInfo: WidgetInfoModel): void {\n for (let i = 0; i < this.smallWidgets.length; i++) {\n if (widgetInfo.id === this.smallWidgets[i].id) {\n this.smallWidgetsInfo[i] = widgetInfo.info;\n }\n }\n }\n\n initDragScroll(event: MouseEvent) {\n event.preventDefault();\n if (this.dragScrollStarted || !this.hasFinishedLoading) {\n return;\n }\n this.dragScrollStarted = true;\n this.dragScroll();\n }\n\n dragScroll() {\n const slider = document.querySelector('.dash-container-sm');\n if (slider) {\n slider.addEventListener('mousedown', (e: MouseEvent) => {\n this.isDown = true;\n this.startX = e.pageX - slider.clientLeft;\n this.scrollLeft = slider.scrollLeft;\n setTimeout(() => { this.dragScrolling = true; }, 250);\n });\n slider.addEventListener('mouseleave', () => {\n this.isDown = false;\n });\n slider.addEventListener('mouseup', (e: MouseEvent) => {\n this.isDown = false;\n setTimeout(() => { this.dragScrolling = false; }, 100);\n });\n slider.addEventListener('mousemove', (e: MouseEvent) => {\n if (!this.isDown) {\n this.dragScrolling = false;\n return;\n }\n e.preventDefault();\n const x = e.pageX - slider.clientLeft;\n const walk = (x - this.startX);\n slider.scrollLeft = this.scrollLeft - walk;\n });\n }\n }\n\n checkScroll(event: PointerEvent) {\n if (event.buttons !== 1 || !this.dnd.draggedItem) { return false; }\n const widgetContainerSm = document.getElementById('widget-container-sm');\n const widgetContainerSmY = widgetContainerSm.getBoundingClientRect().top;\n const widgetContainerSmYFinal = widgetContainerSmY + 189;\n const windowWidth = window.innerWidth;\n if (this.dnd.isDragging && event.clientY > widgetContainerSmY && event.clientY < widgetContainerSmYFinal) {\n if (windowWidth - event.clientX < 50) {\n widgetContainerSm.scrollBy({ top: 0, left: 330, behavior: 'smooth' });\n } else if (event.clientX < 50) {\n widgetContainerSm.scrollBy({ top: 0, left: -330, behavior: 'smooth' });\n }\n }\n }\n\n startWidgetDrag(event: PointerEvent, i: number) {\n event.preventDefault();\n if (event.buttons !== 1) { return false; }\n const yOffset = window.pageYOffset;\n const draggedItem = this.smallWidgets[i];\n const draggedItemInfo = this.smallWidgetsInfo[i];\n this.dnd.setDraggedItem(draggedItem, 'widget', i, draggedItemInfo);\n this.renderer.setStyle(this.dragContainer.nativeElement, 'display', 'block');\n this.renderer.setStyle(this.dragContainer.nativeElement, 'cursor', 'grabbing');\n this.renderer.setStyle(this.dragEelement.nativeElement, 'left', `${event.clientX - 250}px`);\n this.renderer.setStyle(this.dragEelement.nativeElement, 'top', `${event.clientY - 20 + yOffset}px`);\n }\n\n moveDraggedWidget(event: PointerEvent) {\n this.checkScroll(event);\n const yOffset = window.pageYOffset;\n this.renderer.setStyle(this.dragEelement.nativeElement, 'left', `${event.clientX - 250}px`);\n this.renderer.setStyle(this.dragEelement.nativeElement, 'top', `${event.clientY - 20 + yOffset}px`);\n }\n\n finishWidgetDrag(event: PointerEvent) {\n event.preventDefault();\n this.renderer.setStyle(this.dragContainer.nativeElement, 'display', 'none');\n this.dropAreaId = document.elementFromPoint(event.clientX, event.clientY).id;\n this.widgetDrop();\n }\n\n widgetDrop() {\n let dropIdx = -1;\n if (this.dropAreaId.includes('dash-widget-sm')) {\n dropIdx = parseInt(this.dropAreaId.substr(15), 10);\n if (this.dragIdx !== dropIdx) {\n this.smallWidgetsInfo[dropIdx] = this.smallWidgetsInfo.splice(this.dragIdx, 1, this.smallWidgetsInfo[dropIdx])[0];\n this.smallWidgets[dropIdx] = this.smallWidgets.splice(this.dragIdx, 1, this.smallWidgets[dropIdx])[0];\n this.homeSvc.updateDashData(this.smallWidgets);\n }\n }\n this.dnd.clearDraggedItem();\n }\n\n addWidgetsDropdown(index: number) {\n this.showWidgetsDropdown[index] = true;\n this.showWidgetsBackdrop = true;\n }\n\n confirmAddWidgetDropdown(dropdownItem: SideMenuItemModel, index: number) {\n this.smallWidgets[index] = {\n id: dropdownItem.id,\n type: dropdownItem.label,\n title: dropdownItem.card_title,\n update_timer: dropdownItem.card_update_timer,\n action: dropdownItem.action\n };\n this.homeSvc.updateDashData(this.smallWidgets);\n this.showWidgetsBackdrop = false;\n this.showWidgetsDropdown = [ false, false, false, false ];\n }\n\n cancelAddWidgetDropdown() {\n this.showWidgetsBackdrop = false;\n this.showWidgetsDropdown = [ false, false, false, false ];\n }\n\n removeWidget(index: number) {\n this.smallWidgets.splice(index, 1, {});\n this.smallWidgetsInfo.splice(index, 1, [{}]);\n this.homeSvc.updateDashData(this.smallWidgets);\n }\n\n}\n","
\n\t\n
\n
\n\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n {{ item.card_title }}\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Renderer2, ViewChild, ElementRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SidemenuDragAndDropService } from 'lps-navigation';\nimport { InformationModel, WidgetInfoModel, WidgetModel } from 'src/app/core/models/widget.model';\nimport { HomeService } from '../service/home.service';\nimport { SideMenuItemModel } from 'src/app/core/models/sidemenu.model';\n\n@Component({\n selector: 'app-home-realtor',\n templateUrl: './home-realtor.component.html',\n styleUrls: ['./home-realtor.component.scss']\n})\nexport class HomeRealtorComponent implements OnInit {\n\n @ViewChild('dragContainer', { read: ElementRef, static: true })\n dragContainer: ElementRef;\n\n @ViewChild('dragElement', { read: ElementRef, static: true })\n dragEelement: ElementRef;\n\n @ViewChild('widgetsDropdownContainer', { read: ElementRef, static: true })\n widgetsDropdownContainer: ElementRef;\n\n get hasFinishedLoading() { return this.homeSvc.getDashDataFinished; }\n get dropMask(): boolean { return this.dnd.isDragging; }\n get draggedItem() { return this.dnd.draggedItem; }\n get draggedItemInfo() { return this.dnd.draggedItemInfo; }\n get dragIdx() { return this.dnd.draggedItemIndex; }\n get draggedType() { return this.dnd.draggedType; }\n get draggableSidemenuItems() { return this.homeSvc.sideMenuDraggables; }\n\n public smWidgetsSubscription: Subscription;\n public mdWidgetsSubscription: Subscription;\n public widgetInfoSubscription: Subscription;\n public smallWidgets: WidgetModel[];\n public mediumWidgets: WidgetModel[];\n public smallWidgetsInfo: InformationModel[][] = [[], [], [], []];\n public mediumWidgetsInfo: InformationModel[][] = [[], []];\n\n public dropAreaId: string;\n public dragScrollStarted: boolean;\n public dragScrolling: boolean;\n public isDown: boolean;\n public startX: number;\n public scrollLeft: number;\n public showWidgetsBackdrop: boolean;\n public showWidgetsDropdown: boolean[] = [ false, false, false, false ];\n\n constructor(\n private dnd: SidemenuDragAndDropService,\n private homeSvc: HomeService,\n private renderer: Renderer2\n ) { }\n\n ngOnInit() {\n this.homeSvc.getDashData();\n this.smWidgetsSubscription = this.homeSvc.getSmWidgets().subscribe(widgets => this.smallWidgets = widgets);\n this.mdWidgetsSubscription = this.homeSvc.getMdWidgets().subscribe(widgets => this.mediumWidgets = widgets);\n this.widgetInfoSubscription = this.homeSvc.getwidgetInfo().subscribe(widgetsInfo => this.updateInfo(widgetsInfo));\n }\n\n updateInfo(widgetInfo: WidgetInfoModel): void {\n for (let i = 0; i < this.smallWidgets.length; i++) {\n if (widgetInfo.id === this.smallWidgets[i].id) {\n this.smallWidgetsInfo[i] = widgetInfo.info;\n }\n }\n for (let i = 0; i < this.mediumWidgets.length; i++) {\n if (widgetInfo.id === this.mediumWidgets[i].id) {\n this.mediumWidgetsInfo[i] = widgetInfo.info;\n }\n }\n }\n\n initDragScroll(event: MouseEvent) {\n event.preventDefault();\n if (this.dragScrollStarted || !this.hasFinishedLoading) {\n return;\n }\n this.dragScrollStarted = true;\n this.dragScroll();\n }\n\n dragScroll() {\n const slider = document.querySelector('.dash-container-sm');\n if (slider) {\n slider.addEventListener('mousedown', (e: MouseEvent) => {\n this.isDown = true;\n this.startX = e.pageX - slider.clientLeft;\n this.scrollLeft = slider.scrollLeft;\n setTimeout(() => { this.dragScrolling = true; }, 250);\n });\n slider.addEventListener('mouseleave', () => {\n this.isDown = false;\n });\n slider.addEventListener('mouseup', (e: MouseEvent) => {\n this.isDown = false;\n setTimeout(() => { this.dragScrolling = false; }, 100);\n });\n slider.addEventListener('mousemove', (e: MouseEvent) => {\n if (!this.isDown) {\n this.dragScrolling = false;\n return;\n }\n e.preventDefault();\n const x = e.pageX - slider.clientLeft;\n const walk = (x - this.startX);\n slider.scrollLeft = this.scrollLeft - walk;\n });\n }\n }\n\n checkScroll(event: PointerEvent) {\n if (event.buttons !== 1 || !this.dnd.draggedItem) { return false; }\n const widgetContainerSm = document.getElementById('widget-container-sm');\n const widgetContainerSmY = widgetContainerSm.getBoundingClientRect().top;\n const widgetContainerSmYFinal = widgetContainerSmY + 189;\n const windowWidth = window.innerWidth;\n if (this.dnd.isDragging && event.clientY > widgetContainerSmY && event.clientY < widgetContainerSmYFinal) {\n if (windowWidth - event.clientX < 50) {\n widgetContainerSm.scrollBy({ top: 0, left: 330, behavior: 'smooth' });\n } else if (event.clientX < 50) {\n widgetContainerSm.scrollBy({ top: 0, left: -330, behavior: 'smooth' });\n }\n }\n }\n\n startWidgetDrag(event: PointerEvent, i: number) {\n event.preventDefault();\n if (event.buttons !== 1) { return false; }\n const yOffset = window.pageYOffset;\n const draggedItem = this.smallWidgets[i];\n const draggedItemInfo = this.smallWidgetsInfo[i];\n this.dnd.setDraggedItem(draggedItem, 'widget', i, draggedItemInfo);\n this.renderer.setStyle(this.dragContainer.nativeElement, 'display', 'block');\n this.renderer.setStyle(this.dragContainer.nativeElement, 'cursor', 'grabbing');\n this.renderer.setStyle(this.dragEelement.nativeElement, 'left', `${event.clientX - 250}px`);\n this.renderer.setStyle(this.dragEelement.nativeElement, 'top', `${event.clientY - 20 + yOffset}px`);\n }\n\n moveDraggedWidget(event: PointerEvent) {\n this.checkScroll(event);\n const yOffset = window.pageYOffset;\n this.renderer.setStyle(this.dragEelement.nativeElement, 'left', `${event.clientX - 250}px`);\n this.renderer.setStyle(this.dragEelement.nativeElement, 'top', `${event.clientY - 20 + yOffset}px`);\n }\n\n finishWidgetDrag(event: PointerEvent) {\n event.preventDefault();\n this.renderer.setStyle(this.dragContainer.nativeElement, 'display', 'none');\n this.dropAreaId = document.elementFromPoint(event.clientX, event.clientY).id;\n this.widgetDrop();\n }\n\n widgetDrop() {\n let dropIdx = -1;\n if (this.dropAreaId.includes('dash-widget-sm')) {\n dropIdx = parseInt(this.dropAreaId.substr(15), 10);\n if (this.dragIdx !== dropIdx) {\n this.smallWidgetsInfo[dropIdx] = this.smallWidgetsInfo.splice(this.dragIdx, 1, this.smallWidgetsInfo[dropIdx])[0];\n this.smallWidgets[dropIdx] = this.smallWidgets.splice(this.dragIdx, 1, this.smallWidgets[dropIdx])[0];\n this.homeSvc.updateDashData(this.smallWidgets);\n }\n }\n this.dnd.clearDraggedItem();\n }\n\n addWidgetsDropdown(index: number) {\n this.showWidgetsDropdown[index] = true;\n this.showWidgetsBackdrop = true;\n }\n\n confirmAddWidgetDropdown(dropdownItem: SideMenuItemModel, index: number) {\n this.smallWidgets[index] = {\n id: dropdownItem.id,\n type: dropdownItem.label,\n title: dropdownItem.card_title,\n update_timer: dropdownItem.card_update_timer,\n action: dropdownItem.action\n };\n this.homeSvc.updateDashData(this.smallWidgets);\n this.showWidgetsBackdrop = false;\n this.showWidgetsDropdown = [ false, false, false, false ];\n }\n\n cancelAddWidgetDropdown() {\n this.showWidgetsBackdrop = false;\n this.showWidgetsDropdown = [ false, false, false, false ];\n }\n\n removeWidget(index: number) {\n this.smallWidgets.splice(index, 1, {});\n this.smallWidgetsInfo.splice(index, 1, [{}]);\n this.homeSvc.updateDashData(this.smallWidgets);\n }\n\n}\n","\n","import { Component, OnInit, Renderer2, ViewChild, ElementRef } from '@angular/core';\nimport { SideMenuItemModel } from '../core/models/sidemenu.model';\n\nimport { HomeService } from './service/home.service';\nimport { FormBuilder } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../core/models/widget.model';\nimport {SidemenuDragAndDropService } from 'lps-navigation';\nimport { AuthTokenService } from '../core/services/auth-token/auth-token.service';\nimport { FeatureToggleService } from '../core/toggle/feature-toggle.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n isManager = false;\n\n constructor(\n private authTokenService: AuthTokenService,\n private featureToggleService: FeatureToggleService,\n ) { }\n\n ngOnInit(): void {\n this.isManager = this.featureToggleService.isActive('toggle_manager_vision') && this.authTokenService.isManager();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CoreModule } from '../core/core.module';\nimport { EditFacModalModule } from '../shared/components/edit-fac-modal/edit-fac-modal.module';\nimport { SharedModule } from '../shared/shared.module';\n\nimport { HomeComponent } from './home.component';\nimport { WidgetComponent } from '../shared/components/widgets/widget.component';\nimport { FacsTimeComponent } from '../shared/components/widgets/facs-time/facs-time.component';\nimport { FacsTempComponent } from '../shared/components/widgets/facs-temp/facs-temp.component';\nimport { FacsFavComponent } from '../shared/components/widgets/facs-fav/facs-fav.component';\nimport { ScheduledVisitsComponent } from '../shared/components/widgets/scheduled-visits/scheduled-visits.component';\nimport { ClockComponent } from '../shared/components/widgets/clock/clock.component';\nimport { FunnelComponent } from '../shared/components/widgets/funnel/funnel.component';\nimport { ScheduleComponent } from '../shared/components/widgets/schedule/schedule.component';\n\nimport { HomeService } from './service/home.service';\nimport { CtaBannerComponent } from '../cta-banner/cta-banner.component';\nimport { HomeRealtorComponent } from './home-realtor/home-realtor.component';\nimport { HomeManagerComponent } from './home-manager/home-manager.component';\nimport { ManagerFiltersComponent } from './manager-filters/manager-filters.component';\nimport { SatDatepickerModule, SatNativeDateModule } from 'saturn-datepicker';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { ChartContactTypeComponent } from './home-manager/components/chart-contact-type/chart-contact-type.component';\nimport { ChartsModule } from 'ng2-charts';\nimport { ChartPerformanceTeamComponent } from './home-manager/components/chart-performance-team/chart-performance-team.component';\nimport {DoneVisitsComponent} from '../shared/components/widgets/done-visits/done-visits.component';\nimport {FacsReceivedsComponent} from '../shared/components/widgets/facs-receiveds/facs-receiveds.component';\nimport {ProposalsMadeComponent} from '../shared/components/widgets/proposals-made/proposals-made.component';\nimport {OutdatedFacsComponent} from '../shared/components/widgets/outdated-facs/outdated-facs.component';\nimport {HomeManagerService} from './service/home-manager.service';\n\n@NgModule({\n declarations: [\n HomeComponent,\n WidgetComponent,\n FacsTimeComponent,\n FacsTempComponent,\n FacsFavComponent,\n ScheduledVisitsComponent,\n ClockComponent,\n FunnelComponent,\n ScheduleComponent,\n CtaBannerComponent,\n HomeRealtorComponent,\n HomeManagerComponent,\n ManagerFiltersComponent,\n ChartContactTypeComponent,\n ChartPerformanceTeamComponent,\n DoneVisitsComponent,\n FacsReceivedsComponent,\n ProposalsMadeComponent,\n OutdatedFacsComponent\n ],\n imports: [\n CoreModule,\n SharedModule,\n EditFacModalModule,\n SatDatepickerModule,\n SatNativeDateModule,\n MatDatepickerModule,\n ChartsModule\n ],\n exports: [\n HomeComponent\n ],\n providers: [HomeService, HomeManagerService],\n})\nexport class HomeModule {\n\n }\n","
\n
\n Hoje\n \n
\n
\n Últimos 15 dias\n \n
\n
\n Últimos 30 dias\n \n
\n
\n \n \n \n
\n
\n","import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';\nimport {SatDatepickerRangeValue} from 'saturn-datepicker';\nimport {CommunicationProxyService} from '../../shared/services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../shared/enum/communication-subject-enum';\nimport moment from 'moment';\nimport {MatInput} from '@angular/material/input';\nimport {subDays} from 'date-fns';\n\nexport interface ManagerFiltersControls extends SatDatepickerRangeValue {\n type: ManagerFilterType;\n}\n\nexport enum ManagerFilterType {\n Today,\n FifteenDays,\n ThirtyDays,\n Range\n}\n\n@Component({\n selector: 'app-manager-filters',\n templateUrl: './manager-filters.component.html',\n styleUrls: ['./manager-filters.component.scss']\n})\nexport class ManagerFiltersComponent implements OnInit, AfterViewInit {\n\n constructor(private communicationProxyService: CommunicationProxyService) {\n }\n\n filtersControls: ManagerFiltersControls;\n today: Date = new Date();\n minRangeDate: Date = subDays(this.today, 90);\n\n @ViewChild(MatInput) picker: MatInput;\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n this.applyFilter({begin: null, end: null, type: 0});\n }\n\n applyFilter(filtersControls: ManagerFiltersControls) {\n if ((filtersControls.type !== ManagerFilterType.Range) && this.picker) {\n this.picker.value = null;\n }\n this.sendFiltersUpdatedMessage(filtersControls);\n }\n\n sendFiltersUpdatedMessage(filtersControls: ManagerFiltersControls) {\n this.formatteDateFilter(filtersControls);\n this.communicationProxyService.publishMessage(CommunicationSubjectEnum.onManagerFiltersUpdated, filtersControls);\n }\n\n formatteDateFilter(filtersControls: ManagerFiltersControls) {\n let startdate: any = moment();\n switch (filtersControls.type) {\n case 0:\n filtersControls.begin = moment(new Date().setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]00:00:00.000[Z]');\n filtersControls.end = null;\n break;\n\n case 1:\n startdate = startdate.subtract(15, 'days');\n filtersControls.begin = moment(new Date(startdate).setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]00:00:00.000[Z]');\n filtersControls.end = moment(new Date().setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]23:59:59.999[Z]');\n break;\n\n case 2:\n startdate = startdate.subtract(30, 'days');\n filtersControls.begin = moment(new Date(startdate).setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]00:00:00.000[Z]');\n filtersControls.end = moment(new Date().setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]23:59:59.999[Z]');\n break;\n\n case 3:\n filtersControls.begin = moment(new Date(filtersControls.begin).setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]00:00:00.000[Z]');\n filtersControls.end = moment(new Date(filtersControls.end).setHours(0, 0, 0, 0)).format('YYYY-MM-DD[T]23:59:59.999[Z]');\n break;\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\n\nimport {LoginService} from 'lps-navigation';\nimport {Subject} from 'rxjs';\n\nimport {WidgetInfoModel, WidgetModel} from 'src/app/core/models/widget.model';\nimport {EnvironmentService} from 'src/app/core/enviroment/environment.service';\nimport {ManagerFiltersControls} from '../manager-filters/manager-filters.component';\nimport {getManagerFilterBeginDate, getManagerFilterEndDate} from '../../core/helpers/date.helper';\nimport {HomeService} from './home.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeManagerService {\n\n private uri = this.environmentService.getEnvVar('api_home');\n public homeData: any;\n public dashData: any;\n public sidebarData: any;\n public sideMenuDraggables: any;\n public profileData: any;\n\n public getDashDataFinished: boolean;\n public storedDateTime: any;\n\n public smWidgets: Subject = new Subject();\n public smWidgetsSet: WidgetModel[] = [];\n public widgetInfo: Subject = new Subject();\n\n constructor(\n public http: HttpClient,\n private loginService: LoginService,\n private homeService: HomeService,\n private environmentService: EnvironmentService\n ) { }\n\n get jwtToken(): string {\n return this.loginService.getAuthInformation().token;\n }\n\n public clearHomeCrmToken() {\n this.sidebarData = null;\n this.profileData = null;\n this.getDashDataFinished = false;\n }\n\n public getCrmHome() {\n return this.http.get(`${this.uri}/crm-home`);\n }\n\n public getManagerDashWidgets() {\n return this.http.get(`${this.uri}/manager-cards?` + Math.random());\n }\n\n public getManagerDashWidgetData(id: string, beginDate: string, endDate: string) {\n return this.http.get(\n `${this.uri}/manager-card-info/${id}?begin-date=${beginDate}&end-date=${endDate}&`\n + Math.random());\n }\n\n public getSmWidgets() {\n return this.smWidgets.asObservable();\n }\n\n public setSmWidgets(widgets: WidgetModel[]) {\n this.smWidgets.next(widgets);\n }\n\n public getwidgetInfo() {\n return this.widgetInfo.asObservable();\n }\n\n public setwidgetInfo(info: WidgetInfoModel) {\n this.widgetInfo.next(info);\n }\n\n public getManagerDashData() {\n if (!this.jwtToken) { return false; }\n this.dashData = this.getManagerDashWidgets()\n .subscribe(\n (res) => {\n this.setSmWidgets(res.card_items);\n this.smWidgetsSet = res.card_items;\n this.getDashDataFinished = true;\n },\n (err) => console.log(err)\n );\n }\n\n public fetchManagerWidgetData(widgetId: string, filtersControls: ManagerFiltersControls) {\n if (!this.jwtToken) { return false; }\n\n const beginDate = getManagerFilterBeginDate(filtersControls);\n const endDate = getManagerFilterEndDate(filtersControls);\n\n this.getManagerDashWidgetData(widgetId, beginDate, endDate)\n .subscribe(\n (res) => {\n if (res && res.informations) {\n const wInfo: WidgetInfoModel = {\n id: widgetId,\n info: res.informations\n };\n this.setwidgetInfo(wInfo);\n }\n },\n (err) => console.log(err)\n );\n }\n\n public getDraggableSidemenuItems() {\n const sidemenuDraggables = [];\n sidemenuDraggables.push({\n id: '4ae51df7-e019-48cd-9837-99b0a94c83ca',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Visitas realizadas',\n icon: '',\n card_title: 'Visitas realizadas'\n });\n sidemenuDraggables.push({\n id: '1cc360b5-07a7-4529-9c9c-9adf8caf01fc',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Facs recebidas',\n icon: '',\n card_title: 'Facs recebidas'\n });\n sidemenuDraggables.push({\n id: '29204ca6-0d1c-4f4b-bdec-f550c46e234d',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Propostas',\n icon: '',\n card_title: 'Propostas'\n });\n sidemenuDraggables.push({\n id: '0e62279f-29d5-43b8-8976-74ed6642e613',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Facs desatualizadas',\n icon: '',\n card_title: 'Facs desatualizadas'\n });\n this.sideMenuDraggables = sidemenuDraggables;\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\n\nimport {LoginService} from 'lps-navigation';\n\nimport {delay, map, retryWhen, take} from 'rxjs/operators';\nimport {Observable, Subject} from 'rxjs';\n\nimport {WidgetInfoModel, WidgetModel} from 'src/app/core/models/widget.model';\nimport {EnvironmentService} from 'src/app/core/enviroment/environment.service';\nimport {DropActionModel} from '../../core/models/sidemenu.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeService {\n\n private uri = this.environmentService.getEnvVar('api_home');\n public uriv2 = this.environmentService.getEnvVar('api_facs_v2');\n private retryITNERVAL = 500;\n private retryLIMIT = 10;\n public homeData: any;\n public dashData: any;\n public sidebarData: any;\n public sideMenuDraggables: any;\n public profileData: any;\n\n public getDashDataFinished: boolean;\n public storedDateTime: any;\n\n public smWidgets: Subject = new Subject();\n public smWidgetsSet: WidgetModel[] = [];\n public mdWidgets: Subject = new Subject();\n public widgetInfo: Subject = new Subject();\n\n public fixedMdWidgets = [\n {\n id: '76aca7de-1cf3-4dd5-85c9-edf40cf549d7',\n title: 'Funil de atendimento',\n type: 'funnel',\n values: [],\n update_timer: 60000,\n action: {\n type: '',\n target: '',\n url: ''\n },\n size: 'medium'\n },\n {\n id: '7afed576-02c5-4fce-967b-6773e3e4c960',\n title: 'Tarefas do dia',\n type: 'activities',\n values: [],\n update_timer: 60000,\n action: {\n type: '',\n target: '',\n url: ''\n },\n size: 'medium'\n }\n ];\n\n constructor(\n public http: HttpClient,\n private loginService: LoginService,\n private environmentService: EnvironmentService\n ) { }\n\n get jwtToken(): string {\n return this.loginService.getAuthInformation().token;\n }\n\n public clearHomeCrmToken() {\n this.sidebarData = null;\n this.profileData = null;\n this.getDashDataFinished = false;\n }\n\n public getCrmHome() {\n return this.http.get(`${this.uri}/crm-home`);\n }\n\n public getDashWidgets() {\n return this.http.get(`${this.uri}/cards?` + Math.random());\n }\n\n public getDashWidgetData(id: string) {\n return this.http.get(`${this.uri}/card-info/${id}?` + Math.random());\n }\n\n public putDashWidgets(widgets: WidgetModel[]) {\n return this.http.put(`${this.uri}/cards`,\n {\n layout: 1,\n card_items: widgets\n });\n }\n\n public getSmWidgets() {\n return this.smWidgets.asObservable();\n }\n\n public setSmWidgets(widgets: WidgetModel[]) {\n this.smWidgets.next(widgets);\n }\n\n public getMdWidgets() {\n return this.mdWidgets.asObservable();\n }\n\n public setMdWidgets(widgets: WidgetModel[]) {\n this.mdWidgets.next(widgets);\n }\n\n public getwidgetInfo() {\n return this.widgetInfo.asObservable();\n }\n\n public setwidgetInfo(info: WidgetInfoModel) {\n this.widgetInfo.next(info);\n }\n\n public changeQueueStatus(status) {\n return this.http.put(`${this.uri}/queue-status`, status);\n }\n\n public setQueueAway() {\n return this.http.patch(`${this.uri}/queue/status-away`, {});\n }\n\n public getDashData() {\n if (!this.jwtToken) { return false; }\n this.dashData = this.getDashWidgets()\n .subscribe(\n (res) => {\n this.setSmWidgets(res.card_items);\n this.setMdWidgets(this.fixedMdWidgets);\n this.smWidgetsSet = res.card_items;\n this.getDashDataFinished = true;\n },\n (err) => console.log(err)\n );\n }\n\n public fetchWidgetData(widgetId: string) {\n if (!this.jwtToken) { return false; }\n this.getDashWidgetData(widgetId)\n .subscribe(\n (res) => {\n if (res && res.informations) {\n const wInfo: WidgetInfoModel = {\n id: widgetId,\n info: res.informations\n };\n this.setwidgetInfo(wInfo);\n }\n },\n (err) => console.log(err)\n );\n }\n\n public updateDashData(widgets: WidgetModel[]) {\n if (!this.jwtToken) { return false; }\n this.putDashWidgets(widgets).subscribe(\n resp => {\n if (resp.status.id === 0) {\n this.checkTaskStatus(resp.taskId).subscribe(response => {\n if (!response) {\n return false;\n }\n this.getDashData();\n },\n err => {\n console.log(err);\n });\n }\n }\n );\n }\n\n public updateServerDateTime(dateTime: any): void {\n this.storedDateTime = dateTime;\n }\n\n public checkTaskStatus(taskId): Observable {\n let count = 1;\n return this.http.get(`${this.uri}/task/${taskId}`).pipe(\n map(response => {\n if (count >= this.retryLIMIT) {\n return null;\n }\n if (response.status.id === 0) {\n count = count + 1;\n throw response;\n }\n return response;\n }),\n retryWhen((errors: any) => {\n return errors.pipe(delay(this.retryITNERVAL), take(this.retryLIMIT));\n })\n );\n }\n\n public getDraggableSidemenuItems(sidebar) {\n const sidemenuDraggables = [];\n for (const item of sidebar) {\n if (item.menu_item.draggable) {\n sidemenuDraggables.push(item.menu_item);\n }\n if (item.sub_menu_items) {\n for (const sub of item.sub_menu_items) {\n if (sub.draggable) {\n sidemenuDraggables.push(sub);\n }\n }\n }\n }\n // widgets outside sidemenu\n sidemenuDraggables.push({\n id: '5be581e8-3cab-43cc-8b19-b7c913615298',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Facs favoritas',\n icon: '',\n card_title: 'Facs favoritas'\n });\n sidemenuDraggables.push({\n id: '842dd4f7-8e15-47ea-80c4-6a1c4341c1fc',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Visitas agendadas',\n icon: '',\n card_title: 'Visitas agendadas'\n });\n sidemenuDraggables.push({\n id: 'ff20ec35-854d-4675-a058-fdfd8d357f55',\n action: {\n type: '',\n target: '',\n url: ''\n },\n draggable: true,\n label: 'Relógio',\n icon: '',\n card_title: 'Relógio'\n });\n this.sideMenuDraggables = sidemenuDraggables;\n }\n\n addDashWidget(action: DropActionModel) {\n this.smWidgetsSet[action.position] = {\n id: action.item.id,\n type: action.item.label,\n title: action.item.card_title,\n update_timer: action.item.card_update_timer,\n action: action.item.action\n };\n this.updateDashData(this.smWidgetsSet);\n }\n\n public filterFacInAttendance(ranges: any): any {\n return {\n and: {\n ranges: [ranges],\n filters: [\n {\n field: 'funnel_stage.value',\n value: 'Em Atendimento',\n match: 'PHRASE'\n }\n ],\n tags: []\n }\n };\n }\n\n public filterFacPerformanceTeam(ranges: any): any {\n return {\n and: {\n ranges: [ranges],\n filters: [],\n tags: []\n }\n };\n }\n\n getCountContactType(ranges: any) {\n const param = this.filterFacInAttendance(ranges);\n return this.http.post(`${this.uriv2}/fac/count-contact-type`, param);\n }\n\n getCountPerformanceTeam(ranges: any) {\n const param = this.filterFacPerformanceTeam(ranges);\n return this.http.post(`${this.uriv2}/fac/performance-team`, param);\n }\n\n}\n","import { ApplicationInitializeService } from './core/services/application-initialize-service/application-initialize.service';\n\nexport function initializationFactory(initializeService: ApplicationInitializeService): () => Promise {\n return () => {\n return new Promise(resolve => {\n initializeService.initialize();\n resolve();\n });\n };\n}\n","
\n
\n \n
\n
\n
\n \n
\n
\n
\n

Resumo

\n

Confira abaixo as informações escolhidas para participar da campanha.

\n
\n \n \n {{ btnBilletLabel }}\n \n \n
\n
\n\n
\n

Produto:{{ formSummary.get('productName').value }} - Ficha do imóvel

\n

Data da Inscrição:{{ formSummary.get('subscription').value.start | date:'dd/MM/yy' }}

\n

Status da Inscrição:{{ formSummary.get('subscriptionStatusLabel').value }}

\n
\n
\n

Mercado:Primário

\n

Início:{{ formSummary.get('subscription').value.start | date:'dd/MM/yy' }}

\n
\n
\n

Investimento:{{ formSummary.get('investmentAmount').value | currency: 'BRL' }}

\n

Término:{{ formSummary.get('subscription').value.end | date:'dd/MM/yy' }}

\n
\n
\n\n
\n

Mercado:Primário

\n

Investimento:{{ formSummary.get('investmentAmount').value | currency: 'BRL' }}

\n
\n

Início:{{ formSummary.get('subscription').value.start | date:'dd/MM/yy' }}

\n

Término:{{ formSummary.get('subscription').value.end | date:'dd/MM/yy' }}

\n
\n
\n

\n Tipo de segmentação:\n {{ formSummary.get('typeSegmentation').value }}\n

\n
\n\n
\n
    \n
  • \n \n \n
  • \n
\n\n
= maxParticipants || !isEditable\n }\">\n = maxParticipants || !isEditable\">\n Adicionar corretor\n \n

Máximo: {{ maxParticipants }} participantes

\n
\n
\n\n
\n
\n \n Voltar\n \n \n Confirmar alteração\n \n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { take } from 'rxjs/operators';\nimport { Matched } from 'src/app/core/models/lead-campaign';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\nimport { ButtonsPopupService } from 'src/app/shared/components/buttons-popup/service/buttons-popup.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { LeadCampaignService } from '../lead-campaign.service';\nimport { SubscriptionStatusEnum } from '../enum/subscription-status-enum';\n\n@Component({\n selector: 'app-application-summary',\n templateUrl: './application-summary.component.html',\n styleUrls: ['./application-summary.component.scss']\n})\nexport class ApplicationSummaryComponent implements OnInit {\n\n @Output() public closeSummary = new EventEmitter();\n @Output() public finished = new EventEmitter();\n\n @Input() public campaign;\n @Input() public isSummary: boolean = false;\n \n public minValue: number = 500;\n public maxParticipants: number = 5;\n public messageErro: string = 'Ajuste os percentuais para totalizar 100%';\n public valueErro: string = 'O somatório dos participantes deve ser igual ao total investido';\n public participantFieldError = [];\n public formSummary: FormGroup;\n public isLoading: boolean = true;\n public isSegmentationAvailable: boolean;\n public isGeneratingBillet: boolean;\n public isEditable: boolean = true;\n public btnBilletLabel: string = 'Gerar boleto';\n public billetUrl: string;\n public btnLoading: boolean = true;\n public wasModified: boolean = false;\n\n constructor(\n private fb: FormBuilder,\n private scroll: WindowScrollService,\n private campaignService: LeadCampaignService,\n private snackService: SnackbarService,\n private featureToggleService: FeatureToggleService,\n private btnService: ButtonsPopupService\n ) { }\n\n ngOnInit(): void {\n this.initialize();\n this.checkToggles();\n this.loadSubSettings();\n }\n\n private checkToggles(): void {\n this.isGeneratingBillet = this.featureToggleService.isActive('toggle_lopes_lead_generate_billet');\n this.isSegmentationAvailable = this.featureToggleService.isActive('toggle_lopes_lead_segmentation_available');\n }\n\n private loadSubSettings() {\n const isCustomSub = this.featureToggleService.isActive('toggle_lopes_lead_custom_subscription');\n const group = this.campaign.campaign_group;\n if (isCustomSub && group.max_realtor) {\n this.minValue = group.min_value;\n this.maxParticipants = group.max_realtor;\n }\n }\n\n private initialize(): void {\n this.formSummary = this.fb.group({\n id: [null, Validators.required],\n productName: [this.campaign.product_name, Validators.required],\n productImageUrl: [this.campaign.product_image_url, Validators.required],\n sku: [this.campaign.product_sku, Validators.required],\n subscription: [this.campaign.subscription, Validators.required],\n duration: [this.campaign.duration, Validators.required],\n investmentAmount: [null, Validators.required],\n participants: [null, Validators.required],\n typeSegmentation: [{title: 'Prefiro que a Lopes escolha por mim.'}, Validators.required],\n campaignGroup: [this.campaign.campaign_group, Validators.required],\n subscriptionStatus: [null],\n subscriptionStatusLabel: [null]\n });\n this.getSubscriptionInfo();\n }\n \n public getSubscriptionInfo(): void {\n this.campaignService.getSubscription(this.campaign.id)\n .pipe(take(1))\n .subscribe(res => {\n const sub = res.body;\n const status = SubscriptionStatusEnum[sub.subscription_status];\n const participants = sub.participants?.map(participant => {\n let part = {...participant} //Cloning without reference\n part.participation_value = this.getValue(\n sub.investment_amount, \n part.participation_percentage\n );\n return part;\n });\n\n this.formSummary.controls.participants = this.fb.array(participants);\n this.formSummary.patchValue({\n id: sub.id,\n investmentAmount: sub.investment_amount,\n typeSegmentation: sub.segmentation_type,\n subscriptionStatus: sub.subscription_status,\n subscriptionStatusLabel: status\n });\n\n this.getBillet();\n });\n }\n\n public getValue(amount: number, percent: number): number {\n return Number((amount / 100 * percent).toFixed(2));\n }\n\n get participants() {\n return this.formSummary.get('participants') as FormArray;\n }\n \n public minParticipantValue = () => {\n return {\n title: 'ATENÇÃO!',\n description: `O valor mínimo para essa campanha é de \n ${this.minValue.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })}.`,\n buttons: [\n {\n btnType: 0,\n title: 'OK',\n func: () => null,\n }\n ]\n }\n };\n\n public generateConfirmation = () => {\n return {\n title: 'ATENÇÃO!',\n description: `Após o boleto ser gerado, não será possível alterar os dados da sua inscrição.\n Deseja prosseguir?`,\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => null,\n },\n {\n btnType: 0,\n title: 'Confirmar',\n func: () => this.generateBillet(),\n }\n ]\n }\n };\n\n public changesNotSaved = () => {\n return {\n title: 'ATENÇÃO!',\n description: `Você possui mudanças que ainda não foram salvas, deseja \n prosseguir mesmo assim?`,\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => null,\n },\n {\n btnType: 0,\n title: 'Confirmar',\n func: () => {\n this.wasModified = false;\n setTimeout(() => this.handleBilletGeneration(), 200)\n },\n }\n ]\n }\n };\n\n public closeModal(formChanged: boolean = false): void {\n this.closeSummary.emit(formChanged);\n this.scroll.disable();\n }\n\n public prepareData() {\n const values = this.formSummary.getRawValue();\n return {\n 'id': values.id,\n 'investment_amount': values.investmentAmount,\n 'participants': values.participants\n }\n }\n\n public save(): void {\n this.isLoading = true;\n const total = this.formSummary.value.investmentAmount;\n if (total < this.minValue) {\n this.btnService.show(this.minParticipantValue());\n this.isLoading = false;\n return;\n }\n \n const preparedData = this.prepareData();\n \n this.campaignService.updateSubscription(\n this.campaign.id,\n preparedData\n ).pipe(take(1))\n .subscribe(res => {\n if (res.status_code_value === 200) {\n this.snackService.show('Inscrição atualizada com sucesso.', 'success');\n this.closeModal(true);\n }\n }, err => {\n this.snackService.show('Não foi possível atualizar as informações.', 'error', 10);\n throw new Error(err);\n }, () => {\n this.isLoading = false;\n });\n }\n\n public isFormInvalid(): boolean {\n const participants = this.formSummary.getRawValue().participants;\n return participants?.find(part => part.user_id === null);\n }\n\n public newParticipant(): void {\n if (this.participants.length >= this.maxParticipants) {\n return;\n }\n this.participants.push(this.addUserAutocomple());\n }\n\n public addUserAutocomple(data?: Matched, value?: number): FormGroup {\n return this.fb.group({\n user_id: [data?.id ? data.id : null, Validators.required],\n user_name: [data?.name ? data.name : null, Validators.required],\n user_nickname: [data?.nickname ? data.nickname : null, Validators.required],\n participation_value: [value, Validators.required],\n participation_percentage: [value, Validators.required],\n picture_url: [''],\n });\n }\n\n public editParticipant(data: any): void {\n const { index, participant } = data;\n let totalSum = this.getTotalInvestiment(index);\n let participantValue = participant.participation_value;\n\n if (typeof participantValue === 'string') {\n participantValue = this.campaignService.parseCurrency(participant.participation_value);\n }\n\n totalSum += participantValue;\n\n let newPartArray = this.participants.value.map((part, ind) => {\n let partValue = part.participation_value;\n\n if (ind === index) {\n part.user_id = participant.user_id;\n part.picture_url = participant.picture_url;\n part.user_name = participant.user_name;\n part.user_nickname = participant.user_nickname;\n part.participation_value = participantValue;\n partValue = participantValue;\n }\n\n let partPercentage = this.campaignService.getPercentage(totalSum, partValue);\n part.participation_percentage = partPercentage;\n\n return part;\n });\n\n this.wasModified = true;\n this.formSummary.controls.investmentAmount.setValue(totalSum);\n this.formSummary.controls.participants = this.fb.array(newPartArray);\n }\n\n public getTotalInvestiment(ignoreIndex: number = null): number {\n return this.formSummary.controls.participants.value.reduce((acc, part, ind) => {\n if (ind !== ignoreIndex) {\n acc += part.participation_value;\n }\n return acc;\n }, 0);\n }\n\n public removeParticipant(index: number):void {\n const totalSum = this.getTotalInvestiment(index);\n this.participants.removeAt(index);\n \n const participants = this.participants.getRawValue().map(participant => {\n let part = {...participant} //Cloning without reference\n part.participation_percentage = this.campaignService.getPercentage(\n totalSum, part.participation_value\n );\n \n return part;\n });\n \n this.formSummary.controls.participants = this.fb.array(participants);\n this.formSummary.controls.investmentAmount.setValue(totalSum);\n }\n\n public handleBilletGeneration(): void {\n if (this.wasModified) { \n this.btnService.show(this.changesNotSaved());\n return;\n }\n if (this.isEditable) {\n this.btnService.show(this.generateConfirmation());\n return;\n }\n window.open(this.billetUrl);\n }\n\n public generateBillet(): void {\n this.btnLoading = true;\n\n this.campaignService.generateBillet(\n this.campaign.id,\n this.formSummary.controls.id.value\n ).pipe(take(1))\n .subscribe(res => {\n if (res.status_code_value === 200) {\n setTimeout(() => {\n this.snackService.show('Boleto solicitado! Estará disponível para download em alguns instantes.', 'success');\n this.getSubscriptionInfo();\n }, 3000)\n }\n }, err => {\n this.snackService.show('Não foi possível atualizar as informações.', 'error', 10);\n this.btnLoading = false;\n throw new Error(err.message);\n });\n }\n\n public getBillet() {\n this.btnLoading = true;\n \n this.campaignService.getBillet(\n this.formSummary.controls.id.value\n ).pipe(take(1))\n .subscribe(res => {\n if (res.file_url) {\n this.billetUrl = res.file_url;\n this.btnBilletLabel = 'Visualizar boleto';\n this.btnLoading = false;\n }\n if (this.formSummary.get('subscriptionStatus').value != 'PAYMENT_PENDING') {\n this.isEditable = false;\n }\n }, err => {\n this.snackService.show('Não foi possível buscar o boleto..', 'error', 10);\n throw new Error(err.message);\n }, () => {\n this.btnLoading = false;\n this.isLoading = false;\n });\n }\n\n public showBilletBtn(): boolean {\n const status = ['PAYMENT_PENDING', 'INVOICE_GENERATED'];\n \n return this.isGeneratingBillet && \n status.includes(this.formSummary.get('subscriptionStatus').value);\n }\n}","
\n \n \n\n \n
","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\n\nimport { debounceTime, distinctUntilChanged, filter, take } from 'rxjs/operators';\n\nimport { AutocompleteLead } from '../../core/models/lead-campaign';\nimport { LeadCampaignService } from '../lead-campaign.service';\n\n@Component({\n selector: 'app-lead-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss']\n})\nexport class AutocompleteComponent implements OnInit {\n\n @Input() public id = 'lead';\n @Input() public data: FormGroup;\n @Input() public field = '';\n @Input() public campaignId: string;\n @Input() public participants: any[];\n @Input() public isError: boolean = false;\n @Output() public fieldUser = new EventEmitter();\n\n public requestAutocomplete = new FormControl();\n public list: AutocompleteLead [] = [];\n public innerData = '';\n public open = false;\n public loading: boolean = true;\n public error: boolean = false;\n public messageError: string = 'O corretor não foi adicionado, por favor selecione um corretor.';\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.open) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n if (!this.error) {\n this.error = true;\n this.messageError = 'O corretor não foi adicionado, por favor selecione novamente.';\n this.fieldUser.emit(null);\n }\n this.closeOptions();\n }\n }\n }\n\n constructor(private eRef: ElementRef, private service: LeadCampaignService) { }\n\n ngOnInit(): void {\n this.searchAutocomplete();\n \n setTimeout(() => {\n const valueField = this.field ? this.data.value[this.field] : this.data.value['user_name'];\n if (valueField) {\n this.requestAutocomplete.setValue(valueField);\n }\n this.loading = false;\n }, 1200)\n }\n\n public searchAutocomplete() {\n this.requestAutocomplete.valueChanges.pipe(\n debounceTime(600),\n filter((x: string) => x?.length >= 3 || !x?.length),\n distinctUntilChanged(),\n ).subscribe((auto: string) => this.requestList(auto));\n }\n\n public requestList(auto: string): void {\n if (auto?.length >= 3 && this.innerData !== auto) {\n this.error = false;\n this.loading = true;\n this.service.getParticipantsAutoComplete(auto).subscribe((result) => {\n this.list = result;\n this.open = true;\n this.loading = false;\n const user = result.find(\n person => person.matched_record.nickname === this.data.value[this.field]\n );\n if (user) {\n this.closeOptions();\n this.checkNewParticipant(user, true);\n }\n });\n } else {\n this.closeOptions();\n this.list = [];\n }\n }\n\n public newUser(data: AutocompleteLead): void {\n this.innerData = data.matched_record.nickname;\n this.fieldUser.emit(data);\n this.requestAutocomplete.setValue(data.matched_record.nickname);\n this.closeOptions();\n }\n\n closeOptions() {\n this.open = false;\n }\n\n public checkNewParticipant(participant: AutocompleteLead, loggedUser = false): void {\n const isNotDuplicated = !this.isParticipantDuplicated(participant);\n if (loggedUser || (!loggedUser && isNotDuplicated)) {\n this.service.realtorAlreadyParticipating(this.campaignId, participant.matched_record.id)\n .pipe(take(1))\n .subscribe(isParticipating => {\n if (isParticipating && isNotDuplicated) {\n this.error = true;\n this.messageError = `O corretor ${participant.matched_record.nickname} \n (${participant.matched_record.name}) já está participando da campanha \n do Lopes Leads para esse produto.`;\n this.fieldUser.emit(null);\n this.closeOptions();\n } else {\n this.error = false;\n this.newUser(participant);\n }\n });\n } else {\n this.error = true;\n this.messageError = `Este corretor já foi selecionado.`;\n }\n }\n\n public isParticipantDuplicated(participant: AutocompleteLead): boolean {\n return this.participants.find(\n part => part.user_nickname === participant.matched_record.nickname\n ) != undefined;\n }\n}","export enum SubscriptionStatusEnum {\n PAYMENT_PENDING = 'Boleto não gerado',\n PAYMENT_APROVED = 'Pagamento aprovado',\n CANCELED = 'Cancelada',\n WAITING_PAYMENT_SLIP = 'Aguardando geração do boleto',\n INVOICE_GENERATED='Pagamento pendente'\n}","
\n \"{{\n

\n {{ title }}\n

\n
\n ","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-faq-card',\n templateUrl: './faq-card.component.html',\n styleUrls: ['./faq-card.component.scss']\n})\nexport class FaqCardComponent {\n\n @Input() title: string;\n @Input() titleColor: 'red' | 'black' = 'red';\n @Input() icon: string;\n @Input() selected: boolean = false;\n\n constructor() { }\n}","
\n

Olá, como podemos ajudar?

\n\n
\n
\n \n
\n

Encontre respostas para as perguntas frequentes

\n
\n\n
\n \n \n \n \n
\n\n \n\n
\n

Ainda tem dúvidas?

\n

Então entre em contato com o nosso suporte por email ou por WhatsApp

\n
\n \n \n
\n \n \n Voltar\n \n
\n
","import { Component, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FaqItem } from 'src/app/core/models/lead-campaign';\n\n@Component({\n selector: 'app-faq-home',\n templateUrl: './faq-home.component.html',\n styleUrls: ['./faq-home.component.scss']\n})\nexport class FaqHomeComponent implements OnDestroy {\n\n public category: 'general' | 'campaigns' | 'leads' = 'general';\n public loading: boolean = false;\n public timer;\n public faq: FaqItem[] = [{\n question: `O Lopes Leads vai me trazer mais leads do que qualquer outra campanha\n que eu faça?`,\n answer: `Sim, o objetivo do Lopes Leads é te entregar mais leads do que você \n conseguiria sozinho, fazendo seu investimento render mais. Isso é possível \n pois nossas campanhas são operadas com base numa inteligência desenvolvida \n por profissionais com anos de expertise em mídia digital do Lopes Labs.`,\n category: 'leads',\n wasUseful: null\n }, {\n question: `Dos leads que recebo, como saberei quais são do Lopes Leads?`,\n answer: `Se um lead vem de uma campanha de mídia, é possível ver o nome da \n mesma nos comentários da respectiva FAC. Caso o nome da campanha contenha \n a sigla \"LL\" (referência às iniciais de Lopes Leads), significa que o lead \n veio de uma campanha do Lopes Leads.`,\n category: 'leads',\n wasUseful: null\n }, {\n question: `Quantos leads receberei com esse investimento?`,\n answer: `Como estamos falando de campanhas de performance, não há um custo \n por lead pré-determinado que nos ajude a garantir um volume fechado de \n leads. As variáveis que impactam esse resultado são muitas. O volume de \n leads varia de acordo com fatores como: o investimento, o perfil do \n produto, a segmentação escolhida, e a performance da campanha. Lembrando \n que o objetivo do Lopes Leads é te entregar mais leads do que você \n conseguiria sozinho.`,\n category: 'leads',\n wasUseful: null\n }, {\n question: `Como conseguirei ver os resultados e leads dessa campanha?`,\n answer: `Assim que a campanha for ativada, você receberá por email um link \n de acesso a um relatório. Lá você poderá acompanhar o status da campanha \n e o desempenho do volume de leads.`,\n category: 'leads',\n wasUseful: null\n }, {\n question: `Se outro colega solicitar uma campanha para o mesmo produto que \n o meu, estaremos competindo nas mídias?`,\n answer: `Pelo contrário, vocês estarão unindo forças e cada corretor \n receberá o volume de leads correspondente ao investimento colocado. \n O Lopes Leads foi construído de forma a impedir a competição entre \n campanhas para um mesmo produto.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `O que as campanhas do Lopes Leads têm de melhor do que outras?`,\n answer: `As campanhas que veiculamos são geridas com base numa inteligência \n desenvolvida dentro do Lopes Labs por profissionais especialistas e com anos \n de experiência em marketing digital e contam com investimentos feitos pela \n Lopes na estrutura do Lopes Labs.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `Enviei o formulário de inscrição. Em quanto tempo minha campanha \n estará ativa?`,\n answer: `O Lopes Leads funciona em janelas mensais. Se você se inscrever até \n a data limite de inscrições, sua campanha será ativada na primeira semana do \n próximo mês. Lembrando que o pagamento do boleto é necessário para que a \n campanha seja ativada.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `Como saberei se preenchi minha solicitação da maneira correta?`,\n answer: `Caso você tenha preenchido o formulário com alguma das informações \n fora dos nossos parâmetros (ex.: com valor de investimento inferior a \n R$ 600), enviaremos um email comunicando que a sua solicitação foi cancelada \n e, para torná-la válida novamente, você deverá enviar uma outra solicitação.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `As regras de retorno são válidas para as campanhas de Lopes Leads?`,\n answer: `Sim, todas as campanhas respeitam a regra de retorno, sempre \n privilegiando os corretores que mantem suas FACs atualizadas. Assim o \n cliente, embora tenha sido impactado pela campanha de Lopes Leads, será \n distribuído para o corretor que estava atendendo ele com fac atualizada.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `Como saberei se a campanha está ativa ou se já acabou?`,\n answer: `Assim que as campanhas forem ativadas, enviaremos um comunicado \n avisando. Quanto ao fim, será sempre na última semana do mês.`,\n category: 'campaigns',\n wasUseful: null\n }, {\n question: `Tenho que ser especialista em marketing digital para participar?`,\n answer: `Não, pelo contrário. Você conta com profissionais especialistas em \n mídia digital para gerir as campanhas. Assim, as mesmas são potencializadas, \n você recebe mais leads, e foca no que sabe fazer de melhor: vender.`,\n category: null,\n wasUseful: null\n }];\n public filteredFaq: FaqItem[] = this.faq;\n\n constructor(private router: Router) { }\n\n ngOnDestroy(): void {\n clearTimeout(this.timer);\n }\n\n goBack(): void {\n this.router.navigate(['/lopes-leads']);\n }\n\n filterFaq(category: 'general' | 'campaigns' | 'leads'): void {\n const filter = {\n 'campaigns': () => this.faq.filter(item => item.category === category),\n 'leads': () => this.faq.filter(item => item.category === category),\n 'general': () => this.faq\n }\n\n this.filteredFaq = filter[category]();\n this.category = category;\n }\n\n inputChange(event): void {\n this.loading = true;\n clearTimeout(this.timer);\n\n this.timer = setTimeout(() => {\n const searchValue = event.target.value;\n if (!['?', '/', '['].includes(searchValue)) {\n const regex = new RegExp(`${searchValue}`, 'gi');\n this.filteredFaq = this.faq.filter(item =>\n item.question.search(regex) != -1 ||\n item.answer.search(regex) != -1\n );\n this.category = 'general';\n this.loading = false;\n }\n }, 800);\n }\n\n sendMail(): void {\n window.open(\"mailto:lopesleads@lopes.com.br?subject=Dúvidas sobre o Lopes Leads\", '_blank');\n }\n\n sendMessage(): void {\n window.open('https://api.whatsapp.com/send?phone=5511940598940&text=Olá!%20Estou%20com%20dúvidas%20sobre%20o%20Lopes%20Leads!', '_blank')\n }\n}","\n \n \n \n {{ faqItem.question }}\n \n \n

{{ faqItem.answer }}

\n
\n

Este conteúdo foi útil?

\n \n \n \n \n \n \n
\n
\n
","import { Component, Input } from '@angular/core';\nimport { FaqItem } from 'src/app/core/models/lead-campaign';\n\n@Component({\n selector: 'app-faq-item',\n templateUrl: './faq-item.component.html',\n styleUrls: ['./faq-item.component.scss']\n})\nexport class FaqItemComponent {\n\n @Input() public faqItem: FaqItem;\n\n constructor() { }\n\n onClick(positive: boolean): void {\n\n if (positive) {\n this.faqItem.wasUseful = true;\n return;\n }\n this.faqItem.wasUseful = false;\n }\n}","
\n
\n \n
\n\n

Sem perguntas correspondentes com a pesquisa

\n
","import { Component, Input } from '@angular/core';\nimport { FaqItem } from 'src/app/core/models/lead-campaign';\n\n@Component({\n selector: 'app-faq-list',\n templateUrl: './faq-list.component.html',\n styleUrls: ['./faq-list.component.scss']\n})\nexport class FaqListComponent {\n\n @Input() public list: FaqItem[];\n\n constructor() { }\n}","
\n

Perguntas frequentes

\n \n\n

\n Tudo o que você precisa saber sobre o Lopes Leads.\n Não consegue achar a resposta para a sua dúvida?\n Por favor, entre em contato com o nosso SAC.\n

\n\n Ir para Perguntas Frequentes\n
","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-faq',\n templateUrl: './faq.component.html',\n styleUrls: ['./faq.component.scss']\n})\nexport class FaqComponent {\n\n constructor(private router: Router) { }\n\n openFaq(): void {\n this.router.navigate(['lopes-leads', 'perguntas-frequentes'])\n }\n}","
\n \n \n
\n
\n \n \n \n Limpar\n
\n \n
\n \n
\n
\n\n
\n No momento não existem campanhas disponíveis para você se inscrever.\n
\n\n \n
\n
\n

Campanhas em oferta

\n
\n \n \n
\n
\n Para acessar mais campanhas, clique aqui. \n
\n
\n\n\n\n\n\n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { take } from 'rxjs/operators';\n\nimport { Campaign } from 'src/app/core/models/lead-campaign';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { LeadCampaignService } from '../lead-campaign.service';\n\n@Component({\n selector: 'app-lead-campaign-list',\n templateUrl: './lead-campaign-list.component.html',\n styleUrls: ['./lead-campaign-list.component.scss']\n})\nexport class LeadCampaignListComponent implements OnInit, OnDestroy {\n\n public autocomplete = [];\n public isParticipate = false;\n public isAutocomplete = false;\n public openConfirm = false;\n public showClearButton = false;\n public campaign: Campaign;\n public listCampaign = [];\n public loading: boolean = false;\n public screenLoading: boolean = true;\n public isSummary: boolean = false;\n public summaryCampaign: Campaign;\n public timeout: any;\n public isLoading: boolean = true;\n \n public lead_list_search = [\n {\n id: 1,\n title: 'test-1'\n },\n {\n id: 2,\n title: 'test-2'\n }\n ];\n\n constructor(\n private service: LeadCampaignService,\n private scroll: WindowScrollService,\n private snackService: SnackbarService\n ) { }\n\n ngOnInit() {\n this.getCampaigns();\n }\n\n ngOnDestroy() {\n clearTimeout(this.timeout);\n }\n\n getCampaigns() {\n this.isLoading = true;\n this.service.getCampaignList()\n .pipe(take(1))\n .subscribe(res => {\n this.listCampaign = res.payload;\n this.screenLoading = false;\n }, error => {\n console.error(error);\n this.snackService.show('Erro ao consultar dados, contate o administrador do sistema.', 'error');\n }, () => {\n this.isLoading = false;\n });\n }\n\n toggleClearButton(toggle: boolean) {\n this.showClearButton = toggle;\n }\n\n searchElement(event) {\n this.loading = true;\n this.service.autocomplete(event).subscribe(res => {\n this.autocomplete = res;\n this.loading = false;\n });\n }\n\n elementSelected(event) {\n this.service.getCampaignList(event).subscribe(res => this.listCampaign = res.payload);\n }\n\n resetSearch() {\n this.showClearButton = false;\n document.getElementById('resetAutocompleteButton2').click();\n this.service.getCampaignList().subscribe(res => this.listCampaign = res.payload);\n }\n\n public showModalParticipants(data: boolean, values?: Campaign): void {\n if (values?.participating) return;\n \n this.campaign = values;\n this.isParticipate = data;\n if (data) {\n this.scroll.disable();\n } else {\n this.scroll.enable();\n }\n }\n\n public showSummaryModal(data: boolean, campaign): void {\n this.isSummary = data;\n this.summaryCampaign = campaign;\n }\n\n public finished(data: boolean): void {\n this.openConfirm = data;\n if (data) {\n this.scroll.disable();\n this.timeout = setTimeout(() => this.getCampaigns(), 800);\n } else {\n this.scroll.enable();\n }\n }\n\n public closeSummary(data: boolean): void {\n this.isSummary = false;\n if (data) {\n this.timeout = setTimeout(() => this.getCampaigns() , 800);\n }\n }\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n template: ''\n})\nexport class LeadCampaignComponent { }\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MatRadioModule } from '@angular/material/radio';\n\nimport { SharedModule } from '../shared/shared.module';\n\nimport { LeadCardComponent } from './lead-card/lead-card.component';\nimport { LeadCampaignListComponent } from './lead-campaign-list/lead-campaign-list.component';\nimport { LeadOfferCardComponent } from './modal-participate/lead-offer-card/lead-offer-card.component';\nimport { LeadHomeComponent } from './lead-home/lead-home.component';\nimport { ModalParticipateComponent } from './modal-participate/modal-participate.component';\nimport { ModelSummaryComponent } from './model-summary/model-summary.component';\nimport { ParticipantsCardComponent } from './participants-card/participants-card.component';\nimport { LeadConfirmComponent } from './lead-confirm/lead-confirm.component';\nimport { LeadCampaignComponent } from './lead-campaign.component';\nimport { AutocompleteComponent } from './autocomplete/autocomplete.component';\nimport { ApplicationSummaryComponent } from './application-summary/application-summary.component';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { FaqComponent } from './faq/faq.component';\nimport { FaqHomeComponent } from './faq/faq-home/faq-home.component';\nimport { FaqCardComponent } from './faq/faq-card/faq-card.component';\nimport { FaqListComponent } from './faq/faq-list/faq-list.component';\nimport { FaqItemComponent } from './faq/faq-list/faq-item/faq-item.component';\n\n\n@NgModule({\n declarations: [\n LeadCampaignComponent,\n LeadCardComponent,\n LeadCampaignListComponent,\n LeadHomeComponent,\n LeadOfferCardComponent,\n ModalParticipateComponent,\n ModelSummaryComponent,\n ParticipantsCardComponent,\n LeadConfirmComponent,\n AutocompleteComponent,\n ApplicationSummaryComponent,\n FaqComponent,\n FaqHomeComponent,\n FaqCardComponent,\n FaqListComponent,\n FaqItemComponent\n ],\n imports: [\n SharedModule,\n RouterModule,\n MatRadioModule,\n MatProgressSpinnerModule\n ],\n exports: [\n LeadCampaignComponent,\n LeadCardComponent,\n LeadCampaignListComponent,\n LeadHomeComponent,\n LeadOfferCardComponent,\n ModalParticipateComponent,\n ModelSummaryComponent,\n ParticipantsCardComponent,\n LeadConfirmComponent,\n AutocompleteComponent,\n ApplicationSummaryComponent,\n FaqComponent,\n FaqHomeComponent,\n FaqListComponent,\n FaqItemComponent\n ]\n})\nexport class LeadCampaignModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeadCampaignService {\n\n public baseUrl = this.envSvc.getEnvVar('api_leads');\n\n constructor(\n private http: HttpClient,\n private envSvc: EnvironmentService\n ) { }\n\n public getCampaignList(text = '') {\n return this.http.get(this.baseUrl + '/campaigns?page=1&max_items=99&text=' + text);\n }\n\n public getParticipantsAutoComplete(name: string): Observable {\n return this.http.get(`${this.baseUrl}/campaign/participants/autocomplete?value=${name}`);\n }\n\n public setCampaignParticipants(campaignId, body) {\n return this.http.post(`${this.baseUrl}/campaigns/${campaignId}/participants`, body);\n }\n\n public getCampaign(id) {\n return this.http.get(`${this.baseUrl}/campaigns/${id}`);\n }\n\n public autocomplete(searchValue) {\n return this.http.get(`${this.baseUrl}/campaign/autocomplete?search_value=${searchValue}&max_items=5`);\n }\n\n public realtorAlreadyParticipating(campaignId, realtorId) {\n return this.http.get(`${this.baseUrl}/campaign/${campaignId}/participants/${realtorId}/exists`);\n }\n\n public getSubscription(campaignId: string) {\n return this.http.get(`${this.baseUrl}/campaigns/${campaignId}/participants`);\n }\n\n public updateSubscription(campaignId: string, data: any): Observable {\n return this.http.patch(`${this.baseUrl}/campaigns/${campaignId}/participants`, data);\n }\n\n public generateBillet(campaignId: string, subscriptionId: any): Observable {\n return this.http.post(`${this.baseUrl}/subscription/${campaignId}/payment?subscription_id=${subscriptionId}`, null);\n }\n\n public getBillet(subscriptionId: any): Observable {\n return this.http.get(`${this.baseUrl}/subscription/payment?subscription_id=${subscriptionId}`);\n }\n\n /**\n * It will parse the string number into the currency format.\n * @param value String value (e.g '1.350,32').\n * @returns If valid string will return a parsed number (e.g 1350.32) or null if not valid.\n */\n public parseCurrency(value: string): number {\n try {\n if (typeof value === 'number') return value;\n if (value === '') return 0;\n return parseFloat(value.replace(/\\./g, '').replace(',', '.'));\n } catch (error) {\n return null;\n }\n }\n\n /**\n * @param total \n * @param portion \n * @returns the percentage of the portion from the total.\n */\n public getPercentage(total: number, portion: number): number {\n return Number(((portion * 100) / total));\n }\n}","
\n
\n
\n \"Porcentagem\"\n
\n

{{ dashboard.title }}

\n
\n
\n

{{ dashboard.values.total }} {{ dashboard.type === 'ACTIVE_CAMPAIGNS' ? 'campanhas' : null }}

\n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { Dashboard } from 'src/app/core/models/lead-campaign';\n\n@Component({\n selector: 'app-lead-card',\n templateUrl: './lead-card.component.html',\n styleUrls: ['./lead-card.component.scss']\n})\nexport class LeadCardComponent {\n\n @Input() public id = '';\n @Input() public routerParams = '';\n @Output() public routerActived = new EventEmitter();\n\n @Input() public dashboard: Dashboard;\n\n public getRouter(): void {\n this.routerActived.emit(this.routerParams);\n }\n\n}\n","
\n
\n

Obrigado!!

\n

Quando a campanha for ativada, você receberá um link de um relatório para acompanhar o status e a performance da sua campanha.

\n

Enviaremos o boleto para pagamento do valor do investimento no seu email. Sua campanha deve ir ao ar durante a primeira semana do mês. Vale lembrar que o pagamento do boleto é determinante para ativação da campanha.

\n

Boas vendas!

\n Ok\n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-lead-confirm',\n templateUrl: './lead-confirm.component.html',\n styleUrls: ['./lead-confirm.component.scss']\n})\nexport class LeadConfirmComponent {\n\n @Output()\n public confimClose = new EventEmitter();\n \n @Input() public openConfirm = false;\n\n public confirm(): void {\n this.openConfirm = false;\n this.confimClose.emit(false);\n }\n\n}\n","
\n \n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Dashboard } from 'src/app/core/models/lead-campaign';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { TeamManagementService } from 'src/app/team-management/service/team-management.service';\n\n@Component({\n selector: 'app-lead-home',\n templateUrl: './lead-home.component.html',\n styleUrls: ['./lead-home.component.scss']\n})\nexport class LeadHomeComponent implements OnInit {\n\n public mock_dashboard: Dashboard = {\n type: 'ACTIVE_CAMPAIGNS',\n title: 'Campanhas em oferta',\n icon: 'percentage',\n values: {\n total: 0,\n },\n action: {\n target: '_blank',\n url: 'https://www.lopes.com.br/'\n }\n };\n\n constructor(\n private router: Router,\n private activeRouter: ActivatedRoute,\n private leadsService: TeamManagementService,\n private snackService: SnackbarService\n ) { }\n\n ngOnInit() {\n this.leadsService.getActiveCampaignsCount().subscribe(resp => {\n if (resp && resp.count) {\n this.mock_dashboard.values.total = resp.count;\n }\n if (!resp) {\n this.mock_dashboard.values.total = 0;\n }\n },\n err => {\n this.snackService.show('Ocorreu um erro ao carregar as campanhas', 'error', 10);\n });\n }\n\n public routerActived(event: string): void {\n this.router.navigate([`${event}`], { relativeTo: this.activeRouter });\n }\n\n}\n","
\n
\n
\n \"Lead\n
\n
\n

Campanha:{{ campaign.name }}

\n

\n Produto:\n {{ campaign.product_alias }}\n {{ campaign.product_name }}\n -\n Ficha do imóvel\n

\n

\n Inscrição:\n de {{ campaign.subscription.start | date:'dd/MM/yy' }} à {{ campaign.subscription.end | date:'dd/MM/yy' }} - {{ campaign.subscription.description }}\n

\n

\n Vigência:\n de {{ campaign.duration.start | date:'dd/MM/yy' }} à {{ campaign.duration.end | date:'dd/MM/yy' }} - {{ campaign.duration.description }}\n

\n
\n
\n \n \n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { Campaign } from 'src/app/core/models/lead-campaign';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\n\n@Component({\n selector: 'app-lead-offer-card',\n templateUrl: './lead-offer-card.component.html',\n styleUrls: ['./lead-offer-card.component.scss']\n})\nexport class LeadOfferCardComponent implements OnInit {\n\n @Output() public showModalParticipants = new EventEmitter();\n @Output() public showSummaryModal = new EventEmitter();\n\n @Input() public campaign: Campaign;\n @Input() public isLoading: boolean;\n\n public isEditable: boolean;\n\n constructor(private toggleService: FeatureToggleService) { }\n\n ngOnInit() {\n this.checkToggles();\n }\n\n public associate(): void {\n if (this.campaign.participating) {\n if (this.isEditable) this.showSummaryModal.emit(true);\n return;\n }\n\n this.showModalParticipants.emit(true);\n }\n\n public getBttnName(): string {\n if (this.campaign.participating) {\n if (this.isEditable) return 'Resumo';\n return 'Participando';\n }\n return 'Participar';\n }\n\n private checkToggles() {\n this.isEditable = this.toggleService.isActive('toggle_lopes_lead_subscription_editable');\n }\n}","
\n
\n
\n \n
\n
\n

Inscrever-se na campanha

\n \n
\n

Preencha as informações abaixo para participar da campanha.

\n
\n\n

\n Produto: \n {{ campaign.product_alias }}\n {{ campaign.product_name }}\n -\n Ficha do imóvel\n

\n \n \n
\n \n \n Valor mínimo da campanha: {{ (minValue | currency:'BRL') }}\n \"Dúvidas\"\n \n
\n \n
\n \n \n
\n

Participantes

\n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
1 && !last\">\n
\n
\n
\n = maxParticipants\">\n Adicionar corretor\n \n

Máximo: {{ maxParticipants }} participantes

\n
\n
\n \n
\n \n \n
\n

Qual tipo de segmentação você deseja para sua campanha?

\n \n \n {{ item.title }}\n \n \n\n
\n \n
\n
\n \n Cancelar\n \n \n Próximo\n \n
\n
\n
\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { removeCaracter } from 'src/app/core/constants/properties-const';\nimport { AutocompleteLead, Campaign, Checked, Matched } from 'src/app/core/models/lead-campaign';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { ButtonsPopupService } from 'src/app/shared/components/buttons-popup/service/buttons-popup.service';\nimport { LoginService } from 'lps-navigation';\nimport { LeadCampaignService } from '../lead-campaign.service';\nimport { first } from 'rxjs/operators';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\n\n@Component({\n selector: 'app-modal-participate',\n templateUrl: './modal-participate.component.html',\n styleUrls: ['./modal-participate.component.scss']\n})\nexport class ModalParticipateComponent implements OnInit {\n\n @Output() public closeParticipants = new EventEmitter();\n @Output() public finished = new EventEmitter();\n\n @Input() public isParticipate = false;\n @Input() public campaign: Campaign;\n\n public removeCaracter = removeCaracter;\n public isSummary = false;\n public is_price = false;\n public index = null;\n\n public minValue = 500;\n public maxParticipants = 5;\n public isError = false;\n public messageErro = 'Ajuste os percentuais para totalizar 100%';\n public isValueError = false;\n public valueErro = 'O somatório dos participantes deve ser igual ao total investido';\n public participantFieldError = [];\n public form: FormGroup;\n public isCustomSub: boolean;\n public isSegmentationAvailable: boolean;\n\n public listRadioButton = [\n {\n id: 1,\n title: 'Prefiro que a Lopes escolha por mim',\n value: 'CHOOSE'\n },\n {\n id: 2,\n title: 'Segmentação nativa: prioriza um volume alto de leads a um custo por lead baixo',\n value: 'NATIVE'\n },\n {\n id: 3,\n title: 'Segmentação inteligente Lopes: traz leads mais qualificados, em menor quantidade, com um custo por lead mais alto',\n value: 'INTELLIGENT'\n }\n ];\n\n public deleteUser = {\n title: 'ATENÇÃO!',\n description: 'Tem certeza que deseja excluir o participante dessa campanha?',\n buttons: [\n {\n btnType: 0,\n title: 'Cancelar',\n func: () => null,\n },\n {\n btnType: 2,\n title: 'Excluir',\n func: () => this.clearParticipate(),\n }\n ]\n };\n\n public porcentNotFound = {\n title: 'ATENÇÃO!',\n description: 'O percentual entre todos os participantes precisa totalizar 100%.',\n buttons: [\n {\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }\n ]\n };\n\n public valueNotFound = {\n title: 'ATENÇÃO!',\n description: 'O valor investido entre todos os participantes precisa totalizar o montante investido.',\n buttons: [\n {\n btnType: 0,\n title: 'Ok',\n func: () => null,\n }\n ]\n };\n\n public processCancel = {\n title: 'ATENÇÃO!',\n description: 'Tem certeza que deseja cancelar?',\n buttons: [\n {\n btnType: 0,\n title: 'Cancelar',\n func: () => null,\n },\n {\n btnType: 2,\n title: 'OK',\n func: () => this.closeFullModal(),\n }\n ]\n };\n\n public minParticipantValue = () => {\n return {\n title: 'ATENÇÃO!',\n description: `O valor mínimo para essa campanha é de \n ${this.minValue.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })}.`,\n buttons: [\n {\n btnType: 0,\n title: 'OK',\n func: () => null,\n }\n ]\n }\n };\n\n get participants() {\n return this.form.get('participants') as FormArray;\n }\n\n get valueInvest() {\n return this.form.get('value_invest') as FormArray;\n }\n\n public selectedStatus: Checked = this.listRadioButton[0];\n\n\n constructor(\n private fb: FormBuilder,\n private btnsService: ButtonsPopupService,\n private scroll: WindowScrollService,\n private campaignService: LeadCampaignService,\n private loginService: LoginService,\n private featureToggleService: FeatureToggleService\n ) { }\n\n\n ngOnInit(): void {\n this.initialize();\n this.newParticipate();\n this.findNavigation();\n this.validatoForm();\n this.checkToggles();\n this.loadSubSettings();\n }\n\n private jwtToken(): any {\n return this.loginService.getPayloadToken(this.loginService.getAuthInformation().token);\n }\n\n private findNavigation(): void {\n const nickname = this.jwtToken().nickname;\n this.campaignService.getParticipantsAutoComplete(nickname)\n .pipe(first())\n .subscribe((result) => {\n const user = result.find(person => person.matched_record.nickname === nickname);\n if (user) this.getUser(user, 0);\n });\n }\n\n private initialize(): void {\n this.form = this.fb.group({\n id: [this.campaign.id],\n name: [this.campaign.name],\n product_name: [this.campaign.product_name],\n product_image_url: [this.campaign.product_image_url],\n sku: [this.campaign.product_sku],\n subscription: [this.campaign.subscription],\n validity: [this.campaign.duration],\n value_invest: [null, Validators.required],\n participants: this.fb.array([]), // TODO: setar participantes já inseridos na campanha\n type_segmentation: [this.selectedStatus, Validators.required],\n campaign_group: [this.campaign.campaign_group]\n });\n }\n\n private checkToggles() {\n this.isCustomSub = this.featureToggleService.isActive('toggle_lopes_lead_custom_subscription');\n this.isSegmentationAvailable = this.featureToggleService.isActive('toggle_lopes_lead_segmentation_available');\n }\n\n private loadSubSettings() {\n const group = this.campaign.campaign_group;\n if (this.isCustomSub && group.max_realtor) {\n this.minValue = group.min_value;\n this.maxParticipants = group.max_realtor;\n }\n }\n\n public closeModal(): void {\n this.btnsService.show(this.processCancel);\n }\n\n public AddUser(data?: Matched, value?: number): FormGroup {\n return this.fb.group({\n user_id: [data?.id ? data.id : '', Validators.required],\n user_name: [data?.name ? data.name : '', Validators.required],\n user_nickname: [data?.nickname ? data.nickname : '', Validators.required],\n participation_value: [value, Validators.required],\n participation_percentage: [value, Validators.required],\n picture_url: [''],\n leaders: [null]\n });\n }\n\n public newParticipate(): void {\n if (this.participants.length >= this.maxParticipants) {\n return;\n }\n this.participants.push(this.AddUser());\n }\n\n public showDialog(index: number): void {\n this.index = index;\n this.btnsService.show(this.deleteUser);\n }\n\n public showMinValueDialog() {\n this.btnsService.show(this.minParticipantValue());\n }\n\n public clearParticipate(): void {\n this.participants.removeAt(this.index);\n }\n\n /**\n * It will calculate the total value of the prop passed on the participants form.\n * @param obj Participants form data\n * @param prop E.g 'participation_percentage' || 'participation_value'\n * @param type E.g 'float' || 'currency'\n * @returns The total value in the $type format (e.g 1000.32 || 1.000,32)\n */\n public getTotalFromProp(obj: any, prop: string, type: string): number {\n const typesRule = {\n float: () => obj.reduce((total: number, value: any) => total + parseFloat(value[prop]), 0),\n currency: () => obj.reduce((total: number, value: any) => total + this.parseCurrency(value[prop]), 0)\n }\n return typesRule[type] && typesRule[type]();\n }\n\n /**\n * The validate logic used in every input change in the form.\n * @param participant Participants form data\n */\n public validateLogic(participant: any): void {\n this.participantFieldError = [];\n this.isError = false;\n this.isValueError = false;\n \n const participationPercentage = this.getTotalFromProp(\n participant, 'participation_percentage', 'float'\n );\n\n const participationValue = this.getTotalFromProp(\n participant, 'participation_value', 'currency'\n );\n\n const valueInvest = Math.abs(this.parseCurrency(this.form.get('value_invest').value));\n\n if (Math.ceil(participationPercentage) != 100 &&\n Math.floor(participationPercentage) != 100 &&\n participationPercentage != 100) {\n this.isError = true;\n return;\n }\n if (participationValue != valueInvest) {\n this.isValueError = true;\n }\n }\n\n /**\n * It will subscribe the valueChanges in both participants and valueInvest form.\n */\n public validatoForm(): void {\n this.participants.valueChanges.subscribe(part => {\n this.validateLogic(part); \n this.valueInvest.valueChanges.subscribe(_ => {\n this.validateLogic(part);\n })\n });\n }\n\n /**\n * It will update the participation_value (if it don't exist) or \n * the participation_percentage (if already have a participation_value) \n * from each participant based on the total invested value.\n * @param valueInvest The total invested value.\n */\n public updateAllValues(valueInvest: string): void {\n this.participants.value.forEach((part, i) => {\n if (!part.participation_value) {\n this.participants.controls[i].get('participation_value').setValue(\n this.getValueOrPercentage(\n this.parseCurrency(valueInvest), \n part.participation_percentage, \n 'currency'\n )\n );\n return;\n }\n\n this.participants.controls[i].get('participation_percentage').setValue(\n this.getValueOrPercentage(\n this.parseCurrency(part.participation_value), \n this.parseCurrency(valueInvest), \n 'percentage'\n )\n );\n });\n }\n\n /**\n * It will parse the string number into the currency format.\n * @param value String value (e.g '1.350,32').\n * @returns If valid string will return a parsed number (e.g 1350.32) or null if not valid.\n */\n public parseCurrency(value: string): number {\n try {\n return parseFloat(value.replace(/\\./g, '').replace(',', '.'));\n } catch (error) {\n return null;\n }\n }\n\n /**\n * It will calculate the partial percentage from the total invested or the partial value \n * from the total invested.\n * @param value Pass the participation_value if want to know the percentage or the \n * totalInvest if want to know the value. \n * @param totalOrPercent Pass the totalInvest if want to know the percentage or the \n * participation_percentage if want to know the value.\n * @param type If not passed will return the currency logic parse in number \n * (e.g 'percentage' || 'currency').\n * @returns \n */\n public getValueOrPercentage(value: number, totalOrPercent: number, type: string = 'value'): any {\n const typesRule = {\n percentage: () => (value * 100 / totalOrPercent).toFixed(2),\n currency: () => (totalOrPercent / 100 * value).toLocaleString('pt-BR', { minimumFractionDigits: 2 }),\n default: () => Number((totalOrPercent / 100 * value).toFixed(2))\n }\n return typesRule[type] ? typesRule[type]() : typesRule.default();\n }\n\n /**\n * It will calculate the equivalent percentage or value for a specific participant.\n * @param value The new input value.\n * @param index Participant index.\n * @param type E.g 'participation_percentage' || 'participation_value'.\n */\n public calculateNumbers(value: any, index: number, type: string): void {\n let totalInvest = this.parseCurrency(this.form.get('value_invest').value);\n let realtorInvest = this.parseCurrency(value);\n\n if (!totalInvest || !realtorInvest) return;\n \n let calc = this.getValueOrPercentage(realtorInvest, totalInvest, 'percentage');\n if (type == 'participation_value') {\n calc = this.getValueOrPercentage(totalInvest, value, 'currency');\n }\n this.participants.controls[index].get(type).setValue(calc);\n }\n\n public changeValue(data: Checked): void {\n this.selectedStatus = data;\n this.form.get('type_segmentation').setValue(this.selectedStatus);\n }\n\n public nextLevel(): void {\n this.is_price = false;\n this.isError = false;\n this.isValueError = false;\n \n const valueInvest = parseFloat(this.form.get('value_invest').value.replace('.', '').replace(',', '.'));\n\n this.participantFieldError = this.participants.getRawValue().map((value) => {\n const participantPercentage = Number(value.participation_percentage);\n const participantValue = this.parseCurrency(value.participation_value);\n const calculatedValue = this.getValueOrPercentage(participantPercentage, valueInvest);\n \n if (valueInvest * (participantPercentage / 100) < 100) {\n return 'O investimento mínimo por participante deve ser de R$ 100.';\n } \n \n if (Math.ceil(calculatedValue) !== Math.ceil(participantValue) &&\n Math.floor(calculatedValue) !== Math.floor(participantValue) &&\n calculatedValue !== participantValue) {\n return 'O somatório dos participantes deve ser igual ao total investido';\n }\n\n return null;\n });\n \n if (this.participantFieldError.find(error => error !== null)) {\n return;\n }\n\n const totalPercentage = this.getTotalFromProp(this.participants.getRawValue(), 'participation_percentage', 'float');\n const totalValue = this.getTotalFromProp(this.participants.getRawValue(), 'participation_value', 'currency');\n\n if (Math.ceil(totalPercentage) != 100 &&\n Math.floor(totalPercentage) != 100 &&\n totalPercentage != 100) {\n this.isError = true;\n this.btnsService.show(this.porcentNotFound);\n return;\n }\n\n if (totalValue !== this.parseCurrency(this.form.get('value_invest').value)) {\n this.isValueError = true;\n this.btnsService.show(this.valueNotFound);\n return;\n }\n\n if (valueInvest < +this.minValue) {\n this.is_price = true;\n } else {\n this.isSummary = true;\n }\n }\n\n public closeFullModal(): void {\n this.form.reset();\n this.closeParticipants.emit(false);\n this.isParticipate = false;\n this.isSummary = false;\n }\n\n public backLevel(data: boolean): void {\n this.isSummary = data;\n this.scroll.disable();\n }\n\n public getUser(user: AutocompleteLead, i: number): void {\n let firstPercentage = this.participants.controls[0].get('participation_percentage')\n if (i === 0 && !firstPercentage.value) {\n firstPercentage.setValue('100');\n }\n this.participants.controls[i].get('user_name').setValue(user?.matched_record?.name);\n this.participants.controls[i].get('user_id').setValue(user?.matched_record?.id);\n this.participants.controls[i].get('user_nickname').setValue(user?.matched_record?.nickname);\n this.participants.controls[i].get('picture_url').setValue(user?.matched_record?.picture_url);\n this.participants.controls[i].get('leaders').setValue(user?.matched_record?.leaders);\n }\n}","
\n
\n \n
\n
\n
\n \n
\n

Resumo

\n \n
\n\n
\n

Produto:{{ formSummary.get('product_name').value }} - Ficha do imóvel

\n

Mercado:Primário

\n

Início:{{ formSummary.get('validity').value.start | date:'dd/MM/yy' }}

\n

Término:{{ formSummary.get('validity').value.end | date:'dd/MM/yy' }}

\n

Investimento:{{ formSummary.get('value_invest').value }}

\n

Tipo de segmentação:{{ formSummary.get('type_segmentation').value.title }}

\n
\n\n
    \n
  • \n \n \n
  • \n
\n\n
\n
\n \n Voltar\n \n \n Confirmar\n \n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormArray, FormGroup } from '@angular/forms';\n\nimport { list_user } from 'src/app/core/constants/lead-const';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { LeadCampaignService } from '../lead-campaign.service';\n\n@Component({\n selector: 'app-model-summary',\n templateUrl: './model-summary.component.html',\n styleUrls: ['./model-summary.component.scss']\n})\nexport class ModelSummaryComponent implements OnInit {\n\n @Output() public closeSummary = new EventEmitter();\n @Output() public backLevel = new EventEmitter();\n @Output() public finished = new EventEmitter();\n\n @Input() public isSummary = false;\n @Input() public formSummary: FormGroup;\n\n public listUSers = list_user;\n public isChecked = false;\n public isLoading = false;\n public isSegmentationAvailable: boolean;\n\n constructor(\n private scroll: WindowScrollService,\n private lcs: LeadCampaignService,\n private snackService: SnackbarService,\n private envSvc: EnvironmentService,\n private featureToggleService: FeatureToggleService\n ) { }\n\n ngOnInit(): void {\n this.checkToggles();\n }\n\n private checkToggles() {\n this.isSegmentationAvailable = this.featureToggleService.isActive('toggle_lopes_lead_segmentation_available');\n }\n\n get participants() {\n return this.formSummary.get('participants') as FormArray;\n }\n\n public closeModal(): void {\n this.backLevel.emit(false);\n this.scroll.disable();\n }\n\n public save(): void {\n this.isLoading = true;\n this.lcs.setCampaignParticipants(this.formSummary.get('id').value, this.createParticipantsForm())\n .subscribe(resp => {\n this.isLoading = false;\n this.isSummary = false;\n this.closeSummary.emit(false);\n this.finished.emit(true)\n },\n err => {\n if (err && err.error.messages) {\n this.snackService.show(err.error.messages[0]?.message, 'error', 10);\n } else {\n this.snackService.show('Não foi possível inscrever os participantes.', 'error', 10);\n }\n this.isLoading = false;\n this.isSummary = true;\n });\n }\n\n createParticipantsForm() {\n const participantsForm = {\n participants: this.participants.getRawValue(),\n investment_amount: this.returnValueAsNumber(this.formSummary.get('value_invest').value),\n segmentation_type: this.formSummary.get('type_segmentation').value?.value\n };\n participantsForm.participants.forEach(part => {\n part.participation_percentage = Number(part.participation_percentage);\n });\n return participantsForm;\n }\n\n returnValueAsNumber(value: string): number {\n let num;\n num = value.replace('.', '');\n num = num.replace(',', '.');\n return parseFloat(num);\n }\n\n public getParticipants() {\n const total = this.lcs.parseCurrency(this.formSummary.getRawValue().value_invest);\n let participants = this.formSummary.getRawValue().participants.map(part => {\n part.participation_value = this.getValue(\n total,\n part.participation_percentage\n );\n return part;\n });\n\n return participants\n }\n\n public getValue(amount, percent): number {\n return Number((amount / 100 * percent).toFixed(2));\n }\n}","
\n
\n

Participantes

\n

Investimento (R$)

\n

% de investimento

\n
\n
\n
\n
\n \"Foto\"\n
\n {{ user.user_nickname }} ({{user.leaders[0].nickname}})\n
\n
\n
\n \n

{{ user.participation_value | currency: 'BRL' }}

\n
\n
\n \n

{{ user.participation_percentage | number: '1.2-2' }}%

\n
\n
\n\n
\n
\n \n \n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n \n\n \n\n \n\n \n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { removeCaracter } from 'src/app/core/constants/properties-const';\nimport { UserLead } from 'src/app/core/models/lead-campaign';\nimport { ButtonsPopupService } from 'src/app/shared/components/buttons-popup/service/buttons-popup.service';\nimport { LeadCampaignService } from '../lead-campaign.service';\n\n@Component({\n selector: 'app-participants-card',\n templateUrl: './participants-card.component.html',\n styleUrls: ['./participants-card.component.scss']\n})\nexport class ParticipantsCardComponent implements OnInit {\n\n @Input() public index = 0;\n @Input() public user: UserLead;\n @Input() campaignId: number;\n @Input() participants: FormArray;\n @Input() editable: boolean;\n\n @Output() public removeParticipant = new EventEmitter();\n @Output() public editParticipant = new EventEmitter();\n\n public isValueError = false;\n public isRealtorError = false;\n public valueErro = 'O investimento mínimo por participante deve ser de R$ 100.';\n public removeCaracter = removeCaracter;\n public isEdit: boolean = false;\n public formCard: FormGroup;\n public deleteUser = {\n title: 'ATENÇÃO!',\n description: 'Tem certeza que deseja excluir o participante dessa campanha?',\n buttons: [\n {\n btnType: 0,\n title: 'Cancelar',\n func: () => null,\n },\n {\n btnType: 2,\n title: 'Excluir',\n func: () => this.removeParticipant.emit(this.index),\n }\n ]\n };\n\n constructor(\n private campaignService: LeadCampaignService,\n private btnsService: ButtonsPopupService,\n private fb: FormBuilder\n ) { }\n\n ngOnInit() {\n this.initialize();\n }\n\n private initialize(): void {\n this.formCard = this.fb.group({\n user_id: [this.user?.user_id, Validators.required],\n user_name: [this.user?.user_name, Validators.required],\n user_nickname: [this.user?.user_nickname, Validators.required],\n participation_value: [this.user?.participation_value, Validators.required],\n participation_percentage: [this.user?.participation_percentage],\n picture_url: [this.user?.picture_url],\n leaders: [this.user?.leaders]\n });\n\n if (!this.user?.user_nickname) {\n this.isEdit = true;\n this.isRealtorError = true;\n }\n }\n\n showDialog(event) {\n this.btnsService.show(this.deleteUser);\n }\n\n removePicture() {\n this.user.picture_url = null;\n }\n\n setParticipant(participant): void {\n if (!participant) {\n this.isRealtorError = true;\n return;\n }\n\n const matched = participant.matched_record;\n this.formCard.controls.user_id.setValue(matched.id);\n this.formCard.controls.user_name.setValue(matched.name);\n this.formCard.controls.user_nickname.setValue(matched.nickname);\n this.formCard.controls.picture_url.setValue(matched.picture_url);\n this.formCard.controls.leaders.setValue(matched.leaders);\n\n this.isRealtorError = false;\n }\n\n public submitChanges(): void {\n this.isValueError = false;\n const data = {\n participant: this.formCard.getRawValue(),\n index: this.index\n }\n\n const valueInvest = this.campaignService.parseCurrency(data.participant.participation_value);\n\n if (valueInvest < 100) {\n this.isValueError = true;\n return;\n }\n\n if (!data.participant.user_nickname) {\n this.isRealtorError = true;\n return;\n }\n\n if (!this.isValueError) {\n this.editParticipant.emit(data);\n this.closeEdit();\n }\n }\n\n public closeEdit(): void {\n this.initialize();\n this.isEdit = false;\n this.isValueError = false;\n }\n\n public validateValue(value: string): void {\n if (this.campaignService.parseCurrency(value) < 100) {\n this.isValueError = true;\n return;\n }\n this.isValueError = false;\n } \n}","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { CoreModule } from '../core/core.module';\nimport {LegacyLogoutComponent} from \"./logout/legacy-logout.component\";\n\n\n@NgModule({\n declarations: [\n LegacyLogoutComponent,\n ],\n imports: [\n SharedModule,\n RouterModule,\n CoreModule\n ],\n exports: [\n LegacyLogoutComponent\n ]\n})\nexport class LegacyLogoutModule { }\n","import { Component, OnInit } from '@angular/core';\nimport {LoginService} from \"lps-navigation\";\nimport {EnvironmentService} from \"../../core/enviroment/environment.service\";\n\n@Component({\n selector: 'app-legacy-logout',\n templateUrl: './legacy-logout.component.html',\n styleUrls: ['./legacy-logout.component.scss']\n})\nexport class LegacyLogoutComponent implements OnInit {\n\n constructor(private loginService: LoginService,\n private environmentService: EnvironmentService) { }\n\n ngOnInit(): void {\n this.loginService.removeAuthInformation(null);\n window.location.href = this.environmentService.getEnvVar('base_url_portal');\n }\n\n}\n","
\n

Perfil não localizado

\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-notfound-exeptions',\n templateUrl: './notfound-exeptions.component.html',\n styleUrls: ['./notfound-exeptions.component.scss']\n})\nexport class NotfoundExeptionsComponent {\n}\n","
\n
\n \n \n
\n
\n
\n {{message.title}}\n
\n
\n {{message.description}}\n
\n
\n {{message.date_description}}\n
\n
\n
\n \n
\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { NotificationModel } from '../notification.models';\n\n@Component({\n selector: 'app-message-item',\n templateUrl: './message-item.component.html',\n styleUrls: ['./message-item.component.scss']\n})\nexport class MessageItemComponent {\n @Input() message: NotificationModel;\n @Output() clickCheckbox = new EventEmitter();\n @Output() clickCard = new EventEmitter();\n\n clickCheck(event) {\n event.stopPropagation();\n this.message.checked = !this.message.checked;\n this.clickCheckbox.emit(this.message.checked);\n }\n}\n","
\n\n
\n
\n \n
    \n
  • Lidas
  • \n
  • Não Lidas
  • \n
  • Mais recentes
  • \n
  • Mais antigas
  • \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n Cancelar\n Filtrar\n
\n
\n
\n
\n\n
\n \n
    \n
  • Marcar como lida
  • \n
  • Marcar como não lida
  • \n
\n
\n
\n \n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
","import { Component, OnInit, HostListener, ViewEncapsulation } from '@angular/core';\nimport { NotificationService } from './notifications.service';\nimport { NotificationModel, GetNotificationsQuerys } from './notification.models';\nimport { SnackbarService } from '../shared/components/snackbar/service/snackbar.service';\n\n@Component({\n selector: 'app-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class NotificationsComponent implements OnInit {\n public showOrdenar = false;\n public showFilter = false;\n public showActions = false;\n public asChecked = false;\n public checkAll = false;\n public items: NotificationModel[] = [];\n public dateFilter = {\n to: null,\n from: null\n };\n public nextPage = '';\n public loadingMessages = false;\n public loadingMoreMessages = false;\n\n @HostListener('window:scroll', ['$event'])\n doSomething(ev): void {\n const bounding = document.getElementById(`last-message`).getBoundingClientRect();\n if (\n bounding.right <= (window.innerWidth || document.documentElement.clientWidth) &&\n bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n ) {\n this.getMoreNotifications(this.nextPage);\n }\n }\n\n constructor(\n private notificationService: NotificationService,\n private snackbarService: SnackbarService\n ) { }\n\n ngOnInit() {\n this.getNotifications({order: 'date:DESC'});\n }\n\n getNotifications(query?: GetNotificationsQuerys) {\n const dateFilter = this.checkDateFilter();\n query = { ...query, ...dateFilter, page_items: 50 };\n this.items = [];\n this.loadingMessages = true;\n this.notificationService.getNotifications(query).subscribe(resp => {\n this.items = resp.payload;\n this.nextPage = resp.links.next;\n this.checkAll = false;\n this.asChecked = false;\n this.loadingMessages = false;\n }, (_) => this.loadingMessages = false);\n }\n\n clickMessage(note) {\n if (note.url) {\n window.open(note.url, '_blank');\n }\n }\n\n checkAllClick() {\n this.items.forEach(item => item.checked = this.checkAll);\n this.asChecked = this.checkAll;\n }\n\n checkDateFilter(): GetNotificationsQuerys {\n if (!this.dateFilter.from && !this.dateFilter.to) {\n return;\n }\n let query: GetNotificationsQuerys = {};\n if (this.dateFilter.to) {\n query.to = this.notificationService.formatDate(this.dateFilter.to, true);\n }\n if (this.dateFilter.from) {\n query.from = this.notificationService.formatDate(this.dateFilter.from, false);\n }\n return query;\n }\n\n clearDateFilter() {\n this.dateFilter = {\n to: null,\n from: null\n };\n this.getNotifications();\n }\n\n setAsChecked() {\n if (this.items.some(e => e.checked)) {\n this.asChecked = true;\n } else {\n this.asChecked = false;\n }\n\n if (this.items.some(e => !e.checked)) {\n this.checkAll = false;\n } else {\n this.checkAll = true;\n }\n }\n\n disabledStartDate = (startValue: Date): boolean => {\n if (!startValue || !this.dateFilter.to) {\n return false;\n }\n return (startValue.getTime()) > this.dateFilter.to.getTime();\n }\n\n disabledEndDate = (endValue: Date): boolean => {\n if (!endValue || !this.dateFilter.from) {\n return false;\n }\n return (endValue.getTime() + 86400000) <= this.dateFilter.from.getTime();\n }\n\n readAction(readState: boolean) {\n this.showActions = false;\n const readItems = [];\n this.items.forEach(item => {\n if (item.checked === true) {\n readItems.push(\n {\n id: item.id,\n read: readState,\n cleared: true\n }\n );\n }\n });\n\n this.notificationService.readMessage(readItems).subscribe(() => {\n this.dateFilter = {\n to: null,\n from: null\n };\n this.snackbarService.show('Sua solicitação esta sendo processada', 'warning');\n this.getNotifications({order: 'date:DESC'});\n });\n }\n\n getMoreNotifications(link) {\n if (this.loadingMoreMessages || !this.nextPage) {\n return false;\n }\n this.loadingMoreMessages = true;\n this.notificationService.getNextPageNotifications(link).subscribe(resp => {\n this.items = this.items.concat(resp.payload);\n this.nextPage = resp.links.next;\n this.loadingMoreMessages = false;\n },\n err => { this.loadingMoreMessages = false; });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NgxMaskModule } from 'ngx-mask';\n\nimport { SharedModule } from '../shared/shared.module';\nimport { CoreModule } from '../core/core.module';\nimport { NotificationsComponent } from './notifications.component';\nimport { MessageItemComponent } from './message-item/message-item.component';\nimport { NzDatePickerModule } from 'ng-zorro-antd';\n\n\n@NgModule({\n declarations: [\n NotificationsComponent,\n MessageItemComponent\n ],\n imports: [\n SharedModule,\n CoreModule,\n NgxMaskModule.forRoot({}),\n NzDatePickerModule\n ],\n exports: [\n NotificationsComponent,\n MessageItemComponent\n ],\n providers: []\n})\nexport class NotificationsModule {\n\n }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { GetNotificationsQuerys } from './notification.models';\nimport moment from 'moment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n\n private uri = this.environmentService.getEnvVar('api_home');\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) {}\n\n getNotifications(query?: GetNotificationsQuerys) {\n let params = new HttpParams();\n for (const key in query) {\n if (query.hasOwnProperty(key)) {\n params = params.append(key, query[key]);\n }\n }\n params = params.append('rand', Math.random().toString());\n return this.http.get(`${this.uri}/notifications-history`, {params});\n }\n\n getNextPageNotifications(link) {\n return this.http.get(link);\n }\n\n readMessage(msg) {\n return this.http.patch(`${this.uri}/notifications`, msg);\n }\n\n clearNotifications() {\n return this.http.post(`${this.uri}/clear-all-notifications`, {});\n }\n\n checkNotificationPooling() {\n return this.http.get(`${this.uri}/notifications-pooling?` + Math.random());\n }\n\n formatDate(date: Date, endOfDay: boolean) {\n const formatHour = endOfDay ? 'YYYY-MM-DD[T]23:59:ss.sss[Z]' : 'YYYY-MM-DD[T]00:00:ss.sss[Z]';\n return moment(date).format(formatHour);\n }\n}\n","
\n \n \n
\n 0 && hasScroll\"\n class=\"carousel-fluid__button carousel-fluid__button--prev\"\n (click)=\"handleNavigationButton(-1)\"\n >\n \n \n \n \n \n\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n PLATFORM_ID,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'app-carousel-fluid',\n templateUrl: './carousel-fluid.component.html',\n styleUrls: ['./carousel-fluid.component.scss']\n})\n\nexport class CarouselFluidComponent {\n @Input() listCarousel = [];\n @Output() openModal: EventEmitter<{ index: number }> = new EventEmitter<{ index: number }>();\n @ViewChildren('image') refListItem: QueryList;\n @ViewChild('list') refList: ElementRef;\n position = 0;\n scrolling: ReturnType;\n isShifting: ReturnType;\n hasScroll = true;\n\n constructor(@Inject(PLATFORM_ID) private readonly platformId: string) { }\n\n handleNavigationButton(direction: number) {\n this.handleShift(direction);\n window.clearTimeout(this.isShifting);\n this.isShifting = setTimeout(() => {\n this.scrollToImage(this.position);\n }, 100);\n }\n\n handleScroll(event: WheelEvent) {\n window.clearTimeout(this.scrolling);\n this.scrolling = setTimeout(() => {\n this.setNewCurrentImageByCoordinate(event.x, event.y);\n }, 150);\n }\n\n handleOpenModal(position: number) {\n this.openModal.emit({ index: position });\n }\n\n handleShift(shiftValue: number) {\n const nextPosition: number = this.position + shiftValue;\n this.updatePosition(nextPosition);\n }\n\n setNewCurrentImageByCoordinate(x: number, y: number) {\n const element: Element = document.elementFromPoint(x, y);\n const parsedIndex = this.getElementIndex(element);\n return this.updatePosition(parsedIndex);\n }\n\n getElementIndex(element: Element) {\n const elementIndex = element.id.split('-');\n return parseInt(elementIndex[elementIndex.length - 1], 10);\n }\n\n scrollToImage(position: number) {\n const imageList = this.refListItem.toArray();\n imageList[position].nativeElement.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center'\n });\n }\n\n setScroll(element: Element) {\n if (isPlatformBrowser(this.platformId)) {\n this.hasScroll = element.getBoundingClientRect().width !== element.scrollWidth;\n }\n }\n\n updatePosition(nextPosition: number) {\n if (nextPosition < this.refListItem.toArray().length && nextPosition >= 0) {\n if (this.position === 0 && this.refListItem.toArray()[0].nativeElement.offsetWidth < this.refList.nativeElement.offsetWidth / 2) {\n this.position = nextPosition + 1;\n return true;\n }\n if (this.position === this.refListItem.toArray().length - 1 && this.refListItem.toArray()[this.refListItem.toArray().length - 1].nativeElement.offsetWidth < this.refList.nativeElement.offsetWidth / 2) {\n this.position = nextPosition - 1;\n return true;\n }\n this.position = nextPosition;\n return true;\n }\n return false;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n 0 ? '100%' : 'inherit' }\"\n >\n \n \n \n \n\n","import {\n Component, Input, ViewEncapsulation, Output, EventEmitter, OnChanges,\n ChangeDetectorRef, Inject, PLATFORM_ID, OnInit, HostListener, OnDestroy\n} from '@angular/core';\nimport { SafeHtml, DomSanitizer } from '@angular/platform-browser';\nimport { isPlatformBrowser } from '@angular/common';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nconst LINK_SRC = 'LINK_SRC';\nconst ALT_IMG = 'ALT_IMG';\nconst IMG = `\"${ALT_IMG}\"`;\nconst SPACING = 24;\n// tslint:disable-next-line: max-line-length\nconst VIDEO = ``;\n\n@Component({\n selector: 'app-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CarouselComponent implements OnChanges, OnInit {\n\n @Input() listCarousel = [];\n @Input() index = 0;\n @Input() typeHtml = 'img';\n @Input() theme: 'modal' | 'landpage' = 'landpage';\n @Input() thumbnail: true | false = false;\n\n @Output() openModal: EventEmitter<{ index: number }> = new EventEmitter<{ index: number }>();\n\n itemNext: SafeHtml;\n itemPrevious: SafeHtml;\n itemActual: SafeHtml;\n isBrowser: boolean;\n\n isMobile: boolean;\n\n constructor(\n private breakPoint: BreakpointObserver,\n private byPass: DomSanitizer,\n private cd: ChangeDetectorRef,\n @Inject(PLATFORM_ID) private platformId) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnChanges() {\n this.init();\n }\n\n ngOnInit() {\n this.breakPoint.observe(['(max-width: 768px)'])\n .subscribe((state) => {\n this.isMobile = state.matches;\n });\n\n this.onResize();\n }\n\n @HostListener('window:resize', [])\n onResize() {\n if (this.isBrowser) {\n const vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') { this.click(-1); }\n if (event.key === 'ArrowRight') { this.click(1); }\n }\n\n init() {\n if (this.typeHtml === 'img') {\n this.buildTemplate(IMG);\n } else {\n this.buildTemplate(VIDEO);\n }\n this.cd.detectChanges();\n\n if (this.isBrowser) {\n this.updateScroll();\n }\n }\n\n click(value) {\n const verification = this.index + value;\n if (verification < 0 || verification > this.listCarousel.length - 1) {\n return;\n }\n\n this.index += value;\n this.init();\n }\n\n receiveIndex(event) {\n this.index = event.index;\n this.init();\n }\n\n updateScroll() {\n const elements = {\n parent: document.getElementById('product-thumbnail-list'),\n child: document.getElementsByClassName('product-thumbnail__active')[0] as HTMLScriptElement\n };\n\n if (!elements.parent || !elements.child) {\n return;\n }\n const parent = elements.parent.getBoundingClientRect();\n const child = elements.child.getBoundingClientRect();\n\n const { left: elLeft, right: elRight } = child;\n const { left: parentLeft, right: parentRight } = parent;\n\n if (elRight > parentRight) {\n elements.parent.scrollLeft += elements.child.offsetWidth + SPACING;\n } else if (elLeft < parentLeft) {\n elements.parent.scrollLeft -= elements.child.offsetWidth + SPACING;\n }\n }\n\n buildTemplate(constReplace) {\n if (this.listCarousel.length > 0) {\n const src = this.listCarousel[this.index].linkHtml;\n const alt = this.listCarousel[this.index].alt?.replace(/\"/g, '');\n\n const elementWithSrc = this.setElementSrc(src, constReplace);\n const elementWithSrcAndAlt = this.setElementAlt(elementWithSrc, alt);\n\n this.itemActual = this.byPassHtml(elementWithSrcAndAlt);\n this.itemPrevious = this.disabledPrevious() ? '' :\n this.byPassHtml(this.setElementSrc(this.verifyElementHtml(-1), constReplace));\n this.itemNext = this.disabledNext() ? '' :\n this.byPassHtml(this.setElementSrc(this.verifyElementHtml(1), constReplace));\n }\n }\n\n private setElementAlt(element: string, alt: string) {\n return this.replaceHtml(ALT_IMG, alt, element);\n }\n\n private setElementSrc(valueReplace: string, constReplace) {\n return this.replaceHtml(LINK_SRC, valueReplace, constReplace);\n }\n\n verifyElementHtml(valuePlus): string {\n const element = this.listCarousel[this.index + valuePlus];\n return element && element.linkHtml ? element.linkHtml : '';\n }\n\n replaceHtml(replace, valueReplace, constReplace): string {\n const regex = new RegExp(replace, 'g');\n return constReplace.replace(regex, valueReplace);\n }\n\n byPassHtml(html: string) {\n return this.byPass.bypassSecurityTrustHtml(html);\n }\n\n clickImgCurrent() {\n this.openModal.emit({ index: this.index });\n if (this.theme === 'modal' && !this.isMobile) {\n window.open(this.listCarousel[this.index].linkModal, '_blank');\n }\n }\n\n disabledNext() {\n return this.index >= this.listCarousel.length - 1;\n }\n\n disabledPrevious() {\n return this.index <= 0;\n }\n\n isIpad() {\n return false;\n }\n\n}\n","
\n \n \n \n {{ button.label }}\n \n
\n\n","import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\nimport {GalleryButtonModel} from './model/gallery-button.model';\n\n@Component({\n selector: 'app-gallery-controller',\n templateUrl: './gallery-controller.component.html',\n styleUrls: ['./gallery-controller.component.scss']\n})\nexport class GalleryControllerComponent implements OnInit {\n\n @Input() controllers: GalleryButtonModel[] = [];\n\n @Input() theme: 'dark' | 'light' = 'light';\n\n @Input() selectFirst: boolean;\n\n @Output() changeSelect: EventEmitter<{ index: number; value: any }> = new EventEmitter<{ index: number, value: any }>();\n\n @Input() selected: GalleryButtonModel;\n\n color: string;\n\n ngOnInit() {\n this.color = this.theme === 'dark' ? '#fff' : '#2A2A2A';\n if (this.controllers.length && this.selectFirst) {\n this.selected = this.controllers[0];\n }\n }\n\n select(button: GalleryButtonModel, index: number) {\n this.selected = button;\n\n this.changeSelect.emit({\n index,\n value: button.value,\n });\n }\n\n}\n","\n \n \n\n \n\n
\n\n","import {Component, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {MapsAPILoader} from '@agm/core';\n\ndeclare const google;\n\n@Component({\n selector: 'app-map',\n styleUrls: ['./map.component.scss'],\n templateUrl: './map.component.html',\n})\nexport class MapComponent implements OnChanges {\n\n @Input() zoom = 15;\n @Input() limitZoom = 12;\n @Input() latitude: number;\n @Input() longitude: number;\n @Input() radius = 500;\n @Input() streetView: true | false = false;\n @Input() colorRadius = '#ed1c29';\n @Input() idMap = 'map';\n\n constructor(public apiLoader: MapsAPILoader) {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.streetView && changes.streetView.currentValue === true) {\n this.openStreetView();\n }\n }\n\n openStreetView() {\n this.apiLoader.load()\n .then(() => {\n this.newStreetPanorama();\n });\n }\n\n newStreetPanorama() {\n const streetView = document.getElementById(`street-view-${this.idMap}`);\n\n if (streetView) {\n return new google.maps.StreetViewPanorama(\n streetView, {\n position: {lat: this.latitude, lng: this.longitude},\n pov: {\n heading: 0,\n pitch: 0,\n zoom: 1\n }\n });\n }\n }\n}\n","\n
\n
\n
\n \n
\n \n
\n
\n\n","import {Component, OnInit, Input, Output, EventEmitter, HostListener} from '@angular/core';\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent {\n\n // Ng-Zorro modal wrapped attributes\n @Input() isVisible: true | false = false;\n @Output() isVisibleChange: EventEmitter = new EventEmitter();\n\n @Input() nzWrapClassName: string;\n @Input() nzClassName: string;\n // Ng-Zorro modal wrapped attributes\n\n showModal(): void {\n this.isVisible = true;\n }\n\n handleClose(): void {\n this.isVisible = false;\n this.isVisibleChange.emit(false);\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') { this.handleClose() }\n }\n\n}\n","
\n \n
\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n","import { Component, Input, ViewChild } from '@angular/core';\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { SnackbarService } from '../../shared/components/snackbar/service/snackbar.service';\nimport { getE } from 'src/app/core/helpers/object.helper';\n\ninterface ControllerSelected {\n index: number;\n value: string;\n}\n\ninterface CarouselItem {\n name: string;\n linkModal: string;\n linkHtml: string;\n linkThumbnail: string;\n alt: string;\n}\n\n@Component({\n selector: 'app-product-gallery',\n templateUrl: './product-gallery.component.html',\n styleUrls: ['./product-gallery.component.scss'],\n})\nexport class ProductGalleryComponent {\n static CONTROLLERS = [\n // photos:\n {\n key: 'photos.length',\n controller: (product) => ({\n label: `Ver ${product?.photos.length} fotos`,\n icon: 'image_ico',\n value: 'photos-carousel',\n }),\n },\n // video:\n {\n key: 'videos.length',\n controller: {\n label: 'Ver vídeo',\n icon: 'video_camera_ico',\n value: 'videos',\n },\n },\n // map:\n {\n key: 'map',\n controller: {\n label: 'Ver mapa',\n icon: 'map_ico',\n value: 'map',\n },\n },\n // streetView:\n {\n key: 'map',\n controller: {\n label: 'Street view',\n icon: 'street_view_ico',\n value: 'street-view',\n },\n },\n // plans:\n {\n key: 'floor_plans',\n controller: {\n label: 'Ver plantas',\n icon: 'see_plans_ico',\n value: 'floor_plans',\n },\n },\n // media 360\n {\n key: 'tour360.length',\n controller: {\n label: 'Ver 360',\n icon: 'see_plans_ico',\n value: 'tour360',\n },\n },\n ];\n\n @ViewChild('plansView') plansView: CarouselComponent;\n\n public instanceDocument = document;\n\n private rawProduct;\n\n @Input() set product(product) {\n this.rawProduct = product;\n this.init(product);\n }\n get product() {\n return this.rawProduct;\n }\n\n @Input() viewBookmark = true;\n\n loaded = false;\n enableShareButton = false;\n selected: string;\n selectedButton: any;\n\n controllers = [];\n\n photos: CarouselItem[];\n videos: CarouselItem[];\n plans: CarouselItem[];\n tour360: CarouselItem[];\n\n modalOpened: boolean;\n index = 0;\n indexDefault = 0;\n\n constructor(private snackbarService: SnackbarService) { }\n\n static VideoURLToThumbnail(url: string) {\n if (url) {\n if (url.toLowerCase().includes('chiligumvideos'.toLowerCase())) {\n return null;\n }\n const paths = url.split('v=');\n return `https://img.youtube.com/vi/${paths[paths.length - 1]}/sddefault.jpg`;\n }\n }\n\n static VideoURLToEmbedURL(url: string) {\n if (url) {\n if (url.toLowerCase().includes('chiligumvideos'.toLowerCase())) {\n return url;\n }\n if (url.toLowerCase().includes('youtube'.toLowerCase())) {\n const id = url\n .match(/v=(.*)/gi)[0]\n .replace(/&(.*)/gi, '')\n .replace('v=', '');\n return `https://www.youtube.com/embed/${id}`;\n }\n if (url.toLowerCase().includes('youtu.be'.toLowerCase())) {\n const path = url.split('/');\n return `https://www.youtube.com/embed/${path[path.length - 1]}`;\n }\n return url;\n }\n }\n\n static ValidateController(product, key: string, controller: any) {\n if (!getE(product, key)) {\n return null;\n }\n\n return controller && {}.toString.call(controller) === '[object Function]'\n ? controller(product)\n : controller;\n }\n\n init(product) {\n if (!product) {\n return;\n }\n this.loaded = true;\n this.enableShareButton = product.public_view;\n this.handlerControllers();\n this.photos = this.getPhotos();\n this.videos = this.getVideos();\n this.plans = this.getPlans();\n this.tour360 = this.getTour360();\n this.selected = this.setGaleryInit();\n }\n\n handleCloseModal() {\n this.index = this.indexDefault;\n\n this.plansView.index = this.indexDefault;\n this.plansView.init();\n }\n\n setPlanSelectedByProductPlans(index: number) {\n this.setSelected(this.getPlansController());\n this.openModal({ index });\n }\n\n getPlansController(): ControllerSelected {\n const selectedIndex = this.controllers.findIndex(\n (x) => x.value === 'floor_plans'\n );\n return {\n index: selectedIndex,\n value: this.controllers[selectedIndex].value,\n };\n }\n\n setGaleryInit() {\n if (this.product.photos?.length > 0) {\n return 'photos-carousel';\n }\n\n if (this.product.videos?.length > 0) {\n return 'video';\n }\n\n return 'map';\n }\n\n getPlans(): CarouselItem[] {\n return this.product.floor_plans\n ?.filter((p) => p && p.url)\n .map((p) => {\n const { short_description, url } = p;\n return {\n name: short_description,\n linkModal: url,\n linkHtml: url,\n linkThumbnail: url,\n alt: short_description,\n };\n });\n }\n\n getPhotos(): CarouselItem[] {\n return this.product.photos?.map((p) => {\n const { name, url, alternateText } = p;\n return {\n name,\n linkModal: url,\n linkHtml: url,\n linkThumbnail: url,\n alt: alternateText,\n };\n });\n }\n\n getVideos(): CarouselItem[] {\n return this.product.videos?.map((video) => {\n const { name, url } = video;\n\n return {\n name,\n linkModal: ProductGalleryComponent.VideoURLToEmbedURL(url),\n linkHtml: ProductGalleryComponent.VideoURLToEmbedURL(url),\n linkThumbnail: ProductGalleryComponent.VideoURLToThumbnail(url),\n alt: '',\n };\n });\n }\n\n getTour360(): CarouselItem[] {\n return this.product.tour360?.map((tour) => {\n const { name, url } = tour;\n return {\n name,\n linkModal: url,\n linkHtml: url,\n linkThumbnail: url,\n alt: '',\n };\n });\n }\n\n handlerControllers() {\n this.controllers = this.validatePlans()\n .map((f) =>\n ProductGalleryComponent.ValidateController(\n this.product,\n f.key,\n f.controller\n )\n )\n .filter((c) => c);\n\n this.selectedButton = this.controllers[0];\n }\n\n validatePlans() {\n const plans = getE(this.product, 'floor_plans', []).filter(\n (p) => p && p.url\n );\n\n return plans.length < 1\n ? ProductGalleryComponent.CONTROLLERS.filter(\n (controller) => controller.key !== 'floor_plans'\n )\n : ProductGalleryComponent.CONTROLLERS;\n }\n\n setSelected(evt: { index: number; value: string }) {\n this.selected = evt.value;\n this.selectedButton = this.controllers[evt.index];\n }\n\n openModal({ index }) {\n this.modalOpened = true;\n if (index !== undefined) {\n this.index = index;\n }\n }\n\n copyToCB() {\n if (!this.instanceDocument.getElementById('link') && this.product.public_view) {\n let host = 'https://www.lopes.com.br/imovel/';\n const username: any = document.querySelector('.sub-header-title .main-welcome').innerHTML.split(', ')[1];\n const input = this.instanceDocument.createElement('input');\n this.instanceDocument.body.appendChild(input);\n\n if (location.hostname === 'devfrontcrm.lpsbr.com' || location.hostname === 'localhost') {\n host = 'https://devfrontportal.lpsbr.com/imovel/';\n }\n\n let sku: any = window.location.href;\n sku = sku.split('/');\n sku = sku.reverse();\n sku = sku[0];\n\n this.product.public_view === true && (this.product.product_status === 'Ativo' || this.product.product_status === 'ativo' || this.product.product_status === 'active' || this.product.product_status === 'Active')\n ? input.value = host + sku + '/?corretor=' + username.toLowerCase()\n : input.value = host + sku;\n\n input.select();\n input.id = 'link';\n this.instanceDocument.execCommand('copy');\n input.remove();\n this.snackbarService.show('Link copiado com sucesso!', 'success');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProductGalleryComponent } from './product-gallery.component';\nimport { SharedModule } from '../../shared/shared.module';\nimport { CarouselComponent } from './carousel/carousel.component';\nimport { CarouselFluidComponent } from './carousel-fluid/carousel-fluid.component';\nimport { GalleryControllerComponent } from './gallery-controller/gallery-controller.component';\nimport { MapComponent } from './map/map.component';\nimport { AgmCoreModule } from '@agm/core';\nimport { CommonsLibModule } from 'commons-lib';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { ModalComponent } from './modal/modal.component';\nimport { ThumbnailComponent } from './thumbnail/thumbnail.component';\n\n\n\n@NgModule({\n declarations: [ProductGalleryComponent, CarouselComponent, CarouselFluidComponent, GalleryControllerComponent, MapComponent, ModalComponent, ThumbnailComponent],\n imports: [\n CommonModule,\n SharedModule,\n CommonsLibModule,\n NgZorroAntdModule,\n AgmCoreModule.forRoot({\n apiKey: 'AIzaSyDJ5WMmnDTMFiF5BdYaLeQ1aAUFMWRxw0Q'\n }),\n ],\n exports: [ProductGalleryComponent]\n})\nexport class ProductGalleryModule { }\n","
\n
\n {{indexSelected + 1}} de {{listThumbnail.length}} {{type === 'img' ? 'fotos' : 'videos'}}\n \n
\n
\n
    \n
  • \n \n
  • \n
\n
\n
\n","import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { MediaCarousel } from '../carousel/model/media-carousel.model';\n\nconst IMG = '\"LINK_IMG\"';\n\n@Component({\n selector: 'app-thumbnail',\n templateUrl: './thumbnail.component.html',\n styleUrls: ['./thumbnail.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ThumbnailComponent {\n\n @Input() listThumbnail: Array = [];\n @Input() indexSelected = 0;\n @Input() type: string;\n\n @Output() sendIndex: EventEmitter<{ index: number }> = new EventEmitter<{ index: number }>();\n\n clickThumbnail(index) {\n this.indexSelected = index;\n this.sendIndex.emit({ index: this.indexSelected });\n }\n\n nameImg() {\n if (this.listThumbnail.length > 0) {\n return this.listThumbnail[this.indexSelected].name;\n }\n }\n\n setHtmlImg(link: string) {\n return IMG.replace(/LINK_IMG/g, link);\n }\n\n}\n","
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n Cancelar\n Salvar\n
\n
\n
","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { PropertiesService } from 'src/app/properties/service/properties.service';\n\n@Component({\n selector: 'app-capture',\n templateUrl: './capture.component.html',\n styleUrls: ['./capture.component.scss']\n})\nexport class CaptureComponent implements OnInit {\n\n @ViewChild('locacao', { static: true }) locacao: ElementRef;\n @ViewChild('unidade', { static: true }) unidade: ElementRef;\n @ViewChild('venda', { static: true }) venda: ElementRef;\n\n public formRegistry: FormGroup;\n public formSaleRent: FormGroup;\n public formUser: FormGroup;\n private docBody = document.querySelector('body');\n\n constructor(\n private formBuilder: FormBuilder,\n private service: PropertiesService,\n private router: Router,\n private route: ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n this.docBody.setAttribute('style', 'overflow: auto');\n this.initializeForm();\n // this.formRegistry.patchValue(JSON.parse(localStorage.getItem('form')));\n }\n\n // // FORMS\n private initializeForm() {\n this.formRegistry = this.formBuilder.group({\n id: [null],\n typeCode: [3],\n zip_code: [null],\n street: ['Avenida Professor Luiz Ignácio Anhaia Mello'],\n country: [''],\n number: ['627'],\n complement: [null],\n neighborhood: ['Jardim América'],\n state: ['SP'],\n city: ['Vila Bela da Santíssima Trindade'],\n value_zone: [null],\n location_value_zones: [null],\n geographic_area: [null],\n condominium: ['Penha Plano Manoel Leiroz de Azevedo'],\n area_util: [null],\n areat_total: [null],\n single_tower: [false],\n number_name_tower: [null],\n floor: [null],\n unity: [null],\n not_number: [false]\n });\n this.formSaleRent = this.formBuilder.group({\n sale: [ false ],\n salePrice: [ null, [ Validators.required ] ],\n commission: [ null ],\n settled: [ true ],\n notSettled: [ null ],\n debt: [ null ],\n profitable: [ false ],\n notProfitable: [ true ],\n income: [ null ],\n saleD1: [ false ],\n saleD2: [ false ],\n saleD3: [ false ],\n saleD4: [ false ],\n saleResponsible: [ null ],\n rent: [ false ],\n rentPrice: [ null, [ Validators.required ] ],\n rentD1: [ null ],\n rentD2: [ null ],\n rentD3: [ null ],\n rentResponsible: [ null ]\n });\n this.formUser = this.formBuilder.group({\n users: []\n });\n }\n\n public getFormLocation(event: FormGroup): void {\n for (const key in event) {\n if (event.hasOwnProperty(key)) {\n this.formRegistry.get(key).patchValue(event[key]);\n }\n }\n }\n\n public sendFormRegistry() {\n this.service.validatorForm(this.formRegistry);\n }\n\n public routerBack() {\n this.router.navigate(['/produtos'], { relativeTo: this.route });\n }\n\n public sendValue(event) {\n this.formUser.get('users').setValue(event);\n }\n\n}","
\n
\n
\n

{{ titleCondominium }}

\n
\n \n \n
\n \n \n
\n
\n Cancelar\n Salvar\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-descrption',\n templateUrl: './description.component.html',\n styleUrls: ['./description.component.scss']\n})\nexport class DescriptionComponent {\n\n public titleCondominium = 'Descrições para o portal';\n\n}","
\n
\n

Fotos

\n
\n \n \n \n
\n
\n

\n Você pode arrastar as fotos para organizá-las. A ordem que elas aparecem abaixo será a ordem que aparecerão nos sites e portais. A primeira foto será sempre a de destaque.\n

\n
\n
\n = maxPhotos\"\n (change)=\"verifyPhotos('button')\"\n >\n \n
Marcar todas
\n
Desmarcar todas
\n
\n
\n
\n
0}\">\n \n \n
\n
\n
\n
\n \"icone_documento\"\n {{ file.fileExt }}\n
\n
\n \"{{\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n {{ j + 1 }}\n
\n
\n
\n
\n Classificar\n \n \n \n
\n
\n Posicionar\n \n \n \n
\n
\n Ver foto\n
\n
\n Excluir\n
\n
\n
\n
\n
\n {{ type }}\n
\n
\n
\n
\n
\n {{ position }}\n
\n
\n
\n
= maxPhotos}\">\n \n \n
\n
\n
\n

Mínimo de arquivos requeridos: 15

\n
\n
\n
\n
\n
\n

Outras mídias

\n
\n
\n \n \n \n
\n
Adicionar vídeo (url)
\n
\n \n \n \n
\n
Adicionar tour virtual (url)
\n
\n
\n
\n

Anexos

\n
\n
\n
\n = maxFiles\"\n (change)=\"verifyFiles('button')\"\n >\n \n
\n
\n
\n
0}\">\n \n \n
\n
\n
\n
\n \"icone_documento\"\n {{ file.fileExt }}\n
\n
\n \"{{\n
\n
\n
\n
= maxFiles}\">\n \n \n
\n
\n
\n

Máximo de arquivos permitidos: 09

\n

Tamanho máximo dos arquivos: 2 MB

\n
\n
\n
\n
\n Cancelar\n Salvar\n
\n\n
\n
\n
\n

Fotos

\n
\n \n \n \n
\n
\n

\n Você pode arrastar as fotos para organizá-las. A ordem que elas aparecem abaixo será a ordem que aparecerão nos sites e portais. A primeira foto será sempre a de destaque.\n

\n
\n
\n = maxPhotos\"\n (change)=\"verifyPhotos('button')\"\n >\n \n
Marcar todas
\n
Desmarcar todas
\n
\n
\n
\n
0}\">\n \n \n
\n
\n
\n
\n \"icone_documento\"\n {{ file.fileExt }}\n
\n
\n \"{{\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n {{ j + 1 }}\n
\n
\n
\n
\n Classificar\n \n \n \n
\n
\n Posicionar\n \n \n \n
\n
\n Ver foto\n
\n
\n Excluir\n
\n
\n
\n
\n
\n {{ type }}\n
\n
\n
\n
\n
\n {{ position }}\n
\n
\n
\n
= maxPhotos}\">\n \n \n
\n
\n
\n

Mínimo de arquivos requeridos: 15

\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { MediaModel } from '../../../core/models/attachment.model';\n\n@Component({\n selector: 'app-products-media',\n templateUrl: './media.component.html',\n styleUrls: ['./media.component.scss']\n})\nexport class MediaComponent implements OnInit {\n\n @ViewChild('uploadBtnRef', { read: ElementRef, static: true }) uploadBtn: ElementRef;\n @ViewChild('gridUploadBtnRef', { read: ElementRef, static: true }) gridUploadBtn: ElementRef;\n @ViewChild('gridUploadBtn2Ref', { read: ElementRef, static: true }) gridUploadBtn2: ElementRef;\n\n @ViewChild('uploadBtnRefFull', { read: ElementRef, static: true }) uploadBtnFull: ElementRef;\n @ViewChild('gridUploadBtnRefFull', { read: ElementRef, static: true }) gridUploadBtnFull: ElementRef;\n @ViewChild('gridUploadBtn2RefFull', { read: ElementRef, static: true }) gridUploadBtn2Full: ElementRef;\n\n @ViewChild('uploadFileBtnRef', { read: ElementRef, static: true }) uploadFileBtn: ElementRef;\n @ViewChild('gridUploadFileBtnRef', { read: ElementRef, static: true }) gridUploadFileBtn: ElementRef;\n @ViewChild('gridUploadFileBtn2Ref', { read: ElementRef, static: true }) gridUploadFileBtn2: ElementRef;\n\n get hasCheckedPhoto(): boolean {\n for (const photo of this.attachedPhotosSession) {\n if (photo.marked) {\n return true;\n }\n }\n return false;\n }\n\n get allPhotosChecked(): boolean {\n for (const photo of this.attachedPhotosSession) {\n if (!photo.marked) {\n return false;\n }\n }\n return true;\n }\n\n showFullPhotoManager = false;\n\n attachedPhotosSession: MediaModel[] = [];\n attachedFilesSession: MediaModel[] = [];\n\n videosArray = [];\n toursArray = [];\n\n maxPhotos = 25;\n maxFiles = 10;\n\n allowedExtensionsPhoto = [\n 'jpg',\n 'jpeg',\n 'png',\n 'tiff'\n ];\n\n allowedExtensionsFile = [\n 'doc',\n 'docx',\n 'pdf',\n 'ppt',\n 'pptx',\n 'xls',\n 'xlsx'\n ];\n\n private iconExt = {\n doc: 'word',\n docx: 'word',\n pdf: 'pdf',\n ppt: 'powerpoint',\n pptx: 'powerpoint',\n xls: 'excel',\n xlsx: 'excel'\n };\n\n public mockReorder = [ '01', '02', '03', '04', '05', '...mock' ];\n public mockClassification = [ 'Área de serviço', 'Cozinha', 'Sala de estar', '...mock' ];\n\n constructor(private snackSvc: SnackbarService,\n private windowService: WindowScrollService) { }\n\n ngOnInit(): void { }\n\n async verifyPhotos(source: string) {\n const photosArray: File[] = this.getSourcePhotos(source);\n for (const photo of photosArray) {\n const fileExtension = photo.name.split('.').pop().toLowerCase();\n if (this.allowedExtensionsPhoto.includes(fileExtension)) {\n if (photo.size < 2097153) {\n const icon: string = this.iconExt[fileExtension] || null;\n const readFile = await this.getBase64(photo);\n if (this.attachedPhotosSession.length < this.maxPhotos) {\n if (this.verifyDuplicatePhoto(readFile)) {\n this.attachedPhotosSession.push({\n name: photo.name,\n file: photo,\n fileExt: fileExtension,\n icon,\n content_type: photo.type,\n content: readFile\n });\n } else {\n this.snackSvc.show('Foto duplicada.', 'error');\n }\n } else {\n this.snackSvc.show('Limite de fotos atingido.', 'error');\n }\n } else {\n this.snackSvc.show('Limite máximo por foto é de 2MB.', 'error');\n }\n } else {\n this.snackSvc.show('Tipo de arquivo não permitido.', 'error');\n }\n }\n this.clearPhotoInputs();\n }\n\n getSourcePhotos(source: string): File[] {\n if (source === 'grid' && this.gridUploadBtn.nativeElement.files && this.gridUploadBtn.nativeElement.files.length > 0) {\n return this.gridUploadBtn.nativeElement.files;\n }\n if (source === 'grid2' && this.gridUploadBtn2.nativeElement.files && this.gridUploadBtn2.nativeElement.files.length > 0) {\n return this.gridUploadBtn2.nativeElement.files;\n }\n if (source === 'button' && this.uploadBtn.nativeElement.files && this.uploadBtn.nativeElement.files.length > 0) {\n return this.uploadBtn.nativeElement.files;\n }\n if (source === 'grid' && this.gridUploadBtnFull.nativeElement.files && this.gridUploadBtnFull.nativeElement.files.length > 0) {\n return this.gridUploadBtnFull.nativeElement.files;\n }\n if (source === 'grid2' && this.gridUploadBtn2Full.nativeElement.files && this.gridUploadBtn2Full.nativeElement.files.length > 0) {\n return this.gridUploadBtn2Full.nativeElement.files;\n }\n if (source === 'button' && this.uploadBtnFull.nativeElement.files && this.uploadBtnFull.nativeElement.files.length > 0) {\n return this.uploadBtnFull.nativeElement.files;\n }\n return [];\n }\n\n verifyDuplicatePhoto(readFile: any): boolean {\n let unique = true;\n this.attachedPhotosSession.forEach(attach => {\n if (attach.content === readFile) {\n unique = false;\n }\n });\n return unique;\n }\n\n clearPhotoInputs(): void {\n this.gridUploadBtn.nativeElement.value = '';\n this.gridUploadBtn2.nativeElement.value = '';\n this.uploadBtn.nativeElement.value = '';\n this.gridUploadBtnFull.nativeElement.value = '';\n this.gridUploadBtn2Full.nativeElement.value = '';\n this.uploadBtnFull.nativeElement.value = '';\n }\n\n removeAttachedPhoto(idx: number): void {\n if (this.attachedPhotosSession.length === 0) {\n return;\n }\n this.attachedPhotosSession.splice(idx, 1);\n }\n\n checkAllPhotos(): void {\n this.attachedPhotosSession.forEach(photo => photo.marked = true);\n }\n\n uncheckAllPhotos(): void {\n this.attachedPhotosSession.forEach(photo => photo.marked = false);\n }\n\n togglePhotoManager(state: boolean): void {\n this.setBodyScroll(!state);\n this.showFullPhotoManager = state;\n }\n\n openUrl(url: string): void {\n window.open(url, '_blank');\n }\n\n addVideo(): void {\n this.videosArray.push({ url: '' });\n }\n\n addTour(): void {\n this.toursArray.push({ url: '' });\n }\n\n removeVideoUrl(idx: number): void {\n this.videosArray.splice(idx, 1);\n }\n\n removeTourUrl(idx: number): void {\n this.toursArray.splice(idx, 1);\n }\n\n async verifyFiles(source: string) {\n const filesArray: File[] = this.getSourceFiles(source);\n for (const file of filesArray) {\n const fileExtension = file.name.split('.').pop().toLowerCase();\n if (this.allowedExtensionsFile.includes(fileExtension)) {\n if (file.size < 2097153) {\n const icon: string = this.iconExt[fileExtension] || null;\n const readFile = await this.getBase64(file);\n if (this.attachedFilesSession.length < this.maxFiles) {\n if (this.verifyDuplicateFile(readFile)) {\n this.attachedFilesSession.push({\n name: file.name,\n file,\n fileExt: fileExtension,\n icon,\n content_type: file.type,\n content: readFile\n });\n } else {\n this.snackSvc.show('Arquivo duplicado.', 'error');\n }\n } else {\n this.snackSvc.show('Limite de arquivos atingido.', 'error');\n }\n } else {\n this.snackSvc.show('Limite máximo por arquivo é de 2MB.', 'error');\n }\n } else {\n this.snackSvc.show('Tipo de arquivo não permitido.', 'error');\n }\n }\n this.clearFileInputs();\n }\n\n getSourceFiles(source: string): File[] {\n if (source === 'grid' && this.gridUploadFileBtn.nativeElement.files && this.gridUploadFileBtn.nativeElement.files.length > 0) {\n return this.gridUploadFileBtn.nativeElement.files;\n }\n if (source === 'grid2' && this.gridUploadFileBtn2.nativeElement.files && this.gridUploadFileBtn2.nativeElement.files.length > 0) {\n return this.gridUploadFileBtn2.nativeElement.files;\n }\n if (source === 'button' && this.uploadFileBtn.nativeElement.files && this.uploadFileBtn.nativeElement.files.length > 0) {\n return this.uploadFileBtn.nativeElement.files;\n }\n return [];\n }\n\n verifyDuplicateFile(readFile: any): boolean {\n let unique = true;\n this.attachedFilesSession.forEach(attach => {\n if (attach.content === readFile) {\n unique = false;\n }\n });\n return unique;\n }\n\n clearFileInputs(): void {\n this.gridUploadFileBtn.nativeElement.value = '';\n this.gridUploadFileBtn2.nativeElement.value = '';\n this.uploadFileBtn.nativeElement.value = '';\n }\n\n removeAttachedFile(idx: number): void {\n if (this.attachedFilesSession.length === 0) {\n return;\n }\n this.attachedFilesSession.splice(idx, 1);\n }\n\n getBase64(baseFile: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(baseFile);\n reader.onload = (item: any) => {\n resolve(item.target.result);\n };\n reader.onerror = error => {\n reject(null);\n };\n });\n }\n\n setBodyScroll(state: boolean) {\n if (state) {\n this.windowService.enable();\n } else {\n this.windowService.disable();\n }\n }\n}\n","
\n
\n
\n
\n

\n {{ title }}\n

\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Telefone da administradora

\n
\n \n
\n
\n \n Telefone inválido\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Telefone da portaria

\n
\n \n
\n
\n \n Telefone inválido\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-construction',\n templateUrl: './construction.component.html',\n styleUrls: ['./construction.component.scss']\n})\nexport class ConstructionComponent implements OnInit {\n\n public title = 'Construção';\n public form: FormGroup;\n\n public administrator_phone: {phone: string, ddi: string, invalid: boolean} = {\n phone: '',\n ddi: '',\n invalid: false\n };\n\n public concierge_phone: {phone: string, ddi: string, invalid: boolean} = {\n phone: '',\n ddi: '',\n invalid: false\n };\n\n\n constructor(private formBuilder: FormBuilder) { }\n\n ngOnInit(): void {\n this.constructionForm();\n }\n\n public constructionForm(): void {\n this.form = this.formBuilder.group({\n id: [null],\n construction_name: [null],\n administrator_name: [null],\n administrator_phone: [null],\n janitor_name: [null],\n doorman_name: [null],\n concierge_phone: [null],\n sale_pickup: [null],\n in_pool: [null]\n });\n }\n\n}\n","
\n

\n {{ title }}\n

\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n \n
\n \n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\nimport { removeCaracter } from 'src/app/core/constants/properties-const';\n\n@Component({\n selector: 'app-documentation',\n templateUrl: './documentation.component.html',\n styleUrls: ['./documentation.component.scss']\n})\nexport class DocumentationComponent {\n\n public removeCaracter = removeCaracter;\n public title = 'Documentação';\n selectedOptions = [\n {name: 'Lorem ipsum dolor 1' },\n {name: 'Lorem ipsum dolor 2' },\n {name: 'Lorem ipsum dolor 3' }\n ];\n\n\n}","
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n Cancelar\n Salvar\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-other-information',\n templateUrl: './other-information.component.html',\n styleUrls: ['./other-information.component.scss']\n})\nexport class OtherInformationComponent {\n}\n","
\n

Outras informações

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
","import { Component } from '@angular/core';\nimport { removeCaracter } from 'src/app/core/constants/properties-const';\n\n@Component({\n selector: 'app-other-infos',\n templateUrl: './other-infos.component.html',\n styleUrls: ['./other-infos.component.scss']\n})\nexport class OtherInfosComponent {\n\n public removeCaracter = removeCaracter;\n dropdownOptions = [\n {name: 'mock 01' },\n {name: 'mock 02' },\n {name: 'mock 03' },\n ];\n\n\n}","
\n
\n \n
\n

{{ titleProperties }}

\n
    \n
  • \n \n
  • \n
\n
\n \n \n
\n
\n \n
\n

{{ titleCondominium }}

\n
    \n
  • \n \n
  • \n
\n
\n \n \n
\n
\n \n
\n

{{ titleCondominium }}

\n
\n \n \n
\n \n \n
\n\n
\n Cancelar\n Salvar\n
\n
\n
","import { OnInit, Component } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-produtct-characteristcs',\n templateUrl: './product-characteristics.component.html',\n styleUrls: ['./product-characteristics.component.scss']\n})\nexport class ProductCharacteristicsComponent implements OnInit {\n\n public titleProperties = 'Detalhes do imóvel';\n public titleCondominium = 'Detalhes do condomínio';\n\n public listProperties = [\n {\n id: '1',\n label: 'Aceita animais',\n field: 'aceita'\n },\n {\n id: '2',\n label: 'Lavabo',\n field: 'lavabo'\n },\n {\n id: '3',\n label: 'Quintal',\n field: 'quintal'\n },\n {\n id: '4',\n label: 'Mobiliado',\n field: 'mobiliado'\n },\n {\n id: '5',\n label: 'Tem geladeira',\n field: 'geladeira'\n },\n {\n id: '6',\n label: 'Churrasqueira',\n field: 'churras'\n },\n {\n id: '7',\n label: 'Dependências de empregado',\n field: 'empregado'\n },\n {\n id: '8',\n label: 'Cozinha americana',\n field: 'cozinha'\n },\n {\n id: '9',\n label: 'Ar condicionado',\n field: 'condicionado'\n },\n {\n id: '10',\n label: 'Tem fogão',\n field: 'fogao'\n }\n ];\n\n public listCondominium = [\n {\n id: '1',\n label: 'Portaria 24h',\n field: ''\n },\n {\n id: '2',\n label: 'Portaria diurna',\n field: ''\n },\n {\n id: '3',\n label: 'Portaria noturna',\n field: ''\n },\n {\n id: '4',\n label: 'Academia',\n field: ''\n },\n {\n id: '5',\n label: 'Elevador',\n field: ''\n },\n {\n id: '6',\n label: 'Área verde',\n field: ''\n },\n {\n id: '7',\n label: 'Lavanderia',\n field: ''\n },\n {\n id: '8',\n label: 'Playground',\n field: ''\n }\n ];\n\n public tags = [{value: 'Telefone', id: 0}, {value: 'E-mail', id: 1}, {value: 'WhatsApp', id: 2}];\n public options = [{value: 'Telefone', id: 0}, {value: 'E-mail', id: 1}, {value: 'WhatsApp', id: 2}, {value: 'Chat', id: 3}];\n\n public tagsCondominiun = [{value: 'Telefone', id: 0}, {value: 'E-mail', id: 1}, {value: 'WhatsApp', id: 2}];\n public optionsCondominiun = [{value: 'Telefone', id: 0}, {value: 'E-mail', id: 1}, {value: 'WhatsApp', id: 2}, {value: 'Chat', id: 3}];\n\n\n public form: FormGroup;\n public formGorup = {};\n\n ngOnInit(): void {\n this.initializeForm();\n }\n\n private initializeForm() {\n this.listProperties.forEach(x => this.formGorup[x.field] = new FormControl());\n this.form = new FormGroup(this.formGorup);\n }\n\n selectItem(data) {\n }\n\n}\n","
\n
\n

Endereço padrão

\n Limpar\n
\n\n Adicionar\n
\n\n
\n \n
\n \n
\n
\n

Filtro de endereço completo

\n ×\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n\n
\n Cancelar\n Adicionar\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-address-filters',\n templateUrl: './address-filters.component.html',\n styleUrls: ['./address-filters.component.scss']\n})\nexport class AddressFiltersComponent {\n showModal = false;\n}\n","
\n\n
\n

Proprietários e empresas

\n Limpar\n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n \n\n \n\n \n \n
\n\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-company-filters',\n templateUrl: './company-filters.component.html',\n styleUrls: ['./company-filters.component.scss']\n})\nexport class CompanyFiltersComponent {\n\n}\n","
\n
\n

Datas

\n Limpar\n
\n\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-date-filters',\n templateUrl: './date-filters.component.html',\n styleUrls: ['./date-filters.component.scss']\n})\nexport class DateFiltersComponent {\n\n}\n","
\n
\n

Características

\n Limpar\n
\n\n
\n \n \n
\n\n
\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n\n
\n\n
\n \n\n
\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n\n
\n \n\n
\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n\n
\n\n
\n\n
\n \n
\n\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n\n
\n \n
\n\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n
\n\n \n \n\n
\n
\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-feature-filters',\n templateUrl: './feature-filters.component.html',\n styleUrls: ['./feature-filters.component.scss']\n})\nexport class FeatureFiltersComponent {\n dropdownOptions = [\n {name: 'mock 01' },\n {name: 'mock 02' },\n {name: 'mock 03' },\n ];\n}\n","
\n\n
\n

Filtros gerais

\n Limpar\n
\n\n
\n \n \n \n \n \n \n
\n\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-general-filters',\n templateUrl: './general-filters.component.html',\n styleUrls: ['./general-filters.component.scss']\n})\nexport class GeneralFiltersComponent {\n\n}\n","
\n
\n

Bairros

\n Limpar\n
\n\n Adicionar\n
\n\n
\n
\n
\n
\n

Filtro de bairros e regiões

\n ×\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n\n
\n\n
\n Cancelar\n Adicionar\n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-neighborhood-filters',\n templateUrl: './neighborhood-filters.component.html',\n styleUrls: ['./neighborhood-filters.component.scss']\n})\nexport class NeighborhoodFiltersComponent {\n showModal = false;\n}\n","
\n
\n

Outros

\n Limpar\n
\n\n
\n \n \n
\n\n \n \n\n \n \n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-other-filters',\n templateUrl: './other-filters.component.html',\n styleUrls: ['./other-filters.component.scss']\n})\nexport class OtherFiltersComponent {\n dropdownOptions = [\n {name: 'mock 01' },\n {name: 'mock 02' },\n {name: 'mock 03' },\n ];\n}\n","
\n\n
\n
    \n
  • Filtros gerais
  • \n
  • Proprietários e empresas
  • \n
  • Endereço padrão
  • \n
  • Bairros
  • \n
  • Zonas de valor
  • \n
  • Valores
  • \n
  • Características
  • \n
  • Datas
  • \n
  • Outros
  • \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n
\n\n
","import { Component, ViewChildren, QueryList, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-products-filters',\n templateUrl: './products-filters.component.html',\n styleUrls: ['./products-filters.component.scss']\n})\nexport class ProductsFiltersComponent {\n @ViewChildren('menuItem') menuItems: QueryList;\n\n scrollTo(filter: HTMLElement) {\n const sectionToScroll: HTMLElement = document.querySelector('.filter.' + filter.classList[0]);\n\n this.menuItems.forEach( menuItem => {\n menuItem.nativeElement.classList.remove('active');\n })\n\n filter.classList.add('active');\n\n window.scrollTo({\n top: sectionToScroll.offsetTop - 32,\n left: 0,\n behavior: 'smooth'\n });\n \n }\n\n}\n","
\n
\n

Valores

\n Limpar\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-value-filters',\n templateUrl: './value-filters.component.html',\n styleUrls: ['./value-filters.component.scss']\n})\nexport class ValueFiltersComponent {\n\n}\n","
\n
\n

Zonas de valor

\n Limpar\n
\n\n Adicionar\n
\n\n
\n\n
\n\n
\n
\n

Filtro de bairros e regiões

\n ×\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n\n
\n Cancelar\n Adicionar\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-value-zone-filters',\n templateUrl: './value-zone-filters.component.html',\n styleUrls: ['./value-zone-filters.component.scss']\n})\nexport class ValueZoneFiltersComponent {\n showModal = false;\n}\n","
\n
\n
\n \n \n
\n
\n
\n
\n

Força do cadastro: básica

\n \"Icon\"\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component } from '@angular/core';\n\nimport { Stepper, StepperVertical } from 'src/app/core/models/properties';\nimport { listStepperVertical, listStepperHorizontal, listTabs } from '../../core/constants/properties-const';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { StepperService } from '../../core/services/step-service/stepper.service';\n\n@Component({\n selector: 'app-products',\n templateUrl: './products.component.html',\n styleUrls: ['./products.component.scss']\n})\nexport class ProductsComponent {\n\n public listStepsVertical: StepperVertical [] = listStepperVertical;\n public listStepper: Stepper[] = listStepperHorizontal;\n public tabs = listTabs;\n\n public index = -1;\n public indexList = 0;\n\n constructor(\n private stepperService: StepperService,\n private router: Router,\n private route: ActivatedRoute,\n ) { }\n\n public routerBack() {\n this.router.navigate(['/produtos'], { relativeTo: this.route });\n }\n\n public getClick(event: number) {\n this.index = -1;\n this.indexList = event;\n switch (event) {\n case 0:\n this.router.navigate(['produtos/registro']);\n break;\n case 1:\n this.router.navigate(['caracteristicas'], { relativeTo: this.route });\n break;\n case 2:\n this.router.navigate(['descricao'], { relativeTo: this.route });\n break;\n case 3:\n this.router.navigate(['midias'], { relativeTo: this.route });\n break;\n case 4:\n this.router.navigate(['profissional'], { relativeTo: this.route });\n break;\n case 5:\n this.router.navigate(['outras-informacoes'], { relativeTo: this.route });\n break;\n }\n }\n\n public progressStepper() {\n this.index += 1;\n if (this.index >= this.listStepsVertical[this.indexList].listStepper.length) {\n return false;\n }\n this.listStepsVertical[this.indexList].listStepper.forEach((resp, i) => resp.active ? this.index = (i + 1) : null);\n this.listStepsVertical[this.indexList].listStepper[this.index].active = true;\n this.stepperService.setList(this.listStepsVertical);\n }\n\n public updateStepper(index: number) {\n return index;\n // switch (index) {\n // case 0:\n // this.locacao.nativeElement.scrollIntoView();\n // break;\n // case 1:\n // this.unidade.nativeElement.scrollIntoView();\n // break;\n // case 2:\n // this.venda.nativeElement.scrollIntoView();\n // break;\n // }\n // this.listStepsVertical.forEach((_, i: number) => this.listStepsVertical[i].listStepper[index].active = true);\n }\n\n\n}\n\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { SharedModule } from '../../shared/shared.module';\n\nimport { CaptureComponent } from './capture/capture.component';\nimport { ProductsComponent } from './products.component';\nimport { OtherInformationComponent } from './other-information/other-information.component';\nimport { ConstructionComponent } from './other-information/construction/construction.component';\nimport { OtherInfosComponent } from './other-information/other-infos/other-infos.component';\nimport { DocumentationComponent } from './other-information/documentation/documentation.component';\nimport { ProductsFiltersComponent } from './products-filters/products-filters.component';\nimport { ProductCharacteristicsComponent } from './product-characteristics/product-characteristics.component';\nimport { NzDatePickerModule } from 'ng-zorro-antd';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { GeneralFiltersComponent } from './products-filters/general-filters/general-filters.component';\nimport { CompanyFiltersComponent } from './products-filters/company-filters/company-filters.component';\nimport { ValueFiltersComponent } from './products-filters/value-filters/value-filters.component';\nimport { AddressFiltersComponent } from './products-filters/address-filters/address-filters.component';\nimport { OtherFiltersComponent } from './products-filters/other-filters/other-filters.component';\nimport { DateFiltersComponent } from './products-filters/date-filters/date-filters.component';\nimport { FeatureFiltersComponent } from './products-filters/feature-filters/feature-filters.component';\nimport { NeighborhoodFiltersComponent } from './products-filters/neighborhood-filters/neighborhood-filters.component';\nimport { ValueZoneFiltersComponent } from './products-filters/value-zone-filters/value-zone-filters.component';\nimport { RangeSelectorComponent } from '../../shared/components/range-selector/range-selector.component';\n\nimport { DescriptionComponent } from './description/description.component';\nimport { MediaComponent } from './media/media.component';\nimport { ProfessionalComponent } from './professional/professional.component';\n\n@NgModule({\n declarations: [\n ProductsComponent,\n CaptureComponent,\n OtherInformationComponent,\n ConstructionComponent,\n OtherInfosComponent,\n DocumentationComponent,\n ProductsFiltersComponent,\n ProductCharacteristicsComponent,\n GeneralFiltersComponent,\n CompanyFiltersComponent,\n ValueFiltersComponent,\n AddressFiltersComponent,\n OtherFiltersComponent,\n DateFiltersComponent,\n FeatureFiltersComponent,\n NeighborhoodFiltersComponent,\n ValueZoneFiltersComponent,\n ProductCharacteristicsComponent,\n DescriptionComponent,\n MediaComponent,\n ProfessionalComponent\n ],\n imports: [\n SharedModule,\n RouterModule,\n NzDatePickerModule,\n MatSliderModule\n ],\n exports: [\n ProductsComponent,\n CaptureComponent,\n OtherInformationComponent,\n ConstructionComponent,\n OtherInfosComponent,\n DocumentationComponent,\n ProductCharacteristicsComponent,\n ProductsFiltersComponent,\n GeneralFiltersComponent,\n CompanyFiltersComponent,\n ValueFiltersComponent,\n AddressFiltersComponent,\n OtherFiltersComponent,\n DateFiltersComponent,\n FeatureFiltersComponent,\n NeighborhoodFiltersComponent,\n ValueZoneFiltersComponent\n ]\n})\nexport class ProductsModule { }\n","
\n
\n
\n
    \n

    Profissionais

    \n
  • \n
    \n

    Tipo de profissional: {{ item.type }}

    \n

    Profissional: {{ item.name }}

    \n

    Empresa: {{ item.enterprise }}

    \n
    \n \n
  • \n \n
\n
\n
\n Cancelar\n Salvar\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Professional } from 'src/app/core/models/professional';\n\n@Component({\n selector: 'app-professional',\n templateUrl: './professional.component.html',\n styleUrls: ['./professional.component.scss']\n})\nexport class ProfessionalComponent {\n\n public items: Professional [] = [];\n public showModal = false;\n\n public removeItem(data: number): void {\n this.items.splice(data, 1);\n }\n\n public openModal(): void {\n this.showModal = !this.showModal;\n }\n\n public getRequest(data: Professional) {\n this.items.push(data);\n }\n\n}","
\n\n

Arquiteto\n {{data.landscaper.name}}\n

\n\n
    \n
  • \n
    \n \"\"\n
    \n

    Apartamento

    \n

    a partir de R$ {{item.price | number}}

    \n

    {{item.title}}

    \n

    \n {{item.address.street_type}} {{item.address.street}}, {{item.address.number}}\n
    {{item.address.neighborhood}}, {{item.address.city}}\n

    \n\n
      \n
    • \n \n {{item.value}}\n
    • \n
    \n\n
  • \n
\n \n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-architect',\n templateUrl: './product-architect.component.html',\n styleUrls: ['./product-architect.component.scss']\n})\nexport class ProductArchitectComponent {\n @Input() data: any;\n}\n","
0\">\n \n

Profissionais

\n\n \n\n \n \n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n\n
ProfissionalTipo de profissionalContato
\n {{contact.name | titlecase}}\n ({{contact.super | titlecase}})\n - {{contact.company_name | titlecase}}\n \n {{contact.title}}\n \n \n \n {{contact.area_code}}\n = 9\">\n {{contact.phone_number | mask:'00000 0000'}}\n \n \n {{contact.phone_number | mask:'0000 0000'}}\n \n \n \n \n {{contact.email}}\n \n \n
\n
\n\n
0\">\n\n

Proprietários

\n\n \n \n \n \n \n\n \n \n\n \n\n \n\n
ProprietárioContato
\n {{contact.name | titlecase}}\n \n \n {{contact.area_code}}\n = 9\">\n {{contact.phone_number | mask:'00000 0000'}}\n \n \n {{contact.phone_number | mask:'0000 0000'}}\n \n \n\n \n {{contact.email}}\n \n
\n
","import { Component, Input } from '@angular/core';\nimport { GeralService } from 'src/app/core/services/geral-service/geral-service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\n\n@Component({\n selector: 'app-product-contacts',\n templateUrl: './product-contacts.component.html',\n styleUrls: ['./product-contacts.component.scss']\n})\nexport class ProductContactsComponent {\n @Input() data: any;\n @Input() condition: string;\n\n constructor(\n public geralService: GeralService,\n public snackService: SnackbarService\n ) { }\n\n}\n","
\n

\n \n {{data.property_type | titlecase}}\n \n \n {{data.property_type | titlecase}}/{{data.property_sub_type | lowercase}}\n \n \n - {{data.property_utilization | lowercase}}\n \n (Ref {{sku}})\n

\n

\n \n {{data.name}},\n \n \n Torre: {{data.tower}},\n \n \n Andar: {{data.floor_number}},\n \n \n Unidade: {{data.unity_number}}\n \n

\n

\n {{data.address.street_type}} {{data.address.street}},\n {{data.address.number}}, {{data.address.neighborhood}},\n {{data.address.city}}-SP,\n CEP: {{data.address.zip_code | mask:'00000-000'}}\n

\n
\n\n
\n\n

Aluguel

\n\n

\n R$ {{data.rent_value.value + data.condominium_fee.value + data.iptu_fee.value | number}}\n total/mês\n

\n\n

\n Aluguel R$ {{data.rent_value.value | number}}\n Condominio R$\n {{data.condominium_fee.value | number}}\n IPTU R$ {{data.iptu_fee.value | number}}\n

\n\n
\n\n
\n\n

Compra

\n\n

\n {{data.sale_value.currency}} {{data.sale_value.value | number}}\n

\n\n

\n Condominio R$ {{data.condominium_fee.value | number}}\n IPTU R$ {{data.iptu_fee.value | number}}\n

\n\n \n Simular valor financiado\n \n\n
\n\n
    \n \n \n \n
  • \n
    \n \n
    \n {{item.name}}\n total\n
    \n
    \n \n {{item.value}}\n m²\n \n \n
  • \n
    \n
    \n \n
\n\n
\n\n

Sobre o imóvel

\n\n
\n
\n\n Ver menos\n\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-description',\n templateUrl: './product-description.component.html',\n styleUrls: ['./product-description.component.scss']\n})\nexport class ProductDescriptionComponent implements OnInit {\n @Input() data: any;\n @Input() sku: string;\n @Input() condition: string;\n @Input() hideDescription = false;\n\n ngOnInit(): void {\n // this.sku = this.sku.substr(3);\n this.formatSku();\n this.formatTower();\n this.formatProductType();\n }\n\n formatSku() {\n this.sku = this.sku.substr(3);\n };\n\n formatTower() {\n const tempTower = this.data.tower.split('Torre ');\n if (tempTower[1]) {\n this.data.tower = tempTower[1];\n }\n }\n\n formatProductType() {\n const tempType = this.data.property_type.toLowerCase();\n const tempSubtype = this.data.property_sub_type.toLowerCase();\n\n if (tempType === tempSubtype) {\n this.data.property_sub_type = null;\n }\n }\n\n}\n","
\n \n
\n\n\n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n","import { IsLeaderService } from './../../../../core/services/is-leader-service/is-leader.service';\nimport { AfterViewInit, Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-product-details',\n templateUrl: './product-details.component.html',\n styleUrls: ['./product-details.component.scss']\n})\nexport class ProductDetailsComponent implements AfterViewInit {\n\n @Input() sku: string;\n @Input() product: any;\n features: any;\n showFeatures: string;\n showMainContent = false;\n hideDescription = false;\n hideCondoFeatures = false;\n hideRealtyFeatures = false;\n public featureProductServices = this.environmentService.getEnvVar('feature_product_services') === 'true';\n @ViewChildren('checkbox') checkboxList: QueryList;\n\n constructor(\n private environmentService: EnvironmentService\n ) { }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.hideElement();\n }, 500);\n }\n\n hideElement() {\n const isMobile = document.body.offsetWidth < 768;\n this.features = document.querySelectorAll('.hideable');\n let mobileHeight: number;\n let desktopHeight: number;\n let feature: HTMLElement;\n let button: HTMLElement;\n\n this.features.forEach(el => {\n feature = document.querySelector('#' + el.id);\n button = document.querySelector('#' + el.id + '+ a');\n\n switch (feature.nodeName) {\n case 'UL': mobileHeight = 200; desktopHeight = 120; break;\n case 'DIV': mobileHeight = 260; desktopHeight = 78; break;\n }\n\n if (\n (isMobile && feature.offsetHeight > mobileHeight) ||\n (!isMobile && feature.offsetHeight > desktopHeight)\n ) {\n button.style.display = 'block';\n switch (el.id) {\n case 'realty-description': this.hideDescription = true; break;\n case 'realty-features': this.hideRealtyFeatures = true; break;\n case 'condo-features': this.hideCondoFeatures = true; break;\n }\n }\n });\n }\n\n}\n","
0\">\n\n

Características do imóvel

\n\n
    \n
  • \n \n {{item.name}}\n
  • \n
\n\n Ver menos\n\n
\n\n
0\">\n\n

Características do condomínio

\n\n
    \n
  • \n \n {{item.name}}\n
  • \n
\n\n Ver menos\n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-features',\n templateUrl: './product-features.component.html',\n styleUrls: ['./product-features.component.scss']\n})\nexport class ProductFeaturesComponent {\n\n @Input() data: any;\n @Input() hideCondoFeatures = false;\n @Input() hideRealtyFeatures = false;\n\n}\n","
\n\n

Paisagista\n {{data.landscaper.name}}\n

\n\n
    \n
  • \n
    \n \"\"\n
    \n

    Apartamento

    \n

    a partir de R$ {{item.price | number}}

    \n

    {{item.title}}

    \n

    \n {{item.address.street_type}} {{item.address.street}}, {{item.address.number}}\n
    {{item.address.neighborhood}}, {{item.address.city}}\n

    \n\n
      \n
    • \n \n {{item.value}}\n
    • \n
    \n\n
  • \n
\n \n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-landscaper',\n templateUrl: './product-landscaper.component.html',\n styleUrls: ['./product-landscaper.component.scss']\n})\nexport class ProductLandscaperComponent {\n @Input() data: any;\n}\n","
\n

Tipos de unidades

\n\n
\n
\n\n
\n \"Planta\n
\n\n
\n

\n {{model.description}} {{model.area}}m²\n

\n
    \n \n
  • \n {{detail.name}}\n \n \n {{detail.value}}\n \n
  • \n
    \n
\n
\n
\n
\n\n \n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-models',\n templateUrl: './product-models.component.html',\n styleUrls: ['./product-models.component.scss']\n})\nexport class ProductModelsComponent {\n @Input() data: any;\n showModels = false;\n}\n","
\n\n
\n

Bairro

\n

{{data.neighborhood.name}}

\n

Sobre o bairro

\n

{{data.neighborhood.description}}

\n
\n\n
    \n
  • \n
    \n \"item.name\"\n
    \n

    {{item.name}} {{item.distance}}

    \n

    {{item.description}}

    \n

    {{item.address.street_type}} {{item.address.street}}, {{item.address.number}}

    \n Veja mais\n
  • \n
\n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-neighborhood',\n templateUrl: './product-neighborhood.component.html',\n styleUrls: ['./product-neighborhood.component.scss']\n})\nexport class ProductNeighborhoodComponent {\n @Input() data: any;\n}\n","
\n\n

Preços

\n\n
\n\n \n \n
\n  \n  \n\n
\n {{item.type}}\n \"alerta\"\n
\n
\n
\n
\n\n \n \n
\n  \n  \n
\n {{item.times}}x\n
\n
\n
\n
\n\n \n
\n {{item.area}}m²\n Veja mês a mês\n\n
\n A partir de {{parcel.value.currency}} {{parcel.value.value | number : '1.2'}}\n
\n\n \n {{item.value.currency}} {{item.value.value | number : '1.2'}}\n \n
\n\n
\n\n
\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-prices',\n templateUrl: './product-prices.component.html',\n styleUrls: ['./product-prices.component.scss']\n})\nexport class ProductPricesComponent {\n @Input() data: any;\n}\n","
\n\n

Propostas

\n\n
\n\n
\n\n \n\n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n
Tabela de proostas
DataNomeValorStatus
{{proposal.proposal_date | date: 'dd/MM/yyyy' }}{{proposal.name}}{{proposal.value.currency}} {{proposal.value.value | number : '1.2' : 'pt_br' }}{{proposal.status}}
\n\n
\n\n
\n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-proposals',\n templateUrl: './product-proposals.component.html',\n styleUrls: ['./product-proposals.component.scss']\n})\nexport class ProductProposalsComponent{\n @Input() data: any;\n}\n","
\n\n

Espelho de vendas

\n\n
\n
\n\n
\n

{{row.title}}

\n
\n\n
\n

{{col.unit_number}}

\n

{{col.area}}m² 4V

\n

{{col.status}}

\n

{{col.value.currency}} {{col.value.value | number}}

\n \n
\n\n
\n
\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-sales-blueprint',\n templateUrl: './product-sales-blueprint.component.html',\n styleUrls: ['./product-sales-blueprint.component.scss']\n})\nexport class ProductSalesBlueprintComponent {\n @Input() data: any;\n}\n","
\n

Unidades Vendidas

\n\n
\n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n
Tabela de unidades vendidas
VariaçãoUnidadePreçoValor m²ÁreaQuartos/BanheirosData de venda
\n \n {{item.variation}}%\n \n \n \n {{item.unit_number}}\n \n \n \n {{item.price.currency}} {{item.price.value | number}}\n \n \n \n {{item.value_per_square_meter.currency}} {{item.value_per_square_meter.value}}\n \n \n \n {{item.area}}\n \n \n \n {{item.bedroom}}/{{item.bathroom}}\n \n \n \n {{item.sale_date | date:'dd/MM/yy'}}\n \n
\n
\n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-sold-units',\n templateUrl: './product-sold-units.component.html',\n styleUrls: ['./product-sold-units.component.scss']\n})\nexport class ProductSoldUnitsComponent {\n @Input() data: any;\n}\n","
\n\n

Materiais de apoio

\n\n
    \n
  • \n \n \"\"\n {{item.name | titlecase}} ({{item.type | uppercase}})\n \n \n \"\"\n \n
  • \n
\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-support-material',\n templateUrl: './product-support-material.component.html',\n styleUrls: ['./product-support-material.component.scss']\n})\nexport class ProductSupportMaterialComponent implements OnInit {\n @Input() data: any;\n\n ngOnInit(): void {\n this.data.support_materials = [\n {\n name: 'Folder sobre detalhes do imóvel',\n type: 'pdf',\n url: 'https://camara.fgv.br/sites/camara.fgv.br/files/artigos/teste33_0_3.pdf',\n description: 'Folder de lançamento comm informações iniciais sobre o empreendimento'\n },\n {\n name: 'Autorização',\n type: 'pdf',\n url: 'https://camara.fgv.br/sites/camara.fgv.br/files/artigos/teste33_0_3.pdf',\n description: 'Folder de lançamento comm informações iniciais sobre o empreendimento'\n }\n ];\n }\n\n}\n","\n\n","import { Component, OnInit } from '@angular/core';\nimport { ProductSheetService } from '../service/product-sheet.service';\nimport { ActivatedRoute } from \"@angular/router\";\n\n@Component({\n selector: 'app-product-ready',\n templateUrl: './product-ready.component.html',\n styleUrls: ['./product-ready.component.scss']\n})\nexport class ProductReadyComponent implements OnInit {\n\n public product: any;\n public sku: string;\n\n constructor(private productSheetService: ProductSheetService, private route: ActivatedRoute) { }\n\n ngOnInit(): void {\n this.sku = this.route.snapshot.paramMap.get('sku');\n this.productSheetService.getProduct(this.sku).subscribe((product) => {\n this.product = product;\n });\n }\n\n}\n","
\n
\n \n
\n
\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-product-sheet',\n templateUrl: './product-sheet.component.html',\n styleUrls: ['./product-sheet.component.scss']\n})\nexport class ProductSheetComponent {\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../../shared/shared.module';\nimport { ProductSheetComponent } from './product-sheet.component';\nimport { ProductReadyComponent } from './product-ready/product-ready.component';\nimport { ProductDetailsComponent } from './product-ready/product-details/product-details.component';\nimport { ProductGalleryModule } from '../product-gallery/product-gallery.module';\nimport { ProductContactsComponent } from './product-ready/product-details/product-contacts/product-contacts.component';\nimport { ProductDescriptionComponent } from './product-ready/product-details/product-description/product-description.component';\nimport { ProductFeaturesComponent } from './product-ready/product-details/product-features/product-features.component';\nimport { ProductSupportMaterialComponent } from './product-ready/product-details/product-support-material/product-support-material.component';\nimport { ProductNeighborhoodComponent } from './product-ready/product-details/product-neighborhood/product-neighborhood.component';\nimport { ProductModelsComponent } from './product-ready/product-details/product-models/product-models.component';\nimport { ProductSoldUnitsComponent } from './product-ready/product-details/product-sold-units/product-sold-units.component';\nimport { ProductSalesBlueprintComponent } from './product-ready/product-details/product-sales-blueprint/product-sales-blueprint.component';\nimport { ProductPricesComponent } from './product-ready/product-details/product-prices/product-prices.component';\nimport { ProductProposalsComponent } from './product-ready/product-details/product-proposals/product-proposals.component';\nimport { ProductLandscaperComponent } from './product-ready/product-details/product-landscaper/product-landscaper.component';\nimport { ProductArchitectComponent } from './product-ready/product-details/product-architect/product-architect.component';\nimport { NgxMaskModule } from 'ngx-mask';\n\n\n\n@NgModule({\n declarations: [ProductSheetComponent, ProductReadyComponent, ProductDetailsComponent, ProductContactsComponent, ProductDescriptionComponent, ProductFeaturesComponent, ProductSupportMaterialComponent, ProductNeighborhoodComponent, ProductModelsComponent, ProductSoldUnitsComponent, ProductSalesBlueprintComponent, ProductPricesComponent, ProductProposalsComponent, ProductLandscaperComponent, ProductArchitectComponent],\n imports: [\n NgxMaskModule.forRoot({}),\n SharedModule,\n RouterModule,\n ProductGalleryModule\n ],\n exports: [ProductSheetComponent, ProductReadyComponent, ProductDetailsComponent],\n \n})\nexport class ProductSheetModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { EnvironmentService } from '../../../core/enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductSheetService {\n\n private uri = this.envSvc.getEnvVar('api_products')\n\n constructor(private http: HttpClient,\n private envSvc: EnvironmentService) { }\n\n getProduct(sku: string) {\n return this.http.get(`${this.uri}/products/${sku}`);\n }\n\n}\n","
\n\t\n
\n
\n
\n
\n \"Banner\n
\n
\n \n \n \n
\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\n\nimport { ProfileService } from './service/profile.service';\nimport { Profile } from '../core/models/profile';\n\n@Component({\n selector: 'app-profile-home',\n templateUrl: './profile-home.component.html',\n styleUrls: ['./profile-home.component.scss']\n})\nexport class ProfileHomeComponent implements OnInit {\n\n @Output() sendReloader = new EventEmitter();\n\n public urlBanner: string;\n public nameUrl: string;\n private bannerDefault = '../../assets/svgs/banner.svg';\n public loading = false;\n\n public tabs = [\n {\n id: 1,\n title: 'Perfil',\n active: false\n }\n ];\n\n constructor(\n private service: ProfileService,\n private route: ActivatedRoute,\n private router: Router\n ) { }\n\n ngOnInit() {\n this.route.params.subscribe(x => {\n this.nameUrl = x.name;\n this.loading = true;\n this.service.findByName(x.name).subscribe((profile: Profile) => {\n this.service.sendPerfil(profile);\n this.urlBanner = profile.banner_image_url ? profile.banner_image_url : this.bannerDefault;\n }, () => this.router.navigate(['/nao-encontrado']), () => this.loading = false);\n });\n }\n\n public selectTab(event: Params) {\n if (event.id === 1) {\n this.router.navigate([`perfil/${this.nameUrl}/perfil`]);\n return false;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ProfileService } from './service/profile.service';\n\nimport { ProfileComponent } from './profile/profile.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { ProfileHomeComponent } from './profile-home.component';\nimport { CoreModule } from '../core/core.module';\n\n\n@NgModule({\n declarations: [\n ProfileHomeComponent,\n ProfileComponent,\n ],\n imports: [\n SharedModule,\n RouterModule,\n CoreModule\n ],\n exports: [\n ProfileHomeComponent,\n ProfileComponent,\n RouterModule\n ],\n providers: [\n ProfileService\n ]\n})\nexport class ProfileModule { }\n","
\n
\n
\n \"User\"\n
\n \n
\n\n
\n
\n \n
\n
\n
\n

{{ form.get('nickname').value }}

\n

-

\n

{{ form.get('name').value?.toLowerCase() }}

\n
\n \n
\n
\n \n \n \n
\n

{{ form.get('state').value ? form.get('state').value : '-' }}

\n

-

\n

{{ form.get('country').value ? form.get('country').value : '-' }}

\n
\n
\n\n \n\n \n\n
\n

Biografia

\n

{{ form.get('biography').value }}

\n
\n\n
\n
    \n

    Informações básicas

    \n
  • \n
    \n \n \n \n

    Designação técnica:

    \n
    \n
    \n

    {{ form.get('technical_designation').value }}

    \n
    \n
  • \n\n
  • \n
    \n \n \n \n

    Creci:

    \n
    \n
    \n

    {{ form.get('creci').value }}

    \n
    \n
  • \n\n
  • \n
    \n \n \n \n

    Empresa:

    \n
    \n
    \n

    {{ form.get('company').value }}

    \n
    \n
  • \n\n
  • \n
    \n \n \n \n

    Idiomas:

    \n
    \n
    \n
      \n
    • \n

      {{ item.language }} ({{ item.proficiency.toLowerCase() }}) {{ !last ? '/' : ''}}

      \n
    • \n
    \n
    \n
  • \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\nimport { ProfileService } from '../service/profile.service';\nimport { Profile } from 'src/app/core/models/profile';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\nexport class ProfileComponent implements OnInit {\n\n public form: FormGroup;\n\n public openModalEdit = false;\n public showModalCV = false;\n public bannerImg: string;\n public profileImg: string;\n public profileDefault = 'https://bucketsquadcrm.s3.amazonaws.com/default_images/profile_default.jpg';\n private docBody = document.querySelector('body');\n\n constructor(\n private formBuilder: FormBuilder,\n private service: ProfileService\n ) { }\n\n ngOnInit(): void {\n this.initForm();\n this.initialData();\n }\n\n public initialData() {\n this.service.getPerfil().subscribe(profile => this.populatingForm(profile));\n }\n\n private initForm() {\n this.form = this.formBuilder.group({\n id: [null],\n banner_image_url: [null],\n profile_image_url: [null],\n name: [null],\n nickname: [null],\n is_editable: [false],\n state: [null],\n country: [null],\n phone: [null],\n alternative_phone: [null],\n email: [null],\n biography: [''],\n designacao_tecnica: [null],\n technical_designation: [],\n creci: [null],\n company: [null],\n languages: [[]],\n profile_url: [null]\n });\n }\n\n public validatorControls(params: string, subParams: string): boolean {\n if (this.form.get(params).value && this.form.get(subParams).value) {\n return true;\n }\n return false;\n }\n\n public validators = (): boolean => {\n const data = Object.assign({}, this.form.controls);\n if (data.technical_designation.value && data.creci.value && data.company.value) {\n return true;\n }\n return false;\n }\n\n public showModalEdit() {\n this.docBody.setAttribute('style', 'overflow: hidden');\n document.querySelectorAll('div.app-container').forEach((x: HTMLElement) => {\n x.style.overflow = 'hidden';\n x.classList.add('removed-scroll');\n });\n this.openModalEdit = true;\n }\n\n public openCard() {\n this.docBody.setAttribute('style', 'overflow: hidden');\n this.showModalCV = true;\n }\n\n public closeCardModal(event: boolean) {\n this.docBody.setAttribute('style', 'overflow: auto');\n this.showModalCV = event;\n }\n\n public closeModalEdit(event: boolean) {\n this.docBody.setAttribute('style', 'overflow: auto');\n document.querySelectorAll('div.app-container').forEach((x: HTMLElement) => {\n x.style.overflow = 'inherit';\n if (x.classList.contains('removed-scroll')) {\n x.classList.remove('removed-scroll');\n }\n });\n\n this.openModalEdit = event;\n this.service.findByName(this.form.get('nickname').value).subscribe((profile: Profile) => {\n this.populatingForm(profile);\n });\n }\n\n private populatingForm(profile) {\n for (const key in profile) {\n if (profile.hasOwnProperty(key)) {\n this.form.get(key).patchValue(profile[key]);\n this.profileImg = this.form.get('profile_image_url').value ? this.form.get('profile_image_url').value : this.profileDefault;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Profile, Languages } from 'src/app/core/models/profile';\nimport { EnvironmentService } from '../../core/enviroment/environment.service';\n// tslint:disable: max-line-length\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n private uri = this.environmentService.getEnvVar('api_profile');\n public perfil = new Subject();\n update$ = new BehaviorSubject(false);\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public getPerfil() {\n return this.perfil.asObservable();\n }\n\n public sendPerfil(param) {\n setTimeout(() => {\n this.perfil.next(param);\n }, 50);\n }\n\n public findByName(name: string): Observable {\n return this.http.get(`${this.uri}/profile/${name}?` + Math.random());\n }\n\n public findLanguages(): Observable {\n return this.http.get(`${this.uri}/languages`).pipe(\n map(resp => {\n const languages = resp.languages.map(({description}) => description);\n const proficiencia = resp.proficiencies.map(({description}) => description);\n return { languages, proficiencia };\n })\n );\n }\n\n public profileEdit(data): Observable {\n return this.http.patch(`${this.uri}/profile/`, data);\n }\n\n getUpdateProfile(): Observable {\n return this.update$.asObservable();\n }\n\n setUpdateProfile(): void {\n this.update$.next(true);\n }\n\n getDefaultBiography(company): string {\n return `Olá! Sou corretor de imóveis associada à imobiliária ${company}. Confira abaixo todos os detalhes dos imóveis que busquei e selecionei para você. Estou pronto para esclarecer todas as suas dúvidas e lhe ajudar da melhor maneira possível.`;\n }\n\n}\n","
\n
\n
\n \"User\"\n\n
\n \n
\n\n
\n

\n {{ profile?.nickname ? profile?.nickname : profile?.name }}\n

\n
\n {{ profile?.name }}\n
\n
\n {{ profile?.technical_designation }}\n
\n
\n Creci: {{ profile?.creci }}\n
\n CRECI Inválido\n
\n
\n \n

{{ profile?.biography ? profile?.biography : defaultBiography }}

\n \n Editar\n \n
\n\n
\n \n\n \n
\n\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n \"botão\n \n \n
\n
\n\n
\n \n
\n\n\n\n","import { Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { LoginService } from 'lps-navigation';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { Profile } from 'src/app/core/models/profile';\nimport { ProfileService } from 'src/app/profile-home/service/profile.service';\nimport { ContactEventTagBuilder } from 'src/app/shared/contact-event-tag.builder';\nimport { BrokerModalEditionComponent } from '../broker-modal-edition/broker-modal-edition.component';\nimport { OriginEnum } from './origin-enum';\n\n@Component({\n selector: 'app-broker-header',\n templateUrl: './broker-header.component.html',\n styleUrls: ['./broker-header.component.scss']\n})\nexport class BrokerHeaderComponent implements OnInit {\n\n @Input() profile: Profile;\n @ViewChild(BrokerModalEditionComponent) edition: BrokerModalEditionComponent;\n profileDefault = 'https://bucketsquadcrm.s3.amazonaws.com/default_images/profile_default.jpg';\n showModalLead: boolean;\n isWhatsapp: boolean;\n isMobile: boolean;\n loggedIn: boolean;\n defaultBiography: string;\n showModalCV: boolean;\n brokerCardProfile: boolean;\n displayShareDropdown: boolean;\n brokerUrl: string;\n\n constructor(\n private loginService: LoginService,\n private profileService: ProfileService,\n public environmentService: EnvironmentService,\n private googleTagService: GoogleTagManagerService\n ) {}\n \n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.setMobileDevice(event.target.innerWidth);\n }\n\n ngOnInit() {\n this.validateUserLoggedToShowEditButton();\n this.setMobileDevice(window.innerWidth);\n this.defaultBiography = this.profileService.getDefaultBiography(this.profile?.company);\n this.brokerCardProfile = this.environmentService.getEnvVar('feature_card_broker_profile');\n this.brokerUrl = `${this.environmentService.getEnvVar('base_url_portal')}associado/${this.profile.nickname}`;\n }\n\n setMobileDevice(event) {\n if (event <= 1024) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n }\n\n validateUserLoggedToShowEditButton(): void {\n const logged = this.loginService.getAuthInformation()?.isUserLoggedIn();\n this.loggedIn = this.profile?.is_editable && logged;\n }\n\n openLeadModal(whatsapp = false) {\n this.isWhatsapp = whatsapp;\n this.showModalLead = true;\n this.sendAnalytics('', whatsapp, OriginEnum.CONTACT_BUTTON);\n }\n\n openEditModal() {\n this.edition.openEditModal();\n }\n\n openCard() {\n this.showModalCV = true;\n if (!this.isMobile) {\n document.body.style.paddingRight = '8px';\n }\n document.body.style.overflow = 'hidden';\n }\n\n closeCardModal(event: boolean) {\n this.showModalCV = event;\n document.body.style.overflow = '';\n document.body.style.paddingRight = '';\n }\n\n showInvalidCreciMessage(): boolean {\n return this.profile.is_valid_creci === false && this.isAgent();\n }\n\n isAgent(): boolean {\n const authInfo = this.loginService.getAuthInformation();\n return authInfo && authInfo.isUserLoggedIn() && authInfo.isAgent();\n } \n\n public toggleShareDropdown() {\n this.displayShareDropdown = !this.displayShareDropdown;\n }\n\n get tooltipPosition(): string {\n return this.isMobile ? 'above' : 'after';\n }\n\n shareOnWhatsapp() {\n this.displayShareDropdown = false;\n this.sendAnalytics('whatsapp');\n window.open(`https://api.whatsapp.com/send?text=${this.brokerUrl}`, '_blank');\n }\n\n shareOnFacebook() {\n this.displayShareDropdown = false;\n const encodedURL = encodeURI(`${this.brokerUrl}`);\n this.sendAnalytics('facebook');\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodedURL}`, '_blank');\n }\n\n shareOnLinkedin() {\n this.displayShareDropdown = false;\n const encodedURL = encodeURI(`${this.brokerUrl}`);\n this.sendAnalytics('linkedin');\n window.open(`https://www.linkedin.com/shareArticle?mini=true&url=${encodedURL}`, '_blank');\n }\n\n private sendAnalytics(eventLabel: string, isWhatsApp: boolean = false, origin: OriginEnum = OriginEnum.SHARE_BUTTON) {\n\n switch (origin) {\n case OriginEnum.CONTACT_BUTTON: \n this.googleTagService.pushTag(new ContactEventTagBuilder(isWhatsApp)\n .fromAgentPage()\n .toContactClick()\n .build());\n break;\n \n case OriginEnum.SHARE_BUTTON: \n this.googleTagService.pushTag(new ContactEventTagBuilder().fromAgentPage()\n .toShareClick()\n .withLabel(eventLabel)\n .build());\n \n break;\n }\n \n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrokerHeaderComponent } from './broker-header.component';\nimport { LeadFormModule } from 'src/app/shared/components/lead-form/lead-form.module';\nimport { BrokerModalEditionModule } from '../broker-modal-edition/broker-modal-edition.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\n\n@NgModule({\n imports: [\n CommonModule,\n LeadFormModule,\n BrokerModalEditionModule,\n SharedModule\n ],\n declarations: [BrokerHeaderComponent],\n exports: [BrokerHeaderComponent],\n})\nexport class BrokerHeaderModule {}\n","export enum OriginEnum {\n CONTACT_BUTTON,\n SHARE_BUTTON\n}","\n
\n
\n \n
\n \n
\n

Editar

\n \"botão\n
\n
\n\n
\n \n \n\n \n \n
\n

\n Telefones não devem ser iguais\n

\n \n

\n Caso tenha WhatsApp, recomendamos que coloque-o no campo telefone principal\n

\n \n \n\n Biografia:\n \n \n
\n \n {{ formEdition.get('biography').value.length }}/{{ maxLength }}\n \n
\n
\n\n
\n \n \n
\n
\n
\n
","import { AfterViewChecked, ChangeDetectorRef, Component, HostListener, Input, OnInit } from '@angular/core';\nimport {FormBuilder, FormGroup, ValidatorFn, Validators} from '@angular/forms';\nimport { finalize, take } from 'rxjs/operators';\nimport { BRASIL_MASK } from 'src/app/core/constants/consts';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { Profile } from 'src/app/core/models/profile';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { ProfileService } from 'src/app/profile-home/service/profile.service';\n\n@Component({\n selector: 'app-broker-modal-edition',\n templateUrl: './broker-modal-edition.component.html',\n styleUrls: ['./broker-modal-edition.component.scss']\n})\nexport class BrokerModalEditionComponent implements AfterViewChecked, OnInit {\n\n @Input() showModal: boolean;\n @Input() profile: Profile;\n maxLength = 280;\n formEdition: FormGroup;\n phoneMask = BRASIL_MASK;\n disabledBiography: boolean;\n loadingEdition: boolean;\n isMobile: boolean;\n\n constructor(\n private fb: FormBuilder,\n private profileService: ProfileService,\n private cdr: ChangeDetectorRef,\n private checkStatusService: CheckTaskStatusService,\n private environmentService: EnvironmentService\n ) { }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.setMobileDevice(event.target.innerWidth);\n }\n\n ngOnInit(): void {\n this.setMobileDevice(window.innerWidth);\n }\n\n setMobileDevice(event) {\n if (event <= 1024) {\n this.isMobile = true;\n } else {\n this.isMobile = false;\n }\n }\n\n ngAfterViewChecked() {\n this.cdr.detectChanges();\n }\n\n openEditModal() {\n this.checkOperationMarkets();\n this.buildForm();\n this.showModal = true;\n if (!this.isMobile) {\n document.body.style.paddingRight = '8px';\n }\n document.body.style.overflow = 'hidden';\n }\n\n closeModal(): void {\n this.showModal = false;\n document.body.style.overflow = '';\n document.body.style.paddingRight = '';\n }\n\n onSubmit(): void {\n this.loadingEdition = true;\n const values = this.formEdition.value;\n if (!values.alternative_phone.phone) {\n delete values.alternative_phone;\n }\n this.profileService.profileEdit(values)\n .pipe(take(1))\n .subscribe(res => {\n this.checkTaskEditionId(res);\n });\n }\n\n checkTaskEditionId(res): void {\n this.checkStatusService.checkTaskStatus2(res.taskId, this.environmentService.getEnvVar('api_profile'))\n .pipe(take(1), finalize(() => this.showModal = this.loadingEdition = false))\n .subscribe(() => {\n this.profileService.setUpdateProfile();\n });\n }\n\n buildForm(): void {\n this.formEdition = this.fb.group({\n phone: this.fb.group({\n ddi: this.profile?.phone?.ddi || '+55',\n phone: [this.profile?.phone?.phone.replace(' ', '') || '', [\n Validators.required\n ]],\n }),\n alternative_phone: this.fb.group({\n ddi: this.profile?.alternative_phone?.ddi || '+55',\n phone: [this.profile?.alternative_phone?.phone.replace(' ', '') || ''],\n }),\n email: [{\n value: this.profile?.email || '',\n disabled: true\n }],\n biography: [{\n value: this.profile?.biography || this.profileService.getDefaultBiography(this.profile?.company),\n disabled: this.disabledBiography\n }, [\n Validators.required,\n Validators.maxLength(280)\n ]]\n }, { validator: this.checkIfBrokerPhoneAreEquals });\n }\n\n checkOperationMarkets(): void {\n if (this.profile?.operation_markets?.length) {\n const isPrimary = this.profile.operation_markets.includes('PRIMARY');\n this.disabledBiography = !isPrimary;\n }\n }\n\n checkIfBrokerPhoneAreEquals: ValidatorFn = (fg: FormGroup) => {\n const phone = fg.get('phone.phone').value;\n const alternativePhone = fg.get('alternative_phone.phone').value;\n return phone !== null && alternativePhone !== null && phone === alternativePhone\n ? { areEquals: true }\n : null;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardGridModule } from '../components/card-grid/card-grid.module';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { CommonsLibModule } from 'commons-lib';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { BrokerModalEditionComponent } from '../broker-modal-edition/broker-modal-edition.component';\nimport { InputTextModule } from 'src/app/shared/components/input-text/input-text.module';\nimport { DropdownSelectModule } from 'src/app/shared/components/dropdown-select/dropdown-select.module';\nimport { InputDropdownCountryPrefixPhoneModule } from 'src/app/shared/components/input-dropdown-country-prefix-phone/input-dropdown-country-prefix-phone.module';\n\n@NgModule({\n imports: [\n CommonModule,\n CardGridModule,\n NgZorroAntdModule,\n CommonsLibModule,\n InputTextModule,\n ReactiveFormsModule,\n InputDropdownCountryPrefixPhoneModule\n ],\n declarations: [BrokerModalEditionComponent],\n exports: [BrokerModalEditionComponent]\n})\nexport class BrokerModalEditionModule {}\n","
\n\t\n
\n
\n \n \n
\n\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n
\n
\n\n

\n Olá!
\n {{ searchSummary?.formatted }}\n

\n \n
\n\n \n \n\n
\n \n \n
\n
\n\n \n
\n

;(

\n

Nenhum imóvel encontrado.

\n
\n
\n
\n\n
\n

\n {{ year }} Copyright - LPS SÃO PAULO CONSULTORIA DE IMÓVEIS LTDA - CRECI 024073-J - CNPJ 15.673.605/0001-10 - Todos os direitos reservados\n

\n
\n \n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ProfileService } from 'src/app/profile-home/service/profile.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { take, finalize } from 'rxjs/operators';\nimport { Profile } from 'src/app/core/models/profile';\nimport { LayoutService } from 'src/app/core/services/layout/layout.service';\nimport { SearchOrder } from '../components/search-order/model/search-order.model';\nimport { BrokerProfileService } from './broker-profile.service';\nimport { ProductCard } from '../models/product-card.model';\nimport { Subscription } from 'rxjs';\nimport { SearchSummary } from '../models/search-summary.model';\nimport { SearchPagination } from '../models/search-pagination.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { DealTypeEnum } from '../components/search-filter/model/deal-type.enum';\nimport { ProductTypeEnum } from '../models/product-type.enum';\nimport { LoginService } from 'lps-navigation';\nimport { Meta } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-broker-profile',\n templateUrl: './broker-profile.component.html',\n styleUrls: ['./broker-profile.component.scss']\n})\nexport class BrokerProfileComponent implements OnInit, OnDestroy {\n\n loading: boolean;\n loadingProducts: boolean;\n nickname: string;\n profile: Profile;\n year = new Date().getFullYear();\n order: SearchOrder;\n searchContent: Array;\n totalElements = 0;\n pageIndex = 1;\n pageSize = 24;\n searchSummary: SearchSummary = {\n length: 0,\n formatted: '',\n location: '',\n summary: ''\n };\n pagination: SearchPagination;\n uriProduct = this.environmentService.getEnvVar('portal_url');\n firstLoading = true;\n\n paginationSubsc = new Subscription();\n loadingSubsc = new Subscription();\n productsSubsc = new Subscription();\n updateSubsc = new Subscription();\n\n constructor(\n public service: ProfileService,\n public route: ActivatedRoute,\n public router: Router,\n public layoutService: LayoutService,\n public brokerProfileService: BrokerProfileService,\n private environmentService: EnvironmentService,\n private loginService: LoginService,\n private meta: Meta\n ) { }\n\n ngOnInit() {\n this.meta.addTag({ name: 'robots', content: 'noindex, nofollow' });\n this.nickname = this.route.snapshot.params.name;\n this.layoutService.setShowFooter(false);\n this.listenLoading();\n this.listenProducts();\n this.listenPagination();\n this.brokerProfileService.filter.setValues({\n dealType: DealTypeEnum.Sale,\n productTypes: [ProductTypeEnum.RealEstateParent, ProductTypeEnum.RealState]\n });\n this.getBroker();\n this.getBrokerProducts();\n this.listenUpdateProfile();\n }\n\n ngOnDestroy() {\n this.meta.removeTag('name=\"robots\"');\n this.layoutService.setShowFooter(true);\n this.paginationSubsc.unsubscribe();\n this.loadingSubsc.unsubscribe();\n this.updateSubsc.unsubscribe();\n }\n\n listenLoading(): void {\n this.loadingSubsc = this.brokerProfileService.loading$\n .subscribe(load => this.loadingProducts = load);\n }\n\n getBroker(): void {\n sessionStorage.setItem('broker-nickname', this.nickname);\n this.loading = true;\n this.service.findByName(this.nickname)\n .pipe(\n take(1),\n finalize(() => this.loading = false)\n ).subscribe((profile: Profile) => {\n if (profile.is_valid_creci) {\n if (this.validatesUserAccess(profile)) {\n this.profile = profile;\n this.service.sendPerfil(profile);\n }\n } else {\n this.router.navigate(['/']);\n }\n }, () => this.router.navigate(['/']));\n }\n\n validatesUserAccess(profile: Profile): boolean {\n if (this.loginService.getAuthInformation().isUserLoggedIn() && !profile.is_owner) {\n const destination = `${this.environmentService.getBaseCrmUrl()}/home`;\n window.location.href = destination;\n }\n return true;\n }\n\n getBrokerProducts(page?: number): void {\n this.brokerProfileService.getBrokerProducts(this.nickname, page)\n .pipe(\n take(1),\n finalize(() => this.loadingProducts = false)\n ).subscribe(res => {\n this.searchContent = res;\n this.setSummary(res);\n this.firstLoading = false;\n }, () => this.searchContent = []);\n }\n\n listenProducts(): void {\n this.productsSubsc = this.brokerProfileService.products$\n .subscribe(prod => {\n this.setSummary(prod);\n this.searchContent = prod;\n });\n }\n\n changeOrder(order: SearchOrder) {\n this.order = order;\n this.brokerProfileService.filter.setOrder(order);\n this.brokerProfileService.filter.setPage(1);\n this.getBrokerProducts();\n }\n\n navigate(page: number): void {\n this.brokerProfileService.filter.setPage(page);\n this.getBrokerProducts(page - 1);\n }\n\n listenPagination(): void {\n this.paginationSubsc = this.brokerProfileService.pagination$\n .subscribe((pagination) => {\n if (pagination) {\n this.searchSummary.length = pagination.totalElements;\n this.totalElements = pagination.totalElements;\n this.pageIndex = pagination.number;\n this.pageSize = pagination.size;\n }\n });\n }\n\n setSummary(products: Array): void {\n this.searchSummary.length = !products.length ? 0 : this.totalElements;\n if (this.searchSummary.length) {\n this.searchSummary = {\n ...this.searchSummary,\n formatted: `Tenho ${this.searchSummary.length} imóveis que possam te interessar.`\n };\n }\n }\n\n listenUpdateProfile(): void {\n this.updateSubsc = this.service.getUpdateProfile()\n .subscribe(res => {\n if (res) {\n this.getBroker();\n }\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrokerProfileComponent } from './broker-profile.component';\nimport { BrokerHeaderModule } from '../broker-header/broker-header.module';\nimport { SearchOrderModule } from '../components/search-order/search-order.module';\nimport { CardGridModule } from '../components/card-grid/card-grid.module';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { SearchFilterWrapperModule } from '../components/search-filter-wrapper/search-filter-wrapper.module';\nimport { CommonsLibModule } from 'commons-lib';\nimport { BrokerModalEditionModule } from '../broker-modal-edition/broker-modal-edition.module';\n\n@NgModule({\n imports: [\n CommonModule,\n BrokerHeaderModule,\n SearchOrderModule,\n SearchFilterWrapperModule,\n CardGridModule,\n NgZorroAntdModule,\n CommonsLibModule,\n BrokerModalEditionModule\n ],\n declarations: [BrokerProfileComponent]\n})\nexport class BrokerProfileModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { catchError, finalize, map, take, tap } from 'rxjs/operators';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { pickBy } from 'src/app/core/helpers/object.helper';\nimport { ProductCard } from '../models/product-card.model';\nimport { SearchFilter } from '../models/search-filter.model';\nimport { SearchPagination } from '../models/search-pagination.model';\nimport { SearchResultResponse } from '../models/search-result.model';\n\n@Injectable({ providedIn: 'root' })\n\nexport class BrokerProfileService {\n products$ = new BehaviorSubject([]);\n pagination$ = new BehaviorSubject(null);\n loading$ = new BehaviorSubject(false);\n filter = new SearchFilter();\n private uri = this.environmentService.getEnvVar('api_profile');\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n getBrokerProducts(nickname: string, pg?: number): Observable> {\n const api = `${this.uri}/profile/${nickname}/products/summary`;\n this.loading$.next(true);\n const currentPage = pg ? pg : (this.filter.page >= 0 ? this.filter.page - 1 : 0);\n const {...params} = {\n ...this.getParamsToUrl(),\n page: currentPage,\n } as any;\n const urlPrams = this.getQueryParams(params);\n return this.http.get(`${api}?${urlPrams}`)\n .pipe(\n tap(res => this.paginationHandler(res, this.getBrokerProducts, params.page)),\n map(res => res ? res.products.content.map(p => new ProductCard(p)) : []),\n finalize(() => this.loading$.next(false)),\n catchError(this.errorHandlerGeneric)\n );\n }\n\n getQueryParams(filters = this.getParamsToUrl()) {\n return Object.entries(filters).map(([key, val]) => {\n if (Array.isArray(val)) {\n return val.map(v => `${key}=${v}`).join('&');\n }\n return `${key}=${val}`;\n }).join('&');\n }\n\n\n getParamsToUrl(params = this.filter.getFilterParams() as any) {\n if (params.divisionUnitTypes && params.divisionUnitTypes.length > 0) {\n params.divisionUnitTypes = params.divisionUnitTypes.map(value => value.toLowerCase());\n }\n return this.filterParamsToUrlParams(\n pickBy(params )\n );\n }\n\n filterParamsToUrlParams(params) {\n const urlParams = {};\n // tslint:disable-next-line: forin\n for (const key in params) {\n urlParams[key] = Array.isArray(params[key])\n ? params[key]\n : [params[key]];\n }\n return urlParams;\n }\n\n paginationHandler = (res: any, method: (...a) => Observable, ...args) => {\n const products = res ? res.products : {\n last: false,\n first: false,\n totalPages: 0,\n numberOfElements: 0,\n size: 0,\n number: 0,\n totalElements: 0\n };\n\n this.pagination$.next({\n last: products.last,\n first: products.first,\n totalPages: products.totalPages,\n numberOfElements: products.numberOfElements,\n size: products.size,\n number: this.filter.page || 1,\n totalElements: products.totalElements,\n method: (nickname, page) => {\n args = [nickname, this.filter.url, this.filter.page];\n method.apply(this, [...args, false])\n .pipe(\n take(1)\n ).subscribe();\n }\n });\n }\n\n errorHandlerGeneric = (error): Observable => {\n this.loading$.next(false);\n return of([]);\n }\n}\n","
\n \n\n
\n
\n \n \n
\n\n \n {{ attribute.value }}\n \n
\n\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport { ProductAttribute } from '../../models/attributes.model';\n\n@Component({\n selector: 'lps-attributes',\n templateUrl: './attributes.component.html',\n styleUrls: ['./attributes.component.scss']\n})\nexport class AttributesComponent {\n\n @Input() public attributes: ProductAttribute[];\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AttributesComponent } from './attributes.component';\nimport { IconModule } from '../icon/icon.module';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule\n ],\n declarations: [ AttributesComponent ],\n exports: [ AttributesComponent ],\n})\nexport class AttributesModule { }\n","\n
\n \n \n \n

\n {{this.getDescription()}}\n

\n
\n\n","import {Component, Input, OnInit} from '@angular/core';\nimport {BookmarkService} from 'lps-navigation';\n\n@Component({\n selector: 'lps-bookmark',\n templateUrl: './bookmark.component.html',\n styleUrls: ['./bookmark.component.scss']\n})\nexport class BookmarkComponent implements OnInit {\n\n constructor(private readonly bookmarkService: BookmarkService) {}\n\n @Input()\n public productId?: string;\n @Input()\n public displayDescription: boolean;\n @Input()\n public displayLinear: boolean;\n public isBookmarked: boolean;\n\n ngOnInit(): void {\n this.updateIsBookmarked();\n }\n\n updateIsBookmarked(): void {\n this.isBookmarked = this.bookmarkService.isBookmarked(this.productId);\n }\n\n toggleBookmark(): void {\n this.bookmarkService.toggleBookmark(this.productId);\n this.updateIsBookmarked();\n }\n\n getDescription(): string {\n return this.isBookmarked\n ? 'Desfazer'\n : 'Favoritar';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BookmarkComponent } from './bookmark.component';\n\n@NgModule({\n declarations: [ BookmarkComponent ],\n imports: [\n CommonModule\n ],\n exports: [ BookmarkComponent ],\n})\nexport class BookmarkModule { }\n","
\n
    \n
  • \n \n
  • \n
\n
\n\n
\n
    \n
  • \n
    \n
    \n \n \n \n
    \n
    \n
  • \n
\n
\n","import {Component, Input, OnInit, HostListener} from '@angular/core';\n\n@Component({\n selector: 'lps-card-grid',\n templateUrl: './card-grid.component.html',\n styleUrls: ['./card-grid.component.scss']\n})\nexport class CardGridComponent implements OnInit {\n\n @Input() showSwiper = false;\n @Input() loading: boolean;\n @Input() target = '_top';\n @Input() numberSkeletons = 24;\n @Input() productBaseLink: string;\n @Input() hideBookmark?: boolean;\n @Input() set productCards(productCards: any[]) {\n this.internalProductCards = productCards;\n this.sizeCards = this.validateGrid();\n }\n\n get productCards(): any[] {\n return this.internalProductCards;\n }\n\n @Input() theme: 'home' | 'similar' | 'search' | 'campaign' | 'broker' = 'home';\n @Input() displayRealtorContactLink: boolean;\n\n @Input() gridName: string;\n @Input() showGrid3Cols: boolean;\n @Input() nickname: string;\n\n internalProductCards: any[] = [];\n sizeCards = 4;\n\n previousTheme: 'home' | 'similar' | 'search' | 'campaign' | 'broker';\n\n skeletons: Array;\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.alterThemeSimilar(event.target.innerWidth);\n }\n\n ngOnInit() {\n this.skeletons = [...Array(this.numberSkeletons)].map((v, i) => i);\n this.sizeCards = this.validateGrid();\n this.previousTheme = this.theme;\n this.alterThemeSimilar(window.innerWidth);\n }\n\n alterThemeSimilar(size: number) {\n if (this.theme === 'similar' && size <= 768) {\n this.theme = 'home';\n } else if (size > 768) {\n this.theme = this.previousTheme;\n }\n }\n\n validateGrid() {\n let sizeCards = this.productCards.length || 4;\n if (this.theme === 'home' && sizeCards >= 4) {\n sizeCards = 4;\n }\n return sizeCards;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardGridComponent } from './card-grid.component';\nimport { CardProductModule } from '../card-product/card-product.module';\nimport { SkeletonProductCardModule } from '../skeleton-product-card/skeleton-product-card.module';\n\n@NgModule({\n imports: [\n CommonModule,\n CardProductModule,\n SkeletonProductCardModule\n ],\n declarations: [ CardGridComponent ],\n exports: [ CardGridComponent ],\n})\nexport class CardGridModule { }\n","\n\n\n
\n {{ productCard.tagCampaign }}\n
\n\n
\n {{ productCard.tag }}\n
\n\n
\n \n
\n\n
\n {{productCard?.label}}\n
\n\n
\n
\n\n
\n \n \n
\n\n

{{productCard?.type}}

\n

\n {{productCard.priceFormat}}\n

\n
\n {{productCard.subPrice}}\n
\n

{{productCard?.name}}

\n

{{productCard?.street}}

\n

{{productCard?.neighborhood}}

\n
\n\n \n \n
\n\n
\n

Falar com o corretor

\n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\nimport { ProductAttribute } from '../../models/attributes.model';\nimport { ProductCard } from '../../models/product-card.model';\n\n@Component({\n selector: 'lps-card-product',\n templateUrl: './card-product.component.html',\n styleUrls: ['./card-product.component.scss']\n})\nexport class CardProductComponent implements OnInit {\n\n @Input() productCard: ProductCard;\n @Input() displayRealtorContactLink: boolean;\n @Input() theme: string;\n @Input() target: string;\n @Input() productBaseLink: string;\n @Input() gridName: string;\n @Input() hideBookmark?: boolean;\n @Input() showGrid3Cols?: boolean;\n @Input() showSwiper = false;\n @Input() nickname: string;\n\n photo: any;\n campaign: string;\n attributes: ProductAttribute[];\n\n constructor(\n private readonly featureToggleService: FeatureToggleService\n ) { }\n\n stopPropagation(event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n ngOnInit() {\n this.setPhoto();\n this.setAttributes();\n }\n\n showCarousel() {\n if (this.showSwiper) {\n return this.featureToggleService.isActive('toggle_show_card_grid_carousel');\n } else {\n return this.showSwiper;\n }\n }\n\n setPhoto() {\n const existPhoto = this.productCard && this.productCard.photo && this.productCard.photo[0] ? this.productCard.photo[0] : null;\n if (this.featureToggleService.isActive('toggle_show_alt_in_product_image')) {\n this.photo = {\n src: existPhoto ? existPhoto.smallUrl : '',\n name: existPhoto && this.productCard ? this.productCard.imageAlternateText : ''\n };\n } else {\n this.photo = {\n src: existPhoto ? existPhoto.smallUrl : '',\n name: existPhoto ? existPhoto.name : '',\n };\n }\n }\n\n setAttributes() {\n if (!this.productCard || !this.productCard.attributes) {\n return;\n }\n this.attributes = this.productCard.attributes;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CardProductComponent } from './card-product.component';\nimport { LinkProductModule } from '../link-product/link-product.module';\nimport { BookmarkModule } from '../bookmark/bookmark.module';\nimport { AttributesModule } from '../attributes/attributes.module';\nimport { ImagePreloadDirectiveModule } from '../../directives/image-preload/image-preload.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n LinkProductModule,\n BookmarkModule,\n AttributesModule,\n ImagePreloadDirectiveModule\n ],\n declarations: [ CardProductComponent ],\n exports: [ CardProductComponent ],\n})\nexport class CardProductModule { }\n","
\n \n
\n\n","import {\n Component,\n ElementRef,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\n\n\n@Component({\n selector: 'lps-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss']\n})\n\nexport class IconComponent implements OnInit {\n\n @Input() color = '#2a2a2a';\n @Input() icon: string;\n @Input() size = 'auto';\n patch: string;\n @ViewChild('imgRef') imgRef: ElementRef;\n\n public className: string;\n\n ngOnInit() {\n this.loadComponent();\n this.className = 'icon--' + this.size;\n }\n\n loadComponent() {\n this.patch = `assets/icons-prt/${this.icon}.svg`;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {IconComponent} from './icon.component';\nimport {IconPipe} from './pipes/icon.pipe';\n\n\n@NgModule({\n declarations: [\n IconComponent,\n IconPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n IconComponent, IconPipe\n ]\n})\nexport class IconModule {}\n","import {Pipe, PipeTransform} from '@angular/core';\n\nimport {ICONS_TYPE} from './icons-type';\n\n/**\n * @description relates string to an icon type\n */\n@Pipe({\n name: 'icon'\n})\nexport class IconPipe implements PipeTransform {\n\n transform(type: string): any {\n const iconsKeys = Object.keys(ICONS_TYPE);\n for (const icon of iconsKeys) {\n if (ICONS_TYPE[icon].some(str => str.toLowerCase().trim() === type.toLowerCase().trim())) {\n return icon;\n }\n }\n\n return 'default_ico';\n }\n\n}\n","export const ICONS_TYPE: { [key: string]: string[]; } = {\n fb_ico: ['fb_ico'],\n tw_ico: ['tw_ico'],\n ig_ico: ['ig_ico'],\n in_ico: ['in_ico'],\n yt_ico: ['yt_ico'],\n lps_logo_ico: ['lps_logo_ico'],\n fac_ico: ['fac_ico'],\n people_contact_ico: ['people_contact_ico'],\n support_ico: ['support_ico'],\n contact_header_ico: ['contact_header_ico'],\n imovel_ico: ['imovel_ico'],\n search_ico: ['search_ico'],\n menu_ico: ['menu_ico'],\n close_ico: ['close_ico'],\n ruler_ico: ['ruler_ico', 'area_attr', 'total_area_attr'],\n // square_ruler_ico: ['ruler_ico', 'area_attr', 'total_area_attr'],\n bed_ico: ['bed_ico', 'bedroom_attr'],\n suite_ico: ['suite_attr'],\n sink_ico: ['sink_ico', 'bathroom_attr'],\n car_ico: ['car_ico', 'parking_lots_attr'],\n image_ico: ['image_ico'],\n heart_ico: ['heart_ico'],\n video_camera_ico: ['video_camera_ico'],\n street_view_ico: ['street_view_ico'],\n map_ico: ['map_ico'],\n see_plans_ico: ['see_plans_ico'],\n pool: ['pool'],\n diamond_ico: ['diamond_ico'],\n money_fly_ico: ['money_fly_ico'],\n house_sale_ico: ['house_sale_ico'],\n arrow_left: ['arrow_left'],\n arrow_right: ['arrow_right'],\n arrow: ['arrow'],\n arrow_up: ['arrow_up'],\n house_ico: ['house_ico'],\n dollar_ico: ['dollar_ico'],\n hand_heart_ico: ['hand_heart_ico'],\n photo_ico: ['photo_ico'],\n gym_ico: ['Academia', 'Academia de ginástica', 'Fitness'],\n party_room_ico: ['Salão de festas'],\n security_ico: ['Segurança'],\n kitchen_ico: ['Cozinha Mobiliada', 'Cozinha Americana'],\n gourmet_ico: ['Espaço Gourmet'],\n steam_room_ico: ['Sauna'],\n concierge_ico: ['Portaria'],\n parking_ico: ['Estacionamento rotativo', 'Estacionamento'],\n grill_ico: ['Churrasqueira'],\n toilet_ico: ['Lavabo'],\n heater_ico: ['Aquecedor central', 'Aquecedor'],\n laundry_ico: ['Lavanderia'],\n swimming_ico: ['Piscina infantil', 'Piscina adulto', 'Piscina'],\n elevator_ico: ['Elevador'],\n playground_ico: ['Playground', 'Brinquedoteca'],\n bike_rack_ico: ['Bicicletário'],\n garden_ico: ['Área verde', 'Jardim'],\n air_conditioning_ico: ['Ar condicionado'],\n piped_gas_ico: ['Gás Encanado'],\n court_ico: ['Quadra'],\n game_room_ico: ['Salão de jogos'],\n default_ico: ['default_ico'],\n stage_ico: ['stage_ico', 'stage_attr']\n};\n\n// parking_lots_attr\n","\n
\n \n \n \n
\n
\n\n
\n \n
\n
\n\n \n\n","import {Component, Input} from '@angular/core';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\nimport { ProductCard } from '../../models/product-card.model';\nimport { ProductGridEvent } from '../../models/product-grid-event.model';\nimport {ProductUrlService} from '../../services/product/product-url.service';\n\n@Component({\n selector: 'lps-link-product',\n templateUrl: './link-product.component.html',\n styleUrls: ['./link-product.component.scss']\n})\nexport class LinkProductComponent {\n\n @Input() productCard: ProductCard;\n @Input() target: string;\n @Input() pathname: string;\n @Input() gridName: string;\n @Input() nickname: string;\n\n constructor(\n private readonly productUrlService: ProductUrlService,\n private readonly featureToggleService: FeatureToggleService,\n private readonly googleTagManagerService: GoogleTagManagerService\n ) {\n }\n\n goToProduct(sku: string) {\n if (this.nickname && this.pathname) {\n const path = this.productUrlService.mapProductUrl(this.productCard, '');\n window.open(`${this.pathname}${path}?Corretor=${this.nickname}`, this.target);\n } else if (this.pathname) {\n window.open(`${window.location.origin + this.pathname + sku}`, this.target);\n } else if (this.isToggleProductUrlActive) {\n const path = this.productUrlService.mapProductUrl(this.productCard, '');\n window.open(`${window.location.origin}${path}`, this.target);\n } else {\n window.open(`${window.location.origin}/imovel/${sku}`, this.target);\n }\n }\n\n get productUrl() {\n if (this.isToggleProductUrlActive) {\n return this.productUrlService.mapProductUrl(this.productCard, this.pathname);\n }\n return null;\n }\n\n get isToggleProductUrlActive() {\n return this.featureToggleService.isActive('toggle_product_url');\n }\n\n sendAnalyticsEvent($event) {\n $event.stopPropagation();\n if (this.featureToggleService.isActive('toggle_product_analytics')) {\n const analyticsEvent = ProductGridEvent.forClick(this.gridName, this.productCard.analytics);\n this.googleTagManagerService.pushTag(analyticsEvent);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LinkProductComponent } from './link-product.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ LinkProductComponent ],\n exports: [ LinkProductComponent ],\n})\nexport class LinkProductModule { }\n","\n \n \n \n \n {{ filterTotal ? 'Filtros (' + filterTotal + ')' : 'Filtros' }}\n \n\n\n\n
\n \n
\n\n\n\n \n\n\n\n

\n {{ filterTotal ? 'Filtros (' + filterTotal + ')' : 'Filtros' }}\n

\n
\n\n\n \n \n\n\n\n \n \n \n \n \n {{ filterTotal ? 'Filtros (' + filterTotal + ')' : 'Filtros' }}\n \n \n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { BrokerProfileService } from '../../broker-profile/broker-profile.service';\nimport { FilterValue } from '../search-filter/model/filter-value.model';\n\n@Component({\n selector: 'lps-search-filter-wrapper',\n templateUrl: './search-filter-wrapper.component.html',\n styleUrls: ['./search-filter-wrapper.component.scss']\n})\nexport class SearchFilterWrapperComponent implements OnInit, OnDestroy {\n\n filterValue: FilterValue;\n isMobile: boolean;\n isDropdownOpen: boolean;\n isDrawerOpen: boolean;\n filterTotal: number;\n @Output() filterHasChanged = new EventEmitter();\n @Input() showOperationType: boolean;\n\n breakPointSubsc = new Subscription();\n\n constructor(\n private breakPoint: BreakpointObserver,\n private brokerProfileService: BrokerProfileService\n ) { }\n\n ngOnInit() {\n this.filterValue = this.brokerProfileService.filter.getFilterValue();\n this.listenBreakPoint();\n this.filterCount(this.filterValue);\n }\n\n ngOnDestroy() {\n this.breakPointSubsc.unsubscribe();\n }\n\n changeFilter(filter: FilterValue) {\n this.filterValue = filter;\n this.brokerProfileService.filter.setValues(filter);\n this.brokerProfileService.filter.setPage(1);\n this.filterHasChanged.emit();\n this.filterCount(filter);\n this.close();\n }\n\n listenBreakPoint(): void {\n this.breakPointSubsc = this.breakPoint.observe(['(max-width: 768px)'])\n .subscribe((state) => {\n this.isMobile = state.matches;\n this.isDrawerOpen = false;\n this.isDropdownOpen = false;\n });\n }\n\n filterCount(filter: FilterValue) {\n this.filterTotal = 0;\n // tslint:disable-next-line: forin\n for (const key in filter) {\n if (key === 'dealType') {\n this.filterTotal += 1;\n continue;\n }\n if (key === 'productTypes') {\n if (filter[key]?.length) {\n this.filterTotal += filter[key].length - 1;\n }\n continue;\n }\n if (key === 'characteristics') {\n const v = filter[key].filter((x) => Array.isArray(x.value) ? x.value.length : x.value);\n this.filterTotal += v.length;\n continue;\n }\n\n if (Array.isArray(filter[key])) {\n this.filterTotal += filter[key].length;\n } else if (!this.checkEmptyObjectProperties(filter[key])) {\n this.filterTotal += 1;\n }\n }\n }\n\n toggle(open: boolean) {\n if (this.isMobile) {\n this.isDrawerOpen = open;\n this.isDropdownOpen = false;\n } else {\n this.isDropdownOpen = open;\n this.isDrawerOpen = false;\n }\n }\n\n close() {\n this.isDrawerOpen = false;\n this.isDropdownOpen = false;\n }\n\n checkEmptyObjectProperties(obj) {\n for (const key in obj) {\n if (!Array.isArray(obj[key]) && obj[key] instanceof Object === true && typeof obj[key] !== null) {\n // if object, do recursion\n if (this.checkEmptyObjectProperties(obj[key]) === false) { return false; }\n } else {\n // check for empty values\n if (obj[key] !== null && obj[key] !== undefined && String(obj[key]) !== '') {\n return false;\n }\n }\n }\n return true;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { SearchFilterWrapperComponent } from './search-filter-wrapper.component';\nimport { SearchFilterModule } from '../search-filter/search-filter.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n SearchFilterModule\n ],\n declarations: [ SearchFilterWrapperComponent ],\n exports: [ SearchFilterWrapperComponent ]\n})\nexport class SearchFilterWrapperModule { }\n","
\n\n \n\n
\n\n\n \n Limpar Filtros\n \n\n","import {Component} from '@angular/core';\nimport {RangeTypeFilter} from '../range-type-filter';\n\n@Component({\n selector: 'lps-area-type-filter',\n templateUrl: './area-type-filter.component.html',\n styleUrls: ['./area-type-filter.component.scss']\n})\nexport class AreaTypeFilterComponent extends RangeTypeFilter {\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AreaTypeFilterComponent } from './area-type-filter.component';\nimport { RangeInputModule } from '../range-input/range-input.module';\n\n@NgModule({\n imports: [\n CommonModule,\n RangeInputModule\n ],\n declarations: [ AreaTypeFilterComponent ],\n exports: [ AreaTypeFilterComponent ],\n})\nexport class AreaTypeFilterModule { }\n","
\n\n \n\n
\n {{filter.groupName}}\n
\n\n
\n \n \n
\n\n
\n\n\n\n\n \n Limpar Filtros\n \n\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild} from '@angular/core';\nimport {CharacteristicTypeGroup} from '../../model/characteristic-type-group.model';\nimport {FieldValue} from '../../model/field-value.model';\nimport {FilterPanel} from '../../model/filter-panel.model';\nimport {FilterPanelHandler} from '../../model/filter-panel-handler.model';\nimport {HomeSearchFiltersAnalyticsHandler} from '../../home-search-filters-analytics-handler';\nimport { MultiSelectionOption, MultiSelectionOptions } from 'commons-lib';\n\n@Component({\n selector: 'lps-characteristics-type-filter',\n templateUrl: './characteristics-type-filter.component.html',\n styleUrls: ['./characteristics-type-filter.component.scss']\n})\nexport class CharacteristicsTypeFilterComponent implements OnInit, AfterViewInit {\n\n @ViewChild('clearTemplate') clearTemplate: TemplateRef;\n\n @Input() panel: FilterPanel;\n @Input() value: FieldValue[] = [];\n @Output() valueChange: EventEmitter = new EventEmitter();\n @Output() cleanValue: EventEmitter = new EventEmitter();\n\n originalPanelName = '';\n panelHandler: FilterPanelHandler;\n filterGroup: CharacteristicTypeGroup[] = [\n {\n field: 'rooms',\n groupName: 'Dormitórios',\n options: this.buildFilter()\n },\n {\n field: 'parkingLots',\n groupName: 'Vagas',\n options: this.buildFilter()\n },\n {\n field: 'suites',\n groupName: 'Suítes',\n options: this.buildFilter(),\n },\n {\n field: 'bathrooms',\n groupName: 'Banheiros',\n options: this.buildFilter(),\n }\n ];\n\n constructor(\n private googleAnalyticsEventManger: HomeSearchFiltersAnalyticsHandler\n ) {}\n\n ngOnInit() {\n this.panelHandler = new FilterPanelHandler(this.panel);\n this.originalPanelName = this.panel.name;\n this.value = this.value.filter(v => Array.isArray(v.value) ? v.value.length : v.value);\n if (this.value && this.value.length) {\n this.initValues();\n }\n }\n\n ngAfterViewInit() {\n // ChangeDetectorRef não funciona mais? por isso tem 35% de rejeição na comunidade de devs\n setTimeout(() => {\n this.panelHandler.setPanelExtraTemplate(this.clearTemplate);\n this.setPanelHeader();\n }, 0);\n }\n\n initValues() {\n this.value\n .forEach((fieldValue: FieldValue) => {\n const f = this.filterGroup.find(fg => fg.field === fieldValue.field);\n\n if (f) {\n const multiSelectionOptions = f.options;\n multiSelectionOptions.items.forEach((m) => {\n if (fieldValue.value) {\n const value = Array.isArray(fieldValue.value) ? fieldValue.value : [fieldValue.value];\n const isSelected = value.some(fv => m.getValue() === fv);\n if (isSelected && !m.isToggled()) {\n m.toggle();\n }\n }\n });\n }\n });\n }\n\n buildFilter() {\n return new MultiSelectionOptions([\n new MultiSelectionOption('1', '1'),\n new MultiSelectionOption('2', '2'),\n new MultiSelectionOption('3', '3'),\n new MultiSelectionOption('4+', '4')\n ]);\n }\n\n cleanFilter(evt: MouseEvent) {\n evt.stopPropagation();\n this.filterGroup.forEach((group) => {\n group.options.unselectAllOptions();\n });\n this.value = [];\n this.emit();\n this.cleanValue.emit(this.value);\n }\n\n sendEventForSelectedOptions(label: string, options: MultiSelectionOptions): void {\n const amountSelected = options.getSelectedOptions()\n .map(selectedOption => selectedOption.getValue())\n .join('/');\n const eventLabel = `características-do-imóvel:${label.toLowerCase()}:${amountSelected}`;\n this.googleAnalyticsEventManger.sendEvent(eventLabel);\n }\n\n emit() {\n const groupValues: FieldValue[] = this.filterGroup\n .reduce((group: any[], item) => {\n const {field, options} = item;\n const value = options.getSelectedOptions().map(o => o.getValue());\n return [...group, {field, value}];\n }, []);\n\n this.value = groupValues.filter(g => g.value.length);\n this.valueChange.emit(this.value);\n this.setPanelHeader();\n }\n\n setPanelHeader() {\n this.panelHandler.setPanelHeader(\n this.value.length\n ? `${this.originalPanelName} (${this.value.length})`\n : this.originalPanelName\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CharacteristicsTypeFilterComponent } from './characteristics-type-filter.component';\nimport { CommonsLibModule } from 'commons-lib';\n\n@NgModule({\n imports: [\n CommonModule,\n CommonsLibModule\n ],\n declarations: [ CharacteristicsTypeFilterComponent ],\n exports: [ CharacteristicsTypeFilterComponent ],\n})\nexport class CharacteristicsTypeFilterModule { }\n","import {AfterViewInit, Directive, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild} from '@angular/core';\nimport {FormArray, FormBuilder, FormControl, FormGroup} from '@angular/forms';\n\nimport {PropertyFilterGroup} from '../model/property-type-group.model';\nimport {FilterPanel} from '../model/filter-panel.model';\nimport {FilterPanelHandler} from '../model/filter-panel-handler.model';\nimport {HomeSearchFiltersAnalyticsHandler} from '../home-search-filters-analytics-handler';\nimport { flatten, uniqPrimitiveValues } from 'src/app/core/helpers/array.healper';\n\n\n@Directive()\nexport class CheckboxListFilter implements OnInit, AfterViewInit {\n\n @ViewChild('clearTemplate') clearTemplate: TemplateRef;\n\n @Input() panel: FilterPanel;\n @Input() value: string[] = [];\n @Output() valueChange: EventEmitter = new EventEmitter();\n @Output() cleanValue: EventEmitter = new EventEmitter();\n\n filters: PropertyFilterGroup[] = [];\n\n formArray: FormArray;\n form: FormGroup;\n\n originalPanelName = '';\n panelHandler: FilterPanelHandler;\n\n constructor(protected fb: FormBuilder,\n private googleAnalyticsEventManager: HomeSearchFiltersAnalyticsHandler) {\n }\n\n ngOnInit() {\n this.panelHandler = new FilterPanelHandler(this.panel);\n this.originalPanelName = this.panel.name;\n\n this.formArray = new FormArray([]);\n\n this.filters.forEach((filter) => {\n const control = new FormControl();\n const values = this.value.filter(v => filter.options.some(o => o.value === v));\n control.setValue(values);\n this.formArray.push(control);\n });\n\n this.form = this.fb.group({\n items: this.formArray,\n });\n }\n\n ngAfterViewInit() {\n // ChangeDetectorRef não funciona mais? por isso tem 35% de rejeição na comunidade de devs\n setTimeout(() => {\n this.panelHandler.setPanelExtraTemplate(this.clearTemplate);\n this.setPanelHeader();\n }, 0);\n }\n\n cleanFilter(evt: MouseEvent) {\n evt.stopPropagation();\n this.formArray.reset([...new Array(this.formArray.length)].map(() => []));\n this.setValue();\n this.cleanValue.emit(this.value);\n this.valueChange.emit(this.value);\n }\n\n emit() {\n this.setValue();\n this.valueChange.emit(this.value);\n }\n\n setValue() {\n this.value = uniqPrimitiveValues(\n flatten(this.formArray.getRawValue())\n );\n\n this.setPanelHeader();\n }\n\n setPanelHeader() {\n this.panelHandler.setPanelHeader(\n this.value.length\n ? `${this.originalPanelName} (${this.value.length})`\n : this.originalPanelName\n );\n }\n\n sendEvent($event: any) {\n const eventLabel = `${this.panel.groupingName}:${$event.groupName.toLowerCase()}:${$event.item.value}`;\n this.googleAnalyticsEventManager.sendEvent(eventLabel);\n }\n\n sendEventWhenSelectingAll(groupName) {\n const eventLabel = `${this.panel.groupingName}:${groupName.toLowerCase()}:selecionou-todos`;\n this.googleAnalyticsEventManager.sendEvent(eventLabel);\n }\n\n}\n","
\n\n
\n
{{groupName}}
\n\n
\n selecionar tudo\n \n
\n\n
\n\n
\n\n
\n\n \n
\n
\n
\n","import {Component, EventEmitter, forwardRef, Input, Output} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckboxListItem } from './model/checkbox-list-item.model';\nimport { Router } from '@angular/router';\n// tslint:disable: no-output-on-prefix\n@Component({\n selector: 'lps-checkbox-list',\n templateUrl: './checkbox-list.component.html',\n styleUrls: ['./checkbox-list.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxListComponent),\n multi: true,\n }\n ],\n})\nexport class CheckboxListComponent implements ControlValueAccessor {\n\n @Input() options: CheckboxListItem[] = [];\n @Input() disabled = false;\n @Input() groupName: string;\n @Input() showGroupName = true;\n @Input() canSelectAll = true;\n\n @Output() onSelect = new EventEmitter();\n @Output() onSelectAll = new EventEmitter();\n @Output() onDeselect = new EventEmitter();\n\n value;\n allSelected = false;\n checkedList: any;\n\n indexableFilters = {\n academia: true,\n churrasqueira: true,\n piscina: true\n };\n\n constructor(private router: Router) {}\n\n set internalValue(items: any[]) {\n this.value = items;\n this.onChange(items);\n this.onTouched();\n }\n\n toggle() {\n this.allSelected = !this.allSelected;\n\n if (this.allSelected) {\n this.onSelectAll.emit(this.groupName);\n }\n\n this.options.forEach((o) => {\n o.checked = this.allSelected;\n });\n\n this.internalValue = this.allSelected\n ? this.options.map(s => s.value)\n : [];\n\n }\n\n select(item: CheckboxListItem, checked: boolean) {\n if (!this.disabled) {\n item.checked = checked;\n if (item.checked) {\n this.onSelect.emit({item, groupName: this.groupName});\n } else {\n this.onDeselect.emit({item, groupName: this.groupName});\n }\n this.writeValue();\n this.getCheckedItemList();\n }\n }\n\n getCheckedItemList() {\n this.checkedList = [];\n for (const each of this.options) {\n if (each.checked) {\n this.checkedList.push(this.options);\n }\n this.allSelected = this.checkedList.length === this.options.length;\n }\n }\n\n onChange = (value: any[]) => {\n }\n\n onTouched = () => {\n }\n\n isIndexableFilter(filter: string) {\n return this.indexableFilters[filter] || false;\n }\n\n registerOnChange(fn: (value: any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value?: any[]): void {\n if (value) {\n this.internalValue = value;\n this.options.forEach((o) => {\n o.checked = value.some(v => o.value === v);\n });\n if (value.length < 1) {\n this.allSelected = false;\n }\n if (value.length === this.options.length) {\n this.allSelected = true;\n }\n } else {\n this.internalValue = this.options\n .filter(o => o.checked)\n .map(o => o.value);\n }\n }\n\n setHref(option) {\n const url = this.router.url.replace(/\\?(.*)/gi, '');\n if (url.includes(option.value)) {\n return url;\n }\n return `${this.router.url.replace(/\\?(.*)/gi, '').replace(/\\/comodidade(.*)/gi, '')}/comodidade/com-${option.value}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CheckboxListComponent } from './checkbox-list.component';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n FormsModule\n ],\n declarations: [ CheckboxListComponent ],\n exports: [ CheckboxListComponent ],\n})\nexport class CheckboxListModule { }\n","
\n
\n \n
\n
\n\n\n \n Limpar Filtros\n \n\n","import {Component} from '@angular/core';\nimport {PropertyFilterGroup} from '../../model/property-type-group.model';\nimport {\n LETTER_A,\n LETTER_B,\n LETTER_C,\n LETTER_D,\n LETTER_E,\n LETTER_F,\n LETTER_G,\n LETTER_H,\n LETTER_L,\n LETTER_M,\n LETTER_O, LETTER_P, LETTER_Q, LETTER_R, LETTER_S, LETTER_T, LETTER_V\n} from '../../const/more-type';\nimport {CheckboxListFilter} from '../checkbox-list-filter';\nimport {FormBuilder} from '@angular/forms';\nimport {HomeSearchFiltersAnalyticsHandler} from '../../home-search-filters-analytics-handler';\nimport { toKebabCase } from 'src/app/core/helpers/string.healper';\n\n@Component({\n selector: 'lps-more-type-filter',\n templateUrl: './more-type-filter.component.html'\n})\nexport class MoreTypeFilterComponent extends CheckboxListFilter {\n filters: PropertyFilterGroup[] = [\n {groupName: 'A', options: LETTER_A},\n {groupName: 'B', options: LETTER_B},\n {groupName: 'C', options: LETTER_C},\n {groupName: 'D', options: LETTER_D},\n {groupName: 'E', options: LETTER_E},\n {groupName: 'F', options: LETTER_F},\n {groupName: 'G', options: LETTER_G},\n {groupName: 'H', options: LETTER_H},\n {groupName: 'L', options: LETTER_L},\n {groupName: 'M', options: LETTER_M},\n {groupName: 'O', options: LETTER_O},\n {groupName: 'P', options: LETTER_P},\n {groupName: 'Q', options: LETTER_Q},\n {groupName: 'R', options: LETTER_R},\n {groupName: 'S', options: LETTER_S},\n {groupName: 'T', options: LETTER_T},\n {groupName: 'V', options: LETTER_V},\n ].map(v => ({...v, options: v.options.map(o => ({...o, value: toKebabCase(o.value)}))}));\n\n constructor(fb: FormBuilder, googleAnalyticsEventManager: HomeSearchFiltersAnalyticsHandler) {\n super(fb, googleAnalyticsEventManager);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MoreTypeFilterComponent } from './more-type-filter.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CheckboxListModule } from '../checkbox-list/checkbox-list.module';\n\n@NgModule({\n imports: [\n CommonModule,\n CheckboxListModule,\n ReactiveFormsModule\n ],\n declarations: [ MoreTypeFilterComponent ],\n exports: [ MoreTypeFilterComponent ],\n})\nexport class MoreTypeFilterModule { }\n","
\n \n \n {{saleOperation.label}}\n \n\n
\n \n \n {{option.label}}\n \n
\n
\n\n \n {{rentOperation.label}}\n \n \n\n","import {Component, EventEmitter, Input, Output, OnInit, ChangeDetectorRef, AfterViewInit} from '@angular/core';\nimport {OperationType} from '../../model/operation-type.model';\nimport {DealTypeEnum} from '../../model/deal-type.enum';\nimport {HomeSearchFiltersAnalyticsHandler} from '../../home-search-filters-analytics-handler';\nimport { FilterPanel } from '../../model/filter-panel.model';\nimport { FilterPanelHandler } from '../../model/filter-panel-handler.model';\nimport { CheckboxListItem } from '../checkbox-list/model/checkbox-list-item.model';\nimport { ProductTypeEnum } from 'src/app/profile/models/product-type.enum';\n\n@Component({\n selector: 'lps-operation-type-filter',\n templateUrl: './operation-type-filter.component.html',\n styleUrls: ['./operation-type-filter.component.scss']\n})\nexport class OperationTypeFilterComponent implements OnInit, AfterViewInit {\n\n @Output() operationChange = new EventEmitter();\n @Output() productTypesChange = new EventEmitter();\n @Input() operation: DealTypeEnum;\n @Input() panel: FilterPanel;\n @Input() productTypes: ProductTypeEnum[];\n @Input() options: CheckboxListItem[] = [\n {\n checked: false,\n value: ProductTypeEnum.RealEstateParent,\n label: 'Lançamento'\n },\n {\n checked: false,\n value: ProductTypeEnum.RealState,\n label: 'Pronto'\n }\n ];\n\n saleOperation: OperationType = {\n label: 'Compra',\n value: DealTypeEnum.Sale,\n };\n\n rentOperation: OperationType = {\n label: 'Aluguel',\n value: DealTypeEnum.Rent,\n };\n\n originalPanelName = '';\n panelHandler: FilterPanelHandler;\n\n // tslint:disable-next-line: variable-name\n private _productTypes: ProductTypeEnum[];\n\n constructor(\n public googleAnalyticsEventManager: HomeSearchFiltersAnalyticsHandler\n ) {}\n\n ngOnInit() {\n if (this.panel) {\n this.panelHandler = new FilterPanelHandler(this.panel);\n this.originalPanelName = this.panel.name;\n }\n\n if (this.productTypes && this.productTypes.length > 0) {\n this.options.forEach((o) => {\n o.checked = this.productTypes.some(value => value === o.value);\n });\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => this.setPanelHeader(), 0);\n }\n\n changeOperation(operation: DealTypeEnum) {\n let eventLabel;\n this.operation = operation;\n this.operationChange.emit(operation);\n\n if (operation === DealTypeEnum.Rent) {\n eventLabel = 'alugar';\n this.options.forEach((o) => {\n o.checked = false;\n });\n } else {\n const selectedOptions = this.joinSelectedProductTypes();\n eventLabel = !selectedOptions ? 'comprar' : `comprar/${selectedOptions}`;\n }\n\n this.googleAnalyticsEventManager.sendEvent(`tipo-transacao:${eventLabel}`);\n this.productTypes = [];\n this.setPanelHeader();\n }\n\n joinSelectedProductTypes() {\n return this.options\n .filter(option => option.checked)\n .map(option => option.value)\n .map(this.translateProductType)\n .join('/');\n }\n\n translateProductType(value) {\n return value === ProductTypeEnum.RealEstateParent ? 'lancamento' : 'pronto';\n }\n\n selectStage(opt: CheckboxListItem, checked: boolean) {\n opt.checked = checked;\n if (checked) {\n this.operation = DealTypeEnum.Sale;\n this.operationChange.emit(this.operation);\n }\n\n this.productTypes = this.options\n .filter(option => option.checked)\n .map(option => option.value);\n let eventLabel;\n\n if (this.operation === DealTypeEnum.Rent) {\n eventLabel = 'alugar';\n if (checked) {\n this.operation = DealTypeEnum.Sale;\n this.operationChange.emit(this.operation);\n }\n } else {\n const selectedOptions = this.joinSelectedProductTypes();\n eventLabel = !selectedOptions ? 'comprar' : `comprar/${selectedOptions}`;\n }\n this.productTypesChange.emit(this.productTypes);\n this.googleAnalyticsEventManager.sendEvent(`tipo-transacao:${eventLabel}`);\n this.setPanelHeader();\n }\n\n setPanelHeader() {\n if (this.panel) {\n let count = 0;\n if (this.operation) {\n count = 1;\n }\n if (this.productTypes.length) {\n count += this.productTypes.length - 1;\n }\n this.panelHandler.setPanelHeader(\n `${this.originalPanelName}${count ? ` (${count})` : ''}`\n );\n }\n }\n}\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OperationTypeFilterComponent } from './operation-type-filter.component';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n FormsModule\n ],\n declarations: [ OperationTypeFilterComponent ],\n exports: [ OperationTypeFilterComponent ],\n})\nexport class OperationTypeFilterModule { }\n","
\n
\n \n
\n
\n\n\n \n Limpar Filtros\n \n\n","import { Component, Input, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { PropertyFilterGroup } from '../../model/property-type-group.model';\nimport { CheckboxListFilter } from '../checkbox-list-filter';\nimport { FormBuilder } from '@angular/forms';\nimport { HomeSearchFiltersAnalyticsHandler } from '../../home-search-filters-analytics-handler';\nimport {\n ALLOTMENT_TYPE,\n APARTMENT_TYPE,\n CORPORATE_SLABS_TYPE,\n FLAT_TYPE, HALL_TYPE,\n HOTEL_TYPE,\n HOUSE_TYPE, MALL_TYPE, PARKING_TYPE, ROOM_TYPE, RURAL_TYPE,\n SHED_TYPE, TERRAIN_TYPE\n} from '../../const/property-type';\nimport { toKebabCase } from 'src/app/core/helpers/string.healper';\n\n@Component({\n selector: 'lps-property-type-filter',\n templateUrl: './property-type-filter.component.html'\n})\nexport class PropertyTypeFilterComponent extends CheckboxListFilter implements OnInit, OnChanges {\n\n public filters: any[] = [\n {\n groupName: 'Casa',\n options: HOUSE_TYPE\n },\n {\n groupName: 'Apartamento',\n options: APARTMENT_TYPE\n },\n {\n groupName: 'Flat',\n options: FLAT_TYPE\n },\n {\n groupName: 'Galpão',\n options: SHED_TYPE\n },\n {\n groupName: 'Hotel',\n options: HOTEL_TYPE\n },\n {\n groupName: 'Lajes corporativas',\n options: CORPORATE_SLABS_TYPE\n },\n {\n groupName: 'Loteamento',\n options: ALLOTMENT_TYPE\n },\n {\n groupName: 'Mall',\n options: MALL_TYPE\n },\n {\n groupName: 'Rural',\n options: RURAL_TYPE\n },\n {\n groupName: 'Salão',\n options: HALL_TYPE\n },\n {\n groupName: 'Salas',\n options: ROOM_TYPE\n },\n {\n groupName: 'Terreno',\n options: TERRAIN_TYPE\n },\n {\n groupName: 'Vagas',\n options: PARKING_TYPE\n }\n ].map(v => ({...v, options: v.options.map(o => ({...o, value: toKebabCase(o.value)}))}));\n\n @Input() propertyFilters: PropertyFilterGroup[];\n\n constructor( fb: FormBuilder, googleAnalyticsEventManager: HomeSearchFiltersAnalyticsHandler) {\n super(fb, googleAnalyticsEventManager);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.propertyFilters && changes.propertyFilters.isFirstChange()) {\n this.setFilters(this.propertyFilters);\n }\n }\n\n setFilters(propertyFilters) {\n this.filters = propertyFilters.map(v => ({ ...v, options: v.options.map(o => ({ ...o, value: toKebabCase(o.value) })) }));\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PropertyTypeFilterComponent } from './property-type-filter.component';\nimport { CheckboxListModule } from '../checkbox-list/checkbox-list.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CheckboxListModule\n ],\n declarations: [ PropertyTypeFilterComponent ],\n exports: [ PropertyTypeFilterComponent ],\n})\nexport class PropertyTypeFilterModule { }\n","
\n\n
\n\n
\n \n \n \n \n
\n\n \n \n \n \n
\n \n\n
\n
\n
\n \n {{errorMessage}}\n
\n
\n
\n\n \n\n\n","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output, Inject, PLATFORM_ID} from '@angular/core';\nimport {FormBuilder, FormGroup} from '@angular/forms';\nimport {isPlatformBrowser} from '@angular/common';\nimport {isNullOrUndefined} from 'util';\nimport {Subscription} from 'rxjs';\n\nexport interface MinMax {\n min: any;\n max: any;\n}\n\n@Component({\n selector: 'lps-range-input',\n templateUrl: './range-input.component.html'\n})\nexport class RangeInputComponent implements OnInit, OnDestroy {\n\n previousValues = {min: '', max: ''};\n errorMessage = 'O mínimo não pode ser maior que o máximo';\n\n @Input() minId = 'min';\n @Input() maxId = 'max';\n @Input() minPrefix = '';\n @Input() maxPrefix = '';\n @Input() minPlaceholder = '';\n @Input() maxPlaceholder = '';\n @Input() mask = 'separator.0';\n @Input() value: MinMax = {min: '', max: ''};\n @Output() valueChange: EventEmitter = new EventEmitter();\n @Output() onBlur: EventEmitter = new EventEmitter();\n\n form: FormGroup;\n\n formSubscription = new Subscription();\n\n lock = true;\n isBrowser: boolean;\n\n constructor(\n private formBuilder: FormBuilder,\n @Inject(PLATFORM_ID) platformId: object\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit() {\n this.buildForm();\n this.listenValueChanges();\n }\n\n buildForm(): void {\n this.form = this.formBuilder.group(\n {\n min: [this.value.min],\n max: [this.value.max]\n },\n {\n validators: this.lesserThan,\n updateOn: 'blur'\n }\n );\n }\n\n listenValueChanges(): void {\n this.formSubscription = this.form.valueChanges.subscribe((v) => {\n if (this.form.valid) {\n this.valueChange.emit(v);\n } else {\n this.valueChange.emit({ ...v, error: true});\n }\n });\n }\n\n removeError() {\n this.form.errors && (this.form.errors.notLesserThan = false);\n }\n\n ngOnDestroy() {\n if (this.formSubscription) {\n this.formSubscription.unsubscribe();\n }\n }\n\n unset({ target }) {\n const iOS = this.isBrowser && !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);\n iOS && this.lock && target.blur();\n this.lock = false;\n }\n\n lesserThan = (group: FormGroup) => {\n const min = Number(group.get('min').value);\n let max = Number(group.get('max').value);\n if (group.get('max').value === '') {\n max = null;\n }\n if (!isNullOrUndefined(min) && !isNullOrUndefined(max)) {\n return max >= min ? null : {notLesserThan: true};\n }\n return null;\n }\n\n isPositive($event: KeyboardEvent) {\n return $event.key !== '-';\n }\n\n blur(field: string) {\n const value = this.form.get(field).value;\n const previousValue = this.previousValues[field];\n if (previousValue !== value) {\n const blurEvent = this.createBlurEventWith(field, value);\n this.onBlur.emit(blurEvent);\n }\n this.previousValues[field] = value;\n }\n\n createBlurEventWith(field: string, value: string): BlurEvent {\n return {\n field,\n value,\n error: {\n hasError: this.form.errors ? this.form.errors.notLesserThan : false,\n message: this.errorMessage.toLowerCase().replace(/ /g, '-')\n }\n };\n }\n}\n\ninterface BlurEvent {\n field: string;\n value: string;\n error: BlurEventError;\n}\n\ninterface BlurEventError {\n hasError: boolean;\n message: string;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { RangeInputComponent } from './range-input.component';\nimport { NgxMaskModule } from 'ngx-mask';\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n ReactiveFormsModule,\n NgxMaskModule\n ],\n declarations: [ RangeInputComponent ],\n exports: [ RangeInputComponent ],\n})\nexport class RangeInputModule { }\n","import { AfterViewInit, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, Directive } from '@angular/core';\nimport {FilterPanelHandler} from '../model/filter-panel-handler.model';\nimport {FilterPanel} from '../model/filter-panel.model';\nimport {DecimalPipe} from '@angular/common';\nimport {HomeSearchFiltersAnalyticsHandler} from '../home-search-filters-analytics-handler';\nimport { MinMax, RangeInputComponent } from './range-input/range-input.component';\n\n@Directive()\nexport class RangeTypeFilter implements OnInit, AfterViewInit {\n\n @ViewChild('clearTemplate') clearTemplate: TemplateRef;\n @ViewChild('rangeInput') rangeFilter: RangeInputComponent;\n\n @Input() panel: FilterPanel;\n\n @Input() value: MinMax = {min: '', max: ''};\n @Output() valueChange: EventEmitter = new EventEmitter();\n @Output() cleanValue: EventEmitter = new EventEmitter();\n\n originalPanelName = '';\n panelHandler: FilterPanelHandler;\n\n constructor(\n private googleAnalyticsEventManager: HomeSearchFiltersAnalyticsHandler\n ) {}\n\n ngOnInit() {\n this.panelHandler = new FilterPanelHandler(this.panel);\n this.originalPanelName = this.panel.name;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.panelHandler.setPanelExtraTemplate(this.clearTemplate);\n this.setPanelHeader();\n }, 0);\n }\n\n cleanFilter(evt: MouseEvent) {\n evt.stopPropagation();\n this.rangeFilter.form.reset({min: '', max: ''});\n this.cleanValue.emit(this.value);\n }\n\n emit(v: MinMax) {\n this.value = v;\n this.valueChange.emit(v);\n this.setPanelHeader();\n }\n\n setPanelHeader() {\n const suffix = this.rangeFilter.maxPrefix;\n const decimalPipe = new DecimalPipe('pt-BR');\n const minStr = decimalPipe.transform(this.value.min, '') || '';\n const maxStr = decimalPipe.transform(this.value.max, '') || '';\n\n this.panelHandler.setPanelHeader(\n this.getValue(suffix, minStr, maxStr)\n );\n }\n\n getValue(suffix: string, minStr: string, maxStr: string): string {\n const label = this.originalPanelName;\n\n if (!this.hasValue()) {\n return label;\n }\n\n if (!minStr) {\n return `${label} máx. ${suffix} ${maxStr}`;\n }\n\n if (!maxStr) {\n return `${label} mín. ${suffix} ${minStr}`;\n }\n\n return `${label} ${suffix} (${minStr} - ${maxStr})`;\n }\n\n hasValue(): boolean {\n return !!(this.value.min || this.value.max);\n }\n\n sendEvent(fieldName: string, blurEvent: any): void {\n const field = `${fieldName}-${blurEvent.field}`;\n\n this.googleAnalyticsEventManager.sendEvent(`${field}:${blurEvent.value}`);\n\n if (blurEvent.error.hasError) {\n this.googleAnalyticsEventManager.sendEvent(`${field}:${blurEvent.error.message}`);\n }\n }\n}\n","
\n\n \n\n
\n\n\n \n Limpar Filtros\n \n\n\n","import { Component } from '@angular/core';\nimport {RangeTypeFilter} from '../range-type-filter';\n\n@Component({\n selector: 'lps-value-type-filter',\n templateUrl: './value-type-filter.component.html',\n styleUrls: ['./value-type-filter.component.scss']\n})\nexport class ValueTypeFilterComponent extends RangeTypeFilter {\n\n mask = 'separator.2';\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ValueTypeFilterComponent } from './value-type-filter.component';\nimport { RangeInputModule } from '../range-input/range-input.module';\n\n@NgModule({\n imports: [\n CommonModule,\n RangeInputModule\n ],\n declarations: [ ValueTypeFilterComponent ],\n exports: [ ValueTypeFilterComponent ],\n})\nexport class ValueTypeFilterModule { }\n","import { CheckboxListItem } from '../components/checkbox-list/model/checkbox-list-item.model';\n\n\nexport const LETTER_A: CheckboxListItem[] = [\n {label: 'Academia de ginástica', value: 'academia'},\n {label: 'Acesso à internet', value: 'Acesso à internet'},\n {label: 'Acesso para deficientes físicos', value: 'Acesso para deficientes físicos'},\n {label: 'Adega / champagnerie', value: 'Adega / champagnerie'},\n {label: 'Antena parabólica', value: 'Antena parabólica'},\n {label: 'Aquecedor central', value: 'Aquecedor central'},\n {label: 'Ar-condicionado', value: 'Ar-condicionado'},\n {label: 'Arborismo', value: 'Arborismo'},\n {label: 'Arborização de ruas', value: 'Arborização de ruas'},\n {label: 'Área de lazer', value: 'Área de lazer'},\n {label: 'Área verde', value: 'Área verde\t\t'},\n {label: 'Armário embutido', value: 'Armário embutido'},\n {label: 'Arvorismo', value: 'Arvorismo'},\n {label: 'Ateliê', value: 'Ateliê'},\n {label: 'Auditório', value: 'Auditório'},\n];\n\nexport const LETTER_B: CheckboxListItem[] = [\n {label: 'Banheira/hidromassagem', value: 'Banheira/hidromassagem'},\n {label: 'Bar', value: 'Bar'},\n {label: 'Bicicletário', value: 'Bicicletário'},\n {label: 'Biribol', value: 'Biribol'},\n {label: 'Bocha', value: 'Bocha'},\n {label: 'Brinquedoteca', value: 'Brinquedoteca'},\n];\n\nexport const LETTER_C: CheckboxListItem[] = [\n {label: 'Cafeteria', value: 'Cafeteria'},\n {label: 'Calçada gramada', value: 'Calçada gramada'},\n {label: 'Campo de futebol', value: 'Campo de futebol'},\n {label: 'Campo de golf', value: 'Campo de golf'},\n {label: 'Car wash', value: 'Car wash'},\n {label: 'Casa da árvore', value: 'Casa da árvore'},\n {label: 'Centro comercial', value: 'Centro comercial'},\n {label: 'Centro de conveniência', value: 'Centro de conveniência'},\n {label: 'Chafariz', value: 'Chafariz'},\n {label: 'Child care', value: 'Child care'},\n {label: 'Chimarródromo', value: 'Chimarródromo'},\n {label: 'Churrasqueira', value: 'Churrasqueira'},\n {label: 'Ciclovia', value: 'Ciclovia'},\n {label: 'Cinema', value: 'Cinema'},\n {label: 'Closet', value: 'Closet'},\n {label: 'Clube', value: 'Clube'},\n {label: 'Concierge', value: 'Concierge'},\n {label: 'Copa', value: 'Copa'},\n {label: 'Cozinha americana', value: 'Cozinha americana'},\n {label: 'Cozinha mobiliada', value: 'Cozinha mobiliada'},\n];\n\nexport const LETTER_D: CheckboxListItem[] = [\n {label: 'Deck', value: 'Deck'},\n {label: 'Dependência de empregados', value: 'Dependência de empregados'},\n {label: 'Depósito', value: 'Depósito'},\n {label: 'Despensa', value: 'Despensa'},\n {label: 'Detector de incêndio', value: 'Detector de incêndio'},\n {label: 'Duplex', value: 'Duplex'},\n];\n\nexport const LETTER_E: CheckboxListItem[] = [\n {label: 'Elevador', value: 'Elevador'},\n {label: 'Escada rolante', value: 'Escada rolante'},\n {label: 'Espaço gourmet', value: 'Espaço gourmet'},\n {label: 'Espaço zen', value: 'Espaço zen'},\n {label: 'Estacionamento rotativo', value: 'Estacionamento rotativo'},\n];\n\nexport const LETTER_F: CheckboxListItem[] = [\n {label: 'Fibra ótica', value: 'Fibra ótica'},\n {label: 'Fitness', value: 'Fitness'},\n {label: 'Forno para pizza', value: 'Forno para pizza'},\n {label: 'Forro rebaixado', value: 'Forro rebaixado'},\n {label: 'Frente para o mar', value: 'Frente para o mar'},\n];\n\nexport const LETTER_G: CheckboxListItem[] = [\n {label: 'Garage band', value: 'Garage band'},\n {label: 'Garage band / danceteria', value: 'Garage band / danceteria'},\n {label: 'Garagem', value: 'Garagem'},\n {label: 'Gazebo', value: 'Gazebo'},\n {label: 'Gerador', value: 'Gerador'},\n];\n\nexport const LETTER_H: CheckboxListItem[] = [\n {label: 'Hall', value: 'Hall'},\n {label: 'Heliponto', value: 'Heliponto'},\n {label: 'Home office', value: 'Home office'},\n {label: 'Horta', value: 'Horta'},\n {label: 'Horta comunitária', value: 'Horta comunitária'},\n];\n\nexport const LETTER_L: CheckboxListItem[] = [\n {label: 'Lago', value: 'Lago'},\n {label: 'Lan house', value: 'Lan house'},\n {label: 'Lareira', value: 'Lareira'},\n {label: 'Lavanderia', value: 'Lavanderia'},\n {label: 'Living', value: 'Living'},\n {label: 'Lounge', value: 'Lounge'},\n];\n\nexport const LETTER_M: CheckboxListItem[] = [\n {label: 'Massagem', value: 'Massagem'}\n];\n\nexport const LETTER_O: CheckboxListItem[] = [\n {label: 'Ofurô', value: 'Ofurô'},\n {label: 'Orquidário', value: 'Orquidário'},\n];\n\nexport const LETTER_P: CheckboxListItem[] = [\n {label: 'Parede de escalada', value: 'Parede de escalada'},\n {label: 'Pay-per-use', value: 'Pay-per-use'},\n {label: 'Pérgola', value: 'Pérgola'},\n {label: 'Pet care', value: 'Pet care'},\n {label: 'Piscina', value: 'Piscina'},\n {label: 'Piscina adulto coberta', value: 'Piscina adulto coberta'},\n {label: 'Piscina adulto descoberta', value: 'Piscina adulto descoberta'},\n {label: 'Piscina coberta', value: 'Piscina coberta'},\n {label: 'Piscina com raia', value: 'Piscina com raia'},\n {label: 'Piscina descoberta', value: 'Piscina descoberta'},\n {label: 'Piscina infantil coberta', value: 'Piscina infantil coberta'},\n {label: 'Piscina infantil descoberta', value: 'Piscina infantil descoberta'},\n {label: 'Piso elevado', value: 'Piso elevado'},\n {label: 'Pista de skate', value: 'Pista de skate'},\n {label: 'Playground', value: 'Playground'},\n {label: 'Pomar', value: 'Pomar'},\n {label: 'Port cochère', value: 'Port cochère'},\n {label: 'Portaria', value: 'Portaria'},\n {label: 'Praça', value: 'Praça'},\n];\n\nexport const LETTER_Q: CheckboxListItem[] = [\n {label: 'Quadra', value: 'Quadra'},\n {label: 'Quadra de areia', value: 'Quadra de areia'},\n {label: 'Quadra de futebol society', value: 'Quadra de futebol society'},\n {label: 'Quadra de squash', value: 'Quadra de squash'},\n {label: 'Quadra de tênis', value: 'Quadra de tênis'},\n {label: 'Quadra de volei', value: 'Quadra de volei'},\n {label: 'Quadra gramada', value: 'Quadra gramada'},\n {label: 'Quadra poliesportiva', value: 'Quadra poliesportiva'},\n {label: 'Quintal', value: 'Quintal'},\n];\n\nexport const LETTER_R: CheckboxListItem[] = [\n {label: 'Redário', value: 'Redário'},\n {label: 'Rede de água', value: 'Rede de água'},\n {label: 'Rede de energia elétrica', value: 'Rede de energia elétrica'},\n {label: 'Restaurante', value: 'Restaurante'},\n {label: 'Rua asfaltada', value: 'Rua asfaltada'},\n];\n\nexport const LETTER_S: CheckboxListItem[] = [\n {label: 'Sala de artes marciais / luta', value: 'Sala de artes marciais / luta'},\n {label: 'Sala de cinema', value: 'Sala de cinema'},\n {label: 'Sala de convenção', value: 'Sala de convenção'},\n {label: 'Sala de leitura', value: 'Sala de leitura'},\n {label: 'Sala de massagem', value: 'Sala de massagem'},\n {label: 'Sala de música', value: 'Sala de música'},\n {label: 'Sala de reuniões', value: 'Sala de reuniões'},\n {label: 'Sala de spinning', value: 'Sala de spinning'},\n {label: 'Sala de yoga / pilates', value: 'Sala de yoga / pilates'},\n {label: 'Salão de beleza', value: 'Salão de beleza'},\n {label: 'Salão de festas', value: 'Salão de festas'},\n {label: 'Salão de festas adulto', value: 'Salão de festas adulto'},\n {label: 'Salão de festas infantil', value: 'Salão de festas infantil'},\n {label: 'Salão de jogos', value: 'Salão de jogos'},\n {label: 'Salão de jogos adulto', value: 'Salão de jogos adulto'},\n {label: 'Salão de jogos infantil', value: 'Salão de jogos infantil'},\n {label: 'Salão de jogos juvenil', value: 'Salão de jogos juvenil'},\n {label: 'Salão de recreação', value: 'Salão de recreação'},\n {label: 'Sauna', value: 'Sauna'},\n {label: 'Sede social', value: 'Sede social'},\n {label: 'Segurança', value: 'Segurança'},\n {label: 'Serviços', value: 'Serviços'},\n {label: 'Shaft de telecomunicações', value: 'Shaft de telecomunicações'},\n {label: 'Solarium', value: 'Solarium'},\n {label: 'Sótão', value: 'Sótão'},\n {label: 'Spa', value: 'Spa'},\n {label: 'Spiribol', value: 'Spiribol'},\n {label: 'Street ball', value: 'Street ball'},\n];\n\nexport const LETTER_T: CheckboxListItem[] = [\n {label: 'Teatro', value: 'Teatro'},\n {label: 'Terraço', value: 'Terraço'},\n {label: 'Trilha / pista de caminhada', value: 'Trilha / pista de caminhada'},\n {label: 'Triplex', value: 'Triplex'},\n];\n\nexport const LETTER_V: CheckboxListItem[] = [\n {label: 'Vaga de visitante', value: 'Vaga de visitante'},\n {label: 'Varanda gourmet', value: 'Varanda gourmet'},\n {label: 'Vestiário', value: 'Vestiário'},\n {label: 'Vestiário para funcionários', value: 'Vestiário para funcionários'},\n {label: 'Vila hípica', value: 'Vila hípica'},\n];\n","\nimport { DivisionTypeEnum } from 'src/app/profile/enums/division-type.enum';\n\nimport { CheckboxListItem } from '../components/checkbox-list/model/checkbox-list-item.model';\n\nexport const APARTMENT_TYPE: CheckboxListItem[] = [\n {\n label: 'Apartamento',\n value: 'Apartamento',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Cobertura',\n value: 'Cobertura',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Duplex',\n value: 'Duplex',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Loft',\n value: 'Loft',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Penthouse',\n value: 'Penthouse',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Studio',\n value: 'Studio',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Garden',\n value: 'Garden',\n group: DivisionTypeEnum.Apartment\n },\n {\n label: 'Triplex',\n value: 'Triplex',\n group: DivisionTypeEnum.Apartment\n },\n];\n\nexport const HOUSE_TYPE: CheckboxListItem[] = [\n {\n label: 'Casa',\n value: 'Casa',\n group: DivisionTypeEnum.House\n },\n {\n label: 'Casa de Vila',\n value: 'Casa de Vila',\n group: DivisionTypeEnum.House\n },\n {\n label: 'Casa Térrea',\n value: 'Casa Térrea',\n group: DivisionTypeEnum.House\n },\n {\n label: 'Casa Condomínio',\n value: 'Casa Condomínio',\n group: DivisionTypeEnum.House\n },\n {\n label: 'Sobrado',\n value: 'Sobrado',\n group: DivisionTypeEnum.House\n },\n {\n label: 'Villagio',\n value: 'Villagio',\n group: DivisionTypeEnum.House\n },\n];\n\nexport const FLAT_TYPE: CheckboxListItem[] = [\n {\n label: 'Flat',\n value: 'Flat',\n group: DivisionTypeEnum.Flat\n }\n];\n\nexport const SHED_TYPE: CheckboxListItem[] = [\n {\n label: 'Galpão',\n value: 'Galpão',\n group: DivisionTypeEnum.Warehouse\n },\n {\n label: 'Barracão',\n value: 'Barracão',\n group: DivisionTypeEnum.Warehouse\n }\n];\n\nexport const HOTEL_TYPE: CheckboxListItem[] = [\n {\n label: 'Hotel',\n value: 'Hotel',\n group: DivisionTypeEnum.Hotel\n }\n];\n\nexport const CORPORATE_SLABS_TYPE: CheckboxListItem[] = [\n {\n label: 'Lajes corporativas',\n value: 'Lajes corporativas',\n group: DivisionTypeEnum.Slab\n }\n];\n\nexport const ALLOTMENT_TYPE: CheckboxListItem[] = [\n {\n label: 'Loteamento',\n value: 'Loteamento',\n group: DivisionTypeEnum.Allotment\n }\n];\n\nexport const MALL_TYPE: CheckboxListItem[] = [\n {\n label: 'Loja',\n value: 'Loja',\n group: DivisionTypeEnum.Mall\n },\n {\n label: 'Mall',\n value: 'Mall',\n group: DivisionTypeEnum.Mall\n }\n];\n\nexport const RURAL_TYPE: CheckboxListItem[] = [\n {\n label: 'Rural',\n value: 'Rural',\n group: DivisionTypeEnum.Rural\n },\n {\n label: 'Chácara',\n value: 'Chácara',\n group: DivisionTypeEnum.Rural\n },\n {\n label: 'Fazenda',\n value: 'Fazenda',\n group: DivisionTypeEnum.Rural\n },\n {\n label: 'Sítio',\n value: 'Sítio',\n group: DivisionTypeEnum.Rural\n },\n];\n\nexport const HALL_TYPE: CheckboxListItem[] = [\n {\n label: 'Salão Comercial',\n value: 'Salão Comercial',\n group: DivisionTypeEnum.Salon\n }\n];\n\nexport const ROOM_TYPE: CheckboxListItem[] = [\n {\n label: 'Salas Comerciais',\n value: 'Salas comerciais',\n group: DivisionTypeEnum.Office\n },\n {\n label: 'Prédio inteiro',\n value: 'Prédio inteiro',\n group: DivisionTypeEnum.Office\n }\n];\n\nexport const TERRAIN_TYPE: CheckboxListItem[] = [\n {\n label: 'Terreno',\n value: 'Terreno',\n group: DivisionTypeEnum.Land\n }\n];\n\nexport const PARKING_TYPE: CheckboxListItem[] = [\n {\n label: 'Vaga de garagem',\n value: 'Vaga de garagem',\n group: DivisionTypeEnum.ParkingLot\n }\n];\n\nexport const DIVISION_TYPE_UNITS = [\n ...APARTMENT_TYPE,\n ...HOUSE_TYPE,\n ...FLAT_TYPE,\n ...SHED_TYPE,\n ...HOTEL_TYPE,\n ...CORPORATE_SLABS_TYPE,\n ...ALLOTMENT_TYPE,\n ...MALL_TYPE,\n ...RURAL_TYPE,\n ...HALL_TYPE,\n ...ROOM_TYPE,\n ...TERRAIN_TYPE\n]\n","\nimport {Injectable} from '@angular/core';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { EventType } from '../../enums/event-type.enum';\nimport { EventCategory } from '../../enums/event-category.enum';\nimport { EventAction } from '../../enums/event-action.enum';\nimport { GenericEvent } from './model/generic-event.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HomeSearchFiltersAnalyticsHandler {\n\n constructor(private readonly googleTagManagerService: GoogleTagManagerService) {}\n\n sendEvent(eventLabel: string): void {\n this.googleTagManagerService.pushTag({\n event: EventType.Event,\n eventCategory: EventCategory.SearchEngine,\n eventAction: EventAction.SearchFilterInteraction,\n eventLabel: `preencheu-${eventLabel}`\n } as GenericEvent);\n }\n\n}\n","export enum DealTypeEnum {\n Sale = 'sale',\n Rent = 'rent',\n RealStateParent = 'real_estate_parent', // to lancamento on search url\n}\n","import {FilterPanel} from './filter-panel.model';\nimport {TemplateRef} from '@angular/core';\n\nexport class FilterPanelHandler {\n panel: FilterPanel;\n\n constructor(panel: FilterPanel) {\n this.panel = panel;\n }\n\n setPanelHeader(text: string) {\n this.panel.name = text;\n }\n\n setPanelExtraTemplate(templateRef: TemplateRef) {\n this.panel.extraTemplate = templateRef;\n }\n}\n","
\n
\n \n\n \n\n
\n\n
\n \n \n
\n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n
\n \n \n
\n\n
\n\n \n
\n\n\n
\n","import {FormBuilder, FormGroup} from '@angular/forms';\nimport {\n Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges\n} from '@angular/core';\n\nimport {FilterPanel} from './model/filter-panel.model';\nimport {FilterValue} from './model/filter-value.model';\nimport {DealTypeEnum} from './model/deal-type.enum';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {SearchFilterService} from './search-filter.service';\nimport {PropertyFilterGroup} from './model/property-type-group.model';\nimport { getE } from 'src/app/core/helpers/object.helper';\nimport { ProductTypeEnum } from '../../models/product-type.enum';\n\n@Component({\n selector: 'lps-search-filter',\n templateUrl: './search-filter.component.html',\n styleUrls: ['./search-filter.component.scss'],\n})\nexport class SearchFilterComponent implements OnInit, OnChanges {\n\n @Input() value: FilterValue;\n @Input() theme?: string;\n @Input() showOperationType: boolean;\n @Output() valueChange: EventEmitter = new EventEmitter();\n\n form: FormGroup;\n errorsOnForm: any = [];\n isMobile: boolean;\n propertyFilters: PropertyFilterGroup[] = [];\n\n panels: FilterPanel[] = [\n {\n id: 'operation',\n active: false,\n name: 'Tipo de transação',\n disabled: false,\n groupingName: 'tipo-de-transacao'\n },\n {\n id: 'type',\n active: false,\n name: 'Tipo do imóvel',\n disabled: false,\n groupingName: 'tipo-do-imovel'\n },\n {\n id: 'characteristics',\n active: false,\n disabled: false,\n name: 'Características do imóvel',\n groupingName: 'caracteristicas-do-imovel'\n },\n {\n id: 'area',\n active: false,\n disabled: false,\n name: 'Área'\n },\n {\n id: 'value',\n active: false,\n disabled: false,\n name: 'Valor'\n },\n {\n id: 'moreFilters',\n active: false,\n disabled: false,\n name: 'Outros filtros',\n groupingName: 'outros-filtros'\n }\n ];\n\n constructor(\n private formBuilder: FormBuilder,\n public breakPoint: BreakpointObserver,\n private searchFilterService: SearchFilterService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.theme?.firstChange) {\n this.setTheme();\n }\n\n this.propertyFilters = this.searchFilterService.getPropertyTypes();\n }\n\n setTheme() {\n this.searchFilterService.theme = this.theme;\n }\n\n ngOnInit() {\n\n this.form = this.formBuilder.group({\n dealType: [getE(this.value, 'dealType', DealTypeEnum.Sale)],\n productTypes: [getE(this.value, 'productTypes', [ProductTypeEnum.RealEstateParent, ProductTypeEnum.RealState])],\n area: [getE(this.value, 'area', {min: '', max: ''})],\n characteristics: [getE(this.value, 'characteristics', [])],\n moreFilters: [getE(this.value, 'moreFilters', [])],\n propertyTypes: [getE(this.value, 'propertyTypes', [])],\n value: [getE(this.value, 'value', {min: '', max: ''})],\n });\n\n this.breakPoint.observe(['(max-width: 768px)'])\n .subscribe((state) => {\n this.isMobile = state.matches;\n });\n }\n\n setFormValue(key: string, value: any) {\n if (value.error) {\n this.errorsOnForm.push(key);\n } else {\n const control = this.form.get(key);\n this.errorsOnForm = this.errorsOnForm.filter(error => error !== key);\n if (control) {\n control.setValue(value);\n }\n }\n }\n\n cleanValue(key: string, value: any) {\n this.setFormValue(key, value);\n }\n\n emit() {\n const value = this.form.getRawValue();\n this.valueChange.emit(value);\n }\n\n setDealType(dealType: DealTypeEnum) {\n if (dealType === DealTypeEnum.Rent) {\n this.form.controls.productTypes.setValue([]);\n }\n this.setFormValue('dealType', dealType);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SearchFilterComponent } from './search-filter.component';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { OperationTypeFilterModule } from './components/operation-type-filter/operation-type-filter.module';\nimport { PropertyTypeFilterModule } from './components/property-type-filter/property-type-filter.module';\nimport { CharacteristicsTypeFilterModule } from './components/characteristics-type-filter/characteristics-type-filter.module';\nimport { AreaTypeFilterModule } from './components/area-type-filter/area-type-filter.module';\nimport { ValueTypeFilterModule } from './components/value-type-filter/value-type-filter.module';\nimport { MoreTypeFilterModule } from './components/more-type-filter/more-type-filter.module';\nimport {SearchFilterService} from './search-filter.service';\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n OperationTypeFilterModule,\n PropertyTypeFilterModule,\n CharacteristicsTypeFilterModule,\n AreaTypeFilterModule,\n ValueTypeFilterModule,\n MoreTypeFilterModule\n ],\n declarations: [ SearchFilterComponent ],\n exports: [ SearchFilterComponent ],\n providers: [SearchFilterService]\n})\nexport class SearchFilterModule { }\n","import {Injectable} from '@angular/core';\nimport {\n ALLOTMENT_TYPE,\n APARTMENT_TYPE,\n CORPORATE_SLABS_TYPE,\n FLAT_TYPE, HALL_TYPE,\n HOTEL_TYPE,\n HOUSE_TYPE, MALL_TYPE, ROOM_TYPE, RURAL_TYPE,\n SHED_TYPE, TERRAIN_TYPE\n} from './const/property-type';\nimport {PropertyFilterGroup} from './model/property-type-group.model';\nimport { FeatureToggleService } from 'src/app/core/toggle/feature-toggle.service';\nimport { toKebabCase } from 'src/app/core/helpers/string.healper';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchFilterService {\n\n theme: string;\n\n constructor(public toggleService: FeatureToggleService) {}\n\n getPropertyTypes(): PropertyFilterGroup[] {\n return this.theme === 'campaign_search' ? this.getCampaignSearchFilters() : this.getSearchFilters();\n }\n\n getCampaignSearchFilters(): PropertyFilterGroup[] {\n return [\n {\n groupName: 'Casa',\n options: this.toggleService.isActive('toggle_view_sobrado') ? HOUSE_TYPE : HOUSE_TYPE.filter(value => value.label !== 'Sobrado')\n },\n {\n groupName: 'Apartamento',\n options: APARTMENT_TYPE\n },\n {\n groupName: 'Flat',\n options: FLAT_TYPE\n }\n ].map(v => ({...v, options: v.options.map(o => ({...o, value: toKebabCase(o.value)}))}));\n }\n\n getSearchFilters(): PropertyFilterGroup[] {\n return [\n {\n groupName: 'Casa',\n options: this.toggleService.isActive('toggle_view_sobrado') ? HOUSE_TYPE : HOUSE_TYPE.filter(value => value.label !== 'Sobrado')\n },\n {\n groupName: 'Apartamento',\n options: APARTMENT_TYPE\n },\n {\n groupName: 'Flat',\n options: FLAT_TYPE\n },\n {\n groupName: 'Galpão',\n options: SHED_TYPE\n },\n {\n groupName: 'Hotel',\n options: HOTEL_TYPE\n },\n {\n groupName: 'Lajes corporativas',\n options: CORPORATE_SLABS_TYPE\n },\n {\n groupName: 'Loteamento',\n options: ALLOTMENT_TYPE\n },\n {\n groupName: 'Mall',\n options: MALL_TYPE\n },\n {\n groupName: 'Rural',\n options: RURAL_TYPE\n },\n {\n groupName: 'Salão',\n options: HALL_TYPE\n },\n {\n groupName: 'Salas',\n options: ROOM_TYPE\n },\n {\n groupName: 'Terreno',\n options: TERRAIN_TYPE\n }\n ].map(v => ({...v, options: v.options.map(o => ({...o, value: toKebabCase(o.value)}))}));\n }\n}\n","\n \n \n \n \n \n {{(order$ | async)?.label || 'Ordenar'}}\n \n\n\n\n
\n \n \n {{orderType.label}}\n \n \n
\n
\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {SearchOrder} from './model/search-order.model';\n\n@Component({\n selector: 'lps-search-order',\n templateUrl: './search-order.component.html',\n styleUrls: ['./search-order.component.scss']\n})\nexport class SearchOrderComponent implements OnInit {\n\n @Input() order: SearchOrder;\n @Input() notMarginRight: boolean;\n @Output() orderChange = new EventEmitter();\n\n order$: BehaviorSubject;\n\n orderTypes: SearchOrder[] = [\n {\n label: 'Relevância',\n value: null,\n direction: null,\n },\n {\n label: 'Menor valor',\n value: 'PRICE',\n direction: 'ASC',\n },\n {\n label: 'Maior valor',\n value: 'PRICE',\n direction: 'DESC',\n },\n {\n label: 'Data de atualização',\n value: 'UPDATED_AT',\n direction: 'DESC',\n },\n {\n label: 'Área do imóvel',\n value: 'AREA',\n direction: 'DESC',\n }\n ];\n\n ngOnInit() {\n this.order$ = new BehaviorSubject(this.order || null);\n }\n\n changeOrder(order: SearchOrder) {\n this.order = order;\n this.order$.next(this.order);\n this.orderChange.emit(this.order);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { SearchOrderComponent } from './search-order.component';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [ SearchOrderComponent ],\n imports: [\n CommonModule,\n NgZorroAntdModule,\n FormsModule\n ],\n exports: [ SearchOrderComponent ],\n})\nexport class SearchOrderModule { }\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lps-skeleton-product-card',\n templateUrl: './skeleton-product-card.component.html',\n styleUrls: ['./skeleton.scss', './skeleton-product-card.component.scss']\n})\nexport class SkeletonProductCardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkeletonProductCardComponent } from './skeleton-product-card.component';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [ SkeletonProductCardComponent ],\n exports: [ SkeletonProductCardComponent ],\n})\nexport class SkeletonProductCardModule { }\n","import {Directive, Input, NgModule} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Directive({\n // tslint:disable: directive-selector\n selector: 'img[default]',\n host: {\n '(error)': 'updateUrl()',\n '[src]': 'src',\n '[attr.usedefault]': 'usedefault'\n }\n})\n\nexport class ImagePreloadDirective {\n @Input() src: string;\n @Input() default: string;\n @Input() usedefault: boolean;\n\n\n updateUrl() {\n this.src = this.default || '/assets/imgs/commons/image-default.png';\n this.usedefault = true;\n }\n}\n\n@NgModule({\n imports: [ CommonModule ],\n declarations: [ ImagePreloadDirective ],\n exports: [ ImagePreloadDirective ]\n})\nexport class ImagePreloadDirectiveModule { }\n","export enum DivisionTypeEnum {\nApartment = 'APARTMENT',\nHouse = 'HOUSE',\nWarehouse = 'WAREHOUSE',\nHotel = 'HOTEL',\nSlab = 'SLAB',\nAllotment = 'ALLOTMENT',\nMall = 'MALL',\nRural = 'RURAL',\nSalon = 'SALON',\nLand = 'LAND',\nOffice = 'OFFICE',\nParkingLot = 'PARKING_LOT',\nFlat = 'FLAT'\n}\n","export enum EventAction {\n HeaderClick = 'clique:header',\n ErrorPage = 'erro:pagina',\n ErrorModal = 'erro:modal',\n ErrorLeadForm = 'erro:fale-corretor',\n UserRegisterSuccessCallback = 'callback:cadastro',\n UserRegisterRequestSuccessCallback = 'callback:requisicao-cadastro',\n ContactUsSuccessCallback = 'callback:fale-conosco',\n CalculatorSuccessCallback = 'callback:calculadora',\n Clique = 'clique',\n Click = 'click',\n ButtonClick = 'clique:botao',\n FilterClick = 'clique:filtro',\n PostClick = 'clique:posts',\n CardClick = 'clique:card',\n AddToCart = 'addToCart',\n Checkout = 'checkout',\n Purchase = 'purchase',\n SearchFilterInteraction = 'interacao-filtros',\n HomeSearchFilterDealTypeInteraction = 'clique:tipo-busca',\n Login = 'callback:login',\n FooterClick = 'clique:footer',\n FranchiseProspectSuccessCallback = 'callback:franqueado',\n AdvertiseSuccessCallback = 'callback:anuncio',\n CardCarousel = 'interacao-carrossel-imagens'\n}\n","export enum EventCategory {\n Credentials = 'lopes:credenciais',\n General = 'lopes:geral',\n Home = 'lopes:home',\n Form = 'lopes:formulario',\n ProductLeadForm = 'lopes:ecommerce:fale-com-o-corretor',\n SearchEngine = 'lopes:motor-busca',\n ProductGrid = 'lopes:ecommerce:vitrine',\n Calculator = 'lopes:calculadora-potencial-compra',\n Product = 'lopes:imovel',\n SearchResult = 'lopes:resultado-busca'\n}\n","export enum EventType {\n PageView = 'vpageview-route',\n Global = 'global',\n Conversion = 'conversion',\n Event = 'event',\n AddToCart = 'addToCart',\n Checkout = 'checkout',\n Purchase = 'purchase',\n ProductClick = 'productClick',\n Login = 'login'\n}\n","export class ProductAttribute {\n constructor(\n public readonly type: string,\n public readonly name: string,\n public readonly value: string\n ) { }\n}\n\nexport enum AttributeIcon {\n Area = 'area_attr',\n Rooms = 'bedroom_attr',\n Bathroom = 'bathroom_attr',\n ParkingLots = 'parking_lots_attr',\n Stage = 'stage_attr',\n Suites = 'suite_attr'\n}\n","\nimport { DealTypeEnum } from '../components/search-filter/model/deal-type.enum';\nimport { ProductAttribute } from './attributes.model';\nimport {ProductAnalytics} from './product-analytics.model';\nimport { ProductPhoto } from './product-photo.model';\nimport { ProductTypeEnum } from './product-type.enum';\n\nexport interface LocationDTO {\n address: string;\n city: string;\n neighborhood: string;\n uf: string;\n zone?: string;\n number: string;\n}\n\nexport class ProductCard {\n public readonly imageAlternateText?: string;\n public readonly lat?: number;\n public readonly lng?: number;\n public readonly label?: string;\n public readonly type?: string;\n public readonly price?: string;\n public readonly subPrice?: string;\n public readonly priceFormat?: string;\n public readonly name?: string;\n public readonly street?: string;\n public readonly neighborhood?: string;\n public readonly attributes?: ProductAttribute[];\n public readonly geolocation?: { lat: number; lon: number; };\n\n public readonly id?: string;\n public readonly sku?: string;\n public readonly condominiumFee?: string;\n public readonly fullMonthlyPrice?: string;\n public readonly location?: string;\n public readonly locationDTO?: LocationDTO;\n public readonly rentalPrice?: string;\n public readonly sellingPrice?: string;\n public readonly divisionTypeName?: string;\n public readonly features?: string[];\n public readonly amenities?: string[];\n public readonly stage?: string;\n public readonly createdat?: string;\n public readonly photo?: ProductPhoto[];\n public readonly fullMonthlyPriceFormat?: string;\n public readonly rentalPriceFormat?: string;\n public readonly sellingPriceFormat?: string;\n public readonly productType?: ProductTypeEnum;\n public readonly dealType?: DealTypeEnum;\n public readonly dealTypes?: DealTypeEnum[];\n public readonly divisionUnitType?: string;\n public readonly analytics?: ProductAnalytics;\n public readonly tagCampaign?: string;\n public readonly tag?: string;\n\n constructor(\n data: any\n ) {\n\n this.lat = data.geolocation && data.geolocation.lat;\n this.lng = data.geolocation && (data.geolocation.lon || data.geolocation.lng);\n this.productType = data.product_type ? data.product_type : data.productType;\n this.divisionUnitType = data.division_unit_type ? data.division_unit_type : data.divisionUnitType;\n this.dealTypes = data.deal_types;\n Object.assign(this, data);\n\n }\n}\n","\nimport { EventType } from '../enums/event-type.enum';\nimport { EventCategory } from '../enums/event-category.enum';\nimport { EventAction } from '../enums/event-action.enum';\nimport { ProductAnalytics } from './product-analytics.model';\n\n\ninterface ClickEvent {\n products: ProductAnalytics[];\n}\n\ninterface EcommerceEvent {\n click: ClickEvent;\n}\n\nexport class ProductGridEvent {\n constructor(\n public event: EventType,\n public eventCategory: EventCategory,\n public eventAction: EventAction,\n public eventLabel: string,\n public noInteraction: string,\n public ecommerce: EcommerceEvent) {\n }\n\n public static forClick(eventLabel: string, productAnalytics: ProductAnalytics): ProductGridEvent {\n this.overrideEmptyString(productAnalytics);\n\n return {\n event: EventType.ProductClick,\n eventAction: EventAction.Click,\n eventCategory: EventCategory.ProductGrid,\n eventLabel,\n noInteraction: '1',\n ecommerce: {\n click: {\n products: [productAnalytics]\n }\n }\n };\n }\n\n private static overrideEmptyString(productAnalytics: ProductAnalytics) {\n for (const property in productAnalytics) {\n if (productAnalytics[property] === '') {\n productAnalytics[property] = undefined;\n }\n }\n }\n}\n","export enum ProductTypeEnum {\n RealState = 'real_estate',\n RealEstateParent = 'real_estate_parent'\n}\n","\nimport { uniqPrimitiveValues } from 'src/app/core/helpers/array.healper';\nimport { getE, pickBy } from 'src/app/core/helpers/object.helper';\nimport { DIVISION_TYPE_UNITS } from '../components/search-filter/const/property-type';\nimport { FieldValue } from '../components/search-filter/model/field-value.model';\nimport { FilterValue } from '../components/search-filter/model/filter-value.model';\nimport { SearchOrder } from '../components/search-order/model/search-order.model';\nimport { MapBounds } from './map-bounds.model';\nimport {ProductTypeEnum} from './product-type.enum';\n\nconst indexableFeatures = [\n 'academia',\n 'churrasqueira',\n 'piscina',\n 'mobiliado'\n];\n\ninterface LatLon {\n lat: number;\n lon: number;\n}\n\nexport class SearchFilter {\n bottomLeft: LatLon;\n topRight: LatLon;\n codes: string[];\n dealType: string; // required\n distance: number;\n features: string[];\n divisionTypes: string[];\n divisionUnitTypes: string[]; //\n maxArea: number; //\n maxPrice: number; //\n minArea: number; //\n minPrice: number; //\n productTypes: ProductTypeEnum[];\n\n parkingLots: string; //\n bathrooms: string; //\n rooms: string; //\n suites: string; //\n\n stages: string[]; //\n tenement: string;\n url: string;\n orderBy: string;\n direction: string;\n page: number;\n bounds: MapBounds;\n\n linkHome: boolean;\n placeId: string;\n place = null;\n\n boostAddress: string;\n boostNeighborhood: string;\n boostCity: string;\n\n origem: string;\n\n isGeolocation: boolean;\n\n characteristics?: FieldValue[];\n\n constructor(filter?: FilterValue) {\n this.setValues(filter);\n }\n\n getFilterParams() {\n const params = {\n codes: this.codes,\n productTypes: this.productTypes,\n features: this.genericFeatures,\n dealType: this.dealType,\n divisionTypes: this.getDivisionTypes(),\n divisionUnitTypes: this.divisionUnitTypes,\n maxArea: this.maxArea,\n maxPrice: this.maxPrice,\n minArea: this.minArea,\n minPrice: this.minPrice,\n parkingLots: this.parkingLots,\n rooms: this.rooms,\n suites: this.suites,\n bathrooms: this.bathrooms,\n tenement: this.tenement,\n orderBy: this.orderBy,\n direction: this.direction,\n 'bottomLeft.lat': getE(this.bottomLeft, 'lat'),\n 'bottomLeft.lon': getE(this.bottomLeft, 'lon'),\n 'topRight.lat': getE(this.topRight, 'lat'),\n 'topRight.lon': getE(this.topRight, 'lon'),\n 'score.boost.product.address.streetAddress': this.boostAddress,\n 'score.boost.product.address.neighborhood': this.boostNeighborhood,\n 'score.boost.product.address.city': this.boostCity,\n placeId: this.placeId,\n isGeolocation: this.isGeolocation,\n linkHome: this.linkHome\n };\n\n if (params.divisionUnitTypes && params.divisionUnitTypes.length > 0) {\n params.divisionUnitTypes = params.divisionUnitTypes.map(value => value.charAt(0).toUpperCase() + value.slice(1));\n }\n\n return pickBy(params);\n }\n\n get isRealStateParent(): boolean {\n if (!this.productTypes || !this.productTypes.length) {\n return false;\n }\n const arr = Array.isArray(this.productTypes) ? this.productTypes : [this.productTypes];\n return arr.some(t => t === ProductTypeEnum.RealEstateParent);\n }\n\n get genericFeatures() {\n return this.features && this.features.filter(f => !indexableFeatures.some(i => f.toUpperCase().indexOf(i) > -1));\n }\n\n get indexableFeatures() {\n return this.features && this.features.filter(f => indexableFeatures.some(i => f.toLowerCase().indexOf(i) > -1));\n }\n\n getDivisionTypes() {\n if (this.divisionUnitTypes && this.divisionUnitTypes.length) {\n const divisionTypes = DIVISION_TYPE_UNITS\n .filter(v => this.divisionUnitTypes.some(d => d.toLowerCase() === v.value.toLowerCase()))\n .map(v => v.group)\n .filter(v => v);\n\n return uniqPrimitiveValues(divisionTypes);\n }\n\n return null;\n }\n\n getFilterValue(): any {\n const characteristics = [\n {\n field: 'rooms',\n value: this.rooms,\n },\n {\n field: 'parkingLots',\n value: this.parkingLots,\n },\n {\n field: 'suites',\n value: this.suites,\n },\n {\n field: 'bathrooms',\n value: this.bathrooms,\n }\n ];\n\n return {\n stages: this.stages,\n dealType: this.dealType,\n area: {min: Array.isArray(this.minArea) ? this.minArea[0] : this.minArea || '',\n max: Array.isArray(this.maxArea) ? this.maxArea[0] : this.maxArea || ''},\n characteristics,\n moreFilters: this.features,\n propertyTypes: this.divisionUnitTypes,\n productTypes: this.productTypes,\n value: {min: Array.isArray(this.minPrice) ? this.minPrice[0] : this.minPrice || '',\n max: Array.isArray(this.maxPrice) ? this.maxPrice[0] : this.maxPrice || ''},\n };\n }\n\n setOrder(order: SearchOrder) {\n this.orderBy = order.value;\n this.direction = order.direction;\n }\n\n setDealType(dealType: any) {\n this.dealType = dealType;\n }\n\n setUrl(url: string) {\n this.url = url;\n }\n\n setStages(stages: string[]) {\n this.stages = stages;\n }\n\n setProductTypes(productTypes: ProductTypeEnum[]) {\n this.productTypes = productTypes;\n }\n\n setPage(page: number) {\n this.page = page;\n }\n\n setValues(filter: FilterValue) {\n if (filter) {\n this.setMinMax(filter);\n this.setCharacteristics(filter);\n this.setDealType(filter.dealType);\n this.features = filter.moreFilters;\n this.divisionUnitTypes = filter.propertyTypes;\n this.stages = filter.stages;\n this.productTypes = filter.productTypes;\n }\n }\n\n setBounds(bounds: MapBounds) {\n this.bounds = bounds;\n this.bottomLeft = {lat: bounds.sw.lat, lon: bounds.sw.lng};\n this.topRight = {lat: bounds.ne.lat, lon: bounds.ne.lng};\n }\n\n setCharacteristics(filter: FilterValue) {\n const characteristics = filter.characteristics;\n\n this.characteristics = characteristics;\n this.parkingLots = null;\n this.bathrooms = null;\n this.rooms = null;\n this.suites = null;\n\n if (characteristics && characteristics.length) {\n characteristics.forEach((c) => {\n this[c.field] = c.value;\n });\n }\n }\n\n setMinMax(filter: FilterValue) {\n this.maxArea = +(getE(filter, 'area.max', 0));\n this.maxPrice = +(getE(filter, 'value.max', 0));\n this.minArea = +(getE(filter, 'area.min', 0));\n this.minPrice = +(getE(filter, 'value.min', 0));\n }\n\n setPlace(place) {\n this.place = place;\n }\n\n setPlaceId(placeId: string) {\n this.placeId = placeId;\n }\n\n setBostScroll(place: any) {\n this.resetBoost();\n if (place) {\n place.components.forEach(element => {\n if (element.type === 'CITY') {\n this.boostCity = element.description;\n }\n if (element.type === 'NEIGHBORHOOD') {\n this.boostNeighborhood = element.description;\n }\n if (element.type === 'STREET') {\n this.boostAddress = element.description;\n }\n });\n }\n }\n\n resetBoost() {\n this.boostAddress = null;\n this.boostNeighborhood = null;\n }\n\n setLinkHome(linkHome: boolean) {\n this.linkHome = linkHome;\n }\n\n setIsGeolocation(isGeolocation: boolean) {\n this.isGeolocation = isGeolocation;\n }\n\n getBounds() {\n return this.bounds;\n }\n\n getBoundsParams() {\n return {\n 'bottomLeft.lat': getE(this.bottomLeft, 'lat'),\n 'bottomLeft.lon': getE(this.bottomLeft, 'lon'),\n 'topRight.lat': getE(this.topRight, 'lat'),\n 'topRight.lon': getE(this.topRight, 'lon'),\n };\n }\n}\n","import {Injectable} from '@angular/core';\nimport { DealTypeEnum } from '../../components/search-filter/model/deal-type.enum';\nimport { AttributeIcon, ProductAttribute } from '../../models/attributes.model';\nimport { LocationDTO, ProductCard } from '../../models/product-card.model';\nimport { ProductTypeEnum } from '../../models/product-type.enum';\nimport { Slug } from '../slug/slug.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductUrlService {\n\n mapProductUrl(productCard: ProductCard, pathname: string): string {\n if (pathname) {\n return this.mapForCampaign(productCard, pathname);\n } else if (productCard.productType === ProductTypeEnum.RealEstateParent) {\n return this.mapForBrandNewProduct(productCard);\n }\n return this.mapForOwnedProduct(productCard);\n }\n\n private mapForCampaign(productCard: ProductCard, pathname: string) {\n return `${pathname + productCard.sku}`;\n }\n\n private mapForBrandNewProduct(productCard: ProductCard) {\n let path = `${this.mapCondominiumName(productCard.name)}-${this.mapAddress(productCard.locationDTO)}`;\n path = Slug.of(path);\n return `/lancamento/${productCard.sku}/${path}`;\n }\n\n private mapForOwnedProduct(productCard: ProductCard) {\n let path = `${this.mapDealType(productCard)}-` +\n `${productCard.divisionUnitType}-${this.mapProductCharacteristics(productCard.attributes)}` +\n `${this.mapAddress(productCard.locationDTO)}`;\n path = Slug.of(path);\n return `/imovel/${productCard.sku}/${path}`;\n }\n\n private mapCondominiumName(name: string) {\n return name ? name : 'lopes';\n }\n\n private mapAddress(locationDTO: LocationDTO) {\n if (locationDTO) {\n return `${locationDTO.city}-${locationDTO.neighborhood}`;\n }\n return '';\n }\n\n private mapDealType(productCard: ProductCard) {\n const { dealType, dealTypes } = productCard;\n if (!dealTypes) {\n return this.mapDealTypeByDefault(dealType);\n }\n return this.mapDealTypeByDealTypeList(dealTypes);\n }\n\n private mapDealTypeByDefault(dealType: DealTypeEnum) {\n if (dealType === DealTypeEnum.Sale) {\n return 'venda';\n }\n return 'aluguel';\n }\n\n private mapDealTypeByDealTypeList(dealTypes: DealTypeEnum[]) {\n if (dealTypes.includes(DealTypeEnum.Sale)) {\n return 'venda';\n }\n return 'aluguel';\n }\n\n private mapProductCharacteristics(attributes: ProductAttribute[]) {\n const rooms = attributes.filter(a => a.type === AttributeIcon.Rooms);\n const parkingSpots = attributes.filter(a => a.type === AttributeIcon.ParkingLots);\n const area = attributes.filter(a => a.type === AttributeIcon.Area);\n if (rooms.length > 0) {\n const roomsNumber = Number(rooms[0].value);\n return roomsNumber > 1 ? roomsNumber + '-quartos-' : roomsNumber + '-quarto-';\n }\n if (parkingSpots.length > 0) {\n const parkingSpotsNumber = Number(parkingSpots[0].value);\n return parkingSpotsNumber > 1 ? parkingSpotsNumber + '-vagas-' : parkingSpotsNumber + '-vaga-';\n }\n if (area.length > 0) {\n return area[0].value.replace(/\\D/g, '') + '-m2-';\n }\n return '';\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Slug {\n public static of(stringToNormalize: string) {\n return stringToNormalize.normalize('NFD')\n .trim()\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/ [-]*[ ]*/g, '-')\n .replace(/[_\\s]/g, '-')\n .replace(/[^a-zA-Z0-9 -]/g, '')\n .replace(/[\\-]+/g, '-')\n .toLowerCase();\n }\n}\n","
\n \n
\n
\n \n \n \n
\n \n \n
\n
\n \n \"Alerta\"\n \n \n Cadastrar imóvel\n
\n
\n Cadastrar imóvel\n
\n\n
0 && !featureInputSearch\">\n
\n Código\n Em Região\n Em Lançamentos\n \n \n
\n
\n\n \n \n\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n Limpar\n
\n Filtrar\n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { PropAutoCompleteModel } from '../core/models/properties.model';\nimport { StepperService } from '../core/services/step-service/stepper.service';\nimport { mockTableProduct } from '../core/constants/properties-const';\nimport { PropertiesService } from './service/properties.service';\nimport { EnvironmentService } from '../core/enviroment/environment.service';\n\n@Component({\n selector: 'app-properties',\n templateUrl: './properties.component.html',\n styleUrls: ['./properties.component.scss']\n})\nexport class PropertiesComponent implements OnInit {\n\n public active = false;\n public isDot = false;\n public openFilter = false;\n public showOpenDrop = false;\n public corp = false;\n public inCorp = false;\n public isFavorite = false;\n public isInput = false;\n public isDrag = true;\n public showModal = false;\n public loader = false;\n public textSearch = '';\n public text = '';\n public indexId = -1;\n public paramsRouter = null;\n public tags = [];\n public ListToService = [];\n public textField = null;\n public showPropRegistration = false;\n public listTable: any[] = [];\n public listTableOld = mockTableProduct;\n\n\n public listTemperature = [\n {id: 1, name: 'Quente', icon: 'hot'},\n {id: 2, name: 'Morno', icon: 'warm'},\n {id: 3, name: 'Frio', icon: 'cold'}\n ];\n\n public listChanger = [\n {id: 1, name: 'Verde', icon: 'dot-green'},\n {id: 2, name: 'Amarelo', icon: 'dot-yellow'},\n {id: 3, name: 'Vermelho', icon: 'dot-alert'}\n ];\n\n public regForm: FormGroup;\n public displayFilter = false;\n public displayList = false;\n public displayMap = false;\n public autocomp = false;\n public autocompIdx = -1;\n public autoSearchResults: PropAutoCompleteModel[] = [];\n public inputSearchValue = '';\n public featureInputSearch = false;\n\n constructor(\n private fb: FormBuilder,\n private router: Router,\n private route: ActivatedRoute,\n private stepperService: StepperService,\n private service: PropertiesService,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit() {\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true';\n this.initForm();\n this.positionStorage();\n }\n\n public positionStorage() {\n if (localStorage.getItem('position-properties') === 'table-properties') {\n this.displayList = true;\n } else {\n this.displayList = false;\n }\n }\n\n public initForm() {\n this.regForm = this.fb.group({\n searchTerm: [null],\n temp: [null],\n late: [null],\n isFavorite: [null],\n corporator: [null],\n notCorporator: [null],\n archived: [null]\n });\n }\n\n public validatorDot(): boolean {\n if (this.regForm.get('temp').value ||\n this.regForm.get('late').value ||\n this.regForm.get('isFavorite').value ||\n this.regForm.get('corporator').value ||\n this.regForm.get('notCorporator').value) {\n this.isDot = true;\n } else {\n this.isDot = false;\n }\n return this.isDot;\n }\n\n public changeStructure() {\n this.displayList = !this.displayList;\n if (this.displayList) {\n localStorage.setItem('position-properties', 'table-properties');\n } else {\n localStorage.setItem('position-properties', 'properties');\n }\n }\n\n public changeTempData(event) {\n this.regForm.get('temp').setValue(event.name);\n }\n\n public changeDataLate(event) {\n this.regForm.get('late').setValue(event.name);\n }\n\n public selectField(data: string) {\n this.isFavorite = !this.isFavorite;\n this.regForm.get(data).setValue(this.isFavorite);\n }\n\n public selectIncorporator() {\n this.corp = !this.corp;\n this.inCorp = false;\n this.regForm.get('corporator').setValue(this.corp);\n this.regForm.get('notCorporator').setValue(this.inCorp);\n }\n\n public selectNotCorp() {\n this.inCorp = !this.inCorp;\n this.corp = false;\n this.regForm.get('corporator').setValue(this.corp);\n this.regForm.get('notCorporator').setValue(this.inCorp);\n }\n\n public resetForm() {\n this.regForm.reset();\n }\n\n public initFormRouter() {\n this.router.navigate([`/facs`], { queryParams: {\n temperatura: this.regForm.get('temp').value,\n vencimentos: this.regForm.get('late').value,\n favoritos: this.regForm.get('isFavorite').value ? this.regForm.get('isFavorite').value : null,\n incorporador: 'Foi borracha',\n arquivados: this.regForm.get('archived').value ? this.regForm.get('archived').value : null\n }});\n }\n\n public registerNewProp() {\n this.showPropRegistration = true;\n }\n\n public closeProductRegistration() {\n this.showPropRegistration = false;\n }\n\n public close() {\n this.isInput = false;\n }\n\n public showFilter() {\n this.displayFilter = !this.displayFilter;\n }\n\n public showMap(): void {\n this.displayMap = !this.displayMap;\n }\n\n public pointerSelection(idx: number): void {\n this.autocompIdx = idx;\n }\n\n public downList(event): void {\n if ((event.keyCode === 40 || event.keyCode === 38 || event.keyCode === 27)) {\n switch (event.keyCode) {\n case 40:\n if (this.autocompIdx < this.autoSearchResults.length - 1) {\n this.autocompIdx += 1;\n }\n break;\n case 38:\n if (this.autocompIdx > 0) {\n this.autocompIdx -= 1;\n }\n break;\n case 27:\n this.autocomp = false;\n this.autocompIdx = -1;\n return;\n }\n this.updateSearchInput();\n }\n }\n\n public patchInputValue(item): void {\n this.autocomp = false;\n this.updateSearchInput();\n this.tags = []; // REMOVER QUANDO HABILITAREM MULTIPLAS TAGS\n this.tags.push({\n id: item.result.description,\n name: item.result.label,\n description: item.result.label, \n value: item.result.value,\n label: item.result.label,\n type: item.result.labelDescription,\n tag: item.result.tag\n });\n this.service.getProducts({value: item.result.id, type: item.result.tag}).subscribe(response => {\n this.listTable = response;\n })\n this.autocompIdx = -1;\n }\n\n public updateSearchInput(): void {\n this.regForm.get('searchTerm').setValue('');\n }\n\n public searchInput(event: string | number): void {\n const searchTxt = String(event);\n if (searchTxt.trim().length > 2) {\n this.autoSearchResults = [];\n this.service.autoComplete(searchTxt).subscribe(response => {\n this.autoSearchResults = response.content;\n });\n this.autocomp = true;\n } else {\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n }\n\n public removeTags(data: string, index: number) {\n this.tags.splice(index, 1);\n this.listTable = []; // REMOVER QUANDO HABILITAREM MULTIPLAS TAGS\n }\n\n public registryRouter() {\n this.router.navigate(['registro'], { relativeTo: this.route });\n }\n\n public closeMOdal(event) {\n this.active = event;\n }\n\n}\n","import { NgModule } from '@angular/core';\n\nimport { PropertiesComponent } from './properties.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { ProductsModule } from '../products/product-register/products.module';\n\n@NgModule({\n declarations: [\n PropertiesComponent\n ],\n imports: [\n SharedModule,\n ProductsModule\n ],\n exports: [\n PropertiesComponent\n ]\n})\nexport class PropertiesModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Subject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { IAddress } from 'src/app/core/models/properties';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PropertiesService {\n\n public uri = this.environmentService.getEnvVar('api_products');\n public sendList = new Subject();\n public requestForm = new Subject();\n public requestFormValidator = new Subject();\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public getZipCode(data: string): Observable {\n return this.http.get(`${this.uri}/search/addresses/brasil/${data}`);\n }\n\n public locationWithZipCode(id: string): Observable {\n return this.http.get(`${this.uri}/products`).pipe(map(response => {\n return response.payload.filter(x => x.id === id);\n }));\n }\n\n public sendingForm(data) {\n return this.requestForm.next(data);\n }\n\n public receivingForm(): Observable {\n return this.requestForm.asObservable();\n }\n\n public validatorForm(data) {\n return this.requestFormValidator.next(data);\n }\n\n public receivingValidatorForm(): Observable {\n return this.requestFormValidator.asObservable();\n }\n\n public autoComplete(data: string): Observable {\n return this.http.post(`${this.uri}/autocomplete/information/product`, {value: data});\n }\n\n public getProducts(data): Observable {\n return this.http.post(`${this.uri}/products/additional-information`, data);\n }\n}\n","
\n Avatar image\n {{text}}\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-avatar-text',\n styleUrls: ['./avatar.component.scss'],\n templateUrl: './avatar.component.html',\n})\nexport class AvatarComponent implements OnInit {\n @Input() avatarUrl: string;\n @Input() label: string;\n\n public url: string;\n public text: string;\n\n ngOnInit(): void {\n this.url = this.avatarUrl;\n this.text = this.label;\n }\n}\n","
\n \n \n
","import { Component, Input } from '@angular/core';\n\nimport { CustomClipboard } from './../../../core/services/clipboard/clipboard.service';\nimport { SnackbarService } from 'src/app/shared/components/snackbar/service/snackbar.service';\n\ninterface Item {\n email: string;\n cellphone: string;\n}\n\n@Component({\n selector: 'app-contact-component',\n styleUrls: [`./contact.component.scss`],\n templateUrl: './contact.component.html'\n})\nexport class ContactComponent {\n \n @Input() item: Item;\n\n constructor(\n private snackService: SnackbarService,\n private clipboard: CustomClipboard\n ) { }\n\n\n public copyToClipboard(ev: Event, item: string, type: string): Promise {\n ev.stopPropagation();\n ev.preventDefault();\n return this.clipboard.writeText(item).then(() => {\n this.snackService.show(`${type} copiado`, 'success');\n });\n }\n\n\n}\n","
\n
\n \n
\n
","import { Component, ElementRef, ViewChild, AfterViewInit, ContentChild } from '@angular/core';\nimport { fromEvent } from 'rxjs';\n\n@Component({\n selector: 'app-content-scrollable',\n templateUrl: './content-scrollable.component.html',\n styleUrls: ['./content-scrollable.component.scss']\n})\nexport class ContentScrollableComponent implements AfterViewInit {\n @ViewChild('scrollable', { read: ElementRef }) scrollable: ElementRef;\n @ContentChild('childComponent') childComponent;\n\n private isDown = false;\n private startX: number;\n private scrollLeft: number;\n\n ngAfterViewInit() {\n if (this.scrollable) {\n fromEvent(this.scrollable.nativeElement, 'mousedown').subscribe((ev) => this.mousedown(ev));\n fromEvent(this.scrollable.nativeElement, 'mouseup').subscribe(() => this.mouseup());\n fromEvent(this.scrollable.nativeElement, 'mousemove').subscribe((ev) => this.mousemove(ev));\n fromEvent(this.scrollable.nativeElement, 'touchstart').subscribe((ev) => this.mousedown(ev));\n fromEvent(this.scrollable.nativeElement, 'touchmove').subscribe((ev) => this.mousemove(ev));\n }\n }\n\n public mousedown(ev) {\n let pageX = ev.pageX;\n if (ev instanceof TouchEvent) {\n const changed = ev.changedTouches[0];\n pageX = changed.pageX;\n }\n this.isDown = true;\n this.scrollable.nativeElement.classList.add('active');\n this.startX = pageX - this.scrollable.nativeElement.offsetLeft;\n this.scrollLeft = this.scrollable.nativeElement.scrollLeft;\n }\n\n public mouseup() {\n this.isDown = false;\n this.scrollable.nativeElement.classList.remove('active');\n }\n\n public mousemove(ev) {\n if (!this.isDown) { return; }\n ev.preventDefault();\n let pageX = ev.pageX;\n if (ev instanceof TouchEvent) {\n const changed = ev.changedTouches[0];\n pageX = changed.pageX;\n }\n const x = pageX - this.scrollable.nativeElement.offsetLeft;\n const walk = x - this.startX;\n this.scrollable.nativeElement.scrollLeft = this.scrollLeft - walk;\n }\n\n}\n","
\n
\n
\n
\n
Redistribuir Leads
\n \"close\"\n
\n
\n
\n
\n Fila\n \n \n
\n
\n Empresa\n \n \n
\n
\n Equipe / Corretor\n \n \n
\n
\n
\n
\n
\n
","import { Component, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-filter-impounded-leads',\n templateUrl: './filter-impounded-leads.component.html',\n styleUrls: ['./filter-impounded-leads.component.scss']\n})\nexport class FilterImpoundedLeadsComponent {\n \n public form = { queue: null, company: null, broker: null };\n public temperature: string;\n public queueOptions = [{ id: 1, name: 'Produtos da região central de São Paulo' }];\n public companyOptions = [{ id: 2, name: 'Lopes SP' }];\n public brokerOptions = [{ id: 3, name: 'Aline Diretoria' }];\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n handleClose(): void {\n this.closeModal.emit(false);\n }\n\n handleSelect(event): void {\n }\n}\n","
\n
\n
\n
\n
Filtros
\n \"close\"\n
\n
\n
\n
\n

Data da criação

\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n \n
\n

Data e hora da distribuição

\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n
\n
Status
\n
\n \n \n
\n
\n
\n
\n
\n Limpar tudo\n Aplicar\n
\n
\n
\n
\n
","import moment from 'moment';\nimport { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { FormGroup, ControlContainer } from '@angular/forms';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\n\nexport interface RangeModel {\n field: string;\n from?: string;\n to?: string;\n}\n\n@Component({\n selector: 'app-filter-leads',\n templateUrl: './filter-leads.component.html',\n styleUrls: ['./filter-leads.component.scss']\n})\nexport class FilterLeadsComponent implements OnInit {\n public filterForm: FormGroup;\n\n public distributionPending: boolean;\n\n public createTime = {\n field: 'creation_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n\n public distributionTime = {\n field: 'distribution_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n\n @Input() isStatusEnabled: boolean = true;\n @Output() closeModal: EventEmitter = new EventEmitter();\n @Output() emitFilter: EventEmitter = new EventEmitter();\n @Output() resetClick: EventEmitter = new EventEmitter();\n\n constructor(\n private windowService: WindowScrollService,\n private controlContainer: ControlContainer\n ) { }\n\n ngOnInit(): void {\n this.filterForm = this.controlContainer.control as FormGroup;\n this.populateDate();\n this.windowService.disable();\n }\n\n populateDate() {\n const index = 10; // Zulu time T index Ex: '2020-07-23T23:59:59.999Z'\n if (this.filterForm.get('distributionPending').value) {\n this.distributionPending = this.filterForm.get('distributionPending').value;\n }\n if (this.filterForm.get('createTime').value) {\n if (this.filterForm.get('createTime').value.from) {\n this.createTime.date.from = moment(this.filterForm.get('createTime').value.from.substr(0, index)).utc().toDate();\n this.createTime.hour.from = this.filterForm.get('createTime').value.from.substr(index + 1, 5);\n }\n\n if (this.filterForm.get('createTime').value.to) {\n this.createTime.date.to = moment(this.filterForm.get('createTime').value.to.substr(0, index)).utc().toDate();\n this.createTime.hour.to = this.filterForm.get('createTime').value.to.substr(index + 1, 5);\n }\n }\n\n if (this.filterForm.get('distributionTime').value) {\n if (this.filterForm.get('distributionTime').value.from) {\n this.distributionTime.date.from = moment(this.filterForm.get('distributionTime').value.from.substr(0, index)).utc().toDate();\n this.distributionTime.hour.from = this.filterForm.get('distributionTime').value.from.substr(index + 1, 5);\n }\n\n if (this.filterForm.get('distributionTime').value.to) {\n this.distributionTime.date.to = moment(this.filterForm.get('distributionTime').value.to.substr(0, index)).utc().toDate();\n this.distributionTime.hour.to = this.filterForm.get('distributionTime').value.to.substr(index + 1, 5);\n }\n }\n }\n\n clickClose() {\n this.closeModal.emit(false);\n }\n\n resetForm() {\n this.createTime = {\n field: 'creation_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n\n this.distributionTime = {\n field: 'distribution_date',\n date: {\n from: null,\n to: null,\n },\n hour: {\n from: '00:00',\n to: '23:59',\n }\n };\n\n this.distributionPending = false;\n\n this.filterForm.reset();\n this.resetClick.emit();\n }\n\n formatDate() {\n const formatString = (date, hour, from = true): string => {\n if (!date || !hour) {\n return null;\n }\n return moment(new Date(date).setHours(0, 0, 0, 0)).format(`YYYY-MM-DD[T]${hour}${from ? ':00.000[Z]' : ':59.999[Z]'}`);\n };\n\n const formatObject = (fieldName, fromDate, fromHour, toDate, toHour): RangeModel => {\n const resp: RangeModel = {\n field: fieldName,\n from: formatString(fromDate, fromHour, true),\n to: formatString(toDate, toHour, false)\n };\n\n if (!fromDate || !fromHour) {\n delete resp.from;\n }\n if (!toDate || !toHour) {\n delete resp.to;\n }\n if (!resp.from && !resp.to) {\n return null;\n }\n\n return resp;\n };\n\n this.filterForm.get('createTime').patchValue(\n formatObject(this.createTime.field, this.createTime.date.from,\n this.createTime.hour.from, this.createTime.date.to, this.createTime.hour.to)\n );\n\n this.filterForm.get('distributionTime').patchValue(\n formatObject(this.distributionTime.field, this.distributionTime.date.from,\n this.distributionTime.hour.from, this.distributionTime.date.to, this.distributionTime.hour.to)\n );\n\n this.filterForm.get('distributionPending').patchValue(this.distributionPending);\n }\n\n handleClose(): void {\n this.closeModal.emit(false);\n }\n\n sendFilter(): void {\n this.formatDate();\n this.emitFilter.emit();\n }\n}\n","
\n \n
\n
\n
\n \n \n
\n
\n \n \"Alert\"\n \n \n \n \n \n
\n
\n
\n \n
    \n \n {{ tag.value }}\n \n
\n
\n
\n
\n\n \n \n\n
\n

Leads represados

\n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n
\n \n \n {{column.label}}\n \n {{column.label}}\n
\n
\n \n \n \n {{bodyItem[column.id]}}\n \n
\n
","import { EnvironmentService } from './../../../core/enviroment/environment.service';\nimport { Column } from './../../table-models';\nimport { Component, OnInit, Input, HostListener, ElementRef } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\ninterface Contact {\n email: string;\n cellphone: string;\n}\n\ninterface LeadByBroker {\n client: string;\n company: string;\n avatar: string;\n broker: string;\n product: string;\n contact?: Contact;\n}\n\nexport interface Lead {\n name: string;\n distributed: number;\n attended: number;\n notAttended: number;\n avatar: string;\n lista: LeadByBroker[];\n}\n\nexport interface Tag {\n id: number;\n value: string;\n}\n\n@Component({\n selector: 'app-impounded-leads',\n templateUrl: './impounded-leads.component.html',\n styleUrls: ['./impounded-leads.component.scss', '../../table_leads.scss']\n})\nexport class ImpoundedLeadsComponent implements OnInit {\n @Input() propsFilter = [];\n public showFilter: boolean;\n public hasFilter: boolean;\n public isSelect: boolean;\n public showImpoundedFilter = false;\n public modal2: boolean;\n public titleLeadsModal: string;\n public textFieldSearch = '';\n public options = [];\n public dataSelected = [];\n public rowDown = false;\n public tags: Tag[] = [\n { value: 'Fila: Produtos da Região Central de SP', id: 0 },\n { value: 'Empresa: Lopes SP', id: 1 },\n { value: 'Equipe: Martins', id: 2 },\n { value: 'Fila: Produtos da Região Central de SP', id: 3 },\n { value: 'Fila: Produtos da Região Central de SP', id: 4 },\n ];\n public data = [\n {\n isChecked: false,\n client: 'Niels Henrique David Bohr',\n company: 'Lopes São Paulo',\n level: 'Martins',\n broker: 'João (Martins)',\n product: 'Plano e parque do carmo - Iososuke I',\n queue: 'Produtos da Região Central de SP',\n inclusionDate: '05/05/2020 23:45',\n contact: {\n email: 'niels.henrique@gmail.com', cellphone: '(67) 67 98947 - 2324',\n }\n },\n {\n isChecked: false,\n client: 'Niels Henrique',\n company: 'Lopes Jardim',\n level: 'Martins',\n broker: 'João (Martins)',\n product: 'Plano e São Luiz - Iososuke I',\n queue: 'Produtos da Região de SP',\n inclusionDate: '05/05/2020 23:45',\n contact: {\n email: 'niels.henrique@gmail.com', cellphone: '(67) 67 98947 - 2324',\n }\n }\n ];\n public showDot: boolean;\n public form: FormGroup;\n public facId: string;\n public showFacModal: boolean;\n public headers: Column[] = [\n { label: '', id: 'isChecked', hasCheckbox: true, style: { width: '20px' }, isSelect: false },\n { label: 'Cliente', id: 'client', sort: true, style: { width: '200px' } },\n { label: 'Empresa', id: 'company', sort: true, style: { width: '150px' }, onClick: (lead) => this.handleOpenLeads(lead) },\n { label: 'Nível', id: 'level', sort: true, style: { width: '100px' }, onClick: (lead) => this.handleOpenLeads(lead) },\n { label: 'Fila', id: 'queue', sort: true, style: { width: '230px' }, onClick: (lead) => this.handleOpenLeads(lead) },\n { label: 'Produto', id: 'product', sort: true, style: { width: '250px' }, onClick: (lead) => this.handleOpenLeads(lead) },\n { label: 'Contato', id: 'contact', contact: true, style: { width: '130px' }, onClick: (lead) => this.handleOpenLeads(lead) },\n { label: 'Data de inclusão', id: 'inclusionDate', sort: true, style: { width: '130px' }, onClick: (lead) => this.handleOpenLeads(lead) }\n ];\n public listBinding = [];\n public featureInputSearch = false\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.rowDown) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.rowDown = false;\n }\n }\n }\n\n constructor(\n private fb: FormBuilder,\n private eRef: ElementRef,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit(): void {\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true'; \n this.form = this.fb.group({\n createTime: [null],\n distributionTime: [null],\n distributionPending: [null]\n });\n this.modal2 = false;\n this.showFilter = false;\n this.hasFilter = false;\n }\n\n public clear() {\n this.hasFilter = false;\n this.form = this.fb.group({\n createTime: [null],\n distributionTime: [null],\n distributionPending: [null]\n });\n }\n\n public selectAction(option: number): void {\n this.rowDown = false;\n if (option === 1) {\n this.showImpoundedFilter = true;\n }\n }\n\n public openFacModal() {\n // TODO: remove hard coded facID\n this.facId = '01278d63-0000-0000-0000-000000000000';\n this.showFacModal = true;\n }\n\n public closeImpoundedFilter() {\n this.showImpoundedFilter = false;\n }\n\n public closeFacModal() {\n this.facId = null;\n this.showFacModal = false;\n }\n\n public applyFilter() {\n if (this.validator()) {\n this.hasFilter = true;\n }\n this.showFilter = false;\n }\n\n public closeLeadsByBroker() {\n this.modal2 = !this.modal2;\n this.titleLeadsModal = null;\n this.dataSelected = [];\n }\n\n public handleModal() {\n this.showFilter = !this.showFilter;\n }\n\n public handleOpenLeads(lead: Lead): void {\n this.titleLeadsModal = lead.name;\n this.dataSelected = lead.lista;\n this.modal2 = !this.modal2;\n }\n\n\n public onSelect() {\n this.isSelect = !this.isSelect;\n this.isSelect = this.data.every((item: any) => item.isChecked);\n }\n\n public selectAll() {\n this.isSelect ? this.data.forEach(x => x.isChecked = true) : this.data.forEach(x => x.isChecked = false);\n this.data = this.isSelect ? this.data.map(x => ({ ...x, isChecked: true })) : this.data.map(x => ({ ...x, isChecked: false }));\n }\n\n public hasBtnAction() {\n return this.data.some((item: any) => item.isChecked);\n }\n\n public validator(): boolean {\n return Object.keys(this.form.controls).some(key => !!this.form.get(key).value);\n }\n\n public disableInput(event) {\n }\n\n public searchElement(value) {\n this.options = [{ description: 'Niels Henquique David Bohr', type: 'Cliente' }, { description: 'Niels Henrique', type: 'Cliente' }];\n }\n\n public elementSelected(event) {\n }\n\n public closedSearch() { }\n public searchInput(data) { }\n public removeTag(tag: Tag): void {\n this.tags.splice(tag.id, 1);\n }\n\n public sort(event: MouseEvent, column: Column) {\n // TODO: sort by column\n }\n}\n","
\n \n
\n
\n
\n \n \n
\n
\n \n \"Alert\"\n
\n
\n
\n\n
\n
\n
\n
\n
{{titleLeadsModal}}
\n \"close\"\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n \n {{column.label}}\n \n {{column.label}}\n
\n \n \n \n \n {{bodyItem[column.id]}}\n \n
\n
\n
\n
\n
\n \n \n\n
\n

Distribuição por corretor

\n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n \n {{column.label}}\n \n {{column.label}}\n
\n \n \n \n {{bodyItem[column.id]}}\n \n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\nimport { WindowScrollService } from './../../../core/services/window-scroll.service';\nimport { Column } from './../../table-models';\nimport { EnvironmentService } from './../../../core/enviroment/environment.service';\n\ninterface Contact {\n email: string;\n cellphone: string;\n}\n\ninterface LeadByBroker {\n client: string;\n company: string;\n avatar: string;\n broker: string;\n product: string;\n contact?: Contact;\n}\n\nexport interface Lead {\n name: string;\n distributed: number;\n attended: number;\n notAttended: number;\n avatar: string;\n lista: LeadByBroker[];\n}\n\n@Component({\n selector: 'app-distribution-broker',\n templateUrl: './distribution-broker.component.html',\n styleUrls: ['./distribution-broker.component.scss', '../../table_leads.scss']\n})\nexport class DistributionBrokerComponent implements OnInit {\n public showFilter: boolean;\n public hasFilter: boolean;\n public selectedLeadsHeaders: Column[];\n public modal2: boolean;\n public titleLeadsModal: string;\n public textFieldSearch = '';\n public options = [];\n public dataSelected = [];\n public data = [\n {\n name: 'Ribeiro (Martins)', distributed: 4, attended: 2, notAttended: 2,\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n lista: [\n {\n client: 'Niels Henrique David Bohr',\n company: 'Lopes São Paulo',\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n broker: 'João (Martins)',\n product: 'Plano e parque do carmo - Iososuke I',\n inclusionData: '05/05/2020 23:45',\n contact: {\n email: 'niels.henrique@gmail.com', cellphone: '(67) 67 98947 - 2324',\n },\n },\n {\n client: 'Niels Henrique David Bohr',\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n company: 'Lopes São Paulo',\n broker: 'Henrique (Martins)',\n product: 'Plano e parque do carmo - Iososuke I',\n inclusionData: '05/05/2020 23:45',\n contact: {\n email: 'niels.david@gmail.com', cellphone: '(67) 67 98794 - 2678',\n },\n }\n ]\n },\n { name: 'Henrique (Martins)', avatar: 'https://i.imgur.com/I80W1Q0.png', distributed: 0, attended: 0, notAttended: 0 },\n {\n name: 'Jeorge (Martins)', distributed: 4, attended: 2, notAttended: 2,\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n lista: [\n {\n client: 'Niels Henrique David Bohr',\n company: 'Lopes São Paulo',\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n broker: 'Ferreira (Martins)',\n product: 'Plano e parque do carmo - Iososuke I',\n inclusionData: '05/05/2020 23:45',\n contact: {\n email: 'niels.henrique@gmail.com', cellphone: '(67) 67 98947 - 2324',\n },\n },\n {\n client: 'Niels Henrique David Bohr',\n avatar: 'https://i.imgur.com/I80W1Q0.png',\n company: 'Lopes São Paulo',\n broker: 'Souza (Martins)',\n product: 'Plano e parque do carmo - Iososuke I',\n inclusionData: '05/05/2020 23:45',\n contact: {\n email: 'niels.david@gmail.com', cellphone: '(67) 67 98794 - 2678',\n },\n }\n ]\n },\n { name: 'Machado (Martins)', avatar: 'https://i.imgur.com/I80W1Q0.png', distributed: 0, attended: 0, notAttended: 0 },\n { name: 'Gonçalves (Martins)', avatar: 'https://i.imgur.com/I80W1Q0.png', distributed: 0, attended: 0, notAttended: 0 },\n { name: 'Silva (Martins)', avatar: 'https://i.imgur.com/I80W1Q0.png', distributed: 0, attended: 0, notAttended: 0 }\n ];\n public showDot: boolean;\n public form: FormGroup;\n public facId: string;\n public showFacModal: boolean;\n public headers: Column[] = [\n {\n label: 'Corretores associados e usuários', id: 'name', sort: true, avatar: true, style: { width: '300px' },\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Distribuídos', id: 'distributed', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Atendidos', id: 'attended', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Não atendidos', id: 'notAttended', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n }\n ];\n public listBinding = [];\n public finished = true;\n public featureInputSearch = false\n \n get hasFinishedLoading(): boolean {\n return this.finished;\n }\n\n constructor(\n private fb: FormBuilder,\n private windowScroll: WindowScrollService,\n private environmentService: EnvironmentService,\n ) { }\n\n ngOnInit(): void {\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true';\n this.form = this.fb.group({\n createTime: [null],\n distributionTime: [null],\n distributionPending: [null]\n });\n this.modal2 = false;\n this.showFilter = false;\n this.hasFilter = false;\n this.selectedLeadsHeaders = [\n { label: 'Cliente', id: 'client', sort: true, avatar: true, style: { width: '300px' } },\n { label: 'Empresa', id: 'company', sort: true, style: { width: '140px' }, onClick: () => this.openFacModal() },\n { label: 'Corretor', id: 'broker', sort: true, style: { width: '140px' }, onClick: () => this.openFacModal() },\n { label: 'Produto', id: 'product', sort: true, style: { width: '255px' }, onClick: () => this.openFacModal() },\n { label: 'Contato', id: 'contact', style: { width: '120px' }, contact: true, onClick: () => this.openFacModal() },\n { label: 'Data da inclusão ', id: 'inclusionData', sort: true, style: { width: '135px' }, onClick: () => this.openFacModal() }\n ];\n }\n\n public clear() {\n this.hasFilter = false;\n this.form = this.fb.group({\n createTime: [null],\n distributionTime: [null],\n distributionPending: [null]\n });\n }\n\n public openFacModal() {\n // TODO: remove hard coded facID\n this.windowScroll.enable();\n this.facId = '01278d63-0000-0000-0000-000000000000';\n this.showFacModal = true;\n }\n\n public closeFacModal() {\n this.facId = null;\n this.showFacModal = false;\n }\n\n public applyFilter() {\n if (this.validator()) {\n this.hasFilter = true;\n }\n this.showFilter = false;\n }\n\n public closeLeadsByBroker() {\n this.modal2 = !this.modal2;\n this.titleLeadsModal = null;\n this.dataSelected = [];\n this.windowScroll.enable();\n }\n\n public handleModal() {\n this.showFilter = !this.showFilter;\n }\n\n public handleOpenLeads(lead: Lead): void {\n this.titleLeadsModal = lead.name;\n this.dataSelected = lead.lista;\n if (!this.modal2) { this.windowScroll.disable(); }\n this.modal2 = !this.modal2;\n }\n\n public validator(): boolean {\n return Object.keys(this.form.controls).some(key => !!this.form.get(key).value);\n }\n\n public disableInput(event) { }\n\n public searchElement(value) {\n this.options = [{ description: 'Ribeiro', type: 'Corretor' }, { description: 'Henrique', type: 'Corretor' }, { description: 'Jeorge', type: 'Corretor' }, { description: 'Machado', type: 'Corretor' }, { description: 'Gonçalves', type: 'Corretor' }, { description: 'Silva', type: 'Corretor' }];\n }\n\n public elementSelected(event) { }\n\n public closedSearch() { }\n public searchInput(data) { }\n\n public sort(event: MouseEvent, column: Column) {\n }\n}\n","
\n \n
\n
\n
\n \n \n
\n
\n \n \"Alert\"\n
\n
\n
\n\n
\n
\n
\n
\n
{{titleLeadsModal}}
\n \"close\"\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n \n {{column.label}}\n \n {{column.label}}\n
\n \n {{bodyItem[column.id]}}\n \n
\n
\n
\n
\n
\n \n
\n

Distribuição por fila

\n
\n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n
\n \n {{column.label}}\n \n {{column.label}}\n
\n \n {{bodyItem[column.id]}}\n \n
\n
\n\n","import { WindowScrollService } from './../../../core/services/window-scroll.service';\nimport { Column } from './../../table-models';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { EnvironmentService } from './../../../core/enviroment/environment.service';\n\ninterface LeadByBroker {\n client: string;\n company: string;\n broker: string;\n product: string;\n}\n\nexport interface Lead {\n queues: string;\n distributed: number;\n notAttended: number;\n notContacted: number;\n inAttendance: number;\n visit: number;\n proposal: number;\n sale: number;\n lista: LeadByBroker[];\n}\n\n@Component({\n selector: 'app-distribution-service',\n templateUrl: './distribution-service.component.html',\n styleUrls: ['./distribution-service.component.scss']\n})\nexport class DistributionServiceComponent implements OnInit {\n\n public showFilter: boolean;\n public hasFilter: boolean;\n public selectedLeadsHeaders: Column[];\n public modal2: boolean;\n public titleLeadsModal: string;\n public textField = '';\n public dataSelected = [];\n public options = [];\n public data = [\n {\n queues: 'Produtos da região central de SP',\n distributed: 156,\n notAttended: 22,\n notContacted: 2,\n inAttendance: 30,\n visit: 10,\n proposal: 10,\n sale: 82,\n lista: [\n {\n client: 'Niels Henrick David Bohr',\n company: 'Lopes São Paulo',\n broker: 'Ribeiro (Martins)',\n product: 'Plano & Parque Do Carmo - Iososuke I'\n },\n {\n client: 'Charles Robert Darwin',\n company: 'Lopes São Paulo',\n broker: 'Alícia (Ferba)',\n product: 'Campanha Metas em M² - Alto Padrão'\n },\n {\n client: 'Stephen William Hawking',\n company: 'Lopes São Paulo',\n broker: 'Felix (Martins)',\n product: 'Absoluto Tatuapé'\n }\n ]\n },\n {\n queues: 'Empreendimentos de alto padrão',\n distributed: 145,\n notAttended: 0,\n notContacted: 14,\n inAttendance: 70,\n visit: 15,\n proposal: 10,\n sale: 18\n },\n {\n queues: 'Segmento econômico na Zona Leste',\n distributed: 267,\n notAttended: 11,\n notContacted: 11,\n inAttendance: 90,\n visit: 50,\n proposal: 15,\n sale: 90\n },\n {\n queues: 'Total',\n distributed: 486,\n notAttended: 33,\n notContacted: 27,\n inAttendance: 190,\n visit: 75,\n proposal: 53,\n sale: 190\n }\n ];\n\n public showDot: boolean;\n public form: FormGroup;\n public facId: string;\n public showFacModal: boolean;\n public headers = [\n { label: 'Filas', id: 'queues', sort: true, style: { width: '364px' } },\n {\n label: 'Distribuídos', id: 'distributed', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Não atendidos', id: 'notAttended', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Sem Contato', id: 'notContacted', sort: true, style: { width: '120px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Em Atendimento', id: 'inAttendance', sort: true, style: { width: '125px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Visita', id: 'visit', sort: true, style: { width: '100px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Proposta', id: 'proposal', sort: true, style: { width: '100px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n {\n label: 'Venda', id: 'sale', sort: true, style: { width: '100px' }, dotted: true,\n onClick: (lead) => this.handleOpenLeads(lead)\n },\n ];\n public listBinding = [];\n public finished = true;\n public featureInputSearch = false;\n\n get hasFinishedLoading(): boolean {\n return this.finished;\n }\n\n constructor(\n private fb: FormBuilder,\n private windowScroll: WindowScrollService,\n private environmentService: EnvironmentService,\n ) { }\n\n ngOnInit(): void {\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true';\n this.form = this.fb.group({\n dtCreateStart: null,\n dtCreateEnd: null,\n createHourStart: null,\n createHourEnd: null,\n dtDistributionStart: null,\n dtDistributionEnd: null,\n hourDistributionStart: null,\n hourDistributionEnd: null,\n distributionPending: false\n });\n this.modal2 = false;\n this.showFilter = false;\n this.hasFilter = false;\n this.selectedLeadsHeaders = [\n { label: 'Cliente', id: 'client', sort: true, avatar: true, style: { width: '190px' } },\n { label: 'Empresa', id: 'company', sort: true, style: { width: '130px' }, onClick: () => this.openFacModal() },\n { label: 'Corretor', id: 'broker', sort: true, style: { width: '120px' }, onClick: () => this.openFacModal() },\n { label: 'Produto', id: 'product', sort: true, style: { width: '300px' }, onClick: () => this.openFacModal() }\n ];\n }\n\n public clear() {\n this.hasFilter = false;\n this.form = this.fb.group({\n dtCreateStart: null,\n dtCreateEnd: null,\n createHourStart: null,\n createHourEnd: null,\n dtDistributionStart: null,\n dtDistributionEnd: null,\n hourDistributionStart: null,\n hourDistributionEnd: null,\n distributionPending: false\n });\n }\n\n public openFacModal() {\n // TODO: remove hard coded facID\n this.windowScroll.enable();\n this.facId = '01278d63-0000-0000-0000-000000000000';\n this.showFacModal = true;\n }\n\n public closeFacModal() {\n this.facId = null;\n this.showFacModal = false;\n }\n\n public applyFilter() {\n if (this.validator()) {\n this.hasFilter = true;\n }\n this.showFilter = false;\n }\n\n public closeLeadsByBroker() {\n this.modal2 = !this.modal2;\n this.titleLeadsModal = null;\n this.dataSelected = [];\n this.windowScroll.enable();\n }\n\n public handleModal() {\n this.showFilter = !this.showFilter;\n }\n\n public handleOpenLeads(lead: Lead) {\n if (!this.modal2) { this.windowScroll.disable(); }\n this.titleLeadsModal = lead.queues;\n this.dataSelected = lead.lista;\n this.modal2 = !this.modal2;\n }\n\n public validator(): boolean {\n if (Object.keys(this.form.controls).some(key => !!this.form.get(key).value)) {\n return true;\n }\n return false;\n }\n\n public disableInput(event) {\n }\n\n public elementSelected(event) {\n }\n\n public autocompleteSearch(value) {\n }\n\n public closedSearch() { }\n public searchInput(data) { }\n public searchElement(data) {\n this.options = [{ description: 'Produtos da região central de SP', type: 'Fila' }, { description: 'Empreendimentos de alto padrão', type: 'Fila' }, { description: 'Segmento econômico na Zona Leste', type: 'Fila' }];\n }\n\n public sort(event: MouseEvent, column: Column) {\n // TODO: sort by column\n }\n\n}\n","
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.scss']\n})\nexport class ReportsComponent implements OnInit {\n \n public finished = true;\n public menus = [\n { id: 'distribution-vs-atendance', label: 'Distribuição x atendimento', path: 'distribuicao-atendimento' },\n { id: 'distribution-by-broker', label: 'Distribuição por corretor', path: 'distribuicao-corretor' },\n { id: 'impounded-leads', label: 'Leads represados', path: 'leads-represados' }\n ];\n\n constructor(private router: Router) { }\n\n get hasFinishedLoading(): boolean {\n return this.finished;\n }\n\n ngOnInit(): void {\n const paths = this.router.url.split('/').filter(el => el);\n if (paths.length === 1) {\n this.router.navigate(['relatorios-de-distribuicao/distribuicao-atendimento']);\n }\n }\n\n public isCurrentRoute(path: string): boolean {\n const [, , currentPath] = window.location.pathname.split('/');\n if (currentPath) {\n return currentPath.includes(path);\n }\n return false;\n }\n}\n","import { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { CoreModule } from '../core/core.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { NzTimePickerModule, NZ_I18N, pt_BR } from 'ng-zorro-antd';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\n\nimport { EditFacModalModule } from '../shared/components/edit-fac-modal/edit-fac-modal.module';\nimport { ReportsComponent } from './reports.component';\nimport { DistributionServiceComponent } from './components/distributionService/distribution-service.component';\nimport { DistributionBrokerComponent } from './components/distributionBroker/distribution-broker.component';\nimport { AvatarComponent } from './components/AvatarComponent/avatar.component';\n\n@NgModule({\n declarations: [\n DistributionServiceComponent,\n DistributionBrokerComponent,\n ReportsComponent,\n AvatarComponent,\n ],\n imports: [\n CoreModule,\n SharedModule,\n RouterModule,\n NzTimePickerModule,\n NzDatePickerModule,\n EditFacModalModule\n ],\n exports: [\n DistributionServiceComponent,\n DistributionBrokerComponent,\n ReportsComponent,\n ReportsComponent,\n AvatarComponent,\n ],\n providers: [\n { provide: NZ_I18N, useValue: pt_BR }\n ],\n})\nexport class ReportsModule {\n\n}\n","
\n
\n {{title}}\n \"arrow_ico\"\n
\n
\n \n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'app-accordion',\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss']\n})\nexport class AccordionComponent {\n\n @Input() public isOpen: boolean;\n @Input() public title = '';\n @Input() public roundContent = false;\n @Output() public closed = new EventEmitter();\n\n closeAcc() {\n this.closed.emit();\n }\n}\n","
\n
\n
\n

{{ titleModal }}

\n \n \n
\n
\n

{{ subTypeItem }}

\n

{{ enterpriseName }}

\n
\n \n {{ returnAddress() }}\n
\n
\n
\n \n
\n \n \n
\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { PropertiesService } from 'src/app/properties/service/properties.service';\nimport { listProperties, removeCaracter } from '../../../core/constants/properties-const';\n@Component({\n selector: 'app-address-registry',\n templateUrl: './address-registry.component.html',\n styleUrls: ['./address-registry.component.scss']\n})\nexport class AddressRegistryComponent implements OnInit {\n\n @Input() public titleModal = 'Complete as informações';\n @Input() public typeModal = 1;\n @Input() public router: string;\n @Input() public cepValue = null;\n\n @Input()\n public formAddress: FormGroup;\n\n @Output() public closeModal = new EventEmitter();\n @Output() public sendFormRequest = new EventEmitter();\n\n public fullAddress: string;\n\n public listProperties = listProperties;\n public openDropDown = false;\n public code = null;\n public subTypeItem = '';\n public enterpriseName = '';\n public neighborhood = '';\n\n public removeCaracter = removeCaracter;\n\n constructor(\n private service: PropertiesService,\n private fb: FormBuilder,\n private routers: Router,\n private route: ActivatedRoute\n ) { }\n\n ngOnInit(): void {\n this.initialForm();\n this.requestForm();\n this.validatorForm();\n this.responseSubType();\n this.enterpriseName = this.formAddress.get('condominium').value;\n this.formAddress.valueChanges.subscribe(x => this.sendFormRequest.emit(x));\n\n }\n\n public initialForm(): void {\n if (this.typeModal === 1) {\n this.formAddress = this.fb.group({\n id: [null],\n typeCode: [null],\n zip_code: [null],\n street: [''],\n country: [''],\n number: [''],\n complement: [null],\n neighborhood: [''],\n state: [''],\n city: [''],\n value_zone: [null],\n location_value_zones: [null],\n geographic_area: [null],\n condominium: [''],\n area_util: [null],\n areat_total: [null],\n single_tower: [false],\n number_name_tower: [null],\n floor: [null],\n unity: [null],\n not_number: [false]\n });\n }\n }\n\n public requestForm(): void {\n // this.service.getZipCode('01534010')\n // .subscribe(x =>\n // this.address = `${x.street + ', '}${x.number + ', '}${x.neighborhood + ', '}${x.city + ' - '}${x.state}`);\n this.returnAddress();\n this.code = this.formAddress.get('typeCode').value;\n }\n\n public returnAddress(): string {\n return this.verificartString(this.formAddress.get('street').value, ', ')\n + this.verificartString(this.formAddress.get('number').value, ', ')\n + this.verificartString(this.formAddress.get('neighborhood').value, ', ')\n + this.verificartString(this.formAddress.get('city').value, '- ')\n + this.verificartString(this.formAddress.get('state').value, '');\n }\n\n public verificartString(x: string, type: string): string {\n return x ? `${x + type + ''}` : '';\n }\n\n public validtorModal() {\n if (this.typeModal === 2) {\n this.openDropDown = !this.openDropDown;\n }\n this.closeModal.emit(false);\n }\n\n public sendForm() {\n this.sendFormRequest.emit(this.formAddress.value);\n }\n\n public sendRouter() {\n this.routers.navigate(['registro'], { relativeTo: this.route });\n }\n\n private validatorForm(): void {\n this.service.receivingValidatorForm().subscribe(response => {\n Object.keys(response.controls).forEach((x: string) => {\n this.validField(x, 'floor');\n this.validField(x, 'unity');\n this.validField(x, 'number_name_tower');\n });\n });\n }\n\n public validField(x: string, field: string): void {\n if (x === field) {\n if (this.formAddress.get(x).value === null) {\n this.formAddress.get(x).setErrors({ required: true });\n }\n }\n }\n\n public responseSubType() {\n this.listProperties.forEach(x => {\n x.listItems.forEach(data => {\n if (data.code === this.formAddress.get('typeCode').value) {\n this.subTypeItem = data.item;\n }\n });\n });\n }\n}","
\n \n \n \n 0\">\n
\n \n \n
\n \n \n
\n
\n
\n \n
\n \n\n","import { Component, OnInit, AfterViewInit,\n Output, EventEmitter, Input, HostListener, ElementRef, forwardRef } from '@angular/core';\nimport { RegAutocompleteModel } from 'src/app/core/models/properties.model';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, FormGroup, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutocompleteComponent),\n multi: true\n }\n ]\n})\nexport class AutocompleteComponent implements OnInit, ControlValueAccessor {\n\n constructor(\n private eRef: ElementRef\n ) { }\n\n form: FormGroup;\n @Input() isMkt = false;\n @Input() defaultValue = '';\n @Input() internalValue = '';\n @Input() height = '44px';\n @Input() width: string = '';\n @Output() ElementSelected = new EventEmitter();\n @Input() emitIndex = false;\n @Output() autocompleteSearch = new EventEmitter();\n @Output() toggleClearButton = new EventEmitter();\n @Input() autoSearchResults: RegAutocompleteModel[] = [];\n @Input() placeholder = '';\n @Input() value = '';\n @Input() maxLength = null;\n @Input() showSearch = true;\n @Input() enhanveOnHover = false;\n @Input() inputId = '';\n @Input() onlyDescription = false;\n @Input() loading: boolean = false; \n autocomp = false;\n autocompIdx = -1;\n defaultPos;\n timer;\n defaultWidth = \"306px\";\n\n onChange: any = () => { /*Empty*/ };\n onTouched: any = () => { /*Empty*/ };\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.autocomp && this.autoSearchResults.length) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.autoSearchResults = [];\n this.autocomp = false;\n }\n }\n }\n\n ngOnInit(): void {\n document.documentElement.style.setProperty('--height', `${this.height}`); \n this.form = new FormGroup({\n searchInput: new FormControl('')\n });\n \n }\n\n ngAfterViewInit(): void {\n this.setWidthToMainDiv();\n }\n\n get searchInput() {\n return this.internalValue;\n }\n\n set searchInput(val: any) {\n if (val === undefined || val === null || val === '') {\n this.internalValue = '';\n this.onChange(undefined);\n return;\n }\n this.internalValue = val;\n this.form.controls.searchInput.setValue(val);\n this.onChange(val);\n }\n\n setWidthToMainDiv(): void {\n if (this.width) {\n document.getElementById(`div-${this.inputId}`).setAttribute(\"style\",`width:${this.width}`);\n } else {\n document.getElementById(`div-${this.inputId}`).setAttribute(\"style\",`width:${this.defaultWidth}`);\n }\n }\n\n writeValue(val: any): void {\n this.defaultValue = val;\n this.onChange(val);\n this.internalValue = val;\n this.form.controls.searchInput.setValue(val);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n downList(event): void {\n if (this.autocomp === false) {\n return;\n }\n if ((event.keyCode === 40 || event.keyCode === 38 || event.keyCode === 27)) {\n switch (event.keyCode) {\n case 40:\n if (this.autocompIdx < this.autoSearchResults.length - 1) {\n this.autocompIdx += 1;\n }\n break;\n case 38:\n if (this.autocompIdx > 0) {\n this.autocompIdx -= 1;\n }\n break;\n case 27:\n this.autocomp = false;\n this.autocompIdx = -1;\n return;\n }\n this.updateSearchInput();\n }\n }\n\n setFilter() {\n this.searchProduct();\n }\n\n selectAutocomplete() {\n this.searchProduct(this.autocompIdx);\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n\n pointerSelection(idx: number): void {\n this.autocompIdx = idx;\n }\n\n patchInputValue(index?: number): void {\n this.autocomp = false;\n this.updateSearchInput();\n this.searchProduct(index);\n this.form.controls.searchInput.setValue('');\n this.autocompIdx = -1;\n }\n\n updateSearchInput(): void {\n let description;\n if (this.autoSearchResults[this.autocompIdx][this.value]) {\n description = this.autoSearchResults[this.autocompIdx][this.value];\n } else {\n description = this.autoSearchResults[this.autocompIdx]['name'];\n }\n const plainText = description\n .replace(//g, '')\n .replace(/<\\/strong>/g, '');\n this.form.controls.searchInput.setValue(plainText);\n this.writeValue(this.form.value.searchInput);\n }\n\n searchProduct(index?: number) {\n if (this.form.value.searchInput.length >= 3) {\n this.autocomp = false;\n if (!this.emitIndex) {\n this.ElementSelected.emit(this.form.value.searchInput);\n }\n if (this.emitIndex && (index || index === 0)) {\n this.ElementSelected.emit({ value: this.form.value.searchInput, index, result: this.autoSearchResults[index] });\n }\n }\n }\n\n searchAutocomplete(event: string | number): void {\n clearTimeout(this.timer);\n\n this.timer = setTimeout(() => {\n const searchTxt = String(event);\n if (searchTxt.trim().length > 2) {\n this.autocompleteSearch.emit(searchTxt);\n this.autocomp = true;\n } else {\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n if (searchTxt.trim().length > 0) {\n this.toggleClearButton.emit(true);\n }else{\n this.toggleClearButton.emit(false);\n }\n }, 800)\n }\n\n resetValue() {\n this.form = new FormGroup({\n searchInput: new FormControl('')\n });\n }\n\n closeDropdown() {\n this.autocomp = false;\n }\n}\n","\n
\n
\n \n
\n
\n \"Logo\n
\n \"Imagem\n \"Imagem\n
\n
\n
\n
\n {{ dataForm.nickname }}\n
\n
\n {{ dataForm?.name }}\n
\n
\n {{ dataForm?.technical_designation }}\n
\n
\n
\n
    \n
  • \n \n \n \n

    Creci:

    \n

    {{ dataForm?.creci }}

    \n
  • \n
  • \n \n \n \n

    Empresa:

    \n

    21}\"\n [matTooltip]=\"dataForm.company\"\n [matTooltipPosition]=\"'above'\"\n [matTooltipClass]=\"'link-card-tooltip'\">\n {{ dataForm.company }}\n

    \n
  • \n
\n
\n
\n \n
\n
\n
","import { Component, Input, Output, EventEmitter, ViewEncapsulation, OnInit } from '@angular/core';\nimport { Profile } from '../../../core/models/profile';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { LoginService } from 'lps-navigation';\n\n@Component({\n selector: 'app-broker-profile-card',\n templateUrl: './broker-profile-card.component.html',\n styleUrls: ['./broker-profile-card.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class BrokerProfileCardComponent implements OnInit {\n\n @Input()\n public isModal = false;\n\n @Input()\n public dataForm?: Profile;\n\n @Output()\n public send = new EventEmitter();\n\n readonly messageInvalidCreci: string = 'Não será possível compartilhar o cartão, pois o CRECI está inválido.';\n public profileDefault = 'https://bucketsquadcrm.s3.amazonaws.com/default_images/profile_default.jpg';\n public url = `${window.location.host}`;\n public isMobile: boolean;\n public uriLopes: string;\n public uri: string;\n\n constructor(\n public environmentService: EnvironmentService\n ) { }\n\n ngOnInit() {\n this.isMobile = document.body.offsetWidth < 768;\n this.uriLopes = `${this.environmentService.getEnvVar('base_url_portal')}associado/${this.dataForm.nickname}`;\n this.uri = `${this.environmentService.getEnvVar('uri_lopes')}/associado/${this.dataForm.nickname}`;\n }\n \n}\n","\n\n\n
\n \n
\n
\n\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\n@Component({\n selector: 'app-button-option',\n templateUrl: './button-option.component.html',\n styleUrls: ['./button-option.component.scss']\n})\nexport class ButtonOptionComponent {\n\n @Input() public options = {\n iconLeft: '',\n iconRight: '',\n isIcon: false,\n listOptions: []\n }\n\n @Output() public clickAction = new EventEmitter();\n\n public showModal = false;\n public countOption = 0;\n\n public openModal(): void {\n this.showModal = !this.showModal;\n }\n\n public sendOption(data: string, index: number) {\n this.countOption = index;\n this.showModal = false;\n this.clickAction.emit(data);\n }\n}","\n","import {Component, Input, OnInit} from '@angular/core';\nimport {CommunicationProxyService} from '../../services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../enum/communication-subject-enum';\nimport {ManagerFiltersControls, ManagerFilterType} from '../../../home/manager-filters/manager-filters.component';\n\n@Component({\n selector: 'app-buttons-filters',\n templateUrl: './buttons-filters.component.html',\n styleUrls: ['./buttons-filters.component.scss']\n})\nexport class ButtonsFiltersComponent implements OnInit {\n\n @Input() icon: string;\n @Input() maxWidth = false;\n @Input() isDisabled = false;\n @Input() isActive = false;\n @Input() type: ManagerFilterType;\n\n constructor(private communicationProxyService: CommunicationProxyService) { }\n\n ngOnInit(): void {\n this.communicationProxyService\n .subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (message: any) => {\n return this.setActiveFilter(message.message);\n });\n }\n\n setActiveFilter(filtersControls: ManagerFiltersControls) {\n if (filtersControls && filtersControls.type === this.type) {\n return this.isActive = true;\n }\n this.isActive = false;\n }\n\n}\n","
\n

Tipo

\n \n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { RequestAction, MenuAction } from 'src/app/core/models/calendar.model';\n\n@Component({\n selector: 'app-button-list',\n templateUrl: './buttons-list.component.html',\n styleUrls: ['./buttons-list.component.scss']\n})\n\nexport class ButtonsListComponent {\n\n @Input() public indexId = null;\n @Input() public listActions: MenuAction [] = [];\n @Output() public sendAction = new EventEmitter();\n\n\n public actionItem(index: number): void {\n this.indexId = index;\n this.listActions.forEach((x: MenuAction, i: number) => {\n if (index === i) {\n x.select = true;\n } else {\n x.select = false;\n }\n });\n this.sendAction.emit({index, list: this.listActions});\n }\n \n \n}","
\n
\n
\n

{{popObject.title}}

\n

\n {{popObject.description}}\n

\n
\n
\n
\n \n {{btn.title}}\n \n \n \n {{btn.title}}\n \n \n \n

\n {{btn.title}}\n

\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ButtonsPopupModel } from './buttons-popup.model';\nimport { ButtonsPopupService } from './service/buttons-popup.service';\n\n@Component({\n selector: 'app-buttons-popup',\n templateUrl: './buttons-popup.component.html',\n styleUrls: ['./buttons-popup.component.scss']\n})\nexport class ButtonsPopupComponent implements OnInit {\n public popObject: ButtonsPopupModel;\n\n constructor(private twoBtnService: ButtonsPopupService) { }\n\n ngOnInit() {\n this.twoBtnService.twoBtnSubject.subscribe(state => {\n this.popObject = state;\n });\n }\n\n clearState() {\n this.popObject = null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { ButtonsPopupModel } from '../buttons-popup.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ButtonsPopupService {\n public twoBtnSubject = new Subject();\n\n show(model: ButtonsPopupModel) {\n this.twoBtnSubject.next(model);\n }\n}\n","
\n
\n \n
\n

{{ month }} {{ activeViewYear }}

\n
\n \n
\n
\n

{{ wDay }}

\n
\n
\n
\n

{{ weekDay.day }}

\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CalendarYearModel, CalendarMonthModel, CalendarModel, MONTH } from 'src/app/core/models/calendar.model';\n\n@Component({\n selector: 'app-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss']\n})\nexport class CalendarComponent implements OnInit {\n\n private activeViewMonth: number;\n public activeViewYear: number;\n\n @Input() calendar: CalendarModel;\n @Input() activeDay: number;\n\n @Output() public selectDate = new EventEmitter<{year: number, month: number, day: number}>();\n\n @Input() set activeYear(y: number) {\n this.activeViewYear = y;\n this.setViewMonth();\n }\n\n @Input() set activeMonth(m: number) {\n this.activeViewMonth = m;\n this.setViewMonth();\n }\n\n public viewMonth: CalendarMonthModel;\n\n public weekDays = [ 'D', 'S', 'T', 'Q', 'Q', 'S', 'S' ];\n public month = '';\n public initialDay: number;\n\n ngOnInit(): void {\n this.setViewMonth();\n }\n\n public setViewMonth(): void {\n this.month = MONTH[this.activeViewMonth];\n this.initialDay = this.activeDay;\n\n\n this.calendar.years.forEach((y: CalendarYearModel, yi: number) => {\n if (y.year === this.activeViewYear) {\n y.months.forEach((m: CalendarMonthModel, mi: number) => {\n if (m.month === this.activeViewMonth) {\n this.viewMonth = JSON.parse(JSON.stringify(this.calendar.years[yi].months[mi]));\n this.completeEdges(yi, mi);\n return;\n }\n });\n }\n });\n }\n\n public completeEdges(yi: number, mi: number): void {\n const viewMonthFirstWeekLen = this.calendar.years[yi].months[mi].weeks[0].days.length;\n const viewMonthLastWeekLen = this.calendar.years[yi].months[mi].weeks[this.calendar.years[yi].months[mi].weeks.length - 1].days.length;\n const viewMonthLastWeekIdx = this.calendar.years[yi].months[mi].weeks.length - 1;\n let nextMonthIdx = mi + 1;\n let lastMonthIdx = mi - 1;\n let nextYearIdx = yi;\n let lastYearIdx = yi;\n if (mi === 0) {\n lastMonthIdx = 11;\n lastYearIdx = yi - 1;\n }\n if (mi === 11) {\n nextMonthIdx = 0;\n nextYearIdx = yi + 1;\n }\n const firstWeekEdge = this.calendar.years[lastYearIdx].months[lastMonthIdx].weeks.length - 1;\n if (viewMonthFirstWeekLen < 7) {\n const iDays = JSON.parse(JSON.stringify(this.calendar.years[lastYearIdx].months[lastMonthIdx].weeks[firstWeekEdge].days));\n iDays.forEach(day => day.notActive = true);\n const d = iDays.concat(this.calendar.years[yi].months[mi].weeks[0].days);\n this.viewMonth.weeks[0].days = d;\n }\n if (viewMonthLastWeekLen < 7) {\n const iDays = JSON.parse(JSON.stringify(this.calendar.years[nextYearIdx].months[nextMonthIdx].weeks[0].days));\n iDays.forEach(day => day.notActive = true);\n this.viewMonth.weeks[viewMonthLastWeekIdx].days = this.viewMonth.weeks[viewMonthLastWeekIdx].days.concat(iDays);\n }\n }\n\n public clickDay(weekDay: { notActive: boolean; day: number; }) {\n if (weekDay.notActive) {\n if (weekDay.day < 10 ) { this.activeViewMonth++; }\n if (weekDay.day > 20 ) { this.activeViewMonth--; }\n }\n this.initialDay = weekDay.day;\n this.selectDate.emit({\n year: this.activeViewYear,\n month: this.activeViewMonth,\n day: weekDay.day\n });\n }\n\n public clickBack() {\n if (this.activeViewMonth <= 0) {\n return;\n }\n this.activeViewMonth--;\n this.month = MONTH[this.activeViewMonth];\n this.selectDate.emit({\n year: this.activeViewYear,\n month: this.activeViewMonth,\n day: this.initialDay\n });\n }\n\n public clickNext() {\n if (this.activeViewMonth >= 11) {\n return;\n }\n this.activeViewMonth++;\n this.month = MONTH[this.activeViewMonth];\n this.selectDate.emit({\n year: this.activeViewYear,\n month: this.activeViewMonth,\n day: this.initialDay\n });\n }\n\n\n}\n","
\n
\n
\n

Captar unidade

\n
\n
\n \"close\n
\n
\n
\n
\n
\n
\n
\n
\n Tipo de imóvel / subtipo *\n \n
\n \n
\n \n
\n
\n \n Campo obrigatório\n
\n
\n
\n Utilização *\n
\n \n \n
\n
\n \n Campo obrigatório\n
\n
\n
\n
\n

Metragens

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

Características

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n Cancelar\n Aplicar\n
\n
\n
\n","import { Component, OnInit, Output, EventEmitter, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { PropertiesService } from 'src/app/properties/service/properties.service';\n\nimport { listProperties, removeCaracter } from '../../../../core/constants/properties-const';\n\nimport { fieldsTypeUnit } from '../../../../core/constants/fields-type-unit';\n\n@Component({\n selector: 'app-capture-unit-product-modal',\n templateUrl: 'capture-unit-product-modal.component.html',\n styleUrls: ['./capture-unit-product-modal.component.scss']\n})\nexport class CaptureUnitProductModalComponent implements OnInit {\n\n\n public closeDropDown = false;\n public returnForm = false;\n\n public listImoveis = listProperties;\n public dataValue = null;\n public titleList: string;\n public code: number;\n public form: FormGroup;\n public removeCaracter = removeCaracter;\n\n public fields = {\n useful_area: { show: false, required: false },\n total_area: { show: false, required: false },\n manufacturing_area: { show: false, required: false },\n carpet_area: { show: false, required: false },\n patio_area: { show: false, required: false },\n right_foot: { show: false, required: false },\n bedroom: { show: false, required: false },\n suite: { show: false, required: false },\n bathroom: { show: false, required: false },\n car_spaces: { show: false, required: false },\n living_room: { show: false, required: false },\n kitchen_pantry: { show: false, required: false },\n kitchen: { show: false, required: false },\n docks: { show: false, required: false },\n mezzanine: { show: false, required: false },\n number_floors: { show: false, required: false }\n };\n\n constructor(\n private formBuilder: FormBuilder,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data\n ) { }\n\n ngOnInit(): void {\n this.unitForm();\n if (this.data.type) {\n this.assigningValue(this.data.type);\n }\n }\n\n\n // 88050150\n public unitForm(): void {\n this.form = this.formBuilder.group({\n id: this.data.unit?.id ? this.data.unit?.id : [null],\n typeCode: this.data.unit?.typeCode ? this.data.unit?.typeCode : [null],\n commercial: this.data.unit?.commercial ? this.data.unit?.commercial : false,\n residential: this.data.unit?.residential ? this.data.unit?.residential : false,\n useful_area: this.data.unit?.useful_area ? this.data.unit?.useful_area : [null],\n total_area: this.data.unit?.total_area ? this.data.unit?.total_area : [null],\n manufacturing_area: this.data.unit?.manufacturing_area ? this.data.unit?.manufacturing_area : [null],\n carpet_area: this.data.unit?.carpet_area ? this.data.unit?.carpet_area : [null],\n patio_area: this.data.unit?.patio_area ? this.data.unit?.patio_area : [null],\n right_foot: this.data.unit?.right_foot ? this.data.unit?.right_foot : [null],\n bedroom: this.data.unit?.bedroom ? this.data.unit?.bedroom : [null],\n suite: this.data.unit?.suite ? this.data.unit?.suite : [null],\n bathroom: this.data.unit?.bathroom ? this.data.unit?.bathroom : [null],\n car_spaces: this.data.unit?.car_spaces ? this.data.unit?.car_spaces : [null],\n living_room: this.data.unit?.living_room ? this.data.unit?.living_room : [null],\n kitchen_pantry: this.data.unit?.kitchen_pantry ? this.data.unit?.kitchen_pantry : [null],\n kitchen: this.data.unit?.kitchen ? this.data.unit?.kitchen : [null],\n docks: this.data.unit?.docks ? this.data.unit?.docks : [null],\n mezzanine: this.data.unit?.mezzanine ? this.data.unit?.mezzanine : [null],\n number_floors: this.data.unit?.number_floors ? this.data.unit?.number_floors : [null],\n });\n }\n\n public sendingDataForm(): void {\n Object.keys(this.form.controls).forEach((x: string) => {\n if (this.form.get(x).value === '' || this.form.get(x).value === null) {\n this.validFormNotRequired(x);\n this.verificationFieldValid(x);\n }\n });\n if (!this.form.get('commercial').value && !this.form.get('residential').value) {\n this.form.get('residential').setErrors({required: true});\n this.form.get('commercial').setErrors({required: true});\n } else {\n this.form.get('residential').setErrors(null);\n this.form.get('commercial').setErrors(null);\n }\n if (this.form.valid) {\n localStorage.setItem('form', JSON.stringify(this.form.value));\n this.dialogRef.close(this.form);\n }\n }\n\n private verificationFieldValid(x: string) {\n const listType = [3, 28, 30, 31, 32, 21, 34, 2, 26, 27, 29, 33, 35, 17, 36, 8, 7, 19, 5, 38, 40, 41, 42, 44, 39, 4, 43, 23];\n if (listType.find(type => type === this.form.get('typeCode').value)) {\n const fieldsToValidation = Object.keys(this.fields).map((fieldName: string) => {\n if (this.fields[fieldName].required) { return fieldName; }\n });\n this.applicationValidatorField(fieldsToValidation.filter(Boolean), x);\n } else {\n this.applicationValidatorField(['typeCode'], x);\n }\n }\n\n private applicationValidatorField(list: string[], compared: string) {\n if (list.length) {\n list.forEach(x => {\n if (compared === x) {\n this.form.get(x).setErrors({ required: false });\n }\n });\n }\n }\n\n private validFormNotRequired(x: string): void {\n if (x === 'state' || x === 'city') {\n this.form.get(x).setErrors({ required: false });\n }\n }\n\n public assigningValue(data: any): void {\n this.titleList = data.item;\n this.closeDropDown = false;\n this.code = data.code;\n this.form.get('typeCode').setValue(data.code);\n const validationForms = fieldsTypeUnit.find(form => form.typeId === data.code);\n validationForms.fields.forEach(field => {\n this.fields[field.name].show = field.show;\n this.fields[field.name].required = field.required;\n });\n }\n\n}\n","
\n
\n

{{ titleModal }}

\n \n \n
\n
\n \n
\n
\n

\n {{ unitString }}\n

\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material';\n\nimport { listProperties } from '../../../core/constants/properties-const';\nimport { CaptureUnitProductModalComponent } from './capture-unit-product-modal/capture-unit-product-modal.component';\n\n@Component({\n selector: 'app-capture-unit-product',\n templateUrl: './capture-unit-product.component.html',\n styleUrls: ['./capture-unit-product.component.scss'],\n})\nexport class CaptureUnitProductComponent implements OnInit {\n constructor(public dialog: MatDialog) {}\n\n public titleModal = 'Tipo de Unidade';\n\n public unit;\n public listImoveis = listProperties;\n public unitString = '';\n public openDropDown = false;\n private type: any = {};\n\n ngOnInit(): void {}\n\n public openDropdown() {\n this.openDropDown = !this.openDropDown;\n }\n\n openDialog() {\n const data = {\n unit: this.unit ? this.unit : null,\n type: this.type.item ? this.type : null,\n };\n\n const dialogRef = this.dialog.open(CaptureUnitProductModalComponent, {\n height: '700px',\n width: '850px',\n data\n });\n\n this.openDropDown = false;\n\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.unit = result.value;\n this.listImoveis.forEach((i) => {\n i.listItems.forEach((item) => {\n if (item.code === this.unit.typeCode) {\n this.type.title = i.title;\n this.type.item = item.item;\n this.type.code = item.code;\n }\n });\n });\n\n this.unitString = `${this.type.title} / ${this.type.item} `;\n if (this.unit.total_area) {\n this.unitString += `/ ${this.unit.total_area}m² `;\n }\n if (this.unit.useful_area) {\n this.unitString += `sendo ${this.unit.useful_area}m² de área útil `;\n }\n if (this.unit.bedroom) {\n this.unitString += `/ ${this.unit.bedroom} dormitórios `;\n }\n if (this.unit.suite) {\n this.unitString += `/ ${this.unit.suite} vagas `;\n }\n if (this.unit.bathroom) {\n this.unitString += `/ ${this.unit.bathroom} banheiros `;\n }\n if (this.unit.car_spaces) {\n this.unitString += `/ ${this.unit.car_spaces} vagas `;\n }\n }\n });\n }\n\n closeDialog() {\n this.dialog.closeAll();\n }\n}\n","
\n
\n \"card-image\"\n
\n
\n {{card.title}}\n {{card.message}}\n
\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-card-info',\n templateUrl: './card-info.component.html',\n styleUrls: ['./card-info.component.scss']\n})\nexport class CardInfoComponent {\n @Input() card = {image: '', title: '', message: ''};\n}\n","
\n

{{data.title}}

\n
\n

\n
\n
\n {{data.okBtn ? data.okBtn : 'Ok'}}\n {{data.cancelBtn ? data.cancelBtn : 'Cancelar'}} \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\n\n@Component({\n selector: 'app-default-dialog',\n templateUrl: './default-dialog.component.html',\n styleUrls: ['./default-dialog.component.scss']\n})\nexport class DefaultDialogComponent implements OnInit {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data) {}\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit() {}\n\n}\n","
\n
\n

{{ item.name }}

\n
\n \n \"Quente\"\n \n \"Morno\"\n \n \"Frio\"\n
\n

{{ item.interest }}

\n
\n
\n \n
\n
\n

{{ item.name }}

\n
\n
\n

{{ item.product ? item.product : 'Sem produto' }}

\n
\n {{ item.phone.ddi }} {{ item.phone.phone }}\n {{ item.email }}\n
\n
\n\n
\n
\n
\n
\n

Atualização: {{ item.last_update_date | date:'dd/MM/yy HH:mm':'GMT' }}

\n

Retorno {{ item.date_return }}

\n

Visita: {{ item.visit_date | date:'dd/MM/yy HH:mm':'GMT'}}

\n

Contato: {{ item.contact | date:'dd/MM/yy HH:mm':'GMT'}}

\n

Corretor: {{ item.user_nickname ? item.user_nickname : 'Sem Corretor' }}

\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
","import { Component, Output, EventEmitter, Input, OnInit } from '@angular/core';\nimport { Platform } from '@angular/cdk/platform';\n\nimport { Facs, Badges, Favorite, SendOpenModal } from 'src/app/core/models/facs.model';\n\n@Component({\n selector: 'app-dnd-card',\n templateUrl: './dnd-card.component.html',\n styleUrls: ['./dnd-card.component.scss']\n})\nexport class DndCardComponent implements OnInit {\n\n @Output() public sendDrag = new EventEmitter();\n @Output() public sendFavorite = new EventEmitter();\n @Output() public openModal = new EventEmitter();\n @Input() public item: Facs;\n @Input() public feature = true;\n @Input() public isLeader;\n\n public iconStand: Badges;\n public iconCorp: Badges;\n public iconProduct: Badges;\n\n public cursors = false;\n public isMobile = false;\n\n constructor(public platform: Platform) {}\n\n ngOnInit() {\n this.mobile();\n this.getHours();\n }\n\n public mobile() {\n if (this.platform.ANDROID || this.platform.IOS) {\n this.isMobile = true;\n }\n }\n\n public getHours() {\n for (const key in this.item) {\n if (this.item.hasOwnProperty(key)) {\n this.initTime(key, this.item[key]);\n }\n }\n }\n\n private initTime(key, hora) {\n switch (key) {\n case 'last_update_date':\n this.item.last_update_date = hora;\n break;\n case 'contact':\n this.item.contact = hora;\n break;\n case 'visit_date':\n this.item.visit_date = hora;\n break;\n }\n }\n\n public selectFav() {\n this.item.is_favorite = !this.item.is_favorite;\n this.sendFavorite.emit({\n id: this.item.id,\n is_favorite: this.item.is_favorite\n });\n }\n\n public sendOpenModal(event, flag: boolean) {\n event.stopPropagation();\n if (flag) {\n this.openModal.emit({ id: this.item.id, openModal: flag});\n } else {\n return false;\n }\n }\n\n public dragAction() {\n this.sendDrag.emit(false);\n this.cursors = true;\n }\n\n}\n","
\n
\n
\n
\n \n
\n

{{ item.data }}

\n \"Seta\"\n \n \"Seta\n \n \"Seta\n
\n
\n
\n\n
\n \n
\n
\n

{{ item.data }}

\n
\n
\n\n \n
\n\n
\n \n
\n \n
\n \n

{{ item.data }}

\n \"Seta\"\n\n \n \"Seta\n\n \n \"Seta\n
\n
\n
\n\n
\n
\n \n

{{ data.name }}

\n
\n
\n\n
\n
\n

{{ data.product ? data.product : 'Sem produto' }}

\n
\n
\n\n
\n
\n

{{ data.funnel_stage.value + (data.interest ? ': ' + data.interest : '') }}

\n
\n
\n\n \n
\n
\n

{{ data.user_nickname }}

\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \"Icone\n \"Icone\n \"Icone\n
\n
\n\n
\n
\n
\n \"Icone\n \"Icone\n \"Icone\n
\n
\n
\n\n
\n
\n

Atualização: {{ item.last_update_date | date:'dd/MM/yy HH:mm' }}

\n

Retorno: {{ item.date_return }}

\n

Visita: {{ item.visit_date | date:'dd/MM/yy HH:mm'}}

\n

Contato: {{ item.contact | date:'dd/MM/yy HH:mm'}}

\n
\n
\n\n
\n
\n \n
\n
\n\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\n\nimport { Facs, HeaderTableFacsV2 } from 'src/app/core/models/facs.model';\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\nimport { FacsService } from 'src/app/facs/service/facs.service';\nimport { HeaderTableFacs } from '../../../core/models/facs.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-dnd-table',\n templateUrl: './dnd-table.component.html',\n styleUrls: ['./dnd-table.component.scss']\n})\nexport class DndTableComponent implements OnInit {\n\n @Output() public openTable = new EventEmitter();\n @Output() public sendIndex = new EventEmitter();\n @Output() public selectOptions = new EventEmitter();\n @Output() public selectedItems = new EventEmitter();\n\n public index = 1;\n public page: number;\n public id: number;\n public clickAction = 0;\n public countColumn = 0;\n public dataOrder = {};\n\n public loader: boolean;\n public listHeaders = [];\n public CONST_LIST = ['person.name', 'offered_products.name', 'funnel_stage.value', 'user.nickname', '', 'temperature.name'];\n public CONST_ASC = ['ASC', 'DESC'];\n\n public columnId = null;\n public isIndex = false;\n public isOrder = false;\n public featureV2 = false;\n public isCheckbox = false;\n public selectAllItems = false;\n public itemsSelected = [];\n public listBinding = [];\n\n @Input() public clearOrder: number;\n\n constructor(\n private snackService: SnackbarService,\n private service: FacsService,\n private environmentService: EnvironmentService,\n ) { }\n\n ngOnInit() {\n this.featureV2 = this.environmentService.getEnvVar('feature_table') === 'true';\n this.isCheckbox = this.environmentService.getEnvVar('feature_facs_table_checkbox') === 'true';\n this.startHeader();\n this.service.getOpen().subscribe(x => this.isIndex = x);\n this.service.getList().subscribe(resp => {\n if (this.clearOrder) {\n this.countColumn = 0;\n }\n if (this.featureV2) {\n if ((resp && resp.page_info && (resp.page_info.page_number === 0 || resp.page_info.page_number === 1)) || this.isOrder) {\n this.isOrder = true;\n this.index = 1;\n this.listBinding = [];\n }\n } else {\n if (resp && resp.page_info && (resp.page_info.page_number === 0 || resp.page_info.page_number === 1)) {\n this.listBinding = [];\n }\n }\n resp.payload.forEach((x: { facs: Facs[]; }) => x.facs.forEach((data: Facs) => this.listBinding.push(data)));\n this.listBinding = [...new Set(this.listBinding)];\n this.page = resp.page_info && resp.page_info.total_pages;\n this.loader = false;\n this.isOrder = false;\n });\n }\n\n private startHeader() {\n this.listHeaders = this.featureV2 ? HeaderTableFacsV2 : HeaderTableFacs;\n }\n\n public hoverEvent(event: number) {\n this.id = event + 1;\n }\n\n public copyToClipboard(item: string, type: string): void {\n const listener = (e: ClipboardEvent) => {\n e.clipboardData.setData('text/plain', item);\n e.preventDefault();\n };\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n this.snackService.show(`${type} copiado`, 'success');\n }\n\n public openModalTable(event: Event, flag: boolean, data) {\n event.stopPropagation();\n if (flag) {\n this.openTable.emit({\n id: data.id,\n openModal: flag,\n column: {\n value: data.funnel_stage.value,\n sub_items: []\n }\n });\n } else {\n return false;\n }\n }\n\n public getScroll(event: Event | any) {\n event.preventDefault();\n const heigth = ((100 * event.srcElement.scrollTop) / (event.srcElement.scrollHeight - event.srcElement.clientHeight));\n if (heigth >= 99) {\n if (this.loader) {\n return;\n } else {\n this.index += 1;\n if (this.index <= this.page) {\n this.loader = true;\n if (this.featureV2) {\n this.sendIndex.emit({\n index: this.index,\n data: this.dataOrder\n });\n } else {\n this.sendIndex.emit(this.index);\n }\n }\n }\n }\n }\n\n public finishedLoader(dataIndex: number) {\n if (dataIndex >= this.page) {\n return false;\n }\n }\n\n public actionHeader(event: Event | any, i: number) {\n if (i === null) {\n return;\n }\n if (i !== 0) {\n event.stopPropagation();\n this.requestColumn(i);\n this.requestOrder();\n }\n }\n\n public requestColumn(i: number) {\n if (i === null) {\n return;\n }\n if (this.columnId !== i) {\n this.countColumn = 0;\n }\n this.columnId = i;\n this.countColumn += 1;\n if (this.countColumn > 2) {\n this.countColumn = 0;\n }\n }\n\n public requestOrder() {\n if (this.columnId === 1 || this.columnId === 2 || this.columnId === 3 || this.columnId === 4 || this.columnId === 6) {\n this.isOrder = true;\n this.selectAllItems = false;\n this.selectOptions.emit(false);\n this.dataOrder = {\n order: [{\n field: this.CONST_LIST[this.columnId - 1],\n sort: this.CONST_ASC[this.countColumn - 1],\n }],\n listLength: 50\n };\n this.sendIndex.emit({\n index: 1,\n data: this.dataOrder\n });\n }\n }\n\n public selectAll() {\n if (this.isOrder) {\n return;\n } else {\n this.selectAllItems = !this.selectAllItems;\n this.listBinding.forEach(x => x.select = this.selectAllItems);\n if (this.selectAllItems) {\n if (this.itemsSelected.length === 0) {\n this.listBinding.forEach(fac => {\n this.itemsSelected.push(fac.id);\n });\n } else {\n this.listBinding.forEach(fac => {\n let exists = this.itemsSelected.includes(fac.id);\n if (!exists) {\n this.itemsSelected.push(fac.id);\n }\n });\n }\n } else {\n this.itemsSelected = [];\n }\n this.sendOpen(this.selectAllItems);\n this.selectedItems.emit(this.itemsSelected);\n }\n }\n\n public getClickItem(index: number): void {\n this.listBinding[index].select = !this.listBinding[index].select;\n this.listBinding.forEach((x, i) => {\n if (i === index) {\n if (!x.select) {\n this.itemsSelected.push(x.id);\n } else {\n let index = this.itemsSelected.indexOf(x.id, 0);\n this.itemsSelected.splice(index, 1);\n }\n x.select = !x.select;\n }\n });\n this.sendOpen(this.listBinding.filter(x => x.select).length >= 1);\n this.selectedItems.emit(this.itemsSelected);\n }\n\n public sendOpen(data: boolean): void {\n if (data) {\n this.selectOptions.emit(true);\n } else {\n this.selectOptions.emit(false);\n }\n }\n\n}\n","
\n \n
\n
\n
\n \"{{label}}\"\n

{{label}}

\n
\n
\n \"dropdown-arrow\"\n
\n
\n
\n \n
\n
\n","import { Component, Input, Output, EventEmitter, HostListener, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-dropdown-button',\n templateUrl: './dropdown-button.component.html',\n styleUrls: ['./dropdown-button.component.scss']\n})\nexport class DropdownButtonComponent {\n\n @Input() label = '';\n @Input() isOpen = false;\n @Input() alignRight = false;\n @Input() icon = '';\n @Input() closeOnClick = true;\n @Output() valueChange = new EventEmitter();\n @Input() color = '';\n @Input() floatOnMobile = false;\n @Input() public newHeight = false;\n @Input() public disabled = false;\n @Input() isRelative = true;\n @Input() id = 'dropdown-btn';\n\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.isOpen && this.closeOnClick) {\n if (!this.eRef.nativeElement.contains(ev.target) && !ev.target.className.includes('calendar')) {\n this.isOpen = false;\n this.valueChange.emit(this.isOpen);\n }\n }\n }\n\n constructor(private eRef: ElementRef) { }\n\n changeValue() {\n this.isOpen = !this.isOpen;\n this.valueChange.emit(this.isOpen);\n }\n\n}\n","
\n
\n \"icon-action\"\n
\n\n
\n \n
\n
\n","import { Component, Input, Output, HostListener, EventEmitter, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-dropdown-icon',\n templateUrl: './dropdown-icon.component.html',\n styleUrls: ['./dropdown-icon.component.scss']\n})\nexport class DropdownIconComponent {\n @Input() icon = '';\n @Input() iconTitle = '';\n @Input() isOpen = false;\n @Input() alignRight = false;\n @Input() noBorder = false;\n @Output() valueChange = new EventEmitter();\n\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n this.valueChange.emit(this.isOpen);\n }\n }\n }\n\n constructor(private eRef: ElementRef) { }\n\n changeValue() {\n this.isOpen = !this.isOpen;\n this.valueChange.emit(this.isOpen);\n }\n\n}\n","
\n
\n
\n \n \n \n

{{label}}

\n
\n
\n \"clear-icon\"\n \"dropdown-arrow\"\n
\n
\n
\n
\n \n
\n
    \n \n \n {{item}}\n \n \n
\n
\n
\n","import { Component, HostListener, Input, ElementRef, Output, EventEmitter } from '@angular/core';\n\ninterface InputListModel {\n value: string;\n name: string;\n}\n\n@Component({\n selector: 'app-dropdown-input-list',\n templateUrl: './dropdown-input-list.component.html',\n styleUrls: ['./dropdown-input-list.component.scss']\n})\nexport class DropdownInputListComponent {\n @Input() currentValue: InputListModel = {\n value: '',\n name: ''\n };\n @Input() isOpen = false;\n @Input() label = '';\n @Input() list: string[] = [];\n @Input() dropdownID = 'dropdown-radios';\n @Output() closeModal = new EventEmitter();\n @Output() valueChange = new EventEmitter();\n @Output() cleanValue = new EventEmitter();\n\n constructor(private eRef: ElementRef) { }\n\n @HostListener('document:click', ['$event'])\n\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n }\n }\n }\n\n changeValue() {\n this.valueChange.emit(this.currentValue);\n }\n\n close() {\n this.isOpen = false;\n this.closeModal.emit(this.isOpen);\n this.valueChange.emit(this.currentValue);\n }\n\n clearValue(ev) {\n ev.stopPropagation();\n this.currentValue = {\n value: '',\n name: ''\n };\n this.cleanValue.emit();\n }\n\n closeDropDown() {\n this.isOpen = !this.isOpen;\n }\n\n}\n","
\n \n \n\n
{{placeholder}}
\n \"seta\n \n\n \n
    \n
  • \n {{option.description}}\n
  • \n
\n
\n\n \n \n
","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\nexport interface SelectOption {\n id: string;\n description: string;\n}\n\n@Component({\n selector: 'app-dropdown-select',\n templateUrl: './dropdown-select.component.html',\n styleUrls: ['./dropdown-select.component.scss']\n})\nexport class DropdownSelectComponent {\n\n @Input() public control = new FormControl();\n @Input() public fieldName: string;\n @Input() public label: string;\n @Input() public hint: string;\n @Input() public placeholder: string;\n @Input() public options: Array;\n @Input() public showErrors: boolean;\n @Input() public showIconError = true;\n @Output() selectedOption = new EventEmitter();\n public arrowOpen = false;\n\n\n selectOption(optionId) {\n const selectedOption = this.options.find((option) => option.id === optionId);\n if (!selectedOption) {\n return;\n }\n if (this.control && this.fieldName) {\n this.control.setValue(selectedOption.id);\n }\n this.selectedOption.emit(selectedOption);\n }\n\n captureClickEvent() {\n this.arrowOpen = true;\n }\n\n checkIfFieldHasNotValueAndMarkAsTouched() {\n this.arrowOpen = false;\n this.control.markAsTouched();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropdownSelectComponent } from './dropdown-select.component';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { ValidMsgModule } from '../valid-msg/valid-msg.module';\n\n@NgModule({\n imports: [\n CommonModule,\n NgZorroAntdModule,\n ValidMsgModule\n ],\n declarations: [ DropdownSelectComponent ],\n exports: [ DropdownSelectComponent ]\n})\nexport class DropdownSelectModule {}\n","\n
\n
\n {{tag}}\n
\n \n
\n \"dropdown-arrow\"\n
\n
\n \n
\n
\n","import { Component, Input, Output, EventEmitter, HostListener, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-dropdown-tags',\n templateUrl: './dropdown-tags.component.html',\n styleUrls: ['./dropdown-tags.component.scss']\n})\n\nexport class DropdownTagsComponent {\n @Input() tags: string[] = [];\n @Input() disabled = false;\n @Input() id = '';\n @Input() invalid = false;\n @Output() removeTag = new EventEmitter<{tag: string, index: number}>();\n\n isOpen = false;\n\n constructor(private eRef: ElementRef) { }\n\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n }\n }\n }\n\n removeT(tag: string, index: number) {\n this.removeTag.emit({\n tag,\n index\n });\n this.isOpen = false;\n }\n\n openClose(ev) {\n ev.stopPropagation();\n this.isOpen = !this.isOpen;\n }\n}\n","
\n \n
\n {{ textTitle && textTitle.length ? textTitle : placeholder }}\n \n
\n \n \n\n
\n
","import { Component, Output, EventEmitter, HostListener, ElementRef, Input, OnInit } from '@angular/core';\n\nexport enum Position {\n above = 'above',\n below = 'below',\n right = 'right',\n left = 'left'\n}\n\n@Component({\n selector: 'app-select',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropDownComponent implements OnInit {\n\n\n @Output() sendSearch = new EventEmitter();\n @Output() clearDropDown = new EventEmitter();\n\n /**\n *\n * @exemple in EditModalSearchProfileComponent html\n *\n */\n\n /**\n * @param [field] List attribute that will be shown in the dropdown\n */\n @Input() public field: string;\n /**\n * @param [height] Dropdown size in px - Default 250 height\n */\n @Input() public height = 250;\n /**\n * @param [sizeList] this parameter applies a flag to the search input.\n */\n @Input() public sizeList = 3;\n /**\n * @see\n * NÃO É OBRIGATÓRIO.\n * Este parametro fornecerá uma segunda optição para visualização no dropdown\n * que não será enviado através de um objeto.\n *\n * @param [textOptions] this parameter applies a flag to the search input.\n * @exemplos field === equal ? default : alterantive;\n */\n @Input() public textOptions ?= {\n field: '',\n equal: '',\n default: '',\n alternative: ''\n };\n\n @Input() public inputHeight = '44px';\n\n @Input() public listItems = [];\n @Input() public labelText = '';\n @Input() public placeholder = 'Selecione';\n @Input() public disabled = false;\n @Input() public textTitle = '';\n @Input() public showSearch = true;\n @Input() public isRelative: false;\n @Input() public position: Position = Position.below;\n\n elHeight: number;\n public text = '';\n public fieldSeach = '';\n public showList = false;\n public listView = [];\n\n // select\n public index = -1;\n\n ngOnInit() {\n this.resize();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event) {\n this.resize();\n }\n\n @HostListener('document:keydown', ['$event'])\n onClick(ev: KeyboardEvent) {\n if (ev.code === 'Escape') {\n this.showList = false;\n }\n }\n\n private resize(): void {\n this.elHeight = this.eRef.nativeElement.getBoundingClientRect().width;\n }\n\n constructor(\n private eRef: ElementRef\n ) { }\n\n public openList() {\n if (this.disabled) {\n return;\n }\n this.showList = !this.showList;\n this.text = '';\n this.index = -1;\n this.fieldSeach = '';\n }\n\n public textField(item): string {\n return item[this.textOptions.field] === this.textOptions.equal ? this.textOptions.alternative : this.textOptions.default;\n }\n\n public clearTitle(event: Event): void {\n event.stopPropagation();\n this.textTitle = '';\n this.text = '';\n this.index = -1;\n this.clearDropDown.emit();\n }\n\n public searchData(): void {\n this.listItems.forEach(x => {\n if (this.typeValidator(x).toLowerCase() === this.text.trim().toLowerCase()) {\n this.sendText(x);\n }\n });\n }\n\n public sendText(data): void {\n if (data) {\n this.showList = false;\n this.sendSearch.emit(data);\n this.textTitle = this.typeValidator(data);\n this.text = '';\n this.index = -1;\n }\n }\n\n public typeValidator(data) {\n return this.field ? data[this.field].trim() : data;\n }\n\n public searchInput(data: string): void {\n this.index = -1;\n this.fieldSeach = data.normalize('NFD').trim().toLowerCase();\n }\n\n public sendNewList(): any [] {\n if (!this.fieldSeach.length) {\n return this.listItems;\n }\n return this.filterList();\n }\n\n public filterList(): any [] {\n return this.listItems.filter(x => this.field ?\n x[this.field].normalize('NFD').toLowerCase().includes(this.fieldSeach)\n :\n x.normalize('NFD').toLowerCase().includes(this.fieldSeach));\n }\n\n public downList(event: KeyboardEvent | any) {\n this.listView = this.sendNewList();\n this.leaveEsc(event.keyCode);\n this.validKeyCode(event);\n if (event.keyCode === 13 && this.listView.length) {\n this.sendText(this.listView[this.index]);\n }\n }\n\n public leaveEsc(data: number): boolean {\n if (data === 27) {\n this.showList = false;\n return false;\n }\n }\n\n public validKeyCode(data: KeyboardEvent): boolean {\n if ((data.keyCode === 40 || data.keyCode === 38)) {\n if (this.indexFilter(this.index, this.listView.length, data, 40, 38)) {\n return false;\n }\n this.validIndex(data.keyCode);\n }\n }\n\n public validIndex(data: number): boolean {\n if (data === 40) {\n this.index += 1;\n return false;\n }\n if (data === 38) {\n this.index -= 1;\n return false;\n }\n }\n\n public indexFilter(index: number, listLength: number, event: KeyboardEvent | any, numberDown: number, numberUp: number): boolean {\n if ((index + 1 >= listLength) && event.keyCode === numberDown) {\n return true;\n }\n if ((index <= 0) && event.keyCode === numberUp) {\n return true;\n }\n return false;\n }\n\n\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dropdown' })\nexport class FilterPipe implements PipeTransform {\n\n transform(list: any[], data: any) {\n data.text = data.text && data.text.normalize('NFD').trim().toLowerCase();\n if (data.text) {\n return this.listReturned(list, data);\n } else {\n return list;\n }\n }\n\n private listReturned(list: any[], data): any[] {\n return list.filter(x => data.type ?\n this.prepare(x[data.type]).includes(this.prepare(data.text))\n :\n this.prepare(x).includes(this.prepare(data.text)));\n }\n\n private prepare(value: string): string {\n if (value) {\n return this.removeAccents(value.normalize().toLowerCase());\n }\n return null;\n }\n\n private removeAccents(value: string) {\n return value\n .replace(/[áàãâä]/gi, 'a')\n .replace(/[éè¨ê]/gi, 'e')\n .replace(/[íìïî]/gi, 'i')\n .replace(/[óòöôõ]/gi, 'o')\n .replace(/[úùüû]/gi, 'u')\n .replace(/[ç]/gi, 'c')\n .replace(/[ñ]/gi, 'n')\n .replace(/[^a-zA-Z0-9]/g, ' ');\n }\n}\n","
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n {{facItem.person.name}}\n
\n \n \n \n
\n \n\n \n \n\n \n\n \n\n \n
\n
\n
\n\n
\n \n
\n\n\n\n\n","import { Component, OnInit, Input, Output, ViewEncapsulation, EventEmitter, OnDestroy } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\nimport { Tab } from 'commons-lib';\n\nimport { forkJoin, Subscription } from 'rxjs';\n\nimport { EditFacCombosModel, FullFacModel, EditFacFunnelStagesModel } from '../../../core/models/edit-fac-modal.model';\nimport { ButtonsPopupModel } from '../buttons-popup/buttons-popup.model';\nimport { FacsService } from 'src/app/facs/service/facs.service';\nimport { EditFacModalService } from './service/edit-fac-modal.service';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { validateCPF, validateDateRange, validateHaveCep } from '../../../core/validators/edit-fac-modal.validators';\nimport { ButtonsPopupService } from '../buttons-popup/service/buttons-popup.service';\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\nimport { OrderCard } from 'src/app/core/models/facs.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\n\n@Component({\n selector: 'app-edit-fac-modal',\n templateUrl: './edit-fac-modal.component.html',\n styleUrls: ['./edit-fac-modal.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class EditFacModalComponent implements OnInit, OnDestroy {\n\n @Input() public orderCard: OrderCard = {\n above_fac_id: null,\n below_fac_id: null\n };\n @Input() show = false;\n @Input() facdId = '';\n @Input() columnType: EditFacFunnelStagesModel = {\n value: '',\n sub_items: []\n };\n @Input() removeGlobalScroll = true;\n featureLogTab = this.environmentService.getEnvVar('feature_log_tab') === 'true';\n\n @Output() closeM = new EventEmitter();\n\n public filesToUpload: any[];\n public searchProfileEditObj = {\n id: null,\n idx: 0\n };\n\n public readonly modalDescriptions = {\n changed: 'Informações obrigatórias em vermelho não foram preenchidas e não serão salvas. Tem certeza que deseja sair?',\n same: 'As informações do registro da atividade não foram salvas. Tem certeza que deseja sair?'\n };\n\n public readonly popModal: ButtonsPopupModel = {\n title: 'Atenção',\n description: '',\n buttons: [\n {\n btnType: 3,\n title: 'Permanecer',\n func: () => { }\n },\n {\n btnType: 1,\n title: 'Sair',\n func: () => { this.closeModal(); }\n }\n ]\n };\n\n public tabs: Tab[] = this.featureLogTab ? [\n new Tab(0, true, 'Geral'),\n new Tab(1, false, 'Perfil de busca'),\n new Tab(2, false, 'Mais detalhes'),\n new Tab(3, false, 'Log')\n ] : [\n new Tab(0, true, 'Geral'),\n new Tab(1, false, 'Perfil de busca'),\n new Tab(2, false, 'Mais detalhes')\n ];\n\n public newFac = false;\n public combosList: EditFacCombosModel;\n public facItem: FullFacModel;\n public loaderSubscription: Subscription;\n public isLoading = true;\n public openModal = false;\n\n public renderFilesUploadModal = false;\n public uploadModalHidden = false;\n public showSearchProductModal = false;\n public showOfferedProduct = false;\n public showOriginLead = false;\n public operationMarkets: number;\n public showEmail = false;\n public geralForm: FormGroup;\n public moreInfoForm: FormGroup;\n public searchProfileForm: FormGroup;\n\n constructor(\n private favService: FacsService,\n private editFacService: EditFacModalService,\n private windowService: WindowScrollService,\n private formBuilder: FormBuilder,\n private btnsService: ButtonsPopupService,\n private snackbarService: SnackbarService,\n private environmentService: EnvironmentService,\n private googleTagService: GoogleTagManagerService\n ) { }\n\n public featureProductSheet = this.environmentService.getEnvVar('feature_product_sheet') === 'true';\n ngOnInit() {\n this.loaderSubscription = this.editFacService.getLoading().subscribe(state => this.isLoading = state);\n this.windowService.disable();\n this.facdId === '' ? this.newFac = true : this.newFac = false;\n this.checkOperationMarkets();\n this.loaderData();\n }\n\n private loaderData() {\n forkJoin(\n this.editFacService.getCombos(),\n this.editFacService.getFacById(this.facdId)\n ).subscribe(resp => {\n this.combosList = resp[0];\n this.facItem = resp[1];\n this.sendGATagOnOpenFAC();\n\n if (!this.columnType.value) {\n this.columnType = this.facItem.funnel_stage;\n }\n if (this.facItem.badges) {\n if (this.facItem.badges.some(item => item.name === 'REAL_STATE_DEVELOPER_SELLER')) {\n this.snackbarService.show('Atenção: Esse é um lead do incorporador', 'warning');\n }\n }\n this.buildForm();\n this.editFacService.setLoader(false);\n }, err => {\n this.editFacService.setLoader(false);\n this.snackbarService.show(err.error.messages ? err.error.messages[0].message\n : 'Não foi possível obter os dados desta fac.', 'error');\n this.closeModal();\n });\n }\n\n ngOnDestroy() {\n if (this.removeGlobalScroll) {\n this.windowService.enable();\n }\n this.loaderSubscription.unsubscribe();\n }\n\n checkOperationMarkets(): void {\n if (this.editFacService.featureOperationMarkets) {\n this.editFacService.checkOpMarkets().subscribe((resp: string[]) => {\n let opMkts = 0;\n if (resp.includes('PRIMARY')) {\n opMkts++;\n }\n if (resp.includes('SECONDARY')) {\n opMkts += 2;\n }\n this.operationMarkets = opMkts;\n });\n } else {\n this.operationMarkets = 3;\n }\n }\n\n buildForm() {\n this.geralForm = this.formBuilder.group({\n column_type: [this.columnType],\n contact_type: [''],\n return_date: [{}],\n visit_date: this.formBuilder.group({\n date: [null],\n hour: [null]\n }),\n description: [''],\n attachments: [[]],\n products: [[]]\n });\n\n this.moreInfoForm = this.formBuilder.group({\n person: this.formBuilder.group({\n rg: [this.facItem.person.rg],\n cpf: [this.facItem.person.cpf ? this.facItem.person.cpf : null, [validateCPF]],\n occupation: [this.facItem.person.occupation],\n spouse: [this.facItem.person.spouse],\n birth_date: [this.facItem.person.birth_date ? this.formatDate(this.facItem.person.birth_date) : null, [validateDateRange]]\n }),\n address: this.formBuilder.group({\n zip_code: [this.facItem.address.zip_code, [Validators.minLength(8)]],\n street: [this.facItem.address.street, [validateHaveCep]],\n number: [this.facItem.address.number],\n neighborhood: [this.facItem.address.neighborhood, [validateHaveCep]],\n complement: [this.facItem.address.complement],\n city: [this.facItem.address.city],\n state: [this.facItem.address.state],\n })\n });\n\n this.searchProfileForm = this.formBuilder.group({\n business_type: [''],\n bedrooms: [[]],\n suites: [[]],\n garage_spaces: [[]],\n max_cash_value: [0],\n min_cash_value: [0],\n max_area_value: [0],\n min_area_value: [0],\n property_type: [''],\n state: [''],\n city: [''],\n neighborhood_or_value_zone: [{ type: '', value: '' }],\n comments: [''],\n });\n }\n\n formatDate(date) { // Add UTC offset to date\n const currentOffSet = (new Date().getTimezoneOffset() / 60);\n return date.replace('T00:00:00.000Z', `T${('0' + currentOffSet).slice(-2)}:00:00.000Z`);\n }\n\n setFavorite(favorite: boolean) {\n this.facItem.is_favorite = favorite;\n this.favService.puthFavorite(\n {\n id: this.facdId,\n is_favorite: favorite\n }\n ).subscribe(() => { });\n }\n\n openSearchProfileEdit(isEdit: boolean, index: number) {\n this.searchProfileForm.reset();\n this.facItem.search_profiles.forEach(x => {\n x.max_cash_value = parseFloat(x.max_cash_value + '');\n x.min_cash_value = parseFloat(x.min_cash_value + '');\n });\n if (isEdit) {\n for (const key in this.facItem.search_profiles[index]) {\n if (this.searchProfileForm.get(key)) {\n const element = this.facItem.search_profiles[index][key];\n this.searchProfileForm.get(key).patchValue(element);\n }\n }\n this.searchProfileEditObj = {\n id: this.facItem.search_profiles[index].id,\n idx: index\n };\n } else {\n this.searchProfileEditObj = {\n id: null,\n idx: index\n };\n }\n this.openModal = true;\n }\n\n checkCloseModal() {\n if (this.facItem.funnel_stage.value.toLocaleLowerCase() !== this.geralForm.get('column_type').value.value.toLocaleLowerCase()\n || this.geralForm.get('attachments').value.length > 0\n || this.geralForm.get('products').value.length > 0) {\n this.popModal.description = this.modalDescriptions.changed;\n this.btnsService.show(this.popModal);\n } else if (this.geralForm.pristine) {\n this.closeModal();\n } else {\n this.popModal.description = this.modalDescriptions.same;\n this.btnsService.show(this.popModal);\n }\n }\n\n closeModal() {\n this.closeM.emit(false);\n }\n\n selectTab(tab: Tab) {\n this.tabs.forEach((item) => {\n if (item.id === tab.id) {\n item.active = true;\n } else {\n item.active = false;\n }\n });\n }\n\n toggleFilesUpload(event: any) {\n if (this.renderFilesUploadModal) {\n this.uploadModalHidden = event;\n } else {\n this.renderFilesUploadModal = true;\n }\n }\n\n toggleSearchProduct(event: boolean) {\n this.showSearchProductModal = event;\n }\n\n addAttachments(event: any) {\n this.geralForm.get('attachments').patchValue(event);\n this.geralForm.get('attachments').markAsDirty();\n this.uploadModalHidden = true;\n }\n\n addSearchProducts(event: any[]) {\n this.geralForm.get('products').patchValue(event);\n this.geralForm.get('products').markAsDirty();\n }\n\n closeSearchProfile() {\n this.searchProfileForm.reset();\n this.openModal = false;\n }\n\n openOffered() {\n this.showOfferedProduct = true;\n }\n\n openOriginLead() {\n this.showOriginLead = true;\n }\n\n private sendGATagOnOpenFAC() {\n this.googleTagService.pushTag({\n event: 'event',\n eventCategory: 'gestao_fac',\n eventAction: 'clique:abrir:fac',\n eventLabel: `status: ${this.facItem.funnel_stage.value}`,\n dimension8: this.facItem.fac_number\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '../../shared.module';\nimport { CoreModule } from 'src/app/core/core.module';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { ModalMoreDetailsComponent } from './modal-more-details/modal-more-details.component';\nimport { EditFacModalComponent } from './edit-fac-modal.component';\nimport { ModalFilesUploadComponent } from './modal-files-upload/modal-files-upload.component';\nimport { ModalProductSearchComponent } from './modal-product-search/modal-product-search.component';\nimport { ModalSearchProfileComponent } from './modal-search-profile/modal-search-profile.component';\nimport { EditModalSearchProfileComponent } from './modal-search-profile/edit-modal-search-profile/edit-modal-search-profile.component';\nimport { EditFacModalService } from './service/edit-fac-modal.service';\nimport { FacsService } from 'src/app/facs/service/facs.service';\nimport { NzDatePickerModule } from 'ng-zorro-antd/date-picker';\nimport { NzTimePickerModule, NZ_I18N, pt_BR } from 'ng-zorro-antd';\nimport { DiscardPopupComponent } from './modal-geral-chat/discard-popup/discard-popup.component';\nimport { TransferPopupComponent } from './modal-geral-chat/transfer-popup/transfer-popup.component';\nimport { ClientChatComponent } from './modal-geral-chat/client-chat/client-chat.component';\nimport { ModalLogComponent } from './modal-log/modal-log.component';\nimport { ModalGeralChatComponent } from './modal-geral-chat/modal-geral.component';\nimport { FacHistoryChatComponent } from './modal-geral-chat/fac-history-chat/fac-history.component';\nimport { ModalOfferedProductComponent } from './modal-geral-chat/modal-offered-product/modal-offered-product.component';\nimport { ModalOriginLeadComponent } from './modal-geral-chat/modal-origin-lead/modal-origin-lead.component';\n\n@NgModule({\n declarations: [\n EditFacModalComponent,\n ModalMoreDetailsComponent,\n ModalFilesUploadComponent,\n ModalProductSearchComponent,\n ModalSearchProfileComponent,\n EditModalSearchProfileComponent,\n DiscardPopupComponent,\n TransferPopupComponent,\n ClientChatComponent,\n ModalOfferedProductComponent,\n ModalLogComponent,\n ModalGeralChatComponent,\n FacHistoryChatComponent,\n ModalOriginLeadComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n CoreModule,\n NgxMaskModule.forRoot({}),\n NzDatePickerModule,\n NzTimePickerModule\n ],\n exports: [\n EditFacModalComponent,\n ModalMoreDetailsComponent,\n ModalFilesUploadComponent,\n ModalProductSearchComponent,\n ModalSearchProfileComponent,\n EditModalSearchProfileComponent,\n ClientChatComponent,\n ModalOfferedProductComponent,\n ModalLogComponent,\n ModalGeralChatComponent,\n FacHistoryChatComponent,\n ModalOriginLeadComponent,\n TransferPopupComponent,\n DiscardPopupComponent\n ],\n providers: [\n EditFacModalService,\n FacsService,\n { provide: NZ_I18N, useValue: pt_BR }\n ]\n})\nexport class EditFacModalModule { }\n","
\n
\n
\n
\n Anexos\n 8\"\n (change)=\"verifyFiles('button')\"\n >\n \n
\n
\n
\n
0}\">\n \n \n
\n
\n
\n
\n \"icone_documento\"\n {{ file.fileExt }}\n
\n
\n \"{{\n
\n
\n \n \n \n
\n
\n
8}\">\n \n \n
\n
\n
\n

Máximo de arquivos permitidos: 09

\n

Tamanho máximo dos arquivos: 2MB

\n
\n \n
\n
\n
\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { SnackbarService } from '../../snackbar/service/snackbar.service';\nimport { AttachmentModel } from 'src/app/core/models/attachment.model';\n\n@Component({\n selector: 'app-modal-files-upload',\n templateUrl: './modal-files-upload.component.html',\n styleUrls: ['./modal-files-upload.component.scss']\n})\nexport class ModalFilesUploadComponent {\n\n @ViewChild('uploadBtnRef', { read: ElementRef, static: true }) uploadBtn: ElementRef;\n @ViewChild('gridUploadBtnRef', { read: ElementRef, static: true }) gridUploadBtn: ElementRef;\n @ViewChild('gridUploadBtn2Ref', { read: ElementRef, static: true }) gridUploadBtn2: ElementRef;\n\n @Input() hide: boolean;\n @Output() closeM: EventEmitter = new EventEmitter();\n @Output() finish: EventEmitter = new EventEmitter();\n\n attachedFiles: AttachmentModel[] = [];\n attachedFilesSession: AttachmentModel[] = [];\n allowedExtensions = [\n 'doc',\n 'docx',\n 'jpg',\n 'jpeg',\n 'pdf',\n 'png',\n 'ppt',\n 'pptx',\n 'xls',\n 'xlsx'\n ];\n\n private iconExt = {\n doc: 'word',\n docx: 'word',\n pdf: 'pdf',\n ppt: 'powerpoint',\n pptx: 'powerpoint',\n xls: 'excel',\n xlsx: 'excel'\n };\n\n constructor(private snackSvc: SnackbarService) { }\n\n async verifyFiles(source: string) {\n const filesArray: File[] = this.getSourceFiles(source);\n for (const file of filesArray) {\n const fileExtension = file.name.split('.').pop().toLowerCase();\n if (this.allowedExtensions.includes(fileExtension)) {\n if (file.size < 2097153) {\n const icon: string = this.iconExt[fileExtension] || null;\n const readFile = await this.getBase64(file);\n if (this.attachedFilesSession.length < 9) {\n if (this.verifyDuplicate(readFile)) {\n this.attachedFilesSession.push({\n name: file.name,\n file,\n fileExt: fileExtension,\n icon,\n content_type: file.type,\n content: readFile\n });\n } else {\n this.snackSvc.show('Arquivo duplicado.', 'error');\n }\n } else {\n this.snackSvc.show('Limite de arquivos atingido.', 'error');\n }\n } else {\n this.snackSvc.show('Limite máximo por arquivo é de 2MB.', 'error');\n }\n } else {\n this.snackSvc.show('Tipo de arquivo não permitido.', 'error');\n }\n }\n this.clearFileInputs();\n }\n\n getSourceFiles(source: string): File[] {\n if (source === 'grid' && this.gridUploadBtn.nativeElement.files && this.gridUploadBtn.nativeElement.files.length > 0) {\n return this.gridUploadBtn.nativeElement.files;\n }\n if (source === 'grid2' && this.gridUploadBtn2.nativeElement.files && this.gridUploadBtn2.nativeElement.files.length > 0) {\n return this.gridUploadBtn2.nativeElement.files;\n }\n if (source === 'button' && this.uploadBtn.nativeElement.files && this.uploadBtn.nativeElement.files.length > 0) {\n return this.uploadBtn.nativeElement.files;\n }\n return [];\n }\n\n verifyDuplicate(readFile: any): boolean {\n let unique = true;\n this.attachedFilesSession.forEach(attach => {\n if (attach.content === readFile) {\n unique = false;\n }\n });\n return unique;\n }\n\n clearFileInputs(): void {\n this.gridUploadBtn.nativeElement.value = '';\n this.gridUploadBtn2.nativeElement.value = '';\n this.uploadBtn.nativeElement.value = '';\n }\n\n removeAttachedFile(idx: number): void {\n if (this.attachedFilesSession.length === 0) {\n return;\n }\n this.attachedFilesSession.splice(idx, 1);\n }\n\n getBase64(baseFile: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(baseFile);\n reader.onload = (item: any) => {\n resolve(item.target.result);\n };\n reader.onerror = error => {\n reject(null);\n };\n });\n }\n\n confirmUpload() {\n const files = [];\n this.attachedFiles = this.attachedFilesSession.concat();\n this.attachedFiles.forEach(file => {\n files.push({\n name: file.name,\n content_type: file.content_type,\n content: file.content\n });\n });\n this.finish.emit(files);\n }\n\n cancelUpload() {\n this.closeM.emit(true);\n this.attachedFilesSession = this.attachedFiles.concat();\n }\n}\n","
\n
\n
\n \"Profile\"\n \"User\"\n {{message.sender_name}} em {{message.creation_date | date:'dd/MM/yyyy'}} às {{message.creation_date | date:'HH:mm'}}\n
\n \"whatsapp_ico\"\n \"email-progress_icon\"\n \"email-sent_icon\"\n \"email-sent_icon\"\n \"email-error_icon\"\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SnackbarService } from '../../../snackbar/service/snackbar.service';\nimport { EditFacModalService } from '../../service/edit-fac-modal.service';\n\n@Component({\n selector: 'app-client-chat',\n templateUrl: './client-chat.component.html',\n styleUrls: ['./client-chat.component.scss']\n})\nexport class ClientChatComponent {\n @Input() messages = [];\n @Output() resend = new EventEmitter();\n\n\n resendEmail(message) {\n this.resend.emit(message.id);\n }\n}\n","
\n
\n

Atenção

\n

Ao descartar uma fac você não poderá mais acessá-la

\n\n
\n

Razão do descarte

\n \n
    \n
  • \n

    {{item}}

    \n
  • \n
\n
\n
\n\n
\n

Observações

\n \n
\n\n
\n Cancelar\n Descartar\n
\n
\n
","import { Component, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, Validators } from '@angular/forms';\n\nimport { DiscardModel } from '../../../../../core/models/edit-fac-modal.model';\n\n@Component({\n selector: 'app-discard-popup',\n templateUrl: './discard-popup.component.html',\n styleUrls: ['./discard-popup.component.scss']\n})\n\nexport class DiscardPopupComponent {\n @Output() closeModal: EventEmitter = new EventEmitter();\n @Output() discartEvent: EventEmitter = new EventEmitter();\n\n public discardForm = this.formBuilder.group({\n reason: ['', [Validators.required]],\n observation: ['', [Validators.required]],\n discarded: [true]\n });\n public openReason = false;\n public dropDownOptions = [\n 'Corretor / Profissional',\n 'Perfil de teste',\n 'Não foi possível o contato',\n 'Contato Inexistente',\n 'Cliente solicitou exclusão',\n 'Outros',\n ];\n\n constructor(\n private formBuilder: FormBuilder\n ) { }\n\n setReason(value: string) {\n this.discardForm.get('reason').patchValue(value);\n this.discardForm.get('reason').updateValueAndValidity();\n }\n}\n","
\n \n
0\">\n
\n
\n
\n \"Profile\"\n \"User\"\n {{history.nickname}} em: {{history.record_time | date:'dd/MM/yyyy'}} às {{history.record_time | date:'HH:mm'}}\n
\n
\n
\n
\n Estágio\n {{history.record.funnel_stage}}\n
\n
\n
\n Tipo de contato:\n {{history.record.contact_type}}\n
\n
\n Retornar em:\n {{history.record.return_date | date: 'dd/MM/yyyy HH:mm'}}\n
\n
\n Visita em:\n {{history.record.visit_date | date:'dd/MM/yyyy HH:mm'}}\n
\n
\n
0\">\n Produtos Ofertados\n \n
\n
\n Observação\n \n
\n
\n
0\">\n Anexos\n
\n
\n \"\"\n {{ att.name.split('.').pop() }}\n
\n
\n\n
\n
\n
\n \n \n \n {{history.record.upload_status.upload_status_message}}\n
\n
\n
\n\n
\n
\n
\n
\n Descartou a fac\n
\n Razão do descarte\n {{history.record.reason}}\n
\n
\n Observação\n {{history.record.description}}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
0\">\n Não existe histórico de \"{{historyFilter.value.toLowerCase()}}\"\n
\n
\n \n
\n
\n {{facHistory.messages ? facHistory.messages[0].message : 'Não foi possível carregar o histórico, tente atualizar a página.'}}\n
\n
\n\n
\n \n
\n\n
","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n selector: 'app-fac-history-chat',\n templateUrl: './fac-history.component.html',\n styleUrls: ['./fac-history.component.scss']\n})\nexport class FacHistoryChatComponent implements OnChanges {\n @Input() facHistory;\n @Input() activitiesOnly = false;\n historyList = [];\n historyListFilter = [];\n historyFilterOpen = false;\n combosList = [\n {\n id: 1,\n value: 'Todos',\n type: 'all'\n },\n {\n id: 2,\n value: 'Contatos',\n type: 'contacts'\n },\n {\n id: 3,\n value: 'Dados cadastrais',\n type: 'registration_data'\n },\n {\n id: 4,\n value: 'Atividades',\n type: 'activities'\n },\n {\n id: 5,\n value: 'Outros',\n type: 'others'\n }\n ];\n\n private iconExt = {\n doc: 'word',\n docx: 'word',\n pdf: 'pdf',\n ppt: 'powerpoint',\n pptx: 'powerpoint',\n xls: 'excel',\n xlsx: 'excel'\n };\n\n historyFilter = {value: 'Filtros', type: 'all'};\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.facHistory && !changes.facHistory.firstChange) {\n this.historyList = this.facHistory;\n this.historyFilterMatch();\n }\n if (this.activitiesOnly) {\n this.historyFilter = {value: 'Atividades', type: 'activities'};\n this.historyFilterMatch();\n }\n }\n\n setFilter(item) {\n this.historyFilter = item;\n this.historyFilterOpen = false;\n this.historyFilterMatch();\n }\n\n historyFilterMatch() {\n this.historyListFilter = [];\n if (this.historyList && this.historyList.length > 0) {\n this.historyListFilter = this.historyList.filter(history => {\n if ((history.type === 'discard' || history.type === 'transfer') && this.historyFilter.type === 'others') {\n return true;\n }\n if (history.type === this.historyFilter.type || this.historyFilter.type === 'all') {\n return true;\n }\n return false;\n });\n }\n }\n\n downloadFile(item) {\n const a = document.createElement('a');\n a.href = item.url;\n a.target = '_blank';\n a.download = item.name;\n // start download\n a.click();\n }\n\n setFilePreview(item) {\n let icon = null;\n icon = this.isNotImage(item) || null;\n if (!icon) {\n return item.url;\n } else {\n return `../../../../assets/svgs/${icon}.svg`;\n }\n }\n\n isNotImage(item) {\n return this.iconExt[item.name.split('.').pop()];\n }\n}\n","
\n
\n
\n
\n \n
    \n
    \n
  • {{item.value}}
  • \n
  • \n {{item.value}}\"dropdown_arrow_ico\" \n
  • \n
    \n
\n\n
    \n
    \n
  • {{sub}}
  • \n
    \n
\n
\n
\n\n
\n \n
    \n
  • \n \"{{getTempIcon(item.name)}}\"\n {{item.name}}\n
  • \n
\n
\n
\n\n
\n \n
    \n
  • Arquivar
  • \n
  • Desarquivar
  • \n
  • Descartar
  • \n
  • Transferir
  • \n
\n
\n
\n
\n\n
\n
\n {{tag.name}}\n \n \n \n
\n
\n\n
\n
\n \n \n \n Registro da atividade\n \n \n \n Falar com cliente\n
\n
\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n
\n
\n
\n
\n \n
    \n
  • {{contact}}
  • \n
\n
\n
\n \n \n
\n \n \n
\n \n
\n
\n \"icon-anexo\"\n
\n
0\">\n 0{{ geralForm.get('attachments').value.length }}\n
\n
\n
\n
\n \"icon-search\"\n
\n
0\">\n {{ geralForm.get('products').value.length > 9 ? '' : '0' }}{{ geralForm.get('products').value.length }}\n
\n
\n
\n
\n \n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \"icon-search\"\n
\n
\n
\n \n \"email_ico\"\n Email\n
\n
\n \n \"email_ico\"\n WhatsApp\n
\n
\n
\n \n
\n
\n \n
\n \n
\n Preencha tipo de contato, data de visita e digite um comentário\n Preencha a data de retorno e digite um comentário\n Preencha tipo de contato, data de retorno e digite um comentário\n
\n
\n
\n \n
\n Selecione ou digite uma mensagem e escolha a forma de contato.\n
\n
\n
\n \n \n
\n \n Salvar registro\n \n Cancelar\n
\n
\n \n Enviar\n \n Cancelar\n
\n
\n Digite comentários e observações\n
\n
\n Falar com cliente\n
\n
\n
\n
\n\n
\n

\n \n \n \n Origem do lead\n

\n

\n \n \n \n Produtos ofertados\n

\n
\n \"stand_fac_ico\"\n \"bought_fac_ico\"\n \"incorporator_fac_ico\"\n
\n\n
\n

Primeiro Telefone

\n
\n
\n \n

{{facItem.person.phone.ddi}} {{facItem.person.phone.phone | formatPhoneDDI: facItem.person.phone.ddi}}

\n
\n
\n \n
    \n
  • Copiar
  • \n
  • \n Ligar\n
  • \n
  • WhatsApp
  • \n
\n
\n
\n
\n
\n\n
\n

Último Telefone

\n
\n
\n \n

{{facItem.person.alternative_phone.ddi}} {{facItem.person.alternative_phone.phone | formatPhoneDDI: facItem.person.alternative_phone.ddi}}

\n
\n
\n \n
    \n
  • Copiar
  • \n
  • \n Ligar\n
  • \n
  • WhatsApp
  • \n
\n
\n
\n
\n
\n\n
\n

{{facItem.person.phone ? 'Último Telefone' : 'Primeiro Telefone'}}

\n
\n \n
\n
\n \n Telefone inválido\n
\n
\n

Adicionar

\n

Cancelar

\n
\n
\n\n

Adicionar telefone

\n\n
\n

Primeiro E-mail

\n
\n

{{facItem.person.email}}

\n
\n \n \n \n
\n
\n
\n\n
\n

Último E-mail

\n
\n

{{facItem.person.alternative_email}}

\n
\n \n \n \n
\n
\n
\n\n
\n

Último E-mail

\n
\n \n
\n
\n \n E-mail inválido\n
\n
\n

Adicionar

\n

Cancelar

\n
\n
\n\n

Adicionar e-mail

\n\n
\n

Produto de origem

\n
\n
\n \n
\n
\n
\n
\n\n\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport {\n EditFacCombosModel,\n FullFacModel,\n EditFacFunnelStagesModel,\n DiscardModel,\n TransferFormModel\n} from '../../../../core/models/edit-fac-modal.model';\nimport { EditFacModalService } from '../service/edit-fac-modal.service';\nimport { emailRegex } from '../../../../core/constants/consts';\nimport moment from 'moment';\nimport { SnackbarService } from '../../snackbar/service/snackbar.service';\nimport { ButtonsPopupService } from '../../buttons-popup/service/buttons-popup.service';\nimport { ButtonsPopupModel } from '../../buttons-popup/buttons-popup.model';\nimport { GeralService } from 'src/app/core/services/geral-service/geral-service';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { Phone } from 'src/app/core/models/phone.model';\n\nimport { isPhoneValid, removeMask } from 'src/app/core/constants/flag-Input-const';\nimport {\n contactTypeValidate,\n returnDateValidate,\n visitDateValidate,\n descriptionValidate\n} from 'src/app/core/validators/edit-fac-modal.validators';\nimport { OrderCard } from 'src/app/core/models/facs.model';\nimport { FacsService } from 'src/app/facs/service/facs.service';\nimport { Router } from '@angular/router';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { CommunicationProxyService } from 'src/app/shared/services/communication-proxy.service';\nimport { CommunicationSubjectEnum } from 'src/app/shared/enum/communication-subject-enum'\n\n@Component({\n selector: 'app-modal-geral-chat',\n templateUrl: './modal-geral.component.html',\n styleUrls: ['./modal-geral.component.scss']\n})\n\nexport class ModalGeralChatComponent implements OnInit {\n\n @Input() orderCard: OrderCard = {\n above_fac_id: null,\n below_fac_id: null\n };\n @Input() facItem: FullFacModel;\n @Input() combosList: EditFacCombosModel;\n @Input() columnType: EditFacFunnelStagesModel;\n @Input() geralForm: FormGroup;\n @Output() displayFilesUploadModal: EventEmitter = new EventEmitter();\n @Output() displaySearchProductModal: EventEmitter = new EventEmitter();\n @Output() closeM: EventEmitter = new EventEmitter();\n @Output() closeEdition: EventEmitter = new EventEmitter();\n @Output() openOfferedProduct: EventEmitter = new EventEmitter();\n @Output() openOriginLead: EventEmitter = new EventEmitter();\n\n public messageForm: FormGroup;\n public msgStyle;\n\n public readonly returnInList = ['Minuto', 'Hora', 'Dia', 'Semana'];\n public returnInTitle: string;\n public chatMessages = [];\n public readonly popModal: ButtonsPopupModel = {\n title: 'Atenção',\n description: 'Selecione o tipo de interesse do cliente.',\n buttons: [\n {\n btnType: 1,\n title: 'Com interesse',\n func: () => this.refactor('Com')\n },\n {\n btnType: 1,\n title: 'Sem interesse',\n func: () => this.refactor('Sem')\n }\n ]\n };\n\n public readonly popupArchive: ButtonsPopupModel = {\n title: 'Arquivar fac',\n description:\n 'Você tem certeza que deseja arquivar esta fac? Facs arquivadas podem ser acessadas utilizando o filtro de facs arquivadas.',\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => { }\n },\n {\n btnType: 1,\n title: 'Arquivar',\n func: () => this.archiveFac(true)\n }\n ]\n };\n\n public visitDate = {\n date: '',\n hour: null\n };\n\n public dropdownsState = {\n funnel: false,\n sub_funnel: false,\n temp: false,\n contact: false,\n return_in: false,\n phone: false,\n alternative_phone: false,\n email: false,\n alternative_email: false,\n discard: false\n };\n\n public formatedBadged = {\n STAND: null,\n REAL_STATE_DEVELOPER_SELLER: null,\n BOUGHT: null\n };\n\n public addPhone: {phone: string, ddi: string, invalid: boolean} = {\n phone: '',\n ddi: '',\n invalid: false\n };\n public addEmail = {\n value: '',\n invalid: false\n };\n public showAdd = {\n phone: false,\n email: false\n };\n public facHistory;\n public showDiscardPopup = false;\n public showTransferPopup = false;\n public activeTab = 1;\n public isEditing = false;\n public availableMessages: any = [];\n\n get feature_lead_env() {\n return this.environmentService.getEnvVar('feature_fac_lead_origin') === 'true';\n }\n\n constructor(\n public snackService: SnackbarService,\n private facModalService: EditFacModalService,\n private snackbarService: SnackbarService,\n private btnService: ButtonsPopupService,\n public geralService: GeralService,\n private checkStatusService: CheckTaskStatusService,\n private translate: TranslateService,\n private environmentService: EnvironmentService,\n private fb: FormBuilder,\n private facService: FacsService,\n private router: Router,\n private googleTagService: GoogleTagManagerService,\n private communicationProxyService: CommunicationProxyService\n ) { }\n\n public featureProductSheet = this.environmentService.getEnvVar('feature_product_sheet') === 'true';\n public productUrl: string;\n ngOnInit() {\n if (this.featureProductSheet) {\n this.productUrl = this.facItem.origin_product ? '/produtos/ficha/' + this.facItem.origin_product.sku : null;\n } else {\n this.productUrl = this.facItem.origin_product ? this.facItem.origin_product.url : null;\n }\n\n if (\n this.geralForm.get('column_type').value.value.toLocaleLowerCase() === 'em atendimento'\n && this.facItem.funnel_stage.value.toLocaleLowerCase() !== 'em atendimento') {\n if (this.geralForm.get('column_type').value.sub_items.length === 0) {\n this.btnService.show(this.popModal);\n }\n }\n\n if (this.geralForm.get('column_type').value.value.toLocaleLowerCase() !== this.facItem.funnel_stage.value.toLocaleLowerCase()) {\n this.isEditing = true;\n this.setFormValidation(true);\n this.forceFormValidation(this.geralForm);\n }\n\n if (this.facItem.badges) {\n this.facItem.badges.forEach(item => {\n this.formatedBadged[item.name] = {\n description: item.description\n };\n });\n }\n this.getFacHistory();\n this.initMessageForm();\n this.getChatCombo();\n this.getClientChat();\n this.checkActiveTab();\n }\n\n\n checkActiveTab() {\n if (this.router.url.includes('chat=true')) {\n this.activeTab = 2;\n this.router.navigate(\n [],\n {\n queryParams: { chat: null },\n queryParamsHandling: 'merge'\n });\n }\n }\n\n scrollChat() {\n setTimeout(() => {\n const chat = document.getElementById('history-chat');\n const chatHeight = document.getElementById('scroll-height');\n chat.scrollTop = chatHeight.scrollHeight;\n }, 50);\n }\n\n private refactor(data: string) {\n this.geralForm.get('column_type').patchValue({\n value: 'Em Atendimento',\n sub_items: [`${data} interesse`]\n });\n }\n\n getChatCombo() {\n this.facModalService.getChatCombos(this.facItem.id).subscribe(resp => {\n this.availableMessages = resp.messages;\n });\n }\n\n getFacHistory() {\n this.facModalService.getFacHistory(this.facItem.id).subscribe(resp => {\n this.facHistory = resp;\n this.scrollChat();\n },\n err => {\n this.facHistory = err.error;\n });\n }\n\n forceFormValidation(formGroup: FormGroup) {\n for (const form in formGroup.controls) {\n if (formGroup.controls[form]) {\n formGroup.controls[form].updateValueAndValidity();\n }\n }\n }\n\n setGeralFormValue(control: string, value: any) {\n this.geralForm.get(control).patchValue(value);\n this.geralForm.get(control).markAsDirty();\n }\n\n clearFieldsOnChange() {\n if (this.columnType.value === 'Sem Contato') {\n this.geralForm.get('contact_type').patchValue('');\n }\n\n if (this.columnType.value !== 'Visita') {\n this.geralForm.get('visit_date').reset();\n }\n\n if (this.columnType.value === 'Visita') {\n this.geralForm.get('return_date').patchValue({});\n }\n }\n\n changeTemp(item) {\n this.facItem.temperature = Object.assign({}, item);\n this.dropdownsState.temp = false;\n this.combosList.temperatures.forEach(temp => {\n temp.tags.forEach(tag => tag.active = false);\n });\n\n this.patchFac({temperature: this.facItem.temperature});\n }\n\n callWhats(phone) {\n this.facModalService.callWhatsApp(phone.ddi + phone.phone);\n }\n\n copyPhone(phone: Phone) {\n this.snackService.show('Telefone copiado')\n this.geralService.copyToClipboard(phone.phone);\n }\n\n setPhone(event) {\n this.addPhone = { ...this.addPhone, ...event};\n }\n\n addPhoneClick() {\n this.addPhone.invalid = false;\n const formatedPhone = removeMask({\n ddi: this.addPhone.ddi,\n phone: this.addPhone.phone\n });\n\n if (isPhoneValid(formatedPhone)) {\n this.addPhone.invalid = true;\n return;\n }\n\n this.facModalService.updateFacPhone(this.facItem.id, formatedPhone).subscribe(resp => {\n this.checkStatusService.checkTaskStatus(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(() => {\n if (this.facItem.person.phone) {\n this.facItem.person.alternative_phone = formatedPhone;\n } else {\n this.facItem.person.phone = formatedPhone;\n }\n this.snackbarService.show('O telefone foi adicionado', 'success');\n this.showAdd.phone = false;\n this.getFacHistory();\n this.addPhone = {\n phone: '',\n ddi: '',\n invalid: false\n };\n }, (err) => this.sendErrors(err));\n }, (err) => this.sendErrors(err));\n }\n\n private sendErrors(err) {\n this.addPhone.invalid = true;\n }\n\n addEmailClick() {\n if (!emailRegex.test(this.addEmail.value)) {\n this.addEmail.invalid = true;\n return;\n }\n\n this.facModalService.setLoader(true);\n this.facModalService.updateFacEmail(this.facItem.id, this.addEmail.value).subscribe(resp => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(() => {\n if (!this.facItem.person.email) {\n this.facItem.person.email = this.addEmail.value;\n } else {\n this.facItem.person.alternative_email = this.addEmail.value;\n }\n this.snackbarService.show('O e-mail foi adicionado', 'success');\n this.getFacHistory();\n this.showAdd.email = false;\n this.addEmail = {\n value: '',\n invalid: false\n };\n this.facModalService.setLoader(false);\n },\n (err) => this.emailErrors(err));\n },\n (err) => this.emailErrors(err));\n }\n\n private emailErrors(err): void {\n this.translate.get(`${err.error.messages[0].message}`).subscribe((res: string) => {\n this.snackbarService.show(res, 'error');\n this.addEmail.invalid = true;\n this.facModalService.setLoader(false);\n });\n }\n\n cancelPhoneClick() {\n this.showAdd.phone = false;\n this.addPhone = {\n phone: '',\n ddi: '',\n invalid: false\n };\n }\n\n cancelEmailClick() {\n this.showAdd.email = false;\n this.addEmail = {\n value: '',\n invalid: false\n };\n }\n\n formatDate(date: string) {\n const datewithouttimezone = new Date(date);\n const dateWithNoTimezone = new Date(\n datewithouttimezone.getUTCFullYear(),\n datewithouttimezone.getUTCMonth(),\n datewithouttimezone.getUTCDate(),\n datewithouttimezone.getUTCHours(),\n datewithouttimezone.getUTCMinutes(),\n datewithouttimezone.getUTCSeconds()\n );\n\n return dateWithNoTimezone;\n }\n\n openFilesUploadModal() {\n this.displayFilesUploadModal.emit(true);\n }\n\n openSearchProductModal() {\n this.displaySearchProductModal.emit(true);\n }\n\n initMessageForm() {\n this.messageForm = this.fb.group({\n messageType: [null],\n email: this.facItem.person.email,\n whatsapp: this.getClientWhatsapp(),\n message: [null, Validators.required]\n });\n }\n\n setMessageType(item) {\n this.messageForm.controls.message.setValue(item.message);\n }\n\n setFunnel(item) {\n this.geralForm.get('column_type').patchValue({value: item.value, sub_items: []});\n this.geralForm.get('column_type').markAsDirty();\n\n this.sendGATagOnChangeFunnel(item.value);\n\n if (item.value === 'Em Atendimento') {\n this.dropdownsState.sub_funnel = true;\n } else {\n this.dropdownsState.funnel = false;\n }\n\n if (item.value !== this.facItem.funnel_stage.value) {\n this.setFormValidation(true);\n } else {\n this.setFormValidation(false);\n }\n this.activeTab = 1;\n this.isEditing = true;\n\n this.clearFieldsOnChange();\n this.forceFormValidation(this.geralForm);\n }\n\n setSubFunnel(sub: string) {\n this.geralForm.get('column_type').patchValue({value: this.geralForm.get('column_type').value.value, sub_items: [sub]});\n this.geralForm.get('column_type').markAsDirty();\n this.dropdownsState.sub_funnel = false;\n this.dropdownsState.funnel = false;\n\n this.clearFieldsOnChange();\n this.forceFormValidation(this.geralForm);\n }\n\n getTempIcon(temp: string) {\n switch (temp) {\n case 'Quente':\n return 'hot_temp_ico';\n case 'Morno':\n return 'warm_temp_ico';\n case 'Frio':\n return 'cold_temp_ico';\n default:\n return '';\n }\n }\n\n clearReturn() {\n this.returnInTitle = '';\n this.geralForm.get('return_date').patchValue({});\n }\n\n formatReturnIn(value: {name: string, value: string}) {\n if (value.value && value.name) {\n this.returnInTitle = `${value.value} ${value.name}${parseInt(value.value, 10) > 1 ? 's' : ''}`;\n } else {\n this.returnInTitle = null;\n }\n this.geralForm.get('return_date').patchValue(value);\n }\n\n formatReturnTime() {\n switch (this.geralForm.get('return_date').value.name) {\n case 'Minuto':\n return parseInt(this.geralForm.get('return_date').value.value, 10) * 60000;\n case 'Hora':\n return parseInt(this.geralForm.get('return_date').value.value, 10) * 3600000;\n case 'Dia':\n return parseInt(this.geralForm.get('return_date').value.value, 10) * 86400000;\n case 'Semana':\n return parseInt(this.geralForm.get('return_date').value.value, 10) * 604800000;\n }\n }\n\n saveNotes() {\n if (this.geralForm.invalid || this.geralForm.pristine) {\n return;\n }\n\n let notesBody: any = {\n contact_type: '',\n return_date: null,\n visit_date: null,\n description: '',\n attachments: [],\n products: [],\n funnel_stage: {\n value: '',\n sub_items: []\n },\n above_fac_id: this.orderCard.above_fac_id,\n below_fac_id: this.orderCard.below_fac_id\n };\n\n if (this.geralForm.get('column_type').value.value === 'Visita') {\n if (this.geralForm.get('visit_date').value && this.geralForm.get('visit_date').value.date) {\n notesBody.visit_date = moment(new Date(this.geralForm.get('visit_date').value.date).\n setHours(0, 0, 0, 0)).format(`YYYY-MM-DD[T]${this.geralForm.get('visit_date').value.hour}:00.000`);\n notesBody.visit_date = new Date(notesBody.visit_date).toISOString();\n }\n } else if (this.geralForm.get('return_date').value) {\n notesBody.return_date = this.formatReturnTime();\n }\n if (this.geralForm.get('column_type').value.value !== 'Sem Contato') {\n notesBody.contact_type = this.geralForm.get('contact_type').value;\n }\n\n notesBody.description = this.geralForm.get('description').value;\n notesBody.products = this.geralForm.get('products').value;\n notesBody.attachments = this.geralForm.get('attachments').value;\n notesBody.funnel_stage = {\n value: this.geralForm.get('column_type').value.value,\n sub_items: this.geralForm.get('column_type').value.sub_items\n };\n this.facModalService.setLoader(true);\n\n this.facModalService.updateFacNotes(this.facItem.id, notesBody).subscribe(resp => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(() => {\n this.snackbarService.show('As alterações foram salvas.', 'success');\n this.resetForm();\n this.facItem.funnel_stage = this.geralForm.get('column_type').value;\n this.facModalService.setClearProductsModal();\n this.facModalService.setLoader(false);\n this.closeM.emit(true);\n this.getFacHistory();\n if (notesBody.products.length > 0) {\n this.facItem.has_offered_products = true;\n }\n this.communicationProxyService.publishMessage(CommunicationSubjectEnum.onFacUpdated, this.facItem.funnel_stage.value);\n }, (err) => {\n this.snackbarService.show(err.error.messages[0].message, 'error');\n this.facModalService.setLoader(false);\n });\n }, err => {\n this.geralForm.get('visit_date').get('hour').reset();\n this.snackbarService.show(err.error.messages[0].message, 'error');\n this.facModalService.setLoader(false);\n });\n }\n\n patchFac(request: any) {\n this.facModalService.patchFacById(this.facItem.id, request).subscribe((resp) => {\n this.checkStatusService.checkTaskStatus(resp.task_id, this.environmentService.getEnvVar('api_facs')).subscribe(taskId => {\n this.snackbarService.show('As alterações foram salvas.', 'success');\n this.getFacHistory();\n });\n });\n }\n\n resetForm() {\n this.geralForm.get('contact_type').reset();\n this.geralForm.get('description').reset();\n this.geralForm.get('return_date').patchValue({});\n this.geralForm.get('visit_date').reset();\n this.geralForm.get('attachments').patchValue([]);\n this.geralForm.get('products').patchValue([]);\n this.returnInTitle = '';\n this.geralForm.markAsPristine();\n this.setFormValidation(false);\n }\n\n setFormValidation(state: boolean) {\n if (state) {\n this.geralForm.controls.contact_type.setValidators([contactTypeValidate()]);\n this.geralForm.controls.return_date.setValidators([returnDateValidate()]);\n this.geralForm.controls.visit_date.setValidators([visitDateValidate()]);\n this.geralForm.controls.description.setValidators([descriptionValidate()]);\n } else {\n this.geralForm.controls.contact_type.setValidators([]);\n this.geralForm.controls.return_date.setValidators([]);\n this.geralForm.controls.visit_date.setValidators([]);\n this.geralForm.controls.description.setValidators([]);\n }\n }\n\n changeInput(event) {\n const charLimit = 800;\n\n if (event.keyCode === 86 && event.target.value.length > charLimit) {\n event.target.value = event.target.value.substring(0, charLimit);\n event.preventDefault();\n return false;\n }\n if (event.keyCode === 8 || event.keyCode === 46) {\n return true;\n }\n if (event.target.value.length >= charLimit) {\n event.target.value = event.target.value.substring(0, charLimit);\n event.preventDefault();\n return false;\n }\n }\n\n makeCall(phone) {\n window.location.href = 'tel:' + phone.ddi + phone.phone;\n }\n\n sendEmail(email) {\n window.location.href = 'mailto:' + email;\n }\n\n disableInput(ref) {\n ref.readOnly = true;\n const element: any = document.getElementsByClassName('ant-time-picker-panel-input')[0];\n element.readOnly = true;\n }\n\n showArchiveAlert(state: boolean) {\n if (state) {\n this.btnService.show(this.popupArchive);\n } else {\n this.archiveFac(false);\n }\n }\n\n archiveFac(state: boolean) {\n this.facModalService.putFacArchive(this.facItem.id, state).subscribe(resp => {\n this.checkStatusService.checkTaskStatus(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(taskId => {\n this.snackbarService.show(state ? 'A fac foi arquivada.' : 'A fac foi desarquivada.', 'success');\n this.facItem.archived = state;\n if (state) {\n this.closeEdition.emit(true);\n }\n }, (err) => {\n this.translate.get(`SERVICE_MSGS.${err.error.messages[0].code}`).subscribe((res: string) => {\n this.snackbarService.show(res, 'error');\n });\n });\n });\n }\n\n discardFac(discardFieds: DiscardModel) {\n this.facModalService.setLoader(true);\n this.facModalService.putFacDiscard(this.facItem.id, discardFieds).subscribe(resp => {\n this.messageResponse(resp.taskId, 'A fac foi descartada.', 'success');\n });\n }\n\n transferFac(destUser: TransferFormModel) {\n this.facModalService.setLoader(true);\n this.facModalService.postFacTransfer(this.facItem.id, destUser).subscribe(resp => {\n this.messageResponse(resp.taskId, 'A fac foi transferida.', 'success');\n });\n }\n\n private messageResponse(taskId: string, dataMessage: string, typeMessage: string) {\n this.checkStatusService.checkTaskStatus(taskId, this.environmentService.getEnvVar('api_facs')).subscribe(taskId => {\n this.snackbarService.show(dataMessage, typeMessage);\n this.facModalService.setLoader(false);\n this.closeM.emit(true);\n }, (err) => this.messageErrorsDiscarTransfer(err));\n }\n\n private messageErrorsDiscarTransfer(err): void {\n this.translate.get(`SERVICE_MSGS.${err.error.messages[0].code}`).subscribe((res: string) => {\n this.snackbarService.show(res, 'error');\n this.facModalService.setLoader(false);\n });\n }\n\n sendMessageToClient() {\n this.sendClientChat();\n this.isEditing = false;\n this.clearChatForm();\n }\n\n sendClientChat() {\n const message = {\n person_contact_phone: this.getClientWhatsapp(),\n message: this.replaceNewLine(this.messageForm.value.message),\n contact_types: []\n };\n\n if (this.messageForm.value.whatsapp) {message.contact_types.push('WHATSAPP'); }\n\n if (this.messageForm.value.email) {message.contact_types.push('EMAIL'); }\n\n this.facService.sendClientMessage(this.facItem.id, message).subscribe(resp => {\n if (resp.taskId) {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe (task => {\n if (task.status.id === 1) {\n this.getClientChat();\n this.getFacHistory();\n this.snackbarService.show('A mensagem foi enviada ao cliente.');\n if (resp.whatsapp_link) {\n window.open(resp.whatsapp_link, '_blank');\n }\n }\n });\n }\n });\n }\n\n getClientWhatsapp(): string {\n const el = this.facItem.person.contacts.find(element => {\n if (element.type === 'WHATSAPP') {\n return element;\n }\n });\n return el ? el.value : '';\n }\n\n getClientChat() {\n this.facService.getClientMessages(this.facItem.id).subscribe(response => {\n this.chatMessages = response;\n });\n }\n\n clearChatForm() {\n this.messageForm.controls.message.reset();\n this.messageForm.markAsUntouched();\n }\n\n replaceNewLine(text: string) {\n return text.replace(/(\\r\\n|\\n|\\r)/gm, '
');\n }\n\n resendEmail(messageId) {\n this.facModalService.resendChatEmail(this.facItem.id, messageId).subscribe(resp => {\n if (resp.status.id === 0) {\n this.snackbarService.show('Email será reenviado');\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(task => {\n if (task.status.name === 'Successful') {\n this.getClientChat();\n }\n });\n }\n },\n () => {this.snackbarService.show('Ocorreu um erro ao tentar reenviar o email', 'error', 10); });\n }\n\n private sendGATagOnChangeFunnel(status) {\n this.googleTagService.pushTag({\n event: 'event',\n eventCategory: 'gestao_fac',\n eventAction: 'clique:status:fac',\n eventLabel: `status: ${status}`,\n dimension8: this.facItem.fac_number\n });\n }\n}\n","
\n
\n
\n
\n
\n \n \n \n Produtos ofertados\n
\n
\n
\n
\n

{{item.offer_date}}

\n
\n
\n
\n
\n
\n \n {{product.address.street}}, {{product.address.number}}, {{product.address.neighborhood}},\n {{product.address.city}}-{{product.address.state}}, CEP: {{product.address.zip_code}}\n \n
\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { EditFacModalService } from '../../service/edit-fac-modal.service';\n\nexport interface OfferedPodroductModel {\n offer_date: string;\n products: OfferedPodroductItemModel[];\n}\n\ninterface OfferedPodroductItemModel {\n description: string;\n id: string;\n offer_time: string;\n original_offer_date: string;\n sku: string;\n url: string;\n}\n\n@Component({\n selector: 'app-modal-offered-product',\n templateUrl: './modal-offered-product.component.html',\n styleUrls: ['./modal-offered-product.component.scss']\n})\n\nexport class ModalOfferedProductComponent implements OnInit {\n @Input() facdId = '';\n @Output() closeModal = new EventEmitter();\n\n public list: OfferedPodroductModel[] = [];\n\n constructor(\n private facModalService: EditFacModalService\n ) { }\n\n @Input() featureProductSheet: boolean;\n public productUrl: string;\n ngOnInit(): void {\n this.facModalService.getOfferedProduct(this.facdId).subscribe((resp: OfferedPodroductModel[]) => {\n this.list = resp;\n });\n }\n\n}\n","
\n
\n
\n
\n \n \n \n Origem do lead\n
\n\n
\n
\n
\n

Canal

\n

{{facItem.contact_type}}

\n

-

\n
\n
\n

Origem

\n

{{facItem.origin_social_network}}

\n

-

\n
\n
\n

Mídia

\n

{{facItem.channel}}

\n

-

\n
\n
\n
\n
\n

Data da oportunidade

\n

{{facItem.opportunity_date | date:'dd/MM/yyyy HH:mm'}}

\n

-

\n
\n
\n

Data de criação

\n

{{facItem.creation_date | date:'dd/MM/yyyy HH:mm'}}

\n

-

\n
\n
\n

Última atualização

\n

{{facItem.last_update_date | date:'dd/MM/yyyy HH:mm'}}

\n

-

\n
\n
\n
\n\n
\n
\n Fac: \n {{facItem.fac_number}}\n
\n
\n \n \n
\n \n
\n Tipo e utilização: \n {{facItem.origin_product.property_type.trim()}}/{{facItem.origin_product.property_sub_type}}\n  - {{facItem.origin_product.property_utilization}}\n \n  (Ref {{facItem.origin_product.sku.substring(3)}}) - \n Ficha do imóvel\n
\n
\n (Ref {{facItem.origin_product.sku.substring(3)}}) - \n Ficha do imóvel\n
\n
\n \n
\n \n
\n Endereço: \n \n {{facItem.origin_product.formatted_address}}\n \n
\n
\n Tipo de produto: \n {{facItem.origin_product.market_type}}\n
\n
\n Campanha: \n {{facItem.campaing_text}}\n
\n \n
\n\n \n
\n
\n Tipo:  \n {{facItem.origin_product.property_type}} \n  (Ref {{facItem.origin_product.sku.substring(3)}}) - \n Ficha do imóvel\n
\n
\n (Ref {{facItem.origin_product.sku.substring(3)}}) - \n Ficha do imóvel\n
\n
\n \n  ({{facItem.origin_product.company_name}})\n \n
\n \n \n
\n Tipo de produto:  \n {{facItem.origin_product.market_type}}\n
\n
\n Campanha:  \n {{facItem.campaing_text}}\n
\n \n
\n \n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-modal-origin-lead',\n templateUrl: './modal-origin-lead.component.html',\n styleUrls: ['./modal-origin-lead.component.scss']\n})\nexport class ModalOriginLeadComponent implements OnInit {\n @Input() facItem;\n @Output() closeModal = new EventEmitter();\n\n @Input() featureProductSheet: boolean;\n public productUrl: string;\n ngOnInit(): void {\n if (this.featureProductSheet) {\n this.productUrl = '/produtos/ficha/' + this.facItem.origin_product.sku\n } else {\n this.productUrl = this.facItem.origin_product.url\n }\n if (!this.facItem.origin_product) {\n this.facItem.origin_product = {};\n }\n }\n\n}\n","
\n
\n

Transferir fac

\n

Selecione para quem deseja transferir a fac

\n\n
\n \n
\n\n
\n\n
0\">\n
\n \n
\n
\n\n
\n Cancelar\n Transferir\n
\n
\n
\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\nimport { EditFacModalService } from '../../service/edit-fac-modal.service';\nimport { AutocompleteTransferModel } from './../../../../../core/models/edit-fac-modal.model';\n\n@Component({\n selector: 'app-transfer-popup',\n templateUrl: './transfer-popup.component.html',\n styleUrls: ['./transfer-popup.component.scss']\n})\n\nexport class TransferPopupComponent implements OnInit {\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n @Output() transferEvent: EventEmitter = new EventEmitter();\n\n public autocomp = false;\n public autocompIdx = -1;\n public autoSearchResults: AutocompleteTransferModel[] = [];\n\n public searchForm: FormGroup;\n public transferForm: FormGroup;\n\n constructor(private formBuilder: FormBuilder,\n private service: EditFacModalService) { }\n\n ngOnInit(): void {\n this.formsInit();\n }\n\n formsInit(): void {\n this.transferForm = this.formBuilder.group({\n id: ['', [Validators.required]],\n name: ['', [Validators.required]],\n nickname: [''],\n profile_image_url: [''],\n });\n this.searchForm = this.formBuilder.group({\n search: ['']\n });\n }\n\n searchInput(event: string | number): void {\n const searchTxt = String(event).trim();\n if (searchTxt.length > 2) {\n this.autoSearchResults = [];\n this.service.autoCompleteTransfer(searchTxt).subscribe(response => {\n this.autoSearchResults = response;\n if (this.autoSearchResults.length > 3) {\n this.autoSearchResults = this.autoSearchResults.slice(0, 3);\n }\n this.autocomp = true;\n });\n } else {\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n }\n\n pointerSelection(idx: number): void {\n this.autocompIdx = idx;\n }\n\n downList(event): void {\n if ((event.keyCode === 40 || event.keyCode === 38 || event.keyCode === 27)) {\n switch (event.keyCode) {\n case 40:\n if (this.autocompIdx < this.autoSearchResults.length - 1) {\n this.autocompIdx += 1;\n }\n break;\n case 38:\n if (this.autocompIdx > 0) {\n this.autocompIdx -= 1;\n }\n break;\n case 27:\n this.autocomp = false;\n this.autocompIdx = -1;\n return;\n }\n this.updateTransferMember();\n }\n }\n\n patchInputValue(): void {\n this.autocomp = false;\n this.updateTransferMember();\n this.searchForm.get('search')\n .setValue(`${this.autoSearchResults[this.autocompIdx].user.nickname} - ${this.autoSearchResults[this.autocompIdx].user.name}`);\n this.autocompIdx = -1;\n }\n\n updateTransferMember(): void {\n this.transferForm.setValue(this.autoSearchResults[this.autocompIdx].user);\n }\n\n transferFac(): void {\n this.transferEvent.emit(this.transferForm.getRawValue());\n this.formsInit();\n this.closeModal.emit(true);\n }\n}\n","
\n
\n \n
    \n
    \n
  • \n {{item.value}} \n
  • \n
    \n
\n
\n
\n\n \n\n
\n Não existe logs \n \n de contato\n de dados cadastrais\n de outros\n para essa fac \n \n
\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { EditFacModalService } from '../service/edit-fac-modal.service';\nimport { FullFacModel } from 'src/app/core/models/edit-fac-modal.model';\n\n@Component({\n selector: 'app-modal-log',\n templateUrl: './modal-log.component.html',\n styleUrls: ['./modal-log.component.scss']\n})\nexport class ModalLogComponent implements OnInit {\n @Input() facItem: FullFacModel;\n public facHistory = [];\n public historyListFilter = [];\n public loading = true;\n public historyFilterOpen = false;\n public historyFilter = {value: 'Filtros', type: 'all'};\n public combosList = [\n {\n value: 'Tudo',\n type: 'all'\n },\n {\n value: 'Contatos',\n type: 'contacts'\n },\n {\n value: 'Dados cadastrais',\n type: 'registration_data'\n },\n {\n value: 'Outros',\n type: 'others'\n }\n ];\n\n constructor(\n private facModalService: EditFacModalService\n ) { }\n\n ngOnInit(): void {\n this.getFacHistory();\n }\n\n getFacHistory() {\n this.facModalService.getFacHistory(this.facItem.id).subscribe(resp => {\n this.facHistory = resp;\n this.setFilter(this.historyFilter);\n this.loading = false;\n },\n err => {\n this.historyListFilter = err.error;\n this.loading = false;\n });\n }\n\n setFilter(item) {\n this.historyFilter = item;\n this.historyFilterOpen = false;\n this.historyFilterMatch();\n }\n\n historyFilterMatch() {\n this.historyListFilter = [];\n if (this.facHistory && this.facHistory.length > 0) {\n this.historyListFilter = this.facHistory.filter(history => {\n if (history.type === 'activities') {\n return false;\n }\n if (history.type === this.historyFilter.type || this.historyFilter.type === 'all') {\n return true;\n }\n return false;\n });\n }\n }\n}\n","
\n
\n

Pessoal

\n
\n
\n

RG

\n
\n \n
\n
\n
\n

CPF

\n \n
\n \n Digite um CPF válido\n
\n
\n
\n

Profissão

\n \n
\n
\n
\n
\n

Cônjuge

\n \n
\n
\n

Data de nascimento

\n \n
\n \n A idade deve ser superior a 12 anos\n
\n
\n
\n
\n\n
\n

Informações de endereço

\n
\n

Cep

\n \n
\n \n Cep inválido\n
\n
\n
\n
\n

Endereço

\n \n
\n \n Digite o endereço\n
\n
\n
\n
\n

Número

\n \n
\n
\n

Bairro

\n \n
\n \n Digite o bairro\n
\n
\n
\n
\n
\n
\n

Complemento

\n \n
\n
\n

Cidade

\n \n
\n
\n

Estado

\n \n
\n
\n
\n
\n Salvar\n
\n
","import moment from 'moment';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { FullFacModel } from '../../../../core/models/edit-fac-modal.model';\nimport { FormGroup, ControlContainer } from '@angular/forms';\nimport { EditFacModalService } from '../service/edit-fac-modal.service';\nimport { SnackbarService } from '../../snackbar/service/snackbar.service';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { ZipFlagListOptions } from '../../zip-code-flag-input/zip-code-flag-input.model';\n\n@Component({\n selector: 'app-modal-more-details',\n templateUrl: './modal-more-details.component.html',\n styleUrls: ['./modal-more-details.component.scss']\n})\n\nexport class ModalMoreDetailsComponent implements OnInit {\n @Input() facItem: FullFacModel;\n public moreInfoForm: FormGroup;\n public saved = false;\n public currentFlag = ZipFlagListOptions[0];\n\n constructor(\n private controlContainer: ControlContainer,\n private facModalService: EditFacModalService,\n private snackbarService: SnackbarService,\n private checkStatusService: CheckTaskStatusService,\n private translate: TranslateService,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit() {\n this.moreInfoForm = this.controlContainer.control as FormGroup;\n }\n\n formatRG(ev: KeyboardEvent) {\n const rgRegex = new RegExp('\\[a-zA-Z0-9.-]');\n if (!rgRegex.test(ev.key)) {\n ev.preventDefault();\n }\n }\n\n getAddress() {\n if (this.moreInfoForm.get('address').get('zip_code').value.length === 0) {\n this.moreInfoForm.get('address').get('city').patchValue('');\n this.moreInfoForm.get('address').get('state').patchValue('');\n this.moreInfoForm.get('address').get('street').patchValue('');\n this.moreInfoForm.get('address').get('neighborhood').patchValue('');\n this.moreInfoForm.get('address').get('number').patchValue('');\n this.moreInfoForm.get('address').get('complement').patchValue('');\n }\n\n if (this.moreInfoForm.get('address').get('zip_code').value.length === 8) {\n this.facModalService.getFacAddress(this.currentFlag.country,\n this.moreInfoForm.get('address').get('zip_code').value).subscribe(resp => {\n this.moreInfoForm.get('address').get('city').patchValue(resp.city);\n this.moreInfoForm.get('address').get('state').patchValue(resp.state);\n this.moreInfoForm.get('address').get('street').patchValue(resp.street);\n this.moreInfoForm.get('address').get('neighborhood').patchValue(resp.neighborhood);\n this.moreInfoForm.get('address').get('number').patchValue('');\n this.moreInfoForm.get('address').get('complement').patchValue('');\n }, err => {\n this.snackbarService.show(err.error.messages[0].message, 'error');\n });\n }\n }\n\n saveMoreInfo() {\n this.saved = true;\n for (const form in (this.moreInfoForm.get('address') as FormGroup).controls) {\n if ((this.moreInfoForm.get('address') as FormGroup).get(form)) {\n (this.moreInfoForm.get('address') as FormGroup).get(form).updateValueAndValidity();\n }\n }\n\n if (this.moreInfoForm.invalid) {\n this.snackbarService.show('Verifique as informações incorretas', 'warning');\n return;\n }\n\n const requestBody = this.moreInfoForm.getRawValue();\n\n if (this.moreInfoForm.get('person').get('birth_date').value) {\n const formatedDate = moment(\n new Date(this.moreInfoForm.get('person').get('birth_date').value).setHours(0, 0, 0, 0)\n ).format('YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n requestBody.person.birth_date = formatedDate;\n }\n\n for (const key in requestBody.address) {\n if (!requestBody.address[key]) {\n requestBody.address[key] = null;\n }\n }\n\n for (const key in requestBody.person) {\n if (!requestBody.person[key]) {\n requestBody.person[key] = null;\n }\n }\n\n this.facModalService.setLoader(true);\n this.facModalService.patchFacById(this.facItem.id, requestBody).subscribe(resp => {\n this.checkStatusService.checkTaskStatus(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(task => {\n this.snackbarService.show('As alterações foram salvas.', 'success');\n this.facModalService.setLoader(false);\n },\n err => {\n this.facModalService.setLoader(false);\n this.snackbarService.show(err.error.messages[0].message, 'error');\n });\n },\n err => {\n this.facModalService.setLoader(false);\n this.snackbarService.show(err.error.messages[0].message, 'error');\n });\n }\n}\n","
\n
\n
\n

Busca de produtos

\n \n
\n
\n

Buscar produtos de lançamentos

\n \n Buscar\n
\n
\n \n  ()\n
\n
\n
\n
\n
\n
\n
\n

Código do imóvel

\n \n
\n
\n

Endereço

\n \n
\n
\n

Número

\n \n
\n Buscar\n
\n
\n \n
\n
\n
\n
\n
\n

0\">Produtos adicionados

\n
\n \n
\n \n \n \n
\n
\n
\n
\n Cancelar\n Concluir\n
\n
\n
\n
\n
\n \n \n \n Voltar\n
\n
\n

\n Nenhum produto encontrado\n

\n

0\">\n {{ totalResults > 9 ? '' : '0' }}{{ totalResults }} produto{{ totalResults > 1 ? 's' : '' }} encontrado{{ totalResults > 1 ? 's' : '' }}\n

\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n
0\">\n Cancelar\n Adicionar\n
\n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ButtonsPopupModel } from '../../buttons-popup/buttons-popup.model';\nimport { Tab } from 'commons-lib';\nimport { ProductSearchModel, AddedProductModel } from './product-search.model';\nimport { EditFacModalService } from '../service/edit-fac-modal.service';\nimport { ButtonsPopupService } from '../../buttons-popup/service/buttons-popup.service';\nimport {\n AutocompleteProductResultsModel,\n AutocompleteProductAddressResultModel,\n AutocompleteProductModel } from '../../../../core/models/edit-fac-modal.model';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-modal-product-search',\n templateUrl: './modal-product-search.component.html',\n styleUrls: ['./modal-product-search.component.scss']\n})\nexport class ModalProductSearchComponent implements OnInit {\n\n private _show: boolean;\n @Input()\n set show(showInput: boolean) {\n this._show = showInput;\n this.productsToAddSession = [].concat(this.productsToAdd);\n }\n get show(): boolean { return this._show; }\n\n private _markets: number;\n @Input()\n set markets(opMkts: number) {\n this._markets = opMkts;\n this.tabsInit();\n }\n get markets(): number { return this._markets; }\n\n @Output() finish: EventEmitter = new EventEmitter();\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n public smWidgetsSubscription: Subscription;\n\n public showResults: boolean;\n public formLancamentos: FormGroup;\n public formProntos: FormGroup;\n public searchObj: ProductSearchModel;\n\n public autocomp: boolean;\n public autocompIdx = -1;\n\n public lastId: string;\n public searching: boolean;\n public addressObj: any = null;\n public currentPage = 0;\n public totalPages = 0;\n public totalResults = 0;\n public productsResult: any[] = [];\n public productsToAdd = [];\n public productsToAddSession = [];\n\n public autocompleteProducts: AutocompleteProductModel[];\n public autocompleteAddress: AutocompleteProductAddressResultModel[];\n public autocompTag: number;\n\n public readonly popupData: ButtonsPopupModel = {\n title: 'Atenção',\n description: 'Ao sair, as alterações serão perdidas.',\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => { }\n },\n {\n btnType: 1,\n title: 'Sair',\n func: () => {\n this.restartModal();\n this.finish.emit(this.productsToAdd);\n this.closeModal.emit(false);\n }\n }\n ]\n };\n\n public tabs = [\n new Tab(0, true, 'Lançamentos'),\n new Tab(1, false, 'Prontos')\n ];\n\n incrementList(): void {\n const bounding = document.getElementById(`last-product`).getBoundingClientRect();\n if (\n bounding.right <= (window.innerWidth || document.documentElement.clientWidth) &&\n bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n ) {\n if (this.searching || this.currentPage === this.totalPages - 1) {\n return;\n }\n this.searchMore();\n }\n }\n\n constructor(private fb: FormBuilder,\n private facSvc: EditFacModalService,\n private btnService: ButtonsPopupService) { }\n\n ngOnInit(): void {\n this.smWidgetsSubscription = this.facSvc.getClearProductsModal().subscribe((clear: boolean) => {\n if (clear) {\n this.productsToAdd = [];\n this.restartModal();\n }\n });\n this.formsInit();\n this.autocompTag = Math.random();\n }\n\n restartModal(): void {\n this.formsInit();\n this.autocomp = false;\n this.showResults = false;\n this.searchObj = null;\n this.autocompleteProducts = null;\n this.autocompleteAddress = null;\n this.productsResult = [];\n this.productsToAddSession = [];\n }\n\n tabsInit(): void {\n if (this.markets === 3) {\n return;\n }\n if (this.markets === 2) {\n this.tabs[0].active = true;\n return;\n }\n if (this.markets === 1) {\n this.tabs[0].active = false;\n this.tabs[1].active = true;\n return;\n }\n this.closeSearchModal();\n }\n\n formsInit(): void {\n this.formLancamentos = this.fb.group({\n search: [null]\n });\n this.formProntos = this.fb.group({\n cod: [null],\n address: [null],\n num: [null]\n });\n }\n\n selectTab(tab: Tab): void {\n this.autocompIdx = -1;\n this.autocomp = false;\n this.tabs.forEach((item) => {\n if (item.id === tab.id) {\n item.active = true;\n } else {\n item.active = false;\n }\n });\n }\n\n searchProductInput(event: string | number): void {\n const searchTxt = String(event).trim();\n if (searchTxt.length > 2) {\n this.facSvc.autoCompleteProduct(searchTxt, 0, 7).subscribe((results: AutocompleteProductResultsModel) => {\n this.autocompleteProducts = results.products;\n this.autocomp = true;\n });\n } else {\n this.autocomp = false;\n }\n }\n\n searchAddressInput(event: string | number): void {\n this.addressObj = null;\n const searchTxt = String(event).trim();\n if (searchTxt.length > 2) {\n this.facSvc.autoCompleteProductAddress(searchTxt, 0, 7).subscribe((results: AutocompleteProductAddressResultModel[]) => {\n this.autocompleteAddress = results;\n this.autocomp = true;\n });\n } else {\n this.autocomp = false;\n }\n }\n\n pointerSelection(idx: number): void {\n this.autocompIdx = idx;\n }\n\n downList(event): void {\n if ((event.keyCode === 40 || event.keyCode === 38 || event.keyCode === 27)) {\n switch (event.keyCode) {\n case 40:\n if (this.tabs[0].active) {\n if (this.autocompIdx < this.autocompleteProducts.length - 1) {\n this.autocompIdx += 1;\n }\n } else {\n if (this.autocompIdx < this.autocompleteAddress.length - 1) {\n this.autocompIdx += 1;\n }\n }\n break;\n case 38:\n if (this.autocompIdx > 0) {\n this.autocompIdx -= 1;\n }\n break;\n case 27:\n this.autocomp = false;\n return;\n }\n this.updateSearchInput();\n }\n }\n\n updateSearchInput(closeAutocomp?: boolean): void {\n if (this.tabs[0].active) {\n const searchTerm: string = this.autocompleteProducts[this.autocompIdx].name.replace(//g, '').replace(/<\\/strong>/g, '');\n this.formLancamentos.get('search').setValue(searchTerm);\n } else {\n // tslint:disable-next-line: max-line-length\n const searchTerm: string = this.autocompleteAddress[this.autocompIdx].formattedAddress.replace(//g, '').replace(/<\\/strong>/g, '');\n this.formProntos.get('address').setValue(searchTerm);\n this.addressObj = this.autocompleteAddress[this.autocompIdx].address;\n if (closeAutocomp) {\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n }\n }\n\n closeAutocomplete(): void {\n this.autocomp = false;\n }\n\n searchLancamentos(idx?: number): void {\n if (!this.formLancamentos.get('search').value) {\n return;\n }\n if (idx >= 0) {\n const selectedProductName = this.autocompleteProducts[this.autocompIdx].name.replace(//g, '').replace(/<\\/strong>/g, '');\n this.addLancamentoAutocompSelect(selectedProductName);\n } else {\n const searchTerm: string = this.formLancamentos.get('search').value;\n this.facSvc.searchProductsRealEstateParent(searchTerm, this.currentPage, 20).subscribe((result: AutocompleteProductResultsModel) => {\n this.processProductsResult(result);\n });\n }\n }\n\n addLancamentoAutocompSelect(selectedProductName: string): void {\n this.facSvc.searchProductsRealEstateParent(selectedProductName, 0, 7).subscribe((result: AutocompleteProductResultsModel) => {\n if (result.products.length > 0) {\n this.productsResult = this.productsResult.concat(result.products);\n this.autocomp = false;\n if (this.productsResult.length > 1 && this.autocompIdx !== -1) {\n this.productsResult[this.autocompIdx].checked = true;\n } else {\n this.productsResult[0].checked = true;\n }\n this.autocompIdx = -1;\n this.finishAddingProducts();\n } else {\n this.processNoResultSearch();\n }\n });\n }\n\n searchProntos(): void {\n if ((!this.formProntos.get('cod').value && !this.formProntos.get('address').value)\n || (this.formProntos.get('cod').value && !this.formProntos.get('address').value && this.formProntos.get('num').value)) {\n return;\n }\n const addr = this.formProntos.get('address').value;\n const params = {\n cod: this.formProntos.get('cod').value,\n address: (addr && addr.length > 0) ? {address: [{ name: addr, type: 'address' }]} : null,\n num: this.formProntos.get('num').value\n };\n if (this.addressObj) {\n params.address.address = this.addressObj;\n }\n this.facSvc.searchProductsRealEstate(params, this.currentPage, 20).subscribe((result: AutocompleteProductResultsModel) => {\n this.processProductsResult(result);\n });\n }\n\n processProductsResult(result: any): void {\n if (result.products.length > 0) {\n this.totalResults = result.total_elements;\n this.totalPages = Math.ceil(result.total_elements / 20);\n this.productsResult = this.productsResult.concat(result.products);\n this.lastId = this.productsResult[this.productsResult.length - 1].id;\n this.showResults = true;\n this.autocomp = false;\n this.autocompIdx = -1;\n this.searching = false;\n } else {\n this.processNoResultSearch();\n }\n }\n\n processNoResultSearch(): void {\n this.totalResults = 0;\n this.productsResult = [];\n this.autocomp = false;\n this.autocompIdx = -1;\n this.searching = false;\n this.showResults = true;\n }\n\n searchMore(): void {\n this.searching = true;\n this.currentPage++;\n if (this.tabs[0].active) {\n this.searchLancamentos();\n } else {\n this.searchProntos();\n }\n }\n\n backToSearch(): void {\n this.formsInit();\n this.showResults = false;\n this.productsResult = [];\n this.searching = false;\n this.currentPage = 0;\n }\n\n checkItem(i: number, ev?: any): void {\n if (ev) {\n ev.stopPropagation();\n }\n this.productsResult[i].checked = !this.productsResult[i].checked;\n }\n\n verifyChecked(): boolean {\n let selected = false;\n this.productsResult.forEach(product => {\n if (product.checked) {\n selected = true;\n }\n });\n return selected;\n }\n\n removeItemToAdd(i: number) {\n this.productsToAdd.splice(i, 1);\n }\n\n removeSessionItemToAdd(j: number) {\n this.productsToAddSession.splice(j, 1);\n }\n\n finishAddingProducts(): void {\n if (!this.verifyChecked()) {\n return;\n }\n this.productsResult.forEach(result => {\n if (result.checked) {\n this.productsToAddSession.push(result);\n }\n });\n this.backToSearch();\n }\n\n finishModal(): void {\n const prods = this.processProducts();\n this.finish.emit(prods);\n this.closeSearchModal(true);\n }\n\n closeSearchModal(bypass?: boolean) {\n if (this.productsToAddSession.length !== this.productsToAdd.length && !bypass) {\n this.btnService.show(this.popupData);\n } else {\n this.closeModal.emit(false);\n this.restartModal();\n }\n }\n\n processProducts(): AddedProductModel[] {\n const prods: AddedProductModel[] = [];\n this.productsToAdd = this.productsToAddSession;\n this.productsToAdd.forEach(product => {\n prods.push({\n id: product.id,\n sku: product.id,\n name: product.name,\n offer_date: null\n });\n });\n return prods;\n }\n}\n","
\n
\n \n
\n
\n \n
\n

Perfil de busca

\n \n
\n\n
\n \n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n

Valor mínimo

\n
\n R$\n \n
\n
\n \n
\n

Valor máximo

\n
\n R$\n \n
\n
\n
\n
\n \n O máximo não pode ser menor que o mínimo\n
\n
\n \n
\n
\n
\n

Área mínima

\n
\n \n \n
\n
\n \n
\n

Área máxima

\n
\n \n \n
\n
\n
\n
\n \n O máximo não pode ser menor que o mínimo\n
\n
\n \n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n \n
\n

Comentários

\n
\n \n
\n
\n\n
\n \n Cancelar\n \n \n Salvar\n \n
\n\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, ControlContainer } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { MultiSelectionOptions, MultiSelectionOption } from 'commons-lib';\n\nimport { SnackbarService } from '../../../snackbar/service/snackbar.service';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { EditFacModalService } from '../../service/edit-fac-modal.service';\nimport { FullFacModel } from '../../../../../core/models/edit-fac-modal.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-edit-modal-search-profile',\n templateUrl: './edit-modal-search-profile.component.html',\n styleUrls: ['./edit-modal-search-profile.component.scss']\n})\nexport class EditModalSearchProfileComponent implements OnInit {\n\n @Input() show = false;\n @Input() facItem: FullFacModel;\n @Input() searchProfileEditObj = {\n id: null,\n idx: 0\n };\n @Output() closeModal = new EventEmitter();\n\n public moresSearchProfile: FormGroup;\n public dropdownsState = {\n business_type: false,\n property_type: false,\n state: false,\n city: false,\n neighborhood_or_value_zone: false\n };\n public loader = false;\n public showError = {\n cash: false,\n area: false\n };\n public invalid = true;\n\n public roomQnt = new MultiSelectionOptions([\n new MultiSelectionOption('1', JSON.stringify({operation: 'EQL', value: 1})),\n new MultiSelectionOption('2', JSON.stringify({operation: 'EQL', value: 2})),\n new MultiSelectionOption('3', JSON.stringify({operation: 'EQL', value: 3})),\n new MultiSelectionOption('4+', JSON.stringify({operation: 'GTE', value: 4}))\n ]);\n\n public suitesQnt = new MultiSelectionOptions([\n new MultiSelectionOption('1', JSON.stringify({operation: 'EQL', value: 1})),\n new MultiSelectionOption('2', JSON.stringify({operation: 'EQL', value: 2})),\n new MultiSelectionOption('3', JSON.stringify({operation: 'EQL', value: 3})),\n new MultiSelectionOption('4+', JSON.stringify({operation: 'GTE', value: 4}))\n ]);\n\n public parkingQnt = new MultiSelectionOptions([\n new MultiSelectionOption('1', JSON.stringify({operation: 'EQL', value: 1})),\n new MultiSelectionOption('2', JSON.stringify({operation: 'EQL', value: 2})),\n new MultiSelectionOption('3', JSON.stringify({operation: 'EQL', value: 3})),\n new MultiSelectionOption('4+', JSON.stringify({operation: 'GTE', value: 4}))\n ]);\n\n public listState: any[] = [];\n public listCity: any [] = [];\n public listNeighborhoods: any [] = [];\n public listProductType: any [] = [];\n\n public listLocation = [\n {\n name: 'Locação'\n },\n {\n name: 'Venda'\n }];\n\n constructor(\n private controlContainer: ControlContainer,\n private snackbarService: SnackbarService,\n private checkStatusService: CheckTaskStatusService,\n private editFacService: EditFacModalService,\n private translate: TranslateService,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit() {\n this.moresSearchProfile = this.controlContainer.control as FormGroup;\n this.selectToggles();\n this.validateForm(this.moresSearchProfile.getRawValue());\n this.moresSearchProfile.valueChanges.subscribe(result => this.validateForm(result));\n this.editFacService.getProductTypes().subscribe((x: any) => this.listProductType = x.types);\n this.editFacService.getStates('brasil').subscribe((x: any) => {\n this.listState = x;\n if (this.moresSearchProfile.get('state').value) {\n this.getListCity(this.getItem(this.moresSearchProfile.get('state'), this.listState)[0]?.id);\n }\n });\n }\n\n public getItem(formControl, list: any[]): any[] {\n let data = [];\n if (formControl.value) {\n data = list.filter(x => x.name === formControl.value);\n }\n return data;\n }\n\n public clearText(): void {\n this.moresSearchProfile.get('city').setValue(null);\n this.moresSearchProfile.get('neighborhood_or_value_zone').setValue(null);\n this.listCity = [];\n this.listNeighborhoods = [];\n }\n\n public getListCity(data: string) {\n if (data) {\n this.editFacService.getLocations(data).subscribe((x: any) => {\n this.listCity = x;\n if (this.moresSearchProfile.get('city').value) {\n this.getNeighborhoods(this.getItem(this.moresSearchProfile.get('city'), this.listCity)[0]?.id);\n }\n });\n }\n }\n\n public getNeighborhoods(data: string) {\n if (data) {\n this.editFacService.getNeighborhoods(data).subscribe((x: any) => this.listNeighborhoods = x);\n }\n }\n\n public clearSearchProduct(field: string): void {\n this.moresSearchProfile.get(field).setValue(null);\n this.listNeighborhoods = [];\n }\n\n public clearProperty() {\n this.moresSearchProfile.get('property_type').patchValue(null);\n }\n\n public clearCityAndNeighborhoods() {\n this.listCity = [];\n this.listNeighborhoods = [];\n this.moresSearchProfile.get('state').patchValue(null);\n this.moresSearchProfile.get('city').patchValue(null);\n this.moresSearchProfile.get('neighborhood_or_value_zone').patchValue(null);\n }\n\n public getProductTypes() {\n this.editFacService.getProductTypes().subscribe((x: any) => this.listProductType = x.types);\n }\n\n validateForm(result) {\n function validateInputRange(minField, maxField) {\n if (parseFloat(minField) > parseFloat(maxField)) {\n return true;\n }\n return false;\n }\n\n if (validateInputRange(result.min_cash_value, result.max_cash_value)) {\n this.showError.cash = true;\n return;\n } else {\n this.showError.cash = false;\n }\n\n if (validateInputRange(result.min_area_value, result.max_area_value)) {\n this.showError.area = true;\n return;\n } else {\n this.showError.area = false;\n }\n\n for (const key in result) { // Check if has some value\n if (\n result[key] !== null &&\n result[key] !== ''\n ) {\n this.invalid = false;\n return;\n }\n }\n\n this.invalid = true;\n }\n\n clickMultiToggle(multi: MultiSelectionOption[], formKey: string) {\n this.moresSearchProfile.get(formKey).patchValue(multi.map(item => {\n return JSON.parse(item.getValue());\n }));\n\n if (this.moresSearchProfile.get(formKey).value.length === 0) {\n this.moresSearchProfile.get(formKey).patchValue(null);\n }\n }\n\n selectToggles() {\n const loopCheck = (formName: string, toggle: MultiSelectionOptions) => {\n if (!this.moresSearchProfile.get(formName).value) {\n return;\n }\n this.moresSearchProfile.get(formName).value.forEach(element => {\n for (const iterator of toggle.items) {\n const currentValue = JSON.parse(iterator.getValue()).value;\n if (currentValue === element.value) {\n iterator.toggle();\n continue;\n }\n }\n });\n };\n\n loopCheck('bedrooms', this.roomQnt);\n loopCheck('suites', this.suitesQnt);\n loopCheck('garage_spaces', this.parkingQnt);\n }\n\n updateDropdownValue(field: string, value: any, dropdown: string) {\n if (field === 'city') {\n this.listNeighborhoods = [];\n this.moresSearchProfile.get('neighborhood_or_value_zone').setValue(null);\n }\n this.moresSearchProfile.get(field).patchValue(value);\n this.moresSearchProfile.markAsDirty();\n this.dropdownsState[dropdown] = false;\n }\n\n saveModal() {\n if (this.invalid || this.showError.cash || this.showError.area) {\n return;\n }\n this.loader = true;\n if (this.searchProfileEditObj.id) {\n this.editSearch();\n } else {\n this.createSearch();\n }\n }\n\n\n editSearch() {\n this.editFacService.patchFacSearchProfile(\n this.facItem.id,\n this.searchProfileEditObj.id,\n this.moresSearchProfile.getRawValue()\n ).subscribe(resp => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(msg => {\n if (msg.status && msg.status.name === 'Successful') {\n const newSeachProfile = this.moresSearchProfile.getRawValue();\n newSeachProfile.id = this.searchProfileEditObj.id;\n this.facItem.search_profiles[this.searchProfileEditObj.idx] = newSeachProfile;\n this.snackbarService.show('O perfil de busca foi alterado', 'success');\n this.loader = false;\n this.closeModal.emit();\n }\n if (msg.status && msg.status.name === 'Failure') { this.errorCreateSearch(msg); }\n this.loader = false;\n }, err => this.errorCreateSearch(err));\n }, err => {\n this.errorCreateSearch(err);\n this.loader = false;\n });\n }\n\n createSearch() {\n this.editFacService.postFacSearchProfile(this.facItem.id, this.moresSearchProfile.getRawValue()).subscribe(resp => {\n this.checkStatusService.checkTaskStatus2(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(msg => {\n if (msg.status && msg.status.name === 'Successful') {\n const newSeachProfile = this.moresSearchProfile.getRawValue();\n newSeachProfile.id = msg.task_id;\n this.facItem.search_profiles.push(newSeachProfile);\n this.snackbarService.show('O perfil de busca foi adicionado', 'success');\n this.closeModal.emit();\n }\n if (msg.status && msg.status.name === 'Failure') { this.errorCreateSearch(msg); }\n this.loader = false;\n }, err => this.errorCreateSearch(err));\n }, err => {\n this.errorCreateSearch(err);\n this.loader = false;\n });\n }\n\n errorCreateSearch(err): void {\n if (err.messages) {\n this.snackbarService.show(err.messages[0].message, 'error', 10);\n } else {\n this.snackbarService.show('Não foi possível realizar esta ação, tente novamente mais tarde', 'error', 10);\n }\n this.loader = false;\n this.closeModal.emit();\n }\n\n public removeCaracter(event) {\n event.target.value = event.target.value.replace(/[^0-9\\.]+/g, '');\n }\n\n public typeList = (data: string): string => {\n if (data === 'neighborhood') {\n return 'Bairro';\n } else {\n return 'Zona de Valor';\n }\n }\n\n public closed() {\n this.closeModal.emit(true);\n }\n\n}\n","
\n \n
\n \n \n \n
\n
\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\nimport { FullFacModel } from '../../../../core/models/edit-fac-modal.model';\nimport { EditFacModalService } from '../service/edit-fac-modal.service';\nimport { SnackbarService } from '../../snackbar/service/snackbar.service';\nimport { CheckTaskStatusService } from 'src/app/core/services/check-task-status-service/check-task-status-service';\nimport { ButtonsPopupService } from '../../buttons-popup/service/buttons-popup.service';\nimport { ButtonsPopupModel } from '../../buttons-popup/buttons-popup.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-modal-search-profile',\n templateUrl: './modal-search-profile.component.html',\n styleUrls: ['./modal-search-profile.component.scss']\n})\nexport class ModalSearchProfileComponent {\n\n @Input() facItem: FullFacModel;\n @Output() openEdit = new EventEmitter();\n @Output() openCreate = new EventEmitter();\n\n constructor(\n private facModalService: EditFacModalService,\n private snackbarService: SnackbarService,\n private checkStatusService: CheckTaskStatusService,\n private btnsService: ButtonsPopupService,\n private environmentService: EnvironmentService\n ) { }\n\n editCard(index: number) {\n this.openEdit.emit(index);\n }\n\n removeCard(index: number) {\n const popModalOptions: ButtonsPopupModel = {\n title: 'Atenção',\n description: 'Deseja deletar o perfil de busca?',\n buttons: [\n {\n btnType: 3,\n title: 'Cancelar',\n func: () => {}\n },\n {\n btnType: 1,\n title: 'Deletar',\n func: () => {\n this.facModalService.deleteFacSearchProfile(this.facItem.id, this.facItem.search_profiles[index].id).subscribe(resp => {\n this.checkStatusService.checkTaskStatus(resp.taskId, this.environmentService.getEnvVar('api_facs')).subscribe(task => {\n this.snackbarService.show('As alterações foram salvas.', 'success');\n },\n err => {\n this.snackbarService.show(err.error.messages[0].message, 'error');\n });\n });\n this.facItem.search_profiles.splice(index, 1);\n }\n },\n ]\n };\n\n this.btnsService.show(popModalOptions);\n }\n\n createCard() {\n this.openCreate.emit(true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\n\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { Observable, Subject } from 'rxjs';\n\nimport {\n EditFacCombosModel,\n FullFacModel,\n NotesUpdateModel,\n EditFacSearchProfileModel,\n DiscardModel,\n AutocompleteTransferModel,\n TransferFormModel,\n TransferModel,\n AutocompleteProductResultsModel,\n AutocompleteProductAddressResultModel} from '../../../../core/models/edit-fac-modal.model';\nimport { ProductSearchModel } from '../modal-product-search/product-search.model';\nimport { Phone } from 'src/app/core/models/phone.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditFacModalService {\n\n private uri: string = this.environmentService.getEnvVar('api_facs');\n private uriv2: string = this.environmentService.getEnvVar('api_facs_v2');\n private loadingState = new Subject();\n\n public clearProductsModal: Subject = new Subject();\n\n private featureTransferFac: boolean = this.environmentService.getEnvVar('feature_transfer_fac') === 'true';\n public featureOperationMarkets: boolean = this.environmentService.getEnvVar('feature_operation_markets') === 'true';\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public getLoading() {\n return this.loadingState.asObservable();\n }\n\n public setLoader(state: boolean) {\n this.loadingState.next(state);\n }\n\n public getClearProductsModal(): Observable {\n return this.clearProductsModal.asObservable();\n }\n\n public setClearProductsModal(): void {\n this.clearProductsModal.next(true);\n }\n\n public getCombos(): Observable {\n return this.http.get(`${this.uri}/fac/combos`);\n }\n\n public getFacById(id: string): Observable {\n return this.http.get(`${this.uriv2}/fac/${id}`);\n }\n\n public callWhatsApp(phone: string) {\n window.open(`https://api.whatsapp.com/send?phone=${this.sanitizePhoneNumber(phone)}`, '_blank');\n }\n\n public sanitizePhoneNumber(phone : string): string {\n if (!phone) {\n return;\n }\n return phone.replace(/[^0-9]/g,'');\n }\n\n public searchProducts(searchObj: ProductSearchModel) {\n return this.http.request('POST', `${this.uri}/search/products`, {\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n body: JSON.stringify(searchObj),\n });\n }\n\n public patchFacById(id: string, bodyRequest: any): Observable {\n return this.http.patch(`${this.uri}/fac/${id}`, bodyRequest\n );\n }\n\n public updateFacPhone(id: string, phone: Phone): Observable {\n const bodyRequest = {\n alternative_phone: phone\n };\n return this.http.put(`${this.uri}/fac/${id}/phone`, bodyRequest);\n }\n\n public updateFacEmail(id: string, email: string): Observable {\n const bodyRequest = {\n alternative_email: email\n };\n return this.http.put(`${this.uri}/fac/${id}/email`, bodyRequest);\n }\n\n public updateFacNotes(id: string, body: NotesUpdateModel): Observable {\n return this.http.post(`${this.uri}/fac/${id}/notes`, body);\n }\n\n public getFacHistory(id: string) {\n return this.http.get(`${this.uriv2}/fac/${id}/history?` + Math.random());\n }\n\n public deleteFacSearchProfile(facId: string, profileId: string): Observable {\n return this.http.delete(`${this.uri}/fac/${facId}/search-profile/${profileId}`);\n }\n\n public postFacSearchProfile(facId: string, body: EditFacSearchProfileModel): Observable {\n return this.http.post(`${this.uri}/fac/${facId}/search-profile`, body);\n }\n\n public patchFacSearchProfile(facId: string, profileId: string, body: EditFacSearchProfileModel): Observable {\n return this.http.patch(`${this.uri}/fac/${facId}/search-profile/${profileId}`, body);\n }\n\n public putFacArchive(facId: string, state: boolean): Observable {\n const body = {\n archived: state\n };\n return this.http.put(`${this.uri}/fac/${facId}/archive`, body);\n }\n\n public putFacDiscard(facId: string, body: DiscardModel): Observable {\n return this.http.put(`${this.uri}/fac/${facId}/discard`, body);\n }\n\n public getFacAddress(country: string, zipCode: string): Observable {\n return this.http.get(`${this.uri}/search/addresses/${country}/${zipCode}`);\n }\n\n public autoCompleteTransfer(data: string): Observable {\n const searchObj = {\n search: data\n };\n if (this.featureTransferFac) {\n const v2Url: string = this.uri.substr(0, this.uri.length - 2);\n return this.http.post(`${v2Url}v2/team/members`, searchObj);\n } else {\n return this.http.post(`${this.uri}/team/members/`, searchObj);\n }\n }\n\n public postFacTransfer(facId: string, data: TransferFormModel): Observable {\n const body: TransferModel = {\n destination_user: data\n };\n return this.http.post(`${this.uri}/fac/${facId}/transfer/`, body);\n }\n\n public checkOpMarkets() {\n return this.http.get(`${this.uri}/operation-markets`);\n }\n\n public autoCompleteProduct(name: string, page: number, rows: number): Observable {\n const searchObj = {\n product_type: 'REAL_ESTATE_PARENT',\n page_number: page,\n row_number: rows,\n direction: 'ASC',\n input: name\n };\n return this.http.post(`${this.uri}/products/autocomplete`, searchObj);\n }\n\n public autoCompleteProductAddress(name: string, page: number, rows: number): Observable {\n const searchObj = {\n product_type: 'REAL_ESTATE',\n page_number: page,\n row_number: rows,\n direction: 'ASC',\n input: name\n };\n return this.http.post(`${this.uri}/products/address/autocomplete`, searchObj);\n }\n\n public searchProductsRealEstateParent(searchTxt: any, page: number, rows: number): Observable {\n const searchObj = {\n page_number: page,\n row_number: rows,\n lancamentos: {\n search: searchTxt\n }\n };\n return this.http.post(`${this.uri}/search/products`, searchObj);\n }\n\n public searchProductsRealEstate(params: any, page: number, rows: number): Observable {\n const searchObj = {\n page_number: page,\n row_number: rows,\n prontos: {\n cod: params.cod,\n address: params.address,\n num: params.num\n }\n };\n return this.http.post(`${this.uri}/search/products`, searchObj);\n }\n\n getColumnName(value) {\n switch (value) {\n case 1:\n return 'Sem atendimento';\n case 2:\n return 'Sem contato';\n case 3:\n return 'Em atendimento';\n case 4:\n return 'Visita';\n case 5:\n return 'Proposta';\n case 6:\n return 'Venda';\n default:\n return 0;\n }\n }\n\n getColumnType(value) {\n switch (value.toLowerCase()) {\n case 'sem atendimento':\n return 1;\n case 'sem contato':\n return 2;\n case 'em atendimento':\n return 3;\n case 'visita':\n return 4;\n case 'proposta':\n return 5;\n case 'venda':\n return 6;\n default:\n return 0;\n }\n }\n\n public getStates(country: string) {\n return this.http.get(`${this.uri}/combo/${country}/states`);\n }\n\n public getLocations(data: string) {\n return this.http.get(`${this.uri}/combo/${data}/locations`);\n }\n\n public getNeighborhoods(data: string) {\n return this.http.get(`${this.uri}/combo/${data}/neighborhoods`);\n }\n\n public getProductTypes() {\n return this.http.get(`${this.uri}/combo/product-types`);\n }\n\n public hrefLink(facId: string, profileId: string) {\n return this.http.post(`${this.uri}/fac/portal/url/${facId}/${profileId}`, {});\n }\n\n public getOfferedProduct(facId: string) {\n let params = new HttpParams();\n params = params.append('timezone', Intl.DateTimeFormat().resolvedOptions().timeZone);\n return this.http.get(`${this.uriv2}/fac/${facId}/offered-products`, {params});\n }\n\n public getChatCombos(facId: string) {\n return this.http.get(`${this.uri}/fac/${facId}/predefined-messages`);\n }\n\n public resendChatEmail(facId: string, messageId: string) {\n return this.http.post(`${this.uri}/fac/${facId}/resend-chat-message`, {chat_id: messageId});\n }\n}\n","
\n \n \"{{icon}}\"\n \n \"{{icon}}\"\n \n \"{{icon}}\"\n\n\n\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-flag-component',\n templateUrl: './flag-component.component.html',\n styleUrls: ['./flag-component.component.scss']\n})\nexport class FlagComponentComponent {\n\n @Input() icon: string;\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlagComponentComponent } from './flag-component.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [ FlagComponentComponent ],\n exports: [ FlagComponentComponent ]\n})\nexport class FlagComponentModule {}\n","\n
\n
\n \"{{selectedOption.icon}}\"\n

{{selectedOption.prefix}}

\n
\n \"dropdown-arrow\"\n
\n
\n \n\n
\n
\n \"{{flag.icon}}\"\n

{{flag.country}}: {{flag.prefix}}

\n
\n
\n
","import { Component, Input, HostListener, ElementRef, EventEmitter, Output, OnInit, OnChanges, SimpleChanges } from '@angular/core';\n\nimport StringMask from 'string-mask';\n\nimport { Phone } from 'src/app/core/models/phone.model';\nimport { flagOptions } from 'src/app/core/constants/flag-Input-const';\nimport { FormGroup, FormBuilder } from '@angular/forms';\n\n@Component({\n selector: 'app-flag-input',\n templateUrl: './flag-input.component.html',\n styleUrls: ['./flag-input.component.scss']\n})\nexport class FlagInputComponent implements OnInit, OnChanges {\n\n public flagOptions = flagOptions;\n @Input() label = '';\n @Input() isOpen = false;\n @Input() invalid = false;\n @Input() defaultCountry = '';\n @Input() phone: Phone = {phone: '', ddi: ''};\n @Output() changes: EventEmitter = new EventEmitter();\n form: FormGroup;\n selectedOption;\n placeholder;\n fallbackFlag = 'Brasil';\n\n ngOnInit() {\n this.form = this.fb.group({\n phone: this.phone.phone ? this.phone.phone : '',\n ddi: this.phone.ddi ? this.phone.ddi : ''\n });\n if (this.phone.ddi) {\n this.selectedOption = this.flagOptions.find(flag => flag.prefix === this.phone.ddi);\n }\n if (this.defaultCountry) {\n this.selectedOption = this.flagOptions.find(flag => flag.country === this.defaultCountry);\n }\n if (!this.selectedOption) {\n this.selectedOption = this.flagOptions.find(flag => flag.country === this.fallbackFlag);\n }\n this.updateInput();\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes.phone && changes.phone.firstChange) {\n return;\n }\n if (this.form.value.phone && !this.form.value.ddi) {\n return false;\n }\n this.form.patchValue(this.phone);\n this.selectedOption = this.flagOptions.find(flag => flag.prefix === this.form.value.ddi);\n this.updateInput();\n }\n\n @HostListener('window:click', ['$event'])\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n }\n }\n }\n\n constructor(private eRef: ElementRef, private fb: FormBuilder) { }\n\n updateInput() {\n this.placeholder = this.selectedOption.mask;\n this.changeFlag(this.selectedOption);\n this.changeMask();\n }\n\n changeFlag(flag) {\n this.selectedOption = flag;\n this.placeholder = flag.mask;\n this.form.controls.ddi.setValue(flag.prefix);\n this.emitPhone();\n }\n\n setFlag(flag) {\n this.isOpen = false;\n this.changeFlag(flag);\n this.form.controls.phone.setValue('');\n }\n\n changeMask() {\n const phone = this.form.value.phone.replace(/[^0-9]/g, '');\n switch (this.form.value.ddi) {\n case '+55': {\n this.form.controls.phone.setValue(this.brMask(phone));\n break;\n }\n case '+1': {\n this.form.controls.phone.setValue(this.usaMask(phone));\n break;\n }\n case '+351': {\n this.form.controls.phone.setValue(this.ptMask(phone));\n break;\n }\n\n }\n this.form.controls.phone.setValue(this.form.value.phone.replace(/[^0-9]+$/, ''));\n this.emitPhone();\n }\n\n brMask(phone) {\n if (phone.length < 11) {\n phone = new StringMask(this.selectedOption.pattern[1]).apply(phone);\n } else {\n phone = new StringMask(this.selectedOption.pattern[0]).apply(phone);\n }\n return phone;\n }\n\n usaMask(phone) {\n phone = new StringMask(this.selectedOption.pattern[0]).apply(phone);\n return phone;\n }\n\n ptMask(phone) {\n phone = new StringMask(this.selectedOption.pattern[0]).apply(phone);\n return phone;\n }\n\n\n emitPhone() {\n const phone = this.form.value;\n this.changes.emit(phone);\n }\n}\n","
\n \n
\n \n \n
\n \n
{{controlCountry.value}}
\n
\n \"seta\n \n \n \n
    \n
  • \n
    \n \n
    {{option.prefix}}
    \n
    \n
  • \n
\n
\n\n \n
\n\n \n \n \n
\n","import { EventEmitter, Input, Output, Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport {\n CELLPHONE_MASK, LANDLINE_MASK, VALIDA_CELULAR_FIXO, PORTUGAL_PATTERN_PHONE, USA_PATTERN_PHONE\n} from 'src/app/core/constants/consts';\nimport { flagOptions } from 'src/app/core/constants/flag-Input-const';\nimport { FlagListModel } from '../flag-input/flag-input.model';\n\n@Component({\n selector: 'app-input-dropdown-country-prefix-phone',\n templateUrl: './input-dropdown-country-prefix-phone.component.html',\n styleUrls: ['./input-dropdown-country-prefix-phone.component.scss']\n})\nexport class InputDropdownCountryPrefixPhoneComponent implements OnInit {\n\n @Input() label: string;\n @Input() control = new FormControl();\n @Input() fieldName: string;\n @Input() hint: string;\n @Input() showIcon = true;\n @Output() blured = new EventEmitter();\n @Output() inputed = new EventEmitter();\n @Output() keyupped = new EventEmitter();\n @Input() controlCountry = new FormControl();\n @Input() required: boolean;\n\n flagOptions = flagOptions;\n selectedOption: FlagListModel;\n arrowOpen = false;\n phoneLenght: number;\n phoneMask: string;\n\n ngOnInit() {\n this.initSelectOption();\n this.pickValidators();\n this.phoneLenght = this.control?.value?.length || 0;\n this.onPhoneChanged(new KeyboardEvent(''), 11);\n }\n\n initSelectOption(): void {\n this.selectedOption = this.flagOptions.find(\n item => item.prefix === this.controlCountry.value\n );\n if (!this.selectedOption) {\n this.selectedOption = this.flagOptions[0];\n }\n }\n\n selectOption(prefixCountry) {\n this.selectedOption = this.flagOptions.find((option) => option.prefix === prefixCountry);\n if (!this.selectedOption) {\n return;\n }\n this.pickValidators();\n this.phoneMask = this.selectedOption.mask;\n this.controlCountry.setValue(this.selectedOption.prefix);\n this.control.setValue('');\n this.control.markAsTouched();\n }\n\n captureClickEvent() {\n this.arrowOpen = true;\n }\n\n checkIfFieldHasNotValueAndMarkAsTouched() {\n this.arrowOpen = false;\n this.controlCountry.markAsTouched();\n }\n\n pickValidators(): void {\n const validators = [];\n if (this.required) {\n validators.push(Validators.required);\n }\n if (this.selectedOption?.prefix === '+55') {\n validators.push(Validators.pattern(VALIDA_CELULAR_FIXO));\n } else if (this.selectedOption?.prefix === '+351') {\n validators.push(Validators.pattern(PORTUGAL_PATTERN_PHONE));\n } else if (this.selectedOption?.prefix === '+1') {\n validators.push(Validators.pattern(USA_PATTERN_PHONE));\n }\n this.control.setValidators(validators);\n }\n\n onPhoneChanged(e: KeyboardEvent, length = 10): void {\n // tslint:disable: deprecation\n if (this.selectedOption?.prefix === '+55') {\n const phoneValue = this.control.value;\n // e.keyCode === 8 = backspace\n if (this.phoneLenght < length || e?.keyCode === 8) {\n this.phoneMask = LANDLINE_MASK;\n } else if (this.phoneLenght === length) {\n this.phoneMask = CELLPHONE_MASK;\n this.control.setValue(phoneValue + e.key);\n }\n this.phoneLenght = this.control?.value?.length || 0;\n } else {\n this.phoneMask = this.selectedOption.mask;\n }\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\nimport { NgxMaskModule } from 'ngx-mask';\nimport { FlagComponentModule } from '../flag-component/flag-component.module';\nimport { ValidMsgModule } from '../valid-msg/valid-msg.module';\nimport { InputDropdownCountryPrefixPhoneComponent } from './input-dropdown-country-prefix-phone.component';\n\n@NgModule({\n imports: [\n CommonModule,\n NgxMaskModule.forRoot({}),\n ReactiveFormsModule,\n NgZorroAntdModule,\n FlagComponentModule,\n ValidMsgModule\n ],\n declarations: [ InputDropdownCountryPrefixPhoneComponent ],\n exports: [ InputDropdownCountryPrefixPhoneComponent ]\n})\nexport class InputDropdownCountryPrefixPhoneModule {}\n","
\n \n \n
\n","import { Component, Input, EventEmitter, Output, HostListener, ElementRef, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n@Component({\n selector: 'app-input-search',\n templateUrl: './input-search.component.html',\n styleUrls: ['./input-search.component.scss']\n})\n\nexport class InputSearchComponent implements OnInit{\n\n public DELAY_AUTOCOMPLETE = 600;\n public inputForm = new FormControl();\n public listSearch = [];\n public ListToService = [];\n public textSearch = '';\n public indexScroll = 0;\n public flagInput = false;\n public indexIdValue = -1;\n @Output() public paramsRouterEmit = new EventEmitter();\n @Output() public itemEmit = new EventEmitter();\n @Output() public indexIdEmit = new EventEmitter();\n @Output() public dataSearch = new EventEmitter();\n @Output() public requestClosedModal = new EventEmitter();\n @Input() public service;\n\n constructor(\n private eRef: ElementRef\n ){ }\n\n ngOnInit() {\n this.searchInput();\n }\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.flagInput && this.listSearch.length) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.listSearch = [];\n this.flagInput = false;\n }\n }\n }\n \n public searchInput() {\n this.inputForm.valueChanges.pipe(\n distinctUntilChanged(),\n ).subscribe(text => this.requestSearch(text));\n }\n\n public requestSearch(data: string): void {\n if (data && data.length >= 3) {\n this.flagInput = true;\n this.service.autoComplete(data).subscribe(resp => {\n this.listSearch = resp;\n });\n } else {\n this.flagInput = false;\n this.indexIdValue = -1;\n this.indexIdEmit.emit(-1);\n }\n }\n\n public formatStrong(data: string): string {\n return data.replace(//g, '').replace(/<\\/strong>/g, '');\n }\n\n public downList(event: Event | any) {\n if (event.keyCode === 27) {\n this.flagInput = false;\n return false;\n }\n if ((event.keyCode === 40 || event.keyCode === 38)) {\n if (this.indexFilter(this.indexIdValue, this.listSearch.length, event, 40, 38)) {\n return false;\n }\n this.validIndex(event.keyCode);\n }\n }\n\n public validIndex(data: number) {\n if (data === 40) {\n this.indexIdValue += 1;\n this.indexIdEmit.emit(this.indexIdValue)\n this.textSearch = this.formatStrong(this.listSearch[this.indexIdValue].description);\n return false;\n }\n if (data === 38) {\n this.indexIdValue -= 1;\n this.indexIdEmit.emit(this.indexIdValue)\n this.textSearch = this.formatStrong(this.listSearch[this.indexIdValue].description);\n return false;\n }\n }\n\n public indexFilter(index: number, listLength: number, event, numberDown: number, numberUp: number) {\n if ((index + 1 >= listLength) && event.keyCode === numberDown) {\n return true;\n }\n if ((index <= 0) && event.keyCode === numberUp) {\n return true;\n }\n return false;\n }\n \n public searchText() {\n if (this.inputForm.value.length >= 3 || this.ListToService.length) {\n this.listSearch = [];\n this.paramsRouterEmit.emit(this.inputForm.value);\n this.dataSearch.emit(this.ListToService);\n this.flagInput = false;\n } else {\n this.paramsRouterEmit.emit(this.inputForm.value);\n this.flagInput = false;\n this.requestClosedModal.emit(true);\n }\n }\n\n public sendItem(item) {\n this.itemEmit.emit(item);\n this.flagInput = false;\n this.inputForm.setValue('');\n }\n\n public pointerSelection(data: number) {\n this.indexIdValue = data;\n this.indexIdEmit.emit(data) ;\n }\n\n}","
\n \n
\n \"Usuário\"\n
    \n
  • \n {{ item }}\n \n \"Fechar\"\n \n
  • \n
  • \n \n
  • \n
\n
\n
","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n\n@Component({\n selector: 'app-input-tag',\n templateUrl: './input-tag.component.html',\n styleUrls: ['./input-tag.component.scss']\n})\nexport class InputTagComponent {\n\n\n /**\n * \n * @param - The width is applied to the component.\n * \n * \n * \n * \n * exemplo-width {\n * width: 300px | 30vw | 30% ...\n * }\n *\n */\n\n public innerValue = '';\n\n @Input() public TG_list: string [] = [];\n\n /**\n * @param /receives a regex for validation\n */\n @Input() public TG_Regex = '';\n\n @Input() public TG_icon = '';\n @Input() public TG_label = '';\n\n @Output() public sendTags = new EventEmitter();\n\n\n public TG_Pattern = false;\n public shake = false;\n\n public tgEnter(event: Event | any): void {\n this.TG_Pattern = false;\n this.shake = false;\n this.tgValidator(this.innerValue);\n this.tgClearAdding(event.keyCode);\n this.shakeAction(event.keyCode);\n }\n\n private shakeAction(keyCode: number): void {\n if (keyCode === 13 || keyCode === 9) {\n setTimeout(() => {\n if (!this.TG_Pattern) {\n this.shake = true;\n }\n }, 120);\n }\n }\n\n public tgClearAdding(keyCode: number) {\n if (this.innerValue === '' && keyCode === 8) {\n this.TG_list.pop();\n this.sendTags.emit(this.TG_list);\n }\n if (this.TG_Pattern && (keyCode === 13 || keyCode === 9)) {\n this.TG_list.push(this.innerValue);\n this.innerValue = '';\n this.sendTags.emit(this.TG_list);\n }\n }\n\n public tgSet(): void {\n if (this.innerValue && this.innerValue !== null && this.TG_Pattern) {\n this.TG_list.push(this.innerValue);\n this.innerValue = '';\n this.sendTags.emit(this.TG_list);\n }\n if (this.TG_list.length && !this.TG_Pattern) {\n this.shake = true;\n }\n }\n\n public tgValidator(data: string): boolean {\n if (data && data !== '') {\n const validator = RegExp(this.TG_Regex);\n this.TG_Pattern = validator.test(data);\n if (this.tgDuplicate()) {\n this.TG_Pattern = false;\n }\n return this.TG_Pattern;\n }\n }\n\n public tgDuplicate(): boolean {\n let flag = false;\n this.TG_list.forEach(x => {\n if (x.toLocaleLowerCase() === this.innerValue.toLocaleLowerCase()) {\n flag = true;\n }\n });\n return flag;\n }\n\n public tgRemove(index: number) {\n if (this.innerValue.trim().length > 0) {\n return;\n } else {\n this.TG_list.splice(index, 1);\n this.innerValue = '';\n this.sendTags.emit(this.TG_list);\n }\n }\n\n\n}","
\n \n \n \n\n \n\n \n \n
\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-input-text',\n templateUrl: './input-text.component.html',\n styleUrls: ['./input-text.component.scss']\n})\nexport class InputTextComponent {\n // mandatory\n @Input() label: string;\n @Input() control = new FormControl();\n @Input() fieldName: string;\n // not obligatory\n @Input() maxlength = 100;\n @Input() placeholder: string;\n @Input() hint: string;\n @Input() type = 'text';\n @Input() showIcon = true;\n @Input() mask: string;\n @Input() height = 40;\n @Input() disabled: boolean;\n @Output() blured = new EventEmitter();\n @Output() inputed = new EventEmitter();\n @Output() keyupped = new EventEmitter();\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { InputTextComponent } from './input-text.component';\nimport { ValidMsgModule } from '../valid-msg/valid-msg.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask';\n\n@NgModule({\n imports: [\n CommonModule,\n ValidMsgModule,\n ReactiveFormsModule,\n NgxMaskModule.forRoot({})\n ],\n declarations: [ InputTextComponent ],\n exports: [ InputTextComponent ]\n})\nexport class InputTextModule { }\n","
\n \n
\n \n \n \n \n
\n \n {{ dataValue.length }} / {{ countNumber }}\n \n
\n \"Icon\n {{ messageError }}\n
\n
","import { Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'app-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true\n }]\n})\nexport class InputComponent implements ControlValueAccessor {\n /**\n *\n * @InputComponent the use of this component allows the use of an icon or not.\n * To do this, just pass parameters to the iconPathAlt\n *\n */\n\n @Input() public id: string;\n @Input() public label: string;\n @Input() public messageError: string;\n @Input() public error: boolean;\n @Input() public placeholder: string;\n @Input() public maxlength ?= null;\n @Input() public minlength ?= null;\n @Input() public maskInput ?= false;\n @Input() public suffixInput ?= false;\n @Input() public isPrice ?= false;\n @Input() public separator ?= '';\n @Input() public type = 'text';\n @Input() public iconPathAlt = {\n alt: null,\n path: '',\n rightPosition: false\n };\n @Input() public countNumber = null;\n @Input() public loading: boolean = false;\n @Input() public isDisabled: boolean = false;\n @Input() public toFixed: number;\n\n public dataValue = '';\n\n get value(): string {\n return this.toFixed ? Number(this.dataValue).toFixed(this.toFixed) : this.dataValue;\n }\n\n set value(data: string) {\n if (this.dataValue !== data) {\n this.dataValue = data;\n this.onChangeCb(data);\n }\n }\n\n\n public changeValue(e) {\n if (e.target.value && this.isPrice) {\n let price = e.target.value.replace(/\\D/g, '');\n price = (+price / 100).toFixed(2) + '';\n price = price.replace('.', ',');\n price = price.replace(/(\\d)(\\d{3})(\\d{3})(\\d{3}),/g, '$1.$2.$3.$4,');\n price = price.replace(/(\\d)(\\d{3})(\\d{3}),/g, '$1.$2.$3,');\n price = price.replace(/(\\d)(\\d{3}),/g, '$1.$2,');\n this.dataValue = price;\n this.onChangeCb(price);\n }\n }\n\n onChangeCb: (_: string) => void = () => {};\n onTouchedCb: (_: string) => void = () => {};\n\n writeValue(value: string): void {\n this.value = value;\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChangeCb = fn;\n }\n\n registerOnTouched(fn: (_: string) => void): void {\n this.onTouchedCb = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n}\n","
\n
\n \"dialogo\n

Entrar em contato

\n
\n \n
\n \n \n\n
\n\n \n \n\n \n \n\n
\n\n \n \n\n
\n\n
\n
\n \"icone\n
\n
Solicitação enviada!
\n
{{ descriptionSuccess }}
\n
\n\n \n\n
\n
\n Ocorreu um erro. Tente novamente mais tarde.\n
\n
\n\n
\n","// tslint:disable: max-line-length\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { emailRegex, SOMENTE_LETRAS, LANDLINE_MASK, VALIDA_CELULAR, CELLPHONE_MASK, SOMENTE_LETRAS_FILTER, VALIDA_CELULAR_FIXO } from '../../../core/constants/consts';\nimport { SelectOption } from '../dropdown-select/dropdown-select.component';\nimport { LeadFormService } from 'src/app/core/services/lead-form/lead-form.service';\nimport { Profile } from 'src/app/core/models/profile';\nimport { finalize, take } from 'rxjs/operators';\nimport { Channels } from 'src/app/core/models/channels';\nimport { PhoneService } from 'src/app/core/services/phone/phone.service';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { ContactEventTagBuilder } from '../../contact-event-tag.builder';\nexport enum ChannelsEnum {\n TELEFONE = '1',\n EMAIL = '2',\n WHATSAPP = '3'\n}\n@Component({\n selector: 'app-lead-form',\n templateUrl: './lead-form.component.html',\n styleUrls: ['./lead-form.component.scss']\n})\nexport class LeadFormComponent implements OnInit {\n\n @Input() isWhatsapp: boolean;\n @Input() profile: Profile;\n leadForm: FormGroup;\n errorForm: boolean;\n formSubmited: boolean;\n selectDisplayValue = 'Selecione a forma de contato';\n channels: Array<{id: string, description: string}>;\n oldName = '';\n descriptionSuccess: string;\n phoneMask = LANDLINE_MASK;\n phoneLenght: number;\n loading: boolean;\n\n constructor(\n public readonly fb: FormBuilder,\n public readonly leadService: LeadFormService,\n private readonly phoneService: PhoneService,\n private readonly googleTagService: GoogleTagManagerService\n ) { }\n\n ngOnInit() {\n this.channels = new Channels().withoutChat();\n this.buildForm();\n }\n\n submitLead(e) {\n e.preventDefault();\n this.errorForm = false;\n this.loading = true;\n const companyId = this.profile.company_id;\n const channel = this.leadForm.get('channel').value;\n const phoneBroker = this.phoneService.getCellphoneCheckingCountry(this.profile);\n const lead = this.leadService.buildLead(\n channel, companyId, this.leadForm, this.profile.nickname\n );\n\n this.sendAnalitycs(channel);\n\n this.leadService.save(lead)\n .pipe(take(1), finalize(() => this.loading = false))\n .subscribe(() => {\n this.getMsgSuccess(channel);\n this.leadService.startCommunicationForWhatsApp(\n channel, phoneBroker\n );\n this.formSubmited = true;\n },\n err => this.errorForm = true);\n }\n\n getMsgSuccess(channel) {\n if (channel === ChannelsEnum.WHATSAPP) {\n this.descriptionSuccess = 'Aguarde o carregamento da página para conversar com nossos corretores.';\n } else {\n this.descriptionSuccess = 'Aguarde a confirmação com um consultor.';\n }\n }\n\n changeSubject(select: SelectOption) {\n this.selectDisplayValue = select.description;\n this.leadService.sendLeadEventForCheckout(select.description);\n }\n\n buildForm() {\n this.leadForm = this.fb.group({\n name: ['', [\n Validators.required,\n Validators.pattern(SOMENTE_LETRAS),\n Validators.maxLength(100)\n ]],\n email: ['', [\n Validators.required,\n Validators.pattern(emailRegex)\n ]],\n telefone: ['', [\n Validators.required,\n Validators.pattern(VALIDA_CELULAR_FIXO)\n ]],\n channel: [null, Validators.required]\n });\n if (this.isWhatsapp) {\n this.leadForm.get('channel').setValue(ChannelsEnum.WHATSAPP);\n this.selectDisplayValue = 'Whatsapp';\n }\n }\n\n onNameInputFieldBlur() {\n const name = this.leadForm.get('name').value;\n this.leadService.checkNameChanged(name, this.oldName);\n this.oldName = name;\n }\n\n filterLetters() {\n const letters = this.leadForm.get('name').value.replace(SOMENTE_LETRAS_FILTER, '');\n this.leadForm.get('name').setValue(letters);\n }\n\n onPhoneChanged(e: KeyboardEvent): void {\n // tslint:disable: deprecation\n const phoneValue = this.leadForm.get('telefone').value;\n // e.keyCode === 8 = backspace\n if (this.phoneLenght < 10 || e.keyCode === 8) {\n this.phoneMask = LANDLINE_MASK;\n } else if (this.phoneLenght === 10) {\n this.phoneMask = CELLPHONE_MASK;\n this.leadForm.get('telefone').setValue(phoneValue + e.key);\n }\n this.phoneLenght = this.leadForm.get('telefone').value.length;\n }\n\n private sendAnalitycs(channel: ChannelsEnum): void {\n\n const tag = new ContactEventTagBuilder()\n .fromAgentPage()\n .toCallbackAction()\n .withLabel(new Channels().channelById(channel)?.toLocaleLowerCase())\n .build();\n\n this.googleTagService.pushTag(tag);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LeadFormComponent } from './lead-form.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { InputTextModule } from '../input-text/input-text.module';\nimport { DropdownSelectModule } from '../dropdown-select/dropdown-select.module';\n\n@NgModule({\n imports: [\n CommonModule,\n InputTextModule,\n DropdownSelectModule,\n ReactiveFormsModule\n ],\n declarations: [ LeadFormComponent ],\n exports: [ LeadFormComponent ],\n})\nexport class LeadFormModule {}\n","\n","import { Component, Output, EventEmitter, Input, HostListener, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-list-action',\n templateUrl: 'list-action.component.html',\n})\nexport class ListActionComponent {\n\n @Output() public setIdioma = new EventEmitter();\n\n @Input() public dataValue: string;\n @Input() public indexList: number;\n @Input() public list = [];\n\n public showDropDown = false;\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.showDropDown) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.showDropDown = false;\n }\n }\n }\n\n constructor(\n private eRef: ElementRef,\n ) { }\n\n}","
\n
\n
\n
\n Configurar usuário: \n {{ users[0].userLabel }}\n 1\">{{ users.length }} corretores selecionados\n
\n \n
\n
\n
\n
\n Mercado primário\n \n
\n
\n Mercado secundário\n \n
\n
\n \n \n
\n
\n
\n Cancelar\n Salvar\n
\n
\n
\n
\n","import { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\n\n@Component({\n selector: 'app-modal-config-users',\n templateUrl: './modal-config-users.component.html',\n styleUrls: ['./modal-config-users.component.scss']\n})\nexport class ModalConfigUsersComponent implements OnInit, OnDestroy {\n\n @Input() open: boolean;\n @Input() users: any[];\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n\n constructor(private snack: SnackbarService, private windowService: WindowScrollService) { }\n\n secondaryMarkety = false;\n primaryMarkety = false;\n location = false;\n sale = false;\n\n ngOnInit(): void {\n this.windowService.disable();\n }\n\n ngOnDestroy(): void {\n this.windowService.enable();\n }\n\n changeActiveStatus(ev, label: string): void {\n this[label] = ev;\n if (label === 'secondaryMarkety' && !ev) {\n this.sale = false;\n this.location = false;\n }\n }\n\n save() {\n this.snack.show('Sua solicitação está sendo processada.', 'info');\n this.closeModal.emit();\n }\n\n}\n","
\n\n
\n \n
\n\n
\n
\n
\n \"Banner\n Alterar Cover\n
\n
\n \"Logo\n Alterar Foto\n
\n
\n
\n

{{ form.get('nickname').value }}

\n

{{ form.get('name').value }}

\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n {{ form.get('biography').value.length + '/' + '280' }}\n
\n
\n
\n
\n

Idiomas:

\n
\n
\n\n \n\n \n \n \n
\n \n
\n
\n
\n
\n
\n Salvar Alterações\n
\n \n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nimport { ProfileService } from 'src/app/profile-home/service/profile.service';\nimport { Profile } from 'src/app/core/models/profile';\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\nimport { isPhoneValid, removeMask } from 'src/app/core/constants/flag-Input-const';\n\n@Component({\n selector: 'app-modal-edit',\n templateUrl: './modal-edit.component.html',\n styleUrls: ['./modal-edit.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ModalEditComponent implements OnInit {\n\n @Input()\n public showEdit = false;\n\n @Input()\n public nameUser: string;\n\n @Output() sendOpen = new EventEmitter();\n\n public form: FormGroup;\n\n public showLoader = false;\n public showLocaltion = false;\n public showType = false;\n public indexId = null;\n\n public locations = [];\n public listType = [];\n public idiomas = [];\n\n public banner = '../../../../assets/svgs/banner.svg';\n public profile = 'https://bucketsquadcrm.s3.amazonaws.com/default_images/profile_default.jpg';\n\n constructor(\n private fb: FormBuilder,\n private service: ProfileService,\n private router: Router,\n private snackService: SnackbarService\n ) { }\n\n ngOnInit() {\n this.initForm();\n this.findByUserName();\n this.getLanguages();\n }\n\n public initForm() {\n this.form = this.fb.group({\n id: [null],\n banner_image_url: [null],\n profile_image_url: [null],\n name: [null],\n nickname: [null],\n is_editable: [true],\n state: [null],\n country: [null],\n phone: [{ddi: '', phone: ''}],\n alternative_phone: [{ddi: '', phone: ''}],\n email: [null],\n biography: [' ', [Validators.maxLength(280)]],\n designacao_tecnica: [null],\n technical_designation: [null],\n creci: [null],\n company: [null],\n languages: [[]],\n profile_url: [null]\n });\n }\n\n findByUserName() {\n this.service.findByName(this.nameUser).subscribe((response: Profile) => {\n for (const key in response) {\n if (response.hasOwnProperty(key)) {\n this.form.get(key).setValue(response[key]);\n }\n }\n }, () => this.router.navigate(['/nao-encontrado']));\n }\n\n getLanguages() {\n this.service.findLanguages().subscribe(x => {\n this.locations = x.languages;\n this.listType = x.proficiencia;\n });\n }\n\n setPhone(event, source) {\n if (source === 1) {\n this.form.get('phone').setValue(event);\n }\n if (source === 2) {\n this.form.get('alternative_phone').setValue(event);\n }\n }\n\n // ADD - OK\n public addIdioma() {\n this.idiomas = [];\n if (this.form.get('languages').value !== null) {\n this.form.get('languages').value.map(x => this.idiomas.push(x));\n }\n this.idiomas.push({\n language: 'Selecione',\n proficiency: 'Selecione'\n });\n this.form.get('languages').setValue(this.idiomas);\n }\n\n // UPDATE IDIOMA AND TYPE\n public setIdioma(index: number, event: string, lt: string) {\n if (this.form.get('languages').value !== null) {\n this.form.get('languages').value.map((x, i: number) => {\n if (index === i && lt === 'loc') {\n x.language = event;\n this.showLocaltion = false;\n }\n if (index === i && lt === 'tp') {\n x.proficiency = event;\n this.showType = false;\n }\n });\n }\n }\n\n // CLEAR - OK\n public clearIdioma(index: number) {\n this.form.get('languages').value.splice(index, 1);\n }\n\n // SUBMITED\n public submitForm() {\n if (!this.form.get('phone').value.phone || !isPhoneValid(this.form.get('phone').value)) {\n this.snackService.show('Por favor, insira um número de telefone principal válido.', 'warning', 10 );\n return;\n }\n if (!isPhoneValid(this.form.get('alternative_phone').value)) {\n this.snackService.show('Por favor, insira um número de telefone alternativo válido.', 'warning', 10 );\n return;\n }\n const data = this.dataObj();\n this.sendUpdate(data);\n }\n\n public dataObj(): any {\n return {\n phone: removeMask(this.form.get('phone').value),\n alternative_phone: removeMask(this.form.get('alternative_phone').value),\n biography: this.form.get('biography').value,\n languages: this.form.get('languages').value.filter(x => x.language !== 'Selecione' && x.proficiency !== 'Selecione')\n };\n }\n\n public sendUpdate(data) {\n this.showLoader = true;\n this.service.profileEdit(data).subscribe((response) => {\n this.validatorRequesty(response);\n }, (e) => {\n this.snackService.show(e.error.messages ? e.error.messages[0].message : 'Não foi possível salvar as alterações', 'error');\n this.showLoader = false;\n });\n }\n\n validatorRequesty(data) {\n if (data.status.id === 0) {\n this.snackService.show('Dados atualizados com sucesso', 'success');\n this.showEdit = false;\n this.sendOpen.emit(this.showEdit);\n this.showLoader = false;\n }\n if (data.status.id === 1) {\n this.snackService.show(data.error.messages ? data.error.messages[0].message : 'Não foi possível salvar as alterações', 'error');\n this.showLoader = false;\n }\n }\n\n}\n","
\n
\n Ordernar por empreendimento\n \n Ordenar por endereço\n \n
\n
","import { Component, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-modal-order',\n templateUrl: './modal-order.component.html',\n styleUrls: ['./modal-order.component.scss']\n})\nexport class ModalOrderComponent {\n\n @Output() sendOrder = new EventEmitter();\n\n public listEmp = [\n {id: 1, desc: 'Mais antigo no início'},\n {id: 2, desc: 'Mais recente no início'},\n {id: 3, desc: 'Empreendimento A-Z'},\n {id: 4, desc: 'Empreendimento Z-A'}\n ];\n\n public listOrder = [\n {id: 1, desc: 'Endereço A-Z'},\n {id: 2, desc: 'Endereço Z-A'}\n ];\n\n public send(data: string) {\n return this.sendOrder.emit(data);\n }\n\n}\n","
\n
\n
\n
\n Editar escala: \n {{ members[0].userLabel }}\n 1\">{{ members.length }} corretores selecionados\n
\n \n
\n
\n
\n
\n {{ day.label }}\n
\n
\n
\n
\n \n \n
\n \n \n \n
\n
1\">\n \n \n \n
\n
\n
\n \n \n \n {{getErrorMessage(getError(dayIdx, schIdx).start || getError(dayIdx, schIdx).end)}}\n
\n
\n
\n
\n
\n Cancelar\n Salvar\n
\n
\n \n
\n
\n
\n
\n","import { Scale } from './../../../core/models/scale.model';\nimport {\n ScheduleData,\n WEEK,\n WorkScheduleModel,\n ErrorItem,\n ScheduleModel,\n ScheduleModelFront,\n ScheduleError\n} from '../../../core/models/scale.model';\nimport { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { ScaleService } from './service/modal-work-schedule.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-modal-work-schedule',\n templateUrl: './modal-work-schedule.component.html',\n styleUrls: ['./modal-work-schedule.component.scss']\n})\nexport class ModalWorkScheduleComponent implements OnInit, OnDestroy {\n\n @Input() display: boolean;\n @Input() members: any[];\n\n @Output() closeModal: EventEmitter = new EventEmitter();\n baseDay = new Date();\n showComplementaryMessage = false;\n form: WorkScheduleModel[];\n jsonFormBase: string;\n showAlertError: boolean;\n alertType: string;\n errors = {};\n\n constructor(\n private snack: SnackbarService,\n private windowService: WindowScrollService,\n private service: ScaleService,\n ) { }\n\n ngOnInit() {\n this.useMock();\n this.windowService.disable();\n if (this.members.length === 1) {\n const [member] = this.members;\n const observer = this.service.getScale(member.user_id).subscribe(response => {\n const currentWeek = [...this.form];\n response.scales.forEach(day => {\n const index = this.form.findIndex(el => el.id === day.weekday);\n const found = this.form[index];\n const formatted = this.formatScale(day, found);\n currentWeek.splice(index, 1, formatted);\n });\n this.form = currentWeek;\n this.jsonFormBase = JSON.stringify(currentWeek);\n observer.unsubscribe();\n });\n }\n }\n\n ngOnDestroy() {\n this.form = [];\n this.windowService.enable();\n }\n\n formatScale(day: Scale, currentDay: WorkScheduleModel) {\n if (currentDay) {\n const newScaleSchedule: WorkScheduleModel = {\n id: day.weekday,\n label: currentDay.label,\n schedule: day.schedules.map(schedule => {\n return { start: schedule.entry_time, end: schedule.exit_time };\n })\n }\n return newScaleSchedule;\n }\n }\n\n useMock(): void {\n const form = [\n { label: 'Segunda-feira', id: WEEK.MONDAY, schedule: [{ start: null, end: null }] },\n { label: 'Terça-feira', id: WEEK.TUESDAY, schedule: [{ start: null, end: null }] },\n { label: 'Quarta-feira', id: WEEK.WEDNESDAY, schedule: [{ start: null, end: null }] },\n { label: 'Quinta-feira', id: WEEK.THURSDAY, schedule: [{ start: null, end: null }] },\n { label: 'Sexta-feira', id: WEEK.FRIDAY, schedule: [{ start: null, end: null }] },\n { label: 'Sábado', id: WEEK.SATURDAY, schedule: [{ start: null, end: null }] },\n { label: 'Domingo', id: WEEK.SUNDAY, schedule: [{ start: null, end: null }] }\n ];\n this.form = form;\n this.jsonFormBase = JSON.stringify(form);\n }\n\n getError(dayIdx: number, schIdx: number) {\n if (!this.errors[dayIdx] || !this.errors[dayIdx][schIdx]) { return {}; }\n return this.errors[dayIdx][schIdx];\n }\n\n public addSchedule(day: number): void {\n this.form[day].schedule.push({ start: null, end: null });\n }\n\n public removeSchedule(day: number, idx: number): void {\n this.form[day].schedule.splice(idx, 1);\n const errorsAfterDeleted = (this.errors[day] && Object.keys(this.errors[day]).filter(el => Number(el) >= idx)) || [];\n errorsAfterDeleted.forEach(key => delete this.errors[day][key]);\n if (this.form[day].schedule.length === 0) {\n this.addSchedule(day);\n }\n this.revalidateAllSchedules(day);\n }\n\n revalidateAllSchedules(day: number): any {\n const errors = this.validate(day);\n const schedules = this.form[day].schedule;\n const currentErrors = { ...errors[day] };\n Object.keys(currentErrors).forEach((key) => {\n if (!schedules[key]) { delete errors[day][key]; }\n });\n this.errors = errors;\n return errors;\n }\n\n filterSchedulesWithValues(dayIdx: number, schIdx: number) {\n return this.form[dayIdx].schedule.filter((value, i) => {\n const hasValues = (value.start?.length || value.end?.length);\n return i !== schIdx && hasValues;\n });\n }\n\n getErrorMessage(error: boolean | string) {\n return typeof error === 'boolean' ? 'Horário dentro de período já existente.' : 'Necessário informar um intervalo de horário válido.';\n }\n\n mergeErrors(errors, currentDayErrors, news, dayIdx: number, i: number) {\n currentDayErrors[i] = { ...currentDayErrors[i], ...news[i] };\n errors[dayIdx] = currentDayErrors;\n return errors;\n }\n\n validate(dayIdx: number): any {\n const currentDayErrors = this.errors[dayIdx] || {};\n let errors = Object.assign({}, { ...this.errors });\n this.form[dayIdx].schedule.forEach((item, i) => {\n if (item.start?.length || item.end?.length) {\n const schedulesStart = this.filterSchedulesWithValues(dayIdx, i);\n const toUpdate = this.validateSchedules(dayIdx, i, 'start', errors, schedulesStart) || {};\n errors = this.mergeErrors(errors, currentDayErrors, toUpdate, dayIdx, i);\n const schedulesEnd = this.filterSchedulesWithValues(dayIdx, i);\n const endToUpdate = this.validateSchedules(dayIdx, i, 'end', errors, schedulesEnd) || {};\n errors = this.mergeErrors(errors, currentDayErrors, endToUpdate, dayIdx, i);\n }\n });\n return errors;\n }\n\n selectStartTime(event: string, dayIdx: number, schIdx: number) {\n this.form[dayIdx].schedule[schIdx].start = event;\n this.revalidateAllDays(false);\n }\n\n selectEndTime(event: string, dayIdx: number, schIdx: number): void {\n this.form[dayIdx].schedule[schIdx].end = event;\n this.revalidateAllDays(false);\n }\n\n isTimeAlreadyUsedInLastDay(dayIdx: number, schIdx: number, type = 'end'): number {\n if (dayIdx - 1 >= 0) {\n const variantDay = dayIdx - 1;\n return this.validateSchedulesTimes(variantDay, schIdx, type, this.form[variantDay].schedule, dayIdx);\n }\n return -1;\n }\n\n isTimeAlreadyUsedInNextDay(dayIdx: number, schIdx: number, type = 'end'): number {\n const variantDay = dayIdx + 1;\n if (variantDay >= 0 && variantDay < this.form.length) {\n return this.validateSchedulesTimes(variantDay, schIdx, type, this.form[variantDay].schedule, dayIdx);\n }\n return -1;\n }\n\n validateSchedules(dayIdx: number, schIdx: number, type = 'end', errors: object, schedules: ScheduleModel[]): ErrorItem {\n const foundIndex = this.validateSchedulesTimes(dayIdx, schIdx, type, schedules, dayIdx);\n const indexOfLastDay = this.isTimeAlreadyUsedInLastDay(dayIdx, schIdx, type);\n const indexOfNextDay = this.isTimeAlreadyUsedInNextDay(dayIdx, schIdx, type);\n const isDuplicated = foundIndex !== -1;\n const isDuplicatedInLastDay = indexOfLastDay !== -1;\n const isDuplicatedInNextDay = indexOfNextDay !== -1;\n const currentDay: ErrorItem = { ...errors[dayIdx] };\n currentDay[schIdx] = { ...currentDay[schIdx], [type]: isDuplicated || isDuplicatedInLastDay || isDuplicatedInNextDay };\n if (isDuplicated) {\n currentDay[foundIndex] = { ...currentDay[foundIndex], [type]: null };\n }\n\n const value = this.form[dayIdx].schedule[schIdx];\n if (value?.start && value?.end && value.start === value.end) {\n currentDay[schIdx].start = true;\n currentDay[schIdx].end = true;\n }\n return currentDay;\n }\n\n validateSchedulesTimes(variantDay: number, schedule: number, type = 'end', schedules: ScheduleModel[], baseDay: number): number {\n const toValidate = this.form[baseDay].schedule[schedule];\n const validateCurrentTime = this.validateTime(toValidate, type, variantDay, baseDay);\n return schedules.findIndex(validateCurrentTime);\n }\n\n setDateHours(value: string, indexDay: number): Date {\n if (!value || !value.length) { return null; }\n const regex = new RegExp(/(?\\d{1,}):(?\\d{1,})/);\n const regexTime = regex.exec(value);\n const { h = '', m = '' } = regexTime && regexTime.groups;\n const date = new Date(this.baseDay);\n date.setDate(date.getDate() + indexDay);\n date.setHours(Number(h), Number(m), 0, 0);\n return date;\n }\n\n endsInAnotherDay(value: ScheduleModel) {\n return value.start && value.end && value.start > value.end;\n }\n\n validateTime = (current: ScheduleModel, type = 'end', variantDay: number, baseDay: number) => (el: ScheduleModel): boolean => {\n const dayEnd = this.endsInAnotherDay(current) ? baseDay + 1 : baseDay;\n const curr: ScheduleModelFront = {\n start: this.setDateHours(current.start, baseDay),\n end: this.setDateHours(current.end, dayEnd)\n };\n const variantDayEnd = this.endsInAnotherDay(el) ? variantDay + 1 : variantDay;\n const variant: ScheduleModelFront = {\n start: this.setDateHours(el.start, variantDay),\n end: this.setDateHours(el.end, variantDayEnd)\n };\n if (type === 'start') {\n return Boolean((variant.start && curr.start && (curr.start >= variant.start)) && curr.start <= variant.end);\n }\n const isBetween = Boolean(curr.end <= variant.end && ((curr.end >= variant.start) && variant.start));\n const isGreatherThan = Boolean(curr.start <= variant.start && ((curr.end >= variant.end) && variant.end && curr.start));\n return isBetween || isGreatherThan;\n }\n\n hasFieldsWithErrors() {\n let hasDefaultMessage = false;\n const hasErrors = Object.values(this.errors).some(day => {\n return Object.values(day).some((item: ScheduleError) => {\n const validate = value => typeof value === 'boolean' && value;\n if (validate(item.start) || validate(item.end)) {\n hasDefaultMessage = true;\n }\n return item.start || item.end;\n });\n });\n return { hasErrors, hasDefaultMessage };\n }\n\n buildSchedules(schedules: ScheduleModel[]): ScheduleData[] {\n return schedules.reduce((acc, schedule) => {\n if (schedule.start && schedule.end) {\n acc.push({ entry_time: schedule.start, exit_time: schedule.end });\n }\n return acc;\n }, []);\n }\n\n buildData() {\n return this.form\n .reduce((acc, day) => {\n const schedules = this.buildSchedules(day.schedule);\n if (schedules.length) {\n acc.push({ weekday: day.id, schedules });\n }\n return acc;\n }, []);\n }\n\n saveSuccess(observer: Subscription) {\n this.snack.show('Sua solicitação está sendo processada.', 'info');\n observer.unsubscribe();\n this.onClose();\n }\n\n validateIncompleteTime(schedule: ScheduleModel, dayIdx: number, schIdx: number, errors: object) {\n const { end, start } = schedule;\n if (!errors[dayIdx]) { errors[dayIdx] = {}; }\n if (start && !end) {\n errors[dayIdx][schIdx] = { ...errors[dayIdx][schIdx], end: 'Nescessário informar um intervalo de horário válido.' };\n }\n if (!start && end) {\n errors[dayIdx][schIdx] = { ...errors[dayIdx][schIdx], start: 'Nescessário informar um intervalo de horário válido.' };\n }\n }\n\n revalidateAllDays(validateEmptyFields = true) {\n const errors = this.errors;\n this.form.forEach((day, dayIdx) => {\n const currentDayErrors = this.errors[dayIdx] || {};\n day.schedule.forEach((scheduleItem, schIdx) => {\n const schedules = day.schedule.filter((_, i) => i !== schIdx);\n const toUpdate = this.validateSchedules(dayIdx, schIdx, 'start', errors, schedules) || {};\n this.mergeErrors(errors, currentDayErrors, toUpdate, dayIdx, schIdx);\n const endToUpdate = this.validateSchedules(dayIdx, schIdx, 'end', errors, schedules) || {};\n this.mergeErrors(errors, currentDayErrors, endToUpdate, dayIdx, schIdx);\n if (scheduleItem && validateEmptyFields) {\n this.validateIncompleteTime(scheduleItem, dayIdx, schIdx, errors);\n }\n });\n });\n }\n\n save() {\n if (!this.dataWasTouched()) { return; }\n this.alertType = 'validation';\n this.revalidateAllDays();\n const resultValidation = this.hasFieldsWithErrors();\n if (resultValidation.hasErrors) {\n this.showComplementaryMessage = resultValidation.hasDefaultMessage;\n return this.showAlertError = true;\n }\n if (this.members.length === 1) {\n const [member] = this.members;\n const data = { user_id: member.id, scales: this.buildData() };\n const observer = this.service.saveScale(data).subscribe(() => {\n this.saveSuccess(observer);\n });\n }\n if (this.members.length > 1) {\n const userIds = this.members.map(member => member.id);\n const data = { user_ids: userIds, scales: this.buildData() };\n const observer = this.service.saveScales(data).subscribe(() => {\n this.saveSuccess(observer);\n });\n }\n }\n\n dataWasTouched(): boolean {\n const jsonForm = JSON.stringify(this.form);\n return jsonForm !== this.jsonFormBase;\n }\n\n beforeClose() {\n if (!this.dataWasTouched()) {\n this.onClose();\n }\n this.alertType = 'leaveModal';\n this.showAlertError = true;\n }\n\n onClose() {\n this.errors = {};\n this.closeModal.emit();\n this.useMock();\n }\n}\n","import { Scale, ResponseGetScale } from './../../../../core/models/scale.model';\nimport { ScaleBulkPost, ResponseOk } from '../../../../core/models/scale.model';\nimport { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { ScalePost } from 'src/app/core/models/scale.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScaleService {\n\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public uri = this.environmentService.getEnvVar('api_leads');\n\n saveScales(data: ScaleBulkPost): Observable {\n return this.http.post(`${this.uri}/bulk-update/scales`, data);\n }\n\n saveScale(data: ScalePost): Observable {\n return this.http.post(`${this.uri}/update/scale`, data);\n }\n\n getScale(userId: string): Observable {\n return this.http.get(`${this.uri}/agent/scale?agent=${userId}`);\n }\n}\n","
    \n

    {{ titleModal }}

    \n
    \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n Tipos de chave\n \n
    \n \n \n
    \n
    \n
    \n

    Valor do pacote

    \n

    \n A soma dos valores de aluguel, condomínio e mensalidade do IPTU\n

    \n

    R$ 4000,00

    \n
    \n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-more-information',\n templateUrl: 'more-information.component.html',\n styleUrls: ['./more-information.component.scss'],\n})\nexport class MoreInformationComponent implements OnInit {\n @Input() public titleModal = 'Mais Informações';\n\n @Input()\n public formMoreInformation: FormGroup;\n\n public formItems: any[] = [];\n public options = [{value: 'Comum', id: 0}, {value: 'Biometria', id: 1}, {value: 'NFC', id: 2}];\n public tags = [{value: 'Comum', id: 0}, {value: 'Biometria', id: 1}];\n\n\n constructor(private fb: FormBuilder) {}\n\n ngOnInit(): void {\n this.initialForm();\n }\n\n public initialForm(): void {\n this.formMoreInformation = this.fb.group({\n id: [null],\n condominium_value: [null],\n iptu_value: [null],\n iptu_free: [false],\n keys_types: [],\n keys_location: [null],\n });\n }\n\n public setTags(event) {\n this.tags = event;\n this.tags = Object.assign(this.tags, event);\n }\n\n public validationIptu() {\n if (this.formMoreInformation.get('iptu_free').value) {\n this.formMoreInformation.get('iptu_value').disable();\n } else {\n this.formMoreInformation.get('iptu_value').enable();\n }\n }\n\n}\n","
\n
\n
\n

{{placeholder}}

\n

{{selected[0][value]}}

\n

1\">{{selected[0][value] + ' +' + (selected.length - 1)}}

\n
\n
\n \"dropdown-arrow\"\n
\n
\n \n
\n
\n \n {{option[value]}}\n
\n
\n \n
\n
\n","import { Component, Input, Output, EventEmitter, ElementRef, forwardRef, SimpleChanges, OnInit, OnChanges } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\n@Component({\n selector: 'app-multi-selection-dropdown',\n templateUrl: './multi-selection-dropdown.component.html',\n styleUrls: ['./multi-selection-dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelectionDropdownComponent),\n multi: true\n }\n ]\n})\nexport class MultiSelectionDropdownComponent implements ControlValueAccessor, OnInit, OnChanges {\n\n @Input() _internalValue = '';\n @Input() required: boolean;\n @Input() placeholder = 'Selecione';\n @Input() id = '';\n @Input() options = [];\n @Input() value = '';\n @Input() disabled = false;\n @Input() invalid = false;\n @Input() height = 0;\n\n optionsAsValue: any[];\n public touched = false;\n\n @Output() changed = new EventEmitter();\n\n constructor(private eRef: ElementRef) { }\n\n originalOptions = [];\n label = '';\n selected = [];\n isOpen = false;\n defaultPos;\n\n public onChange: any = (_) => { /*Empty*/ };\n public onTouched: any = () => { /*Empty*/ };\n\n ngOnInit(): void {\n if (this.options) {\n this.originalOptions = JSON.parse(JSON.stringify(this.options));\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.options) {\n this.ngOnInit();\n }\n }\n\n get internalValue() {\n return this._internalValue;\n }\n\n set internalValue(val: any) {\n if (val === undefined || val === null || val === '') {\n this._internalValue = '';\n this.onChange(undefined); // Value is rubbish, so don't send back to model propper\n return;\n }\n\n this._internalValue = val;\n this.onChange(this._internalValue); // Value is good!\n }\n\n writeValue(value: any) {\n if (value === undefined || value === null) {\n this.selected = [];\n return;\n }\n for (let index = 0; index < this.originalOptions.length; index++) {\n this.originalOptions[index]._order = index;\n if (value.find(i => i[this.value] === this.originalOptions[index][this.value])) {\n this.originalOptions[index].selected = true;\n }\n }\n this.selected = value;\n this.reOrderSelected();\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n const self = this;\n this.onTouched = (arg: any) => {\n self.touched = true;\n fn(arg);\n };\n }\n\n openDropdown() {\n this.isOpen = !this.isOpen;\n }\n\n selectItem(option) {\n const originalOption = this.findOriginal(option);\n if (!option.selected) {\n option.selected = true;\n this.selected.push(originalOption);\n } else {\n this.selected.splice(this.selected.indexOf(originalOption), 1);\n option.selected = false;\n }\n this.changed.emit(originalOption);\n this.writeValue(this.selected);\n }\n\n findOriginal(item) {\n return this.options.find(opt => opt[this.value] === item[this.value]);\n }\n\n reOrderSelected() {\n this.selected.sort((a, b) => {\n if (a.id > b.id) {\n return 1;\n }\n if (a.id < b.id) {\n return -1;\n }\n return 0;\n });\n }\n\n}\n","\n{{title}}\n
\n
\n {{tag[value]}}\n
\n \n
\n \"dropdown-arrow\"\n
\n
\n
\n \n {{option[value]}}\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter, HostListener, ElementRef } from '@angular/core';\n\nenum MultiSelectOptionsTypes {\n checkbox,\n func\n}\n\nexport interface MultiSelectOptions {\n value: string;\n id: number;\n type: MultiSelectOptionsTypes.checkbox;\n func?: () => {};\n checked?: boolean;\n}\n@Component({\n selector: 'app-multi-selection-tags',\n templateUrl: './multi-selection-tags.component.html',\n styleUrls: ['./multi-selection-tags.component.scss']\n})\nexport class MultiSelectionTagsComponent implements OnInit {\n\n @Input() tags = [];\n @Input() options: MultiSelectOptions[] = [];\n @Input() disabled = false;\n @Input() id = '';\n @Input() value = '';\n @Input() invalid = false;\n @Input() title = '';\n @Output() changed = new EventEmitter();\n isOpen = false;\n\n constructor(private eRef: ElementRef) { }\n\n ngOnInit() {\n for (const tag of this.tags) {\n tag.checked = true;\n for (const opt of this.options) {\n if (opt[this.value] === tag[this.value]) {\n opt.checked = true;\n }\n }\n }\n this.updateList();\n }\n\n\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n }\n }\n }\n\n openDropdown() {\n this.isOpen = !this.isOpen;\n }\n\n checkItem(option, i) {\n const aux = this.tags.find(tag => tag[this.value] === option[this.value]);\n if (this.tags.indexOf(aux) < 0) {\n this.addOption(option, i);\n } else {\n this.removeOption(option);\n }\n this.updateList();\n }\n\n removeOption(option) {\n const aux = this.tags.find(tag => tag[this.value] === option[this.value]);\n this.tags.splice(this.tags.indexOf(aux), 1);\n option.checked = false;\n }\n\n addOption(option, index) {\n this.tags.splice(index, 0, option);\n option.checked = true;\n }\n\n removeTag(tag) {\n const aux = this.options.find(opt => opt[this.value] === tag[this.value]);\n this.removeOption(aux);\n this.updateList();\n }\n\n updateList() {\n this.changed.emit(this.tags);\n }\n}\n","
\n
\n
\n \"Page\n
\n\n
\n

Parece que algo deu errado :(

\n\n

Não temos ideia de como você veio parar aqui.

\n\n

Talvez você tenha se perdido através de um link desatualizado, ou de um erro de digitação.

\n\n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lps-not-found-page',\n templateUrl: './not-found-page.component.html',\n styleUrls: ['./not-found-page.component.scss']\n})\nexport class NotFoundPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n

Participantes

\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n \n \n
\n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, Output, EventEmitter, HostListener, ElementRef } from '@angular/core';\n\nimport { listMockParticipants } from 'src/app/core/constants/team-management-const';\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\n\ninterface Item {\n id: string;\n name?: string;\n nickname?: string;\n option?: string;\n select?: boolean;\n}\n\n@Component({\n selector: 'app-participants-modal',\n templateUrl: './participants-modal.component.html',\n styleUrls: ['./participants-modal.component.scss']\n})\nexport class ParticipantsModalComponent implements OnInit {\n\n public listHeaders = [\n {\n id: 1,\n nameClass: 'name',\n data: 'input',\n },\n {\n id: 2,\n nameClass: 'product',\n data: 'Nome',\n },\n {\n id: 3,\n nameClass: 'contact',\n data: 'Empresa',\n }\n ];\n public autocompleteTeamMembers: any[];\n\n public listBinding = listMockParticipants;\n public isOpenMenu = false;\n\n public selectedParticipants = [];\n public removingParticipant = false;\n public removingParticipantList = [];\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.isOpenMenu) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpenMenu = false;\n }\n }\n }\n\n constructor(\n private scroll: WindowScrollService,\n private eRef: ElementRef,\n ) {\n }\n\n @Output() closeModal = new EventEmitter();\n\n ngOnInit(): void {\n this.scroll.disable();\n this.useMock();\n }\n\n useMock(): void {\n this.autocompleteTeamMembers = [\n { id: 'mock', name: 'mock' }\n ];\n }\n\n clearBody() {\n this.scroll.enable();\n this.closeModal.emit(false);\n }\n\n public actionsParticipants(): void {\n this.isOpenMenu = false;\n this.selectedParticipants = Array.from(this.selectedParticipants);\n this.removingParticipant = false;\n }\n\n sendParticipants(data: Item) {\n if (data.option === 'Remover') {\n this.removingParticipantList = [{ id: data.id, name: data.name, nickname: data.nickname }];\n this.removingParticipant = true;\n }\n }\n\n sendIndex(data) {\n }\n\n sendItemSelections(data: Item) {\n this.removingAndAdd(data, this.selectedParticipants);\n }\n\n public sendAllSelections(data: Item) {\n if (data.select) {\n this.selectedParticipants.push(data);\n } else {\n this.selectedParticipants = [];\n }\n }\n\n public removingAndAdd(data: Item, list: Item []): void {\n if (data.select) {\n list.push(data);\n } else {\n list.splice(list.indexOf(data), 1);\n }\n }\n\n}","
\n
\n
{{title}}
\n
\n \"close\" \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n Tipo de imóvel / subtipo *\n \n
\n \n
\n
\n
\n
\n \"Icon\n Campo obrigatório\n
\n
\n
\n
\n Cep *\n \n
\n
\n \"Icon\n Digite um cep válido\n Cep requerido\n
\n
\n
\n
\n\n \n
\n \n \n
\n \n\n \n
\n
\n\n \n
\n \n
\n\n \n
\n \n \n \n \n \n
\n\n \n
\n
\n \n
\n\n
\n \n
\n
\n\n \n
\n
\n \n
\n \n
\n \n
\n
\n\n \n
\n \n\n \n\n \n
\n \n
\n \n
\n\n
\n\n \n\n \n\n \n
\n
\n
\n
\n
\n
\n
\n
\n Não encontrou o endereço?\n Cadastre um novo\n
\n Cancelar\n Continuar\n
\n
\n
\n\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\nimport { listProperties, removeCaracter } from '../../../core/constants/properties-const';\nimport { PropertiesService } from 'src/app/properties/service/properties.service';\n\n\n@Component({\n selector: 'app-product-registration',\n templateUrl: './product-registration.component.html',\n styleUrls: ['./product-registration.component.scss']\n})\nexport class ProductRegistrationComponent implements OnInit {\n\n title = 'Cadastro de produto';\n @Output() closeNewProduct: EventEmitter = new EventEmitter();\n public showMap = false;\n public search = false;\n public showForm = false;\n public closeDropDown = false;\n public returnForm = false;\n private docBody = document.querySelector('body');\n\n public listImoveis = listProperties;\n public dataValue = null;\n public titleList: string;\n public code: number;\n public form: FormGroup;\n public removeCaracter = removeCaracter;\n public openForm = false;\n\n private listValidator = [\n 'typeCode',\n 'zip_code',\n 'street',\n 'number',\n 'neighborhood',\n 'value_zone',\n 'location_value_zones',\n 'geographic_area'\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private formBuilder: FormBuilder,\n private service: PropertiesService\n ) { }\n\n ngOnInit(): void {\n this.addressForm();\n this.docBody.setAttribute('style', 'overflow: hidden');\n const vh = window.innerHeight;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n\n closeModal() {\n this.closeNewProduct.emit(false);\n this.docBody.setAttribute('style', 'overflow: auto');\n }\n\n toggleMap(event) {\n this.showMap = event;\n }\n\n // 88050150\n private addressForm(): void {\n this.form = this.formBuilder.group({\n id: [null],\n typeCode: [null],\n zip_code: ['06363589'],\n street: ['Avenida Professor Luiz Ignácio Anhaia Mello'],\n country: ['Brasil'],\n number: ['627'],\n complement: [null],\n neighborhood: ['Jardim América'],\n state: ['SP'],\n city: ['Vila Bela da Santíssima Trindade'],\n value_zone: [null],\n location_value_zones: [null],\n geographic_area: [null],\n condominium: ['Penha Plano Manoel Leiroz de Azevedo'],\n area_util: [null],\n areat_total: [null],\n single_tower: [false],\n number_name_tower: [null],\n floor: [null],\n unity: [null],\n not_number: [false]\n });\n this.form.get('city').disable();\n this.form.get('state').disable();\n }\n\n public setValue(): void {\n if (this.form.get('zip_code').value.length === 8) {\n this.service.getZipCode(this.form.get('zip_code').value)\n .subscribe(x => {\n this.form.patchValue(x);\n this.validRequest(x);\n });\n }\n }\n\n private validRequest(x) {\n if (!x.geographic_area.name || !x.value_zone.name || !x.location_value_zones) {\n this.form.patchValue({ geographic_area: x.geographic_area.name });\n this.form.patchValue({ value_zone: x.value_zone.name });\n this.form.patchValue({ location_value_zones: x.location_value_zones.name });\n }\n }\n\n public sendingDataForm(): void {\n Object.keys(this.form.controls).forEach((x: string) => {\n if (this.form.get(x).value === '' || this.form.get(x).value === null) {\n this.validFormNotRequired(x);\n this.verificationFieldValid(x);\n }\n this.validatorZipCode(x);\n });\n if (this.form.valid) {\n this.redirectNewRegistry();\n this.service.sendingForm(this.form.value);\n localStorage.setItem('form', JSON.stringify(this.form.value));\n }\n }\n\n private verificationFieldValid(x: string) {\n const listType = [3, 4, 7, 8, 17, 19, 26, 29, 38];\n if (listType[this.form.get('typeCode').value]) {\n this.applicationValidatorField(this.listValidator, x);\n } else {\n this.applicationValidatorField(['typeCode', 'zip_code', 'street', 'number', 'neighborhood'], x);\n }\n }\n\n private applicationValidatorField(list: string [], compared: string) {\n if (list.length) {\n list.forEach(x => {\n if (compared === x) {\n this.form.get(x).setErrors({ required: false });\n }\n });\n }\n }\n\n public redirectNewRegistry(): void {\n this.router.navigate(['registro'], { relativeTo: this.route });\n }\n\n private validFormNotRequired(x: string): void {\n if (x === 'state' || x === 'city') {\n this.form.get(x).setErrors({ required: false });\n }\n }\n\n public assigningValue(data: any): void {\n this.titleList = data.item;\n this.closeDropDown = false;\n this.code = data.code;\n this.form.get('typeCode').setValue(data.code);\n }\n\n public not_number() {\n if (this.form.get('not_number').value === true) {\n this.enabledFieldControl('number');\n } else {\n this.disabledFieldControl('number');\n }\n }\n\n public disabledDescription(): void {\n if (this.form.get('single_tower').value) {\n this.listErrors(['number_name_tower', 'floor', 'unity'], false);\n } else {\n this.listErrors(['number_name_tower', 'floor', 'unity'], true);\n }\n }\n\n public disabledFieldControl(data: string): void {\n this.form.get(data).disable();\n this.form.get(data).setErrors({ required: false });\n }\n\n public enabledFieldControl(data: string): void {\n this.form.get(data).enable();\n this.form.get(data).setErrors({ required: true });\n }\n\n public listErrors(listErrors: string[], required: boolean): void {\n listErrors.forEach(field => this.form.get(field).setErrors({ required }));\n }\n\n public openMaps() {\n this.showMap = !this.showMap;\n if (this.showMap) {\n this.returnForm = true;\n } else {\n this.returnForm = false;\n }\n }\n\n public openFormModal() {\n this.showMap = false;\n this.showForm = !this.showForm;\n }\n\n public validatorZipCode(x: string) {\n if (x === 'zip_code') {\n if (this.form.get(x).value === null) {\n this.form.get(x).setErrors({ required: true });\n }\n if (this.form.get(x).value && this.form.get(x).value.toString().length < 8) {\n this.form.get(x).setErrors({ invalidNumber: true });\n }\n }\n }\n\n public closeModalForm(event: boolean) {\n this.openForm = event;\n }\n\n}\n","
\n
\n \"house\n \n \n \n \n \n
\n
\n
\n {{data.property_sub_type}}\n
\n
\n {{data.property_type}}\n
\n
\n {{data.address.address_summary}}\n
\n
\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-product-reg-card',\n templateUrl: './product-reg-card.component.html',\n styleUrls: ['./product-reg-card.component.scss']\n})\nexport class ProductRegCardComponent {\n @Input() data;\n}\n","
\n
\n \n \n
\n \n \n
\n
0 && !featureInputSearch\">\n \n \n \n \n
\n
\n \n
\n
\n \n
    \n
    \n
  • \n {{item.value}} \n
  • \n
    \n
\n
\n
\n\n
0)\">\n
\n
\n Busque e selecione o imóvel o qual deseja cadastrar\n
\n
\n {{links.total_items < 10 ? '0' + links.total_items : links.total_items}} {{links.total_items === 1 ? 'Imóvel encontrado' : 'Imóveis encontrados'}}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n ;(\n Nenhum imóvel encontrado\n Realize uma nova busca ou cadastre um\n novo produto.\n
\n
\n
\n \n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\nimport { ProductsService } from 'src/app/core/services/product-service/product.service';\nimport { RegAutocompleteModel } from 'src/app/core/models/properties.model';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-product-search',\n templateUrl: './product-search.component.html',\n styleUrls: ['./product-search.component.scss']\n})\nexport class ProductSearchComponent implements OnInit {\n\n @Input() search = false;\n @Output() mapToggle = new EventEmitter();\n orderOpen = false;\n showMap = false;\n order = {value: 'Ordenar', type: 'all'};\n orderList = [\n {value: 'Mais antigos no início', type: 'older'},\n {value: 'Mais recentes no início', type: 'newest'},\n {value: 'Endereço de A-Z', type: 'asc'},\n {value: 'Endereço de Z-A', type: 'desc'},\n {value: 'Nome de A-Z', type: 'ascending_name'},\n {value: 'Nome de Z-A', type: 'descending_name'}\n ];\n properties = [];\n loading = false;\n valueSearchInput = '';\n autocomp = false;\n autocompIdx = -1;\n autoSearchResults: RegAutocompleteModel[] = [];\n links = {\n next: '',\n page_items: null,\n page_number: null,\n total_items: null,\n total_pages: null,\n };\n fetching = false;\n itemsPerPage = 15;\n public featureInputSearch = false;\n\n constructor(\n private service: ProductsService,\n private environmentService: EnvironmentService\n ) { }\n\n ngOnInit(): void {\n this.featureInputSearch = this.environmentService.getEnvVar('feature_input_search') === 'true';\n const vh = window.innerHeight;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n }\n\n checkScroll(): void {\n const bounding = document.getElementById(`last-message`).getBoundingClientRect();\n if (\n bounding.right <= (window.innerWidth || document.documentElement.clientWidth) &&\n bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n ) {\n this.onPaginate();\n }\n }\n\n setFilter(item) {\n this.order = item;\n this.orderOpen = false;\n this.searchProduct(1);\n }\n\n pointerSelection(idx: number): void {\n this.autocompIdx = idx;\n }\n\n downList(event): void {\n if (this.autocomp === false) {\n return;\n }\n if ((event.keyCode === 40 || event.keyCode === 38 || event.keyCode === 27)) {\n switch (event.keyCode) {\n case 40:\n if (this.autocompIdx < this.autoSearchResults.length - 1) {\n this.autocompIdx += 1;\n }\n break;\n case 38:\n if (this.autocompIdx > 0) {\n this.autocompIdx -= 1;\n }\n break;\n case 27:\n this.autocomp = false;\n this.autocompIdx = -1;\n return;\n }\n this.updateSearchInput();\n }\n }\n\n patchInputValue(): void {\n this.autocomp = false;\n this.updateSearchInput();\n this.searchProduct(1);\n this.autocompIdx = -1;\n }\n\n updateSearchInput(): void {\n const processedValue = this.autoSearchResults[this.autocompIdx]['name'].replace(//g, '').replace(/<\\/strong>/g, '');\n this.valueSearchInput = processedValue;\n }\n\n searchAutocomplete(event: string | number): void {\n const searchTxt = String(event);\n if (searchTxt.trim().length > 2) {\n this.autoSearchResults = [];\n this.service.autoCompleteByNameOrAddress(searchTxt).subscribe((response: RegAutocompleteModel[]) => {\n this.autoSearchResults = response;\n });\n this.autocomp = true;\n } else {\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n }\n\n toggleMap() {\n this.showMap = !this.showMap;\n this.mapToggle.emit(this.showMap);\n }\n\n searchProduct(page: number) {\n if (this.valueSearchInput.length > 2) {\n this.autocomp = false;\n this.loading = true;\n const params = {\n page,\n search: this.valueSearchInput,\n sorting: this.order.type,\n page_items: this.itemsPerPage\n };\n this.service.searchByName(params).subscribe((results: any) => {\n this.properties = results.payload;\n this.links = results.links;\n this.loading = false;\n this.search = true;\n },\n () => {\n this.properties = [];\n this.loading = false;\n this.search = true;\n });\n }\n }\n\n selectAutocomplete() {\n this.searchProduct(1);\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n\n onPaginate() {\n if (!this.fetching && (this.links.page_number < this.links.total_pages)) {\n this.fetching = true;\n const params = {\n page: this.links.page_number + 1,\n search: this.valueSearchInput,\n sorting: this.order.type,\n page_items: this.itemsPerPage\n };\n this.service.searchByName(params).subscribe((resp: any) => {\n this.properties = this.properties.concat(resp.payload);\n this.links = resp.links;\n this.fetching = false;\n },\n () => {\n this.fetching = false;\n });\n }\n }\n\n public openModal() {\n }\n\n}\n","
\n
\n
\n

{{ titleModal }}

\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n \n
\n
\n
","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\nimport { WindowScrollService } from 'src/app/core/services/window-scroll.service';\nimport { Professional } from 'src/app/core/models/professional';\n\n@Component({\n selector: 'app-professional-modal',\n templateUrl: './professional-modal.component.html',\n styleUrls: ['./professional-modal.component.scss']\n})\nexport class ProfessionalModalComponent implements OnInit {\n\n @Output() public closeModal = new EventEmitter();\n @Output() public sendItems = new EventEmitter();\n @Input() public titleModal = '';\n\n public professionalForm: FormGroup;\n public listType = [\n {\n name: 'Corretor'\n },\n {\n name: 'Vendedor'\n },\n {\n name: 'Atendimento'\n },\n {\n name: 'Supervisor'\n },\n {\n name: 'Captação de Vendas'\n },\n {\n name: 'Captação de Corretor'\n }\n ];\n public listEnterprise = [\n {\n name: 'Empresa A'\n },\n {\n name: 'Empresa B'\n },\n {\n name: 'Empresa C'\n },\n {\n name: 'Empresa D'\n },\n {\n name: 'Empresa E'\n },\n {\n name: 'Empresa F'\n }\n ];\n\n constructor(\n private fb: FormBuilder,\n private scroll: WindowScrollService\n ) { }\n\n ngOnInit(): void {\n this.scroll.disable();\n this.initializeForm();\n }\n\n private initializeForm() {\n this.professionalForm = this.fb.group({\n type: [null],\n name: [null],\n enterprise: [null]\n });\n }\n\n public sendItem() {\n this.sendItems.emit(this.professionalForm.value);\n this.closeActionModal();\n }\n\n public closeActionModal() {\n this.scroll.enable();\n this.closeModal.emit(false);\n }\n\n\n}","\n
\n
\n \n
\n
\n \"Logo\n
\n \"Imagem\n
\n
\n
\n

{{ dataForm.nickname }}

\n

{{ dataForm?.name }}

\n
\n {{ dataForm?.technical_designation }}\n
\n
\n
\n
    \n
  • \n \n \n \n

    Creci:

    \n

    {{ dataForm?.creci }}

    \n
  • \n
  • \n \n \n \n

    Empresa:

    \n

    21}\">{{ dataForm.company }}

    \n
  • \n
\n
\n
\n
    \n
  • \n

    Telefones

    \n
    \n \n \n \n
    \n

    {{ dataForm.phone.ddi }} {{ dataForm.phone.phone }}

    /

    {{ dataForm.alternative_phone.ddi }} {{ dataForm.alternative_phone.phone }}

    \n
    \n
    \n
  • \n
  • \n

    E-mail

    \n
    \n \n \n \n
    \n

    {{ dataForm.email }}

    \n
    \n
    \n
  • \n
  • \n

    Site

    \n
    \n \n \n \n
    \n

    {{url + '/perfil'}}{{ dataForm.profile_url }}

    \n
    \n
    \n
  • \n
\n
\n
\n
\n \n
\n
\n \n
","import { Component, Input, Output, EventEmitter, ViewEncapsulation } from '@angular/core';\nimport { Profile } from '../../../core/models/profile';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\n\n@Component({\n selector: 'app-profile-card',\n templateUrl: './profile-card.component.html',\n styleUrls: ['./profile-card.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ProfileCardComponent {\n\n @Input()\n public isModal = false;\n\n @Input()\n public dataForm?: Profile;\n\n @Output()\n public send = new EventEmitter();\n\n public profileDefault = 'https://bucketsquadcrm.s3.amazonaws.com/default_images/profile_default.jpg';\n\n public displayShareDropdown: boolean;\n private uri = this.environmentService.getEnvVar('api_share');\n\n public url = `${window.location.host}`;\n\n constructor(private environmentService: EnvironmentService) { }\n\n public toggleShareDropdown() {\n this.displayShareDropdown = !this.displayShareDropdown;\n }\n\n shareOnWhatsapp() {\n this.displayShareDropdown = false;\n window.open(`https://api.whatsapp.com/send?text=${this.uri}${this.dataForm.nickname}`, '_blank');\n }\n\n shareOnFacebook() {\n this.displayShareDropdown = false;\n const encodedURL = encodeURIComponent(`${this.uri}${this.dataForm.nickname}`);\n window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodedURL}`, '_blank');\n }\n\n shareOnLinkedin() {\n this.displayShareDropdown = false;\n const encodedURL = encodeURIComponent(`${this.uri}${this.dataForm.nickname}`);\n window.open(`https://www.linkedin.com/shareArticle?mini=true&url=${encodedURL}`, '_blank');\n }\n\n}\n","
\n \n
\n \"Card\"\n \"Card\"\n
\n
\n
\n \"Medida\"\n

{{ product_value.value }}

\n
\n
\n
\n
\n
\n \n
\n
\n

{{itemCard.market_type}}

\n
\n \n
\n \n
\n

{{ itemCard.property_type }}{{ itemCard.property_sub_type && (itemCard.property_type.toLowerCase() !== itemCard.property_sub_type.toLowerCase()) ? \"/\"+itemCard.property_sub_type : \"\" }}

\n

{{ itemCard.sku }} {{ \" - \" + itemCard.name }}

\n
\n \n
\n
\n

Venda / Locação

\n

{{itemCard.sale_value.currency + itemCard.sale_value.value }} / {{itemCard.rent_value.currency + itemCard.rent_value.value }}

\n
\n
\n

Condo. + IPTU

\n

{{itemCard.condominium_fee.currency + itemCard.condominium_fee.value }}

\n
\n
\n \n
\n

\n {{ itemCard.address.street + ', '}}\n {{'n°' + itemCard.address.number + '-'}}\n {{ itemCard.address.neighborhood + ', '}}\n {{ itemCard.address.city + ' - ' }}\n {{ itemCard.address.state }}

\n

{{ itemCard.tower + ', '}} {{'unid ' + itemCard.unity_number}}

\n
\n \n
\n

Atualização: 10/10/2010

\n
\n \n
    \n
  • \n \"\"\n

    2

    \n
  • \n
  • \n \"\"\n
  • \n
  • \n \"\"\n
  • \n
  • \n \"\"\n
  • \n
  • \n \"\"\n
  • \n
  • \n \"\"\n
  • \n
  • \n \"\"\n
  • \n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Color } from 'ng2-charts';\nimport { ChartOptions } from 'chart.js';\n\n@Component({\n selector: 'app-properties-card',\n templateUrl: './properties-card.component.html',\n styleUrls: ['./properties-card.component.scss']\n})\nexport class PropertiesCardComponent implements OnInit{\n\n @Input() public itemCard;\n public productsValuesShowing = ['total_area', 'bedrooms', 'bathrooms', 'parkingspots']\n\n public data = {\n porcentagem: 100\n };\n\n public doughnutChartColorA: Color[] = [{\n borderColor: ['#75e29e', '#ccfaf0'],\n backgroundColor: ['#75e29e', '#ccfaf0']\n }];\n\n public doughnutChartOptions: ChartOptions = {\n cutoutPercentage: 80,\n legend: { display: false },\n tooltips: { enabled: false },\n elements: {\n arc: {\n borderWidth: 0\n },\n }\n };\n\n ngOnInit() {\n console.log(this.itemCard.photos[0])\n }\n\n}\n","
\n
\n
\n

{{ item.data }}

\n\n \"Seta\"\n\n \n \"Seta\n\n \"Seta\n
\n
\n\n
\n \n\n
\n
\n

{{data.sku}} - {{data.name}}

\n
\n
\n\n
\n
\n
\n

{{data.market_type}}

\n
\n
\n
\n\n
\n
\n

{{ data.address.address_summary }}

\n
\n
\n\n
\n
\n

{{ data.property_type }}{{ data.property_sub_type && (data.property_type.toLowerCase() !== data.property_sub_type.toLowerCase()) ? \"/\"+data.property_sub_type : \"\" }}

\n
\n
\n\n
\n
\n

{{ data.tower }}

\n
\n
\n\n
\n
\n

{{ data.unity_number }}

\n
\n
\n\n
\n
\n\n \n

\n \"{{product_value.name}}\"\n {{ product_value.value }}\n

\n
\n\n
\n
\n\n
\n
\n

{{ data.sale_value.currency + data.sale_value.value }}

\n
\n
\n\n
\n
\n

{{data.rent_value.currency + data.rent_value.value }}

\n
\n
\n\n
\n
\n

\n \"Predio\"\n {{ data.indicadores.predio }}\n

\n

\n \"Estrelas\"\n

\n

\n \"Usuário\"\n

\n

\n \"Diamante\"\n

\n

\n \"Coisa\"\n

\n

\n \"Calendario\"\n

\n

\n \"Dinheiro\"\n

\n
\n
\n\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n
\n
","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\n\nimport { ChartOptions } from 'chart.js';\nimport { Color } from 'ng2-charts';\n\nimport { propertiesHeader, mockTableProduct } from 'src/app/core/constants/properties-const';\nimport { FacsService } from 'src/app/facs/service/facs.service';\n\n@Component({\n selector: 'app-properties-table',\n templateUrl: './properties-table.component.html',\n styleUrls: ['./properties-table.component.scss']\n})\nexport class PropertiesTableComponent implements OnInit {\n\n\n @Output() public openTable = new EventEmitter();\n\n private rawListTable;\n @Input() set listTable(listTable) {\n this.rawListTable = listTable;\n }\n get listTable() {\n return this.rawListTable;\n }\n\n public doughnutChartColorA: Color[] = [{\n borderColor: ['#75e29e', '#ccfaf0'],\n backgroundColor: ['#75e29e', '#ccfaf0']\n }];\n\n public doughnutChartOptions: ChartOptions = {\n cutoutPercentage: 80,\n legend: { display: false },\n tooltips: { enabled: false },\n elements: {\n arc: {\n borderWidth: 0\n },\n }\n };\n\n public id = -1;\n public page = 0;\n public index = 1;\n public isListTable = false;\n public isOptions = false;\n public visible = false;\n public isHeaderTable = false;\n public columnId = null;\n public countColumn = 0;\n\n public listHeaders = propertiesHeader;\n\n public listOptions = ['Data', 'Data 1'];\n public productsValuesShowing = ['total_area', 'bedrooms', 'bathrooms', 'parkingspots'];\n\n constructor(\n private service: FacsService,\n ) {}\n\n ngOnInit() {\n this.service.getOpen().subscribe(x => this.isHeaderTable = x);\n }\n\n public hoverEvent(event: number) {\n this.id = event;\n this.visible = false;\n }\n\n public actionTable() {\n this.isListTable = !this.isListTable;\n }\n\n public getScroll(data) {\n if (data) {\n this.visible = true;\n }\n }\n\n public actionHeader(event: Event | any, i: number) {\n event.stopPropagation();\n this.requestColumn(i);\n }\n\n public requestColumn(i: number) {\n if (this.columnId !== i) {\n this.countColumn = 0;\n }\n this.columnId = i;\n this.countColumn += 1;\n if (this.countColumn > 2) {\n this.countColumn = 0;\n }\n }\n\n}\n","
\n
\n
\n

{{ titleModal }}

\n \n
\n\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n \n \n
\n
\n\n \n
\n \n \n
\n
\n\n
\n \n
\n\n
\n \n \n
\n \n\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Phone } from 'src/app/core/models/phone.model';\n\n\n@Component({\n selector: 'app-proprietary-modal',\n templateUrl: './proprietary-modal.component.html',\n styleUrls: ['./proprietary-modal.component.scss']\n})\nexport class ProprietaryModalComponent implements OnInit {\n\n @Output() public closeModal = new EventEmitter();\n @Output() public sendItems = new EventEmitter();\n @Input() public titleModal = '';\n\n public form: FormGroup;\n private docBody = document.querySelector('body');\n\n public phonesAlternative: Phone[] = [];\n public listPhones: Phone[] = [];\n\n constructor(\n private fb: FormBuilder\n ) { }\n\n ngOnInit(): void {\n this.docBody.setAttribute('style', 'overflow: hidden');\n this.initializeForm();\n }\n\n private initializeForm() {\n this.form = this.fb.group({\n name: [null],\n email: [null],\n cpf: [null],\n rg: [null],\n phone_main: [{ddi: '', phone: ''}],\n phone_alternative: [[]]\n });\n }\n\n public cancel() {\n this.docBody.setAttribute('style', 'overflow: auto');\n this.closeModal.emit(false);\n }\n\n public sendItem() {\n this.docBody.setAttribute('style', 'overflow: auto');\n this.sendItems.emit(this.form.value);\n this.closeModal.emit(false);\n }\n\n public addPhoneAlternative() {\n this.phonesAlternative.push({\n phone: '',\n ddi: ''\n });\n this.form.get('phone_alternative').setValue(this.listPhones);\n }\n\n public changesPhoneMain(event: Phone) {\n this.form.get('phone_main').setValue(event);\n }\n\n public changesPhone(event: Phone, i: number) {\n this.listPhones[i] = event;\n }\n\n}\n","
    \n

    Proprietários

    \n
  • \n
    \n

    Nome: {{ item.name }}

    \n

    RG: {{ item.rg }} / CPF: {{ item.cpf }}

    \n

    Email: {{ item.email }}

    \n

    Telefone: {{ item.phone_main.ddi +' '+item.phone_main.phone }}

    \n
    \n

    Telefone Alternativo: {{ phone.ddi +' '+ phone.phone }}

    \n
    \n
    \n \n
  • \n \n
\n","import { Component, Output, EventEmitter } from '@angular/core';\nimport { IItem } from 'src/app/core/models/products';\n\n@Component({\n selector: 'app-proprietary',\n templateUrl: 'proprietary.component.html',\n styleUrls: ['./proprietary.component.scss']\n})\nexport class ProprietaryComponent {\n\n @Output() public sendValue = new EventEmitter();\n\n public items: IItem[] = [];\n public showModal = false;\n\n public removeItem(data: number): void {\n this.items.splice(data, 1);\n }\n\n public openModal(): void {\n this.showModal = !this.showModal;\n }\n\n public sendItems(event: IItem) {\n this.items.push(event);\n this.sendValue.emit(this.items);\n }\n\n}","
\n
\n \n
\n
\n \n
\n
\n\n
\n \n \n
","import { Component, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'app-range-selector',\n templateUrl: './range-selector.component.html',\n styleUrls: ['./range-selector.component.scss']\n})\nexport class RangeSelectorComponent implements AfterViewInit {\n\n maxLimit: number;\n minLimit: number;\n @Input() min: number;\n @Input() max: number;\n @Input() icon: string;\n @Input() label: string;\n\n @ViewChild('minThumb', { static: true }) minThumb: ElementRef;\n @ViewChild('maxThumb', { static: true }) maxThumb: ElementRef;\n\n @ViewChild('minInput', { static: true }) minInput: ElementRef;\n @ViewChild('maxInput', { static: true }) maxInput: ElementRef;\n\n ngAfterViewInit() {\n this.maxLimit = this.max;\n this.minLimit = this.min;\n }\n\n drag(mouseEvent, oppositeThumb) {\n\n const _this = this; // it used to access global vars inside inner fcunctions\n let thumb = mouseEvent.srcElement;\n let mousePos = mouseEvent.clientX;\n\n thumb.onmousedown = dragStart;\n\n function dragStart(dragStartEvent) {\n dragStartEvent.preventDefault();\n document.onmouseup = dragStop;\n document.onmousemove = dragMove;\n }\n\n function dragMove(dragMoveEvent) {\n let thumbClass = thumb.className;\n let thumbWidth = thumb.offsetWidth;\n let sliderWidth = thumb.parentElement.offsetWidth;\n let moveDirection = mousePos - dragMoveEvent.clientX;\n mousePos = dragMoveEvent.clientX;\n\n let leftPos = thumb.offsetLeft - moveDirection;\n let rightPos = thumb.offsetLeft + thumb.offsetWidth;\n let rightLimit = sliderWidth - thumb.offsetWidth;\n\n //set left limit\n if (leftPos < 0) {\n leftPos = 0;\n }\n\n // set right limit\n if (rightPos <= sliderWidth && leftPos > rightLimit) {\n leftPos = rightLimit;\n }\n\n switch (thumbClass) {\n case 'min':\n thumb.style.zIndex = '9';\n oppositeThumb.style.zIndex = '0';\n if ((leftPos + thumbWidth) <= oppositeThumb.offsetLeft) {\n thumb.style.left = leftPos + \"px\";\n }\n break;\n case 'max':\n thumb.style.zIndex = '9';\n oppositeThumb.style.zIndex = '0';\n if ((leftPos - thumbWidth) >= (oppositeThumb.offsetLeft)) {\n thumb.style.left = leftPos + \"px\";\n }\n break;\n }\n\n // calculate left distance percentage and update input\n let percent: any = leftPos / rightLimit;\n let newVal = Math.round(_this.maxLimit * percent.toFixed(2));\n\n if (thumbClass === 'min') {\n _this.min = newVal;\n } else if (thumbClass === 'max') {\n _this.max = newVal;\n }\n\n }\n\n function dragStop() {\n document.onmouseup = null;\n document.onmousemove = null;\n }\n }\n\n updateSlider(event) {\n let val = parseInt(event.srcElement.value);\n let className = event.srcElement.className;\n\n if (val < 0 || isNaN(val)) {\n val = 0\n }\n\n let maxThumb = this.maxThumb.nativeElement;\n let minThumb = this.minThumb.nativeElement;\n\n let maxThumbPos = maxThumb.offsetLeft;\n let minThumbPos = minThumb.offsetLeft;\n\n let sliderWidth = maxThumb.parentElement.offsetWidth;\n let thumbWidth = maxThumb.offsetWidth;\n\n let minRightLimit = maxThumbPos;\n\n let maxLeftLimit = minThumbPos + thumbWidth;\n\n let maxRightLimit = sliderWidth - maxThumb.offsetWidth;\n\n let percent = val / this.maxLimit;\n\n let newPos = percent * sliderWidth;\n\n switch (className) {\n\n case 'min':\n this.min = val;\n if (val > this.maxLimit || newPos > minRightLimit) {\n minThumb.style.left = (minRightLimit - thumbWidth) + 'px';\n } else if (val < this.minLimit) {\n minThumb.style.left = '0';\n this.min = this.minLimit;\n } else {\n minThumb.style.left = percent * 100 + '%';\n }\n break;\n\n case 'max':\n this.max = val;\n if (val > this.maxLimit || newPos > maxRightLimit) {\n maxThumb.style.left = (maxRightLimit) + 'px';\n } else if (newPos > maxLeftLimit) {\n maxThumb.style.left = percent * 100 + '%';\n } else {\n maxThumbPos = minThumbPos + thumbWidth;\n maxThumb.style.left = maxThumbPos + 'px';\n }\n break;\n }\n\n }\n\n updateInputOnBlur(className, minInput, maxInput) {\n let minVal = parseInt(minInput.value);\n let maxVal = parseInt(maxInput.value);\n\n switch (className) {\n case 'min':\n if (minVal > maxVal || minVal < this.minLimit) {\n this.min = this.minLimit;\n this.minInput.nativeElement.value = this.minLimit;\n this.minThumb.nativeElement.style.left = 0\n }\n break;\n case 'max':\n if (maxVal < minVal) {\n this.max = this.maxLimit;\n this.maxInput.nativeElement.value = this.maxLimit;\n this.maxThumb.nativeElement.style.left = 'calc(100% - 20px)';\n }\n break;\n }\n }\n\n}\n","
\n

Venda e locação

\n
\n
\n \n Vender imóvel\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n

O imóvel está quitado?

\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n

O imóvel possui renda?

\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n

Outros detalhes

\n
\n \n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n Alugar imóvel\n
\n
\n
\n
\n \n
\n
\n
\n
\n

Outros detalhes

\n
\n \n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { PropertiesService } from 'src/app/properties/service/properties.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-sale-and-rent',\n templateUrl: 'sale-and-rent.component.html',\n styleUrls: ['./sale-and-rent.component.scss']\n})\nexport class SaleAndRentComponent implements OnInit {\n\n @Input() forms: FormGroup;\n\n public formSubscription: Subscription;\n\n constructor(private formBuilder: FormBuilder,\n private service: PropertiesService) { }\n\n ngOnInit(): void {\n this.formInit();\n }\n\n formInit(): void {\n if (!this.forms) {\n this.forms = this.formBuilder.group({\n sale: [ false ],\n salePrice: [ null, [ Validators.required ] ],\n commission: [ null ],\n settled: [ true ],\n notSettled: [ null ],\n debt: [ null ],\n profitable: [ false ],\n notProfitable: [ true ],\n income: [ null ],\n saleD1: [ false ],\n saleD2: [ false ],\n saleD3: [ false ],\n saleD4: [ false ],\n saleResponsible: [ null ],\n rent: [ false ],\n rentPrice: [ null, [ Validators.required ] ],\n rentD1: [ null ],\n rentD2: [ null ],\n rentD3: [ null ],\n rentResponsible: [ null ]\n });\n }\n this.forms.get('debt').disable();\n this.forms.get('income').disable();\n }\n\n public toggleForm(ev: boolean, control: string): void {\n this.forms.get(control).patchValue(ev);\n }\n\n public toggleDebt(ev: boolean): void {\n this.forms.get('settled').patchValue(ev);\n this.forms.get('notSettled').patchValue(!ev);\n if (ev) {\n this.forms.get('debt').disable();\n return;\n }\n this.forms.get('debt').enable();\n }\n\n public toggleIncome(ev: boolean): void {\n this.forms.get('profitable').patchValue(ev);\n this.forms.get('notProfitable').patchValue(!ev);\n if (ev) {\n this.forms.get('income').enable();\n return;\n }\n this.forms.get('income').disable();\n }\n\n}\n","
\n
\n

Perfil de busca: {{card.business_type ? card.business_type : ''}}

\n
\n \n \n \n \n \n \n
\n
\n

{{card.neighborhood_or_value_zone.value }}, {{card.city + ' - '}} {{ card.state }}

\n
\n
\n

Valor mínimo

\n

{{card.min_cash_value | currency:'BRL':true:'1.2-2'}}

\n \n

-

\n
\n
\n
\n

Valor máximo

\n

{{card.max_cash_value | currency:'BRL':true:'1.2-2'}}

\n \n

-

\n
\n
\n
\n
\n
\n \n\n
\n\n
\n -\n
\n\n
\n A partir de {{card.min_area_value | currency:'BRL':'':'1.2-2'}} m²\n
\n\n
\n Até {{card.max_area_value | currency:'BRL':'':'1.2-2'}} m²\n
\n\n
\n {{card.min_area_value | currency:'BRL':'':'1.2-2'}} a {{card.max_area_value | currency:'BRL':'':'1.2-2'}} m²\n
\n\n
\n \n
\n
\n \n

0 ; else no_bedrooms\">{{card.bedrooms[0].value}}{{card.bedrooms.length > 1 || card.bedrooms[0].operation === 'GTE' ? '+' : ''}}

\n \n

-

\n
\n
\n
\n \n

0 ; else no_suites\">{{card.suites[0].value}}{{card.suites.length > 1 || card.suites[0].operation === 'GTE' ? '+' : ''}}

\n \n

-

\n
\n
\n
\n \n

0 ; else no_garage_spaces\">\n {{card.garage_spaces[0].value}}{{card.garage_spaces.length > 1 || card.garage_spaces[0].operation === 'GTE' ? '+' : ''}}\n

\n \n

-

\n
\n
\n
\n

{{card.comments}}

\n Buscar imóvel\n
","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\nimport { EditFacSearchProfileModel } from '../../../core/models/edit-fac-modal.model';\nimport { EditFacModalService } from '../edit-fac-modal/service/edit-fac-modal.service';\n\n@Component({\n selector: 'app-search-profile-card',\n templateUrl: './search-profile-card.component.html',\n styleUrls: ['./search-profile-card.component.scss']\n})\nexport class SearchProfileCardComponent {\n\n @Input() card: EditFacSearchProfileModel;\n @Input() facId: string;\n @Output() editClick = new EventEmitter();\n @Output() removeClick = new EventEmitter();\n\n constructor(\n private facModalService: EditFacModalService,\n ) {}\n\n public linked(data: string) {\n this.facModalService.hrefLink(this.facId, data).subscribe((x: any) => window.open(x.url));\n }\n\n}\n","\n","import { Component, HostListener, ElementRef, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-select-options',\n templateUrl: './select-options.component.html',\n styleUrls: ['./select-options.component.scss']\n})\nexport class SelectOptionsComponent {\n\n @Input()\n public text = '';\n\n @Input()\n public changeLate = false;\n\n @Input()\n public listOptions = [];\n\n @Output()\n public sendChange = new EventEmitter();\n\n public showDropDown = false;\n public listChange = ['(atualizada)', '(a vencer)', '(vencida)'];\n\n @HostListener('document:click', ['$event'])\n onClick(ev) {\n if (this.showDropDown) {\n if (!this.eRefe.nativeElement.contains(ev.target)) {\n this.showDropDown = false;\n }\n }\n }\n\n constructor(\n private eRefe: ElementRef\n ) { }\n\n public actioDropDown() {\n this.showDropDown = !this.showDropDown;\n }\n\n public select(datatext: string) {\n this.text = datatext;\n this.showDropDown = false;\n }\n\n}\n","\n","import { Component, EventEmitter, Output, Input } from '@angular/core';\n\n@Component({\n selector: 'app-slide-toggle',\n templateUrl: './slide-toggle.component.html',\n styleUrls: ['./slide-toggle.component.scss'],\n})\nexport class SlideToggleComponent {\n\n @Input()\n public idToggle = 'toggle';\n\n @Input()\n public isToggle = false;\n\n @Output()\n public sendToggle = new EventEmitter();\n\n public sendValue() {\n this.sendToggle.emit(this.isToggle = !this.isToggle);\n }\n\n\n}","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackbarService {\n\n private snackbarSubject = new Subject();\n public snackbarState = this.snackbarSubject.asObservable();\n\n show(message: string, type?: string, time?: number) {\n this.snackbarSubject.next({\n show: true,\n message,\n type,\n time\n });\n }\n\n showInPosition(message: string, type?: string, pos?: string, time?: number) {\n this.snackbarSubject.next({\n show: true,\n message,\n type,\n pos,\n time\n });\n }\n}\n","
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n

{{snack.message}}

\n
\n
\n \n
\n
\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { SnackbarService } from './service/snackbar.service';\nimport { Subscription } from 'rxjs';\nimport { trigger, animate, style, transition } from '@angular/animations';\n\nexport class Snack {\n message: string;\n duration: number;\n type: string;\n}\n\n@Component({\n selector: 'app-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.scss'],\n animations: [\n trigger('state' , [\n transition(':enter', [\n style({bottom: '-100px', transform: 'translate(-50%, 0%) scale(0.3)'}),\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\n transform: 'translate(-50%,0%) scale(1)',\n opacity: 1,\n bottom: '20px'\n })),\n ]),\n transition(':leave', [\n animate('150ms cubic-bezier(0.4, 0.0, 1, 1)', style({\n transform: 'translate(-50%,0%) scale(0.3)',\n opacity: 0,\n bottom: '-100px'\n }))\n ])\n ])\n ]\n})\nexport class SnackbarComponent implements OnInit, OnDestroy {\n\n public positionTopRight = false;\n private snackbarSubscription = new Subscription();\n public snacks = [];\n\n constructor(private snackbarService: SnackbarService) { }\n\n ngOnInit() {\n this.snackbarSubscription = this.snackbarService.snackbarState.subscribe(state => {\n if (this.snacks.length >= 3) {\n clearTimeout(this.snacks[2].timeout);\n this.snacks.pop();\n }\n\n if(state.pos == 'topRight') {\n this.positionTopRight = true;\n }\n\n if (!state.type) {\n state.type = 'success';\n }\n if (state.time !== 0 && !state.time) {\n state.time = 5;\n }\n if (state.time > 0) {\n state.timeout = setTimeout(() => {\n this.snacks.splice(this.snacks.indexOf(state), 1);\n clearTimeout(state.timeout);\n }, state.time * 1000);\n }\n this.snacks.unshift(state);\n });\n }\n\n closeSnack(snack) {\n clearTimeout(snack.timeout);\n this.snacks.splice(this.snacks.indexOf(snack), 1);\n }\n\n ngOnDestroy() {\n this.snackbarSubscription.unsubscribe();\n }\n\n}\n","\n \n \n \"Ordenar\n \"Ordenar\n \n \n \"Ordenar\n \"Ordenar\n \n","import { Component, Input, ContentChild, Output, EventEmitter, OnInit } from '@angular/core';\n\nexport enum STATUS {\n UP_DOWN = 0,\n UP = 1,\n DOWN = 2\n}\n\n@Component({\n selector: 'app-arrow-label',\n templateUrl: './sort-arrows.component.html',\n styleUrls: ['./sort-arrows.component.scss']\n})\nexport class SortArrowsComponent {\n\n @ContentChild('child') child;\n @Output() sort: EventEmitter = new EventEmitter();\n @Input() set value(value: number) {\n if (value || value === 0) {\n this.status = value;\n }\n }\n\n status = 0;\n\n public nextStatus(): void {\n const mapNextValue = {\n [STATUS.UP_DOWN]: STATUS.UP,\n [STATUS.UP]: STATUS.DOWN,\n [STATUS.DOWN]: STATUS.UP_DOWN\n };\n const newValue = mapNextValue[this.status];\n this.status = newValue;\n this.sort.emit(this.status);\n }\n\n}\n","\n\n\n \n \n

{{ stepperData[i].title }}

\n
\n \n
\n
","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\nimport { Stepper } from 'src/app/core/models/properties';\nimport { StepperService } from 'src/app/core/services/step-service/stepper.service';\n@Component({\n selector: 'app-step',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss']\n})\nexport class StepperComponent implements OnInit {\n\n @Input() type = 1;\n\n @Input()\n public listStepper: Stepper[] = [];\n\n @Input()\n public stepperData = [];\n\n @Output()\n public sendStepper = new EventEmitter();\n @Output()\n public sendData = new EventEmitter();\n\n @Output()\n public sendStepperList = new EventEmitter();\n\n public indexList: number [] = [];\n\n\n constructor(\n private stepperService: StepperService,\n ) { }\n\n ngOnInit(): void {\n this.stepperService.getList().subscribe(x => this.stepperData = x);\n this.progressStepper();\n }\n\n public progressStepper() {\n let index = 0;\n const inter = setInterval(() => {\n if (index >= this.listStepper.length) {\n clearInterval(inter);\n return false;\n }\n if (this.listStepper[index].completed) {\n index += 1;\n this.indexList.push(index);\n }\n this.clearInterval(index, inter);\n }, 600);\n }\n\n private clearInterval(index: number, variableName) {\n if (this.listStepper[index] && !this.listStepper[index].completed) {\n clearInterval(variableName);\n }\n }\n\n}\n","
\n \n \n \n \n
","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'app-tags',\n templateUrl: './tags.component.html',\n styleUrls: ['./tags.component.scss']\n})\nexport class TagsComponent {\n \n @Output() remove = new EventEmitter();\n @Input() removable = true;\n\n removeChip() {\n this.remove.emit(true);\n }\n\n}\n","
\n\n
\n
\n
\n \n
\n

\n \n {{item.data}}\n \n {{item.data}}\n

\n\n
\n
\n\n
\n\n
\n
\n \n
\n
\n\n
\n
\n \"Perfil\"\n

{{ data.userLabel }}

\n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n

{{ data.market }}

\n
\n
\n\n
\n
\n -\n {{ data.creci_validity }}\n
\n
\n\n
\n
\n

{{ data.enterprise ? data.enterprise : null }}

\n
\n
\n\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
","import { Pagination, Sort, SORT_ENUM } from './../../../core/models/team-management.model';\nimport { Component, Output, EventEmitter, Input, HostListener, ElementRef, ViewChild } from '@angular/core';\n\nimport { SnackbarService } from '../snackbar/service/snackbar.service';\nimport { listOptions } from 'src/app/core/constants/team-management-const';\ninterface SortItemsEvent {\n sortData: Sort;\n}\n\ninterface MemberEmit {\n id: string | number;\n user_id?: string;\n name: string;\n nickname: string;\n userLabel?: string;\n select?: boolean;\n type?: string;\n option?: string;\n}\n\n@Component({\n selector: 'app-team-management-table',\n templateUrl: './team-management-table.html',\n styleUrls: ['./team-management-table.scss'],\n})\nexport class TeamManagementTableComponent {\n\n @Output() public sendIndex = new EventEmitter();\n @Output() public searchMore = new EventEmitter();\n @Output() public sendOptions = new EventEmitter();\n @Output() public sendSelections = new EventEmitter();\n @Output() public sendItemSelections = new EventEmitter();\n @Output() public sortItems = new EventEmitter();\n\n @Input() public sortKey: number;\n @Input() public listHeaders = [];\n @Input() public listBinding = [];\n @Input() public searching = false;\n @Input() public positioType = false;\n @Input() public isHoverTable = false;\n\n @ViewChild('container') container: ElementRef;\n\n public index = -1;\n public id: number;\n public isSelect = false;\n public isOptions = false;\n public templateIndex = true;\n public currentPage = 1;\n public pageItems = 20;\n public listOptions = listOptions;\n public sortType = { 1: SORT_ENUM.DESC, 2: SORT_ENUM.ASC };\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n this.templateIndex = true;\n if (this.templateIndex) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.templateIndex = false;\n }\n }\n }\n\n constructor(\n private snackService: SnackbarService,\n private eRef: ElementRef\n ) { }\n\n public hoverIndex(data: Event) {\n if (data) {\n this.templateIndex = true;\n }\n }\n\n public hoverEvent(event: number) {\n this.id = event;\n }\n\n public copyToClipboard(item: string, type: string): void {\n const listener = (e: ClipboardEvent) => {\n e.clipboardData.setData('text/plain', item);\n e.preventDefault();\n };\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n this.snackService.show(`${type} copiado`, 'success');\n }\n\n public getScroll(event: Event | any) {\n event.preventDefault();\n const heigth = ((100 * event.srcElement.scrollTop) / (event.srcElement.scrollHeight - event.srcElement.clientHeight));\n if (heigth === 100) {\n this.index += 1;\n }\n\n if (this.container.nativeElement.offsetHeight + this.container.nativeElement.scrollTop >= this.container.nativeElement.scrollHeight) {\n const element = this.container.nativeElement;\n this.searchMore.emit(element);\n }\n }\n\n public selectAll() {\n this.templateIndex = true;\n this.isSelect = !this.isSelect;\n this.sendSelections.emit({ select: null, id: null, name: null, nickname: null });\n this.listBinding.forEach(member => {\n member.select = this.isSelect;\n this.sendSelections.emit({\n id: member.id,\n user_id: member.user_id,\n name: member.name,\n nickname: member.leader_neackname,\n userLabel: member.userLabel,\n select: this.isSelect\n });\n });\n }\n\n public actionTable() {\n this.isOptions = !this.isOptions;\n }\n\n public sort(event: number, data) {\n this.sortItems.emit({ sortData: { sort: `${data.id}`, sort_order: this.sortType[event] } });\n }\n\n}\n","
\n
\n \n
\n
\n \n \n \n
\n
{{ value ? value : placeholder }}
\n \n \"Limpar\"\n \n
\n
\n Horário\n {{ innerValue.hour }}:{{ innerValue.min }}\n
\n
\n
\n
\n {{ hour }}\n
\n
\n
\n
\n {{ min }}\n
\n
\n
\n
\n
\n
\n","import { Component, forwardRef, Input, Output, EventEmitter } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\ninterface TimepickerModel {\n hour: string;\n min: string;\n}\n\n@Component({\n selector: 'app-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimepickerComponent),\n multi: true\n }]\n})\nexport class TimepickerComponent implements ControlValueAccessor {\n\n private dataValue: string;\n\n get value() {\n return this.dataValue;\n }\n\n set value(data: string) {\n if (data != null) {\n this.processTimeInput(data);\n this.onChangeTimepicker(data);\n this.dataValue = data;\n }\n }\n\n @Input() public id: string;\n @Input() public label: string;\n @Input() public placeholder: string;\n @Input() public disabled = false;\n @Input() public showClearBtn = false;\n @Input() public isWidth = false;\n\n @Output() public selectValue: EventEmitter = new EventEmitter();\n @Output() public clearEmit: EventEmitter = new EventEmitter();\n\n public showSelector: boolean;\n\n // tslint:disable-next-line: max-line-length\n public hourOpts = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n // tslint:disable-next-line: max-line-length\n public minuteOpts = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59'];\n\n public innerValue: TimepickerModel = {\n hour: null,\n min: null\n };\n\n public processTimeInput(data: any): void {\n this.innerValue.hour = data.slice(0, 2);\n this.innerValue.min = data.slice(3);\n }\n\n public toggleSelector(event: MouseEvent): void {\n event.stopPropagation();\n if (this.disabled) {\n this.showSelector = false;\n return;\n }\n this.showSelector = !this.showSelector;\n }\n\n public hourSelect(idx: number): void {\n this.innerValue.hour = this.hourOpts[idx];\n }\n\n public minuteSelect(idx: number, event: MouseEvent): void {\n this.innerValue.min = this.minuteOpts[idx];\n this.selection(event);\n }\n\n public selection(event: MouseEvent): void {\n if (this.innerValue.hour && this.innerValue.min) {\n this.selectValue.emit(`${this.innerValue.hour}:${this.innerValue.min}`);\n this.toggleSelector(event);\n }\n }\n\n clearInput() {\n this.clearEmit.emit();\n }\n\n writeValue(newValue: string): void {\n this.value = newValue;\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChangeTimepicker = fn;\n }\n\n onChangeTimepicker: (_: string) => void = () => { };\n\n registerOnTouched(fn: (_: string) => void): void {\n this.onTouchedTimepicker = fn;\n }\n\n onTouchedTimepicker: (_: string) => void = () => { };\n}\n","
\n
\n

Tarefas de hoje

\n
\n
\n
\n

{{ ap.facName ? ap.facName : ap.title }}

\n {{ ap.hourStart }}{{ ap.hourEnd ? ' até ' + ap.hourEnd : '' }}\n
\n
\n
{{ ap.type | uppercase }}
\n
\n
\n
","import { Component, OnInit, Input } from \"@angular/core\";\n\nenum TAG {\n Visita = 1,\n Retorno = 2,\n Tarefa = 3,\n Lembrete = 4,\n Evento = 5\n}\n\n@Component({\n selector: 'app-today-schedule',\n templateUrl: './today-schedule.component.html',\n styleUrls: ['./today-schedule.component.scss']\n})\nexport class TodayScheduleComponent implements OnInit {\n\n @Input() schedule: any;\n\n public tag = '';\n public item = {\n temp: 1, // 1, 2, 3\n client: 'Cliente Charles Darwing rafael carvalho caetano',\n time: new Date().getDate(),\n tag: 2, // 1, 2, 3, 4, 5\n }\n\n ngOnInit(): void {\n this.tag = TAG[this.item.tag]\n }\n}","
\n \"icone\n {{ control | validMsgPipe:fieldName }}\n
\n\n
\n {{ hint }}\n
\n","import { Component, Input } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-valid-msg',\n templateUrl: './valid-msg.component.html',\n styleUrls: ['./valid-msg.component.scss']\n})\nexport class ValidMsgComponent {\n\n @Input() control = new FormControl();\n @Input() hint: string;\n @Input() fieldName: string;\n @Input() showIcon = true;\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ValidMsgComponent } from './valid-msg.component';\nimport { ValidMsgPipeModule } from './valid-msg.pipe';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n imports: [\n CommonModule,\n ValidMsgPipeModule,\n ReactiveFormsModule\n ],\n declarations: [ValidMsgComponent],\n exports: [ValidMsgComponent],\n})\nexport class ValidMsgModule { }\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormControl } from '@angular/forms';\nimport { ValidationService } from './validation.service';\n\n@Pipe({\n name: 'validMsgPipe'\n})\nexport class ValidMsgPipe implements PipeTransform {\n\n transform(control: FormControl, fieldName?: string): any {\n for (const validationName in control.errors) {\n if (control.errors.hasOwnProperty(validationName) && control.touched) {\n return ValidationService.getErrorMsg(\n validationName, control.errors[validationName], fieldName\n );\n }\n }\n return null;\n }\n}\n\n\n\n@NgModule({\n imports: [ CommonModule ],\n declarations: [ ValidMsgPipe ],\n exports: [ ValidMsgPipe ]\n})\nexport class ValidMsgPipeModule {}\n","import { Injectable } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValidationService {\n\n static getErrorMsg(\n validatorName: string,\n validatorErrors?: ValidationErrors,\n fieldName?: string\n ) {\n fieldName = fieldName?.replace('_', ' ') || 'campo';\n const config = {\n required: `${ValidationService.capitalize(fieldName)} é obrigatório!`,\n pattern: `Esse ${fieldName.toLowerCase()} é inválido!`,\n minlength: `O ${fieldName.toLowerCase()} precisa ter no mínimo ${validatorErrors.requiredLength} dígitos!`,\n maxlength: `O ${fieldName.toLowerCase()} pode ter no máximo ${validatorErrors.requiredLength} dígitos!`,\n 'Mask error': `Esse ${fieldName.toLowerCase()} é inválido!`,\n };\n return config[validatorName];\n }\n\n static capitalize(value: string): string {\n if (typeof value !== 'string') { return ''; }\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
\n
\n \n \n \n {{ timeHM }}\n {{ timeS }}\n {{ dateLabel }}\n
\n
\n
\n","import { Component, OnInit, Input, OnDestroy, Output } from '@angular/core';\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { Router } from '@angular/router';\n\nimport moment from 'moment';\n\n@Component({\n selector: 'app-clock',\n templateUrl: './clock.component.html',\n styleUrls: ['./clock.component.scss']\n})\nexport class ClockComponent implements OnInit, OnDestroy {\n\n private rawInfo: InformationModel[];\n @Input() set info(widgetInfo: InformationModel[]) {\n this.rawInfo = widgetInfo;\n this.processDateTime();\n }\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public scrolling: boolean;\n\n public timer: any;\n public serverDateTime: any;\n public timeHM: string;\n public timeS: string;\n public dateLabel: string;\n\n constructor(private homeSvc: HomeService,\n private router: Router) { }\n\n ngOnInit(): void {\n if (this.dragged) {\n this.processServiceDateTime();\n return;\n }\n this.homeSvc.fetchWidgetData(this.data.id);\n this.timer = window.setInterval(() => {\n this.runClock();\n }, 1000);\n }\n\n ngOnDestroy(): void {\n window.clearInterval(this.timer);\n }\n\n runClock(): void {\n if (!this.rawInfo || this.rawInfo.length === 0) {\n return;\n }\n this.serverDateTime = this.serverDateTime.add(1, 's');\n this.processDateTime();\n this.homeSvc.storedDateTime = this.serverDateTime;\n }\n\n processDateTime(): void {\n if (!this.rawInfo || this.rawInfo.length === 0 || !this.rawInfo[0].values) {\n return;\n } else if (this.rawInfo && this.rawInfo.length > 0 && this.rawInfo[0].values.date_now && !this.serverDateTime) {\n this.serverDateTime = moment(this.rawInfo[0].values.date_now).subtract(3, 'h');\n }\n this.timeHM = this.serverDateTime.format('HH:mm');\n this.timeS = this.serverDateTime.format(':ss');\n this.dateLabel = this.serverDateTime.locale('pt').format(`dddd, DD [de] MMMM [de] YYYY`);\n }\n\n processServiceDateTime(): void {\n const dateTime = moment(this.homeSvc.storedDateTime);\n this.timeHM = dateTime.format('HH:mm');\n this.timeS = dateTime.format(':ss');\n this.dateLabel = dateTime.locale('pt').format(`dddd, DD [de] MMMM [de] YYYY`);\n }\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"done-visits-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n
\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {InformationModel, WidgetModel} from '../../../../core/models/widget.model';\nimport {Router} from '@angular/router';\nimport {GoogleTagManagerService} from '../../../../core/analytics/google-tag-manager.service';\nimport {CommunicationProxyService} from '../../../services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../../enum/communication-subject-enum';\nimport {ManagerFilterType} from '../../../../home/manager-filters/manager-filters.component';\nimport {HomeManagerService} from '../../../../home/service/home-manager.service';\n\n@Component({\n selector: 'app-done-visits',\n templateUrl: './done-visits.component.html',\n styleUrls: ['./done-visits.component.scss']\n})\nexport class DoneVisitsComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeManagerService: HomeManagerService,\n private communicationProxyService: CommunicationProxyService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeManagerService.fetchManagerWidgetData(\n this.data.id,\n { begin: null, end: null, type: ManagerFilterType.Today }\n );\n this.communicationProxyService.subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (payload) => {\n this.info = undefined;\n this.homeManagerService.fetchManagerWidgetData(this.data.id, payload.message);\n });\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:visitas-realizadas'\n });\n\n this.router.navigate([`/facs`]);\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"facs-fav-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n fac{{ (info[0].values.total > 1 || info[0].values.total == 0) ? 's' : '' }} favorita{{ (info[0].values.total > 1 || info[0].values.total == 0) ? 's' : '' }}\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { Router } from '@angular/router';\nimport {GoogleTagManagerService} from \"../../../../core/analytics/google-tag-manager.service\";\n\n@Component({\n selector: 'app-facs-fav',\n templateUrl: './facs-fav.component.html',\n styleUrls: ['./facs-fav.component.scss']\n})\nexport class FacsFavComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeSvc: HomeService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeSvc.fetchWidgetData(this.data.id);\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:facs-favoritas'\n });\n\n this.router.navigate([`/facs`], { queryParams: { favoritos: true }});\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"received-facs-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n
\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {InformationModel, WidgetModel} from '../../../../core/models/widget.model';\nimport {Router} from '@angular/router';\nimport {GoogleTagManagerService} from '../../../../core/analytics/google-tag-manager.service';\nimport {CommunicationProxyService} from '../../../services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../../enum/communication-subject-enum';\nimport {ManagerFilterType} from '../../../../home/manager-filters/manager-filters.component';\nimport {HomeManagerService} from '../../../../home/service/home-manager.service';\n\n@Component({\n selector: 'app-facs-receiveds',\n templateUrl: './facs-receiveds.component.html',\n styleUrls: ['./facs-receiveds.component.scss']\n})\nexport class FacsReceivedsComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeManagerService: HomeManagerService,\n private communicationProxyService: CommunicationProxyService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeManagerService.fetchManagerWidgetData(\n this.data.id,\n { begin: null, end: null, type: ManagerFilterType.Today }\n );\n this.communicationProxyService.subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (payload) => {\n this.info = undefined;\n this.homeManagerService.fetchManagerWidgetData(this.data.id, payload.message);\n });\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:facs-recebidas'\n });\n\n this.router.navigate([`/facs`]);\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
2\" class=\"icons-container\">\n
\n \n \n \n {{ info[pIdx[0]].title }}\n {{ info[pIdx[0]].values.total < 10 ? '0' : '' }}{{ info[pIdx[0]].values.total }}\n 0\n
\n
\n \n \n \n {{ info[pIdx[1]].title }}\n {{ info[pIdx[1]].values.total < 10 ? '0' : '' }}{{ info[pIdx[1]].values.total }}\n 0\n
\n
\n \n \n \n {{ info[pIdx[2]].title }}\n {{ info[pIdx[2]].values.total < 10 ? '0' : '' }}{{ info[pIdx[2]].values.total }}\n 0\n
\n
\n
","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { WidgetModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport {GoogleTagManagerService} from \"../../../../core/analytics/google-tag-manager.service\";\n\n@Component({\n selector: 'app-facs-temp',\n templateUrl: './facs-temp.component.html',\n styleUrls: ['./facs-temp.component.scss']\n})\nexport class FacsTempComponent implements OnInit, OnDestroy {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n public timer: any;\n pIdx: number[] = [0, 1, 2];\n\n constructor(\n private homeSvc: HomeService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeSvc.fetchWidgetData(this.data.id);\n this.timer = window.setInterval(() => {\n this.homeSvc.fetchWidgetData(this.data.id);\n }, this.data.update_timer);\n }\n\n ngOnDestroy() {\n window.clearInterval(this.timer);\n }\n\n headerAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:temperatura-facs'\n });\n\n this.router.navigate([`${this.data.action.url}`]);\n }\n\n iconAction(idx: number) {\n if (this.scrolling) {\n return;\n }\n\n const temperature = this.info[idx].action.url;\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:temperatura-facs',\n eventLabel: temperature.toLowerCase()\n });\n\n this.router.navigate([`/facs`], { queryParams: { temperatura: temperature }});\n }\n\n indexCheck(): void {\n this.info.forEach((inf, idx) => {\n if (inf.type === 'hot') { this.pIdx[0] = idx; }\n if (inf.type === 'warm') { this.pIdx[1] = idx; }\n if (inf.type === 'cold') { this.pIdx[2] = idx; }\n });\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
\n
\n \n \n {{ doughnutChartDataA[0] < 10 ? '0' : '' }}{{ doughnutChartDataA[0] || '0' }}\n
\n
\n \n \n {{ doughnutChartDataB[0] < 10 ? '0' : '' }}{{ doughnutChartDataB[0] || '0' }}\n
\n
\n \n \n {{ doughnutChartDataC[0] < 10 ? '0' : '' }}{{ doughnutChartDataC[0] || '0' }}\n
\n
\n
","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { ChartType, ChartOptions } from 'chart.js';\nimport { Color, Label, SingleDataSet } from 'ng2-charts';\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { Router } from '@angular/router';\nimport {GoogleTagManagerService} from \"../../../../core/analytics/google-tag-manager.service\";\n\n@Component({\n selector: 'app-facs-time',\n templateUrl: './facs-time.component.html',\n styleUrls: ['./facs-time.component.scss']\n})\nexport class FacsTimeComponent implements OnInit, OnDestroy {\n\n private rawInfo: InformationModel[];\n @Input() set info(widgetInfo: InformationModel[]) {\n this.rawInfo = widgetInfo;\n this.sortValuesAndProcess();\n }\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public scrolling: boolean;\n\n public timer: any;\n public chartData: boolean;\n pIdx: number[] = [0, 1, 2];\n\n public doughnutChartLabelA: Label[] = ['A', 'B'];\n public doughnutChartLabelB: Label[] = ['A', 'B'];\n public doughnutChartLabelC: Label[] = ['A', 'B'];\n\n public doughnutChartDataA: SingleDataSet = [0, 1];\n public doughnutChartDataB: SingleDataSet = [0, 1];\n public doughnutChartDataC: SingleDataSet = [0, 1];\n\n public doughnutChartColorA: Color[] = [{ borderColor: ['#75e29e', '#ccfaf0'], backgroundColor: ['#75e29e', '#ccfaf0'] }];\n public doughnutChartColorB: Color[] = [{ borderColor: ['#fdd626', '#fff9cc'], backgroundColor: ['#fdd626', '#fff9cc'] }];\n public doughnutChartColorC: Color[] = [{ borderColor: ['#ea4e2f', '#f6cbcc'], backgroundColor: ['#ea4e2f', '#f6cbcc'] }];\n\n public doughnutChartOptions: ChartOptions = {\n cutoutPercentage: 80,\n animation: { duration: 0 },\n legend: { display: false },\n tooltips: { enabled: false },\n elements: {\n arc: { borderWidth: 0 },\n }\n };\n\n public doughnutChartType: ChartType = 'doughnut';\n\n constructor(private homeSvc: HomeService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeSvc.fetchWidgetData(this.data.id);\n this.timer = window.setInterval(() => {\n this.homeSvc.fetchWidgetData(this.data.id);\n }, this.data.update_timer);\n }\n\n ngOnDestroy() {\n window.clearInterval(this.timer);\n }\n\n headerAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:minhas-facs'\n });\n\n this.router.navigate([`${this.data.action.url}`]);\n }\n\n iconAction(idx: number) {\n if (this.scrolling) {\n return;\n }\n\n const dueDateLabel = this.rawInfo[idx].action.url;\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:minhas-facs',\n eventLabel: dueDateLabel.toLowerCase()\n });\n\n this.router.navigate([`/facs`], { queryParams: { vencimentos: `${dueDateLabel}` }});\n }\n\n sortValuesAndProcess() {\n if (!this.rawInfo || this.rawInfo.length < 3) {\n return false;\n } else {\n let valuesTotal = this.rawInfo[0].values.total + this.rawInfo[1].values.total + this.rawInfo[2].values.total;\n if (valuesTotal === 0) {\n valuesTotal = 1;\n }\n this.doughnutChartDataA = [ this.rawInfo[0].values.total, valuesTotal - this.rawInfo[0].values.total];\n this.doughnutChartDataB = [ this.rawInfo[1].values.total, valuesTotal - this.rawInfo[1].values.total];\n this.doughnutChartDataC = [ this.rawInfo[2].values.total, valuesTotal - this.rawInfo[2].values.total];\n this.chartData = true;\n }\n }\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0\">\n
\n
\n

{{ info[0].values.total }}

\n

{{ info[1].values.total }}

\n

{{ info[2].values.total }}

\n

{{ info[3].values.total }}

\n

{{ info[4].values.total }}

\n

{{ info[5].values.total }}

\n
\n
\n

Sem atendimento

\n

Sem contato

\n

Em atendimento

\n

Visita

\n

Proposta

\n

Venda

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\n\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\n\n@Component({\n selector: 'app-funnel',\n templateUrl: './funnel.component.html',\n styleUrls: ['./funnel.component.scss']\n})\nexport class FunnelComponent implements OnInit, OnDestroy {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n public timer: any;\n\n constructor(\n private homeSvc: HomeService\n ) { }\n\n ngOnInit() {\n this.homeSvc.fetchWidgetData(this.data.id);\n this.timer = window.setInterval(() => {\n this.homeSvc.fetchWidgetData(this.data.id);\n }, this.data.update_timer);\n }\n\n ngOnDestroy() {\n window.clearInterval(this.timer);\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"outdated-facs-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n
\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {InformationModel, WidgetModel} from '../../../../core/models/widget.model';\nimport {Router} from '@angular/router';\nimport {GoogleTagManagerService} from '../../../../core/analytics/google-tag-manager.service';\nimport {CommunicationProxyService} from '../../../services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../../enum/communication-subject-enum';\nimport {ManagerFilterType} from '../../../../home/manager-filters/manager-filters.component';\nimport {HomeManagerService} from '../../../../home/service/home-manager.service';\n\n@Component({\n selector: 'app-outdated-facs',\n templateUrl: './outdated-facs.component.html',\n styleUrls: ['./outdated-facs.component.scss']\n})\nexport class OutdatedFacsComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeManagerService: HomeManagerService,\n private communicationProxyService: CommunicationProxyService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeManagerService.fetchManagerWidgetData(\n this.data.id,\n { begin: null, end: null, type: ManagerFilterType.Today }\n );\n this.communicationProxyService.subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (payload) => {\n this.info = undefined;\n this.homeManagerService.fetchManagerWidgetData(this.data.id, payload.message);\n });\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:outdated-facs'\n });\n\n this.router.navigateByUrl(`/facs?vencimentos=Vermelho`);\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"proposals-made-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n
\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {InformationModel, WidgetModel} from '../../../../core/models/widget.model';\nimport {Router} from '@angular/router';\nimport {GoogleTagManagerService} from '../../../../core/analytics/google-tag-manager.service';\nimport {CommunicationProxyService} from '../../../services/communication-proxy.service';\nimport {CommunicationSubjectEnum} from '../../../enum/communication-subject-enum';\nimport {ManagerFilterType} from '../../../../home/manager-filters/manager-filters.component';\nimport {HomeManagerService} from '../../../../home/service/home-manager.service';\n\n@Component({\n selector: 'app-proposals-made',\n templateUrl: './proposals-made.component.html',\n styleUrls: ['./proposals-made.component.scss']\n})\nexport class ProposalsMadeComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeManagerService: HomeManagerService,\n private communicationProxyService: CommunicationProxyService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeManagerService.fetchManagerWidgetData(\n this.data.id,\n { begin: null, end: null, type: ManagerFilterType.Today }\n );\n this.communicationProxyService.subscribe(CommunicationSubjectEnum.onManagerFiltersUpdated, (payload) => {\n this.info = undefined;\n this.homeManagerService.fetchManagerWidgetData(this.data.id, payload.message);\n });\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:proposals-made'\n });\n\n this.router.navigateByUrl('/facs');\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n

Nenhuma atividade encontrada.

\n
\n
\n
\n

Atividades de hoje ({{ activities.today.facs.length }})

\n \"arrow\n \"arrow\n
\n

\n Não existe atividade\n

\n
0\">\n
\n
\n
\n
\n {{ fac.name }}\n {{ fac.return_date ? 'Retorno: ' + (formatDateToStringDescription(fac.return_date)) : '' }}{{ fac.visit_date ? 'Visita: ' + (fac.visit_date | date:'dd/MM/yy HH:mm') : '' }}\n
\n
\n
\n
\n
\n

Atividades de amanhã ({{ activities.tomorrow.facs.length }})

\n \"arrow\n \"arrow\n
\n

\n Não existe atividade\n

\n
0\">\n
\n
\n
\n
\n {{ fac.name }}\n {{ fac.return_date ? 'Retorno: ' + (formatDateToStringDescription(fac.return_date)) : '' }}{{ fac.visit_date ? 'Visita: ' + (fac.visit_date | date:'dd/MM/yy HH:mm') : '' }}\n
\n
\n
\n
\n
\n

Atividades dos próximos dias ({{ activities.next_days.facs.length }})

\n \"arrow\n \"arrow\n
\n

\n Não existe atividade\n

\n
0\">\n
\n
\n
\n
\n {{ fac.name }}\n {{ fac.return_date ? 'Retorno: ' + (formatDateToStringDescription(fac.return_date)) : '' }}{{ fac.visit_date ? 'Visita: ' + (fac.visit_date | date:'dd/MM/yy HH:mm') : '' }}\n
\n
\n
\n
\n
\n

Atividades vencidas ({{ activities.past.facs.length }})

\n \"arrow\n \"arrow\n
\n

\n Não existe atividade\n

\n
0\">\n
\n
\n
\n
\n {{ fac.name }}\n {{ fac.return_date ? 'Retorno: ' + (formatDateToStringDescription(fac.return_date)) + '' : '' }}{{ fac.visit_date ? 'Visita: ' + (fac.visit_date | date:'dd/MM/yy HH:mm') : '' }}\n
\n
\n
\n
\n
\n
\n
\n\n\n","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { WidgetModel, ActivityModel, InformationModel } from '../../../../core/models/widget.model';\nimport { EditFacFunnelStagesModel } from '../../../../core/models/edit-fac-modal.model';\nimport moment from 'moment';\nimport { now } from 'moment-timezone';\nimport {GoogleTagManagerService} from \"../../../../core/analytics/google-tag-manager.service\";\nimport {ActivitiesEnum} from \"../../../../core/models/activities-enum\";\n\n@Component({\n selector: 'app-schedule',\n templateUrl: './schedule.component.html',\n styleUrls: ['./schedule.component.scss']\n})\nexport class ScheduleComponent implements OnInit, OnDestroy {\n\n private rawInfo: InformationModel[];\n @Input() set info(widgetInfo: InformationModel[]) {\n if (widgetInfo[0]\n && widgetInfo[0].values\n && widgetInfo[0].values.facs) {\n this.rawInfo = widgetInfo;\n this.processData();\n }\n }\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public scrolling: boolean;\n\n public timer: any;\n public dataProcessed: boolean;\n public emptyActivities: boolean;\n public expandedSection = 0;\n public showFacModal: boolean;\n public showFacId: string;\n public showFacFunnelStage: EditFacFunnelStagesModel = {\n value: '',\n sub_items: []\n };\n public activities: ActivityModel = {\n past: { facs: [] },\n today: { facs: [] },\n tomorrow: { facs: [] },\n next_days: { facs: [] }\n };\n\n public activitiesEnum = ActivitiesEnum;\n\n constructor(private homeSvc: HomeService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n moment.locale('pt-br');\n this.homeSvc.fetchWidgetData(this.data.id);\n this.timer = window.setInterval(() => {\n this.homeSvc.fetchWidgetData(this.data.id);\n }, this.data.update_timer);\n }\n\n ngOnDestroy() {\n window.clearInterval(this.timer);\n }\n\n processData() {\n if (this.rawInfo[0].values.facs.length === 0) {\n this.emptyActivities = true;\n this.dataProcessed = true;\n return;\n } else {\n const refreshActivities = {\n past: { facs: [] },\n today: { facs: [] },\n tomorrow: { facs: [] },\n next_days: { facs: [] }\n };\n for (const fac of this.rawInfo[0].values.facs) {\n const dateFac = moment(fac.compare_date);\n const today = moment();\n const tomorrow = moment().add(1, 'd');\n if (dateFac.isAfter(today) && today.date() === dateFac.date()) {\n refreshActivities.today.facs.push(fac);\n } else if (dateFac.isAfter(today) && tomorrow.date() === dateFac.date()) {\n refreshActivities.tomorrow.facs.push(fac);\n } else if (dateFac.isAfter(today) && tomorrow.date() !== dateFac.date()) {\n refreshActivities.next_days.facs.push(fac);\n } else if (today.isAfter(dateFac)) {\n refreshActivities.past.facs.push(fac);\n }\n }\n this.activities = refreshActivities;\n }\n this.dataProcessed = true;\n }\n\n formatDateToStringDescription(date) {\n return moment(date).fromNow();\n }\n\n expandSection(idx: number) {\n if (idx === this.expandedSection) {\n this.expandedSection = null;\n } else {\n this.expandedSection = idx;\n }\n }\n\n toggleFacModal(fac?: any, activitiesEnumType?: ActivitiesEnum) {\n if (this.scrolling) {\n return;\n }\n if (fac) {\n this.showFacModal = true;\n this.showFacId = fac.id;\n this.showFacFunnelStage = fac.funnel_stage;\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:tarefas-do-dia',\n eventLabel: `${activitiesEnumType}`\n });\n\n } else {\n this.showFacModal = false;\n this.showFacId = null;\n this.showFacFunnelStage = null;\n }\n }\n\n}\n","
\n
\n {{ data.title }}\n
\n
\n \n
\n
0 && info[0].values\" class=\"scheduled-visits-container\">\n
\n \n \n \n {{ (info[0].values.total < 10 && info[0].values.total != 0) ? '0' : '' }}{{ info[0].values.total }}\n visita{{ (info[0].values.total > 1 || info[0].values.total == 0) ? 's' : '' }} agendada{{ (info[0].values.total > 1 || info[0].values.total == 0) ? 's' : '' }}\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { WidgetModel, WidgetInfoModel, InformationModel } from '../../../../core/models/widget.model';\nimport { HomeService } from 'src/app/home/service/home.service';\nimport { Router } from '@angular/router';\nimport {GoogleTagManagerService} from \"../../../../core/analytics/google-tag-manager.service\";\n\n@Component({\n selector: 'app-scheduled-visits',\n templateUrl: './scheduled-visits.component.html',\n styleUrls: ['./scheduled-visits.component.scss']\n})\nexport class ScheduledVisitsComponent implements OnInit {\n\n @Input() public dragged: boolean;\n @Input() public data: WidgetModel;\n @Input() public info: InformationModel[];\n @Input() public scrolling: boolean;\n\n constructor(private homeSvc: HomeService,\n private router: Router,\n private readonly googleTagManagerService: GoogleTagManagerService) { }\n\n ngOnInit() {\n this.homeSvc.fetchWidgetData(this.data.id);\n }\n\n iconAction() {\n if (this.scrolling) {\n return;\n }\n\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'crm:home',\n eventAction: 'clique:widgets:visitas-agendadas'\n });\n\n this.router.navigate([`/facs`]);\n }\n\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n","import { Component, Input } from '@angular/core';\nimport { WidgetModel, WidgetInfoModel } from '../../../core/models/widget.model';\n\n@Component({\n selector: 'app-widget',\n templateUrl: './widget.component.html',\n styleUrls: ['./widget.component.scss']\n})\nexport class WidgetComponent {\n\n @Input() public dragged: boolean;\n @Input() public dragging: boolean;\n @Input() public widgetData: WidgetModel;\n @Input() public widgetInfo: WidgetInfoModel;\n @Input() public scrolling: boolean;\n\n}\n","
\n
\n \"{{flagOptions[selectedOption].icon}}\"\n
\n \"dropdown-arrow\"\n
\n
\n \n\n
\n
\n \"{{flag.icon}}\"\n

{{flagOptions[selectedOption].country}}

\n
\n
\n
","import { Component, Input, Output, EventEmitter, HostListener, forwardRef, ElementRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ZipFlagListOptions } from './zip-code-flag-input.model';\n\n@Component({\n selector: 'app-zip-code-flag-input',\n templateUrl: './zip-code-flag-input.component.html',\n styleUrls: ['./zip-code-flag-input.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ZipCodeFlagInputComponent),\n multi: true\n }\n ]\n})\n\nexport class ZipCodeFlagInputComponent implements ControlValueAccessor {\n public readonly flagOptions = ZipFlagListOptions;\n @Input() selectedOption = 0;\n @Input() placeholder = '00000-000';\n @Input() isOpen = false;\n @Input() invalid = false;\n @Output() changeFlagValue: EventEmitter = new EventEmitter();\n private val = '';\n\n @HostListener('window:click', ['$event'])\n onClick(ev) {\n if (this.isOpen) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpen = false;\n }\n }\n }\n\n constructor(private eRef: ElementRef) { }\n\n onChange: any = () => {};\n onTouch: any = () => {};\n\n get value() {\n return this.val;\n }\n\n set value(val) {\n this.val = val;\n this.onChange(val);\n this.onTouch(val);\n }\n\n writeValue(value: any) {\n this.value = value;\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouch = fn;\n }\n\n changeFlag(index: number) {\n this.isOpen = false;\n this.changeFlagValue.emit(this.flagOptions[index]);\n }\n}\n","export interface ZipCodeFlagListModel {\n country: string;\n icon: string;\n mask: string;\n}\n\nexport const ZipFlagListOptions: ZipCodeFlagListModel[] = [\n {\n country: 'Brasil',\n icon: 'flag_br_ico',\n mask: '00000-000'\n }\n];\n","export class ContactEventTagBuilder {\n \n private eventCategory: string;\n private eventAction: string;\n private eventLabel: string;\n private isWhatsApp: boolean;\n\n public constructor(isWhatsApp = false) {\n this.isWhatsApp = isWhatsApp;\n }\n\n fromAgentPage(): ContactEventTagBuilder {\n this.eventCategory = 'pagina:corretor';\n return this;\n }\n\n toShareClick(): ContactEventTagBuilder {\n this.eventAction = 'clique:compartilhar';\n return this;\n }\n\n toContactClick(): ContactEventTagBuilder {\n this.eventAction = this.isWhatsApp ? 'clique:whatsapp' : 'clique:contato';\n this.eventLabel = '';\n return this;\n }\n\n toCallbackAction(): ContactEventTagBuilder {\n this.eventAction = 'callback:contato';\n return this;\n }\n\n withLabel(label: string): ContactEventTagBuilder {\n this.eventLabel = label;\n return this;\n }\n\n public build(): any {\n return {\n event: 'click',\n eventCategory: this.eventCategory,\n eventAction: this.eventAction,\n eventLabel: this.eventLabel\n }\n }\n\n}","export enum CommunicationSubjectEnum {\n onFacUpdated = 0,\n onManagerFiltersUpdated\n}\n","export enum FileTypes {\n xlsx = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n docx = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n word = 'application/msword',\n xls = 'application/excel',\n pdf = 'application/pdf',\n txt = 'text/plain',\n csv = 'text/x-comma-separated-values',\n json = 'application/json'\n}","import { MatPaginatorIntl } from '@angular/material';\n\nconst dutchRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length == 0 || pageSize == 0) { return `0 de ${length}`; }\n \n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return `${startIndex + 1} - ${endIndex} de ${length}`;\n}\n\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = 'Itens por página:';\n customPaginatorIntl.nextPageLabel = 'Próxima página';\n customPaginatorIntl.previousPageLabel = 'Página anterior';\n customPaginatorIntl.getRangeLabel = dutchRangeLabel;\n\n return customPaginatorIntl;\n}","import moment from 'moment';\n\nexport function setDefaultFilterSearchDashboardFac(filterSearch: any, numberMonthsBehind?: number): any {\n let startdate: any = moment();\n startdate = startdate.subtract(numberMonthsBehind, 'months');\n const to = moment(new Date()).format('YYYY-MM-DD[T]23:59:59.999[Z]');\n const from = moment(new Date(startdate)).format('YYYY-MM-DD[T]00:00:00.000[Z]');\n\n if (!numberMonthsBehind) {\n numberMonthsBehind = 12;\n }\n\n if (!filterSearch.and.ranges) {\n filterSearch.and.ranges = [];\n }\n\n if (filterSearch.and.ranges.find(r => r.field?.match('creation_date'))) {\n return filterSearch;\n }\n \n filterSearch.and.ranges.push({\n field: \"creation_date\",\n from,\n to\n });\n \n return filterSearch;\n}","import { IPeriodDate } from \"src/app/action-history-queue/interfaces/date-range.interface\";\nimport moment from 'moment';\n\nexport function listRangeDates(): IPeriodDate[] {\n return [{\n range: {\n initialDate: '',\n endDate: ''\n },\n label: \"Selecione um período\"\n }, {\n range: {\n initialDate: '',\n endDate: ''\n },\n label: \"Personalizado\"\n }, {\n range: {\n initialDate: moment().format('YYYY-MM-DD'),\n endDate: moment().format('YYYY-MM-DD')\n },\n label: \"Hoje\"\n }, {\n range: {\n initialDate: moment().subtract(1, 'days').format('YYYY-MM-DD'),\n endDate: moment().subtract(1, 'days').format('YYYY-MM-DD')\n },\n label: \"Ontem\"\n }, {\n range: {\n initialDate: moment().subtract(7, 'days').format('YYYY-MM-DD'),\n endDate: moment().format('YYYY-MM-DD')\n },\n label: \"Últimos 7 dias\"\n }, {\n range: {\n initialDate: moment().subtract(1, 'month').format('YYYY-MM-DD'),\n endDate: moment().format('YYYY-MM-DD')\n },\n label: \"Último mês\"\n }, {\n range: {\n initialDate: moment().subtract(1, 'year').format('YYYY-MM-DD'),\n endDate: moment().format('YYYY-MM-DD')\n },\n label: \"Último ano\"\n }];\n}","import { FileTypes } from \"../enum/file-types-enum\";\n\nexport function convertBase64toFileAndDownload(fileType: string, base64File: string, fileName: string) {\n const fileTypeName = FileTypes[fileType];\n if (base64File) {\n let fileLink = document.createElement('a');\n fileLink.href = `data:${fileTypeName};base64,${base64File}`;\n fileLink.download = fileName;\n fileLink.click(); \n fileLink.remove();\n }\n}","const sanitizeString = (str): string => {\n\n if (str === undefined) {\n return undefined;\n }\n\n const map = {\n '-' : ' ',\n a : 'á|à|ã|â|À|Á|Ã|Â',\n e : 'é|è|ê|É|È|Ê',\n i : 'í|ì|î|Í|Ì|Î',\n o : 'ó|ò|ô|õ|Ó|Ò|Ô|Õ',\n u : 'ú|ù|û|ü|Ú|Ù|Û|Ü',\n c : 'ç|Ç',\n n : 'ñ|Ñ'\n };\n\n for (const pattern in map) {\n str = str.replace(new RegExp(map[pattern], 'g'), pattern);\n }\n\n const sanitizedString = str.replace(/\\s/g, '-');\n\n return sanitizedString.toLowerCase();\n};\n\nexport { sanitizeString };\n","import { NgModule } from '@angular/core';\n\nimport {\n MatInputModule,\n MatFormFieldModule,\n MatStepperModule,\n MatIconModule,\n MatMenuModule,\n MatCardModule,\n MatSidenavModule,\n MatCheckboxModule,\n MatSelectModule,\n MatDividerModule,\n MatButtonModule,\n MatSlideToggleModule\n} from '@angular/material';\nimport { LayoutModule } from '@angular/cdk/layout';\n\nimport { MatTableModule } from '@angular/material/table';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\n\n\n@NgModule({\n declarations: [],\n imports: [\n MatIconModule,\n MatStepperModule,\n MatFormFieldModule,\n MatInputModule,\n MatMenuModule,\n MatCardModule,\n MatSidenavModule,\n MatCheckboxModule,\n MatSelectModule,\n MatDividerModule,\n MatButtonModule,\n LayoutModule,\n MatSlideToggleModule,\n DragDropModule,\n MatTableModule\n ],\n exports: [\n MatIconModule,\n MatStepperModule,\n MatFormFieldModule,\n MatMenuModule,\n MatCardModule,\n MatSidenavModule,\n MatCheckboxModule,\n MatInputModule,\n MatSelectModule,\n MatDividerModule,\n MatButtonModule,\n LayoutModule,\n MatSlideToggleModule,\n DragDropModule,\n MatTableModule\n ]\n})\n\nexport class MaterialModule { }\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { CommunicationSubjectEnum } from '../enum/communication-subject-enum';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommunicationProxyService {\n private communicationSubject: Subject = new Subject();\n\n constructor() {\n }\n\n public subscribe(subject: CommunicationSubjectEnum, callback) {\n return this.communicationSubject.subscribe((parameters: CommunicationProxyData) => {\n if (parameters.subject === subject) {\n callback(parameters);\n }\n });\n }\n\n public publishMessage(subject: CommunicationSubjectEnum, message: any) {\n this.communicationSubject.next(new CommunicationProxyData(subject, message));\n }\n}\n\nexport class CommunicationProxyData {\n constructor(subject: CommunicationSubjectEnum, message: any) {\n this.subject = subject;\n this.message = message;\n }\n\n subject: CommunicationSubjectEnum;\n message: any;\n}\n","import {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {EnvironmentService} from '../../core/enviroment/environment.service';\nimport {CookieService} from 'ngx-cookie-service';\nimport { GoogleTagManagerService } from 'src/app/core/analytics/google-tag-manager.service';\nimport { sanitizeString } from '../functions/StringSanitize';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LegacyLoginService {\n\n constructor(\n private readonly environmentService: EnvironmentService,\n private readonly cookieService: CookieService,\n private readonly googleTagManagerService: GoogleTagManagerService,\n @Optional() @Inject(DOCUMENT) private readonly document?: Document) {\n }\n\n autologin() {\n if ((!this.document || !this.cookieService.get('lps-jwt-token'))) {\n return;\n }\n this.sendLegacyTracking('callback:starting');\n const iframe = this.document.createElement('iframe');\n\n iframe.setAttribute('src', this.environmentService.getLopesNetProntosAutoLogin());\n iframe.style.display = 'none';\n\n this.document.defaultView.addEventListener('message', (e: any) => {\n if (e.data.kind !== 'legacyAutoLoginProntos') { return; }\n\n if (e.data.success === true) {\n this.sendLegacyTracking('callback:success');\n } else {\n this.sendLegacyTracking('callback:error', e.data?.errors);\n }\n });\n\n this.document.body.appendChild(iframe);\n }\n\n private sendLegacyTracking(eventAction, eventLabel?) {\n this.googleTagManagerService.pushTag({\n event: 'event',\n eventCategory: 'autologin_prontos',\n eventAction,\n eventLabel: sanitizeString(eventLabel)\n });\n }\n}\n","import { ContentScrollableComponent } from './../reports/components/ContentScrollable/content-scrollable.component';\nimport { registerLocaleData } from '@angular/common';\nimport { NgModule, LOCALE_ID } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport ptBr from '@angular/common/locales/pt';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { CommonsLibModule } from 'commons-lib';\nimport { NavigationModule } from 'lps-navigation';\n\nimport { NgxMaskModule } from 'ngx-mask';\nimport { ChartsModule } from 'ng2-charts';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDialogModule, MatRadioModule, MatSlideToggleModule, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\nimport { PlatformModule } from '@angular/cdk/platform';\n\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd';\nimport { MaterialModule } from './material.module';\n\nimport { SnackbarService } from './components/snackbar/service/snackbar.service';\nimport { ModalOrderComponent } from './components/modal-order/modal-order.component';\nimport { TabsComponent } from './components/tabs/tabs.component';\nimport { SideNavComponent } from './components/sidenav/sidenav.component';\nimport { DropdownButtonComponent } from './components/dropdown-button/dropdown-button.component';\nimport { BrokerProfileCardComponent } from './components/broker-profile-card/broker-profile-card.component';\nimport { ModalEditComponent } from './components/modal-edit/modal-edit.component';\nimport { DndCardComponent } from './components/dnd-card/dnd-card.component';\nimport { FlagInputComponent } from './components/flag-input/flag-input.component';\nimport { DropdownIconComponent } from './components/dropdown-icon/dropdown-icon.component';\nimport { ButtonsPopupComponent } from './components/buttons-popup/buttons-popup.component';\nimport { SearchProfileCardComponent } from './components/search-profile-card/search-profile-card.component';\nimport { SnackbarComponent } from './components/snackbar/snackbar.component';\nimport { SelectOptionsComponent } from './components/select-options/select-options.component';\nimport { ZipCodeFlagInputComponent } from './components/zip-code-flag-input/zip-code-flag-input.component';\nimport { DndTableComponent } from './components/dnd-table/dnd-table.component';\nimport { StepperComponent } from './components/stepper/stepper.component';\nimport { PropertiesTableComponent } from './components/properties-table/properties-table.component';\nimport { ListActionComponent } from './components/list-action/list-action.component';\nimport { ProductRegistrationComponent } from './components/product-registration/product-registration.component';\nimport { ProductRegCardComponent } from './components/product-registration/product-search/product-reg-card/product-reg-card.component';\nimport { ProductSearchComponent } from './components/product-registration/product-search/product-search.component';\nimport { InputComponent } from './components/input/input.component';\nimport { CongratulationComponent } from './components/congratulations/congratulations.component';\nimport { AddressRegistryComponent } from './components/address-registry/address-registry.component';\nimport { ProprietaryComponent } from './components/proprietary/proprietary.component';\nimport { ProprietaryModalComponent } from './components/proprietary-modal/proprietary-modal.component';\nimport { SaleAndRentComponent } from './components/sale-and-rent/sale-and-rent.component';\nimport { CoreModule } from '../core/core.module';\nimport { DropDownComponent } from './components/dropdown/dropdown.component';\nimport { FilterPipe } from './components/dropdown/dropdown.pipe';\nimport { DropdownInputListComponent } from './components/dropdown-input-list/dropdown-input-list.component';\nimport { AutocompleteComponent } from './components/autocomplete/autocomplete.component';\nimport { DefaultDialogComponent } from './components/default-dialog/default-dialog.component';\nimport { SlideToggleComponent } from './components/slide-toggle/slide-toggle.component';\nimport { TagsComponent } from './components/tags/tags.component';\nimport { MultiSelectionTagsComponent } from './components/multi-selection-tags/multi-selection-tags.component';\nimport { MultiSelectionDropdownComponent } from './components/multi-selection-dropdown/multi-selection-dropdown.component';\nimport { TeamManagementTableComponent } from './components/team-management-table/team-management-table';\nimport { ModalWorkScheduleComponent } from './components/modal-work-schedule/modal-work-schedule.component';\nimport { ModalConfigUsersComponent } from './components/modal-config-users/modal-config-users.component';\nimport { TimepickerComponent } from './components/timepicker/timepicker.component';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CaptureUnitProductComponent } from './components/capture-unit-product/capture-unit-product.component';\nimport { CaptureUnitProductModalComponent } from './components/capture-unit-product/capture-unit-product-modal/capture-unit-product-modal.component';\nimport { MoreInformationComponent } from './components/more-information/more-information.component';\nimport { ParticipantsModalComponent } from './components/participants-modal/participants-modal.component';\nimport { RangeSelectorComponent } from './components/range-selector/range-selector.component';\nimport { ProfessionalModalComponent } from './components/professional-modal/professional-modal.component';\nimport { PropertiesCardComponent } from './components/properties-card/properties-card.component';\nimport { TblLeadsComponent } from './components/tbl-leads/tbl-leads.component';\nimport { ImpoundedLeadsComponent } from '../reports/components/ImpoundedLeads/impounded-leads.component';\nimport { FilterImpoundedLeadsComponent } from '../reports/components/FilterImpoundedLeads/filter-impounded-leads.component';\nimport { FilterLeadsComponent } from '../reports/components/FilterLeads/filter-leads.component';\nimport { ContactComponent } from '../reports/components/ContactComponent/contact.component';\nimport { CalendarComponent } from './components/calendar/calendar.component';\nimport { ButtonOptionComponent } from './components/button-option/button-option.component';\nimport { DropdownTagsComponent } from './components/dropdown-tags/dropdown-tags.component';\nimport { TodayScheduleComponent } from './components/today-schedule/today-schedule.component';\nimport { InputTagComponent } from './components/input-tag/input-tag.component';\nimport { ButtonsListComponent } from './components/buttons-list/buttons-list.component';\nimport { SortArrowsComponent } from './components/sort-arrows/sort-arrows.component';\nimport { AccordionComponent } from './components/accordion/accordion.component';\nimport { CardInfoComponent } from './components/card-info/card-info.component';\nimport { InputSearchComponent } from './components/input-search/input-search.component';\nimport { FlagComponentModule } from './components/flag-component/flag-component.module';\nimport { ProfileCardComponent } from './components/profile-card/profile-card.component';\nimport { NotFoundPageComponent } from './components/not-found/not-found-page.component';\nimport { ButtonsFiltersComponent } from './components/buttons-filters/buttons-filters.component';\nimport { IconModule } from '../profile/components/icon/icon.module';\nimport { ScrollTopMobileComponent } from './components/scroll-top-mobile/scroll-top-mobile.component';\nimport { ButtonCustomComponent } from './components/button-custom/button-custom.component';\n\nregisterLocaleData(ptBr);\n\n@NgModule({\n declarations: [\n RangeSelectorComponent,\n ModalOrderComponent,\n TabsComponent,\n SideNavComponent,\n DropdownButtonComponent,\n DropdownIconComponent,\n BrokerProfileCardComponent,\n ProfileCardComponent,\n ModalEditComponent,\n DndCardComponent,\n FlagInputComponent,\n ButtonsPopupComponent,\n SearchProfileCardComponent,\n SnackbarComponent,\n SelectOptionsComponent,\n ZipCodeFlagInputComponent,\n DndTableComponent,\n StepperComponent,\n PropertiesTableComponent,\n ListActionComponent,\n ProductRegistrationComponent,\n ProductRegCardComponent,\n ProductSearchComponent,\n CongratulationComponent,\n AddressRegistryComponent,\n ProprietaryComponent,\n ProprietaryModalComponent,\n SaleAndRentComponent,\n DropDownComponent,\n FilterPipe,\n DropdownInputListComponent,\n AutocompleteComponent,\n DefaultDialogComponent,\n SlideToggleComponent,\n TagsComponent,\n MultiSelectionTagsComponent,\n MultiSelectionDropdownComponent,\n TeamManagementTableComponent,\n ModalWorkScheduleComponent,\n ModalConfigUsersComponent,\n TimepickerComponent,\n CaptureUnitProductComponent,\n CaptureUnitProductModalComponent,\n MoreInformationComponent,\n ParticipantsModalComponent,\n ProfessionalModalComponent,\n PropertiesCardComponent,\n TblLeadsComponent,\n ImpoundedLeadsComponent,\n FilterImpoundedLeadsComponent,\n FilterLeadsComponent,\n ContactComponent,\n CalendarComponent,\n ButtonOptionComponent,\n DropdownTagsComponent,\n TodayScheduleComponent,\n InputTagComponent,\n InputComponent,\n ButtonsListComponent,\n SortArrowsComponent,\n AccordionComponent,\n CardInfoComponent,\n ContentScrollableComponent,\n InputSearchComponent,\n NotFoundPageComponent,\n ButtonsFiltersComponent,\n ScrollTopMobileComponent,\n ButtonCustomComponent\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n MaterialModule,\n CommonsLibModule.forRoot(),\n ChartsModule,\n MatDialogModule,\n NgxMaskModule.forRoot({}),\n MatTooltipModule,\n PlatformModule,\n NgZorroAntdModule,\n MatExpansionModule,\n CdkStepperModule,\n CommonModule,\n NavigationModule,\n CoreModule,\n MatRadioModule,\n MatSlideToggleModule,\n OverlayModule,\n FlagComponentModule,\n IconModule\n ],\n entryComponents: [\n ModalOrderComponent, DefaultDialogComponent, CaptureUnitProductModalComponent\n ],\n exports: [\n RangeSelectorComponent,\n CommonModule,\n CommonsLibModule,\n NavigationModule,\n FormsModule,\n ReactiveFormsModule,\n ChartsModule,\n MaterialModule,\n ModalOrderComponent,\n TabsComponent,\n SideNavComponent,\n DropdownButtonComponent,\n DropdownIconComponent,\n BrokerProfileCardComponent,\n ProfileCardComponent,\n MatDialogModule,\n ModalEditComponent,\n DndCardComponent,\n FlagInputComponent,\n ButtonsPopupComponent,\n SearchProfileCardComponent,\n MatTooltipModule,\n SnackbarComponent,\n SelectOptionsComponent,\n ZipCodeFlagInputComponent,\n DndTableComponent,\n TranslateModule,\n StepperComponent,\n PropertiesTableComponent,\n ListActionComponent,\n ProductRegistrationComponent,\n MatExpansionModule,\n CdkStepperModule,\n CongratulationComponent,\n AddressRegistryComponent,\n ProprietaryComponent,\n ProprietaryModalComponent,\n SaleAndRentComponent,\n DropDownComponent,\n DropdownInputListComponent,\n AutocompleteComponent,\n SlideToggleComponent,\n TagsComponent,\n MultiSelectionTagsComponent,\n MultiSelectionDropdownComponent,\n TeamManagementTableComponent,\n ModalWorkScheduleComponent,\n ModalConfigUsersComponent,\n TimepickerComponent,\n CaptureUnitProductComponent,\n MoreInformationComponent,\n OverlayModule,\n ParticipantsModalComponent,\n ProfessionalModalComponent,\n PropertiesCardComponent,\n ImpoundedLeadsComponent,\n FilterImpoundedLeadsComponent,\n FilterLeadsComponent,\n ContactComponent,\n CalendarComponent,\n ButtonOptionComponent,\n DropdownTagsComponent,\n TodayScheduleComponent,\n InputTagComponent,\n InputComponent,\n ButtonsListComponent,\n SortArrowsComponent,\n AccordionComponent,\n CardInfoComponent,\n ContentScrollableComponent,\n InputSearchComponent,\n FlagComponentModule,\n ButtonsFiltersComponent,\n ScrollTopMobileComponent,\n ButtonCustomComponent\n ],\n providers: [\n { provide: LOCALE_ID, useValue: 'pt-PT' },\n { provide: NZ_I18N, useValue: en_US },\n { provide: MAT_DIALOG_DATA, useValue: {} },\n { provide: MatDialogRef, useValue: {} },\n SnackbarService\n ]\n})\nexport class SharedModule { }\n","import { Observable } from 'rxjs';\nimport { ResponseOk, GetMembers, Autocomplete, AutocompleteResponse } from './../../core/models/team-management.model';\nimport { HttpClient } from '@angular/common/http';\nimport { EnvironmentService } from 'src/app/core/enviroment/environment.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TeamManagementService {\n constructor(\n private http: HttpClient,\n private environmentService: EnvironmentService\n ) { }\n\n public uri = this.environmentService.getEnvVar('api_leads');\n\n getTeam(data: GetMembers): Observable {\n const path = 'team/members';\n return this.http.post(`${this.uri}/${path}`, data);\n }\n\n autocomplete(search: Autocomplete): Observable {\n const path = 'team/autocomplete';\n return this.http.post(`${this.uri}/${path}`, search);\n }\n\n getActiveCampaignsCount() {\n return this.http.get(`${this.uri}/campaigns/count`);\n }\n\n}\n","
\n
\n
\n \n \n \n \n \n \n \n
\n
\n \n
\n \n {{ tag.value }}\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n\n \n ","import { EnvironmentService } from './../core/enviroment/environment.service';\nimport {\n GetMembers,\n Member,\n OperationMarkets,\n Pagination,\n Sort,\n SORT_ENUM,\n TmItem,\n TmSortProperties,\n TmTag\n} from './../core/models/team-management.model';\nimport { TeamManagementService } from './service/team-management.service';\nimport { OPTIONS_TM_ENUM } from './../core/constants/team-management-const';\nimport { Component, OnInit, HostListener, ElementRef } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-team-management',\n templateUrl: './team-management.component.html',\n styleUrls: ['./team-management.component.scss']\n})\nexport class TeamManagementComponent implements OnInit {\n\n public searchForm: FormGroup;\n public autocomp: boolean;\n public autocompIdx: number;\n public autocompleteTeamMembers: any[];\n public editWorkSchedule = false;\n public editingScheduleMembers: TmItem[] = [];\n public usersToConfigure = [];\n public openConfigUsers = false;\n public redirectSeeProfile = false;\n public redirectSeeFacs = false;\n public searchingTeam = false;\n public pagination: Pagination;\n public sortData: Sort;\n public tags: TmTag[] = [];\n public inputSearchValue = '';\n public sortedColumn: number;\n public listHeaders = [\n {\n id: 1,\n nameClass: 'name',\n data: 'input',\n sort: true\n },\n {\n id: 2,\n nameClass: 'product',\n data: 'Apelido (Super.)',\n sort: true\n },\n {\n id: 3,\n nameClass: 'contact',\n data: 'Contato',\n sort: false\n },\n {\n id: 4,\n nameClass: 'market',\n data: 'Mercado',\n sort: true\n },\n {\n id: 5,\n nameClass: 'creci-expiration',\n data: 'Validade do Creci',\n sort: true\n },\n ];\n public listBinding = [];\n public isOpenMenu = false;\n\n public selectedTeamMembers = [];\n\n @HostListener('document:click', ['$event'])\n onClick(ev: Event) {\n if (this.isOpenMenu) {\n if (!this.eRef.nativeElement.contains(ev.target)) {\n this.isOpenMenu = false;\n }\n }\n }\n\n constructor(\n private formBuilder: FormBuilder,\n private eRef: ElementRef,\n private router: Router,\n private service: TeamManagementService,\n private environmentService: EnvironmentService\n ) { }\n\n validateMarket(operationMarkets: OperationMarkets[], sale: boolean, rent: boolean) {\n const MarketType = {\n PRIMARY: 'Primário',\n SECONDARY: 'Secundário'\n }\n let market = operationMarkets.map(el => MarketType[el.operationMarketType]).join(' e ');\n\n const types = [{ value: sale, label: 'Venda' }, { value: rent, label: 'Locação' }];\n market += types.map(el => {\n if (el.value) { return el.label; }\n }).filter(Boolean).join('/');\n\n return market;\n }\n\n ngOnInit(): void {\n this.initForm();\n this.useMock();\n const data: GetMembers = {\n page_number: 1,\n page_items: 20,\n sort: 'agent.nickname',\n sort_order: SORT_ENUM.ASC,\n search_values: ''\n };\n this.listTeam(data);\n }\n\n isCreciValid(dateStr: string) {\n const { year, month, day } = dateStr.match(/(?\\d{4})-(?\\d{2})-(?\\d{2})/).groups;\n if (!year || !month || !day) { return false; }\n const creci = new Date(`${dateStr} 00:00:00`);\n const today = new Date();\n creci.setHours(0, 0, 0, 0);\n today.setHours(0, 0, 0, 0);\n return today.getTime() <= creci.getTime();\n }\n\n formatDateString(date: string) {\n return date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, '$3-$2-$1');\n }\n\n processTeamList = validateMarket => (member: Member) => {\n const operationMarkets = Array.isArray(member.operation_markets) ? member.operation_markets : [member.operation_markets];\n return {\n ...member,\n userLabel: `${this.capitalizeFirstLetter(member.nickname)} (${this.capitalizeFirstLetter(member.leader_nickname)})`,\n market: validateMarket(operationMarkets, member.sale, member.rent),\n creci_status: this.isCreciValid(member.creci_validity),\n creci_validity: this.formatDateString(member.creci_validity)\n };\n }\n\n capitalizeFirstLetter(text: string): string {\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();\n }\n\n buildSortData(sort: Sort): Sort {\n let sortData: Sort = this.sortData;\n if (sort?.sort && !sort?.sort_order) {\n sortData.sort = null;\n sortData.sort_order = null;\n this.sortData = sortData;\n }\n if (sort?.sort_order) {\n sortData = {\n sort: TmSortProperties[sort.sort],\n sort_order: sort.sort_order\n };\n this.sortData = sortData;\n }\n return sortData;\n }\n\n listTeam(data: GetMembers): void {\n if (this.searchingTeam) { return; }\n this.searchingTeam = true;\n const observer = this.service.getTeam(data).subscribe(response => {\n this.pagination = response.next_request;\n if (response.payload) {\n const buildItem = this.processTeamList(this.validateMarket);\n this.listBinding.push(...response.payload.map(buildItem));\n }\n this.searchingTeam = false;\n observer.unsubscribe();\n });\n }\n\n listTeamPaginated(element): void {\n if (!this.pagination || !this.pagination.page_number) { return; }\n element.scroll(0, element.scrollTop - element.scrollTop * .03);\n const data: GetMembers = {\n page_number: this.pagination?.page_number,\n page_items: this.pagination?.page_items,\n sort: this.sortData?.sort,\n sort_order: this.sortData?.sort_order,\n search_values: this.tags.map(el => el.id).join(';')\n };\n this.listTeam(data);\n }\n\n listTeamSorted(sort?: Sort): void {\n this.listBinding = [];\n this.sortedColumn = Number(sort.sort);\n const sortData = this.buildSortData(sort);\n const data: GetMembers = {\n page_number: 1,\n page_items: 20,\n sort: sortData?.sort || 'agent.nickname',\n sort_order: sortData?.sort_order || SORT_ENUM.ASC,\n search_values: this.tags.map(el => el.id).join(';')\n };\n this.listTeam(data);\n }\n\n useMock(): void {\n this.autocompleteTeamMembers = [\n { id: 'mock', name: 'mock' }\n ];\n }\n\n public initForm(): void {\n this.searchForm = this.formBuilder.group({\n search: [null]\n });\n }\n\n public autocompleteSearchTeamMember(searchTxt: string): void {\n this.inputSearchValue = searchTxt;\n if (searchTxt.length < 3) {\n this.autocomp = false;\n return;\n }\n const observer = this.service.autocomplete({ max_results: 10, search_value: searchTxt }).subscribe(response => {\n this.autocompleteTeamMembers = response.payload.map(el => ({\n id: el.description,\n name: el.label,\n label: el.label,\n type: el.type,\n description: el.label\n }));\n this.autocomp = true;\n observer.unsubscribe();\n });\n }\n\n public searchTeamMember(selected: { value: string, index: number }): void {\n const tags: TmTag[] = [...this.tags];\n const description = this.autocompleteTeamMembers[selected.index].id;\n if (!tags.find(el => el.id.includes(description))) {\n tags.push({ value: selected.value.trim(), id: description });\n }\n this.tags = tags;\n this.inputSearchValue = '';\n const data: GetMembers = {\n page_number: 1,\n page_items: 20,\n sort: this.sortData?.sort,\n sort_order: this.sortData?.sort_order,\n search_values: tags.map(el => el.id).join(';')\n };\n this.listBinding = [];\n this.listTeam(data);\n this.autocomp = false;\n this.autocompIdx = -1;\n }\n\n public editMultipleUsers(): void {\n this.usersToConfigure = Array.from(this.selectedTeamMembers);\n this.openConfigUsers = !this.openConfigUsers;\n }\n\n public editMultipleWorkSchedule(): void {\n this.isOpenMenu = false;\n this.editingScheduleMembers = Array.from(this.selectedTeamMembers);\n this.editWorkSchedule = true;\n }\n\n configUser(data: TmItem) {\n this.usersToConfigure = [{ id: data.id, name: data.name, userLabel: data.userLabel, nickname: data.nickname }];\n this.openConfigUsers = !this.openConfigUsers;\n }\n\n editScale(data: TmItem) {\n this.editingScheduleMembers = [{\n id: data.id,\n user_id: data.user_id,\n userLabel: data.userLabel,\n name: data.name,\n nickname: data.nickname\n }];\n this.editWorkSchedule = true;\n }\n\n seeProfile(data: TmItem) {\n this.router.navigate([`perfil/${data.name}/perfil`]);\n this.redirectSeeProfile = true;\n }\n\n seeFacs(data: TmItem) {\n this.router.navigate([`/facs`], { queryParams: { user_type: data.type, user_id: data.id, user_nickname: data.nickname, user_name: data.name } });\n this.redirectSeeFacs = true;\n }\n\n sendOptions(data: TmItem) {\n switch (data.option) {\n case OPTIONS_TM_ENUM.EDIT_SCALE:\n this.editScale(data);\n break;\n case OPTIONS_TM_ENUM.CONFIG_USER:\n this.configUser(data);\n break;\n case OPTIONS_TM_ENUM.SEE_PROFILE:\n this.seeProfile(data);\n break;\n case OPTIONS_TM_ENUM.SEE_FACS:\n this.seeFacs(data);\n break;\n }\n }\n\n sendItemSelections(data: TmItem) {\n this.removingAndAdd(data, this.selectedTeamMembers);\n }\n\n public sendAllSelections(data: TmItem) {\n if (data.select) {\n this.selectedTeamMembers.push(data);\n } else {\n this.selectedTeamMembers = [];\n }\n }\n\n public removingAndAdd(data: TmItem, list: TmItem[]): void {\n const index = list.findIndex(el => el.user_id === data.user_id);\n if (data.select && index === -1) {\n list.push(data);\n }\n if (!data.select && index > -1) {\n list.splice(index, 1);\n }\n }\n\n public removeTag(index: number): void {\n const tags: TmTag[] = [...this.tags];\n this.listBinding = [];\n tags.splice(index, 1);\n this.tags = tags;\n const data: GetMembers = {\n page_number: 1,\n page_items: 20,\n sort: this.sortData?.sort,\n sort_order: this.sortData?.sort_order,\n search_values: tags.map(el => el.id).join(';')\n };\n this.listTeam(data);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { CoreModule } from '../core/core.module';\nimport { TeamManagementComponent } from './team-management.component';\n\n\n@NgModule({\n declarations: [\n TeamManagementComponent\n ],\n imports: [\n CommonModule,\n RouterModule,\n CoreModule,\n SharedModule\n ],\n exports: [\n TeamManagementComponent\n ],\n})\nexport class TeamManagementModule { }\n","\n\n
\n

{{audio.name}}

\n\n \n \n\n \n\n 0\" [value]=\"percent\" mode=\"determinate\" diameter=\"30\">\n \n\n \n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-audio-player',\n templateUrl: './audio-player.component.html',\n styleUrls: ['./audio-player.component.scss']\n})\nexport class AudioPlayerComponent {\n\n @Input() audio: { name: string, file: string };\n @Input() title: string;\n @Input() index = 0;\n\n isPlaying = false;\n interval = 0;\n percent = 0;\n\n ngOnChanges() {\n this.percent = 0;\n }\n\n updateProgress(mp3) {\n let duration = mp3.duration * 1000;\n\n if (duration < 3000) {\n duration = 3000;\n }\n\n const interval = duration / 100;\n\n const playInterval = setInterval(() => {\n if (this.percent < 100) {\n this.isPlaying\n ? this.percent = mp3.currentTime / mp3.duration * 100\n : clearInterval(playInterval);\n }\n }, interval);\n\n mp3.onended = () => {\n setTimeout(() => {\n this.percent = 0;\n this.isPlaying = false;\n clearInterval(playInterval);\n }, 300);\n };\n\n }\n\n}\n","
\n

\n {{headerTitle}}\n ?\n

\n\n \n\n Alterar\n\n
\n\n
\n\n
\n\n
\n\n
\n
\n

Sons

\n ×\n
\n\n
7\">\n \n
\n \n
\n\n
\n Cancelar\n Salvar\n
\n\n
\n\n
","import { Component, Input, OnInit } from '@angular/core';\n\ninterface AudioModel {\n name: string;\n file: string;\n}\n\n@Component({\n selector: 'app-notification-sound',\n templateUrl: './notification-sound.component.html',\n styleUrls: ['./notification-sound.component.scss']\n})\nexport class NotificationSoundComponent implements OnInit {\n @Input() notificationType: string;\n @Input() headerTitle: string;\n @Input() audioList: any[];\n @Input() tooltip: string;\n @Input() audio: AudioModel;\n selectedOption: AudioModel;\n isPlaying = false;\n modal = false;\n percent = 0;\n\n ngOnInit() {\n this.selectedOption = this.audio;\n }\n\n showModal() {\n this.modal = true;\n document.querySelector('body').style.overflowY = 'hidden';\n }\n\n hideModal() {\n this.modal = false;\n document.querySelector('body').style.overflowY = 'auto';\n }\n\n selectAudio(i) {\n this.selectedOption = this.audioList[i];\n }\n\n updateAudio() {\n this.audio = this.selectedOption;\n }\n\n}\n","\n\n\n\n
\n

Assinatura

\n \n
\n\n
\n Cancelar\n Salvar\n
","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-user-preferences',\n templateUrl: './user-preferences.component.html',\n styleUrls: ['./user-preferences.component.scss']\n})\nexport class UserPreferencesComponent {\n\n audioList = [\n {name: 'Accomplished', file: 'accomplished'},\n {name: 'Consequence', file: 'consequence'},\n {name: 'Deduction', file: 'deduction'},\n {name: 'Dont Think So', file: 'dont-think-so'},\n {name: 'Falling Into Pplace', file: 'falling-into-pplace'},\n {name: 'Goes Without Saying', file: 'goes-without-saying'},\n {name: 'Got It Done', file: 'got-it-done'},\n {name: 'Intuition', file: 'intuition'},\n {name: 'Origin', file: 'origin'},\n {name: 'Piece of Cake', file: 'piece-of-cake'},\n {name: 'Plucky', file: 'plucky'},\n {name: 'Point Blank', file: 'point-blank'},\n {name: 'Quite Impressed', file: 'quite-impressed'},\n {name: 'Swiftly', file: 'swiftly'},\n {name: 'To The Point', file: 'to-the-point'},\n {name: 'Unconvinced', file: 'unconvinced'},\n ];\n\n audioList2 = [\n {name: 'Campainha', file: 'campainha'}\n ];\n\n userData = {\n nickname: 'Corretor Mock',\n phone: '11 98765-4321',\n company: 'Lopes Stilo'\n };\n\n defaultMessage =\n `Atenciosamente, \\n${this.userData.nickname} \\nTel/Whatsapp: ${this.userData.phone} \\n${this.userData.company}`;\n\n}\n","import { NgModule } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material';\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { UserPreferencesComponent } from './user-preferences.component';\nimport { NotificationSoundComponent } from './notification-sound/notification-sound.component';\nimport { AudioPlayerComponent } from './audio-player/audio-player.component';\n\n@NgModule({\n declarations: [UserPreferencesComponent, NotificationSoundComponent, AudioPlayerComponent],\n imports: [\n MatProgressSpinnerModule,\n SharedModule,\n RouterModule,\n ],\n exports: [UserPreferencesComponent, NotificationSoundComponent, AudioPlayerComponent],\n \n})\nexport class UserPreferencesModule { }\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}