UNPKG

@spartacus/order

Version:

Order feature library for Spartacus

67 lines 9.81 kB
import { Injectable } from '@angular/core'; import { GlobalMessageType, } from '@spartacus/core'; import { filter, first, map } from 'rxjs/operators'; import { AmendOrderType } from '../amend-order.model'; import { OrderAmendService } from '../amend-order.service'; import * as i0 from "@angular/core"; import * as i1 from "../../order-details/order-details.service"; import * as i2 from "@spartacus/order/root"; import * as i3 from "@spartacus/core"; export class OrderCancellationService extends OrderAmendService { constructor(orderDetailsService, userOrderService, routing, globalMessageService) { super(orderDetailsService); this.orderDetailsService = orderDetailsService; this.userOrderService = userOrderService; this.routing = routing; this.globalMessageService = globalMessageService; this.amendType = AmendOrderType.CANCEL; } /** * Return cancellable order entries. */ getEntries() { return this.getOrder().pipe(filter((order) => !!(order === null || order === void 0 ? void 0 : order.entries)), map((order) => { var _a, _b; return (_b = (_a = order.entries) === null || _a === void 0 ? void 0 : _a.filter((entry) => entry.entryNumber !== -1 && entry.cancellableQuantity && entry.cancellableQuantity > 0)) !== null && _b !== void 0 ? _b : []; })); } save() { const orderCode = this.form.value.orderCode; const entries = this.form.value.entries; const inputs = Object.keys(entries) .filter((entryNumber) => entries[entryNumber] > 0) .map((entryNumber) => ({ orderEntryNumber: Number(entryNumber), quantity: entries[entryNumber], })); this.form.reset(); this.userOrderService.cancelOrder(orderCode, { cancellationRequestEntryInputs: inputs, }); this.userOrderService .getCancelOrderSuccess() .pipe(first(Boolean)) .subscribe(() => this.afterSave(orderCode)); } afterSave(orderCode) { this.userOrderService.resetCancelOrderProcessState(); this.globalMessageService.add({ key: 'orderDetails.cancellationAndReturn.cancelSuccess', params: { orderCode }, }, GlobalMessageType.MSG_TYPE_CONFIRMATION); this.routing.go({ cxRoute: 'orders', }); } } OrderCancellationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderCancellationService, deps: [{ token: i1.OrderDetailsService }, { token: i2.OrderFacade }, { token: i3.RoutingService }, { token: i3.GlobalMessageService }], target: i0.ɵɵFactoryTarget.Injectable }); OrderCancellationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderCancellationService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OrderCancellationService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.OrderDetailsService }, { type: i2.OrderFacade }, { type: i3.RoutingService }, { type: i3.GlobalMessageService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItY2FuY2VsbGF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvb3JkZXIvY29tcG9uZW50cy9hbWVuZC1vcmRlci9jYW5jZWxsYXRpb25zL29yZGVyLWNhbmNlbGxhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUdMLGlCQUFpQixHQUdsQixNQUFNLGlCQUFpQixDQUFDO0FBR3pCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFLM0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjtJQUc3RCxZQUNZLG1CQUF3QyxFQUN4QyxnQkFBNkIsRUFDN0IsT0FBdUIsRUFDdkIsb0JBQTBDO1FBRXBELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBTGpCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFhO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFOdEQsY0FBUyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFTbEMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDekIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFBLENBQUMsRUFDbkMsR0FBRyxDQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7O1lBQ1IsT0FBQSxNQUFBLE1BQUEsS0FBSyxDQUFDLE9BQU8sMENBQUUsTUFBTSxDQUNuQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQ3pCLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQ2hDLG1DQUFJLEVBQUUsQ0FBQTtTQUFBLENBQ1YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sTUFBTSxHQUFzQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNuRSxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFTLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekQsR0FBRyxDQUNGLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDZCxDQUFDO1lBQ0MsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxRQUFRLEVBQVUsT0FBTyxDQUFDLFdBQVcsQ0FBQztTQUNILENBQUEsQ0FDeEMsQ0FBQztRQUVKLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDM0MsOEJBQThCLEVBQUUsTUFBTTtTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLHFCQUFxQixFQUFFO2FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sU0FBUyxDQUFDLFNBQWlCO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQzNCO1lBQ0UsR0FBRyxFQUFFLGtEQUFrRDtZQUN2RCxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUU7U0FDdEIsRUFDRCxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FDeEMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbEVVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENhbmNlbE9yUmV0dXJuUmVxdWVzdEVudHJ5SW5wdXQsXG4gIEdsb2JhbE1lc3NhZ2VTZXJ2aWNlLFxuICBHbG9iYWxNZXNzYWdlVHlwZSxcbiAgT3JkZXJFbnRyeSxcbiAgUm91dGluZ1NlcnZpY2UsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQgeyBPcmRlckZhY2FkZSB9IGZyb20gJ0BzcGFydGFjdXMvb3JkZXIvcm9vdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPcmRlckRldGFpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vb3JkZXItZGV0YWlscy9vcmRlci1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW1lbmRPcmRlclR5cGUgfSBmcm9tICcuLi9hbWVuZC1vcmRlci5tb2RlbCc7XG5pbXBvcnQgeyBPcmRlckFtZW5kU2VydmljZSB9IGZyb20gJy4uL2FtZW5kLW9yZGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJDYW5jZWxsYXRpb25TZXJ2aWNlIGV4dGVuZHMgT3JkZXJBbWVuZFNlcnZpY2Uge1xuICBhbWVuZFR5cGUgPSBBbWVuZE9yZGVyVHlwZS5DQU5DRUw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG9yZGVyRGV0YWlsc1NlcnZpY2U6IE9yZGVyRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXJPcmRlclNlcnZpY2U6IE9yZGVyRmFjYWRlLFxuICAgIHByb3RlY3RlZCByb3V0aW5nOiBSb3V0aW5nU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZ2xvYmFsTWVzc2FnZVNlcnZpY2U6IEdsb2JhbE1lc3NhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKG9yZGVyRGV0YWlsc1NlcnZpY2UpO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gY2FuY2VsbGFibGUgb3JkZXIgZW50cmllcy5cbiAgICovXG4gIGdldEVudHJpZXMoKTogT2JzZXJ2YWJsZTxPcmRlckVudHJ5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRPcmRlcigpLnBpcGUoXG4gICAgICBmaWx0ZXIoKG9yZGVyKSA9PiAhIW9yZGVyPy5lbnRyaWVzKSxcbiAgICAgIG1hcChcbiAgICAgICAgKG9yZGVyKSA9PlxuICAgICAgICAgIG9yZGVyLmVudHJpZXM/LmZpbHRlcihcbiAgICAgICAgICAgIChlbnRyeSkgPT5cbiAgICAgICAgICAgICAgZW50cnkuZW50cnlOdW1iZXIgIT09IC0xICYmXG4gICAgICAgICAgICAgIGVudHJ5LmNhbmNlbGxhYmxlUXVhbnRpdHkgJiZcbiAgICAgICAgICAgICAgZW50cnkuY2FuY2VsbGFibGVRdWFudGl0eSA+IDBcbiAgICAgICAgICApID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgY29uc3Qgb3JkZXJDb2RlID0gdGhpcy5mb3JtLnZhbHVlLm9yZGVyQ29kZTtcbiAgICBjb25zdCBlbnRyaWVzID0gdGhpcy5mb3JtLnZhbHVlLmVudHJpZXM7XG4gICAgY29uc3QgaW5wdXRzOiBDYW5jZWxPclJldHVyblJlcXVlc3RFbnRyeUlucHV0W10gPSBPYmplY3Qua2V5cyhlbnRyaWVzKVxuICAgICAgLmZpbHRlcigoZW50cnlOdW1iZXIpID0+IDxudW1iZXI+ZW50cmllc1tlbnRyeU51bWJlcl0gPiAwKVxuICAgICAgLm1hcChcbiAgICAgICAgKGVudHJ5TnVtYmVyKSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICBvcmRlckVudHJ5TnVtYmVyOiBOdW1iZXIoZW50cnlOdW1iZXIpLFxuICAgICAgICAgICAgcXVhbnRpdHk6IDxudW1iZXI+ZW50cmllc1tlbnRyeU51bWJlcl0sXG4gICAgICAgICAgfSBhcyBDYW5jZWxPclJldHVyblJlcXVlc3RFbnRyeUlucHV0KVxuICAgICAgKTtcblxuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuXG4gICAgdGhpcy51c2VyT3JkZXJTZXJ2aWNlLmNhbmNlbE9yZGVyKG9yZGVyQ29kZSwge1xuICAgICAgY2FuY2VsbGF0aW9uUmVxdWVzdEVudHJ5SW5wdXRzOiBpbnB1dHMsXG4gICAgfSk7XG5cbiAgICB0aGlzLnVzZXJPcmRlclNlcnZpY2VcbiAgICAgIC5nZXRDYW5jZWxPcmRlclN1Y2Nlc3MoKVxuICAgICAgLnBpcGUoZmlyc3QoQm9vbGVhbikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYWZ0ZXJTYXZlKG9yZGVyQ29kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZnRlclNhdmUob3JkZXJDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJPcmRlclNlcnZpY2UucmVzZXRDYW5jZWxPcmRlclByb2Nlc3NTdGF0ZSgpO1xuICAgIHRoaXMuZ2xvYmFsTWVzc2FnZVNlcnZpY2UuYWRkKFxuICAgICAge1xuICAgICAgICBrZXk6ICdvcmRlckRldGFpbHMuY2FuY2VsbGF0aW9uQW5kUmV0dXJuLmNhbmNlbFN1Y2Nlc3MnLFxuICAgICAgICBwYXJhbXM6IHsgb3JkZXJDb2RlIH0sXG4gICAgICB9LFxuICAgICAgR2xvYmFsTWVzc2FnZVR5cGUuTVNHX1RZUEVfQ09ORklSTUFUSU9OXG4gICAgKTtcbiAgICB0aGlzLnJvdXRpbmcuZ28oe1xuICAgICAgY3hSb3V0ZTogJ29yZGVycycsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==