{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/core/claims-no1/claims-search-page/card-container/card-controls-container/card-controls/card-controls.component.ts","./src/app/components/core/claims-no1/claims-search-page/card-container/card-controls-container/card-controls/card-controls.component.html","./src/app/components/core/custom-graph/custom-chart/custom-chart.component.ts","./src/app/components/core/custom-graph/custom-chart/custom-chart.component.html","./src/app/components/core/custom-graph/custom-graph-no-routing.module.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-graph-page.component.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-graph-page.component.html","./src/app/components/core/custom-graph/custom-graph-page/custom-report-controls/custom-graph-group-by-dropdown/custom-graph-group-by-dropdown.component.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-report-controls/custom-graph-group-by-dropdown/custom-graph-group-by-dropdown.component.html","./src/app/components/core/custom-graph/custom-graph-page/custom-report-controls/custom-report-controls.component.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-report-controls/custom-report-controls.component.html","./src/app/components/core/custom-graph/custom-graph-page/custom-report-stats/custom-report-stats.component.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-report-stats/custom-report-stats.component.html","./src/app/components/core/custom-graph/custom-graph-page/custom-report-table/custom-report-table.component.ts","./src/app/components/core/custom-graph/custom-graph-page/custom-report-table/custom-report-table.component.html","./src/app/components/core/export-preview/claims-export-preview/CBR/c-b-r-claims-export-preview.component.ts","./src/app/components/core/export-preview/claims-export-preview/CBR/c-b-r-claims-export-preview.component.html","./src/app/components/core/export-preview/claims-export-preview/SIR/s-i-r-claims-export-preview.component.ts","./src/app/components/core/export-preview/claims-export-preview/SIR/s-i-r-claims-export-preview.component.html","./src/app/components/core/export-preview/custom-export-preview/custom-export-preview.component.ts","./src/app/components/core/export-preview/custom-export-preview/custom-export-preview.component.html","./src/app/components/core/export-preview/export-preview-controls/export-preview-controls.component.ts","./src/app/components/core/export-preview/export-preview-controls/export-preview-controls.component.html","./src/app/components/core/export-preview/export-preview.component.ts","./src/app/components/core/export-preview/export-preview.component.html","./src/app/components/core/export-preview/export-preview.module.ts","./src/app/components/core/export-preview/market-export-preview/CBR/c-b-r-market-export-preview/c-b-r-market-export-preview.component.ts","./src/app/components/core/export-preview/market-export-preview/CBR/c-b-r-market-export-preview/c-b-r-market-export-preview.component.html","./src/app/components/core/export-preview/market-export-preview/SIR/s-i-r-market-export-preview.component.ts","./src/app/components/core/export-preview/market-export-preview/SIR/s-i-r-market-export-preview.component.html","./src/app/components/core/export-preview/trends-export-preview/agent-branding-block/agent-branding-block.component.ts","./src/app/components/core/export-preview/trends-export-preview/agent-branding-block/agent-branding-block.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/connect-with-me-block/connect-with-me-block.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/connect-with-me-block/connect-with-me-block.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/contact-info-block/contact-info-block.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/contact-info-block/contact-info-block.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/cover-agent-section.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/cover-agent-section.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/user-info-block/user-info-block.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-agent-section/user-info-block/user-info-block.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-filter-section/cover-filter-section.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-filter-section/cover-filter-section.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-filter-section/filter-tile/filter-tile.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-filter-section/filter-tile/filter-tile.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-main/cover-main.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-main/cover-main.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-title/cover-title.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/cover-title/cover-title.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/export-preview-cover.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-cover/export-preview-cover.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-footer/export-preview-footer.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-footer/export-preview-footer.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-header/export-preview-header.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-header/export-preview-header.component.html","./src/app/components/core/export-preview/trends-export-preview/export-preview-page/export-preview-page.component.ts","./src/app/components/core/export-preview/trends-export-preview/export-preview-page/export-preview-page.component.html","./src/app/components/core/export-preview/trends-export-preview/trends-export.component.ts","./src/app/components/core/export-preview/trends-export-preview/trends-export.component.html","./src/app/components/core/filter-panel/chips-container/chips-container.component.ts","./src/app/components/core/filter-panel/chips-container/chips-container.component.html","./src/app/components/core/filter-panel/chips-container/chips-grouped/chips-grouped.component.ts","./src/app/components/core/filter-panel/chips-container/chips-grouped/chips-grouped.component.html","./src/app/components/core/filter-panel/chips-container/chips-ungrouped/chips-ungrouped.component.ts","./src/app/components/core/filter-panel/chips-container/chips-ungrouped/chips-ungrouped.component.html","./src/app/components/core/filter-panel/filter-panel-locations/filter-panel-locations.component.ts","./src/app/components/core/filter-panel/filter-panel-locations/filter-panel-locations.component.html","./src/app/components/core/filter-panel/filter-panel-report/filter-panel-report.component.ts","./src/app/components/core/filter-panel/filter-panel-report/filter-panel-report.component.html","./src/app/components/core/filter-panel/filter-panel.component.ts","./src/app/components/core/filter-panel/filter-panel.component.html","./src/app/components/core/filter-panel/mls-list-select/mls-list-select.component.ts","./src/app/components/core/filter-panel/mls-list-select/mls-list-select.component.html","./src/app/components/core/filter-panel/price-range/price-range.component.ts","./src/app/components/core/filter-panel/price-range/price-range.component.html","./src/app/components/core/filter-panel/saved-search-input/saved-search-input.component.ts","./src/app/components/core/filter-panel/saved-search-input/saved-search-input.component.html","./src/app/components/core/filter-panel/search-input/search-input.component.ts","./src/app/components/core/filter-panel/search-input/search-input.component.html","./src/app/components/core/filter-panel/time-period-multi/multi-date-range-selection/multi-date-range-selection.component.ts","./src/app/components/core/filter-panel/time-period-multi/multi-date-range-selection/multi-date-range-selection.component.html","./src/app/components/core/filter-panel/time-period-multi/time-period-multi.component.ts","./src/app/components/core/filter-panel/time-period-multi/time-period-multi.component.html","./src/app/components/core/filter-panel/time-period/time-period.component.ts","./src/app/components/core/filter-panel/time-period/time-period.component.html","./src/app/components/core/market/position-stats/position-stats.component.ts","./src/app/components/core/market/position-stats/position-stats.component.html","./src/app/components/core/report-page/marketing-assets-card/asset-download/asset-download.component.ts","./src/app/components/core/report-page/marketing-assets-card/asset-download/asset-download.component.html","./src/app/components/core/report-page/marketing-assets-card/marketing-assets-card.component.ts","./src/app/components/core/report-page/marketing-assets-card/marketing-assets-card.component.html","./src/app/components/core/report-page/marketing-assets-card/preview-tile-sothebys/preview-tile-sothebys.component.ts","./src/app/components/core/report-page/marketing-assets-card/preview-tile-sothebys/preview-tile-sothebys.component.html","./src/app/components/core/report-page/marketing-assets-card/preview-tile/preview-tile.component.ts","./src/app/components/core/report-page/marketing-assets-card/preview-tile/preview-tile.component.html","./src/app/components/core/report-page/marketing-assets-card/wif-help/wif-help.component.ts","./src/app/components/core/report-page/marketing-assets-card/wif-help/wif-help.component.html","./src/app/components/core/report-page/report-download-area/report-download-area.component.ts","./src/app/components/core/report-page/report-download-area/report-download-area.component.html","./src/app/components/core/report-page/report-stats/action-buttons/action-button-responsive/action-button.component.ts","./src/app/components/core/report-page/report-stats/action-buttons/action-button-responsive/action-button.component.html","./src/app/components/core/report-page/report-stats/action-buttons/action-buttons.component.ts","./src/app/components/core/report-page/report-stats/action-buttons/action-buttons.component.html","./src/app/components/core/shared/chip-label/chip-label.component.ts","./src/app/components/core/shared/chip-label/chip-label.component.html","./src/app/components/core/shared/downloadable-image/downloadable-image.component.ts","./src/app/components/core/shared/downloadable-image/downloadable-image.component.html","./src/app/components/core/shared/filters/search/search.component.ts","./src/app/components/core/shared/filters/search/search.component.html","./src/app/components/core/shared/market-quest-chart/market-quest-chart.component.ts","./src/app/components/core/shared/market-quest-chart/market-quest-chart.component.html","./src/app/components/core/shared/save-defaults/save-defaults.component.ts","./src/app/components/core/shared/save-defaults/save-defaults.component.html","./src/app/components/core/shared/save-defaults/save-filters-dialog/save-filters-dialog.component.ts","./src/app/components/core/shared/save-defaults/save-filters-dialog/save-filters-dialog.component.html","./src/app/components/core/shared/shared-components.module.ts","./src/app/components/core/shared/small-chart-table/small-chart-table.component.ts","./src/app/components/core/shared/small-chart-table/small-chart-table.component.html","./src/app/components/core/shared/social-svg/blog-svg-component/blog-svg-component.component.ts","./src/app/components/core/shared/social-svg/blog-svg-component/blog-svg-component.component.html","./src/app/components/core/shared/social-svg/facebook-svg/facebook-svg.component.ts","./src/app/components/core/shared/social-svg/facebook-svg/facebook-svg.component.html","./src/app/components/core/shared/social-svg/instagram-svg/instagram-svg.component.ts","./src/app/components/core/shared/social-svg/instagram-svg/instagram-svg.component.html","./src/app/components/core/shared/social-svg/linkedin-svg/linkedin-svg.component.ts","./src/app/components/core/shared/social-svg/linkedin-svg/linkedin-svg.component.html","./src/app/components/core/shared/social-svg/pinterest-svg/pinterest-svg.component.ts","./src/app/components/core/shared/social-svg/pinterest-svg/pinterest-svg.component.html","./src/app/components/core/shared/social-svg/social-svg.module.ts","./src/app/components/core/shared/social-svg/twitter-svg/twitter-svg.component.ts","./src/app/components/core/shared/social-svg/twitter-svg/twitter-svg.component.html","./src/app/components/core/shared/social-svg/youtube-svg/youtube-svg.component.ts","./src/app/components/core/shared/social-svg/youtube-svg/youtube-svg.component.html","./src/app/components/core/trends/trend-card/trend-card.component.ts","./src/app/components/core/trends/trend-card/trend-card.component.html","./src/app/components/core/trends/trend-chart-container/chart/chart.component.ts","./src/app/components/core/trends/trend-chart-container/chart/chart.component.html","./src/app/components/core/trends/trend-chart-container/trend-chart-container.component.ts","./src/app/components/core/trends/trend-chart-container/trend-chart-container.component.html","./src/app/components/core/trends/trend-chart-container/trend-chart-description/trend-chart-description.component.ts","./src/app/components/core/trends/trend-chart-container/trend-chart-description/trend-chart-description.component.html","./src/app/components/core/trends/trend-data-table-container/trend-data-table-container.component.ts","./src/app/components/core/trends/trend-data-table-container/trend-data-table-container.component.html","./src/app/components/core/trends/trend-data-table-container/trend-table/dynamic-cell/dynamic-cell.component.ts","./src/app/components/core/trends/trend-data-table-container/trend-table/dynamic-cell/dynamic-cell.component.html","./src/app/components/core/trends/trend-data-table-container/trend-table/trend-table.component.ts","./src/app/components/core/trends/trend-data-table-container/trend-table/trend-table.component.html","./src/app/components/core/trends/trends-no-route.module.ts","./src/app/components/core/trends/trends-report-page/trends-report-page.component.ts","./src/app/components/core/trends/trends-report-page/trends-report-page.component.html","./src/app/components/core/trends/trends-report-page/trends-skeleton/trends-skeleton.component.ts","./src/app/components/core/trends/trends-report-page/trends-skeleton/trends-skeleton.component.html","./src/app/components/disclaimers/disclaimer-banner/disclaimer-banner-container/disclaimer-banner-container.component.ts","./src/app/components/disclaimers/disclaimer-banner/disclaimer-banner-container/disclaimer-banner-container.component.html","./src/app/components/disclaimers/disclaimer-banner/disclaimer-banner.component.ts","./src/app/components/disclaimers/disclaimer-banner/disclaimer-banner.component.html","./src/app/components/email-address/email-address.component.ts","./src/app/components/email-address/email-address.component.html","./src/app/components/modals/logout-modal/logout-modal.component.ts","./src/app/components/modals/logout-modal/logout-modal.component.html","./src/app/components/modals/mail-modal/mail-modal.component.ts","./src/app/components/modals/mail-modal/mail-modal.component.html","./src/app/components/modals/mls-modals/mls-info-modal/mls-info-modal.component.ts","./src/app/components/modals/mls-modals/mls-info-modal/mls-info-modal.component.html","./src/app/components/modals/mls-modals/mls-selection-modal/mls-selection-modal.component.ts","./src/app/components/modals/mls-modals/mls-selection-modal/mls-selection-modal.component.html","./src/app/components/modals/mls-modals/no-mls-modal/no-mls-modal.component.ts","./src/app/components/modals/mls-modals/no-mls-modal/no-mls-modal.component.html","./src/app/components/modals/save-search-modal/save-search-modal.component.ts","./src/app/components/modals/save-search-modal/save-search-modal.component.html","./src/app/components/modals/saved-search-modal/saved-search-confirmation-modal/saved-search-confirmation-modal.component.ts","./src/app/components/modals/saved-search-modal/saved-search-confirmation-modal/saved-search-confirmation-modal.component.html","./src/app/components/modals/saved-search-modal/saved-search-modal.component.ts","./src/app/components/modals/saved-search-modal/saved-search-modal.component.html","./src/app/components/modals/saved-search-modal/saved-search-modal.module.ts","./src/app/components/modals/saved-search-modal/saved-searches-table/saved-searches-table.component.ts","./src/app/components/modals/saved-search-modal/saved-searches-table/saved-searches-table.component.html","./src/app/components/modals/social-modal/social-modal.component.ts","./src/app/components/modals/social-modal/social-modal.component.html","./src/app/components/mq-footer/CBR/footer-branding/footer-branding.component.ts","./src/app/components/mq-footer/CBR/footer-branding/footer-branding.component.html","./src/app/components/mq-footer/CBR/footer-contact/footer-contact.component.ts","./src/app/components/mq-footer/CBR/footer-contact/footer-contact.component.html","./src/app/components/mq-footer/CBR/footer-disclaimer/footer-disclaimer.component.ts","./src/app/components/mq-footer/CBR/footer-disclaimer/footer-disclaimer.component.html","./src/app/components/mq-footer/CBR/footer-social/footer-social.component.ts","./src/app/components/mq-footer/CBR/footer-social/footer-social.component.html","./src/app/components/mq-footer/CBR/mq-footer-cbr.module.ts","./src/app/components/mq-footer/CBR/mq-footer.component.ts","./src/app/components/mq-footer/CBR/mq-footer.component.html","./src/app/components/mq-footer/SIR/mq-footer-sir-contact/mq-footer-sir-contact.component.ts","./src/app/components/mq-footer/SIR/mq-footer-sir-contact/mq-footer-sir-contact.component.html","./src/app/components/mq-footer/SIR/mq-footer-sir-disclaimer/mq-footer-sir-disclaimer.component.ts","./src/app/components/mq-footer/SIR/mq-footer-sir-disclaimer/mq-footer-sir-disclaimer.component.html","./src/app/components/mq-footer/SIR/mq-footer-sir-social/mq-footer-sir-social.component.ts","./src/app/components/mq-footer/SIR/mq-footer-sir-social/mq-footer-sir-social.component.html","./src/app/components/mq-footer/SIR/mq-footer-sir.module.ts","./src/app/components/mq-footer/SIR/mq-footer.component.ts","./src/app/components/mq-footer/SIR/mq-footer.component.html","./src/app/components/mq-footer/mq-footer.component.ts","./src/app/components/mq-footer/mq-footer.component.html","./src/app/components/mq-footer/mq-footer.module.ts","./src/app/components/mq-header/avatar-menu/avatar-image/avatar-image.component.ts","./src/app/components/mq-header/avatar-menu/avatar-image/avatar-image.component.html","./src/app/components/mq-header/avatar-menu/avatar-menu.component.ts","./src/app/components/mq-header/avatar-menu/avatar-menu.component.html","./src/app/components/mq-header/avatar-menu/menu-contents/menu-contents.component.ts","./src/app/components/mq-header/avatar-menu/menu-contents/menu-contents.component.html","./src/app/components/mq-header/branding/branding.component.ts","./src/app/components/mq-header/branding/branding.component.html","./src/app/components/mq-header/branding/terradatum-logo/terradatum-logo.component.ts","./src/app/components/mq-header/branding/terradatum-logo/terradatum-logo.component.html","./src/app/components/mq-header/mq-header.component.ts","./src/app/components/mq-header/mq-header.component.html","./src/app/components/mq-header/mq-header.module.ts","./src/app/components/mq-header/side-bar-nav/side-bar-nav.component.ts","./src/app/components/mq-header/side-bar-nav/side-bar-nav.component.html","./src/app/components/no-results/no-results.component.ts","./src/app/components/no-results/no-results.component.html","./src/app/components/no-results/no-results.module.ts","./src/app/directives/clipboard.directive.ts","./src/app/directives/export-pane.directive.ts","./src/app/directives/feature-flag.directive.ts","./src/app/directives/insert-component.directive.ts","./src/app/directives/social-block.directive.ts","./src/app/directives/social-image.directive.ts","./src/app/gtm/data-layer-object.ts","./src/app/interceptors/auth.interceptor.ts","./src/app/models/ExportOption.ts","./src/app/models/FilterData.ts","./src/app/models/GalleryImage.ts","./src/app/models/IBannerData.ts","./src/app/models/IBreadCrumb.ts","./src/app/models/IChartTypes.ts","./src/app/models/ICustomDataTypeEnum.ts","./src/app/models/IDisclaimer.ts","./src/app/models/IEmailData.ts","./src/app/models/IFeature.ts","./src/app/models/IMarketReportFilters.ts","./src/app/models/IMarketTrendsFilters.ts","./src/app/models/INavButton.ts","./src/app/models/IPropertyType.ts","./src/app/models/IReportGraph.ts","./src/app/models/IScreenSizes.ts","./src/app/models/ISocialData.ts","./src/app/models/ISocialFooterLink.ts","./src/app/models/ITrendsOptions.ts","./src/app/models/ITrendsTableData.ts","./src/app/models/ImageTypes.ts","./src/app/models/MarketTrendsChartConfiguration.ts","./src/app/models/ReportTypes.ts","./src/app/models/SavedSearchFields.ts","./src/app/pages/layoutNav/nav-button-bar/nav-button-bar.component.ts","./src/app/pages/layoutNav/nav-button-bar/nav-button-bar.component.html","./src/app/pages/layoutNav/nav-button-bar/nav-button/nav-button.component.ts","./src/app/pages/layoutNav/nav-button-bar/nav-button/nav-button.component.html","./src/app/pages/layouts/reports-template/reports-template.component.ts","./src/app/pages/layouts/reports-template/reports-template.component.html","./src/app/pipes/area-id-lookup.pipe.ts","./src/app/pipes/chipTooltip.pipe.ts","./src/app/pipes/countyString.pipe.ts","./src/app/pipes/locationDataName.pipe.ts","./src/app/pipes/marketquestPhone.pipe.ts","./src/app/pipes/paged-array-filter.pipe.ts","./src/app/pipes/report-location-name.pipe.ts","./src/app/pipes/saved-search-lookup.pipe.ts","./src/app/pipes/schoolDistrictString.pipe.ts","./src/app/pipes/trend-data-format.pipe.ts","./src/app/pipes/url-shorten.pipe.ts","./src/app/resolvers/feature.guard.ts","./src/app/resolvers/public-report-resolver.ts","./src/app/resolvers/report-page.resolver.ts","./src/app/service-now-chat-bubble/service-now-chat-bubble.component.ts","./src/app/services/asp-trends.service.ts","./src/app/services/banner.service.ts","./src/app/services/card-set.service.ts","./src/app/services/chart.service.ts","./src/app/services/custom-report.service.ts","./src/app/services/data-layer.service.ts","./src/app/services/date.service.ts","./src/app/services/disclaimer.service.ts","./src/app/services/download.service.ts","./src/app/services/email.service.ts","./src/app/services/encrypt.service.ts","./src/app/services/error.service.ts","./src/app/services/export.service.ts","./src/app/services/favicon.service.ts","./src/app/services/feature.service.ts","./src/app/services/filter.service.ts","./src/app/services/gallery.service.ts","./src/app/services/gtm.service.ts","./src/app/services/login/cb-login.service.ts","./src/app/services/login/login.module.ts","./src/app/services/login/login.service.ts","./src/app/services/login/sir-login.service.ts","./src/app/services/market-claims.service.ts","./src/app/services/market-position.service.ts","./src/app/services/market-snapshot.service.ts","./src/app/services/market-trends.service.ts","./src/app/services/mls.service.ts","./src/app/services/modal.service.ts","./src/app/services/mq-okta-auth.guard.ts","./src/app/services/mq-okta-auth.service.ts","./src/app/services/navigation.service.ts","./src/app/services/options.service.ts","./src/app/services/redirect.guard.ts","./src/app/services/redirecthome.guard.ts","./src/app/services/report-details.service.ts","./src/app/services/report.service.ts","./src/app/services/responsive.service.ts","./src/app/services/saved-search.service.ts","./src/app/services/share-social-and-email.service.ts","./src/app/services/sync-fusion-config.service.ts","./src/app/services/tenant.service.ts","./src/app/services/theme.service.ts","./src/app/services/upload.service.ts","./src/app/services/user-settings.service.ts","./src/app/services/userData.service.ts","./src/app/store/actions/applicationData.action.ts","./src/app/store/actions/asp-trends.action.ts","./src/app/store/actions/browser.action.ts","./src/app/store/actions/custom-report.action.ts","./src/app/store/actions/featureData.action.ts","./src/app/store/actions/filtersData.action.ts","./src/app/store/actions/gallery.action.ts","./src/app/store/actions/gtm.action.ts","./src/app/store/actions/locations.action.ts","./src/app/store/actions/market-position.action.ts","./src/app/store/actions/market-snapshot.action.ts","./src/app/store/actions/market-trends.action.ts","./src/app/store/actions/menus.action.ts","./src/app/store/actions/mls.action.ts","./src/app/store/actions/pdf.action.ts","./src/app/store/actions/reports.action.ts","./src/app/store/actions/saved-search.action.ts","./src/app/store/actions/user-settings.action.ts","./src/app/store/actions/userData.action.ts","./src/app/store/actions/wootric.action.ts","./src/app/store/effects/applicationData.effect.ts","./src/app/store/effects/asp-trends.effect.ts","./src/app/store/effects/custom-report.effect.ts","./src/app/store/effects/featureData.effect.ts","./src/app/store/effects/filtersData.effect.ts","./src/app/store/effects/gallery.effect.ts","./src/app/store/effects/gtm.effect.ts","./src/app/store/effects/locations.effect.ts","./src/app/store/effects/market-position.effect.ts","./src/app/store/effects/market-snapshot.effect.ts","./src/app/store/effects/market-trends.effect.ts","./src/app/store/effects/menu.effect.ts","./src/app/store/effects/mls.effect.ts","./src/app/store/effects/pdf.effect.ts","./src/app/store/effects/reports.effect.ts","./src/app/store/effects/saved-search.effect.ts","./src/app/store/effects/user-settings.effect.ts","./src/app/store/effects/userData.effect.ts","./src/app/store/effects/wootric.effect.ts","./src/app/store/reducers/applicationData.reducer.ts","./src/app/store/reducers/asp-trends.reducer.ts","./src/app/store/reducers/browser.reducer.ts","./src/app/store/reducers/custom-report.reducer.ts","./src/app/store/reducers/featureData.reducer.ts","./src/app/store/reducers/filters.reducer.ts","./src/app/store/reducers/gallery.reducer.ts","./src/app/store/reducers/index.ts","./src/app/store/reducers/locations.reducer.ts","./src/app/store/reducers/market-position.reducer.ts","./src/app/store/reducers/market-snapshot.reducer.ts","./src/app/store/reducers/market-trends.reducer.ts","./src/app/store/reducers/menus.reducer.ts","./src/app/store/reducers/mls.reducer.ts","./src/app/store/reducers/pdf.reducer.ts","./src/app/store/reducers/reports.reducer.ts","./src/app/store/reducers/saved-search.reducer.ts","./src/app/store/reducers/user-settings.reducer.ts","./src/app/store/reducers/userData.reducer.ts","./src/app/store/reducers/wootric.reducer.ts","./src/app/store/selectors/applicationData.selector.ts","./src/app/store/selectors/asp-report.selector.ts","./src/app/store/selectors/custom-graph.selector.ts","./src/app/store/selectors/features.selector.ts","./src/app/store/selectors/filters.selector.ts","./src/app/store/selectors/locations.selector.ts","./src/app/store/selectors/market-position.selector.ts","./src/app/store/selectors/market-snapshot.selector.ts","./src/app/store/selectors/market-trends.selector.ts","./src/app/store/selectors/menus.selector.ts","./src/app/store/selectors/mls.selector.ts","./src/app/store/selectors/pdf.selector.ts","./src/app/store/selectors/reports.selectors.ts","./src/app/store/selectors/router.selector.ts","./src/app/store/selectors/saved-search.selector.ts","./src/app/store/selectors/userData.selector.ts","./src/app/store/selectors/wootric.selector.ts","./src/app/store/state/applicationData.state.ts","./src/app/store/state/asp-trends.state.ts","./src/app/store/state/browser.state.ts","./src/app/store/state/custom-report.state.ts","./src/app/store/state/featureData.state.ts","./src/app/store/state/filters.state.ts","./src/app/store/state/gallery.state.ts","./src/app/store/state/locations.state.ts","./src/app/store/state/market-position.state.ts","./src/app/store/state/market-snapshot.state.ts","./src/app/store/state/market-trends.state.ts","./src/app/store/state/menu.state.ts","./src/app/store/state/mls.state.ts","./src/app/store/state/no1ClaimsReports.state.ts","./src/app/store/state/pdf.state.ts","./src/app/store/state/savedSearch.state.ts","./src/app/store/state/user-settings.state.ts","./src/app/store/state/userData.state.ts","./src/app/store/state/wootric.state.ts","./src/environments/environment.stage.ts","./src/main.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { OktaAuthStateService } from '@okta/okta-angular';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { cloneDeep } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport { filter, mergeMap, skipWhile, take } from 'rxjs/operators';\nimport { FaviconService } from './services/favicon.service';\nimport { GTMService } from './services/gtm.service';\nimport { LoginService } from './services/login/login.service';\nimport { OptionsService } from './services/options.service';\nimport { TenantService } from './services/tenant.service';\nimport { ThemeService } from './services/theme.service';\nimport { UserDataService } from './services/userData.service';\nimport { SetApplicationData } from './store/actions/applicationData.action';\nimport { FetchV2FiltersFromApi } from './store/actions/filtersData.action';\nimport { ToggleFilterPanel } from './store/actions/menus.action';\nimport { FetchMLS } from './store/actions/mls.action';\nimport { FetchUserDefaultImage, FetchUserV2Data } from './store/actions/userData.action';\nimport { selectBrandCode } from './store/selectors/applicationData.selector';\nimport { selectRouteData } from './store/selectors/router.selector';\nimport { selectUser, selectUserDataLoaded } from './store/selectors/userData.selector';\nimport { wootricReady, wootricUser } from './store/selectors/wootric.selector';\nimport { IAppState } from './store/state/app.state';\nimport { environment } from 'environments/environment';\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 subs = new Subscription();\n brandCode: string;\n isSIR: boolean;\n isProd = false;\n isAuthenticated = false;\n personId: string;\n agentMasterId: string;\n\n constructor(\n private _gtm: GTMService,\n private oktaAuthState: OktaAuthStateService,\n private loginService: LoginService,\n private userDataService: UserDataService,\n private optionService: OptionsService,\n private breakpointObserver: BreakpointObserver,\n private store: Store,\n private tenantService: TenantService,\n private faviconService: FaviconService,\n private themeService: ThemeService,\n private oktaAuth: OktaAuth\n ) {\n // Service Now is not set up for preprod, so it'll always redirect you to authenticate in preprod but we are not able to.\n this.isProd = environment.environment === 'prod';\n }\n\n checkPropExists(obj: Object, propKey: string) {\n return obj && obj.hasOwnProperty(propKey);\n }\n\n ngOnInit() {\n this.faviconService.useFavicon(this.tenantService.getTenant());\n\n if (this.optionService.verifyBrandInfoCache()) {\n this.store.dispatch(new SetApplicationData(this.optionService.brandInfo));\n } else {\n this.optionService.getBrandingFromApi().subscribe(data => {\n this.optionService.syncBranding(data);\n this.store.dispatch(new SetApplicationData(data));\n });\n }\n\n this.oktaAuthState.authState$.pipe(skipWhile(v => !v.isAuthenticated)).subscribe(state => {\n if (state.isAuthenticated) {\n this.oktaAuth.getUser().then(data => {\n if (data) {\n this.isAuthenticated = true;\n this.store.dispatch(new FetchUserV2Data(data.sub));\n }\n });\n } else {\n this.loginService.login();\n }\n });\n\n this.subs.add(\n this.store\n .select(selectUserDataLoaded)\n .pipe(\n filter(v => v),\n mergeMap(() => {\n return this.store.select(selectUser);\n }),\n take(1)\n )\n .subscribe(data => {\n this.personId = data.personMasterId;\n this.agentMasterId = data.agentMasterId;\n this.store.dispatch(new FetchUserDefaultImage());\n this.store.dispatch(new FetchV2FiltersFromApi());\n this.store.dispatch(new FetchMLS());\n this.store\n .select(wootricReady)\n .pipe(\n filter(wootricIsReady => wootricIsReady),\n mergeMap(() => {\n return this.store.select(wootricUser);\n }),\n take(1)\n )\n .subscribe(v => {\n this.store\n .select(selectBrandCode)\n .pipe(\n filter(value => {\n return !!value;\n })\n )\n .subscribe(brandCode => {\n this.brandCode = brandCode;\n const dataObj = cloneDeep(v);\n dataObj.createdAt = String(new Date(v.createdAt).getTime() / 1000);\n dataObj['brand'] = this.brandCode;\n dataObj['businessUnit'] = this.userDataService.getBusinessUnit();\n dataObj['personMasterId'] = this.personId;\n dataObj['agentMasterId'] = this.agentMasterId;\n this._gtm.updateCustomSet(dataObj);\n this.isSIR = this.themeService.isSIR();\n });\n });\n })\n );\n\n this.subs.add(\n this.store\n .select(selectRouteData)\n .pipe(filter(v => v !== undefined))\n .subscribe(d => {\n if (this.checkPropExists(d, 'public') && !d.public) {\n this.userDataService.getUserMlsData();\n }\n })\n );\n\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 960px)').subscribe(() => {\n this.store.dispatch(new ToggleFilterPanel(false));\n })\n );\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n\n\n","// Modules\nimport { CurrencyPipe, DecimalPipe, PercentPipe } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\nimport { APP_INITIALIZER, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// Angular Material Modules\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\nimport { EffectsModule } from '@ngrx/effects';\nimport { RouterState, StoreRouterConnectingModule } from '@ngrx/router-store';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { OKTA_CONFIG, OktaAuthGuard, OktaAuthModule, OktaCallbackComponent } from '@okta/okta-angular';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport {\n BarSeriesService,\n CategoryService,\n ChartAnnotationService,\n ColumnSeriesService,\n DataLabelService,\n DateTimeService,\n ExportService,\n LegendService,\n LineSeriesService,\n RangeColumnSeriesService,\n ScrollBarService,\n SplineSeriesService,\n StackingColumnSeriesService,\n TooltipService,\n TrendlinesService\n} from '@syncfusion/ej2-angular-charts';\nimport { SharerMethod } from 'ngx-sharebuttons';\nimport { ShareButtonsModule } from 'ngx-sharebuttons/buttons';\n\n// Environments\nimport { environment } from '../environments/environment';\n\n// Components\nimport { AppComponent } from './app.component';\nimport { ExportPreviewModule } from './components/core/export-preview/export-preview.module';\nimport { SharedComponentsModule } from './components/core/shared/shared-components.module';\nimport { EmailAddressComponent } from './components/email-address/email-address.component';\n\nimport { LogoutModalComponent } from './components/modals/logout-modal/logout-modal.component';\nimport { MailModalComponent } from './components/modals/mail-modal/mail-modal.component';\nimport { MlsInfoModalComponent } from './components/modals/mls-modals/mls-info-modal/mls-info-modal.component';\nimport { MlsSelectionModalComponent } from './components/modals/mls-modals/mls-selection-modal/mls-selection-modal.component';\nimport { NoMlsModalComponent } from './components/modals/mls-modals/no-mls-modal/no-mls-modal.component';\nimport { SocialModalComponent } from './components/modals/social-modal/social-modal.component';\nimport { MqHeaderModule } from './components/mq-header/mq-header.module';\nimport { AuthInterceptor, DEFAULT_TIMEOUT } from './interceptors/auth.interceptor';\nimport { FeaturesEnum } from './models/IFeature';\nimport { CountyStringPipe } from './pipes/countyString.pipe';\nimport { ReportLocationNamePipe } from './pipes/report-location-name.pipe';\nimport { SchoolStringPipe } from './pipes/schoolDistrictString.pipe';\nimport { FeatureGuard } from './resolvers/feature.guard';\nimport { PublicReportResolver } from './resolvers/public-report-resolver';\nimport { ReportPageResolver } from './resolvers/report-page.resolver';\nimport { CardSetService } from './services/card-set.service';\nimport { DataLayerObjectService } from './services/data-layer.service';\nimport { DownloadService } from './services/download.service';\nimport { EmailService } from './services/email.service';\nimport { EncryptService } from './services/encrypt.service';\nimport { ErrorService } from './services/error.service';\nimport { BROWSER_FAVICONS_CONFIG } from './services/favicon.service';\nimport { FeatureService } from './services/feature.service';\nimport { FilterService } from './services/filter.service';\nimport { GalleryService } from './services/gallery.service';\n\n// Services\nimport { GTMService } from './services/gtm.service';\nimport { LoginModule } from './services/login/login.module';\nimport { MarketClaimsService } from './services/market-claims.service';\nimport { MarketPositionService } from './services/market-position.service';\nimport { MarketSnapshotService } from './services/market-snapshot.service';\nimport { MarketTrendsService } from './services/market-trends.service';\nimport { ModalService } from './services/modal.service';\nimport { MqOktaAuthGuard } from './services/mq-okta-auth.guard';\nimport { MqOktaAuthService } from './services/mq-okta-auth.service';\nimport { OptionsService } from './services/options.service';\nimport { RedirectGuard } from './services/redirect.guard';\nimport { RedirectHomeGuard } from './services/redirecthome.guard';\nimport { ReportDetailService } from './services/report-details.service';\nimport { ReportService } from './services/report.service';\nimport { ShareSocialAndEmailService } from './services/share-social-and-email.service';\nimport { SyncFusionConfigService } from './services/sync-fusion-config.service';\nimport { TenantService } from './services/tenant.service';\nimport { ThemeService } from './services/theme.service';\nimport { UploadService } from './services/upload.service';\nimport { UserDataService } from './services/userData.service';\nimport { ApplicationDataEffect } from './store/effects/applicationData.effect';\nimport { CustomReportEffect } from './store/effects/custom-report.effect';\nimport { FeatureDataEffect } from './store/effects/featureData.effect';\nimport { FilterDataEffect } from './store/effects/filtersData.effect';\nimport { GalleryEffect } from './store/effects/gallery.effect';\nimport { GtmEffect } from './store/effects/gtm.effect';\nimport { LocationsEffect } from './store/effects/locations.effect';\nimport { MarketPositionEffect } from './store/effects/market-position.effect';\nimport { MarketSnapshotEffect } from './store/effects/market-snapshot.effect';\nimport { MarketTrendsEffect } from './store/effects/market-trends.effect';\nimport { MenuEffect } from './store/effects/menu.effect';\nimport { MLSEffect } from './store/effects/mls.effect';\nimport { PdfEffect } from './store/effects/pdf.effect';\nimport { ReportDataEffect } from './store/effects/reports.effect';\nimport { SavedSearchEffect } from './store/effects/saved-search.effect';\nimport { UserSettingsEffect } from './store/effects/user-settings.effect';\nimport { UserDataEffect } from './store/effects/userData.effect';\nimport { WootricEffect } from './store/effects/wootric.effect';\nimport { metaReducers, reducers } from './store/reducers';\nimport { SaveSearchModalComponent } from './components/modals/save-search-modal/save-search-modal.component';\nimport { AspTrendsEffect } from './store/effects/asp-trends.effect';\nimport { ServiceNowChatBubbleComponent } from './service-now-chat-bubble/service-now-chat-bubble.component';\n\nconst appRoutes: Routes = [\n {\n path: '',\n redirectTo: 'dashboard',\n pathMatch: 'full'\n },\n {\n path: '',\n loadChildren: () => import('../app/pages/layouts/default-with-nav/default-with-nav.module').then(m => m.DefaultWithNavModule),\n canActivate: [MqOktaAuthGuard]\n },\n {\n path: '',\n loadChildren: () => import('../app/pages/layouts/default-no-nav/default-no-nav.module').then(m => m.DefaultNoNavModule)\n },\n {\n path: 'share',\n data: {\n public: true\n },\n loadChildren: () => import('../app/pages/layouts/public/public.module').then(m => m.PublicModule)\n },\n {\n path: 'implicit/callback',\n component: OktaCallbackComponent\n },\n {\n path: 'report/:id',\n component: RedirectGuard,\n canActivate: [RedirectGuard],\n data: { externalUrl: '/social' }\n },\n {\n path: 'debug',\n data: {\n flags: FeaturesEnum.Debug\n },\n canActivate: [MqOktaAuthGuard, FeatureGuard],\n loadChildren: () => import('./pages/debug-page/debug.module').then(m => m.DebugModule)\n },\n {\n path: '**',\n redirectTo: 'dashboard'\n }\n];\n\nexport function initBaseImageUrl(http: HttpClient, options: OptionsService) {\n return () => {\n return new Promise(resolve => {\n options.baseUrl = environment.imagePath;\n return resolve();\n });\n };\n}\n\nconst config = environment.oktaApp;\nconst oktaConfig = {\n issuer: config.issuer,\n clientId: config.clientId,\n pkce: config.pkce,\n redirectUri: window.location.origin + '/implicit/callback',\n tokenManager: {\n storage: 'sessionStorage'\n }\n};\nconst oktaAuth = new OktaAuth(oktaConfig);\n\n@NgModule({\n declarations: [\n AppComponent,\n MailModalComponent,\n EmailAddressComponent,\n NoMlsModalComponent,\n MlsSelectionModalComponent,\n LogoutModalComponent,\n MlsInfoModalComponent,\n SocialModalComponent,\n SaveSearchModalComponent,\n ServiceNowChatBubbleComponent\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\n BrowserAnimationsModule,\n HttpClientModule,\n OktaAuthModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule.forRoot(appRoutes, {\n scrollPositionRestoration: 'enabled',\n preloadingStrategy: PreloadAllModules,\n relativeLinkResolution: 'legacy'\n }),\n SharedComponentsModule,\n ShareButtonsModule.withConfig({\n sharerMethod: SharerMethod.Window\n }),\n StoreModule.forRoot(reducers, { metaReducers }),\n StoreRouterConnectingModule.forRoot({ routerState: RouterState.Minimal }),\n EffectsModule.forRoot([\n UserDataEffect,\n FeatureDataEffect,\n FilterDataEffect,\n ReportDataEffect,\n WootricEffect,\n MLSEffect,\n MenuEffect,\n LocationsEffect,\n GalleryEffect,\n GtmEffect,\n MarketPositionEffect,\n MarketTrendsEffect,\n MarketSnapshotEffect,\n ApplicationDataEffect,\n AspTrendsEffect,\n UserSettingsEffect,\n PdfEffect,\n SavedSearchEffect,\n CustomReportEffect\n ]),\n !environment.production ? StoreDevtoolsModule.instrument() : [],\n MqHeaderModule,\n LoginModule,\n ExportPreviewModule\n ],\n providers: [\n OktaAuthGuard,\n GTMService,\n DataLayerObjectService,\n FeatureService,\n ThemeService,\n FilterService,\n CardSetService,\n ErrorService,\n GalleryService,\n ReportDetailService,\n EncryptService,\n EmailService,\n OptionsService,\n ReportService,\n UploadService,\n ShareSocialAndEmailService,\n ReportPageResolver,\n PublicReportResolver,\n MarketPositionService,\n MarketClaimsService,\n MarketTrendsService,\n CurrencyPipe,\n PercentPipe,\n DecimalPipe,\n ReportLocationNamePipe,\n ModalService,\n MqOktaAuthGuard,\n FeatureGuard,\n MarketSnapshotService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthInterceptor,\n multi: true\n },\n {\n provide: DEFAULT_TIMEOUT,\n useValue: 60000\n },\n {\n provide: OKTA_CONFIG,\n useValue: { oktaAuth }\n },\n {\n provide: BROWSER_FAVICONS_CONFIG,\n useValue: {\n icons: {\n realogy: {\n type: 'image/ico',\n href: './assets/favicon/favicon_cbr.ico'\n },\n sothebysrealty: {\n type: 'image/ico',\n href: './assets/favicon/favicon_sothebys.ico'\n }\n },\n cacheBusting: true\n }\n },\n {\n provide: APP_INITIALIZER,\n useFactory: initBaseImageUrl,\n multi: true,\n deps: [HttpClient, OptionsService]\n },\n ExportService,\n CategoryService,\n DataLabelService,\n DateTimeService,\n ScrollBarService,\n ColumnSeriesService,\n LineSeriesService,\n BarSeriesService,\n SplineSeriesService,\n ChartAnnotationService,\n RangeColumnSeriesService,\n StackingColumnSeriesService,\n LegendService,\n TrendlinesService,\n TooltipService,\n MatIconRegistry,\n RedirectGuard,\n RedirectHomeGuard,\n DownloadService,\n SyncFusionConfigService,\n MqOktaAuthService,\n UserDataService,\n CountyStringPipe,\n SchoolStringPipe,\n TenantService\n ],\n bootstrap: [AppComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class AppModule {}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { SetSortAscending } from '../../../../../../../store/actions/filtersData.action';\nimport { DownloadExportFileCSV, DownloadExportFileExcel } from '../../../../../../../store/actions/reports.action';\nimport { selectV2FilterBase } from '../../../../../../../store/selectors/filters.selector';\nimport { IAppState } from '../../../../../../../store/state/app.state';\nimport { SortChanges } from '../card-controls-container.component';\n\n@Component({\n selector: 'app-card-controls',\n templateUrl: './card-controls.component.html',\n styleUrls: ['./card-controls.component.scss']\n})\nexport class CardControlsComponent implements OnInit, OnDestroy {\n paging: UntypedFormGroup;\n subs = new Subscription();\n\n constructor(private store: Store, private fb: UntypedFormBuilder) {\n const filters$ = this.store.select(selectV2FilterBase);\n\n this.paging = this.fb.group({\n sortAscending: []\n });\n\n this.subs.add(\n filters$.pipe(distinctUntilChanged()).subscribe(filters => {\n this.paging.patchValue(\n {\n sortAscending: filters.sortAsc\n },\n { emitEvent: false }\n );\n })\n );\n }\n\n ngOnInit() {\n this.subs.add(\n this.paging.valueChanges.subscribe((values: SortChanges) => {\n this.store.dispatch(new SetSortAscending(values.sortAscending));\n })\n );\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n download(type: 'csv' | 'xlsx') {\n if (type === 'csv') {\n this.store.dispatch(new DownloadExportFileCSV());\n }\n if (type === 'xlsx') {\n this.store.dispatch(new DownloadExportFileExcel());\n }\n return;\n }\n}\n","
\n \n Sort By\n \n Location (0-9) (A-Z)\n Location (Z-A) (9-0)\n \n \n
\n
\n \n \n \n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n AnimationModel,\n AxisModel,\n ChartAreaModel,\n CornerRadiusModel,\n IAxisLabelRenderEventArgs,\n IPointRenderEventArgs,\n ISeriesRenderEventArgs,\n ITextRenderEventArgs,\n LegendSettingsModel,\n MarkerSettingsModel,\n TooltipSettingsModel\n} from '@syncfusion/ej2-angular-charts';\nimport { format } from 'date-fns';\nimport { skip } from 'rxjs/operators';\nimport { ITrendsDataPoint } from '../../../../models/IMarketTrendsGraphSet';\nimport { ChartService } from '../../../../services/chart.service';\nimport { ThemeService } from '../../../../services/theme.service';\nimport { pdfPreviewOrientation } from '../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { SharedComponentsModule } from '../../shared/shared-components.module';\n\n@Component({\n standalone: true,\n imports: [SharedComponentsModule, CommonModule],\n selector: 'app-custom-chart',\n templateUrl: './custom-chart.component.html',\n styleUrls: ['./custom-chart.component.scss']\n})\nexport class CustomChartComponent implements OnInit, OnChanges {\n @Input() chartDataObject: ITrendsDataPoint[][];\n @Input() chartTypes: string[];\n @Input() selectedMonth: string;\n @Input() dataTypes: string[];\n @Input() axis: (0 | 1)[];\n @Input() showTrendLines = true;\n fill: string[] = [];\n @Input() yAxisLabels: string[];\n legend: LegendSettingsModel = {\n position: 'Bottom',\n shapeHeight: 4,\n shapeWidth: 29,\n opacity: 1,\n alignment: 'Center',\n toggleVisibility: false,\n textStyle: {\n fontFamily: 'Helvetica Neue, Arial, sans-serif',\n size: '11',\n color: '#727476'\n }\n };\n chartArea: ChartAreaModel = {\n border: {\n width: 0\n }\n };\n marker: MarkerSettingsModel = {\n dataLabel: {\n labelIntersectAction: 'None',\n visible: false,\n border: {\n width: 1\n },\n margin: {\n right: 8,\n left: 8,\n top: 16,\n bottom: 8\n },\n position: 'Top',\n angle: 90,\n enableRotation: true,\n font: {\n fontFamily: 'Roboto'\n }\n }\n };\n primaryXAxis: AxisModel = {\n valueType: 'Category',\n labelIntersectAction: 'None',\n labelStyle: {\n fontFamily: 'Helvetica Neue, Arial, sans-serif',\n color: '#727476',\n size: '12',\n textOverflow: 'Trim'\n },\n maximumLabels: 36,\n lineStyle: {\n color: '#E9E9E9',\n width: 1\n },\n majorGridLines: {\n width: 0\n },\n majorTickLines: {\n width: 0\n }\n };\n primaryYAxis: AxisModel = {\n title: '',\n labelStyle: {\n fontFamily: 'Roboto, sans-serif',\n color: '#727476',\n size: '12',\n textOverflow: 'None'\n },\n lineStyle: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n majorGridLines: {\n color: '#E9E9E9',\n width: 1\n },\n labelIntersectAction: 'Rotate90'\n };\n cornerRadius: CornerRadiusModel = {\n topRight: 0,\n topLeft: 0\n };\n palette: string[] = [];\n tooltip: TooltipSettingsModel = {\n enable: false\n };\n localData: ITrendsDataPoint[][];\n chartId: string;\n private formattedCurrentMonth: string;\n private showColumnMarkers = false;\n private year = 0;\n private smallArr: ITrendsDataPoint[][];\n animation: AnimationModel = {\n enable: false\n };\n\n constructor(private chartSvc: ChartService, private themeSvc: ThemeService, private store: Store) {\n const randomMixedId =\n Math.random()\n .toString(36)\n .substring(2, 15) +\n Math.random()\n .toString(36)\n .substring(2, 15);\n this.chartId = `chart-container${randomMixedId}`;\n const isSir = this.themeSvc.isSIR();\n this.palette = [this.themeSvc.customChartPrimary, this.themeSvc.customChartSecondary];\n this.fill = [this.themeSvc.customChartTrendPrimary, this.themeSvc.customChartTrendSecondary];\n }\n\n ngOnInit(): void {\n this.drawChart();\n if (this.selectedMonth) {\n this.formattedCurrentMonth = format(new Date(this.selectedMonth), 'MMM yyyy');\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.primaryYAxis.title = this.yAxisLabels[0];\n if (Object.keys(changes).some(key => !changes[key].firstChange)) {\n this.drawChart();\n }\n this.store\n .select(pdfPreviewOrientation)\n .pipe(skip(1))\n .subscribe(() => {\n this.drawChart();\n });\n }\n\n axisLabelRender($event: IAxisLabelRenderEventArgs) {\n const result = this.chartSvc.checkAxisLabels($event, this.isMobile(), this.formattedCurrentMonth, this.year);\n $event = result.$event;\n this.year = result.newCurrentYear ?? 0;\n return $event;\n }\n\n pointRender($event: IPointRenderEventArgs) {\n return this.chartSvc.pointRenderInit($event, this.formattedCurrentMonth, this.themeSvc.isSIR(), this.themeSvc.chartPrimary, true);\n }\n\n textRender($event: ITextRenderEventArgs) {\n return this.chartSvc.textRenderInit($event, this.formattedCurrentMonth);\n }\n\n seriesRender($event: ISeriesRenderEventArgs) {\n const custom = true;\n const isSir = this.themeSvc.isSIR();\n return this.chartSvc.seriesRenderInit($event, this.showColumnMarkers, this.chartId, this.formattedCurrentMonth, isSir, custom);\n }\n\n private drawChart() {\n this.localData = [];\n this.smallArr = this.chartDataObject?.map(dataType => dataType.filter((value, index) => index < 36));\n setTimeout(() => {\n this.localData = this.formatDateData(this.smallArr);\n }, 0);\n }\n\n private isMobile() {\n return window.innerWidth <= 600;\n }\n\n private formatDateData(chartDataObject: ITrendsDataPoint[][]) {\n return Object.values(chartDataObject).map(value => {\n value.map(v => {\n v.xData = (v.xData || '').split('.').join('-');\n return v;\n });\n return this.chartSvc.formatDates(value);\n });\n }\n}\n","\n \n \n \n \n \n \n \n \n \n \n \n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FilterTileComponent } from '../export-preview/trends-export-preview/export-preview-cover/cover-filter-section/filter-tile/filter-tile.component';\nimport { SharedComponentsModule } from '../shared/shared-components.module';\nimport { TrendCardComponent } from '../trends/trend-card/trend-card.component';\nimport { ChartComponent } from '../trends/trend-chart-container/chart/chart.component';\nimport { TrendsSkeletonComponent } from '../trends/trends-report-page/trends-skeleton/trends-skeleton.component';\nimport { CustomChartComponent } from './custom-chart/custom-chart.component';\nimport { CustomGraphPageComponent } from './custom-graph-page/custom-graph-page.component';\nimport { CustomGraphGroupByDropdownComponent } from './custom-graph-page/custom-report-controls/custom-graph-group-by-dropdown/custom-graph-group-by-dropdown.component';\nimport { CustomReportControlsComponent } from './custom-graph-page/custom-report-controls/custom-report-controls.component';\nimport { CustomReportStatsComponent } from './custom-graph-page/custom-report-stats/custom-report-stats.component';\nimport { CustomReportTableComponent } from './custom-graph-page/custom-report-table/custom-report-table.component';\n\n@NgModule({\n declarations: [CustomGraphPageComponent, CustomReportStatsComponent, CustomReportControlsComponent, CustomGraphGroupByDropdownComponent],\n imports: [\n CommonModule,\n SharedComponentsModule,\n FilterTileComponent,\n TrendCardComponent,\n TrendsSkeletonComponent,\n CustomReportTableComponent,\n ChartComponent,\n CustomChartComponent\n ],\n exports: [CustomGraphPageComponent, CustomReportStatsComponent, CustomReportControlsComponent, CustomGraphGroupByDropdownComponent]\n})\nexport class CustomGraphNoRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { Store } from '@ngrx/store';\nimport { ICustomGraphSetting } from 'app/store/state/custom-report.state';\nimport { format } from 'date-fns';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\nimport { ICustomChartData } from '../../../../models/ICustomChartData';\nimport { DataRow, ICustomDataTypeByNumEnum, ICustomDataTypeEnum, ICustomDataTypeLabelEnum } from '../../../../models/ICustomDataTypeEnum';\nimport { ReportPageTypeShortStrEnum } from '../../../../models/ReportTypes';\nimport { CustomReportService } from '../../../../services/custom-report.service';\nimport { ReportService } from '../../../../services/report.service';\nimport { ThemeService } from '../../../../services/theme.service';\nimport {\n AdjustCustomReportDataTypes,\n AdjustCustomReportDisplayAs,\n SetDataTableShowAll\n} from '../../../../store/actions/custom-report.action';\nimport {\n CustomReportAxis,\n CustomReportDataDetails,\n CustomReportDataTypes,\n CustomReportError,\n CustomReportLoaded,\n CustomReportLoading,\n DisplayAllData\n} from '../../../../store/selectors/custom-graph.selector';\nimport { selectCurrentMLS } from '../../../../store/selectors/mls.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-custom-graph-page',\n templateUrl: './custom-graph-page.component.html',\n styleUrls: ['./custom-graph-page.component.scss']\n})\nexport class CustomGraphPageComponent implements OnInit {\n data$: Observable;\n cardAsyncObject$: Observable<{ typeArr: string[]; stringDescription: string; yAxisLabels: string[] }>;\n chartAxis$: Observable<(0 | 1)[]>;\n customReportError$: Observable;\n loading$: Observable;\n loaded$: Observable;\n tableData$: Observable<{ headerData: string[]; rowData: DataRow[] }>;\n dataTypes$: Observable<[number, number]>;\n showTrendLines = true;\n trendLineShowStatus = true;\n disableTrendLines = false;\n graphTitle: string;\n cardData: { typeArr: string[]; stringDescription: string; yAxisLabels: string[] };\n data: ICustomChartData;\n isThreePointChart = false;\n\n constructor(\n private customReportSvc: CustomReportService,\n private reportServ: ReportService,\n private themeSvc: ThemeService,\n private store: Store\n ) {}\n\n ngOnInit(): void {\n this.loading$ = this.store.select(CustomReportLoading);\n this.loaded$ = this.store.select(CustomReportLoaded);\n this.customReportError$ = this.store.select(CustomReportError);\n this.chartAxis$ = this.store.select(CustomReportAxis);\n this.data$ = this.getData$();\n this.dataTypes$ = this.store.select(CustomReportDataTypes);\n\n const obv = combineLatest([this.store.select(CustomReportDataDetails), this.store.select(DisplayAllData), this.dataTypes$]);\n this.tableData$ = obv.pipe(\n map(data => {\n const [report, showAll, dataTypes] = data;\n const d = this.customReportSvc.formatTableData(report?.reportData, showAll, dataTypes);\n return { headerData: d.headerData, rowData: d.rowData };\n })\n );\n\n this.store.select(CustomReportDataTypes).subscribe(data => {\n const typeArr = data.map(d => ICustomDataTypeEnum[ICustomDataTypeByNumEnum[d]]);\n const stringDescription = typeArr.join(' x ');\n this.graphTitle = typeArr.join(' x ');\n this.cardData = { typeArr, stringDescription, yAxisLabels: this.customReportSvc.getYAxisLabels(data) };\n });\n\n this.data$.subscribe(data => {\n this.data = data;\n });\n }\n\n private getData$() {\n return this.customReportSvc.setChartDataData();\n }\n\n refreshPage() {\n window.location.reload();\n }\n\n exportPdf() {\n const isSir = this.themeSvc.isSIR();\n this.reportServ.exportPdfPreview(ReportPageTypeShortStrEnum.custom, isSir ? 'SIR' : 'CBR');\n }\n\n exportCSV() {\n this.downloadTableData(true);\n }\n\n exportXLS() {\n this.downloadTableData(false);\n }\n\n private downloadTableData(isCSV: boolean) {\n const mls = this.store.select(selectCurrentMLS);\n const reportData = this.store.select(CustomReportDataDetails);\n combineLatest([reportData, mls])\n .pipe(take(1))\n .subscribe(data => {\n const [report, mls] = data;\n const reportData = report.reportData;\n let colHeaders = ['Description'];\n let name = `Custom-Report-Data-${mls.mlsId}`;\n reportData.forEach((item, index) => {\n const date = new Date(reportData[index].period);\n const newDate = format(date, 'MMM-yy');\n colHeaders.push(newDate);\n });\n let customCSV = colHeaders.join(',') + '\\r\\n';\n for (const key in ICustomDataTypeByNumEnum) {\n if (ICustomDataTypeByNumEnum.hasOwnProperty(key) && !isNaN(Number(key))) {\n const element = ICustomDataTypeByNumEnum[key] as keyof typeof ICustomDataTypeByNumEnum;\n customCSV += `${ICustomDataTypeEnum[element]},`;\n reportData.forEach(x => {\n customCSV += this.roundToTwoDecimal(x[element]) + ',';\n });\n customCSV += '\\r\\n';\n }\n }\n if (isCSV) {\n ReportService.generateCSVLink(customCSV, name);\n } else {\n ReportService.generateJsonToXlsx(\n customCSV.split('\\r\\n').map(csv => {\n return csv.split(',');\n }) as any,\n name,\n true\n );\n }\n });\n }\n\n private roundToTwoDecimal(num: number): number {\n return Math.round((num + Number.EPSILON) * 100) / 100;\n }\n\n toggleAllData($event: MatCheckboxChange) {\n this.store.dispatch(new SetDataTableShowAll($event.checked));\n }\n\n dataPointSelectedHandler(value: ICustomGraphSetting): void {\n this.showTrendLines = this.trendLineShowStatus;\n this.disableTrendLines = false;\n this.store.dispatch(new AdjustCustomReportDataTypes(value));\n this.customReportSvc.setThreePointChartData(null);\n }\n\n displayDataPointSelectedHandler(value: ICustomGraphSetting): void {\n this.showTrendLines = this.trendLineShowStatus;\n this.disableTrendLines = false;\n this.store.dispatch(new AdjustCustomReportDisplayAs(value));\n this.customReportSvc.setThreePointChartData(null);\n }\n\n threePointHandler(dataPointIds: string[]) {\n this.showTrendLines = false;\n this.disableTrendLines = true;\n this.cardData.typeArr = dataPointIds.map(d => ICustomDataTypeEnum[d]);\n this.graphTitle = this.cardData.typeArr.join(' x ');\n this.cardData.yAxisLabels = this.customReportSvc.getYAxisLabels(dataPointIds.map(dataPointId => ICustomDataTypeByNumEnum[dataPointId]));\n this.data.chartTypesConverted = ['Column', 'Column', 'Line'];\n this.data.dataPoints[0] = this.customReportSvc.getChartDataPointsPerDataType(ICustomDataTypeByNumEnum[dataPointIds[0]], this.data);\n this.data.dataPoints[1] = this.customReportSvc.getChartDataPointsPerDataType(ICustomDataTypeByNumEnum[dataPointIds[1]], this.data);\n this.data.dataPoints[2] = this.customReportSvc.getChartDataPointsPerDataType(ICustomDataTypeByNumEnum[dataPointIds[2]], this.data);\n this.data.axisLabels = this.cardData.yAxisLabels;\n this.customReportSvc.setThreePointChartData({\n data: this.data,\n cardData: this.cardData,\n graphDataTypes: dataPointIds.map((dataPointId, index) => {\n return {\n seriesTypes: index === 2 ? 'Line' : 'Column',\n dataKey: dataPointId,\n axisLabel: this.cardData.yAxisLabels[index]\n };\n })\n });\n }\n\n setSelectedTrendLine(value): void {\n this.trendLineShowStatus = value.checked;\n }\n}\n","\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n
\n
Custom Market Report
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n Display All Data \n Show Trend Line\n
\n
\n \n
\n
\n
\n\n \n\n\n The database connection has timed out, please refresh the page. If you need further assistance, please contact the Help Desk at\n 877-678-HELP (877-678-4357).\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatRadioChange } from '@angular/material/radio';\nimport { MatSelectChange } from '@angular/material/select';\nimport { ICustomDataTypeByNumEnum } from '../../../../../../models/ICustomDataTypeEnum';\nimport { ICustomGraphSetting, ICustomReportControl } from '../../../../../../store/state/custom-report.state';\n\n@Component({\n selector: 'app-custom-graph-group-by-dropdown',\n templateUrl: './custom-graph-group-by-dropdown.component.html',\n styleUrls: ['./custom-graph-group-by-dropdown.component.scss']\n})\nexport class CustomGraphGroupByDropdownComponent implements OnInit {\n ICustomDataTypeByNumEnum = ICustomDataTypeByNumEnum;\n @Input() dataPoints: ICustomReportControl[];\n @Input() controlIndex: number;\n @Input() dataTypeValue: number;\n @Input() displayAsValue: number;\n @Input() disabled = false;\n @Input() showThreePoints = false;\n @Output() selectedDataPoint: EventEmitter = new EventEmitter();\n @Output() selectedDisplayAs: EventEmitter = new EventEmitter();\n @Output() threeDataPointChange: EventEmitter = new EventEmitter();\n selectedDataType: string;\n\n displayTypes;\n\n ngOnInit(): void {}\n\n emitDataTypeChange(event: MatSelectChange, idx: number) {\n if (event.value.length === 3) {\n this.emitThreeDataPointChange(event);\n } else {\n this.selectedDataPoint.emit(this.extracted(event, idx));\n const selectedDataPoint = this.dataPoints.find(dataPoint => {\n return ICustomDataTypeByNumEnum[dataPoint.dataKey] === event.value;\n });\n this.selectedDisplayAs.emit(this.extracted({ value: selectedDataPoint.chartType } as any, idx));\n }\n }\n\n emitThreeDataPointChange(event: MatSelectChange): void {\n this.threeDataPointChange.emit(event.value);\n }\n\n private extracted(event: MatSelectChange | MatRadioChange, idx: number) {\n const value = event.value;\n return {\n idx,\n value\n };\n }\n}\n","\n \n \n {{ i.description }}\n \n \n ------------------------------\n \n \n Solds/Actives/Contracts\n \n \n Solds/Actives/New Listings\n \n \n Actives/New Listings/Contracts\n \n \n\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ICustomDataTypeByNumEnum, ICustomDisplayAsEnum } from '../../../../../models/ICustomDataTypeEnum';\nimport { CustomReportService } from '../../../../../services/custom-report.service';\nimport { CustomReportDataTypes, CustomReportDisplayAs, CustomReportLoading } from '../../../../../store/selectors/custom-graph.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { ICustomGraphSetting, ICustomReportControl } from '../../../../../store/state/custom-report.state';\n\n@Component({\n selector: 'app-custom-report-controls',\n templateUrl: './custom-report-controls.component.html',\n styleUrls: ['./custom-report-controls.component.scss']\n})\nexport class CustomReportControlsComponent implements OnInit {\n @Output() threeDataPointSelected: EventEmitter = new EventEmitter();\n @Output() dataPointSelected: EventEmitter = new EventEmitter();\n @Output() displayDataPointSelected: EventEmitter = new EventEmitter();\n dataPointControlArray: Observable<{\n dataTypes: ICustomReportControl[][];\n dataTypesSelected: [number, number];\n displayAsSelected: [number, number];\n }>;\n loading$: Observable;\n displayAs$: Observable<[number, number]>;\n dataGraphTypes = {\n msp: ICustomDisplayAsEnum.Column,\n aopernl: ICustomDisplayAsEnum.Line,\n aoperai: ICustomDisplayAsEnum.Line,\n dom: ICustomDisplayAsEnum.Line,\n msi: ICustomDisplayAsEnum.Line,\n sppersf: ICustomDisplayAsEnum.Line,\n splp: ICustomDisplayAsEnum.Line,\n asp3: ICustomDisplayAsEnum.Column,\n alp3: ICustomDisplayAsEnum.Column,\n sppersf3: ICustomDisplayAsEnum.Line,\n splp3: ICustomDisplayAsEnum.Line,\n asp: ICustomDisplayAsEnum.Column,\n mlp: ICustomDisplayAsEnum.Column,\n alp: ICustomDisplayAsEnum.Column,\n nl: ICustomDisplayAsEnum.Line,\n ai: ICustomDisplayAsEnum.Line,\n solds: ICustomDisplayAsEnum.Line,\n expired: ICustomDisplayAsEnum.Line,\n ao: ICustomDisplayAsEnum.Line\n };\n threePointSelected = false;\n private srcArray: ICustomReportControl[][];\n\n constructor(private store: Store, private customReportSvc: CustomReportService) {}\n\n ngOnInit(): void {\n this.loading$ = this.store.select(CustomReportLoading);\n this.displayAs$ = this.store.select(CustomReportDisplayAs);\n this.dataPointControlArray = this.customReportSvc.getCustomReportTypes().pipe(\n switchMap(i => {\n const listOfTypes = i.map(x => {\n x.dataKey = x.dataKey.toLowerCase();\n if (x.dataKey === 'sppersqft3') {\n x.dataKey = 'sppersf3';\n } else if (x.dataKey === 'activeinventory') {\n x.dataKey = 'ai';\n }\n x.chartType = this.dataGraphTypes[x.dataKey];\n return x;\n });\n this.srcArray = Array(2).fill(listOfTypes);\n return combineLatest([this.store.select(CustomReportDataTypes), this.store.select(CustomReportDisplayAs)]);\n }),\n map(observable => {\n const [dataTypesSelected, displayAsSelected] = observable;\n const dataTypes = this.srcArray?.map((srcListOfTypes, idx) => {\n if (!srcListOfTypes) {\n return [];\n }\n return this.filterDropdownOptions(srcListOfTypes, dataTypesSelected, idx);\n });\n this.configureAxis();\n return { dataTypes, dataTypesSelected, displayAsSelected };\n })\n );\n }\n\n filterAvailableDataPoints(value: ICustomGraphSetting) {\n this.threePointSelected = false;\n this.dataPointSelected.emit(value);\n }\n\n adjustDisplayAs(value: ICustomGraphSetting) {\n this.displayDataPointSelected.emit(value);\n }\n\n private filterDropdownOptions(listOfTypes: ICustomReportControl[], opts: [number, number], idx: number) {\n return listOfTypes.map(x => {\n return {\n ...x,\n disabled: opts.filter((y, i) => i !== idx)?.includes(ICustomDataTypeByNumEnum[x.dataKey])\n };\n });\n }\n private configureAxis() {\n // this.store.dispatch(new SetCustomReportGraphAxis([0, 1]));\n }\n\n threePointHandler(dataPointIds: string[]) {\n this.threePointSelected = true;\n this.threeDataPointSelected.emit(dataPointIds);\n }\n}\n","
\n Choose the data points you would like to display on your Custom Market Report\n
\n
\n \n \n \n\n \n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ICustomReportHeader } from '../../../../../models/ICustomReportHeader';\n\n@Component({\n selector: 'app-custom-report-stats',\n templateUrl: './custom-report-stats.component.html',\n styleUrls: ['./custom-report-stats.component.scss']\n})\nexport class CustomReportStatsComponent implements OnInit {\n @Input() stats: ICustomReportHeader;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n\n\n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { DataRow } from '../../../../../models/ICustomDataTypeEnum';\nimport { SharedComponentsModule } from '../../../shared/shared-components.module';\n\n@Component({\n standalone: true,\n imports: [CommonModule, SharedComponentsModule],\n selector: 'app-custom-report-table',\n templateUrl: './custom-report-table.component.html',\n styleUrls: ['./custom-report-table.component.scss']\n})\nexport class CustomReportTableComponent implements OnInit {\n @Input() tableRowsArr: DataRow[];\n @Input() tableHeaderArr: string[];\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
{{ i }}
\n
\n
\n
\n
\n
{{ i.name }}
\n
{{ d }}
\n
\n
\n
\n","import { AfterViewInit, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { combineLatest, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IAgentReport } from '../../../../../models/IAgentReport';\nimport { ChartTypes } from '../../../../../models/IChartTypes';\nimport { ImageTypes } from '../../../../../models/ImageTypes';\nimport { IReportDetail } from '../../../../../models/IReportDetail';\nimport { IReportHeader } from '../../../../../models/IReportHeader';\nimport { EncryptedReportData } from '../../../../../models/IReportPageData';\nimport { ITopGroupTypeData } from '../../../../../models/ITopGroupTypeData';\nimport { DisclaimerService } from '../../../../../services/disclaimer.service';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { ReportDetailService } from '../../../../../services/report-details.service';\nimport { SyncFusionConfigService } from '../../../../../services/sync-fusion-config.service';\nimport { pdfPreviewOrientation, pdfShowAgentInfo, pdfShowHideFirmName, pdfShowLogo } from '../../../../../store/selectors/pdf.selector';\nimport { selectReportPageData } from '../../../../../store/selectors/reports.selectors';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-cbr-claims-export-preview',\n templateUrl: './c-b-r-claims-export-preview.component.html',\n styleUrls: ['./c-b-r-claims-export-preview.component.scss']\n})\nexport class CBRClaimsExportPreviewComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() showLogo = true;\n @Input() hideChartNames = true;\n subs = new Subscription();\n reportChartSize = ChartTypes;\n pageData$: Observable<{\n agent: IAgentReport;\n data: IReportDetail | IReportHeader;\n imageUrl: string;\n disclaimer: string;\n }>;\n islandscape: boolean;\n show = true;\n graph: EncryptedReportData;\n pdfOrientation$: Observable;\n pdfShowName$: Observable;\n pdfShowLogo$: Observable;\n pdfShowAgentInfo$: Observable;\n realogyPositionIndex: number;\n reportHeaderEntity: IReportHeader;\n backgroundImage: string;\n\n constructor(\n private store: Store,\n private opts: OptionsService,\n private disclaimerService: DisclaimerService,\n private optionSvc: OptionsService,\n private reportDetailService: ReportDetailService\n ) {}\n\n resetOrientation() {\n this.show = false;\n\n setTimeout(() => {\n this.show = true;\n }, 1);\n }\n\n ngAfterViewInit() {}\n\n ngOnInit(): void {\n this.pdfOrientation$ = this.store.select(pdfPreviewOrientation);\n this.pdfShowName$ = this.store.select(pdfShowHideFirmName);\n this.pdfShowAgentInfo$ = this.store.select(pdfShowAgentInfo);\n this.pdfShowLogo$ = this.store.select(pdfShowLogo);\n\n this.subs.add(\n this.pdfOrientation$.subscribe(d => {\n if (this.islandscape !== undefined && this.islandscape !== d) {\n this.resetOrientation();\n }\n this.islandscape = d;\n })\n );\n\n this.pageData$ = combineLatest([this.store.select(selectReportPageData), this.pdfShowName$, this.pdfShowAgentInfo$]).pipe(\n map(d => {\n let disclaimer;\n const [claims, showFirmName] = d;\n\n this.realogyPositionIndex = null;\n const data = claims?.reportDetail;\n this.graph = cloneDeep(claims);\n if (!showFirmName) {\n const position = 1;\n this.graph.reportDetail.reportGraphEntities = this.reportDetailService.remapGraphEntryNames(\n this.graph.reportDetail,\n position,\n true\n );\n }\n const agent = claims?.reportDetail?.agentReportEntity;\n const path = this.opts.getImagePathForReport();\n const logo = (claims?.reportDetail?.imagePromoEntities || []).find(image => {\n return image.imageSize === ImageTypes['websiteDba'];\n });\n const imageUrl = path + logo.imageURL;\n disclaimer = this.disclaimerService.formatCBRDisclaimer(\n (data as IReportDetail).reportHeaderEntity,\n (data as IReportDetail).agentReportEntity,\n false\n );\n\n this.reportHeaderEntity = data['reportHeaderEntity'];\n const bgImage = ((data && data['imagePromoEntities']) || []).find(imageEntity => {\n return imageEntity.imageSize === 'Background';\n }) as any;\n\n this.backgroundImage = this.optionSvc.getImagePathForReport() + bgImage.imageURL;\n return { data, agent, imageUrl, disclaimer };\n })\n );\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n
\n
\n

{{ reportData.agent.brokerageName }} {{ 'is Ranked #1 in ' + (reportHeaderEntity | reportLocationName) || 'All Locations' }}

\n

\n Leading {{ reportHeaderEntity.groupByLevel }} by {{ reportHeaderEntity.msTypeName }} ({{ reportHeaderEntity.displayDateRange }})\n

\n
\n
\n \n
\n

Contact me today to sell your property or find the perfect home for your changing needs.

\n
\n
\n \"agent\n
\n
\n
\n

\n {{ reportData.agent.name }}\n

\n

\n {{ reportData.agent.title }}\n

\n
\n
\n

{{ reportData.agent.number }}

\n
\n
\n

{{ reportData.agent.phone }}

\n
\n
\n

{{ reportData.agent.email }}

\n
\n
\n

{{ reportData.agent.websiteUrl }}

\n
\n
\n

{{ reportData.agent.address }}

\n
\n
\n

{{ reportData.agent.city }}, {{ reportData.agent.stateCD }}

\n
\n
\n

{{ reportData.agent.otherPhone }}

\n
\n
\n
\n \"logo\"\n
\n
\n
\n

{{ reportData.disclaimer }}

\n
\n
\n\n\n\n","import { AfterViewChecked, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IReportGraph } from '../../../../../models/IReportGraph';\nimport { EncryptedReportData } from '../../../../../models/IReportPageData';\nimport { DisclaimerService } from '../../../../../services/disclaimer.service';\nimport { ExportService } from '../../../../../services/export.service';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { ImageTypes } from '../../../../../models/ImageTypes';\nimport { ReportService } from '../../../../../services/report.service';\nimport { ExportPreviewToggle } from '../../../../../store/actions/pdf.action';\nimport { pdfExportPreviewOpen, pdfOptions } from '../../../../../store/selectors/pdf.selector';\nimport { selectReportPageData } from '../../../../../store/selectors/reports.selectors';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { IPdfOptions } from '../../../../../store/state/pdf.state';\nimport { GalleryImage } from 'app/models/GalleryImage';\n\n@Component({\n selector: 'app-sir-claims-export-preview',\n templateUrl: './s-i-r-claims-export-preview.component.html',\n styleUrls: ['./s-i-r-claims-export-preview.component.scss']\n})\nexport class SIRClaimsExportPreviewComponent implements OnInit, AfterViewChecked, OnDestroy {\n @Input() showLogo = true;\n @Input() hideChartNames = true;\n subs = new Subscription();\n pdfOpts$: Observable;\n data$: Observable<{\n data: EncryptedReportData;\n maxValue: number;\n disclaimer: string;\n logo: string;\n graphData: {\n levelEntityName: string;\n levelEntityXtra: string;\n reportMeasureValue: number | string;\n formattedValue: number | string;\n isCb?: boolean;\n marketSharePercentage: number;\n }[];\n }>;\n scale: number;\n\n constructor(\n private store: Store,\n private disclaimer: DisclaimerService,\n private exportSvc: ExportService,\n private optionsService: OptionsService\n ) {}\n\n private static hideFirmName(idx: number) {\n return 'Firm ' + (10 + idx).toString(36).toUpperCase();\n }\n\n private static formatFirmName(opts: IPdfOptions, entity: IReportGraph, idx: number) {\n const trimmedName = ExportService.trimDataAfterParenthesis(entity.levelEntityName + entity.levelEntityXtra);\n return opts.showFirmNames ? trimmedName : !idx ? trimmedName : SIRClaimsExportPreviewComponent.hideFirmName(idx);\n }\n\n private static pickMaxValue(data: EncryptedReportData) {\n return data.reportDetail.reportGraphEntities.reduce(\n (max, p) => (p.reportMeasureValue > max ? p.reportMeasureValue : max),\n data.reportDetail.reportGraphEntities[0].reportMeasureValue\n );\n }\n\n fitColumnHeight() {\n let maxH;\n document.querySelectorAll('.series').forEach((col: HTMLElement) => {\n let isLeader = col.getAttribute('leader');\n const columnHeight = col.getAttribute('h');\n const labelHeight = col.querySelector('.series-label').clientHeight;\n col.style.height = columnHeight + '%';\n if (maxH) {\n col.style.height = Math.min(650, maxH * (parseInt(columnHeight) / 100)) + 'px';\n } else {\n col.style.height = Math.min(650, col.clientHeight - labelHeight) + 'px';\n }\n if (isLeader) {\n maxH = col.clientHeight;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.store.dispatch(new ExportPreviewToggle(false));\n }\n\n ngAfterViewChecked() {\n this.fitColumnHeight();\n }\n\n ngOnInit(): void {\n this.store.select(pdfExportPreviewOpen).subscribe(isOpen => {\n if (isOpen) {\n this.fitColumnHeight();\n }\n });\n\n this.data$ = combineLatest([this.store.select(selectReportPageData), this.store.select(pdfOptions)]).pipe(\n map(subscription => {\n const [data, opts] = subscription;\n const maxValue = SIRClaimsExportPreviewComponent.pickMaxValue(data);\n const graphData = this.formatGraphData(data, opts);\n const disclaimer = this.disclaimer.formatDisclaimerSIR(data.reportDetail.reportHeaderEntity);\n const logo = this.getLogo(data.reportDetail?.imagePromoEntities);\n\n return { data, maxValue, graphData, disclaimer, logo };\n })\n );\n\n this.pdfOpts$ = this.store.select(pdfOptions);\n }\n\n private formatGraphData(data: EncryptedReportData, opts: IPdfOptions) {\n return data.reportDetail.reportGraphEntities.map((entity, idx) => {\n return {\n ...entity,\n levelEntityName: SIRClaimsExportPreviewComponent.formatFirmName(opts, entity, idx),\n formattedValue: data.reportDetail.reportHeaderEntity.msTypeName.toLowerCase().includes('unit')\n ? entity.reportMeasureValue\n : this.optionsService.numFormatter(entity.reportMeasureValue, 2)\n };\n });\n }\n\n getHeight(progress: number | string, total: number): number {\n return (parseFloat(progress + '') / total) * 100;\n }\n\n private getLogo(images: GalleryImage[]): string {\n if (images.length > 0) {\n return (\n this.optionsService.getImagePathForReport() +\n images.find(image => {\n return image.imageSize == ImageTypes['websiteDba'];\n }).imageURL\n );\n }\n return '';\n }\n}\n","
\n
\n \n
\n \n {{ i.levelEntityName }}\n \n \n {{ i.formattedValue }}\n \n
\n
\n
\n
\n
\n
\n \"Sotheby's\n
\n
{{ data.data.reportDetail.reportHeaderEntity.displayDateRange }}
\n
\n
\n
\n Number\n One\n
\n
\n
\n {{ data.data.reportDetail.reportHeaderEntity.groupByLevel }}\n By {{ data.data.reportDetail.reportHeaderEntity.msTypeName }}\n
\n
\n {{ data.data.reportDetail.reportHeaderEntity.areaLocalName }}\n
\n
{{ data.data.reportDetail.reportHeaderEntity.priceType }}
\n
\n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ICustomChartData } from '../../../../models/ICustomChartData';\nimport { ICustomDataTypeByNumEnum, ICustomDataTypeEnum } from '../../../../models/ICustomDataTypeEnum';\nimport { CustomReportService } from '../../../../services/custom-report.service';\nimport { CustomReportAxis, CustomReportDataTypes } from '../../../../store/selectors/custom-graph.selector';\nimport { pdfOptions, pdfPreviewOrientation } from '../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-custom-export-preview',\n templateUrl: './custom-export-preview.component.html',\n styleUrls: ['./custom-export-preview.component.scss']\n})\nexport class CustomExportPreviewComponent implements OnInit {\n pdfIsLandscape$: Observable;\n pdfOptions$: Observable<{\n isLandscape: boolean;\n showTable: boolean;\n showCover: boolean;\n showAgentInfo: boolean;\n showTrendLines: boolean;\n }>;\n chartAxis$ = this.store.select(CustomReportAxis);\n chartData: ICustomChartData;\n typesArray: string[];\n isThreePointChart = false;\n\n constructor(\n private store: Store,\n private customReportSvc: CustomReportService,\n private customReportService: CustomReportService\n ) {\n this.pdfIsLandscape$ = this.store.select(pdfPreviewOrientation);\n this.pdfOptions$ = this.store.select(pdfOptions).pipe(\n map(pdfOpts => {\n const showTable = pdfOpts.showtable;\n const isLandscape = pdfOpts.islandscape;\n const showCover = pdfOpts.showcover;\n const showAgentInfo = pdfOpts.showAgentInfo;\n const showTrendLines = pdfOpts.showTrendLines;\n return { showTable, isLandscape, showCover, showAgentInfo, showTrendLines };\n })\n );\n }\n\n ngOnInit(): void {\n this.initChartData();\n }\n\n initChartData(): void {\n this.isThreePointChart = this.customReportService.getIsThreePointChart();\n if (this.isThreePointChart) {\n const threePointData = this.customReportService.getThreePointChartData();\n this.chartData = threePointData.data;\n this.typesArray = threePointData.cardData.typeArr;\n } else {\n combineLatest([this.store.select(CustomReportDataTypes), this.getData$()]).subscribe(([typesArray, chartData]) => {\n this.chartData = chartData;\n this.typesArray = typesArray.map(d => ICustomDataTypeEnum[ICustomDataTypeByNumEnum[d]]);\n });\n this.getData$().subscribe(data => {\n this.chartData = data;\n });\n }\n }\n\n private getData$() {\n return this.customReportSvc.setChartDataData();\n }\n}\n","
\n
\n \n \n \n \n
\n \n
\n
\n
\n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { Store } from '@ngrx/store';\nimport { ReportService } from 'app/services/report.service';\nimport { omit } from 'lodash-es';\nimport { ExportOption } from '../../../../models/ExportOption';\nimport { ITrendsOptionEnum } from '../../../../models/ITrendsOptions';\nimport { ReportTypeEnum, ReportTypeLongStrEnum } from '../../../../models/ReportTypes';\nimport { ExportService } from '../../../../services/export.service';\nimport { ModalService } from '../../../../services/modal.service';\nimport { FetchTrendsPdf } from '../../../../store/actions/market-trends.action';\nimport { FetchCustomReportPdf } from '../../../../store/actions/custom-report.action';\nimport { FetchReportPDF, ResetExportPreviewData, ResetPdfOptions, UpdatePdfOptions } from '../../../../store/actions/pdf.action';\nimport { pdfPending } from '../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { IPdfOptions } from '../../../../store/state/pdf.state';\nimport { CustomReportService } from 'app/services/custom-report.service';\n\n@Component({\n selector: 'app-export-preview-controls',\n templateUrl: './export-preview-controls.component.html',\n styleUrls: ['./export-preview-controls.component.scss']\n})\nexport class ExportPreviewControlsComponent implements OnInit, OnDestroy {\n @Input() showComplex = false;\n @Input() showMarketPositionTable = false;\n @Input() showOrientation = false;\n @Input() reportType = 0;\n @Input() isSIR: boolean;\n ReportTypeEnum = ReportTypeEnum;\n public formGroup: UntypedFormGroup;\n optionArray: ExportOption[] = [];\n indeterminateEnabled = false;\n selectAllEnabled = true;\n loading: boolean;\n downloadPending = false;\n\n constructor(\n private fb: UntypedFormBuilder,\n private store: Store,\n private modalService: ModalService,\n private exportSvc: ExportService,\n private reportService: ReportService,\n private customReportService: CustomReportService\n ) {\n this.formGroup = this.fb.group({\n showcover: [true],\n showtable: [true],\n showamsp: [true],\n showsplp: [true],\n shownbrsoldar: [true],\n showdom: [true],\n showspsqft: [true],\n showaimsi: [true],\n shownl: [true],\n islandscape: [true],\n showBrandLogo: [true],\n showAgentInfo: [true],\n showFirmNames: [true],\n showMarketPositionTable: [true],\n showTrendLines: [this.customReportService.getIsThreePointChart() ? false : true]\n });\n this.formGroup.setValidators(this.pdfSectionRequired());\n\n this.reportService.downloadSuccess().subscribe((fileName: string) => {\n if (fileName) {\n this.downloadPending = false;\n this.loading = false;\n }\n });\n }\n\n private static setSelectAllCheckbox(uniqFormValues: T[]) {\n if (uniqFormValues.length === 1) {\n return uniqFormValues.every(Boolean);\n }\n return false;\n }\n\n ngOnInit(): void {\n this.optionArray = this.generateOptions(ReportTypeEnum[this.reportType] as ReportTypeLongStrEnum).filter(option => {\n if (option.formControlName === 'showTrendLines' && this.customReportService.getIsThreePointChart()) {\n return false;\n }\n return true;\n });\n this.store.select(pdfPending).subscribe(d => {\n this.loading = d;\n });\n\n this.formGroup.valueChanges.subscribe((d: IPdfOptions) => {\n const values = omit(d, ['islandscape', 'showBrandLogo', 'showAgentInfo', 'showFirmNames', 'showMarketPositionTable']);\n const uniqFormValues = [...new Set(Object.values(values))];\n this.indeterminateEnabled = uniqFormValues.length > 1;\n this.selectAllEnabled = ExportPreviewControlsComponent.setSelectAllCheckbox(uniqFormValues);\n this.store.dispatch(new UpdatePdfOptions(d));\n });\n }\n\n submit() {\n if (this.loading || this.downloadPending) {\n return;\n }\n\n this.downloadPending = true;\n if (this.showComplex && this.reportType === 2) {\n return !this.loading && this.store.dispatch(new FetchTrendsPdf(this.formGroup.value));\n }\n if (this.showComplex && this.reportType === 4) {\n return !this.loading && this.store.dispatch(new FetchCustomReportPdf(this.formGroup.value));\n } else {\n return (\n !this.loading &&\n this.store.dispatch(\n new FetchReportPDF({\n reportType: this.reportType,\n orientation: this.formGroup.get('islandscape').value ? 'landscape' : 'portrait',\n isSIR: this.isSIR,\n showLogo: this.formGroup.get('showBrandLogo').value,\n showAgentInfo: this.formGroup.get('showAgentInfo').value,\n showFirmName: this.formGroup.get('showFirmNames').value,\n showMarketPositionTable: this.formGroup.get('showMarketPositionTable').value\n })\n )\n );\n }\n }\n\n changeAll($event: MatCheckboxChange) {\n const keys = {};\n Object.keys(this.formGroup.controls).forEach(key => {\n if (key !== 'islandscape') {\n keys[key] = $event.checked;\n }\n });\n this.formGroup.patchValue(keys);\n }\n\n adjustOrientation(b: boolean) {\n this.formGroup.get('islandscape').patchValue(b);\n }\n\n ngOnDestroy() {\n this.store.dispatch(new ResetPdfOptions());\n this.store.dispatch(new ResetExportPreviewData());\n }\n\n close() {\n this.modalService.close();\n }\n\n private generateOptions(type: ReportTypeLongStrEnum): ExportOption[] {\n return this.exportSvc.generatePreviewControlsArray(type);\n }\n\n private pdfSectionRequired = () => {\n return controlGroup => {\n const controls = controlGroup.controls;\n if (controls) {\n const selectedCtrl = Object.values(ITrendsOptionEnum).find(key => !!controls[key].value);\n if (!selectedCtrl) {\n return {\n atLeastOneRequired: true\n };\n }\n }\n return null;\n };\n };\n}\n","
\n
\n Export Options\n close\n
\n
\n
\n Select which sections you want to include in export.\n All Sections\n \n
\n
\n
\n {{ chk.label }}\n
\n
\n
\n
\n Select report orientation.\n \n \n
\n
\n \n \n
\n
\n","import { ComponentType } from '@angular/cdk/overlay';\nimport {\n AfterViewChecked,\n Component,\n ComponentRef,\n HostListener,\n Inject,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { ExportPaneDirective } from '../../../directives/export-pane.directive';\nimport { ExportPreviewToggle } from '../../../store/actions/pdf.action';\nimport { pdfExportPreviewOpen } from '../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\nexport interface ExportPreviewOpts {\n controlOnly: boolean;\n component: ComponentType;\n isComplexTemplate?: boolean;\n showMarketPositionTable?: boolean;\n showOrientation?: boolean;\n reportType?: number;\n isSIR?: boolean;\n isClaims?: boolean;\n}\n\nexport interface Conf {\n maxWidth?: string;\n maxHeight?: string;\n width?: string;\n height?: string;\n panelClass: string;\n disableClose: boolean;\n data: ExportPreviewOpts;\n}\n\n@Component({\n selector: 'app-export-preview',\n templateUrl: './export-preview.component.html',\n styleUrls: ['./export-preview.component.scss']\n})\nexport class ExportPreviewComponent implements OnInit, AfterViewChecked, OnDestroy {\n @ViewChild(ExportPaneDirective, { static: true }) p;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public opts: ExportPreviewOpts,\n private viewContainerRef: ViewContainerRef,\n private store: Store\n ) {}\n\n ngOnDestroy(): void {\n this.store.dispatch(new ExportPreviewToggle(false));\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.fitToParent(document.getElementById('zoom'), 0);\n }\n\n ngOnInit() {\n this.store.select(pdfExportPreviewOpen).subscribe(isOpen => {\n if (isOpen) {\n this.fillContentPanel(this.opts.component);\n }\n });\n }\n\n fillContentPanel(component: ComponentType) {\n if (component) {\n const viewContainerRef = this.p?.viewContainerRef;\n viewContainerRef?.clear();\n const c: ComponentRef = viewContainerRef.createComponent(component);\n (c.instance as any).isClaims = this.opts.isClaims;\n }\n }\n\n ngAfterViewChecked() {\n this.fitToParent(document.getElementById('zoom'), 0);\n }\n\n fitToParent(element, margin) {\n const scale = this.scaleAmountNeededToFit(element, margin);\n element.style.transform = `translate(${margin}px, ${margin}px) scale(${scale})`;\n }\n\n scaleAmountNeededToFit(el, margin = 0) {\n const parentSize = {\n width: el.parentElement.clientWidth - margin * 2,\n height: el.parentElement.clientHeight - margin * 2\n };\n\n return Math.min(parentSize.width / el.clientWidth, parentSize.height / el.clientHeight);\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { UrlShortenPipe } from '../../../pipes/url-shorten.pipe';\nimport { CustomChartComponent } from '../custom-graph/custom-chart/custom-chart.component';\nimport { CustomGraphNoRoutingModule } from '../custom-graph/custom-graph-no-routing.module';\nimport { SharedComponentsModule } from '../shared/shared-components.module';\nimport { TrendsNoRouteModule } from '../trends/trends-no-route.module';\nimport { CBRClaimsExportPreviewComponent } from './claims-export-preview/CBR/c-b-r-claims-export-preview.component';\nimport { SIRClaimsExportPreviewComponent } from './claims-export-preview/SIR/s-i-r-claims-export-preview.component';\nimport { CustomExportPreviewComponent } from './custom-export-preview/custom-export-preview.component';\nimport { ExportPreviewControlsComponent } from './export-preview-controls/export-preview-controls.component';\nimport { ExportPreviewComponent } from './export-preview.component';\nimport { CBRMarketExportPreviewComponent } from './market-export-preview/CBR/c-b-r-market-export-preview/c-b-r-market-export-preview.component';\nimport { SIRMarketExportPreviewComponent } from './market-export-preview/SIR/s-i-r-market-export-preview.component';\nimport { AgentBrandingBlockComponent } from './trends-export-preview/agent-branding-block/agent-branding-block.component';\nimport { ConnectWithMeBlockComponent } from './trends-export-preview/export-preview-cover/cover-agent-section/connect-with-me-block/connect-with-me-block.component';\nimport { ContactInfoBlockComponent } from './trends-export-preview/export-preview-cover/cover-agent-section/contact-info-block/contact-info-block.component';\nimport { CoverAgentSectionComponent } from './trends-export-preview/export-preview-cover/cover-agent-section/cover-agent-section.component';\nimport { UserInfoBlockComponent } from './trends-export-preview/export-preview-cover/cover-agent-section/user-info-block/user-info-block.component';\nimport { CoverFilterSectionComponent } from './trends-export-preview/export-preview-cover/cover-filter-section/cover-filter-section.component';\nimport { FilterTileComponent } from './trends-export-preview/export-preview-cover/cover-filter-section/filter-tile/filter-tile.component';\nimport { CoverMainComponent } from './trends-export-preview/export-preview-cover/cover-main/cover-main.component';\nimport { CoverTitleComponent } from './trends-export-preview/export-preview-cover/cover-title/cover-title.component';\nimport { ExportPreviewCoverComponent } from './trends-export-preview/export-preview-cover/export-preview-cover.component';\nimport { ExportPreviewFooterComponent } from './trends-export-preview/export-preview-footer/export-preview-footer.component';\nimport { ExportPreviewHeaderComponent } from './trends-export-preview/export-preview-header/export-preview-header.component';\nimport { ExportPreviewPageComponent } from './trends-export-preview/export-preview-page/export-preview-page.component';\nimport { TrendsExportComponent } from './trends-export-preview/trends-export.component';\n\n@NgModule({\n declarations: [\n TrendsExportComponent,\n ExportPreviewPageComponent,\n ExportPreviewHeaderComponent,\n ExportPreviewFooterComponent,\n ExportPreviewCoverComponent,\n AgentBrandingBlockComponent,\n SIRMarketExportPreviewComponent,\n CoverAgentSectionComponent,\n ConnectWithMeBlockComponent,\n ContactInfoBlockComponent,\n UserInfoBlockComponent,\n CoverFilterSectionComponent,\n CoverMainComponent,\n CoverTitleComponent,\n ExportPreviewComponent,\n ExportPreviewControlsComponent,\n CBRClaimsExportPreviewComponent,\n UrlShortenPipe,\n SIRClaimsExportPreviewComponent,\n CBRMarketExportPreviewComponent,\n CustomExportPreviewComponent\n ],\n imports: [\n CommonModule,\n SharedComponentsModule,\n TrendsNoRouteModule,\n FilterTileComponent,\n CustomGraphNoRoutingModule,\n CustomChartComponent\n ],\n exports: [\n TrendsExportComponent,\n ExportPreviewPageComponent,\n ExportPreviewHeaderComponent,\n ExportPreviewFooterComponent,\n ExportPreviewCoverComponent,\n AgentBrandingBlockComponent,\n SIRMarketExportPreviewComponent,\n CoverAgentSectionComponent,\n ConnectWithMeBlockComponent,\n ContactInfoBlockComponent,\n UserInfoBlockComponent,\n CoverFilterSectionComponent,\n CoverMainComponent,\n CoverTitleComponent,\n ExportPreviewComponent,\n ExportPreviewControlsComponent,\n CBRClaimsExportPreviewComponent,\n SIRClaimsExportPreviewComponent,\n UrlShortenPipe\n ]\n})\nexport class ExportPreviewModule {}\n","import { AfterViewInit, Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { IAgentReport } from 'app/models/IAgentReport';\nimport { ChartTypes } from 'app/models/IChartTypes';\nimport { ImageTypes } from 'app/models/ImageTypes';\nimport { IMarketPositionData } from 'app/models/IMarketPositionData';\nimport { IReportDetail } from 'app/models/IReportDetail';\nimport { IReportHeader } from 'app/models/IReportHeader';\nimport { EncryptedReportData } from 'app/models/IReportPageData';\nimport { ITopGroupTypeData } from 'app/models/ITopGroupTypeData';\nimport { DisclaimerService } from 'app/services/disclaimer.service';\nimport { OptionsService } from 'app/services/options.service';\nimport { ReportDetailService } from 'app/services/report-details.service';\nimport { SyncFusionConfigService } from 'app/services/sync-fusion-config.service';\nimport { selectMarketReportData } from 'app/store/selectors/market-position.selector';\nimport {\n pdfPreviewOrientation,\n pdfShowMarketPositionTable,\n pdfShowHideFirmName,\n pdfShowAgentInfo,\n pdfShowLogo\n} from 'app/store/selectors/pdf.selector';\nimport { selectReportPageData } from 'app/store/selectors/reports.selectors';\nimport { IAppState } from 'app/store/state/app.state';\nimport fitty from 'fitty';\nimport { Subscription, Observable, combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'app-c-b-r-market-export-preview',\n templateUrl: './c-b-r-market-export-preview.component.html',\n styleUrls: ['./c-b-r-market-export-preview.component.scss']\n})\nexport class CBRMarketExportPreviewComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() showLogo = true;\n @Input() hideChartNames = true;\n subs = new Subscription();\n reportChartSize = ChartTypes;\n pageData$: Observable<{\n agent: IAgentReport;\n data: IReportDetail | IReportHeader;\n imageUrl: string;\n table: ITopGroupTypeData[];\n disclaimer: string;\n }>;\n isLandscape: boolean;\n show = true;\n graph: EncryptedReportData;\n pdfOrientation$: Observable;\n pdfShowMarketPositionTable$: Observable;\n pdfShowName$: Observable;\n pdfShowLogo$: Observable;\n pdfShowAgentInfo$: Observable;\n fittyWidth: number;\n realogyPositionIndex: number;\n reportHeaderEntity: IReportHeader;\n\n constructor(\n private store: Store,\n private opts: OptionsService,\n private disclaimerService: DisclaimerService,\n private syncFusionService: SyncFusionConfigService,\n private reportDetailService: ReportDetailService\n ) {}\n\n resetOrientation() {\n this.show = false;\n\n setTimeout(() => {\n this.show = true;\n }, 1);\n }\n\n ngAfterViewInit() {\n this.fittyInit();\n }\n\n ngOnInit(): void {\n this.pdfOrientation$ = this.store.select(pdfPreviewOrientation);\n this.pdfShowMarketPositionTable$ = this.store.select(pdfShowMarketPositionTable);\n this.pdfShowName$ = this.store.select(pdfShowHideFirmName);\n this.pdfShowAgentInfo$ = this.store.select(pdfShowAgentInfo);\n this.pdfShowLogo$ = this.store.select(pdfShowLogo);\n\n this.subs.add(\n combineLatest([this.pdfShowMarketPositionTable$, this.pdfShowName$]).subscribe(() => {\n this.resetOrientation();\n })\n );\n\n this.subs.add(\n this.pdfOrientation$.subscribe(d => {\n if (this.isLandscape !== undefined && this.isLandscape !== d) {\n this.resetOrientation();\n this.fittyInit();\n }\n this.isLandscape = d;\n })\n );\n\n this.pageData$ = combineLatest([\n this.store.select(selectReportPageData),\n this.store.select(selectMarketReportData),\n this.pdfShowName$,\n this.pdfShowAgentInfo$\n ]).pipe(\n map(d => {\n let disclaimer;\n const [claims, market, showFirmName] = d;\n\n this.realogyPositionIndex = market?.realogyPosition?.marketPosition ? market?.realogyPosition?.marketPosition - 1 : null;\n const data = market?.reportHeaderEntity;\n this.graph = this.syncFusionService.prepareMarketChatDataModel(market);\n if (!showFirmName) {\n const position = market.realogyPosition?.marketPosition;\n this.graph.reportDetail.reportGraphEntities = this.reportDetailService.remapGraphEntryNames(\n this.graph.reportDetail,\n position,\n true\n );\n }\n const agent = market?.agentReportEntity;\n const path = this.opts.getImagePathForReport();\n const logo = (claims?.reportDetail?.imagePromoEntities || market?.imagePromoEntities).find(image => {\n return image.imageSize === ImageTypes.emailLogo;\n });\n const imageUrl = path + logo.imageURL;\n const table = market?.topGroupTypes;\n\n disclaimer = this.disclaimerService.formatCBRDisclaimer(\n ((market as unknown) as IMarketPositionData).reportHeaderEntity,\n ((market as unknown) as IMarketPositionData).agentReportEntity,\n true\n );\n\n this.reportHeaderEntity = data;\n return { data, agent, imageUrl, table, disclaimer };\n })\n );\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n private fittyInit() {\n setTimeout(() => {\n const width = this.isLandscape ? 359 : 335;\n this.fittyWidth = width - 10;\n const textFit = fitty('#my-element', { minSize: 9, maxSize: 16 });\n textFit[0]?.fit();\n }, 1);\n }\n\n getTableEntityName(showName: boolean, entityName: string, index: number, realogyName: string) {\n if (showName) {\n return entityName;\n } else {\n if (this.realogyPositionIndex === index || entityName === realogyName) {\n return entityName;\n } else {\n return `Competitor ${index + 1}`;\n }\n }\n }\n}\n","
\n
\n
\n
\n
\n
\n

{{ reportData.agent.brokerageName }}

\n

{{ 'Market position report' }}

\n
\n

\n {{ (reportHeaderEntity | reportLocationName) || 'All Locations' }}\n

\n
\n
\n
\n \n
\n
\n
\n \"agent\n
\n
\n
\n
\n
\n

\n {{ reportData.agent.name }}\n

\n

\n {{ reportData.agent.title }}\n

\n
\n
\n

{{ reportData.agent.number }}

\n
\n
\n

{{ reportData.agent.phone }}

\n
\n
\n

{{ reportData.agent.email }}

\n
\n
\n

{{ reportData.agent.websiteUrl }}

\n
\n
\n

{{ reportData.agent.address }}

\n
\n
\n

{{ reportData.agent.city }}, {{ reportData.agent.stateCD }}

\n
\n
\n

{{ reportData.agent.otherPhone }}

\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
#NAMELIST #LIST $SELL #SELL $TOTAL #TOTAL $
{{ idx + 1 }}\n {{ getTableEntityName(pdfShowName$ | async, d.entityName, idx, reportData.agent.brokerageName) }}\n {{ d.listUnits }}${{ d.listVolume | number }}{{ d.buyUnits }}${{ d.buyVolume | number }}{{ d.totalUnits }}${{ d.totalVolume | number }}
\n
\n
\n \n
\n

{{ reportData.disclaimer }}

\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IMarketPositionData } from '../../../../../models/IMarketPositionData';\nimport { ITopGroupTypeData } from '../../../../../models/ITopGroupTypeData';\nimport { DisclaimerService } from '../../../../../services/disclaimer.service';\nimport { ExportService } from '../../../../../services/export.service';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { ImageTypes } from '../../../../../models/ImageTypes';\nimport { selectMarketReportData, selectMarketShowAsPercent } from '../../../../../store/selectors/market-position.selector';\nimport { pdfOptions } from '../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { IPdfOptions } from '../../../../../store/state/pdf.state';\n\n@Component({\n selector: 'app-sir-market-export-preview',\n templateUrl: './s-i-r-market-export-preview.component.html',\n styleUrls: ['./s-i-r-market-export-preview.component.scss']\n})\nexport class SIRMarketExportPreviewComponent implements OnInit {\n showPercent: Observable;\n logo: string;\n data$: Observable<{\n data: IMarketPositionData;\n opts: IPdfOptions;\n disclaimer: string;\n graphData: ITopGroupTypeData[];\n arr: { height: number; value: any }[];\n showPercent: boolean;\n logo: string;\n }>;\n\n constructor(\n private store: Store,\n private exportService: ExportService,\n private optionsService: OptionsService,\n private disclaimer: DisclaimerService\n ) {}\n\n private static formatFirmName(opts: IPdfOptions, entity: ITopGroupTypeData, idx: number, numberOneEntityName: string) {\n entity.entityName = ExportService.trimDataAfterParenthesis(entity.entityName);\n return opts.showFirmNames\n ? entity.entityName\n : entity.entityName === numberOneEntityName\n ? numberOneEntityName\n : SIRMarketExportPreviewComponent.hideFirmName(idx);\n }\n\n private static hideFirmName(idx: number) {\n return 'Firm ' + (10 + idx).toString(36).toUpperCase();\n }\n\n ngOnInit(): void {\n this.data$ = combineLatest([\n this.store.select(selectMarketReportData),\n this.store.select(pdfOptions),\n this.store.select(selectMarketShowAsPercent)\n ]).pipe(\n map(data => {\n const arr = [];\n const [mpData, opts, showPercent] = cloneDeep(data);\n const maxValue = Math.max.apply(\n Math,\n mpData.topGroupTypes.map(o => {\n return mpData.isUnits ? o.totalUnits : o.totalVolume;\n })\n );\n mpData.topGroupTypes.map(i => {\n const suffix = showPercent ? 'Percent' : '';\n const prefix = mpData.isUnits ? 'Units' : 'Volume';\n let value: any;\n if (!mpData.isUnits) {\n value = showPercent ? i[`total${prefix}${suffix}`] + '%' : this.optionsService.numFormatter(i[`total${prefix}${suffix}`], 2);\n } else {\n value = i[`total${prefix}${suffix}`];\n }\n arr.push({\n height: (i[`total${prefix}`] / maxValue) * 100,\n value\n });\n });\n mpData.topGroupTypes = this.formatGraphData(mpData.topGroupTypes, opts, mpData.realogyPosition?.entityName || '');\n mpData.reportHeaderEntity.priceRange = this.formatAllPrice(mpData.reportHeaderEntity.priceRange);\n const disclaimer = this.disclaimer.formatDisclaimerSIR(mpData.reportHeaderEntity);\n const logo =\n this.optionsService.getImagePathForReport() +\n mpData?.imagePromoEntities.find(image => {\n return image.imageSize == ImageTypes['websiteDba'];\n }).imageURL;\n return { graphData: mpData.topGroupTypes, data: mpData, opts, arr, showPercent, disclaimer, logo };\n })\n );\n }\n\n formatAllPrice(value) {\n return value.indexOf('999999999') > 0 ? 'All Price Ranges' : value;\n }\n\n private formatGraphData(data: ITopGroupTypeData[], opts: IPdfOptions, numberOneEntityName: string) {\n return data.map((entity, idx) => {\n return {\n ...entity,\n entityName: SIRMarketExportPreviewComponent.formatFirmName(opts, entity, idx, numberOneEntityName)\n };\n });\n }\n}\n","
\n
\n
\n
\n {{ i.entityName }}\n \n {{ mp.arr[idx].value }}\n \n
\n
\n
\n
\n
\n
\n \"Sotheby's\n
\n
{{ mp.data.reportHeaderEntity.displayDateRange }}
\n
\n
\n
\n Market Position Report\n
\n
\n
{{ mp.data.reportHeaderEntity.groupByLevel }} By {{ mp.data.reportHeaderEntity.msTypeName }}
\n
0 ? 'multi' : ''\" class=\"location text-uppercase mb-2\">\n {{ mp.data.reportHeaderEntity.areaLocalName || 'All Areas' }}\n
\n
{{ mp.data.reportHeaderEntity.priceRange }}
\n \n
\n {{ mp.data.reportHeaderEntity.msTypeName }} Sold\n
\n
\n
\n

FIRM

\n

{{ g.entityName }}

\n
\n
\n

TOTAL

\n

\n {{ mp.arr[idx].value }}\n

\n
\n
\n

% SHARE

\n

\n {{ mp.data.isUnits ? i.totalUnitsPercent : i.totalVolumePercent }}%\n

\n
\n
\n
\n
\n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { format, sub } from 'date-fns';\nimport { map, Observable } from 'rxjs';\nimport { IAgentReport } from '../../../../../models/IAgentReport';\nimport { pdfExportAgentData, pdfExportData } from '../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { IPdfPreviewData } from '../../../../../store/state/pdf.state';\nimport { Avatar } from '../../../../../models/IApplicationData';\nimport { UserDataService } from '../../../../../services/userData.service';\n\n@Component({\n selector: 'app-agent-branding-block',\n templateUrl: './agent-branding-block.component.html',\n styleUrls: ['./agent-branding-block.component.scss']\n})\nexport class AgentBrandingBlockComponent implements OnInit {\n agentData$: Observable;\n filterData$: Observable<{\n displayStartDate: string;\n displayPrice: string;\n propertyType: string;\n displayEndDate: string;\n displayCombinedDate: string;\n areaLocalNames: string;\n }>;\n avatar$: Observable;\n otherUrl: string;\n\n constructor(private store: Store,\n private userDataSvc: UserDataService) { }\n\n ngOnInit(): void {\n this.agentData$ = this.store.select(pdfExportAgentData);\n this.filterData$ = this.store.select(pdfExportData).pipe(\n map((data: IPdfPreviewData) => {\n const displayPrice = data.price;\n const d = new Date(data.displayDate);\n const displayEndDate = d.toLocaleDateString('us', {\n month: 'long',\n year: 'numeric'\n });\n const propertyType = data.propertyType.replace('property type(s) ', '');\n const displayStartDate = format(sub(d, { months: 35 }), 'MMMM yyyy');\n const displayCombinedDate = `${displayStartDate} - ${displayEndDate}`;\n let areaLocalNames = this.getAreaNameLabel(data.areaLocalNames);\n return { displayPrice, displayEndDate, displayStartDate, propertyType, displayCombinedDate, areaLocalNames };\n })\n );\n this.agentData$.subscribe(data => {\n const agentInfo = data;\n if (agentInfo?.contactType === 0) {\n this.avatar$ = this.userDataSvc.getUserAvatar(agentInfo.oktaId);\n } else {\n this.otherUrl = agentInfo?.photo.replace('original', 'main');\n }\n });\n }\n\n getAreaNameLabel(areaLocalNames: { areatype: string; locations: string }[]): string {\n let areaLocalName = '';\n\n if (areaLocalNames?.length > 0) {\n const firstLocation = areaLocalNames[0].locations.split(', ')[0];\n areaLocalName += `${areaLocalNames[0].areatype}: ${firstLocation}`;\n\n let count = 0;\n areaLocalNames.forEach(localName => {\n count += localName.locations.split(', ').length;\n });\n\n if (count > 1) {\n areaLocalName += ` + ${count - 1} more location${count - 1 <= 1 ? '' : 's'}`;\n }\n }\n\n return areaLocalName;\n }\n}\n","
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n {{ agentData.name }}\n
\n {{ agentData.title }}\n
\n
\n\n
\n
\n {{ agentData.phone }}\n {{ agentData.otherPhone }}\n {{ agentData.number }}\n
\n
\n\n
\n
\n {{ agentData.email }}\n {{ agentData.websiteUrl }}\n
\n
\n
\n
\n\n
\n
\n

\n {{ filterData.areaLocalNames }}\n

\n

Price Range: {{ filterData.displayPrice }}

\n

Properties: {{ filterData.propertyType }}

\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { IAgentReport } from '../../../../../../../models/IAgentReport';\n\n@Component({\n selector: 'app-connect-with-me-block',\n templateUrl: './connect-with-me-block.component.html',\n styleUrls: ['./connect-with-me-block.component.scss']\n})\nexport class ConnectWithMeBlockComponent {\n @Input() data: IAgentReport;\n\n constructor() {}\n}\n","
\n
Connect with me
\n
\n \n \n \n \n
\n \n \n \n {{ data.youtubeURL | urlShorten : 'Youtube' }}\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { IAgentReport } from '../../../../../../../models/IAgentReport';\n\n@Component({\n selector: 'app-contact-info-block',\n templateUrl: './contact-info-block.component.html',\n styleUrls: ['./contact-info-block.component.scss']\n})\nexport class ContactInfoBlockComponent {\n @Input() data: IAgentReport;\n\n constructor() {}\n}\n","
\n
CONTACT
\n
\n
\n phone\n {{ data.phone }}\n
\n
\n location_city\n {{ data.phone }}\n
\n
\n email\n {{ data.email }}\n
\n
\n web_asset\n {{ data.websiteUrl | urlShorten: 'Website' }}\n
\n \n
\n location_city\n {{ data.otherPhone }}\n
\n
\n fax\n {{ data.otherPhone }}\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IAgentReport } from '../../../../../../models/IAgentReport';\nimport { pdfExportAgentData } from '../../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-cover-agent-section',\n templateUrl: './cover-agent-section.component.html',\n styleUrls: ['./cover-agent-section.component.scss']\n})\nexport class CoverAgentSectionComponent implements OnInit {\n agentData$: Observable<{ socialBlockExists: boolean; data: IAgentReport }>;\n\n constructor(private store: Store) {}\n\n ngOnInit(): void {\n this.agentData$ = this.store.select(pdfExportAgentData).pipe(\n map(data => {\n const socialBlockExists = this.checkSocialBlock(data);\n return { data, socialBlockExists };\n })\n );\n }\n\n checkSocialBlock(d: IAgentReport) {\n const links = Object.keys(d).filter(key => key.toLocaleLowerCase().includes('link'));\n return links.some(key => {\n return d[key];\n });\n }\n}\n","
\n
\n \n \n \n
\n
\n","
\n
\n \n
\n \n
\n
\n
\n
\n {{ data.name }}\n
\n {{ data.title }}\n {{ data.number }}\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IAgentReport } from '../../../../../../../models/IAgentReport';\nimport { Observable } from 'rxjs';\nimport { Avatar } from '../../../../../../../models/IApplicationData';\nimport { UserDataService } from '../../../../../../../services/userData.service';\n\n@Component({\n selector: 'app-user-info-block',\n templateUrl: './user-info-block.component.html',\n styleUrls: ['./user-info-block.component.scss']\n})\nexport class UserInfoBlockComponent {\n @Input() data: IAgentReport;\n avatar$: Observable;\n otherUrl: string;\n\n constructor(private userDataSvc: UserDataService) { }\n\n ngOnInit(): void {\n if (this.data?.contactType === 0) {\n this.avatar$ = this.userDataSvc.getUserAvatar(this.data.oktaId);\n } else {\n this.otherUrl = this.data?.photo.replace('original', 'main');\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { format, sub } from 'date-fns';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AreaLocalName } from '../../../../../../models/IMarketTrendsHeader';\nimport { pdfExportData } from '../../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../../store/state/app.state';\nimport { IPdfPreviewData } from '../../../../../../store/state/pdf.state';\n\n@Component({\n selector: 'app-cover-filter-section',\n templateUrl: './cover-filter-section.component.html',\n styleUrls: ['./cover-filter-section.component.scss']\n})\nexport class CoverFilterSectionComponent implements OnInit {\n pdfPreviewData: Observable<{\n displayStartDate: string;\n displayPrice: string;\n propertyType: string;\n displayEndDate: string;\n displayCombinedDate: string;\n areaLocalNames: AreaLocalName[];\n displayReo: string;\n }>;\n\n constructor(private store: Store) { }\n\n priceFormat(priceRange) {\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n const priceArr = priceRange.split(' - ');\n return priceArr\n .map(p => {\n return formatter.format(p);\n })\n .join(' - ');\n }\n\n dateFormat(date: IPdfPreviewData) {\n var startDateStart;\n var endDate;\n if (date.displayStartDate === undefined) {\n startDateStart = sub(new Date(date.displayDate), { months: 35 });\n endDate = date.displayDate;\n } else {\n startDateStart = date.displayStartDate;\n endDate = date.displayEndDate;\n }\n const displayStartDate = new Date(startDateStart).toLocaleDateString('us', {\n month: 'long',\n year: 'numeric'\n });\n const displayEndDate = new Date(endDate).toLocaleDateString('us', {\n month: 'long',\n year: 'numeric'\n });\n const displayCombinedDate = `${displayStartDate} - ${displayEndDate}`;\n\n return { displayStartDate, displayEndDate, displayCombinedDate };\n }\n\n ngOnInit(): void {\n this.pdfPreviewData = this.store.select(pdfExportData).pipe(\n map(data => {\n const displayPrice = this.priceFormat(data.price);\n const dates = this.dateFormat(data);\n const propertyType = data.propertyType.replace('property type(s) ', '');\n const areaLocalNames = data.areaLocalNames;\n const displayReo = data.displayReo;\n const displayEndDate = dates.displayEndDate;\n const displayStartDate = dates.displayStartDate;\n const displayCombinedDate = dates.displayCombinedDate;\n return { displayPrice, displayEndDate, displayStartDate, propertyType, displayCombinedDate, areaLocalNames, displayReo };\n })\n );\n }\n}\n","
\n \n \n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { AreaLocalName } from '../../../../../../../models/IMarketTrendsHeader';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'app-filter-tile',\n templateUrl: './filter-tile.component.html',\n styleUrls: ['./filter-tile.component.scss']\n})\nexport class FilterTileComponent {\n @Input() matIcon: string;\n @Input() label: string;\n @Input() value: string;\n @Input() locationValues: AreaLocalName[];\n @Input() isLocation = false;\n @Input() backgroundColor = 'transparent';\n\n constructor() {}\n}\n","
\n
\n {{ matIcon }}\n {{ label }}\n
\n \n \n \n
\n {{ loc.areatype }}\n {{ loc.locations }}\n
\n
\n
\n
\n
\n\n
\n {{ value }}\n
\n
\n\n
\n All Locations\n
\n
\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { map } from 'rxjs/operators';\nimport { OptionsService } from '../../../../../../services/options.service';\nimport { selectUserImageBackground } from '../../../../../../store/selectors/userData.selector';\nimport { IAppState } from '../../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-cover-main',\n templateUrl: './cover-main.component.html',\n styleUrls: ['./cover-main.component.scss']\n})\nexport class CoverMainComponent {\n @HostBinding('class') classes = 'full-size';\n @Input() showAgentInfo = true;\n coverImage$ = this.store.select(selectUserImageBackground).pipe(\n map(image => {\n const imagePath = this.optionsServ.getImagePathForReport() + (image ? image.imageURL : '');\n return { imagePath };\n })\n );\n\n constructor(private store: Store, private optionsServ: OptionsService) {}\n}\n","
\n
\n \n \n
\n
\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { pdfExportData } from '../../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-cover-title',\n templateUrl: './cover-title.component.html',\n styleUrls: ['./cover-title.component.scss']\n})\nexport class CoverTitleComponent {\n previewData: Observable<{ displayEndDate: string; title: string }>;\n\n constructor(private store: Store) {\n this.previewData = this.store.select(pdfExportData).pipe(\n map(data => {\n const d = data && data.displayDate ? new Date(data.displayDate) : new Date();\n const displayEndDate = d.toLocaleDateString('us', {\n month: 'long',\n year: 'numeric'\n });\n const title = data.reportTitle ?? '';\n return { displayEndDate, title };\n })\n );\n }\n}\n","
\n {{ data.title }}\n {{ data.displayEndDate }}\n
\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-export-preview-cover',\n templateUrl: './export-preview-cover.component.html',\n styleUrls: ['./export-preview-cover.component.scss']\n})\nexport class ExportPreviewCoverComponent {\n @HostBinding('class') classes = 'full-size';\n @Input() showAgentInfo = true;\n constructor() {}\n}\n","
\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { endOfMonth, subMonths } from 'date-fns';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { BannerService } from '../../../../../services/banner.service';\nimport { ThemeService } from '../../../../../services/theme.service';\nimport { pdfExportData } from '../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-export-preview-footer',\n templateUrl: './export-preview-footer.component.html',\n styleUrls: ['./export-preview-footer.component.scss']\n})\nexport class ExportPreviewFooterComponent implements OnInit {\n year: number;\n footerData: Observable<{ displayEndDate: string; isSir: boolean; legalName: string }>;\n\n constructor(private bannerSvc: BannerService, private store: Store, private themeSvc: ThemeService) {}\n\n disclaimerDates(currentDate) {\n const date = new Date(currentDate);\n const end = endOfMonth(date);\n const start = subMonths(date, 35);\n\n const a = [{ month: 'numeric' }, { day: 'numeric' }, { year: 'numeric' }];\n const thisYear = this.join(end, a, '/');\n const prevYear = this.join(start, a, '/');\n\n return `${prevYear} through ${thisYear}`;\n }\n\n join(time, opt, separator) {\n function format(m) {\n try {\n const f = new Intl.DateTimeFormat('en', m);\n return f.format(time);\n } catch (e) {\n console.log(e);\n }\n }\n\n return opt.map(format).join(separator);\n }\n\n ngOnInit(): void {\n this.footerData = this.store.select(pdfExportData).pipe(\n map(data => {\n const isSir = this.themeSvc.isSIR();\n const displayEndDate = this.disclaimerDates(data.displayDate);\n return { displayEndDate, isSir, legalName: data.legalName };\n })\n );\n this.year = this.bannerSvc.currentYear;\n }\n}\n","
\n \n \n Based on information from {{ trendsHeaderData.legalName }} for the period {{ trendsHeaderData.displayEndDate }}. Source data is deemed\n reliable but not guaranteed. Real estate agents affiliated with Coldwell Banker Realty are independent contractor sales associates,\n not employees. ©{{ year }} Coldwell Banker. All Rights Reserved. Coldwell Banker and the Coldwell Banker logos are trademarks of\n Coldwell Banker Real Estate LLC. The Coldwell Banker® System is comprised of company owned offices which are owned by a subsidiary of\n Realogy Brokerage Group LLC and franchised offices which are independently owned and operated. The Coldwell Banker System fully\n supports the principles of the Fair Housing Act and the Equal Opportunity Act.\n \n \n ©{{ year }} Sotheby’s International Realty. All Rights Reserved. Sotheby’s International Realty® is a registered trademark and used\n with permission. Each Sotheby’s International Realty office is independently owned and operated, except those operated by Sotheby’s\n International Realty, Inc. This material is based upon information which we consider reliable but because it has been supplied by\n third parties, we cannot represent that it is accurate or complete and it should not be relied upon as such. If your property is\n listed with a real estate broker, please disregard. It is not our intention to solicit the offerings of other real estate brokers. We\n are happy to work with them and cooperate fully. Equal Housing Opportunity.\n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { format } from 'date-fns';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { pdfExportData } from '../../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-export-preview-header',\n templateUrl: './export-preview-header.component.html',\n styleUrls: ['./export-preview-header.component.scss']\n})\nexport class ExportPreviewHeaderComponent implements OnInit {\n @Input() coverPage = false;\n exportPreviewData$: Observable<{ displayDate: string; logo: string; title: string }>;\n\n constructor(private store: Store, private optionsSvc: OptionsService) {}\n\n ngOnInit(): void {\n this.exportPreviewData$ = this.store.select(pdfExportData).pipe(\n map(data => {\n const d = new Date(data.displayDate);\n const displayDate = format(d, 'MMMM yyyy');\n const logo: string = this.optionsSvc.getImagePathForReport() + data.logo.imageURL;\n const title = data.reportTitle;\n return { logo, displayDate, title };\n })\n );\n }\n}\n","
\n
\n \"header\n
\n
\n {{ previewData.title }}\n {{ previewData.displayDate }}\n
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-export-preview-page',\n templateUrl: './export-preview-page.component.html',\n styleUrls: ['./export-preview-page.component.scss']\n})\nexport class ExportPreviewPageComponent {\n @Input() enabled = true;\n @Input() showAgentInfo = true;\n @Input() coverPage = false;\n @Input() showTrendLines = true;\n @Input() isLandscape;\n\n constructor() {}\n}\n","
\n
\n \n
\n \n \n \n
\n \n
\n
\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { chunk } from 'lodash-es';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MarketTrendsPagedArray } from '../../../../models/IMarketTrendsPagedArray';\nimport { ITrendsOptionEnum } from '../../../../models/ITrendsOptions';\nimport { MarketTrendsChartConfiguration } from '../../../../models/MarketTrendsChartConfiguration';\nimport { MarketTrendsService } from '../../../../services/market-trends.service';\nimport { selectTrendsDataLoaded } from '../../../../store/selectors/market-trends.selector';\nimport { pdfOptions, pdfPreviewOrientation } from '../../../../store/selectors/pdf.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trends-export',\n templateUrl: './trends-export.component.html',\n styleUrls: ['./trends-export.component.scss'],\n animations: [\n trigger('showHide', [\n transition(':enter', [style({ opacity: 0 }), animate('.1s', style({ opacity: 1 }))]),\n transition(':leave', [style({ opacity: 1 }), animate('.1s', style({ opacity: 0 }))])\n ])\n ]\n})\nexport class TrendsExportComponent implements OnInit {\n loaded$: Observable;\n pdfIsLandscape$: Observable;\n pdfPreviewData$: Observable<{\n arr: MarketTrendsChartConfiguration[];\n isLandscape: boolean;\n showTable: boolean;\n pagedArray: MarketTrendsPagedArray;\n showCover: boolean;\n showAgentInfo: boolean;\n }>;\n private cardDataArray: MarketTrendsChartConfiguration[];\n\n constructor(private store: Store, private marketTrends: MarketTrendsService) {}\n\n ngOnInit(): void {\n this.pdfIsLandscape$ = this.store.select(pdfPreviewOrientation);\n this.loaded$ = this.store.select(selectTrendsDataLoaded);\n this.cardDataArray = this.marketTrends.marketTrendsChartConfiguration;\n this.pdfPreviewData$ = this.store.select(pdfOptions).pipe(\n map(pdfOpts => {\n const arr = this.cardDataArray.filter(card => {\n return pdfOpts[ITrendsOptionEnum[card.shortHand]];\n });\n const showTable = pdfOpts.showtable;\n const isLandscape = pdfOpts.islandscape;\n const pagedArray: MarketTrendsPagedArray = this.arrangeChartPages(arr, pdfOpts.islandscape, showTable);\n const showCover = pdfOpts.showcover;\n const showAgentInfo = pdfOpts.showAgentInfo;\n return { arr, showTable, pagedArray, isLandscape, showCover, showAgentInfo };\n })\n );\n }\n\n arrangeChartPages(array: MarketTrendsChartConfiguration[], isLandscape: boolean, showTable: boolean): MarketTrendsPagedArray {\n if (!array.length) {\n return { pages: [] };\n }\n const tempData = {\n pages: []\n };\n let firstPage;\n if (isLandscape) {\n tempData.pages = chunk(array, 1);\n } else {\n if (showTable) {\n firstPage = array.shift();\n tempData.pages.push([firstPage]);\n }\n const remainingPages = chunk(array, 2);\n remainingPages.forEach(p => tempData.pages.push(p));\n }\n return tempData;\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, OnChanges, Output } from '@angular/core';\nimport { LocationEnum } from 'app/models/FilterData';\nimport { IChips } from 'app/models/IChips';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { ReportTypeEnum } from '../../../../models/ReportTypes';\n\n@Component({\n selector: 'app-chips-container',\n templateUrl: './chips-container.component.html',\n styleUrls: ['./chips-container.component.scss']\n})\nexport class ChipsContainerComponent implements OnChanges {\n @Input() reportType: ReportTypeEnum;\n @Input() truncate: boolean;\n @Input() locations: ILocationsData[];\n @Output() chipRemoved: EventEmitter = new EventEmitter();\n chips: IChips[] = [];\n\n constructor() {}\n\n ngOnChanges(): void {\n const chipArr: IChips[] = [];\n if (this.locations?.every(Boolean)) {\n let chipCount = 1;\n this.locations?.map(location => {\n chipArr.push({\n type: LocationEnum[location.areaType],\n hasData: location.hasData,\n name: location.areaName,\n value: location.areaID.toString(),\n isGrouped: chipCount > 5\n });\n chipCount++;\n });\n this.chips = chipArr;\n }\n }\n\n chipRemovedHandler(chip: IChips): void {\n this.chipRemoved.emit(chip);\n }\n}\n","\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatSelect } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subscription } from 'rxjs';\nimport { IChips } from '../../../../../models/IChips';\nimport { ReportTypeEnum } from '../../../../../models/ReportTypes';\n\n@Component({\n selector: 'app-chips-grouped',\n templateUrl: './chips-grouped.component.html',\n styleUrls: ['./chips-grouped.component.scss']\n})\nexport class ChipsGroupedComponent implements OnInit, OnDestroy {\n @Input() data: IChips[];\n isDesktop: boolean;\n subs = new Subscription();\n @ViewChild('chips') chips: MatSelect;\n @Input() reportType: ReportTypeEnum; // 0 for #1 claims, 1 for market position, 2 for Trends\n @Output() chipRemoved: EventEmitter = new EventEmitter();\n reportTypes = ReportTypeEnum;\n\n constructor(private breakpointObserver: BreakpointObserver, private snackBar: MatSnackBar) {}\n\n ngOnInit() {\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 960px)').subscribe(result => {\n this.isDesktop = result.matches;\n })\n );\n }\n\n removeChip(chip: IChips) {\n this.chipRemoved.emit(chip);\n }\n\n openSnackBarToolTip(hasData: boolean) {\n if (!this.isDesktop && !hasData) {\n this.snackBar.open('This location does not have #1 claims.', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'center'\n });\n }\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n"," 0\">\n + {{ data?.length }} more\n \n \n {{ chip.name }}\n {{ chip.name | CountyString }}\n cancel\n \n \n \n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Subscription } from 'rxjs';\nimport { IChips } from '../../../../../models/IChips';\nimport { ReportTypeEnum } from '../../../../../models/ReportTypes';\n\n@Component({\n selector: 'app-chips-ungrouped',\n templateUrl: './chips-ungrouped.component.html',\n styleUrls: ['./chips-ungrouped.component.scss']\n})\nexport class ChipsUngroupedComponent implements OnInit, OnDestroy, OnChanges {\n @Input() reportType: ReportTypeEnum; // 0 for #1 claims, 1 for market position\n @Input() truncate: boolean;\n @Input() data: IChips[];\n @Output() chipRemoved: EventEmitter = new EventEmitter();\n tabletPlus: boolean;\n subs = new Subscription();\n groupedChips: IChips[] = [];\n ungroupedChips: IChips[] = [];\n reportTypes = ReportTypeEnum;\n\n constructor(private breakpointObserver: BreakpointObserver, private snackBar: MatSnackBar) {}\n\n ngOnInit() {\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 960px)').subscribe(result => {\n this.tabletPlus = result.matches;\n })\n );\n\n this.initChips();\n }\n\n ngOnChanges(): void {\n this.initChips();\n }\n\n initChips(): void {\n this.groupedChips = [];\n this.ungroupedChips = [];\n\n this.data?.forEach((chip: IChips) => {\n if (chip.isGrouped) {\n this.groupedChips.push(chip);\n } else {\n this.ungroupedChips.push(chip);\n }\n });\n }\n\n chipRemove(chip: IChips) {\n this.chipRemoved.emit(chip);\n }\n\n openSnackBarToolTip(hasData: boolean) {\n if (!this.tabletPlus && !hasData) {\n this.snackBar.open('This location does not have #1 claims.', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'center'\n });\n }\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n \n {{ chip.name }}\n {{ chip.name | CountyString }}\n {{ chip.name | SchoolString }}\n cancel\n \n \n\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { LocationDisplayEnum, LocationEnum, mpLocationTypes } from 'app/models/FilterData';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { groupBy } from 'lodash-es';\nimport { ReportTypeEnum } from '../../../../models/ReportTypes';\n\ninterface LocationSection {\n type: string;\n locations: ILocationsData[];\n label?: string;\n}\n\n@Component({\n selector: 'app-filter-panel-locations',\n templateUrl: './filter-panel-locations.component.html',\n styleUrls: ['./filter-panel-locations.component.scss']\n})\nexport class FilterPanelLocationsComponent implements OnInit, OnChanges {\n ReportTypeEnum = ReportTypeEnum;\n @Input() reportType?: ReportTypeEnum = null;\n @Input() multiSelect = true;\n @Input() locations: ILocationsData[] = [];\n @Input() locationGroup: UntypedFormGroup;\n @Output() locationsCleared: EventEmitter = new EventEmitter();\n locationBlocks: LocationSection[];\n LocationDisplayEnum = LocationDisplayEnum;\n hasSelectedLocs: boolean;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.initLocationBlocks();\n this.hasSelectedLocs = this.locationGroup.get('locationFilters')?.value?.length > 0;\n this.locationGroup.get('locationFilters')?.valueChanges.subscribe((locations: ILocationsData[]) => {\n this.hasSelectedLocs = locations.length > 0;\n });\n }\n\n ngOnChanges(): void {\n this.initLocationBlocks();\n }\n\n initLocationBlocks(): void {\n const data = groupBy(this.locations, function(l) {\n return l.areaType;\n });\n const arr: LocationSection[] = [];\n mpLocationTypes.forEach(key => {\n arr.push({\n type: key,\n locations: data[LocationEnum[key]],\n label: key\n });\n });\n this.locationBlocks = arr;\n\n this.cdr.detectChanges();\n }\n\n checkboxHandler(): void {\n const selectedLocations = this.locations.filter(location => {\n return location['checked'];\n });\n\n this.locationGroup.get('locationFilters').patchValue(selectedLocations);\n }\n\n clearLocations = (): void => {\n this.locationsCleared.emit([]);\n };\n\n trackByFn(index) {\n return index;\n }\n}\n","\n \n \n Location Filters \n info_outline\n \n \n \n \n \n
\n \n \n \n {{ LocationDisplayEnum[locationType.type] }}\n \n \n \n \n {{ location.areaName }}\n \n \n \n
\n \n \n \n \n \n {{ LocationDisplayEnum[locationType.type] }}\n \n \n \n \n \n {{ location.areaName }}\n \n \n \n
\n \n \n \n\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { FiltersV2TimeFrameEnum } from 'app/models/FilterData';\nimport { MarketFiltersV2PropertyTypeEnum, marketFiltersV2PropertyValueEnum } from 'app/models/IMarketReportFilters';\nimport { PriceRange } from 'app/models/IPriceRange';\nimport { MarketPositionPropertyTypes } from 'app/models/IPropertyType';\n\n@Component({\n selector: 'app-filter-panel-report',\n templateUrl: './filter-panel-report.component.html',\n styleUrls: ['./filter-panel-report.component.scss']\n})\nexport class FilterPanelReportComponent implements OnInit, OnChanges {\n @Input() reportFilterFormGroup: UntypedFormGroup;\n @Input() customDateRange = false;\n @Input() customMaxDate: Date = new Date();\n @Input() priceRanges: PriceRange[] = [];\n @Input() isSIR: boolean;\n @Input() sortByAgent = false;\n @Input() hideCustomDateRestriction: boolean;\n @Input() hideCustomMonthlyDate: boolean;\n @Input() isCustomReport = false;\n @Input() priceBands: any[];\n @Input() monthsBack: any[];\n @Output() resetClicked: EventEmitter = new EventEmitter();\n tabletPlus = true;\n activeReportSections = {};\n propertyTypes: MarketPositionPropertyTypes[] = [];\n filtersV2TimeEnum = FiltersV2TimeFrameEnum;\n\n constructor() {}\n\n ngOnInit(): void {\n Object.keys(MarketFiltersV2PropertyTypeEnum).map(key => {\n this.propertyTypes.push(new MarketPositionPropertyTypes(marketFiltersV2PropertyValueEnum[key], MarketFiltersV2PropertyTypeEnum[key]));\n });\n\n this.generateReportSections();\n }\n\n ngOnChanges(): void {\n this.generateReportSections();\n }\n\n clearReportFilters = (): void => {\n this.resetClicked.emit(true);\n };\n\n generateReportSections(): void {\n this.activeReportSections = {};\n Object.keys(this.reportFilterFormGroup.controls).forEach((key: string) => {\n this.activeReportSections[key] = true;\n });\n }\n\n calOpen() {\n if (!this.hideCustomDateRestriction) {\n setTimeout(() => {\n const endOfMonth = document.querySelectorAll('.mat-calendar-next-button.mat-button-disabled');\n endOfMonth.forEach(button => {\n const alertParent = document.createElement('div');\n alertParent.classList.add('market-eod-container');\n alertParent.innerHTML = 'info';\n button.parentNode.append(alertParent);\n });\n this.updateEodStyles();\n }, 100);\n }\n }\n\n updateEodStyles() {\n const eodButton = document.querySelectorAll('.market-eod-container');\n eodButton.forEach(y => {\n y.classList.add('tooltip-d');\n const span = document.createElement('span');\n span.innerHTML =\n 'The available dates have been restricted due to financial reporting timelines ' +\n 'Learn More';\n span.classList.add('tooltiptext');\n y.appendChild(span);\n });\n }\n}\n","\n \n \n Report Filters \n \n \n \n\n
\n
\n \n Property Type\n \n
\n \n \n {{ type.label }}\n \n \n
\n
\n\n
\n \n Transaction Side\n \n\n \n \n Total\n \n \n List Side\n \n \n Buy Side\n \n \n
\n\n
\n \n Sales Type\n \n \n \n Units\n \n \n Volume\n \n \n
\n\n \n \n
\n \n {{ customDateRange ? 'Date Range' : 'Time Period' }}\n \n \n \n Last Year\n \n \n Last Quarter\n \n \n Year To Date\n \n \n Custom\n \n \n\n
\n \n Start Date\n \n \n \n \n \n End Date\n \n \n \n \n
\n
\n\n
\n \n Number of Months Back\n \n \n {{ monthBack.label }}\n \n \n \n
\n
\n \n Price Bands\n \n \n {{ priceBand.label }}\n \n \n \n
\n\n \n\n
\n \n Price Range\n \n\n \n \n {{ priceRange.value }}\n \n \n
\n\n
\n \n View By\n \n\n \n \n Brand\n \n \n Brokerage\n \n \n Office\n \n \n Agent\n \n \n
\n
\n \n Real Estate Owned Property\n \n\n
\n \n Real Estate Owned Properties Only\n \n
\n
\n
\n
\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { IMlsData } from 'app/models/IMlsData';\nimport { PriceRange } from 'app/models/IPriceRange';\nimport { IChips } from '../../../models/IChips';\nimport { ReportTypeEnum } from '../../../models/ReportTypes';\nimport { cloneDeep } from 'lodash-es';\n\n@Component({\n selector: 'app-filter-panel',\n templateUrl: './filter-panel.component.html',\n styleUrls: ['./filter-panel.component.scss'],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [style({ bottom: -100, opacity: 0 }), animate('.5s ease-out', style({ bottom: 100, opacity: 1 }))]),\n transition(':leave', [style({ bottom: 100, opacity: 1 }), animate('.5s ease-in', style({ bottom: -100, opacity: 0 }))])\n ])\n ]\n})\nexport class FilterPanelComponent implements OnInit {\n @Input() reportType: ReportTypeEnum;\n @Input() locations: ILocationsData[] = [];\n @Input() controls: UntypedFormGroup;\n @Input() disableUpdate: boolean;\n @Input() mlsList: IMlsData[];\n @Input() currentSelectedMls: IMlsData;\n @Input() multipleLocations = false;\n @Input() customDateRange = false;\n @Input() customMaxDate: Date = new Date();\n @Input() hideCustomDateRestriction: boolean;\n @Input() reportTitle = 'Create Your Report';\n @Input() priceRanges: PriceRange[] = [];\n @Input() isSIR: boolean;\n @Input() isCustomReport = false;\n @Input() hideCustomMonthlyDate = false;\n @Input() priceBands: any[];\n @Input() monthsBack: any[];\n @Output() updated: EventEmitter = new EventEmitter();\n @Output() clearReports: EventEmitter = new EventEmitter();\n @Output() mobileClosed: EventEmitter = new EventEmitter();\n @Input() sortByAgent = false;\n selectedFilterLocations: ILocationsData[] = [];\n showSnackBar = false;\n locationFilters = {\n mlsArea: [],\n county: [],\n city: [],\n zipCode: [],\n schoolDistrict: [],\n subDivision: []\n };\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.locations = this.locationChangedHandler();\n this.controls.get('locationFilters').valueChanges.subscribe(() => {\n this.locations = this.locationChangedHandler();\n });\n }\n\n selectLocationHandler(selectedLocation: ILocationsData[]) {\n this.controls.get('locationFilters').patchValue(selectedLocation);\n }\n\n updateResults() {\n this.updated.emit(this.controls);\n this.toggleSnackBar();\n }\n\n locationRemovedHandler(locationChip: IChips) {\n const newValues = (this.controls.get('locationFilters').value || []).filter((location: ILocationsData) => {\n return location.areaID.toString() !== locationChip.value.toString();\n });\n\n this.controls.get('locationFilters').patchValue(newValues);\n this.locations = this.locationChangedHandler();\n }\n\n locationChangedHandler() {\n let locationArray = cloneDeep(this.locations);\n locationArray = locationArray?.map((location: ILocationsData) => {\n const match = (this.controls.get('locationFilters').value || []).find((l: ILocationsData) => {\n return l.areaID === location.areaID && l.areaType === location.areaType;\n });\n\n if (!this.multipleLocations) {\n location = JSON.parse(JSON.stringify(location));\n }\n\n location['checked'] = Boolean(match);\n\n return location;\n });\n\n this.setSelectedFilterLocations();\n return locationArray;\n }\n\n setSelectedFilterLocations(): void {\n const locationValues = JSON.parse(JSON.stringify(this.controls.get('locationFilters').value));\n this.selectedFilterLocations = (locationValues || []).map((location: ILocationsData) => {\n return location;\n });\n\n this.cdr.detectChanges();\n }\n\n resetReportFilters(): void {\n this.clearReports.emit(true);\n }\n\n resetLocationFilters(): void {\n this.controls.get('locationFilters').patchValue([]);\n this.locations = this.locationChangedHandler();\n }\n\n closeMobileMenu(): void {\n this.mobileClosed.emit(true);\n }\n\n toggleSnackBar(): void {\n this.showSnackBar = true;\n window.setTimeout(() => {\n this.showSnackBar = false;\n }, 2000);\n }\n\n applySavedSearch(filterValues): void {\n Object.keys(this.controls.get('report').value).forEach(reportKey => {\n this.controls\n .get('report')\n .get(reportKey)\n .setValue(filterValues.report[reportKey] || undefined);\n });\n\n this.controls.get('locationFilters').setValue(filterValues.locationFilters);\n this.controls.get('locationFilters').markAsDirty();\n this.updateResults();\n }\n}\n","
\n
\n \n
\n
\n {{ reportTitle }}\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n \n \n \n \n\n
\n

Updates applied.

\n
\n\n
\n \n
\n
\n","import { Component, Input } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { IMlsData } from 'app/models/IMlsData';\n\n@Component({\n selector: 'app-mls-list-select',\n templateUrl: './mls-list-select.component.html',\n styleUrls: ['./mls-list-select.component.scss']\n})\nexport class MlsListSelectComponent {\n @Input() mlsList: IMlsData[];\n @Input() mlsForm: UntypedFormGroup;\n\n constructor() {}\n}\n","\n Assigned MLS\n \n {{ each.legalName }}\n \n\n","import { DecimalPipe } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-price-range',\n templateUrl: './price-range.component.html',\n styleUrls: ['./price-range.component.scss']\n})\nexport class PriceRangeComponent {\n @Input() control: UntypedFormGroup;\n\n constructor(private decimalPipe: DecimalPipe) {}\n\n formatCurrency($event: any) {\n $event.target.value = this.decimalPipe.transform($event.target.value.replace('[^0-9.]', ''), '1.0-0');\n }\n\n hideFormatting($event: any) {\n $event.target.value = $event.target.value.replace(/\\D/g, '');\n }\n}\n","
\n Price Range\n
\n
\n
\n $\n \n
\n
\n $\n \n
\n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { FormGroup, UntypedFormGroup } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { SaveSearchModalComponent } from 'app/components/modals/save-search-modal/save-search-modal.component';\nimport { locationsLoaded } from 'app/store/selectors/locations.selector';\nimport { selectCurrentMLS } from 'app/store/selectors/mls.selector';\nimport { combineLatest, combineLatestWith, Observable, of, Subscription } from 'rxjs';\nimport { filter, map, take } from 'rxjs/operators';\nimport { ISavedSearchModalData } from '../../../../models/ISavedSearchModalData';\nimport { ReportTypeEnum } from '../../../../models/ReportTypes';\nimport { ModalService } from '../../../../services/modal.service';\nimport { SavedSearchService } from '../../../../services/saved-search.service';\nimport { ToggleFilterPanel } from '../../../../store/actions/menus.action';\nimport { FetchSavedSearches } from '../../../../store/actions/saved-search.action';\nimport { selectSavedSearches } from '../../../../store/selectors/saved-search.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { ISavedSearch, ISavedSearchData } from '../../../../store/state/savedSearch.state';\nimport { SavedSearchModalComponent } from '../../../modals/saved-search-modal/saved-search-modal.component';\n\n@Component({\n selector: 'app-saved-search-input',\n templateUrl: './saved-search-input.component.html',\n styleUrls: ['./saved-search-input.component.scss']\n})\nexport class SavedSearchInputComponent implements OnInit, OnDestroy {\n @Input() reportType: ReportTypeEnum;\n @Input() filterForm: UntypedFormGroup;\n @Output() applyFilters: EventEmitter = new EventEmitter();\n mls$ = this.store.select(selectCurrentMLS);\n savedSearches$ = this.store.select(selectSavedSearches);\n subs = new Subscription();\n searchesAvailable$: Observable = of(true);\n isActive$: Observable = of(true);\n\n constructor(private modalSvc: ModalService, private store: Store, private savedSearchSvc: SavedSearchService) {}\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n ngOnInit(): void {\n this.retrieveSavedSearches();\n this.initSavedSearches();\n this.getAvailableSearches();\n this.checkCanSaveSearch();\n }\n\n retrieveSavedSearches(): void {\n this.subs.add(\n this.store\n .select(locationsLoaded)\n .pipe(filter(v => !!v))\n .subscribe(() => {\n this.store.dispatch(new FetchSavedSearches());\n })\n );\n }\n\n initSavedSearches(): void {\n this.subs.add(\n combineLatest([\n this.mls$,\n this.store.select(selectSavedSearches).pipe(\n filter(v => !!v),\n take(1)\n )\n ]).subscribe(([mls, searches]) => {\n if (!searches) {\n return;\n }\n const defaultSearch = (searches[ReportTypeEnum[this.reportType]] || []).find(search => {\n return search.isDefault && mls.mlsId === search.mlsId;\n });\n if (defaultSearch) {\n this.dispatchFilters(defaultSearch.data);\n }\n })\n );\n }\n\n getAvailableSearches(): void {\n this.searchesAvailable$ = combineLatest([this.savedSearches$, this.mls$]).pipe(\n filter(searches => {\n const [savedSearches, mlsData] = searches;\n return !!mlsData && !!savedSearches;\n }),\n map(searchList => {\n const [savedSearches, mls] = searchList;\n return (savedSearches[ReportTypeEnum[this.reportType]] || []).filter(\n search => search.reportType === this.reportType && search.mlsId === mls.mlsId\n );\n }),\n map(searches => {\n return searches.length > 0;\n })\n );\n }\n\n checkCanSaveSearch(): void {\n this.isActive$ = this.savedSearches$.pipe(\n combineLatestWith(this.filterForm?.statusChanges || of([])),\n map(() => {\n const filterValues: ISavedSearchData = this.filterForm?.value;\n let active = true;\n if (this.reportType === ReportTypeEnum.MarketSnapshot) {\n active = active && filterValues.locationFilters.length > 0;\n }\n return active;\n })\n );\n }\n\n openSaveSearchModal() {\n let searchesByReportAndMls = this.savedSearchSvc.savedSearches?.[ReportTypeEnum[this.reportType]] as ISavedSearch[];\n const data: ISavedSearchModalData = {\n title: 'Name This Search',\n subTitle: 'What would you like to name this search criteria?',\n reportType: this.reportType,\n filters: this.filterForm,\n searches: searchesByReportAndMls\n };\n this.modalSvc\n .open(SaveSearchModalComponent, {\n data,\n width: 'auto',\n height: 'auto',\n maxWidth: '100%'\n })\n .afterClosed()\n .subscribe((value: FormGroup) => {\n if (value?.value) {\n this.store.dispatch(new FetchSavedSearches());\n }\n });\n }\n\n openViewSearchModal() {\n const data: ISavedSearchModalData = {\n title: 'Saved Searches & Search Criteria',\n subTitle: 'Easily retrieve your saved and recent searches.',\n reportType: this.reportType,\n searches: this.savedSearchSvc.savedSearches[ReportTypeEnum[this.reportType]]\n };\n this.store.dispatch(new FetchSavedSearches());\n this.modalSvc\n .open(SavedSearchModalComponent, {\n data,\n width: '80%',\n height: '80%',\n maxWidth: '1064px'\n })\n .afterClosed()\n .subscribe((value: ISavedSearch) => {\n if (value) {\n this.store.dispatch(new ToggleFilterPanel(false));\n this.dispatchFilters(value.data);\n }\n });\n }\n\n dispatchFilters(filters): void {\n const mappedFilters = JSON.parse(JSON.stringify(filters));\n if (mappedFilters.report.dateRangeMulti) {\n mappedFilters.report.dateRangeMulti.endDate = new Date(filters.report.dateRangeMulti.endDate);\n mappedFilters.report.dateRangeMulti.startDate = new Date(filters.report.dateRangeMulti.startDate);\n mappedFilters.report.dateRangeMulti.monthlyEndDate = new Date(filters.report.dateRangeMulti.monthlyEndDate);\n }\n\n if (mappedFilters.report.dateRange) {\n mappedFilters.report.dateRange = new Date(filters.report.dateRange);\n }\n this.applyFilters.emit(mappedFilters);\n }\n}\n","
\n \n Save Search Criteria\n favorite_outline\n \n \n View Searches\n
\n\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { FiltersV2Enum, LocationEnum } from 'app/models/FilterData';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { groupBy } from 'lodash-es';\n\ninterface SortedLocation {\n type: string;\n value: ILocationsData[];\n}\n\n@Component({\n selector: 'app-search-input',\n templateUrl: './search-input.component.html',\n styleUrls: ['./search-input.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SearchInputComponent implements OnInit {\n @Input() placeholderText = 'Search';\n @Input() locations: ILocationsData[];\n @Input() multiSelect: boolean;\n @Output() locationChanged: EventEmitter = new EventEmitter();\n @ViewChild('searchContainer') searchContainer: ElementRef;\n searchControl = new UntypedFormControl();\n sortedLocs: SortedLocation[] = [];\n showDropdown = false;\n\n constructor(private renderer: Renderer2) {\n this.renderer.listen('window', 'click', (e: MouseEvent) => {\n if (\n this.showDropdown &&\n this.searchContainer?.nativeElement &&\n this.searchContainer.nativeElement.querySelector('.dropdown-container')\n ) {\n const searchContainerCoordinates = this.searchContainer.nativeElement.querySelector('.dropdown-container').getBoundingClientRect();\n const isClickOnTargetX = e.x >= searchContainerCoordinates.left && e.x <= searchContainerCoordinates.right;\n const isClickOnTargetY = e.y >= searchContainerCoordinates.top && e.y <= searchContainerCoordinates.bottom;\n if (!(isClickOnTargetX && isClickOnTargetY)) {\n this.searchControl.reset('');\n this.showDropdown = false;\n }\n }\n });\n }\n\n ngOnInit(): void {\n this.searchControl.valueChanges.subscribe((val: string) => {\n this.sortedLocs = val.length > 2 ? this.sortLocationByTypes(this.locations, val) : [];\n });\n }\n\n optionSelected(location: ILocationsData) {\n if (!this.multiSelect) {\n this.searchControl.reset('');\n this.locationChanged.emit([location]);\n }\n\n this.showDropdown = false;\n }\n\n updateLocations(): void {\n if (this.multiSelect) {\n const checked = this.locations.filter(l => {\n return l.checked;\n });\n\n this.locationChanged.emit(checked);\n }\n }\n\n sortLocationByTypes(origLocationArr: ILocationsData[], searchValue: string): SortedLocation[] {\n const finalArray: SortedLocation[] = [];\n const sortedLocArr = groupBy(origLocationArr, function(l) {\n return l.areaType;\n });\n const locationTypesByOrder = [\n LocationEnum[FiltersV2Enum.county],\n LocationEnum[FiltersV2Enum.city],\n LocationEnum[FiltersV2Enum.zip],\n LocationEnum[FiltersV2Enum.mlsArea],\n LocationEnum[FiltersV2Enum.schoolDistrict],\n LocationEnum[FiltersV2Enum.subDivision]\n ];\n\n function sortValidAreaTypeByKey(\n areaType:\n | LocationEnum.county\n | LocationEnum.city\n | LocationEnum.zip\n | LocationEnum.mlsArea\n | LocationEnum.schoolDistrict\n | LocationEnum.subDivision\n ) {\n const i = sortedLocArr[areaType].filter(value => {\n return value.areaName.toLowerCase().includes(searchValue.toLowerCase());\n });\n if (i.length > 0) {\n finalArray.push({\n type: LocationEnum[areaType].toUpperCase(),\n value: i\n });\n }\n }\n\n locationTypesByOrder.map(areaType => {\n if (sortedLocArr[areaType]) {\n sortValidAreaTypeByKey(areaType);\n }\n });\n return finalArray;\n }\n}\n","
\n \n Search Locations\n info_outline\n \n \n \n search\n {{ placeholderText || 'Search' }}\n \n \n
0\">\n
\n
    \n
  • \n {{ locationGroup.type }}\n
      \n
    • \n \n {{ location | locationDataName }}\n \n
    • \n
    \n
  • \n
\n
\n
\n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { addDays, subDays, subYears } from 'date-fns';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { DateService, fullDate } from '../../../../../services/date.service';\n\n@Component({\n selector: 'app-multi-date-range-selection',\n templateUrl: './multi-date-range-selection.component.html',\n styleUrls: ['./multi-date-range-selection.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: DateService\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: fullDate\n }\n ]\n})\nexport class MultiDateRangeSelectionComponent implements OnInit, OnDestroy {\n @Input() maxDate: Date;\n @Input() minDate: Date;\n @Input() adjustedMinDate: Date;\n @Input() lastRunDate: Date;\n @Input() startControl: UntypedFormControl = new UntypedFormControl();\n @Input() endControl: UntypedFormControl = new UntypedFormControl();\n @Input() isCustomReport = false;\n @Input() hideRadio = false;\n subs = new Subscription();\n\n constructor() {}\n\n ngOnInit(): void {\n if (this.endControl.value) {\n this.minDate = subYears(new Date(this.endControl.value), this.isCustomReport ? 2 : 1);\n this.maxDate = subDays(new Date(this.endControl.value), 1);\n }\n\n this.subs.add(\n this.startControl.valueChanges.pipe(filter(v => !!v)).subscribe(startDate => {\n this.adjustedMinDate = addDays(new Date(startDate), 1);\n })\n );\n\n this.subs.add(\n this.endControl.valueChanges.pipe(filter(v => !!v)).subscribe(endDate => {\n this.minDate = subYears(new Date(endDate), this.isCustomReport ? 2 : 1);\n this.maxDate = subDays(new Date(endDate), 1);\n })\n );\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n Custom Date Range\n info_outline\n \n \n\n
\n \n Start date\n \n \n \n \n \n End date\n \n \n \n \n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { Store } from '@ngrx/store';\nimport { subMonths, subYears } from 'date-fns';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { DateService, monthYear } from '../../../../services/date.service';\nimport { selectCurrentMLSLastRanDate } from '../../../../store/selectors/mls.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-time-period-multi',\n templateUrl: './time-period-multi.component.html',\n styleUrls: ['./time-period-multi.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: DateService\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: monthYear\n }\n ]\n})\nexport class TimePeriodMultiComponent implements OnInit, OnDestroy {\n @Input() group: UntypedFormGroup = new UntypedFormGroup({});\n @Input() isCustomReport = false;\n @Input() hideCustomMonthlyDate = false;\n lastRunDate = new Date();\n minDate: Date;\n adjustedMinDate: Date;\n maxDate: Date;\n subs = new Subscription();\n\n constructor(private store: Store) {}\n\n ngOnInit(): void {\n this.subs.add(\n this.store\n .select(selectCurrentMLSLastRanDate)\n .pipe(filter(v => !!v))\n .subscribe(date => {\n this.lastRunDate = new Date(date);\n if (this.isCustomReport) {\n this.group.get('startDate').patchValue(subYears(this.lastRunDate, 1));\n } else {\n this.group.get('startDate').patchValue(subMonths(this.lastRunDate, 1));\n }\n this.group.get('endDate').patchValue(this.lastRunDate);\n this.group.get('monthlyEndDate').patchValue(this.lastRunDate);\n })\n );\n }\n\n closeDatePicker(eventData: Date, dp: MatDatepicker) {\n this.group.get('monthlyEndDate').patchValue(eventData);\n this.group?.markAsDirty();\n dp.close();\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n Time Period\n
\n
\n \n \n Monthly\n info_outline\n \n \n \n \n mm/yyyy\n \n \n \n \n
\n Or\n
\n \n
\n \n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { DateService, monthYear } from 'app/services/date.service';\nimport { subMonths } from 'date-fns';\n\n@Component({\n selector: 'app-time-period',\n templateUrl: './time-period.component.html',\n styleUrls: ['./time-period.component.scss'],\n providers: [\n {\n provide: DateAdapter,\n useClass: DateService\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: monthYear\n }\n ]\n})\nexport class TimePeriodComponent implements OnInit {\n @Input() control: UntypedFormControl;\n maxDate$: Date;\n\n constructor() {}\n\n ngOnInit(): void {\n this.initValues();\n }\n\n initValues() {\n const d = new Date();\n this.maxDate$ = subMonths(d, 1);\n this.control?.patchValue(subMonths(d, 1));\n }\n\n closeDatePicker(eventData: Date, dp: MatDatepicker) {\n this.control?.patchValue(eventData);\n this.control?.markAsDirty();\n dp.close();\n }\n}\n","
\n Time Period\n
\n
\n \n mm/yyyy\n \n \n \n \n
\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { IMarketPositionData } from 'app/models/IMarketPositionData';\nimport { selectMarketReportData } from 'app/store/selectors/market-position.selector';\nimport { IAppState } from 'app/store/state/app.state';\nimport { cloneDeep } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { OptionsService } from '../../../../services/options.service';\n\ninterface Unit {\n percent: string;\n isLeading: string;\n notLeading: string;\n}\n\n@Component({\n selector: 'app-market-position-stats',\n templateUrl: './position-stats.component.html',\n styleUrls: ['./position-stats.component.scss']\n})\nexport class PositionStatsComponent implements OnDestroy {\n @Input() isConsolidatedMLS: boolean;\n public isLeading = false;\n marketPositionData: IMarketPositionData;\n totalMarketShare = 'N/A';\n marketPos = 'N/A';\n distanceTo = 'N/A';\n subs = new Subscription();\n\n constructor(private store: Store, private optionsService: OptionsService) {\n this.subs.add(\n this.store\n .select(selectMarketReportData)\n .pipe(filter(data => data !== null))\n .subscribe((data: IMarketPositionData) => {\n if (!data.realogyPosition) {\n this.totalMarketShare = 'N/A';\n this.marketPos = 'N/A';\n this.distanceTo = 'N/A';\n } else {\n this.marketPositionData = cloneDeep(data);\n this.marketPos = '#' + this.marketPositionData.realogyPosition?.marketPosition.toString();\n this.isLeading = this.marketPositionData.realogyPosition?.marketPosition === 1;\n const mstypeValue: Unit = this.selectTypeUnits(this.marketPositionData.msTypeName, this.marketPositionData.isUnits);\n this.distanceTo = this.isLeading ? mstypeValue.isLeading : mstypeValue.notLeading;\n this.totalMarketShare = mstypeValue.percent.toString() + '%';\n }\n })\n );\n }\n\n selectTypeUnits(typeName: string, isUnits: boolean) {\n const units: Unit = {\n percent: '',\n isLeading: '',\n notLeading: ''\n };\n\n const typeToString = `${typeName.toLowerCase()}`;\n const topGroupArr = this.marketPositionData.topGroupTypes;\n const realogyArr = this.marketPositionData.realogyPosition;\n\n units.percent = (isUnits ? realogyArr[`${typeToString}UnitsPercent`] : realogyArr[`${typeToString}VolumePercent`]) || 0;\n\n units.isLeading = isUnits\n ? (topGroupArr[0][`${typeToString}Units`] - topGroupArr[1][`${typeToString}Units`]).toString()\n : this.optionsService.numFormatter(topGroupArr[0][`${typeToString}Volume`] - topGroupArr[1][`${typeToString}Volume`], 1);\n\n units.notLeading = isUnits\n ? (topGroupArr[0][`${typeToString}Units`] - realogyArr[`${typeToString}Units`]).toString()\n : this.optionsService.numFormatter(topGroupArr[0][`${typeToString}Volume`] - realogyArr[`${typeToString}Volume`], 1);\n\n return units;\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n
{{marketPos}}
\n
In this Market
\n
\n
\n
\n {{totalMarketShare}}
\n
Total Market Share
\n
\n
\n
\n {{this.isLeading ? 'arrow_upward' : 'arrow_downward' }}\n {{distanceTo}}\n
\n
Leading By
\n \n
\n From #1 Position\n
\n
\n
\n
\n","import { Component, ComponentFactoryResolver, Inject, OnDestroy, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { IReportHeader } from 'app/models/IReportHeader';\nimport { ReportService } from 'app/services/report.service';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { combineLatestWith, Subscription, throwError } from 'rxjs';\nimport { switchMap, take, withLatestFrom } from 'rxjs/operators';\nimport { SocialImageDirective } from '../../../../../directives/social-image.directive';\nimport { IAssetDownloadData } from '../../../../../models/IAssetDownloadData';\nimport { ChartTypes } from '../../../../../models/IChartTypes';\nimport { IMarketPositionData } from '../../../../../models/IMarketPositionData';\nimport { ModalService } from '../../../../../services/modal.service';\nimport {\n selectMarketReportData,\n selectMarketReportId,\n selectMarketShowAsPercent\n} from '../../../../../store/selectors/market-position.selector';\nimport { claimsReportId } from '../../../../../store/selectors/reports.selectors';\nimport { selectUser } from '../../../../../store/selectors/userData.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { WifHelpComponent } from '../wif-help/wif-help.component';\n\ninterface DownloadButton {\n label: string;\n type: string;\n loading?: boolean;\n}\n@Component({\n selector: 'app-asset-download',\n templateUrl: './asset-download.component.html',\n styleUrls: ['./asset-download.component.scss']\n})\nexport class AssetDownloadComponent implements OnDestroy {\n buttonArray: DownloadButton[];\n chartTypes = ChartTypes;\n reportHeaderEntity: IReportHeader;\n reportValueType: string;\n reportTransactionSide: string;\n reportValue: number;\n subs = new Subscription();\n @ViewChild(SocialImageDirective, { static: true }) wif: SocialImageDirective;\n\n constructor(\n private modalService: ModalService,\n @Inject(MAT_DIALOG_DATA) public data: IAssetDownloadData,\n private componentFactoryResolver: ComponentFactoryResolver,\n private reportService: ReportService,\n private fileSaverService: FileSaverService,\n private store: Store\n ) {\n this.reportHeaderEntity = this.data.report.reportDetail.reportHeaderEntity;\n\n const msTypeName = this.reportHeaderEntity.msTypeName.split(' ');\n // If msTypeName is Total Units/Volume there will only be 2 words in the split\n this.reportTransactionSide = msTypeName.length > 2 ? msTypeName[0] + ' ' + msTypeName[1] : msTypeName[0];\n this.reportValueType = msTypeName.length > 2 ? msTypeName[2] : msTypeName[1];\n\n const value = data?.report?.reportDetail?.reportGraphEntities[data.report.cbposition - 1]?.reportMeasureValue;\n if (!!value) {\n this.reportValue = value;\n } else {\n this.store\n .select(selectMarketReportData)\n .pipe(take(1), withLatestFrom(this.store.select(selectMarketShowAsPercent)))\n .subscribe(resp => {\n const [dataObj, percent] = resp;\n const type = this.reportTransactionSide.toLowerCase() + this.reportValueType;\n this.reportValue = this.calculateMarketValue(dataObj, type, percent);\n });\n }\n\n let i = this.data.isSocial\n ? [\n {\n type: ChartTypes.wide,\n label: 'Wide'\n },\n {\n type: ChartTypes.tall,\n label: 'Tall'\n },\n {\n type: ChartTypes.square,\n label: 'Square'\n }\n ]\n : [\n {\n type: ChartTypes.HS_Web,\n label: 'Web'\n },\n {\n type: ChartTypes.HS_FB,\n label: 'Facebook'\n }\n ];\n if (this.data.isSIR) {\n i = i.filter(button => button.type !== ChartTypes.wide);\n }\n this.buttonArray = i;\n }\n\n closeDialog() {\n this.modalService.close();\n }\n\n calculateMarketValue(dataObj: IMarketPositionData, type: string, percent: boolean) {\n const key = type + (percent ? 'percent' : '');\n return dataObj.realogyPosition[key];\n }\n\n downloadImage(button: DownloadButton) {\n const size = this.chartTypes[button.type];\n button.loading = true;\n const reportId$ = this.data.reportType ? this.store.select(selectMarketReportId) : this.store.select(claimsReportId);\n this.subs.add(\n reportId$\n .pipe(\n combineLatestWith(this.store.select(selectUser), this.store.select(selectMarketShowAsPercent)),\n take(1),\n switchMap(([reportId, user, percent]) => {\n return this.data.isSIR\n ? this.reportService.requestSIRClaimsJpg(user.oktaId, `${this.data.graph ? 'graph-' : ''}${size}`, reportId, percent)\n : this.reportService.requestCBRClaimsJpg(user.oktaId, size, reportId, this.data.reportType, this.data.graph, 100, percent);\n })\n )\n .subscribe({\n next: data => {\n this.fileSaverService.save(data, `report-${size}.jpg`);\n button.loading = false;\n },\n error: err => {\n throwError(err);\n button.loading = false;\n }\n })\n );\n }\n\n launchHelp(isSocial: boolean) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(WifHelpComponent);\n const viewContainerRef = this.wif.viewContainerRef;\n viewContainerRef.clear();\n\n const componentRef = viewContainerRef.createComponent(componentFactory);\n (componentRef.instance).data = viewContainerRef;\n (componentRef.instance).type = isSocial ? 'social' : 'homespotter';\n (componentRef.instance).isSIR = this.data.isSIR;\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n close\n
\n
\n

{{ data?.title }}

\n
\n
\n \n {{\n data?.isSocial\n ? 'Choose from various image sizes to download and share on your social media!'\n : \"Choose your image size based on the ad you'd like to run on homespotter.\"\n }}\n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n info\n Which image format should I use?\n
\n
\n \n {{ button.label }}\n \n \n
\n
\n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'environments/environment';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { Subscription, throwError } from 'rxjs';\nimport { SocialImageDirective } from '../../../../directives/social-image.directive';\nimport { IAssetDownloadData } from '../../../../models/IAssetDownloadData';\nimport { IMarketAssetCard } from '../../../../models/IMarketAssetCard';\nimport { IReportModalData } from '../../../../models/IReportModalData';\nimport { EncryptedReportData } from '../../../../models/IReportPageData';\nimport { DownloadService } from '../../../../services/download.service';\nimport { ModalService } from '../../../../services/modal.service';\nimport { ThemeService } from '../../../../services/theme.service';\nimport { selectBrandCode } from '../../../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { AssetDownloadComponent } from './asset-download/asset-download.component';\n\n@Component({\n selector: 'app-marketing-assets-card',\n templateUrl: './marketing-assets-card.component.html',\n styleUrls: ['./marketing-assets-card.component.scss']\n})\nexport class MarketingAssetsCardComponent implements OnInit, OnDestroy {\n @ViewChild('assetYouTubePlayer') assetYouTubePlayer: ElementRef;\n @Output() copyUrlActionSuccess = new EventEmitter();\n @Input() marketData: IMarketAssetCard;\n @Input() targetSocialContainer: SocialImageDirective;\n @Input() showHomeSpotter = true;\n @Input() reportData: EncryptedReportData;\n public videoFileName: string;\n public shareLink: string;\n public description: string;\n private isTabletPlus: boolean;\n private isDesktop: boolean;\n subs = new Subscription();\n isSIR: boolean;\n\n constructor(\n public modalService: ModalService,\n private breakpointObserver: BreakpointObserver,\n private downloadService: DownloadService,\n private fileSaverService: FileSaverService,\n private store: Store,\n private themeService: ThemeService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n if (this.marketData?.type === 'video') {\n this.videoFileName = `${environment.apiBaseUrl}/api/video/getvideo?videoFile=${this.marketData.videoFileName}`;\n this.shareLink = 'https:/youtu.be/' + this.marketData.youTubeId;\n const tag = document.createElement('script');\n tag.src = 'https://www.youtube.com/iframe_api';\n document.body.appendChild(tag);\n }\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 599px)').subscribe(size => {\n this.isTabletPlus = size.matches;\n })\n );\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 960px)').subscribe(size => {\n this.isDesktop = size.matches;\n })\n );\n this.subs.add(\n this.store\n .select(selectBrandCode)\n .pipe()\n .subscribe(() => {\n this.isSIR = this.themeService.isSIR();\n })\n );\n this.description = this.marketData?.description;\n }\n\n downloadVideo() {\n this.subs.add(\n this.downloadService.downloadFile(this.videoFileName).subscribe({\n next: response => {\n const blob: any = new Blob([response], { type: 'video/mp4' });\n this.fileSaverService.save(blob, 'marketquest.mp4');\n },\n error: err => {\n throwError(err);\n }\n })\n );\n }\n\n notify() {\n this.copyUrlActionSuccess.emit(true);\n }\n\n openSocialModal(type: 'hs' | 'social') {\n const isSocial = type === 'social';\n const hasGraph = this.marketData.hasGraph;\n const number1 = !this.reportData.reportType;\n let prefix = `${number1 ? '#1 ' : ''}${isSocial ? 'Social' : 'Homespotter Ad'}`;\n prefix = prefix + ' ' + (hasGraph ? 'Graph' : 'Image');\n const modalData: IReportModalData = {\n cbposition: this.reportData.cbposition,\n imagePath: '',\n loading: false,\n decryptedId: '',\n disclaimer: '',\n encryptedId: this.reportData.encryptedData,\n imageData: undefined,\n oktaId: this.reportData.oktaId,\n logoData: undefined,\n reportDetail: this.reportData.reportDetail,\n msUnoReportId: this.reportData.msUnoReportId,\n withChart: hasGraph\n };\n this.modalService.open(AssetDownloadComponent, {\n data: {\n report: modalData,\n title: prefix,\n target: this.targetSocialContainer,\n graph: hasGraph,\n isSocial: isSocial,\n image: this.marketData.imageURL,\n isSIR: this.themeService.isSIR(),\n reportType: this.reportData.reportType\n } as IAssetDownloadData,\n height: this.isTabletPlus ? (this.isDesktop ? '663px' : '543px') : '100vh',\n width: this.isTabletPlus ? (this.isDesktop ? '752px' : '526px') : '100vw'\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n \n \n \n \n \n \n
\n
{{ marketData?.title }}
\n
{{ this.description }}
\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 { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { GalleryImage } from '../../../../../models/GalleryImage';\nimport { ImageTypes } from '../../../../../models/ImageTypes';\nimport { IReportDetail } from '../../../../../models/IReportDetail';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { selectReportPageData } from '../../../../../store/selectors/reports.selectors';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-preview-tile-sothebys',\n templateUrl: './preview-tile-sothebys.component.html',\n styleUrls: ['./preview-tile-sothebys.component.scss']\n})\nexport class PreviewTileSothebysComponent implements OnInit {\n @Input() showGraph = true;\n @Input() large = false;\n logo: GalleryImage | undefined;\n tileData$: Observable<{ imageBgWide: string; data: IReportDetail; imageBgSquare: string; logoLight: string; logoDark: string }>;\n mobile: boolean;\n\n constructor(private store: Store, private options: OptionsService) {}\n\n ngOnInit(): void {\n this.tileData$ = this.store.select(selectReportPageData).pipe(\n map(data => {\n const imageBgWide =\n this.options.getImagePathForReport() +\n data.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['wide'];\n }).imageURL;\n const imageBgSquare =\n this.options.getImagePathForReport() +\n data.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['square'];\n }).imageURL;\n const logoLight =\n this.options.getImagePathForReport() +\n data.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['logoLight'];\n }).imageURL;\n const logoDark =\n this.options.getImagePathForReport() +\n data.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['logoDark'];\n }).imageURL;\n\n return { imageBgWide, imageBgSquare, data: data.reportDetail, logoLight, logoDark };\n })\n );\n }\n}\n","
\n
\n
\n \"Sotheby's\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n

Number

\n

1

\n
\n
\n

\n {{ tileData.data.reportHeaderEntity.groupByLevel }} by {{ tileData.data.reportHeaderEntity.msTypeName }}\n

\n

{{ tileData.data.reportHeaderEntity | reportLocationName: 4 }}

\n

\n {{ tileData.data.reportHeaderEntity.displayDateRange }} | {{ tileData.data.reportHeaderEntity.priceType }}\n

\n
\n
\n
\n
\n
\n
\n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { GalleryImage } from '../../../../../models/GalleryImage';\nimport { ChartTypes } from '../../../../../models/IChartTypes';\nimport { ImageTypes } from '../../../../../models/ImageTypes';\nimport { EncryptedReportData } from '../../../../../models/IReportPageData';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-preview-tile',\n templateUrl: './preview-tile.component.html',\n styleUrls: ['./preview-tile.component.scss']\n})\nexport class PreviewTileComponent implements OnInit, OnDestroy {\n @Input() large = false;\n @Input() graph = false;\n @Input() reportData: EncryptedReportData;\n imageBgWide: GalleryImage;\n logo: GalleryImage;\n chartType = ChartTypes;\n isMobile: boolean;\n subs = new Subscription();\n imagePath: string;\n\n constructor(private store: Store, private breakpointObserver: BreakpointObserver, private optionSvc: OptionsService) {\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 425px)').subscribe(size => {\n this.isMobile = !size.matches;\n })\n );\n }\n\n ngOnInit() {\n this.imagePath = this.optionSvc.getImagePathForReport();\n this.imageBgWide = this.reportData?.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['wide'];\n });\n this.logo = this.reportData?.reportDetail?.imagePromoEntities.find(image => {\n return image.imageSize === ImageTypes['logo'];\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n
\n
\n
\n Ranked #{{ reportData.cbposition }}\n
\n
\n \n {{ reportData.reportDetail.reportHeaderEntity | reportLocationName: 4 }}\n \n
\n
\n The Latest Numbers Say It All\n
\n
\n
\n \n
\n
\n
\n
\n \"\"\n
\n
\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-wif-help',\n templateUrl: './wif-help.component.html',\n styleUrls: ['./wif-help.component.scss']\n})\nexport class WifHelpComponent {\n @Input() type: 'homespotter' | 'social';\n @Input() data: any;\n @Input() isSIR: boolean;\n\n closeHelp() {\n this.data.clear();\n }\n}\n","
\n
\n arrow_back\n Back to Image\n
\n
\n {{ 'Which Image Format Should I Use?' | titlecase }}\n
\n
\n
\n
\n
\n Facebook Post\n

Use Wide Resolution

\n

(1200 x 630)

\n
\n
\n
\n
\n
\n Instagram Post\n

Use Square Resolution

\n

(1200 x 1200)

\n
\n
\n
\n
\n
\n Instagram Story\n

Use Tall Resolution

\n

(1080 x 1920)

\n
\n
\n
\n
\n
\n Web Image\n

Use Web Resolution

\n

(300 x 250)

\n
\n
\n
\n
\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { SocialImageDirective } from '../../../../directives/social-image.directive';\nimport { GalleryImage } from '../../../../models/GalleryImage';\nimport { IMarketAssetCard } from '../../../../models/IMarketAssetCard';\nimport { IReportDetail } from '../../../../models/IReportDetail';\nimport { EncryptedReportData } from '../../../../models/IReportPageData';\nimport { ThemeService } from '../../../../services/theme.service';\nimport { selectBrandCode } from '../../../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-report-download-area',\n templateUrl: './report-download-area.component.html',\n styleUrls: ['./report-download-area.component.scss']\n})\nexport class ReportDownloadAreaComponent implements OnInit, OnDestroy {\n subs = new Subscription();\n imageAssetCard: IMarketAssetCard;\n graphAssetCard: IMarketAssetCard;\n videoAssetCard: IMarketAssetCard;\n @Input() reportData: EncryptedReportData;\n isSIR: boolean;\n @ViewChild(SocialImageDirective, { static: true }) imageContainer: SocialImageDirective;\n hasVideo = false;\n\n constructor(\n private route: ActivatedRoute,\n private snackBar: MatSnackBar,\n private store: Store,\n private themeService: ThemeService\n ) {}\n\n private static assembleTileImageUrlPaths(base: string, tileType: 'image' | 'chart') {\n return base + `mq-uno/webpage/tile-${tileType}.jpg`;\n }\n\n private static setupImageAssetCard(imageURL: string, location: string, showHomeSpotter = true, isMarketPosition = false) {\n const imageData: IMarketAssetCard = {\n imageURL: imageURL,\n location: location,\n youTubeId: '',\n videoFileName: '',\n title: `${isMarketPosition ? '' : '#1 '}Image`,\n type: 'image',\n hasGraph: false,\n description: `Download your ${isMarketPosition ? 'report' : '#1 claim'} as an image to post on social media${\n showHomeSpotter ? ' or promote via HomeSpotter' : ''\n }.`\n };\n return imageData;\n }\n\n private static setupGraphAssetCard(imageURL: string, location: string, showHomeSpotter = true, isMarketPosition = false) {\n const data: IMarketAssetCard = {\n imageURL: imageURL,\n location: location,\n youTubeId: '',\n videoFileName: '',\n title: `${isMarketPosition ? '' : '#1 '}Graph`,\n type: 'image',\n hasGraph: true,\n description: `Download your ${isMarketPosition ? 'report' : '#1 claim'} as a graph to post on social media${\n showHomeSpotter ? ' or promote via HomeSpotter' : ''\n }.`\n };\n return data;\n }\n\n private static setupVideoAssetCard(videoUrls: GalleryImage[], imageURL: string, location: string) {\n const data: IMarketAssetCard = {\n imageURL: imageURL,\n youTubeId: videoUrls?.length ? videoUrls[0]?.imageURL : '',\n videoFileName: videoUrls?.length && videoUrls.length > 1 ? videoUrls[1]?.imageURL : '',\n location: location,\n title: '#1 Video',\n type: 'video',\n hasGraph: false,\n description: 'Download your #1 claim as a video to post on social media.'\n };\n return data;\n }\n\n ngOnInit(): void {\n this.store\n .select(selectBrandCode)\n .pipe(filter(v => !!v))\n .subscribe(() => {\n this.isSIR = this.themeService.isSIR();\n });\n\n this.subs.add(\n this.route.data\n .pipe(\n map(data => {\n const reportInformation: [[string, IReportDetail, string], string] = data.reportData;\n return reportInformation;\n })\n )\n .subscribe(reportInformation => {\n this.hasVideo = this.reportData.reportDetail?.videoEntities?.length > 0;\n\n this.videoAssetCard = ReportDownloadAreaComponent.setupVideoAssetCard(\n this.reportData.reportDetail?.videoEntities,\n '',\n this.reportData.reportDetail?.reportHeaderEntity?.areaLocalName\n );\n this.imageAssetCard = ReportDownloadAreaComponent.setupImageAssetCard(\n ReportDownloadAreaComponent.assembleTileImageUrlPaths(\n (reportInformation && reportInformation.length && reportInformation[1]) || '',\n 'image'\n ),\n this.reportData.reportDetail?.reportHeaderEntity?.areaLocalName,\n !this.isSIR,\n !!this.reportData.reportType\n );\n this.graphAssetCard = ReportDownloadAreaComponent.setupGraphAssetCard(\n ReportDownloadAreaComponent.assembleTileImageUrlPaths(\n (reportInformation && reportInformation.length && reportInformation[1]) || '',\n 'chart'\n ),\n this.reportData.reportDetail?.reportHeaderEntity?.areaLocalName,\n !this.isSIR,\n !!this.reportData.reportType\n );\n })\n );\n }\n\n copyUrlEvent() {\n this.snackBar.open('Website link has been copied to your clipboard.', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'right'\n });\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n
Download Marketing Assets
\n
\n Select your favorite assets to promote the power of\n {{ isSIR ? \"Sotheby's International Realty\" : 'Coldwell Banker' }} on all social media platforms.\n
\n
\n
\n \n \n \n
\n
\n\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-action-button',\n templateUrl: './action-button.component.html',\n styleUrls: ['./action-button.component.scss']\n})\nexport class ActionButtonComponent implements OnDestroy {\n @Input() iconName: string;\n @Input() fallbackLabel: string;\n @Input() outlined = false;\n isMobile: any;\n subs = new Subscription();\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.subs.add(this.breakpointObserver.observe('(min-width: 600px)').pipe(\n ).subscribe(sizeMatch => {\n this.isMobile = !sizeMatch.matches;\n }));\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","{{iconName}}\n {{fallbackLabel}}\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { selectMarketAPIResultsEmpty, selectMarketAPIResultsReady } from 'app/store/selectors/market-position.selector';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SocialImageDirective } from '../../../../../directives/social-image.directive';\nimport { IPageTypes, PageConfig } from '../../../../../models/IPageTypes';\nimport { EncryptedReportData } from '../../../../../models/IReportPageData';\nimport { ReportPageTypeShortStrEnum } from '../../../../../models/ReportTypes';\nimport { GTMService } from '../../../../../services/gtm.service';\nimport { OptionsService } from '../../../../../services/options.service';\nimport { ReportDetailService } from '../../../../../services/report-details.service';\nimport { ReportService } from '../../../../../services/report.service';\nimport { ShareSocialAndEmailService } from '../../../../../services/share-social-and-email.service';\nimport { UserSettingsService } from '../../../../../services/user-settings.service';\nimport { selectAllReportPageData } from '../../../../../store/selectors/reports.selectors';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-action-buttons',\n templateUrl: './action-buttons.component.html',\n styleUrls: ['./action-buttons.component.scss']\n})\nexport class ActionButtonsComponent implements OnInit, OnDestroy {\n @ViewChild(SocialImageDirective) imageContainer: SocialImageDirective;\n @Input() pageType: IPageTypes;\n @Input() sirBrand;\n @Input() reportId: string;\n btnText: string;\n data: EncryptedReportData;\n loaded$: Observable<{ ready: boolean }>;\n btnConfigOpt: PageConfig;\n private dataEmpty$: Observable;\n private subs = new Subscription();\n private isConsolidatedMLS = false;\n private reportsReady$: Observable;\n\n constructor(\n private shareSocialAndEmailService: ShareSocialAndEmailService,\n private store: Store,\n private reportDetailService: ReportDetailService,\n private reportService: ReportService,\n private options: OptionsService,\n private userSettingsSvc: UserSettingsService,\n private gtmService: GTMService\n ) {\n this.dataEmpty$ = this.store.select(selectMarketAPIResultsEmpty);\n this.reportsReady$ = this.store.select(selectMarketAPIResultsReady);\n }\n\n ngOnInit() {\n this.btnConfigOpt = ShareSocialAndEmailService.fetchActionButtonConfig(this.pageType);\n this.btnText = this.pageType === ReportPageTypeShortStrEnum.claims ? 'Share Report' : 'Export Report';\n\n this.loaded$ = this.reportsReady$.pipe(\n map(d => {\n const ready = this.pageType === ReportPageTypeShortStrEnum.claims ? true : d;\n return { ready };\n })\n );\n\n this.subs.add(\n this.store.select(selectAllReportPageData).subscribe(storeData => {\n this.data = cloneDeep(storeData);\n if (this.pageType === ReportPageTypeShortStrEnum.claims) {\n this.isConsolidatedMLS = this.data.reportDetail.reportHeaderEntity.mlsId === 'COSC';\n this.data.reportDetail.reportGraphEntities = this.reportDetailService.remapGraphEntryNames(\n this.data.reportDetail,\n this.data.cbposition\n );\n }\n })\n );\n }\n\n openEmail() {\n this.shareSocialAndEmailService.openEmail(this.reportId, this.pageType);\n }\n\n openShare() {\n this.shareSocialAndEmailService.openSocial(\n this.data.msUnoReportId,\n this.data.oktaId,\n this.data.reportDetail,\n this.data.encryptedData,\n this.data.cbposition,\n this.options.baseUrl\n );\n }\n\n previewWebsite() {\n this.gtmService.claimsGTM('exportClaimsReport');\n window.open(`share/market/${this.data.encryptedData}`, '_blank');\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n openExportPdfPreview() {\n this.reportService.exportPdfPreview(this.pageType, this.sirBrand ? 'SIR' : 'CBR');\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n
\n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-chip-label',\n templateUrl: './chip-label.component.html',\n styleUrls: ['./chip-label.component.scss']\n})\nexport class ChipLabelComponent {\n @Input() label: string;\n @Input() chipClass: string;\n @Input() callbackFunction: () => void;\n\n constructor() {}\n}\n","{{label}}\n cancel\n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { forkJoin, Subject, Subscription } from 'rxjs';\nimport { IReportModalData } from '../../../../models/IReportModalData';\n\n@Component({\n selector: 'app-downloadable-image',\n templateUrl: './downloadable-image.component.html',\n styleUrls: ['./downloadable-image.component.scss']\n})\nexport class DownloadableImageComponent implements OnInit, OnDestroy {\n @Input() data: IReportModalData;\n @Output() ready = new EventEmitter();\n logoReady = new Subject();\n chartReady = new Subject();\n subs = new Subscription();\n\n ngOnInit() {\n this.subs.add(\n forkJoin([this.logoReady, this.chartReady]).subscribe(res => {\n if (res.every(status => status)) {\n this.ready.emit(true);\n }\n })\n );\n if (!this.data?.withChart) {\n this.chartReady.next(true);\n this.chartReady.complete();\n }\n }\n\n logoLoaded() {\n this.logoReady.next(true);\n this.logoReady.complete();\n }\n\n chartOk() {\n this.chartReady.next(true);\n this.chartReady.complete();\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n
\n
\n

Ranked

\n

#1

\n

\n {{ data.reportDetail.reportHeaderEntity | reportLocationName }}\n

\n

The Latest Numbers Say It All

\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \"{{\n
\n
\n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { Store } from '@ngrx/store';\nimport { FilterState, FiltersV2Enum, LocationEnum } from 'app/models/FilterData';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { selectCountyCityZipFilter } from 'app/store/selectors/filters.selector';\nimport { selectLocations, selectReportLocations } from 'app/store/selectors/locations.selector';\nimport { IAppState } from 'app/store/state/app.state';\nimport { groupBy } from 'lodash-es';\nimport { Observable, Subscription } from 'rxjs';\nimport { MarketFilters } from '../../../../../models/IMarketReportFilters';\nimport { TrendsFilters } from '../../../../../models/IMarketTrendsFilters';\nimport { FilterService } from '../../../../../services/filter.service';\nimport { selectMarketCountyCityZipFilter } from '../../../../../store/selectors/market-position.selector';\nimport { selectTrendsCountyCityZipFilter } from '../../../../../store/selectors/market-trends.selector';\n\ninterface SortedLocation {\n type: string;\n value: ILocationsData[];\n}\n\ninterface AreaTypes {\n zip?: string[];\n city?: string[];\n county?: string[];\n mlsArea?: string;\n schoolDistrict?: string[];\n subDivision?: string[];\n}\n\n@Component({\n selector: 'app-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.scss']\n})\nexport class SearchComponent implements OnInit, OnDestroy {\n @Input() placeholderText: string;\n @Input() searchType: 'Claims' | 'Market' | 'Trends' | 'Snapshot';\n @Output() claimsFilterValues = new EventEmitter();\n @Output() marketFilterValues = new EventEmitter();\n @Output() trendsFilterValues = new EventEmitter();\n @ViewChild('auto', { static: true }) matAutocomplete: MatAutocomplete;\n public searchControl: UntypedFormControl;\n public sortedLocs: SortedLocation[] = [];\n private subs = new Subscription();\n private locationsObservable$: Observable;\n private activeFiltersObservable$: Observable;\n private activeFilters: any;\n\n constructor(private store: Store, private filterService: FilterService) {\n this.searchControl = new UntypedFormControl([]);\n }\n\n private static sortLocationByTypes(origLocationArr: ILocationsData[], searchValue: string, activeFilters: AreaTypes): SortedLocation[] {\n const finalArray: SortedLocation[] = [];\n const sortedLocArr = groupBy(origLocationArr, function(l) {\n return l.areaType;\n });\n const locationTypesByOrder = [\n LocationEnum[FiltersV2Enum.mlsArea],\n LocationEnum[FiltersV2Enum.county],\n LocationEnum[FiltersV2Enum.city],\n LocationEnum[FiltersV2Enum.zip],\n LocationEnum[FiltersV2Enum.schoolDistrict],\n LocationEnum[FiltersV2Enum.subDivision]\n ];\n\n function sortValidAreaTypeByKey(\n areaType:\n | LocationEnum.mlsArea\n | LocationEnum.county\n | LocationEnum.city\n | LocationEnum.zip\n | LocationEnum.schoolDistrict\n | LocationEnum.subDivision\n ) {\n const i = sortedLocArr[areaType].filter(value => {\n return (\n value.areaName.toLowerCase().startsWith(searchValue.toLowerCase()) &&\n !activeFilters[LocationEnum[areaType]].includes(value.areaID)\n );\n });\n if (i.length > 0) {\n finalArray.push({\n type: LocationEnum[areaType].toUpperCase(),\n value: i\n });\n }\n }\n\n locationTypesByOrder.map(areaType => {\n if (sortedLocArr[areaType]) {\n sortValidAreaTypeByKey(areaType);\n }\n });\n return finalArray;\n }\n\n ngOnInit() {\n switch (this.searchType) {\n case 'Claims':\n this.locationsObservable$ = this.store.select(selectLocations);\n this.activeFiltersObservable$ = this.store.select(selectCountyCityZipFilter);\n break;\n case 'Market':\n this.locationsObservable$ = this.store.select(selectReportLocations);\n this.activeFiltersObservable$ = this.store.select(selectMarketCountyCityZipFilter);\n break;\n case 'Trends':\n this.locationsObservable$ = this.store.select(selectReportLocations);\n this.activeFiltersObservable$ = this.store.select(selectTrendsCountyCityZipFilter);\n break;\n }\n\n let locs: ILocationsData[] = [];\n\n this.subs.add(\n this.activeFiltersObservable$.subscribe(filtersActive => {\n this.activeFilters = filtersActive;\n })\n );\n\n this.subs.add(\n this.locationsObservable$.subscribe((locationsFromState: ILocationsData[]) => {\n if (locationsFromState.length > 0) {\n this.searchControl.enable();\n } else {\n this.searchControl.disable();\n }\n locs = locationsFromState;\n })\n );\n\n this.subs.add(\n this.searchControl.valueChanges.subscribe((val: string) => {\n this.sortedLocs = val.length > 2 ? SearchComponent.sortLocationByTypes(locs, val, this.activeFilters) : [];\n })\n );\n }\n\n optionSelected(event: MatAutocompleteSelectedEvent) {\n this.filterService.autoCompleteOptionSelected(event, this, this.activeFilters, this.searchType);\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n search\n {{ placeholderText || 'Search' }}\n \n \n
\n \n \n {{location | locationDataName}}\n \n \n
\n
\n
\n","import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n AnimationModel,\n AxisModel,\n ChartAreaModel,\n CornerRadiusModel,\n FontModel,\n IAxisLabelRenderEventArgs,\n IPointRenderEventArgs,\n ITextRenderEventArgs,\n MarginModel,\n MarkerSettingsModel,\n SubtitleModel\n} from '@syncfusion/ej2-angular-charts';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable, Subscription } from 'rxjs';\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\nimport { ChartTypes } from '../../../../models/IChartTypes';\nimport { IReportGraph } from '../../../../models/IReportGraph';\nimport { EncryptedReportData } from '../../../../models/IReportPageData';\nimport { OptionsService } from '../../../../services/options.service';\nimport { ReportDetailService } from '../../../../services/report-details.service';\nimport { ReportService } from '../../../../services/report.service';\nimport { SyncFusionConfigService } from '../../../../services/sync-fusion-config.service';\nimport { ThemeService } from '../../../../services/theme.service';\nimport { selectMarketShowAsPercent } from '../../../../store/selectors/market-position.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-market-quest-chart',\n templateUrl: './market-quest-chart.component.html',\n styleUrls: ['./market-quest-chart.component.scss']\n})\nexport class MarketQuestChartComponent implements OnInit, OnDestroy, OnChanges {\n @Input() hideFirmNames = false;\n @Input() hideTitle = false;\n @Input() downloadableImageType: ChartTypes;\n @Output() chartReady = new EventEmitter();\n @Input() chartSourceData: EncryptedReportData;\n @Input() overridePrimaryColor: string;\n @Input() previewChart = false;\n public title: string;\n public primaryYAxis: AxisModel;\n public primaryXAxis: AxisModel;\n public animation: AnimationModel;\n public chartData: IReportGraph[];\n public titleStyle: FontModel;\n public subTitleStyle: SubtitleModel;\n public chartArea: ChartAreaModel;\n public marker: MarkerSettingsModel;\n public margin: MarginModel;\n public selectChartLoading$: Observable;\n public showChart = true;\n public transposed: boolean;\n public randomIdStr: string;\n public sourceType: string;\n public subTitle: string;\n public cornerRadius: CornerRadiusModel;\n public data: EncryptedReportData;\n private chartSizeType: ChartTypes;\n private showAsPercentage = false;\n private isConsolidatedMLS = false;\n subs = new Subscription();\n\n constructor(\n private store: Store,\n private reportService: ReportService,\n private optionsService: OptionsService,\n private syncFusionConfigService: SyncFusionConfigService,\n private breakpointObserver: BreakpointObserver,\n private cssService: ThemeService,\n private reportDetailService: ReportDetailService\n ) {\n this.randomIdStr = MarketQuestChartComponent.randomId();\n this.subs.add(\n this.store\n .select(selectMarketShowAsPercent)\n .pipe(filter(resp => resp !== undefined))\n .subscribe(bool => {\n if (this.showAsPercentage !== bool) {\n this.reloadChartFromNewData();\n }\n this.showAsPercentage = bool;\n })\n );\n }\n\n private static detectSize(sizeMatch: BreakpointState) {\n if (sizeMatch.breakpoints['(min-width: 600px)']) {\n return sizeMatch.breakpoints['(min-width: 960px)'] ? ChartTypes.desktop : ChartTypes.tablet;\n } else {\n return ChartTypes.mobile;\n }\n }\n\n private static fetchChartConfig(size: ChartTypes, target: MarketQuestChartComponent) {\n return Object.assign(target, target.syncFusionConfigService.getConfig(size));\n }\n\n private static getMaxY(graphData: IReportGraph[], showPercent: boolean) {\n if (showPercent) {\n return graphData.reduce(\n (max, p) => (p.marketSharePercentage > max ? p.marketSharePercentage : max),\n graphData[0].marketSharePercentage\n );\n } else {\n return graphData.reduce((max, p) => (p.reportMeasureValue > max ? p.reportMeasureValue : max), graphData[0].reportMeasureValue);\n }\n }\n\n private static randomId() {\n return Math.random()\n .toString(36)\n .replace(/[^a-z]+/g, '')\n .substring(2, 10);\n }\n\n private static getMaxScaleByDeviceSize(maxVal: number, smallChat: boolean, medChart: boolean) {\n return maxVal * (smallChat ? 1.5 : medChart ? 1.4 : 1.1);\n }\n\n private static convertReportGraphNamesToSmall(chartData: IReportGraph[]) {\n return chartData.map((val, idx) => {\n val.levelEntityName = `${idx + 1}`;\n return val;\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!changes.chartSourceData?.firstChange || !changes.downloadableImageType?.firstChange) {\n this.showChart = false;\n this.chartInit();\n setTimeout(() => {\n this.initializeAndShowChart();\n this.showChart = true;\n }, 1);\n }\n }\n\n ngOnInit() {\n this.chartInit();\n this.subs.add(\n this.breakpointObserver\n .observe(['(min-width: 600px)', '(min-width: 960px)'])\n .pipe(distinctUntilChanged())\n .subscribe(sizeMatches => {\n if (this.chartSizeType !== MarketQuestChartComponent.detectSize(sizeMatches)) {\n this.reloadChartFromNewData();\n }\n this.chartSizeType = this.downloadableImageType || MarketQuestChartComponent.detectSize(sizeMatches);\n this.transposed = [ChartTypes.mobile, ChartTypes.tall].includes(this.chartSizeType);\n if (this.data?.reportDetail) {\n MarketQuestChartComponent.fetchChartConfig(this.chartSizeType, this);\n }\n })\n );\n }\n\n pointRender($event: IPointRenderEventArgs) {\n const barColor = this.previewChart ? '#B7B9B9' : '#dcdcdd';\n const seriesColor: string[] = Array(5).fill(barColor);\n let cbBlue = this.cssService?.colorPrimary || '#1f69ff';\n if (!!this.overridePrimaryColor) {\n cbBlue = this.overridePrimaryColor;\n }\n if (this.data.cbposition <= 5) {\n const cbPosition = this.setCBPosition(this.data.cbposition);\n seriesColor.splice(cbPosition - 1, 1, cbBlue);\n }\n $event.fill = seriesColor[$event.point.index];\n }\n\n axisLabelRender($event: IAxisLabelRenderEventArgs) {\n $event.text = this.reportService.trimLabels($event.text, this.chartSizeType);\n }\n\n textRender($event: ITextRenderEventArgs) {\n const cbPosition = this.setCBPosition(this.data.cbposition);\n if ($event.point.index !== cbPosition - 1 && this.previewChart) {\n $event.font.color = '#8B8C8F';\n }\n $event.text = this.convertUnitsPercentDataPoint(this.convertToConsolidated($event, cbPosition));\n }\n\n chartLoaded() {\n this.chartReady.next(true);\n this.chartReady.complete();\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n private convertUnitsPercentDataPoint(val: string) {\n const isUnits = this.data.reportDetail.reportHeaderEntity.msTypeName.toLowerCase().includes('units');\n const showPercentage = this.showAsPercentage;\n if (!val) {\n return '';\n }\n if (showPercentage) {\n return val + '%';\n }\n if (!isUnits) {\n return this.optionsService.numFormatter(Number(val.replace(/,/g, '')), 2);\n }\n return val;\n }\n\n private convertToConsolidated($event: ITextRenderEventArgs, cbPosition: number) {\n if (this.isConsolidatedMLS) {\n return ($event.text = cbPosition === $event.point.index + 1 ? $event.text : '');\n }\n return $event.text;\n }\n\n private setCBPosition(cbPosition: number) {\n if (!this.transposed) {\n return cbPosition;\n }\n switch (cbPosition) {\n case 1:\n return 5;\n case 2:\n return 4;\n case 3:\n return 3;\n case 4:\n return 2;\n case 5:\n return 1;\n default:\n break;\n }\n }\n\n private initializeAndShowChart() {\n const lg = [ChartTypes.previewLarge, ChartTypes.mobile, ChartTypes.tall].includes(this.chartSizeType);\n const sm = [ChartTypes.previewSmall].includes(this.chartSizeType);\n const isReportPage = [ChartTypes.reportPage, ChartTypes.reportPageSm].includes(this.downloadableImageType);\n\n if (!this.hideTitle) {\n this.setChartHeaderTitles(isReportPage);\n }\n\n this.primaryYAxis.maximum = MarketQuestChartComponent.getMaxScaleByDeviceSize(\n MarketQuestChartComponent.getMaxY(this.data.reportDetail.reportGraphEntities, this.showAsPercentage),\n sm,\n lg\n );\n this.sourceType = this.showAsPercentage ? 'marketSharePercentage' : 'reportMeasureValue';\n this.chartData = this.reportService.adjustChartLayoutByData(this.data.reportDetail.reportGraphEntities, this.chartSizeType);\n if (this.downloadableImageType === ChartTypes.reportPageSm) {\n this.chartData = MarketQuestChartComponent.convertReportGraphNamesToSmall(this.chartData);\n }\n }\n\n private setChartHeaderTitles(useSubtitle: boolean) {\n const titleWithoutSubtitle =\n `Leading ${this.data.reportDetail.reportHeaderEntity.groupByLevel} by ` + this.data.reportDetail.reportHeaderEntity.msTypeName + ' ';\n const titleWithSubtitle = titleWithoutSubtitle + '(' + this.data.reportDetail.reportHeaderEntity.displayDateRange + ')';\n this.title = useSubtitle ? titleWithoutSubtitle : titleWithSubtitle;\n this.subTitle = useSubtitle ? this.data.reportDetail.reportHeaderEntity.displayDateRange : '';\n }\n\n private reloadChartFromNewData() {\n this.showChart = false;\n setTimeout(() => {\n this.initializeAndShowChart();\n this.showChart = true;\n }, 1);\n }\n\n private chartInit() {\n this.data = cloneDeep(this.chartSourceData);\n this.chartSizeType = this.downloadableImageType || null;\n this.isConsolidatedMLS = this.data.reportDetail.reportHeaderEntity.mlsId === 'COSC';\n this.data.reportDetail.reportGraphEntities = this.reportDetailService.remapGraphEntryNames(\n this.data.reportDetail,\n this.data.cbposition\n );\n MarketQuestChartComponent.fetchChartConfig(this.chartSizeType, this);\n this.initializeAndShowChart();\n this.animation = {\n enable: this.downloadableImageType === undefined\n };\n }\n}\n","
\n \n \n \n \n \n
\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { combineLatest, Subscription } from 'rxjs';\nimport { map, mergeMap, take } from 'rxjs/operators';\nimport { FilterState } from '../../../../models/FilterData';\nimport { DefaultFilters } from '../../../../models/IFilters';\nimport { IMarketReportDate } from '../../../../models/IMarketReportDate';\nimport { MarketFilters } from '../../../../models/IMarketReportFilters';\nimport { FilterService } from '../../../../services/filter.service';\nimport { ModalService } from '../../../../services/modal.service';\nimport { selectV2FiltersStatus } from '../../../../store/selectors/filters.selector';\nimport { selectDateRanges, selectMarketReportFilters } from '../../../../store/selectors/market-position.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { SaveFiltersDialogComponent } from './save-filters-dialog/save-filters-dialog.component';\n\n@Component({\n selector: 'app-save-defaults',\n templateUrl: './save-defaults.component.html',\n styleUrls: ['./save-defaults.component.scss']\n})\nexport class SaveDefaultsComponent implements OnDestroy {\n @Input() reportType: number;\n subs = new Subscription();\n defaultDateInfo: IMarketReportDate;\n\n constructor(private store: Store, private filterService: FilterService, public modalService: ModalService) {\n this.subs.add(\n this.store.select(selectDateRanges).subscribe(dates => {\n // Find the 'Last Year' Date Settings and make it the default\n dates.map(date => {\n if (date.datePeriod === 'LY') {\n this.defaultDateInfo = cloneDeep(date);\n }\n });\n })\n );\n }\n\n save(reportType: number) {\n const dialogRef = this.modalService.open(SaveFiltersDialogComponent, {\n width: '512px',\n height: '280px',\n data: {\n reportType: reportType\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.subs.add(\n combineLatest([this.store.select(selectV2FiltersStatus), this.store.select(selectMarketReportFilters)])\n .pipe(\n take(1),\n map(([claimsFilters, marketFilters]) => {\n const arr: DefaultFilters[] = [];\n const filters: FilterState = cloneDeep(claimsFilters);\n const mpFilters: MarketFilters = cloneDeep(marketFilters);\n\n return this.filterService.buildFilterObject([filters, mpFilters], arr, reportType);\n }),\n mergeMap(defaultFiltersArray => {\n return this.filterService.updateUserFilterDefaults(defaultFiltersArray);\n })\n )\n .subscribe(() => {})\n );\n }\n });\n }\n\n clearDefaults = (): void => {\n this.subs.add(\n combineLatest([this.store.select(selectV2FiltersStatus), this.store.select(selectMarketReportFilters)])\n .pipe(\n take(1),\n map(([claimsFilters, marketFilters]) => {\n const arr: DefaultFilters[] = [];\n const filters: [FilterState, MarketFilters] = [\n // #1 Claims Defaults\n {\n zip: [],\n city: [],\n county: [],\n mlsid: cloneDeep(claimsFilters.mlsid),\n timeFrame: [],\n groupByLevel: [],\n priceType: [],\n msTypeName: [],\n unitType: []\n },\n // Market Position Defaults\n {\n zip: [],\n city: [],\n county: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: [],\n mlsid: cloneDeep(marketFilters.mlsid),\n groupByLevel: ['Brokerage'],\n msTypeName: ['Total'],\n unitType: ['Volume'],\n propertyType: [1, 2, 9],\n priceMin: 0,\n priceMax: 999999999,\n dateRange: {\n datePeriod: 'Last Year',\n startDate: this.defaultDateInfo.startDate,\n endDate: this.defaultDateInfo.endDate\n }\n }\n ];\n\n return this.filterService.buildFilterObject(filters, arr, -1);\n }),\n mergeMap(defaultFiltersArray => {\n return this.filterService.updateUserFilterDefaults(defaultFiltersArray);\n })\n )\n .subscribe(() => {})\n );\n };\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n Set Default Filter\n playlist_add\n
\n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {Data} from '@angular/router';\n\n@Component({\n selector: 'app-save-filters-dialog',\n templateUrl: './save-filters-dialog.component.html',\n styleUrls: ['./save-filters-dialog.component.scss']\n})\nexport class SaveFiltersDialogComponent implements OnInit {\n reportName: string;\n constructor(@Inject(MAT_DIALOG_DATA) public data: Data) {\n }\n\n ngOnInit() {\n this.reportName = this.data.reportType === 0 ? '#1 Claims' : 'Market Position';\n }\n\n}\n","
\n

Set Default Filter

\n
\n

You can save selected filters to be automatically applied every time you use {{this.reportName}}.\n Your MLS and locations will be saved for all reports in Market Quest.

\n

Clicking this will override any previously saved default filter.

\n
\n
\n \n \n
\n
\n","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatNativeDateModule, MatOptionModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { RouterModule } from '@angular/router';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { ChartModule } from '@syncfusion/ej2-angular-charts';\nimport { NoResultsComponentModule } from 'app/components/no-results/no-results.module';\nimport { ReportsTemplateComponent } from 'app/pages/layouts/reports-template/reports-template.component';\nimport { CopyClipboardDirective } from '../../../directives/clipboard.directive';\nimport { ExportPaneDirective } from '../../../directives/export-pane.directive';\nimport { FeatureFlagDirective } from '../../../directives/feature-flag.directive';\nimport { InsertComponentDirective } from '../../../directives/insert-component.directive';\nimport { SocialImageDirective } from '../../../directives/social-image.directive';\nimport { NavButtonBarComponent } from '../../../pages/layoutNav/nav-button-bar/nav-button-bar.component';\nimport { NavButtonComponent } from '../../../pages/layoutNav/nav-button-bar/nav-button/nav-button.component';\nimport { ChipTooltipPipe } from '../../../pipes/chipTooltip.pipe';\nimport { CountyStringPipe } from '../../../pipes/countyString.pipe';\nimport { LocationDataNamePipe } from '../../../pipes/locationDataName.pipe';\nimport { MarketQuestPhonePipe } from '../../../pipes/marketquestPhone.pipe';\nimport { ReportLocationNamePipe } from '../../../pipes/report-location-name.pipe';\nimport { SchoolStringPipe } from '../../../pipes/schoolDistrictString.pipe';\nimport { DisclaimerBannerContainerComponent } from '../../disclaimers/disclaimer-banner/disclaimer-banner-container/disclaimer-banner-container.component';\nimport { DisclaimerBannerComponent } from '../../disclaimers/disclaimer-banner/disclaimer-banner.component';\nimport { SavedSearchModalModule } from '../../modals/saved-search-modal/saved-search-modal.module';\nimport { MqFooterModule } from '../../mq-footer/mq-footer.module';\nimport { AvatarImageComponent } from '../../mq-header/avatar-menu/avatar-image/avatar-image.component';\nimport { CardControlsComponent } from '../claims-no1/claims-search-page/card-container/card-controls-container/card-controls/card-controls.component';\nimport { ChipsContainerComponent } from '../filter-panel/chips-container/chips-container.component';\nimport { ChipsGroupedComponent } from '../filter-panel/chips-container/chips-grouped/chips-grouped.component';\nimport { ChipsUngroupedComponent } from '../filter-panel/chips-container/chips-ungrouped/chips-ungrouped.component';\nimport { FilterPanelLocationsComponent } from '../filter-panel/filter-panel-locations/filter-panel-locations.component';\nimport { FilterPanelReportComponent } from '../filter-panel/filter-panel-report/filter-panel-report.component';\nimport { FilterPanelComponent } from '../filter-panel/filter-panel.component';\nimport { MlsListSelectComponent } from '../filter-panel/mls-list-select/mls-list-select.component';\nimport { PriceRangeComponent } from '../filter-panel/price-range/price-range.component';\nimport { SearchInputComponent } from '../filter-panel/search-input/search-input.component';\nimport { MultiDateRangeSelectionComponent } from '../filter-panel/time-period-multi/multi-date-range-selection/multi-date-range-selection.component';\nimport { TimePeriodMultiComponent } from '../filter-panel/time-period-multi/time-period-multi.component';\nimport { TimePeriodComponent } from '../filter-panel/time-period/time-period.component';\nimport { PositionStatsComponent } from '../market/position-stats/position-stats.component';\nimport { MarketingAssetsCardComponent } from '../report-page/marketing-assets-card/marketing-assets-card.component';\nimport { PreviewTileSothebysComponent } from '../report-page/marketing-assets-card/preview-tile-sothebys/preview-tile-sothebys.component';\nimport { PreviewTileComponent } from '../report-page/marketing-assets-card/preview-tile/preview-tile.component';\nimport { ReportDownloadAreaComponent } from '../report-page/report-download-area/report-download-area.component';\nimport { ActionButtonComponent } from '../report-page/report-stats/action-buttons/action-button-responsive/action-button.component';\nimport { ActionButtonsComponent } from '../report-page/report-stats/action-buttons/action-buttons.component';\nimport { ChipLabelComponent } from './chip-label/chip-label.component';\nimport { DownloadableImageComponent } from './downloadable-image/downloadable-image.component';\nimport { SearchComponent } from './filters/search/search.component';\nimport { MarketQuestChartComponent } from './market-quest-chart/market-quest-chart.component';\nimport { SaveDefaultsComponent } from './save-defaults/save-defaults.component';\nimport { SaveFiltersDialogComponent } from './save-defaults/save-filters-dialog/save-filters-dialog.component';\nimport { SmallChartTableComponent } from './small-chart-table/small-chart-table.component';\nimport { SocialSvgModule } from './social-svg/social-svg.module';\n\n@NgModule({\n declarations: [\n CardControlsComponent,\n ChipLabelComponent,\n CopyClipboardDirective,\n InsertComponentDirective,\n DownloadableImageComponent,\n MarketQuestChartComponent,\n ReportLocationNamePipe,\n SearchComponent,\n SocialImageDirective,\n MarketingAssetsCardComponent,\n ActionButtonsComponent,\n PreviewTileComponent,\n PreviewTileSothebysComponent,\n PositionStatsComponent,\n ActionButtonComponent,\n LocationDataNamePipe,\n SearchComponent,\n DisclaimerBannerComponent,\n ChipTooltipPipe,\n CountyStringPipe,\n SchoolStringPipe,\n MarketQuestPhonePipe,\n NavButtonBarComponent,\n NavButtonComponent,\n SaveDefaultsComponent,\n SaveFiltersDialogComponent,\n SmallChartTableComponent,\n DisclaimerBannerContainerComponent,\n FilterPanelComponent,\n MlsListSelectComponent,\n ChipsGroupedComponent,\n ChipsContainerComponent,\n ChipsUngroupedComponent,\n SearchInputComponent,\n PriceRangeComponent,\n TimePeriodComponent,\n TimePeriodMultiComponent,\n MultiDateRangeSelectionComponent,\n ReportsTemplateComponent,\n FilterPanelLocationsComponent,\n FilterPanelReportComponent,\n ExportPaneDirective,\n FeatureFlagDirective,\n ReportDownloadAreaComponent,\n AvatarImageComponent\n ],\n imports: [\n CommonModule,\n MatSelectModule,\n ReactiveFormsModule,\n FormsModule,\n MatChipsModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n ChartModule,\n MatIconModule,\n MatDatepickerModule,\n MatTooltipModule,\n MatMenuModule,\n YouTubePlayerModule,\n MatButtonModule,\n MatTableModule,\n MatSidenavModule,\n RouterModule,\n MqFooterModule,\n MatDialogModule,\n MatExpansionModule,\n NoResultsComponentModule,\n ScrollingModule,\n MatCheckboxModule,\n MatListModule,\n MatChipsModule,\n SocialSvgModule,\n MatRadioModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatOptionModule,\n MatSnackBarModule,\n MatProgressBarModule,\n SavedSearchModalModule\n ],\n exports: [\n MqFooterModule,\n CardControlsComponent,\n ChartModule,\n ChipLabelComponent,\n CopyClipboardDirective,\n FormsModule,\n MarketQuestChartComponent,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatOptionModule,\n MatRadioModule,\n MatPaginatorModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatSelectModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatTabsModule,\n MatTooltipModule,\n MatDatepickerModule,\n MatTableModule,\n MatSidenavModule,\n NoResultsComponentModule,\n ReactiveFormsModule,\n ReportLocationNamePipe,\n ScrollingModule,\n SearchComponent,\n SocialImageDirective,\n InsertComponentDirective,\n MarketingAssetsCardComponent,\n ActionButtonsComponent,\n PreviewTileComponent,\n YouTubePlayerModule,\n PositionStatsComponent,\n ActionButtonComponent,\n LocationDataNamePipe,\n DisclaimerBannerComponent,\n ChipTooltipPipe,\n CountyStringPipe,\n SchoolStringPipe,\n MarketQuestPhonePipe,\n NavButtonBarComponent,\n NavButtonComponent,\n SaveDefaultsComponent,\n SaveFiltersDialogComponent,\n SmallChartTableComponent,\n DisclaimerBannerContainerComponent,\n SocialSvgModule,\n FilterPanelComponent,\n MlsListSelectComponent,\n ChipsGroupedComponent,\n ChipsContainerComponent,\n ChipsUngroupedComponent,\n SearchInputComponent,\n PriceRangeComponent,\n TimePeriodComponent,\n TimePeriodMultiComponent,\n MultiDateRangeSelectionComponent,\n ReportsTemplateComponent,\n FilterPanelLocationsComponent,\n FilterPanelReportComponent,\n MatSlideToggleModule,\n MatSliderModule,\n MatOptionModule,\n MatSnackBarModule,\n MatNativeDateModule,\n PreviewTileSothebysComponent,\n ExportPaneDirective,\n FeatureFlagDirective,\n ReportDownloadAreaComponent,\n AvatarImageComponent\n ]\n})\nexport class SharedComponentsModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { IReportGraph } from '../../../../models/IReportGraph';\nimport { ReportDetailService } from '../../../../services/report-details.service';\nimport { selectReportPageData } from '../../../../store/selectors/reports.selectors';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { ITopGroupTypeData } from '../../../../models/ITopGroupTypeData';\nimport { IMarketPositionData } from '../../../../models/IMarketPositionData';\n\n@Component({\n selector: 'app-small-chart-table',\n templateUrl: './small-chart-table.component.html',\n styleUrls: ['./small-chart-table.component.scss']\n})\nexport class SmallChartTableComponent implements OnInit {\n reportDetail$ = this.store.select(selectReportPageData);\n entityNames: { levelEntityName: string }[] = [];\n @Input() cbPosition: number;\n @Input() marketReportDetails: IMarketPositionData;\n @Input() reportType: number;\n\n constructor(private store: Store, private reportDetailSrv: ReportDetailService) {}\n\n ngOnInit() {\n if (this.reportType === 0) {\n this.reportDetail$.subscribe(d => {\n this.entityNames = this.reportDetailSrv.remapGraphEntryNames(d.reportDetail, this.cbPosition).map((e: IReportGraph) => {\n return { levelEntityName: e.levelEntityName };\n });\n });\n } else if (this.reportType === 1) {\n this.entityNames = this.reportDetailSrv\n .remapMarketGraphEntryNames(this.marketReportDetails, this.cbPosition)\n .map((e: ITopGroupTypeData) => {\n return { levelEntityName: e.entityName };\n });\n }\n }\n}\n","
\n
\n
{{ idx + 1 }}
\n
{{ graphEntity.levelEntityName }}
\n
\n
\n
\n {{\n reportType === 0\n ? (reportDetail$ | async).reportDetail.reportHeaderEntity.groupByLevel + 's'\n : marketReportDetails?.reportHeaderEntity.groupByLevel + 's'\n }}\n
\n","import { Component, HostBinding, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-blog-svg-component',\n templateUrl: './blog-svg-component.component.html',\n styleUrls: ['./blog-svg-component.component.scss']\n})\nexport class BlogSvgComponentComponent implements OnInit {\n @HostBinding('class') classes = 'market-quest-icon ';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n format_bold\n \n","import { Component, HostBinding, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-facebook-svg',\n templateUrl: './facebook-svg.component.html',\n styleUrls: ['./facebook-svg.component.scss']\n})\nexport class FacebookSvgComponent implements OnInit {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = '#1f69ff';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","facebook\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-instagram-svg',\n templateUrl: './instagram-svg.component.html',\n styleUrls: ['./instagram-svg.component.scss']\n})\nexport class InstagramSvgComponent {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = '#1f69ff';\n\n constructor() {}\n}\n","\n \n \n \n\n","import { Component, HostBinding, Input } from '@angular/core';\nimport { ThemeService } from '../../../../../services/theme.service';\n\n@Component({\n selector: 'app-linkedin-svg',\n templateUrl: './linkedin-svg.component.html',\n styleUrls: ['./linkedin-svg.component.scss']\n})\nexport class LinkedinSvgComponent {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = this.cssService.colorPrimary;\n\n constructor(public cssService: ThemeService) {}\n}\n","\n LinkedIn icon\n \n\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-pinterest-svg',\n templateUrl: './pinterest-svg.component.html',\n styleUrls: ['./pinterest-svg.component.scss']\n})\nexport class PinterestSvgComponent {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = '#1f69ff';\n\n constructor() {}\n}\n","\n Pinterest icon\n \n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { InstagramSvgComponent } from './instagram-svg/instagram-svg.component';\nimport { LinkedinSvgComponent } from './linkedin-svg/linkedin-svg.component';\nimport { PinterestSvgComponent } from './pinterest-svg/pinterest-svg.component';\nimport { TwitterSvgComponent } from './twitter-svg/twitter-svg.component';\nimport { YoutubeSvgComponent } from './youtube-svg/youtube-svg.component';\nimport { FacebookSvgComponent } from './facebook-svg/facebook-svg.component';\nimport { BlogSvgComponentComponent } from './blog-svg-component/blog-svg-component.component';\n\n@NgModule({\n declarations: [\n TwitterSvgComponent,\n PinterestSvgComponent,\n LinkedinSvgComponent,\n YoutubeSvgComponent,\n InstagramSvgComponent,\n FacebookSvgComponent,\n BlogSvgComponentComponent\n ],\n exports: [\n TwitterSvgComponent,\n PinterestSvgComponent,\n LinkedinSvgComponent,\n YoutubeSvgComponent,\n InstagramSvgComponent,\n FacebookSvgComponent,\n BlogSvgComponentComponent\n ],\n imports: [CommonModule, MatIconModule]\n})\nexport class SocialSvgModule {}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-twitter-svg',\n templateUrl: './twitter-svg.component.html',\n styleUrls: ['./twitter-svg.component.scss']\n})\nexport class TwitterSvgComponent {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = '#1f69ff';\n\n constructor() {}\n}\n","\n Twitter icon\n \n\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'app-youtube-svg',\n templateUrl: './youtube-svg.component.html',\n styleUrls: ['./youtube-svg.component.scss']\n})\nexport class YoutubeSvgComponent {\n @HostBinding('class') classes = 'market-quest-icon ';\n @Input() size = 24;\n @Input() fillColor = '#1f69ff';\n\n constructor() {}\n}\n","\n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { switchMap, take } from 'rxjs/operators';\nimport { ReportPageTypeShortStrEnum, ReportTypeEnum } from '../../../../models/ReportTypes';\nimport { MarketTrendsService } from '../../../../services/market-trends.service';\nimport { ReportService } from '../../../../services/report.service';\nimport { ShareSocialAndEmailService } from '../../../../services/share-social-and-email.service';\nimport { ThemeService } from '../../../../services/theme.service';\nimport { selectTrendsData } from '../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { SharedComponentsModule } from '../../shared/shared-components.module';\nimport { aspTrendsData, aspTrendsPDFPending } from '../../../../store/selectors/asp-report.selector';\nimport { FetchAspPDF } from '../../../../store/actions/asp-trends.action';\nimport { Observable } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [CommonModule, SharedComponentsModule],\n selector: 'app-trend-card',\n templateUrl: './trend-card.component.html',\n styleUrls: ['./trend-card.component.scss']\n})\nexport class TrendCardComponent {\n @Input() title: string;\n @Input() exportReport = false;\n @Input() directPDF = false;\n @Input() showHeader = true;\n @Input() reportType: ReportTypeEnum = null;\n @Output() exportCSV: EventEmitter = new EventEmitter();\n @Output() exportXLS: EventEmitter = new EventEmitter();\n isSir: boolean;\n directPdfPending$: Observable;\n\n constructor(\n private reportServ: ReportService,\n private themeSvc: ThemeService,\n private trendsSvc: MarketTrendsService,\n private store: Store,\n private shareSocialAndEmailService: ShareSocialAndEmailService\n ) {\n this.isSir = this.themeSvc.isSIR();\n this.directPdfPending$ = this.store.select(aspTrendsPDFPending);\n }\n\n exportPdf() {\n this.reportServ.exportPdfPreview(ReportPageTypeShortStrEnum.trends, 'CBR');\n }\n\n openEmail() {\n this.store\n .select(selectTrendsData)\n .pipe(\n switchMap(data => {\n return this.trendsSvc.postTrendsDataToDb(data);\n })\n )\n .pipe(take(1))\n .subscribe(trendsDbString => {\n this.shareSocialAndEmailService.openTrendsEmail(trendsDbString);\n });\n }\n\n exportCSVClick(): void {\n this.exportCSV.emit(true);\n }\n\n exportXLSClick(): void {\n this.exportXLS.emit(true);\n }\n\n downloadDirectPdf() {\n if (this.reportType === ReportTypeEnum.ASP_Trend) {\n this.store\n .select(aspTrendsData)\n .pipe(take(1))\n .subscribe(data => this.store.dispatch(new FetchAspPDF(data)));\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","import { CommonModule, DecimalPipe } from '@angular/common';\nimport { ChangeDetectorRef, Component, Input, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n AxisModel,\n ChartAreaModel,\n CornerRadiusModel,\n IAxisLabelRenderEventArgs,\n IPointRenderEventArgs,\n ISeriesRenderEventArgs,\n ITextRenderEventArgs,\n LegendSettingsModel,\n MarkerSettingsModel,\n TooltipSettingsModel\n} from '@syncfusion/ej2-angular-charts';\nimport { format, getYear } from 'date-fns';\nimport { cloneDeep } from 'lodash-es';\nimport { debounce, fromEvent, Subscription, timer } from 'rxjs';\nimport { IMarketTrendsDataSet, ITrendsDataPoint } from '../../../../../models/IMarketTrendsGraphSet';\nimport { TrendDataTypeEnum } from '../../../../../models/ITrendsTableData';\nimport { MarketTrendsChartConfiguration, TrendsChartStyles } from '../../../../../models/MarketTrendsChartConfiguration';\nimport { ChartService } from '../../../../../services/chart.service';\nimport { MarketTrendsService } from '../../../../../services/market-trends.service';\nimport { ThemeService } from '../../../../../services/theme.service';\nimport { selectTrendsDataHeader } from '../../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\nimport { SharedComponentsModule } from '../../../shared/shared-components.module';\n\n@Component({\n standalone: true,\n imports: [SharedComponentsModule, CommonModule],\n selector: 'app-chart',\n templateUrl: './chart.component.html',\n styleUrls: ['./chart.component.scss']\n})\nexport class ChartComponent implements OnInit, OnDestroy, OnChanges {\n @Input() chart: MarketTrendsChartConfiguration;\n @Input() dataPoints: IMarketTrendsDataSet;\n subs = new Subscription();\n chartId: string;\n chartData: ITrendsDataPoint[][];\n legend: LegendSettingsModel;\n chartArea: ChartAreaModel;\n primaryXAxis: AxisModel;\n primaryYAxis: AxisModel;\n cornerRadius: CornerRadiusModel;\n tooltip: TooltipSettingsModel = {\n enable: false\n };\n marker: MarkerSettingsModel;\n palette: string[];\n TrendDataTypeEnum = TrendDataTypeEnum;\n showColumnMarkers = false;\n debouncedResize$ = fromEvent(window, 'resize');\n\n private year = 0;\n private currMonth: string;\n\n constructor(\n private marketTrendsService: MarketTrendsService,\n private store: Store,\n private decimalPipe: DecimalPipe,\n private themeService: ThemeService,\n private cdr: ChangeDetectorRef,\n private chartSvc: ChartService\n ) {\n this.chartId = MarketTrendsService.randomId();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.chart) {\n this.generateChart();\n }\n }\n\n ngOnInit(): void {\n this.subs.add(\n this.debouncedResize$.pipe(debounce(() => timer(500))).subscribe(() => {\n this.generateChart();\n })\n );\n\n this.generateChart();\n this.legend = this.chartSvc.setUpLegend(this.legend, this.chart);\n this.tooltip = this.chartSvc.setupTooltip(this.tooltip);\n\n this.store.select(selectTrendsDataHeader).subscribe(d => {\n this.chartData = [];\n if (d) {\n this.currMonth = format(new Date(d.endDate), 'MMMM');\n }\n Object.values(this.dataPoints).map(value => {\n this.formatDates(value);\n });\n });\n }\n\n generateChart(): void {\n this.showColumnMarkers = window.innerWidth >= 960;\n this.fetchChartConfig(this.chart?.chartTypes, this.chart?.isCustomChart);\n this.setUpResponsiveDataMarkers();\n this.cdr.detectChanges();\n }\n\n private isMobile() {\n return window.innerWidth <= 600;\n }\n\n axisLabelRender($event: IAxisLabelRenderEventArgs) {\n const result = this.chartSvc.checkAxisLabels($event, this.isMobile(), this.currMonth, this.year);\n $event = result.$event;\n this.year = result.newCurrentYear;\n return $event;\n }\n\n pointRender($event: IPointRenderEventArgs) {\n return this.chartSvc.pointRenderInit($event, this.currMonth, this.themeService.isSIR(), this.themeService.chartPrimary);\n }\n\n textRender($event: ITextRenderEventArgs) {\n return this.chartSvc.textRenderInit($event, this.currMonth);\n }\n\n seriesRender($event: ISeriesRenderEventArgs): void {\n const custom = this.chart?.isCustomChart;\n const isSir = this.themeService.isSIR();\n return this.chartSvc.seriesRenderInit($event, this.showColumnMarkers, this.chartId, this.currMonth, isSir, custom);\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n private checkColumn() {\n return this.showColumnMarkers && this.chart?.chartTypes.includes('Column');\n }\n\n private setUpResponsiveDataMarkers() {\n if (this.checkColumn()) {\n window.setTimeout(() => {\n this.chartSvc.generateColumnMarkers(\n this.chartData[this.chart?.chartTypes.indexOf('Column')],\n this.chartId,\n this.currMonth,\n this.themeService.isSIR(),\n this.chart?.isCustomChart\n );\n }, 10);\n }\n }\n\n private formatDates(value: ITrendsDataPoint[]) {\n const val = cloneDeep(value);\n let year = 0;\n val.map(v => {\n const d = new Date(v.xData);\n const month = format(d, 'MMMM').substring(0, 3);\n year = getYear(d);\n v.xData = `${month} ${year}`;\n });\n this.chartData.push(val);\n }\n\n private fetchChartConfig(size: TrendsChartStyles[], customChart = false) {\n const config = this.chartSvc.fetchChartConfig(size, customChart);\n return Object.assign(this, config);\n }\n}\n","\n \n \n \n \n \n 0 ? 'yAxis1' : null) : null\"\n [yName]=\"'yData'\"\n width=\"4\"\n >\n \n \n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IMarketTrendsDataSet, ITrendsDataPoint } from '../../../../models/IMarketTrendsGraphSet';\nimport { MarketTrendsChartConfiguration } from '../../../../models/MarketTrendsChartConfiguration';\nimport { selectTrendsGraphData } from '../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trend-chart-container',\n templateUrl: './trend-chart-container.component.html',\n styleUrls: ['./trend-chart-container.component.scss']\n})\nexport class TrendChartContainerComponent implements OnInit {\n @Input() title: string;\n @Input() chart: MarketTrendsChartConfiguration;\n @Input() typographySize: 'small' | 'medium' | 'large' = 'medium';\n chartData$: Observable<{ data: IMarketTrendsDataSet }>;\n\n constructor(private store: Store) {}\n\n ngOnInit(): void {\n this.chartData$ = this.store.select(selectTrendsGraphData).pipe(\n map(apiData => {\n const data: IMarketTrendsDataSet = {};\n this.chart?.dataTypes.map(dataType => {\n data[dataType] = [];\n apiData.forEach(d => {\n const entry: ITrendsDataPoint = {\n yData: d[dataType] as number,\n xData: d.period\n };\n data[dataType].push(entry);\n });\n });\n return { data };\n })\n );\n }\n}\n","
\n \n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { ITrendsCopy } from '../../../../../models/ITrendsCopy';\nimport { TrendCardTypeEnumShortHand } from '../../../../../models/ITrendsTableData';\nimport { ThemeService } from '../../../../../services/theme.service';\nimport { selectTrendsCopyByKey } from '../../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trend-chart-description',\n templateUrl: './trend-chart-description.component.html',\n styleUrls: ['./trend-chart-description.component.scss']\n})\nexport class TrendChartDescriptionComponent implements OnInit {\n @Input() title: string;\n @Input() typographySize: 'small' | 'medium' | 'large' = 'medium';\n @Input() chartShortHand: TrendCardTypeEnumShortHand;\n @Input() isSir: boolean;\n description$: Observable;\n\n constructor(private store: Store, private themeSvc: ThemeService) {\n this.isSir = this.themeSvc.isSIR();\n }\n\n ngOnInit(): void {\n if (this.chartShortHand !== TrendCardTypeEnumShortHand.custom) {\n this.description$ = this.store.select(selectTrendsCopyByKey(TrendCardTypeEnumShortHand[this.chartShortHand]));\n }\n }\n}\n","
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { TrendCardTypeEnumShortHand } from '../../../../models/ITrendsTableData';\nimport { UpdateTrendsTableType } from '../../../../store/actions/market-trends.action';\nimport { selectTrendsTableDataType } from '../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trend-data-table-container',\n templateUrl: './trend-data-table-container.component.html',\n styleUrls: ['./trend-data-table-container.component.scss']\n})\nexport class TrendDataTableContainerComponent implements OnInit {\n @Input() title: string;\n form: UntypedFormGroup;\n TrendCardTypeEnumShortHand = TrendCardTypeEnumShortHand;\n @Input() showControls = true;\n @Input() typographySize: 'small' | 'medium' | 'large' = 'medium';\n\n constructor(private fb: UntypedFormBuilder, private store: Store) {\n this.form = this.fb.group({\n formatToggle: [0]\n });\n }\n\n ngOnInit(): void {\n this.store.select(selectTrendsTableDataType).subscribe(val => {\n this.form.get('formatToggle').patchValue(val, { emitEvent: false });\n });\n this.form.get('formatToggle').valueChanges.subscribe((value: number) => {\n this.store.dispatch(new UpdateTrendsTableType(value));\n });\n }\n}\n","\n
\n
\n \n \n arrow_upward\n \n %\n #\n \n
\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { isString } from 'lodash-es';\nimport { ITrendsTableData } from '../../../../../../models/ITrendsTableData';\nimport { MarketTrendsService } from '../../../../../../services/market-trends.service';\n\n@Component({\n selector: 'app-dynamic-cell',\n templateUrl: './dynamic-cell.component.html',\n styleUrls: ['./dynamic-cell.component.scss']\n})\nexport class DynamicCellComponent implements OnInit {\n formattedVal: string | number;\n @Input() value: number;\n @Input() type: number;\n @Input() dataPoint: ITrendsTableData;\n difference: number;\n\n constructor(private marketTrendsService: MarketTrendsService) {}\n\n private static removeNonNumeric(data: string | number) {\n if (isString(data)) {\n return parseFloat(data.replace(/[,$%]/g, ''));\n }\n return data;\n }\n\n private static calculateDifferenceValue(dataPoint: number | string, type: number, componentValue: number) {\n let convertedDataPoint = dataPoint;\n\n if (type === 2) {\n convertedDataPoint = DynamicCellComponent.removeNonNumeric(dataPoint);\n return DynamicCellComponent.isNegativeOrPositive(componentValue, convertedDataPoint);\n }\n return componentValue;\n }\n\n private static isNegativeOrPositive(val: number, cmValue: number) {\n if (cmValue - val < 0) {\n return -1;\n }\n if (cmValue - val === 0) {\n return 0;\n }\n return 1;\n }\n\n ngOnInit(): void {\n this.formattedVal = this.marketTrendsService.formatByType(this.value, this.dataPoint?.formattype);\n this.difference = DynamicCellComponent.calculateDifferenceValue(this.dataPoint?.cm, this.type, this.value);\n }\n}\n","
\n
\n \n {{ difference < 0 ? 'arrow_downward' : (difference === 0 ? 'horizontal_rule' : 'arrow_upward') }}\n \n
\n
\n {{value}}%\n
\n
\n {{formattedVal}}\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DataColumns, ITrendsTableData } from '../../../../../models/ITrendsTableData';\nimport { MarketTrendsService, TableHeaderColumn } from '../../../../../services/market-trends.service';\nimport {\n selectTrendsTableData,\n selectTrendsTableDataType\n} from '../../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trend-table',\n templateUrl: './trend-table.component.html',\n styleUrls: ['./trend-table.component.scss']\n})\nexport class TrendTableComponent implements OnInit {\n DataColumns = DataColumns;\n tableData$ = this.store.select(selectTrendsTableData);\n tableDataType$ = this.store.select(selectTrendsTableDataType);\n data$: Observable<{ headers: TableHeaderColumn[]; formattedData: ITrendsTableData[] }>;\n @Input() typographySize: ('small' | 'medium' | 'large') = 'medium';\n\n constructor(private store: Store,\n private marketTrendsService: MarketTrendsService) {\n }\n\n ngOnInit(): void {\n this.data$ = combineLatest([this.tableData$, this.tableDataType$]).pipe(map(([tableData, tableType]) => {\n const headers = this.marketTrendsService.tableHeaderColumns;\n const formattedData = this.marketTrendsService.formatTrendsTableArray(tableData, tableType);\n return {headers, formattedData};\n }));\n }\n}\n","
\n
\n
Monthly Trends
\n
\n
\n
\n
\n
\n {{ header.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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SocialBlockDirective } from '../../../directives/social-block.directive';\nimport { PagedArrayFilterPipe } from '../../../pipes/paged-array-filter.pipe';\nimport { TrendDataFormatPipe } from '../../../pipes/trend-data-format.pipe';\nimport { SharedComponentsModule } from '../shared/shared-components.module';\nimport { TrendCardComponent } from './trend-card/trend-card.component';\nimport { ChartComponent } from './trend-chart-container/chart/chart.component';\nimport { TrendChartContainerComponent } from './trend-chart-container/trend-chart-container.component';\nimport { TrendChartDescriptionComponent } from './trend-chart-container/trend-chart-description/trend-chart-description.component';\nimport { TrendDataTableContainerComponent } from './trend-data-table-container/trend-data-table-container.component';\nimport { DynamicCellComponent } from './trend-data-table-container/trend-table/dynamic-cell/dynamic-cell.component';\nimport { TrendTableComponent } from './trend-data-table-container/trend-table/trend-table.component';\nimport { TrendsReportPageComponent } from './trends-report-page/trends-report-page.component';\nimport { TrendsSkeletonComponent } from './trends-report-page/trends-skeleton/trends-skeleton.component';\n\n@NgModule({\n declarations: [\n TrendDataTableContainerComponent,\n TrendChartDescriptionComponent,\n TrendTableComponent,\n TrendChartContainerComponent,\n TrendDataTableContainerComponent,\n DynamicCellComponent,\n TrendDataFormatPipe,\n TrendsReportPageComponent,\n SocialBlockDirective,\n PagedArrayFilterPipe\n ],\n imports: [CommonModule, SharedComponentsModule, TrendCardComponent, ChartComponent, TrendsSkeletonComponent],\n exports: [\n TrendDataTableContainerComponent,\n TrendChartDescriptionComponent,\n TrendTableComponent,\n TrendChartContainerComponent,\n TrendDataTableContainerComponent,\n DynamicCellComponent,\n TrendDataFormatPipe,\n ChartComponent,\n TrendsReportPageComponent,\n SocialBlockDirective,\n PagedArrayFilterPipe\n ],\n providers: []\n})\nexport class TrendsNoRouteModule {}\n","import { DatePipe } from '@angular/common';\nimport { Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ITrendsTableData } from 'app/models/ITrendsTableData';\nimport { ReportService } from 'app/services/report.service';\nimport { selectCurrentMLS } from 'app/store/selectors/mls.selector';\nimport { format, isValid, sub } from 'date-fns';\nimport { Observable, Subscription } from 'rxjs';\nimport { filter, map, take } from 'rxjs/operators';\nimport { IMarketTrendsHeader } from '../../../../models/IMarketTrendsHeader';\nimport { MarketTrendsChartConfiguration } from '../../../../models/MarketTrendsChartConfiguration';\nimport { MarketTrendsService } from '../../../../services/market-trends.service';\nimport { MTFiltersDirty, UpdateTrendsReportFilters } from '../../../../store/actions/market-trends.action';\nimport { ToggleFilterPanel } from '../../../../store/actions/menus.action';\nimport {\n selectTrendsDataHasError,\n selectTrendsDataHeader,\n selectTrendsDataLoaded,\n selectTrendsDataLoading,\n selectTrendsGraphData,\n selectTrendsTableData\n} from '../../../../store/selectors/market-trends.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-trends-report-page',\n templateUrl: './trends-report-page.component.html',\n styleUrls: ['./trends-report-page.component.scss']\n})\nexport class TrendsReportPageComponent implements OnInit, OnDestroy {\n @HostBinding('class') classes = 'd-flex flex-column h-100 v-scroll-auto';\n @Input() enableExports = true;\n trendsError$: Observable;\n trendsData$: Observable<{ chartData: MarketTrendsChartConfiguration[]; title: string }>;\n trendsLoaded$: Observable;\n trendsLoading$: Observable;\n skeletonReportArray = Array(3);\n subs = new Subscription();\n hasData$: Observable;\n mlsId: string;\n\n constructor(private store: Store, private marketTrends: MarketTrendsService, private datePipe: DatePipe) {\n this.store\n .select(selectCurrentMLS)\n .pipe(filter(x => !!x))\n .pipe(take(1))\n .subscribe(mls => {\n this.mlsId = mls.mlsId;\n });\n }\n\n private static prepareData = (apiDate: IMarketTrendsHeader): { monthFormatted: string; title: string } => {\n if (apiDate) {\n const date = new Date(apiDate.endDate);\n if (!isValid(date)) {\n return { monthFormatted: '', title: '' };\n }\n const monthFormatted = format(date, 'MMMM');\n const yearFormatted = format(date, 'yyyy');\n const title = 'Market Trends Reports: ' + monthFormatted + ' ' + yearFormatted;\n return { title, monthFormatted };\n }\n return { monthFormatted: '', title: '' };\n };\n\n ngOnInit(): void {\n this.trendsLoaded$ = this.store.select(selectTrendsDataLoaded);\n this.trendsLoading$ = this.store.select(selectTrendsDataLoading);\n this.trendsError$ = this.store.select(selectTrendsDataHasError);\n const chartData = this.marketTrends.marketTrendsChartConfiguration;\n\n this.trendsData$ = this.store.select(selectTrendsDataHeader).pipe(\n map(headerData => {\n const { title } = TrendsReportPageComponent.prepareData(headerData);\n this.marketTrends.generateTableHeaders(headerData.endDate);\n return { chartData, title };\n })\n );\n\n this.setHasData();\n }\n\n ngOnDestroy(): void {\n this.subs.unsubscribe();\n }\n\n setHasData(): void {\n this.hasData$ = this.store.select(selectTrendsTableData).pipe(\n map((trendData: ITrendsTableData[]) => {\n return Boolean(\n trendData.find((trend: ITrendsTableData) => {\n return trend.cm > 0;\n })\n );\n })\n );\n }\n\n toggleMenu() {\n this.store.dispatch(new ToggleFilterPanel());\n }\n\n clearFilters(): void {\n const currentDate = new Date();\n const maxDate = format(sub(currentDate, { months: 1 }), 'MM/yyyy');\n const defaultFilters = {\n city: [],\n county: [],\n zip: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: [],\n propertyType: [1, 2, 9],\n priceMax: 999999999,\n priceMin: 0,\n endDate: maxDate,\n isReo: false,\n isDirty: false\n };\n this.store.dispatch(new MTFiltersDirty(true));\n this.store.dispatch(new UpdateTrendsReportFilters(defaultFilters));\n this.store.dispatch(new MTFiltersDirty(false));\n }\n\n refreshPage(): void {\n window.location.reload();\n }\n\n downloadTableData(isCSV: boolean): void {\n this.store\n .select(selectTrendsGraphData)\n .pipe(take(1))\n .subscribe(trendsTableData => {\n let trendsTableCSV =\n 'Month,Year,Med. Sales Price,Avg. Sales Price,Sales to List Price,Homes Sold,Absorption Rate,Average DOM,Price Per Sqft.,Active Inventory,MSI,New Listings' +\n '\\r\\n';\n\n trendsTableData.forEach(trendsGraph => {\n trendsTableCSV += this.datePipe.transform(new Date(trendsGraph.period), 'LLLL') + ',';\n trendsTableCSV += new Date(trendsGraph.period).getFullYear() + ',';\n trendsTableCSV += trendsGraph.msp + ',';\n trendsTableCSV += trendsGraph.asp + ',';\n trendsTableCSV += trendsGraph.splp + ',';\n trendsTableCSV += trendsGraph.solds + ',';\n trendsTableCSV += trendsGraph['ar'] + ',';\n trendsTableCSV += trendsGraph.dom + ',';\n trendsTableCSV += trendsGraph.sppersf + ',';\n trendsTableCSV += trendsGraph.ai + ',';\n trendsTableCSV += trendsGraph.msi + ',';\n trendsTableCSV += trendsGraph.nl + '\\r\\n';\n });\n\n if (isCSV) {\n ReportService.generateCSVLink(trendsTableCSV, 'Trends-Data-Table-' + this.mlsId);\n } else {\n ReportService.generateJsonToXlsx(\n trendsTableCSV.split('\\r\\n').map(trendsCSV => {\n return trendsCSV.split(',');\n }) as any,\n 'Trends-Data-Table-' + this.mlsId,\n true\n );\n }\n });\n }\n\n exportCSV(): void {\n this.downloadTableData(true);\n }\n\n exportXLS(): void {\n this.downloadTableData(false);\n }\n}\n","\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Please try using different filter combinations.\n \n \n
\n\n\n \n The database connection has timed out, please refresh the page. If you need further assistance, please contact the Help Desk at\n 877-678-HELP (877-678-4357).\n \n\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'app-trends-skeleton',\n templateUrl: './trends-skeleton.component.html',\n styleUrls: ['./trends-skeleton.component.scss']\n})\nexport class TrendsSkeletonComponent {\n @Input() height: number;\n constructor() {}\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { Disclaimer } from '../../../../models/IDisclaimer';\n\n@Component({\n selector: 'app-disclaimer-banner-container',\n templateUrl: './disclaimer-banner-container.component.html',\n styleUrls: ['./disclaimer-banner-container.component.scss']\n})\nexport class DisclaimerBannerContainerComponent {\n @Input() data: Disclaimer[];\n\n constructor() {}\n}\n","
\n \n \n \n \n \n
\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable, Subscription } from 'rxjs';\nimport { IBannerData } from '../../../models/IBannerData';\nimport { PushWarningBanner, ToggleWarningBanner } from '../../../store/actions/menus.action';\nimport { selectBannersByType, selectBannerStatus } from '../../../store/selectors/menus.selector';\nimport { IAppState } from '../../../store/state/app.state';\nimport { Banner } from '../../../store/state/menu.state';\n\n@Component({\n selector: 'app-disclaimer-banner',\n templateUrl: './disclaimer-banner.component.html',\n styleUrls: ['./disclaimer-banner.component.scss']\n})\nexport class DisclaimerBannerComponent implements OnInit, OnDestroy {\n @Input() data: IBannerData;\n bannerStatus$: Observable;\n private bannerConfig: Banner;\n private subs = new Subscription();\n\n constructor(private store: Store) {}\n\n ngOnInit(): void {\n this.bannerConfig = {\n show: null,\n type: this.data?.type\n };\n this.subs.add(\n this.store.select(selectBannersByType(this.bannerConfig)).subscribe(banners => {\n const match = banners.find(b => b.type === this.bannerConfig.type);\n if (match) {\n this.bannerConfig = cloneDeep(match);\n } else {\n this.store.dispatch(new PushWarningBanner(this.bannerConfig));\n }\n })\n );\n this.bannerStatus$ = this.store.select(selectBannerStatus(this.bannerConfig));\n }\n\n goToHelpPage(url: string) {\n window.open(`${url}`, '_blank');\n }\n\n hideBanner() {\n this.store.dispatch(new ToggleWarningBanner(this.bannerConfig));\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n info\n
\n
\n {{ data.message }}\n
\n Learn More\n close\n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\n\nexport class EmailAddressStateMatcher implements ErrorStateMatcher {\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\n }\n}\n\n@Component({\n selector: 'app-email-address',\n templateUrl: './email-address.component.html',\n styleUrls: ['./email-address.component.scss']\n})\nexport class EmailAddressComponent implements OnInit {\n @Input() emailAddress: string;\n @Input() showTrash: boolean;\n @Output() trashClicked = new EventEmitter();\n emailFormControl: UntypedFormControl;\n matcher = new EmailAddressStateMatcher();\n public black = '#000000';\n\n ngOnInit() {\n this.emailFormControl = new UntypedFormControl(null, [Validators.required, Validators.email]);\n this.emailFormControl.setValue(this.emailAddress);\n }\n\n delete(clicked: boolean): void {\n this.trashClicked.emit(clicked);\n }\n}\n","
\n \n Recipient\n \n \n Please enter a valid email address\n \n \n Email is required\n \n \n \n delete_outline\n \n
\n","import { Component, NgZone } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MqOktaAuthService } from '../../../services/mq-okta-auth.service';\n\n@Component({\n selector: 'app-logout-modal',\n templateUrl: './logout-modal.component.html',\n styleUrls: ['./logout-modal.component.scss']\n})\nexport class LogoutModalComponent {\n constructor(private mqAuth: MqOktaAuthService, private ngZone: NgZone, public dialogRef: MatDialogRef) {}\n\n signOut() {\n this.dialogRef.close();\n this.mqAuth.logout().then(r => r);\n }\n\n close() {\n this.ngZone.run(() => {\n this.dialogRef.close();\n });\n }\n}\n","
\n

Sign out of Market Quest

\n
\n

Are you sure you want to sign out?

\n
\n \n \n \n \n
\n","import { AfterViewInit, Component, Inject, OnDestroy, QueryList, ViewChildren } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { IEmailData } from '../../../models/IEmailData';\nimport { IPageTypes } from '../../../models/IPageTypes';\nimport { EmailService } from '../../../services/email.service';\nimport { ModalService } from '../../../services/modal.service';\nimport { ExportClaimsGtm } from '../../../store/actions/gtm.action';\nimport { IAppState } from '../../../store/state/app.state';\nimport { EmailAddressComponent } from '../../email-address/email-address.component';\n\n@Component({\n selector: 'app-mail-modal',\n templateUrl: './mail-modal.component.html',\n styleUrls: ['./mail-modal.component.scss']\n})\nexport class MailModalComponent implements AfterViewInit, OnDestroy {\n public addSecond = false;\n public addThird = false;\n public notAllEmailsAdded = true;\n public emailData: IEmailData;\n public emailAddresses: EmailAddressComponent[];\n @ViewChildren(EmailAddressComponent) emailChildren!: QueryList;\n subs = new Subscription();\n private baseurl: string;\n\n constructor(\n @Inject('BASE_URL') baseUrl: string,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: IEmailData,\n public _emailService: EmailService,\n private _snackBar: MatSnackBar,\n private store: Store,\n private modalService: ModalService\n ) {\n this.baseurl = baseUrl;\n this.emailData = data;\n }\n\n public closeMe() {\n this.dialogRef.close('cancel');\n }\n\n email(type: IPageTypes) {\n if (this.checkEmailsValid()) {\n const post = this.generateEmailList();\n this.subs.add(\n this._emailService.sendEmail(post, type).subscribe({\n next: () => {\n this.dialogRef.close('success');\n this.openSnackBar('Email Sent Successfully.');\n },\n error: () => {\n this.dialogRef.close('error');\n this.openSnackBar('Error Sending Email.');\n }\n })\n );\n }\n }\n\n checkEmailsValid(): boolean {\n return this.emailAddresses.every(x => x.emailFormControl.status !== 'INVALID');\n }\n\n addAnother(): void {\n if (this.checkEmailsValid()) {\n if (this.addSecond) {\n this.addThird = true;\n this.notAllEmailsAdded = false;\n } else {\n this.addSecond = true;\n }\n }\n }\n\n deleteFirst(): void {\n if (this.addSecond) {\n this.addSecond = false;\n const secondEmail = this.emailAddresses[1].emailFormControl.value;\n this.emailAddresses[0].emailFormControl.setValue(secondEmail);\n this.removeThirdAddress();\n }\n }\n\n deleteSecond(): void {\n this.emailAddresses[1].emailFormControl.setValue('');\n this.addSecond = false;\n if (this.addThird) {\n this.removeThirdAddress();\n }\n }\n\n deleteThird(): void {\n this.emailAddresses[2].emailFormControl.setValue('');\n this.addThird = false;\n this.notAllEmailsAdded = true;\n }\n\n ngAfterViewInit() {\n this.getEmailAddresses();\n this.emailChildren.changes.subscribe(() => {\n this.getEmailAddresses();\n });\n }\n\n getEmailAddresses() {\n setTimeout(() => {\n this.emailAddresses = this.emailChildren.toArray();\n }, 0);\n }\n\n public openSnackBar(message: string) {\n this._snackBar.open(message, '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'right'\n });\n }\n\n closeDialog() {\n this.modalService.close();\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n private removeThirdAddress() {\n if (this.emailAddresses.length === 3) {\n const thirdEmail = this.emailAddresses[2].emailFormControl.value;\n this.emailAddresses[1].emailFormControl.setValue(thirdEmail);\n this.emailAddresses[2].emailFormControl.setValue('');\n this.addSecond = true;\n this.addThird = false;\n this.notAllEmailsAdded = true;\n }\n }\n\n private generateEmailList() {\n const toAddresses: string[] = ['', '', ''];\n let count = 0;\n this.emailAddresses.forEach(x => {\n toAddresses[count] = x.emailFormControl.value;\n count++;\n });\n return {\n emailData: {\n OktaId: this.emailData.oktaId,\n ReportId: this.emailData.reportid,\n FromName: this.emailData.senderName,\n FromAddress: this.emailData.senderEmail,\n ToAddresses: toAddresses\n }\n };\n }\n}\n","
\n close\n
\n
\n

Email Report

\n
\n\n
\n
\n Who should this report go to?\n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n\n \n \n\n","import { Component, EventEmitter, Inject, Output } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FilterState } from 'app/models/FilterData';\n\ninterface MlsData {\n mlsId: number;\n legalName: string;\n isSIR?: boolean;\n}\n\n@Component({\n selector: 'app-mls-info-modal',\n templateUrl: './mls-info-modal.component.html',\n styleUrls: ['./mls-info-modal.component.scss']\n})\nexport class MlsInfoModalComponent {\n @Output() claimsFilterValues = new EventEmitter();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: MlsData) {\n }\n}\n","
\n
\n
Welcome to
\n
\n
Market Quest
\n
\n
\n

Your Assigned MLS

\n
\n
\n
{{ data.mlsId }}
\n
{{ data.legalName }}
\n
\n
\n
\n \n
\n
\n
\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, EventEmitter, Inject, OnDestroy, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FilterState, FiltersV2Enum } from 'app/models/FilterData';\nimport { IMlsData } from 'app/models/IMlsData';\nimport { Subscription } from 'rxjs';\n\ninterface Data {\n mlsList: IMlsData[];\n minimal: boolean;\n selectedMls: IMlsData;\n isSIR?: boolean;\n}\n\n@Component({\n selector: 'app-mls-selection-modal',\n templateUrl: './mls-selection-modal.component.html',\n styleUrls: ['./mls-selection-modal.component.scss']\n})\nexport class MlsSelectionModalComponent implements OnInit, OnDestroy {\n @Output() claimsFilterValues = new EventEmitter();\n mlsForm: UntypedFormGroup;\n filtersV2Enum = FiltersV2Enum;\n saveMLS = true;\n payload = {\n saveMLS: true,\n selectedMLS: { legalName: '', mlsId: '', databaseName: '' }\n };\n tabletPlus: boolean;\n modalDescription: string;\n private subs = new Subscription();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: Data, private fb: UntypedFormBuilder, private breakpointObserver: BreakpointObserver) {\n this.mlsForm = this.fb.group({\n [FiltersV2Enum.mlsid]: [data.selectedMls]\n });\n this.modalDescription = data.minimal\n ? `Select the MLS you would like to use.\n Please note you can change this later in the filters.`\n : `To begin, select the MLS you would like to use.\n Please note you can change this later in the filters.`;\n this.payload.selectedMLS = data.selectedMls;\n }\n\n ngOnInit() {\n this.subs.add(\n this.breakpointObserver.observe('(min-width: 960px)').subscribe(result => {\n this.tabletPlus = result.matches;\n })\n );\n this.subs.add(\n this.mlsForm.valueChanges.subscribe(result => {\n this.payload.selectedMLS = result.mlsid;\n })\n );\n }\n\n compareFn(mls1: IMlsData, mls2: IMlsData): boolean {\n return mls1 && mls2 ? mls1.mlsId === mls2.mlsId : mls1 === mls2;\n }\n\n checkboxEvent($event: MatCheckboxChange) {\n this.payload.saveMLS = $event.checked;\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
Welcome to
\n
\n
Market Quest
\n
\n
\n

Select an MLS

\n
\n
{{ modalDescription }}
\n \n Select MLS\n \n {{ mls.legalName }}\n \n \n \n Save this MLS as the default everytime you log in.\n \n
\n
\n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\ninterface Data {\n isSIR?: boolean;\n isCBA?: boolean;\n}\n\n@Component({\n selector: 'app-no-mls-modal',\n templateUrl: './no-mls-modal.component.html',\n styleUrls: ['./no-mls-modal.component.scss']\n})\nexport class NoMlsModalComponent implements OnInit {\n userType: 'SIR' | 'CBA' | 'CBR';\n constructor(@Inject(MAT_DIALOG_DATA) public data: Data) {}\n\n ngOnInit() {\n this.processUserType(this.data);\n }\n\n closeTab() {\n window.location.href = 'https://mycbdesk.com';\n }\n\n private processUserType(data: Data) {\n if (data?.isCBA) {\n this.userType = 'CBA';\n } else if (data?.isSIR) {\n this.userType = 'SIR';\n } else {\n this.userType = 'CBR';\n }\n }\n}\n","
\n
\n
\n

MLS Access Error

\n
\n
\n
\n \n

\n Please verify with your local office staff that your Agent MLS ID is entered correctly within your CBHomes Admin profile. Please\n note, that any changes made to the Agent MLS ID will take up to 24 hours to process in the Market Quest Application.\n

\n

If the issue persists, please contact the Help Desk at 877-678-HELP (877-678-4357).

\n \n \n

Sorry! You do not have an MLS assigned in order to use Market Quest.

\n

Please contact the Help Desk at 877-678-HELP (877-678-4357).

\n
\n \n

\n Please verify with your local office staff that your company has signed up to the Agent MLS ID in Terradatum. Please note, that\n any changes made to the Agent MLS ID will take up to 24 hours to process in the Market Quest Application.\n

\n

\n If signed up in Terradatum and the issue persists, please visit\n https://realogy.service-now.com and submit a support ticket.\n

\n
\n
\n
\n
\n
\n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ISavedSearchModalData } from 'app/models/ISavedSearchModalData';\nimport { SavedSearchService } from 'app/services/saved-search.service';\nimport { ISavedSearch } from 'app/store/state/savedSearch.state';\nimport { throwError } from 'rxjs';\n\n@Component({\n selector: 'app-save-search-modal',\n templateUrl: './save-search-modal.component.html',\n styleUrls: ['./save-search-modal.component.scss']\n})\nexport class SaveSearchModalComponent implements OnInit {\n searches: ISavedSearch[] = [];\n saveSearchForm = new FormGroup({\n searchName: new FormControl(''),\n default: new FormControl(false)\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: ISavedSearchModalData,\n private savedSearchService: SavedSearchService,\n private snackBar: MatSnackBar\n ) {\n this.searches = this.data.searches || [];\n }\n\n ngOnInit(): void {\n this.initSearchForm();\n }\n\n initSearchForm(): void {\n this.saveSearchForm.get('searchName').setValidators(ValidateUrl(this.searches));\n if (this.searches.filter(d => d.mlsId === this.data.filters.value.mls).length === 0) {\n this.saveSearchForm.get('default').setValue(true);\n }\n }\n\n saveSearchHandler(): void {\n const filterValues = this.data.filters.value;\n this.savedSearchService\n .createSavedSearch({\n name: this.saveSearchForm.get('searchName').value,\n reportType: this.data.reportType,\n mlsId: filterValues.mls,\n isDefault: this.saveSearchForm.get('default').value,\n data: {\n mls: filterValues.mls,\n locationFilters: filterValues.locationFilters || [],\n report: filterValues.report || {}\n }\n })\n .subscribe({\n next: () => {\n this.snackBar.open('Search criteria has been saved.', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'right'\n });\n },\n error: err => {\n throwError(err);\n }\n });\n }\n}\n\nexport function ValidateUrl(searches: ISavedSearch[]): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const hasExisting = searches.find((search: ISavedSearch) => {\n return search.name.trim().toLowerCase() === control.value.trim().toLowerCase();\n });\n\n if (hasExisting) {\n return { invalid: 'This Search Name Already Exists.' };\n }\n\n if (!control.value.trim()) {\n return { invalid: 'Search Name is required.' };\n }\n\n return null;\n };\n}\n","
\n
\n
\n
\n {{ this.data.title }}\n
\n
\n {{ this.data.subTitle }}\n
\n
\n
\n
\n
\n \n Search Criteria Name\n \n {{ saveSearchForm.get('searchName').errors.invalid }}\n \n Set this as your default search filter\n
\n
\n
\n
\n \n \n Save\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-saved-search-confirmation-modal',\n templateUrl: './saved-search-confirmation-modal.component.html',\n styleUrls: ['./saved-search-confirmation-modal.component.scss']\n})\nexport class SavedSearchConfirmationModalComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n Are you sure you want to delete this saved search?\n
\n \n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { Observable, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IMlsData } from '../../../models/IMlsData';\nimport { ISavedSearchModalData } from '../../../models/ISavedSearchModalData';\nimport { ReportTypeEnum } from '../../../models/ReportTypes';\nimport { selectCurrentMLS } from '../../../store/selectors/mls.selector';\nimport { selectSavedSearches, selectSavedSearchesLoaded } from '../../../store/selectors/saved-search.selector';\nimport { IAppState } from '../../../store/state/app.state';\nimport { ISavedSearch } from '../../../store/state/savedSearch.state';\n\n@Component({\n selector: 'app-saved-search-modal',\n templateUrl: './saved-search-modal.component.html',\n styleUrls: ['./saved-search-modal.component.scss']\n})\nexport class SavedSearchModalComponent implements OnInit {\n loaded$: Observable;\n mls$: Observable;\n selectedSearch: ISavedSearch = null;\n savedSavedSearches$: Observable;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: ISavedSearchModalData,\n public dialogRef: MatDialogRef,\n private store: Store\n ) {}\n\n ngOnInit(): void {\n this.mls$ = this.store.select(selectCurrentMLS);\n this.loaded$ = this.store.select(selectSavedSearchesLoaded);\n this.savedSavedSearches$ = combineLatest([this.mls$, this.store.select(selectSavedSearches)]).pipe(\n map(([mls, data]) => {\n if (!data) {\n return [];\n }\n return data[ReportTypeEnum[this.data.reportType]].filter(data => {\n return data.mlsId === mls.mlsId;\n });\n })\n );\n }\n\n close() {\n this.dialogRef.close();\n }\n\n setSelectedSearch($event: ISavedSearch) {\n this.selectedSearch = $event;\n }\n}\n","
\n
\n
\n
\n {{ this.data.title }}\n
\n
\n {{ this.data.subTitle }}\n
\n
\n
\n
\n {{ mls.brokerCompanyName }}\n
\n
\n
\n \n
\n
\n \n \n Run Search\n \n
\n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { AreaIdLookupPipe } from '../../../pipes/area-id-lookup.pipe';\nimport { SavedSearchLookupPipe } from '../../../pipes/saved-search-lookup.pipe';\nimport { SavedSearchInputComponent } from '../../core/filter-panel/saved-search-input/saved-search-input.component';\nimport { SavedSearchConfirmationModalComponent } from './saved-search-confirmation-modal/saved-search-confirmation-modal.component';\nimport { SavedSearchModalComponent } from './saved-search-modal.component';\nimport { SavedSearchesTableComponent } from './saved-searches-table/saved-searches-table.component';\n\n@NgModule({\n declarations: [\n SavedSearchModalComponent,\n SavedSearchConfirmationModalComponent,\n SavedSearchInputComponent,\n AreaIdLookupPipe,\n SavedSearchesTableComponent,\n SavedSearchLookupPipe\n ],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatDialogModule, MatTooltipModule],\n exports: [SavedSearchInputComponent, SavedSearchModalComponent, SavedSearchConfirmationModalComponent, SavedSearchLookupPipe]\n})\nexport class SavedSearchModalModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { SavedSearchFields } from 'app/models/SavedSearchFields';\nimport { mergeMap } from 'rxjs/operators';\nimport { ISavedSearchModalData } from '../../../../models/ISavedSearchModalData';\nimport { ModalService } from '../../../../services/modal.service';\nimport { SavedSearchService } from '../../../../services/saved-search.service';\nimport { FetchSavedSearches } from '../../../../store/actions/saved-search.action';\nimport { IAppState } from '../../../../store/state/app.state';\nimport { ISavedSearch } from '../../../../store/state/savedSearch.state';\nimport { SavedSearchConfirmationModalComponent } from '../saved-search-confirmation-modal/saved-search-confirmation-modal.component';\n\n@Component({\n selector: 'app-saved-searches-table',\n templateUrl: './saved-searches-table.component.html',\n styleUrls: ['./saved-searches-table.component.scss']\n})\nexport class SavedSearchesTableComponent {\n @Input() savedSearches: ISavedSearch[] = [];\n @Input() data: ISavedSearchModalData = null;\n @Output() selectedTableRow = new EventEmitter();\n selectedSearch: ISavedSearch;\n SavedSearchFields = SavedSearchFields;\n trackByFn(index, search) {\n return search.rowKey;\n }\n\n constructor(private store: Store, private modalSvc: ModalService, private savedSvc: SavedSearchService) {}\n\n selectRow(item: ISavedSearch) {\n this.selectedSearch = this.selectedSearch === item ? null : item;\n this.selectedTableRow.emit(this.selectedSearch);\n }\n\n deleteSavedSearch(id: string) {\n this.modalSvc\n .open(SavedSearchConfirmationModalComponent, {\n width: '25%',\n height: '25%'\n })\n .afterClosed()\n .pipe(\n mergeMap(result => {\n if (!result) {\n return;\n }\n return this.savedSvc.deleteSavedSearch(id);\n })\n )\n .subscribe({\n next: () => {\n this.store.dispatch(new FetchSavedSearches());\n },\n error: err => {\n console.error(err);\n }\n });\n }\n\n setSearchDefault(rowKey: string, $event: MouseEvent, mls: string) {\n $event.stopPropagation();\n this.savedSvc.setSearchDefault(rowKey, mls, this.data.reportType).subscribe({\n next: () => {\n this.store.dispatch(new FetchSavedSearches());\n },\n error: err => {\n console.error(err);\n }\n });\n }\n}\n","
\n
\n
\n
Name
\n
Search Parameters
\n
Datearrow_upward
\n
Default
\n
Delete
\n
\n \n
{{ item.name | titlecase }}
\n
\n
0\" class=\"flex-column d-flex pb-3\">\n
\n Locations\n
\n
\n
\n {{ loc.areaName }}{{ idx !== item.data.locationFilters.length - 1 ? ', ' : '' }}\n \n {{ location?.areaName }}\n \n \n
\n
\n
\n
\n
\n
\n {{ SavedSearchFields[filter.key] }}\n
\n
\n {{ item.data.report[filter.key] | SavedSearchLookup: filter.key }}\n
\n
\n
\n
\n
{{ item.createdDate | date: 'M/dd/yyyy' }}
\n
\n
\n Default Search\n \n
\n \n \n \n
\n
\n close\n
\n
\n
\n\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { IReportHeader } from 'app/models/IReportHeader';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { ISocialData } from '../../../models/ISocialData';\nimport { GTMService } from '../../../services/gtm.service';\nimport { ModalService } from '../../../services/modal.service';\nimport { ShareSocialAndEmailService } from '../../../services/share-social-and-email.service';\n\n@Component({\n selector: 'app-social-modal',\n templateUrl: './social-modal.component.html',\n styleUrls: ['./social-modal.component.scss']\n})\nexport class SocialModalComponent implements OnInit {\n public reportHeaderEntity: IReportHeader;\n public baseurl: string;\n public metaLink: string;\n public shareLink: string;\n public reportValueType: string;\n public reportTransactionSide: string;\n public reportValue: number;\n @ViewChild('fbBtn') fbBtn: ElementRef;\n $ready = new Subject();\n\n constructor(\n @Inject('BASE_URL') baseUrl: string,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ISocialData,\n private _snackBar: MatSnackBar,\n private gtmService: GTMService,\n private modalService: ModalService,\n private shareSvc: ShareSocialAndEmailService,\n private snackBar: MatSnackBar\n ) {\n this.reportHeaderEntity = this.data.reportDetails?.reportHeaderEntity;\n this.metaLink = baseUrl + 'social/' + this.data.encryptedid;\n this.shareLink = baseUrl + 'share/market/' + this.data.encryptedid;\n\n const msTypeName = this.reportHeaderEntity?.msTypeName.split(' ');\n // If msTypeName is Total Units/Volume there will only be 2 words in the split\n this.reportTransactionSide =\n msTypeName && msTypeName?.length ? (msTypeName?.length > 2 ? msTypeName[0] + ' ' + msTypeName[1] : msTypeName[0]) : '';\n this.reportValueType = msTypeName && msTypeName?.length ? (msTypeName.length > 2 ? msTypeName[2] : msTypeName[1]) : '';\n this.reportValue = this.data.reportDetails?.reportGraphEntities[this.data.cbPosition - 1].reportMeasureValue;\n }\n\n ngOnInit() {\n this.loadSocialImage();\n }\n\n loadSocialImage() {\n this.shareSvc\n .generateSocialImage()\n .pipe(take(1))\n .subscribe({\n next: () => {\n this.$ready.next(true);\n },\n error: () => {\n this.snackBar.open('Error generating image', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'right'\n });\n }\n });\n }\n\n socialLinkGenerate() {\n this.gtmSocialClick();\n }\n\n private gtmSocialClick() {\n this.gtmService.claimsGTM('exportClaimsReport');\n }\n\n public onCopyURL() {\n navigator.clipboard.writeText(this.shareLink).then(() => {\n this.openSnackBar('URL copied to clipboard.');\n });\n }\n\n public closeMe() {\n this.dialogRef.close('cancel');\n }\n\n public openSnackBar(message: string) {\n this._snackBar.open(message, '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'right'\n });\n }\n\n closeDialog() {\n this.modalService.close();\n }\n}\n","\n
\n
Generating...
\n \n
\n
\n\n
\n close\n
\n
\n

Share Report

\n
\n \n
\n Share webpage to\n
\n \n facebook\n Facebook\n \n \n \n \n LinkedIn\n \n \n \n Pinterest\n \n \n \n Twitter\n \n \n
\n
\n
\n \n \n \n
\n","import { Component, Input } from '@angular/core';\nimport { BrandDetails } from '../../../../models/IApplicationData';\n\n@Component({\n selector: 'app-footer-branding',\n templateUrl: './footer-branding.component.html',\n styleUrls: ['./footer-branding.component.scss']\n})\nexport class FooterBrandingComponent {\n @Input() data: BrandDetails;\n\n}\n","
\n \"\"\n
\n","import { Component, Input } from '@angular/core';\nimport { BrandDetails } from '../../../../models/IApplicationData';\n\n@Component({\n selector: 'app-footer-contact',\n templateUrl: './footer-contact.component.html',\n styleUrls: ['./footer-contact.component.scss']\n})\nexport class FooterContactComponent {\n @Input() data: BrandDetails;\n}\n","
\n
\n {{ data?.helpdesk_label }}: \n {{ data?.helpdesk_phone }}\n
\n \n
\n","import { Component, Input } from '@angular/core';\nimport { BrandDetails } from '../../../../models/IApplicationData';\n\n@Component({\n selector: 'app-footer-disclaimer',\n templateUrl: './footer-disclaimer.component.html',\n styleUrls: ['./footer-disclaimer.component.scss']\n})\nexport class FooterDisclaimerComponent {\n @Input() data: BrandDetails;\n}\n","
\n \n {{ data?.copyright }}\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BrandDetails } from '../../../../models/IApplicationData';\nimport { ISocialFooterLink } from '../../../../models/ISocialFooterLink';\nimport { OptionsService } from '../../../../services/options.service';\n\n@Component({\n selector: 'app-footer-social',\n templateUrl: './footer-social.component.html',\n styleUrls: ['./footer-social.component.scss']\n})\nexport class FooterSocialComponent implements OnInit {\n brandGroup: ISocialFooterLink[] = [];\n @Input() data: BrandDetails;\n\n constructor(private optionsServ: OptionsService) {\n }\n\n ngOnInit(): void {\n this.brandGroup = this.optionsServ.extractSocialLinkInfo(this.data);\n }\n\n goTo(url: string) {\n window.open(url, '_blank');\n }\n}\n","
\n
\n \"\"\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FooterBrandingComponent } from './footer-branding/footer-branding.component';\nimport { FooterContactComponent } from './footer-contact/footer-contact.component';\nimport { FooterDisclaimerComponent } from './footer-disclaimer/footer-disclaimer.component';\nimport { FooterSocialComponent } from './footer-social/footer-social.component';\nimport { MqFooterCBRComponent } from './mq-footer.component';\n\n@NgModule({\n declarations: [\n MqFooterCBRComponent,\n FooterSocialComponent,\n FooterContactComponent,\n FooterBrandingComponent,\n FooterDisclaimerComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MqFooterCBRComponent\n ]\n})\nexport class MqFooterCBRModule { }\n","import { Component, HostBinding, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { BrandDetails } from '../../../models/IApplicationData';\nimport { selectBrandInfo } from '../../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\n@Component({\n selector: 'app-mq-cbr-footer',\n templateUrl: './mq-footer.component.html',\n styleUrls: ['./mq-footer.component.scss']\n})\nexport class MqFooterCBRComponent implements OnInit {\n @HostBinding('class') classes = 'flex-shrink-0';\n brandData: BrandDetails;\n private subs = new Subscription();\n\n constructor(private store: Store) {}\n\n ngOnInit(): void {\n this.subs.add(\n this.store\n .select(selectBrandInfo())\n .pipe(filter(v => !!v))\n .subscribe(brandInfo => {\n this.brandData = brandInfo;\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-mq-footer-sir-contact',\n templateUrl: './mq-footer-sir-contact.component.html',\n styleUrls: ['./mq-footer-sir-contact.component.scss']\n})\nexport class MqFooterSirContactComponent {\n constructor() {}\n}\n","
\n \n
\n
\n Help\n
\n
\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'app-mq-footer-sir-disclaimer',\n templateUrl: './mq-footer-sir-disclaimer.component.html',\n styleUrls: ['./mq-footer-sir-disclaimer.component.scss']\n})\nexport class MqFooterSirDisclaimerComponent {\n @Input() disclaimerText: string;\n @Input() copyrightText: string;\n currYear: number;\n\n constructor() {\n this.currYear = new Date().getFullYear();\n }\n}\n","
\n ©{{ currYear }} Sotheby’s International Realty. All Rights Reserved. Sotheby’s International Realty® is a registered trademark and used\n with permission. Each Sotheby’s International Realty office is independently owned and operated, except those operated by Sotheby’s\n International Realty, Inc. This material is based upon information which we consider reliable but because it has been supplied by third\n parties, we cannot represent that it is accurate or complete and it should not be relied upon as such. If your property is listed with a\n real estate broker, please disregard. It is not our intention to solicit the offerings of other real estate brokers. We are happy to work\n with them and cooperate fully. Equal Housing Opportunity.\n
\n","import { Component, Input } from '@angular/core';\nimport { ISocialFooterLink } from '../../../../models/ISocialFooterLink';\n\n@Component({\n selector: 'app-mq-footer-sir-social',\n templateUrl: './mq-footer-sir-social.component.html',\n styleUrls: ['./mq-footer-sir-social.component.scss']\n})\nexport class MqFooterSirSocialComponent {\n baseUrl: string;\n @Input() socialLinks: ISocialFooterLink[];\n\n constructor() {}\n\n goTo(url: string) {\n window.open(url, '_blank');\n }\n}\n","
\n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SocialSvgModule } from '../../core/shared/social-svg/social-svg.module';\nimport { MqFooterSirContactComponent } from './mq-footer-sir-contact/mq-footer-sir-contact.component';\nimport { MqFooterSirDisclaimerComponent } from './mq-footer-sir-disclaimer/mq-footer-sir-disclaimer.component';\nimport { MqFooterSirSocialComponent } from './mq-footer-sir-social/mq-footer-sir-social.component';\nimport { MqFooterSIRComponent } from './mq-footer.component';\n\n@NgModule({\n declarations: [\n MqFooterSIRComponent,\n MqFooterSirContactComponent,\n MqFooterSirSocialComponent,\n MqFooterSirDisclaimerComponent\n ],\n imports: [\n CommonModule,\n SocialSvgModule\n ],\n exports: [\n MqFooterSIRComponent\n ]\n})\nexport class MqFooterSIRModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ISocialFooterLink } from '../../../models/ISocialFooterLink';\nimport { OptionsService } from '../../../services/options.service';\nimport { selectBrandInfo } from '../../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\n@Component({\n selector: 'app-mq-sir-footer',\n templateUrl: './mq-footer.component.html',\n styleUrls: ['./mq-footer.component.scss']\n})\nexport class MqFooterSIRComponent implements OnInit {\n brandInfo$: Observable<{ copyright: string; brandLinks: ISocialFooterLink[] }>;\n\n constructor(private store: Store, private options: OptionsService) {}\n\n ngOnInit(): void {\n this.brandInfo$ = this.store.select(selectBrandInfo('sothebys')).pipe(\n map(brand => {\n const brandLinks = this.options.extractSocialLinkInfo(brand, true);\n return { copyright: brand.copyright, brandLinks };\n })\n );\n }\n}\n","
\n
\n \n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { filter } from 'rxjs/operators';\nimport { TenantCode } from '../../services/tenant.service';\nimport { selectBrandCode } from '../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../store/state/app.state';\n\n@Component({\n selector: 'app-mq-footer',\n templateUrl: './mq-footer.component.html'\n})\nexport class MqFooterComponent implements OnInit {\n brandCode: TenantCode;\n TenantCode = TenantCode;\n\n constructor(private store: Store) { }\n\n ngOnInit(): void {\n this.store.select(selectBrandCode).pipe(\n filter(v => !!v)\n ).subscribe( brandCode => {\n this.brandCode = brandCode;\n });\n }\n\n}\n","
\n \n \n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MqFooterCBRModule } from './CBR/mq-footer-cbr.module';\nimport { MqFooterComponent } from './mq-footer.component';\nimport { MqFooterSIRModule } from './SIR/mq-footer-sir.module';\n\n@NgModule({\n declarations: [\n MqFooterComponent\n ],\n imports: [\n CommonModule,\n MqFooterCBRModule,\n MqFooterSIRModule\n ],\n exports: [\n MqFooterCBRModule,\n MqFooterSIRModule,\n MqFooterComponent\n ]\n})\nexport class MqFooterModule {\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { Avatar } from '../../../../models/IApplicationData';\nimport { OnSetUserAvatarCSS, UserDataService } from '../../../../services/userData.service';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-avatar-image',\n templateUrl: './avatar-image.component.html',\n styleUrls: ['./avatar-image.component.scss']\n})\nexport class AvatarImageComponent implements OnInit, OnDestroy, OnSetUserAvatarCSS {\n @Input() size;\n @Input() avatar: Avatar;\n subs = new Subscription();\n userPhotoCSS: {};\n styleObject: { width: string; height: string };\n\n constructor(private store: Store, private userService: UserDataService) {}\n\n setUserAvatarCSS(avatar: Avatar, cssStyles: {}): void {\n this.userPhotoCSS = cssStyles;\n }\n\n ngOnInit(): void {\n this.userService.positionImage(this, this.avatar, this.size);\n this.styleObject = {\n height: this.size + 'px',\n width: this.size + 'px'\n };\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { Avatar } from '../../../models/IApplicationData';\nimport { selectUser } from '../../../store/selectors/userData.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\n@Component({\n selector: 'app-avatar-menu',\n templateUrl: './avatar-menu.component.html',\n styleUrls: ['./avatar-menu.component.scss']\n})\nexport class AvatarMenuComponent implements OnInit {\n avatar: Avatar;\n subs = new Subscription();\n\n constructor(private store: Store) {}\n\n ngOnInit() {\n this.subs.add(\n this.store\n .select(selectUser)\n .pipe(filter(d => !!d.avatar))\n .subscribe(userData => {\n this.avatar = userData.avatar;\n })\n );\n }\n}\n","
\n \n \n \n \n
\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { ThemeService } from 'app/services/theme.service';\nimport { selectBrandCode } from 'app/store/selectors/applicationData.selector';\nimport { Subscription } from 'rxjs';\nimport { INavButton } from '../../../../models/INavButton';\nimport { NavigationService } from '../../../../services/navigation.service';\nimport { OptionsService } from '../../../../services/options.service';\nimport { ResponsiveService } from '../../../../services/responsive.service';\nimport { selectUser } from '../../../../store/selectors/userData.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-menu-contents',\n templateUrl: './menu-contents.component.html',\n styleUrls: ['./menu-contents.component.scss']\n})\nexport class MenuContentsComponent implements OnInit, OnDestroy {\n buttonData: INavButton[];\n user$ = this.store.select(selectUser);\n nonMobile: boolean;\n isSIR: boolean;\n private subs = new Subscription();\n\n constructor(\n private navigationService: NavigationService,\n private optionsService: OptionsService,\n private store: Store,\n private route: Router,\n private responsive: ResponsiveService,\n private breakpoint: BreakpointObserver,\n private themeService: ThemeService\n ) {}\n\n ngOnInit(): void {\n this.subs.add(\n this.breakpoint.observe(['(min-width: 960px)', '(min-width: 600px)']).subscribe(results => {\n this.nonMobile = results.matches;\n this.fetchNavButtonData();\n })\n );\n\n this.subs.add(\n this.store.select(selectBrandCode).subscribe(brandCode => {\n this.isSIR = this.themeService.isSIR();\n this.fetchNavButtonData();\n })\n );\n }\n\n navigate(menuBtn: INavButton) {\n if (menuBtn.urlPath.includes('logout')) {\n this.optionsService.logout();\n return false;\n }\n if (menuBtn.urlExternal) {\n window.open(menuBtn.urlPath, '_blank');\n } else {\n this.route.navigateByUrl(menuBtn.urlPath).then(r => r);\n }\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n\n private checkResponsive(navButton: INavButton) {\n return this.responsive.currentScreenBreakpointMatches(navButton);\n }\n\n private fetchNavButtonData() {\n this.buttonData = this.navigationService.headerAvatarMenuButtons.filter(btn => {\n let btnOk = btn.enabled;\n\n if (btn.label === 'Feedback' && !this.isSIR) {\n btnOk = false;\n }\n\n const srvOk = this.checkResponsive(btn);\n return btnOk && srvOk;\n });\n }\n}\n","
\n
\n \n
\n {{ (user$ | async)?.name }}\n
\n
\n
\n
\n {{ menuBtn.matIcon }}\n {{ menuBtn.label }}\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { BrandDetails } from '../../../models/IApplicationData';\nimport { OptionsService } from '../../../services/options.service';\nimport { selectAllAppData } from '../../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\n@Component({\n selector: 'app-branding',\n templateUrl: './branding.component.html',\n styleUrls: ['./branding.component.scss']\n})\nexport class BrandingComponent implements OnInit {\n @Input() isSIR = false;\n @Input() isTerradatum = false;\n appData$: Observable<{ brandInfo: BrandDetails; title: string; loaded: boolean }>;\n baseURL: string;\n\n constructor(private store: Store, private option: OptionsService) {}\n\n ngOnInit(): void {\n this.baseURL = this.option.baseUrl;\n this.appData$ = this.store.select(selectAllAppData).pipe(\n map(data => {\n const brand = data.default_brand;\n const brandInfo = data.brands[this.isSIR ? 'sothebys' : brand];\n const title = data.application.name;\n const loaded = !!data.default_brand;\n return { brandInfo, title, loaded };\n })\n );\n }\n}\n","\n \n \n \"Application\n {{ data.title | uppercase }}\n \n \n \"Market\n
\n \"Application\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terradatum-logo',\n templateUrl: './terradatum-logo.component.html',\n styleUrls: ['./terradatum-logo.component.scss']\n})\nexport class TerradatumLogoComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\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, HostBinding, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { UserDataService } from 'app/services/userData.service';\nimport { filter } from 'rxjs/operators';\nimport { INavButton } from '../../models/INavButton';\nimport { NavigationService } from '../../services/navigation.service';\nimport { OptionsService } from '../../services/options.service';\nimport { ThemeService } from '../../services/theme.service';\nimport { ToggleSideBarNav } from '../../store/actions/menus.action';\nimport { selectBrandCode } from '../../store/selectors/applicationData.selector';\nimport { IAppState } from '../../store/state/app.state';\n\n@Component({\n selector: 'app-mq-header',\n templateUrl: './mq-header.component.html',\n styleUrls: ['./mq-header.component.scss']\n})\nexport class MqHeaderComponent implements OnInit {\n @HostBinding('class') classes = 'flex-shrink-0';\n private helpBtn: INavButton;\n header: boolean;\n isSIR: boolean;\n isTerradatum: boolean;\n\n constructor(\n private store: Store,\n private router: Router,\n private optionsService: OptionsService,\n private themeService: ThemeService,\n private userDataService: UserDataService,\n private navigationService: NavigationService\n ) {\n this.helpBtn = this.navigationService.headerAvatarMenuButtons.find(btn => {\n return btn.label.toLowerCase().includes('help');\n });\n }\n\n ngOnInit() {\n this.store\n .select(selectBrandCode)\n .pipe(filter(v => !!v))\n .subscribe(() => {\n this.isSIR = this.themeService.isSIR();\n this.isTerradatum = this.userDataService.getBusinessUnit() === 'RFG';\n });\n\n this.optionsService.headUrlsExcluded = ['/share', '/logout'];\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: NavigationEnd) => {\n if (event) {\n this.header = !this.optionsService.headUrlsExcluded.some(url => {\n return event.urlAfterRedirects.includes(url);\n });\n }\n });\n }\n\n openSideBar() {\n this.store.dispatch(new ToggleSideBarNav());\n }\n\n goToHelp() {\n window.open(this.helpBtn.urlPath, '_blank');\n }\n}\n","
\n
\n \n
\n \n
\n
\n help_outline\n
\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { SharedComponentsModule } from '../core/shared/shared-components.module';\nimport { AvatarImageComponent } from './avatar-menu/avatar-image/avatar-image.component';\nimport { AvatarMenuComponent } from './avatar-menu/avatar-menu.component';\nimport { MenuContentsComponent } from './avatar-menu/menu-contents/menu-contents.component';\nimport { BrandingComponent } from './branding/branding.component';\nimport { MqHeaderComponent } from './mq-header.component';\nimport { SideBarNavComponent } from './side-bar-nav/side-bar-nav.component';\nimport { TerradatumLogoComponent } from './branding/terradatum-logo/terradatum-logo.component';\n\n@NgModule({\n declarations: [\n SideBarNavComponent,\n MqHeaderComponent,\n AvatarMenuComponent,\n BrandingComponent,\n MenuContentsComponent,\n TerradatumLogoComponent\n ],\n exports: [MqHeaderComponent, SideBarNavComponent],\n imports: [CommonModule, SharedComponentsModule, RouterModule]\n})\nexport class MqHeaderModule {}\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ToggleSideBarNav } from '../../../store/actions/menus.action';\nimport { selectSideBarStatus } from '../../../store/selectors/menus.selector';\nimport { IAppState } from '../../../store/state/app.state';\n\n@Component({\n selector: 'app-side-bar-nav',\n templateUrl: './side-bar-nav.component.html',\n styleUrls: ['./side-bar-nav.component.scss']\n})\nexport class SideBarNavComponent {\n openStatus$ = this.store.select(selectSideBarStatus);\n\n constructor(private store: Store) {}\n\n toggleSideBarState() {\n this.store.dispatch(new ToggleSideBarNav());\n }\n}\n","
\n
\n \n
\n
\n
\n
\n","import { Component, Output, EventEmitter, Input } from '@angular/core';\n\n@Component({\n selector: 'app-no-results',\n templateUrl: './no-results.component.html',\n styleUrls: ['./no-results.component.scss']\n})\nexport class NoResultsComponent {\n @Input() noResultsMessage: string;\n @Input() buttonLabel = 'Reset Filters';\n @Input() showTimeoutIcon = false;\n @Input() showButton = true;\n @Output() ctaClicked: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n onClick() {\n this.ctaClicked.emit(true);\n }\n}\n","\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n

{{ noResultsMessage }}

\n

\n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NoResultsComponent } from './no-results.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\n\n@NgModule({\n declarations: [\n NoResultsComponent\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatCardModule\n ],\n exports: [\n NoResultsComponent\n ]\n})\nexport class NoResultsComponentModule {}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\n\n@Directive({ selector: '[copy-clipboard]' })\nexport class CopyClipboardDirective {\n @Input('copy-clipboard')\n public payload: string;\n\n @Output()\n public copied: EventEmitter = new EventEmitter();\n\n @HostListener('click', ['$event'])\n public onClick(event: MouseEvent) {\n event.preventDefault();\n if (this.payload) {\n const listener = (e: ClipboardEvent) => {\n const clipboard = e.clipboardData || window['clipboardData'];\n clipboard.setData('text', this.payload.toString());\n e.preventDefault();\n this.copied.emit(this.payload);\n };\n\n document.addEventListener('copy', listener, false);\n document.execCommand('copy');\n document.removeEventListener('copy', listener, false);\n }\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({ selector: '[export-pane]' })\nexport class ExportPaneDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { FeaturesEnum } from '../models/IFeature';\nimport { FeatureService } from '../services/feature.service';\n\n@Directive({\n selector: '[featureFlag]'\n})\nexport class FeatureFlagDirective implements OnInit {\n @Input() featureFlag: FeaturesEnum;\n\n constructor(private featureSvc: FeatureService, private vcr: ViewContainerRef, private tpl: TemplateRef) {}\n\n ngOnInit() {\n if (this.featureSvc.hasFlags(this.featureFlag)) {\n this.vcr.createEmbeddedView(this.tpl);\n }\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appInsertComponent]'\n})\nexport class InsertComponentDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { IAgentReport } from '../models/IAgentReport';\n\n@Directive({\n selector: '[appSocialBlock]'\n})\nexport class SocialBlockDirective {\n\n constructor(private templateRef: TemplateRef, private viewContainer: ViewContainerRef) {\n }\n\n @Input() set appSocialBlock(val: IAgentReport) {\n if (this.checkSocialBlock(val)) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n }\n\n checkSocialBlock(d: IAgentReport) {\n const links = Object.keys(d).filter(key => key.toLocaleLowerCase().includes('link'));\n return links.some(key => {\n return d[key];\n });\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appSocialDownload]',\n})\nexport class SocialImageDirective {\n constructor(public viewContainerRef: ViewContainerRef) { }\n}\n","export enum DataLayerObject {\n metro = 'metro',\n office = 'office',\n metroName = 'metroName',\n metroID = 'metroID',\n officeName = 'officeName',\n officeID = 'officeID',\n officeLocationID = 'officeLocationID',\n oktaID = 'oktaID',\n userType = 'userType',\n emailAddress = 'emailAddress',\n createdAt = 'createdAt',\n titles = 'titles',\n brand = 'brand',\n businessUnit = 'businessUnit',\n personMasterId = 'personMasterId',\n agentMasterId = 'agentMasterId'\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { SESSION_STORAGE, StorageService } from 'ngx-webstorage-service';\nimport { from, Observable, throwError } from 'rxjs';\nimport { catchError, mergeMap, timeout } from 'rxjs/operators';\nimport { LoginService } from '../services/login/login.service';\nimport { IAppState } from '../store/state/app.state';\n\nexport const DEFAULT_TIMEOUT = new InjectionToken('defaultTimeout');\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n constructor(\n private store: Store,\n private oktaAuth: OktaAuth,\n private loginService: LoginService,\n @Inject(SESSION_STORAGE) private sessionStorage: StorageService,\n @Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number\n ) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const timeoutValue = request.headers.get('timeout') || this.defaultTimeout;\n const timeoutValueNumeric = Number(timeoutValue);\n return this.isAuthenticated().pipe(\n mergeMap(isAuthenticated => {\n if (!isAuthenticated) {\n return next.handle(request).pipe(\n catchError((error: HttpErrorResponse) => {\n if (error.status === 401 || error.status === 403) {\n this.loginService.login();\n }\n return throwError(error);\n })\n );\n }\n const authReq = request.clone({\n headers: new HttpHeaders({\n Authorization: `Bearer ${this.getAccessToken()}`\n })\n });\n return next.handle(authReq).pipe(timeout(timeoutValueNumeric));\n })\n );\n }\n\n private isAuthenticated(): Observable {\n return from(this.oktaAuth.isAuthenticated());\n }\n\n private getAccessToken() {\n return this.oktaAuth.getAccessToken();\n }\n}\n","import { ReportTypeLongStrEnum } from './ReportTypes';\n\nexport class ExportOption {\n label: string;\n formControlName: string;\n reportPagesAllowed: (ReportTypeLongStrEnum | 'All')[];\n\n constructor(label: string, formControlName: string, reportPagesAllowed = null) {\n this.label = label;\n this.formControlName = formControlName;\n this.reportPagesAllowed = reportPagesAllowed;\n }\n}\n","import { ILocationsData } from './ILocationsData';\n\nexport class FilterData {\n state: FilterState;\n paginationCurrPage?: number;\n perPage: number;\n sortAsc: boolean;\n\n constructor(\n city: string[] = [],\n county: string[] = [],\n zip: string[] = [],\n locations: ILocationsData[] = [],\n mlsid: string[] = [],\n timeFrame: string[] = [],\n groupByLevel: string[] = [],\n msTypeName: string[] = [],\n unitType: string[] = [],\n priceType: string[] = [],\n perPage: number = 12,\n sortAsc: boolean = true,\n paginationCurrPage: number = 1\n ) {\n this.state = {\n city: city,\n zip: zip,\n county: county,\n mlsid: mlsid,\n timeFrame: timeFrame,\n groupByLevel: groupByLevel,\n priceType: priceType,\n msTypeName: msTypeName,\n unitType: unitType\n };\n\n this.state.unitType = unitType;\n this.state.msTypeName = msTypeName;\n this.state.locations = locations;\n this.state.mlsid = mlsid;\n this.state.timeFrame = timeFrame;\n this.state.groupByLevel = groupByLevel;\n this.state.priceType = priceType;\n this.paginationCurrPage = paginationCurrPage;\n this.perPage = perPage;\n this.sortAsc = sortAsc;\n }\n}\n\nexport interface FilterState {\n city?: string[];\n county?: string[];\n zip?: string[];\n locations?: ILocationsData[];\n mlsid?: string[];\n timeFrame?: string[];\n groupByLevel?: string[];\n priceType?: string[];\n msTypeName?: string[];\n unitType?: string[];\n}\n\nexport enum FiltersV2Enum {\n locations = 'locations',\n mlsid = 'mlsid',\n timeFrame = 'timeFrame',\n groupByLevel = 'groupByLevel',\n priceType = 'priceType',\n msTypeName = 'msTypeName',\n unitType = 'unitType',\n city = 'city',\n county = 'county',\n zip = 'zip',\n propertyType = 'propertyType',\n dateRange = 'dateRange',\n priceRange = 'priceRange',\n mlsArea = 'mlsArea',\n schoolDistrict = 'schoolDistrict',\n subDivision = 'subDivision'\n}\n\nexport enum FiltersV2GroupByLevelEnum {\n brand = 'Brand',\n brokerage = 'Brokerage',\n office = 'Office'\n}\n\nexport enum FiltersV2TimeFrameEnum {\n lastMonth = 'Last Month',\n lastQuarter = 'Last Quarter',\n lastYear = 'Last Year',\n ytd = 'Year To Date'\n}\n\nexport enum FiltersV2TransTypeNameEnum {\n total = 'Total',\n list = 'List',\n buy = 'Buy'\n}\n\nexport enum FiltersV2UnitTypeNameEnum {\n units = 'Units',\n volume = 'Volume'\n}\n\nexport enum DefaultV2FiltersEnum {\n 'city' = 1,\n 'county' = 2,\n 'zip' = 3,\n 'timeFrame' = 4, // timeFrame\n 'priceType' = 5, // priceType : boolean\n 'groupByLevel' = 6, // groupByLevel\n 'msTypeName' = 7, // msTypeName includes 'total', 'list', 'buy'\n 'unitType' = 8, // changing to unit or volume\n 'locations' = 9, // array of strings\n 'mlsid' = 10,\n 'mlsArea' = 11,\n 'schoolDistrict' = 12,\n 'subDivision' = 13,\n 'priceMin' = 14,\n 'priceMax' = 15,\n 'dateRange' = 16,\n 'propertyType' = 17,\n 'mpGroupByLevel' = 18,\n 'mpMsTypeName' = 19,\n 'mpUnitType' = 20\n}\n\nexport enum DefaultClaimsFiltersEnum {\n 'city' = 1,\n 'county' = 2,\n 'zip' = 3,\n 'timeFrame' = 4,\n 'priceType' = 5,\n 'groupByLevel' = 6,\n 'msTypeName' = 7,\n 'unitType' = 8,\n 'mlsid' = 10\n}\n\nexport enum DefaultMPFiltersEnum {\n 'city' = 1,\n 'county' = 2,\n 'zip' = 3,\n 'mlsid' = 10,\n 'mlsArea' = 11,\n 'schoolDistrict' = 12,\n 'subDivision' = 13,\n 'priceMin' = 14,\n 'priceMax' = 15,\n 'dateRange' = 16,\n 'propertyType' = 17,\n 'mpGroupByLevel' = 18,\n 'mpMsTypeName' = 19,\n 'mpUnitType' = 20\n}\n\nexport const DefaultV2FiltersConst = ['city', 'county', 'zip', 'timeFrame', 'priceType', 'groupByLevel', 'msTypeName', 'unitType', 'mlsid'];\n\nexport const DefaultMPFiltersConst = [\n 'city',\n 'county',\n 'zip',\n 'mlsArea',\n 'schoolDistrict',\n 'subDivision',\n 'propertyType',\n 'priceMin',\n 'priceMax',\n 'dateRange',\n 'groupByLevel',\n 'msTypeName',\n 'unitType',\n 'mlsid'\n];\n\nexport const locationTypes: string[] = [FiltersV2Enum.county, FiltersV2Enum.city, FiltersV2Enum.zip];\n\nexport const mpLocationTypes: string[] = [\n FiltersV2Enum.county,\n FiltersV2Enum.city,\n FiltersV2Enum.zip,\n FiltersV2Enum.mlsArea,\n FiltersV2Enum.schoolDistrict,\n FiltersV2Enum.subDivision\n];\n\nexport const mpReportTypes: string[] = ['mpGroupByLevel', 'mpMsTypeName', 'mpUnitType'];\n\nexport enum LocationEnum {\n 'city' = 1,\n 'county' = 2,\n 'zip' = 3,\n 'mlsArea' = 4,\n 'schoolDistrict' = 5,\n 'subDivision' = 6\n}\n\nexport enum LocationDisplayEnum {\n 'city' = 'City',\n 'county' = 'County',\n 'zip' = 'Zip',\n 'mlsArea' = 'MLS Area',\n 'schoolDistrict' = 'School District',\n 'subDivision' = 'Subdivision'\n}\n\nexport enum LocationDefaultEnum {\n 'city' = 1,\n 'county' = 2,\n 'zip' = 3,\n 'mlsArea' = 11,\n 'schoolDistrict' = 12,\n 'subDivision' = 13\n}\n\nexport enum NumbersEnum {\n 'priceMin' = 14,\n 'priceMax' = 15\n}\n\nexport interface LocationSubPanel {\n city: boolean;\n county: boolean;\n zip: boolean;\n}\n","export class GalleryImage {\n imageURL: string;\n isActive: boolean;\n msUnoBackGroundImageID: number;\n entityID: number;\n dbName: string;\n imageSizeId: number;\n imageSize: string;\n\n constructor(imageURL: string = '', isActive: boolean = false, msUnoBackGroundImageID: number = 0) {\n this.imageURL = imageURL;\n this.isActive = isActive;\n this.msUnoBackGroundImageID = msUnoBackGroundImageID;\n }\n}\n","export interface IBannerData {\n type: BannerTypeEnums;\n message: string;\n url: string;\n show: boolean;\n closeable?: boolean;\n}\n\nexport enum BannerTypeEnums {\n consolidated = 'consolidated',\n date_range = 'date_range',\n date_ytd = 'date_ytd',\n date_lq = 'date_lq',\n date_ly = 'date_ly'\n}\n\nexport enum BannerLocationEnums {\n claims = 'claimsReport',\n market = 'marketReport',\n trends = 'trendsReport'\n}\n\nexport interface PageBannerData {\n banners: IBannerData[];\n}\n","export class IBreadCrumb {\n path: string;\n label: string;\n id?: string;\n\n constructor(label: string, path: string, id?: string) {\n this.path = path;\n this.label = label;\n this.id = id;\n }\n}\n","export enum ChartTypes {\n base = 'base',\n desktop = 'desktop',\n tablet = 'tablet',\n mobile = 'mobile',\n wide = 'wide',\n tall = 'tall',\n square = 'square',\n HS_FB = 'HS_FB',\n HS_Web = 'HS_Web',\n previewSmall = 'previewSmall',\n previewLarge = 'previewLarge',\n reportPage = 'reportPage',\n reportPageSm = 'reportPageSm',\n exportPreview = 'exportPreview',\n aspTrends = 'aspTrends'\n}\n","import { GalleryImage } from './GalleryImage';\nimport { IAgentReport } from './IAgentReport';\nimport { ICustomReportHeader } from './ICustomReportHeader';\n\nexport enum ICustomDisplayAsEnum {\n 'Column',\n 'Line'\n}\n\nexport enum ICustomDataTypeEnum {\n 'msp' = 'Median Sales Price',\n 'asp' = 'Average Sold Price',\n 'mlp' = 'Median List Price',\n 'alp' = 'Average List Price',\n 'nl' = 'New Listings',\n 'ai' = 'Inventory',\n 'solds' = 'Number of Properties Sold',\n 'expired' = 'Expired or Cancelled',\n 'ao' = 'Accepted Offers (AO)',\n 'aopernl' = 'Accepted Offers / New Listings',\n 'aoperai' = 'Accepted Offers / Inventory',\n 'dom' = 'Days on Market (DOM)',\n 'msi' = 'Months Supply Inv (MSI)',\n 'sppersf' = 'Price per Square Foot',\n 'splp' = 'Sales Price / List Price Ratio',\n 'asp3' = '3 Month Average Sales Price',\n 'alp3' = '3 Month Average List Price',\n 'sppersf3' = '3 Month Price per Square Foot',\n 'splp3' = '3 Month Sales Price / List Price Ratio'\n}\n\nexport enum ICustomDataTypeLabelEnum {\n 'msp' = 'Price',\n 'asp' = 'Price',\n 'mlp' = 'Price',\n 'alp' = 'Price',\n 'nl' = 'Units',\n 'ai' = 'Units',\n 'solds' = 'Units',\n 'expired' = 'Units',\n 'ao' = 'Units',\n 'aopernl' = 'Percentage',\n 'aoperai' = 'Percentage',\n 'dom' = 'Days',\n 'msi' = 'Months',\n 'sppersf' = 'Dollars',\n 'splp' = 'Percentage',\n 'asp3' = 'Price',\n 'alp3' = 'Price',\n 'sppersf3' = 'Dollars',\n 'splp3' = 'Percentage'\n}\n\nexport enum ICustomDataTypeByNumEnum {\n 'msp' = 0,\n 'asp' = 1,\n 'mlp' = 2,\n 'alp' = 3,\n 'nl' = 4,\n 'ai' = 5,\n 'solds' = 6,\n 'expired' = 7,\n 'ao' = 8,\n 'aopernl' = 9,\n 'aoperai' = 10,\n 'dom' = 11,\n 'msi' = 12,\n 'sppersf' = 13,\n 'splp' = 14,\n 'asp3' = 15,\n 'alp3' = 16,\n 'sppersf3' = 17,\n 'splp3' = 18\n}\n\nexport interface CustomReportDbData {\n period: string;\n msp: number;\n asp: number;\n mlp: number;\n alp: number;\n nl: number;\n ai: number;\n solds: number;\n expired: number;\n ao: number;\n aopernl: number;\n aoperai: number;\n dom: number;\n msi: number;\n sppersf: number;\n splp: number;\n asp3: number;\n alp3: number;\n sppersf3: number;\n splp3: number;\n stateCode: string;\n}\n\nexport interface DataRow {\n name: string;\n data: string[];\n}\n\nexport interface CustomReportExportDataTypes {\n seriesTypes: string;\n dataKey: string;\n axisLabel: string;\n}\n\nexport interface ICustomDataDetails {\n agentData: IAgentReport;\n images: GalleryImage[];\n header: ICustomReportHeader;\n reportData: CustomReportDbData[];\n dataTypes: CustomReportExportDataTypes[];\n}\n","import { BannerTypeEnums, IBannerData } from './IBannerData';\n\nexport class Disclaimer implements IBannerData {\n message: string;\n type: BannerTypeEnums;\n url: string;\n show: boolean;\n closeable: boolean;\n\n constructor(data: Partial) {\n Object.assign(this, data);\n }\n}\n","import { IPageTypes } from './IPageTypes';\n\nexport class IEmailData {\n oktaId: string;\n reportid: string;\n senderName: string;\n senderEmail: string;\n firstEmail: string;\n secondEmail: string;\n thirdEmail: string;\n type?: IPageTypes;\n}\n\nexport interface IEmailPostBody {\n emailData: IEmailPostData;\n}\n\ninterface IEmailPostData {\n OktaId: string;\n ReportId: string;\n FromName: string;\n FromAddress: string;\n ToAddresses: string[];\n}\n","export interface IFeature {\n featureID: number;\n featureName: FeaturesLabel;\n}\n\nexport enum FeaturesEnum {\n Debug = 0,\n Videos,\n '#1 Claims',\n 'Market Position',\n 'Market Trends',\n 'Market Snapshot',\n 'Custom Report',\n Dashboard\n}\n\nexport enum FeaturesLabel {\n Debug = 'Debug',\n Videos = 'Videos',\n '#1 Claims' = '#1 Claims',\n 'Market Position' = 'Market Position',\n 'Market Trends' = 'Market Trends',\n 'Market Snapshot' = 'Market Snapshot',\n 'Custom Report' = 'Custom Report',\n Dashboard = 'Dashboard'\n}\n\nconst FeaturesList = [\n { featureID: 0, featureName: FeaturesEnum.Debug },\n { featureID: 1, featureName: FeaturesEnum.Videos },\n { featureID: 2, featureName: FeaturesEnum['#1 Claims'] },\n { featureID: 3, featureName: FeaturesEnum['Market Position'] },\n { featureID: 4, featureName: FeaturesEnum['Market Trends'] },\n { featureID: 5, featureName: FeaturesEnum['Market Snapshot'] },\n { featureID: 6, featureName: FeaturesEnum['Custom Report'] },\n { featureID: 7, featureName: FeaturesEnum.Dashboard }\n];\n","export class IMarketFiltersV2 {\n state: MarketFilters;\n pricesDirty: boolean;\n\n constructor(\n oktaId: string = '',\n nrtCoLocalId: number = 1,\n city: number[] = [],\n county: number[] = [],\n zip: number[] = [],\n mlsid: string[] = [],\n timeFrame: string[] = [],\n groupByLevel: string[] = ['Brokerage'],\n msTypeName: string[] = ['Total'],\n unitType: string[] = ['Volume'],\n dateRange: IDateRange = { datePeriod: '', startDate: '', endDate: '' },\n mlsArea: number[] = [],\n returnRows: number = 5,\n priceMin: number = 0,\n priceMax: number = 999999999,\n propertyType: number[] = [1, 2, 9],\n schoolDistrict: number[] = [],\n subDivision: number[] = [],\n isReo: boolean = false,\n pricesDirty = false\n ) {\n this.state = {\n oktaId: oktaId,\n dateRange: dateRange,\n priceMax: priceMax,\n priceMin: priceMin,\n propertyType: propertyType,\n mlsArea: mlsArea,\n schoolDistrict: schoolDistrict,\n subDivision: subDivision,\n city: city,\n zip: zip,\n county: county,\n mlsid: mlsid,\n returnRows: returnRows,\n groupByLevel: groupByLevel,\n msTypeName: msTypeName,\n unitType: unitType,\n nrtCoLocalId: nrtCoLocalId,\n isReo: isReo\n };\n this.pricesDirty = pricesDirty;\n }\n}\n\nexport interface MarketFilters {\n oktaId?: string;\n nrtCoLocalId?: number;\n city?: number[];\n county?: number[];\n zip?: number[];\n mlsArea?: number[];\n schoolDistrict?: number[];\n subDivision?: number[];\n propertyType?: any[];\n dateRange?: IDateRange;\n priceMax?: number;\n priceMin?: number;\n mlsid?: string[];\n returnRows?: number;\n groupByLevel?: string[];\n msTypeName?: string[];\n unitType?: string[];\n isReo?: boolean;\n}\n\nexport enum MarketFiltersV2Enum {\n mlsid = 'mlsid',\n timeFrame = 'timeFrame',\n groupByLevel = 'groupByLevel',\n msTypeName = 'msTypeName',\n unitType = 'unitType',\n city = 'city',\n county = 'county',\n zip = 'zip',\n propertyType = 'propertyType',\n dateRange = 'dateRange',\n priceMin = 'priceMin',\n priceMax = 'priceMax',\n nrtCoLocalId = 'nrtCoLocalId',\n isReo = 'isReo'\n}\n\nexport enum MarketFiltersDateRangeV2Enum {\n LQ = 'Last Quarter',\n YTD = 'Year To Date',\n LY = 'Last Year',\n Custom = 'Custom'\n}\n\nexport enum MarketFiltersDateRangeAlternateV2Enum {\n 'Last Quarter' = 'LQ',\n 'Year To Date' = 'YTD',\n 'Last Year' = 'LY',\n 'Custom' = 'Custom'\n}\n\nexport enum MarketFiltersV2PropertyTypeEnum {\n singleFamily = 'Single Family', // 1\n townHome = 'Townhome', // 2\n condominium = 'Condominium', // 9\n multiFamily = 'Multi-family', // 4\n mobile = 'Mobile', // 3\n commercial = 'Commercial', // 6\n lotLandFarm = 'Lot/Land/Farm' // 5 7\n}\n\nexport enum TrendsFiltersPropertyTypeEnum {\n singleFamily = 'Single-Family', // 1\n multiFamily = 'Multi-Family', // 4\n townHome = 'Townhome' // 2\n}\n\nexport const marketFiltersV2PropertyValueEnum = {\n singleFamily: 1, // 1\n multiFamily: 4, // 4\n townHome: 2, // 2\n condominium: 9, // 9\n mobile: 3, // 3\n commercial: 6, // 6\n lotLandFarm: 99 // Adds 5 & 7\n};\n\nexport const marketFiltersV2PropertyKeyEnum = {\n 1: 'Single Family', // 1\n 2: 'Townhome', // 2\n 9: 'Condominium', // 9\n 4: 'Multi-family', // 4\n 3: 'Mobile', // 3\n 6: 'Commercial', // 6\n 5: 'Lot/Land/Farm', // 5 7\n 7: 'Lot/Land/Farm', // 5 7,\n 99: 'Lot/Land/Farm'\n};\n\nexport interface IDateRange {\n datePeriod: string;\n startDate: string;\n endDate: string;\n}\n\nexport interface MarketLocationSubPanel {\n city: boolean;\n county: boolean;\n zip: boolean;\n mlsArea: boolean;\n schoolDistrict: boolean;\n subDivision: boolean;\n}\n","import { format } from 'date-fns';\n\nexport class IMarketTrendsFilters {\n state: TrendsFilters;\n\n constructor(\n oktaid: string = '',\n mlsid: string[] = [],\n city: number[] = [],\n county: number[] = [],\n zip: number[] = [],\n mlsArea: number[] = [],\n schoolDistrict: number[] = [],\n subDivision: number[] = [],\n priceMin: number = 0,\n priceMax: number = 999999999,\n propertyType: number[] = [1, 2, 9],\n lastMonth: number = new Date().getMonth() > 0 ? new Date().getMonth() : 12,\n year: number = new Date().getMonth() > 0 ? new Date().getFullYear() : new Date().getFullYear() - 1,\n endDate: string = format(new Date(year, lastMonth - 1, 1), 'MM/yyyy'),\n isReo: boolean = false\n ) {\n this.state = {\n oktaid: oktaid,\n mlsid: mlsid,\n city: city,\n county: county,\n zip: zip,\n mlsArea: mlsArea,\n schoolDistrict: schoolDistrict,\n subDivision: subDivision,\n propertyType: propertyType,\n priceMax: priceMax,\n priceMin: priceMin,\n endDate: endDate,\n isReo: isReo\n };\n }\n}\n\nexport interface TrendsFilters {\n oktaid?: string;\n mlsid?: string[];\n city?: number[];\n county?: number[];\n zip?: number[];\n mlsArea?: number[];\n schoolDistrict?: number[];\n subDivision?: number[];\n propertyType?: number[] | string[];\n priceMax?: number;\n priceMin?: number;\n endDate?: string;\n isReo?: boolean;\n}\n","import { SCREEN_SIZES } from './IScreenSizes';\n\nexport class INavButton {\n label: string;\n matIcon: string;\n urlPath: string;\n urlExternal? = false;\n enabled = true;\n breakPoints: SCREEN_SIZES[] = [SCREEN_SIZES.all];\n\n constructor(data: Partial) {\n Object.assign(this, data);\n }\n}\n","export class MarketPositionPropertyTypes {\n label: string;\n value: number;\n\n constructor(value: number, label: string) {\n this.value = value;\n this.label = label;\n }\n}\n","export class IReportGraph {\n levelEntityName: string;\n levelEntityXtra: string;\n reportMeasureValue: number;\n marketSharePercentage: number;\n isCb?: boolean;\n}\n","export enum SCREEN_SIZES {\n mobile = 'mobile',\n tablet = 'tablet',\n desktop = 'desktop',\n all = 'all'\n}\n","import { IReportDetail } from './IReportDetail';\n\nexport class ISocialData {\n tags: string;\n description: string;\n title: string;\n image: string;\n reportId: string;\n oktaid: string;\n encryptedid: string;\n reportDetails: IReportDetail;\n cbPosition: number;\n}\n","enum SocialFooterMediaTypes {\n 'facebook' = 'facebook_link',\n 'instagram' = 'instagram_link',\n 'twitter' = 'twitter_link',\n 'youtube' = 'youtube_link'\n}\n\nenum IconPath {\n facebook = 'fb',\n instagram = 'inst',\n twitter = 'tw',\n youtube = 'yt'\n}\n\nexport enum SocialName {\n facebook = 'facebook',\n twitter = 'twitter',\n linkedin = 'linkedin',\n youtube = 'youtube',\n pinterest = 'pinterest',\n instagram = 'instagram',\n blog = 'blog'\n}\n\nexport class ISocialFooterLink {\n label: string;\n url: string;\n iconPath: string;\n\n constructor(label: string, url: string, isSir = false) {\n this.label = ISocialFooterLink.getKeyByValue(SocialFooterMediaTypes, label);\n this.url = url;\n this.iconPath = `${isSir ? 'sir-' : ''}${ISocialFooterLink.getIconPath(this.label)}-ico.svg`;\n }\n\n private static getKeyByValue(object, value) {\n return Object.keys(object).find(key => object[key] === value);\n }\n\n private static getIconPath(string) {\n return IconPath[string];\n }\n}\n\nexport const SocialMediaGroup = [\n SocialFooterMediaTypes.facebook as string,\n SocialFooterMediaTypes.instagram as string,\n SocialFooterMediaTypes.twitter as string,\n SocialFooterMediaTypes.youtube as string\n];\n","export interface ITrendsOptions {\n chartdatatype: number;\n showtable: boolean;\n showamsp: boolean;\n showsplp: boolean;\n shownbrsoldar: boolean;\n showdom: boolean;\n showspsqft: boolean;\n showaimsi: boolean;\n shownl: boolean;\n showcover: boolean;\n islandscape: boolean;\n issir: boolean;\n showAgentInfo: boolean;\n}\n\nexport enum ITrendsOptionEnum {\n 'showcover' = 'showcover',\n 'overview' = 'showtable',\n 'amsp' = 'showamsp',\n 'splp' = 'showsplp',\n 'nbrsoldar' = 'shownbrsoldar',\n 'dom' = 'showdom',\n 'spsqft' = 'showspsqft',\n 'aimsi' = 'showaimsi',\n 'nl' = 'shownl'\n}\n","export interface ITrendsTableData {\n datatype: string;\n ytd: number;\n cm: number;\n lm: number;\n lm_arrow?: number;\n lm_percent?: number;\n l3m: number;\n l3m_arrow?: number;\n l3m_percent?: number;\n cmly: number;\n cmly_arrow?: number;\n cmly_percent?: number;\n formattype?: TrendDataFormatTypes;\n}\n\nexport enum TrendDataTypeEnum {\n solds = 'Number of Properties Sold',\n msp = 'Median Sales Price',\n ai = 'Number of Properties for Sale',\n dom = 'Average Days on Market',\n sppersf = 'Average Sales Price per Square Foot',\n splp = 'Sales Price / List Price Ratio',\n nl = 'New Listings',\n asp = 'Average Sales Price',\n alp = 'Average List Price',\n mlp = 'Median List Price',\n msi = `Month's Supply of Inventory`,\n ar = 'Absorption Rate'\n}\n\nexport enum CardTypesEnum {\n 'Average & Median Sales Price' = 'Average & Median Sales Price',\n 'Sales Price / List Price Ratio' = 'Sales Price / List Price Ratio',\n 'Number of Properties Sold & Absorption Rate' = 'Number of Properties Sold & Absorption Rate',\n 'Average Days on Market' = 'Average Days on Market',\n 'Average Sales Price per Square Foot' = 'Average Sales Price per Square Foot',\n 'Inventory & MSI' = 'Inventory & MSI',\n 'New Listings' = 'New Listings'\n}\n\nexport enum TrendDataTypeEnumShortHand {\n ai = 'ai',\n alp = 'alp',\n asp = 'asp',\n dom = 'dom',\n mlp = 'mlp',\n msi = 'msi',\n msp = 'msp',\n nl = 'nl',\n period = 'period',\n solds = 'solds',\n sppersf = 'sppersf',\n splp = 'splp',\n ar = 'ar'\n}\n\nexport enum TrendCardTypeEnumShortHand {\n amsp = 'amsp',\n splp = 'splp',\n nbrsoldar = 'nbrsoldar',\n dom = 'dom',\n spsqft = 'spsqft',\n aimsi = 'aimsi',\n nl = 'nl',\n overview = 'overview',\n custom = 'custom'\n}\n\nexport enum TrendDataFormatTypes {\n Percent = 'Percent',\n Dollar = 'Dollar',\n Numeric = 'Numeric',\n Value = 'Value'\n}\n\nexport enum TrendDataFormatAltTypes {\n Arrow,\n Percent,\n Value\n}\n\nexport const FormatTypes = {\n [TrendDataTypeEnum.solds]: TrendDataFormatTypes.Numeric,\n [TrendDataTypeEnum.msp]: TrendDataFormatTypes.Dollar,\n [TrendDataTypeEnum.ai]: TrendDataFormatTypes.Numeric,\n [TrendDataTypeEnum.dom]: TrendDataFormatTypes.Value,\n [TrendDataTypeEnum.sppersf]: TrendDataFormatTypes.Dollar,\n [TrendDataTypeEnum.splp]: TrendDataFormatTypes.Percent,\n [TrendDataTypeEnum.nl]: TrendDataFormatTypes.Numeric,\n [TrendDataTypeEnum.asp]: TrendDataFormatTypes.Dollar,\n [TrendDataTypeEnum.alp]: TrendDataFormatTypes.Dollar,\n [TrendDataTypeEnum.mlp]: TrendDataFormatTypes.Dollar,\n [TrendDataTypeEnum.msi]: TrendDataFormatTypes.Value,\n [TrendDataTypeEnum.ar]: TrendDataFormatTypes.Value\n} as const;\n\nexport enum DataColumns {\n datatype = 'datatype',\n cm = 'cm',\n lm = 'lm',\n l3m = 'l3m',\n cmly = 'cmly',\n ytd = 'ytd'\n}\n\nexport const TableAdjustableDataColumns = ['lm', 'l3m', 'cmly'];\n\nexport const TableStaticDataColumns = ['cm', 'ytd'];\n","export enum ImageTypes {\n background = 'Background',\n tall = 'Tall',\n square = 'Square',\n wide = 'Wide',\n HS_Web = 'HS_Web',\n HS_FB = 'HS_FB',\n email = 'Email',\n logo = 'Logo',\n emailLogo = 'EmailLogo',\n websiteDba = 'WebsiteDBA',\n pdfDba = 'PDFDBA',\n emailDba = 'EmailDBA',\n logoLight = 'LogoLight',\n logoDark = 'LogoDark'\n}\n","import { TrendCardTypeEnumShortHand, TrendDataTypeEnumShortHand } from './ITrendsTableData';\n\nexport class MarketTrendsChartConfiguration {\n label: string;\n shortHand: TrendCardTypeEnumShortHand;\n dataTypes: TrendDataTypeEnumShortHand[];\n chartTypes: TrendsChartStyles[];\n showPreview: boolean;\n isCustomChart?: boolean;\n\n constructor(\n label: string,\n dataTypes: TrendDataTypeEnumShortHand[],\n chartTypes: TrendsChartStyles[],\n shortHand: TrendCardTypeEnumShortHand,\n isCustomChart = false\n ) {\n this.label = label;\n this.dataTypes = dataTypes;\n this.chartTypes = chartTypes;\n this.shortHand = shortHand;\n this.showPreview = true;\n this.isCustomChart = isCustomChart;\n }\n}\n\nexport type TrendsChartStyles = 'Spline' | 'StackingColumn' | 'Line' | 'Column' | 'ColumnLine' | 'Custom';\n\nexport enum TrendsChartStylesEnum {\n Spline = 'Spline',\n StackingColumn = 'StackingColumn',\n Line = 'Line',\n Column = 'Column',\n ColumnLine = 'ColumnLine',\n Custom = 'Custom'\n}\n","export enum ReportTypeEnum {\n Uno = 0,\n MarketPosition = 1,\n MarketTrends = 2,\n MarketSnapshot = 3,\n CustomReport = 4,\n ASP_Trend = 5,\n AbsorptionRate = 6\n}\n\nexport enum ReportTypeLongStrEnum {\n Uno = 'Uno',\n MarketPosition = 'MarketPosition',\n MarketTrends = 'MarketTrends',\n MarketSnapshot = 'MarketSnapshot',\n CustomReport = 'CustomReport',\n ASPTrend = 'ASPTrend'\n}\n\nexport enum ReportPageTypeShortStrEnum {\n claims = 'claims',\n trends = 'trends',\n marketPosition = 'marketPosition',\n snapshot = 'snapshot',\n custom = 'custom',\n asp_trend = 'asp_trend'\n}\n","export enum SavedSearchFields {\n msTypeName = 'Transaction Side',\n unitType = 'Sales Type',\n propType = 'Property Type',\n priceType = 'Price Range',\n timeFrame = 'Time Period',\n dateRange = 'Date',\n priceRange = 'Price Range',\n groupByLevel = 'View By',\n dateRangeMulti = 'Date',\n isReo = 'Real Estate Owned'\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { selectOktaId } from 'app/store/selectors/userData.selector';\nimport { IAppState } from 'app/store/state/app.state';\nimport { Observable } from 'rxjs';\nimport { filter, map, take } from 'rxjs/operators';\nimport { INavButton } from '../../../models/INavButton';\nimport { NavigationService } from '../../../services/navigation.service';\nimport { FetchNavItems } from '../../../store/actions/menus.action';\nimport { selectNavItems } from '../../../store/selectors/menus.selector';\n\n@Component({\n selector: 'app-nav-button-bar',\n templateUrl: './nav-button-bar.component.html',\n styleUrls: ['./nav-button-bar.component.scss']\n})\nexport class NavButtonBarComponent implements OnInit {\n navItems$: Observable;\n\n constructor(private navigationService: NavigationService, private store: Store) {}\n\n ngOnInit(): void {\n this.store\n .select(selectOktaId)\n .pipe(\n filter(v => !!v),\n take(1)\n )\n .subscribe(user => {\n this.fetchNavButtonData(user);\n });\n this.navItems$ = this.store.select(selectNavItems).pipe(\n map(btnArr => {\n return btnArr.filter(btn => btn.enabled);\n })\n );\n }\n\n private fetchNavButtonData(oktaId: string) {\n this.store.dispatch(new FetchNavItems(oktaId));\n }\n}\n","\n","import { Component, Input, OnDestroy } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { INavButton } from '../../../../models/INavButton';\nimport { SetSideBarNav } from '../../../../store/actions/menus.action';\nimport { selectSideBarStatus } from '../../../../store/selectors/menus.selector';\nimport { IAppState } from '../../../../store/state/app.state';\n\n@Component({\n selector: 'app-nav-button',\n templateUrl: './nav-button.component.html',\n styleUrls: ['./nav-button.component.scss']\n})\nexport class NavButtonComponent implements OnDestroy {\n @Input() data: INavButton;\n @Input() showDivider = true;\n sideBarOpen$ = this.store.select(selectSideBarStatus);\n subs = new Subscription();\n sideBarOpen: boolean;\n\n constructor(private store: Store) {\n this.subs.add(\n this.sideBarOpen$.subscribe(open => {\n this.sideBarOpen = open;\n })\n );\n }\n\n toggleSideBar() {\n this.store.dispatch(new SetSideBarNav(false));\n }\n\n ngOnDestroy() {\n this.subs.unsubscribe();\n }\n}\n","\n \n \n {{ data?.matIcon }}\n \n

{{ data?.label }}

\n
\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-reports-template',\n templateUrl: './reports-template.component.html',\n styleUrls: ['./reports-template.component.scss']\n})\nexport class ReportsTemplateComponent {\n constructor() {}\n}\n","
\n \n
\n\n
\n \n \n
\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { SavedSearchService } from '../services/saved-search.service';\n\n@Pipe({\n name: 'areaIdLookup'\n})\nexport class AreaIdLookupPipe implements PipeTransform {\n constructor(private savedSvc: SavedSearchService) {}\n\n async transform(value: number, areaType: number) {\n return this.savedSvc.lookupLocationByAreaIdAndType(value, areaType);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { IChips } from '../models/IChips';\nimport { CountyStringPipe } from './countyString.pipe';\nimport { SchoolStringPipe } from './schoolDistrictString.pipe';\nimport { ReportTypeEnum } from '../models/ReportTypes';\n\n@Pipe({\n name: 'ChipTooltip'\n})\nexport class ChipTooltipPipe implements PipeTransform {\n constructor(private getCountyString: CountyStringPipe, private getSchoolString: SchoolStringPipe) {}\n\n transform(chip: IChips, reportType: ReportTypeEnum) {\n if (chip.hasData || reportType !== ReportTypeEnum.Uno) {\n if (chip.type === 'county') {\n return this.getCountyString.transform(chip.name);\n } else if (chip.type === 'schoolDistrict') {\n return this.getSchoolString.transform(chip.name);\n } else {\n return chip.name;\n }\n } else {\n if (chip.type === 'county') {\n return this.getCountyString.transform(chip.name) + ' does not have #1 claims';\n } else {\n return chip.name + ' does not have #1 claims';\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'CountyString'\n})\nexport class CountyStringPipe implements PipeTransform {\n transform(countyName: string) {\n const county = countyName.split(',')[0];\n const state = countyName.split(',')[1];\n\n if (state !== undefined) {\n countyName = county + ' County,' + state;\n } else {\n countyName = county + ' County';\n }\n\n return countyName;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { replace } from 'lodash-es';\nimport { FiltersV2Enum, LocationEnum } from '../models/FilterData';\nimport { ILocationsData } from '../models/ILocationsData';\n\n@Pipe({\n name: 'locationDataName'\n})\nexport class LocationDataNamePipe implements PipeTransform {\n transform(value: ILocationsData) {\n if (value.areaType === LocationEnum.county) {\n return !value.areaName.toLowerCase().includes(FiltersV2Enum.county) ?\n replace(value.areaName, ',', ' County,') :\n value.areaName;\n }\n return value.areaName;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'MarketQuestPhone'\n})\nexport class MarketQuestPhonePipe implements PipeTransform {\n transform(phoneNumber: string) {\n let formattedNumber: string;\n phoneNumber = phoneNumber.replace(/[^0-9]*/g, '');\n phoneNumber = phoneNumber.substring(0, 1) === '1' ? phoneNumber.substring(1) : phoneNumber;\n\n const areaCode = phoneNumber.substring(0, 3);\n const front = phoneNumber.substring(3, 6);\n const end = phoneNumber.substring(6, 10);\n\n formattedNumber = areaCode + '-' + front + '-' + end;\n\n return formattedNumber;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { MarketTrendsChartConfiguration } from '../models/MarketTrendsChartConfiguration';\n\n@Pipe({\n name: 'pagedArrayFilter'\n})\nexport class PagedArrayFilterPipe implements PipeTransform {\n\n transform(\n value: MarketTrendsChartConfiguration[][],\n args: {\n showTable: boolean;\n isLandscape: boolean;\n },\n isOverviewPage: boolean\n ): MarketTrendsChartConfiguration[][] {\n if (!value || !args) {\n return value;\n }\n const isLandscape = args.isLandscape;\n const showTable = args.showTable;\n\n if (isOverviewPage) {\n if (isLandscape) {\n return [];\n }\n const r = cloneDeep(value);\n r.length = 1;\n return r;\n } else if (isLandscape) {\n return value;\n } else if (showTable) {\n const r = cloneDeep(value);\n r.shift();\n return r;\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { replace } from 'lodash-es';\nimport { FiltersV2Enum } from '../models/FilterData';\nimport { IReportData } from '../models/IReportData';\nimport { IReportHeader } from '../models/IReportHeader';\n\n@Pipe({\n name: 'reportLocationName'\n})\nexport class ReportLocationNamePipe implements PipeTransform {\n transform(value: IReportData | IReportHeader, trimCount: number = 0) {\n if (trimCount > 0 && !value?.areaType) {\n const areaLocalName = value?.areaLocalName?.split(';').join(',;') || '';\n const areaLocalNameCount = areaLocalName.split(',').length;\n const moreText =\n areaLocalNameCount - trimCount <= 0\n ? ''\n : ` +${areaLocalNameCount - trimCount} more location${areaLocalNameCount - trimCount <= 1 ? '' : 's'}`;\n return (\n areaLocalName\n .split(',')\n .slice(0, trimCount)\n .join(',') + moreText\n )\n .split(',;')\n .join(';');\n }\n\n if (value?.areaType?.toLowerCase() === FiltersV2Enum.zip) {\n return 'Zip Code ' + value.areaLocalName;\n }\n if (value?.areaType?.toLowerCase() === FiltersV2Enum.county) {\n return !value.areaLocalName?.toLowerCase().includes(FiltersV2Enum.county)\n ? replace(value.areaLocalName, ',', ' County,')\n : value.areaLocalName;\n }\n return value?.areaLocalName;\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { format } from 'date-fns';\nimport { marketFiltersV2PropertyKeyEnum } from '../models/IMarketReportFilters';\n\n@Pipe({\n name: 'SavedSearchLookup'\n})\nexport class SavedSearchLookupPipe implements PipeTransform {\n constructor(private currencyPipe: CurrencyPipe) {}\n\n transform(value: any, args?: string) {\n switch (args) {\n case 'msTypeName':\n return value.length > 0 ? value : 'All';\n case 'unitType':\n return value.length > 0 ? value : 'All';\n case 'propType':\n const propTypes = [];\n value.map(propType => {\n propTypes.push(marketFiltersV2PropertyKeyEnum[propType]);\n });\n return propTypes.join(', ');\n case 'timeFrame':\n return value.length > 0 ? value : 'All';\n case 'dateRange':\n return format(new Date(value), 'MM/dd/yyyy');\n case 'priceRange':\n if (!value.minPrice && !value.maxPrice) {\n return `Any Price`;\n }\n return `${this.currencyPipe.transform(value.minPrice, 'USD', 'symbol', '1.0-0') || `$0`} -\n ${this.currencyPipe.transform(value.maxPrice, 'USD', 'symbol', '1.0-0') || `Any Price`}`;\n case 'priceType':\n if (!value.minPrice && !value.maxPrice) {\n return `Any Price`;\n }\n return `${this.currencyPipe.transform(value.minPrice, 'USD', 'symbol', '1.0-0') || `$0`} -\n ${this.currencyPipe.transform(value.maxPrice, 'USD', 'symbol', '1.0-0') || `Any Price`}`;\n case 'groupByLevel':\n return value.length > 0 ? value : 'All';\n case 'dateRangeMulti':\n if (value.isCustom) {\n const start = format(new Date(value.startDate), 'MM/dd/yyyy');\n const end = format(new Date(value.endDate), 'MM/dd/yyyy');\n return `${start} - ${end}`;\n } else {\n return format(new Date(value.endDate), 'MM/yyyy');\n }\n default:\n return value;\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'SchoolString'\n})\nexport class SchoolStringPipe implements PipeTransform {\n transform(schoolName: string) {\n schoolName = schoolName + ' School District';\n return schoolName;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { TrendDataFormatTypes } from '../models/ITrendsTableData';\nimport { MarketTrendsService } from '../services/market-trends.service';\n\n@Pipe({\n name: 'trendDataFormat'\n})\nexport class TrendDataFormatPipe implements PipeTransform {\n constructor(private marketTrendsService: MarketTrendsService) {\n }\n\n transform(value: string | number, type: TrendDataFormatTypes): string | number {\n return this.marketTrendsService.formatByType(value, type);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\ntype UrlType = 'LinkedIn' | 'Facebook' | 'Youtube' | 'Instagram' | 'Twitter' | 'Website';\n\n@Pipe({\n name: 'urlShorten'\n})\nexport class UrlShortenPipe implements PipeTransform {\n removeFromString(words: string[], str: string) {\n return words.reduce((result, word) => result.replace(word, ''), str);\n }\n\n transform(value: string, arg: UrlType) {\n const baseWords = ['https', 'http', '://', 'www.', '@', '#'];\n const resultWithoutPrefix = this.removeFromString(baseWords, value);\n\n switch (arg) {\n case 'LinkedIn':\n return '@' + this.removeFromString(['linkedin.com/in/'], resultWithoutPrefix);\n case 'Facebook':\n return 'fb.com/' + this.removeFromString(['facebook.com/'], resultWithoutPrefix);\n case 'Youtube':\n return resultWithoutPrefix;\n case 'Instagram':\n return '@' + this.removeFromString(['instagram.com/'], resultWithoutPrefix);\n case 'Twitter':\n return '@' + this.removeFromString(['twitter.com/'], resultWithoutPrefix);\n case 'Website':\n return resultWithoutPrefix;\n default:\n return resultWithoutPrefix;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { EMPTY, of } from 'rxjs';\nimport { filter, mergeMap } from 'rxjs/operators';\nimport { FeatureService } from '../services/feature.service';\nimport { selectFeaturesLoaded } from '../store/selectors/features.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable()\nexport class FeatureGuard implements CanActivate {\n constructor(private featureService: FeatureService, private router: Router, private store: Store) {}\n\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.store.select(selectFeaturesLoaded).pipe(\n filter(v => !!v),\n mergeMap(() => {\n if (this.featureService.hasFlags(next.data.flags)) {\n return of(true);\n } else {\n this.router.navigate(['/']).then(r => r);\n return EMPTY;\n }\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, Resolve, Router } from '@angular/router';\nimport { map } from 'rxjs/operators';\nimport { EncryptService } from '../services/encrypt.service';\nimport { ReportDetailService } from '../services/report-details.service';\n\n@Injectable()\nexport class PublicReportResolver implements Resolve {\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private reportDetailSvc: ReportDetailService,\n private encryptService: EncryptService\n ) {}\n\n resolve(route: ActivatedRouteSnapshot) {\n const encryptedId = route.params.id;\n return this.encryptService.getDecryptedValue(encryptedId).pipe(\n map(decryptedString => {\n const [reportId, oktaId, isCard] = decryptedString.split('|');\n return {\n reportId,\n oktaId,\n isCard\n };\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, Resolve, Router } from '@angular/router';\nimport { forkJoin, of } from 'rxjs';\nimport { EncryptService } from '../services/encrypt.service';\nimport { OptionsService } from '../services/options.service';\n\n@Injectable()\nexport class ReportPageResolver implements Resolve {\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private encryptService: EncryptService,\n private options: OptionsService\n ) {}\n\n resolve(route: ActivatedRouteSnapshot) {\n const encryptedId = route.params.id;\n return forkJoin([this.encryptService.getDecryptedReportDetails(encryptedId), of(this.options.getImagePathForReport())]);\n }\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { MqOktaAuthService } from 'app/services/mq-okta-auth.service';\nimport { environment } from 'environments/environment';\n\ndeclare const ServiceNowChat: any;\n\n@Component({\n selector: 'app-service-now-chat-bubble',\n templateUrl: './service-now-chat-bubble.component.html',\n styleUrls: ['./service-now-chat-bubble.component.scss']\n})\nexport class ServiceNowChatBubbleComponent implements OnInit, AfterViewInit {\n isProd = environment.environment === 'prod';\n constructor(private authService: MqOktaAuthService) {}\n\n ngOnInit(): void {\n if (this.isProd) {\n this.initServiceNowWidget();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.isProd) {\n this.addSSOIframeConfig();\n }\n }\n\n initServiceNowWidget(): void {\n if (ServiceNowChat) {\n new ServiceNowChat({\n instance: 'https://snprodsupport.marketquest.realogy.com',\n context: {\n skip_load_history: true,\n branding_key: 'common_external_va'\n },\n branding: {\n bgColor: '#1F1F1F',\n primaryColor: '#FFFFFF',\n hoverColor: '#1F1F1F',\n activeColor: '#AAA',\n closeIcon: 'omni_open_new.svg',\n sizeMultiplier: 1.6\n },\n offsetX: 25,\n offsetY: 25,\n position: 'right',\n translations: {\n 'Open dialog': 'Open chat',\n 'Open Chat. {0} unread message(s)': 'Click to open',\n 'Close chat.': 'Click to close'\n }\n });\n }\n }\n\n addSSOIframeConfig(): void {\n window.addEventListener('message', e => {\n //redirect to SSO login if the web client logs in but is logged in as a guest user(unauthenticated)\n console.log(e.data.type, e.data.authenticated);\n if (e.data.type === 'SESSION_LOGGED_OUT' || (e.data.type === 'SESSION_CREATED' && e.data.authenticated === false)) {\n this.authService.setServiceNowAuthSession(true);\n window.location.href =\n 'https://snprodsupport.marketquest.realogy.com/sn_va_web_client_login.do?sysparm_redirect_uri=' +\n encodeURIComponent(\n window.location.href.charAt(window.location.href.length - 1) === '/'\n ? window.location.href.substr(0, window.location.href.length - 1)\n : window.location.href\n );\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { IAspTrendsDataResponse, IAspTrendsFilter } from '../store/state/asp-trends.state';\nimport { environment } from 'environments/environment';\nimport { ILocationsData } from '../models/ILocationsData';\nimport { UserSettingsService } from './user-settings.service';\nimport { mergeMap, switchMap } from 'rxjs/operators';\n\ninterface AspFormValues {\n mls: string;\n locationFilters: ILocationsData[];\n report: {\n propType: number[];\n };\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AspTrendsService {\n constructor(private http: HttpClient, private userSvc: UserSettingsService) {}\n\n fetchAspPDF(data: IAspTrendsDataResponse) {\n const id = this.userSvc.oktaId;\n return this.postAspTrendsToDb(data).pipe(\n switchMap(reportId => {\n return this.http.post(\n `${environment.apiBaseUrl}/api/export/PostASPTrendsPDF/${reportId}?oktaId=${id}`,\n {},\n {\n responseType: 'blob'\n }\n );\n })\n );\n }\n\n postAspTrendsToDb(data: IAspTrendsDataResponse) {\n const id = this.userSvc.oktaId;\n return this.http.post(`${environment.apiBaseUrl}/api/Report/${id}/PostASPTrendsToDb`, data, {\n responseType: 'text'\n });\n }\n\n getAspTrendsData(filters: IAspTrendsFilter) {\n return this.http.post(`${environment.apiBaseUrl}/api/Report/postasptrends`, filters);\n }\n\n generateAspTrendsFilters(data: AspFormValues): IAspTrendsFilter {\n const filter: IAspTrendsFilter = {\n oktaid: this.userSvc.oktaId,\n mlsid: [data.mls],\n propertyType: data.report.propType,\n city: [],\n zip: [],\n county: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: []\n };\n data.locationFilters.map(location => {\n switch (location.areaType) {\n case 1:\n filter.city = [location.areaID];\n break;\n case 2:\n filter.county = [location.areaID];\n break;\n case 3:\n filter.zip = [location.areaID];\n break;\n case 4:\n filter.mlsArea = [location.areaID];\n break;\n case 5:\n filter.schoolDistrict = [location.areaID];\n break;\n case 6:\n filter.subDivision = [location.areaID];\n break;\n }\n });\n return filter;\n }\n}\n","import { formatDate } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport { BannerTypeEnums, IBannerData } from '../models/IBannerData';\nimport { Disclaimer } from '../models/IDisclaimer';\nimport { IMarketReportDate } from '../models/IMarketReportDate';\nimport { selectDateRanges } from '../store/selectors/market-position.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BannerService {\n subs = new Subscription();\n private currentDate: string;\n private dates: any;\n private quarterEndDate: string;\n\n constructor(private store: Store) {\n this.subs.add(\n this.store.select(selectDateRanges).subscribe((dates: IMarketReportDate[]) => {\n this.dates = cloneDeep(dates);\n\n dates.map(dateType => {\n if (dateType.datePeriod === 'NQR') {\n this.quarterEndDate = dateType.startDate;\n }\n });\n })\n );\n\n this.data = [];\n this.currentDate = formatDate(new Date(), 'MM/dd/yyyy', 'en');\n this._currentYear = new Date(this.currentDate).getFullYear();\n\n const arr = [\n {\n url: 'https://mycbdesk.com/help-center/market-quest/faqs/article/marketquest-v2-faqs',\n message: 'Due to MLS restrictions, we cannot display competitor data.',\n type: BannerTypeEnums.consolidated,\n closeable: false\n }\n ];\n arr.map(d => this.data.push(new Disclaimer(d)));\n }\n\n private _currentYear: number;\n\n get currentYear(): number {\n return this._currentYear;\n }\n\n set currentYear(value: number) {\n this._currentYear = value;\n }\n\n private _data: IBannerData[];\n\n get data(): IBannerData[] {\n return this._data;\n }\n\n set data(value: IBannerData[]) {\n this._data = value;\n }\n\n setPageBanners(types: BannerTypeEnums[]): Disclaimer[] {\n const d: Disclaimer[] = [];\n this.data\n .filter(banner => types.includes(banner.type))\n .forEach(validBanner => {\n const vData: Disclaimer = {\n message: validBanner.message,\n type: validBanner.type,\n show: true,\n url: validBanner.url,\n closeable: validBanner?.closeable || false\n };\n d.push(new Disclaimer(vData));\n });\n return d;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { isString } from 'lodash-es';\nimport { FilterState, FiltersV2Enum } from '../models/FilterData';\nimport { IReportData } from '../models/IReportData';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CardSetService {\n private locationKeys: string[] = [FiltersV2Enum.zip, FiltersV2Enum.city, FiltersV2Enum.county, FiltersV2Enum.locations];\n\n constructor() {}\n\n private static stripCaseAndSpacing(str: string) {\n return isString(str) ? str.replace(/\\s/g, '').toLowerCase() || '' : str;\n }\n\n private static checkPriceFilter(filters: FilterState, key: string, report: IReportData) {\n if (filters[key]?.filter && filters[key].filter(Boolean).length < 1) {\n return true;\n }\n\n if (filters[key]) {\n return report[key].toUpperCase() === filters[key].toUpperCase();\n }\n\n return true;\n }\n\n private static checkClaimsFilter(report: IReportData, key: string, filters: FilterState) {\n if (filters[key].filter(Boolean).length < 1 || typeof filters[key] === 'number') {\n return true;\n }\n return CardSetService.stripCaseAndSpacing(report[key === 'unitType' ? 'msTypeName' : key]).includes(\n CardSetService.stripCaseAndSpacing(filters[key][0])\n );\n }\n\n private static checkMlsFilter(filters: FilterState, report: IReportData) {\n const mlsId = filters.mlsid;\n return filters.mlsid ? CardSetService.stripCaseAndSpacing(report['mlsid']) === CardSetService.stripCaseAndSpacing(mlsId[0]) : true;\n }\n\n filterReportSet(reportSet: IReportData[], filters: FilterState, sortAsc = true): IReportData[] {\n const filterKeys = Object.keys(filters);\n return reportSet\n .filter(report => {\n return filterKeys.every(key => {\n if (key === 'priceType') {\n return CardSetService.checkPriceFilter(filters, key, report);\n }\n\n if (Array.isArray(filters[key])) {\n if (key.localeCompare(FiltersV2Enum.locations) === 0) {\n return this.checkLocationFilter(filters, report);\n }\n if (this.locationKeys.indexOf(key) < 0) {\n return key.localeCompare('mlsid') === 0\n ? CardSetService.checkMlsFilter(filters, report)\n : CardSetService.checkClaimsFilter(report, key, filters);\n }\n }\n return true;\n });\n })\n .sort((a, b) => {\n return (a.areaLocalName < b.areaLocalName ? -1 : 1) * (sortAsc ? 1 : -1);\n });\n }\n\n private checkLocationFilter(filters: FilterState, report: IReportData) {\n if (\n this.locationKeys.every(key => {\n return !filters[key].length || !filters[key][0];\n })\n ) {\n return true;\n } else {\n return this.locationKeys.some(key => {\n return filters[key].indexOf(Number(report.areaLocalID)) > -1 && report.areaType.toLowerCase() === key;\n });\n }\n }\n}\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport {\n IAxisLabelRenderEventArgs,\n IPointRenderEventArgs,\n ISeriesRenderEventArgs,\n ITextRenderEventArgs,\n LegendSettingsModel,\n TooltipSettingsModel\n} from '@syncfusion/ej2-angular-charts';\nimport { format, getYear } from 'date-fns';\nimport { ITrendsDataPoint } from '../models/IMarketTrendsGraphSet';\nimport { MarketTrendsChartConfiguration, TrendsChartStyles, TrendsChartStylesEnum } from '../models/MarketTrendsChartConfiguration';\nimport { MarketTrendsService } from './market-trends.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChartService {\n constructor(private decimalPipe: DecimalPipe, private marketTrendsService: MarketTrendsService) {}\n\n monthIncluded(chartMonth: string, selectedMonth: string) {\n return chartMonth.includes(selectedMonth);\n }\n\n monthVars(month: string, currentMonth: string) {\n const chartMonth = month;\n const selectedMonth = currentMonth.substring(0, 3) ?? '';\n return { chartMonth, selectedMonth };\n }\n\n setUpLegend(legendArg: LegendSettingsModel, chart: MarketTrendsChartConfiguration) {\n return {\n ...legendArg,\n visible: chart?.chartTypes.length > 1\n };\n }\n\n setupTooltip(tooltipArg: TooltipSettingsModel) {\n const tooltip = {\n ...tooltipArg\n };\n if (tooltip['textStyle']) {\n tooltip['textStyle'].color = '#dcdcdd';\n } else {\n tooltip['textStyle'] = { color: '#dcdcdd' };\n }\n return tooltip;\n }\n\n checkAxisLabels($event: IAxisLabelRenderEventArgs, mobile: boolean, currentMonth: string, currentYear: number) {\n let newCurrentYear;\n if ($event.axis.name.toLowerCase().includes('yaxis')) {\n $event.text = this.formatYAxisNumLabels($event);\n newCurrentYear = 0;\n } else {\n const e = this.formatXAxisLabels($event, mobile, currentMonth, currentYear);\n $event.text = e.ev.text;\n $event.labelStyle = e.ev.labelStyle;\n newCurrentYear = e.currentYear;\n }\n return { $event, newCurrentYear };\n }\n\n formatYAxisNumLabels($event: IAxisLabelRenderEventArgs) {\n return this.decimalPipe.transform($event.value);\n }\n\n formatXAxisLabels($event: IAxisLabelRenderEventArgs, isMobile: boolean, currentMonth: string, currentYear: number) {\n const ev = $event;\n const dateArr = $event.text.split(' ');\n const month = dateArr[0].substring(0, 1);\n const year = dateArr[1];\n if (isMobile) {\n $event.text = this.setMobileAxisLabels($event.text, month, year, currentMonth);\n } else if (currentYear !== parseInt(year, 10)) {\n currentYear = this.setYear(year);\n $event.labelStyle.color = '#727476';\n $event.text = `${month}
${currentYear}`;\n } else {\n $event.text = isMobile ? '' : month;\n }\n return { ev, currentYear };\n }\n\n setYear(year: string) {\n return parseInt(year, 10);\n }\n\n private setMobileAxisLabels(str: string, month: string, year: string, currentMonth: string) {\n const { chartMonth, selectedMonth } = this.monthVars(str, currentMonth);\n if (this.monthIncluded(chartMonth, selectedMonth)) {\n return `${month}
${year}`;\n } else {\n return '';\n }\n }\n\n showSplineMarkers($event: IPointRenderEventArgs) {\n $event.point.marker.visible = true;\n $event.point.marker.height = 16;\n $event.point.marker.width = 16;\n $event.point.marker.border = {\n width: 3\n };\n return $event;\n }\n\n hideSplineMarkers($event: IPointRenderEventArgs) {\n $event.point.marker.height = 1;\n $event.point.marker.width = 1;\n $event.point.marker.visible = false;\n return $event;\n }\n\n pointRenderInit($event: IPointRenderEventArgs, currentMonth: string, isSir: boolean, primaryColor: string, isCustom = false) {\n if (!$event.point.x) {\n return;\n }\n const { chartMonth, selectedMonth } = this.monthVars($event.point.x as string, currentMonth);\n if (!this.monthIncluded(chartMonth, selectedMonth)) {\n $event = this.hideSplineMarkers($event);\n } else if ($event.series.type === TrendsChartStylesEnum.Spline) {\n $event = this.showSplineMarkers($event);\n $event.fill = '#fff';\n } else if (isSir) {\n return;\n } else if (!isCustom) {\n $event.fill = primaryColor;\n }\n return $event;\n }\n\n textRenderInit($event: ITextRenderEventArgs, currentMonth: string) {\n if (!!$event.point.x) {\n const { chartMonth, selectedMonth } = this.monthVars($event.point.x as string, currentMonth);\n if (this.monthIncluded(chartMonth, selectedMonth)) {\n $event.font.color = '#fff';\n }\n $event.text = this.decimalPipe.transform($event.text);\n }\n return $event;\n }\n\n seriesRenderInit(\n $event: ISeriesRenderEventArgs,\n showColumnMarkers: boolean,\n chartId: string,\n currentMonth: string,\n isSir: boolean,\n isCustom: boolean\n ) {\n if (showColumnMarkers && $event.series['properties'].type === 'Column' && !isCustom) {\n return this.generateColumnMarkers($event.data, chartId, currentMonth, isSir, isCustom);\n }\n }\n\n generateColumnMarkers(chartData, chartId: string, currentMonth: string, isSir: boolean, isCustom: boolean): void {\n let markerMarkup;\n const barContainer = document.querySelector(`#${chartId}SeriesGroup0`);\n if (barContainer && chartData) {\n const bars = barContainer.querySelectorAll(`path`);\n const existingGroup = document.querySelector(`#${chartId}-column-markers`);\n if (existingGroup) {\n existingGroup.remove();\n }\n markerMarkup = ``;\n (chartData || []).forEach((data, index) => {\n const bar = bars[index];\n if (!bar) {\n return;\n }\n if (data.yData && data.yData > 0) {\n let color = 'var(--colorPrimary)';\n const { chartMonth, selectedMonth } = this.monthVars(data.xData as string, currentMonth);\n if (chartMonth.includes(selectedMonth) && !isSir && !isCustom) {\n color = 'var(--font-white)';\n }\n const value = this.decimalPipe.transform(data.yData);\n const offset = Math.floor(9 + (bar.getBoundingClientRect().width - 9) / 2);\n markerMarkup += `\n ${value}\n `;\n }\n });\n barContainer.innerHTML += markerMarkup + '';\n }\n }\n\n fetchChartConfig(size: TrendsChartStyles[], customChart = false) {\n return this.marketTrendsService.getTrendsConfig(size, customChart);\n }\n\n formatDates(value: ITrendsDataPoint[]) {\n let year = 0;\n return value.map(v => {\n const d = new Date(v.xData);\n const month = format(d, 'MMMM').substring(0, 3);\n year = getYear(d);\n v.xData = `${month} ${year}`;\n return v;\n });\n }\n}\n","import { CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { LocationEnum } from 'app/models/FilterData';\nimport { selectUser } from 'app/store/selectors/userData.selector';\nimport { IAppState } from 'app/store/state/app.state';\nimport { format, subMonths } from 'date-fns';\nimport { environment } from 'environments/environment';\nimport { cloneDeep } from 'lodash-es';\nimport { combineLatestWith, switchMap, map, Observable, take, withLatestFrom, merge } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { ICustomChartData } from '../models/ICustomChartData';\nimport {\n CustomReportDbData,\n DataRow,\n ICustomDataDetails,\n ICustomDataTypeByNumEnum,\n ICustomDataTypeEnum,\n ICustomDataTypeLabelEnum,\n ICustomDisplayAsEnum,\n CustomReportExportDataTypes\n} from '../models/ICustomDataTypeEnum';\nimport { ICustomReportPostData } from '../models/ICustomReportPostData';\nimport { IMarketTrendsDataSet, ITrendsDataPoint } from '../models/IMarketTrendsGraphSet';\nimport {\n CustomReportDataDetails,\n CustomReportDataTypes,\n CustomReportDisplayAs,\n DisplayAllData\n} from '../store/selectors/custom-graph.selector';\nimport { ICustomReportControl } from '../store/state/custom-report.state';\nimport { selectOktaId } from '../store/selectors/userData.selector';\nimport { ICustomReportOptions } from '../models/ICustomReportOptions';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomReportService {\n private readonly dataTypes$: Observable<[number, number]>;\n private readonly chartTypes$: Observable<[number, number]>;\n private readonly displayAllData$: Observable;\n private isThreePointChart = false;\n private threePointChartData: any;\n\n constructor(\n private http: HttpClient,\n private store: Store,\n private currencyPipe: CurrencyPipe,\n private decimalPipe: DecimalPipe\n ) {\n this.dataTypes$ = this.store.select(CustomReportDataTypes);\n this.chartTypes$ = this.store.select(CustomReportDisplayAs);\n this.displayAllData$ = this.store.select(DisplayAllData);\n }\n\n getCustomReportTypes(): Observable {\n return this.http.get(`${environment.apiBaseUrl}/api/report/getCustomReportDataTypes`);\n }\n\n getCustomReportData(mls: string, data: any) {\n return this.http.post(`${environment.apiBaseUrl}/api/Report/postcustomreport`, data.postData);\n }\n\n getIsThreePointChart(): boolean {\n return this.isThreePointChart;\n }\n\n postCustomReportDataToDb(data: ICustomDataDetails) {\n const data2 = cloneDeep(data);\n return this.dataTypes$.pipe(\n combineLatestWith(this.chartTypes$),\n take(1),\n map((exportData: [[number, number], [number, number]]) => {\n return this.prepareDataArrayForExport(exportData);\n }),\n switchMap(dataTypeExport => {\n data2.dataTypes = dataTypeExport;\n return this.store.select(selectOktaId);\n }),\n switchMap(id => {\n Object.keys(data2).forEach(k => data2[k] == null && delete data2[k]);\n\n if (this.isThreePointChart) {\n data2.dataTypes = this.threePointChartData.graphDataTypes;\n }\n return this.http.post(`${environment.apiBaseUrl}/api/Report/${id}/PostCustomReportToDb`, data2, {\n responseType: 'text'\n });\n })\n );\n }\n\n fetchCustomReportPdf(data: ICustomDataDetails, options: ICustomReportOptions) {\n return this.postCustomReportDataToDb(data).pipe(\n withLatestFrom(this.store.select(selectOktaId)),\n switchMap(observable => {\n const [data, oktaId] = observable;\n return this.http.post(`${environment.apiBaseUrl}/api/export/PostCustomPDF/${data}?&oktaId=${oktaId}`, options, {\n responseType: 'blob'\n });\n })\n );\n }\n generateCustomReportPostData(data: ICustomReportPostData) {\n const userData = this.store.select(selectUser);\n const priceMax = data?.report.priceRange?.maxPrice || 999999999;\n const priceMin = data?.report.priceRange?.minPrice || 0;\n\n return userData.pipe(\n take(1),\n map(user => {\n const isCustom = data.report.dateRangeMulti.isCustom;\n const endDate = isCustom ? data.report.dateRangeMulti.endDate : data.report.dateRangeMulti.monthlyEndDate;\n const startDate = isCustom\n ? data.report.dateRangeMulti.startDate\n : subMonths(new Date(data.report.dateRangeMulti.monthlyEndDate), 36);\n const isReo = data.report.isReo === undefined ? false : data.report.isReo;\n\n let postData: any = {\n city: [],\n county: [],\n dateRange: {\n startDate: format(startDate || new Date(), 'MM/dd/yyyy'),\n endDate: format(endDate || new Date(), 'MM/dd/yyyy')\n },\n mlsArea: [],\n mlsid: [data.mls],\n priceMax: parseInt(priceMax.toString()?.replace(/[^0-9.]*/g, ''), 10) || 999999999,\n priceMin: parseInt(priceMin.toString()?.replace(/[^0-9.]*/g, ''), 10) || 0,\n propertyType: data.report.propType,\n schoolDistrict: [],\n subDivision: [],\n oktaId: user.oktaId,\n zip: [],\n isReo: [isReo]\n };\n if (data.locationFilters && data.locationFilters[0]) {\n data.locationFilters.forEach(locationFilter => {\n postData[LocationEnum[locationFilter.areaType]].push(locationFilter.areaID.toString());\n });\n }\n return { mls: data.mls, postData, data };\n })\n );\n }\n\n formatDataPoint(dataPoint: number, type: keyof typeof ICustomDataTypeByNumEnum) {\n switch (type) {\n case 'msp':\n case 'asp':\n case 'mlp':\n case 'alp':\n case 'asp3':\n case 'alp3':\n case 'sppersf':\n case 'sppersf3':\n return this.currencyPipe.transform(dataPoint, 'USD', 'symbol', '1.0-0');\n }\n switch (type) {\n case 'splp':\n case 'splp3':\n case 'aopernl':\n case 'aoperai':\n return this.decimalPipe.transform(dataPoint, '1.0-0') + '%';\n }\n switch (type) {\n case 'msi':\n return this.decimalPipe.transform(dataPoint, '1.0-2');\n }\n return this.decimalPipe.transform(dataPoint, '1.0-0');\n }\n\n prepareDataArrayForExport(data: [[number, number], [number, number]]) {\n const [dataTypes, seriesType] = data;\n let dataArr: CustomReportExportDataTypes[] = [];\n let seriesConverted = seriesType.map(t => ICustomDisplayAsEnum[t]);\n let dataKeyConverted = dataTypes.map(x => ICustomDataTypeByNumEnum[x]);\n let axisConvert = dataKeyConverted.map(x => ICustomDataTypeLabelEnum[x]);\n if (seriesConverted[0] === seriesConverted[1]) {\n seriesConverted = ['Column', 'Column'];\n }\n for (let x = 0; x < 2; x++) {\n let exportType: CustomReportExportDataTypes = {\n seriesTypes: seriesConverted[x],\n dataKey: dataKeyConverted[x],\n axisLabel: axisConvert[x]\n };\n dataArr.push(exportType);\n }\n return dataArr;\n }\n\n prepareDataArrayForChart(dataTypes: [number, number], dataDetails: ICustomDataDetails) {\n let dataArr: IMarketTrendsDataSet = {};\n dataTypes.map(dataType => {\n const convertDataTypeEnum = ICustomDataTypeByNumEnum[dataType];\n dataArr[convertDataTypeEnum] = [];\n dataDetails?.reportData?.forEach(d => {\n const entry: ITrendsDataPoint = {\n yData: d[convertDataTypeEnum] as number,\n xData: d.period\n };\n dataArr[convertDataTypeEnum].push(entry);\n });\n });\n return Object.keys(dataArr).map(key => {\n return dataArr[key];\n });\n }\n\n getChartDataPointsPerDataType(dataType: number, data): { yData: number; xData: string }[] {\n let dataArr: IMarketTrendsDataSet = {};\n const convertDataTypeEnum = ICustomDataTypeByNumEnum[dataType];\n dataArr[convertDataTypeEnum] = [];\n return data?.details?.reportData?.map(d => {\n return {\n yData: d[convertDataTypeEnum] as number,\n xData: d.period\n };\n });\n }\n\n formatTableData(data: CustomReportDbData[], showAllData: boolean, dataTypes: [number, number]) {\n let rowData = this.formatRowData(data, showAllData, dataTypes);\n let headerData = this.formatColHeaderData(data);\n return { headerData, rowData };\n }\n\n prepareCustomChartProps(data: [ICustomDataDetails, [number, number], [number, number]]) {\n const [dataDetails, dataTypes, chartTypes] = data;\n const details = cloneDeep(dataDetails);\n const dataPoints = this.prepareDataArrayForChart(dataTypes, details);\n let chartTypesConverted = chartTypes.map(t => ICustomDisplayAsEnum[t]);\n if (chartTypesConverted[0] === chartTypesConverted[1]) {\n chartTypesConverted = ['Column', 'Column'];\n }\n const axisLabels = this.getYAxisLabels(dataTypes);\n return { details, dataPoints, chartTypesConverted, axisLabels };\n }\n\n setChartDataData(): Observable {\n return this.store.select(CustomReportDataDetails).pipe(\n filter(d => !!d),\n combineLatestWith(this.dataTypes$, this.chartTypes$),\n map((data: [ICustomDataDetails, [number, number], [number, number]]) => {\n return this.prepareCustomChartProps(data);\n })\n );\n }\n\n private formatColHeaderData(data: CustomReportDbData[]) {\n if (!data || data.length === 0) {\n return [];\n }\n const headerData = ['Description'];\n for (let i = 0; i < data.length; i++) {\n const dateToFormat = (data[i].period || '').split('.').join('-');\n let newDate = format(dateToFormat ? new Date(dateToFormat) : new Date(), 'MMM yy');\n headerData.push(newDate);\n }\n return headerData;\n }\n\n private formatRowData(data: CustomReportDbData[], showAll: boolean, dataTypes: [number, number]) {\n let arr: DataRow[] = [];\n let allDataTypes = Object.keys(ICustomDataTypeByNumEnum).filter(k => isNaN(Number(k)));\n let filteredArrayOfTypes;\n if (!data || data.length === 0) {\n return arr;\n }\n filteredArrayOfTypes = showAll ? allDataTypes : allDataTypes.filter(t => dataTypes.includes(ICustomDataTypeByNumEnum[t]));\n return this.sortDataTypes(data, filteredArrayOfTypes);\n }\n\n private sortDataTypes(data: CustomReportDbData[], keys: string[]) {\n const dataArr: DataRow[] = [];\n keys.map((key: keyof typeof ICustomDataTypeByNumEnum) => {\n if (ICustomDataTypeByNumEnum.hasOwnProperty(key)) {\n dataArr.push({\n name: ICustomDataTypeEnum[key],\n data: data?.map(x => this.formatDataPoint(x[key], key))\n });\n }\n });\n return dataArr;\n }\n\n getYAxisLabels(dataTypeEnums: number[]): string[] {\n return dataTypeEnums.map(x => {\n const key = ICustomDataTypeByNumEnum[x],\n prefix = ICustomDataTypeEnum[key],\n suffix = ICustomDataTypeLabelEnum[key];\n return `${prefix} (${suffix})`;\n });\n }\n\n setThreePointChartData(data?: any): void {\n if (data) {\n this.isThreePointChart = true;\n this.threePointChartData = data;\n } else {\n this.isThreePointChart = false;\n this.threePointChartData = null;\n }\n }\n\n getThreePointChartData() {\n return this.threePointChartData;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DataLayerObject } from '../gtm/data-layer-object';\nimport { DataLayerSet } from '../gtm/data-layer-set';\n\n@Injectable()\nexport class DataLayerObjectService {\n private currentSet: DataLayerSet;\n\n constructor() {\n this._generateEmptySet();\n }\n\n set customSet(someSet: any) {\n Object.keys(DataLayerObject)\n .map(key => DataLayerObject[key])\n .forEach(key => {\n this.currentSet[key] = someSet[key] || this.currentSet[key];\n });\n }\n\n trigger() {\n (window as any).dataLayer.push(this.currentSet);\n }\n\n private _generateEmptySet() {\n this.currentSet = {\n [DataLayerObject.metro]: undefined,\n [DataLayerObject.office]: undefined,\n [DataLayerObject.metroName]: undefined,\n [DataLayerObject.metroID]: undefined,\n [DataLayerObject.officeName]: undefined,\n [DataLayerObject.officeID]: undefined,\n [DataLayerObject.officeLocationID]: undefined,\n [DataLayerObject.oktaID]: undefined,\n [DataLayerObject.userType]: undefined,\n [DataLayerObject.emailAddress]: undefined,\n [DataLayerObject.createdAt]: undefined,\n [DataLayerObject.titles]: undefined,\n [DataLayerObject.brand]: undefined,\n [DataLayerObject.businessUnit]: undefined,\n [DataLayerObject.personMasterId]: undefined,\n [DataLayerObject.agentMasterId]: undefined\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport {\n addDays,\n addMonths,\n addYears,\n format,\n getDate,\n getDaysInMonth,\n getMonth,\n getYear,\n parse,\n setDay,\n setMonth,\n toDate\n} from 'date-fns';\n\n// CONFIG. Use environment or something for a dynamic locale and settings\nimport enUS from 'date-fns/locale/en-US';\n\nconst WEEK_STARTS_ON = 1; // 0 sunday, 1 monday...\n\nexport const monthYear = {\n parse: {\n dateInput: 'MM/yyyy'\n },\n display: {\n dateInput: 'MM/yyyy',\n monthYearLabel: 'MM yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MM yyyy'\n }\n};\n\nexport const fullDate = {\n parse: {\n dateInput: 'MM/dd/yyyy'\n },\n display: {\n dateInput: 'MM/dd/yyyy',\n monthYearLabel: 'MMM dd yyyy',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MM dd yyyy'\n }\n};\nfunction range(start: number, end: number): number[] {\n const arr: number[] = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n}\n\n@Injectable()\nexport class DateService extends DateAdapter {\n addCalendarDays(date: Date, days: number): Date {\n return addDays(date, days);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n return addMonths(date, months);\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return addYears(date, years);\n }\n\n clone(date: Date): Date {\n return toDate(date);\n }\n\n createDate(year: number, month: number, date: number): Date {\n return new Date(year, month, date);\n }\n\n format(date: Date, displayFormat: any): string {\n return format(date, displayFormat, {\n locale: enUS\n });\n }\n\n getDate(date: Date): number {\n return getDate(date);\n }\n\n getDateNames(): string[] {\n return range(1, 31).map(day => String(day));\n }\n\n getDayOfWeek(date: Date): number {\n return parseInt(format(date, 'i'), 10);\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const map = {\n long: 'EEEE',\n short: 'E..EEE',\n narrow: 'EEEEE'\n };\n\n const formatStr = map[style];\n const date = new Date();\n\n return range(0, 6).map(month =>\n format(setDay(date, month), formatStr, {\n locale: enUS\n })\n );\n }\n\n getFirstDayOfWeek(): number {\n return WEEK_STARTS_ON;\n }\n\n getMonth(date: Date): number {\n return getMonth(date);\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n const map = {\n long: 'LLLL',\n short: 'LLL',\n narrow: 'LLLLL'\n };\n\n const formatStr = map[style];\n const date = new Date();\n\n return range(0, 11).map(month =>\n format(setMonth(date, month), formatStr, {\n locale: enUS\n })\n );\n }\n\n getNumDaysInMonth(date: Date): number {\n return getDaysInMonth(date);\n }\n\n getYear(date: Date): number {\n return getYear(date);\n }\n\n getYearName(date: Date): string {\n return format(date, 'yyyy', {\n locale: enUS\n });\n }\n\n invalid(): Date {\n return new Date(NaN);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof Date;\n }\n\n isValid(date: Date): boolean {\n return date instanceof Date && !isNaN(date.getTime());\n }\n\n parse(value: any, parseFormat: any): Date | null {\n return parse(value, parseFormat, new Date(), {\n locale: enUS\n });\n }\n\n toIso8601(date: Date): string {\n return date.toISOString();\n }\n\n today(): Date {\n return new Date();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { IAgentReport } from '../models/IAgentReport';\nimport { IBaseHeader } from '../models/IBaseHeader';\nimport { IReportHeader } from '../models/IReportHeader';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DisclaimerService {\n constructor() {}\n\n private static formatPrice(priceRange) {\n if (!priceRange) {\n return 'all price ranges';\n }\n if (priceRange.indexOf('All') !== -1) {\n return 'all price ranges';\n } else if (priceRange.indexOf('$1M+') !== -1) {\n return 'price ranges of $1 million or more';\n } else {\n return 'price range from ' + priceRange;\n }\n }\n\n private static formatPropertyType(reportHeaderEntity) {\n if (reportHeaderEntity.propertyType) {\n return `for ` + reportHeaderEntity.propertyType;\n } else {\n return '';\n }\n }\n\n private static formatAreaType(areaType: string, areaLocalName: string) {\n if (!areaType) {\n return areaLocalName || 'All Locations';\n }\n if (areaType.indexOf('County') !== -1) {\n return DisclaimerService.getCountyString(areaLocalName);\n } else if (areaType.indexOf('City') !== -1) {\n return areaLocalName;\n } else if (areaType.indexOf('Zip') !== -1) {\n return 'the Zip Code: ' + areaLocalName;\n } else {\n return '';\n }\n }\n\n private static getCountyString(countyName) {\n const county = countyName.split(',')[0];\n const state = countyName.split(',')[1];\n countyName = county + ' County,' + state;\n return countyName;\n }\n\n formatCBRDisclaimer(reportHeaderEntity: IReportHeader | IBaseHeader, agentReportEntity: IAgentReport, isMarket: boolean) {\n let prefix;\n let suffix;\n const date = new Date();\n const dateReportPulled = date.toLocaleDateString();\n const year = new Date().getFullYear();\n const price = isMarket ? (reportHeaderEntity as IBaseHeader).priceRange : (reportHeaderEntity as IReportHeader).priceType;\n\n if (reportHeaderEntity.msTypeName.toLowerCase().includes('unit')) {\n prefix =\n `Based on total number of closed units in ` +\n `${DisclaimerService.formatAreaType(reportHeaderEntity.propertyType, reportHeaderEntity.areaLocalName)} in ` +\n `${DisclaimerService.formatPrice(price)}` +\n ` ${DisclaimerService.formatPropertyType(reportHeaderEntity)} as reported ` +\n `by ${reportHeaderEntity.legalName} on ${dateReportPulled} for the period ` +\n `of ${reportHeaderEntity.displayDateRange}. One unit equals one side of a transaction (buyer or ` +\n `seller). Source data is deemed reliable but not guaranteed. Real estate agents affiliated ` +\n `with ${agentReportEntity.brokerageName} are independent contractor sales associates, not ` +\n `employees.`;\n } else {\n prefix =\n `Based on closed sales volume information from ${reportHeaderEntity.legalName} ` +\n `for ${DisclaimerService.formatAreaType(reportHeaderEntity.propertyType, reportHeaderEntity.areaLocalName)} ` +\n `in ${DisclaimerService.formatPrice(price)} ` +\n ` ${DisclaimerService.formatPropertyType(reportHeaderEntity)} as reported on ${dateReportPulled} for the period ` +\n `of ${reportHeaderEntity.displayDateRange}, calculated by multiplying the number of buyer and/or ` +\n `seller sides by sales price. Source data is deemed reliable but not guaranteed. Real estate agents affiliated ` +\n `with ${agentReportEntity.brokerageName} are independent contractor sales associates, not ` +\n `employees.`;\n }\n\n suffix =\n `©${year} Coldwell Banker. All Rights Reserved. Coldwell Banker and the Coldwell Banker logos are trademarks of ` +\n `Coldwell Banker Real Estate LLC. The Coldwell Banker® System is comprised of company owned offices which are owned ` +\n `by a subsidiary of Realogy Brokerage Group LLC and franchised offices which are independently owned and operated. The ` +\n `Coldwell Banker System fully supports the principles of the Fair Housing Act and the Equal Opportunity Act. `;\n\n return prefix + ' ' + suffix;\n }\n\n public formatDisclaimerSIR(reportHeaderEntity) {\n let prefix: string;\n let suffix: string;\n const date = new Date();\n const dateReportPulled = date.toLocaleDateString();\n const year = new Date().getFullYear();\n\n if (reportHeaderEntity.msTypeName.toLowerCase().includes('unit')) {\n prefix =\n `Based on total number of closed units in ` +\n `${DisclaimerService.formatAreaType(reportHeaderEntity.propertyType, reportHeaderEntity.areaLocalName)} ` +\n `in ${DisclaimerService.formatPrice(reportHeaderEntity.priceType)}` +\n ` ${DisclaimerService.formatPropertyType(reportHeaderEntity)} as reported ` +\n `by ${reportHeaderEntity.legalName} on ${dateReportPulled} for the period ` +\n `of ${reportHeaderEntity.displayDateRange}. One unit equals one side of a transaction (buyer or ` +\n `seller). Source data is deemed reliable but not guaranteed.`;\n } else {\n prefix =\n `Based on closed sales volume information from ${reportHeaderEntity.legalName} ` +\n `for ${DisclaimerService.formatAreaType(reportHeaderEntity.propertyType, reportHeaderEntity.areaLocalName)} in ` +\n `${DisclaimerService.formatPrice(reportHeaderEntity.priceType)} ` +\n ` ${DisclaimerService.formatPropertyType(reportHeaderEntity)} as reported on ${dateReportPulled} for the period ` +\n `of ${reportHeaderEntity.displayDateRange}, calculated by multiplying the number of buyer and/or ` +\n `seller sides by sales price. Source data is deemed reliable but not guaranteed.`;\n }\n suffix =\n '

©' +\n `${year} Sotheby's International Realty. All rights reserved. ` +\n `Sotheby’s International Realty® is a registered trademark. Each Sotheby’s International Realty office is\n independently owned and operated, except those operated by Sotheby’s International Realty, Inc. This material is\n based upon information which we consider reliable but because it has been supplied by third parties, we cannot\n represent that it is accurate or complete, and it should not be relied upon as such. If your property is listed\n with a real estate broker, please disregard. It is not our intention to solicit the offerings of other real estate\n brokers. We are happy to work with them and cooperate fully. Equal Housing Opportunity.`;\n\n return prefix + ' ' + suffix;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({providedIn: 'root'})\nexport class DownloadService {\n\n constructor(private httpClient: HttpClient) {\n }\n\n public downloadFile(imagePath: string): Observable {\n return this.httpClient.get(imagePath, {responseType: 'blob'});\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { IEmailPostBody } from '../models/IEmailData';\nimport { IPageTypes } from '../models/IPageTypes';\n\n@Injectable()\nexport class EmailService {\n private headers: HttpHeaders;\n\n constructor(private _http: HttpClient) {}\n\n sendEmail(post: IEmailPostBody, type: IPageTypes): Observable {\n let t = type ?? null;\n return this._http\n .post(`${environment.apiBaseUrl}/api/email/send${t}Report`, post, { headers: this.headers, responseType: 'text' })\n .pipe(catchError(EmailService.errorHandler));\n }\n\n private static errorHandler(error: HttpErrorResponse) {\n return of(error);\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'environments/environment';\nimport { forkJoin, Observable, of, throwError } from 'rxjs';\nimport { catchError, mergeMap, retry, take } from 'rxjs/operators';\nimport { IReportDetail } from '../models/IReportDetail';\nimport { selectUser } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { ReportDetailService } from './report-details.service';\n\n@Injectable()\nexport class EncryptService {\n private headers: HttpHeaders;\n\n constructor(private _http: HttpClient, private reportDetailService: ReportDetailService, private store: Store) {}\n\n getEncryptedValue(msUnoReportId: number, isCardLink: boolean): Observable {\n return this.store.select(selectUser).pipe(\n take(1),\n mergeMap(userClaims => {\n return this._http\n .get(\n environment.apiBaseUrl +\n '/api/encryption/getencryptedreportidvalue?reportid=' +\n msUnoReportId +\n '&isCardLink=' +\n isCardLink +\n '&oktaId=' +\n userClaims.oktaId,\n {\n headers: this.headers,\n responseType: 'text'\n }\n )\n .pipe(catchError(this.errorHandler));\n })\n );\n }\n\n getEncryptedAgentReportValue(oktaId: string, msUnoReportId: string, isCardLink: boolean): Observable {\n return this._http\n .get(\n environment.apiBaseUrl +\n '/api/encryption/getencryptedagentreportidvalue?oktaId=' +\n oktaId +\n '&reportid=' +\n msUnoReportId +\n '&isCardLink=' +\n isCardLink,\n { headers: this.headers, responseType: 'text' }\n )\n .pipe(catchError(this.errorHandler));\n }\n\n getDecryptedValue(encryptedstring: string): Observable {\n return this._http\n .get(environment.apiBaseUrl + '/api/encryption/getdecryptedvalue?data=' + encryptedstring, {\n headers: this.headers,\n responseType: 'text'\n })\n .pipe(retry(3), catchError(this.errorHandler));\n }\n\n getDecryptedReportDetails(encryptedString: string): Observable<[string, IReportDetail, string]> {\n return this.getDecryptedValue(encryptedString).pipe(\n mergeMap(decryptedValue => {\n const oktaId = decryptedValue.split('|')[0];\n const msUnoReportId = decryptedValue.split('|')[1];\n const data = {\n decryptedValue\n };\n return forkJoin([\n of(decryptedValue),\n this.reportDetailService.getReportDetails(msUnoReportId, oktaId),\n this.getEncryptedAgentReportValue(oktaId, msUnoReportId, false)\n ]);\n })\n );\n }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(() => new Error(error.message));\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ErrorService {\n error: any;\n hasError = false;\n\n constructor() {\n\n }\n\n setError(_error) {\n this.error = _error;\n this.hasError = true;\n }\n\n getError() {\n return this.error;\n }\n\n checkForError() {\n return this.hasError;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { ExportOption } from '../models/ExportOption';\nimport { ReportTypeLongStrEnum } from '../models/ReportTypes';\nimport { ThemeService } from './theme.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n constructor(private themeSvc: ThemeService) {}\n\n static trimDataAfterParenthesis = (data: string) => {\n if (data.includes('(')) {\n return data.substring(0, data.indexOf('(') - 1);\n }\n return data;\n };\n\n generatePreviewControlsArray(pageType: ReportTypeLongStrEnum): ExportOption[] {\n const isSir = this.themeSvc.isSIR();\n return [\n new ExportOption('Cover Page', 'showcover', [ReportTypeLongStrEnum.MarketTrends, ReportTypeLongStrEnum.CustomReport]),\n new ExportOption('Show Agent Info', 'showAgentInfo', ['All']),\n new ExportOption('Overview Table', 'showtable', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Average & Median Sales Prices', 'showamsp', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Sales Price / List Price Ratio', 'showsplp', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Number of Properties Sold & Absorption Rate', 'shownbrsoldar', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Average Days on Market', 'showdom', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Average Sales Price per sq. ft.', 'showspsqft', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Inventory & MSI', 'showaimsi', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('New Listings', 'shownl', [ReportTypeLongStrEnum.MarketTrends]),\n new ExportOption('Brand logo', 'showBrandLogo', [\n ReportTypeLongStrEnum.Uno,\n ReportTypeLongStrEnum.MarketPosition,\n ReportTypeLongStrEnum.MarketSnapshot\n ]),\n new ExportOption(`Display ${isSir ? 'firm' : 'competitor'}`, 'showFirmNames', [\n ReportTypeLongStrEnum.Uno,\n ReportTypeLongStrEnum.MarketPosition,\n ReportTypeLongStrEnum.MarketSnapshot\n ]),\n new ExportOption('Data table', 'showMarketPositionTable', [ReportTypeLongStrEnum.MarketPosition]),\n new ExportOption('Show Trend Lines', 'showTrendLines', [ReportTypeLongStrEnum.CustomReport])\n ]\n .filter(x => {\n // check if the option should be on a given page.\n return x.reportPagesAllowed.includes(pageType) || x.reportPagesAllowed.includes('All');\n })\n .filter(x => {\n // filter out SIR disabled options\n const disabledSirOptions = ['showAgentInfo'];\n return isSir ? !disabledSirOptions.some(disableOpt => disableOpt === x.formControlName) : true;\n });\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { Tenants } from './tenant.service';\n\ninterface FaviconsConfig {\n icons: IconsConfig;\n cacheBusting?: boolean;\n}\n\ninterface IconsConfig {\n [name: string]: IconConfig;\n}\n\ninterface IconConfig {\n type: string;\n href: string;\n isDefault?: boolean;\n}\n\nexport const BROWSER_FAVICONS_CONFIG = new InjectionToken('Favicons Configuration');\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FaviconService {\n\n readonly #elementId: string;\n readonly #icons: IconsConfig;\n readonly #useCacheBusting: boolean;\n\n constructor(@Inject(BROWSER_FAVICONS_CONFIG) config: FaviconsConfig) {\n this.#elementId = 'favicons-service-injected-node';\n this.#icons = Object.assign(Object.create(null), config.icons);\n this.#useCacheBusting = (config.cacheBusting || false);\n FaviconService.removeExternalLinkElements();\n }\n\n private static cacheBustHref(href: string): string {\n const augmentedHref = (href.indexOf('?') === -1)\n ? `${href}?faviconCacheBust=${Date.now()}`\n : `${href}&faviconCacheBust=${Date.now()}`;\n return (augmentedHref);\n\n }\n\n private static removeExternalLinkElements(): void {\n const linkElements = document.querySelectorAll('link[ rel ~= \\'icon\\' i]');\n for (const linkElement of Array.from(linkElements)) {\n linkElement.parentNode.removeChild(linkElement);\n }\n }\n\n public useFavicon(name: Tenants): void {\n this.activate(name);\n }\n\n private activate(name: string): void {\n if (!this.#icons[name]) {\n throw(new Error('Favicon for [ ' + name + ' ] not found.'));\n }\n this.setNode(this.#icons[name].type, this.#icons[name].href);\n }\n\n private addNode(type: string, href: string): void {\n const linkElement = document.createElement('link');\n linkElement.setAttribute('id', this.#elementId);\n linkElement.setAttribute('rel', 'icon');\n linkElement.setAttribute('type', type);\n linkElement.setAttribute('href', href);\n document.head.appendChild(linkElement);\n }\n\n private removeNode(): void {\n const linkElement = document.head.querySelector('#' + this.#elementId);\n if (linkElement) {\n document.head.removeChild(linkElement);\n }\n }\n\n private setNode(type: string, href: string): void {\n const augmentedHref = this.#useCacheBusting\n ? FaviconService.cacheBustHref(href)\n : href;\n\n this.removeNode();\n this.addNode(type, augmentedHref);\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'environments/environment';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { FeaturesEnum, IFeature } from '../models/IFeature';\nimport { selectFeatures } from '../store/selectors/features.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable()\nexport class FeatureService {\n private headers: HttpHeaders;\n\n constructor(private _http: HttpClient, private store: Store) {\n this.store.select(selectFeatures).subscribe(features => {\n this.features = features;\n });\n }\n\n private _features: IFeature[];\n get features(): IFeature[] {\n return this._features;\n }\n\n set features(value: IFeature[]) {\n this._features = value;\n }\n\n hasFlags(flags: FeaturesEnum) {\n if (flags === undefined || flags === null) {\n return false;\n }\n return this.features.some(f => f.featureID === flags);\n }\n\n getAllFeaturesForOktaId(oktaId: string) {\n return this._http\n .get(environment.apiBaseUrl + `/api/feature/getfeatures/?oktaid=${oktaId}`, { headers: this.headers })\n .pipe(catchError(this.errorHandler));\n }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(() => new Error(error.message));\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { select, Store } from '@ngrx/store';\nimport { DefaultMPFiltersConst, DefaultV2FiltersConst, DefaultV2FiltersEnum, FilterState, LocationEnum } from 'app/models/FilterData';\nimport { ILocationsData } from 'app/models/ILocationsData';\nimport { MarketFilters } from 'app/models/IMarketReportFilters';\nimport { environment } from 'environments/environment';\nimport { cloneDeep } from 'lodash-es';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, filter, map, retry } from 'rxjs/operators';\nimport { DefaultFilters } from '../models/IFilters';\nimport { IMlsData } from '../models/IMlsData';\nimport { FetchLocationsLoaded } from '../store/actions/locations.action';\nimport { selectLocations } from '../store/selectors/locations.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable()\nexport class FilterService {\n get locations(): ILocationsData[] {\n return this._locations;\n }\n\n set locations(value: ILocationsData[]) {\n this._locations = value;\n }\n headers: HttpHeaders;\n private _locations: ILocationsData[];\n\n constructor(private http: HttpClient, public store: Store) {\n this.store\n .select(selectLocations)\n .pipe(filter(l => l.length > 0))\n .subscribe(locations => {\n this.store.dispatch(new FetchLocationsLoaded());\n this._locations = locations;\n });\n }\n\n static getUserId() {\n const userData = JSON.parse(localStorage.getItem('userData'));\n return userData.info.oktaId;\n }\n\n getApiDefaultFilters(): Observable {\n const oktaId = FilterService.getUserId();\n\n return this.http\n .get(`${environment.apiBaseUrl}/api/User/${oktaId}/filtersettings`, { headers: this.headers })\n .pipe(\n map((filters: DefaultFilters[]) => {\n if (!filters) {\n filters = [{ filterTypeID: 0, filterValue: '', dbName: '' }];\n }\n return filters;\n })\n );\n }\n\n updateUserFilterDefaults(filters: DefaultFilters[]) {\n const oktaId = FilterService.getUserId();\n return this.http.post(`${environment.apiBaseUrl}/api/User/${oktaId}/filtersettings`, filters, {\n headers: this.headers\n });\n }\n\n getMLS(): Observable {\n const oktaId = FilterService.getUserId();\n return this.http.get(`${environment.apiBaseUrl}/api/Location/${oktaId}/getusermlses`, {\n headers: this.headers\n });\n }\n\n getLocations(id: string = ''): Observable {\n const oktaId = FilterService.getUserId();\n return this.http\n .get(`${environment.apiBaseUrl}/api/location/getlocations?mlsId=${id}&oktaId=${oktaId}`, {\n headers: this.headers\n })\n .pipe(retry(3), catchError(this.errorHandler));\n }\n\n buildFilterObject(filters: [FilterState, MarketFilters], arr: DefaultFilters[], reportType) {\n if (reportType === 0) {\n // #1 Claims saved\n arr = cloneDeep(this.buildClaimsFilterObject(filters[0], arr));\n } else if (reportType === 1) {\n // Market Position saved\n arr = cloneDeep(this.buildMPFilterObject(filters[1], arr));\n } else if (reportType === -1) {\n // clear defaults\n cloneDeep(this.buildClaimsFilterObject(filters[0], arr));\n cloneDeep(this.buildMPFilterObject(filters[1], arr));\n } else if (reportType === -2) {\n // MLS Selection Modal\n arr.push({\n filterValue: filters[0].mlsid[0],\n filterTypeID: DefaultV2FiltersEnum['mlsid'],\n dbName: ''\n });\n }\n return arr;\n }\n\n buildClaimsFilterObject(filters, arr) {\n Object.keys(filters).map(filterStr => {\n if (DefaultV2FiltersConst.indexOf(filterStr) > -1) {\n let v = Array.isArray(filters[filterStr]) ? filters[filterStr].join(';') : filters[filterStr];\n if (typeof v === 'boolean') {\n v = `${v}`;\n }\n if (typeof v === 'number') {\n v = v.toString();\n }\n arr.push({\n filterValue: v,\n filterTypeID: DefaultV2FiltersEnum[filterStr],\n dbName: ''\n });\n }\n });\n return arr;\n }\n\n buildMPFilterObject(filters, arr) {\n Object.keys(filters).map(filterStr => {\n if (DefaultMPFiltersConst.indexOf(filterStr) > -1) {\n let v = Array.isArray(filters[filterStr]) ? filters[filterStr].join(';') : filters[filterStr];\n if (typeof v === 'number') {\n v = v.toString();\n }\n if (typeof v === 'object') {\n v = Object.values(v).join(';');\n }\n\n if (filterStr === 'groupByLevel') {\n arr.push({\n filterValue: v,\n filterTypeID: DefaultV2FiltersEnum['mpGroupByLevel'],\n dbName: ''\n });\n } else if (filterStr === 'msTypeName') {\n arr.push({\n filterValue: v,\n filterTypeID: DefaultV2FiltersEnum['mpMsTypeName'],\n dbName: ''\n });\n } else if (filterStr === 'unitType') {\n arr.push({\n filterValue: v,\n filterTypeID: DefaultV2FiltersEnum['mpUnitType'],\n dbName: ''\n });\n } else {\n arr.push({\n filterValue: v,\n filterTypeID: DefaultV2FiltersEnum[filterStr],\n dbName: ''\n });\n }\n }\n });\n return arr;\n }\n\n errorHandler(error: HttpErrorResponse) {\n return throwError(() => new Error(error.message));\n }\n\n clearLocations(component: any = {}) {\n component.locations = [];\n component.counties = [];\n component.zips = [];\n component.cities = [];\n component.activeFilterList = {\n zip: [],\n city: [],\n county: []\n };\n component.claimsFilterValues.emit(component.activeFilterList);\n }\n\n autoCompleteOptionSelected(event: MatAutocompleteSelectedEvent, component: any, filters: any, type: string) {\n const location: ILocationsData = event.option.value;\n let locationList: any;\n locationList = cloneDeep(filters);\n locationList[LocationEnum[location.areaType]].push(location['areaID']);\n locationList[LocationEnum[location.areaType]] = [...new Set(locationList[LocationEnum[location.areaType]].filter(Boolean))];\n if (type === 'Claims') {\n component.claimsFilterValues.emit(locationList);\n } else if (type === 'Market') {\n component.marketFilterValues.emit(locationList);\n } else {\n component.trendsFilterValues.emit(locationList);\n }\n component.searchControl.setValue('');\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'environments/environment';\nimport { filter, mergeMap, take } from 'rxjs/operators';\nimport { GalleryImage } from '../models/GalleryImage';\nimport { ImageTypes } from '../models/ImageTypes';\nimport { FetchUserDefaultImage } from '../store/actions/userData.action';\nimport { selectUser, selectUserDataLoaded } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\n\nconst ChartTypeArr = {\n background: 'Background',\n tall: 'Tall',\n square: 'Square',\n wide: 'Wide',\n HS_Web: 'HS_Web',\n HS_FB: 'HS_FB',\n email: 'Email',\n logo: 'Logo',\n emailLogo: 'EmailLogo',\n websiteDba: 'WebsiteDBA',\n pdfDba: 'PDFDBA',\n emailDba: 'EmailDBA'\n} as const;\n\ntype ChartSize = typeof ChartTypeArr[keyof typeof ChartTypeArr];\n\n@Injectable()\nexport class GalleryService {\n private headers: HttpHeaders;\n\n constructor(private _http: HttpClient, private store: Store) {}\n\n getGalleryImages(id: string) {\n return this._http.get(`${environment.apiBaseUrl}/api/image/getGallery/${id}`, { headers: this.headers });\n }\n\n getGalleryImagesForUser(id: string) {\n return this._http.get(`${environment.apiBaseUrl}/api/image/getUsersGallery/${id}`, { headers: this.headers });\n }\n\n setDefaultImage(id: string, imageId: number) {\n return this._http.post(`${environment.apiBaseUrl}/api/User/${id}/profilesettings`, [imageId], { headers: this.headers });\n }\n\n selectImageByType(images: GalleryImage[], size: ChartSize) {\n const i = size.toLowerCase();\n return images.find(image => image.imageSize.toLowerCase() === ImageTypes[i].toLowerCase());\n }\n\n fetchUserGallery() {\n return this.store\n .select(selectUserDataLoaded)\n .pipe(\n filter(v => v),\n mergeMap(() => {\n return this.store.select(selectUser);\n }),\n take(1)\n )\n .subscribe(user => {\n this.store.dispatch(new FetchUserDefaultImage());\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { selectBrandCode } from 'app/store/selectors/applicationData.selector';\nimport { format } from 'date-fns';\nimport { filter, take } from 'rxjs/operators';\nimport { FilterData, LocationEnum } from '../models/FilterData';\nimport { MarketFilters, MarketFiltersV2PropertyTypeEnum, marketFiltersV2PropertyValueEnum } from '../models/IMarketReportFilters';\nimport { IMarketSnapshotFormGroup } from '../models/IMarketSnapshotFormGroup';\nimport { TrendsFilters } from '../models/IMarketTrendsFilters';\nimport { ITrendsOptions } from '../models/ITrendsOptions';\nimport { TrendDataFormatAltTypes } from '../models/ITrendsTableData';\nimport { IWootric } from '../models/IWootric';\nimport { selectTrendsPdfOptions } from '../store/selectors/market-trends.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { DataLayerObjectService } from './data-layer.service';\nimport { MarketPositionService } from './market-position.service';\nimport { MarketSnapshotService } from './market-snapshot.service';\nimport { MarketTrendsService } from './market-trends.service';\nimport { ReportService } from './report.service';\nimport { UserDataService } from './userData.service';\nimport { selectpersonMasterId, selectagentMasterId } from 'app/store/selectors/userData.selector';\n\n@Injectable()\nexport class GTMService {\n brandCode = '';\n personMasterId = '';\n agentMasterId = '';\n\n constructor(\n private dataLayerObject: DataLayerObjectService,\n private reportService: ReportService,\n private marketService: MarketPositionService,\n private trendsService: MarketTrendsService,\n private snapshotService: MarketSnapshotService,\n private userDataService: UserDataService,\n private store: Store\n ) {\n this.store\n .select(selectBrandCode)\n .pipe(filter(v => !!v))\n .subscribe(brandCode => {\n this.brandCode = brandCode;\n });\n this.store\n .select(selectpersonMasterId)\n .pipe(filter(v => !!v))\n .subscribe(personId => {\n this.personMasterId = personId;\n });\n this.store\n .select(selectagentMasterId)\n .pipe(filter(v => !!v))\n .subscribe(agentMDM => {\n this.agentMasterId = agentMDM;\n });\n }\n\n private static pushGTMEvent(eventName: string, data: any, brandCode = '', businessUnit, personMasterId: string, agentMasterId: string) {\n (window as any).dataLayer.push({\n event: eventName,\n action: eventName,\n brand: brandCode,\n businessUnit: businessUnit,\n ['content-name']: eventName,\n personMasterId: personMasterId,\n agentMasterId: agentMasterId,\n ...data\n });\n }\n\n private static generateReportFilterObj(filterData: MarketFilters) {\n return {\n county: Math.min(filterData.county.length, 9),\n city: Math.min(filterData.city.length, 9),\n zipCode: Math.min(filterData.zip.length, 9),\n mlsArea: Math.min(filterData.mlsArea.length, 9),\n schoolDistrict: Math.min(filterData.schoolDistrict.length, 9),\n subDivision: Math.min(filterData.subDivision.length, 9)\n };\n }\n\n updateCustomSet(customSet: IWootric) {\n this.dataLayerObject.customSet = customSet;\n this.dataLayerObject.trigger();\n }\n\n trendsExportSuccess(options: ITrendsOptions) {\n function chartType(val) {\n switch (val) {\n case 0: {\n return 'arrow';\n }\n case 1: {\n return 'percentage';\n }\n case 2: {\n return 'numeric';\n }\n\n default: {\n return '';\n }\n }\n }\n\n (window as any).dataLayer.push({\n event: 'marketTrendsExportReport',\n action: 'marketTrendsExportReport ',\n ['content-name']: 'marketTrendsExportReport',\n brand: this.brandCode,\n businessUnit: this.userDataService.getBusinessUnit(),\n marketTrendsExportReport: {\n overview: options.showtable,\n averageMedianSP: options.showamsp,\n ratioSPLP: options.showsplp,\n propertiesSold: options.shownbrsoldar,\n averageDOM: options.showdom,\n averageSPSQFT: options.showspsqft,\n inventory: options.showaimsi,\n newListings: options.shownl,\n orientation: options.islandscape ? 'landscape' : 'portrait',\n statsIcon: chartType(options.chartdatatype)\n }\n });\n }\n\n generateTrendsExportGTM(filterData: TrendsFilters, trendsOption: ITrendsOptions) {\n const locationFilters = GTMService.generateReportFilterObj(filterData);\n const propTypes = this.setupPropertyTypesArray(filterData.propertyType as number[]);\n const reportFilters = {\n propertyType: propTypes || 'none',\n priceRange: [filterData.priceMin, filterData.priceMax],\n timePeriod: filterData.endDate\n };\n const allTrue = Object.keys(trendsOption)\n .filter(key => key.includes('show'))\n .every(v => !!trendsOption[v]);\n const sectionFilters = {\n allSection: allTrue,\n overview: trendsOption.showtable,\n averageMedianSP: trendsOption.showamsp,\n ratioSPLP: trendsOption.showsplp,\n propertiesSold: trendsOption.shownbrsoldar,\n averageDOM: trendsOption.showdom,\n averageSPSQFT: trendsOption.showspsqft,\n inventory: trendsOption.showaimsi,\n newListings: trendsOption.shownl,\n orientation: trendsOption.islandscape ? 'landscape' : 'portrait',\n statsIcon: TrendDataFormatAltTypes[trendsOption.chartdatatype || 0]\n };\n return { locationFilters, reportFilters, sectionFilters };\n }\n\n generateTrendsGTM(filterData: TrendsFilters) {\n const locationFilters = GTMService.generateReportFilterObj(filterData);\n const propTypes = this.setupPropertyTypesArray(filterData.propertyType as number[]);\n const reportFilters = {\n propertyType: propTypes || 'none',\n priceRange: [filterData.priceMin, filterData.priceMax],\n timePeriod: filterData.endDate\n };\n return { locationFilters, reportFilters };\n }\n\n generateMarketGTM(filterData: MarketFilters) {\n const locationFilters = GTMService.generateReportFilterObj(filterData);\n const propTypes = this.setupPropertyTypesArray(filterData.propertyType);\n const reportFilters = {\n propertyType: propTypes || 'none',\n priceRange: [filterData.priceMin, filterData.priceMax],\n dateRange: filterData.dateRange,\n transactionSide: filterData.msTypeName[0] || 'none',\n salesType: filterData.unitType[0] || 'none',\n groupBy: filterData.groupByLevel[0] || 'none'\n };\n return { locationFilters, reportFilters };\n }\n\n generateClaimsGTM(filterData: FilterData) {\n const locationFilters = {\n county: Math.min(filterData.state.county.length, 9),\n city: Math.min(filterData.state.city.length, 9),\n zipCode: Math.min(filterData.state.zip.length, 9)\n };\n const reportFilters = {\n transactionType: filterData.state.msTypeName[0] || 'none',\n salesType: filterData.state.unitType[0] || 'none',\n timePeriod: filterData.state.timeFrame[0] || 'none',\n groupBy: filterData.state.groupByLevel[0] || 'none',\n millionPriceFilter: `${filterData.state.priceType}`\n };\n return { locationFilters, reportFilters };\n }\n\n generateSnapshotGTM(filterData: IMarketSnapshotFormGroup) {\n const locationFilters = {\n mlsArea: 0,\n county: 0,\n city: 0,\n zipCode: 0,\n schoolDistrict: 0,\n subDivision: 0\n };\n\n if (filterData?.locationFilters) {\n if (filterData.locationFilters['areaType']) {\n locationFilters[LocationEnum[filterData.locationFilters['areaType']]] = 1;\n } else if (filterData.locationFilters.length > 0) {\n filterData.locationFilters.forEach(locationFilter => {\n locationFilters[LocationEnum[locationFilter.areaType]] = 1;\n });\n }\n }\n\n const propTypes = this.setupPropertyTypesArray(filterData?.report?.propType);\n const reportFilters = {\n propertyType: propTypes || 'none',\n timePeriod: format(filterData?.report?.dateRangeMulti?.endDate || new Date(), 'MM/yyyy'),\n priceRangeFilter: [filterData?.report?.priceRange?.minPrice || 'none', filterData?.report?.priceRange?.maxPrice || 'none']\n };\n return { locationFilters, reportFilters };\n }\n\n claimsGTM(eventName: string) {\n GTMService.pushGTMEvent(\n eventName,\n this.generateClaimsGTM(this.reportService.filters$),\n this.brandCode,\n this.userDataService.getBusinessUnit(),\n this.personMasterId,\n this.agentMasterId\n );\n }\n\n marketGTM(eventName: string) {\n GTMService.pushGTMEvent(\n eventName,\n this.generateMarketGTM(this.marketService.filters),\n this.brandCode,\n this.userDataService.getBusinessUnit(),\n this.personMasterId,\n this.agentMasterId\n );\n }\n\n trendsGTM(eventName: string) {\n GTMService.pushGTMEvent(\n eventName,\n this.generateTrendsGTM(this.trendsService.filters),\n this.brandCode,\n this.userDataService.getBusinessUnit(),\n this.personMasterId,\n this.agentMasterId\n );\n }\n\n snapshotGTM(eventName: string) {\n GTMService.pushGTMEvent(\n eventName,\n this.generateSnapshotGTM(this.snapshotService.filters),\n this.brandCode,\n this.userDataService.getBusinessUnit(),\n this.personMasterId,\n this.agentMasterId\n );\n }\n\n trendsExportGTM(eventName: string) {\n this.store\n .select(selectTrendsPdfOptions)\n .pipe(take(1))\n .subscribe(data => {\n GTMService.pushGTMEvent(\n eventName,\n this.generateTrendsExportGTM(this.trendsService.filters, data),\n this.brandCode,\n this.userDataService.getBusinessUnit(),\n this.personMasterId,\n this.agentMasterId\n );\n });\n }\n\n private setupPropertyTypesArray(filterData: number[]) {\n const propTypes = [];\n (filterData || []).map(propNumberValue => {\n const propValue = typeof propNumberValue === 'string' ? Number.parseInt(propNumberValue, 10) : propNumberValue;\n propTypes.push(\n MarketFiltersV2PropertyTypeEnum[\n Object.keys(marketFiltersV2PropertyValueEnum).find(key => marketFiltersV2PropertyValueEnum[key] === propValue)\n ]\n );\n });\n\n return propTypes;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MqOktaAuthService } from '../mq-okta-auth.service';\nimport { Tenants } from '../tenant.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CbLoginService {\n constructor(private auth: MqOktaAuthService) {\n }\n login() {\n return this.auth.login(Tenants.realogy);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TenantService } from '../tenant.service';\nimport { CbLoginService } from './cb-login.service';\nimport { getLoginService, LoginService } from './login.service';\nimport { SirLoginService } from './sir-login.service';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ],\n providers: [\n {\n provide: LoginService,\n useFactory: getLoginService,\n deps: [TenantService, CbLoginService, SirLoginService]\n }\n ]\n})\nexport class LoginModule { }\n","import { Injectable } from '@angular/core';\nimport { Tenants, TenantService } from '../tenant.service';\nimport { CbLoginService } from './cb-login.service';\nimport { SirLoginService } from './sir-login.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport abstract class LoginService {\n protected constructor() { }\n abstract login();\n}\n\nexport function getLoginService(\n tenantService: TenantService,\n cbLoginService: CbLoginService,\n sirLoginService: SirLoginService\n): LoginService {\n if (tenantService.getTenant() === Tenants.realogy) {\n return cbLoginService;\n } else if (tenantService.getTenant() === Tenants.sothebysrealty) {\n return sirLoginService;\n }\n\n throw new Error('Unknown tenant for login service');\n}\n","import { Injectable } from '@angular/core';\nimport { MqOktaAuthService } from '../mq-okta-auth.service';\nimport { Tenants } from '../tenant.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SirLoginService {\n constructor(private auth: MqOktaAuthService) {\n }\n login() {\n return this.auth.login(Tenants.sothebysrealty);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MarketClaimsService {\n private _claimsFormGroup;\n\n get claimsFormGroup() {\n return this._claimsFormGroup;\n }\n\n set claimsFormGroup(value) {\n this._claimsFormGroup = value;\n }\n\n constructor() {}\n\n saveClaimsFilterSession(value: unknown) {\n this.claimsFormGroup = value;\n }\n\n restoreClaimsFilterSession() {\n return this.claimsFormGroup;\n }\n\n resetClaimsFilterSession() {\n this.claimsFormGroup = null;\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { FiltersV2Enum } from 'app/models/FilterData';\nimport { IMarketPositionData } from 'app/models/IMarketPositionData';\nimport { MarketFilters } from 'app/models/IMarketReportFilters';\nimport { selectUser } from 'app/store/selectors/userData.selector';\nimport { environment } from 'environments/environment';\nimport { cloneDeep, isEqual } from 'lodash-es';\nimport { throwError } from 'rxjs';\nimport { catchError, distinctUntilChanged } from 'rxjs/operators';\nimport { ILocationsData } from '../models/ILocationsData';\nimport { IMarketReportDate } from '../models/IMarketReportDate';\nimport { selectMarketReportFilters } from '../store/selectors/market-position.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable()\nexport class MarketPositionService {\n private headers: HttpHeaders;\n private locationKeys: string[] = [\n FiltersV2Enum.city,\n FiltersV2Enum.county,\n FiltersV2Enum.zip,\n FiltersV2Enum.mlsArea,\n FiltersV2Enum.schoolDistrict,\n FiltersV2Enum.subDivision\n ];\n oktaId = '';\n\n constructor(private _http: HttpClient, @Inject('BASE_URL') baseUrl: string, private store: Store) {\n this.store\n .select(selectMarketReportFilters)\n .pipe(distinctUntilChanged((value1, value2) => isEqual(value1, value2)))\n .subscribe(d => {\n this.filters = cloneDeep(d);\n });\n\n this.store.select(selectUser).subscribe(user => {\n this.oktaId = user?.oktaId || '';\n });\n }\n\n private _filters: MarketFilters;\n\n get filters(): MarketFilters {\n return this._filters;\n }\n\n set filters(value: MarketFilters) {\n this._filters = value;\n }\n\n getMarketLocations(id: string) {\n return this._http.get(`${environment.apiBaseUrl}/api/Location/GetLocationsMarket?mlsId=${id}&oktaId=${this.oktaId}`);\n }\n\n getAllDateRanges() {\n return this._http.get(environment.apiBaseUrl + '/api/Report/GetMPDateRange');\n }\n\n getEndDateRange() {\n return this._http.get(environment.apiBaseUrl + '/api/Report/GetMPEndDate', { responseType: 'text' });\n }\n\n getMarketPositionDataById(reportId: string, oktaId: string) {\n return this._http.get(`${environment.apiBaseUrl}/api/Report/getmpreport/${reportId}?oktaId=${oktaId}`);\n }\n\n getMarketReportData(mlsId: string, marketFilters: MarketFilters) {\n const formattedMarketFilters = cloneDeep(marketFilters);\n Object.entries(marketFilters).map((filter, value) => {\n if (Object.values(this.locationKeys).includes(filter[0])) {\n formattedMarketFilters[filter[0]] = cloneDeep(marketFilters[filter[0]].map(String));\n }\n });\n\n formattedMarketFilters.propertyType = cloneDeep(marketFilters.propertyType?.map(String));\n this.filters = formattedMarketFilters;\n return this._http\n .post(`${environment.apiBaseUrl}/api/Report/${mlsId}/postmpreport`, formattedMarketFilters, {\n headers: this.headers\n })\n .pipe(\n catchError(error => {\n return throwError(error);\n })\n );\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { ISnapshotDataPointData } from 'app/models/ISnapshotDatapoint.model';\nimport { format, subMonths, subYears } from 'date-fns';\nimport { environment } from 'environments/environment';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { map, mergeMap, switchMap, take } from 'rxjs/operators';\nimport { MailModalComponent } from '../components/modals/mail-modal/mail-modal.component';\nimport { LocationEnum } from '../models/FilterData';\nimport { IMarketSnapshotData } from '../models/IMarketSnapshotData';\nimport { IMarketSnapshotBody, IMarketSnapshotFormGroup } from '../models/IMarketSnapshotFormGroup';\nimport { selectSnapshotData } from '../store/selectors/market-snapshot.selector';\nimport { selectCurrentMLS } from '../store/selectors/mls.selector';\nimport { selectOktaId, selectUser } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MarketSnapshotService {\n private isDesktop: boolean;\n oktaId = '';\n\n constructor(\n private http: HttpClient,\n private store: Store,\n private fileSaver: FileSaverService,\n private dialog: MatDialog,\n private breakpointObserver: BreakpointObserver\n ) {\n this.breakpointObserver.observe('(min-width: 576px)').subscribe(size => {\n this.isDesktop = size.matches;\n });\n\n this.store.select(selectUser).subscribe(user => {\n this.oktaId = user?.oktaId || '';\n });\n }\n\n private _snapshotFormGroup;\n\n get snapshotFormGroup() {\n return this._snapshotFormGroup;\n }\n\n set snapshotFormGroup(value) {\n this._snapshotFormGroup = value;\n }\n\n private _filters: IMarketSnapshotFormGroup;\n\n get filters(): IMarketSnapshotFormGroup {\n return this._filters;\n }\n\n set filters(value: IMarketSnapshotFormGroup) {\n this._filters = value;\n }\n\n private _snapshotId: string;\n\n get snapshotId(): string {\n return this._snapshotId;\n }\n\n set snapshotId(value: string) {\n this._snapshotId = value;\n }\n\n generateDisclaimer(data: IMarketSnapshotData) {\n const longDateStart = format(new Date(data.snapshotHeader.selectedStartDate), 'MMM dd, yyyy');\n const longDateEnd = format(new Date(data.snapshotHeader.selectedEndDate), 'MMM dd, yyyy');\n const shortDateEnd = format(new Date(data.snapshotHeader.selectedEndDate), 'MMM yyyy');\n const longDateStartYearPrior = format(subYears(new Date(data.snapshotHeader.selectedStartDate), 1), 'MMM dd, yyyy');\n const longDateEndYearPrior = format(subYears(new Date(data.snapshotHeader.selectedEndDate), 1), 'MMM dd, yyyy');\n const date3MonthsPrior = format(subMonths(new Date(data.snapshotHeader.selectedEndDate), 3), 'MMM yyyy');\n const footerDate = data.snapshotHeader.isMulti ? `${longDateStart} - ${longDateEnd}` : `${date3MonthsPrior} - ${shortDateEnd}`;\n const stats = data.snapshotHeader.isMulti\n ? `${longDateStart} - ${longDateEnd} stats are compared to ${longDateStartYearPrior} - ${longDateEndYearPrior} average`\n : `${shortDateEnd} stats are compared to previous 3 months' average`;\n return (\n `Based on information from ${data.snapshotHeader.legalName} for ` +\n `${data.snapshotHeader.propertyType} in the price range ${data.snapshotHeader.priceRange} for the period ` +\n `${footerDate}. ${stats}.` +\n ` Source data is deemed reliable but not guaranteed.`\n );\n }\n\n generateSnapshotPostData(data: IMarketSnapshotFormGroup) {\n this.filters = data;\n const userData = this.store.select(selectUser);\n const mlsId = this.store.select(selectCurrentMLS);\n const priceMax = data?.report.priceRange?.maxPrice || 999999999;\n const priceMin = data?.report.priceRange?.minPrice || 0;\n\n return combineLatest([userData, mlsId]).pipe(\n take(1),\n map(([user, mls]) => {\n const isCustom = data.report.dateRangeMulti.isCustom;\n const endDate = isCustom ? data.report.dateRangeMulti.endDate : data.report.dateRangeMulti.monthlyEndDate;\n const customDateFormat = isCustom ? 'MM/dd/yyyy' : 'MM/yyyy';\n const isReo = data.report.isReo;\n let postData: IMarketSnapshotBody = {\n city: [],\n county: [],\n isCustom,\n isReo,\n startDate: format(data.report.dateRangeMulti.startDate || new Date(), 'MM/dd/yyyy'),\n endDate: format(endDate || new Date(), customDateFormat),\n mlsArea: [],\n mlsid: [mls.mlsId],\n priceMax: parseInt(priceMax.toString()?.replace(/[^0-9.]*/g, ''), 10) || 999999999,\n priceMin: parseInt(priceMin.toString()?.replace(/[^0-9.]*/g, ''), 10) || 0,\n propertyType: data.report.propType,\n schoolDistrict: [],\n subDivision: [],\n oktaId: user.oktaId,\n zip: []\n };\n\n if (data.locationFilters && data.locationFilters[0]) {\n postData[LocationEnum[data.locationFilters[0].areaType]].push(data.locationFilters[0].areaID.toString());\n }\n\n return { mls, postData, data };\n })\n );\n }\n\n fetchMarketSnapshot(data: IMarketSnapshotBody, mlsId: string) {\n this.resetSnapshotIdCache();\n return this.http.post(`${environment.apiBaseUrl}/api/Report/${mlsId}/postsnapshot`, data);\n }\n\n fetchMarketSnapshotAsset(type: 'tall' | 'wide' | 'square' | 'postcard', body: IMarketSnapshotData) {\n let id = '';\n return this.store.select(selectOktaId).pipe(\n switchMap(usrId => {\n id = usrId;\n return this.checkSnapshotIdCache() ? of(this.snapshotId) : this.postSnapshotToDb(id, body);\n }),\n switchMap(string => {\n this.snapshotId = string;\n\n return this.http.get(`${environment.apiBaseUrl}/api/export/GetSnapshotAsset/${string}?oktaId=${id}&asset=${type}`, {\n responseType: 'blob'\n });\n }),\n mergeMap(file => {\n const extension = type === 'postcard' ? '.pdf' : '.jpg';\n const fileName =\n `Snapshot-${body.snapshotHeader.areaLocalName.replace(', ', '-')}` + `${body.snapshotHeader.displayDateRange}-${type}`;\n this.fileSaver.save(file, `${fileName}${extension}`);\n\n return of(false);\n })\n );\n }\n\n resetSnapshotIdCache(): void {\n this.snapshotId = null;\n }\n\n checkSnapshotIdCache() {\n return !!this.snapshotId;\n }\n\n postSnapshotToDb(oktaId: string, body: IMarketSnapshotData) {\n return this.http.post(`${environment.apiBaseUrl}/api/Report/${oktaId}/postsnapshottodb`, body, {\n responseType: 'text'\n });\n }\n\n sendSnapshot() {\n let usr = null;\n combineLatest([this.store.select(selectSnapshotData), this.store.select(selectUser)])\n .pipe(\n take(1),\n mergeMap(([snapshot, user]) => {\n usr = user;\n if (this.checkSnapshotIdCache()) {\n return of(this.snapshotId);\n } else {\n return this.postSnapshotToDb(user.oktaId, snapshot);\n }\n })\n )\n .subscribe(idStr => {\n this.snapshotId = idStr;\n const d = {\n firstEmail: usr.email,\n reportid: this.snapshotId,\n secondEmail: '',\n senderEmail: usr.email,\n senderName: usr.name,\n thirdEmail: '',\n oktaId: usr.oktaId,\n isSnapshot: true,\n type: 'snapshot'\n };\n this.dialog.open(MailModalComponent, {\n data: d,\n width: this.isDesktop ? '450px' : '100vw',\n maxWidth: this.isDesktop ? '90vw' : 'none',\n height: this.isDesktop ? 'auto' : '100vh'\n });\n });\n }\n\n saveSnapshotFilterSession(value: unknown) {\n this.snapshotFormGroup = value;\n }\n\n restoreSnapshotFilterSession() {\n return this.snapshotFormGroup;\n }\n\n resetSnapshotFilterSession() {\n this.snapshotFormGroup = null;\n }\n\n getSnapshotDataPoints(): Observable {\n return this.http.get(`${environment.apiBaseUrl}/api/report/${this.oktaId}/SnapshotDataPoints`);\n }\n\n saveSnapshotDataPoints(dataPoints: ISnapshotDataPointData): Observable {\n return this.http.post(`${environment.apiBaseUrl}/api/report/${this.oktaId}/postsnapshotdatapoints`, dataPoints);\n }\n}\n","import { DecimalPipe } from '@angular/common';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { format, sub } from 'date-fns';\nimport { environment } from 'environments/environment';\nimport { cloneDeep, merge, uniq } from 'lodash-es';\nimport { throwError } from 'rxjs';\nimport { catchError, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { FiltersV2Enum } from '../models/FilterData';\nimport { IMarketTrendsData } from '../models/IMarketTrendsData';\nimport { TrendsFilters } from '../models/IMarketTrendsFilters';\nimport { ISyncFusion } from '../models/ISyncFusion';\nimport { ITrendsOptions } from '../models/ITrendsOptions';\nimport {\n CardTypesEnum,\n FormatTypes,\n ITrendsTableData,\n TableAdjustableDataColumns,\n TableStaticDataColumns,\n TrendCardTypeEnumShortHand,\n TrendDataFormatTypes,\n TrendDataTypeEnum,\n TrendDataTypeEnumShortHand\n} from '../models/ITrendsTableData';\nimport { MarketTrendsChartConfiguration, TrendsChartStyles, TrendsChartStylesEnum } from '../models/MarketTrendsChartConfiguration';\nimport { selectTrendsReportFilters } from '../store/selectors/market-trends.selector';\nimport { selectOktaId } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { ThemeService } from './theme.service';\n\nexport interface TableHeaderColumn {\n name: string;\n tooltip: string;\n}\n\n@Injectable()\nexport class MarketTrendsService {\n [TrendsChartStylesEnum.Column]: ISyncFusion = {};\n base: ISyncFusion = {\n title: '',\n chartArea: {\n opacity: 0,\n border: {\n width: 0\n }\n },\n cornerRadius: {\n topRight: 2,\n topLeft: 2\n },\n marker: {\n dataLabel: {\n labelIntersectAction: 'None',\n visible: false,\n border: {\n width: 1\n },\n position: 'Top',\n angle: -90,\n enableRotation: true,\n font: {\n fontFamily: 'Roboto'\n }\n }\n },\n primaryXAxis: {\n valueType: 'Category',\n labelIntersectAction: 'None',\n labelStyle: {\n fontFamily: 'Roboto Condensed, Arial, sans-serif',\n color: '#727476',\n size: '12',\n textOverflow: 'Trim'\n },\n maximumLabels: 36,\n lineStyle: {\n color: '#E9E9E9',\n width: 1\n },\n majorGridLines: {\n width: 0\n },\n majorTickLines: {\n width: 0\n }\n },\n primaryYAxis: {\n labelStyle: {\n fontFamily: 'Roboto Condensed, Arial, sans-serif',\n color: '#727476',\n size: '12',\n textOverflow: 'None'\n },\n lineStyle: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n majorGridLines: {\n color: '#E9E9E9',\n width: 1\n }\n },\n legend: {\n position: 'Bottom',\n shapeHeight: 4,\n shapeWidth: 29,\n opacity: 1,\n alignment: 'Center',\n toggleVisibility: false,\n textStyle: {\n fontFamily: 'Roboto Condensed, Arial, sans-serif',\n size: '12',\n color: '#727476'\n }\n },\n tooltip: {\n enable: true,\n fill: '#727476',\n opacity: 1,\n textStyle: {\n color: '#fff',\n size: '12',\n fontFamily: 'Roboto'\n },\n enableMarker: false,\n header: '',\n format: '${point.y}
${point.x}
'\n },\n palette: ['#BCD2FF']\n };\n [TrendsChartStylesEnum.Spline]: ISyncFusion = {\n marker: {\n visible: true,\n dataLabel: {\n visible: false\n }\n },\n primaryYAxis: {\n rangePadding: 'Round'\n },\n palette: ['#1F69FF', '#00B4BD']\n };\n [TrendsChartStylesEnum.StackingColumn]: ISyncFusion = {\n palette: ['#6296FF', '#8FB4FF', '#BCD2FF']\n };\n [TrendsChartStylesEnum.Line]: ISyncFusion = {\n palette: ['#00B4BD', '#BCD2FF']\n };\n [TrendsChartStylesEnum.ColumnLine]: ISyncFusion = {\n palette: ['#BCD2FF', '#00B4BD']\n };\n [TrendsChartStylesEnum.Custom]: ISyncFusion = {\n palette: ['#00B4BD', '#8FB4FF', '#BCD2FF']\n };\n private headers: HttpHeaders;\n private locationKeys: string[] = [\n FiltersV2Enum.city,\n FiltersV2Enum.county,\n FiltersV2Enum.zip,\n FiltersV2Enum.mlsArea,\n FiltersV2Enum.schoolDistrict,\n FiltersV2Enum.subDivision\n ];\n\n constructor(\n private _http: HttpClient,\n private decimalPipe: DecimalPipe,\n private store: Store,\n private themeService: ThemeService\n ) {\n this.marketTrendsChartConfiguration = MarketTrendsService.createChartDataSetConfiguration();\n\n this.store.select(selectTrendsReportFilters).subscribe(data => {\n this.filters = cloneDeep(data);\n });\n }\n\n private _trendsFormGroup: any;\n\n get trendsFormGroup(): any {\n return this._trendsFormGroup;\n }\n\n set trendsFormGroup(value: any) {\n this._trendsFormGroup = value;\n }\n\n private _filters: TrendsFilters;\n\n get filters(): TrendsFilters {\n return this._filters;\n }\n\n set filters(value: TrendsFilters) {\n this._filters = value;\n }\n\n private _tableHeaderColumns: TableHeaderColumn[];\n\n get tableHeaderColumns(): TableHeaderColumn[] {\n return this._tableHeaderColumns;\n }\n\n set tableHeaderColumns(val: TableHeaderColumn[]) {\n this._tableHeaderColumns = val;\n }\n\n private _marketTrendsChartConfiguration: MarketTrendsChartConfiguration[];\n\n get marketTrendsChartConfiguration(): MarketTrendsChartConfiguration[] {\n return this._marketTrendsChartConfiguration;\n }\n\n set marketTrendsChartConfiguration(val: MarketTrendsChartConfiguration[]) {\n this._marketTrendsChartConfiguration = val;\n }\n\n static getDataAffix(num: number) {\n switch (num) {\n case 0: {\n return '_arrow';\n }\n\n case 1: {\n return '_percent';\n }\n\n case 2: {\n return '';\n }\n\n default: {\n return '';\n }\n }\n }\n\n static randomId() {\n return Math.random()\n .toString(36)\n .replace(/[^a-z]+/g, '')\n .substring(2, 10);\n }\n\n createCustomChartConfiguration(label: string, dataTypes: TrendDataTypeEnumShortHand[], chartTypes: TrendsChartStyles[], shortHand: any) {\n return new MarketTrendsChartConfiguration(label, dataTypes, chartTypes, shortHand, true);\n }\n\n private static createChartDataSetConfiguration() {\n const i: MarketTrendsChartConfiguration[] = [];\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Average & Median Sales Price'],\n [TrendDataTypeEnumShortHand.asp, TrendDataTypeEnumShortHand.msp],\n ['Spline', 'Spline'],\n TrendCardTypeEnumShortHand.amsp\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Sales Price / List Price Ratio'],\n [TrendDataTypeEnumShortHand.splp],\n ['Spline'],\n TrendCardTypeEnumShortHand.splp\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Number of Properties Sold & Absorption Rate'],\n [TrendDataTypeEnumShortHand.solds, TrendDataTypeEnumShortHand.ar],\n ['Column', 'Line'],\n TrendCardTypeEnumShortHand.nbrsoldar\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Average Days on Market'],\n [TrendDataTypeEnumShortHand.dom],\n ['Column'],\n TrendCardTypeEnumShortHand.dom\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Average Sales Price per Square Foot'],\n [TrendDataTypeEnumShortHand.sppersf],\n ['Spline'],\n TrendCardTypeEnumShortHand.spsqft\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['Inventory & MSI'],\n [TrendDataTypeEnumShortHand.ai, TrendDataTypeEnumShortHand.msi],\n ['Column', 'Line'],\n TrendCardTypeEnumShortHand.aimsi\n )\n );\n i.push(\n new MarketTrendsChartConfiguration(\n CardTypesEnum['New Listings'],\n [TrendDataTypeEnumShortHand.nl],\n ['Column'],\n TrendCardTypeEnumShortHand.nl\n )\n );\n return i;\n }\n\n formatTrendsTableArray(trendsData: ITrendsTableData[], type: number) {\n const arrOrder = [\n TrendDataTypeEnum.alp,\n TrendDataTypeEnum.mlp,\n TrendDataTypeEnum.asp,\n TrendDataTypeEnum.msp,\n TrendDataTypeEnum.splp,\n TrendDataTypeEnum.solds,\n TrendDataTypeEnum.dom,\n TrendDataTypeEnum.sppersf,\n TrendDataTypeEnum.ai,\n TrendDataTypeEnum.msi,\n TrendDataTypeEnum.nl,\n TrendDataTypeEnum.ar\n ];\n const outArr: ITrendsTableData[] = [];\n const affix = MarketTrendsService.getDataAffix(type);\n trendsData.forEach(dataPoint => {\n const out: ITrendsTableData = { cm: 0, cmly: 0, datatype: '', l3m: 0, lm: 0, ytd: 0, formattype: undefined };\n out.formattype = FormatTypes[TrendDataTypeEnum[dataPoint.datatype.toLowerCase()]];\n out.datatype = TrendDataTypeEnum[dataPoint.datatype.toLowerCase()];\n TableStaticDataColumns.map(col => {\n out[col] = dataPoint[col];\n });\n TableAdjustableDataColumns.map(col => {\n out[col] = dataPoint[col + affix];\n });\n outArr.push(out);\n });\n\n function arrSort(target, sortArr) {\n const arr = target as ITrendsTableData[];\n const indices: string[] = Object.values(sortArr);\n\n return indices.map(function(key) {\n return arr.find((i: ITrendsTableData) => i.datatype === key) || null;\n });\n }\n\n return !!outArr.length ? arrSort(outArr, arrOrder).filter(v => !!v) : [];\n }\n\n formatByType(val: string | number, type: TrendDataFormatTypes) {\n switch (type) {\n case TrendDataFormatTypes.Dollar: {\n return `$ ${this.decimalPipe.transform(val, '1.0-0')}`;\n }\n\n case TrendDataFormatTypes.Percent: {\n return `${val}%`;\n }\n\n case TrendDataFormatTypes.Numeric: {\n return `${this.decimalPipe.transform(val, '1.0-0')}`;\n }\n\n default: {\n return val;\n }\n }\n }\n\n getMarketTrendsData(trendsFilters: TrendsFilters, mlsId: string) {\n const formattedTrendsFilters = cloneDeep(trendsFilters);\n Object.entries(trendsFilters).map(filter => {\n if (Object.values(this.locationKeys).includes(filter[0])) {\n formattedTrendsFilters[filter[0]] = cloneDeep(trendsFilters[filter[0]].map(String));\n }\n });\n\n formattedTrendsFilters.propertyType = cloneDeep(((trendsFilters.propertyType as number[]) || []).map(String));\n formattedTrendsFilters.endDate = cloneDeep(trendsFilters.endDate);\n return this._http\n .post(`${environment.apiBaseUrl}/api/Report/${mlsId}/postmtreport`, formattedTrendsFilters, {\n headers: this.headers\n })\n .pipe(\n catchError(error => {\n return throwError(error);\n })\n );\n }\n\n getMarketTrendsDataById(oktaId: string, trendsId: string) {\n return this._http.get(`${environment.apiBaseUrl}/api/Report/GetMTReport/${trendsId}?oktaId=${oktaId}`, {\n headers: this.headers\n });\n }\n\n getTrendsConfig(type: TrendsChartStyles[], isCustom = false) {\n let t = uniq(type);\n this.setPalettes(t.length > 1 ? TrendsChartStylesEnum.ColumnLine : t[0]);\n\n if (isCustom) {\n t = [TrendsChartStylesEnum.Custom];\n } else if (t.length > 1) {\n t = [TrendsChartStylesEnum.ColumnLine];\n }\n const base = cloneDeep(this.base);\n const override = cloneDeep(this[t[0]]);\n return merge(base, override);\n }\n\n generateTableHeaders(value: string) {\n const d = new Date(value);\n const displayMonthShort = format(d, 'MMM');\n const displayLastYear = format(sub(d, { years: 1 }), 'yyyy');\n const displayLastMonth = format(sub(d, { months: 1 }), 'MMMM');\n const displayL3mShortStart = format(sub(d, { months: 3 }), 'MMM');\n const displayL3mShortEnd = format(sub(d, { months: 1 }), 'MMM');\n\n this.tableHeaderColumns = [\n {\n name: 'Overview',\n tooltip: ''\n },\n {\n name: `YTD`,\n tooltip: ''\n },\n {\n name: `${format(d, 'MMMM')}`,\n tooltip: ''\n },\n {\n name: `${displayLastMonth}`,\n tooltip: 'Last Month'\n },\n {\n name: `Avg. ${displayL3mShortStart}. - ${displayL3mShortEnd}.`,\n tooltip: 'Last 3 Months'\n },\n {\n name: `${displayMonthShort}. ${displayLastYear}`,\n tooltip: 'Same Month Previous Year'\n }\n ];\n }\n\n fetchTrendsPdf(data: IMarketTrendsData, options: ITrendsOptions) {\n return this.postTrendsDataToDb(data).pipe(\n withLatestFrom(this.store.select(selectOktaId)),\n switchMap(observable => {\n const [data, oktaId] = observable;\n return this._http.post(`${environment.apiBaseUrl}/api/export/PostTrendsPDF/${data}?&oktaId=${oktaId}`, options, {\n responseType: 'blob'\n });\n })\n );\n }\n\n postTrendsDataToDb(data: IMarketTrendsData) {\n return this.store.select(selectOktaId).pipe(\n switchMap(id => {\n const d = cloneDeep(data);\n Object.keys(d).forEach(k => d[k] == null && delete d[k]);\n return this._http.post(`${environment.apiBaseUrl}/api/Report/${id}/PostMTReportToDB`, d, {\n responseType: 'text'\n });\n })\n );\n }\n\n saveTrendsFilterSession(value: unknown) {\n this.trendsFormGroup = value;\n }\n\n restoreTrendsFilterSession() {\n return this.trendsFormGroup;\n }\n\n resetTrendsFilterSession() {\n this.trendsFormGroup = null;\n }\n\n private setPalettes(type: TrendsChartStyles) {\n if (this[TrendsChartStylesEnum[type]]) {\n this[TrendsChartStylesEnum[type]].palette = this.themeService.setSyncFusionPalette(type);\n }\n this.base.marker.dataLabel.font.color = this.themeService.chartPrimary;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { IMlsData } from '../models/IMlsData';\nimport { selectCurrentMLS } from '../store/selectors/mls.selector';\nimport { IAppState } from '../store/state/app.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MlsService {\n get currentMls(): IMlsData {\n return this._currentMls;\n }\n\n set currentMls(value: IMlsData) {\n this._currentMls = value;\n }\n constructor(private store: Store) {\n this.store.select(selectCurrentMLS).subscribe({\n next: mls => {\n this.currentMls = mls;\n }\n });\n }\n\n private _currentMls: IMlsData;\n private _mlsList: IMlsData[];\n\n get mlsList(): IMlsData[] {\n return this._mlsList;\n }\n\n set mlsList(value: IMlsData[]) {\n this._mlsList = value;\n }\n\n getMlsById(mlsId: string): IMlsData {\n return this.mlsList.find(mlsEntity => mlsEntity.mlsId === mlsId);\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { ComponentType, NoopScrollStrategy } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { cloneDeep } from 'lodash-es';\n\n@Injectable()\nexport class ModalService {\n private readonly modalConfigDefaults: MatDialogConfig;\n\n constructor(private modal: MatDialog,\n private breakpointObserver: BreakpointObserver) {\n this.modalConfigDefaults = {\n /** Custom class for the overlay pane. */\n panelClass: 'website-preview',\n /** Whether the dialog has a backdrop. */\n hasBackdrop: true,\n /** Whether the user can use escape or clicking on the backdrop to close the modal. */\n disableClose: true,\n\n /** Whether the dialog should focus the first focusable element on open. */\n autoFocus: false,\n /**\n * Whether the dialog should restore focus to the\n * previously-focused element, after it's closed.\n */\n restoreFocus: true,\n /**\n * Whether the dialog should close when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n closeOnNavigation: true,\n scrollStrategy: new NoopScrollStrategy()\n };\n }\n\n /**\n *\n * @param {ComponentType} component\n * @param {MatDialogConfig} config\n */\n open(component: ComponentType, config?: MatDialogConfig) {\n let configuration = cloneDeep(this.modalConfigDefaults);\n const mobileConfig = {\n height: '100vh',\n width: '100vw',\n maxWidth: 'none',\n data: config?.data\n };\n const desktopConfig = {\n height: 'auto',\n width: '90%',\n maxWidth: '1005px'\n };\n const isSmallScreen = this.breakpointObserver.isMatched('(max-width: 600px)');\n configuration = isSmallScreen ? Object.assign(configuration, mobileConfig) : Object.assign(configuration, desktopConfig);\n if (!isSmallScreen) {\n configuration = Object.assign(configuration, config);\n }\n return this.modal.open(component, configuration);\n }\n\n /**\n * Close all dialogs\n */\n close() {\n this.modal.closeAll();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { LoginService } from './login/login.service';\n\n@Injectable()\nexport class MqOktaAuthGuard implements CanActivate {\n constructor(private loginService: LoginService, private oktaAuth: OktaAuth) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.oktaAuth.isAuthenticated().then(res => {\n if (res) {\n return true;\n } else {\n this.loginService.login();\n return false;\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { environment } from '../../environments/environment';\nimport { Tenants } from './tenant.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MqOktaAuthService {\n private config = environment.oktaApp;\n\n constructor(private oktaAuth: OktaAuth) {\n this.oktaAuth = new OktaAuth({\n clientId: this.config.clientId,\n issuer: this.config.issuer,\n cookies: {\n secure: true\n },\n pkce: false,\n responseType: ['id_token', 'token'],\n scopes: ['openid', 'profile']\n });\n }\n\n public async logout() {\n const brandCode = JSON.parse(window.localStorage.getItem('userData'))?.info?.brandCode;\n localStorage.clear();\n localStorage.setItem('brandCode', brandCode);\n sessionStorage.clear();\n const token = this.oktaAuth.getAccessToken();\n await this.oktaAuth\n .signOut({\n revokeAccessToken: !!token,\n postLogoutRedirectUri: `${window.location.origin}/logout`\n })\n .then(r => r);\n }\n\n public login(tenantId: Tenants) {\n localStorage.clear();\n sessionStorage.clear();\n const t = window.location.pathname;\n if (t === '/logout') {\n this.oktaAuth.setOriginalUri('/');\n } else {\n this.oktaAuth.setOriginalUri(t);\n }\n\n return this.oktaAuth.token\n .getWithRedirect({\n idp: environment.oktaApp[tenantId].idp,\n redirectUri: environment.oktaApp[tenantId].redirectUri\n })\n .then(() => true);\n }\n\n setServiceNowAuthSession(isAuthenticated: boolean): void {\n window.localStorage.setItem('serviceNowIsAuthenticated', isAuthenticated + '');\n }\n\n getServiceNowAuthSession(): boolean {\n return window.localStorage.getItem('serviceNowIsAuthenticated') === 'true';\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { INavButton } from '../models/INavButton';\nimport { SCREEN_SIZES } from '../models/IScreenSizes';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NavigationService {\n leftSideNavButtonData: INavButton[] = [];\n leftSideNavButtonSubject = new BehaviorSubject(this.leftSideNavButtonData);\n\n constructor(private http: HttpClient) {\n this.headerAvatarMenuButtons = this.createAvatarMenuButtonsArray(NavigationService.getHeaderAvatarMenuButtonData());\n }\n\n private _headerAvatarMenuButtons: INavButton[];\n\n get headerAvatarMenuButtons(): INavButton[] {\n return this._headerAvatarMenuButtons;\n }\n\n set headerAvatarMenuButtons(value: INavButton[]) {\n this._headerAvatarMenuButtons = value;\n }\n\n private static getHeaderAvatarMenuButtonData(): INavButton[] {\n const data = [\n {\n label: 'Help Center',\n urlPath: 'https://mycbdesk.com/help-center/market-quest',\n matIcon: 'help_outline',\n enabled: true,\n breakPoints: [SCREEN_SIZES.mobile, SCREEN_SIZES.tablet],\n urlExternal: true\n },\n {\n label: 'Settings',\n urlPath: 'settings',\n matIcon: 'settings',\n enabled: true,\n breakPoints: [SCREEN_SIZES.all]\n },\n {\n label: 'Feedback',\n urlPath: 'feedback',\n matIcon: 'feedback',\n enabled: true,\n breakPoints: [SCREEN_SIZES.all]\n },\n {\n label: 'Sign Out',\n urlPath: 'logout',\n matIcon: 'logout',\n enabled: true,\n breakPoints: [SCREEN_SIZES.all]\n }\n ];\n return this.makeButtonArray(data);\n }\n\n getLeftSideNavButtons(oktaId: string): Observable {\n return this.http.get(`${environment.apiBaseUrl}/api/navigation/getleftsidebar/${oktaId}`);\n }\n\n private static makeButtonArray(data: Partial[]) {\n return data.map(btn => new INavButton(btn));\n }\n\n private createNavigationButtonsArray(data: INavButton[]): INavButton[] {\n return data.map(button => new INavButton(button));\n }\n\n private createAvatarMenuButtonsArray(data: INavButton[]): INavButton[] {\n return data.map(button => new INavButton(button));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { addHours, formatISO, isBefore, parseISO } from 'date-fns';\nimport { LOCAL_STORAGE, StorageService } from 'ngx-webstorage-service';\nimport { filter, pairwise } from 'rxjs/operators';\nimport { LogoutModalComponent } from '../components/modals/logout-modal/logout-modal.component';\nimport { BrandDetails } from '../models/IApplicationData';\nimport { IBreadCrumb } from '../models/IBreadCrumb';\nimport { ISocialFooterLink, SocialMediaGroup } from '../models/ISocialFooterLink';\nimport { SetPrevUrls } from '../store/actions/browser.action';\nimport { IAppState } from '../store/state/app.state';\nimport { IApplicationDataState } from '../store/state/applicationData.state';\nimport { ModalService } from './modal.service';\n\n@Injectable()\nexport class OptionsService {\n constructor(\n private http: HttpClient,\n private route: Router,\n private modalService: ModalService,\n @Inject(LOCAL_STORAGE) private storage: StorageService,\n private store: Store\n ) {\n this.route.events\n .pipe(\n filter(e => e instanceof RoutesRecognized),\n pairwise()\n )\n .subscribe((event: any[]) => {\n const prev = event[0].urlAfterRedirects;\n\n if (prev.toLowerCase().includes('dashboard')) {\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('Dashboard', 'dashboard')]));\n }\n if (prev.toLowerCase().includes('claims')) {\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('#1 Claims', 'claims')]));\n }\n if (prev.toLowerCase().includes('trends')) {\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('Trends', 'trends')]));\n }\n if (prev.toLowerCase().includes('snapshot')) {\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('Snapshot', 'snapshot')]));\n }\n if (prev.toLowerCase().includes('view')) {\n const urlSegments: string[] = prev.split('/');\n const reportId = urlSegments[urlSegments.length - 1];\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('#1 Claims', 'claims'), new IBreadCrumb('Report', 'report', reportId)]));\n }\n if (prev.toLowerCase().includes('market')) {\n this.store.dispatch(new SetPrevUrls([new IBreadCrumb('Market Position', 'marketposition')]));\n }\n });\n }\n\n private _headUrlsExcluded: string[];\n\n get headUrlsExcluded(): string[] {\n return this._headUrlsExcluded;\n }\n\n set headUrlsExcluded(value: string[]) {\n this._headUrlsExcluded = value;\n }\n\n private _avatarInfo: any;\n\n get avatarInfo(): any {\n return this._avatarInfo;\n }\n\n set avatarInfo(value: any) {\n this._avatarInfo = value;\n }\n\n private _baseUrl: string;\n\n get baseUrl(): string {\n return this._baseUrl;\n }\n\n set baseUrl(value: string) {\n this._baseUrl = value;\n }\n\n private _brandInfo: IApplicationDataState;\n\n get brandInfo(): IApplicationDataState {\n return this._brandInfo;\n }\n\n set brandInfo(value: IApplicationDataState) {\n this._brandInfo = value;\n }\n\n getImagePathForReport(): string {\n return this.baseUrl;\n }\n\n verifyBrandInfoCache() {\n this.storage.remove('branding');\n const storageBranding: IApplicationDataState = this.storage.get('branding_data');\n if (!storageBranding?.default_brand) {\n return false;\n }\n const expiryDate = parseISO(storageBranding.expiry);\n if (!isBefore(Date.now(), expiryDate)) {\n return false;\n }\n this.brandInfo = storageBranding;\n return true;\n }\n\n getBrandingFromApi() {\n this.storage.remove('branding');\n const MqAppKey = 'f454c34d-c776-4e9b-ac08-90aa74e1e08f';\n const headers = new HttpHeaders().set('Content-type', 'application/json');\n return this.http.get(`https://rsc.realogy.com/api/v1/application?app_key=${MqAppKey}`, { headers });\n }\n\n syncBranding(value: IApplicationDataState) {\n const ttl = { expiry: formatISO(addHours(Date.now(), 3)) };\n const valueWithExpiry = { ...value, ...ttl };\n this.brandInfo = valueWithExpiry;\n this.storage.set('branding_data', valueWithExpiry);\n }\n\n logout = () => {\n this.modalService.open(LogoutModalComponent, {\n width: '512px',\n position: { top: '222px' }\n });\n };\n\n extractSocialLinkInfo(brandInfo: BrandDetails, isSir?: boolean) {\n const data = [];\n Object.keys(brandInfo).map(brandApiRespKey => {\n if (SocialMediaGroup.includes(brandApiRespKey)) {\n const key = new ISocialFooterLink(brandApiRespKey, brandInfo[brandApiRespKey], isSir);\n key.iconPath = `${this.getImagePathForReport()}mq-uno/webpage/${key.iconPath}`;\n data.push(key);\n }\n });\n return data;\n }\n\n numFormatter(num, digits) {\n const si = [\n { value: 1, symbol: '' },\n { value: 1e3, symbol: 'K' },\n { value: 1e6, symbol: 'M' },\n { value: 1e9, symbol: 'B' },\n { value: 1e12, symbol: 'T' },\n { value: 1e15, symbol: 'P' },\n { value: 1e18, symbol: 'E' }\n ];\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n let i;\n for (i = si.length - 1; i > 0; i--) {\n if (num >= si[i].value) {\n break;\n }\n }\n num = this.toFixed(num / si[i].value, digits);\n return '$' + num.toString().replace(rx, '$1') + si[i].symbol;\n }\n\n toFixed(num, fixed) {\n const re = new RegExp('^-?\\\\d+(?:.\\\\d{0,' + (fixed || -1) + '})?');\n return num.toString().match(re)[0];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\n\n@Injectable()\nexport class RedirectGuard implements CanActivate {\n\n constructor() {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n\n window.location.href = route.data['externalUrl'] + '/' + route.params['id'];\n return true;\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { OktaAuth } from '@okta/okta-auth-js';\nimport { LoginService } from './login/login.service';\n\n@Injectable()\nexport class RedirectHomeGuard implements CanActivate {\n constructor(private router: Router, private loginService: LoginService, private oktaAuth: OktaAuth) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.oktaAuth.isAuthenticated().then(res => {\n if (res) {\n if (route.fragment === null || route.fragment.length === 0) {\n this.router.navigateByUrl('/').then();\n return false;\n }\n return true;\n }\n this.loginService.login();\n return false;\n });\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { IMarketPositionData } from '../models/IMarketPositionData';\nimport { IReportDetail } from '../models/IReportDetail';\nimport { IReportGraph } from '../models/IReportGraph';\nimport { ITopGroupTypeData } from '../models/ITopGroupTypeData';\n\n@Injectable()\nexport class ReportDetailService {\n private headers: HttpHeaders;\n\n constructor(private _http: HttpClient) {}\n\n getReportDetails(msUnoReportId: string, oktaId: string) {\n return this._http\n .get(environment.apiBaseUrl + '/api/report/getreportdetails?msUnoReportId=' + msUnoReportId + '&oktaId=' + oktaId, {\n headers: this.headers\n })\n .pipe(catchError(this.errorHandler));\n }\n\n secondLargestValue(data: number[]) {\n const arr = [...data]; // use int arrays\n const max = Math.max.apply(null, arr); // get the max of the array\n arr.splice(arr.indexOf(max), 1); // remove max from the array\n if (!arr.length) {\n return max;\n }\n return Math.max.apply(null, arr); // get the 2nd max\n }\n\n errorHandler(error: HttpErrorResponse) {\n console.log(error);\n return throwError(error);\n }\n\n /**\n *\n * @param reportDetails\n * @param cbPosition start with 1\n * @param forceTruncate manually shorten names\n */\n remapGraphEntryNames(reportDetails: IReportDetail, cbPosition: number, forceTruncate?: boolean): IReportGraph[] {\n const isConsolidatedMLS = reportDetails.reportHeaderEntity.mlsId === 'COSC' || forceTruncate;\n\n function getLevelEntityName(idx: number, entity: IReportGraph) {\n return isConsolidatedMLS\n ? idx === cbPosition\n ? entity.levelEntityName.trim() + entity.levelEntityXtra || ''\n : 'Competitor ' + idx\n : entity.levelEntityName.trim() + (entity.levelEntityXtra || '');\n }\n\n return reportDetails.reportGraphEntities.map((entity, idx) => {\n return {\n ...entity,\n levelEntityName: getLevelEntityName(idx + 1, entity),\n levelEntityXtra: ''\n };\n });\n }\n\n /**\n *\n * @param reportDetails\n * @param cbPosition start with 1\n */\n remapMarketGraphEntryNames(reportDetails: IMarketPositionData, cbPosition: number): ITopGroupTypeData[] {\n const isConsolidatedMLS = reportDetails.reportHeaderEntity.mlsId === 'COSC';\n\n function getLevelEntityName(idx: number, entity: ITopGroupTypeData) {\n return isConsolidatedMLS ? (idx === cbPosition ? entity.entityName.trim() || '' : 'Competitor ' + idx) : entity.entityName.trim();\n }\n\n return reportDetails.topGroupTypes.map((entity, idx) => {\n return {\n ...entity,\n levelEntityName: getLevelEntityName(idx + 1, entity)\n };\n });\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { CBRMarketExportPreviewComponent } from 'app/components/core/export-preview/market-export-preview/CBR/c-b-r-market-export-preview/c-b-r-market-export-preview.component';\nimport { format } from 'date-fns';\nimport { environment } from 'environments/environment';\nimport { Dictionary } from 'lodash';\nimport { cloneDeep, isEqual, split, upperFirst } from 'lodash-es';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { BehaviorSubject, combineLatest, Observable, of, switchMap, throwError } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, mergeMap, take } from 'rxjs/operators';\nimport { utils, WorkBook, WorkSheet, writeFile } from 'xlsx';\nimport { CBRClaimsExportPreviewComponent } from '../components/core/export-preview/claims-export-preview/CBR/c-b-r-claims-export-preview.component';\nimport { SIRClaimsExportPreviewComponent } from '../components/core/export-preview/claims-export-preview/SIR/s-i-r-claims-export-preview.component';\nimport { CustomExportPreviewComponent } from '../components/core/export-preview/custom-export-preview/custom-export-preview.component';\nimport { Conf, ExportPreviewComponent } from '../components/core/export-preview/export-preview.component';\nimport { SIRMarketExportPreviewComponent } from '../components/core/export-preview/market-export-preview/SIR/s-i-r-market-export-preview.component';\nimport { TrendsExportComponent } from '../components/core/export-preview/trends-export-preview/trends-export.component';\nimport { FilterData } from '../models/FilterData';\nimport { ChartTypes } from '../models/IChartTypes';\nimport { ImageTypes } from '../models/ImageTypes';\nimport { IMarketPositionData } from '../models/IMarketPositionData';\nimport { IMlsData } from '../models/IMlsData';\nimport { IPageTypes } from '../models/IPageTypes';\nimport { IReportData } from '../models/IReportData';\nimport { IReportDetail } from '../models/IReportDetail';\nimport { IReportGraph } from '../models/IReportGraph';\nimport { EncryptedReportData } from '../models/IReportPageData';\nimport { ReportPageTypeShortStrEnum } from '../models/ReportTypes';\nimport { ExportClaimsGtm, ExportMarketGtm } from '../store/actions/gtm.action';\nimport { ExportPreviewToggle, SetExportPreviewData } from '../store/actions/pdf.action';\nimport { FetchReportData } from '../store/actions/reports.action';\nimport { CustomReportDataDetails } from '../store/selectors/custom-graph.selector';\nimport { selectV2FilterBase } from '../store/selectors/filters.selector';\nimport { selectMarketReportData, selectMarketReportId, selectMarketShowAsPercent } from '../store/selectors/market-position.selector';\nimport { selectTrendsData } from '../store/selectors/market-trends.selector';\nimport { filteredData$, selectAllReports, selectReportPageData } from '../store/selectors/reports.selectors';\nimport { selectUser } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { IPdfPreviewData } from '../store/state/pdf.state';\nimport { CardSetService } from './card-set.service';\nimport { ModalService } from './modal.service';\nimport { TenantCode } from './tenant.service';\n\n@Injectable()\nexport class ReportService {\n downloadCompletedSubject: BehaviorSubject = new BehaviorSubject(null);\n downloadCompleted: Observable = this.downloadCompletedSubject.asObservable();\n nullCount: number = 0;\n\n constructor(\n private _http: HttpClient,\n @Inject('BASE_URL') baseUrl: string,\n private store: Store,\n private modalService: ModalService,\n private cardSetService: CardSetService,\n private fileSaver: FileSaverService\n ) {\n this.store\n .select(selectAllReports)\n .pipe(distinctUntilChanged((value1, value2) => isEqual(value1, value2)))\n .subscribe(d => {\n this.reports$ = cloneDeep(d);\n });\n\n this.store\n .select(selectV2FilterBase)\n .pipe(distinctUntilChanged((value1, value2) => isEqual(value1, value2)))\n .subscribe(d => {\n this.filters$ = cloneDeep(d);\n });\n }\n\n private _reports$: IReportData[];\n\n get reports$(): IReportData[] {\n return this._reports$;\n }\n\n set reports$(value: IReportData[]) {\n this._reports$ = value;\n }\n\n private _filters$: FilterData;\n\n get filters$(): FilterData {\n return this._filters$;\n }\n\n set filters$(value: FilterData) {\n this._filters$ = value;\n }\n\n static generateJsonToXlsx(data: (Dictionary | Dictionary)[], mlsId: string, aoa = false) {\n ReportService.convertToXlsx(data, mlsId, aoa);\n }\n\n static generateCSVLink(data: string, fileName: string) {\n let blob = new Blob(['\\ufeff' + data], { type: 'text/csv;charset=utf-8;' });\n let downloadLink = document.createElement('a');\n let url = URL.createObjectURL(blob);\n let isSafariBrowser = navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1;\n if (isSafariBrowser) {\n downloadLink.setAttribute('target', '_blank');\n }\n downloadLink.setAttribute('href', url);\n downloadLink.setAttribute('download', `${fileName.toUpperCase()}-` + format(new Date(), 'MM_dd_yyyy') + `.csv`);\n downloadLink.style.visibility = 'hidden';\n document.body.appendChild(downloadLink);\n downloadLink.click();\n document.body.removeChild(downloadLink);\n }\n\n private static convertToCSV(objArray: IReportData[]) {\n const items = objArray;\n const replacer = (key, value) => (value === null ? '' : value);\n const columnsToRemove = ['msUnoReportID', 'areaLocalID', 'propertyType', 'dbName'];\n let header = Object.keys(items[0]).filter(val => {\n return !columnsToRemove.includes(val);\n });\n return [\n header.map(h => upperFirst(h)).join(','), // header row first\n ...items.map(row => header.map(fieldName => JSON.stringify(row[fieldName], replacer)).join(','))\n ].join('\\r\\n');\n }\n\n private static convertToXlsx(data: (Dictionary | Dictionary)[], fileName: string, aoa = false) {\n let ws: WorkSheet;\n if (aoa) {\n ws = utils.aoa_to_sheet(data as any);\n } else {\n ws = utils.json_to_sheet(data);\n }\n const wb: WorkBook = utils.book_new();\n utils.book_append_sheet(wb, ws, 'Sheet1');\n writeFile(wb, `${fileName.toUpperCase()}-` + format(new Date(), 'MM_dd_yyyy') + `.xlsx`);\n }\n\n adjustChartLayoutByData(data: IReportGraph[], size: ChartTypes) {\n let arr = cloneDeep(data);\n const cb = arr[0];\n arr =\n size !== 'mobile' && size !== 'tall'\n ? arr\n : arr.sort((a, b) => {\n return a.reportMeasureValue - b.reportMeasureValue;\n });\n if (size === 'mobile' || size === 'tall') {\n arr = arr.filter(item => item !== cb);\n arr.push(cb);\n }\n return arr;\n }\n\n getReportsForUserByMls(mlsId: string) {\n return this.store.select(selectUser).pipe(\n take(1),\n mergeMap(userClaims => {\n return this._http.get(`${environment.apiBaseUrl}/api/Report/GetReportsByMls/${mlsId}?oktaId=${userClaims.oktaId}`, {\n headers: new HttpHeaders({ timeout: '60000' })\n });\n }),\n catchError(err => throwError(err))\n );\n }\n\n getCountyString(countyName: string = '') {\n countyName = countyName || '';\n if (countyName) {\n const county = countyName.split(',')[0];\n const state = countyName.split(',')[1];\n countyName = county + ' County,' + state;\n }\n return countyName;\n }\n\n formatLevel(level: string = '') {\n if (level.indexOf('Office') !== -1) {\n return 'OFFICE';\n } else if (level.indexOf('Brand') !== -1) {\n return 'BRAND';\n } else if (level.indexOf('Broker') !== -1) {\n return 'BROKERAGE';\n } else {\n return '';\n }\n }\n\n selectReportsByPage(cardsOnPage: number, page: number, array: IReportData[]) {\n return array.slice((page - 1) * cardsOnPage, page * cardsOnPage);\n }\n\n setupPageData(data: [[string, IReportDetail, string], string]) {\n const [pageData, pathUrl] = data;\n const [decryptedValue, details, encrypted] = pageData;\n return {\n oktaId: decryptedValue?.split('|')[0] || '',\n msUnoReportId: decryptedValue?.split('|')[1] || '',\n reportDetail: cloneDeep(details),\n encryptedData: cloneDeep(encrypted),\n loading: false,\n imagePath: pathUrl,\n cbposition: 1\n };\n }\n\n trimLabels(text: string, screenSize: ChartTypes) {\n const desktop = [ChartTypes.desktop, ChartTypes.tall, ChartTypes.square, ChartTypes.exportPreview].includes(screenSize);\n const tablet = [ChartTypes.tablet, ChartTypes.wide, ChartTypes.HS_FB].includes(screenSize);\n const reportPage = [ChartTypes.reportPage, ChartTypes.reportPageSm].includes(screenSize);\n const maxChar = reportPage ? 15 : desktop ? 16 : tablet ? 12 : 10;\n let wordCount = 0;\n const tempText = text.replace('-', ' - ');\n let wordArray = split(tempText, ' ', maxChar);\n wordArray = wordArray.map(word => {\n wordCount += word.length;\n if (wordCount >= maxChar) {\n if (wordArray?.indexOf(word) < 1) {\n return word + (word.length > 0 ? '
' : '');\n }\n wordCount = word.length;\n return (word.length > 0 ? '
' : '') + word;\n } else {\n return word;\n }\n });\n\n const areMultiLines = wordArray.some(word => word.includes('
'));\n\n if (areMultiLines) {\n let lineCount = 1;\n let lastLineIdx = 0;\n wordArray.map((word, idx) => {\n if (word.includes('
')) {\n lineCount++;\n lastLineIdx = lineCount < 4 ? idx : lastLineIdx;\n }\n });\n\n for (let i = lastLineIdx + 1; i < wordArray.length; i++) {\n wordArray[lastLineIdx] = wordArray[lastLineIdx].concat(' ', wordArray[i].replace('
', ''));\n }\n wordArray.splice(lastLineIdx + 1);\n\n const secondLastIdx = lastLineIdx - 1;\n if (wordArray[lastLineIdx].includes('
')) {\n wordArray[lastLineIdx] =\n wordArray[lastLineIdx].length > maxChar + 4 ? wordArray[lastLineIdx].substring(0, maxChar + 4) + '...' : wordArray[lastLineIdx];\n } else {\n wordArray[secondLastIdx] = wordArray[secondLastIdx] + wordArray[lastLineIdx];\n wordArray.pop();\n wordArray[secondLastIdx] = wordArray[secondLastIdx].substring(0, maxChar + 4) + '...';\n }\n }\n const trimTextAfterParens = (text: string) => {\n const idx = text.indexOf('(');\n if (idx !== -1) {\n return text.substring(0, idx);\n }\n return text;\n };\n return trimTextAfterParens(wordArray.join(' '));\n }\n\n requestPdf(\n propertyId: string,\n oktaId: string,\n templateStr: string,\n type: number = 0,\n showLogo = true,\n showFirmName = true,\n showMarketPositionTable = true,\n showAgentInfo = true,\n showPercent = false\n ) {\n return this._http.get(\n `${environment.apiBaseUrl}/api/export/GetReportPDFPerType/${propertyId}?&oktaId=${oktaId}` +\n `&template=${templateStr}&reportType=${type}&showLogo=${showLogo}&showFirmName=${showFirmName}` +\n `&showMarketPositionTable=${showMarketPositionTable}&showAgentInfo=${showAgentInfo}&showPercent=${showPercent}`,\n {\n responseType: 'blob'\n }\n );\n }\n\n requestSIRClaimsJpg(oktaId: string, template: string, reportId: string, showPercent = false) {\n return this._http.get(\n `${environment.apiBaseUrl}/api/export/GetSirClaimsAsset/${reportId}` +\n `?oktaId=${oktaId}&template=${template}&showPercent=${showPercent}`,\n {\n responseType: 'blob'\n }\n );\n }\n\n requestCBRClaimsJpg(\n oktaId: string,\n size: ChartTypes,\n reportId: string,\n reportType: 0 | 1,\n isChart: boolean = true,\n quality = 100,\n showPercent = false\n ) {\n return this._http.get(\n `${environment.apiBaseUrl}/api/Export/GetCBClaimsAsset/${reportId}` +\n `?oktaId=${oktaId}&size=${size}&reportType=${reportType}&isChart=${isChart}&quality=${quality}&showPercent=${showPercent}`,\n {\n responseType: 'blob'\n }\n );\n }\n\n checkCurrentReportsByMls(mls: IMlsData) {\n this.store\n .select(selectAllReports)\n .pipe(take(1))\n .subscribe(filteredReports => {\n const foundReports = filteredReports.some(report => report.mlsid === mls.mlsId);\n if (!foundReports) {\n this.store.dispatch(new FetchReportData(mls.mlsId));\n }\n });\n }\n\n generateFilteredReportSet(reports: IReportData[], filters$: any): IReportData[] {\n return reports[0]?.msUnoReportID >= 0\n ? this.cardSetService.filterReportSet(\n reports.filter(v => v.mlsid === filters$.state.mlsid[0]),\n filters$.state,\n filters$.sortAsc\n )\n : reports;\n }\n\n exportPdfPreview(componentType: IPageTypes, brand: 'CBR' | 'SIR') {\n const selectedPreviewComponent = comp => {\n switch (comp) {\n case 'trends':\n return TrendsExportComponent;\n case 'claims':\n return brand === 'SIR' ? SIRClaimsExportPreviewComponent : CBRClaimsExportPreviewComponent;\n case 'marketPosition':\n return brand === 'SIR' ? SIRMarketExportPreviewComponent : CBRMarketExportPreviewComponent;\n case 'custom':\n return CustomExportPreviewComponent;\n default:\n break;\n }\n };\n const reportTypeSwitch = comp => {\n switch (comp) {\n case 'claims':\n return 0;\n case 'marketPosition':\n return 1;\n case 'trends':\n return 2;\n case 'snapshot':\n return 3;\n case 'custom':\n return 4;\n default:\n break;\n }\n };\n this.generateComplexPreviewData(componentType);\n const showTable = () => {\n return !(componentType === 'claims');\n };\n const config: Conf = {\n maxWidth: 'none',\n width: '100%',\n height: '100%',\n panelClass: 'export',\n disableClose: false,\n data: {\n controlOnly: false,\n component: selectedPreviewComponent(componentType),\n isComplexTemplate: componentType === 'trends' || componentType === 'custom',\n showMarketPositionTable: showTable(),\n showOrientation: !(brand === TenantCode.SIR),\n reportType: reportTypeSwitch(componentType),\n isSIR: brand === 'SIR',\n isClaims: componentType === 'claims'\n }\n };\n const configSmall: Conf = {\n maxWidth: 'none',\n maxHeight: '100vh',\n width: '375px',\n panelClass: 'smallPreview',\n disableClose: false,\n data: {\n controlOnly: true,\n component: null,\n isComplexTemplate: componentType === 'trends' || componentType === 'custom',\n showMarketPositionTable: showTable(),\n showOrientation: !(brand === TenantCode.SIR),\n reportType: reportTypeSwitch(componentType),\n isSIR: brand === 'SIR',\n isClaims: componentType === 'claims'\n }\n };\n this.modalService\n .open(ExportPreviewComponent, window.innerWidth > 1200 ? config : configSmall)\n .afterOpened()\n .subscribe(() => {\n this.store.dispatch(new ExportPreviewToggle(true));\n });\n }\n\n generateComplexPreviewData(type: IPageTypes) {\n if (type === ReportPageTypeShortStrEnum.trends) {\n this.store\n .select(selectTrendsData)\n .pipe(take(1))\n .subscribe(trendsData => {\n var dataObj: IPdfPreviewData = {\n agentData: trendsData.agentReportEntity,\n displayDate: trendsData.markettrendsheader.endDate,\n price: trendsData.markettrendsheader.priceRange,\n logo: trendsData.imagePromoEntities.find(v => v.imageSize === ImageTypes.emailLogo),\n areaLocalNames: trendsData.markettrendsheader.areaLocalNameArray,\n legalName: trendsData.markettrendsheader.legalName,\n propertyType: trendsData.markettrendsheader.propertyType,\n reportTitle: 'Market Trends Report',\n displayReo: trendsData.markettrendsheader.reoDisplay\n };\n if (!dataObj.agentData.linkedInLink) {\n this.nullCount++;\n }\n if (!dataObj.agentData.faceBookLink) {\n this.nullCount++;\n }\n if (!dataObj.agentData.instagramLink) {\n this.nullCount++;\n }\n dataObj = {\n ...dataObj,\n agentData: {\n oktaId: dataObj.agentData.oktaId,\n photo: dataObj.agentData.photo,\n name: dataObj.agentData.name,\n number: dataObj.agentData.number,\n phone: dataObj.agentData.phone,\n email: dataObj.agentData.email,\n title: dataObj.agentData.title,\n otherPhone: dataObj.agentData.otherPhone,\n address: dataObj.agentData.address,\n city: dataObj.agentData.city,\n stateCD: dataObj.agentData.stateCD,\n zip: dataObj.agentData.zip,\n imageURL: dataObj.agentData.imageURL,\n brokerageName: dataObj.agentData.brokerageName,\n websiteUrl: dataObj.agentData.websiteUrl,\n faceBookLink: dataObj.agentData.faceBookLink,\n linkedInLink: dataObj.agentData.linkedInLink,\n twitterLink: this.nullCount == 0 ? '' : dataObj.agentData.twitterLink,\n youtubeURL: this.nullCount == 0 || this.nullCount == 1 ? '' : dataObj.agentData.youtubeURL,\n pinterestLink: dataObj.agentData.pinterestLink,\n instagramLink: dataObj.agentData.instagramLink,\n isNRT: dataObj.agentData.isNRT,\n brandCode: dataObj.agentData.brandCode,\n contactType: dataObj.agentData.contactType\n }\n };\n this.store.dispatch(new SetExportPreviewData(dataObj));\n });\n } else if (type === ReportPageTypeShortStrEnum.custom) {\n this.store\n .select(CustomReportDataDetails)\n .pipe(take(1))\n .subscribe(customData => {\n const dataObj: IPdfPreviewData = {\n agentData: customData.agentData,\n displayDate: customData.header.endDate,\n displayStartDate: customData.header.startDate,\n displayEndDate: customData.header.endDate,\n price: customData.header.priceRange,\n logo: customData.images.find(v => v.imageSize === ImageTypes.emailLogo),\n areaLocalNames: customData.header.areaLocalName,\n legalName: customData.header.legalName,\n propertyType: customData.header.propertyType,\n reportTitle: 'Custom Market Report',\n displayReo: customData.header.displayReo\n };\n this.store.dispatch(new SetExportPreviewData(dataObj));\n });\n }\n }\n\n downloadPdf(d: {\n orientation: 'landscape' | 'portrait' | null;\n reportType: number;\n isSIR?: boolean;\n showLogo?: boolean;\n showFirmName?: boolean;\n showAgentInfo?: boolean;\n showMarketPositionTable?: boolean;\n }) {\n let oktaId: string;\n let claims: EncryptedReportData;\n let market: IMarketPositionData;\n let percent: boolean;\n\n const lp = !d.isSIR ? `${d.reportType === 0 ? 'Claims' : 'Market'}ReportTemplate-${d.orientation}` : `sir-report-pdf`;\n this.store\n .select(selectUser)\n .pipe(\n take(1),\n switchMap(user => {\n oktaId = user.oktaId;\n return combineLatest([\n this.store.select(selectReportPageData),\n this.store.select(selectMarketReportData),\n this.store.select(selectMarketShowAsPercent)\n ]);\n }),\n take(1),\n switchMap(report => {\n [claims, market, percent] = report;\n if (d.reportType === 1) {\n return this.store.select(selectMarketReportId);\n } else {\n return of(claims.msUnoReportId);\n }\n }),\n take(1),\n switchMap((id: string) => {\n return this.requestPdf(\n id,\n oktaId,\n lp,\n d.reportType,\n d.showLogo,\n d.showFirmName,\n d.showMarketPositionTable,\n d.showAgentInfo,\n percent\n );\n }),\n take(1)\n )\n .subscribe({\n next: data => {\n let fileName = null;\n if (d.reportType === 1) {\n this.store.dispatch(new ExportMarketGtm('exportMarketPositionReport'));\n fileName = `MarketReport-N1-${market.reportHeaderEntity.displayDateRange}.pdf`;\n this.fileSaver.save(data, fileName);\n this.setDownloadSuccess(fileName);\n }\n if (d.reportType === 0) {\n this.store.dispatch(new ExportClaimsGtm('exportClaimsReport'));\n fileName = `${claims.reportDetail.reportHeaderEntity.areaLocalName}-N1-${claims.reportDetail.reportHeaderEntity.displayDateRange}.pdf`;\n this.fileSaver.save(data, fileName);\n this.setDownloadSuccess(fileName);\n }\n },\n error: err => {\n console.log(err);\n this.downloadCompletedSubject.next('Download Error');\n }\n });\n }\n\n setDownloadSuccess(fileName: string): void {\n this.downloadCompletedSubject.next(fileName);\n }\n\n downloadSuccess(): Observable {\n return this.downloadCompleted;\n }\n\n generateJsonToCsv() {\n return this.store.select(filteredData$).pipe(\n map(data => {\n const mlsId = data[0].mlsid;\n return [ReportService.convertToCSV(data), mlsId];\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { INavButton } from '../models/INavButton';\nimport { SCREEN_SIZES } from '../models/IScreenSizes';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ResponsiveService {\n constructor() {}\n\n private static bp(screenWidth) {\n switch (true) {\n case screenWidth <= 600:\n return SCREEN_SIZES.mobile;\n case screenWidth >= 600 && screenWidth <= 960:\n return SCREEN_SIZES.tablet;\n case screenWidth > 960:\n return SCREEN_SIZES.desktop;\n default:\n break;\n }\n }\n\n currentScreenBreakpointMatches(navButton: INavButton) {\n if (navButton.breakPoints.includes(SCREEN_SIZES.all)) {\n return true;\n }\n return navButton.breakPoints.some(width => {\n return width === ResponsiveService.bp(screen.width);\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { environment } from 'environments/environment';\nimport { indexOf } from 'lodash-es';\nimport { Observable } from 'rxjs';\nimport { ILocationsData } from '../models/ILocationsData';\nimport { ReportTypeEnum, ReportTypeLongStrEnum } from '../models/ReportTypes';\nimport { selectSavedSearches } from '../store/selectors/saved-search.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { ISavedSearch } from '../store/state/savedSearch.state';\nimport { FilterService } from './filter.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SavedSearchService {\n get savedSearches(): {\n Uno: ISavedSearch[];\n MarketPosition: ISavedSearch[];\n MarketTrends: ISavedSearch[];\n MarketSnapshot: ISavedSearch[];\n } {\n return this._savedSearches;\n }\n\n set savedSearches(value: {\n Uno: ISavedSearch[];\n MarketPosition: ISavedSearch[];\n MarketTrends: ISavedSearch[];\n MarketSnapshot: ISavedSearch[];\n }) {\n this._savedSearches = value;\n }\n private _savedSearches: {\n Uno: ISavedSearch[];\n MarketPosition: ISavedSearch[];\n MarketTrends: ISavedSearch[];\n MarketSnapshot: ISavedSearch[];\n };\n constructor(private http: HttpClient, private store: Store, private filterSvc: FilterService) {\n this.store.select(selectSavedSearches).subscribe(savedSearches => {\n this.savedSearches = savedSearches;\n });\n }\n\n deleteSavedSearch(id: string) {\n const otkaId = JSON.parse(localStorage.getItem('userData')).info.oktaId;\n return this.http.delete(`${environment.apiBaseUrl}/api/filter/DeleteUserFilter?id=${id}&oktaId=${otkaId}`);\n }\n\n getAllSavedSearches(): Observable {\n const otkaId = JSON.parse(localStorage.getItem('userData')).info.oktaId;\n return this.http.get(`${environment.apiBaseUrl}/api/filter/GetUserFilters?&oktaId=${otkaId}`);\n }\n\n createSavedSearch(search: ISavedSearch): Observable {\n const otkaId = JSON.parse(localStorage.getItem('userData')).info.oktaId;\n const name = search.name;\n const mlsid = search.mlsId;\n const reportTypes = search.reportType;\n const isDefault = search.isDefault;\n const data = search.data;\n\n return this.http.post(\n `${environment.apiBaseUrl}/api/filter/PostUserFilter?oktaId=${otkaId}&name=${name}&mlsid=${mlsid}&reportTypes=${reportTypes}&isDefault=${isDefault}`,\n data,\n {\n responseType: 'text'\n }\n );\n }\n\n setSearchDefault(rowKey: string, mls: string, reportType: ReportTypeEnum) {\n const otkaId = JSON.parse(localStorage.getItem('userData')).info.oktaId;\n return this.http.put(\n `${environment.apiBaseUrl}/api/filter/UpdateUserDefaultFilter?oktaId=${otkaId}&id=${rowKey}&mlsId=${mls}&reportType=${reportType}`,\n {}\n );\n }\n\n mapSavedSearchApiResponse(savedSearches: ISavedSearch[]) {\n const sortArray = {} as { [key: string]: ISavedSearch[] };\n Object.keys(ReportTypeLongStrEnum).map((key: string) => {\n sortArray[key] = [];\n });\n savedSearches.forEach((item: ISavedSearch) => {\n if (indexOf(Object.keys(ReportTypeEnum), item.reportType.toString()) < 0) {\n return;\n }\n item.data = JSON.parse((item.data as unknown) as string);\n (item.data.locationFilters || []).map((location: ILocationsData) => {\n Object.keys(location).forEach((key: string) => {\n if (key === 'areaID') {\n location[key] = Number(location[key]);\n }\n if (key === 'areaType') {\n location[key] = Number(location[key]);\n }\n });\n });\n item.createdDate = new Date(item.createdDate);\n sortArray[ReportTypeEnum[item.reportType]].push(item);\n });\n Object.keys(sortArray).map(key => {\n sortArray[key] = sortArray[key].sort((a, b) => {\n return b.createdDate.getTime() - a.createdDate.getTime();\n });\n });\n return sortArray;\n }\n\n lookupLocationByAreaIdAndType(areaId: number, areaType: number) {\n const locs = this.filterSvc.locations;\n return locs.find(location => location.areaID === areaId && location.areaType === areaType);\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { ComponentFactoryResolver, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport { combineLatestWith } from 'rxjs';\nimport { switchMap, take } from 'rxjs/operators';\nimport { MailModalComponent } from '../components/modals/mail-modal/mail-modal.component';\nimport { SocialModalComponent } from '../components/modals/social-modal/social-modal.component';\nimport { ChartTypes } from '../models/IChartTypes';\nimport { IEmailData } from '../models/IEmailData';\nimport { IPageTypes } from '../models/IPageTypes';\nimport { IReportDetail } from '../models/IReportDetail';\nimport { ISocialData } from '../models/ISocialData';\nimport { ReportPageTypeShortStrEnum } from '../models/ReportTypes';\nimport { selectMarketShowAsPercent } from '../store/selectors/market-position.selector';\nimport { claimsReportId } from '../store/selectors/reports.selectors';\nimport { selectUser } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { OptionsService } from './options.service';\nimport { ReportDetailService } from './report-details.service';\nimport { ReportService } from './report.service';\nimport { UploadService } from './upload.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShareSocialAndEmailService {\n private isDesktop: boolean;\n\n constructor(\n private _reportDetailService: ReportDetailService,\n private dialog: MatDialog,\n private reportService: ReportService,\n private breakpointObserver: BreakpointObserver,\n private componentFactoryResolver: ComponentFactoryResolver,\n private optionService: OptionsService,\n private store: Store,\n private uploadService: UploadService\n ) {\n this.breakpointObserver.observe('(min-width: 576px)').subscribe(size => {\n this.isDesktop = size.matches;\n });\n }\n\n static formatAreaType(reportDetails): string {\n if (reportDetails.reportHeaderEntity.areaType.indexOf('County') !== -1) {\n return (\n reportDetails.reportHeaderEntity.areaLocalName.split(',')[0] +\n ' County, ' +\n reportDetails.reportHeaderEntity.areaLocalName.split(',')[1]\n );\n } else if (reportDetails.reportHeaderEntity.areaType.indexOf('City') !== -1) {\n return (\n reportDetails.reportHeaderEntity.areaLocalName.split(',')[0] + ',' + reportDetails.reportHeaderEntity.areaLocalName.split(',')[1]\n );\n } else if (reportDetails.reportHeaderEntity.areaType.indexOf('Zip') !== -1) {\n return 'Zip ' + reportDetails.reportHeaderEntity.areaLocalName;\n } else {\n return '';\n }\n }\n\n static fetchActionButtonConfig(pageType: IPageTypes) {\n switch (pageType) {\n case ReportPageTypeShortStrEnum.trends: {\n return {\n email: true,\n exportPdf: true,\n previewWebsite: false,\n share: false\n };\n }\n case ReportPageTypeShortStrEnum.marketPosition: {\n return {\n email: true,\n exportPdf: true,\n previewWebsite: false,\n share: false\n };\n }\n case ReportPageTypeShortStrEnum.claims: {\n return {\n email: true,\n exportPdf: true,\n previewWebsite: true,\n share: true\n };\n }\n default: {\n return {\n email: true,\n exportPdf: true,\n previewWebsite: true,\n share: true\n };\n }\n }\n }\n\n openEmail(reportId: string, type: IPageTypes = null): void {\n this.store\n .select(selectUser)\n .pipe(take(1))\n .subscribe(data => {\n const emailData = new IEmailData();\n emailData.oktaId = data.oktaId;\n emailData.reportid = reportId;\n emailData.senderName = data.name;\n emailData.senderEmail = data.email;\n emailData.firstEmail = data.email;\n emailData.type = type;\n\n this.dialog.open(MailModalComponent, {\n width: this.isDesktop ? '450px' : '100vw',\n data: emailData,\n maxWidth: this.isDesktop ? '90vw' : 'none',\n height: this.isDesktop ? 'auto' : '100vh'\n });\n });\n }\n\n openSocial(\n reportId: string,\n oktaId: string,\n reportDetails: IReportDetail,\n encryptedId: string,\n cbPosition: number,\n imagePath?: string\n ): void {\n const socialData = new ISocialData();\n socialData.tags =\n 'coldwellbanker #' +\n reportDetails.agentReportEntity.brokerageName.toLowerCase().replace(/\\s/g, '') +\n ' #marketstats #' +\n ShareSocialAndEmailService.formatAreaType(reportDetails).replace(/[\\s+]|[,+]/g, '');\n socialData.description =\n 'See how ' + reportDetails.agentReportEntity.brokerageName + ' ranks in ' + ShareSocialAndEmailService.formatAreaType(reportDetails);\n socialData.title = 'Check out our Stellar Market Stats ';\n socialData.image = imagePath + 'mq-uno/social/' + oktaId + '/image-wide-' + reportDetails.reportHeaderEntity.msUnoReportID + '.jpg';\n socialData.reportId = reportId;\n socialData.oktaid = oktaId;\n socialData.encryptedid = encryptedId;\n socialData.reportDetails = reportDetails;\n socialData.cbPosition = cbPosition;\n\n const dialogRef = this.dialog.open(SocialModalComponent, {\n width: this.isDesktop ? '400px' : '100vw',\n data: socialData,\n maxWidth: this.isDesktop ? '90vw' : 'none',\n height: this.isDesktop ? 'auto' : '100vh'\n });\n dialogRef\n .afterClosed()\n .pipe(take(1))\n .subscribe(result => {\n switch (result) {\n case 'email': {\n this.openEmail(reportId);\n break;\n }\n default: {\n break;\n }\n }\n });\n }\n\n openTrendsEmail(dbId: string): void {\n this.store\n .select(selectUser)\n .pipe(take(1))\n .subscribe(data => {\n const emailData = new IEmailData();\n emailData.oktaId = data.oktaId;\n emailData.reportid = dbId;\n emailData.senderName = data.name;\n emailData.senderEmail = data.email;\n emailData.firstEmail = data.email;\n emailData.type = ReportPageTypeShortStrEnum.trends;\n this.dialog.open(MailModalComponent, {\n width: this.isDesktop ? '450px' : '100vw',\n data: emailData,\n maxWidth: this.isDesktop ? '90vw' : 'none',\n height: this.isDesktop ? 'auto' : '100vh'\n });\n });\n }\n\n generateSocialImage() {\n let reportIdVar;\n let oktaIdVar;\n\n return this.store.select(claimsReportId).pipe(\n combineLatestWith(this.store.select(selectUser), this.store.select(selectMarketShowAsPercent)),\n take(1),\n switchMap(([reportId, user, percent]) => {\n reportIdVar = reportId;\n oktaIdVar = user.oktaId;\n return this.reportService.requestCBRClaimsJpg(user.oktaId, ChartTypes.wide, reportId, 0, true, 75, percent);\n }),\n switchMap(data => {\n return this.uploadService.uploadFile(data, 'wide', reportIdVar, oktaIdVar);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { cloneDeep, merge } from 'lodash-es';\nimport { ChartTypes } from '../models/IChartTypes';\nimport { IMarketPositionData } from '../models/IMarketPositionData';\nimport { IReportGraph } from '../models/IReportGraph';\nimport { IReportHeader } from '../models/IReportHeader';\nimport { EncryptedReportData } from '../models/IReportPageData';\nimport { ISyncFusion } from '../models/ISyncFusion';\nimport {\n AxisModel,\n ChartAreaModel,\n CornerRadiusModel,\n LegendSettingsModel,\n MarkerSettingsModel,\n TooltipSettingsModel\n} from '@syncfusion/ej2-angular-charts';\n\n@Injectable()\nexport class SyncFusionConfigService {\n [ChartTypes.base]: ISyncFusion = {\n title: '',\n cornerRadius: {\n topRight: 0,\n topLeft: 0\n },\n chartArea: {\n border: {\n width: 0\n }\n },\n titleStyle: {\n fontFamily: 'Roboto-Medium, Arial, sans-serif',\n fontWeight: '500',\n color: '#ffffff',\n textOverflow: 'Wrap'\n },\n marker: {\n dataLabel: {\n visible: true,\n position: 'Outer',\n font: {\n fontFamily: 'Roboto-Medium, Arial, sans-serif',\n color: '#ffffff'\n }\n }\n },\n primaryXAxis: {\n valueType: 'Category',\n labelIntersectAction: 'MultipleRows',\n labelStyle: {\n fontFamily: 'Roboto, Arial, sans-serif',\n color: '#ffffff',\n textAlignment: 'Center'\n },\n lineStyle: {\n color: '#ffffff'\n },\n majorGridLines: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n titleStyle: {\n fontFamily: 'Roboto-Medium, Arial, sans-serif',\n color: '#ffffff',\n textOverflow: 'Wrap'\n }\n },\n primaryYAxis: {\n desiredIntervals: 0,\n labelFormat: '',\n labelStyle: {\n size: '0'\n },\n lineStyle: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n majorGridLines: {\n width: 0\n }\n }\n };\n\n [ChartTypes.reportPage]: ISyncFusion = {\n ...this[ChartTypes.base],\n cornerRadius: {\n topRight: 8,\n topLeft: 8\n },\n titleStyle: {\n fontFamily: 'Roboto, Arial, sans-serif',\n fontWeight: '700',\n size: '24',\n color: '#2B2E30',\n textAlignment: 'Near'\n },\n subTitleStyle: {\n fontFamily: 'Roboto',\n fontWeight: '400',\n size: '16',\n color: '#000',\n textAlignment: 'Near',\n textOverflow: 'None'\n },\n marker: {\n dataLabel: {\n font: {\n fontFamily: 'Roboto, Arial, sans-serif',\n color: '#2B2E30',\n size: '16'\n }\n }\n },\n primaryXAxis: {\n titlePadding: 32,\n labelStyle: {\n color: '#000',\n textOverflow: 'Wrap'\n },\n lineStyle: {\n color: '#000',\n width: 1\n },\n titleStyle: {\n fontFamily: 'Roboto, Arial, sans-serif',\n color: '#2B2E30',\n size: '20',\n textAlignment: 'Near',\n fontWeight: '700'\n }\n },\n primaryYAxis: {\n desiredIntervals: 7,\n majorGridLines: {\n color: '#E9E9E9',\n width: 1\n },\n titleStyle: {\n size: '14px'\n }\n }\n };\n\n [ChartTypes.reportPageSm]: ISyncFusion = merge(cloneDeep(this[ChartTypes.reportPage]), {\n cornerRadius: {\n topLeft: 0,\n topRight: 0\n },\n margin: {\n right: 0,\n left: 0,\n top: 0,\n bottom: 0\n },\n titleStyle: {\n size: '16'\n },\n subTitleStyle: {\n size: '14'\n },\n marker: {\n dataLabel: {\n position: 'Outer',\n labelIntersectAction: 'None',\n font: {\n size: '12',\n color: '#2B2E30'\n }\n }\n },\n primaryXAxis: {\n labelStyle: {\n color: '#2B2E30'\n }\n },\n primaryYAxis: {\n desiredIntervals: 0,\n majorGridLines: {\n width: 0\n },\n titleStyle: {\n opacity: 0\n },\n rangePadding: 'Auto'\n }\n } as ISyncFusion);\n\n [ChartTypes.desktop]: ISyncFusion = {\n ...this[ChartTypes.base],\n titleStyle: {\n size: '24px'\n },\n margin: {\n right: 34,\n left: 34\n },\n marker: {\n dataLabel: {\n font: {\n size: '24px'\n },\n border: {\n width: 1,\n color: 'transparent'\n }\n }\n },\n primaryXAxis: {\n labelStyle: {\n size: '14px'\n },\n titleStyle: {\n size: '22px'\n },\n lineStyle: {\n width: 3\n }\n }\n };\n\n [ChartTypes.tablet]: ISyncFusion = {\n ...this[ChartTypes.base],\n titleStyle: {\n size: '12px'\n },\n margin: {\n right: 34,\n left: 34\n },\n marker: {\n dataLabel: {\n font: {\n size: '16px'\n }\n }\n },\n primaryXAxis: {\n labelStyle: {\n size: '10px'\n },\n titleStyle: {\n size: '12px'\n },\n lineStyle: {\n width: 3\n }\n }\n };\n\n [ChartTypes.mobile]: ISyncFusion = {\n ...this[ChartTypes.base],\n titleStyle: {\n size: '14px'\n },\n margin: {\n right: 16,\n left: 16\n },\n marker: {\n dataLabel: {\n font: {\n size: '12px'\n }\n }\n },\n primaryXAxis: {\n labelStyle: {\n size: '12px',\n textOverflow: 'Wrap'\n },\n lineStyle: {\n width: 3\n }\n },\n primaryYAxis: {\n majorGridLines: {\n width: 0\n }\n }\n };\n\n [ChartTypes.wide]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n right: 0,\n left: 0,\n top: 0,\n bottom: 0\n },\n marker: {\n dataLabel: {\n font: {\n size: '18px'\n }\n }\n },\n titleStyle: {\n size: '14px'\n },\n primaryXAxis: {\n labelStyle: {\n size: '12px'\n },\n titleStyle: {\n size: '14px'\n },\n lineStyle: {\n width: 3\n }\n }\n };\n\n [ChartTypes.tall]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n top: 94,\n bottom: 50\n },\n primaryXAxis: {\n titleStyle: {\n size: '26px'\n },\n labelStyle: {\n size: '24px'\n },\n lineStyle: {\n width: 3\n }\n },\n titleStyle: {\n size: '26px'\n },\n marker: {\n dataLabel: {\n font: {\n size: '30px'\n }\n }\n }\n };\n\n [ChartTypes.square]: ISyncFusion = {\n ...this[ChartTypes.base],\n primaryYAxis: {\n titleStyle: {\n size: '20px'\n }\n },\n primaryXAxis: {\n titleStyle: {\n size: '20px'\n },\n labelStyle: {\n size: '18px'\n },\n lineStyle: {\n width: 3\n }\n },\n titleStyle: {\n size: '20px'\n },\n marker: {\n dataLabel: {\n font: {\n size: '24px'\n }\n }\n }\n };\n\n [ChartTypes.HS_FB]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n right: 0,\n left: 0,\n top: 0,\n bottom: 0\n },\n primaryXAxis: {\n titleStyle: {\n size: '18px'\n },\n labelStyle: {\n size: '12px'\n },\n lineStyle: {\n width: 3\n }\n },\n titleStyle: {\n size: '14px'\n },\n marker: {\n dataLabel: {\n font: {\n size: '16px'\n }\n }\n }\n };\n\n [ChartTypes.HS_Web]: any = {\n ...this[ChartTypes.base],\n primaryXAxis: {\n titleStyle: {\n size: '7px'\n },\n labelStyle: {\n size: '7px'\n }\n },\n titleStyle: {\n size: '9px'\n },\n marker: {\n dataLabel: {\n font: {\n size: '8px'\n }\n }\n }\n };\n\n [ChartTypes.previewSmall]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n right: 0,\n left: 0,\n top: 0,\n bottom: 0\n },\n titleStyle: {\n size: '6px'\n },\n primaryXAxis: {\n labelStyle: {\n size: '0px'\n },\n titleStyle: {\n size: '6px'\n },\n lineStyle: {\n width: 1\n }\n },\n marker: {\n dataLabel: {\n font: {\n size: '5px'\n }\n }\n }\n };\n\n [ChartTypes.previewLarge]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n right: 0,\n left: 0,\n top: 0,\n bottom: 0\n },\n titleStyle: {\n size: '.6em'\n },\n primaryXAxis: {\n labelStyle: {\n size: '0px'\n },\n titleStyle: {\n size: '.6em'\n },\n lineStyle: {\n width: 1\n }\n },\n marker: {\n dataLabel: {\n font: {\n size: '.6em'\n }\n }\n }\n };\n\n [ChartTypes.aspTrends]: ISyncFusion = {\n legend: {\n visible: false\n },\n chartArea: {\n border: {\n width: 0\n }\n },\n marker: {\n dataLabel: {\n template: '
${point.y}
SOLDS HERE
',\n visible: true,\n position: 'Top',\n font: {\n color: '#115097'\n },\n border: {\n width: 1\n },\n margin: {\n right: 8,\n left: 8,\n top: 16,\n bottom: 8\n }\n }\n },\n primaryXAxis: {\n valueType: 'Category',\n labelStyle: {\n fontFamily: 'Helvetica Neue, Arial, sans-serif',\n color: '#727476',\n size: '12'\n },\n lineStyle: {\n color: '#E9E9E9',\n width: 1\n },\n majorGridLines: {\n width: 0\n },\n majorTickLines: {\n width: 0\n }\n },\n primaryYAxis: {\n title: '',\n labelStyle: {\n fontFamily: 'Roboto, sans-serif',\n color: '#727476',\n size: '12',\n textOverflow: 'None'\n },\n lineStyle: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n majorGridLines: {\n color: '#E9E9E9',\n width: 1\n }\n },\n cornerRadius: {\n topRight: 0,\n topLeft: 0\n },\n tooltip: {\n enable: false\n }\n };\n\n [ChartTypes.exportPreview]: ISyncFusion = {\n ...this[ChartTypes.base],\n margin: {\n right: 0,\n left: 0\n },\n primaryXAxis: {\n valueType: 'Category',\n lineStyle: {\n width: 1,\n color: '#000'\n },\n majorGridLines: {\n width: 0\n },\n majorTickLines: {\n width: 0\n },\n titleStyle: {\n fontFamily: 'GeometosNeueBold, Arial, sans-serif',\n textOverflow: 'Wrap',\n fontWeight: '800',\n size: '8px',\n color: '#000'\n },\n labelStyle: {\n size: '12px',\n color: '#000',\n fontFamily: 'Helvetica Neue, Arial, sans-serif'\n }\n },\n primaryYAxis: {\n valueType: 'Category',\n minimum: 1,\n lineStyle: {\n width: 0\n },\n titleStyle: {\n size: '9px',\n color: '#000'\n }\n },\n chartArea: {\n border: {\n width: 0\n }\n },\n titleStyle: {\n fontFamily: 'GeometosNeueBold, Arial, sans-serif',\n fontWeight: '800',\n size: '8px',\n color: '#000'\n },\n marker: {\n dataLabel: {\n visible: true,\n position: 'Outer',\n font: {\n fontWeight: '800',\n fontFamily: 'Helvetica Neue, Arial, sans-serif',\n color: '#000'\n }\n }\n }\n };\n\n getConfig(size: ChartTypes) {\n const base = cloneDeep(this[ChartTypes.base]);\n const override = cloneDeep(this[size]);\n return merge(base, override);\n }\n\n prepareMarketChatDataModel(data: IMarketPositionData): EncryptedReportData {\n return {\n msUnoReportId: '',\n oktaId: data?.agentReportEntity?.oktaId,\n reportDetail: {\n agentReportEntity: data?.agentReportEntity,\n reportHeaderEntity: data?.reportHeaderEntity as IReportHeader,\n imagePromoEntities: data?.imagePromoEntities,\n reportGraphEntities: this.getMarketGraphData(data)\n },\n encryptedData: data,\n loading: null,\n imagePath: null,\n cbposition: data?.realogyPosition?.marketPosition\n };\n }\n\n private getMarketGraphData(data: IMarketPositionData) {\n const reportGraphEntities: IReportGraph[] = new Array(0);\n (data?.topGroupTypes || []).forEach(x => {\n const reportGraph: IReportGraph = new IReportGraph();\n switch (data.msTypeName?.toLowerCase()) {\n case 'list':\n reportGraph.reportMeasureValue = data.isUnits ? x.listUnits : x.listVolume;\n reportGraph.marketSharePercentage = data.isUnits ? x.listUnitsPercent : x.listVolumePercent;\n break;\n case 'buy':\n reportGraph.reportMeasureValue = data.isUnits ? x.buyUnits : x.buyVolume;\n reportGraph.marketSharePercentage = data.isUnits ? x.buyUnitsPercent : x.buyVolumePercent;\n break;\n default:\n reportGraph.reportMeasureValue = data.isUnits ? x.totalUnits : x.totalVolume;\n reportGraph.marketSharePercentage = data.isUnits ? x.totalUnitsPercent : x.totalVolumePercent;\n break;\n }\n reportGraph.levelEntityName = x.entityName;\n reportGraph.levelEntityXtra = '';\n reportGraphEntities.push(reportGraph);\n });\n return reportGraphEntities;\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport enum Tenants {\n realogy = 'realogy',\n sothebysrealty = 'sothebysrealty'\n}\n\nexport enum TenantCode {\n CBR = 'CBR',\n SIR = 'SIR'\n}\n\nexport enum BrandCodesEnum {\n CBR = 'cb',\n SIR = 'sothebys'\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TenantService {\n constructor() {\n }\n\n getTenantForHostname(hostname: string): Tenants {\n const h = hostname.split('.');\n if (h.some(urlSubStr => urlSubStr === 'localhost')) {\n return this.getTenantForHost(Tenants.realogy);\n }\n return this.getTenantForHost(h[1]);\n }\n\n getTenantForString(brand: string) {\n if (brand in Tenants) {\n return Tenants[brand] as Tenants;\n }\n return null;\n }\n\n getTenantForHost(host: string): Tenants {\n return this.getTenantForString(host);\n }\n\n getTenant(): Tenants {\n return this.getTenantForHostname(location.hostname);\n }\n\n addTenantToHeaders() {\n return { 'Tenant-ID': this.getTenant() };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TrendsChartStyles, TrendsChartStylesEnum } from '../models/MarketTrendsChartConfiguration';\nimport { TenantCode } from './tenant.service';\n\ntype CssProps = { name: string; value: string }[];\n\n@Injectable()\nexport class ThemeService {\n private _colorA700: string;\n\n get colorA700(): string {\n return this._colorA700;\n }\n\n get background(): string {\n return this._background;\n }\n\n set background(value: string) {\n this._background = value;\n }\n\n get colorA500(): string {\n return this._colorA500;\n }\n\n set colorA500(value: string) {\n this._colorA500 = value;\n }\n get brand(): TenantCode {\n return this._brand;\n }\n\n set brand(value: TenantCode) {\n this._brand = value;\n }\n get color100(): string {\n return this._color100;\n }\n\n set color100(value: string) {\n this._color100 = value;\n }\n constructor() {}\n\n get color300(): string {\n return this._color300;\n }\n\n set color300(value: string) {\n this._color300 = value;\n }\n\n get colorPrimary() {\n return this._colorPrimary;\n }\n\n set colorPrimary(value) {\n this._colorPrimary = value;\n }\n\n get colorSecondary() {\n return this._colorSecondary;\n }\n\n set colorSecondary(value) {\n this._colorSecondary = value;\n }\n\n get color50() {\n return this._color50;\n }\n\n set color50(value) {\n this._color50 = value;\n }\n\n get color200() {\n return this._color200;\n }\n\n set color200(value) {\n this._color200 = value;\n }\n\n get colorA50(): string {\n return this._colorA50;\n }\n\n get colorA60(): string {\n return this._colorA60;\n }\n\n set colorA50(value: string) {\n this._colorA50 = value;\n }\n\n set colorA60(value: string) {\n this._colorA60 = value;\n }\n\n get customChartPrimary(): string {\n return this._customChartPrimary;\n }\n\n set customChartPrimary(value: string) {\n this._customChartPrimary = value;\n }\n\n get customChartSecondary(): string {\n return this._customChartSecondary;\n }\n\n set customChartSecondary(value: string) {\n this._customChartSecondary = value;\n }\n\n get customChartTrendPrimary(): string {\n return this._customChartTrendPrimary;\n }\n\n set customChartTrendPrimary(value: string) {\n this._customChartTrendPrimary = value;\n }\n\n get customChartTrendSecondary(): string {\n return this._chartPrimary;\n }\n\n set customChartTrendSecondary(value: string) {\n this._chartPrimary = value;\n }\n\n get chartPrimary(): string {\n return this._chartPrimary;\n }\n\n set chartPrimary(value: string) {\n this._chartPrimary = value;\n }\n\n get chartSecondary(): string {\n return this._chartSecondary;\n }\n\n set chartSecondary(value: string) {\n this._chartSecondary = value;\n }\n\n get chartTertiary(): string {\n return this._chartTertiary;\n }\n\n set chartTertiary(value: string) {\n this._chartTertiary = value;\n }\n private _brand: TenantCode;\n\n private _color300: string;\n\n private _colorPrimary: string;\n\n private _colorSecondary: string;\n\n private _color50: string;\n\n private _color200: string;\n\n private _colorA50: string;\n\n private _colorA60: string;\n\n private _chartPrimary: string;\n\n private _chartSecondary: string;\n\n private _chartTertiary: string;\n\n private _customChartPrimary: string;\n\n private _customChartSecondary: string;\n\n private _customChartTrendPrimary: string;\n\n private _customChartTrendSecondary: string;\n\n private _color100: string;\n\n private _colorA500: string;\n\n private _background: string;\n\n set colorA700(value: string) {\n this._colorA700 = value;\n }\n\n private static selectBrandColors(brand: TenantCode): { name: string; value: string }[] {\n switch (brand) {\n case TenantCode.CBR: {\n return [\n { name: 'background', value: '#f9f9f9' },\n { name: 'colorPrimary', value: '#1f69ff' },\n { name: 'colorSecondary', value: '#e2f1ff' },\n { name: 'color50', value: '#e4edff' },\n { name: 'colorA50', value: '#f5f6ff' },\n { name: 'colorA60', value: '#e8f5e9' },\n { name: 'colorA500', value: '#4CAF50' },\n { name: 'colorA700', value: '#1f69ff' },\n { name: 'color100', value: '#DCDCDD' },\n { name: 'color200', value: '#4180FF' },\n { name: 'color300', value: '#f5f6ff' },\n { name: 'chartPrimary', value: '#1f69ff' },\n { name: 'chartSecondary', value: '#00B4BD' },\n { name: 'chartTertiary', value: '#bcd2ff' },\n { name: 'customChartPrimary', value: '#1f69ff' },\n { name: 'customChartSecondary', value: '#418FDE' },\n { name: 'customChartTrendPrimary', value: '#63666A' },\n { name: 'customChartTrendSecondary', value: '#A7A9AC' },\n { name: 'borderRadius', value: '10px' }\n ];\n }\n case TenantCode.SIR: {\n return [\n { name: 'background', value: '#F2F2F2' },\n { name: 'colorPrimary', value: '#002349' },\n { name: 'colorSecondary', value: '#e0e5e9' },\n { name: 'color50', value: '#E0E5E9' },\n { name: 'colorA50', value: '#F6F1E6' },\n { name: 'colorA60', value: '#F6F1E6' },\n { name: 'colorA500', value: '#B58B32' },\n { name: 'colorA700', value: '#8091A4' },\n { name: 'color100', value: '#B3BDC8' },\n { name: 'color200', value: '#264464' },\n { name: 'color300', value: '#E0E5E9' },\n { name: 'chartPrimary', value: '#002349' },\n { name: 'chartSecondary', value: '#CBAE70' },\n { name: 'chartTertiary', value: '#E0E5E9' },\n { name: 'customChartPrimary', value: '#002349' },\n { name: 'customChartSecondary', value: '#999999' },\n { name: 'customChartTrendPrimary', value: '#666666' },\n { name: 'customChartTrendSecondary', value: '#C29B40' },\n { name: 'borderRadius', value: '0px' }\n ];\n }\n }\n }\n\n public isSIR(): boolean {\n return this.brand === TenantCode.SIR;\n }\n\n public setSyncFusionPalette(chartType: TrendsChartStyles) {\n const spline = [`${this.chartPrimary}`, `${this.chartSecondary}`];\n const colLine = [`${this.chartTertiary}`, `${this.chartSecondary}`];\n switch (chartType) {\n case TrendsChartStylesEnum.Spline: {\n return spline;\n }\n\n case TrendsChartStylesEnum.ColumnLine: {\n return colLine;\n }\n\n default: {\n return [`${this.chartTertiary}`];\n }\n }\n }\n\n public setBrand(brand: TenantCode) {\n const brandCode = brand in TenantCode ? brand : TenantCode.CBR;\n this.setDOMProps(brandCode);\n this.setServiceProps(brandCode);\n return brandCode as TenantCode;\n }\n\n private setRootCssProperty(cssPropsArr: CssProps) {\n cssPropsArr.forEach(data => {\n document.documentElement.style.setProperty(`--${data.name}`, data.value);\n });\n }\n\n private setServiceProps(brand: TenantCode) {\n this.brand = brand;\n ThemeService.selectBrandColors(brand).map(i => {\n this[i.name] = i.value;\n });\n }\n\n private setDOMProps(brand: TenantCode) {\n document.body.classList.remove('CBR-theme', 'SIR-theme');\n document.body.classList.add(`${brand}-theme`);\n this.setRootCssProperty(ThemeService.selectBrandColors(brand));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'environments/environment';\n\n@Injectable()\nexport class UploadService {\n public progress: number;\n public message: string;\n\n constructor(private http: HttpClient) {}\n\n uploadFile(blob, componentType, reportId: string, oktaId: string) {\n const formData = new FormData(); // this will submit as a \"multipart/form-data\" request\n const imageName = 'image-' + componentType + '-' + reportId + '.jpg';\n formData.append('image', blob, imageName); // \"image_name\" is what the server will call the blob\n return this.http.post(environment.apiBaseUrl + '/api/image/upload/' + oktaId, formData, {\n headers: new HttpHeaders({ timeout: '60000' })\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { filter, map, switchMap, take } from 'rxjs/operators';\nimport { environment } from '../../environments/environment';\nimport { IContactData, IContactResp } from '../models/IContactData';\nimport { selectOktaId, selectUserDataLoaded } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { Branding } from '../store/state/user-settings.state';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserSettingsService {\n constructor(private http: HttpClient, private store: Store) {\n this.store\n .select(selectOktaId)\n .pipe(\n filter(value => !!value),\n take(1)\n )\n .subscribe(data => {\n this.oktaId = JSON.parse(JSON.stringify(data));\n });\n }\n\n private _oktaId: string;\n\n get oktaId(): string {\n return this._oktaId;\n }\n\n set oktaId(value: string) {\n this._oktaId = value;\n }\n\n getFieldsData(brandingType: 'Office' | 'Individual' | 'Team') {\n return this.store.select(selectUserDataLoaded).pipe(\n filter(v => !!v),\n take(1),\n switchMap(() => {\n return this.initializeIndividualFieldsFromAPI(brandingType);\n }),\n map(response => {\n return {\n contact: response.contactData,\n social: response.socialData,\n photo: response.photoData\n };\n })\n );\n }\n\n updateUserContactField(contactData: IContactData) {\n return combineLatest([this.updateContact(contactData), of(contactData)]);\n }\n\n getOfficeDetails(officeId: string) {\n return this.http.get(`${environment.apiBaseUrl}/api/contact/GetUpdatedOffice/${this.oktaId}?officeMasterId=${officeId}`);\n }\n\n getTeamDetails(teamMasterId: string) {\n return this.http.get(`${environment.apiBaseUrl}/api/contact/GetUpdatedTeam/${this.oktaId}?teamMasterId=${teamMasterId}`);\n }\n\n updateLicenseNbrToAPI(licenseNbr: string) {\n let lic = licenseNbr.split(' ');\n return this.http.get(`${environment.apiBaseUrl}/api/contact/getlicensenbr/${this.oktaId}?nbr=${lic[1]}`);\n }\n\n private initializeIndividualFieldsFromAPI(brandingType: Branding) {\n return this.getContact(brandingType);\n }\n\n private getContact(type: Branding): Observable {\n return this.http.get(`${environment.apiBaseUrl}/api/contact/get${type}/${this.oktaId}`);\n }\n\n private updateContact(contactData: IContactData) {\n return this.http.post(`${environment.apiBaseUrl}/api/contact/postContact/${this.oktaId}`, contactData);\n }\n\n updateContactTypeToAPI(brandingType: Branding) {\n return this.http.post(\n `${environment.apiBaseUrl}/api/Contact/PostContactType/${this.oktaId}?contactType=${brandingType}`,\n null\n );\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { IWootric } from 'app/models/IWootric';\nimport { selectBrandCode } from 'app/store/selectors/applicationData.selector';\nimport { environment } from 'environments/environment';\nimport { LOCAL_STORAGE, StorageService } from 'ngx-webstorage-service';\nimport { combineLatest, of } from 'rxjs';\nimport { filter, map, mergeMap, switchMap, take } from 'rxjs/operators';\nimport { MlsInfoModalComponent } from '../components/modals/mls-modals/mls-info-modal/mls-info-modal.component';\nimport {\n MlsSelectionModalComponent\n} from '../components/modals/mls-modals/mls-selection-modal/mls-selection-modal.component';\nimport { NoMlsModalComponent } from '../components/modals/mls-modals/no-mls-modal/no-mls-modal.component';\nimport { Avatar } from '../models/IApplicationData';\nimport { IMlsData } from '../models/IMlsData';\nimport { IUser } from '../models/IUser';\nimport { PendingDataBaseFilterUpdate, SuccessUpdateV2FilterUpdates } from '../store/actions/filtersData.action';\nimport { UpdateMarketReportFilters } from '../store/actions/market-position.action';\nimport { SetMLS } from '../store/actions/mls.action';\nimport { filtersLoaded, selectV2FiltersStatus } from '../store/selectors/filters.selector';\nimport { mlsLoaded, selectAvailableMLSList, selectCurrentMLS } from '../store/selectors/mls.selector';\nimport { selectUser } from '../store/selectors/userData.selector';\nimport { IAppState } from '../store/state/app.state';\nimport { MlsService } from './mls.service';\nimport { ModalService } from './modal.service';\nimport { TenantCode } from './tenant.service';\nimport { ThemeService } from './theme.service';\n\nexport interface OnSetUserAvatarCSS {\n setUserAvatarCSS(avatar: Avatar, cssStyles: {}): void;\n}\n\ninterface SelectionModalData {\n saveMLS: boolean;\n selectedMLS: IMlsData;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserDataService {\n constructor(\n private http: HttpClient,\n private store: Store,\n private modalService: ModalService,\n private themeService: ThemeService,\n private mlsService: MlsService,\n @Inject(LOCAL_STORAGE) private storage: StorageService\n ) {\n this.store\n .select(selectBrandCode)\n .pipe(filter(v => !!v))\n .subscribe(() => {\n this.isSIR = this.themeService.isSIR();\n });\n }\n\n private headers: HttpHeaders;\n private businessUnit: string = 'RBG';\n private _isSIR: boolean;\n\n get isSIR(): boolean {\n return this._isSIR;\n }\n\n set isSIR(value: boolean) {\n this._isSIR = value;\n }\n\n private _isCBA: boolean;\n\n get isCBA(): boolean {\n return this._isCBA;\n }\n\n set isCBA(value: boolean) {\n this._isCBA = value;\n }\n\n private _avatarInfo: Avatar;\n\n get avatarInfo(): Avatar {\n return this._avatarInfo;\n }\n\n set avatarInfo(value: Avatar) {\n this._avatarInfo = value;\n }\n\n private static generateAvatarCSS(avatar: Avatar, viewPortSize: number) {\n const picStyles = {};\n if (!avatar) {\n picStyles['background-position'] = 'top left';\n picStyles['background-size'] = 'cover';\n return picStyles;\n }\n\n let top = 0;\n let right = 0;\n let left = avatar.width;\n let bottom = avatar.height;\n\n if (avatar['face-bounding-box']) {\n const fcTop = avatar['face-bounding-box'].top;\n const fcRight = avatar['face-bounding-box'].right;\n const fcBottom = avatar['face-bounding-box'].bottom;\n const fcLeft = avatar['face-bounding-box'].left;\n\n if (fcTop > top && fcTop < bottom) {\n top = fcTop;\n }\n if (fcRight < right && fcRight > left) {\n right = fcRight;\n }\n if (fcBottom > top && fcRight < bottom) {\n bottom = fcBottom;\n }\n if (fcLeft < right && fcLeft > left) {\n left = fcLeft;\n }\n }\n\n const faceWidth = right - left;\n const faceHeight = bottom - top;\n const centerX = faceWidth / 2 + left;\n const centerY = faceHeight / 2 + top;\n\n const scaledImageWidth = Math.min(centerX, avatar.width - centerX);\n const scaledImageHeight = Math.min(centerY, avatar.height - centerY);\n const scaledImageDistance = Math.min(scaledImageHeight, scaledImageWidth);\n\n const calculatedScale = viewPortSize / (2 * scaledImageDistance);\n\n const rescaledWidth = avatar.width * calculatedScale;\n const recalculatedHeight = avatar.height * calculatedScale;\n\n const desiredLeft = Math.max(0, (centerX - scaledImageDistance) * calculatedScale);\n const desiredTop = Math.max(0, (centerY - scaledImageDistance) * calculatedScale);\n\n picStyles['background-position'] = '-' + desiredLeft.toString() + 'px -' + desiredTop.toString() + 'px';\n picStyles['background-size'] = rescaledWidth.toString() + 'px ' + recalculatedHeight.toString() + 'px';\n picStyles['background-image'] = `url(${avatar['image-url']})`;\n\n return picStyles;\n }\n\n public positionImage(component: OnSetUserAvatarCSS, avatar: Avatar, viewPortSize: number) {\n component.setUserAvatarCSS(avatar, UserDataService.generateAvatarCSS(avatar, viewPortSize));\n }\n\n getUserData(sub: string) {\n return this.http.get(`${environment.apiBaseUrl}/api/user/getuserdata/${sub}`, { headers: this.headers });\n }\n\n getUserAvatar(oktaId: string) {\n return this.http.get(`https://avatar.mycbdesk.com/api/v1/avatar?oktaId=${oktaId}`, { headers: this.headers });\n }\n\n setBusinessUnit(businessUnit): void {\n this.businessUnit = businessUnit;\n }\n\n getBusinessUnit(): string {\n return this.businessUnit;\n }\n\n getWootricData() {\n return this.store.select(selectUser).pipe(\n take(1),\n mergeMap(userClaims => {\n return this.http.get(`${environment.apiBaseUrl}/api/user/getwootricdata/${userClaims.oktaId}`, { headers: this.headers });\n })\n );\n }\n\n getUserMlsData() {\n let userHasMlsFiltersSelected: string;\n return this.store\n .select(mlsLoaded)\n .pipe(\n filter(v => v),\n mergeMap(() => this.store.select(selectAvailableMLSList)),\n map(mlsAvailableToUser => {\n if (mlsAvailableToUser?.length < 1) {\n this.modalService.open(NoMlsModalComponent, {\n data: {\n isSIR: this.isSIR,\n isCBA: this.isCBA\n }\n });\n return false;\n }\n return true;\n }),\n filter(v => v),\n switchMap(() => this.store.select(filtersLoaded)),\n filter(v => v),\n mergeMap(() => this.store.select(selectV2FiltersStatus)),\n take(1),\n mergeMap(userFilterData => {\n userHasMlsFiltersSelected = userFilterData?.mlsid.length > 0 && userFilterData?.mlsid.every(Boolean) && userFilterData.mlsid[0];\n return combineLatest([this.store.select(selectAvailableMLSList), this.store.select(selectCurrentMLS)]);\n })\n )\n .subscribe(mlsData => {\n const [mlsList, currMls] = mlsData;\n this.mlsService.mlsList = mlsList;\n if (!currMls) {\n this.store.dispatch(new SetMLS(this.mlsService.mlsList.find(i => i.mlsId === userHasMlsFiltersSelected)));\n }\n\n if (!userHasMlsFiltersSelected) {\n switch (mlsList.length) {\n case 1:\n this.openMLSInfoModal(this.mlsService.mlsList);\n break;\n default:\n this.openMLSSelectionModal(this.mlsService.mlsList);\n break;\n }\n }\n });\n }\n\n openMLSSelectionModal(availableMlsList: IMlsData[], minimal = false, selectedMls?: IMlsData) {\n const dialogRefSelection = this.modalService.open(MlsSelectionModalComponent, {\n height: 'auto',\n width: '512px',\n data: { mlsList: availableMlsList, minimal, selectedMls: selectedMls, isSIR: this._isSIR }\n });\n\n dialogRefSelection.afterClosed().subscribe((result: SelectionModalData) => {\n this.store.dispatch(\n new SuccessUpdateV2FilterUpdates({\n mlsid: [result.selectedMLS.mlsId],\n city: [],\n county: [],\n zip: []\n })\n );\n this.store.dispatch(\n new UpdateMarketReportFilters({\n mlsid: [result.selectedMLS.mlsId],\n city: [],\n county: [],\n zip: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: []\n })\n );\n this.store.dispatch(new SetMLS(result.selectedMLS));\n if (result.saveMLS) {\n this.store.dispatch(new PendingDataBaseFilterUpdate());\n }\n });\n }\n\n openMLSInfoModal(mls: IMlsData[]) {\n this.modalService.open(MlsInfoModalComponent, {\n height: '405px',\n width: '512px',\n data: { mlsId: mls[0].mlsId, legalName: mls[0].legalName, saveAsDefault: true, isSIR: this._isSIR }\n });\n this.store.dispatch(new SetMLS(mls[0]));\n this.store.dispatch(\n new SuccessUpdateV2FilterUpdates({\n mlsid: [mls[0].mlsId],\n city: [],\n county: [],\n zip: []\n })\n );\n this.store.dispatch(\n new UpdateMarketReportFilters({\n mlsid: [mls[0].mlsId],\n city: [],\n county: [],\n zip: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: []\n })\n );\n this.store.dispatch(new PendingDataBaseFilterUpdate());\n }\n\n verifyUserAvatarCache(oktaId: string) {\n const avatarCache: Avatar = this.storage.get('avatar');\n if (avatarCache?.source) {\n this.avatarInfo = avatarCache;\n return of(this.avatarInfo);\n }\n return this.getUserAvatar(oktaId);\n }\n\n syncUserAvatarCache(value: Avatar) {\n this.avatarInfo = value;\n this.storage.set('avatar', value);\n }\n\n getCannySingleSignOnToken() {\n return this.http.get(environment.apiBaseUrl + '/api/User/GetCannySSO');\n }\n\n processUserCBA(isNrt: boolean, brandCode: TenantCode) {\n this.isCBA = !isNrt && brandCode === 'CBR';\n }\n}\n","import { Action } from '@ngrx/store';\nimport { TenantCode } from '../../services/tenant.service';\nimport { IApplicationDataState } from '../state/applicationData.state';\n\nexport enum ApplicationDataActionsActionTypes {\n SetApplicationData = '[App Data] Setting Application State',\n SetBrandCode = '[App Data] Setting Brand Code',\n SetBrandCodeSuccess = '[App Data] Brand Code Changed',\n}\n\nexport class SetApplicationData implements Action {\n readonly type = ApplicationDataActionsActionTypes.SetApplicationData;\n\n constructor(public payload: IApplicationDataState) {\n }\n}\n\nexport class SetBrandCode implements Action {\n readonly type = ApplicationDataActionsActionTypes.SetBrandCode;\n\n constructor(public payload: TenantCode) {\n }\n}\n\nexport class SetBrandCodeSuccess implements Action {\n readonly type = ApplicationDataActionsActionTypes.SetBrandCodeSuccess;\n\n constructor(public payload: TenantCode) {\n }\n}\n\nexport type ApplicationDataActions = SetApplicationData | SetBrandCode | SetBrandCodeSuccess;\n","import { Action } from '@ngrx/store';\nimport { IAspTrendsDataResponse } from '../state/asp-trends.state';\n\nexport enum AspTrendsActionsActionTypes {\n FetchAspTrends = '[AspTrends] Fetch AspTrends',\n FetchAspTrendsSuccess = '[AspTrends] Fetch AspTrends Success',\n FetchAspPDF = '[AspTrends] Fetch Asp PDF',\n FetchAspPDFSuccess = '[AspTrends] Fetch Asp PDF Success'\n}\n\nexport class FetchAspTrends implements Action {\n readonly type = AspTrendsActionsActionTypes.FetchAspTrends;\n constructor(public payload: any) {}\n}\n\nexport class FetchAspTrendsSuccess implements Action {\n readonly type = AspTrendsActionsActionTypes.FetchAspTrendsSuccess;\n constructor(public payload: IAspTrendsDataResponse) {}\n}\n\nexport class FetchAspPDF implements Action {\n readonly type = AspTrendsActionsActionTypes.FetchAspPDF;\n constructor(public payload: IAspTrendsDataResponse) {}\n}\n\nexport class FetchAspPDFSuccess implements Action {\n readonly type = AspTrendsActionsActionTypes.FetchAspPDFSuccess;\n}\n\nexport type AspTrendsAction = FetchAspTrends | FetchAspTrendsSuccess | FetchAspPDF | FetchAspPDFSuccess;\n","import { Action } from '@ngrx/store';\nimport { IBreadCrumb } from '../../models/IBreadCrumb';\n\nexport enum BrowserActionsActionType {\n SetPrevUrls = '[Browser] Previous Page Path',\n RemoveLastPath = '[Browser] Remove Last Path',\n AddPath = '[Browser] Add Path',\n}\n\nexport class SetPrevUrls implements Action {\n readonly type = BrowserActionsActionType.SetPrevUrls;\n\n constructor(public payload: IBreadCrumb[]) {\n }\n}\n\nexport class RemoveLastPath implements Action {\n readonly type = BrowserActionsActionType.RemoveLastPath;\n}\n\nexport class AddPath implements Action {\n readonly type = BrowserActionsActionType.AddPath;\n\n constructor(public payload: IBreadCrumb) {\n }\n}\n\nexport type BrowserDataActions = SetPrevUrls | RemoveLastPath | AddPath;\n","import { Action } from '@ngrx/store';\nimport { ICustomDataDetails } from '../../models/ICustomDataTypeEnum';\nimport { ICustomReportPostData } from '../../models/ICustomReportPostData';\nimport { ICustomGraphSetting } from '../state/custom-report.state';\nimport { ICustomReportOptions } from '../../models/ICustomReportOptions';\n\nexport enum CustomReportActionsActionTypes {\n FetchCustomReports = '[Custom Report] Fetch Report Data API Call',\n FetchCustomReportsSuccess = '[Custom Report] Fetch Report Data API Call Success',\n FetchCustomReportError = '[Custom Report] Fetch Report Data API Call Error',\n ResetCustomReportData = '[Custom Report] Reset Report Data',\n AdjustCustomReportDisplayAs = '[Custom Report] Adjust Custom Report DisplayAs',\n ResetCustomReportDisplayAs = '[Custom Report] Reset Custom Report Controls',\n AdjustCustomReportDataTypes = '[Custom Report] Adjust Custom Report Data Types',\n ResetCustomReportDataTypes = '[Custom Report] Reset Custom Report Data Types',\n SetCustomReportGraphAxis = '[Custom Report] Set Custom Report Graph Axis',\n SetDataTableShowAll = '[Custom Report] Toggle Data Table Show All',\n FetchCustomReportPdf = '[Custom Report] Fetch PDF Download',\n FetchCustomReportPdfSuccess = '[Custom Report] Fetch PDF Download Success',\n FetchCustomReportPdfError = '[Custom Report] Fetch PDF Error Occurred'\n}\n\nexport class SetDataTableShowAll implements Action {\n readonly type = CustomReportActionsActionTypes.SetDataTableShowAll;\n constructor(public payload: boolean) {}\n}\n\nexport class ResetCustomReportData implements Action {\n readonly type = CustomReportActionsActionTypes.ResetCustomReportData;\n}\n\nexport class SetCustomReportGraphAxis implements Action {\n readonly type = CustomReportActionsActionTypes.SetCustomReportGraphAxis;\n constructor(public payload: (0 | 1)[]) {}\n}\n\nexport class FetchCustomReports implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReports;\n\n constructor(public payload: ICustomReportPostData) {}\n}\n\nexport class FetchCustomReportsSuccess implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReportsSuccess;\n constructor(public payload: ICustomDataDetails) {}\n}\n\nexport class FetchCustomReportsError implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReportError;\n}\n\nexport class AdjustCustomReportDataTypes implements Action {\n readonly type = CustomReportActionsActionTypes.AdjustCustomReportDataTypes;\n constructor(public payload: ICustomGraphSetting) {}\n}\n\nexport class ResetCustomReportDataTypes implements Action {\n readonly type = CustomReportActionsActionTypes.ResetCustomReportDataTypes;\n}\n\nexport class AdjustCustomReportDisplayAs implements Action {\n readonly type = CustomReportActionsActionTypes.AdjustCustomReportDisplayAs;\n constructor(public payload: ICustomGraphSetting) {}\n}\n\nexport class ResetCustomReportDisplayAs implements Action {\n readonly type = CustomReportActionsActionTypes.ResetCustomReportDisplayAs;\n}\n\nexport class FetchCustomReportPdfSuccess implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReportPdfSuccess;\n}\n\nexport class FetchCustomReportPdfError implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReportPdfError;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchCustomReportPdf implements Action {\n readonly type = CustomReportActionsActionTypes.FetchCustomReportPdf;\n\n constructor(public payload: ICustomReportOptions) {}\n}\n\nexport type CustomReportAction =\n | FetchCustomReports\n | FetchCustomReportsError\n | FetchCustomReportsSuccess\n | FetchCustomReportPdf\n | FetchCustomReportPdfError\n | FetchCustomReportPdfSuccess\n | AdjustCustomReportDisplayAs\n | ResetCustomReportDisplayAs\n | AdjustCustomReportDataTypes\n | SetCustomReportGraphAxis\n | ResetCustomReportData\n | ResetCustomReportDataTypes\n | SetDataTableShowAll;\n","import { Action } from '@ngrx/store';\nimport { IFeature } from '../../models/IFeature';\n\nexport enum FeatureDataActionsActionTypes {\n FetchFeaturesByOktaId = '[Feature] Init FeaturesData API Call',\n FetchFeaturesSuccess = '[Feature] Received FeatureData API Call'\n}\n\nexport class FetchFeaturesByOktaId implements Action {\n constructor(public payload: string) {}\n readonly type = FeatureDataActionsActionTypes.FetchFeaturesByOktaId;\n}\n\nexport class FetchFeaturesSuccess implements Action {\n readonly type = FeatureDataActionsActionTypes.FetchFeaturesSuccess;\n\n constructor(public payload: IFeature[]) {}\n}\n\nexport type FeatureDataActions = FetchFeaturesByOktaId | FetchFeaturesSuccess;\n","import { Action } from '@ngrx/store';\nimport { FilterState, LocationSubPanel } from '../../models/FilterData';\nimport { IChips } from '../../models/IChips';\n\nexport enum FilterDataActionsActionTypes {\n ResetCustomFilter = '[CustomFilter] Clearing Custom Filter state',\n ClearClaimsFilters = '[#1 Claims Local Filters] Clear Claims Filters',\n FetchV2FiltersFromApi = '[#1 Claims Remote Filters] Fetch Filters from API',\n PendingDataBaseFilterUpdate = '[#1 Claims Remote Filters] Filter Update Pending',\n ApiResultsReceived = '[#1 Claims Remote Filters] Filter Update Received',\n SuccessUpdateV2FilterUpdates = '[#1 Claims Local Filters] Filter State Updated',\n ToggleV2FilterMenu = '[#1 Claims Filter Menu] Toggle Menu',\n SetCurrentPage = '[#1 Claims Pagination] Setting New Current Page',\n SetSortAscending = '[#1 Claims Pagination] Change Sort Order',\n SetPageCardSize = '[#1 Claims Pagination] Change Max Cards Per Page',\n RemoveSingleFilter = '[#1 Claims Chips] Remove Single Filter',\n UpdateClaimsFilters = '[#1 Claims Filters] Update Results Button Pressed',\n ReportFiltersOpen = '[#1 Claims Filters] Reports Filters Are Open',\n LocationSubPanelsOpen = '[#1 Claims Filters] Location Sub Panel Change ',\n SetPendingFilterChanges = '[#1 Claims Filters] Set Pending Filter Changes'\n}\n\nexport class SetPendingFilterChanges implements Action {\n readonly type = FilterDataActionsActionTypes.SetPendingFilterChanges;\n constructor(public payload: boolean) {}\n}\n\nexport class FilterApiResultsReceived implements Action {\n readonly type = FilterDataActionsActionTypes.ApiResultsReceived;\n}\n\nexport class PendingDataBaseFilterUpdate implements Action {\n readonly type = FilterDataActionsActionTypes.PendingDataBaseFilterUpdate;\n}\n\nexport class ResetCustomFilter implements Action {\n readonly type = FilterDataActionsActionTypes.ResetCustomFilter;\n}\n\nexport class SuccessUpdateV2FilterUpdates implements Action {\n readonly type = FilterDataActionsActionTypes.SuccessUpdateV2FilterUpdates;\n\n constructor(public payload: FilterState) {}\n}\n\nexport class ClearClaimsFilters implements Action {\n readonly type = FilterDataActionsActionTypes.ClearClaimsFilters;\n}\n\nexport class FetchV2FiltersFromApi implements Action {\n readonly type = FilterDataActionsActionTypes.FetchV2FiltersFromApi;\n}\n\nexport class ToggleV2FilterMenu implements Action {\n readonly type = FilterDataActionsActionTypes.ToggleV2FilterMenu;\n}\n\nexport class SetCurrentPage implements Action {\n readonly type = FilterDataActionsActionTypes.SetCurrentPage;\n\n constructor(public payload: number) {}\n}\n\nexport class SetSortAscending implements Action {\n readonly type = FilterDataActionsActionTypes.SetSortAscending;\n\n constructor(public payload: boolean) {}\n}\n\nexport class SetPageCardSize implements Action {\n readonly type = FilterDataActionsActionTypes.SetPageCardSize;\n\n constructor(public payload: number) {}\n}\n\nexport class RemoveSingleFilter implements Action {\n readonly type = FilterDataActionsActionTypes.RemoveSingleFilter;\n\n constructor(public payload: IChips) {}\n}\n\nexport class UpdateClaimsFilters implements Action {\n readonly type = FilterDataActionsActionTypes.UpdateClaimsFilters;\n\n constructor(public payload: boolean) {}\n}\n\nexport class ReportFiltersOpen implements Action {\n readonly type = FilterDataActionsActionTypes.ReportFiltersOpen;\n\n constructor(public payload: boolean) {}\n}\n\nexport class LocationSubPanelsOpen implements Action {\n readonly type = FilterDataActionsActionTypes.LocationSubPanelsOpen;\n\n constructor(public payload: LocationSubPanel) {}\n}\n\nexport type FilterDataActions =\n | PendingDataBaseFilterUpdate\n | ResetCustomFilter\n | ClearClaimsFilters\n | FetchV2FiltersFromApi\n | SuccessUpdateV2FilterUpdates\n | FilterApiResultsReceived\n | ToggleV2FilterMenu\n | SetCurrentPage\n | SetSortAscending\n | SetPageCardSize\n | RemoveSingleFilter\n | UpdateClaimsFilters\n | ReportFiltersOpen\n | LocationSubPanelsOpen\n | SetPendingFilterChanges;\n","import { Action } from '@ngrx/store';\nimport { GalleryImage } from '../../models/GalleryImage';\n\nexport enum GalleryActionsActionTypes {\n FetchUsersGalleryImages = '[Gallery] Fetch Gallery Images',\n FetchUsersGalleryImagesSuccess = '[Gallery] Set Gallery of Images',\n SetGalleryImageAsDefaultPending = '[Gallery] Attempt to Set Image to User DB',\n SetGalleryImageAsDefaultSuccess = '[Gallery] Successfully Set Image to User DB',\n ToggleGallery = '[Gallery] Toggle Gallery Open/close',\n GalleryPendingChange = '[Gallery] Default Change Pending',\n ShowLargeGalleryImage = '[Gallery] Expanding Gallery To Show Large Image',\n CloseSlideShow = '[Gallery] SlideShow Closing'\n}\n\nexport class FetchUsersGalleryImages implements Action {\n readonly type = GalleryActionsActionTypes.FetchUsersGalleryImages;\n}\n\nexport class FetchUsersGalleryImagesSuccess implements Action {\n readonly type = GalleryActionsActionTypes.FetchUsersGalleryImagesSuccess;\n\n constructor(public payload) {}\n}\n\nexport class SetGalleryImageAsDefaultPending implements Action {\n readonly type = GalleryActionsActionTypes.SetGalleryImageAsDefaultPending;\n\n constructor(public payload: GalleryImage) {}\n}\n\nexport class SetGalleryImageAsDefaultSuccess implements Action {\n readonly type = GalleryActionsActionTypes.SetGalleryImageAsDefaultSuccess;\n}\n\nexport class ToggleGallery implements Action {\n readonly type = GalleryActionsActionTypes.ToggleGallery;\n\n constructor(public payload?: boolean) {}\n}\n\nexport class GalleryPendingChange implements Action {\n readonly type = GalleryActionsActionTypes.GalleryPendingChange;\n\n constructor(public payload: GalleryImage) {}\n}\n\nexport class ShowLargeGalleryImage implements Action {\n readonly type = GalleryActionsActionTypes.ShowLargeGalleryImage;\n\n constructor(public payload: GalleryImage) {}\n}\n\nexport class CloseSlideShow implements Action {\n readonly type = GalleryActionsActionTypes.CloseSlideShow;\n}\n\nexport type GalleryActions =\n | FetchUsersGalleryImages\n | SetGalleryImageAsDefaultPending\n | SetGalleryImageAsDefaultSuccess\n | FetchUsersGalleryImagesSuccess\n | ToggleGallery\n | GalleryPendingChange\n | ShowLargeGalleryImage\n | CloseSlideShow;\n","import { Action } from '@ngrx/store';\n\nexport enum GtmActionsTypes {\n SnapshotGtm = '[GTM] Snapshot GTM Event',\n ExportClaimsGtm = '[GTM] Export Claims GTM Event',\n ExportMarketGtm = '[GTM] Export Market GTM Event'\n}\n\nexport class SnapshotGtm implements Action {\n readonly type = GtmActionsTypes.SnapshotGtm;\n\n constructor(public payload: string) {}\n}\n\nexport class ExportClaimsGtm implements Action {\n readonly type = GtmActionsTypes.ExportClaimsGtm;\n\n constructor(public payload: string) {}\n}\n\nexport class ExportMarketGtm implements Action {\n readonly type = GtmActionsTypes.ExportMarketGtm;\n\n constructor(public payload: string) {}\n}\n","import { Action } from '@ngrx/store';\nimport { ILocationsData } from '../../models/ILocationsData';\n\nexport enum LocationsActionsActionTypes {\n FetchLocations = '[Locations] Fetch Locations Data API Call',\n FetchLocationsSuccess = '[Locations] Fetched Locations Data API Successful',\n FetchLocationsLoaded = '[Locations] Locations loaded into State',\n FetchMarketLocations = '[Market Locations] Getting Locations For Filters',\n FetchMarketLocationsSuccess = '[Market Locations] Received Locations For Filters',\n FetchMarketLocationsLoaded = '[Market Locations] Market Locations loaded into State'\n}\n\nexport class FetchLocations implements Action {\n readonly type = LocationsActionsActionTypes.FetchLocations;\n\n constructor(public payload: string = '') {}\n}\n\nexport class FetchLocationsSuccess implements Action {\n readonly type = LocationsActionsActionTypes.FetchLocationsSuccess;\n\n constructor(public payload: ILocationsData[]) {}\n}\n\nexport class FetchLocationsLoaded implements Action {\n readonly type = LocationsActionsActionTypes.FetchLocationsLoaded;\n}\n\nexport class FetchMarketLocations implements Action {\n readonly type = LocationsActionsActionTypes.FetchMarketLocations;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchMarketLocationsSuccess implements Action {\n readonly type = LocationsActionsActionTypes.FetchMarketLocationsSuccess;\n\n constructor(public payload: any) {}\n}\n\nexport class FetchMarketLocationsLoaded implements Action {\n readonly type = LocationsActionsActionTypes.FetchMarketLocationsLoaded;\n}\n\nexport type LocationsActions =\n | FetchLocations\n | FetchLocationsSuccess\n | FetchLocationsLoaded\n | FetchMarketLocations\n | FetchMarketLocationsSuccess\n | FetchMarketLocationsLoaded;\n","import { Action } from '@ngrx/store';\nimport { IChips } from '../../models/IChips';\nimport { IMarketReportDate } from '../../models/IMarketReportDate';\nimport { MarketFilters, MarketLocationSubPanel } from '../../models/IMarketReportFilters';\n\nexport enum MarketPositionDataActionsActionTypes {\n FetchMarketReports = '[Market Position] Fetch Market Report Data API Call',\n FetchMarketReportsSuccess = '[Market Position] Received Market Report Data API Call',\n FetchMarketReportsError = '[Market Position] No Data Received From Market Report Data API Call',\n UpdateMarketReportFilters = '[Market Position] Updating Filters For Market Report',\n ResetMarketReportFilters = '[Market Position] Resetting Market Filters',\n ResetMarketReportFiltersSuccess = '[Market Position] Market Filters Cleared',\n SetDatesAvailable = '[Market Position] Set Available Date Ranges',\n FetchDatesAvailable = '[Market Position] Fetch Available Date Ranges',\n RemoveSingleMarketFilter = '[V2 Chips] Remove Single Market Position Filter',\n FetchEndDate = '[Market Position] Fetch Market End Date',\n SetEndDate = '[Market Position] Set Ending Disclaimer Date',\n SetShowPercentage = '[Market Position] Set Show As Percentage Toggle',\n MPFiltersDirty = '[Market Position] Update Filters isDirty',\n UpdateMarketPositionFilters = '[Market Position] Update Results Button Pressed',\n LocationFiltersOpen = '[Market Position] Locations Filters Are Open',\n ReportFiltersOpen = '[Market Position] Reports Filters Are Open',\n LocationSubPanelsOpen = '[Market Position] Location Sub Panel Open',\n ClearMarketClaimsFilters = '[Market Position] Clear Market Position Claims Report Filters',\n MPPricesDirty = '[Market Position] Update Prices isDirty'\n}\n\nexport class FetchMarketReportsError implements Action {\n readonly type = MarketPositionDataActionsActionTypes.FetchMarketReportsError;\n}\n\nexport class FetchMarketReports implements Action {\n readonly type = MarketPositionDataActionsActionTypes.FetchMarketReports;\n\n constructor(public payload: { mlsId: string; marketFilters: MarketFilters }) {}\n}\n\nexport class FetchMarketReportsSuccess implements Action {\n readonly type = MarketPositionDataActionsActionTypes.FetchMarketReportsSuccess;\n\n constructor(public payload: any) {}\n}\n\nexport class UpdateMarketReportFilters implements Action {\n readonly type = MarketPositionDataActionsActionTypes.UpdateMarketReportFilters;\n\n constructor(public payload: MarketFilters) {}\n}\n\nexport class ResetMarketReportFilters implements Action {\n readonly type = MarketPositionDataActionsActionTypes.ResetMarketReportFilters;\n\n constructor(public payload: boolean) {}\n}\n\nexport class ResetMarketReportFiltersSuccess implements Action {\n readonly type = MarketPositionDataActionsActionTypes.ResetMarketReportFiltersSuccess;\n}\n\nexport class SetDatesAvailable implements Action {\n readonly type = MarketPositionDataActionsActionTypes.SetDatesAvailable;\n\n constructor(public payload: IMarketReportDate[]) {}\n}\n\nexport class FetchDatesAvailable implements Action {\n readonly type = MarketPositionDataActionsActionTypes.FetchDatesAvailable;\n}\n\nexport class FetchEndDate implements Action {\n readonly type = MarketPositionDataActionsActionTypes.FetchEndDate;\n}\n\nexport class SetEndDate implements Action {\n readonly type = MarketPositionDataActionsActionTypes.SetEndDate;\n\n constructor(public payload: any) {}\n}\n\nexport class RemoveSingleMarketFilter implements Action {\n readonly type = MarketPositionDataActionsActionTypes.RemoveSingleMarketFilter;\n\n constructor(public payload: IChips) {}\n}\n\nexport class SetShowPercentage implements Action {\n readonly type = MarketPositionDataActionsActionTypes.SetShowPercentage;\n\n constructor(public payload: any) {}\n}\n\nexport class MPFiltersDirty implements Action {\n readonly type = MarketPositionDataActionsActionTypes.MPFiltersDirty;\n\n constructor(public payload: boolean) {}\n}\n\nexport class UpdateMarketPositionFilters implements Action {\n readonly type = MarketPositionDataActionsActionTypes.UpdateMarketPositionFilters;\n\n constructor(public payload: boolean) {}\n}\n\nexport class LocationFiltersOpen implements Action {\n readonly type = MarketPositionDataActionsActionTypes.LocationFiltersOpen;\n\n constructor(public payload: boolean) {}\n}\n\nexport class ReportFiltersOpen implements Action {\n readonly type = MarketPositionDataActionsActionTypes.ReportFiltersOpen;\n\n constructor(public payload: boolean) {}\n}\n\nexport class LocationSubPanelsOpen implements Action {\n readonly type = MarketPositionDataActionsActionTypes.LocationSubPanelsOpen;\n\n constructor(public payload: MarketLocationSubPanel) {}\n}\n\nexport class ClearMarketClaimsFilters implements Action {\n readonly type = MarketPositionDataActionsActionTypes.ClearMarketClaimsFilters;\n}\n\nexport class MPPricesDirty implements Action {\n readonly type = MarketPositionDataActionsActionTypes.MPPricesDirty;\n\n constructor(public payload: boolean) {}\n}\n\nexport type MarketPositionAction =\n | FetchMarketReports\n | FetchMarketReportsError\n | FetchMarketReportsSuccess\n | UpdateMarketReportFilters\n | ResetMarketReportFilters\n | ResetMarketReportFiltersSuccess\n | SetDatesAvailable\n | FetchDatesAvailable\n | RemoveSingleMarketFilter\n | FetchEndDate\n | SetEndDate\n | SetShowPercentage\n | MPFiltersDirty\n | UpdateMarketPositionFilters\n | LocationFiltersOpen\n | ReportFiltersOpen\n | LocationSubPanelsOpen\n | ClearMarketClaimsFilters\n | MPPricesDirty;\n","import { Action } from '@ngrx/store';\nimport { DefaultFilters } from '../../models/IFilters';\nimport { ILocationsData } from '../../models/ILocationsData';\nimport { IMarketSnapshotFormGroup } from '../../models/IMarketSnapshotFormGroup';\n\nexport enum MarketSnapshotActionsTypes {\n FetchSnapshotData = '[Snapshot] Fetch API Data',\n FetchSnapshotDataError = '[Snapshot] Fetch API Data Error',\n FetchSnapshotDataSuccess = '[Snapshot] Fetch API Data Success',\n ResetSnapshotData = '[Snapshot] Reset Snapshot Data',\n AddLocationFilter = '[Snapshot] Add Location Filter To Array',\n SetLocationFilter = '[Snapshot] Override Location Filters',\n ClearSnapshotLocationFilter = '[Snapshot] Clear Location Filters',\n UpdateUserSnapshotDefaultLocationToApi = '[Snapshot] Saving User Selected Location to DB',\n UpdateLocalSnapshotDefaultFilters = '[Snapshot] Update Local Default Filters'\n}\n\nexport class SetUserSnapshotDefaultLocation implements Action {\n readonly type = MarketSnapshotActionsTypes.UpdateUserSnapshotDefaultLocationToApi;\n\n constructor(public payload: DefaultFilters) {}\n}\n\nexport class UpdateLocalSnapshotDefaultFilters implements Action {\n readonly type = MarketSnapshotActionsTypes.UpdateLocalSnapshotDefaultFilters;\n\n constructor(public payload: ILocationsData) {}\n}\n\nexport class FetchSnapshotData implements Action {\n readonly type = MarketSnapshotActionsTypes.FetchSnapshotData;\n\n constructor(public payload: IMarketSnapshotFormGroup) {}\n}\n\nexport class ResetSnapshotData implements Action {\n readonly type = MarketSnapshotActionsTypes.ResetSnapshotData;\n}\n\nexport class ClearSnapshotLocationFilter implements Action {\n readonly type = MarketSnapshotActionsTypes.ClearSnapshotLocationFilter;\n}\n\nexport class FetchSnapshotDataError implements Action {\n readonly type = MarketSnapshotActionsTypes.FetchSnapshotDataError;\n}\n\nexport class FetchSnapshotDataSuccess implements Action {\n readonly type = MarketSnapshotActionsTypes.FetchSnapshotDataSuccess;\n\n constructor(public payload: any) {}\n}\n\nexport class AddLocationFilter implements Action {\n readonly type = MarketSnapshotActionsTypes.AddLocationFilter;\n\n constructor(public payload: ILocationsData) {}\n}\n\nexport class SetLocationFilter implements Action {\n readonly type = MarketSnapshotActionsTypes.SetLocationFilter;\n\n constructor(public payload: ILocationsData) {}\n}\n\nexport type MarketSnapshotAction =\n | FetchSnapshotData\n | FetchSnapshotDataError\n | FetchSnapshotDataSuccess\n | ResetSnapshotData\n | AddLocationFilter\n | SetLocationFilter\n | ClearSnapshotLocationFilter\n | UpdateLocalSnapshotDefaultFilters\n | SetUserSnapshotDefaultLocation;\n","import { Action } from '@ngrx/store';\nimport { IChips } from '../../models/IChips';\nimport { MarketLocationSubPanel } from '../../models/IMarketReportFilters';\nimport { IMarketTrendsData } from '../../models/IMarketTrendsData';\nimport { TrendsFilters } from '../../models/IMarketTrendsFilters';\nimport { ITrendsOptions } from '../../models/ITrendsOptions';\n\nexport enum MarketTrendsDataActionsActionTypes {\n FetchTrendsLocations = '[Market Trends] Getting Locations For Filters',\n FetchTrendsLocationsSuccess = '[Market Trends] Received Locations For Filters',\n FetchTrendsReports = '[Market Trends] Fetch Trends Report Data API Call',\n FetchTrendsReportsSuccess = '[Market Trends] Received Trends Report Data API Call',\n FetchTrendsReportsError = '[Market Trends] No Data Received From Trends Report Data API Call',\n UpdateTrendsReportFilters = '[Market Trends] Updating Filters For Trends Report',\n ResetTrendsReportFilters = '[Market Trends] Resetting Trends Filters',\n ResetTrendsReportFiltersSuccess = '[Market Trends] Trends Filters Cleared',\n FetchEndDate = '[Market Trends] Fetch Trends End Date',\n SetEndDate = '[Market Trends] Set Ending Disclaimer Date',\n UpdateTrendsPdfOptions = '[Market Trends] Updating Options for Trends Report PDF',\n ResetTrendsPdfOptions = '[Market Trends] Reset Options for Trends Report PDF',\n ResetTrendsOptions = '[Market Trends] Resetting Trends Options',\n ResetTrendsOptionsSuccess = '[Market Trends] Trends Options Cleared',\n MTFiltersDirty = '[Market Trends] Update Filters isDirty',\n UpdateTrendsFiltersPressed = '[Market Trends] Update Results Button Pressed',\n TrendsLocationFiltersOpen = '[Market Trends] Locations Filters Are Open',\n TrendsReportFiltersOpen = '[Market Trends] Reports Filters Are Open',\n UpdateTrendsTableType = '[Market Trends] Update Table Type',\n FetchTrendsPdf = '[Market Trends] Fetch PDF Download',\n FetchTrendsPdfSuccess = '[Market Trends] Fetch PDF Download Success',\n FetchTrendsPdfError = '[Market Trends] Fetch PDF Error Occurred',\n TrendsLocationSubPanelsOpen = '[Market Trends] Location Sub Panel Open',\n ClearTrendsReportFilters = '[Market Trends] Clear Market Trends Report Filters',\n MTPricesDirty = '[Market Trends] Update Prices isDirty',\n RemoveSingleTrendsFilter = '[Market Trends Chips] Remove Single Market Trend Filter'\n}\n\nexport class FetchTrendsPdfSuccess implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsPdfSuccess;\n}\n\nexport class FetchTrendsPdfError implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsPdfError;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchTrendsPdf implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsPdf;\n\n constructor(public payload: ITrendsOptions) {}\n}\n\nexport class UpdateTrendsTableType implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.UpdateTrendsTableType;\n\n constructor(public payload: number) {}\n}\n\nexport class FetchTrendsLocations implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsLocations;\n\n constructor(public payload: number) {}\n}\n\nexport class FetchTrendsLocationsSuccess implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsLocationsSuccess;\n\n constructor(public payload: any) {}\n}\n\nexport class FetchTrendsReportsError implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsReportsError;\n}\n\nexport class FetchTrendsReports implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsReports;\n\n constructor(public payload: { trendsFilters: TrendsFilters; mlsId: string }) {}\n}\n\nexport class FetchTrendsReportsSuccess implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchTrendsReportsSuccess;\n\n constructor(public payload: IMarketTrendsData) {}\n}\n\nexport class UpdateTrendsReportFilters implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.UpdateTrendsReportFilters;\n\n constructor(public payload: TrendsFilters) {}\n}\n\nexport class ResetTrendsReportFilters implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ResetTrendsReportFilters;\n}\n\nexport class ResetTrendsReportFiltersSuccess implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ResetTrendsReportFiltersSuccess;\n}\n\nexport class FetchEndDate implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.FetchEndDate;\n}\n\nexport class SetEndDate implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.SetEndDate;\n\n constructor(public payload: any) {}\n}\n\nexport class MTFiltersDirty implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.MTFiltersDirty;\n\n constructor(public payload: boolean) {}\n}\n\nexport class MTPricesDirty implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.MTPricesDirty;\n\n constructor(public payload: boolean) {}\n}\n\nexport class UpdateTrendsPdfOptions implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.UpdateTrendsPdfOptions;\n\n constructor(public payload: ITrendsOptions) {}\n}\n\nexport class ResetTrendsPdfOptions implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ResetTrendsPdfOptions;\n}\n\nexport class ResetTrendsOptions implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ResetTrendsOptions;\n}\n\nexport class ResetTrendsOptionsSuccess implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ResetTrendsOptionsSuccess;\n}\n\nexport class TrendsLocationFiltersOpen implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.TrendsLocationFiltersOpen;\n\n constructor(public payload: boolean) {}\n}\n\nexport class TrendsReportFiltersOpen implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.TrendsReportFiltersOpen;\n\n constructor(public payload: boolean) {}\n}\n\nexport class TrendsLocationSubPanelsOpen implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.TrendsLocationSubPanelsOpen;\n\n constructor(public payload: MarketLocationSubPanel) {}\n}\n\nexport class UpdateTrendsFiltersPressed implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.UpdateTrendsFiltersPressed;\n\n constructor(public payload: Object) {}\n}\n\nexport class ClearTrendsReportFilters implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.ClearTrendsReportFilters;\n}\n\nexport class RemoveSingleTrendsFilter implements Action {\n readonly type = MarketTrendsDataActionsActionTypes.RemoveSingleTrendsFilter;\n\n constructor(public payload: IChips) {}\n}\n\nexport type MarketTrendsAction =\n | UpdateTrendsTableType\n | FetchTrendsReports\n | FetchTrendsReportsError\n | FetchTrendsReportsSuccess\n | UpdateTrendsReportFilters\n | ResetTrendsReportFilters\n | ResetTrendsReportFiltersSuccess\n | FetchTrendsLocations\n | FetchTrendsLocationsSuccess\n | FetchEndDate\n | SetEndDate\n | MTFiltersDirty\n | ResetTrendsOptionsSuccess\n | TrendsLocationFiltersOpen\n | TrendsReportFiltersOpen\n | FetchTrendsPdfSuccess\n | FetchTrendsPdf\n | TrendsLocationSubPanelsOpen\n | UpdateTrendsFiltersPressed\n | MTPricesDirty\n | ClearTrendsReportFilters\n | RemoveSingleTrendsFilter\n | FetchTrendsPdfError\n | UpdateTrendsPdfOptions\n | ResetTrendsOptions\n | ResetTrendsPdfOptions;\n","import { Action } from '@ngrx/store';\nimport { INavButton } from '../../models/INavButton';\nimport { Banner } from '../state/menu.state';\n\nexport enum MenusActionTypes {\n SetSideBarNav = '[Menu] Setting SideBar Nav Status Manually',\n ToggleSideBarNav = '[Menu] Toggle SideBar Status',\n PushWarningBanner = '[Banners] Add banner to State',\n ToggleWarningBanner = '[Banners] Toggle banner State',\n ToggleFilterPanel = '[Filter Panel] Toggle Filter State',\n FetchNavItems = '[Nav Items] Fetch Nav Items',\n FetchNavItemsSuccess = '[Nav Items] Fetch Nav Items Success'\n}\n\nexport class FetchNavItems implements Action {\n readonly type = MenusActionTypes.FetchNavItems;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchNavItemsSuccess implements Action {\n readonly type = MenusActionTypes.FetchNavItemsSuccess;\n\n constructor(public payload: INavButton[]) {}\n}\n\nexport class SetSideBarNav implements Action {\n readonly type = MenusActionTypes.SetSideBarNav;\n\n constructor(public payload: boolean) {}\n}\n\nexport class ToggleFilterPanel implements Action {\n readonly type = MenusActionTypes.ToggleFilterPanel;\n\n constructor(public payload = null) {}\n}\n\nexport class ToggleSideBarNav implements Action {\n readonly type = MenusActionTypes.ToggleSideBarNav;\n}\n\nexport class PushWarningBanner implements Action {\n readonly type = MenusActionTypes.PushWarningBanner;\n\n constructor(public payload: Banner) {}\n}\n\nexport class ToggleWarningBanner implements Action {\n readonly type = MenusActionTypes.ToggleWarningBanner;\n\n constructor(public payload: Banner) {}\n}\n\nexport type MenusAction =\n | SetSideBarNav\n | ToggleSideBarNav\n | PushWarningBanner\n | ToggleWarningBanner\n | ToggleFilterPanel\n | FetchNavItems\n | FetchNavItemsSuccess;\n","import { Action } from '@ngrx/store';\nimport { IMlsData } from '../../models/IMlsData';\n\nexport enum MLSActionsActionTypes {\n FetchMLS = '[MLS] Fetch MLS Data API Call',\n FetchMLSSuccess = '[MLS] Fetched MLS Data API Successful',\n SetMLS = '[MLS] Set New Selected MLS',\n SetMlsSuccess = '[MLS] MLS Set Successfully'\n}\n\nexport class FetchMLS implements Action {\n readonly type = MLSActionsActionTypes.FetchMLS;\n}\n\nexport class FetchMLSSuccess implements Action {\n readonly type = MLSActionsActionTypes.FetchMLSSuccess;\n\n constructor(public payload: IMlsData[]) {\n }\n}\n\nexport class SetMLS implements Action {\n readonly type = MLSActionsActionTypes.SetMLS;\n\n constructor(public payload: IMlsData) {\n }\n}\n\nexport class SetMlsSuccess implements Action {\n readonly type = MLSActionsActionTypes.SetMlsSuccess;\n\n constructor(public payload: IMlsData) {\n }\n}\n\nexport type MLSActions = FetchMLS | FetchMLSSuccess | SetMLS | SetMlsSuccess;\n","import { Action } from '@ngrx/store';\nimport { IPdfPreviewData } from '../state/pdf.state';\n\nexport enum PdfActionsActionTypes {\n UpdatePdfOptions = '[PDF] Update Options in Preview',\n ResetPdfOptions = '[PDF] Reset Options in Preview',\n FetchReportPDF = '[PDF] Fetch Report PDF',\n FetchReportPDFSuccess = '[PDF] Fetch Report PDF Success',\n ExportPreviewToggle = '[PDF] Export Preview Window Toggle',\n SetExportPreviewData = '[PDF] Set Export Preview Data',\n ResetExportPreviewData = '[PDF] Reset Export Preview Data'\n}\n\nexport class SetExportPreviewData implements Action {\n readonly type = PdfActionsActionTypes.SetExportPreviewData;\n\n constructor(public payload: IPdfPreviewData) {}\n}\n\nexport class ResetExportPreviewData implements Action {\n readonly type = PdfActionsActionTypes.ResetExportPreviewData;\n}\n\nexport class ExportPreviewToggle implements Action {\n readonly type = PdfActionsActionTypes.ExportPreviewToggle;\n\n constructor(public payload: boolean) {}\n}\n\nexport class UpdatePdfOptions implements Action {\n readonly type = PdfActionsActionTypes.UpdatePdfOptions;\n\n constructor(public payload: any) {}\n}\n\nexport class ResetPdfOptions implements Action {\n readonly type = PdfActionsActionTypes.ResetPdfOptions;\n\n constructor() {}\n}\n\nexport class FetchReportPDFSuccess implements Action {\n readonly type = PdfActionsActionTypes.FetchReportPDFSuccess;\n}\n\nexport class FetchReportPDF implements Action {\n readonly type = PdfActionsActionTypes.FetchReportPDF;\n\n constructor(\n public payload: {\n orientation: 'landscape' | 'portrait' | null;\n reportType: number;\n isSIR?: boolean;\n showLogo?: boolean;\n showFirmName?: boolean;\n showAgentInfo?: boolean;\n showMarketPositionTable?: boolean;\n }\n ) {}\n}\n\nexport type PdfActions =\n | UpdatePdfOptions\n | ResetPdfOptions\n | FetchReportPDF\n | FetchReportPDFSuccess\n | ExportPreviewToggle\n | SetExportPreviewData\n | ResetExportPreviewData;\n","import { Action } from '@ngrx/store';\nimport { IReportData } from '../../models/IReportData';\nimport { EncryptedReportData } from '../../models/IReportPageData';\n\nexport enum ReportDataActionsActionTypes {\n FetchReportData = '[Reports] Fetch Report Data API Call',\n FetchReportsNoResults = '[Reports] Report Data API Call Returned No Results',\n FetchReportDataSuccess = '[Reports] Fetched Report Data API Successful',\n SetReportPageData = '[Reports] Setting Page Details',\n ResetReportPageData = '[Reports] Reset Page Values',\n FetchFilteredReportData = '[Reports] Setting Local Filtered Reports',\n FetchFilteredReportDataSuccess = '[Reports] Setting Local Filtered Reports Successful',\n DownloadExportFileCSV = '[Reports] Downloading Filtered Reports File - CSV',\n DownloadExportFileExcel = '[Reports] Downloading Filtered Reports File - Excel'\n}\n\nexport class DownloadExportFileCSV implements Action {\n readonly type = ReportDataActionsActionTypes.DownloadExportFileCSV;\n}\n\nexport class DownloadExportFileExcel implements Action {\n readonly type = ReportDataActionsActionTypes.DownloadExportFileExcel;\n}\n\nexport class FetchReportData implements Action {\n readonly type = ReportDataActionsActionTypes.FetchReportData;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchFilteredReportData implements Action {\n readonly type = ReportDataActionsActionTypes.FetchFilteredReportData;\n}\n\nexport class FetchFilteredReportDataSuccess implements Action {\n readonly type = ReportDataActionsActionTypes.FetchFilteredReportDataSuccess;\n\n constructor(public payload: [IReportData[], IReportData[]]) {}\n}\n\nexport class FetchReportsNoResults implements Action {\n readonly type = ReportDataActionsActionTypes.FetchReportsNoResults;\n}\n\nexport class FetchReportDataSuccess implements Action {\n readonly type = ReportDataActionsActionTypes.FetchReportDataSuccess;\n\n constructor(public payload: IReportData[]) {}\n}\n\nexport class SetReportPageData implements Action {\n readonly type = ReportDataActionsActionTypes.SetReportPageData;\n\n constructor(public payload: EncryptedReportData) {}\n}\n\nexport class ResetReportPageData implements Action {\n readonly type = ReportDataActionsActionTypes.ResetReportPageData;\n\n constructor(public payload: boolean) {}\n}\n\nexport type ReportDataActions =\n | FetchReportData\n | FetchReportDataSuccess\n | SetReportPageData\n | ResetReportPageData\n | FetchReportsNoResults\n | FetchFilteredReportDataSuccess\n | FetchFilteredReportData\n | DownloadExportFileExcel\n | DownloadExportFileCSV;\n","import { Action } from '@ngrx/store';\n\nexport enum SavedSearchActionsActionTypes {\n FetchSavedSearches = '[Saved Search] Fetch Saved Searches Data API Call',\n FetchSavedSearchesSuccess = '[Saved Search] Fetched Saved Searches Data API Successful',\n FetchSavedSearchesFailure = '[Saved Search] Fetched Saved Searches Data API Failure',\n SaveSavedSearch = '[Saved Search] Save Saved Search',\n DeleteSavedSearch = '[Saved Search] Delete Saved Search'\n}\n\nexport class FetchSavedSearches implements Action {\n readonly type = SavedSearchActionsActionTypes.FetchSavedSearches;\n\n constructor(public payload: number = 0) {}\n}\n\nexport class FetchSavedSearchesSuccess implements Action {\n readonly type = SavedSearchActionsActionTypes.FetchSavedSearchesSuccess;\n\n constructor(public payload: any) {}\n}\n\nexport class FetchSavedSearchesFailure implements Action {\n readonly type = SavedSearchActionsActionTypes.FetchSavedSearchesFailure;\n}\n\nexport class SaveSavedSearch implements Action {\n readonly type = SavedSearchActionsActionTypes.SaveSavedSearch;\n\n constructor(public payload: any) {}\n}\n\nexport class DeleteSavedSearch implements Action {\n readonly type = SavedSearchActionsActionTypes.DeleteSavedSearch;\n\n constructor(public payload: any) {}\n}\n\nexport type SavedSearchActions =\n | FetchSavedSearches\n | FetchSavedSearchesSuccess\n | FetchSavedSearchesFailure\n | SaveSavedSearch\n | DeleteSavedSearch;\n","import { Action } from '@ngrx/store';\nimport { IContactData } from '../../models/IContactData';\nimport { Branding } from '../state/user-settings.state';\n\nexport enum UserSettingsActionsActionType {\n SetBrandingTypeLocal = '[Settings] Set Branding Type Local',\n SetBrandingTypeRemote = '[Settings] Set Branding Type Remote',\n ToggleUserContactFieldStatus = '[Settings] Toggle Contact Field Status',\n ToggleUserContactFieldStatusSuccess = '[Settings] Toggle Contact Field Status Success',\n FetchContactData = '[Settings] Fetch Contact Data',\n FetchContactDataSuccess = '[Settings] Fetch Contact Data Success',\n UpdateOfficeInfo = '[Settings] Modify Office Info in State',\n UpdateTeamInfo = '[Settings] Modify Team Info in State'\n}\n\nexport class SetBrandingTypeLocal implements Action {\n readonly type = UserSettingsActionsActionType.SetBrandingTypeLocal;\n\n constructor(public payload: Branding) {}\n}\n\nexport class SetBrandingTypeRemote implements Action {\n readonly type = UserSettingsActionsActionType.SetBrandingTypeRemote;\n\n constructor(public payload: Branding) {}\n}\n\nexport class ToggleUserContactFieldStatus implements Action {\n readonly type = UserSettingsActionsActionType.ToggleUserContactFieldStatus;\n\n constructor(public payload: IContactData) {}\n}\n\nexport class ToggleUserContactFieldStatusSuccess implements Action {\n readonly type = UserSettingsActionsActionType.ToggleUserContactFieldStatusSuccess;\n\n constructor(public payload: IContactData) {}\n}\n\nexport class UpdateOfficeInfo implements Action {\n readonly type = UserSettingsActionsActionType.UpdateOfficeInfo;\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateTeamInfo implements Action {\n readonly type = UserSettingsActionsActionType.UpdateTeamInfo;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchContactData implements Action {\n readonly type = UserSettingsActionsActionType.FetchContactData;\n\n constructor(public payload: Branding) {}\n}\n\nexport class FetchContactDataSuccess implements Action {\n readonly type = UserSettingsActionsActionType.FetchContactDataSuccess;\n\n constructor(public payload: { contact: IContactData[]; social: IContactData[]; photo: IContactData[] }) {}\n}\n\nexport type UserSettingsAction =\n | SetBrandingTypeRemote\n | SetBrandingTypeLocal\n | ToggleUserContactFieldStatus\n | ToggleUserContactFieldStatusSuccess\n | FetchContactDataSuccess\n | FetchContactData\n | UpdateOfficeInfo\n | UpdateTeamInfo;\n","import { Action } from '@ngrx/store';\nimport { GalleryImage } from '../../models/GalleryImage';\nimport { Avatar } from '../../models/IApplicationData';\nimport { IUser } from '../../models/IUser';\n\nexport enum UserDataActionsActionTypes {\n FetchUserV2Data = '[User v2] Init UserData API Call',\n FetchUserDataSuccess = '[User] Received UserData API Call',\n LogoutClearUserDataState = '[Logout] Clearing UserData state',\n FetchUserAvatarDetails = '[User Avatar] Fetch info from Realogy',\n SetUserAvatarDetails = '[User Avatar] Set Avatar Info',\n FetchUserDefaultImage = '[User Data] Fetch Default Image',\n FetchUserDefaultImageSuccess = '[User Data] Fetch Default Image Success',\n UpdateUserDefaultOffice = '[User Data] Set new Active Office',\n UpdateUserDefaultTeam = '[User Data] Set new Active Team',\n UpdateUserDefaultLicense = '[User Data] Set new Default License'\n}\n\nexport class FetchUserV2Data implements Action {\n readonly type = UserDataActionsActionTypes.FetchUserV2Data;\n\n constructor(public payload: string) {}\n}\n\nexport class FetchUserDataSuccess implements Action {\n readonly type = UserDataActionsActionTypes.FetchUserDataSuccess;\n\n constructor(public payload: IUser) {}\n}\n\nexport class LogoutClearUserDataState implements Action {\n readonly type = UserDataActionsActionTypes.LogoutClearUserDataState;\n}\n\nexport class FetchUserAvatarDetails implements Action {\n readonly type = UserDataActionsActionTypes.FetchUserAvatarDetails;\n\n constructor(public payload: IUser) {}\n}\n\nexport class SetUserAvatarDetails implements Action {\n readonly type = UserDataActionsActionTypes.SetUserAvatarDetails;\n\n constructor(public payload: Avatar) {}\n}\n\nexport class FetchUserDefaultImage implements Action {\n readonly type = UserDataActionsActionTypes.FetchUserDefaultImage;\n}\n\nexport class FetchUserDefaultImageSuccess implements Action {\n readonly type = UserDataActionsActionTypes.FetchUserDefaultImageSuccess;\n\n constructor(public payload: GalleryImage[]) {}\n}\n\nexport class UpdateUserDefaultOffice implements Action {\n readonly type = UserDataActionsActionTypes.UpdateUserDefaultOffice;\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateUserDefaultTeam implements Action {\n readonly type = UserDataActionsActionTypes.UpdateUserDefaultTeam;\n\n constructor(public payload: string) {}\n}\n\nexport class UpdateUserDefaultLicense implements Action {\n readonly type = UserDataActionsActionTypes.UpdateUserDefaultLicense;\n\n constructor(public payload: string) {}\n}\n\nexport type UserDataActions =\n | FetchUserV2Data\n | FetchUserDataSuccess\n | LogoutClearUserDataState\n | FetchUserAvatarDetails\n | SetUserAvatarDetails\n | FetchUserDefaultImage\n | FetchUserDefaultImageSuccess\n | UpdateUserDefaultOffice\n | UpdateUserDefaultTeam\n | UpdateUserDefaultLicense;\n","import { Action } from '@ngrx/store';\nimport { IWootric } from '../../models/IWootric';\n\nexport enum WootricActionsActionTypes {\n FetchWootric = '[User] Init Wootric API Call',\n FetchWootricSuccess = '[User] Received Wootric API Call',\n LogoutClearWootricState = '[Logout] Clearing Wootric state',\n}\n\nexport class FetchWootric implements Action {\n readonly type = WootricActionsActionTypes.FetchWootric;\n}\n\nexport class FetchWootricSuccess implements Action {\n readonly type = WootricActionsActionTypes.FetchWootricSuccess;\n\n constructor(public payload: IWootric) {\n }\n}\n\nexport class LogoutClearWootricState implements Action {\n readonly type = WootricActionsActionTypes.LogoutClearWootricState;\n}\n\n\nexport type WootricActions =\n FetchWootric | FetchWootricSuccess | LogoutClearWootricState;\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { TenantCode } from '../../services/tenant.service';\nimport { ThemeService } from '../../services/theme.service';\nimport { UserDataService } from '../../services/userData.service';\nimport { ApplicationDataActionsActionTypes, SetBrandCode, SetBrandCodeSuccess } from '../actions/applicationData.action';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class ApplicationDataEffect {\n setCssBrand = createEffect(() =>\n this.actions$.pipe(\n ofType(ApplicationDataActionsActionTypes.SetBrandCode),\n switchMap(action => {\n return of(this.css.setBrand(action.payload));\n }),\n switchMap((brand: TenantCode) => [new SetBrandCodeSuccess(brand)])\n )\n );\n\n constructor(\n private actions$: Actions,\n private userDataService: UserDataService,\n private store: Store,\n private css: ThemeService\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { AspTrendsActionsActionTypes, FetchAspPDFSuccess, FetchAspTrends, FetchAspTrendsSuccess } from '../actions/asp-trends.action';\nimport { of, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AspTrendsService } from '../../services/asp-trends.service';\nimport { ModalService } from '../../services/modal.service';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { format } from 'date-fns';\n\n@Injectable()\nexport class AspTrendsEffect {\n constructor(\n private actions$: Actions,\n private aspTrendsSvc: AspTrendsService,\n private modalService: ModalService,\n private fileSave: FileSaverService\n ) {}\n\n fetchAspTrends$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AspTrendsActionsActionTypes.FetchAspTrends),\n switchMap(action => {\n const d = this.aspTrendsSvc.generateAspTrendsFilters(action.payload);\n return this.aspTrendsSvc.getAspTrendsData(d);\n }),\n map(data => {\n return new FetchAspTrendsSuccess(data);\n })\n )\n );\n\n fetchAspPDF$ = createEffect(() =>\n this.actions$.pipe(\n ofType(AspTrendsActionsActionTypes.FetchAspPDF),\n switchMap(action => {\n return this.aspTrendsSvc.fetchAspPDF(action.payload);\n }),\n map(data => {\n const fileName = `ASP-trends-report.pdf`;\n this.fileSave.save(data, fileName);\n return new FetchAspPDFSuccess();\n })\n )\n );\n\n fetchAspPDFSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(AspTrendsActionsActionTypes.FetchAspPDFSuccess),\n switchMap(action => of(action)),\n map(() => this.modalService.close())\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Store } from '@ngrx/store';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { catchError, map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { cloneDeep } from 'lodash-es';\nimport { format } from 'date-fns';\nimport { CustomReportService } from '../../services/custom-report.service';\nimport { ThemeService } from '../../services/theme.service';\nimport { ReportService } from 'app/services/report.service';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { GTMService } from '../../services/gtm.service';\nimport { ModalService } from '../../services/modal.service';\nimport {\n FetchCustomReportPdf,\n FetchCustomReportPdfError,\n FetchCustomReportPdfSuccess,\n CustomReportActionsActionTypes,\n FetchCustomReports,\n FetchCustomReportsError,\n FetchCustomReportsSuccess\n} from '../actions/custom-report.action';\nimport { CustomReportDataDetails, CustomReportDataTypes } from '../selectors/custom-graph.selector';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class CustomReportEffect {\n constructor(\n private actions$: Actions,\n private customReportSvc: CustomReportService,\n private store: Store,\n private snackBar: MatSnackBar,\n private gtmService: GTMService,\n private modalService: ModalService,\n private fileSaver: FileSaverService,\n private reportService: ReportService,\n private themeSvc: ThemeService\n ) {}\n\n fetchCustomReports$ = createEffect(() =>\n this.actions$.pipe(\n ofType(CustomReportActionsActionTypes.FetchCustomReports),\n switchMap(action => {\n return this.customReportSvc.generateCustomReportPostData(action.payload);\n }),\n switchMap(action => this.customReportSvc.getCustomReportData(null, action)),\n map(data => (!!data.reportData ? new FetchCustomReportsSuccess(data) : new FetchCustomReportsError())),\n catchError(() => of(new FetchCustomReportsError()))\n )\n );\n fetchCustomReportPdf$ = createEffect(() =>\n this.actions$.pipe(\n ofType(CustomReportActionsActionTypes.FetchCustomReportPdf),\n map(action => action),\n withLatestFrom(this.store.select(CustomReportDataDetails)),\n switchMap(data => {\n const [action, customReport] = data;\n const opts = cloneDeep(action.payload);\n return this.customReportSvc.fetchCustomReportPdf(customReport, opts).pipe(\n map(pdfData => {\n const append = format(new Date(customReport.header.endDate), 'MMM-yyyy');\n const fileName = `custom-report-${append}.pdf`;\n //this.gtmService.customReportExportGTM('exportCustomReport');\n this.fileSaver.save(pdfData, fileName);\n this.reportService.setDownloadSuccess(fileName);\n //this.gtmService.customReportExportSuccess(opts);\n return new FetchCustomReportPdfSuccess();\n }),\n catchError(err => {\n this.reportService.setDownloadSuccess('Download Error');\n return of(new FetchCustomReportPdfError(err.message));\n })\n );\n })\n )\n );\n\n fetchCustomReportPdfSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(CustomReportActionsActionTypes.FetchCustomReportPdfSuccess),\n switchMap(action => of(action)),\n map(() => this.modalService.close())\n ),\n { dispatch: false }\n );\n\n fetchCustomReportPdfError$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(CustomReportActionsActionTypes.FetchCustomReportPdfError),\n map(() =>\n this.snackBar.open('An Error Has Occurred', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'center'\n })\n )\n ),\n { dispatch: false }\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { FeaturesLabel, IFeature } from '../../models/IFeature';\nimport { FeatureService } from '../../services/feature.service';\nimport { FeatureDataActionsActionTypes, FetchFeaturesByOktaId, FetchFeaturesSuccess } from '../actions/featureData.action';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class FeatureDataEffect {\n fetchFeatures$ = createEffect(() =>\n this._actions$.pipe(\n ofType(FeatureDataActionsActionTypes.FetchFeaturesByOktaId),\n switchMap(action => this._featureService.getAllFeaturesForOktaId(action.payload)),\n switchMap((features: IFeature[]) => {\n return of(new FetchFeaturesSuccess(features));\n })\n )\n );\n\n constructor(private _actions$: Actions, private _store: Store, private _featureService: FeatureService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { filter, map, mergeMap, switchMap, withLatestFrom } from 'rxjs/operators';\nimport {\n DefaultClaimsFiltersEnum,\n DefaultMPFiltersEnum,\n DefaultV2FiltersEnum,\n FilterState,\n LocationDefaultEnum,\n locationTypes,\n mpLocationTypes,\n mpReportTypes,\n NumbersEnum\n} from '../../models/FilterData';\nimport { DefaultFilters } from '../../models/IFilters';\nimport { MarketFilters } from '../../models/IMarketReportFilters';\nimport { FilterService } from '../../services/filter.service';\nimport { FilterApiResultsReceived, FilterDataActionsActionTypes, SuccessUpdateV2FilterUpdates } from '../actions/filtersData.action';\nimport { UpdateMarketReportFilters } from '../actions/market-position.action';\nimport { FetchWootric } from '../actions/wootric.action';\nimport { selectV2FiltersStatus } from '../selectors/filters.selector';\nimport { selectMarketReportFilters } from '../selectors/market-position.selector';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class FilterDataEffect {\n fetchV2FiltersFromApi = createEffect(() =>\n this.actions$.pipe(\n ofType(FilterDataActionsActionTypes.FetchV2FiltersFromApi),\n map(() => this.store.dispatch(new FetchWootric())),\n switchMap(() => this.filterService.getApiDefaultFilters()),\n map(filtersFromApi => {\n // this.setUpSnapshotDefaults(filtersFromApi);\n // TODO: Revisit this once the feature to save is scoped out, with all various scenarios\n\n const prepareLocalFiltersFromApi = (item: DefaultFilters) => {\n if (item.filterTypeID === DefaultV2FiltersEnum.priceType) {\n return item.filterValue === 'true';\n }\n if (item.filterTypeID in LocationDefaultEnum || item.filterTypeID === DefaultMPFiltersEnum.propertyType) {\n const arr = item.filterValue.split(';');\n return arr.map(v => {\n if (v === '') {\n return false;\n } else {\n return Number(v);\n }\n });\n }\n if (item.filterTypeID in NumbersEnum) {\n return Number(item.filterValue);\n }\n if (item.filterTypeID === DefaultMPFiltersEnum.dateRange) {\n const [datePeriod, startDate, endDate] = item.filterValue.split(';');\n return {\n datePeriod: datePeriod,\n startDate: startDate,\n endDate: endDate\n };\n }\n\n return item.filterValue.split(';');\n };\n\n const claimsFilters = filtersFromApi.reduce(\n (obj, item) =>\n Object.assign(\n obj,\n !!DefaultClaimsFiltersEnum[item.filterTypeID]\n ? {\n [DefaultClaimsFiltersEnum[item.filterTypeID]]: prepareLocalFiltersFromApi(item)\n }\n : null\n ),\n {}\n ) as FilterState;\n\n Object.keys(claimsFilters)\n .filter(filterType => locationTypes.includes(filterType))\n .map(f => {\n if (claimsFilters[f][0] === undefined) {\n claimsFilters[f].pop();\n }\n });\n\n const mpFilters = filtersFromApi.reduce(\n (obj, item) =>\n Object.assign(\n obj,\n !!DefaultMPFiltersEnum[item.filterTypeID]\n ? {\n [DefaultMPFiltersEnum[item.filterTypeID]]: prepareLocalFiltersFromApi(item)\n }\n : null\n ),\n {}\n ) as MarketFilters;\n\n Object.keys(mpFilters)\n .filter(filterType => mpLocationTypes.includes(filterType))\n .map(f => {\n if (mpFilters[f].length && mpFilters[f][0] === undefined) {\n mpFilters[f].pop();\n }\n });\n\n Object.keys(mpFilters)\n .filter(filterType => mpReportTypes.includes(filterType))\n .map(f => {\n if (f === 'mpGroupByLevel') {\n mpFilters['groupByLevel'] = mpFilters[f];\n }\n if (f === 'mpMsTypeName') {\n mpFilters['msTypeName'] = mpFilters[f];\n }\n if (f === 'mpUnitType') {\n mpFilters['unitType'] = mpFilters[f];\n }\n });\n\n return {\n claimsFilters: claimsFilters,\n mpFilters: mpFilters\n };\n }),\n switchMap(filters => {\n return [\n new SuccessUpdateV2FilterUpdates(filters.claimsFilters),\n new UpdateMarketReportFilters(filters.mpFilters),\n new FilterApiResultsReceived()\n ];\n })\n )\n );\n postFiltersV2toApi = createEffect(\n () =>\n this.actions$.pipe(\n ofType(FilterDataActionsActionTypes.PendingDataBaseFilterUpdate),\n filter(v => v),\n withLatestFrom(this.store.select(selectV2FiltersStatus), this.store.select(selectMarketReportFilters)),\n map(([action, claimsFilters, marketFilters]) => {\n const arr: DefaultFilters[] = [];\n const filters: FilterState = cloneDeep(claimsFilters);\n const mpFilters: MarketFilters = cloneDeep(marketFilters);\n return this.filterService.buildFilterObject([filters, mpFilters], arr, -2);\n }),\n mergeMap((defaultFiltersArray: DefaultFilters[]) => {\n return this.filterService.updateUserFilterDefaults(defaultFiltersArray);\n })\n ),\n { dispatch: false }\n );\n\n constructor(private actions$: Actions, private store: Store, private filterService: FilterService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, forkJoin, of } from 'rxjs';\nimport { filter, map, switchMap } from 'rxjs/operators';\nimport { GalleryImage } from '../../models/GalleryImage';\nimport { IUser } from '../../models/IUser';\nimport { GalleryService } from '../../services/gallery.service';\nimport { OptionsService } from '../../services/options.service';\nimport {\n FetchUsersGalleryImages,\n FetchUsersGalleryImagesSuccess,\n GalleryActionsActionTypes,\n SetGalleryImageAsDefaultPending,\n SetGalleryImageAsDefaultSuccess\n} from '../actions/gallery.action';\nimport { selectUser } from '../selectors/userData.selector';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class GalleryEffect {\n fetchGalleryImages$ = createEffect(() =>\n this._actions$.pipe(\n ofType(GalleryActionsActionTypes.FetchUsersGalleryImages),\n switchMap(() => this.store.select(selectUser)),\n filter(d => !!d.oktaId),\n switchMap(user => {\n return forkJoin([this.galleryService.getGalleryImages(user.oktaId), of(this.optionService.getImagePathForReport())]);\n }),\n map(imagesAndPath => {\n const [images, path] = imagesAndPath;\n let newArray: GalleryImage[];\n\n newArray = images.map(image => {\n image.imageURL = path + image.imageURL;\n return image;\n });\n return newArray;\n }),\n map(galleryImages => new FetchUsersGalleryImagesSuccess(galleryImages))\n )\n );\n\n setGalleryImageAsDefault = createEffect(() =>\n this._actions$.pipe(\n ofType(GalleryActionsActionTypes.SetGalleryImageAsDefaultPending),\n switchMap(action => {\n return combineLatest([of(action.payload), this.store.select(selectUser)]);\n }),\n switchMap(imageAndUser => {\n const user: IUser = imageAndUser[1];\n const image: GalleryImage = imageAndUser[0];\n return this.galleryService.setDefaultImage(user.oktaId, image.msUnoBackGroundImageID);\n }),\n map(() => {\n return this.galleryService.fetchUserGallery();\n }),\n switchMap(() => {\n return [new SetGalleryImageAsDefaultSuccess()];\n })\n )\n );\n\n constructor(\n private _actions$: Actions,\n private galleryService: GalleryService,\n private store: Store,\n private optionService: OptionsService\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { map } from 'rxjs/operators';\nimport { GTMService } from '../../services/gtm.service';\nimport { GtmActionsTypes, SnapshotGtm } from '../actions/gtm.action';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class GtmEffect {\n gtmSnapshot$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(GtmActionsTypes.SnapshotGtm),\n map(action => {\n this._gtmService.snapshotGTM(action.payload);\n })\n ),\n { dispatch: false }\n );\n\n exportClaimsSnapshot$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(GtmActionsTypes.ExportClaimsGtm),\n map(action => {\n this._gtmService.claimsGTM(action.payload);\n })\n ),\n { dispatch: false }\n );\n\n exportMarketsSnapshot$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(GtmActionsTypes.ExportMarketGtm),\n map(action => {\n this._gtmService.marketGTM(action.payload);\n })\n ),\n { dispatch: false }\n );\n\n constructor(private _actions$: Actions, private _store: Store, private _gtmService: GTMService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { map, switchMap } from 'rxjs/operators';\nimport { FilterService } from '../../services/filter.service';\nimport { MarketPositionService } from '../../services/market-position.service';\nimport {\n FetchLocations,\n FetchLocationsSuccess,\n FetchMarketLocations,\n FetchMarketLocationsSuccess,\n LocationsActionsActionTypes\n} from '../actions/locations.action';\n\n@Injectable()\nexport class LocationsEffect {\n fetchLocations$ = createEffect(() =>\n this._actions$.pipe(\n ofType(LocationsActionsActionTypes.FetchLocations),\n switchMap((action: FetchLocations) => this.filterService.getLocations(action.payload)),\n map(locations => new FetchLocationsSuccess(locations))\n )\n );\n\n fetchMarketLocationData$ = createEffect(() =>\n this._actions$.pipe(\n ofType(LocationsActionsActionTypes.FetchMarketLocations),\n switchMap(action => {\n return this.marketService.getMarketLocations(action.payload);\n }),\n map(reports => new FetchMarketLocationsSuccess(reports))\n )\n );\n\n constructor(private _actions$: Actions, private filterService: FilterService, private marketService: MarketPositionService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { combineLatest, of } from 'rxjs';\nimport { catchError, map, retry, switchMap } from 'rxjs/operators';\nimport { MarketPositionService } from '../../services/market-position.service';\nimport {\n FetchDatesAvailable,\n FetchEndDate,\n FetchMarketReports,\n FetchMarketReportsError,\n FetchMarketReportsSuccess,\n MarketPositionDataActionsActionTypes,\n ResetMarketReportFilters,\n SetDatesAvailable,\n SetEndDate,\n UpdateMarketReportFilters\n} from '../actions/market-position.action';\nimport { selectMarketReportFilters } from '../selectors/market-position.selector';\nimport { selectCurrentMLS } from '../selectors/mls.selector';\nimport { selectOktaId } from '../selectors/userData.selector';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class MarketPositionEffect {\n fetchReportData$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketPositionDataActionsActionTypes.FetchMarketReports),\n switchMap(action => {\n return this.marketService.getMarketReportData(action.payload.mlsId, action.payload.marketFilters).pipe(\n map(reports => {\n this.store.dispatch(new UpdateMarketReportFilters(action.payload.marketFilters));\n return new FetchMarketReportsSuccess(reports);\n }),\n retry(3),\n catchError(() => {\n return of(new FetchMarketReportsError());\n })\n );\n })\n )\n );\n\n fetchDatesAvailable$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketPositionDataActionsActionTypes.FetchDatesAvailable),\n switchMap(() => {\n return this.marketService.getAllDateRanges();\n }),\n map(dates => new SetDatesAvailable(dates))\n )\n );\n\n fetchEndDate$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketPositionDataActionsActionTypes.FetchEndDate),\n switchMap(() => {\n return this.marketService.getEndDateRange();\n }),\n map(date => new SetEndDate(date))\n )\n );\n\n fetchDefaultFilters$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketPositionDataActionsActionTypes.ResetMarketReportFilters),\n switchMap(() => {\n return combineLatest([\n this.store.select(selectCurrentMLS),\n this.store.select(selectMarketReportFilters),\n this.store.select(selectOktaId)\n ]).pipe(\n map(combinedData => {\n const [mls, filters, oktaId] = combinedData;\n return new FetchMarketReports({\n mlsId: mls.mlsId,\n marketFilters: {\n ...filters,\n mlsid: [mls.mlsId],\n oktaId: oktaId\n }\n });\n })\n );\n })\n )\n );\n\n constructor(private _actions$: Actions, private marketService: MarketPositionService, private store: Store) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { FilterService } from '../../services/filter.service';\nimport { MarketSnapshotService } from '../../services/market-snapshot.service';\nimport {\n FetchSnapshotData,\n FetchSnapshotDataError,\n FetchSnapshotDataSuccess,\n MarketSnapshotActionsTypes,\n SetUserSnapshotDefaultLocation\n} from '../actions/market-snapshot.action';\n\n@Injectable()\nexport class MarketSnapshotEffect {\n fetchSnapshotData$ = createEffect(() =>\n this.actions.pipe(\n ofType(MarketSnapshotActionsTypes.FetchSnapshotData),\n switchMap(action => this.snapShotService.generateSnapshotPostData(action.payload)),\n switchMap(usrData => {\n return this.snapShotService.fetchMarketSnapshot(usrData.postData, usrData.mls.mlsId).pipe(\n switchMap(dataObj => {\n return [new FetchSnapshotDataSuccess(dataObj)];\n }),\n catchError(() => of(new FetchSnapshotDataError()))\n );\n })\n )\n );\n setUserSnapshotMls$ = createEffect(\n () =>\n this.actions.pipe(\n ofType(MarketSnapshotActionsTypes.UpdateUserSnapshotDefaultLocationToApi),\n switchMap(action => {\n return this.filterService.updateUserFilterDefaults([action.payload]);\n })\n ),\n { dispatch: false }\n );\n\n constructor(private actions: Actions, private snapShotService: MarketSnapshotService, private filterService: FilterService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { ReportService } from 'app/services/report.service';\nimport { format } from 'date-fns';\nimport { cloneDeep } from 'lodash-es';\nimport { FileSaverService } from 'ngx-filesaver';\nimport { of } from 'rxjs';\nimport { catchError, map, retry, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { GTMService } from '../../services/gtm.service';\nimport { MarketTrendsService } from '../../services/market-trends.service';\nimport { ModalService } from '../../services/modal.service';\nimport { ThemeService } from '../../services/theme.service';\nimport {\n FetchTrendsPdf,\n FetchTrendsPdfError,\n FetchTrendsPdfSuccess,\n FetchTrendsReports,\n FetchTrendsReportsError,\n FetchTrendsReportsSuccess,\n MarketTrendsDataActionsActionTypes,\n UpdateTrendsReportFilters\n} from '../actions/market-trends.action';\nimport { selectTrendsData, selectTrendsTableDataType } from '../selectors/market-trends.selector';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class MarketTrendsEffect {\n fetchReportData$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketTrendsDataActionsActionTypes.FetchTrendsReports),\n switchMap(action => {\n return this.trendsService.getMarketTrendsData(action.payload.trendsFilters, action.payload.mlsId).pipe(\n map(reports => {\n this.store.dispatch(new UpdateTrendsReportFilters(action.payload.trendsFilters));\n const nullData = Object.keys(reports).every(key => reports[key] === null);\n return nullData ? new FetchTrendsReportsError() : new FetchTrendsReportsSuccess(reports);\n }),\n retry(1),\n catchError(() => {\n return of(new FetchTrendsReportsError());\n })\n );\n })\n )\n );\n\n fetchTrendsPdf$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MarketTrendsDataActionsActionTypes.FetchTrendsPdf),\n map(action => action),\n withLatestFrom(this.store.select(selectTrendsData), this.store.select(selectTrendsTableDataType)),\n switchMap(data => {\n const [action, trendsData, type] = data;\n const opts = cloneDeep(action.payload);\n opts.chartdatatype = type;\n opts.issir = this.themeSvc.isSIR();\n return this.trendsService.fetchTrendsPdf(trendsData, opts).pipe(\n map(pdfData => {\n const append = format(new Date(trendsData.markettrendsheader.endDate), 'MMM-yyyy');\n const fileName = `market-trends-report-${append}.pdf`;\n this.gtmService.trendsExportGTM('exportMarketTrendsReport');\n this.fileSaver.save(pdfData, fileName);\n this.reportService.setDownloadSuccess(fileName);\n this.gtmService.trendsExportSuccess(opts);\n return new FetchTrendsPdfSuccess();\n }),\n catchError(err => {\n this.reportService.setDownloadSuccess('Download Error');\n return of(new FetchTrendsPdfError(err.message));\n })\n );\n })\n )\n );\n\n fetchTrendsPdfSuccess$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(MarketTrendsDataActionsActionTypes.FetchTrendsPdfSuccess),\n switchMap(action => of(action)),\n map(() => this.modalService.close())\n ),\n { dispatch: false }\n );\n\n fetchTrendsPdfError$ = createEffect(\n () =>\n this._actions$.pipe(\n ofType(MarketTrendsDataActionsActionTypes.FetchTrendsPdfError),\n map(() =>\n this.snackBar.open('An Error Has Occurred', '', {\n duration: 5000,\n verticalPosition: 'top',\n horizontalPosition: 'center'\n })\n )\n ),\n { dispatch: false }\n );\n\n constructor(\n private _actions$: Actions,\n private store: Store,\n private snackBar: MatSnackBar,\n private gtmService: GTMService,\n private modalService: ModalService,\n private trendsService: MarketTrendsService,\n private fileSaver: FileSaverService,\n private reportService: ReportService,\n private themeSvc: ThemeService\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { map, switchMap } from 'rxjs/operators';\nimport { NavigationService } from '../../services/navigation.service';\nimport { FetchNavItems, FetchNavItemsSuccess, MenusActionTypes } from '../actions/menus.action';\n\n@Injectable()\nexport class MenuEffect {\n fetchNavItems$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MenusActionTypes.FetchNavItems),\n switchMap(action => this.naviSvc.getLeftSideNavButtons(action.payload)),\n map(navItems => new FetchNavItemsSuccess(navItems))\n )\n );\n\n constructor(private _actions$: Actions, private naviSvc: NavigationService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { map, switchMap } from 'rxjs/operators';\nimport { FilterService } from '../../services/filter.service';\nimport { FetchLocations, FetchMarketLocations } from '../actions/locations.action';\nimport { FetchMLS, FetchMLSSuccess, MLSActionsActionTypes, SetMLS, SetMlsSuccess } from '../actions/mls.action';\n\n@Injectable()\nexport class MLSEffect {\n fetchMLS$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MLSActionsActionTypes.FetchMLS),\n switchMap(() => this.filterService.getMLS()),\n map(mls => new FetchMLSSuccess(mls))\n )\n );\n\n setMls$ = createEffect(() =>\n this._actions$.pipe(\n ofType(MLSActionsActionTypes.SetMLS),\n switchMap(action => {\n return [\n new FetchLocations(action.payload.mlsId),\n new FetchMarketLocations(action.payload.mlsId),\n new SetMlsSuccess(action.payload)\n ];\n })\n )\n );\n\n constructor(private _actions$: Actions, private filterService: FilterService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ReportService } from '../../services/report.service';\nimport { FetchReportPDF, FetchReportPDFSuccess, PdfActionsActionTypes } from '../actions/pdf.action';\n\n@Injectable()\nexport class PdfEffect {\n fetchPDF$ = createEffect(() =>\n this._actions$.pipe(\n ofType(PdfActionsActionTypes.FetchReportPDF),\n map(p => this.report.downloadPdf(p.payload)),\n switchMap(() => {\n return [new FetchReportPDFSuccess()];\n })\n )\n );\n\n constructor(private _actions$: Actions, private report: ReportService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep, mapKeys, upperFirst } from 'lodash-es';\nimport { map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { FiltersV2TimeFrameEnum } from '../../models/FilterData';\nimport { MarketFiltersDateRangeAlternateV2Enum, MarketFiltersV2Enum } from '../../models/IMarketReportFilters';\nimport { IReportData } from '../../models/IReportData';\nimport { ReportService } from '../../services/report.service';\nimport {\n DownloadExportFileCSV,\n DownloadExportFileExcel,\n FetchFilteredReportDataSuccess,\n FetchReportData,\n FetchReportDataSuccess,\n FetchReportsNoResults,\n ReportDataActionsActionTypes\n} from '../actions/reports.action';\nimport { filteredData$ } from '../selectors/reports.selectors';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class ReportDataEffect {\n fetchReportData$ = createEffect(() =>\n this.actions$.pipe(\n ofType(ReportDataActionsActionTypes.FetchReportData),\n switchMap(action => this.reportService.getReportsForUserByMls(action.payload)),\n map(reports => {\n reports.forEach(report => {\n const countyRegEx = new RegExp(MarketFiltersV2Enum.county, 'ig');\n const appendedCounty = this.reportService.getCountyString(report?.areaLocalName);\n report.areaLocalName = report?.areaLocalName?.replace(countyRegEx, appendedCounty);\n const ytdRegEx = new RegExp(MarketFiltersDateRangeAlternateV2Enum['Year To Date'], 'ig');\n report.timeFrame = report?.timeFrame?.replace(ytdRegEx, FiltersV2TimeFrameEnum.ytd);\n });\n return reports;\n }),\n switchMap(reports => {\n if (reports[0].msUnoReportID === -4) {\n return [new FetchReportDataSuccess(reports)];\n }\n if (parseInt(reports[0].areaLocalID, 10) < 0) {\n return [new FetchReportsNoResults()];\n }\n return [new FetchReportDataSuccess(reports)];\n })\n )\n );\n\n fetchFilteredReportData$ = createEffect(() =>\n this.actions$.pipe(\n ofType(ReportDataActionsActionTypes.FetchFilteredReportData),\n switchMap(() => {\n const rep = this.reportService.reports$;\n const filterData = this.reportService.filters$;\n const filteredReps = this.reportService.generateFilteredReportSet(rep, filterData);\n const pagedResults = this.reportService.selectReportsByPage(filterData.perPage, filterData.paginationCurrPage, filteredReps);\n return [new FetchFilteredReportDataSuccess([filteredReps, pagedResults])];\n })\n )\n );\n\n downloadExternalFileCsv$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ReportDataActionsActionTypes.DownloadExportFileCSV),\n switchMap(() => {\n return this.reportService.generateJsonToCsv();\n }),\n map(resp => {\n const [data, mlsId] = resp;\n ReportService.generateCSVLink(data, mlsId);\n })\n ),\n { dispatch: false }\n );\n\n downloadExternalFileExcel$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(ReportDataActionsActionTypes.DownloadExportFileExcel),\n withLatestFrom(this.store.select(filteredData$)),\n map(([action, data]) => {\n let formattedData: IReportData[] = cloneDeep(data);\n let selectedMls = formattedData[0].mlsid;\n let newData = formattedData.map(i => {\n Object.keys(i).map(reportKey => {\n if (['msUnoReportID', 'areaLocalID', 'propertyType', 'dbName'].includes(reportKey)) {\n delete i[reportKey];\n }\n });\n return mapKeys(i, function(value, key) {\n return upperFirst(key);\n });\n });\n ReportService.generateJsonToXlsx(newData, selectedMls);\n })\n ),\n { dispatch: false }\n );\n\n constructor(private actions$: Actions, private store: Store, private reportService: ReportService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { map, switchMap } from 'rxjs/operators';\nimport { MlsService } from '../../services/mls.service';\nimport { SavedSearchService } from '../../services/saved-search.service';\nimport { FetchSavedSearches, FetchSavedSearchesSuccess, SavedSearchActionsActionTypes } from '../actions/saved-search.action';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class SavedSearchEffect {\n constructor(\n private _actions$: Actions,\n private savedSearchSvc: SavedSearchService,\n private store: Store,\n private mlsSvc: MlsService\n ) {}\n\n fetchSavedSearches$ = createEffect(() =>\n this._actions$.pipe(\n ofType(SavedSearchActionsActionTypes.FetchSavedSearches),\n switchMap(() => this.savedSearchSvc.getAllSavedSearches()),\n map(savedSearches => {\n let sortArray = this.savedSearchSvc.mapSavedSearchApiResponse(savedSearches);\n Object.keys(sortArray).map((reportType: 'Uno' | 'MarketPosition' | 'MarketTrends' | 'MarketSnapshot') => {\n const currentMls = this.mlsSvc.currentMls;\n sortArray[reportType] = sortArray[reportType].map(item => {\n if (item.mlsId === currentMls.mlsId) {\n for (let location of item.data.locationFilters || []) {\n const foundLoc = this.savedSearchSvc.lookupLocationByAreaIdAndType(location.areaID, location.areaType);\n if (foundLoc) {\n location.hasData = reportType === 'Uno' ? foundLoc.hasData : true;\n }\n }\n }\n return item;\n });\n });\n return new FetchSavedSearchesSuccess(sortArray);\n })\n )\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { throwError } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\nimport { UserSettingsService } from '../../services/user-settings.service';\nimport { FetchUsersGalleryImages } from '../actions/gallery.action';\nimport {\n FetchContactData,\n FetchContactDataSuccess,\n SetBrandingTypeRemote,\n ToggleUserContactFieldStatus,\n ToggleUserContactFieldStatusSuccess,\n UpdateOfficeInfo,\n UpdateTeamInfo,\n UserSettingsActionsActionType\n} from '../actions/user-settings.action';\nimport { FetchUserDefaultImage, UpdateUserDefaultOffice, UpdateUserDefaultTeam } from '../actions/userData.action';\nimport { IAppState } from '../state/app.state';\n\n@Injectable()\nexport class UserSettingsEffect {\n updateUserContactField = createEffect(() =>\n this._actions$.pipe(\n ofType(UserSettingsActionsActionType.ToggleUserContactFieldStatus),\n switchMap(obv => {\n return this.userSettingSvc.updateUserContactField(obv.payload);\n }),\n switchMap(data => {\n const [apiResp, payload] = data;\n return [new ToggleUserContactFieldStatusSuccess(payload)];\n }),\n catchError(err => throwError(err))\n )\n );\n\n updateUsersDefaultOffice = createEffect(() =>\n this._actions$.pipe(\n ofType(UserSettingsActionsActionType.UpdateOfficeInfo),\n switchMap(action => {\n this.store.dispatch(new UpdateUserDefaultOffice(action.payload));\n return this.userSettingSvc.getOfficeDetails(action.payload);\n }),\n switchMap(response => {\n return [\n new FetchContactDataSuccess({\n social: response.socialData,\n contact: response.contactData,\n photo: response.photoData\n }),\n new FetchUsersGalleryImages(),\n new FetchUserDefaultImage()\n ];\n }),\n catchError(err => throwError(err))\n )\n );\n\n updateUsersDefaultTeam = createEffect(() =>\n this._actions$.pipe(\n ofType(UserSettingsActionsActionType.UpdateTeamInfo),\n switchMap(action => {\n this.store.dispatch(new UpdateUserDefaultTeam(action.payload));\n return this.userSettingSvc.getTeamDetails(action.payload);\n }),\n switchMap(response => {\n return [\n new FetchContactDataSuccess({\n social: response.socialData,\n contact: response.contactData,\n photo: response.photoData\n }),\n new FetchUsersGalleryImages(),\n new FetchUserDefaultImage()\n ];\n }),\n catchError(err => throwError(err))\n )\n );\n\n getUserFields = createEffect(() =>\n this._actions$.pipe(\n ofType(UserSettingsActionsActionType.FetchContactData),\n switchMap(action => {\n return this.userSettingSvc.getFieldsData(action.payload);\n }),\n switchMap(response => {\n return [\n new FetchContactDataSuccess({\n social: response.social,\n contact: response.contact,\n photo: response.photo\n })\n ];\n }),\n catchError(err => throwError(err))\n )\n );\n\n updateContactType = createEffect(\n () =>\n this._actions$.pipe(\n ofType(UserSettingsActionsActionType.SetBrandingTypeRemote),\n switchMap(action => {\n return this.userSettingSvc.updateContactTypeToAPI(action.payload);\n }),\n catchError(err => throwError(err))\n ),\n { dispatch: false }\n );\n\n constructor(private _actions$: Actions, private store: Store, private userSettingSvc: UserSettingsService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { throwError } from 'rxjs';\nimport { catchError, filter, map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { GalleryImage } from '../../models/GalleryImage';\nimport { Avatar } from '../../models/IApplicationData';\nimport { GalleryService } from '../../services/gallery.service';\nimport { ThemeService } from '../../services/theme.service';\nimport { UserSettingsService } from '../../services/user-settings.service';\nimport { UserDataService } from '../../services/userData.service';\nimport { SetBrandCode } from '../actions/applicationData.action';\nimport { FetchFeaturesSuccess } from '../actions/featureData.action';\nimport { FetchV2FiltersFromApi } from '../actions/filtersData.action';\nimport { FetchUsersGalleryImages } from '../actions/gallery.action';\nimport { FetchMLS } from '../actions/mls.action';\nimport { FetchContactDataSuccess, SetBrandingTypeLocal } from '../actions/user-settings.action';\nimport {\n FetchUserAvatarDetails,\n FetchUserDataSuccess,\n FetchUserDefaultImage,\n FetchUserDefaultImageSuccess,\n FetchUserV2Data,\n SetUserAvatarDetails,\n UpdateUserDefaultLicense,\n UserDataActionsActionTypes\n} from '../actions/userData.action';\nimport { selectUser } from '../selectors/userData.selector';\nimport { IAppState } from '../state/app.state';\nimport { BrandingEnum, BrandingEnumByInteger } from '../state/user-settings.state';\n\n@Injectable()\nexport class UserDataEffect {\n fetchUserV2Data$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(UserDataActionsActionTypes.FetchUserV2Data),\n switchMap(action => this.userDataService.getUserData(action.payload)),\n map(data => {\n if (data) {\n this.userDataService.setBusinessUnit(data.isNrt ? 'RBG' : 'RFG');\n this.userDataService.processUserCBA(data.isNrt, data.brandCode);\n this.store.dispatch(new FetchFeaturesSuccess(data.features));\n this.store.dispatch(new SetBrandCode(data.brandCode));\n this.store.dispatch(new FetchUserDataSuccess(data));\n this.store.dispatch(new FetchUserAvatarDetails(data));\n this.store.dispatch(new SetBrandingTypeLocal(BrandingEnum[BrandingEnumByInteger[data.contactType]]));\n this.store.dispatch(new FetchMLS());\n this.store.dispatch(new FetchV2FiltersFromApi());\n }\n })\n ),\n { dispatch: false }\n );\n\n fetchAvatarData$ = createEffect(() =>\n this.actions$.pipe(\n ofType(UserDataActionsActionTypes.FetchUserAvatarDetails),\n switchMap(action => this.userDataService.verifyUserAvatarCache(action.payload.oktaId)),\n switchMap((avatar: Avatar) => {\n this.userDataService.syncUserAvatarCache(avatar);\n return [new SetUserAvatarDetails(avatar)];\n })\n )\n );\n\n fetchGalleryImages = createEffect(() =>\n this.actions$.pipe(\n ofType(UserDataActionsActionTypes.FetchUserDefaultImage),\n withLatestFrom(this.store.select(selectUser)),\n filter(d => !!d[1].oktaId),\n switchMap(data => {\n const [action, user] = data;\n return this.galleryService.getGalleryImagesForUser(user.oktaId);\n }),\n switchMap((galleryImages: GalleryImage[]) => [new FetchUserDefaultImageSuccess(galleryImages)])\n )\n );\n\n updateUsersDefaultLicense = createEffect(() =>\n this.actions$.pipe(\n ofType(UserDataActionsActionTypes.UpdateUserDefaultLicense),\n switchMap(action => {\n return this.userSettingSvc.updateLicenseNbrToAPI(action.payload);\n }),\n switchMap(response => {\n return [\n new FetchContactDataSuccess({\n social: response.socialData,\n contact: response.contactData,\n photo: response.photoData\n }),\n new FetchUsersGalleryImages(),\n new FetchUserDefaultImage()\n ];\n }),\n catchError(err => throwError(err))\n )\n );\n\n constructor(\n private actions$: Actions,\n private userDataService: UserDataService,\n private store: Store,\n private css: ThemeService,\n private galleryService: GalleryService,\n private userSettingSvc: UserSettingsService\n ) {}\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { mergeMap, switchMap } from 'rxjs/operators';\nimport { IWootric } from '../../models/IWootric';\nimport { UserDataService } from '../../services/userData.service';\nimport { FetchWootric, FetchWootricSuccess, WootricActionsActionTypes } from '../actions/wootric.action';\n\n@Injectable()\nexport class WootricEffect {\n fetchWootric$ = createEffect(() =>\n this._actions$.pipe(\n ofType(WootricActionsActionTypes.FetchWootric),\n switchMap(() => this._userDataService.getWootricData()),\n mergeMap((data: IWootric) => [new FetchWootricSuccess(data)])\n )\n );\n\n constructor(private _actions$: Actions, private _userDataService: UserDataService) {}\n}\n","import { ApplicationDataActions, ApplicationDataActionsActionTypes } from '../actions/applicationData.action';\nimport { getInitialApplicationState, IApplicationDataState } from '../state/applicationData.state';\n\nexport function ApplicationDataReducer(\n state = getInitialApplicationState(),\n action: ApplicationDataActions\n): IApplicationDataState {\n switch (action.type) {\n case ApplicationDataActionsActionTypes.SetApplicationData: {\n return {\n ...state,\n ...action.payload\n };\n }\n\n case ApplicationDataActionsActionTypes.SetBrandCodeSuccess: {\n return {\n ...state,\n selectedBrandCode: action.payload,\n brandLoaded: true\n };\n }\n default:\n return state;\n }\n}\n","import { getInitialAspTrendsState, IAspTrendsState } from '../state/asp-trends.state';\nimport { AspTrendsAction, AspTrendsActionsActionTypes } from '../actions/asp-trends.action';\n\nexport function AspTrendsReducer(state = getInitialAspTrendsState(), action: AspTrendsAction): IAspTrendsState {\n switch (action.type) {\n case AspTrendsActionsActionTypes.FetchAspTrends: {\n return {\n ...state,\n loading: true,\n loaded: false\n };\n }\n case AspTrendsActionsActionTypes.FetchAspTrendsSuccess: {\n return {\n ...state,\n loading: false,\n loaded: true,\n aspTrendsReportData: action.payload\n };\n }\n case AspTrendsActionsActionTypes.FetchAspPDF: {\n return {\n ...state,\n pdfDownloadPending: true\n };\n }\n case AspTrendsActionsActionTypes.FetchAspPDFSuccess: {\n return {\n ...state,\n pdfDownloadPending: false\n };\n }\n default:\n return state;\n }\n}\n","import { IBreadCrumb } from '../../models/IBreadCrumb';\nimport { BrowserActionsActionType, BrowserDataActions } from '../actions/browser.action';\nimport { getInitialBrowserState, IBrowserState } from '../state/browser.state';\n\nexport function BrowserDataReducer(\n state = getInitialBrowserState(),\n action: BrowserDataActions\n): IBrowserState {\n switch (action.type) {\n case BrowserActionsActionType.SetPrevUrls: {\n return {\n ...state,\n prevPath: action.payload\n };\n }\n\n case BrowserActionsActionType.RemoveLastPath: {\n let paths: IBreadCrumb[] = JSON.parse(JSON.stringify(state.prevPath));\n paths = paths.filter(path => !path.label.toLowerCase().includes('image'));\n\n return {\n ...state,\n prevPath: paths\n };\n }\n\n case BrowserActionsActionType.AddPath: {\n const paths = JSON.parse(JSON.stringify(state.prevPath));\n paths.push(action.payload);\n\n return {\n ...state,\n prevPath: paths\n };\n }\n\n default:\n return state;\n }\n}\n","import { CustomReportAction, CustomReportActionsActionTypes } from '../actions/custom-report.action';\nimport { getInitialCustomReportState, ICustomReportState } from '../state/custom-report.state';\n\nexport function CustomReportReducer(state = getInitialCustomReportState(), action: CustomReportAction): ICustomReportState {\n function extracted(value: number, idx: number, arr: [number, number]) {\n const newArr: [number, number] = [...arr];\n newArr[idx] = value;\n return newArr;\n }\n\n switch (action.type) {\n case CustomReportActionsActionTypes.SetDataTableShowAll: {\n return {\n ...state,\n showAllData: action.payload\n };\n }\n case CustomReportActionsActionTypes.ResetCustomReportData: {\n return getInitialCustomReportState();\n }\n case CustomReportActionsActionTypes.FetchCustomReports: {\n return {\n ...state,\n loading: true,\n loaded: false,\n customReportDetails: null\n };\n }\n case CustomReportActionsActionTypes.FetchCustomReportsSuccess:\n return {\n ...state,\n customReportDetails: action.payload,\n hasError: false,\n loaded: true,\n loading: false\n };\n case CustomReportActionsActionTypes.FetchCustomReportError: {\n return {\n ...state,\n customReportDetails: null,\n hasError: true,\n loading: false,\n loaded: true\n };\n }\n case CustomReportActionsActionTypes.FetchCustomReportPdf: {\n return {\n ...state,\n pdfState: {\n ...state.pdfState,\n pending: true\n }\n };\n }\n case CustomReportActionsActionTypes.AdjustCustomReportDataTypes:\n return {\n ...state,\n customReportDataTypes: extracted(action.payload.value, action.payload.idx, state.customReportDataTypes)\n };\n case CustomReportActionsActionTypes.AdjustCustomReportDisplayAs:\n return {\n ...state,\n customReportDisplayDataAs: extracted(action.payload.value, action.payload.idx, state.customReportDisplayDataAs)\n };\n case CustomReportActionsActionTypes.ResetCustomReportDisplayAs:\n return {\n ...state,\n customReportDisplayDataAs: getInitialCustomReportState().customReportDisplayDataAs\n };\n\n case CustomReportActionsActionTypes.SetCustomReportGraphAxis:\n return {\n ...state,\n customReportGraphAxis: action.payload\n };\n default: {\n return state;\n }\n }\n}\n","import { FeatureDataActions, FeatureDataActionsActionTypes } from '../actions/featureData.action';\nimport { getInitialFeatureDataState, IFeatureDataState } from '../state/featureData.state';\n\nexport function FeatureDataReducer(state = getInitialFeatureDataState(), action: FeatureDataActions): IFeatureDataState {\n switch (action.type) {\n case FeatureDataActionsActionTypes.FetchFeaturesSuccess: {\n return {\n ...state,\n featuresList: action.payload,\n loaded: true\n };\n }\n\n default:\n return state;\n }\n}\n","import { FilterDataActions, FilterDataActionsActionTypes } from '../actions/filtersData.action';\nimport { getInitialFilterState, IFilterState } from '../state/filters.state';\n\nexport function filterDataReducer(state = getInitialFilterState(), action: FilterDataActions): IFilterState {\n switch (action.type) {\n case FilterDataActionsActionTypes.SuccessUpdateV2FilterUpdates: {\n return {\n ...state,\n filterState: {\n ...state.filterState,\n state: {\n ...state.filterState.state,\n ...action.payload\n }\n }\n };\n }\n\n case FilterDataActionsActionTypes.ApiResultsReceived: {\n return {\n ...state,\n defaultsLoaded: true\n };\n }\n\n case FilterDataActionsActionTypes.ClearClaimsFilters: {\n return {\n ...state,\n filterState: {\n ...state.filterState,\n state: {\n ...state.filterState.state,\n groupByLevel: [],\n timeFrame: [],\n msTypeName: [],\n unitType: [],\n priceType: [],\n city: [],\n zip: [],\n county: []\n }\n }\n };\n }\n\n case FilterDataActionsActionTypes.SetCurrentPage: {\n return {\n ...state,\n filterState: {\n ...state.filterState,\n paginationCurrPage: action.payload\n }\n };\n }\n\n case FilterDataActionsActionTypes.SetSortAscending: {\n return {\n ...state,\n filterState: {\n ...state.filterState,\n sortAsc: action.payload\n }\n };\n }\n\n case FilterDataActionsActionTypes.SetPageCardSize: {\n return {\n ...state,\n filterState: {\n ...state.filterState,\n perPage: action.payload\n }\n };\n }\n\n case FilterDataActionsActionTypes.RemoveSingleFilter: {\n const original = state.filterState.state[action.payload.type];\n const update =\n action.payload.type === 'priceType'\n ? !original\n : original.filter(value => {\n return value.toString() !== action.payload.value.toString();\n });\n\n return {\n ...state,\n filterState: {\n ...state.filterState,\n state: {\n ...state.filterState.state,\n [action.payload.type]: update\n }\n }\n };\n }\n\n case FilterDataActionsActionTypes.SetPendingFilterChanges: {\n return {\n ...state,\n pending: action.payload\n };\n }\n\n default:\n return state;\n }\n}\n","import { cloneDeep } from 'lodash-es';\nimport { GalleryImage } from '../../models/GalleryImage';\nimport { GalleryActions, GalleryActionsActionTypes } from '../actions/gallery.action';\nimport { getInitialGalleryState, IGalleryState } from '../state/gallery.state';\n\nexport function GalleryReducer(state = getInitialGalleryState(), action: GalleryActions): IGalleryState {\n switch (action.type) {\n case GalleryActionsActionTypes.FetchUsersGalleryImages: {\n return {\n ...state\n };\n }\n\n case GalleryActionsActionTypes.FetchUsersGalleryImagesSuccess: {\n return {\n ...state,\n images: {\n loaded: true,\n list: action.payload\n }\n };\n }\n\n case GalleryActionsActionTypes.SetGalleryImageAsDefaultPending: {\n const images = cloneDeep(state.images);\n const foundIndex = images.list.findIndex(x => x.msUnoBackGroundImageID === action.payload.msUnoBackGroundImageID);\n images.list.map(image => (image.isActive = false));\n images.list[foundIndex] = action.payload;\n\n return {\n ...state,\n images: {\n ...state.images,\n list: images.list\n }\n };\n }\n\n case GalleryActionsActionTypes.ToggleGallery: {\n return {\n ...state,\n menuOpened: action.payload !== undefined ? action.payload : !state.menuOpened,\n changePending: 0\n };\n }\n\n case GalleryActionsActionTypes.GalleryPendingChange: {\n return {\n ...state,\n changePending: action.payload.msUnoBackGroundImageID\n };\n }\n\n case GalleryActionsActionTypes.ShowLargeGalleryImage: {\n return {\n ...state,\n currentImageInSlide: action.payload,\n menuOpened: false,\n slideShowOpened: state.slideShowOpened || true\n };\n }\n\n case GalleryActionsActionTypes.CloseSlideShow: {\n return {\n ...state,\n currentImageInSlide: new GalleryImage(),\n slideShowOpened: false\n };\n }\n\n default:\n return state;\n }\n}\n","import { routerReducer } from '@ngrx/router-store';\nimport { ActionReducer, ActionReducerMap, MetaReducer } from '@ngrx/store';\nimport { localStorageSync } from 'ngrx-store-localstorage';\nimport { IAppState } from '../state/app.state';\nimport { ApplicationDataReducer } from './applicationData.reducer';\nimport { BrowserDataReducer } from './browser.reducer';\nimport { CustomReportReducer } from './custom-report.reducer';\nimport { FeatureDataReducer } from './featureData.reducer';\nimport { filterDataReducer } from './filters.reducer';\nimport { GalleryReducer } from './gallery.reducer';\nimport { LocationsReducer } from './locations.reducer';\nimport { MarketPositionDataReducer } from './market-position.reducer';\nimport { MarketSnapshotDataReducer } from './market-snapshot.reducer';\nimport { MarketTrendsDataReducer } from './market-trends.reducer';\nimport { MenusReducer } from './menus.reducer';\nimport { MLSReducer } from './mls.reducer';\nimport { PdfReducer } from './pdf.reducer';\nimport { no1ClaimsReportsDataReducer } from './reports.reducer';\nimport { SavedSearchReducer } from './saved-search.reducer';\nimport { UserSettingsReducer } from './user-settings.reducer';\nimport { userDataReducer } from './userData.reducer';\nimport { WootricReducer } from './wootric.reducer';\nimport { AspTrendsReducer } from './asp-trends.reducer';\n\nexport function localStorageSyncReducer(reducer: ActionReducer): ActionReducer {\n return localStorageSync({ keys: ['userData', 'featuresData', 'filtersData', 'wootric'] })(reducer);\n}\n\nexport const metaReducers: Array> = [localStorageSyncReducer];\n\nexport const reducers: ActionReducerMap = {\n router: routerReducer,\n userData: userDataReducer,\n filterData: filterDataReducer,\n no1Claims: no1ClaimsReportsDataReducer,\n wootric: WootricReducer,\n mls: MLSReducer,\n locations: LocationsReducer,\n gallery: GalleryReducer,\n browser: BrowserDataReducer,\n marketPosition: MarketPositionDataReducer,\n applicationData: ApplicationDataReducer,\n menus: MenusReducer,\n marketTrends: MarketTrendsDataReducer,\n marketSnapshot: MarketSnapshotDataReducer,\n pdf: PdfReducer,\n userSettings: UserSettingsReducer,\n savedSearch: SavedSearchReducer,\n customReport: CustomReportReducer,\n features: FeatureDataReducer,\n aspTrends: AspTrendsReducer\n};\n","import { LocationsActions, LocationsActionsActionTypes } from '../actions/locations.action';\nimport { getInitialLocationsState, ILocationsState } from '../state/locations.state';\n\nexport function LocationsReducer(state = getInitialLocationsState(), action: LocationsActions): ILocationsState {\n switch (action.type) {\n case LocationsActionsActionTypes.FetchLocationsSuccess: {\n return {\n ...state,\n locations: action.payload,\n };\n }\n\n case LocationsActionsActionTypes.FetchLocations: {\n return {\n ...state,\n loaded: false,\n };\n }\n\n case LocationsActionsActionTypes.FetchMarketLocations: {\n return {\n ...state,\n marketLoaded: false,\n marketLocations: []\n };\n }\n\n case LocationsActionsActionTypes.FetchMarketLocationsSuccess: {\n return {\n ...state,\n marketLoaded: true,\n marketLocations: action.payload\n };\n }\n\n case LocationsActionsActionTypes.FetchLocationsLoaded: {\n return {\n ...state,\n loaded: true\n };\n }\n\n default:\n return state;\n }\n}\n","import { IMarketFiltersV2 } from '../../models/IMarketReportFilters';\nimport { MarketPositionAction, MarketPositionDataActionsActionTypes } from '../actions/market-position.action';\nimport { getInitialMarketPositionDataState, IMarketPositionState } from '../state/market-position.state';\n\nexport function MarketPositionDataReducer(state = getInitialMarketPositionDataState(), action: MarketPositionAction): IMarketPositionState {\n switch (action.type) {\n case MarketPositionDataActionsActionTypes.FetchMarketReports: {\n return {\n ...state,\n loaded: false,\n loading: true,\n marketReportDetails: null\n };\n }\n\n case MarketPositionDataActionsActionTypes.FetchMarketReportsSuccess: {\n return {\n ...state,\n loaded: true,\n loading: false,\n marketReportDetails: action.payload,\n error: false\n };\n }\n\n case MarketPositionDataActionsActionTypes.FetchMarketReportsError: {\n return {\n ...state,\n loading: false,\n loaded: false,\n error: true,\n marketReportDetails: null\n };\n }\n\n case MarketPositionDataActionsActionTypes.SetDatesAvailable: {\n return {\n ...state,\n dates: action.payload\n };\n }\n\n case MarketPositionDataActionsActionTypes.ResetMarketReportFilters: {\n const defaultMarketFilters = new IMarketFiltersV2();\n return {\n ...state,\n marketFilters: {\n ...state.marketFilters,\n state: {\n ...defaultMarketFilters.state\n }\n }\n };\n }\n\n case MarketPositionDataActionsActionTypes.UpdateMarketReportFilters: {\n return {\n ...state,\n marketFilters: {\n ...state.marketFilters,\n state: {\n ...state.marketFilters.state,\n ...action.payload\n }\n }\n };\n }\n\n case MarketPositionDataActionsActionTypes.RemoveSingleMarketFilter: {\n const original = state.marketFilters.state[action.payload.type];\n const update = original.filter(value => value !== action.payload.value);\n\n return {\n ...state,\n marketFilters: {\n ...state.marketFilters,\n state: {\n ...state.marketFilters.state,\n [action.payload.type]: update\n }\n }\n };\n }\n\n case MarketPositionDataActionsActionTypes.SetShowPercentage: {\n return {\n ...state,\n showPercent: action.payload\n };\n }\n\n case MarketPositionDataActionsActionTypes.MPPricesDirty: {\n return {\n ...state,\n marketFilters: {\n ...state.marketFilters,\n pricesDirty: action.payload\n }\n };\n }\n\n case MarketPositionDataActionsActionTypes.ClearMarketClaimsFilters: {\n return {\n ...state,\n marketFilters: {\n ...state.marketFilters,\n state: {\n ...state.marketFilters.state,\n groupByLevel: ['Brokerage'],\n msTypeName: ['Total'],\n unitType: ['Volume'],\n dateRange: { datePeriod: '', startDate: '', endDate: '' },\n priceMin: 0,\n priceMax: 999999999,\n propertyType: [1, 2, 9],\n city: [],\n county: [],\n zip: [],\n mlsArea: [],\n schoolDistrict: [],\n subDivision: []\n }\n }\n };\n }\n\n default:\n return state;\n }\n}\n","import { MarketSnapshotAction, MarketSnapshotActionsTypes } from '../actions/market-snapshot.action';\nimport { getInitialMarketSnapshotDataState, IMarketSnapshotState } from '../state/market-snapshot.state';\n\nexport function MarketSnapshotDataReducer(state = getInitialMarketSnapshotDataState(), action: MarketSnapshotAction): IMarketSnapshotState {\n switch (action.type) {\n case MarketSnapshotActionsTypes.FetchSnapshotData: {\n return {\n ...state,\n loaded: false,\n loading: true\n };\n }\n\n case MarketSnapshotActionsTypes.ResetSnapshotData: {\n return {\n ...state,\n snapshotData: null,\n loaded: false,\n hasError: false,\n defaultsLoaded: true\n };\n }\n\n case MarketSnapshotActionsTypes.FetchSnapshotDataSuccess: {\n return {\n ...state,\n loading: false,\n loaded: true,\n snapshotData: action.payload,\n hasError: false\n };\n }\n\n case MarketSnapshotActionsTypes.FetchSnapshotDataError: {\n return {\n ...state,\n loading: false,\n loaded: false,\n hasError: true\n };\n }\n\n case MarketSnapshotActionsTypes.UpdateUserSnapshotDefaultLocationToApi: {\n return {\n ...state\n };\n }\n\n case MarketSnapshotActionsTypes.ClearSnapshotLocationFilter: {\n return {\n ...state,\n loading: false,\n defaultsLoaded: false,\n filters: {\n ...state.filters,\n location: []\n }\n };\n }\n\n default:\n return state;\n }\n}\n","import { format, sub } from 'date-fns';\nimport { MarketTrendsAction, MarketTrendsDataActionsActionTypes } from '../actions/market-trends.action';\nimport { getInitialMarketTrendsDataState, IMarketTrendsState, initialMarketTrendsDataState } from '../state/market-trends.state';\n\nexport function MarketTrendsDataReducer(state = getInitialMarketTrendsDataState(), action: MarketTrendsAction): IMarketTrendsState {\n switch (action.type) {\n case MarketTrendsDataActionsActionTypes.ResetTrendsPdfOptions: {\n return {\n ...state,\n pdfState: {\n ...state.pdfState,\n options: initialMarketTrendsDataState.pdfState.options\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.UpdateTrendsPdfOptions: {\n return {\n ...state,\n pdfState: {\n ...state.pdfState,\n options: action.payload\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.FetchTrendsReports: {\n return {\n ...state,\n loading: true,\n loaded: false\n };\n }\n\n case MarketTrendsDataActionsActionTypes.FetchTrendsReportsError: {\n return {\n ...state,\n hasError: true,\n loaded: false,\n loading: false\n };\n }\n\n case MarketTrendsDataActionsActionTypes.FetchTrendsReportsSuccess: {\n return {\n ...state,\n loading: false,\n loaded: true,\n hasError: false,\n trendsReportDetails: {\n ...state.trendsReportDetails,\n ...action.payload\n },\n pdfState: {\n ...state.pdfState,\n pending: false\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.FetchTrendsPdf: {\n return {\n ...state,\n pdfState: {\n ...state.pdfState,\n pending: true\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.UpdateTrendsTableType: {\n return {\n ...state,\n chartDataType: action.payload\n };\n }\n\n case MarketTrendsDataActionsActionTypes.UpdateTrendsReportFilters: {\n return {\n ...state,\n trendsFilters: {\n ...state.trendsFilters,\n state: {\n ...state.trendsFilters.state,\n ...action.payload\n }\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.RemoveSingleTrendsFilter: {\n const original = state.trendsFilters.state[action.payload.type];\n const update = original.filter(value => value !== action.payload.value);\n\n return {\n ...state,\n trendsFilters: {\n ...state.trendsFilters,\n state: {\n ...state.trendsFilters.state,\n [action.payload.type]: update\n }\n }\n };\n }\n\n case MarketTrendsDataActionsActionTypes.ClearTrendsReportFilters: {\n const currentDate = new Date();\n const maxDate = format(sub(currentDate, { months: 1 }), 'MM/yyyy');\n\n return {\n ...state,\n trendsFilters: {\n ...state.trendsFilters,\n state: {\n ...state.trendsFilters.state,\n endDate: maxDate,\n priceMin: 0,\n priceMax: 999999999,\n propertyType: [1, 2, 9]\n }\n }\n };\n }\n\n default:\n return state;\n }\n}\n","import { MenusAction, MenusActionTypes } from '../actions/menus.action';\nimport { Banner, getInitialMenuState, IMenuState } from '../state/menu.state';\n\nexport function MenusReducer(state = getInitialMenuState(), action: MenusAction): IMenuState {\n switch (action.type) {\n case MenusActionTypes.ToggleSideBarNav: {\n return {\n ...state,\n sideBarOpen: !state.sideBarOpen\n };\n }\n case MenusActionTypes.ToggleFilterPanel: {\n return {\n ...state,\n filterMenuOpen: action.payload != null ? action.payload : !state.filterMenuOpen\n };\n }\n\n case MenusActionTypes.SetSideBarNav: {\n return {\n ...state,\n sideBarOpen: action.payload\n };\n }\n\n case MenusActionTypes.PushWarningBanner: {\n const banner: Banner = Object.assign({}, action.payload);\n banner.show = true;\n return {\n ...state,\n showWarningBars: {\n ...state.showWarningBars,\n [action.payload.type]: [banner]\n }\n };\n }\n\n case MenusActionTypes.ToggleWarningBanner: {\n const banner: Banner = Object.assign({}, action.payload);\n banner.show = !banner.show;\n return {\n ...state,\n showWarningBars: {\n ...state.showWarningBars,\n [action.payload.type]: [banner]\n }\n };\n }\n case MenusActionTypes.FetchNavItemsSuccess: {\n return {\n ...state,\n navItems: action.payload\n };\n }\n default:\n return state;\n }\n}\n","import { MLSActions, MLSActionsActionTypes } from '../actions/mls.action';\nimport { getInitialMLSState, IMLSState } from '../state/mls.state';\n\nexport function MLSReducer(\n state = getInitialMLSState(),\n action: MLSActions\n): IMLSState {\n switch (action.type) {\n case MLSActionsActionTypes.FetchMLSSuccess: {\n return {\n ...state,\n mlsid: action.payload,\n loaded: true,\n loading: false\n };\n }\n\n case MLSActionsActionTypes.FetchMLS: {\n return {\n ...state,\n loaded: false,\n loading: true\n };\n }\n\n case MLSActionsActionTypes.SetMlsSuccess: {\n return {\n ...state,\n selectedMLS: action.payload\n };\n }\n\n default:\n return state;\n }\n}\n","import { PdfActions, PdfActionsActionTypes } from '../actions/pdf.action';\nimport { getInitialPdfState, IPdfState } from '../state/pdf.state';\n\nexport function PdfReducer(state = getInitialPdfState(), action: PdfActions): IPdfState {\n switch (action.type) {\n case PdfActionsActionTypes.ExportPreviewToggle: {\n return {\n ...state,\n previewOpen: action.payload\n };\n }\n\n case PdfActionsActionTypes.UpdatePdfOptions: {\n return {\n ...state,\n opts: action.payload\n };\n }\n\n case PdfActionsActionTypes.ResetPdfOptions: {\n return {\n ...state,\n opts: getInitialPdfState().opts\n };\n }\n\n case PdfActionsActionTypes.FetchReportPDF: {\n return {\n ...state,\n pending: true\n };\n }\n case PdfActionsActionTypes.FetchReportPDFSuccess: {\n return {\n ...state,\n pending: false\n };\n }\n case PdfActionsActionTypes.SetExportPreviewData: {\n return {\n ...state,\n pdfPreviewData: action.payload\n };\n }\n case PdfActionsActionTypes.ResetExportPreviewData: {\n return {\n ...state,\n pdfPreviewData: null\n };\n }\n default:\n return state;\n }\n}\n","import { ReportDataActions, ReportDataActionsActionTypes } from '../actions/reports.action';\nimport { getInitialNo1ClaimsReportDataState, INo1ClaimsReportDataState } from '../state/no1ClaimsReports.state';\n\nexport function no1ClaimsReportsDataReducer(\n state = getInitialNo1ClaimsReportDataState(),\n action: ReportDataActions\n): INo1ClaimsReportDataState {\n switch (action.type) {\n case ReportDataActionsActionTypes.FetchReportDataSuccess: {\n return {\n ...state,\n reports: action.payload,\n loaded: true,\n loading: false,\n noResults: false\n };\n }\n\n case ReportDataActionsActionTypes.FetchReportsNoResults: {\n return {\n ...state,\n loaded: true,\n loading: false,\n noResults: true\n };\n }\n\n case ReportDataActionsActionTypes.FetchReportData: {\n return {\n ...state,\n loaded: false,\n loading: true\n };\n }\n\n case ReportDataActionsActionTypes.SetReportPageData: {\n return {\n ...state,\n details: action.payload\n };\n }\n\n case ReportDataActionsActionTypes.ResetReportPageData: {\n return {\n ...state,\n details: {\n ...state.details,\n loading: action.payload\n }\n };\n }\n\n case ReportDataActionsActionTypes.FetchFilteredReportData: {\n return {\n ...state,\n filteredSet: {\n pagedData: [],\n filteredData: [],\n loaded: false\n }\n };\n }\n\n case ReportDataActionsActionTypes.FetchFilteredReportDataSuccess: {\n const [filteredValues, pagedValues] = action.payload;\n return {\n ...state,\n filteredSet: {\n filteredData: filteredValues,\n pagedData: pagedValues,\n loaded: true\n },\n noResults: !filteredValues.length\n };\n }\n\n default:\n return state;\n }\n}\n","import { SavedSearchActions, SavedSearchActionsActionTypes } from '../actions/saved-search.action';\nimport { getInitialSavedSearchState, ISavedSearchState } from '../state/savedSearch.state';\n\nexport function SavedSearchReducer(state = getInitialSavedSearchState(), action: SavedSearchActions): ISavedSearchState {\n switch (action.type) {\n case SavedSearchActionsActionTypes.FetchSavedSearches:\n return {\n ...state,\n loading: true,\n loaded: false,\n isError: false\n };\n case SavedSearchActionsActionTypes.FetchSavedSearchesFailure:\n return {\n ...state,\n searchesArray: null,\n isError: true,\n loading: false,\n loaded: true\n };\n case SavedSearchActionsActionTypes.FetchSavedSearchesSuccess:\n return {\n ...state,\n searchesArray: {\n ...action.payload\n },\n loaded: true,\n loading: false,\n isError: false\n };\n case SavedSearchActionsActionTypes.SaveSavedSearch:\n return {\n ...state\n };\n\n default:\n return state;\n }\n}\n","import { IContactData } from '../../models/IContactData';\nimport { UserSettingsAction, UserSettingsActionsActionType } from '../actions/user-settings.action';\nimport { getInitialUserSettingsState, IUserSettingsState } from '../state/user-settings.state';\n\nexport function UserSettingsReducer(state = getInitialUserSettingsState(), action: UserSettingsAction): IUserSettingsState {\n switch (action.type) {\n case UserSettingsActionsActionType.SetBrandingTypeLocal: {\n return {\n ...state,\n brandingType: action.payload\n };\n }\n\n case UserSettingsActionsActionType.FetchContactDataSuccess: {\n return {\n ...state,\n contact: action.payload.contact,\n social: action.payload.social,\n photo: action.payload.photo,\n loading: false,\n loaded: true\n };\n }\n\n case UserSettingsActionsActionType.FetchContactData: {\n return {\n ...state,\n loading: true,\n loaded: false\n };\n }\n\n case UserSettingsActionsActionType.ToggleUserContactFieldStatusSuccess: {\n let brandingType;\n if (action.payload.contactSection.includes('social')) {\n brandingType = 'social';\n } else {\n brandingType = 'contact';\n }\n const newState: IContactData[] = JSON.parse(JSON.stringify(state[brandingType]));\n let updateField = newState.findIndex(entry => entry.contactName === action.payload.contactName);\n newState[updateField] = action.payload;\n\n return {\n ...state,\n [brandingType]: newState\n };\n }\n\n case UserSettingsActionsActionType.UpdateOfficeInfo: {\n return {\n ...state,\n loading: true\n };\n }\n\n case UserSettingsActionsActionType.UpdateTeamInfo: {\n return {\n ...state,\n loading: true\n };\n }\n\n default:\n return state;\n }\n}\n","import { cloneDeep } from 'lodash-es';\nimport { UserDataActions, UserDataActionsActionTypes } from '../actions/userData.action';\nimport { getInitialUserDataState, IUserDataState } from '../state/userData.state';\n\nexport function userDataReducer(state = getInitialUserDataState(), action: UserDataActions): IUserDataState {\n switch (action.type) {\n case UserDataActionsActionTypes.FetchUserV2Data: {\n return {\n ...state,\n loaded: false\n };\n }\n\n case UserDataActionsActionTypes.FetchUserDataSuccess: {\n return {\n ...state,\n info: action.payload,\n loaded: true\n };\n }\n\n case UserDataActionsActionTypes.LogoutClearUserDataState: {\n return getInitialUserDataState();\n }\n\n case UserDataActionsActionTypes.SetUserAvatarDetails: {\n return {\n ...state,\n info: {\n ...state.info,\n avatar: action.payload\n }\n };\n }\n\n case UserDataActionsActionTypes.FetchUserDefaultImageSuccess: {\n return {\n ...state,\n defaultImage: {\n loaded: true,\n sizes: action.payload\n }\n };\n }\n\n case UserDataActionsActionTypes.UpdateUserDefaultOffice: {\n const officeArr = cloneDeep(state.info.offices);\n officeArr.forEach(off => {\n off.isPrimary = off.masterId === action.payload;\n });\n return {\n ...state,\n info: {\n ...state.info,\n offices: officeArr\n }\n };\n }\n\n case UserDataActionsActionTypes.UpdateUserDefaultTeam: {\n const teamArr = cloneDeep(state.info.teams);\n teamArr.forEach(team => {\n team.isPrimary = team.masterId === action.payload;\n });\n return {\n ...state,\n info: {\n ...state.info,\n teams: teamArr\n }\n };\n }\n\n case UserDataActionsActionTypes.UpdateUserDefaultLicense: {\n const licenseArr = cloneDeep(state.info.licenses);\n licenseArr.forEach(lic => {\n lic.isDefault = lic.licenseNbr === action.payload;\n });\n return {\n ...state,\n info: {\n ...state.info,\n licenses: licenseArr\n }\n };\n }\n\n default:\n return state;\n }\n}\n","import { WootricActions, WootricActionsActionTypes } from '../actions/wootric.action';\nimport { getInitialWootricState, IWootricState } from '../state/wootric.state';\n\nexport function WootricReducer(\n state = getInitialWootricState(),\n action: WootricActions\n): IWootricState {\n switch (action.type) {\n case WootricActionsActionTypes.FetchWootric: {\n return {\n ...state,\n };\n }\n case WootricActionsActionTypes.FetchWootricSuccess: {\n return {\n ...state,\n info: action.payload,\n loaded: true\n };\n }\n case WootricActionsActionTypes.LogoutClearWootricState: {\n return getInitialWootricState();\n }\n default:\n return state;\n }\n}\n","import { createSelector } from '@ngrx/store';\nimport { IApplicationData } from '../../models/IApplicationData';\nimport { IAppState } from '../state/app.state';\nimport { IApplicationDataState } from '../state/applicationData.state';\n\nconst ApplicationData = (state: IAppState) => state.applicationData;\n\nexport const selectBrandInfo = (brand = '') =>\n createSelector(ApplicationData, state => {\n return state.brands[brand || state.default_brand];\n });\n\nexport const selectAllAppData = createSelector(ApplicationData, (state: IApplicationData) => state);\n\nexport const selectBrandCode = createSelector(\n ApplicationData,\n (state: IApplicationDataState) => state.brandLoaded && state.selectedBrandCode\n);\n","import { IAppState } from '../state/app.state';\nimport { createSelector } from '@ngrx/store';\nimport { IAspTrendsDataResponse } from '../state/asp-trends.state';\n\nconst AppData = (state: IAppState) => state;\n\nexport const aspTrendsLoading = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.loading;\n});\n\nexport const aspTrendsLoaded = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.loaded;\n});\n\nexport const aspTrendsError = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.hasError;\n});\n\nexport const aspTrendsData = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.aspTrendsReportData;\n});\n\nexport const aspTrendsChartData = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.aspTrendsReportData.reportData;\n});\n\nexport const aspTrendsPDFPending = createSelector(AppData, (state: IAppState) => {\n return state.aspTrends.pdfDownloadPending;\n});\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { ICustomReportState } from '../state/custom-report.state';\n\nconst CustomReportData = (state: IAppState) => state.customReport;\n\nexport const CustomReportDataDetails = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.customReportDetails;\n});\n\nexport const CustomReportDataTypes = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.customReportDataTypes;\n});\n\nexport const CustomReportDisplayAs = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.customReportDisplayDataAs;\n});\nexport const DisplayAllData = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.showAllData;\n});\nexport const CustomReportLoading = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.loading;\n});\nexport const CustomReportLoaded = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.loaded;\n});\nexport const CustomReportError = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.hasError;\n});\nexport const CustomReportAxis = createSelector(CustomReportData, (state: ICustomReportState) => {\n return state.customReportGraphAxis;\n});\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IFeatureDataState } from '../state/featureData.state';\n\nconst FeatureData = (state: IAppState) => state.features;\n\nexport const selectFeatures = createSelector(FeatureData, (state: IFeatureDataState) => state.featuresList);\n\nexport const selectFeaturesLoaded = createSelector(FeatureData, (state: IFeatureDataState) => state.loaded);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IFilterState } from '../state/filters.state';\n\nconst FilterData = (state: IAppState) => state.filterData;\n\nexport const selectV2FiltersStatus = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState.state\n);\n\nexport const selectV2FilterBase = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState\n);\n\nexport const selectCurrentPaginationPage = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState.paginationCurrPage\n);\n\nexport const selectCountyCityZipFilter = createSelector(\n FilterData,\n (state: IFilterState) => {\n return {\n 'city': state.filterState.state.city,\n 'county': state.filterState.state.county,\n 'zip': state.filterState.state.zip\n };\n }\n);\n\nexport const filtersLoaded = createSelector(\n FilterData,\n (state: IFilterState) => state.defaultsLoaded\n);\n\nexport const mlsIdFilter = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState.state.mlsid\n);\n\nexport const cardsPerPageFilter = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState.perPage\n);\n\nexport const cardsAlphaSortFilter = createSelector(\n FilterData,\n (state: IFilterState) => state.filterState.sortAsc\n);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { ILocationsState } from '../state/locations.state';\n\nconst Locations = (state: IAppState) => state.locations;\n\nexport const selectLocations = createSelector(\n Locations,\n (state: ILocationsState) => state.locations\n);\n\nexport const selectReportLocations = createSelector(\n Locations,\n (state: ILocationsState) => state.marketLocations\n);\n\nexport const locationsLoaded = createSelector(\n Locations,\n (state: ILocationsState) => state.loaded\n);\n\nexport const marketLocationsLoaded = createSelector(\n Locations,\n (state: ILocationsState) => state.marketLoaded\n);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IMarketPositionState } from '../state/market-position.state';\n\nconst MarketReportData = (state: IAppState) => state.marketPosition;\n\nexport const selectMarketReportData = createSelector(MarketReportData, (state: IMarketPositionState) => state.marketReportDetails);\n\nexport const selectMarketReportFilters = createSelector(MarketReportData, (state: IMarketPositionState) => state.marketFilters.state);\n\nexport const selectDateRanges = createSelector(MarketReportData, (state: IMarketPositionState) => state.dates);\n\nexport const selectMarketAPIResultsReady = createSelector(MarketReportData, (state: IMarketPositionState) => state.loaded);\n\nexport const selectMarketAPIPositionReady = createSelector(\n MarketReportData,\n (state: IMarketPositionState) => state.marketReportDetails.realogyPosition\n);\n\nexport const selectMarketAPIResultsEmpty = createSelector(\n MarketReportData,\n (state: IMarketPositionState) => !state.marketReportDetails?.topGroupTypes?.length && state.loaded\n);\n\nexport const selectMarketAPILoading = createSelector(MarketReportData, (state: IMarketPositionState) => state.loading);\n\nexport const selectMarketAPIReportData = createSelector(MarketReportData, (state: IMarketPositionState) => state.marketReportDetails);\n\nexport const selectMarketReportId = createSelector(MarketReportData, (state: IMarketPositionState) => state.marketReportDetails.reportId);\n\nexport const selectMarketAPIErrors = createSelector(MarketReportData, (state: IMarketPositionState) => state.error);\n\nexport const selectMarketShowAsPercent = createSelector(MarketReportData, (state: IMarketPositionState) => state.showPercent);\n\nexport const selectMarketCountyCityZipFilter = createSelector(MarketReportData, (state: IMarketPositionState) => {\n return {\n city: state.marketFilters.state.city,\n county: state.marketFilters.state.county,\n zip: state.marketFilters.state.zip,\n mlsArea: state.marketFilters.state.mlsArea,\n schoolDistrict: state.marketFilters.state.schoolDistrict,\n subDivision: state.marketFilters.state.subDivision\n };\n});\n\nexport const mpPricesDirty = createSelector(MarketReportData, (state: IMarketPositionState) => state.marketFilters.pricesDirty);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IMarketSnapshotState } from '../state/market-snapshot.state';\n\nconst MarketSnapshot = (state: IAppState) => state.marketSnapshot;\n\nexport const selectSnapshotLoadedState = createSelector(\n MarketSnapshot,\n (state: IMarketSnapshotState) => state.loaded\n);\n\nexport const selectSnapshotLoadingState = createSelector(\n MarketSnapshot,\n (state: IMarketSnapshotState) => state.loading\n);\n\nexport const selectSnapshotHasErrorState = createSelector(\n MarketSnapshot,\n (state: IMarketSnapshotState) => state.hasError\n);\n\nexport const selectSnapshotData = createSelector(\n MarketSnapshot,\n (state: IMarketSnapshotState) => state.snapshotData\n);\n","import { createSelector } from '@ngrx/store';\nimport { TrendCardTypeEnumShortHand } from '../../models/ITrendsTableData';\nimport { IAppState } from '../state/app.state';\nimport { IMarketTrendsState } from '../state/market-trends.state';\n\nconst MarketTrends = (state: IAppState) => state.marketTrends;\n\nexport const selectTrendsData = createSelector(MarketTrends, (state: IMarketTrendsState) => state.trendsReportDetails);\n\nexport const selectTrendsAgentData = createSelector(\n MarketTrends,\n (state: IMarketTrendsState) => state.trendsReportDetails.agentReportEntity\n);\n\nexport const selectTrendsTableData = createSelector(MarketTrends, (state: IMarketTrendsState) => state.trendsReportDetails.trendstabledata);\n\nexport const selectTrendsTableDataType = createSelector(MarketTrends, (state: IMarketTrendsState) => state.chartDataType);\n\nexport const selectTrendsDataHeader = createSelector(\n MarketTrends,\n (state: IMarketTrendsState) => state.trendsReportDetails.markettrendsheader\n);\n\nexport const selectTrendsDataLoaded = createSelector(MarketTrends, (state: IMarketTrendsState) => state.loaded);\n\nexport const selectTrendsDataHasError = createSelector(MarketTrends, (state: IMarketTrendsState) => state.hasError);\n\nexport const selectTrendsDataLoading = createSelector(MarketTrends, (state: IMarketTrendsState) => state.loading);\n\nexport const selectTrendsGraphData = createSelector(MarketTrends, (state: IMarketTrendsState) => state.trendsReportDetails.trendsgraphdata);\n\nexport const selectTrendsGraphTableData = createSelector(\n MarketTrends,\n (state: IMarketTrendsState) => state.trendsReportDetails.trendsgraphtables\n);\n\nexport const selectTrendsPdfOptions = createSelector(MarketTrends, (state: IMarketTrendsState) => state.pdfState.options);\n\nexport const selectTrendsCopyByKey = (key: TrendCardTypeEnumShortHand) =>\n createSelector(MarketTrends, (state: IMarketTrendsState) =>\n state.trendsReportDetails.trendscopy?.find(page => page.key === TrendCardTypeEnumShortHand[key])\n );\n\nexport const selectTrendsReportFilters = createSelector(MarketTrends, (state: IMarketTrendsState) => state.trendsFilters.state);\n\nexport const selectTrendsCountyCityZipFilter = createSelector(MarketTrends, (state: IMarketTrendsState) => {\n return {\n city: state.trendsFilters.state.city,\n county: state.trendsFilters.state.county,\n zip: state.trendsFilters.state.zip,\n mlsArea: state.trendsFilters.state.mlsArea,\n schoolDistrict: state.trendsFilters.state.schoolDistrict,\n subDivision: state.trendsFilters.state.subDivision\n };\n});\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { Banner, IMenuState } from '../state/menu.state';\n\nconst Menus = (state: IAppState) => state.menus;\n\nexport const selectSideBarStatus = createSelector(Menus, (state: IMenuState) => state.sideBarOpen);\n\nexport const selectFilterOpenStatus = createSelector(Menus, (state: IMenuState) => state.filterMenuOpen);\nexport const selectBannerStatus = (banner: Banner) =>\n createSelector(Menus, (state: IMenuState) => {\n return state.showWarningBars[banner.type].find(b => b.type === banner.type) as Banner;\n });\nexport const selectBannersByType = (banner: Banner) =>\n createSelector(Menus, (state: IMenuState) => state.showWarningBars[banner.type] || []);\nexport const selectNavItems = createSelector(Menus, (state: IMenuState) => state.navItems);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IMLSState } from '../state/mls.state';\n\nconst mls = (state: IAppState) => state.mls;\n\nexport const selectAvailableMLSList = createSelector(mls, (state: IMLSState) => state.mlsid);\n\nexport const mlsLoaded = createSelector(mls, (state: IMLSState) => state.loaded);\n\nexport const userHasMlsAvailable = createSelector(mls, (state: IMLSState) => {\n return state.loaded && state.mlsid.length > 0;\n});\n\nexport const selectCurrentMLS = createSelector(mls, (state: IMLSState) => state.selectedMLS);\n\nexport const selectCurrentMLSLastRanDate = createSelector(mls, (state: IMLSState) => state.selectedMLS?.lastRunDate);\n\nexport const selectCurrentMlsData = createSelector(mls, (state: IMLSState) => {\n return state.mlsid.find(valMls => valMls.mlsId === state.selectedMLS?.mlsId);\n});\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IPdfState } from '../state/pdf.state';\n\nconst pdf = (state: IAppState) => state.pdf;\nexport const pdfOptions = createSelector(pdf, (state: IPdfState) => state.opts);\nexport const pdfShowLogo = createSelector(pdf, (state: IPdfState) => state.opts.showBrandLogo);\nexport const pdfPreviewOrientation = createSelector(pdf, (state: IPdfState) => state.opts.islandscape);\nexport const pdfShowHideFirmName = createSelector(pdf, (state: IPdfState) => state.opts.showFirmNames);\nexport const pdfShowAgentInfo = createSelector(pdf, (state: IPdfState) => state.opts.showAgentInfo);\nexport const pdfShowMarketPositionTable = createSelector(pdf, (state: IPdfState) => state.opts.showMarketPositionTable);\nexport const pdfPending = createSelector(pdf, (state: IPdfState) => state.pending);\nexport const pdfExportPreviewOpen = createSelector(pdf, (state: IPdfState) => state.previewOpen);\nexport const pdfExportData = createSelector(pdf, (state: IPdfState) => state.pdfPreviewData);\nexport const pdfExportAgentData = createSelector(pdf, (state: IPdfState) => state.pdfPreviewData.agentData);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { INo1ClaimsReportDataState } from '../state/no1ClaimsReports.state';\n\nconst ReportData = (state: IAppState) => state.no1Claims;\n\nexport const selectAllReports = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.reports);\n\nexport const filteredReports$ = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.filteredSet);\n\nexport const filteredData$ = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.filteredSet.filteredData);\n\nexport const pageData$ = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.filteredSet.pagedData);\n\nexport const filteredReportsLoaded = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.filteredSet.loaded);\n\nexport const defaultReportsLoaded = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.loaded);\n\nexport const isReportsPending = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.loading);\n\nexport const claimsReportId = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.details.msUnoReportId);\n\nexport const selectReportPageData = createSelector(ReportData, (state: INo1ClaimsReportDataState) => {\n return state?.details;\n});\n\nexport const selectAllReportPageData = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.details);\n\nexport const selectReportNoResults = createSelector(ReportData, (state: INo1ClaimsReportDataState) => state.noResults);\n","import { getSelectors, RouterReducerState } from '@ngrx/router-store';\nimport { createFeatureSelector } from '@ngrx/store';\n\nexport const selectRouter = createFeatureSelector('router');\n\nexport const {\n selectCurrentRoute, // select the current route\n selectFragment, // select the current route fragment\n selectQueryParams, // select the current route query params\n selectQueryParam, // factory function to select a query param\n selectRouteParams, // select the current route params\n selectRouteParam, // factory function to select a route param\n selectRouteData, // select the current route data\n selectUrl, // select the current url\n} = getSelectors(selectRouter);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { ISavedSearchState } from '../state/savedSearch.state';\n\nconst SavedSearches = (state: IAppState) => state.savedSearch;\n\nexport const selectSavedSearches = createSelector(SavedSearches, (state: ISavedSearchState) => state.searchesArray);\n\nexport const selectSavedSearchesLoaded = createSelector(SavedSearches, (state: ISavedSearchState) => state.loaded);\n","import { createSelector } from '@ngrx/store';\nimport { ImageTypes } from '../../models/ImageTypes';\nimport { IAppState } from '../state/app.state';\nimport { IUserDataState } from '../state/userData.state';\n\nconst userData = (state: IAppState) => state.userData;\n\nexport const selectUser = createSelector(userData, (state: IUserDataState) => state.info);\n\nexport const selectOktaId = createSelector(userData, (state: IUserDataState) => state.info.oktaId);\n\nexport const selectpersonMasterId = createSelector(userData, (state: IUserDataState) => state.info.personMasterId);\n\nexport const selectagentMasterId = createSelector(userData, (state: IUserDataState) => state.info.agentMasterId);\n\nexport const selectUserDataLoaded = createSelector(userData, (state: IUserDataState) => state.loaded);\n\nexport const selectUserDefaultImage = createSelector(userData, (state: IUserDataState) => state.defaultImage.sizes);\n\nexport const selectUserImagesLoaded = createSelector(userData, (state: IUserDataState) => state.defaultImage.loaded);\n\nexport const selectUserImageBackground = createSelector(userData, (state: IUserDataState) =>\n state.defaultImage.sizes.find(image => image.imageSize === ImageTypes.background)\n);\n\nexport const selectUserTeams = createSelector(userData, (state: IUserDataState) => state.info.teams);\n\nexport const selectUserOffices = createSelector(userData, (state: IUserDataState) => state.info.offices);\n\nexport const selectUserLicenses = createSelector(userData, (state: IUserDataState) => state.info.licenses);\n","import { createSelector } from '@ngrx/store';\nimport { IAppState } from '../state/app.state';\nimport { IWootricState } from '../state/wootric.state';\n\nconst wootric = (state: IAppState) => state.wootric;\n\nexport const wootricReady = createSelector(\n wootric,\n (state: IWootricState) => state.loaded\n);\n\nexport const wootricUser = createSelector(\n wootric,\n (state: IWootricState) => state.info\n);\n","import { AppInfo, Brand } from '../../models/IApplicationData';\nimport { TenantCode } from '../../services/tenant.service';\n\nexport interface IApplicationDataState {\n application: AppInfo;\n brands: Brand;\n selectedBrandCode: TenantCode;\n brandLoaded: boolean;\n default_brand: string;\n settings: any[];\n expiry?: string;\n}\n\nexport const initialApplicationState: IApplicationDataState = {\n application: {\n app_key: '',\n app_logo: '',\n name: ''\n },\n brands: {},\n default_brand: '',\n settings: [],\n selectedBrandCode: null,\n brandLoaded: false\n};\n\nexport function getInitialApplicationState(): IApplicationDataState {\n return initialApplicationState;\n}\n","import { IAgentData } from '../../models/IAgentData';\nimport { IBaseHeader } from '../../models/IBaseHeader';\nimport { GalleryImage } from '../../models/GalleryImage';\n\nexport interface IAspTrendsFilter {\n oktaid?: string;\n mlsid?: string[];\n city?: number[];\n county?: number[];\n zip?: number[];\n mlsArea?: number[];\n schoolDistrict?: number[];\n subDivision?: number[];\n propertyType?: number[] | string[];\n}\n\nexport interface IAspTrendsDataResponse {\n agentReportEntity: IAgentData;\n header: IBaseHeader;\n imagePromoEntities: GalleryImage[];\n reportData: IAspTrendsData[];\n isEnabled?: boolean;\n}\n\nexport interface IAspTrendsData {\n solds: number;\n xYear: string;\n asp: number;\n}\nexport interface IAspTrendsState {\n loading: boolean;\n loaded: boolean;\n hasError: boolean;\n pdfDownloadPending: boolean;\n aspTrendsFilters: IAspTrendsFilter;\n aspTrendsReportData: IAspTrendsDataResponse;\n}\nexport const initialAspTrendsState: IAspTrendsState = {\n hasError: false,\n loaded: false,\n loading: false,\n pdfDownloadPending: false,\n aspTrendsFilters: undefined,\n aspTrendsReportData: undefined\n};\n\nexport function getInitialAspTrendsState(): IAspTrendsState {\n return initialAspTrendsState;\n}\n","import { IBreadCrumb } from '../../models/IBreadCrumb';\n\nexport class IBrowserState {\n prevPath: IBreadCrumb[];\n}\n\nexport const initialBrowserState: IBrowserState = {\n prevPath: []\n};\n\nexport function getInitialBrowserState(): IBrowserState {\n return initialBrowserState;\n}\n","import { ICustomDataDetails, ICustomDataTypeByNumEnum, ICustomDisplayAsEnum } from '../../models/ICustomDataTypeEnum';\nimport { ICustomReportOptions } from '../../models/ICustomReportOptions';\n\nexport interface ICustomReportControl {\n dataKey: string;\n description: string;\n dataType: ICustomReportControlDataType;\n dataCategory: number;\n disabled?: boolean;\n chartType?: ICustomDisplayAsEnum;\n}\n\ntype ICustomReportControlDataType = 'percent' | 'dollar' | 'int' | 'decimal';\n\nexport interface ICustomGraphSetting {\n idx: number;\n value: number;\n}\ninterface ICustomReportPdfState {\n pending: boolean;\n options: ICustomReportOptions;\n}\n\nexport interface ICustomReportState {\n loading: boolean;\n loaded: boolean;\n hasError: boolean;\n showAllData: boolean;\n customReportDetails: ICustomDataDetails;\n customReportFilters: any;\n customReportDisplayDataAs: [number, number];\n customReportDataTypes: [number, number];\n customReportGraphAxis: (0 | 1)[];\n pdfState: ICustomReportPdfState;\n}\n\nexport const initialCustomReportState: ICustomReportState = {\n customReportDetails: undefined,\n customReportFilters: undefined,\n hasError: false,\n loaded: false,\n loading: false,\n showAllData: false,\n customReportDisplayDataAs: [ICustomDisplayAsEnum.Column, ICustomDisplayAsEnum.Column],\n customReportGraphAxis: [0, 1],\n customReportDataTypes: [ICustomDataTypeByNumEnum.msp, ICustomDataTypeByNumEnum.alp],\n pdfState: {\n pending: false,\n options: {\n showcover: true,\n showAgentInfo: true,\n showtable: true,\n islandscape: true\n }\n }\n};\n\nexport function getInitialCustomReportState(): ICustomReportState {\n return initialCustomReportState;\n}\n","import { IFeature } from '../../models/IFeature';\n\nexport interface IFeatureDataState {\n featuresList: IFeature[];\n loaded: boolean;\n}\n\nexport const initialFeatureDataState: IFeatureDataState = {\n featuresList: [],\n loaded: false\n};\n\nexport function getInitialFeatureDataState(): IFeatureDataState {\n return initialFeatureDataState;\n}\n","import { FilterData } from '../../models/FilterData';\n\nexport interface IFilterState {\n defaultsLoaded: boolean;\n pending: boolean;\n filterState: FilterData;\n}\n\nexport const initialFiltersState: IFilterState = {\n defaultsLoaded: false,\n pending: false,\n filterState: new FilterData()\n};\n\nexport function getInitialFilterState(): IFilterState {\n return initialFiltersState;\n}\n","import { GalleryImage } from '../../models/GalleryImage';\n\nexport class IGalleryState {\n images: {\n loaded: boolean;\n list: GalleryImage[]\n };\n changePending: number;\n menuOpened: boolean;\n currentImageInSlide: GalleryImage;\n slideShowOpened: boolean;\n}\n\nexport const initialGalleryState: IGalleryState = {\n images: {\n loaded: false,\n list: []\n },\n changePending: 0,\n menuOpened: false,\n currentImageInSlide: new GalleryImage(),\n slideShowOpened: false\n};\n\nexport function getInitialGalleryState(): IGalleryState {\n return initialGalleryState;\n}\n","import { ILocationsData } from '../../models/ILocationsData';\n\nexport interface ILocationsState {\n locations: ILocationsData[];\n marketLocations: ILocationsData[];\n loaded: boolean;\n marketLoaded: boolean;\n}\n\nexport const initialLocationsState: ILocationsState = {\n locations: [],\n marketLocations: [],\n loaded: false,\n marketLoaded: false\n};\n\nexport function getInitialLocationsState(): ILocationsState {\n return initialLocationsState;\n}\n","import { IMarketPositionData } from 'app/models/IMarketPositionData';\nimport { IMarketFiltersV2 } from '../../models/IMarketReportFilters';\n\nexport interface IMarketPositionState {\n loading: boolean;\n loaded: boolean;\n error: boolean;\n marketReportDetails: IMarketPositionData;\n marketFilters: IMarketFiltersV2;\n dates: any[];\n showPercent: boolean;\n}\n\nexport const initialMarketPositionDataState: IMarketPositionState = {\n loading: false,\n loaded: false,\n error: false,\n marketReportDetails: {\n agentReportEntity: undefined,\n reportHeaderEntity: undefined,\n totalMarket: {\n entityName: '',\n listVolume: 0,\n listUnits: 0,\n soldVolume: 0,\n soldUnits: 0\n },\n topGroupTypes: [],\n realogyPosition: null,\n imagePromoEntities: undefined,\n videoEntities: undefined,\n msTypeName: '',\n isUnits: false,\n hasMultipleLocations: null,\n reportId: ''\n },\n marketFilters: new IMarketFiltersV2(),\n dates: [],\n showPercent: false\n};\n\nexport function getInitialMarketPositionDataState(): IMarketPositionState {\n return initialMarketPositionDataState;\n}\n","import { ILocationsData } from '../../models/ILocationsData';\nimport { IMarketSnapshotData } from '../../models/IMarketSnapshotData';\n\nexport interface IMarketSnapshotState {\n loading: boolean;\n loaded: boolean;\n hasError: boolean;\n defaultsLoaded: boolean;\n snapshotData: IMarketSnapshotData;\n filters: {\n location: ILocationsData[];\n };\n}\n\nexport const initialMarketTrendsState: IMarketSnapshotState = {\n loading: false,\n loaded: false,\n snapshotData: null,\n hasError: false,\n defaultsLoaded: false,\n filters: {\n location: []\n }\n};\n\nexport function getInitialMarketSnapshotDataState(): IMarketSnapshotState {\n return initialMarketTrendsState;\n}\n","import { IMarketTrendsData } from '../../models/IMarketTrendsData';\nimport { IMarketTrendsFilters } from '../../models/IMarketTrendsFilters';\nimport { ITrendsOptions } from '../../models/ITrendsOptions';\n\ninterface IMarketTrendsPdfState {\n pending: boolean;\n options: ITrendsOptions;\n}\n\nexport interface IMarketTrendsState {\n loading: boolean;\n loaded: boolean;\n hasError: boolean;\n trendsReportDetails: IMarketTrendsData;\n trendsFilters: IMarketTrendsFilters;\n chartDataType: number;\n pdfState: IMarketTrendsPdfState;\n}\n\nexport const initialMarketTrendsDataState: IMarketTrendsState = {\n loading: true,\n loaded: false,\n hasError: false,\n trendsReportDetails: {\n trendscopy: undefined,\n agentReportEntity: undefined,\n markettrendsheader: undefined,\n trendstabledata: [],\n trendsgraphdata: [],\n trendsgraphtables: [],\n marketTrendOptions: undefined,\n imagePromoEntities: undefined,\n videoEntities: undefined\n },\n pdfState: {\n pending: false,\n options: {\n chartdatatype: 0,\n showcover: true,\n showaimsi: true,\n showamsp: true,\n showdom: true,\n shownbrsoldar: true,\n shownl: true,\n showsplp: true,\n showspsqft: true,\n showtable: true,\n islandscape: true,\n issir: true,\n showAgentInfo: true\n }\n },\n trendsFilters: new IMarketTrendsFilters(),\n chartDataType: 0\n};\n\nexport function getInitialMarketTrendsDataState(): IMarketTrendsState {\n return initialMarketTrendsDataState;\n}\n","import { BannerTypeEnums } from '../../models/IBannerData';\nimport { INavButton } from '../../models/INavButton';\n\nexport class IMenuState {\n sideBarOpen: boolean;\n filterMenuOpen: boolean;\n showWarningBars: WarningBanners[];\n navItems: INavButton[];\n}\n\nexport const initialMenuState: IMenuState = {\n sideBarOpen: false,\n filterMenuOpen: false,\n showWarningBars: [],\n navItems: []\n};\n\nexport function getInitialMenuState(): IMenuState {\n return initialMenuState;\n}\n\nexport interface WarningBanners {\n [key: string]: Banner;\n}\n\nexport interface Banner {\n type: BannerTypeEnums;\n show: boolean;\n}\n","import { IMlsData } from '../../models/IMlsData';\n\nexport interface IMLSState {\n mlsid: IMlsData[];\n selectedMLS: IMlsData;\n loading: boolean;\n loaded: boolean;\n}\n\nexport const initialMLSState: IMLSState = {\n mlsid: [],\n selectedMLS: null,\n loading: false,\n loaded: false\n};\n\nexport function getInitialMLSState(): IMLSState {\n return initialMLSState;\n}\n","import { IReportData } from '../../models/IReportData';\nimport { EncryptedReportData } from '../../models/IReportPageData';\n\nexport interface INo1ClaimsReportDataState {\n reports: IReportData[];\n filteredSet: {\n filteredData: IReportData[];\n pagedData: IReportData[];\n loaded: boolean;\n };\n noResults: boolean;\n loading: boolean;\n loaded: boolean;\n details: EncryptedReportData;\n}\n\nexport const initialNo1ClaimReportDataState: INo1ClaimsReportDataState = {\n reports: [],\n filteredSet: {\n filteredData: [],\n pagedData: [],\n loaded: false\n },\n loading: false,\n loaded: false,\n noResults: false,\n details: {\n oktaId: null,\n msUnoReportId: '',\n reportDetail: undefined,\n encryptedData: undefined,\n loading: false,\n imagePath: undefined,\n cbposition: 1\n }\n};\n\nexport function getInitialNo1ClaimsReportDataState(): INo1ClaimsReportDataState {\n return initialNo1ClaimReportDataState;\n}\n","import { GalleryImage } from '../../models/GalleryImage';\nimport { IAgentReport } from '../../models/IAgentReport';\nimport { AreaLocalName } from '../../models/IMarketTrendsHeader';\n\nexport interface IPdfState {\n opts: IPdfOptions;\n hasError: boolean;\n errorMessage: string;\n pending: boolean;\n previewOpen: boolean;\n pdfPreviewData: IPdfPreviewData;\n}\n\nexport const initialPdfState: IPdfState = {\n opts: {\n chartdatatype: 0,\n showcover: true,\n showaimsi: true,\n showamsp: true,\n showdom: true,\n shownbrsoldar: true,\n shownl: true,\n showsplp: true,\n showspsqft: true,\n showtable: true,\n islandscape: true,\n showBrandLogo: true,\n showMarketPositionTable: true,\n showFirmNames: true,\n showAgentInfo: true,\n showTrendLines: true\n },\n pdfPreviewData: null,\n errorMessage: null,\n hasError: false,\n pending: false,\n previewOpen: false\n};\n\nexport function getInitialPdfState(): any {\n return initialPdfState;\n}\n\nexport interface IPdfOptions {\n chartdatatype: number;\n showcover: boolean;\n showtable: boolean;\n showamsp: boolean;\n showsplp: boolean;\n shownbrsoldar: boolean;\n showdom: boolean;\n showspsqft: boolean;\n showaimsi: boolean;\n shownl: boolean;\n islandscape: boolean;\n showBrandLogo: boolean;\n showFirmNames: boolean;\n showAgentInfo: boolean;\n showMarketPositionTable: boolean;\n showTrendLines: boolean;\n}\n\nexport interface IPdfPreviewData {\n displayDate: string;\n displayStartDate?: string;\n displayEndDate?: string;\n logo: GalleryImage;\n price: string;\n propertyType: string;\n areaLocalNames: AreaLocalName[];\n agentData: IAgentReport;\n legalName: string;\n reportTitle: string;\n displayReo: string;\n}\n","import { ILocationsData } from '../../models/ILocationsData';\nimport { ReportTypeEnum, ReportTypeLongStrEnum } from '../../models/ReportTypes';\n\nexport interface Filter {\n [key: string]: string;\n}\n\nexport interface ISavedSearch {\n name: string;\n rowKey?: string;\n mlsId: string;\n isDefault?: boolean;\n reportType: ReportTypeEnum;\n createdDate?: Date;\n data: ISavedSearchData;\n}\n\nexport interface ISavedSearchData {\n mls: string;\n report: Filter[];\n locationFilters: ILocationsData[];\n}\n\nexport interface ISavedSearchState {\n searchesArray: {\n [value in ReportTypeLongStrEnum]: ISavedSearch[];\n };\n loading: boolean;\n loaded: boolean;\n isError: boolean;\n}\n\nexport const initialSavedSearchState: ISavedSearchState = {\n searchesArray: null,\n loading: false,\n loaded: false,\n isError: false\n};\n\nexport function getInitialSavedSearchState(): ISavedSearchState {\n return initialSavedSearchState;\n}\n","import { IContactData } from '../../models/IContactData';\n\nexport interface IUserSettingsState {\n brandingType: Branding | null;\n contact: IContactData[];\n social: IContactData[];\n photo: IContactData[];\n loading: boolean;\n loaded: boolean;\n}\n\nexport type Branding = 'Office' | 'Individual' | 'Team';\n\nexport enum BrandingEnum {\n Office = 'Office',\n Individual = 'Individual',\n Team = 'Team'\n}\n\nexport enum BrandingEnumByInteger {\n Individual,\n Office,\n Team\n}\n\nexport const initialUserSettingsState: IUserSettingsState = {\n brandingType: null,\n contact: [],\n social: [],\n photo: [],\n loading: true,\n loaded: false\n};\n\nexport function getInitialUserSettingsState(): IUserSettingsState {\n return initialUserSettingsState;\n}\n","import { GalleryImage } from '../../models/GalleryImage';\nimport { IUser } from '../../models/IUser';\n\nexport interface IUserDataState {\n info: IUser;\n loaded: boolean;\n defaultImage: {\n loaded: boolean;\n sizes: GalleryImage[];\n };\n}\n\nexport const initialUserDataState: IUserDataState = {\n info: {\n oktaId: '',\n userName: '',\n name: '',\n email: '',\n metro_Name: '',\n officeName: '',\n metro_Number: 0,\n brandCode: null,\n isNrt: false,\n roleName: '',\n avatar: undefined,\n contactType: 0,\n licenses: [],\n offices: [],\n teams: [],\n personMasterId: '',\n agentMasterId: ''\n },\n loaded: false,\n defaultImage: {\n loaded: false,\n sizes: []\n }\n};\n\nexport function getInitialUserDataState(): IUserDataState {\n return initialUserDataState;\n}\n","import { IWootric } from '../../models/IWootric';\n\nexport interface IWootricState {\n info: IWootric;\n loaded: boolean;\n}\n\nexport const initialWootricState: IWootricState = {\n info: {\n metroName: '',\n metroID: '',\n officeName: '',\n officeID: '',\n officeLocationID: '',\n oktaID: '',\n userType: '',\n emailAddress: '',\n createdAt: '',\n titles: ''\n },\n loaded: false\n};\n\nexport function getInitialWootricState(): IWootricState {\n const storage: IWootricState = JSON.parse(localStorage.getItem('wootric'));\n if (storage && storage.info.oktaID) {\n return JSON.parse(localStorage.getItem('wootric'));\n }\n return initialWootricState;\n}\n","export const environment = {\n production: false,\n environment: 'stage',\n oktaApp: {\n sothebysrealty: {\n redirectUri: 'https://stg-marketquest.sothebysrealty.com/implicit/callback',\n idp: '0oad5wjjckkDyt3TU0h7'\n },\n realogy: {\n redirectUri: 'https://stg-marketquest.realogy.com/implicit/callback',\n idp: '0oadw5tql3G3KQmOS0h7'\n },\n clientId: '0oalhtdxycQ7SNMGe0h7',\n issuer: 'https://realogy.oktapreview.com/oauth2/ausdtpyw647fbrcPi0h7',\n scopes: 'https://mq-p3-api.nrtwebdev.com/api/',\n cookies: {\n secure: true\n },\n pkce: false\n },\n imagePath: 'https://abtmqsastgapps.blob.core.windows.net/',\n apiBaseUrl: ''\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\n];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"names":["format","combineLatest","map","take","ICustomDataTypeByNumEnum","ICustomDataTypeEnum","ReportPageTypeShortStrEnum","ReportService","AdjustCustomReportDataTypes","AdjustCustomReportDisplayAs","SetDataTableShowAll","CustomReportAxis","CustomReportDataDetails","CustomReportDataTypes","CustomReportError","CustomReportLoaded","CustomReportLoading","DisplayAllData","selectCurrentMLS","i0","obj_r5","ctx_r12","tData_r15","ctx_r4","CustomGraphPageComponent","constructor","customReportSvc","reportServ","themeSvc","store","ngOnInit","loading$","select","loaded$","customReportError$","chartAxis$","data$","getData$","dataTypes$","obv","tableData$","pipe","data","report","showAll","dataTypes","d","formatTableData","reportData","headerData","rowData","subscribe","typeArr","stringDescription","join","graphTitle","cardData","yAxisLabels","getYAxisLabels","setChartDataData","refreshPage","window","location","reload","exportPdf","isSir","isSIR","exportPdfPreview","custom","exportCSV","downloadTableData","exportXLS","isCSV","mls","colHeaders","name","mlsId","forEach","item","index","date","Date","period","newDate","push","customCSV","key","hasOwnProperty","isNaN","Number","element","x","roundToTwoDecimal","generateCSVLink","generateJsonToXlsx","split","csv","num","Math","round","EPSILON","toggleAllData","$event","dispatch","checked","dataPointSelectedHandler","value","showTrendLines","trendLineShowStatus","disableTrendLines","setThreePointChartData","displayDataPointSelectedHandler","threePointHandler","dataPointIds","dataPointId","chartTypesConverted","dataPoints","getChartDataPointsPerDataType","axisLabels","graphDataTypes","seriesTypes","dataKey","axisLabel","setSelectedTrendLine","selectors","decls","vars","consts","template","_r1","EventEmitter","switchMap","ICustomDisplayAsEnum","CustomReportDisplayAs","controlArray_r2","controlArray_r7","CustomReportControlsComponent","msp","Column","aopernl","Line","aoperai","dom","msi","sppersf","splp","asp3","alp3","sppersf3","splp3","asp","mlp","alp","nl","ai","solds","expired","ao","displayAs$","dataPointControlArray","getCustomReportTypes","i","listOfTypes","toLowerCase","chartType","dataGraphTypes","srcArray","Array","fill","observable","dataTypesSelected","displayAsSelected","srcListOfTypes","idx","filterDropdownOptions","configureAxis","filterAvailableDataPoints","threePointSelected","dataPointSelected","emit","adjustDisplayAs","displayDataPointSelected","opts","disabled","filter","y","includes","threeDataPointSelected","outputs","cloneDeep","Subscription","ChartTypes","ImageTypes","pdfPreviewOrientation","pdfShowAgentInfo","pdfShowHideFirmName","pdfShowLogo","selectReportPageData","CBRClaimsExportPreviewComponent","disclaimerService","optionSvc","reportDetailService","resetOrientation","show","setTimeout","ngAfterViewInit","pdfOrientation$","pdfShowName$","pdfShowAgentInfo$","pdfShowLogo$","subs","add","islandscape","undefined","pageData$","disclaimer","claims","showFirmName","realogyPositionIndex","reportDetail","graph","position","reportGraphEntities","remapGraphEntryNames","agent","agentReportEntity","path","getImagePathForReport","logo","imagePromoEntities","find","image","imageSize","imageUrl","imageURL","formatCBRDisclaimer","reportHeaderEntity","bgImage","imageEntity","backgroundImage","ngOnDestroy","unsubscribe","inputs","showLogo","hideChartNames","ExportService","ExportPreviewToggle","pdfExportPreviewOpen","pdfOptions","SIRClaimsExportPreviewComponent","exportSvc","optionsService","hideFirmName","toString","toUpperCase","formatFirmName","entity","trimmedName","trimDataAfterParenthesis","levelEntityName","levelEntityXtra","showFirmNames","pickMaxValue","reduce","max","p","reportMeasureValue","fitColumnHeight","maxH","document","querySelectorAll","col","isLeader","getAttribute","columnHeight","labelHeight","querySelector","clientHeight","style","height","min","parseInt","ngAfterViewChecked","isOpen","subscription","maxValue","graphData","formatGraphData","formatDisclaimerSIR","getLogo","pdfOpts$","formattedValue","msTypeName","numFormatter","getHeight","progress","total","parseFloat","images","length","opts_r1","data_r5","ctx_r3","CustomExportPreviewComponent","customReportService","pdfIsLandscape$","pdfOptions$","pdfOpts","showTable","showtable","isLandscape","showCover","showcover","showAgentInfo","initChartData","isThreePointChart","getIsThreePointChart","threePointData","getThreePointChartData","chartData","typesArray","selectMarketReportData","pdfShowMarketPositionTable","fitty","ctx_r21","ctx_r0","CBRMarketExportPreviewComponent","syncFusionService","fittyInit","pdfShowMarketPositionTable$","market","realogyPosition","marketPosition","prepareMarketChatDataModel","emailLogo","table","topGroupTypes","width","fittyWidth","textFit","minSize","maxSize","fit","getTableEntityName","showName","entityName","realogyName","selectMarketShowAsPercent","SIRMarketExportPreviewComponent","exportService","numberOneEntityName","arr","mpData","showPercent","apply","o","isUnits","totalUnits","totalVolume","suffix","prefix","priceRange","formatAllPrice","indexOf","sub","pdfExportAgentData","pdfExportData","avatar_r9","_r4","AgentBrandingBlockComponent","userDataSvc","agentData$","filterData$","displayPrice","price","displayDate","displayEndDate","toLocaleDateString","month","year","propertyType","replace","displayStartDate","months","displayCombinedDate","areaLocalNames","getAreaNameLabel","agentInfo","contactType","avatar$","getUserAvatar","oktaId","otherUrl","photo","areaLocalName","firstLocation","locations","areatype","count","localName","CoverAgentSectionComponent","socialBlockExists","checkSocialBlock","links","Object","keys","toLocaleLowerCase","some","avatar_r4","UserInfoBlockComponent","pdfData_r1","CoverFilterSectionComponent","priceFormat","formatter","Intl","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","priceArr","dateFormat","startDateStart","endDate","pdfPreviewData","dates","displayReo","selectUserImageBackground","CoverMainComponent","optionsServ","imagePath","hostVars","hostBindings","CoverTitleComponent","previewData","title","reportTitle","endOfMonth","subMonths","_r3","ExportPreviewFooterComponent","bannerSvc","disclaimerDates","currentDate","end","start","a","day","thisYear","prevYear","time","opt","separator","m","f","DateTimeFormat","e","console","log","footerData","legalName","currentYear","ExportPreviewHeaderComponent","optionsSvc","exportPreviewData$","coverPage","animate","transition","trigger","chunk","ITrendsOptionEnum","selectTrendsDataLoaded","pdfPreviewData_r1","chart_r11","chart_r16","TrendsExportComponent","marketTrends","cardDataArray","marketTrendsChartConfiguration","pdfPreviewData$","card","shortHand","pagedArray","arrangeChartPages","array","pages","tempData","firstPage","shift","remainingPages","opacity","SaveSearchModalComponent","locationsLoaded","combineLatestWith","of","ReportTypeEnum","ToggleFilterPanel","FetchSavedSearches","selectSavedSearches","SavedSearchModalComponent","SavedSearchInputComponent","modalSvc","savedSearchSvc","retrieveSavedSearches","initSavedSearches","getAvailableSearches","checkCanSaveSearch","v","mls$","searches","defaultSearch","reportType","search","isDefault","dispatchFilters","searchesAvailable$","savedSearches$","savedSearches","mlsData","searchList","isActive$","filterForm","statusChanges","filterValues","active","MarketSnapshot","locationFilters","openSaveSearchModal","searchesByReportAndMls","subTitle","filters","open","maxWidth","afterClosed","openViewSearchModal","mappedFilters","JSON","parse","stringify","dateRangeMulti","startDate","monthlyEndDate","dateRange","applyFilters","ctx","PreviewTileSothebysComponent","options","tileData$","imageBgWide","imageBgSquare","logoLight","logoDark","showGraph","large","selectMarketAPIResultsEmpty","selectMarketAPIResultsReady","SocialImageDirective","ShareSocialAndEmailService","selectAllReportPageData","ActionButtonsComponent","shareSocialAndEmailService","reportService","userSettingsSvc","gtmService","dataEmpty$","reportsReady$","btnConfigOpt","fetchActionButtonConfig","pageType","btnText","ready","storeData","isConsolidatedMLS","cbposition","openEmail","reportId","openShare","openSocial","msUnoReportId","encryptedData","baseUrl","previewWebsite","claimsGTM","openExportPdfPreview","sirBrand","viewQuery","distinctUntilChanged","ctx_r1","MarketQuestChartComponent","syncFusionConfigService","breakpointObserver","cssService","randomIdStr","randomId","resp","bool","showAsPercentage","reloadChartFromNewData","detectSize","sizeMatch","breakpoints","desktop","tablet","mobile","fetchChartConfig","size","target","assign","getConfig","getMaxY","marketSharePercentage","random","substring","getMaxScaleByDeviceSize","maxVal","smallChat","medChart","convertReportGraphNamesToSmall","val","ngOnChanges","changes","chartSourceData","firstChange","downloadableImageType","showChart","chartInit","initializeAndShowChart","observe","sizeMatches","chartSizeType","transposed","tall","pointRender","barColor","previewChart","seriesColor","cbBlue","colorPrimary","overridePrimaryColor","cbPosition","setCBPosition","splice","point","axisLabelRender","text","trimLabels","textRender","font","color","convertUnitsPercentDataPoint","convertToConsolidated","chartLoaded","chartReady","next","complete","showPercentage","lg","previewLarge","sm","previewSmall","isReportPage","reportPage","reportPageSm","hideTitle","setChartHeaderTitles","primaryYAxis","maximum","sourceType","adjustChartLayoutByData","useSubtitle","titleWithoutSubtitle","groupByLevel","titleWithSubtitle","displayDateRange","animation","enable","hideFirmNames","features","SmallChartTableComponent","reportDetailSrv","reportDetail$","entityNames","remapMarketGraphEntryNames","marketReportDetails","CommonModule","selectTrendsData","SharedComponentsModule","aspTrendsData","aspTrendsPDFPending","FetchAspPDF","_r11","_r9","TrendCardComponent","trendsSvc","directPdfPending$","trends","postTrendsDataToDb","trendsDbString","openTrendsEmail","exportCSVClick","exportXLSClick","downloadDirectPdf","ASP_Trend","exportReport","directPDF","showHeader","standalone","ngContentSelectors","i6","i7","styles","selectTrendsGraphData","chartData_r1","TrendChartContainerComponent","chartData$","apiData","chart","dataType","entry","yData","xData","typographySize","TrendCardTypeEnumShortHand","selectTrendsCopyByKey","TrendChartDescriptionComponent","chartShortHand","description$","DataColumns","selectTrendsTableData","selectTrendsTableDataType","header_r4","row_r5","TrendTableComponent","marketTrendsService","tableDataType$","tableData","tableType","headers","tableHeaderColumns","formattedData","formatTrendsTableArray","isValid","MTFiltersDirty","UpdateTrendsReportFilters","selectTrendsDataHasError","selectTrendsDataHeader","selectTrendsDataLoading","_r6","TrendsReportPageComponent","datePipe","trendsLoaded$","trendsLoading$","trendsError$","trendsData$","prepareData","generateTableHeaders","setHasData","hasData$","trendData","Boolean","trend","cm","toggleMenu","clearFilters","maxDate","defaultFilters","city","county","zip","mlsArea","schoolDistrict","subDivision","priceMax","priceMin","isReo","isDirty","trendsTableData","trendsTableCSV","trendsGraph","transform","getFullYear","trendsCSV","apiDate","monthFormatted","yearFormatted","PushWarningBanner","ToggleWarningBanner","selectBannersByType","selectBannerStatus","DisclaimerBannerComponent","bannerConfig","type","banners","match","b","bannerStatus$","goToHelpPage","url","hideBanner","MAT_DIALOG_DATA","selectSavedSearchesLoaded","ctx_r2","dialogRef","savedSavedSearches$","close","setSelectedSearch","selectedSearch","SavedSearchFields","mergeMap","SavedSearchConfirmationModalComponent","_r12","item_r1","SavedSearchesTableComponent","savedSvc","trackByFn","rowKey","selectRow","selectedTableRow","deleteSavedSearch","id","result","error","err","setSearchDefault","stopPropagation","Subject","SocialModalComponent","_snackBar","modalService","shareSvc","snackBar","reportDetails","metaLink","encryptedid","shareLink","reportTransactionSide","reportValueType","reportValue","loadSocialImage","generateSocialImage","$ready","duration","verticalPosition","horizontalPosition","socialLinkGenerate","gtmSocialClick","onCopyURL","navigator","clipboard","writeText","then","openSnackBar","closeMe","message","closeDialog","selectBrandInfo","MqFooterSIRComponent","brandInfo$","brand","brandLinks","extractSocialLinkInfo","copyright","selectBrandCode","selectUser","MenuContentsComponent","navigationService","route","responsive","breakpoint","themeService","results","nonMobile","matches","fetchNavButtonData","brandCode","navigate","menuBtn","urlPath","logout","urlExternal","navigateByUrl","r","checkResponsive","navButton","currentScreenBreakpointMatches","buttonData","headerAvatarMenuButtons","btn","btnOk","enabled","label","srvOk","selectAllAppData","BrandingComponent","option","baseURL","appData$","default_brand","brandInfo","brands","application","loaded","isTerradatum","ToggleSideBarNav","selectSideBarStatus","SideBarNavComponent","toggleSideBarState","selectOktaId","FetchNavItems","selectNavItems","i_r2","NavButtonBarComponent","user","navItems$","btnArr","AreaIdLookupPipe","areaType","lookupLocationByAreaIdAndType","pure","OktaAuth","environment","MqOktaAuthService","oktaAuth","oktaApp","clientId","config","issuer","cookies","secure","pkce","responseType","scopes","localStorage","getItem","info","clear","setItem","sessionStorage","token","getAccessToken","signOut","revokeAccessToken","postLogoutRedirectUri","origin","login","tenantId","t","pathname","setOriginalUri","getWithRedirect","idp","redirectUri","setServiceNowAuthSession","isAuthenticated","getServiceNowAuthSession","factory","providedIn"],"sourceRoot":"webpack:///"}