@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
27 lines • 5.99 kB
JavaScript
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { filter, map, startWith } from 'rxjs/operators';
import { ICON_TYPE } from '../../misc/icon/icon.model';
import * as i0 from "@angular/core";
import * as i1 from "@spartacus/core";
import * as i2 from "../../misc/icon/icon.component";
import * as i3 from "@angular/router";
import * as i4 from "@angular/common";
export class MiniCartComponent {
constructor(activeCartService) {
this.activeCartService = activeCartService;
this.iconTypes = ICON_TYPE;
this.quantity$ = this.activeCartService.getActive().pipe(startWith({ deliveryItemsQuantity: 0 }), map((cart) => cart.deliveryItemsQuantity || 0));
this.total$ = this.activeCartService.getActive().pipe(filter((cart) => !!cart.totalPrice), map((cart) => cart.totalPrice.formattedValue));
}
}
MiniCartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MiniCartComponent, deps: [{ token: i1.ActiveCartService }], target: i0.ɵɵFactoryTarget.Component });
MiniCartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: MiniCartComponent, selector: "cx-mini-cart", ngImport: i0, template: "<a\n [attr.aria-label]=\"\n 'miniCart.item' | cxTranslate: { count: quantity$ | async }\n \"\n [routerLink]=\"{ cxRoute: 'cart' } | cxUrl\"\n>\n <cx-icon [type]=\"iconTypes.CART\"></cx-icon>\n\n <span class=\"total\">\n {{ 'miniCart.total' | cxTranslate: { total: total$ | async } }}\n </span>\n\n <span class=\"count\">\n {{ 'miniCart.count' | cxTranslate: { count: quantity$ | async } }}\n </span>\n</a>\n", components: [{ type: i2.IconComponent, selector: "cx-icon,[cxIcon]", inputs: ["cxIcon", "type"] }], directives: [{ type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "cxTranslate": i1.TranslatePipe, "async": i4.AsyncPipe, "cxUrl": i1.UrlPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MiniCartComponent, decorators: [{
type: Component,
args: [{
selector: 'cx-mini-cart',
templateUrl: './mini-cart.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], ctorParameters: function () { return [{ type: i1.ActiveCartService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1jYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY2FydC9taW5pLWNhcnQvbWluaS1jYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvY2FydC9taW5pLWNhcnQvbWluaS1jYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFPdkQsTUFBTSxPQUFPLGlCQUFpQjtJQWE1QixZQUFzQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVoxRCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBRXRCLGNBQVMsR0FBdUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDckUsU0FBUyxDQUFDLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFDdkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLENBQy9DLENBQUM7UUFFRixXQUFNLEdBQXVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ2xFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDbkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUM5QyxDQUFDO0lBRTJELENBQUM7OzhHQWJuRCxpQkFBaUI7a0dBQWpCLGlCQUFpQixvRENYOUIsMGFBZ0JBOzJGRExhLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZlQ2FydFNlcnZpY2UgfSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElDT05fVFlQRSB9IGZyb20gJy4uLy4uL21pc2MvaWNvbi9pY29uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3gtbWluaS1jYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmktY2FydC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNaW5pQ2FydENvbXBvbmVudCB7XG4gIGljb25UeXBlcyA9IElDT05fVFlQRTtcblxuICBxdWFudGl0eSQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMuYWN0aXZlQ2FydFNlcnZpY2UuZ2V0QWN0aXZlKCkucGlwZShcbiAgICBzdGFydFdpdGgoeyBkZWxpdmVyeUl0ZW1zUXVhbnRpdHk6IDAgfSksXG4gICAgbWFwKChjYXJ0KSA9PiBjYXJ0LmRlbGl2ZXJ5SXRlbXNRdWFudGl0eSB8fCAwKVxuICApO1xuXG4gIHRvdGFsJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5hY3RpdmVDYXJ0U2VydmljZS5nZXRBY3RpdmUoKS5waXBlKFxuICAgIGZpbHRlcigoY2FydCkgPT4gISFjYXJ0LnRvdGFsUHJpY2UpLFxuICAgIG1hcCgoY2FydCkgPT4gY2FydC50b3RhbFByaWNlLmZvcm1hdHRlZFZhbHVlKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhY3RpdmVDYXJ0U2VydmljZTogQWN0aXZlQ2FydFNlcnZpY2UpIHt9XG59XG4iLCI8YVxuICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICdtaW5pQ2FydC5pdGVtJyB8IGN4VHJhbnNsYXRlOiB7IGNvdW50OiBxdWFudGl0eSQgfCBhc3luYyB9XG4gIFwiXG4gIFtyb3V0ZXJMaW5rXT1cInsgY3hSb3V0ZTogJ2NhcnQnIH0gfCBjeFVybFwiXG4+XG4gIDxjeC1pY29uIFt0eXBlXT1cImljb25UeXBlcy5DQVJUXCI+PC9jeC1pY29uPlxuXG4gIDxzcGFuIGNsYXNzPVwidG90YWxcIj5cbiAgICB7eyAnbWluaUNhcnQudG90YWwnIHwgY3hUcmFuc2xhdGU6IHsgdG90YWw6IHRvdGFsJCB8IGFzeW5jIH0gfX1cbiAgPC9zcGFuPlxuXG4gIDxzcGFuIGNsYXNzPVwiY291bnRcIj5cbiAgICB7eyAnbWluaUNhcnQuY291bnQnIHwgY3hUcmFuc2xhdGU6IHsgY291bnQ6IHF1YW50aXR5JCB8IGFzeW5jIH0gfX1cbiAgPC9zcGFuPlxuPC9hPlxuIl19