UNPKG

@spartacus/storefront

Version:

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

48 lines 11.1 kB
import { Component, Input, Output, EventEmitter } from '@angular/core'; import { CouponDialogComponent } from './coupon-dialog/coupon-dialog.component'; import * as i0 from "@angular/core"; import * as i1 from "../../../../shared/components/modal/index"; import * as i2 from "../my-coupons.component.service"; import * as i3 from "@angular/common"; import * as i4 from "@spartacus/core"; export class CouponCardComponent { constructor(modalService, myCouponsComponentService) { this.modalService = modalService; this.myCouponsComponentService = myCouponsComponentService; this.notificationChanged = new EventEmitter(); } onSubscriptionChange() { this.notificationChanged.emit({ couponId: this.coupon.couponId, notification: !this.coupon.notificationOn, }); } readMore() { let modalInstance; this.modalRef = this.modalService.open(CouponDialogComponent, { centered: true, size: 'lg', }); modalInstance = this.modalRef.componentInstance; modalInstance.coupon = this.coupon; } findProducts() { this.myCouponsComponentService.launchSearchPage(this.coupon); } } CouponCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CouponCardComponent, deps: [{ token: i1.ModalService }, { token: i2.MyCouponsComponentService }], target: i0.ɵɵFactoryTarget.Component }); CouponCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: CouponCardComponent, selector: "cx-coupon-card", inputs: { coupon: "coupon", couponSubscriptionLoading$: "couponSubscriptionLoading$" }, outputs: { notificationChanged: "notificationChanged" }, ngImport: i0, template: "<div class=\"card\">\n <div class=\"card-body cx-card-body\">\n <div class=\"cx-coupon-data\">\n <div class=\"cx-coupon-card-row top\">\n <div class=\"cx-coupon-card-head\">\n <span class=\"card-label-bold cx-coupon-card-id\">{{\n coupon?.couponId\n }}</span>\n <span>: {{ coupon?.name }}</span>\n </div>\n\n <div class=\"cx-coupon-status {{ coupon?.status | lowercase }}\">\n {{ 'myCoupons.' + coupon?.status | cxTranslate }}\n </div>\n </div>\n\n <div class=\"cx-coupon-card-date\">\n <p>{{ 'myCoupons.effectiveTitle' | cxTranslate }}</p>\n <div class=\"cx-coupon-date\">\n <div class=\"cx-coupon-date-start\">\n {{ coupon?.startDate | cxDate: 'medium' }} -&nbsp;\n </div>\n <div class=\"cx-coupon-date-end\">\n {{ coupon?.endDate | cxDate: 'medium' }}\n </div>\n </div>\n </div>\n\n <a (click)=\"readMore()\" class=\"cx-card-read-more\">{{\n 'myCoupons.readMore' | cxTranslate\n }}</a>\n\n <div class=\"cx-coupon-card-row bottom\">\n <div class=\"cx-coupon-notification form-check\">\n <label>\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n [checked]=\"coupon?.notificationOn\"\n [class.disabled]=\"couponSubscriptionLoading$ | async\"\n [disabled]=\"couponSubscriptionLoading$ | async\"\n (change)=\"onSubscriptionChange()\"\n />\n <span class=\"form-check-label\">\n {{ 'myCoupons.notification' | cxTranslate }}\n </span>\n </label>\n </div>\n\n <div class=\"cx-coupon-find-product col-lg-6 col-md-12 col-sm-6\">\n <button class=\"btn btn-block btn-action\" (click)=\"findProducts()\">\n {{ 'myCoupons.findProducts' | cxTranslate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</div>\n", pipes: { "lowercase": i3.LowerCasePipe, "cxTranslate": i4.TranslatePipe, "cxDate": i4.CxDatePipe, "async": i3.AsyncPipe } }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CouponCardComponent, decorators: [{ type: Component, args: [{ selector: 'cx-coupon-card', templateUrl: './coupon-card.component.html', }] }], ctorParameters: function () { return [{ type: i1.ModalService }, { type: i2.MyCouponsComponentService }]; }, propDecorators: { coupon: [{ type: Input }], couponSubscriptionLoading$: [{ type: Input }], notificationChanged: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RvcmVmcm9udGxpYi9jbXMtY29tcG9uZW50cy9teWFjY291bnQvbXktY291cG9ucy9jb3Vwb24tY2FyZC9jb3Vwb24tY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdG9yZWZyb250bGliL2Ntcy1jb21wb25lbnRzL215YWNjb3VudC9teS1jb3Vwb25zL2NvdXBvbi1jYXJkL2NvdXBvbi1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVNoRixNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQ1ksWUFBMEIsRUFDMUIseUJBQW9EO1FBRHBELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFQaEUsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBR2xDLENBQUM7SUFLRixDQUFDO0lBRUosb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUM5QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWM7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLGFBQWtCLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM1RCxRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDOztnSEFwQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIsdU1DZmhDLDYrREEwREE7MkZEM0NhLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsOEJBQThCO2lCQUM1QzsySUFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIE1vZGFsUmVmLFxuICBNb2RhbFNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL21vZGFsL2luZGV4JztcbmltcG9ydCB7IENvdXBvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY291cG9uLWRpYWxvZy9jb3Vwb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21lckNvdXBvbiB9IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBNeUNvdXBvbnNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vbXktY291cG9ucy5jb21wb25lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N4LWNvdXBvbi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdXBvbi1jYXJkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ291cG9uQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvdXBvbjogQ3VzdG9tZXJDb3Vwb247XG4gIEBJbnB1dCgpIGNvdXBvblN1YnNjcmlwdGlvbkxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBtb2RhbFJlZjogTW9kYWxSZWY7XG5cbiAgQE91dHB1dCgpXG4gIG5vdGlmaWNhdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBjb3Vwb25JZDogc3RyaW5nO1xuICAgIG5vdGlmaWNhdGlvbjogYm9vbGVhbjtcbiAgfT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG15Q291cG9uc0NvbXBvbmVudFNlcnZpY2U6IE15Q291cG9uc0NvbXBvbmVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG9uU3Vic2NyaXB0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZpY2F0aW9uQ2hhbmdlZC5lbWl0KHtcbiAgICAgIGNvdXBvbklkOiB0aGlzLmNvdXBvbi5jb3Vwb25JZCxcbiAgICAgIG5vdGlmaWNhdGlvbjogIXRoaXMuY291cG9uLm5vdGlmaWNhdGlvbk9uLFxuICAgIH0pO1xuICB9XG5cbiAgcmVhZE1vcmUoKSB7XG4gICAgbGV0IG1vZGFsSW5zdGFuY2U6IGFueTtcbiAgICB0aGlzLm1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihDb3Vwb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgc2l6ZTogJ2xnJyxcbiAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UgPSB0aGlzLm1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIG1vZGFsSW5zdGFuY2UuY291cG9uID0gdGhpcy5jb3Vwb247XG4gIH1cblxuICBmaW5kUHJvZHVjdHMoKTogdm9pZCB7XG4gICAgdGhpcy5teUNvdXBvbnNDb21wb25lbnRTZXJ2aWNlLmxhdW5jaFNlYXJjaFBhZ2UodGhpcy5jb3Vwb24pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGN4LWNhcmQtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjeC1jb3Vwb24tZGF0YVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1jYXJkLXJvdyB0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1jYXJkLWhlYWRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwtYm9sZCBjeC1jb3Vwb24tY2FyZC1pZFwiPnt7XG4gICAgICAgICAgICBjb3Vwb24/LmNvdXBvbklkXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4+OiB7eyBjb3Vwb24/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjeC1jb3Vwb24tc3RhdHVzIHt7IGNvdXBvbj8uc3RhdHVzIHwgbG93ZXJjYXNlIH19XCI+XG4gICAgICAgICAge3sgJ215Q291cG9ucy4nICsgY291cG9uPy5zdGF0dXMgfCBjeFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY3gtY291cG9uLWNhcmQtZGF0ZVwiPlxuICAgICAgICA8cD57eyAnbXlDb3Vwb25zLmVmZmVjdGl2ZVRpdGxlJyB8IGN4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3gtY291cG9uLWRhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3gtY291cG9uLWRhdGUtc3RhcnRcIj5cbiAgICAgICAgICAgIHt7IGNvdXBvbj8uc3RhcnREYXRlIHwgY3hEYXRlOiAnbWVkaXVtJyB9fSAtJm5ic3A7XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1kYXRlLWVuZFwiPlxuICAgICAgICAgICAge3sgY291cG9uPy5lbmREYXRlIHwgY3hEYXRlOiAnbWVkaXVtJyB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YSAoY2xpY2spPVwicmVhZE1vcmUoKVwiIGNsYXNzPVwiY3gtY2FyZC1yZWFkLW1vcmVcIj57e1xuICAgICAgICAnbXlDb3Vwb25zLnJlYWRNb3JlJyB8IGN4VHJhbnNsYXRlXG4gICAgICB9fTwvYT5cblxuICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1jYXJkLXJvdyBib3R0b21cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1ub3RpZmljYXRpb24gZm9ybS1jaGVja1wiPlxuICAgICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjb3Vwb24/Lm5vdGlmaWNhdGlvbk9uXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNvdXBvblN1YnNjcmlwdGlvbkxvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY291cG9uU3Vic2NyaXB0aW9uTG9hZGluZyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TdWJzY3JpcHRpb25DaGFuZ2UoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7ICdteUNvdXBvbnMubm90aWZpY2F0aW9uJyB8IGN4VHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN4LWNvdXBvbi1maW5kLXByb2R1Y3QgY29sLWxnLTYgY29sLW1kLTEyIGNvbC1zbS02XCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tYmxvY2sgYnRuLWFjdGlvblwiIChjbGljayk9XCJmaW5kUHJvZHVjdHMoKVwiPlxuICAgICAgICAgICAge3sgJ215Q291cG9ucy5maW5kUHJvZHVjdHMnIHwgY3hUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==