UNPKG

@spartacus/checkout

Version:

Checkout feature library for Spartacus

35 lines 10.5 kB
import { createFeatureSelector, createSelector, } from '@ngrx/store'; import { StateUtils, } from '@spartacus/core'; import { CHECKOUT_FEATURE, } from '../checkout-state'; const getDeliveryAddressSelector = (state) => state.address; const getDeliveryModeSelector = (state) => state.deliveryMode; const getPaymentDetailsSelector = (state) => state.paymentDetails; const getOrderDetailsSelector = (state) => state.orderDetails; export const getCheckoutState = createFeatureSelector(CHECKOUT_FEATURE); export const getCheckoutStepsState = createSelector(getCheckoutState, (checkoutState) => checkoutState.steps); export const getCheckoutSteps = createSelector(getCheckoutStepsState, (state) => StateUtils.loaderValueSelector(state)); export const getDeliveryAddress = createSelector(getCheckoutSteps, getDeliveryAddressSelector); export const getDeliveryMode = createSelector(getCheckoutSteps, getDeliveryModeSelector); export const getSupportedDeliveryModes = createSelector(getDeliveryMode, (deliveryMode) => { return (deliveryMode && Object.keys(deliveryMode.supported).map((code) => deliveryMode.supported[code])); }); export const getSelectedDeliveryModeCode = createSelector(getDeliveryMode, (deliveryMode) => { return deliveryMode && deliveryMode.selected; }); export const getSelectedDeliveryMode = createSelector(getDeliveryMode, (deliveryMode) => { if (deliveryMode.selected !== '') { if (Object.keys(deliveryMode.supported).length === 0) { return null; } return deliveryMode.supported[deliveryMode.selected]; } }); export const getPaymentDetails = createSelector(getCheckoutSteps, getPaymentDetailsSelector); export const getCheckoutOrderDetails = createSelector(getCheckoutSteps, getOrderDetailsSelector); export const getCheckoutDetailsLoaded = createSelector(getCheckoutStepsState, (state) => StateUtils.loaderSuccessSelector(state) && !StateUtils.loaderLoadingSelector(state)); export const getCheckoutLoading = createSelector(getCheckoutStepsState, (state) => StateUtils.loaderLoadingSelector(state)); export const getPoNumer = createSelector(getCheckoutSteps, (state) => state.poNumber.po); export const getCostCenter = createSelector(getCheckoutSteps, (state) => state.poNumber.costCenter); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL2NoZWNrb3V0L2NvcmUvc3RvcmUvc2VsZWN0b3JzL2NoZWNrb3V0LnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsR0FFZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBTUwsVUFBVSxHQUNYLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUdMLGdCQUFnQixHQUVqQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ2hGLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FDNUQsS0FBSyxDQUFDLFlBQVksQ0FBQztBQUNyQixNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQzlELEtBQUssQ0FBQyxjQUFjLENBQUM7QUFDdkIsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUM1RCxLQUFLLENBQUMsWUFBWSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUd6QixxQkFBcUIsQ0FBZ0IsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FHOUIsY0FBYyxDQUNoQixnQkFBZ0IsRUFDaEIsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUN0RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBR3pCLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xELFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FDdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3QixjQUFjLENBQUMsZ0JBQWdCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztBQUUvRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBTXhCLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUdsQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFDbkQsT0FBTyxDQUNMLFlBQVk7UUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQ3JDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUN2QyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUdwQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFDbkQsT0FBTyxZQUFZLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUdoQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLEVBQUU7SUFDbkQsSUFBSSxZQUFZLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRTtRQUNoQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDdEQ7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUcxQixjQUFjLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FHaEMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBR2pDLGNBQWMsQ0FDaEIscUJBQXFCLEVBQ3JCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUMzQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzdCLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQzlDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FDeEMsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FHbkIsY0FBYyxDQUNoQixnQkFBZ0IsRUFDaEIsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FHdEIsY0FBYyxDQUNoQixnQkFBZ0IsRUFDaEIsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUZlYXR1cmVTZWxlY3RvcixcbiAgY3JlYXRlU2VsZWN0b3IsXG4gIE1lbW9pemVkU2VsZWN0b3IsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEFkZHJlc3MsXG4gIERlbGl2ZXJ5TW9kZSxcbiAgT3JkZXIsXG4gIFBheW1lbnREZXRhaWxzLFxuICBSZXBsZW5pc2htZW50T3JkZXIsXG4gIFN0YXRlVXRpbHMsXG59IGZyb20gJ0BzcGFydGFjdXMvY29yZSc7XG5pbXBvcnQge1xuICBDaGVja291dFN0YXRlLFxuICBDaGVja291dFN0ZXBzU3RhdGUsXG4gIENIRUNLT1VUX0ZFQVRVUkUsXG4gIFN0YXRlV2l0aENoZWNrb3V0LFxufSBmcm9tICcuLi9jaGVja291dC1zdGF0ZSc7XG5cbmNvbnN0IGdldERlbGl2ZXJ5QWRkcmVzc1NlbGVjdG9yID0gKHN0YXRlOiBDaGVja291dFN0ZXBzU3RhdGUpID0+IHN0YXRlLmFkZHJlc3M7XG5jb25zdCBnZXREZWxpdmVyeU1vZGVTZWxlY3RvciA9IChzdGF0ZTogQ2hlY2tvdXRTdGVwc1N0YXRlKSA9PlxuICBzdGF0ZS5kZWxpdmVyeU1vZGU7XG5jb25zdCBnZXRQYXltZW50RGV0YWlsc1NlbGVjdG9yID0gKHN0YXRlOiBDaGVja291dFN0ZXBzU3RhdGUpID0+XG4gIHN0YXRlLnBheW1lbnREZXRhaWxzO1xuY29uc3QgZ2V0T3JkZXJEZXRhaWxzU2VsZWN0b3IgPSAoc3RhdGU6IENoZWNrb3V0U3RlcHNTdGF0ZSkgPT5cbiAgc3RhdGUub3JkZXJEZXRhaWxzO1xuXG5leHBvcnQgY29uc3QgZ2V0Q2hlY2tvdXRTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxcbiAgU3RhdGVXaXRoQ2hlY2tvdXQsXG4gIENoZWNrb3V0U3RhdGVcbj4gPSBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8Q2hlY2tvdXRTdGF0ZT4oQ0hFQ0tPVVRfRkVBVFVSRSk7XG5cbmV4cG9ydCBjb25zdCBnZXRDaGVja291dFN0ZXBzU3RhdGU6IE1lbW9pemVkU2VsZWN0b3I8XG4gIFN0YXRlV2l0aENoZWNrb3V0LFxuICBTdGF0ZVV0aWxzLkxvYWRlclN0YXRlPENoZWNrb3V0U3RlcHNTdGF0ZT5cbj4gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Q2hlY2tvdXRTdGF0ZSxcbiAgKGNoZWNrb3V0U3RhdGU6IENoZWNrb3V0U3RhdGUpID0+IGNoZWNrb3V0U3RhdGUuc3RlcHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDaGVja291dFN0ZXBzOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAgQ2hlY2tvdXRTdGVwc1N0YXRlXG4+ID0gY3JlYXRlU2VsZWN0b3IoZ2V0Q2hlY2tvdXRTdGVwc1N0YXRlLCAoc3RhdGUpID0+XG4gIFN0YXRlVXRpbHMubG9hZGVyVmFsdWVTZWxlY3RvcihzdGF0ZSlcbik7XG5cbmV4cG9ydCBjb25zdCBnZXREZWxpdmVyeUFkZHJlc3M6IE1lbW9pemVkU2VsZWN0b3I8U3RhdGVXaXRoQ2hlY2tvdXQsIEFkZHJlc3M+ID1cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q2hlY2tvdXRTdGVwcywgZ2V0RGVsaXZlcnlBZGRyZXNzU2VsZWN0b3IpO1xuXG5leHBvcnQgY29uc3QgZ2V0RGVsaXZlcnlNb2RlOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAge1xuICAgIHN1cHBvcnRlZDogeyBbY29kZTogc3RyaW5nXTogRGVsaXZlcnlNb2RlIH07XG4gICAgc2VsZWN0ZWQ6IHN0cmluZztcbiAgfVxuPiA9IGNyZWF0ZVNlbGVjdG9yKGdldENoZWNrb3V0U3RlcHMsIGdldERlbGl2ZXJ5TW9kZVNlbGVjdG9yKTtcblxuZXhwb3J0IGNvbnN0IGdldFN1cHBvcnRlZERlbGl2ZXJ5TW9kZXM6IE1lbW9pemVkU2VsZWN0b3I8XG4gIFN0YXRlV2l0aENoZWNrb3V0LFxuICBEZWxpdmVyeU1vZGVbXVxuPiA9IGNyZWF0ZVNlbGVjdG9yKGdldERlbGl2ZXJ5TW9kZSwgKGRlbGl2ZXJ5TW9kZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIGRlbGl2ZXJ5TW9kZSAmJlxuICAgIE9iamVjdC5rZXlzKGRlbGl2ZXJ5TW9kZS5zdXBwb3J0ZWQpLm1hcChcbiAgICAgIChjb2RlKSA9PiBkZWxpdmVyeU1vZGUuc3VwcG9ydGVkW2NvZGVdXG4gICAgKVxuICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZERlbGl2ZXJ5TW9kZUNvZGU6IE1lbW9pemVkU2VsZWN0b3I8XG4gIFN0YXRlV2l0aENoZWNrb3V0LFxuICBzdHJpbmdcbj4gPSBjcmVhdGVTZWxlY3RvcihnZXREZWxpdmVyeU1vZGUsIChkZWxpdmVyeU1vZGUpID0+IHtcbiAgcmV0dXJuIGRlbGl2ZXJ5TW9kZSAmJiBkZWxpdmVyeU1vZGUuc2VsZWN0ZWQ7XG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkRGVsaXZlcnlNb2RlOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAgRGVsaXZlcnlNb2RlIHwgdW5kZWZpbmVkIHwgbnVsbFxuPiA9IGNyZWF0ZVNlbGVjdG9yKGdldERlbGl2ZXJ5TW9kZSwgKGRlbGl2ZXJ5TW9kZSkgPT4ge1xuICBpZiAoZGVsaXZlcnlNb2RlLnNlbGVjdGVkICE9PSAnJykge1xuICAgIGlmIChPYmplY3Qua2V5cyhkZWxpdmVyeU1vZGUuc3VwcG9ydGVkKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gZGVsaXZlcnlNb2RlLnN1cHBvcnRlZFtkZWxpdmVyeU1vZGUuc2VsZWN0ZWRdO1xuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGdldFBheW1lbnREZXRhaWxzOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAgUGF5bWVudERldGFpbHNcbj4gPSBjcmVhdGVTZWxlY3RvcihnZXRDaGVja291dFN0ZXBzLCBnZXRQYXltZW50RGV0YWlsc1NlbGVjdG9yKTtcblxuZXhwb3J0IGNvbnN0IGdldENoZWNrb3V0T3JkZXJEZXRhaWxzOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAgT3JkZXIgfCBSZXBsZW5pc2htZW50T3JkZXJcbj4gPSBjcmVhdGVTZWxlY3RvcihnZXRDaGVja291dFN0ZXBzLCBnZXRPcmRlckRldGFpbHNTZWxlY3Rvcik7XG5cbmV4cG9ydCBjb25zdCBnZXRDaGVja291dERldGFpbHNMb2FkZWQ6IE1lbW9pemVkU2VsZWN0b3I8XG4gIFN0YXRlV2l0aENoZWNrb3V0LFxuICBib29sZWFuXG4+ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldENoZWNrb3V0U3RlcHNTdGF0ZSxcbiAgKHN0YXRlKSA9PlxuICAgIFN0YXRlVXRpbHMubG9hZGVyU3VjY2Vzc1NlbGVjdG9yKHN0YXRlKSAmJlxuICAgICFTdGF0ZVV0aWxzLmxvYWRlckxvYWRpbmdTZWxlY3RvcihzdGF0ZSlcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRDaGVja291dExvYWRpbmc6IE1lbW9pemVkU2VsZWN0b3I8U3RhdGVXaXRoQ2hlY2tvdXQsIGJvb2xlYW4+ID1cbiAgY3JlYXRlU2VsZWN0b3IoZ2V0Q2hlY2tvdXRTdGVwc1N0YXRlLCAoc3RhdGUpID0+XG4gICAgU3RhdGVVdGlscy5sb2FkZXJMb2FkaW5nU2VsZWN0b3Ioc3RhdGUpXG4gICk7XG5cbmV4cG9ydCBjb25zdCBnZXRQb051bWVyOiBNZW1vaXplZFNlbGVjdG9yPFxuICBTdGF0ZVdpdGhDaGVja291dCxcbiAgc3RyaW5nIHwgdW5kZWZpbmVkXG4+ID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldENoZWNrb3V0U3RlcHMsXG4gIChzdGF0ZTogQ2hlY2tvdXRTdGVwc1N0YXRlKSA9PiBzdGF0ZS5wb051bWJlci5wb1xuKTtcblxuZXhwb3J0IGNvbnN0IGdldENvc3RDZW50ZXI6IE1lbW9pemVkU2VsZWN0b3I8XG4gIFN0YXRlV2l0aENoZWNrb3V0LFxuICBzdHJpbmcgfCB1bmRlZmluZWRcbj4gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Q2hlY2tvdXRTdGVwcyxcbiAgKHN0YXRlOiBDaGVja291dFN0ZXBzU3RhdGUpID0+IHN0YXRlLnBvTnVtYmVyLmNvc3RDZW50ZXJcbik7XG4iXX0=