Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 2x 2x 2x 2x 2x | import { Injectable } from '@angular/core';
import { Store, select } from '@ngrx/store';
import { StoreLocation as StoreModel } from '../models/store-location/store-location.model';
import { StoresMapService } from '../services/stores-map/stores-map.service';
import { getError, getHighlightedStore, getLoading, getStores, highlightStore, loadStores } from '../store/stores';
@Injectable({ providedIn: 'root' })
export class StoreLocatorFacade {
constructor(private mapService: StoresMapService, private store: Store) {}
loadStores(countryCode: string, postalCode: string, city: string) {
this.store.dispatch(loadStores({ countryCode, postalCode, city }));
}
getLoading$() {
return this.store.pipe(select(getLoading));
}
getError$() {
return this.store.pipe(select(getError));
}
getStores$() {
return this.store.pipe(select(getStores));
}
getHighlighted$() {
return this.store.pipe(select(getHighlightedStore));
}
setHighlighted(store: StoreModel) {
this.store.dispatch(highlightStore({ storeId: store.id }));
}
loadMap(container: HTMLElement) {
this.mapService.initialize(container);
}
}
|