@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
JavaScript
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=