UNPKG

@spartacus/core

Version:

Spartacus - the core framework

53 lines 6.84 kB
import { Injectable } from '@angular/core'; import { ofType } from '@ngrx/effects'; import { map } from 'rxjs/operators'; import { createFrom } from '../../util/create-from'; import { SiteContextActions } from '../store/actions/index'; import { CurrencySetEvent, LanguageSetEvent } from './site-context.events'; import * as i0 from "@angular/core"; import * as i1 from "@ngrx/store"; import * as i2 from "../../event/event.service"; /** * Builds and registers the site context events */ export class SiteContextEventBuilder { constructor(actionsSubject, eventService) { this.actionsSubject = actionsSubject; this.eventService = eventService; this.register(); } /** * Registers the site context events */ register() { this.registerSetLanguage(); this.registerSetCurrency(); } /** * Register the language set action */ registerSetLanguage() { const languageEvent$ = this.actionsSubject.pipe(ofType(SiteContextActions.SET_ACTIVE_LANGUAGE), map((languageAction) => createFrom(LanguageSetEvent, { activeLanguage: languageAction.payload, }))); this.eventService.register(LanguageSetEvent, languageEvent$); } /** * Register the currency set action */ registerSetCurrency() { const currencyEvent$ = this.actionsSubject.pipe(ofType(SiteContextActions.SET_ACTIVE_CURRENCY), map((currencyAction) => createFrom(CurrencySetEvent, { activeCurrency: currencyAction.payload, }))); this.eventService.register(CurrencySetEvent, currencyEvent$); } } SiteContextEventBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextEventBuilder, deps: [{ token: i1.ActionsSubject }, { token: i2.EventService }], target: i0.ɵɵFactoryTarget.Injectable }); SiteContextEventBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextEventBuilder, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: SiteContextEventBuilder, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.ActionsSubject }, { type: i2.EventService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1jb250ZXh0LWV2ZW50LmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9zaXRlLWNvbnRleHQvZXZlbnRzL3NpdGUtY29udGV4dC1ldmVudC5idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTNFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNZLGNBQThCLEVBQzlCLFlBQTBCO1FBRDFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUVwQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVEOztPQUVHO0lBQ08sUUFBUTtRQUNoQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxtQkFBbUI7UUFDM0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdDLE1BQU0sQ0FDSixrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FDdkMsRUFDRCxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNyQixVQUFVLENBQUMsZ0JBQWdCLEVBQUU7WUFDM0IsY0FBYyxFQUFFLGNBQWMsQ0FBQyxPQUFPO1NBQ3ZDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxtQkFBbUI7UUFDM0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdDLE1BQU0sQ0FDSixrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FDdkMsRUFDRCxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNyQixVQUFVLENBQUMsZ0JBQWdCLEVBQUU7WUFDM0IsY0FBYyxFQUFFLGNBQWMsQ0FBQyxPQUFPO1NBQ3ZDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDOztvSEFsRFUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBY3Rpb25zU3ViamVjdCB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgY3JlYXRlRnJvbSB9IGZyb20gJy4uLy4uL3V0aWwvY3JlYXRlLWZyb20nO1xuaW1wb3J0IHsgU2l0ZUNvbnRleHRBY3Rpb25zIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy9pbmRleCc7XG5pbXBvcnQgeyBDdXJyZW5jeVNldEV2ZW50LCBMYW5ndWFnZVNldEV2ZW50IH0gZnJvbSAnLi9zaXRlLWNvbnRleHQuZXZlbnRzJztcblxuLyoqXG4gKiBCdWlsZHMgYW5kIHJlZ2lzdGVycyB0aGUgc2l0ZSBjb250ZXh0IGV2ZW50c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2l0ZUNvbnRleHRFdmVudEJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgYWN0aW9uc1N1YmplY3Q6IEFjdGlvbnNTdWJqZWN0LFxuICAgIHByb3RlY3RlZCBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBzaXRlIGNvbnRleHQgZXZlbnRzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlclNldExhbmd1YWdlKCk7XG4gICAgdGhpcy5yZWdpc3RlclNldEN1cnJlbmN5KCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhlIGxhbmd1YWdlIHNldCBhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3RlclNldExhbmd1YWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGxhbmd1YWdlRXZlbnQkID0gdGhpcy5hY3Rpb25zU3ViamVjdC5waXBlKFxuICAgICAgb2ZUeXBlPFNpdGVDb250ZXh0QWN0aW9ucy5TZXRBY3RpdmVMYW5ndWFnZT4oXG4gICAgICAgIFNpdGVDb250ZXh0QWN0aW9ucy5TRVRfQUNUSVZFX0xBTkdVQUdFXG4gICAgICApLFxuICAgICAgbWFwKChsYW5ndWFnZUFjdGlvbikgPT5cbiAgICAgICAgY3JlYXRlRnJvbShMYW5ndWFnZVNldEV2ZW50LCB7XG4gICAgICAgICAgYWN0aXZlTGFuZ3VhZ2U6IGxhbmd1YWdlQWN0aW9uLnBheWxvYWQsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLnJlZ2lzdGVyKExhbmd1YWdlU2V0RXZlbnQsIGxhbmd1YWdlRXZlbnQkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGUgY3VycmVuY3kgc2V0IGFjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyU2V0Q3VycmVuY3koKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVuY3lFdmVudCQgPSB0aGlzLmFjdGlvbnNTdWJqZWN0LnBpcGUoXG4gICAgICBvZlR5cGU8U2l0ZUNvbnRleHRBY3Rpb25zLlNldEFjdGl2ZUN1cnJlbmN5PihcbiAgICAgICAgU2l0ZUNvbnRleHRBY3Rpb25zLlNFVF9BQ1RJVkVfQ1VSUkVOQ1lcbiAgICAgICksXG4gICAgICBtYXAoKGN1cnJlbmN5QWN0aW9uKSA9PlxuICAgICAgICBjcmVhdGVGcm9tKEN1cnJlbmN5U2V0RXZlbnQsIHtcbiAgICAgICAgICBhY3RpdmVDdXJyZW5jeTogY3VycmVuY3lBY3Rpb24ucGF5bG9hZCxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5ldmVudFNlcnZpY2UucmVnaXN0ZXIoQ3VycmVuY3lTZXRFdmVudCwgY3VycmVuY3lFdmVudCQpO1xuICB9XG59XG4iXX0=