{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/broker-signature/broker-signature.component.ts","./src/app/broker-signature/broker-signature.component.html","./src/app/child-routing.module.ts","./src/app/common.service.ts","./src/app/footer/footer.component.ts","./src/app/footer/footer.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/market-insights-report/market-insights-report.component.ts","./src/app/market-insights-report/market-insights-report.component.html","./src/app/market-insights-report/market-insights.model.ts","./src/app/market-insights-report/market-insights.service.ts","./src/app/nav-menu/nav-menu.component.ts","./src/app/nav-menu/nav-menu.component.html","./src/app/seller-report/seller-report.component.ts","./src/app/seller-report/seller-report.component.html","./src/app/seller-report/seller-report.model.ts","./src/app/seller-report/seller-report.service.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\n\r\nconst routes: Routes = [\r\n  { path: '', component: HomeComponent },\r\n\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forRoot(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n  title = 'ClientApp';\r\n}\r\n","<body>\r\n  <app-nav-menu></app-nav-menu>\r\n  <div class=\"container\">\r\n    <router-outlet></router-outlet>\r\n  </div>\r\n  <app-footer></app-footer>\r\n</body>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { ChildRoutingModule } from './child-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { NgChartsModule } from 'ng2-charts';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { BrokerSignatureComponent } from './broker-signature/broker-signature.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { SellerReportComponent } from './seller-report/seller-report.component';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\n\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { MarketInsightsReportComponent } from './market-insights-report/market-insights-report.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AppComponent,\r\n    HomeComponent,\r\n    BrokerSignatureComponent,\r\n    NavMenuComponent,\r\n    FooterComponent,\r\n    SellerReportComponent,\r\n    MarketInsightsReportComponent\r\n  ],\r\n  imports: [\r\n    BrowserModule,\r\n    AppRoutingModule,\r\n    ChildRoutingModule,\r\n    NgChartsModule,\r\n    HttpClientModule,\r\n    FormsModule,\r\n    GoogleMapsModule,\r\n    ReactiveFormsModule,\r\n    NgbModule,\r\n    NgxSpinnerModule,\r\n    BrowserAnimationsModule,\r\n    NgxPaginationModule\r\n  ],\r\n  providers: [DatePipe],\r\n  bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { CommonService } from './../common.service';\r\n\r\ndeclare var window: any;\r\n\r\n@Component({\r\n  selector: 'app-broker-signature',\r\n  templateUrl: './broker-signature.component.html',\r\n  styleUrls: ['./broker-signature.component.css'],\r\n  providers: [CommonService]\r\n})\r\nexport class BrokerSignatureComponent implements OnInit {\r\n  @Input() brokerDetails: any;\r\n  formModal: any;\r\n  contactForm!: FormGroup;\r\n  publicUrl!: string;\r\n\r\n  constructor(private fb: FormBuilder, private commonService: CommonService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.formModal = new window.bootstrap.Modal(\r\n      document.getElementById('myModal')\r\n    );\r\n    this.contactForm = this.fb.group({\r\n      name: ['', Validators.required],\r\n      phone: [''],\r\n      email: ['', [Validators.required, Validators.email]],\r\n      msg: [''],\r\n      sendSms: [false, Validators.requiredTrue]\r\n    });\r\n  }\r\n\r\n  openFormModal() {\r\n    this.formModal.show();\r\n  }\r\n\r\n  onFormSubmit() {\r\n    this.commonService.getPublicSiteLink().subscribe((data) => {\r\n      this.publicUrl = data.url;\r\n      if (this.publicUrl) {\r\n        this.commonService.createInfoRequest(this.publicUrl, this.contactForm.value)\r\n          .subscribe(data => {\r\n            console.log(data);\r\n            this.formModal.hide();\r\n          })\r\n      }\r\n    })\r\n\r\n  }  \r\n\r\n}\r\n","<table>\r\n  <tr>\r\n    <td align=\"center\" style=\"font-family: sans-serif; font-size:16px;\">\r\n      <table>\r\n        <tr *ngIf=\"brokerDetails\">\r\n          <td valign=\"top\" style=\"padding: 0 30px 0 0; vertical-align:top; \"><img src=\"{{brokerDetails?.imageUrl}}\" alt=\"FullName - Photo\" width=\"110\" height=\"110\" /></td>\r\n          <td style=\"line-height:1.3\">\r\n            <b style=\"font-size: 18px\">{{brokerDetails?.name}}</b><br />\r\n            {{brokerDetails?.title}}<br />\r\n            <span *ngIf=\"brokerDetails.primaryPhone\">\r\n              <a style=\"text-decoration: none; color: #006341;\" href=\"{{brokerDetails?.primaryPhone.number}}\" alt=\"Primary Phone\">{{brokerDetails?.primaryPhone.number}}</a><br />\r\n            </span>\r\n            <a href=\"mailto:{{brokerDetails?.alias}}@johnlscott.com\" style=\"text-decoration: none; color: #006341\">{{brokerDetails?.alias}}@johnlscott.com</a><br />\r\n            <a href=\"http://{{brokerDetails?.alias}}.johnlscott.com\" style=\"text-decoration: none; color: #006341\">{{brokerDetails?.alias}}.johnlscott.com</a><br />\r\n            <span *ngIf=\"brokerDetails.socialMedia\">\r\n              <a *ngIf=\"brokerDetails.socialMedia.facebookUrl\" href=\"{{brokerDetails?.socialMedia.facebookUrl}}\" style=\"display: inline-block; padding-right: 6px; line-height: 2.8\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/facebook_ic.png\" width=\"12\" height=\"20\" />\r\n              </a>\r\n              <a *ngIf=\"brokerDetails.socialMedia.linkedInUrl\" href=\"{{brokerDetails?.socialMedia.linkedInUrl}}\" style=\"display: inline-block; padding-right: 6px\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/linkedin_ic.png\" width=\"21\" height=\"20\" />\r\n              </a>\r\n              <a *ngIf=\"brokerDetails.socialMedia.twitterUrl\" href=\"{{brokerDetails?.socialMedia.twitterUrl}}\" style=\"display: inline-block; padding-right: 6px\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/twitter_ic.png\" width=\"25\" height=\"20\" />\r\n              </a>\r\n              <a *ngIf=\"brokerDetails.socialMedia.instagramUrl\" href=\"{{brokerDetails?.socialMedia.instagramUrl}}\" style=\"display: inline-block; padding-right: 6px\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/instagram_ic.png\" width=\"20\" height=\"20\" />\r\n              </a>\r\n              <a *ngIf=\"brokerDetails.socialMedia.tumblrUrl\" href=\"{{brokerDetails?.socialMedia.tumblrUrl}}\" style=\"display: inline-block; padding-right: 6px\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/tumblr_ic.png\" width=\"14\" height=\"20\" />\r\n              </a>\r\n              <a *ngIf=\"brokerDetails.socialMedia.youTubeUrl\" href=\"{{brokerDetails?.socialMedia.youTubeUrl}}\" style=\"display: inline-block; padding-right: 6px\">\r\n                <img src=\"https://assets.jlscontent.com/images/email/social-icons/you_tube_ic.png\" width=\"29\" height=\"20\" />\r\n              </a>\r\n            </span>\r\n            <br />\r\n            <button type=\"button\" (click)=\"openFormModal()\" class=\"btn btn-dark\" style=\"margin-top:15px\">\r\n              Send a Message\r\n            </button>\r\n          </td>\r\n        </tr>\r\n      </table>\r\n    </td>\r\n  </tr>\r\n</table>\r\n\r\n<div class=\"modal fade\"\r\n     id=\"myModal\"\r\n     tabindex=\"-1\"\r\n     aria-labelledby=\"contactModal\"\r\n     aria-hidden=\"true\">\r\n  <div class=\"modal-dialog\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"contactModal\">Contact John L. Scott</h5>\r\n        <button type=\"button\"\r\n                class=\"btn-close\"\r\n                data-bs-dismiss=\"modal\"\r\n                aria-label=\"Close\"></button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n        <div class=\"row\">\r\n          <div class=\"header col-12\">\r\n            <div id=\"form-description\" data-bind=\"text: formMetadata.description\">Please complete the following form and submit your request.</div>\r\n          </div>\r\n          <div class=\"col-12\">\r\n            <form [formGroup]=\"contactForm\" (ngSubmit)=\"onFormSubmit()\">\r\n              <div class=\"form-group\" style=\"margin-top:25px;\">\r\n                <input name=\"Name\" formControlName=\"name\" class=\"form-control\" type=\"text\" tabindex=\"10\" placeholder=\"Your name\" required=\"\">\r\n              </div>\r\n              <div class=\"form-group\" style=\"margin-top:15px;\">\r\n                <input id=\"Phone\" name=\"Phone\" formControlName=\"phone\" class=\"form-control\" tabindex=\"20\" type=\"tel\" style=\"width: 100%;\" placeholder=\"Your phone\" validationmessage=\"Please provide a valid Phone number to receive SMS (text message).\" autocomplete=\"off\">\r\n                <input id=\"jls-sms-checkbox\" style=\"width:20px; height:20px; margin-top: 10px; margin-right:10px; cursor:pointer\" formControlName=\"sendSms\" type=\"checkbox\"><label for=\"jls-sms-checkbox\"></label><span>Send Text (SMS)?</span>\r\n                <span class=\"k-invalid-msg\" tabindex=\"30\" data-for=\"Phone\"></span>\r\n              </div>\r\n              <div class=\"form-group\" style=\"margin-top:15px;\">\r\n                <input name=\"Email\" formControlName=\"email\" class=\"form-control\" tabindex=\"40\" type=\"email\" placeholder=\"Your email\" data-email-msg=\"Email format is not valid\" validationmessage=\"Please provide either a Phone number or an Email address\">\r\n              </div>\r\n              <div class=\"form-group\" style=\"margin:15px 0;\">\r\n                <textarea name=\"Message\" formControlName=\"msg\" class=\"form-control\" tabindex=\"50\" placeholder=\"Your message (optional)\"></textarea>\r\n              </div>\r\n              <button style=\"float: right;\" class=\"btn btn-dark\" type=\"submit\">Submit</button>\r\n            </form>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MarketInsightsReportComponent } from './market-insights-report/market-insights-report.component';\r\nimport { SellerReportComponent } from './seller-report/seller-report.component';\r\n\r\nconst routes: Routes = [\r\n  { path: 'market-insights-report/:id', component: MarketInsightsReportComponent },\r\n  { path: 'seller-report/:id', component: SellerReportComponent }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class ChildRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { InfoRequest } from './common.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n\r\nexport class CommonService {\r\n  brokerDetailsResponse: any;\r\n  alias: any = location.host.substring(0, location.host.indexOf('.'));\r\n\r\n  constructor(private httpClient: HttpClient) {\r\n    if (!this.alias) {\r\n      this.alias = \"www\";\r\n    }\r\n  }\r\n\r\n  private getBrokerUrl = 'roster/' + (this.alias ? this.alias : \"customerservice\") + '?fallback=true';\r\n  private createInfoRequestUrl = 'message/information-request';\r\n  private getPublicSiteUrl = '/configuration/public-api-site';\r\n\r\n  getBrokerDetailsResponse() {\r\n    return this.brokerDetailsResponse;\r\n  }\r\n\r\n  setBrokerDetailsResponse(brokerResponse: any) {\r\n    this.brokerDetailsResponse = brokerResponse;\r\n  }\r\n\r\n  getBrokerDetails(apiSiteUrl: string): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getBrokerUrl}`);\r\n  }\r\n\r\n  createInfoRequest(apiSiteUrl: string, infoRequest: InfoRequest): Observable<InfoRequest> {\r\n    return this.httpClient.post<InfoRequest>(`${apiSiteUrl}${this.createInfoRequestUrl}`, infoRequest)\r\n  }\r\n\r\n  getPublicSiteLink(): Observable<any> {\r\n    return this.httpClient.get<any>(`${this.getPublicSiteUrl}`);\r\n  }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-footer',\r\n  templateUrl: './footer.component.html',\r\n  styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n  currentYear = new Date().getFullYear();\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n}\r\n","<footer class=\"jls-footer\">\r\n  <div class=\"row\" style=\"margin:0\">\r\n    <div class=\"col-2 footer-medal\" style=\"padding-right: 5px;\">\r\n      <a href=\"https://www.facebook.com/johnlscott\" target=\"_blank\" rel=\"noopener\" alt=\"John L. Scott on Facebook\" style=\"text-align: center; font-size: 17px; text-align: center; padding: 0 5px\" role=\"button\" aria-label=\"Facebook\">\r\n        <i class=\"fa fa-lg fa-facebook\" style=\"color: #6fa995; display: inline-block\"></i>\r\n      </a>\r\n      <a href=\"https://www.linkedin.com/company/john-l-scott-real-estate\" target=\"_blank\" rel=\"noopener\" alt=\"John L. Scott on Linkedin\" style=\"text-align: center; font-size: 20px; padding: 0 5px; text-align: center\" role=\"button\" aria-label=\"Linkedin\">\r\n        <i class=\"fa fa-lg fa-linkedin\" style=\"color: #6fa995; display: inline-block\"></i>\r\n      </a>\r\n      <a href=\"https://www.instagram.com/johnlscottnews\" target=\"_blank\" rel=\"noopener\" alt=\"John L. Scott on Instagram\" style=\"text-align: center; font-size: 19px; padding: 0 5px; text-align: center\" role=\"button\" aria-label=\"Instagram\">\r\n        <i class=\"fa fa-lg fa-instagram\" style=\"color: #6fa995; display: inline-block\"></i>\r\n      </a>\r\n    </div>\r\n    <div class=\"text-left footer-content col-8\">\r\n      <div style=\"height: 34px; display: table-cell; vertical-align: middle;\">\r\n        <span style=\"display: inline;\">© {{currentYear}} John L. Scott. All rights reserved. Some John L. Scott offices are independently owned and operated.&nbsp;|&nbsp;</span>\r\n        <a href=\"/privacy-policy\" style=\"white-space: nowrap;\">Privacy Policy</a>&nbsp;|&nbsp;\r\n        <a href=\"/dmca-notice\" style=\"white-space: nowrap;\">DMCA Notice</a>&nbsp;&nbsp;|&nbsp;\r\n        <a href=\"/accessibility\" style=\"white-space: nowrap;\">Accessibility</a>&nbsp;&nbsp;|&nbsp;\r\n        <span style=\"white-space: nowrap;\"><i class=\"equal-housing-opportunity\">&nbsp;</i>Equal Housing Opportunity.</span>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-2\" style=\"padding: 0; font-size:13px;\">\r\n      <a id=\"agent-access\" href=\"https://mydesk.@(AppConfig.DefaultDomain())\" target=\"_blank\" rel=\"noopener\" alt=\"Agent Access\" style=\"display: inline-block; padding: 0 4px; margin-top: 5px; text-align: center\">\r\n        Agent Access\r\n      </a>\r\n    </div>\r\n  </div>\r\n</footer>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-home',\r\n  templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent implements OnInit {\r\n  \r\n\r\n  constructor() {\r\n}\r\n  ngOnInit() {\r\n  }\r\n\r\n  \r\n}\r\n","<div class=\"row\" >\r\n  <div class=\"col-12\" style=\"text-align:center\">\r\n    <h1>Welcome to Angular application</h1>\r\n  </div>\r\n</div>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Highlights, Listings, Address, CommunityVideos } from './market-insights.model';\r\nimport { MarketInsightsService } from './market-insights.service';\r\nimport { CommonService } from './../common.service';\r\nimport { Chart, ChartData, ChartOptions } from 'chart.js';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';\r\n\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GoogleMap } from '@angular/google-maps';\r\n\r\n@Component({\r\n  selector: 'app-market-insights-report',\r\n  templateUrl: './market-insights-report.component.html',\r\n  styleUrls: ['./market-insights-report.component.css']\r\n})\r\n\r\nexport class MarketInsightsReportComponent implements OnInit {\r\n  brokerDetails: any;\r\n  savedSearchId!: number;\r\n  chartData: any;\r\n  active: any;\r\n  new: any;\r\n  pending: any;\r\n  sold: any;\r\n  date: any;\r\n  chart: any = [];\r\n  labelMonth: any;\r\n  activeData?: Listings[] = [];\r\n  pendingData?: Listings[] = [];\r\n  soldData?: Listings[] = [];\r\n  address?: Address = new Address;\r\n  communityVideosData?: CommunityVideos[] = [];\r\n  highlights: Highlights = new Highlights;\r\n  viewAllUrl!: string;\r\n  triangleCoords: any;\r\n  urlSafe!: SafeResourceUrl;\r\n  isCommunityVideo!: boolean;\r\n  isActiveData!: boolean;\r\n  isPendingData!: boolean;\r\n  isSoldData!: boolean;\r\n  isChartData: boolean = true;\r\n  isHighlights!: boolean;\r\n  isError: boolean = false;\r\n  publicUrl!: string;\r\n  doneCommunityVideo: boolean = false;\r\n  doneActiveData: boolean = false;\r\n  donePendingData: boolean = false;\r\n  doneSoldData: boolean = false;\r\n  doneChartData: boolean = false;\r\n  doneHighlights: boolean = false;\r\n  sw!: any;\r\n  ne!: any;\r\n\r\n  constructor(private marketInsightsService: MarketInsightsService, private commonService: CommonService, public datepipe: DatePipe, private router: ActivatedRoute, public sanitizer: DomSanitizer, private spinner: NgxSpinnerService) {\r\n  }\r\n  ngOnInit() {\r\n    this.spinner.show();\r\n    this.savedSearchId = this.router.snapshot.params['id'];\r\n    this.getPublicUrl();\r\n    this.viewAllUrl = \"/search/saved/\" + this.savedSearchId;\r\n  }\r\n  @ViewChild(GoogleMap, { static: false })\r\n  map!: GoogleMap;\r\n\r\n  center!: google.maps.LatLngLiteral;\r\n  bounds = new google.maps.LatLngBounds;\r\n  zoom!: any;\r\n  options: google.maps.MapOptions = {\r\n    mapTypeId: 'roadmap',\r\n    zoomControl: false,\r\n    scrollwheel: false,\r\n    disableDoubleClickZoom: true,\r\n    disableDefaultUI: true,\r\n    clickableIcons: false,\r\n    gestureHandling: 'auto',\r\n    draggable: false,\r\n    keyboardShortcuts: false,\r\n  };\r\n  vertices: google.maps.LatLngLiteral[][] = [];\r\n  StyleOptions: google.maps.PolygonOptions = {\r\n    strokeColor: '#b4b5b7',\r\n    strokeOpacity: 1,\r\n    strokeWeight: 2,\r\n    fillColor: '#006341',\r\n    fillOpacity: 0.1,\r\n    clickable: false\r\n  }\r\n\r\n  getPublicUrl() {\r\n    this.commonService.getPublicSiteLink().subscribe((data) => {\r\n      this.publicUrl = data.url;\r\n      if (this.publicUrl) {\r\n        this.getBrokerDetails();\r\n        this.getHighlights();\r\n        this.getChartDetails();\r\n        this.getActiveListingsData();\r\n        this.getPendingListingsData();\r\n        this.getSoldListingsData();\r\n        this.getCommunityVideosData();\r\n      }\r\n    })\r\n  }\r\n\r\n  getBrokerDetails() {\r\n    this.commonService.getBrokerDetails(this.publicUrl).subscribe((data) => {\r\n      this.brokerDetails = data;\r\n      this.commonService.setBrokerDetailsResponse(this.brokerDetails);\r\n    });\r\n  }\r\n\r\n  checkDoneAll() {\r\n    if (!this.doneActiveData) return;\r\n    if (!this.doneChartData) return;\r\n    if (!this.doneCommunityVideo) return;\r\n    if (!this.doneHighlights) return;\r\n    if (!this.donePendingData) return;\r\n    if (!this.doneSoldData) return;\r\n    this.spinner.hide();\r\n  }\r\n\r\n  getHighlights() {\r\n    this.marketInsightsService.getHighlights(this.publicUrl, this.savedSearchId).subscribe((response) => {\r\n      this.highlights = response;\r\n      this.doneHighlights = true;\r\n      this.checkDoneAll();\r\n      if (!this.highlights) {\r\n        return;\r\n      }\r\n      this.triangleCoords = this.highlights.polygonPoints;\r\n      this.vertices = this.triangleCoords;\r\n      this.center = this.highlights.mapCenter;\r\n      this.sw = this.highlights.southWest;\r\n      this.ne = this.highlights.northEast;\r\n      this.bounds = new google.maps.LatLngBounds(this.sw, this.ne);\r\n      this.zoom = this.highlights.zoomLevel;\r\n      this.highlights.recapDate = this.datepipe.transform(this.highlights.recapDate, 'MMMM yyyy');\r\n      this.highlights.reportDate = this.datepipe.transform(this.highlights.reportDate, 'MMMM yyyy');\r\n      this.isHighlights = true;\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isError = true;\r\n        this.isHighlights = false;\r\n        this.doneHighlights = true;\r\n        this.doneActiveData = true;\r\n        this.doneChartData = true;\r\n        this.doneCommunityVideo = true;\r\n        this.donePendingData = true;\r\n        this.doneSoldData = true;\r\n        this.checkDoneAll();\r\n\r\n    });\r\n  }\r\n\r\n  setBounds() {\r\n    this.map.fitBounds(this.bounds);\r\n  }\r\n\r\n  getChartDetails() {\r\n    this.marketInsightsService.getChartData(this.publicUrl, this.savedSearchId).subscribe((data) => {\r\n\r\n      this.doneChartData = true;\r\n      this.checkDoneAll();\r\n      this.chartData = data;\r\n      this.active = this.chartData.map((m: any) => m.active);\r\n      this.pending = this.chartData.map((m: any) => m.pending);\r\n      this.sold = this.chartData.map((m: any) => m.sold);\r\n      this.new = this.chartData.map((m: any) => m.new);\r\n      this.date = this.chartData.map((m: any) => this.datepipe.transform(m.date, 'MMM yyyy'));\r\n      this.chart = new Chart('canvas', {\r\n        type: 'line',\r\n        data: {\r\n          labels: this.date,\r\n          datasets: [\r\n            {\r\n              label: 'New Listings',\r\n              data: this.new,\r\n              borderColor: 'rgb(15, 82, 186)',\r\n              backgroundColor: 'rgb(15, 82, 186)',\r\n              pointBackgroundColor: 'rgb(15, 82, 186)',\r\n              pointBorderColor: 'rgb(15, 82, 186)',\r\n              pointHoverBackgroundColor: 'rgb(15, 82, 186)',\r\n              pointHoverRadius: 8,\r\n              tension: 0.4\r\n            },\r\n            {\r\n              label: 'Pending',\r\n              data: this.pending,\r\n              borderColor: '#FFA500',\r\n              backgroundColor: '#FFA500',\r\n              pointBackgroundColor: '#FFA500',\r\n              pointHoverBackgroundColor: '#FFA500',\r\n              pointHoverRadius: 8,\r\n              tension: 0.4\r\n            },\r\n            {\r\n              label: 'Sold',\r\n              data: this.sold,\r\n              borderColor: '#CD2128',\r\n              backgroundColor: '#CD2128',\r\n              pointBackgroundColor: '#CD2128',\r\n              pointHoverBackgroundColor: '#CD2128',\r\n              pointHoverRadius: 8,\r\n              tension: 0.4\r\n            },\r\n            {\r\n              type: 'bar',\r\n              label: 'Active Inventory',\r\n              data: this.active,\r\n              borderColor: 'rgba(135,206,250)',\r\n              backgroundColor: 'rgba(167, 199, 231, 0.6)',\r\n              hoverBackgroundColor: 'rgba(167, 199, 231)'\r\n            },\r\n\r\n\r\n          ]\r\n        },\r\n        options: {\r\n          responsive: true,\r\n          scales: {\r\n            yAxis: {\r\n              ticks: {\r\n                maxTicksLimit: 20\r\n              }\r\n            }\r\n          },\r\n          plugins: {\r\n            legend: {\r\n              position: 'bottom',\r\n            }\r\n          }\r\n        },\r\n      })\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isChartData = false;\r\n        this.doneChartData = true;\r\n        this.checkDoneAll();\r\n      });\r\n\r\n  }\r\n\r\n  getActiveListingsData() {\r\n    this.marketInsightsService.getActiveData(this.publicUrl, this.savedSearchId).subscribe(\r\n      (response: Listings[]) => {\r\n        this.activeData = response;\r\n        if (this.activeData) {\r\n          this.doneActiveData = true;\r\n          this.checkDoneAll();\r\n          this.isActiveData = this.activeData.length > 0;\r\n        }\r\n      },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isActiveData = false;\r\n        this.doneActiveData = true;\r\n        this.checkDoneAll();\r\n      });\r\n  }\r\n\r\n  getPendingListingsData() {\r\n    this.marketInsightsService.getPendingData(this.publicUrl, this.savedSearchId).subscribe((response: Listings[]) => {\r\n      this.pendingData = response;\r\n      if (this.pendingData) {\r\n        this.donePendingData = true;\r\n        this.checkDoneAll();\r\n        this.isPendingData = this.pendingData.length > 0;\r\n      }\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isPendingData = false;\r\n        this.donePendingData = true;\r\n        this.checkDoneAll();\r\n      });\r\n  }\r\n\r\n  getSoldListingsData() {\r\n    this.marketInsightsService.getSoldData(this.publicUrl, this.savedSearchId).subscribe((response: Listings[]) => {\r\n      this.soldData = response;\r\n      if (this.soldData) {\r\n        this.doneSoldData = true;\r\n        this.checkDoneAll();\r\n        this.isSoldData = this.soldData.length > 0;\r\n      }\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isSoldData = false;\r\n        this.doneSoldData = true;\r\n        this.checkDoneAll();\r\n      });\r\n  }\r\n\r\n  getCommunityVideosData() {\r\n    this.marketInsightsService.getCommunityVideosData(this.publicUrl, this.savedSearchId).subscribe((response: CommunityVideos[]) => {\r\n      this.communityVideosData = response;\r\n      if (this.communityVideosData) {\r\n        this.doneCommunityVideo = true;\r\n        this.checkDoneAll();\r\n        this.isCommunityVideo = this.communityVideosData.length > 0;\r\n      }\r\n      //const makeRepeated = (arr:any, repeats:any) =>\r\n      //  Array.from({ length: repeats }, () => arr).flat();\r\n      //this.communityVideosData = makeRepeated(this.communityVideosData, 3);\r\n    }\r\n      ,\r\n      (error) => {\r\n        console.error(error);\r\n        this.isCommunityVideo = false;\r\n        this.doneCommunityVideo = true;\r\n        this.checkDoneAll();\r\n      });\r\n  }\r\n\r\n  sanitizeImageUrl(videoUrl: any): SafeUrl {\r\n    return this.sanitizer.bypassSecurityTrustResourceUrl(videoUrl);\r\n  }\r\n}\r\n\r\n","<ngx-spinner bdColor=\"rgba(51,51,51,0.8)\"\r\n             size=\"medium\"\r\n             color=\"#fff\"\r\n             type=\"ball-scale-multiple\">\r\n  <p style=\"font-size: 20px; color: white\">Loading...</p>\r\n</ngx-spinner>\r\n\r\n<div class=\"row\" style=\"padding: 50px 0 30px;\">\r\n  <div class=\"col-12 col-md-6\">\r\n    <img style=\"width:100%\" src=\"../../assets/market-insights-logo.png\" alt=\"...market-insights-logo\">\r\n  </div>\r\n  <div class=\"col-12 col-md-5 offset-md-1\" *ngIf=\"brokerDetails\">\r\n    <app-broker-signature [brokerDetails]=\"brokerDetails\"></app-broker-signature>\r\n  </div>\r\n</div>\r\n\r\n<hr style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n\r\n<div class=\"row\" style=\"margin:35px 0;\" *ngIf=\"isError\">\r\n  <h4>Sorry, no data available for requested report.</h4>\r\n</div>\r\n<div class=\"row\" style=\"margin:35px 0;\" *ngIf=\"isHighlights\">\r\n  <div class=\"col-12 col-md-6\">\r\n    <google-map height=\"500px\"\r\n                width=\"100%\"\r\n                [center]=\"center\"\r\n                (idle)=\"setBounds()\" [options]=\"options\">\r\n      <map-polygon *ngFor=\"let polygon of vertices\"\r\n                   [paths]=\"polygon\" [options]=\"StyleOptions\"></map-polygon>\r\n    </google-map>\r\n  </div>\r\n  <div class=\"col-12 col-md-6\" style=\"text-align: center; font-weight: bold;\">\r\n    <h1 style=\"text-align:center; margin-top:60px; font-weight:bold;\">\"{{highlights.name}}\"</h1>\r\n    <h2 style=\"text-align:center; margin-top:15px;\">{{highlights.recapDate}} Recap</h2>\r\n    <div class=\"col-12 col-md-3\" style=\"display: inline-block; margin-top:35px;\">\r\n      <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">{{highlights.newStatus}}</h4>\r\n      <hr style=\"border-top: 5px solid rgb(15, 82, 186); width: 50%; margin: auto; opacity: 1;\" />\r\n      <h1 style=\"font-weight: bold; font-size: 3rem; margin-top: 10px;\">{{highlights.newListingsCount}}</h1>\r\n    </div>\r\n    <div class=\"col-12 col-md-3\" style=\"display: inline-block; margin-top:35px;\">\r\n      <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">{{highlights.pendingStatus}}</h4>\r\n      <hr style=\"border-top: 5px solid #FFA500; width: 50%; margin: auto; opacity:1;\" />\r\n      <h1 style=\"font-weight: bold; font-size: 3rem; margin-top: 10px;\">{{highlights.pendingCount}}</h1>\r\n    </div>\r\n    <div class=\"col-12 col-md-3\" style=\"display: inline-block; margin-top:35px;\">\r\n      <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">{{highlights.activeStatus}}</h4>\r\n      <hr style=\"border-top: 5px solid rgba(167, 199, 231, 0.6); width: 50%; margin: auto; opacity: 1;\" />\r\n      <h1 style=\"font-weight: bold; font-size: 3rem; margin-top: 10px;\">{{highlights.activeInventory}}</h1>\r\n    </div>\r\n    <div class=\"col-12 col-md-3\" style=\"display: inline-block; margin-top:35px;\">\r\n      <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">{{highlights.soldStatus}}</h4>\r\n      <hr style=\"border-top: 5px solid #CD2128; width: 50%; margin: auto; opacity: 1;\" />\r\n      <h1 style=\"font-weight: bold; font-size: 3rem; margin-top: 10px;\">{{highlights.soldCount}}</h1>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<hr *ngIf=\"isHighlights\" style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n\r\n<div class=\"row\" style=\"margin-top:35px;\" *ngIf=\"isChartData\">\r\n  \r\n  <div class=\"col-12\">\r\n    <ng-template #list>\r\n      <div class=\"d-flex flex-column\">\r\n        <p><b>New listings: </b>Number of homes listed during the month </p>\r\n        <p><b>Pending: </b>Number of homes reported as going under contract during the month</p>\r\n        <p><b>Sold: </b>Number of homes sold during the month</p>\r\n        <p><b>Active Inventory: </b>Number of homes active on the last day of the month</p>\r\n      </div>\r\n    </ng-template>\r\n    <h3 style=\"font-weight:bold\">\r\n      Monthly Market Trends <span style=\"display: inline-block; padding-left: 10px; cursor: pointer;\" [ngbTooltip]=\"list\" triggers=\"click\"\r\n\t\t\t[autoClose]=\"true\" placement=\"end\"><i class=\"fa fa-info\" style=\"font-size: 18px; vertical-align: middle; border: 2px solid; padding: 1px 6px; border-radius: 50%;\" aria-hidden=\"true\"></i></span>\r\n    </h3>\r\n    <canvas id=\"canvas\" style=\"height:450px !important; max-height:450px; margin-top:20px;\" *ngIf=\"isChartData\">\r\n      {{chart}}\r\n    </canvas>\r\n  </div>\r\n</div>\r\n<br />\r\n\r\n<div class=\"row\" *ngIf=\"isActiveData\">\r\n  <div class=\"col-12\">\r\n    <h3 style=\"font-weight:bold;\">Active<span style=\"float:right; font-size:20px;\"><a style=\"color: #000;\" href=\"{{viewAllUrl}}?status=active\">View All Active</a></span></h3>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" style=\"margin-top:20px\" *ngIf=\"isActiveData\">\r\n  <div class=\"col-md-4\" *ngFor=\"let active of activeData;\">\r\n    <div class=\"card\" style=\" border: none;\">\r\n      <a href=\"/listing/{{active.id}}\" target=\"_blank\">\r\n        <img style=\"height: 225px;\" src=\"{{active.mainPhoto?.thumbnail}}\" class=\"card-img-top\" alt=\"...\">\r\n      </a>\r\n      <div class=\"card-body\" style=\"padding-left: 0; padding-right: 0; font-size: 18px;\">\r\n        <p style=\"font-weight: bold; margin-bottom:0;\"><span style=\"color: rgb(58 138 218);\">{{active.status}}</span><span style=\"float: right; \">{{active.listPrice | currency:'USD' : 'symbol' : '2.0'}}</span></p>\r\n        <p style=\"margin-bottom: 0;\">{{active.address?.street}}</p>\r\n        <p *ngIf=\"active.isNew\"><span style=\"font-weight: bold;\">New</span> {{active.listDate | date: \"MM/dd/yyyy\"}}</p>\r\n        <p *ngIf=\"!active.isNew\">Listed {{active.listDate | date: \"MM/dd/yyyy\"}}</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<hr *ngIf=\"isActiveData\" style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n\r\n<div class=\"row\" *ngIf=\"isPendingData\">\r\n  <div class=\"col-12\">\r\n    <h3><span style=\"font-weight:bold;\">Pending</span><span> | Reported Under Contract</span><span style=\"float:right; font-size:20px;\"><a style=\"color: #000;\" href=\"{{viewAllUrl}}?status=pending\">View All Pending</a></span></h3>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" style=\"margin-top:20px\" *ngIf=\"isPendingData\">\r\n  <div class=\"col-md-4\" *ngFor=\"let pending of pendingData;\">\r\n    <div class=\"card\" style=\" border: none;\">\r\n      <a href=\"/listing/{{pending.id}}\" target=\"_blank\">\r\n        <img style=\"height: 225px;\" src=\"{{pending.mainPhoto?.thumbnail}}\" class=\"card-img-top\" alt=\"...\">\r\n      </a>\r\n      <div class=\"card-body\" style=\"padding-left: 0; padding-right: 0; font-size: 18px;\">\r\n        <p style=\"font-weight: bold; margin-bottom:0;\"><span style=\"color: #FFA500 \">{{pending.status}}</span><span style=\"float: right; \">{{pending.price | currency:'USD' : 'symbol' : '2.0'}}</span></p>\r\n        <p style=\"margin-bottom: 0;\">{{pending.address?.street}}</p>\r\n        <p>Listed {{pending.listDate | date: \"MM/dd/yyyy\"}}</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<hr *ngIf=\"isPendingData\" style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n\r\n<div class=\"row\" *ngIf=\"isSoldData\">\r\n  <div class=\"col-12\">\r\n    <h3><span style=\"font-weight:bold;\">Sold Last Month</span><span> | Property Transferred</span><span style=\"float:right; font-size:20px;\"><a style=\"color: #000;\" href=\"{{viewAllUrl}}?status=sold\">View All Sold</a></span></h3>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" style=\"margin-top:20px\" *ngIf=\"isSoldData\">\r\n  <div class=\"col-md-4\" *ngFor=\"let sold of soldData;\">\r\n    <div class=\"card\" style=\" border: none;\">\r\n      <a href=\"/listing/{{sold.id}}\" target=\"_blank\">\r\n        <img style=\"height: 225px;\" src=\"{{sold.mainPhoto?.thumbnail}}\" class=\"card-img-top\" alt=\"...\">\r\n      </a>\r\n      <div class=\"card-body\" style=\"padding-left: 0; padding-right: 0; font-size: 18px;\">\r\n        <p style=\"margin-bottom:0;\"><span style=\"color: #c9302c; font-weight: bold;\">{{sold.status}}</span><span> {{sold.soldData?.soldDate | date: \"MM/dd/yyyy\"}}</span><span style=\"float: right; font-weight: bold;\">{{sold.soldData?.soldPrice | currency:'USD' : 'symbol' : '2.0'}}</span></p>\r\n        <p>{{sold.address?.street}}</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" *ngIf=\"isSoldData\">\r\n  <div class=\"col-12\">\r\n    <table class=\"table table-striped\">\r\n      <thead>\r\n        <tr style=\"text-align:right;\">\r\n          <th style=\"text-align: start\">Street Address</th>\r\n          <th>Closed Date</th>\r\n          <th>Beds</th>\r\n          <th>Baths</th>\r\n          <th>SqFt</th>\r\n          <th>Lot (Ac.)</th>\r\n          <th>List Price</th>\r\n          <th>Sale Price</th>\r\n          <th>Variance</th>\r\n          <th>DOM*</th>\r\n        </tr>\r\n      </thead>\r\n      <tbody>\r\n        <tr *ngFor=\"let sold of soldData;\" style=\"text-align:right;\">\r\n          <td style=\"text-align:start\"><a target=\"_blank\" href=\"/listing/{{sold.id}}\">{{sold.address?.street}}</a></td>\r\n          <td>{{sold.soldData?.soldDate | date: \"MM/dd/yyyy\"}}</td>\r\n          <td>{{sold.beds}}</td>\r\n          <td>{{sold.baths}}</td>\r\n          <td>{{sold.sqft | number}}</td>\r\n          <td>{{sold.acreage | number:'1.0-1'}}</td>\r\n          <td>{{sold.listPrice | currency:'USD' : 'symbol' : '2.0'}}</td>\r\n          <td>{{sold.soldData?.soldPrice  | currency:'USD' : 'symbol' : '2.0'}}</td>\r\n          <td>{{sold.variance | number : '1.0-2'}}%</td>\r\n          <td>{{sold.dom}}</td>\r\n        </tr>\r\n      </tbody>\r\n    </table>\r\n    <p style=\"font-style: italic; padding-left:15px; margin-bottom:20px;\">\r\n      *Days on Market is a reflection of the number of days a property has been available for sale.\r\n    </p>\r\n  </div>\r\n</div>\r\n\r\n<hr *ngIf=\"isSoldData\" style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n\r\n<div class=\"row\" *ngIf=\"isCommunityVideo\">\r\n  <div class=\"col-12\">\r\n    <h3><span style=\"font-weight:bold;\">Nearby Communities</span><span> | Videos</span><span style=\"float:right; font-size:20px;\"><a style=\"color: #000;\" href=\"/community-spotlight-videos\">View Available Community Videos</a></span></h3>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" *ngIf=\"isCommunityVideo\">\r\n  <div class=\"col-lg-4 col-md-12\" *ngFor=\"let video of communityVideosData;\">\r\n    <div class=\"ratio ratio-4x3\">\r\n      <iframe [src]=\"sanitizeImageUrl(video.vimeoUrl)\" height=\"225\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>\r\n    </div>\r\n  </div>\r\n</div>\r\n<hr *ngIf=\"isCommunityVideo\" style=\" border-top: 2px solid rgba(0,0,0,.2); \" />\r\n<div class=\"row\" style=\"padding-bottom: 20px\">\r\n  <div class=\"col-12\">\r\n    <p style=\"float: right;\" *ngIf=\"isHighlights\">\r\n      * All listings from all companies are available within supported MLS areas.\r\n    </p>\r\n  </div>\r\n</div>\r\n<script type=\"text/javascript\" src=\"https://jlscott.atlassian.net/s/d41d8cd98f00b204e9800998ecf8427e-T/tod1zk/b/5/c95134bc67d3a521bb3f4331beb9b804/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?locale=en-US&collectorId=7ed2f613\"></script>\r\n\r\n","import { center, Location } from \"../seller-report/seller-report.model\";\r\n\r\nexport class Highlights {\r\n  public name?: string;\r\n  public mapCenter?: any;\r\n  public zoomLevel?: number;\r\n  public polygonPoints?: polygonPoints[];\r\n  public reportDate: any;\r\n  public recapDate: any;\r\n  public statusCounts?: any;\r\n  public activeInventory?: number;\r\n  public activeStatus?: string;\r\n  public soldStatus?: string;\r\n  public newListingsCount?: number;\r\n  public newStatus?: string;\r\n  public pendingCount?: number;\r\n  public soldCount?: number;\r\n  public pendingStatus?: string;\r\n  public northEast?: any;\r\n  public southWest?: any;\r\n  public eastLongitude?: any;\r\n  public northLatitude?: any;\r\n  public southLatitude?: any;\r\n  public westLongitude?: any;\r\n}\r\n\r\nexport class polygonPoints {\r\n  lat: any;\r\n  lng: any;\r\n}\r\n\r\nexport class Listings {\r\n  public acreage: any;\r\n  public bankOwned?: boolean;\r\n  public baths?: number;\r\n  public beds?: number;\r\n  public cDom?: number;\r\n  public communityId: any;\r\n  public courtesyOf: any;\r\n  public cumulativeDaysOnMarket?: number;\r\n  public daysOnMarket?: number;\r\n  public dbAddTime?: string;\r\n  public dom?: number;\r\n  public favorite: any;\r\n  public features: any;\r\n  public fireplaces: any;\r\n  public gallery?: any[];\r\n  public garage: any;\r\n  public garageSpaces: any;\r\n  public hoaInfo: any;\r\n  public iconKey?: string;\r\n  public iconKeyOverride: any;\r\n  public id?: number;\r\n  public jlsAccountIds: any;\r\n  public jlsAccounts?: any[];\r\n  public jlsSecurityBrokerIds?: any[];\r\n  public lastVerified: any;\r\n  public links?: any[];\r\n  public listDate?: string;\r\n  public listPrice?: number;\r\n  public listingActivity: any;\r\n  public location?: Location;\r\n  public lotSize?: number;\r\n  public mainPhoto?: MainPhoto;\r\n  public mediaCount?: number;\r\n  public mls: any;\r\n  public mlsListingId?: number;\r\n  public newOnMarket?: boolean;\r\n  public offerReviewDate: any;\r\n  public openHouseCount: any;\r\n  public overrideState: any;\r\n  public parentOwners: any;\r\n  public parkingSpaces: any;\r\n  public pendingDate?: string;\r\n  public price?: number;\r\n  public primaryAccount: any;\r\n  public privateRemarks: any;\r\n  public propertyType?: string;\r\n  public publicRemarks: any;\r\n  public resourceTypeName: any;\r\n  public schoolDistrict: any;\r\n  public shortCode: any;\r\n  public showAddress: any;\r\n  public showMap: any;\r\n  public showingInstructions: any;\r\n  public showings: any;\r\n  public soldData: any;\r\n  public sqft?: number;\r\n  public status?: string;\r\n  public statusDate?: string;\r\n  public statusName?: string;\r\n  public taxes: any;\r\n  public title?: string;\r\n  public updateDate?: string;\r\n  public viewDate: any;\r\n  public yearBuilt: any;\r\n  public zip: any;\r\n  public zipExt: any;\r\n  public address?: Address;\r\n  public isNew?: boolean;\r\n  public variance: any;\r\n}\r\n\r\nexport class Address {\r\n  public city?: string;\r\n  public county?: string;\r\n  public geoId?: string;\r\n  public state?: string;\r\n  public stateName?: string;\r\n  public street?: string;\r\n  public street2?: string;\r\n  public unMapped?: boolean;\r\n  public undisclosed?: boolean;\r\n  public zip?: number;\r\n}\r\n\r\nexport class MainPhoto {\r\n  public index?: number;\r\n  public isMain?: boolean;\r\n  public target?: string;\r\n  public thumbnail?: string;\r\n  public title?: string;\r\n  public type?: string;\r\n}\r\n\r\nexport class CommunityVideos {\r\n  public id?: number;\r\n  public name?: string;\r\n  public polygon: any;\r\n  public savedSearchId?: number;\r\n  public vimeoUrl?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Highlights, Listings } from './market-insights.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class MarketInsightsService {\r\n  brokerDetailsResponse: any;\r\n  chartDataResponse: any;\r\n \r\n  constructor(private httpClient: HttpClient) {\r\n  }\r\n\r\n  private getHighlightsUrl = 'marketinsights/savedsearch/highlights/';\r\n  private getChartDataUrl = 'marketinsights/savedsearch/trends/';\r\n  private createInfoRequestUrl = 'message/information-request';\r\n  private activeUrl = 'marketinsights/savedsearch/listings/active/';\r\n  private pendingUrl = 'marketinsights/savedsearch/listings/pending/';\r\n  private soldUrl = 'marketinsights/savedsearch/listings/sold/';\r\n  private communityVideosUrl = 'marketinsights/savedsearch/community-videos/';\r\n  private getSiteMapUrl = 'site/sitemap?domain=';\r\n\r\n  getHighlights(apiSiteUrl: string, savedSearchId: number): Observable<Highlights> {\r\n    return this.httpClient.get<Highlights>(`${apiSiteUrl}${this.getHighlightsUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getChartData(apiSiteUrl: string, savedSearchId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getChartDataUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getChartDataResponse() {\r\n    return this.chartDataResponse;\r\n  }\r\n\r\n  setChartDataResponse(chartResponse: any) {\r\n    this.chartDataResponse = chartResponse;\r\n  }\r\n\r\n  getActiveData(apiSiteUrl: string, savedSearchId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.activeUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getPendingData(apiSiteUrl: string, savedSearchId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.pendingUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getSoldData(apiSiteUrl: string, savedSearchId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.soldUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getCommunityVideosData(apiSiteUrl: string, savedSearchId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.communityVideosUrl}${savedSearchId}`);\r\n  }\r\n\r\n  getSitemapData(apiSiteUrl: string, domain: string): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getSiteMapUrl}${domain}`);\r\n  }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MarketInsightsService } from '../market-insights-report/market-insights.service';\r\nimport { CommonService } from './../common.service';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n  selector: 'app-nav-menu',\r\n  templateUrl: './nav-menu.component.html',\r\n  styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent implements OnInit {\r\n  isExpanded = false;\r\n  siteMapDetails: any;\r\n  domain: any;\r\n  publicUrl!: string;\r\n  brokerDetails: any;\r\n  showBrokerName: boolean = false;\r\n\r\n  collapse() {\r\n    this.isExpanded = false;\r\n  }\r\n\r\n  toggle() {\r\n    this.isExpanded = !this.isExpanded;\r\n  }\r\n\r\n  constructor(private marketInsightsService: MarketInsightsService, private commonService: CommonService, @Inject(DOCUMENT) private document: any) {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.domain = this.document.location.hostname;\r\n    console.log(this.domain);\r\n    this.getPublicUrl();\r\n  }\r\n\r\n  getPublicUrl() {\r\n    this.commonService.getPublicSiteLink().subscribe((data) => {\r\n      this.publicUrl = data.url;\r\n      if (this.publicUrl) {\r\n        this.getBrokerDetails();\r\n        this.getSiteMapDetails();\r\n        if (this.domain != ('localhost' || 'www.jlscloud.' || 'www.johnlscott.')) {\r\n          this.document.getElementById(\"change-icon-bg\").style.background = 'none';\r\n          this.showBrokerName = true;\r\n        }\r\n      }\r\n    })\r\n  }\r\n\r\n  getSiteMapDetails() {\r\n    this.marketInsightsService.getSitemapData(this.publicUrl, this.domain).subscribe((data) => {\r\n      this.siteMapDetails = data;\r\n      console.log(this.siteMapDetails);\r\n    });\r\n  }\r\n\r\n  getBrokerDetails() {\r\n    this.commonService.getBrokerDetails(this.publicUrl).subscribe((data) => {\r\n      this.brokerDetails = data;\r\n      this.commonService.setBrokerDetailsResponse(this.brokerDetails);\r\n      console.log('chay' + this.brokerDetails);\r\n    });\r\n  }\r\n}\r\n","<header style=\" min-height: 100%; min-width: 100%; padding-top: 65px; padding-bottom: 40px;\">\r\n  <nav class=\"navbar navbar-expand-xxl navbar-toggleable-xxl navbar-dark border-bottom box-shadow mb-3 fixed-top\" style=\"background: #111; min-height: 66px;\">\r\n    <div class=\"container-fluid\">\r\n      <a class=\"navbar-brand jls-navbar-brand\" href=\"/home\">\r\n        <span id=\"change-icon-bg\" class=\"navbar-brand-accent\">\r\n          <img class=\"img-responsive\" src=\"https://assets.jlscontent.com/images/corp/john-l-scott-logo.png\" alt=\"John L. Scott Logo\" style=\"max-width: 128px; height: auto\" />\r\n        </span>\r\n      </a>\r\n      <p *ngIf=\"showBrokerName\" class=\"text-white\" style=\" float: left; margin-bottom: 0; font-size: 20px; padding-left: 65px; line-height: 20px;\">{{brokerDetails?.name}}</p>\r\n      <button class=\"navbar-toggler\"\r\n              type=\"button\"\r\n              data-toggle=\"collapse\"\r\n              data-target=\".navbar-collapse\"\r\n              aria-label=\"Toggle navigation\"\r\n              [attr.aria-expanded]=\"isExpanded\"\r\n              (click)=\"toggle()\">\r\n        <span class=\"navbar-toggler-icon\"></span>\r\n      </button>\r\n      <div class=\"navbar-collapse collapse d-xxl-inline-flex flex-xxl-row\" style=\"font-size:1em; font-weight:300\"\r\n           [ngClass]=\"{ show: isExpanded }\">\r\n        <div class=\"ul-text-last-padding\">\r\n          <ul class=\"navbar-nav flex-grow\" *ngFor=\"let menuItem of siteMapDetails\">\r\n            <li class=\"nav-item\" *ngIf=\"!menuItem.isUrlSlugConflicted && !menuItem.isDropdown && !menuItem.isExcludedFromNavigation\">\r\n              <a *ngIf=\"menuItem.isExternal\" target=\"_blank\" class=\"nav-link text-white\" href=\"{{menuItem.redirectUrl}}\">{{menuItem.shortTitle}}</a>\r\n              <a *ngIf=\"menuItem.isInternal\" class=\"nav-link text-white\" href=\"/{{menuItem.urlSlug}}\">{{menuItem.shortTitle}}</a>\r\n            </li>\r\n            <li ngbDropdown *ngIf=\"menuItem.isDropdown\" class=\"nav-item\" id=\"sitemap-menu\">\r\n              <a class=\"nav-link text-white\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" ngbDropdownToggle>{{menuItem.shortTitle}}</a>\r\n              <div ngbDropdownMenu=\"sitemap-menu\">\r\n                <div *ngFor=\"let ddItem of menuItem.items\">\r\n                  <a *ngIf=\"ddItem.isExternal\" target=\"_blank\" class=\"dropdown-item menu-item\" ngbDropdownItem href=\"{{ddItem.redirectUrl}}\">{{ddItem.shortTitle}}</a>\r\n                  <a *ngIf=\"ddItem.isInternal && menuItem.urlSlug\" class=\"dropdown-item menu-item\" ngbDropdownItem href=\"/{{menuItem.urlSlug}}/{{ddItem.urlSlug}}\">{{ddItem.shortTitle}}</a>\r\n                  <a *ngIf=\"ddItem.isInternal && !menuItem.urlSlug\" class=\"dropdown-item menu-item\" ngbDropdownItem href=\"/{{ddItem.urlSlug}}\">{{ddItem.shortTitle}}</a>\r\n                </div>\r\n              </div>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n        <ul class=\"navbar-nav\" style=\"display: inline-block; float:right;\">\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link text-white\" href=\"/propertytracker\">PropertyTracker<sup>&reg;</sup> <span class=\"signup\" style=\"font-weight:bold\">Sign Up</span> | Login</a>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </div>\r\n  </nav>\r\n</header>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { SellerReportService } from './seller-report.service'\r\nimport { Highlights, Location } from './seller-report.model'\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GoogleMap } from '@angular/google-maps';\r\nimport { Address, Listings } from '../market-insights-report/market-insights.model';\r\nimport { CommonService } from '../common.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Chart } from 'chart.js';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n\r\n@Component({\r\n  selector: 'app-seller-report',\r\n  templateUrl: './seller-report.component.html',\r\n  styleUrls: ['./seller-report.component.css']\r\n})\r\nexport class SellerReportComponent implements OnInit {\r\n\r\n  publicUrl!: string;\r\n  mapListings!: Listings[];\r\n  openHouses: any = [];\r\n  brokerDetails: any;\r\n  listingId!: number;\r\n  listingData?: Listings = new Listings;\r\n  location?: Location = new Location;\r\n  chartData: any;\r\n  favoriteViews: any;\r\n  listingViews: any;\r\n  date: any;\r\n  chart: any = [];\r\n  labelMonth: any;\r\n  address?: Address = new Address;\r\n  highlights: Highlights = new Highlights;\r\n  trends: any;\r\n  viewAllUrl!: string;\r\n  isHighlights!: boolean;\r\n  isOpenhouses!: boolean;\r\n  listingDate!: string;\r\n  noChartData: boolean = false;\r\n  noMapData: boolean = false;\r\n   noOpenhouses: boolean = false;\r\n  isError: boolean = false;\r\n  doneChartData: boolean = false;\r\n  doneHighlights: boolean = false;\r\n  doneOpenhouses: boolean = false;\r\n  doneMapData: boolean = false;\r\n  p: number = 1;\r\n  publicSite: string = location.href.replace(location.pathname, '');\r\n\r\n  constructor(private sellerReportService: SellerReportService, public datepipe: DatePipe, private spinner: NgxSpinnerService, private commonService: CommonService, private router: ActivatedRoute) { }\r\n\r\n  ngOnInit(): void {\r\n    this.spinner.show();\r\n    this.listingId = this.router.snapshot.params['id'];\r\n    this.getPublicUrl();\r\n  }\r\n\r\n  @ViewChild(GoogleMap, { static: false })\r\n  map!: GoogleMap;\r\n  options: google.maps.MapOptions = {\r\n    mapTypeId: 'roadmap', \r\n    scrollwheel: false,\r\n    clickableIcons: false,\r\n    gestureHandling: 'auto',\r\n    keyboardShortcuts: false,\r\n    mapTypeControl: false,\r\n    disableDefaultUI: true,\r\n  };\r\n  circleOptions: google.maps.CircleOptions = {\r\n    strokeColor: \"#FF0000\",\r\n    strokeOpacity: 0.8,\r\n    strokeWeight: 1,\r\n    fillColor: \"#F6F6F6\",\r\n    fillOpacity: 0.5\r\n  };\r\n  markerOptions: google.maps.MarkerOptions = { draggable: false, icon: '/Images/map-sold-ng.png' };\r\n  zoom = 13;\r\n  circleCenter!: google.maps.LatLngLiteral;\r\n  radius = 1609;\r\n  markers = [] as any;\r\n\r\n  getPublicUrl() {\r\n    this.sellerReportService.getPublicSiteLink().subscribe((data) => {\r\n      this.publicUrl = data.url;\r\n      if (this.publicUrl) {\r\n        this.getBrokerDetails();\r\n        this.getHighlights();\r\n        this.getTrends();\r\n        this.getListing();\r\n        this.getOpenhouses();\r\n      }\r\n    })\r\n  }\r\n\r\n  getBrokerDetails() {\r\n    this.commonService.getBrokerDetails(this.publicUrl).subscribe((data) => {\r\n      this.brokerDetails = data;\r\n      this.commonService.setBrokerDetailsResponse(this.brokerDetails);\r\n    });\r\n  }\r\n\r\n  checkDoneAll() {\r\n    if (!this.doneChartData) return;\r\n    if (!this.doneHighlights) return;\r\n    if (!this.doneMapData) return;\r\n    this.spinner.hide();\r\n  } \r\n\r\n  getHighlights() {\r\n    this.sellerReportService.getHighlights(this.publicUrl, this.listingId).subscribe((response) => {\r\n      this.isHighlights = true;\r\n      this.highlights = response;\r\n      if (!this.highlights) {\r\n        this.isHighlights = false;\r\n      }\r\n      this.doneHighlights = true;\r\n      this.checkDoneAll();\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isError = true;\r\n        this.isHighlights = false;\r\n        this.doneHighlights = true;\r\n        this.doneChartData = true;\r\n        this.checkDoneAll();\r\n\r\n      });\r\n  }\r\n\r\n  getListing() {\r\n    this.sellerReportService.getListing(this.publicUrl, this.listingId).subscribe((response) => {\r\n      this.listingData = response\r\n      this.location = this.listingData?.location;\r\n      if (this.listingData) {\r\n        this.getMapRadius();\r\n      }\r\n      this.address = this.listingData?.address;\r\n    });\r\n  }\r\n\r\n getOpenhouses() {\r\n    this.sellerReportService.getOpenhouses(this.publicUrl, this.listingId).subscribe((response) => {\r\n      this.isOpenhouses = true;\r\n      this.openHouses = response;\r\n      if (!this.openHouses) {\r\n        this.isOpenhouses = false;\r\n        this.noOpenhouses = true;\r\n      }\r\n      this.doneOpenhouses = true;\r\n      this.checkDoneAll();\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.isError = true;\r\n        this.isHighlights = true;\r\n        this.isOpenhouses = false;\r\n        this.doneHighlights = true;\r\n        this.doneOpenhouses = true;\r\n        this.doneChartData = true;\r\n        this.checkDoneAll();\r\n\r\n      });\r\n  }\r\n  getTrends() {\r\n    this.sellerReportService.getTrends(this.publicUrl, this.listingId).subscribe((response) => {\r\n      this.trends = response;\r\n      this.doneChartData = true;\r\n      this.checkDoneAll();\r\n      this.listingViews = this.trends.map((m: any) => m.listingViews);\r\n      this.favoriteViews = this.trends.map((m: any) => m.favoriteViews);\r\n      debugger\r\n      if (this.trends.length === 0) {\r\n        this.noChartData = true;\r\n      }\r\n      this.date = this.trends.map((m: any) => this.datepipe.transform(m.date, 'dd MMM'));\r\n      this.chart = new Chart('canvas', {\r\n        type: 'line',\r\n        data: {\r\n          labels: this.date,\r\n          datasets: [\r\n            {\r\n              label: 'Listing Views',\r\n              data: this.listingViews,\r\n              borderColor: '#4d008e',\r\n              backgroundColor: '#4d008e',\r\n              pointBackgroundColor: '#4d008e',\r\n              pointBorderColor: '#4d008e',\r\n              pointHoverBackgroundColor: '#4d008e',\r\n              pointHoverRadius: 8,\r\n              tension: 0.4\r\n            },\r\n            {\r\n              label: 'Saved as Favorite',\r\n              data: this.favoriteViews,\r\n              borderColor: '#246b58',\r\n              backgroundColor: '#246b58',\r\n              pointBackgroundColor: '#246b58',\r\n              pointHoverBackgroundColor: '#246b58',\r\n              pointHoverRadius: 8,\r\n              tension: 0.4\r\n            }\r\n          ]\r\n        },\r\n        options: {\r\n          responsive: true,\r\n          scales: {\r\n            yAxis: {\r\n              ticks: {\r\n                maxTicksLimit: 20\r\n              }\r\n            }\r\n          },\r\n          plugins: {\r\n            legend: {\r\n              position: 'bottom',\r\n            }\r\n          }\r\n        },\r\n      })\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.noChartData = true;\r\n        this.doneChartData = true;\r\n        this.checkDoneAll();\r\n      });\r\n\r\n  }\r\n\r\n  getMapRadius() {\r\n    this.sellerReportService.getMapRadius(this.publicUrl, this.location).subscribe((response) => {\r\n      this.mapListings = response;\r\n      this.circleCenter = { lat: this.location?.latitude, lng: this.location?.longitude };\r\n      if (this.mapListings) {\r\n        this.addMarker();\r\n      }\r\n      if (this.mapListings.length === 0) {\r\n        this.noMapData = true;\r\n      }\r\n      this.doneMapData = true;\r\n      this.checkDoneAll();\r\n    },\r\n      (error) => {\r\n        console.error(error);\r\n        this.noMapData = true;\r\n        this.doneMapData = true;\r\n        this.checkDoneAll();\r\n      });\r\n\r\n  }\r\n\r\n  addMarker() {\r\n    this.mapListings.forEach((listing) => {\r\n      this.markers.push({\r\n        position: {\r\n          lat: listing.location?.latitude,\r\n          lng: listing.location?.longitude,\r\n        }\r\n      });\r\n    });\r\n  }\r\n}\r\n\r\n","<ngx-spinner bdColor=\"rgba(51,51,51,0.8)\" size=\"medium\" color=\"#fff\" type=\"ball-scale-multiple\">\r\n  <p style=\"font-size: 20px; color: white\">Loading...</p>\r\n</ngx-spinner>\r\n\r\n<div class=\"row\" style=\"padding: 50px 0 10px;\">\r\n  <div class=\"col-12 col-md-6\">\r\n    <h1>Seller Report</h1>\r\n    <p style=\"padding: 20px 0 0; font-size:18px;\">\r\n      This report showcases online listing view metrics from John L. Scott websites, the John L. Scott Home Search mobile app (for both Android and iOS devices), and Zillow.com. It also highlights listings that users have saved as favorites on John L. Scott® platforms. Overall, it provides a picture of how potential buyers are viewing and interacting with properties online.\r\n    </p>\r\n   <!-- <p style=\"font-size:18px\">* Third party sources include[insert known sources]</p>-->\r\n  </div>\r\n  <div class=\"col-12 col-md-5 offset-md-1\" *ngIf=\"isHighlights\">\r\n    <app-broker-signature [brokerDetails]=\"brokerDetails\"></app-broker-signature>\r\n  </div>\r\n</div>\r\n<div class=\"row\" style=\"margin:35px 0;\" *ngIf=\"isError\">\r\n  <h4>Sorry, no data available for requested report.</h4>\r\n</div>\r\n<div class=\"row\">\r\n  <div class=\"col-12 col-md-6\">\r\n    <img style=\"height: 400px;\" src=\"{{listingData?.mainPhoto?.target}}\" class=\"card-img-top\" alt=\"...\">\r\n    <p style=\"padding: 0 15px;\">\r\n      <span>MLS: {{listingData?.mlsListingId}} </span><span>\r\n        | JLS:\r\n        {{listingData?.id}}\r\n      </span><span style=\"float:right\">\r\n        Listed: {{listingData?.listDate | date:\"MM/dd/yyyy\"}}\r\n      </span>\r\n    </p>\r\n  </div>\r\n  <div class=\"col-12 col-md-5\" style=\"text-align: center; \">\r\n    <div style=\"padding: 16% 0 20%\">\r\n      <h3 style=\"text-align:center; font-weight:bold;\">Online Listing Activity</h3>\r\n      <p style=\"text-align:center; font-size:20px\">\r\n        {{highlights.from | date: \"MM/dd/yyyy\"}} - {{highlights.to | date: \"MM/dd/yyyy\"}}\r\n      </p>\r\n      <div class=\"col-4\" style=\"display: inline-block; margin-top: 10px\">\r\n        <h1 style=\"font-weight: bold; font-size: 3rem;\">{{highlights.views}}</h1>\r\n        <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">Listing Views</h4>\r\n      </div>\r\n      <div class=\"col-4\" style=\"display: inline-block; margin-top:10px;\">\r\n        <h1 style=\"font-weight: bold; font-size: 3rem;\">{{highlights.favorites}}</h1>\r\n        <h4 style=\"word-spacing: 100vw; margin-bottom:15px;\">Saved Favorites</h4>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" style=\"margin-top:10px;\">\r\n  <div class=\"col-12 col-md-2\">\r\n    <p style=\"margin:0;color: white;\">\r\n      <span style=\"background-color:green;\">{{listingData?.statusName}} </span>\r\n    </p>\r\n    <p style=\"font-weight:bold;\">{{listingData?.price | currency:'USD' : 'symbol' : '2.0'}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-1\">\r\n    <p style=\"margin:0\">Beds</p>\r\n    <p style=\"font-weight:bold;\">{{listingData?.beds}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-1\">\r\n    <p style=\"margin:0\">Baths</p>\r\n    <p style=\"font-weight:bold;\">{{listingData?.baths}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-1\">\r\n    <p style=\"margin:0\">SqFt</p>\r\n    <p style=\"font-weight:bold;\">{{listingData?.sqft | number}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-1\">\r\n    <p style=\"margin:0\">Lot (Ac.)</p>\r\n    <p style=\"font-weight:bold;\">{{listingData?.lotSize}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-3\" style=\"font-weight:bold;\">\r\n    <p style=\"margin:0\">{{address?.street}} {{address?.street2}}</p>\r\n    <p>{{address?.city}},{{address?.state}} {{address?.zip}}</p>\r\n  </div>\r\n  <div class=\"col-12 col-md-2\">\r\n    <p style=\"font-size: 18px\"><a target=\"_blank\" href=\"/listing/{{listingData?.id}}\">View Listing</a></p>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row\" style=\"margin-top:35px;\">\r\n  <div class=\"col-12\">\r\n    <h3 style=\"font-weight:bold\">\r\n      Online Activity Trends\r\n    </h3>\r\n    <hr style=\" border-top: 3px solid rgba(0,0,0,.2); \" />\r\n    <canvas id=\"canvas\" style=\"height:450px !important; max-height:450px; margin-top:20px;\" *ngIf=\"!noChartData\">\r\n      {{chart}}\r\n    </canvas>\r\n    <p *ngIf=\"noChartData\">No Trends data available</p>\r\n  </div>\r\n</div>\r\n<br />\r\n\r\n<!--<div class=\"row\">\r\n  <div class=\"col-12\" *ngIf=\"!noOpenhouses\">\r\n    <h4><span style=\"font-weight:bold\">Open House Attendees</span></h4>\r\n    <table class=\"table\">\r\n      <thead>\r\n        <tr style=\"text-align:right;\">\r\n          <th style=\"text-align: start\">Date</th>\r\n          <th>Attendees</th>          \r\n        </tr>\r\n      </thead>\r\n      <tbody>\r\n        <tr *ngFor=\"let house of openHouses\" style=\"text-align:right;\">\r\n          <td style=\"text-align: start\">{{house.date | date: \"MM/dd/yyyy\"}}</td>\r\n          <td>{{house.count}}</td>          \r\n        </tr>\r\n      </tbody>\r\n    </table>    \r\n  </div>\r\n</div>-->\r\n<br />\r\n<div class=\"row\" >\r\n  <div class=\"col-12\">\r\n    <h4><span style=\"font-weight:bold\">Recent Nearby Sales</span> (<180 days)</h4>\r\n    <table class=\"table\">\r\n      <thead>\r\n        <tr style=\"text-align:right;\">\r\n          <th style=\"text-align: start\">Closed Date</th>\r\n          <th>Beds</th>\r\n          <th>Baths</th>\r\n          <th>SqFt</th>\r\n          <th>Lot (Ac.)</th>\r\n          <th style=\"text-align: start\">Street Address</th>\r\n          <th style=\"text-align: start\">City</th>\r\n          <th>Zip</th>\r\n          <th>View</th>\r\n        </tr>\r\n      </thead>\r\n      <tbody>\r\n        <tr *ngFor=\"let sold of mapListings | paginate: { itemsPerPage: 6, currentPage: p }\" style=\"text-align:right;\">\r\n          <td style=\"text-align: start\">{{sold.soldData?.soldDate | date: \"MM/dd/yyyy\"}}</td>\r\n          <td>{{sold.beds}}</td>\r\n          <td>{{sold.baths}}</td>\r\n          <td>{{sold.sqft | number}}</td>\r\n          <td>{{sold.acreage}}</td>\r\n          <td style=\"text-align:start\">{{sold.address?.street}}</td>\r\n          <td style=\"text-align:start\">{{sold.address?.city}}</td>\r\n          <td>{{sold.address?.zip}}</td>\r\n          <td><a href=\"{{publicSite}}/listing/{{sold?.id}}\" target=\"_blank\">View</a></td>\r\n        </tr>\r\n      </tbody>\r\n    </table>\r\n    <p style=\"font-style: italic; padding-left:15px; margin-bottom:0;\">Sold properties within a 1/2 mile radius and within +/-20% of the list price of your property.</p>\r\n    <pagination-controls class=\"pull-right\" (pageChange)=\"p = $event\"></pagination-controls>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"col-12\" *ngIf=\"!noMapData\" style=\"margin-top:20px;\">\r\n  <google-map height=\"500px\"\r\n              width=\"100%\"\r\n              [options]=\"options\"\r\n              [center]=\"circleCenter\"\r\n              [zoom]=\"zoom\">\r\n    <map-circle [center]=\"circleCenter\"\r\n                [radius]=\"radius\"\r\n                [options]=\"circleOptions\"></map-circle>\r\n    <map-marker *ngFor=\"let marker of markers\"\r\n                [position]=\"marker.position\"\r\n                [options]=\"markerOptions\">\r\n    </map-marker>\r\n  </google-map>\r\n</div>\r\n","import { Listings } from \"../market-insights-report/market-insights.model\";\r\n\r\nexport class MapListings {\r\n  public center?: center;\r\n  public limit?: number;\r\n  public minCloseDate?: string;\r\n  public minListDate?: string;\r\n  public radiusInMiles?: number;\r\n  public status?: any;\r\n}\r\n\r\nexport class center {\r\n  lat: any;\r\n  lng: any;\r\n}\r\n\r\nexport class Location {\r\n  latitude: any;\r\n  longitude: any;\r\n}\r\n\r\nexport class Highlights {\r\n  public views?: number;\r\n  public favorites?: number;\r\n  public from?: string;\r\n  public to?: string;\r\n  public listing?: Listings;\r\n}\r\n\r\nexport class OpenHouses {\r\n  public count?: number;\r\n  public date?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Component, Inject } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Highlights, MapListings, Location } from './seller-report.model'\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class SellerReportService {\r\n\r\n  constructor(private httpClient: HttpClient) { }\r\n\r\n  private getPublicSiteUrl = '/configuration/public-api-site';\r\n  private getMapRadiusUrl = 'listings/sold-by-radius/';\r\n  private getHighlightsUrl = 'seller-report/highlights/';\r\n  private getTrendsUrl = 'seller-report/trends/';\r\n  private getListingUrl = 'listings/detail/';\r\n  private getOpenhousesUrl = 'seller-report/open-houses/'\r\n   \r\n  getPublicSiteLink(): Observable<any> {\r\n    return this.httpClient.get<any>(`${this.getPublicSiteUrl}`);\r\n  }\r\n\r\n  getMapRadius(apiSiteUrl: string, location?: Location): Observable<any> {\r\n    return this.httpClient.get<MapListings>(`${apiSiteUrl}${this.getMapRadiusUrl}?lat=${location?.latitude}&lng=${location?.longitude}`);\r\n  }\r\n\r\n  getHighlights(apiSiteUrl: string, listingId: number): Observable<Highlights> {\r\n    return this.httpClient.get<Highlights>(`${apiSiteUrl}${this.getHighlightsUrl}${listingId}`);\r\n  }\r\n  \r\n  getOpenhouses(apiSiteUrl: string, listingId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getOpenhousesUrl}${listingId}`);\r\n  }\r\n\r\n  getTrends(apiSiteUrl: string, listingId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getTrendsUrl}${listingId}`);\r\n  }\r\n\r\n  getListing(apiSiteUrl: string, listingId: number): Observable<any> {\r\n    return this.httpClient.get<any>(`${apiSiteUrl}${this.getListingUrl}${listingId}`);\r\n  }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n  production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error';  // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n  enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n  .catch(err => console.error(err));\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}