UNPKG

@spartacus/checkout

Version:

Checkout feature library for Spartacus

50 lines 6.92 kB
import { Injectable } from '@angular/core'; import { PageMetaResolver, PageType, } from '@spartacus/core'; import { switchMap } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@spartacus/core"; /** * Resolves the page data for all Content Pages based on the `PageType.CONTENT_PAGE` * and the `MultiStepCheckoutSummaryPageTemplate`. If the checkout page matches this template, * the more generic `ContentPageMetaResolver` is overridden by this resolver. * * The page title and robots are resolved in this implementation only. */ export class CheckoutPageMetaResolver extends PageMetaResolver { constructor(translation, activeCartService, basePageMetaResolver) { super(); this.translation = translation; this.activeCartService = activeCartService; this.basePageMetaResolver = basePageMetaResolver; this.cart$ = this.activeCartService.getActive(); this.pageType = PageType.CONTENT_PAGE; this.pageTemplate = 'MultiStepCheckoutSummaryPageTemplate'; } /** * @override * Resolves the page title from the translation `pageMetaResolver.checkout.title`. The * cart total item `count` is passed to the translation, so it can be used in the title. * * The title from the page data is ignored for this page title. */ resolveTitle() { return this.cart$.pipe(switchMap((c) => this.translation.translate('pageMetaResolver.checkout.title', { count: c.totalItems, }))); } resolveDescription() { return this.basePageMetaResolver.resolveDescription(); } resolveRobots() { return this.basePageMetaResolver.resolveRobots(); } } CheckoutPageMetaResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutPageMetaResolver, deps: [{ token: i1.TranslationService }, { token: i1.ActiveCartService }, { token: i1.BasePageMetaResolver }], target: i0.ɵɵFactoryTarget.Injectable }); CheckoutPageMetaResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutPageMetaResolver, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutPageMetaResolver, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.TranslationService }, { type: i1.ActiveCartService }, { type: i1.BasePageMetaResolver }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFnZS1tZXRhLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL2NoZWNrb3V0L2NvcmUvc2VydmljZXMvY2hlY2tvdXQtcGFnZS1tZXRhLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUtMLGdCQUFnQixFQUloQixRQUFRLEdBRVQsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUUzQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxnQkFBZ0I7SUFLeEIsWUFDWSxXQUErQixFQUMvQixpQkFBb0MsRUFDcEMsb0JBQTBDO1FBRXBELEtBQUssRUFBRSxDQUFDO1FBSkUsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUw1QyxVQUFLLEdBQXFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQVFyRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxzQ0FBc0MsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLEVBQUU7WUFDNUQsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVO1NBQ3BCLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuRCxDQUFDOztxSEF2Q1Usd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aXZlQ2FydFNlcnZpY2UsXG4gIEJhc2VQYWdlTWV0YVJlc29sdmVyLFxuICBDYXJ0LFxuICBQYWdlRGVzY3JpcHRpb25SZXNvbHZlcixcbiAgUGFnZU1ldGFSZXNvbHZlcixcbiAgUGFnZVJvYm90c01ldGEsXG4gIFBhZ2VSb2JvdHNSZXNvbHZlcixcbiAgUGFnZVRpdGxlUmVzb2x2ZXIsXG4gIFBhZ2VUeXBlLFxuICBUcmFuc2xhdGlvblNlcnZpY2UsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHBhZ2UgZGF0YSBmb3IgYWxsIENvbnRlbnQgUGFnZXMgYmFzZWQgb24gdGhlIGBQYWdlVHlwZS5DT05URU5UX1BBR0VgXG4gKiBhbmQgdGhlIGBNdWx0aVN0ZXBDaGVja291dFN1bW1hcnlQYWdlVGVtcGxhdGVgLiBJZiB0aGUgY2hlY2tvdXQgcGFnZSBtYXRjaGVzIHRoaXMgdGVtcGxhdGUsXG4gKiB0aGUgbW9yZSBnZW5lcmljIGBDb250ZW50UGFnZU1ldGFSZXNvbHZlcmAgaXMgb3ZlcnJpZGRlbiBieSB0aGlzIHJlc29sdmVyLlxuICpcbiAqIFRoZSBwYWdlIHRpdGxlIGFuZCByb2JvdHMgYXJlIHJlc29sdmVkIGluIHRoaXMgaW1wbGVtZW50YXRpb24gb25seS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0UGFnZU1ldGFSZXNvbHZlclxuICBleHRlbmRzIFBhZ2VNZXRhUmVzb2x2ZXJcbiAgaW1wbGVtZW50cyBQYWdlVGl0bGVSZXNvbHZlciwgUGFnZURlc2NyaXB0aW9uUmVzb2x2ZXIsIFBhZ2VSb2JvdHNSZXNvbHZlclxue1xuICBwcm90ZWN0ZWQgY2FydCQ6IE9ic2VydmFibGU8Q2FydD4gPSB0aGlzLmFjdGl2ZUNhcnRTZXJ2aWNlLmdldEFjdGl2ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhY3RpdmVDYXJ0U2VydmljZTogQWN0aXZlQ2FydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGJhc2VQYWdlTWV0YVJlc29sdmVyOiBCYXNlUGFnZU1ldGFSZXNvbHZlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucGFnZVR5cGUgPSBQYWdlVHlwZS5DT05URU5UX1BBR0U7XG4gICAgdGhpcy5wYWdlVGVtcGxhdGUgPSAnTXVsdGlTdGVwQ2hlY2tvdXRTdW1tYXJ5UGFnZVRlbXBsYXRlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3ZlcnJpZGVcbiAgICogUmVzb2x2ZXMgdGhlIHBhZ2UgdGl0bGUgZnJvbSB0aGUgdHJhbnNsYXRpb24gYHBhZ2VNZXRhUmVzb2x2ZXIuY2hlY2tvdXQudGl0bGVgLiBUaGVcbiAgICogY2FydCB0b3RhbCBpdGVtIGBjb3VudGAgaXMgcGFzc2VkIHRvIHRoZSB0cmFuc2xhdGlvbiwgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHRpdGxlLlxuICAgKlxuICAgKiBUaGUgdGl0bGUgZnJvbSB0aGUgcGFnZSBkYXRhIGlzIGlnbm9yZWQgZm9yIHRoaXMgcGFnZSB0aXRsZS5cbiAgICovXG4gIHJlc29sdmVUaXRsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNhcnQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGMpID0+XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdwYWdlTWV0YVJlc29sdmVyLmNoZWNrb3V0LnRpdGxlJywge1xuICAgICAgICAgIGNvdW50OiBjLnRvdGFsSXRlbXMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHJlc29sdmVEZXNjcmlwdGlvbigpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VQYWdlTWV0YVJlc29sdmVyLnJlc29sdmVEZXNjcmlwdGlvbigpO1xuICB9XG5cbiAgcmVzb2x2ZVJvYm90cygpOiBPYnNlcnZhYmxlPFBhZ2VSb2JvdHNNZXRhW10+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlUGFnZU1ldGFSZXNvbHZlci5yZXNvbHZlUm9ib3RzKCk7XG4gIH1cbn1cbiJdfQ==