@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
52 lines • 7.28 kB
JavaScript
import { Injectable } from '@angular/core';
import { map } from 'rxjs/operators';
import { combineLatest } from 'rxjs';
import * as i0 from "@angular/core";
import * as i1 from "@spartacus/core";
export class MyCouponsComponentService {
constructor(routingService, translation) {
this.routingService = routingService;
this.translation = translation;
this.RELEVANCE = ':relevance';
this.CUSTOMER_COUPON_CODE = ':customerCouponCode:';
}
launchSearchPage(coupon) {
this.routingService.go({
cxRoute: 'search',
params: { query: this.buildSearchParam(coupon) },
}, {
queryParams: {
couponcode: coupon.couponId,
},
});
}
buildSearchParam(coupon) {
return coupon.allProductsApplicable
? this.RELEVANCE
: this.RELEVANCE + this.CUSTOMER_COUPON_CODE + coupon.couponId;
}
getSortLabels() {
return combineLatest([
this.translation.translate('myCoupons.startDateAsc'),
this.translation.translate('myCoupons.startDateDesc'),
this.translation.translate('myCoupons.endDateAsc'),
this.translation.translate('myCoupons.endDateDesc'),
]).pipe(map(([textByStartDateAsc, textByStartDateDesc, textByEndDateAsc, textByEndDateDesc,]) => {
return {
byStartDateAsc: textByStartDateAsc,
byStartDateDesc: textByStartDateDesc,
byEndDateAsc: textByEndDateAsc,
byEndDateDesc: textByEndDateDesc,
};
}));
}
}
MyCouponsComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MyCouponsComponentService, deps: [{ token: i1.RoutingService }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
MyCouponsComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MyCouponsComponentService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: MyCouponsComponentService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: i1.RoutingService }, { type: i1.TranslationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktY291cG9ucy5jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvY21zLWNvbXBvbmVudHMvbXlhY2NvdW50L215LWNvdXBvbnMvbXktY291cG9ucy5jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFLakQsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxZQUNZLGNBQThCLEVBQzlCLFdBQStCO1FBRC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFMeEIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6Qix5QkFBb0IsR0FBRyxzQkFBc0IsQ0FBQztJQUs5RCxDQUFDO0lBRUosZ0JBQWdCLENBQUMsTUFBc0I7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQ3BCO1lBQ0UsT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtTQUNqRCxFQUNEO1lBQ0UsV0FBVyxFQUFFO2dCQUNYLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUTthQUM1QjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFzQjtRQUM3QyxPQUFPLE1BQU0sQ0FBQyxxQkFBcUI7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ25FLENBQUM7SUFFRCxhQUFhO1FBTVgsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUM7WUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUM7WUFDckQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUM7U0FDcEQsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQ0QsQ0FBQyxDQUNDLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNsQixFQUFFLEVBQUU7WUFDSCxPQUFPO2dCQUNMLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGVBQWUsRUFBRSxtQkFBbUI7Z0JBQ3BDLFlBQVksRUFBRSxnQkFBZ0I7Z0JBQzlCLGFBQWEsRUFBRSxpQkFBaUI7YUFDakMsQ0FBQztRQUNKLENBQUMsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDOztzSEFoRVUseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJDb3Vwb24sXG4gIFJvdXRpbmdTZXJ2aWNlLFxuICBUcmFuc2xhdGlvblNlcnZpY2UsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNeUNvdXBvbnNDb21wb25lbnRTZXJ2aWNlIHtcbiAgc29ydExhYmVsczogT2JzZXJ2YWJsZTx7XG4gICAgYnlTdGFydERhdGVBc2M6IHN0cmluZztcbiAgICBieVN0YXJ0RGF0ZURlc2M6IHN0cmluZztcbiAgICBieUVuZERhdGVBc2M6IHN0cmluZztcbiAgICBieUVuZERhdGVEZXNjOiBzdHJpbmc7XG4gIH0+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBSRUxFVkFOQ0UgPSAnOnJlbGV2YW5jZSc7XG4gIHByb3RlY3RlZCByZWFkb25seSBDVVNUT01FUl9DT1VQT05fQ09ERSA9ICc6Y3VzdG9tZXJDb3Vwb25Db2RlOic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJvdXRpbmdTZXJ2aWNlOiBSb3V0aW5nU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgbGF1bmNoU2VhcmNoUGFnZShjb3Vwb246IEN1c3RvbWVyQ291cG9uKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0aW5nU2VydmljZS5nbyhcbiAgICAgIHtcbiAgICAgICAgY3hSb3V0ZTogJ3NlYXJjaCcsXG4gICAgICAgIHBhcmFtczogeyBxdWVyeTogdGhpcy5idWlsZFNlYXJjaFBhcmFtKGNvdXBvbikgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgY291cG9uY29kZTogY291cG9uLmNvdXBvbklkLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2VhcmNoUGFyYW0oY291cG9uOiBDdXN0b21lckNvdXBvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvdXBvbi5hbGxQcm9kdWN0c0FwcGxpY2FibGVcbiAgICAgID8gdGhpcy5SRUxFVkFOQ0VcbiAgICAgIDogdGhpcy5SRUxFVkFOQ0UgKyB0aGlzLkNVU1RPTUVSX0NPVVBPTl9DT0RFICsgY291cG9uLmNvdXBvbklkO1xuICB9XG5cbiAgZ2V0U29ydExhYmVscygpOiBPYnNlcnZhYmxlPHtcbiAgICBieVN0YXJ0RGF0ZUFzYzogc3RyaW5nO1xuICAgIGJ5U3RhcnREYXRlRGVzYzogc3RyaW5nO1xuICAgIGJ5RW5kRGF0ZUFzYzogc3RyaW5nO1xuICAgIGJ5RW5kRGF0ZURlc2M6IHN0cmluZztcbiAgfT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdteUNvdXBvbnMuc3RhcnREYXRlQXNjJyksXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnbXlDb3Vwb25zLnN0YXJ0RGF0ZURlc2MnKSxcbiAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdteUNvdXBvbnMuZW5kRGF0ZUFzYycpLFxuICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ215Q291cG9ucy5lbmREYXRlRGVzYycpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbXG4gICAgICAgICAgdGV4dEJ5U3RhcnREYXRlQXNjLFxuICAgICAgICAgIHRleHRCeVN0YXJ0RGF0ZURlc2MsXG4gICAgICAgICAgdGV4dEJ5RW5kRGF0ZUFzYyxcbiAgICAgICAgICB0ZXh0QnlFbmREYXRlRGVzYyxcbiAgICAgICAgXSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBieVN0YXJ0RGF0ZUFzYzogdGV4dEJ5U3RhcnREYXRlQXNjLFxuICAgICAgICAgICAgYnlTdGFydERhdGVEZXNjOiB0ZXh0QnlTdGFydERhdGVEZXNjLFxuICAgICAgICAgICAgYnlFbmREYXRlQXNjOiB0ZXh0QnlFbmREYXRlQXNjLFxuICAgICAgICAgICAgYnlFbmREYXRlRGVzYzogdGV4dEJ5RW5kRGF0ZURlc2MsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==