UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

51 lines 6.54 kB
import { CommonModule } from '@angular/common'; import { APP_INITIALIZER, ComponentFactoryResolver, NgModule, Optional, } from '@angular/core'; import { OutletDirective } from './outlet.directive'; import { OutletPosition } from './outlet.model'; import { PROVIDE_OUTLET_OPTIONS, } from './outlet.providers'; import { OutletService } from './outlet.service'; import * as i0 from "@angular/core"; /** * @private */ export function registerOutletsFactory(providedOutletOptions, componentFactoryResolver, outletService) { const result = () => { (providedOutletOptions !== null && providedOutletOptions !== void 0 ? providedOutletOptions : []).forEach((options) => { var _a; const factory = componentFactoryResolver.resolveComponentFactory(options.component); outletService.add(options.id, factory, (_a = options.position) !== null && _a !== void 0 ? _a : OutletPosition.AFTER); }); }; return result; } export class OutletModule { static forRoot() { return { ngModule: OutletModule, providers: [ { provide: APP_INITIALIZER, useFactory: registerOutletsFactory, deps: [ [new Optional(), PROVIDE_OUTLET_OPTIONS], ComponentFactoryResolver, OutletService, ], multi: true, }, ], }; } } OutletModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); OutletModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OutletModule, declarations: [OutletDirective], imports: [CommonModule], exports: [OutletDirective] }); OutletModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OutletModule, imports: [[CommonModule]] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OutletModule, decorators: [{ type: NgModule, args: [{ imports: [CommonModule], declarations: [OutletDirective], exports: [OutletDirective], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLXN0cnVjdHVyZS9vdXRsZXQvb3V0bGV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLGVBQWUsRUFFZix3QkFBd0IsRUFFeEIsUUFBUSxFQUNSLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFDTCxzQkFBc0IsR0FFdkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWpEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxxQkFBNkMsRUFDN0Msd0JBQWtELEVBQ2xELGFBQXlEO0lBRXpELE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRTtRQUNsQixDQUFDLHFCQUFxQixhQUFyQixxQkFBcUIsY0FBckIscUJBQXFCLEdBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7O1lBQ2hELE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDLHVCQUF1QixDQUM5RCxPQUFPLENBQUMsU0FBUyxDQUNsQixDQUFDO1lBQ0YsYUFBYSxDQUFDLEdBQUcsQ0FDZixPQUFPLENBQUMsRUFBRSxFQUNWLE9BQU8sRUFDUCxNQUFBLE9BQU8sQ0FBQyxRQUFRLG1DQUFJLGNBQWMsQ0FBQyxLQUFLLENBQ3pDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFPRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxzQkFBc0I7b0JBQ2xDLElBQUksRUFBRTt3QkFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3hDLHdCQUF3Qjt3QkFDeEIsYUFBYTtxQkFDZDtvQkFDRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3lHQWpCVSxZQUFZOzBHQUFaLFlBQVksaUJBSFIsZUFBZSxhQURwQixZQUFZLGFBRVosZUFBZTswR0FFZCxZQUFZLFlBSmQsQ0FBQyxZQUFZLENBQUM7MkZBSVosWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBUFBfSU5JVElBTElaRVIsXG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIE9wdGlvbmFsLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE91dGxldERpcmVjdGl2ZSB9IGZyb20gJy4vb3V0bGV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPdXRsZXRQb3NpdGlvbiB9IGZyb20gJy4vb3V0bGV0Lm1vZGVsJztcbmltcG9ydCB7XG4gIFBST1ZJREVfT1VUTEVUX09QVElPTlMsXG4gIFByb3ZpZGVPdXRsZXRPcHRpb25zLFxufSBmcm9tICcuL291dGxldC5wcm92aWRlcnMnO1xuaW1wb3J0IHsgT3V0bGV0U2VydmljZSB9IGZyb20gJy4vb3V0bGV0LnNlcnZpY2UnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlck91dGxldHNGYWN0b3J5KFxuICBwcm92aWRlZE91dGxldE9wdGlvbnM6IFByb3ZpZGVPdXRsZXRPcHRpb25zW10sXG4gIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBvdXRsZXRTZXJ2aWNlOiBPdXRsZXRTZXJ2aWNlPENvbXBvbmVudEZhY3Rvcnk8VHlwZTxhbnk+Pj5cbik6ICgpID0+IHZvaWQge1xuICBjb25zdCByZXN1bHQgPSAoKSA9PiB7XG4gICAgKHByb3ZpZGVkT3V0bGV0T3B0aW9ucyA/PyBbXSkuZm9yRWFjaCgob3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcbiAgICAgICAgb3B0aW9ucy5jb21wb25lbnRcbiAgICAgICk7XG4gICAgICBvdXRsZXRTZXJ2aWNlLmFkZChcbiAgICAgICAgb3B0aW9ucy5pZCxcbiAgICAgICAgZmFjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5wb3NpdGlvbiA/PyBPdXRsZXRQb3NpdGlvbi5BRlRFUlxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW091dGxldERpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtPdXRsZXREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBPdXRsZXRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE91dGxldE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3V0bGV0TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogcmVnaXN0ZXJPdXRsZXRzRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVfT1VUTEVUX09QVElPTlNdLFxuICAgICAgICAgICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgT3V0bGV0U2VydmljZSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=