{ "version": 3, "sources": ["../PEP-Site/src/app/features/checkout/enums/checkout-step-type.enum.ts", "../PEP-Site/src/app/features/checkout/enums/card-step-type.enum.ts", "../PEP-Site/src/app/core/utils/enum-helpers.ts", "../PEP-Site/src/app/features/checkout/services/checkout.service.ts", "../PEP-Site/src/app/features/checkout/checkout.store.ts", "../PEP-Site/src/app/features/checkout/base/base-checkout.component.ts", "../PEP-Site/src/app/features/checkout/models/checkout-order-item.model.ts", "../PEP-Site/src/app/features/checkout/features/checkout/item-details/item-details.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/item-details/item-details.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/order-total/order-total.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/order-total/order-total.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/order-summary/order-summary.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/order-summary/order-summary.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/saved-cards/saved-cards.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/saved-cards/saved-cards.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/item-cost/item-cost.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/item-cost/item-cost.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/select-payment-type/select-payment-type.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/select-payment-type/select-payment-type.component.html", "../PEP-Site/src/app/core/model/facility-account/facility-account-address.model.ts", "../PEP-Site/src/app/core/model/facility-account/facility-account-phone-number.model.ts", "../PEP-Site/src/app/core/model/facility-account/facility-account-system-identifier.model.ts", "../PEP-Site/src/app/core/model/facility-account/facility-account.model.ts", "../PEP-Site/src/app/features/checkout/features/checkout/facility/facility.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/facility/facility.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/billing-address/billing-address.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/billing-address/billing-address.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/payment-form/payment-form.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/payment-form/payment-form.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-summary/card-summary.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-summary/card-summary.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/payment-sipayce/payment-sipayce.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/payment-sipayce/payment-sipayce.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/card-confirm/card-confirm.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/card-confirm/card-confirm.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/card-checkout.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/card-checkout/card-checkout.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/confirm-checkout/confirm-checkout.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/confirm-checkout/confirm-checkout.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/guest-registration/guest-registration.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/guest-registration/guest-registration.component.html", "../PEP-Site/src/app/core/services/facility-account.service.ts", "../PEP-Site/src/app/features/checkout/features/checkout/facility-select/facility-select.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/facility-select/facility-select.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-message/checkout-message.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-message/checkout-message.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/pay-with-card-button/pay-with-card-button.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/pay-with-card-button/pay-with-card-button.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/group-purchase/group-purchase.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/group-purchase/group-purchase.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/individual-purchase/individual-purchase.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/individual-purchase/individual-purchase.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/group-points-checkout.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/group-points-checkout/group-points-checkout.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-payment-info/checkout-confirmation-payment-info.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-payment-info/checkout-confirmation-payment-info.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-billing-info/checkout-confirmation-billing-info.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-billing-info/checkout-confirmation-billing-info.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-total/checkout-confirmation-total.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-total/checkout-confirmation-total.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-points-info/checkout-confirmation-points-info.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-points-info/checkout-confirmation-points-info.component.html", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-purchase-info/checkout-confirmation-purchase-info.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-confirmation-purchase-info/checkout-confirmation-purchase-info.component.html", "../PEP-Site/src/app/core/utils/print-page-helpers.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-order-confirmation.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-order-confirmation/checkout-order-confirmation.component.html", "../PEP-Site/src/app/store/flags/flags.selector.ts", "../PEP-Site/src/app/features/checkout/mock/mock-items.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-shell/checkout-shell.component.ts", "../PEP-Site/src/app/features/checkout/features/checkout/checkout-shell/checkout-shell.component.html"], "sourcesContent": ["/**\r\n * Different top-level checkout steps. Listed here alpha, not in order\r\n */\r\nexport enum CheckoutStepType {\r\n /** card has child steps: see CardSteps enum */\r\n Card,\r\n /** Facility Checkout Form */\r\n Facility,\r\n /** Facility Select Form */\r\n FacilitySelect,\r\n /** Guest Registration Form */\r\n GuestRegistration,\r\n /** No CC and no points message page */\r\n Message,\r\n /** Points Selection Form */\r\n Points,\r\n /** Saved Cards Selection Form*/\r\n SavedCards,\r\n /** Facility vs Card Selection */\r\n SelectPaymentType,\r\n /** Summary/confirm */\r\n Confirm,\r\n /** Order Confirmation. After purchase is successful. */\r\n OrderConfirmation,\r\n}\r\n", "/**\r\n * Steps for the card entry steps\r\n */\r\nexport enum CardStepType {\r\n /** Address Form */\r\n Address,\r\n /** Confirm Form */\r\n Confirm,\r\n /** Payment Form */\r\n Payment,\r\n}\r\n", "type NonFunctional = T extends Function ? never : T;\r\n\r\nexport function enumToArray(enumeration: T): NonFunctional[] {\r\n return Object.keys(enumeration)\r\n .filter(key => isNaN(Number(key)))\r\n .map(key => enumeration[key])\r\n .filter((val): val is NonFunctional => typeof val === \"number\" || typeof val === \"string\")\r\n}\r\n", "import { Injectable } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { OrderItem } from '@pepconnect/models/ecomm/order-item.model';\r\nimport { BaseStateService } from '@pepconnect/shared/base/base-state-service/base-state-service';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\nimport { ApiService } from '@pepconnect/services/api.service';\r\n\r\nimport { CardType } from '@pepconnect/features/checkout/models/card-type.model';\r\nimport { CheckoutBillingAddress } from '@pepconnect/features/checkout/models/checkout-billing-address.model';\r\nimport { CheckoutSubscription } from '@pepconnect/features/checkout/models/checkout-subscription.model';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { UnserializedResponseMessage } from '@pepconnect/models/general/response-message.model';\r\nimport { CheckoutState } from '@pepconnect/features/checkout/models/checkout-state.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckoutService extends BaseStateService {\r\n $authState = this.store.select(selectAuthState);\r\n\r\n constructor(\r\n protected store: Store,\r\n private api: ApiService\r\n ) {\r\n super(store);\r\n }\r\n\r\n initializeCheckout(item: OrderItem) {\r\n return this.api.post('v2/orders/initializeCheckout', item);\r\n }\r\n\r\n cancelTransaction(transaction: CheckoutTransaction) {\r\n return this.api.post('v2/orders/canceltransaction', transaction);\r\n }\r\n\r\n getSavedBillingAddress(countryId: number) {\r\n return this.api.get(`v2/orders/user/${countryId}`);\r\n }\r\n\r\n getSubscriptions(countryId: number) {\r\n return this.api.get(`v2/orders/subscriptions/${countryId}`);\r\n }\r\n\r\n getCreditCardTypes(countryId: number) {\r\n return this.api.get(`v2/orders/creditcardtypes/${countryId}`);\r\n }\r\n\r\n getStates(countryId: number) {\r\n return this.api.get(`v2/orders/states/${countryId}`);\r\n }\r\n\r\n createTransaction(transaction: CheckoutTransaction) {\r\n return this.api.post('v2/orders/createtransaction', transaction);\r\n }\r\n\r\n verifyTransaction(transaction: CheckoutTransaction) {\r\n return this.api.post('v2/orders/verifytransaction', transaction);\r\n }\r\n\r\n finalizeTransaction(transaction: CheckoutTransaction) {\r\n return this.api.post('orders/cybersource/finalizetransaction', transaction);\r\n }\r\n\r\n}\r\n", "import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, first, of, switchMap, tap, withLatestFrom } from \"rxjs\";\r\nimport { ComponentStore } from '@ngrx/component-store';\rimport { tapResponse } from '@ngrx/operators';\n\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { CardStepType } from \"@pepconnect/features/checkout/enums/card-step-type.enum\";\r\nimport { CheckoutStepType } from \"@pepconnect/features/checkout/enums/checkout-step-type.enum\";\r\nimport { CheckoutTransaction } from \"@pepconnect/features/checkout/models/checkout-transaction.model\";\r\nimport { CheckoutStep } from \"@pepconnect/features/checkout/models/checkout-step.model\";\r\nimport { CardStep } from \"@pepconnect/features/checkout/models/card-step.model\";\r\nimport { CheckoutUser } from \"@pepconnect/features/checkout/models/checkout-user.model\";\r\nimport { OrderItem } from \"@pepconnect/models/ecomm/order-item.model\";\r\nimport { CheckoutService } from \"@pepconnect/features/checkout/services/checkout.service\";\r\nimport { CheckoutSubscription } from \"@pepconnect/features/checkout/models/checkout-subscription.model\";\r\nimport { CheckoutBillingAddress } from \"@pepconnect/features/checkout/models/checkout-billing-address.model\";\r\nimport { CardSummary } from \"@pepconnect/features/checkout/models/card-summary.model\";\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { NotificationService } from \"@pepconnect/services/notification.service\";\r\nimport { CartService } from \"@pepconnect/features/checkout/services/cart.service\";\r\nimport { AnalyticsService } from \"@pepconnect/services/analytics.service\";\r\nimport { enumToArray } from \"@pepconnect/utils/enum-helpers\";\r\n\r\n/** Checkout Component Store.\r\n * Acts as a mini-store that can be shared as a singleton between component trees\r\n * trees to avoid having to pass in a large amount of individual observables as inputs\r\n * Usage:\r\n * 1) To create a new scoped store that can be shared with a component tree - Add a providers[] array to the top-level component metadata with `[provideComponentStore(CheckoutStore)]`.\r\n * This will create the singleton.\r\n * 2) Inject private checkoutStore: CheckoutStore to the constructor (or Inject() function if you live on the wildside) in components that need to access that state.\r\n * DO NOT ADD THE PROVIDER to the component metadata for children that should inherit the warm-instance of the store - you only need to inject the store in the constructor\r\n * */\r\n\r\n/**\r\n * https://ngrx.io/guide/component-store/usage\r\n * https://www.youtube.com/watch?v=r0Rzt4lQ0T0\r\n * https://medium.com/ngconf/using-ngrx-component-store-introduction-7787ce250edc\r\n */\r\n\r\nexport interface CheckoutState {\r\n items: OrderItem[], // set when checkout is first launched, initial items in the cart when checkout was intiated\r\n redirectUrl: string, // set when checkout is first launched, reads from sessionwhere should we go when we are done checkout out\r\n checkoutUser: CheckoutUser, // set when checkout transaction is first initialized. Can be guest user\r\n transaction: CheckoutTransaction, // the transaction state changes a lot, updated from both components and api\r\n subscriptions: CheckoutSubscription[], // the transaction state changes a lot, updated from both components and api\r\n cardSummary: CardSummary,\r\n loading: boolean, // set when api is being called\r\n error: string | null, // is there an error with the transaction\r\n initializing: boolean, // set while checkout cart is being verified and transaction is being initialized\r\n initError: string | null, // set if there is an error when \"initializing\" the checkout transaction\r\n steps: CheckoutStep[], // checkout steps and their state\r\n cardSteps: CardStep[], // card checkout is 3-step wizard, this stores state on that transaction\r\n}\r\n\r\nexport const defaultCheckoutState: CheckoutState =\r\n{\r\n items: [],\r\n redirectUrl: undefined,\r\n checkoutUser: undefined,\r\n transaction: undefined,\r\n subscriptions: [],\r\n cardSummary: undefined,\r\n loading: false,\r\n error: null,\r\n initializing: false,\r\n initError: null,\r\n steps: enumToArray(CheckoutStepType).map(s => ({ step: s, selected: false })),\r\n cardSteps: enumToArray(CardStepType).map(s => ({ step: s, selected: false, started: false, completed: false }))\r\n}\r\n\r\n@Injectable()\r\nexport class CheckoutStore extends ComponentStore {\r\n constructor(\r\n private checkoutService: CheckoutService,\r\n private cartService: CartService,\r\n private translate: TranslateService,\r\n private modalService: ModalsService,\r\n private notificationService: NotificationService,\r\n private router: Router,\r\n private analyticsService: AnalyticsService\r\n ) {\r\n super(defaultCheckoutState);\r\n }\r\n\r\n // *********** Selectors *********** //\r\n readonly transaction$ = this.select(({ transaction }) => transaction);\r\n readonly selectedStep$ = this.select(({ steps }) => steps.find(step => step.selected));\r\n readonly selectedCardStep$ = this.select(({ cardSteps }) => cardSteps.find(cardStep => cardStep.selected));\r\n readonly cardSteps$ = this.select(({ cardSteps }) => cardSteps);\r\n readonly redirectUrl$ = this.select(({ redirectUrl }) => redirectUrl);\r\n readonly loading$ = this.select(({ loading }) => loading);\r\n readonly error$ = this.select(({ error }) => error);\r\n readonly initializing$ = this.select(({ initializing }) => initializing);\r\n readonly initError$ = this.select(({ initError }) => initError);\r\n readonly subscriptions$ = this.select(({ subscriptions }) => subscriptions);\r\n readonly checkoutUser$ = this.select(({ checkoutUser }) => checkoutUser);\r\n readonly cardSummary$ = this.select(({ cardSummary }) => cardSummary);\r\n readonly items$ = this.select(({ items }) => items);\r\n\r\n // *********** Updaters *********** //\r\n readonly clearCheckoutTransaction = this.updater((state): CheckoutState => {\r\n const updatedSteps = Object.assign([], state?.steps);\r\n if (updatedSteps) {\r\n updatedSteps.forEach(s => {\r\n s.selected = false;\r\n })\r\n }\r\n return {\r\n ...state,\r\n transaction: undefined,\r\n steps: updatedSteps\r\n }\r\n });\r\n\r\n\r\n readonly clearCardSteps = this.updater((state): CheckoutState => {\r\n const updatedSteps = Object.assign([], state.cardSteps);\r\n updatedSteps.forEach(s => {\r\n s.selected = (s.step === CardStepType.Address);\r\n s.started = (s.step === CardStepType.Address);\r\n s.completed = false;\r\n })\r\n return {\r\n ...state,\r\n cardSteps: updatedSteps\r\n }\r\n });\r\n\r\n\r\n readonly setItems = this.updater((state, items: OrderItem[]): CheckoutState => ({\r\n ...state,\r\n items\r\n }));\r\n\r\n readonly setRedirectUrl = this.updater((state, redirectUrl: string): CheckoutState => ({\r\n ...state,\r\n redirectUrl\r\n }));\r\n\r\n readonly setTransaction = this.updater((state, transaction: CheckoutTransaction): CheckoutState => ({\r\n ...state,\r\n transaction\r\n }));\r\n\r\n readonly setTransactionBillingAddress = this.updater((state, address: CheckoutBillingAddress): CheckoutState => ({\r\n ...state,\r\n transaction: {\r\n ...state.transaction,\r\n billingAddress: address\r\n }\r\n }));\r\n\r\n readonly setCardSummary = this.updater((state, cardSummary: CardSummary): CheckoutState => ({\r\n ...state,\r\n cardSummary\r\n }));\r\n\r\n readonly setError = this.updater((state, error: string | null): CheckoutState => ({\r\n ...state,\r\n error\r\n }));\r\n 7\r\n readonly setLoading = this.updater((state, loading: boolean): CheckoutState => ({\r\n ...state,\r\n loading\r\n }));\r\n\r\n readonly setInitError = this.updater((state, initError: string | null): CheckoutState => ({\r\n ...state,\r\n initError\r\n }));\r\n\r\n readonly setInitializing = this.updater((state, initializing: boolean): CheckoutState => ({\r\n ...state,\r\n initializing\r\n }));\r\n\r\n readonly setCheckoutUser = this.updater((state, checkoutUser: CheckoutUser): CheckoutState => ({\r\n ...state,\r\n checkoutUser\r\n }));\r\n\r\n readonly setSubscriptions = this.updater((state, subscriptions: CheckoutSubscription[]): CheckoutState => ({\r\n ...state,\r\n subscriptions\r\n }));\r\n\r\n readonly setTransactionUseExisting = this.updater((state, useExisting: boolean): CheckoutState => ({\r\n ...state,\r\n transaction: {\r\n ...state.transaction,\r\n useExisting\r\n }\r\n }));\r\n\r\n /**\r\n * Used to switch between active checkout steps\r\n * */\r\n readonly setSelectedStep = this.updater((state, selectedStep: CheckoutStepType): CheckoutState => {\r\n const updatedSteps = Object.assign([], state.steps);\r\n updatedSteps.forEach(s => {\r\n s.selected = (s.step === selectedStep);\r\n })\r\n return {\r\n ...state,\r\n steps: updatedSteps\r\n }\r\n });\r\n\r\n /**\r\n * Used to switch selected steps in the card wizard\r\n * Sets both started and selected flags\r\n *\r\n * Only 1 card step can be active at 1 time\r\n *\r\n * */\r\n readonly setCardStepSelected = this.updater((state, selectedCardStep: CardStepType) => {\r\n const updatedCardSteps = Object.assign([], state.cardSteps);\r\n updatedCardSteps\r\n .forEach(s => {\r\n s.selected = (s.step === selectedCardStep);\r\n })\r\n updatedCardSteps\r\n .filter(s => s.step === selectedCardStep)\r\n .forEach(s => {\r\n s.started = true;\r\n });\r\n\r\n return {\r\n ...state,\r\n cardSteps: updatedCardSteps\r\n }\r\n });\r\n\r\n /**\r\n * Used to mark a card step as completed\r\n * */\r\n readonly setCardStepCompleted = this.updater((state, completedCardStep: CardStepType) => {\r\n const updatedCardSteps = Object.assign([], state.cardSteps);\r\n updatedCardSteps\r\n .filter(s => s.step === completedCardStep)\r\n .forEach(s => {\r\n s.completed = true;\r\n })\r\n return {\r\n ...state,\r\n cardSteps: updatedCardSteps\r\n }\r\n });\r\n\r\n\r\n /**\r\n * Used to mark a card step as not started and not completed\r\n *\r\n * Used when user backtracks in checkout\r\n *\r\n * */\r\n readonly setCardStepNotStarted = this.updater((state, notStartedCardStep: CardStepType) => {\r\n const updatedCardSteps = Object.assign([], state.cardSteps);\r\n updatedCardSteps\r\n .filter(s => s.step === notStartedCardStep)\r\n .forEach(s => {\r\n s.started = false;\r\n s.completed = false;\r\n })\r\n return {\r\n ...state,\r\n cardSteps: updatedCardSteps\r\n }\r\n });\r\n\r\n /**\r\n * Updates the checkoutUser in the store and triggers the updateTransaction effect\r\n *\r\n * Called once when checkout is being initalized\r\n *\r\n * This is the first effect in a chain of effects that is called when checkout is initialized\r\n * updateCheckoutUser -> updateTransaction -> (updateBillingAddress auth only) -> (updateSubscription auth only)\r\n * */\r\n readonly updateCheckoutUser = this.effect((user$: Observable) => {\r\n return user$.pipe(\r\n withLatestFrom(this.items$),\r\n tap<[CheckoutUser, OrderItem[]]>(([user, items]) => {\r\n // set flag to indicate that checkout is being initialized\r\n // used by CheckoutShell to display loading spinner\r\n this.setInitializing(true);\r\n\r\n // clear any initializatione errors\r\n // used by CheckoutShell to display error message\r\n this.setInitError(null);\r\n\r\n this.setCheckoutUser(user); // save the checkout user\r\n\r\n // hacky set the user id on the first item before sending it to api\r\n // note: we aren't saving this in the store, only used to initalize checkout\r\n items[0].userId = user.userId;\r\n\r\n // trigger transaction effect\r\n this.updateTransaction(items);\r\n })\r\n )\r\n });\r\n\r\n /**\r\n * initializes transaction with the api and updates it the store\r\n *\r\n * Called once when checkout is being initalized\r\n *\r\n * This is the second effect in a chain of effects that is called when checkout is initialized\r\n *\r\n * This is the second effect in a chain of effects that is called when checkout is initialized\r\n * updateCheckoutUser -> updateTransaction -> (updateBillingAddress auth only) -> (updateSubscription auth only)\r\n *\r\n * */\r\n readonly updateTransaction = this.effect((cartItems$: Observable) => {\r\n return cartItems$.pipe(\r\n withLatestFrom(this.checkoutUser$, this.translate.get('LABEL_POINTS')),\r\n switchMap(([cartItems, checkoutUser, t]) => {\r\n // call API to initialize transaction\r\n // note: this API takes a single item. In future we may want the full array\r\n return this.checkoutService.initializeCheckout(cartItems[0]).pipe(\r\n tapResponse(\r\n (tx) => {\r\n // we have a successful transaction, do some tweaking, then save it in store\r\n tx.items[0].title = tx.items[0].title.replace('@@LABEL_POINTS@@', t);\r\n\r\n // set a default billing address.\r\n // This may get overwritten for auth user with saved billing address, if country matches\r\n // for unauth user, this is all we get\r\n tx.billingAddress = {\r\n country: checkoutUser.country.code,\r\n firstName: checkoutUser.firstName,\r\n lastName: checkoutUser.lastName\r\n }\r\n\r\n // save transaction in store for later\r\n this.setTransaction(tx);\r\n\r\n // if not guest user, call effect to update billing address\r\n // the billing address update will call the effect to get the subscriptions\r\n if (!checkoutUser.isGuest) {\r\n this.updateBillingAddress(checkoutUser);\r\n }\r\n else {\r\n this.setInitTransactionRedirect(tx);\r\n }\r\n },\r\n (err: any) => {\r\n this.onInitError(err);\r\n }))\r\n }))\r\n });\r\n\r\n /**\r\n * call API to get billing address for authenticated users\r\n *\r\n * Called once when checkout is being initalized for auth users only\r\n *\r\n * This is the option third effect in a chain of effects that is called when checkout is initialized\r\n * updateCheckoutUser -> updateTransaction -> (updateBillingAddress auth only) -> (updateSubscription auth only)\r\n *\r\n * */\r\n readonly updateBillingAddress = this.effect((checkoutUser$: Observable) => {\r\n return checkoutUser$.pipe(\r\n switchMap((checkoutUser) => {\r\n // call API to get active saved billing address\r\n return this.checkoutService.getSavedBillingAddress(checkoutUser.country.id).pipe(\r\n tapResponse(\r\n (address) => {\r\n // if country matches, save address in transaction for later\r\n if (address && address.country === checkoutUser.country?.code)\r\n this.setTransactionBillingAddress(address);\r\n\r\n // call effect to get saved cards\r\n this.updateSubscriptions(checkoutUser);\r\n },\r\n (err: any) => {\r\n this.onInitError(err);\r\n }));\r\n }))\r\n });\r\n\r\n /**\r\n * call API to get saved subscriptions/cards for checkout user\r\n *\r\n * Called once when checkout is being initalized for auth users only\r\n *\r\n * This is the option fourth and final effect in a chain of effects that is called when checkout is initialized\r\n * updateCheckoutUser -> updateTransaction -> (updateBillingAddress auth only) -> (updateSubscription auth only)\r\n *\r\n * */\r\n readonly updateSubscriptions = this.effect((checkoutUser$: Observable) => {\r\n return checkoutUser$.pipe(\r\n withLatestFrom(this.transaction$),\r\n switchMap(([checkoutUser, tx]) => {\r\n // call API to get active saved cards\r\n return this.checkoutService.getSubscriptions(checkoutUser.country.id).pipe(\r\n tapResponse(\r\n (subscriptions) => {\r\n if (tx.canUseCard && subscriptions?.length) { // does this user have any saved cards?\r\n tx.useExisting = true;\r\n tx.subscription = subscriptions[0];\r\n }\r\n else { // card checkout not enabled or no saved subscriptions\r\n tx.useExisting = false;\r\n }\r\n\r\n // save subscriptions & updated transaction in store\r\n this.setSubscriptions(subscriptions);\r\n this.setTransaction(tx);\r\n this.setInitTransactionRedirect(tx);\r\n },\r\n (err: any) => {\r\n this.onInitError(err);\r\n }));\r\n }))\r\n });\r\n\r\n /**\r\n * called when a billing address is entered in step one of credit card checkout\r\n *\r\n * new billing address is sent in as observable\r\n *\r\n * transaction.billingAddress is updated to address, then sent into api\r\n * results from api are loaded back into transaction\r\n *\r\n * if successful, got to card checkout step 2 page\r\n *\r\n * */\r\n readonly createTransaction = this.effect((billingAddress$: Observable) => {\r\n return billingAddress$.pipe(\r\n withLatestFrom(this.transaction$),\r\n switchMap(([billingAddress, transaction]) => {\r\n this.setLoading(true);\r\n this.setError(null);\r\n\r\n transaction = {\r\n ...transaction,\r\n billingAddress: billingAddress\r\n };\r\n\r\n // save the billing address with the transaction so we don't lose it if api throws error\r\n this.setTransactionBillingAddress(billingAddress);\r\n\r\n return this.checkoutService.createTransaction(transaction).pipe(\r\n tapResponse(\r\n (tx) => {\r\n // save transaction in store for later\r\n this.setTransaction(tx);\r\n\r\n // mark address step complete\r\n this.setCardStepCompleted(CardStepType.Address);\r\n\r\n // mark future steps not started (in case they clicked back in wizard)\r\n this.setCardStepNotStarted(CardStepType.Payment);\r\n this.setCardStepNotStarted(CardStepType.Confirm);\r\n\r\n // go to card checkout step 2 page\r\n this.setCardStepSelected(CardStepType.Payment);\r\n\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.setLoading(false);\r\n this.onApiError(err);\r\n }))\r\n }))\r\n });\r\n\r\n\r\n /**\r\n * called when a saved card is selected, or when a new card is entered\r\n *\r\n * saved card is sent in via CheckoutTransaction as observable\r\n *\r\n * transaction.subscription is updated to selected card, and sent into api\r\n * results from api are loaded back into transaction\r\n *\r\n * if successful, got to summary/verification page\r\n *\r\n * */\r\n readonly verifyTransaction = this.effect((transaction$: Observable) => {\r\n return transaction$.pipe(\r\n withLatestFrom(this.selectedStep$),\r\n switchMap(([transaction, currentStep]) => {\r\n // call API to verify transaction that has been previously initialized\r\n this.setLoading(true);\r\n this.setError(null);\r\n\r\n return this.checkoutService.verifyTransaction(transaction).pipe(\r\n tapResponse(\r\n (tx) => {\r\n // save transaction in store for later\r\n this.setTransaction(tx);\r\n\r\n // for external sipayce cancel, we won't have any paymentInfo\r\n if (!tx.useExisting && !tx.paymentInfo) {\r\n this.setCardStepNotStarted(CardStepType.Payment);\r\n this.setCardStepNotStarted(CardStepType.Confirm);\r\n this.setCardStepSelected(CardStepType.Address);\r\n this.setLoading(false);\r\n return;\r\n }\r\n\r\n // set the chosen card details for use in later steps\r\n if (tx.useExisting) {\r\n this.setCardSummary(\r\n {\r\n cardType: tx.subscription?.cardType?.name,\r\n cardNumber: tx.subscription?.finalDigits,\r\n expirationMonth: tx.subscription?.expirationMonth,\r\n expirationYear: tx.subscription?.expirationYear\r\n });\r\n }\r\n else {\r\n this.setCardSummary(\r\n {\r\n cardType: tx.paymentInfo?.cardType?.name,\r\n cardNumber: tx.paymentInfo?.accountNumber?.substring(tx.paymentInfo?.accountNumber?.length - 4),\r\n expirationMonth: tx.paymentInfo?.expirationMonth,\r\n expirationYear: tx.paymentInfo?.expirationYear\r\n });\r\n }\r\n\r\n // go to next step\r\n if (currentStep.step === CheckoutStepType.Card) {\r\n // card wizard\r\n this.setCardStepCompleted(CardStepType.Payment);\r\n this.setCardStepNotStarted(CardStepType.Confirm);\r\n this.setCardStepSelected(CardStepType.Confirm);\r\n }\r\n else {\r\n // saved card confirm\r\n this.setSelectedStep(CheckoutStepType.Confirm);\r\n }\r\n\r\n this.setLoading(false);\r\n },\r\n (err: any) => {\r\n this.setLoading(false);\r\n this.onApiError(err);\r\n }))\r\n }))\r\n });\r\n\r\n /**\r\n * called to finalize transaction\r\n *\r\n * if successful, display success message and redirect back to redirect url\r\n * if not successful, display error message, stay in checkout\r\n *\r\n * */\r\n readonly finalizeTransaction = this.effect((transaction$: Observable) => {\r\n return transaction$.pipe(\r\n switchMap((transaction) => {\r\n this.setError(null);\r\n\r\n // call API to finalize transaction\r\n this.modalService.definitions.openCheckoutProcessingModal();\r\n return this.checkoutService.finalizeTransaction(transaction).pipe(\r\n tapResponse(\r\n (tx) => {\r\n this.setTransaction(tx);\r\n this.trackPlacedOrder(tx);\r\n this.modalService.closeAllModals();\r\n this.setSelectedStep(CheckoutStepType.OrderConfirmation);\r\n },\r\n (err: any) => {\r\n this.modalService.closeAllModals();\r\n this.onApiError(err);\r\n }))\r\n }))\r\n });\r\n\r\n private trackPlacedOrder(transaction: CheckoutTransaction) {\r\n this.analyticsService.trackPurchaseData({\r\n action: 'cart.order',\r\n data: {\r\n order: {\r\n type: transaction.paymentInfo?.accountNumber ? 'credit card' : 'points',\r\n status: 'placed'\r\n },\r\n products: {\r\n id: transaction.items[0]?.productCode ?? transaction.items[0]?.sku ?? '',\r\n name: transaction.items[0]?.title,\r\n // if the item is Points Only, we need to send 1 as the quantity for correct calculation (i.e. if 100 points - 100 X 1 = 100)\r\n quantity: transaction.items[0]?.itemType == 10 ? 1 : transaction.items[0]?.quantity,\r\n price: transaction.paymentInfo?.accountNumber ? transaction.items[0]?.totalPrice : 0,\r\n currency: transaction.paymentInfo?.accountNumber ? transaction.currencyCode : ''\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * Translates the successMessage, generates success notification\r\n * and redirects to page checkout was launched from\r\n *\r\n * assumes componentStore/redirectUrl has been set during checkout initialization\r\n *\r\n * In case of errors, continue redirect since transaction was already successful\r\n *\r\n * */\r\n readonly closeCheckoutSuccess = this.effect((redirect$: Observable) => {\r\n return redirect$.pipe(\r\n withLatestFrom(this.redirectUrl$),\r\n switchMap(([redirect, redirectUrl]) => {\r\n // call API to get transalation\r\n\r\n this.cartService.clear();\r\n // note: clearCheckoutTransaction will reset the redirectUrl.\r\n // but we're already in tapResponse we still have what we need here\r\n this.clearCheckoutTransaction();\r\n if (redirect) {\r\n this.translate.get('PURCHASE_SUCCESSFUL').pipe(first()).subscribe(t => {\r\n this.notificationService.successMessage(t);\r\n this.router.navigateByUrl(redirectUrl);\r\n });\r\n }\r\n return of(null);\r\n }));\r\n });\r\n\r\n\r\n private onApiError(err: any) {\r\n this.setLoading(false);\r\n this.setError(err?.Message ?? err ?? 'error');\r\n }\r\n\r\n private onInitError(err: any) {\r\n this.setInitializing(false);\r\n this.setInitError(err?.Message ?? err ?? 'error');\r\n }\r\n\r\n\r\n /**\r\n * Update to the next step based on prices in the transaction\r\n *\r\n * Assumes transaction.canUsePoints and transaction.canUseCard and transaction.items[0].prices have been set\r\n *\r\n * Used once checkout is initialized\r\n *\r\n * */\r\n private setInitTransactionRedirect(tx: CheckoutTransaction) {\r\n this.setInitializing(false);\r\n\r\n // if prices have facility options, display payment options or send down facility path if no other options exist\r\n if (tx.items[0]?.prices.some(p => p.type.useFacilityCheckout)) {\r\n if (tx.canUsePoints || tx.canUseCard) { // both facility & currency/vwp\r\n this.setSelectedStep(CheckoutStepType.SelectPaymentType);\r\n }\r\n else {\r\n this.setSelectedStep(CheckoutStepType.FacilitySelect); // only facility\r\n }\r\n }\r\n else {\r\n this.setNextPaymentStep(tx);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * Update to the next step based on non-facility prices in the transaction\r\n *\r\n * Assumes transaction exists and canUsePoints and useExisting have been set\r\n *\r\n * */\r\n public setNextPaymentStep(tx: CheckoutTransaction) {\r\n\r\n // if no CC allowed and no points allowed, take them to message step\r\n if ((!tx.canUseCard || !tx.items[0]?.country?.eCommerceEnabled) // no cc\r\n && !tx.canUsePoints) { // no points available\r\n this.setSelectedStep(CheckoutStepType.Message);\r\n return;\r\n }\r\n\r\n if (tx.canUsePoints) {\r\n this.setSelectedStep(CheckoutStepType.Points);\r\n }\r\n else { // card payment\r\n if (tx.useExisting) {\r\n this.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n else {\r\n this.setSelectedStep(CheckoutStepType.Card);\r\n }\r\n }\r\n }\r\n}\r\n", "import { Component } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { BaseSmartComponent } from \"@pepconnect/shared/base/base-smart-component/base-smart.component\";\r\nimport { AppState } from \"@pepconnect/state/index\";\r\nimport { TeamHelpersService } from \"@pepconnect/features/teams/services/team-helpers.service\";\r\nimport { setCancelCheckout } from \"@pepconnect/state/events/events.actions\";\r\nimport { CheckoutStore } from \"@pepconnect/features/checkout/checkout.store\";\r\nimport { CheckoutStepType } from \"@pepconnect/features/checkout/enums/checkout-step-type.enum\";\r\nimport { CardStep } from \"@pepconnect/features/checkout/models/card-step.model\";\r\nimport { CardStepType } from \"@pepconnect/features/checkout/enums/card-step-type.enum\";\r\nimport { CheckoutTransaction } from \"@pepconnect/features/checkout/models/checkout-transaction.model\";\r\n\r\n@Component({ template: '' })\r\nexport class BaseCheckoutComponent extends BaseSmartComponent {\r\n readonly error$ = this.checkoutStore.error$;\r\n readonly loading$ = this.checkoutStore.loading$;\r\n\r\n teamHelpers = new TeamHelpersService();\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n ) {\r\n super(store);\r\n }\r\n\r\n get TeamHelpers() { return this.teamHelpers; }\r\n\r\n onCancel() {\r\n this.store.dispatch(setCancelCheckout({ cancelCheckout: true, redirectHome: false }));\r\n }\r\n\r\n goToCard() {\r\n this.checkoutStore.setTransactionUseExisting(false);\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.Card);\r\n }\r\n\r\n /**\r\n *\r\n * Utility functions for telling if step is completed\r\n *\r\n * */\r\n isStepStarted(steps: CardStep[], step: CardStepType): boolean {\r\n return steps.some(s => s.step === step && s.started);\r\n }\r\n\r\n isStepCompleted(steps: CardStep[], step: CardStepType): boolean {\r\n return steps.some(s => s.step === step && s.completed);\r\n }\r\n\r\n isStepSelected(steps: CardStep[], step: CardStepType): boolean {\r\n return steps.some(s => s.step === step && s.selected);\r\n }\r\n\r\n /**\r\n * Utility function to display billing address name vs saved card name\r\n * */\r\n getCheckoutDisplayName(tx: CheckoutTransaction) {\r\n if (tx.useExisting) {\r\n return `${tx.subscription?.firstName} ${tx.subscription?.lastName}`;\r\n }\r\n else {\r\n return `${tx.billingAddress?.firstName} ${tx.billingAddress?.lastName}`;\r\n }\r\n }\r\n\r\n /**\r\n * Utility function to display billing address formatted\r\n *\r\n * Note: this is US format. In future should make this more international\r\n * */\r\n getCheckoutDisplayAddress(tx: CheckoutTransaction) {\r\n const billingAddress2 = tx.billingAddress?.address2 ? `, ${tx.billingAddress?.address2}` : ''\r\n return `${tx.billingAddress?.address1}${billingAddress2}
${tx.billingAddress?.city}, ${tx.billingAddress?.state?.abbreviation} ${tx.billingAddress?.zip}`;\r\n }\r\n\r\n}\r\n", "import { Team } from \"@pepconnect/features/teams/models/team.model\";\r\nimport { EventOffering } from \"@pepconnect/models/events/event-offering.model\";\r\nimport { Link } from \"@pepconnect/models/general/link.model\";\r\nimport { Country } from \"@pepconnect/models/intl/country.model\";\r\nimport { Price } from \"@pepconnect/models/ecomm/price.model\";\r\n\r\nexport interface CheckoutOrderItem {\r\n itemType: OrderItemType;\r\n title: string;\r\n details: string[];\r\n credits: number;\r\n price: number;\r\n originalPrice: number;\r\n tax: number;\r\n courseID: number;\r\n completionDate: string;\r\n startDate: string;\r\n completionID: number;\r\n objectID: number;\r\n objectGuid: string;\r\n planRequest: {};\r\n certificate: Link;\r\n teamMemberID: string;\r\n team: Team;\r\n points: number;\r\n originalPoints: number;\r\n subscriptionLength: string;\r\n cyberSourceItemID: number;\r\n subscriptionID: string;\r\n pEPconnectionsSubscriptionID: string;\r\n userID: number;\r\n formattedPrice: string;\r\n formattedOriginalPrice: string;\r\n formattedTax: string;\r\n country: Country;\r\n links: Link[];\r\n formatString: string;\r\n formattedPoints: string;\r\n formattedTotal: string;\r\n formattedSubTotal: string;\r\n pointsTransactionId: string;\r\n pointUsed: number;\r\n paymentMethod: {};\r\n friendlyItemType: string;\r\n sku: string;\r\n isPersonal: boolean;\r\n quantity: number;\r\n showQuantity: boolean;\r\n showDisclaimer: boolean;\r\n disclaimerText: string;\r\n refundEnabled: boolean;\r\n offering: EventOffering;\r\n prices: Price[];\r\n isExternal: boolean;\r\n productCode: string;\r\n totalPoints: number;\r\n totalPrice: number;\r\n imagePath: string;\r\n location: string;\r\n endDate: string;\r\n activityCount: number;\r\n}\r\n\r\nexport enum OrderItemType {\r\n GeneralItem = 0,\r\n CourseCertificate = 1,\r\n CourseSetCertificate = 2,\r\n EventOfferingCertificate = 5,\r\n Points = 10,\r\n OnsiteEventRequest = 13,\r\n Subscription = 14,\r\n EventOfferingRegistration = 15,\r\n Course = 16,\r\n MediaObject = 17,\r\n IndividualSubscription = 18\r\n}", "import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { takeUntil } from 'rxjs';\r\nimport { CheckoutOrderItem, OrderItemType } from '@pepconnect/features/checkout/models/checkout-order-item.model';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-item-details',\r\n templateUrl: './item-details.component.html',\r\n styleUrls: ['./item-details.component.scss']\r\n})\r\nexport class ItemDetailsComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly step$ = this.checkoutStore.selectedStep$;\r\n orderItemType = OrderItemType;\r\n locale: string;\r\n showSimpleView = false;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private translate: TranslateService) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.step$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(step => {\r\n this.showSimpleView = step.step === CheckoutStepType.OrderConfirmation;\r\n });\r\n this.$user.pipe(takeUntil(this.ngUnsubscribe)).subscribe(user => {\r\n this.locale = user.locale.locale;\r\n });\r\n }\r\n getImage(item: CheckoutOrderItem) {\r\n return {\r\n teamName: item.title,\r\n avatar: item.imagePath ? item.imagePath : ''\r\n }\r\n }\r\n\r\n getItemPriceLabel(transaction: CheckoutTransaction, item: CheckoutOrderItem) {\r\n\r\n let formattedPrice = transaction.paymentInfo.cardType ? item.formattedPrice : this.formatPointsText(item.points);\r\n\r\n if (item.itemType === OrderItemType.Subscription && item.showQuantity) {\r\n return `${formattedPrice}/${this.translate.instant('LABEL_TEAM_MEMBER')}`;\r\n }\r\n if (item.itemType === OrderItemType.Points) {\r\n return `${formattedPrice}/${this.translate.instant('LABEL_POINT')}`;\r\n }\r\n return formattedPrice\r\n }\r\n\r\n formatPointsText(points: number) {\r\n const pointsLabel = points === 1 ? 'LABEL_POINT' : 'LABEL_POINTS';\r\n return `${points} ${this.translate.instant(pointsLabel)}`;\r\n }\r\n \r\n getOfferingDateRange(item: CheckoutOrderItem) {\r\n if(item.itemType === OrderItemType.EventOfferingRegistration && item.startDate && item.endDate) {\r\n const startDate = new Date(item.startDate);\r\n const endDate = new Date(item.endDate);\r\n return `${startDate.toLocaleDateString(this.locale, {month: 'long'})} ${startDate.toLocaleDateString(this.locale, {day: 'numeric'})} - ${endDate.toLocaleDateString(this.locale, {day: 'numeric'})}, ${endDate.toLocaleDateString(this.locale, {year: 'numeric'})}`;\r\n }\r\n return '';\r\n }\r\n}\r\n\r\n", "\r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{transaction.items[0].team.name}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n {{'LABEL_VIEW_DISCLAIMER' | translate }}\r\n \r\n
\r\n\r\n
\r\n {{ 'LABEL_SUBSCRIPTION_ACCESSES' | translate }}: {{ transaction.items[0].quantity }}\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n

{{ 'LABEL_SUBSCRIPTION_ACCESSES' | translate }}: {{ item.quantity }}

\r\n

{{'LABEL_POINTS_PURCHASED' | translate }}: {{ item.quantity}}

\r\n

{{ item.title }}: {{ item.credits }} {{ 'CEU' | translate }}

\r\n

{{ getOfferingDateRange(item) }}

\r\n

0\" class=\"font-weight-bold margin-bottom-0\">{{'TEXT_ACTIVITIES' | translate }}: {{ item.activityCount }}

\r\n
\r\n
\r\n
{{ getItemPriceLabel(transaction, item) }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\n\r\n@Component({\r\n selector: 'app-order-total',\r\n templateUrl: './order-total.component.html',\r\n styleUrls: ['./order-total.component.scss']\r\n})\r\nexport class OrderTotalComponent extends BaseCheckoutComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n}\r\n", "\r\n \r\n
{{'PROFILE_ORDER_DETAILS_SUBTOTAL' | translate }}: {{ transaction.formattedItemTotal }}
\r\n
{{'LABEL_TAX' | translate }}: {{ transaction.formattedTax }}*
\r\n
{{'LABEL_TOTAL' | translate }}: {{ transaction.formattedTotal }}
\r\n
{{'LABEL_TOTAL' | translate }}: {{ transaction.formattedItemTotal }}
\r\n
*{{'CHECKOUT_TAX_MESSAGE' | translate }}
\r\n
{{'TEXT_CHECKOUT_PRICES_VARY' | translate }}
\r\n
{{'TEXT_PURCHASE_WARNING' | translate }}
\r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { CardStepType } from '@pepconnect/features/checkout/enums/card-step-type.enum';\r\n\r\n@Component({\r\n selector: 'app-order-summary',\r\n templateUrl: './order-summary.component.html'\r\n})\r\nexport class OrderSummaryComponent extends BaseCheckoutComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly selectedStep$ = this.checkoutStore.selectedStep$;\r\n readonly selectedCardStep$ = this.checkoutStore.selectedCardStep$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n get CheckoutStepType() { return CheckoutStepType; } // so template can access\r\n get CardStepType() { return CardStepType; } // so template can access\r\n\r\n}\r\n\r\n", "\r\n \r\n
\r\n \r\n
\r\n
0\">\r\n {{ transaction.pointsApplied }} {{ 'LABEL_ORDER_POINTS_APPLIED' | translate }}\r\n
\r\n
\r\n
\r\n", "import { FormControl, FormGroup } from '@angular/forms';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { forkJoin, take, takeUntil } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\nimport { CheckoutSubscription } from '@pepconnect/features/checkout/models/checkout-subscription.model';\r\nimport { UimcSingleSelectItems } from '@pepconnect/shared/presentation/forms/form-models/single-select-item.model';\r\n\r\ntype SavedCardsForm = Required<{\r\n savedCard: FormControl;\r\n}>\r\n\r\n@Component({\r\n selector: 'app-saved-cards',\r\n templateUrl: './saved-cards.component.html'\r\n})\r\n\r\n\r\nexport class SavedCardsComponent extends BaseCheckoutComponent implements OnInit {\r\n savedCardsForm: FormGroup;\r\n readonly authState$ = this.store.select(selectAuthState);\r\n readonly subscriptions$ = this.checkoutStore.subscriptions$;\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly MAX_CREDIT_CARD_NAME_DISPLAY = 10;\r\n subs: CheckoutSubscription[];\r\n options: UimcSingleSelectItems;\r\n selectedOption: void;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore\r\n ) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.authState$.pipe(takeUntil(this.ngUnsubscribe)).subscribe((authState) => {\r\n this.authState = authState;\r\n this.setupForm();\r\n });\r\n }\r\n\r\n get f() {\r\n return this.savedCardsForm.controls;\r\n }\r\n\r\n setupForm() {\r\n forkJoin([this.subscriptions$.pipe(take(1)), this.transaction$.pipe(take(1))])\r\n .subscribe(([subs, tx]) => {\r\n if (!subs?.length) {\r\n // if no subscriptions, go to card page\r\n this.goToCard();\r\n }\r\n else {\r\n // get what we need for dropdown\r\n this.subs = subs;\r\n\r\n // make sure the default transaction sub is in the list, otherwise use the first one\r\n const defaultSubId =\r\n (this.subs.find(s => s.id === tx.subscription?.id)) ? tx.subscription.id : subs[0].id;\r\n\r\n this.options = this.subs.map((sub) => ({\r\n value: sub.id,\r\n name: `${this.getSmallName(sub.firstName, sub.lastName)} - ${sub.cardType?.name} xxxx-${sub.finalDigits} - Exp. ${sub.expirationMonth}/${sub.expirationYear}`,\r\n isSelected: (sub.id === defaultSubId)\r\n })); // select the first one \r\n\r\n this.savedCardsForm = new FormGroup({\r\n savedCard: new FormControl()\r\n });\r\n\r\n this.selectedOption = this.savedCardsForm.controls.savedCard.setValue(this.options.find(o => o.isSelected)?.value);\r\n }\r\n })\r\n }\r\n\r\n onSelectedItem($event) {\r\n this.savedCardsForm.controls.savedCard.setValue(this.options.find(o => o.value === $event)?.value);\r\n }\r\n\r\n onSubmit() {\r\n // go get the transaction, select the appropriate sub, then verify transaction\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n tx.subscription = this.subs.find(s => s.id === this.f.savedCard.value);\r\n\r\n this.checkoutStore.setTransactionUseExisting(true);\r\n\r\n // this also redirects to next page, sets loading and errors\r\n this.checkoutStore.verifyTransaction(tx);\r\n })\r\n }\r\n\r\n private getSmallName(first: string, last: string) {\r\n const fullName = `${last}, ${first}`;\r\n return fullName.length > this.MAX_CREDIT_CARD_NAME_DISPLAY ?\r\n `${fullName.slice(0, this.MAX_CREDIT_CARD_NAME_DISPLAY)}...` :\r\n fullName;\r\n }\r\n}\r\n", "\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ 'TEXT_CHOOSE_PAYMENT' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n -{{'LABEL_OR' | translate}}-\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\n\r\n@Component({\r\n selector: 'app-item-cost',\r\n templateUrl: './item-cost.component.html'\r\n})\r\nexport class ItemCostComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void { /* component not yet implemented */ }\r\n\r\n}\r\n\r\n", "\r\n \r\n
\r\n \r\n {{'LABEL_COST' | translate }}:\r\n \r\n  \r\n \r\n \r\n {{'LABEL_POINT' | translate}}\r\n \r\n \r\n {{'LABEL_POINTS' | translate}}\r\n \r\n \r\n \r\n {{ 'LABEL_OR' | translate }} \r\n {{ transaction.formattedItemTotal }}\r\n \r\n
\r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\n\r\n@Component({\r\n selector: 'app-select-payment-type',\r\n templateUrl: './select-payment-type.component.html'\r\n})\r\nexport class SelectPaymentTypeComponent extends BaseCheckoutComponent {\r\n readonly FACILITY = 'facility';\r\n readonly CARD = 'card';\r\n paymentOption: string = this.CARD;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore\r\n ) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n onContinue() {\r\n if (this.paymentOption === this.CARD) {\r\n this.checkoutStore.transaction$.pipe(take(1)).subscribe({\r\n next: (tx) => this.checkoutStore.setNextPaymentStep(tx)\r\n });\r\n }\r\n if (this.paymentOption === this.FACILITY)\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.FacilitySelect);\r\n }\r\n}\r\n", "\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ 'TEXT_CHOOSE_PAYMENT' | translate}}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { constants } from \"@pepconnect/constants\";\r\nimport { Country, defaultUserCountryFactory } from \"@pepconnect/models/intl/country.model\";\r\n\r\nexport interface FacilityAccountAddress {\r\n facilityAccountAddressId: string | null;\r\n facilityAccountId: string;\r\n label: string;\r\n usage: string;\r\n street1: string;\r\n street2: string;\r\n street3: string;\r\n city: string;\r\n town: string;\r\n region: string;\r\n postcode: string;\r\n countryId: number;\r\n countryName: string;\r\n countryCode: string;\r\n countryCode2: string;\r\n country: Country;\r\n}\r\n\r\nexport function defaultFacilityAccountAddressFactory(): FacilityAccountAddress {\r\n return {\r\n facilityAccountAddressId: null,\r\n facilityAccountId: '',\r\n label: '',\r\n usage: '',\r\n street1: '',\r\n street2: '',\r\n street3: '',\r\n city: '',\r\n town: '',\r\n region: '',\r\n postcode: '',\r\n countryId: 0,\r\n countryName: '',\r\n countryCode: '',\r\n countryCode2: '',\r\n country: !!localStorage.getItem(constants.LS_SITE_COUNTRY)\r\n ? JSON.parse(localStorage.getItem(constants.LS_SITE_COUNTRY))\r\n : defaultUserCountryFactory()\r\n } as FacilityAccountAddress;\r\n}\r\n", "export interface FacilityAccountPhoneNumber {\r\n facilityAccountPhoneNumberId: string | null;\r\n facilityAccountId: string;\r\n usage: string;\r\n number: string;\r\n}\r\n\r\nexport function defaultFacilityAccountPhoneNumberFactory(): FacilityAccountPhoneNumber {\r\n return {\r\n facilityAccountPhoneNumberId: null,\r\n facilityAccountId: '',\r\n usage: '',\r\n number: '',\r\n } as FacilityAccountPhoneNumber;\r\n}\r\n", "export interface FacilityAccountSystemIdentifier {\r\n facilityAccountSystemIdentifierId: string | null;\r\n facilityAccountId: string;\r\n systemIdentifier: string;\r\n}\r\n\r\nexport function defaultFacilityAccountSystemIdentifierFactory(): FacilityAccountSystemIdentifier {\r\n return {\r\n facilityAccountSystemIdentifierId: null,\r\n facilityAccountId: '',\r\n systemIdentifier: ''\r\n } as FacilityAccountSystemIdentifier;\r\n}\r\n", "import { FacilityAccountAddress } from \"@pepconnect/models/facility-account/facility-account-address.model\";\r\nimport { FacilityAccountPhoneNumber } from \"@pepconnect/models/facility-account/facility-account-phone-number.model\";\r\nimport { FacilityAccountSystemIdentifier } from \"@pepconnect/models/facility-account/facility-account-system-identifier.model\";\r\n\r\nexport interface FacilityAccount {\r\n facilityAccountId: string | null;\r\n admAccountId: string;\r\n name: string;\r\n accountId: string;\r\n accountLine2: string;\r\n accountLine3: string;\r\n createdById: number;\r\n createdByName: string;\r\n createdDate: string;\r\n modifiedById: number;\r\n modifiedByName: string;\r\n modifiedDate: string;\r\n addresses: FacilityAccountAddress[];\r\n systemIdentifiers: FacilityAccountSystemIdentifier[];\r\n phoneNumbers: FacilityAccountPhoneNumber[];\r\n active: boolean;\r\n}\r\n\r\nexport function defaultFacilityAccountFactory(): FacilityAccount {\r\n return {\r\n facilityAccountId: null,\r\n admAccountId: '',\r\n name: '',\r\n accountId: '',\r\n accountLine2: '',\r\n accountLine3: '',\r\n createdById: 0,\r\n createdByName: '',\r\n createdDate: '',\r\n modifiedById: 0,\r\n modifiedByName: '',\r\n modifiedDate: '',\r\n addresses: [],\r\n systemIdentifiers: [],\r\n phoneNumbers: [],\r\n active: false,\r\n } as FacilityAccount;\r\n}\r\n", "import { take, takeUntil } from 'rxjs';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { PriceTypeName } from '@pepconnect/enums/price-types.enum';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CheckoutState } from '@pepconnect/features/checkout/models/checkout-state.model';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { CheckoutService } from '@pepconnect/features/checkout/services/checkout.service';\r\nimport { defaultFacilityAccountAddressFactory, FacilityAccountAddress } from '@pepconnect/models/facility-account/facility-account-address.model';\r\nimport { defaultFacilityAccountPhoneNumberFactory, FacilityAccountPhoneNumber } from '@pepconnect/models/facility-account/facility-account-phone-number.model';\r\nimport { defaultFacilityAccountSystemIdentifierFactory, FacilityAccountSystemIdentifier } from '@pepconnect/models/facility-account/facility-account-system-identifier.model';\r\nimport { User } from '@pepconnect/models/user/user.model';\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { selectUser } from '@pepconnect/state/auth/auth.selector';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { defaultFacilityAccountFactory } from '@pepconnect/models/facility-account/facility-account.model';\r\n\r\n\r\ntype FacilityRegistrationForm = Required<{\r\n facilityName: FormControl,\r\n accountId: FormControl,\r\n facilityAddress: FormControl,\r\n facilityCity: FormControl,\r\n facilityCityProvince: FormControl,\r\n facilityZip: FormControl,\r\n facilityPhone: FormControl,\r\n facilityFuncLocationNumber: FormControl,\r\n}>\r\n\r\n@Component({\r\n selector: 'app-facility',\r\n templateUrl: './facility.component.html'\r\n})\r\nexport class FacilityComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly $user = this.store.select((selectUser));\r\n facilityRegistrationForm: FormGroup;\r\n user: User;\r\n states: CheckoutState[];\r\n transaction: CheckoutTransaction;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private checkoutService: CheckoutService,\r\n private modalService: ModalsService,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.$user.pipe(takeUntil(this.ngUnsubscribe)).subscribe(user => {\r\n this.user = user;\r\n this.checkoutService.getStates(this.user.country.id).pipe(take(1)).subscribe(states => {\r\n this.states = states;\r\n });\r\n });\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.facilityRegistrationForm?.controls;\r\n }\r\n\r\n initializeFacility(accountId = null) {\r\n this.transaction.facility = defaultFacilityAccountFactory();\r\n this.facilityRegistrationForm.reset();\r\n this.populateFormFields(this.transaction, this.transaction.facility.facilityAccountId ? true : false);\r\n }\r\n\r\n get requireTCVNum() {\r\n return this.transaction.selectedPaymentType === PriceTypeName.TCVoucher\r\n }\r\n\r\n setupForm() {\r\n this.transaction$.pipe(take(1)).subscribe(tx => {\r\n this.transaction = tx;\r\n\r\n // If the facility was selected, there is no need to do validations since the data is pulled from existing facility account\r\n const facilitySelected = tx.facility.facilityAccountId ? true : false;\r\n\r\n this.populateFormFields(tx, facilitySelected);\r\n });\r\n }\r\n\r\n private populateFormFields(tx: CheckoutTransaction, facilitySelected: boolean) {\r\n let accountIdValidators = [];\r\n if (!this.requireTCVNum && !facilitySelected) {\r\n accountIdValidators = [Validators.required];\r\n }\r\n this.facilityRegistrationForm = this.fb.nonNullable.group({\r\n facilityName: this.fb.control(tx.facility?.name ?? '', facilitySelected ? [] : [Validators.required]),\r\n accountId: this.fb.control(tx.facility?.accountId ?? '', accountIdValidators),\r\n facilityAddress: this.fb.control(tx.facility?.addresses[0]?.street1 ?? '', facilitySelected ? [] : [Validators.required]),\r\n facilityCity: this.fb.control(tx.facility?.addresses[0]?.city ?? '', facilitySelected ? [] : [Validators.required]),\r\n facilityCityProvince: this.fb.control(tx.facility?.addresses[0]?.region ?? '', facilitySelected ? [] : [Validators.required]),\r\n facilityZip: this.fb.control(tx.facility?.addresses[0]?.postcode ?? '', facilitySelected ? [] : [Validators.required]),\r\n facilityPhone: this.fb.control(tx.facility?.phoneNumbers[0]?.number ?? '', []),\r\n facilityFuncLocationNumber: this.fb.control(tx.facility?.systemIdentifiers[0]?.systemIdentifier ?? '', []),\r\n });\r\n }\r\n\r\n openSidModal() {\r\n this.modalService.definitions.openSidModal();\r\n }\r\n\r\n onSubmit() {\r\n if (!this.facilityRegistrationForm || this.facilityRegistrationForm.invalid) {\r\n return;\r\n }\r\n\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n // update transaction with values from form\r\n const value = this.facilityRegistrationForm.value;\r\n this.transaction.facility.name = value.facilityName;\r\n this.transaction.facility.accountId = value.accountId;\r\n\r\n const address: FacilityAccountAddress = defaultFacilityAccountAddressFactory();\r\n address.street1 = value.facilityAddress;\r\n address.city = value.facilityCity;\r\n address.region = value.facilityCityProvince;\r\n address.postcode = value.facilityZip;\r\n const phoneNumber: FacilityAccountPhoneNumber = defaultFacilityAccountPhoneNumberFactory();\r\n phoneNumber.number = value.facilityPhone;\r\n const sysIdentifier: FacilityAccountSystemIdentifier = defaultFacilityAccountSystemIdentifierFactory();\r\n sysIdentifier.systemIdentifier = value.facilityFuncLocationNumber\r\n\r\n this.transaction.facility.addresses[0] = address;\r\n this.transaction.facility.phoneNumbers[0] = phoneNumber;\r\n this.transaction.facility.systemIdentifiers[0] = sysIdentifier;\r\n\r\n this.checkoutStore.finalizeTransaction(this.transaction);\r\n });\r\n }\r\n}\r\n", "\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{ 'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{ user.firstname + ' ' + user.lastname }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ user.email }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ transaction.facility.name }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ transaction.facility.accountId }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ transaction?.facility?.addresses[0]?.street1 }}\r\n {{ transaction?.facility?.addresses[0]?.city }}, {{ transaction?.facility?.addresses[0]?.region }} {{ transaction?.facility?.addresses[0]?.postcode }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ 'TEXT_NOT_YOUR_FACILITY' | translate }}

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { CheckoutBillingAddress } from '@pepconnect/features/checkout/models/checkout-billing-address.model';\r\nimport { StateOrProvince } from '@pepconnect/models/intl/state.model';\r\n\r\ntype BillingAddressForm = Required<{\r\n firstName: FormControl;\r\n lastName: FormControl;\r\n address1: FormControl;\r\n address2: FormControl;\r\n city: FormControl;\r\n state: FormControl;\r\n zip: FormControl;\r\n}>\r\n\r\n\r\n@Component({\r\n selector: 'app-billing-address',\r\n templateUrl: './billing-address.component.html'\r\n})\r\nexport class BillingAddressComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly VALIDATOR_NAME_MAX_LENGTH = 60;\r\n readonly VALIDATOR_ADDRESS_MAX_LENGTH = 60;\r\n readonly VALIDATOR_CITY_MAX_LENGTH = 50;\r\n readonly VALIDATOR_ZIP_MAX_LENGTH = 10;\r\n \r\n billingAddressForm: FormGroup;\r\n transaction: CheckoutTransaction;\r\n selectedState: StateOrProvince;\r\n \r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.billingAddressForm?.controls;\r\n }\r\n\r\n setupForm() {\r\n this.transaction$.pipe(take(1)).subscribe((tx) => {\r\n // save the initial transaction for later\r\n this.transaction = tx;\r\n this.billingAddressForm = this.fb.nonNullable.group({\r\n firstName: this.fb.control(tx.billingAddress.firstName, [Validators.required, Validators.maxLength(this.VALIDATOR_NAME_MAX_LENGTH)]),\r\n lastName: this.fb.control(tx.billingAddress.lastName, [Validators.required, Validators.maxLength(this.VALIDATOR_NAME_MAX_LENGTH)]),\r\n address1: this.fb.control(tx.billingAddress.address1, [Validators.required, Validators.maxLength(this.VALIDATOR_ADDRESS_MAX_LENGTH)]),\r\n address2: this.fb.control(tx.billingAddress.address2, [Validators.maxLength(this.VALIDATOR_ADDRESS_MAX_LENGTH)]),\r\n city: this.fb.control(tx.billingAddress.city, [Validators.required, Validators.maxLength(this.VALIDATOR_CITY_MAX_LENGTH)]),\r\n state: this.fb.control(''),\r\n zip: this.fb.control(tx.billingAddress.zip, [Validators.required, Validators.maxLength(this.VALIDATOR_ZIP_MAX_LENGTH)]),\r\n })\r\n })\r\n }\r\n\r\n onSelectedState($event: StateOrProvince) {\r\n this.selectedState = $event;\r\n }\r\n\r\n onSubmit() {\r\n if (!this.billingAddressForm || this.billingAddressForm.invalid) {\r\n return;\r\n }\r\n const value = this.billingAddressForm.value;\r\n let payload: CheckoutBillingAddress = \r\n {\r\n ...this.transaction.billingAddress,\r\n firstName: value.firstName,\r\n lastName: value.lastName,\r\n address1: value.address1,\r\n address2: value.address2,\r\n city: value.city,\r\n state: {\r\n ...this.transaction.billingAddress.state,\r\n abbreviation: this.selectedState?.abbreviation,\r\n id: this.selectedState?.id,\r\n name: this.selectedState?.name,\r\n },\r\n zip: value.zip,\r\n };\r\n\r\n this.checkoutStore.createTransaction(payload);\r\n }\r\n}\r\n\r\n", "\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { take } from 'rxjs';\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CheckoutService } from '@pepconnect/features/checkout/services/checkout.service';\r\nimport { CardType } from '@pepconnect/features/checkout/models/card-type.model';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { UimcSingleSelectItems } from '@pepconnect/shared/presentation/forms/form-models/single-select-item.model';\r\n\r\ntype PaymentForm = Required<{\r\n cardType: FormControl,\r\n cardNumber: FormControl,\r\n expirationMonth: FormControl,\r\n expirationYear: FormControl,\r\n cardCode: FormControl,\r\n}>\r\n\r\n\r\n@Component({\r\n selector: 'app-payment-form',\r\n templateUrl: './payment-form.component.html',\r\n styleUrls: ['./payment-form.component.scss']\r\n})\r\nexport class PaymentFormComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly VALIDATOR_CC_MIN_LENGTH = 16;\r\n readonly VALIDATOR_CC_MAX_LENGTH = 20; // leave room for 4 spaces\r\n readonly VALIDATOR_CCV_MAX_LENGTH = 3;\r\n readonly VALIDATOR_CCV_MIN_LENGTH = 3;\r\n paymentForm: FormGroup;\r\n transaction: CheckoutTransaction;\r\n cardOptions: UimcSingleSelectItems;\r\n monthOptions: UimcSingleSelectItems;\r\n yearOptions: UimcSingleSelectItems;\r\n cardTypes: CardType[] =\r\n [\r\n { id: '001', name: 'Visa' },\r\n { id: '002', name: 'MasterCard' },\r\n { id: '003', name: 'American Express' },\r\n { id: '004', name: 'Discover' },\r\n ];\r\n\r\n @ViewChild('ccNumber') ccNumber: ElementRef;\r\n selectedCard: string;\r\n selectedMonth: string;\r\n selectedYear: string;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n protected checkoutService: CheckoutService,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.paymentForm.controls;\r\n }\r\n\r\n setupForm() {\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n\r\n // save the initial transaction for later\r\n this.transaction = tx;\r\n\r\n this.cardOptions = this.cardTypes.map((card) => ({\r\n value: card.id,\r\n name: card.name,\r\n isSelected: (card.id === tx.paymentInfo?.cardType?.id)\r\n }));\r\n this.selectedCard = this.cardOptions.find(card => card.isSelected)?.value;\r\n\r\n const currDate = new Date();\r\n\r\n // make array for each month, set current month to selected\r\n this.monthOptions = [...Array(12).keys()].map((m) => ({\r\n value: `0${m + 1}`.slice(-2),\r\n name: `0${m + 1}`.slice(-2),\r\n isSelected: (m === currDate.getMonth())\r\n }));\r\n this.selectedMonth = this.monthOptions.find(month => month.isSelected)?.value;\r\n\r\n // make array of next 15 years, set current year to selected\r\n this.yearOptions = [...Array(15).keys()].map((y) => ({\r\n value: `${y + currDate.getFullYear()}`,\r\n name: `${y + currDate.getFullYear()}`,\r\n isSelected: (y === 0)\r\n }));\r\n this.selectedYear = this.yearOptions.find(year => year.isSelected)?.value;\r\n\r\n this.paymentForm = new FormGroup({\r\n cardType: this.fb.control('', [Validators.required]),\r\n cardNumber: this.fb.control('', { validators: [Validators.required, Validators.minLength(this.VALIDATOR_CC_MIN_LENGTH), Validators.pattern('^[ 0-9]*$')], updateOn: 'blur' }),\r\n expirationMonth: this.fb.control('', [Validators.required]),\r\n expirationYear: this.fb.control('', [Validators.required]),\r\n cardCode: this.fb.control('', { validators: [Validators.required, Validators.minLength(this.VALIDATOR_CCV_MIN_LENGTH), Validators.pattern('^[0-9]*$')], updateOn: 'blur' }),\r\n });\r\n\r\n })\r\n }\r\n\r\n onSelectedItem($event) {\r\n this.paymentForm.controls.cardType.setValue(this.cardOptions.find(c => c.value === $event)?.value);\r\n }\r\n\r\n onSubmit() {\r\n // go get the transaction, select the appropriate sub, then verify transaction\r\n if (!this.paymentForm || this.paymentForm.invalid) {\r\n return;\r\n }\r\n\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n\r\n const value = this.paymentForm.value;\r\n\r\n tx.paymentInfo = {\r\n accountNumber: value.cardNumber,\r\n expirationMonth: value.expirationMonth,\r\n expirationYear: value.expirationYear,\r\n cardType: {\r\n id: value.cardType,\r\n name: value.cardType\r\n },\r\n cvNumber: value.cardCode\r\n }\r\n\r\n // this also redirects to next page, sets loading and errors\r\n this.checkoutStore.verifyTransaction(tx);\r\n })\r\n }\r\n\r\n /**\r\n * note: this page is going away soon (with Cybersource). Did not build this as robustly as possible\r\n *\r\n * source: https://stackoverflow.com/questions/50619823/add-space-after-every-4th-digit-in-credit-card-input\r\n *\r\n * */\r\n setCardNumberSpacing() {\r\n const input = this.ccNumber.nativeElement;\r\n const { selectionStart } = input;\r\n const { cardNumber } = this.paymentForm.controls;\r\n\r\n let trimmedCardNum = cardNumber.value.replace(/\\s+/g, '');\r\n\r\n if (trimmedCardNum.length > 16) {\r\n trimmedCardNum = trimmedCardNum.substring(0, 16);\r\n }\r\n\r\n /* Handle American Express 4-6-5 spacing format */\r\n const partitions = trimmedCardNum.startsWith('34') || trimmedCardNum.startsWith('37')\r\n ? [4, 6, 5]\r\n : [4, 4, 4, 4];\r\n\r\n const numbers = [];\r\n let position = 0;\r\n partitions.forEach(partition => {\r\n const part = trimmedCardNum.substring(position, partition);\r\n if (part) numbers.push(part);\r\n position += partition;\r\n })\r\n\r\n cardNumber.setValue(numbers.join(' '));\r\n\r\n /* Handle caret position if user edits the number later */\r\n if (selectionStart < cardNumber.value.length - 1) {\r\n input.setSelectionRange(selectionStart, selectionStart, 'none');\r\n }\r\n }\r\n}\r\n", "\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {{ 'LABEL_CARD_TAX_EXEMPT' | translate }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\n@Component({\r\n selector: 'app-card-summary',\r\n templateUrl: './card-summary.component.html'\r\n})\r\nexport class CardSummaryComponent extends BaseCheckoutComponent {\r\n readonly cardSummary$ = this.checkoutStore.cardSummary$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n}\r\n", "\r\n
\r\n {{ 'LABEL_CARD_TYPE' | translate }}:\r\n {{ cardSummary.cardType }}\r\n
\r\n {{ 'LABEL_CARD_NUMBER' | translate }}:\r\n xxxx-{{ cardSummary.cardNumber }}\r\n
\r\n {{ 'LABEL_EXPIRATION_DATE' | translate }}: {{ cardSummary.expirationMonth}}/{{ cardSummary.expirationYear }}\r\n
\r\n
\r\n", "import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { distinctUntilChanged, fromEvent, skip, takeUntil } from 'rxjs';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { EnvironmentService } from '@pepconnect/services/environment.service';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { CardStepType } from '@pepconnect/features/checkout/enums/card-step-type.enum';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CardStep } from '@pepconnect/features/checkout/models/card-step.model';\r\n\r\n/**\r\n * This component loads the external Sipayce site into an iframe,\r\n * this monitors the iframe for completion.\r\n *\r\n * When iframe is complete, API is called to verify the transaction.\r\n *\r\n * If transaction is verified, the user is redirected to the confirmation page.\r\n * If transaction is canceled, user is sent back to step 1 (billing addres)\r\n * If the transaction has errors, user is show options to go back to billing address step, re-enter card or cancel checkout\r\n *\r\n * If this step is complete and the transaction is verified when the user arrives,\r\n * a short transaction summary is shown.\r\n * \r\n * */\r\n@Component({\r\n selector: 'app-payment-sipayce',\r\n templateUrl: './payment-sipayce.component.html',\r\n styleUrls: ['./payment-sipayce.component.scss'],\r\n})\r\nexport class PaymentSipayceComponent extends BaseCheckoutComponent implements OnInit, AfterViewInit {\r\n readonly cardSteps$ = this.checkoutStore.cardSteps$;\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n sipayceExternalUrl: SafeResourceUrl;\r\n transaction: CheckoutTransaction;\r\n\r\n @ViewChild('sipayceIframe', { static: false }) sipayceIframe: ElementRef;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private env: EnvironmentService,\r\n private sanitizer: DomSanitizer) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n setupForm() {\r\n this.transaction$\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n distinctUntilChanged((prev, curr) =>\r\n prev?.redirectUrl === curr?.redirectUrl))\r\n .subscribe((tx) => {\r\n this.transaction = tx; // save transaction for later\r\n this.sipayceExternalUrl = this.sanitizer.bypassSecurityTrustResourceUrl(tx?.redirectUrl);\r\n })\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // watch the iframe until the payment processing is complete, canceled or errored\r\n // in all cases, iframe is redirected back to one of our pages and we call the api to verify\r\n if (this.sipayceIframe) {\r\n fromEvent(this.sipayceIframe.nativeElement, 'load')\r\n // Skip the initial iframe load event, external\r\n .pipe(\r\n skip(1),\r\n takeUntil(this.ngUnsubscribe)\r\n )\r\n .subscribe(() => {\r\n // check the iframe load event to see if the iframe has changed location to a PEP location\r\n if (this.sipayceIframe?.nativeElement?.contentDocument?.location?.href.startsWith(this.env.baseUrl)) {\r\n this.checkoutStore.verifyTransaction(this.transaction);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onChangeAddress() {\r\n this.checkoutStore.setError(null);\r\n this.checkoutStore.setCardStepNotStarted(CardStepType.Payment);\r\n this.checkoutStore.setCardStepSelected(CardStepType.Address);\r\n }\r\n \r\n onChangePayment() {\r\n this.checkoutStore.setError(null);\r\n this.checkoutStore.setCardStepNotStarted(CardStepType.Payment);\r\n this.checkoutStore.setCardStepSelected(CardStepType.Address);\r\n this.checkoutStore.createTransaction(this.transaction.billingAddress);\r\n }\r\n\r\n isPaymentComplete(cardSteps: CardStep[]) {\r\n return this.isStepCompleted(cardSteps, CardStepType.Payment);\r\n }\r\n\r\n}\r\n", "\r\n \r\n \r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\ntype ConfirmForm = Required<{\r\n termsAgree: FormControl,\r\n savePayment: FormControl\r\n}>\r\n\r\n@Component({\r\n selector: 'app-card-confirm',\r\n templateUrl: './card-confirm.component.html'\r\n})\r\nexport class CardConfirmComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly checkoutUser$ = this.checkoutStore.checkoutUser$; // check if user is guest\r\n confirmForm: FormGroup;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.confirmForm?.controls;\r\n }\r\n\r\n setupForm() {\r\n this.confirmForm = this.fb.nonNullable.group({\r\n termsAgree: this.fb.control(false, [Validators.requiredTrue]),\r\n savePayment: this.fb.control(false)\r\n });\r\n }\r\n\r\n onTermsAgree($event) {\r\n this.f.termsAgree.setValue($event);\r\n }\r\n\r\n onSavePayment($event) {\r\n this.f.savePayment.setValue($event);\r\n }\r\n\r\n onSubmit() {\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n if (tx.termsAndConditionsLink &&\r\n (!this.confirmForm || this.confirmForm.invalid)) {\r\n return;\r\n } else {\r\n tx.termsAndConditionsAccepted = true;\r\n }\r\n\r\n tx.savePayment = this.f.savePayment.value;\r\n\r\n this.checkoutStore.finalizeTransaction(tx);\r\n });\r\n }\r\n\r\n}\r\n", "\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
{{ 'LABEL_SAVE_PAYMENT_INFO' | translate }}
\r\n
\r\n
\r\n \r\n \r\n
{{ 'LABEL_CHECKOUT_TERMS_AND_CONDITIONS' | translate }}
\r\n
\r\n {{ 'LABEL_CHECKOUT_TERMS_AND_CONDITIONS_LINK' | translate }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CardStep } from '@pepconnect/features/checkout/models/card-step.model';\r\nimport { CardStepType } from '@pepconnect/features/checkout/enums/card-step-type.enum';\r\n\r\n@Component({\r\n selector: 'app-card-checkout',\r\n templateUrl: './card-checkout.component.html',\r\n styleUrls: ['./card-checkout.component.scss']\r\n})\r\nexport class CardCheckoutComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly cardSteps$ = this.checkoutStore.cardSteps$;\r\n\r\n get CardStepType() { return CardStepType; } // so template can access\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupCardCheckout();\r\n }\r\n\r\n setupCardCheckout() {\r\n this.checkoutStore.clearCardSteps();\r\n }\r\n\r\n /**\r\n *\r\n * Is this step selectable\r\n * \r\n * */\r\n isStepSelectable(steps: CardStep[], step: CardStepType): boolean {\r\n return this.isStepStarted(steps, step) && !this.isStepSelected(steps,step)\r\n }\r\n\r\n onAddressClick(): void {\r\n this.checkoutStore.setCardStepSelected(CardStepType.Address);\r\n }\r\n\r\n onPaymentClick(): void {\r\n this.checkoutStore.setCardStepSelected(CardStepType.Payment);\r\n }\r\n\r\n onConfirmClick(): void {\r\n this.checkoutStore.setCardStepSelected(CardStepType.Confirm);\r\n }\r\n}\r\n", "\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 1. {{'LABEL_BILLING_ADDRESS' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n 2. {{'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n 3. {{'ORDER_REVIEW' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\ntype TermsForm = Required<{\r\n termsAgree: FormControl;\r\n}>\r\n\r\n@Component({\r\n selector: 'app-confirm-checkout',\r\n templateUrl: './confirm-checkout.component.html'\r\n})\r\nexport class ConfirmCheckoutComponent extends BaseCheckoutComponent implements OnInit {\r\n termsForm: FormGroup;\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n checkoutName: string;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.termsForm?.controls;\r\n }\r\n\r\n setupForm() {\r\n this.termsForm = this.fb.nonNullable.group({\r\n termsAgree: this.fb.control(false, [Validators.requiredTrue])\r\n });\r\n }\r\n\r\n onTermsAgree($event) {\r\n this.f.termsAgree.setValue($event);\r\n }\r\n\r\n onSubmit() {\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n if (tx.termsAndConditionsLink &&\r\n (!this.termsForm || this.termsForm.invalid)) {\r\n return;\r\n } else {\r\n tx.termsAndConditionsAccepted = true;\r\n }\r\n this.checkoutStore.finalizeTransaction(tx);\r\n });\r\n }\r\n}\r\n", "\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ 'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
{{ 'LABEL_CHECKOUT_TERMS_AND_CONDITIONS' | translate }}
\r\n \r\n {{ 'LABEL_CHECKOUT_TERMS_AND_CONDITIONS_LINK' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n", "import { Component, inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { forms } from '@pepconnect/constants/forms';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CartService } from '@pepconnect/features/checkout/services/cart.service';\r\nimport { Country } from '@pepconnect/models//intl/country.model';\r\nimport { UnserializedResponseMessage } from '@pepconnect/models/general/response-message.model';\r\nimport { Locale } from '@pepconnect/models/localization/locale.model';\r\nimport { defaultUserFactory, User } from '@pepconnect/models/user/user.model';\r\nimport { ConfigService } from '@pepconnect/services/config-service';\r\nimport { EventsService } from '@pepconnect/services/content/events.service';\r\nimport { UserService } from '@pepconnect/services/user.service';\r\nimport { FormsService } from '@pepconnect/shared/services/forms.service';\r\nimport { ScrollService } from '@pepconnect/shared/services/scroll.service';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { take, takeUntil } from 'rxjs';\r\n\r\ntype GuestRegistrationForm = Required<{\r\n firstname: FormControl;\r\n lastname: FormControl;\r\n email: FormControl;\r\n termsAgree: FormControl;\r\n privacyAgree: FormControl;\r\n}>\r\n\r\n@Component({\r\n selector: 'app-guest-registration',\r\n templateUrl: './guest-registration.component.html'\r\n})\r\nexport class GuestRegistrationComponent extends BaseCheckoutComponent implements OnInit {\r\n private readonly configService = inject(ConfigService);\r\n\r\n guestRegistrationForm: FormGroup;\r\n submitted = false;\r\n successMessage: string;\r\n errorMessage: string;\r\n loading = false;\r\n formsService: FormsService;\r\n userService: UserService;\r\n cartService: CartService;\r\n eventsService: EventsService;\r\n scrollService: ScrollService;\r\n tcmanLink: string;\r\n showTabsNavigationMessage = false;\r\n\r\n userLocale: Locale;\r\n userCountry: Country;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private fb: FormBuilder) {\r\n super(store, checkoutStore);\r\n this.formsService = inject(FormsService);\r\n this.userService = inject(UserService);\r\n this.cartService = inject(CartService);\r\n this.eventsService = inject(EventsService);\r\n this.scrollService = inject(ScrollService);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.tcmanLink = this.configService.tcManagerSettings.tcmReturnLink;\r\n\r\n this.setupForm();\r\n this.setUser();\r\n }\r\n\r\n get f() {\r\n return this.guestRegistrationForm?.controls;\r\n }\r\n\r\n setupForm() {\r\n this.guestRegistrationForm = this.fb.nonNullable.group({\r\n firstname: this.fb.control('', [Validators.required, Validators.maxLength(forms.VALIDATOR_FIRSTLAST_MAX_LENGTH)]),\r\n lastname: this.fb.control('', [Validators.required, Validators.maxLength(forms.VALIDATOR_FIRSTLAST_MAX_LENGTH)]),\r\n email: this.formsService.getEmailControl(this.fb),\r\n termsAgree: this.fb.control(false, [Validators.requiredTrue]),\r\n privacyAgree: this.fb.control(false, [Validators.requiredTrue]),\r\n });\r\n }\r\n\r\n\r\n setUser() {\r\n this.$user.pipe(takeUntil(this.ngUnsubscribe)).subscribe(user => {\r\n // save the user settings for when we are creating new user\r\n this.userLocale = user.locale;\r\n this.userCountry = user.country;\r\n\r\n // show a message to use tabs nav is user is ko-kr\r\n this.showTabsNavigationMessage = this.userLocale?.locale === 'ko-kr';\r\n });\r\n }\r\n\r\n onTermsAgree($event) {\r\n this.f.termsAgree.setValue($event);\r\n }\r\n onPrivacyAgree($event) {\r\n this.f.privacyAgree.setValue($event);\r\n }\r\n\r\n onSubmit() {\r\n if (!this.guestRegistrationForm || this.guestRegistrationForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n this.resetMessages();\r\n this.submitted = true;\r\n\r\n // Since we need to send the country/locale as full objects, we can't map from the typed form value to UserDto so we do it manually\r\n const value = this.guestRegistrationForm.value;\r\n let payload: User = defaultUserFactory();\r\n payload = {\r\n ...payload,\r\n firstname: value.firstname,\r\n lastname: value.lastname,\r\n email: value.email,\r\n country: this.userCountry,\r\n locale: this.userLocale\r\n };\r\n\r\n this.userService.createGuestUser(payload).pipe(take(1)).subscribe({\r\n next: (res) => {\r\n // first peek at cart items and see if this is just a waitlist request. If so, we are done\r\n const cartItems = this.cartService.getItems();\r\n if ((cartItems?.length) && cartItems[0].joinWaitList) {\r\n this.addGuestUserToWaitlist(cartItems[0].eventLink, res.userGuid);\r\n return;\r\n }\r\n\r\n this.checkoutStore.updateCheckoutUser(\r\n {\r\n userId: res.id,\r\n isGuest: true,\r\n firstName: payload.firstname,\r\n lastName: payload.lastname,\r\n country: this.userCountry,\r\n email: payload.email,\r\n }\r\n );\r\n },\r\n error: (err: UnserializedResponseMessage) => this.onError(err)\r\n });\r\n }\r\n\r\n private addGuestUserToWaitlist(link: string, userGuid: string) {\r\n this.eventsService.addGuestUserToWaitlist(link, userGuid)\r\n .pipe(take(1))\r\n .subscribe({\r\n next: (data) => {\r\n this.checkoutStore.closeCheckoutSuccess(false);\r\n\r\n },\r\n error: (err: UnserializedResponseMessage) => this.onError(err)\r\n });\r\n }\r\n\r\n resetMessages() {\r\n this.errorMessage = undefined;\r\n }\r\n\r\n reset() {\r\n this.resetMessages();\r\n this.loading = false;\r\n this.submitted = false;\r\n this.guestRegistrationForm.reset();\r\n }\r\n\r\n onError(err: UnserializedResponseMessage) {\r\n this.errorMessage = err.Message;\r\n this.loading = false;\r\n this.submitted = false;\r\n this.scrollService.scrollTop();\r\n }\r\n}\r\n", " \r\n
\r\n \r\n {{ errorMessage | translate }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n

{{ 'REGISTER_USE_TABS_TO_NAVIGATE' | translate }}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n {{ 'FIELD_SIEMENS_EMAIL' | translate }}\r\n {{'SIEMENS_TCMAN_LINK' | translate }}\r\n
\r\n

\r\n
\r\n
\r\n
\r\n \r\n
{{ 'AGREEMENT_BLURB_HEADER' | translate }}
\r\n \r\n {{ 'TERMS_OF_USE' | translate }}\r\n \r\n \r\n
\r\n \r\n {{ 'PRIVACY_POLICY' | translate }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n", "import { Injectable } from '@angular/core';\r\nimport { FacilityAccount } from '@pepconnect/models/facility-account/facility-account.model';\r\nimport { ApiService } from '@pepconnect/services/api.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FacilityAccountService {\r\n\r\n constructor(private api: ApiService) { }\r\n\r\n /**\r\n * Called from checkout, facility workflow\r\n * \r\n * userId is Guid\r\n *\r\n * */\r\n getFacilityAccounts(userId: string) {\r\n return this.api.get(`v2/facility/user/${userId}`);\r\n }\r\n\r\n /**\r\n * Called from checkout, facility workflow\r\n * \r\n * userId is Guid\r\n *\r\n * */\r\n getByAccountId(accountId: string, userId: string) {\r\n return this.api.get(`v2/facility/${accountId}/${userId}`);\r\n }\r\n}\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Store } from '@ngrx/store';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { PriceType } from '@pepconnect/models/ecomm/price-type.model';\r\nimport { defaultFacilityAccountAddressFactory } from '@pepconnect/models/facility-account/facility-account-address.model';\r\nimport { defaultFacilityAccountFactory, FacilityAccount } from '@pepconnect/models/facility-account/facility-account.model';\r\nimport { User } from '@pepconnect/models/user/user.model';\r\nimport { FacilityAccountService } from '@pepconnect/services/facility-account.service';\r\nimport { UimcSingleSelectItems } from '@pepconnect/shared/presentation/forms/form-models/single-select-item.model';\r\nimport { selectUser } from '@pepconnect/state/auth/auth.selector';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { take, takeUntil } from 'rxjs';\r\n\r\ntype FacilitySelectForm = Required<{\r\n tcvNumber: FormControl,\r\n facilityAccount: FormControl,\r\n manualAccountId: FormControl,\r\n}>\r\n\r\n@Component({\r\n selector: 'app-facility-select',\r\n templateUrl: './facility-select.component.html',\r\n styleUrls: ['facility-select.component.scss']\r\n})\r\nexport class FacilitySelectComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly $user = this.store.select((selectUser));\r\n readonly items$ = this.checkoutStore.items$;\r\n user: User;\r\n facilitySelectForm: FormGroup;\r\n transaction: CheckoutTransaction;\r\n facilityPaymentType: PriceType;\r\n facilitySelectedId: number = -1;\r\n facilityAccountOptions: UimcSingleSelectItems;\r\n facilityAccounts: FacilityAccount[];\r\n selectedOption: string;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private facilityAccountService: FacilityAccountService,\r\n private fb: FormBuilder,\r\n private translate: TranslateService) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.$user.pipe(takeUntil(this.ngUnsubscribe)).subscribe(user => {\r\n this.user = user;\r\n this.facilityAccountService.getFacilityAccounts(user.userGuid).pipe(take(1)).subscribe(faAccs => {\r\n const activeFacilityAccounts = faAccs.filter(x => x.active);\r\n // store facilityAccounts for later use\r\n this.facilityAccounts = activeFacilityAccounts;\r\n // map to facilityAccountOptions for use in dropdown\r\n this.facilityAccountOptions = activeFacilityAccounts.map((faAcc) => ({\r\n value: faAcc.facilityAccountId,\r\n name: faAcc.name,\r\n isSelected: false\r\n }));\r\n\r\n this.facilityAccountOptions.unshift({ name: this.translate.instant('LABEL_SELECT_FACILITY'), value: -1, isSelected: true });\r\n this.selectedOption = this.facilityAccountOptions.find(f => f.isSelected)?.value;\r\n\r\n\r\n this.setupForm();\r\n });\r\n\r\n });\r\n }\r\n\r\n get f() {\r\n return this.facilitySelectForm?.controls;\r\n }\r\n\r\n get noFacilitySelected() {\r\n return this.facilitySelectedId === -1;\r\n }\r\n\r\n onSelectedFacility(event) {\r\n this.facilitySelectedId = event;\r\n // find selected facility info and set accountId in the form\r\n const selFac: FacilityAccount = this.facilityAccounts.find(acc => acc.facilityAccountId === event);\r\n this.facilitySelectForm.get('manualAccountId').setValue(selFac?.accountId);\r\n\r\n if (!this.facilityPaymentType.requireTCVNum && !this.noFacilitySelected) {\r\n this.facilitySelectForm.controls.manualAccountId.clearValidators();\r\n }\r\n if (!this.facilityPaymentType.requireTCVNum && this.noFacilitySelected) {\r\n this.facilitySelectForm.controls.manualAccountId.addValidators([Validators.required]);\r\n this.facilitySelectForm.controls.manualAccountId.markAsTouched();\r\n }\r\n }\r\n\r\n setupForm() {\r\n this.transaction$.pipe(take(1)).subscribe((tx) => {\r\n this.transaction = tx;\r\n this.facilityPaymentType = tx.items[0].prices.filter(x => x.type.useFacilityCheckout)[0].type;\r\n // Send the text of the selected payment through checkout so that it can be included in backend report/email\r\n this.transaction.selectedPaymentType = this.facilityPaymentType.name;\r\n this.transaction.isFacilityPurchase = true;\r\n\r\n let tcvNumberValidators = [];\r\n if (this.facilityPaymentType.requireTCVNum) {\r\n tcvNumberValidators = [Validators.required];\r\n }\r\n let manualAccountIdValidators = [];\r\n if (!this.facilityPaymentType.requireTCVNum) {\r\n manualAccountIdValidators = [Validators.required];\r\n }\r\n\r\n this.facilitySelectForm = this.fb.nonNullable.group({\r\n tcvNumber: this.fb.control('', tcvNumberValidators),\r\n facilityAccount: this.fb.control('-1'),\r\n manualAccountId: this.fb.control('', manualAccountIdValidators)\r\n });\r\n\r\n if(this.selectedOption) {\r\n this.facilitySelectForm.controls.facilityAccount.setValue(this.selectedOption);\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n if (!this.facilitySelectForm || this.facilitySelectForm.invalid) {\r\n return;\r\n }\r\n // clear any errors before we submit the form\r\n this.checkoutStore.setError(null);\r\n const value = this.facilitySelectForm.value;\r\n\r\n this.transaction.facility = defaultFacilityAccountFactory();\r\n this.transaction.facility.facilityAccountId = value.facilityAccount;\r\n this.transaction.tCVNumber = value.tcvNumber;\r\n\r\n // Check if user selected a facility in the dropdown\r\n if (+this.transaction?.facility?.facilityAccountId === -1) {\r\n // no facility selected, check if there was a manually added account id\r\n // need to store accountId so we can pass it on if a facility doesn't come back\r\n const manualAccountId = value.manualAccountId;\r\n if (manualAccountId) {\r\n this.facilityAccountService.getByAccountId(manualAccountId, this.user.userGuid)\r\n .pipe(take(1))\r\n .subscribe({\r\n next: data => {\r\n // if no facility found, initialize a new one and pre-populate with address from user profile\r\n if (data[0] === undefined) {\r\n this.prePopulate(manualAccountId);\r\n } else {\r\n // otherwise use the facility data retrieved from backend\r\n this.transaction.facility = data[0];\r\n }\r\n this.setTransactionAndProceed();\r\n },\r\n error: error => {\r\n this.checkoutStore.setError(error.Message)\r\n }\r\n });\r\n } else {\r\n // only TCV number was inserted\r\n this.prePopulate(manualAccountId);\r\n this.setTransactionAndProceed();\r\n }\r\n }\r\n else {\r\n // facility was selected, update the facility data on transaction\r\n this.transaction.facility = this.facilityAccounts.find(x => x.facilityAccountId === this.transaction.facility.facilityAccountId);\r\n this.setTransactionAndProceed();\r\n }\r\n }\r\n\r\n private getFacilityAddressFromUser() {\r\n if (this.transaction.facility !== undefined) {\r\n this.transaction.facility.addresses[0] = defaultFacilityAccountAddressFactory();\r\n this.transaction.facility.addresses[0].street1 = this.user.address1;\r\n this.transaction.facility.addresses[0].city = this.user.city;\r\n this.transaction.facility.addresses[0].region = this.user.state.name;\r\n this.transaction.facility.addresses[0].postcode = this.user.code.toString();\r\n }\r\n }\r\n\r\n private prePopulate(accountId: string) {\r\n this.transaction.facility.accountId = accountId ?? '';\r\n this.transaction.facility.facilityAccountId = null;\r\n this.getFacilityAddressFromUser();\r\n }\r\n\r\n private setTransactionAndProceed() {\r\n this.checkoutStore.setTransaction(this.transaction);\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.Facility);\r\n }\r\n\r\n}\r\n", "\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{ 'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n \r\n \r\n
\r\n
\r\n : {{ facilityPaymentType.name | translate }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
1\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\n@Component({\r\n selector: 'app-checkout-message',\r\n templateUrl: './checkout-message.component.html'\r\n})\r\nexport class CheckoutMessageComponent extends BaseCheckoutComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore) {\r\n super(store, checkoutStore);\r\n }\r\n}\r\n", "\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n \r\n
\r\n

\r\n
\r\n
\r\n \r\n {{'LINK_PURCHASECREDITS' | translate}}\r\n \r\n \r\n

{{'TEXT_PURCHASEHOWTO' | translate}}

\r\n

{{'LABEL_ORDER_NO_POINTS' | translate}}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { Component, Input } from '@angular/core';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\n\r\n@Component({\r\n selector: 'app-pay-with-card-button',\r\n templateUrl: './pay-with-card-button.component.html'\r\n})\r\nexport class PayWithCardButtonComponent {\r\n @Input() loading: boolean;\r\n @Input() transaction: CheckoutTransaction;\r\n\r\n constructor(protected checkoutStore: CheckoutStore) { }\r\n\r\n get buttonLabel() {\r\n return this.transaction.items[0].country.allowPaypalCheckout ? 'BUTTON_PAY_WITH_CC_OR_PAYPAL' : 'BUTTON_PAY_WITH_CC';\r\n }\r\n\r\n payWithCreditCard() {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n}\r\n", "@if (transaction?.canUseCard) {\r\n
\r\n \r\n
\r\n}\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\n\r\n@Component({\r\n selector: 'app-group-purchase',\r\n templateUrl: './group-purchase.component.html'\r\n})\r\nexport class GroupPurchaseComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n transaction: CheckoutTransaction;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private modalService: ModalsService) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n setupForm() {\r\n this.transaction$\r\n .pipe(take(1))\r\n .subscribe((tx) => {\r\n // this used to contain logic for partial points payment.\r\n // If the group doesn't have enough points, boot them to no points or credit card\r\n if (!tx.items.length || tx.items[0].team?.creditCount < tx.pointsCost) { // team doesn't have enough points\r\n if (tx.canUseCard)\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n else\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.Message);\r\n\r\n return;\r\n }\r\n\r\n this.transaction = tx;\r\n })\r\n }\r\n\r\n onSubmit() {\r\n // this used to contain logic for partial points payment. Now it's all or nothing.\r\n this.modalService.definitions.openGroupPointsConfirmModal()\r\n .afterClosed$\r\n .subscribe((confirmResponse) => {\r\n if (confirmResponse?.confirmed) {\r\n // set points applied. We no longer allow partial points purchases to this is always et to pointsCost\r\n this.transaction.pointsApplied = this.transaction.pointsCost;\r\n this.checkoutStore.finalizeTransaction(this.transaction);\r\n } // if not confirmed, do nothing\r\n });\r\n }\r\n\r\n payWithCreditCard() {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n}\r\n\r\n", "\r\n
\r\n \r\n
\r\n
\r\n {{ checkoutState?.transaction?.pointsCost }} {{ 'POINTS' | translate }}\r\n
\r\n
\r\n {{'LABEL_OR' | translate}}\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin, take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { TeamsService } from '@pepconnect/features/teams/services/teams.service';\r\nimport { Team } from '@pepconnect/features//teams/models/team.model';\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\nimport { UimcSingleSelectItems } from '@pepconnect/shared/presentation/forms/form-models/single-select-item.model';\r\n\r\ntype TeamPointsForm = Required<{\r\n team: FormControl;\r\n}>\r\n\r\n@Component({\r\n selector: 'app-individual-purchase',\r\n templateUrl: './individual-purchase.component.html'\r\n})\r\nexport class IndividualPurchaseComponent extends BaseCheckoutComponent implements OnInit {\r\n teamPointsForm: FormGroup;\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n transaction: CheckoutTransaction;\r\n teams: Team[];\r\n options: UimcSingleSelectItems;\r\n selectedOption: string;\r\n\r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private teamsService: TeamsService,\r\n private translateService: TranslateService,\r\n private modalService: ModalsService) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setupForm();\r\n }\r\n\r\n get f() {\r\n return this.teamPointsForm.controls;\r\n }\r\n\r\n setupForm() {\r\n forkJoin([this.transaction$.pipe(take(1)), this.teamsService.fetchTeams()])\r\n .subscribe(([tx, teamMembers]) => {\r\n this.teams = teamMembers\r\n .filter(t => t.team?.creditCount >= tx.pointsCost && t.isMemberActive)\r\n .map(t => t.team);\r\n\r\n // used to be able to do partial points purchased.\r\n // not any more. If the group doesn't have enough points, boot them to no points or credit card\r\n if (!this.teams.length) { // no teams with enough points to purchase this item\r\n if (tx.canUseCard) {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n else {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.Message);\r\n }\r\n }\r\n\r\n // sort by credit count descending\r\n this.teams.sort((a, b) => b.creditCount - a.creditCount);\r\n\r\n this.options = this.teams.map((t) => ({\r\n value: t.teamID,\r\n name: `${t.name} (${t.creditCount} ${this.translateService.instant('TEXT_CREDITS')})`,\r\n isSelected: (t.teamID === this.teams[0].teamID) // select the first one, sorted about\r\n }));\r\n\r\n this.selectedOption = this.options.find(o => o.isSelected)?.value;\r\n\r\n this.teamPointsForm = new FormGroup({\r\n team: new FormControl()\r\n });\r\n\r\n this.transaction = tx;\r\n })\r\n }\r\n\r\n onSelectedItem($event) {\r\n this.teamPointsForm.controls.team.setValue(this.options.find(o => o.value === $event)?.value);\r\n\r\n }\r\n\r\n onSubmit() {\r\n if (this.teamPointsForm.invalid) {\r\n return;\r\n }\r\n\r\n // open confirmation modal\r\n this.modalService.definitions.openGroupPointsConfirmModal()\r\n .afterClosed$\r\n .subscribe((confirmResponse) => {\r\n if (confirmResponse?.confirmed) {\r\n const team = this.teams.find(t => t.teamID === this.f.team.value);\r\n this.transaction.items[0].team = team;\r\n // set points applied. We no longer allow partial points purchases to this is always et to pointsCost\r\n this.transaction.pointsApplied = this.transaction.pointsCost;\r\n this.checkoutStore.finalizeTransaction(this.transaction);\r\n } // if not confirmed, do nothing\r\n });\r\n }\r\n\r\n payWithCreditCard() {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n}\r\n\r\n", "\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{'LABEL_OR' | translate}}\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.error | translate }}\r\n \r\n
\r\n
\r\n", "import { Component } from '@angular/core';\r\nimport { take } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { CheckoutTransaction } from '@pepconnect/features/checkout/models/checkout-transaction.model';\r\nimport { CheckoutStepType } from '@pepconnect/features/checkout/enums/checkout-step-type.enum';\r\n\r\n@Component({\r\n selector: 'app-group-points-checkout',\r\n templateUrl: './group-points-checkout.component.html'\r\n})\r\nexport class GroupPointsCheckoutComponent extends BaseCheckoutComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n transaction: CheckoutTransaction;\r\n \r\n constructor(\r\n protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private modalService: ModalsService) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n setupForm() {\r\n this.transaction$.pipe(take(1))\r\n .subscribe((tx) => {\r\n if (tx.items[0].team?.creditCount < tx.pointsCost) { // team doesn't have enough points to purchase this\r\n if (tx.canUseCard) {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.SavedCards);\r\n }\r\n else {\r\n this.checkoutStore.setSelectedStep(CheckoutStepType.Message);\r\n }\r\n }\r\n this.transaction = tx;\r\n })\r\n }\r\n}\r\n", "\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'LABEL_PAYMENT_INFO' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ 'ORDER_SUMMARY' | translate}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\n@Component({\r\n selector: 'app-checkout-confirmation-payment-info',\r\n templateUrl: './checkout-confirmation-payment-info.component.html',\r\n styleUrls: ['./checkout-confirmation-payment-info.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CheckoutConfirmationPaymentInfoComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n constructor(private checkoutStore: CheckoutStore) { }\r\n}\r\n", "\r\n \r\n
{{ 'LABEL_CREDIT_PAYMENT_TYPE_INFO' | translate }}
\r\n
\r\n {{ 'LABEL_CARD_TYPE' | translate }}:\r\n   {{ transaction.paymentInfo.cardType.name }}\r\n
\r\n
\r\n {{ 'LABEL_CARD_NUMBER' | translate }}:\r\n   {{ 'TEXT_ORDER_CC_MASK' | translate }}{{ transaction.paymentInfo.accountNumber }}\r\n
\r\n
\r\n {{ 'LABEL_EXPIRATION_DATE' | translate }}:\r\n   {{ transaction.paymentInfo.expirationMonth }}/{{ transaction.paymentInfo.expirationYear }}\r\n
\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { AppState } from '@pepconnect/state/index';\r\n\r\n@Component({\r\n selector: 'app-checkout-confirmation-billing-info',\r\n templateUrl: './checkout-confirmation-billing-info.component.html',\r\n styleUrls: ['./checkout-confirmation-billing-info.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CheckoutConfirmationBillingInfoComponent extends BaseCheckoutComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n constructor(protected checkoutStore: CheckoutStore, protected store: Store) { super(store, checkoutStore) }\r\n}\r\n", "\r\n \r\n
{{ 'LABEL_BILLING_ADDRESS' | translate }}
\r\n
\r\n {{ getCheckoutDisplayName(transaction) }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { OrderItemType } from '@pepconnect/features/checkout/models/checkout-order-item.model';\r\n\r\n@Component({\r\n selector: 'app-checkout-confirmation-total',\r\n templateUrl: './checkout-confirmation-total.component.html',\r\n styleUrls: ['./checkout-confirmation-total.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CheckoutConfirmationTotalComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n orderItemType = OrderItemType;\r\n\r\n constructor(private checkoutStore: CheckoutStore) { }\r\n}\r\n", "\r\n \r\n
{{'LABEL_ITEM_SUB_TOTAL' | translate}}
\r\n
{{ 'LABEL_TAX' | translate}}
\r\n *{{ 'CHECKOUT_TAX_MESSAGE' | translate }}\r\n \r\n
{{ transaction.formattedItemTotal }}
\r\n
{{ transaction.formattedTax }}
\r\n
\r\n
\r\n \r\n
{{ 'LABEL_ORDER_TOTAL' | translate}}
\r\n *{{ 'CHECKOUT_SALES_MESSAGE' | translate }}\r\n \r\n
{{ transaction.formattedTotal }}
\r\n
0\">{{ transaction.pointsApplied }}\r\n \r\n \r\n {{'LABEL_POINT' | translate}}\r\n \r\n \r\n {{'LABEL_POINTS' | translate}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n", "import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\n\r\n@Component({\r\n selector: 'app-checkout-confirmation-points-info',\r\n templateUrl: './checkout-confirmation-points-info.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CheckoutConfirmationPointsInfoComponent {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n readonly user$ = this.checkoutStore.checkoutUser$;\r\n\r\n constructor(private checkoutStore: CheckoutStore) { }\r\n}\r\n", "\r\n 0\">\r\n
{{ 'LABEL_CREDIT_PAYMENT_TYPE_INFO' | translate }}
\r\n
\r\n {{ 'LABEL_GROUP' | translate }}:\r\n   {{ transaction.items[0].team.name }}\r\n
\r\n
\r\n {{ 'LABEL_PURCHASER' | translate }}:\r\n   {{user.email}}\r\n
\r\n
\r\n {{ 'LABEL_POINTS_REMAINING' | translate }}:\r\n  {{ transaction.items[0].team.creditCount - transaction.pointsApplied | localeNumber }}\r\n
\r\n
\r\n
\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { LinkRel } from '@pepconnect/enums/link-rel.enum';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { Link } from '@pepconnect/models/general/link.model';\r\nimport { Locale } from '@pepconnect/models/localization/locale.model';\r\nimport { LinksService } from '@pepconnect/services/links.service';\r\nimport { BaseSmartComponent } from '@pepconnect/shared/base/base-smart-component/base-smart.component';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-checkout-confirmation-purchase-info',\r\n templateUrl: './checkout-confirmation-purchase-info.component.html',\r\n styleUrls: ['./checkout-confirmation-purchase-info.component.scss']\r\n})\r\nexport class CheckoutConfirmationPurchaseInfoComponent extends BaseSmartComponent implements OnInit {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n locale: Locale;\r\n constructor(private checkoutStore: CheckoutStore,\r\n private router: Router,\r\n protected store: Store,\r\n private linksService: LinksService) { super(store); }\r\n\r\n ngOnInit(): void {\r\n this.$userLocale.pipe(takeUntil(this.ngUnsubscribe)).subscribe(locale => this.locale = locale);\r\n }\r\n\r\n buttonAction(link: Link) {\r\n switch (link.rel) {\r\n case LinkRel.page:\r\n this.router.navigateByUrl(this.linksService.transformPath(link, this.locale.locale));\r\n break;\r\n case LinkRel.printCertificate:\r\n this.router.navigate([this.locale.locale, 'transcript']);\r\n break;\r\n case LinkRel.purchase:\r\n this.router.navigate([this.locale.locale, 'store']);\r\n break;\r\n case LinkRel.activityGroupDetails:\r\n this.router.navigate([this.locale.locale, 'groups', link.href]);\r\n break;\r\n }\r\n }\r\n}\r\n", "\r\n

\r\n

\r\n

\r\n

\r\n

\r\n {{ 'TEXT_ORDER_PURCHASE_HISTORY_NOTE' | translate }}\r\n {{ 'PROFILE_MENU_LINK4' | translate }}\r\n

\r\n

{{ 'TEXT_ORDER_HAPPY' | translate }}

\r\n \r\n \r\n \r\n
\r\n", "import { Inject, Injectable } from \"@angular/core\";\r\nimport { WINDOW } from \"@pepconnect/providers/window-provider\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrintPageHelpers {\r\n constructor(@Inject(WINDOW) private window: Window) {}\r\n\r\n /** Print the current page */\r\n printPage() {\r\n this.window.print();\r\n }\r\n}\r\n", "import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { setUseCheckoutLayout } from '@pepconnect/state/flags/flags.actions';\r\nimport { AppState } from '@pepconnect/state/index';\r\nimport { PrintPageHelpers } from '@pepconnect/utils/print-page-helpers';\r\n\r\n@Component({\r\n selector: 'app-checkout-order-confirmation',\r\n templateUrl: './checkout-order-confirmation.component.html'\r\n})\r\nexport class CheckoutOrderConfirmationComponent extends BaseCheckoutComponent implements OnInit, OnDestroy {\r\n readonly transaction$ = this.checkoutStore.transaction$;\r\n constructor(protected checkoutStore: CheckoutStore, private printHelpers: PrintPageHelpers, protected store: Store) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.store.dispatch(setUseCheckoutLayout({ useCheckoutLayout: false }));\r\n }\r\n\r\n printPage() {\r\n this.printHelpers.printPage();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.checkoutStore.closeCheckoutSuccess(false);\r\n }\r\n\r\n}\r\n", "\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n

{{ 'ORDER_SUMMARY' | translate }}

\r\n \r\n
\r\n {{ 'CERTIFICATE_PRINT_BUTTON' | translate }}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

{{ 'LABEL_CUSTOMER_INFO' | translate }}

\r\n
\r\n \r\n \r\n
\r\n 0\">\r\n \r\n

{{ 'LABEL_PURCHASE_INFORMATION' | translate }}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n", "import { createSelector } from '@ngrx/store';\r\nimport { selectAppState, AppState } from '..';\r\nimport { FlagsState } from './flags.state';\r\n\r\nexport const selectFlagsState = createSelector(\r\n selectAppState,\r\n (state: AppState) => state.flags\r\n);\r\n\r\nexport const selectUseMinimalLayout = createSelector(\r\n selectAppState,\r\n (state: AppState) => state.flags.useMinimalLayout\r\n);\r\n\r\nexport const selectUseCheckoutLayout = createSelector(\r\n selectAppState,\r\n (state: AppState) => state.flags.useCheckoutLayout\r\n);\r\n\r\nexport const selectSuppressSearchBar = createSelector(\r\n selectAppState,\r\n (state: AppState) => state.flags.suppressSearchBar\r\n);\r\n", "\r\nexport const mockCheckoutRedirect = '/en-us/groups/test-group';\r\n\r\nexport const mockCheckoutItem: any = {\"teamMemberID\":\"c6a24e8c-73dc-441a-a8ae-41eb31ccaea9\",\"quantity\":500,\"itemType\":10};\r\n", "import { Component, OnInit } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { forkJoin} from 'rxjs';\r\nimport { distinctUntilKeyChanged, first, take, takeUntil } from 'rxjs/operators';\r\nimport { BaseCheckoutComponent } from '@pepconnect/features/checkout/base/base-checkout.component';\r\nimport { CheckoutStore } from '@pepconnect/features/checkout/checkout.store';\r\nimport { CheckoutService } from '@pepconnect/features/checkout/services/checkout.service';\r\nimport { CartService } from '@pepconnect/features/checkout/services/cart.service';\r\nimport { Router } from '@angular/router';\r\nimport { AppState } from '@pepconnect/state';\r\nimport { constants } from '@pepconnect/constants/constants';\r\nimport { selectAuthState } from '@pepconnect/state/auth/auth.selector';\r\nimport { provideComponentStore } from '@ngrx/component-store';\r\nimport { CheckoutStepType } from \"@pepconnect/features/checkout/enums/checkout-step-type.enum\";\r\nimport { ModalsService } from '@pepconnect/services/modals.service';\r\nimport { selectEventCancelCheckout } from '@pepconnect/state/events/events.selector';\r\nimport { setCancelCheckout } from '@pepconnect/state/events/events.actions';\r\nimport { selectUseCheckoutLayout } from '@pepconnect/state/flags/flags.selector';\r\nimport { EnvironmentService } from '@pepconnect/services/environment.service';\r\nimport { mockCheckoutItem, mockCheckoutRedirect } from '@pepconnect/features/checkout/mock/mock-items';\r\n\r\n/**\r\n *\r\n * This components is hit when checkout is initiated\r\n * It validates items in the cart and adds them to the Checkout Component Store\r\n * If user is not logged in, it opens the guest checkout step\r\n * If user is logged in:\r\n * api call is made and the Checkout Component Store is initialized with that transaction\r\n * saved billing address is fetched and added to the Checkout Component Store\r\n * subscriptions (saved cards) are fetched and added to the Checkout Component Store\r\n * user is redirected to next step in checkout (based on available prices)\r\n *\r\n * This component also watches the Checkout Component Store initializing$ and initError$\r\n * uses these flags to display loading indicator and handle and initialization errors\r\n *\r\n * all other loading indicators and errors during the checkout process are handled by the child components\r\n *\r\n * */\r\n@Component({\r\n selector: 'app-checkout-shell',\r\n templateUrl: './checkout-shell.component.html',\r\n providers: [provideComponentStore(CheckoutStore)]\r\n})\r\nexport class CheckoutShellComponent extends BaseCheckoutComponent implements OnInit {\r\n readonly selectedStep$ = this.checkoutStore.selectedStep$;\r\n readonly authState$ = this.store.select(selectAuthState);\r\n readonly cancelCheckout$ = this.store.select(selectEventCancelCheckout);\r\n readonly useCheckoutLayout$ = this.store.select(selectUseCheckoutLayout);\r\n readonly initError$ = this.checkoutStore.initError$;\r\n readonly initializing$ = this.checkoutStore.initializing$;\r\n userLocale: string;\r\n inlineMode = false;\r\n\r\n constructor(protected store: Store,\r\n protected checkoutStore: CheckoutStore,\r\n private cartService: CartService,\r\n private checkoutService: CheckoutService,\r\n private router: Router,\r\n private modalService: ModalsService,\r\n private environmentService: EnvironmentService\r\n ) {\r\n super(store, checkoutStore);\r\n }\r\n\r\n get CheckoutStepType() { return CheckoutStepType; } // so template can access\r\n\r\n // initialize\r\n ngOnInit(): void {\r\n this.setupForInline();\r\n this.watchForCancel();\r\n this.setupCheckout();\r\n }\r\n\r\n setupForInline() {\r\n if(this.environmentService.isInlineTranslate) {\r\n this.cartService.initialize(mockCheckoutItem, mockCheckoutRedirect);\r\n this.inlineMode = true;\r\n this.authState$.pipe(takeUntil(this.ngUnsubscribe), distinctUntilKeyChanged('isLoggedIn')).subscribe((authState) => {\r\n this.setupCheckout();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Clear out any transactions in the store, load current transaction from cartservice\r\n * */\r\n setupCheckout() {\r\n // make sure user is initialized\r\n this.authState$.pipe(first(authState => authState.isInitialized))\r\n .subscribe((authState) => {\r\n // save locale in case we have to redirect to home during cancellation\r\n this.userLocale = authState.user.locale.locale;\r\n\r\n // clear out any current transactions in the store\r\n this.checkoutStore.clearCheckoutTransaction();\r\n\r\n // take snapshot of redirect url and cart items\r\n // put it in the store\r\n this.checkoutStore.setRedirectUrl(this.cartService.getRedirect());\r\n\r\n const items = this.cartService.getItems();\r\n if (!items?.length) {\r\n this.checkoutStore.setError('No items in cart');\r\n return;\r\n }\r\n this.checkoutStore.setItems(this.cartService.getItems());\r\n\r\n // if user is not logged in, go to guest registration page\r\n if (!authState.isLoggedIn) {\r\n this.checkoutStore.setSelectedStep(this.CheckoutStepType.GuestRegistration);\r\n }\r\n else { // user is logged in, initialize transaction\r\n // call API to initialize checkout, set state in store, redirect\r\n this.checkoutStore.updateCheckoutUser({\r\n userId: authState.user.id,\r\n isGuest: false,\r\n firstName: authState.user.firstname,\r\n lastName: authState.user.lastname,\r\n country: authState.user.country,\r\n email: authState.user.email,\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * Watches for changes in cancelCheckout event from main store\r\n *\r\n * This can be triggered from child pages or top nav\r\n *\r\n * */\r\n watchForCancel() {\r\n this.cancelCheckout$.pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe((cancelCheckoutRequest) => {\r\n if (cancelCheckoutRequest.cancelCheckout)\r\n this.onCheckoutCancel(cancelCheckoutRequest.redirectHome);\r\n })\r\n }\r\n\r\n /**\r\n *\r\n * Opens cancel modal and waits for response\r\n *\r\n * */\r\n onCheckoutCancel(redirectHome: boolean) {\r\n this.modalService.definitions.openCancelCheckoutModal()\r\n .afterClosed$\r\n .pipe(take(1))\r\n .subscribe((cancelResponse) => {\r\n if (cancelResponse?.canceled) {\r\n this.cancelCheckout(redirectHome);\r\n }\r\n else {\r\n this.resetCancelCheckout();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * called from cancel checkout confirmation modal if user decided to cancel\r\n *\r\n * */\r\n cancelCheckout(redirectHome: boolean) {\r\n // get the current transaction and where we are trying to redirect\r\n forkJoin(\r\n [this.checkoutStore.transaction$.pipe(take(1)),\r\n this.checkoutStore.redirectUrl$.pipe(take(1))])\r\n .subscribe(([transaction, redirectUrl]) => {\r\n\r\n // if no active transaction, redirect and reset cancel flag\r\n if (transaction === undefined || !transaction.requestId) {\r\n this.redirectAfterCancel(redirectHome, redirectUrl);\r\n }\r\n else { // calls api to cancel transaction and then redirects\r\n this.checkoutService.cancelTransaction(transaction)\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => {\r\n this.redirectAfterCancel(redirectHome, redirectUrl);\r\n },\r\n error: () => {\r\n // redirect even if we get an error\r\n this.redirectAfterCancel(redirectHome, redirectUrl);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n redirectAfterCancel(redirectHome: boolean, redirectUrl: string) {\r\n // reset cancel flag\r\n this.resetCancelCheckout();\r\n\r\n // clear out the current checkout transaction in the store\r\n this.checkoutStore.clearCheckoutTransaction();\r\n\r\n // redirect out of checkout\r\n if (redirectHome) {\r\n this.router.navigate([this.userLocale, constants.HOME]);\r\n }\r\n else {\r\n this.router.navigateByUrl(redirectUrl);\r\n }\r\n }\r\n\r\n resetCancelCheckout() {\r\n this.store.dispatch(setCancelCheckout({ cancelCheckout: false, redirectHome: false }));\r\n }\r\n\r\n}\r\n", "\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {{ checkoutState.initError | translate }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n"], "mappings": "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", "names": ["CheckoutStepType", "CardStepType", "OrderItemType", "first", "_c0", "_c0", "_c0", "_c1", "_c1", "_c0", "_c0", "_c0", "_c0", "_c1", "_c0", "_c0", "_c0", "_c0", "_c0", "_c2", "_c1", "_c0", "_c0"] }