{"version":3,"file":"135.9e55e25871114b4d.js","mappings":"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","names":["GoBackComponent","selectors","i0","loadOverviewData","createAction","loadOverviewDataSuccess","props","loadLeadDetails","loadLeadDetailsSuccess","downloadLeadDetails","deleteServiceListing","deleteServiceListingSuccess","supplierhomeFeatureKey","initialState","serviceListings","leads","leadMetrics","searchesIncluded","reducer","createReducer","on","state","leadDetails","undefined","clientServiceId","filter","sl","supplierhomeReducer","action","selectSupplierHomeState","createFeatureSelector","fromSupplierhome","selectSupplierHomeLeads","createSelector","selectSupplierHomeMostRecentLeads","sort","a","b","leadDate","slice","selectSupplierHomeServiceListingsSorted","serviceDate","selectSupplierHomeLeadMetrics","selectSupplierHomeServiceListingTopThree","sortedServiceListings","selectLeadDetails","selectLoaded","selector","pipe","select","isNotNullOrUndefined","selectSupplierLeadsDetail","SupplierHomeService","constructor","http","getOverView","clientId","this","get","getLeadDetails","searchId","put","leadId","observe","responseType","core","factory","SupplierHomeEffects","store","actions$","supplierService","downloader","createEffect","ofType","SupHomeActions","withLatestFrom","selectRouteParams","switchMap","_","map","resp","Number","tap","response","downloadBlob","body","dispatch","SupplierHomeStoreModule","CommonModule","StoreModule","EffectsModule","SupplierOverviewComponent","Auth","ngOnInit","DeleteDialogContentComponent","CurrentServicesTableComponent","dialog","SupHomeSelectors","delete","open","afterClosed","subscribe","result","RecentLeadsComponent","FormatLeadTextPipe","transform","value","trim","pure","DownSelectComponent","DownSelectContainerComponent","routes","path","component","title","RecentLeadsDetailComponent","download","ctx","SupplierHomeRoutingModule","RouterModule","SupplierHomeModule","MatDialogModule","MatTableModule","SharedModule","ServiceListingModule"],"sourceRoot":"webpack:///","sources":["./src/app/@shared/components/go-back/go-back.component.ts","./src/app/supplier-home/store/actions/overview.actions.ts","./src/app/supplier-home/store/actions/lead-details.actions.ts","./src/app/supplier-home/store/actions/delete-service-listing.actions.ts","./src/app/supplier-home/store/reducers/supplierhome.reducers.ts","./src/app/supplier-home/store/selectors/homepage.selector.ts","./src/app/supplier-home/store/selectors/leads.selector.ts","./src/app/supplier-home/store/selectors/service-listing.selector.ts","./src/app/supplier-home/store/selectors/lead-metrics.selector.ts","./src/app/supplier-home/store/selectors/leads-detail.selector.ts","./src/app/supplier-home/services/supplierhome.service.ts","./src/app/supplier-home/store/effects/supplierhome.effects.ts","./src/app/supplier-home/store/supplierhome-store.module.ts","./src/app/supplier-home/components/supplier-overview/supplier-overview.component.html","./src/app/supplier-home/components/supplier-overview/supplier-overview.component.ts","./src/app/supplier-home/components/popups/delete-dialog-content/delete-dialog-content.component.ts","./src/app/supplier-home/components/popups/delete-dialog-content/delete-dialog-content.component.html","./src/app/supplier-home/components/current-services/current-services-table.component.html","./src/app/supplier-home/components/current-services/current-services-table.component.ts","./src/app/supplier-home/components/recent-leads/recent-leads.component.html","./src/app/supplier-home/components/recent-leads/recent-leads.component.ts","./src/app/supplier-home/services/pipes/format-lead-text.pipe.ts","./src/app/supplier-home/components/down-select/down-select.component.ts","./src/app/supplier-home/components/down-select/down-select.component.html","./src/app/supplier-home/components/down-select-container/down-select-container.component.html","./src/app/supplier-home/components/down-select-container/down-select-container.component.ts","./src/app/supplier-home/components/recent-leads-detail/recent-leads-detail.component.html","./src/app/supplier-home/supplier-home-routing.module.ts","./src/app/supplier-home/components/recent-leads-detail/recent-leads-detail.component.ts","./src/app/supplier-home/supplier-home.module.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-go-back',\r\n template: `\"go`,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class GoBackComponent {}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { ILeadMetrics, IRecentLeadsItem, IServiceListing } from 'src/app/supplier-home/models';\r\n\r\nexport const loadOverviewData = createAction('[Supplier Home] Load Supplier Home Overview Data');\r\n\r\nexport const loadOverviewDataSuccess = createAction(\r\n '[Supplier Home Effects] Load Supplier Home Overview Data Success',\r\n props<{\r\n serviceListings: IServiceListing[],\r\n leads: IRecentLeadsItem[],\r\n leadMetrics: ILeadMetrics\r\n }>()\r\n);\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { GetLeadDetailsDTO } from 'src/app/supplier-home/models';\r\n\r\nexport const loadLeadDetails = createAction('[Lead Details] Load Lead Details Data');\r\n\r\nexport const loadLeadDetailsSuccess = createAction(\r\n '[Supplier Home Effects] Load Lead Details Data Success',\r\n props<{ leadDetails: GetLeadDetailsDTO }>()\r\n);\r\n\r\nexport const downloadLeadDetails = createAction('[Supplier Home Effects] Download Lead Details');\r\n","import { createAction, props } from '@ngrx/store';\r\n\r\nexport const deleteServiceListing = createAction(\r\n '[Supplier Home Delete Popup] Delete Service Lising',\r\n props<{ clientServiceId: number }>()\r\n);\r\n\r\nexport const deleteServiceListingSuccess = createAction(\r\n '[Supplier Home Effects] Delete Service Lising Success',\r\n props<{ clientServiceId: number }>()\r\n);\r\n","import { Action, createReducer, on } from '@ngrx/store';\r\nimport { IRecentLeadsItem, IServiceListing, ILeadMetrics, GetLeadDetailsDTO } from 'src/app/supplier-home/models';\r\nimport {\r\n loadOverviewData,\r\n loadOverviewDataSuccess,\r\n loadLeadDetails,\r\n loadLeadDetailsSuccess,\r\n deleteServiceListingSuccess,\r\n} from '../actions';\r\n\r\nexport const supplierhomeFeatureKey = 'supplier-home';\r\n\r\nexport interface SupplierHomeState {\r\n serviceListings: IServiceListing[];\r\n leads: IRecentLeadsItem[];\r\n leadMetrics: ILeadMetrics;\r\n leadDetails?: GetLeadDetailsDTO;\r\n}\r\n\r\nexport const initialState: SupplierHomeState = {\r\n serviceListings: [],\r\n leads: [],\r\n leadMetrics: {'leads': 0, 'searchesIncluded': 0}\r\n};\r\n\r\nconst reducer = createReducer(\r\n initialState,\r\n\r\n on(loadOverviewData, (state) => initialState),\r\n\r\n on(loadOverviewDataSuccess, (state, { serviceListings, leads, leadMetrics }) => ({\r\n ...state,\r\n serviceListings,\r\n leads,\r\n leadMetrics,\r\n })),\r\n\r\n on(loadLeadDetails, (state) => ({\r\n ...state,\r\n leadDetails: undefined\r\n })),\r\n\r\n on(loadLeadDetailsSuccess, (state, { leadDetails }) => ({\r\n ...state,\r\n leadDetails,\r\n })),\r\n\r\n on(deleteServiceListingSuccess, (state, { clientServiceId}) => ({\r\n ...state,\r\n serviceListings: [...state.serviceListings].filter((sl) => sl.clientServiceId !== clientServiceId ),\r\n })),\r\n\r\n);\r\n\r\nexport function supplierhomeReducer(state: SupplierHomeState | undefined, action: Action) {\r\n return reducer(state, action);\r\n}\r\n","import { createFeatureSelector } from '@ngrx/store';\r\nimport * as fromSupplierhome from '../reducers/supplierhome.reducers';\r\n\r\n\r\nexport const selectSupplierHomeState = createFeatureSelector(\r\n fromSupplierhome.supplierhomeFeatureKey\r\n);\r\n","import { createSelector } from '@ngrx/store';\r\nimport { selectSupplierHomeState } from './index';\r\n\r\nexport const selectSupplierHomeLeads = createSelector(selectSupplierHomeState, (state) => {\r\n return state.leads;\r\n});\r\n\r\nexport const selectSupplierHomeMostRecentLeads = createSelector(selectSupplierHomeLeads, (leads) => {\r\n const sortedLeads = [...leads].sort((a, b) => (a.leadDate < b.leadDate ? 1 : -1));\r\n return sortedLeads.slice(0, 5);\r\n});\r\n","import { selectSupplierHomeState } from './index';\r\nimport { createSelector } from '@ngrx/store';\r\n\r\nexport const selectSupplierHomeServiceListingsSorted = createSelector(\r\n selectSupplierHomeState,\r\n (state) => {\r\n return [...state.serviceListings].sort((a, b) => (a.serviceDate < b.serviceDate ? 1 : -1));\r\n }\r\n);\r\n\r\nexport const selectSupplierHomeServiceListingTopThree = createSelector(\r\n selectSupplierHomeServiceListingsSorted,\r\n (sortedServiceListings) => {\r\n return sortedServiceListings.slice(0, 3);\r\n }\r\n);\r\n","import { selectSupplierHomeState } from './index';\r\nimport { createSelector } from '@ngrx/store';\r\n\r\nexport const selectSupplierHomeLeadMetrics = createSelector(selectSupplierHomeState, (state) => state.leadMetrics);\r\n","import { DefaultProjectorFn, MemoizedSelector, createSelector, select } from '@ngrx/store';\r\nimport { selectSupplierHomeState } from './index';\r\nimport { Observable, UnaryFunction, filter, pipe } from 'rxjs';\r\nimport { SupplierHomeState } from '../reducers/supplierhome.reducers';\r\nimport { isNotNullOrUndefined } from '@core';\r\n\r\nconst selectSupplierLeadsDetail = createSelector(selectSupplierHomeState, (state) => {\r\n return state.leadDetails;\r\n});\r\n\r\nexport const selectLeadDetails = selectLoaded(selectSupplierLeadsDetail);\r\n\r\nfunction selectLoaded(\r\n selector: MemoizedSelector>\r\n): UnaryFunction, Observable> {\r\n return pipe(\r\n select(selector),\r\n filter(isNotNullOrUndefined)\r\n );\r\n}\r\n","import { Observable, of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { GetLeadDetailsDTO, SupplierHomeDTO } from '../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SupplierHomeService {\r\n constructor(private http: HttpClient) {}\r\n\r\n getOverView(clientId: string): Observable {\r\n return this.http.get(`suppliers/${clientId}/overview`);\r\n }\r\n\r\n getLeadDetails(clientId: string, searchId: number): Observable {\r\n return this.http.get(`clients/${clientId}/leaddetails?searchId=${searchId}`);\r\n }\r\n\r\n // move to service listing module\r\n deleteServiceListing(clientId: string, clientServiceId: number): Observable {\r\n return this.http.put(\r\n `clients/${clientId}/delete-servicelisting?clientServiceId=${clientServiceId}`,\r\n []\r\n );\r\n }\r\n\r\n downloadLeadDetails(clientId: string, leadId: number) {\r\n return this.http.get(`profiles/${clientId}/supplier/downloadresponses/${leadId}`, {\r\n observe: 'response',\r\n responseType: 'blob',\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { map, switchMap, withLatestFrom, tap } from 'rxjs/operators';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { SupHomeActions } from 'src/app/supplier-home/store/';\r\nimport { SupplierHomeService } from 'src/app/supplier-home/services/supplierhome.service';\r\nimport { Store } from '@ngrx/store';\r\nimport { DownloaderService, RootState, selectRouteParams } from '@core';\r\n\r\n@Injectable()\r\nexport class SupplierHomeEffects {\r\n loadOverview$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(SupHomeActions.loadOverviewData),\r\n withLatestFrom(this.store.select(selectRouteParams)),\r\n switchMap(([_, { clientId }]) =>\r\n this.supplierService.getOverView(clientId).pipe(\r\n map((resp) =>\r\n SupHomeActions.loadOverviewDataSuccess({\r\n serviceListings: resp.serviceListings,\r\n leads: resp.leads,\r\n leadMetrics: resp.leadMetrics,\r\n })\r\n )\r\n )\r\n )\r\n ));\r\n\r\n loadDetails$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(SupHomeActions.loadLeadDetails),\r\n withLatestFrom(this.store.select(selectRouteParams)),\r\n switchMap(([_, { clientId, leadId }]) =>\r\n this.supplierService.getLeadDetails(clientId, leadId).pipe(\r\n map((leadDetails) => SupHomeActions.loadLeadDetailsSuccess({ leadDetails }))\r\n )\r\n )\r\n ));\r\n\r\n deleteServiceListing$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(SupHomeActions.deleteServiceListing),\r\n withLatestFrom(this.store.select(selectRouteParams)),\r\n switchMap(([{ clientServiceId }, { clientId }]) =>\r\n this.supplierService.deleteServiceListing(clientId, clientServiceId).pipe(\r\n map(() => SupHomeActions.deleteServiceListingSuccess({ clientServiceId }))\r\n )\r\n )\r\n ));\r\n\r\n downloadDetails$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(SupHomeActions.downloadLeadDetails),\r\n withLatestFrom(this.store.select(selectRouteParams)),\r\n switchMap(([_, { clientId, leadId }]) =>\r\n this.supplierService.downloadLeadDetails(clientId, Number(leadId)).pipe(\r\n tap((response) => this.downloader.downloadBlob(response.body, 'lead_details.xlsx'))\r\n )\r\n )\r\n ),\r\n { dispatch: false });\r\n\r\n constructor(\r\n private store: Store,\r\n private actions$: Actions,\r\n private supplierService: SupplierHomeService,\r\n private downloader: DownloaderService\r\n ) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n\r\nimport {\r\n supplierhomeFeatureKey,\r\n supplierhomeReducer,\r\n} from 'src/app/supplier-home/store/reducers/supplierhome.reducers';\r\nimport { SupplierHomeEffects } from 'src/app/supplier-home/store/effects/supplierhome.effects';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n StoreModule.forFeature(supplierhomeFeatureKey, supplierhomeReducer),\r\n EffectsModule.forFeature([SupplierHomeEffects]),\r\n ],\r\n})\r\nexport class SupplierHomeStoreModule {}\r\n","
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { SupHomeActions, SupplierHomeState } from '../../store';\r\nimport { Auth } from '@core';\r\n\r\n@Component({\r\n selector: 'maas-supplier-overview',\r\n templateUrl: './supplier-overview.component.html',\r\n styleUrls: ['./supplier-overview.component.scss'],\r\n})\r\nexport class SupplierOverviewComponent implements OnInit {\r\n client$ = this.store.select(Auth.selectCurrentClient)\r\n\r\n constructor(private store: Store) { }\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(SupHomeActions.loadOverviewData());\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-delete-dialog-content',\r\n templateUrl: './delete-dialog-content.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DeleteDialogContentComponent {\r\n}\r\n","

Are you sure you want to delete this listing?

\r\n\r\n\r\n \r\n \r\n\r\n","current service listed\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
service\r\n {{ element.serviceType | lowercase }}\r\n status\r\n \r\n {{ element.status }}\r\n \r\n service date{{ element.serviceDate | date: 'MM/dd/yyyy' }}\r\n \r\n add service\r\n \r\n \r\n edit\r\n |\r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DeleteDialogContentComponent } from 'src/app/supplier-home/components/popups/delete-dialog-content/delete-dialog-content.component';\r\nimport { SupHomeSelectors, SupplierHomeState, SupHomeActions } from 'src/app/supplier-home/store';\r\nimport { Store } from '@ngrx/store';\r\n\r\n@Component({\r\n selector: 'maas-current-services',\r\n templateUrl: './current-services-table.component.html',\r\n styleUrls: ['./current-services-table.component.scss'],\r\n})\r\nexport class CurrentServicesTableComponent {\r\n services$ = this.store.select(SupHomeSelectors.selectSupplierHomeServiceListingsSorted);\r\n\r\n displayedColumns: string[] = ['serviceType', 'status', 'serviceDate', 'btn'];\r\n\r\n constructor(private dialog: MatDialog, private store: Store) {}\r\n\r\n public delete(clientServiceId: number) {\r\n this.dialog\r\n .open(DeleteDialogContentComponent)\r\n .afterClosed()\r\n .subscribe((result: boolean | undefined) => {\r\n if (!result) return\r\n this.store.dispatch(SupHomeActions.deleteServiceListing({ clientServiceId: clientServiceId }))\r\n })\r\n }\r\n}\r\n","recent leads sent to you\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n company name\r\n \r\n {{element.companyName}}\r\n \r\n contact name\r\n {{element.contactName}} lead date \r\n {{element.leadDate | date:\"MM/dd/yyyy\"}}\r\n lead size {{element.leadSize}} service {{element.serviceType | lowercase}} location\r\n
\r\n {{element.location}}\r\n
\r\n
\r\n \r\n view details\r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { SupHomeSelectors, SupplierHomeState } from '../../store';\r\n\r\n@Component({\r\n selector: 'maas-recent-leads',\r\n templateUrl: './recent-leads.component.html',\r\n styleUrls: ['./recent-leads.component.scss']\r\n})\r\nexport class RecentLeadsComponent {\r\n leads$ = this.store.select(SupHomeSelectors.selectSupplierHomeMostRecentLeads);\r\n cols: string[] = [\r\n 'companyName',\r\n 'contactName',\r\n 'leadDate',\r\n 'leadSize',\r\n 'serviceType',\r\n 'location',\r\n 'btn'\r\n ];\r\n\r\n constructor(private store: Store) {}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatLeadText'\r\n})\r\nexport class FormatLeadTextPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n const base = value.trim();\r\n switch (base) {\r\n case 'searchesIncluded':\r\n return '# of searches included';\r\n default:\r\n return value;\r\n };\r\n }\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-down-select',\r\n templateUrl: './down-select.component.html',\r\n styleUrls: ['./down-select.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DownSelectComponent {\r\n @Input() leadsKey = '';\r\n @Input() leadsValue = '';\r\n}\r\n","
\r\n\r\n

{{ leadsKey | formatLeadText }}

\r\n\r\n

\r\n {{ leadsValue }}\r\n

\r\n\r\n
","
\r\n \r\n\r\n \r\n\r\n \r\n\r\n
","import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { SupHomeSelectors, SupplierHomeState } from '../../store/';\r\n\r\n@Component({\r\n selector: 'maas-down-select-container',\r\n templateUrl: './down-select-container.component.html',\r\n styleUrls: ['./down-select-container.component.scss']\r\n})\r\nexport class DownSelectContainerComponent {\r\n metrics$ = this.store.select(SupHomeSelectors.selectSupplierHomeLeadMetrics);\r\n constructor(private store: Store) {}\r\n}\r\n","
\r\n
\r\n \r\n lead details\r\n
\r\n\r\n
\r\n
\r\n
company name:
\r\n
{{ lead.companyName }}
\r\n
\r\n
\r\n
contact name:
\r\n
{{ lead.contactName }}
\r\n
\r\n
\r\n
email address:
\r\n
{{ lead.emailAddress }}
\r\n
\r\n
\r\n
phone number:
\r\n
{{ lead.phone }}
\r\n
\r\n
\r\n
lead date:
\r\n
{{ lead.leadDate | date: 'MM/dd/yyyy' }}
\r\n
\r\n
\r\n
lead size:
\r\n
{{ lead.leadSize }}
\r\n
\r\n
\r\n
location:
\r\n
{{ lead.location }}
\r\n
\r\n
\r\n
service:
\r\n
{{ lead.serviceType }}
\r\n
\r\n
\r\n
service start date:
\r\n
{{ lead.timeFrame }}
\r\n
\r\n
\r\n
type of technology:
\r\n
{{ lead.typeOfTechnology }}
\r\n
\r\n\r\n
notes:
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { SupplierOverviewComponent } from 'src/app/supplier-home/components/supplier-overview/supplier-overview.component';\r\nimport { RecentLeadsDetailComponent } from './components';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: SupplierOverviewComponent,\r\n title: 'My overview'\r\n },\r\n {\r\n path: ':leadId',\r\n component: RecentLeadsDetailComponent,\r\n title: 'Lead details'\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class SupplierHomeRoutingModule { }","import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { SupHomeActions, SupHomeSelectors, SupplierHomeState } from '../../store/';\r\n\r\n@Component({\r\n selector: 'maas-recent-leads-detail',\r\n templateUrl: './recent-leads-detail.component.html',\r\n styleUrls: ['./recent-leads-detail.component.scss']\r\n})\r\nexport class RecentLeadsDetailComponent {\r\n lead$ = this.store.pipe(SupHomeSelectors.selectLeadDetails);\r\n\r\n constructor(private store: Store) {\r\n store.dispatch(SupHomeActions.loadLeadDetails());\r\n }\r\n\r\n download() {\r\n this.store.dispatch(SupHomeActions.downloadLeadDetails());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport { SharedModule } from '@shared';\r\nimport { SupplierHomeStoreModule } from 'src/app/supplier-home/store/supplierhome-store.module';\r\nimport { SupplierHomeRoutingModule } from 'src/app/supplier-home/supplier-home-routing.module';\r\nimport {\r\n RecentLeadsDetailComponent,\r\n CurrentServicesTableComponent,\r\n RecentLeadsComponent,\r\n SupplierOverviewComponent,\r\n DownSelectComponent,\r\n DownSelectContainerComponent,\r\n DeleteDialogContentComponent,\r\n} from 'src/app/supplier-home/components/';\r\nimport { FormatLeadTextPipe } from 'src/app/supplier-home/services/pipes/format-lead-text.pipe';\r\nimport { ServiceListingModule } from '../service-listing/service-listing.module';\r\nimport { MatTableModule } from '@angular/material/table';\r\n\r\n@NgModule({\r\n declarations: [\r\n RecentLeadsComponent,\r\n SupplierOverviewComponent,\r\n DownSelectComponent,\r\n DownSelectContainerComponent,\r\n CurrentServicesTableComponent,\r\n DeleteDialogContentComponent,\r\n RecentLeadsDetailComponent,\r\n FormatLeadTextPipe,\r\n ],\r\n imports: [\r\n CommonModule,\r\n SupplierHomeRoutingModule,\r\n MatDialogModule,\r\n MatTableModule,\r\n SharedModule,\r\n SupplierHomeRoutingModule,\r\n SupplierHomeStoreModule,\r\n ServiceListingModule,\r\n ],\r\n})\r\nexport class SupplierHomeModule {}\r\n"],"x_google_ignoreList":[]}