{"version":3,"file":"static/js/27.39e7aa6e3ff2771a0997.chunk.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./src/Utilities/analytics/google-analytics.ts?6ab8","webpack://msdyn365.commerce.online/./src/Utilities/analytics/analytics-dispatcher.ts?9fe4","webpack://msdyn365.commerce.online/./src/Utilities/brand-code-parser.tsx?7ce1","webpack://msdyn365.commerce.online/./src/Utilities/get-product-attributes.tsx?d9db","webpack://msdyn365.commerce.online/./src/components/cartlineitem-variant.component.tsx?53a2","webpack://msdyn365.commerce.online/./src/components/master-prod-display-name.tsx?6719","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-order-information.tsx?0448","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/utilities.ts?c10a","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-help.tsx?ad0b","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-order-summary.tsx?a74f","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-payment-methods.tsx?0a0c","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/address.tsx?09e2","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/label.tsx?7ae7","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-sales-line.tsx?9631","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/get-sales-lines.tsx?2df5","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/smwe-order-details.tsx?ed65","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/components/wine-club-details.tsx?8537","webpack://msdyn365.commerce.online/./src/modules/smwe-order-details/smwe-order-details.view.tsx?3407","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/components/smwe-order-history-filter.tsx?b8db","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/actions/get-order-shipment-history.ts?4d3e","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/components/get-sales-order.tsx?f39d","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/components/table-view/components/smwe-order-history-table-header-component.tsx?861d","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/components/table-view/components/smwe-order-history-table-row-component.tsx?ad0a","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/components/table-view/smwe-order-history-table.tsx?bb43","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/smwe-order-history.tsx?3426","webpack://msdyn365.commerce.online/./src/modules/smwe-order-history/smwe-order-history.view.tsx?0aa7","webpack://msdyn365.commerce.online/./src/modules/wine-club-signup/wine-club-data.ts?ff5b","webpack://msdyn365.commerce.online/./src/themes/elicit/views/smwe-order-details.view.tsx?e3ff","webpack://msdyn365.commerce.online/./src/common/address.tsx?e12e","webpack://msdyn365.commerce.online/./src/common/buy-selected-component.tsx?9efa","webpack://msdyn365.commerce.online/./src/common/get-groups.tsx?699f","webpack://msdyn365.commerce.online/./src/common/get-order-information.tsx?c2e1","webpack://msdyn365.commerce.online/./src/common/get-sales-line.tsx?61be","webpack://msdyn365.commerce.online/./src/common/get-sales-lines.tsx?10c6","webpack://msdyn365.commerce.online/./src/common/expand-button-state.ts?0e6f","webpack://msdyn365.commerce.online/./src/common/sales-line-state.ts?3828","webpack://msdyn365.commerce.online/./src/common/label.tsx?9c2c","webpack://msdyn365.commerce.online/./src/common/utilities.ts?0172","webpack://msdyn365.commerce.online/./src/modules/checkout-order-confirmation/checkout-order-confirmation.tsx?7af5","webpack://msdyn365.commerce.online/./src/modules/checkout-order-confirmation/checkout-order-confirmation.view.tsx?722a","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-help.tsx?fe55","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-order-summary.tsx?2e84","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/components/get-payment-methods.tsx?feb6","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/order-confirmation.tsx?bea0","webpack://msdyn365.commerce.online/./src/modules/order-confirmation/order-confirmation.view.tsx?f5ab","webpack://msdyn365.commerce.online/./src/modules/order-details/components/get-help.tsx?57cc","webpack://msdyn365.commerce.online/./src/modules/order-details/components/get-order-summary.tsx?ba20","webpack://msdyn365.commerce.online/./src/modules/order-details/components/get-payment-methods.tsx?eed1","webpack://msdyn365.commerce.online/./src/modules/order-details/components/table-view/components/order-details-table-header-component.tsx?ab70","webpack://msdyn365.commerce.online/./src/modules/order-details/components/table-view/components/order-details-table-row-component.tsx?bbd4","webpack://msdyn365.commerce.online/./src/modules/order-details/components/table-view/order-details-table.tsx?7c6f","webpack://msdyn365.commerce.online/./src/modules/order-details/components/view-tracking-button.tsx?3e36","webpack://msdyn365.commerce.online/./src/modules/order-details/order-details.tsx?4414","webpack://msdyn365.commerce.online/./src/modules/order-details/order-details.view.tsx?89b1","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/actions/get-order-history-with-search-and-filters.ts?d907","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/common/get-sales-order.ts?e014","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-order-list.component.tsx?9f7d","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-order-table.component.tsx?c86f","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-view-mode-selector.component.tsx?6452","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/common/refiner-option-mappings.ts?5f11","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/common/sort-option-mappings.ts?635a","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/order-history-with-search-and-filters.tsx?e2e5","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/common/search-option-mappings.ts?a532","webpack://msdyn365.commerce.online/./src/modules/order-history-with-search-and-filters/order-history-with-search-and-filters.view.tsx?0c93","webpack://msdyn365.commerce.online/./src/modules/order-history/actions/get-order-shipment-history.ts?b936","webpack://msdyn365.commerce.online/./src/modules/order-history/components/get-sales-order.tsx?f5c0","webpack://msdyn365.commerce.online/./src/modules/order-history/components/order-history-filter.tsx?87d0","webpack://msdyn365.commerce.online/./src/modules/order-history/components/table-view/components/order-history-table-header-component.tsx?48e0","webpack://msdyn365.commerce.online/./src/modules/order-history/components/table-view/components/order-history-table-row-component.tsx?a93c","webpack://msdyn365.commerce.online/./src/modules/order-history/components/table-view/order-history-table.tsx?5dd4","webpack://msdyn365.commerce.online/./src/modules/order-history/order-history.tsx?fd71","webpack://msdyn365.commerce.online/./src/modules/order-history/order-history.view.tsx?2545","webpack://msdyn365.commerce.online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://msdyn365.commerce.online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://msdyn365.commerce.online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://msdyn365.commerce.online/./src/modules/order-lookup/order-lookup.tsx?72d3"],"sourcesContent":["//==============================================================================\r\n//==============================================================================\r\nimport { IComponentProps } from '@msdyn365-commerce/core';\r\nimport { DiscountLine, IDictionary, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { brandCodeParser } from '../brand-code-parser';\r\n\r\nimport { subscribe } from './analytics-dispatcher';\r\nimport * as GA from './ga-typings';\r\n\r\n//==============================================================================\r\n// CONSTANTS\r\n//==============================================================================\r\nconst SUBSCRIBER_NAME = 'GOOGLE_ANALYTICS';\r\nconst CURRENCY_CODE = 'USD';\r\n\r\nconst UNKNOWN_VALUE = 'unknown';\r\n\r\n//==============================================================================\r\n// INTERFACES\r\n//==============================================================================\r\n\r\n// Data passed to events that deal with a single product\r\ninterface ISingleProductProps extends IComponentProps {\r\n product: SimpleProduct;\r\n quantity: number;\r\n price: number;\r\n attributes: IDictionary | undefined;\r\n subscription: boolean;\r\n frequency?: string;\r\n discounts?: DiscountLine[];\r\n category?: string;\r\n}\r\n\r\n// Data passed to events that deal with multiple products\r\ninterface IMultiProductProps extends IComponentProps {\r\n confirmationId: string | undefined;\r\n\r\n // Transactions\r\n id: string; // The transaction ID\r\n revenue: number; // Specifies the total revenue or grand total associated with the transaction\r\n tax: number; // The total tax associated with the transaction\r\n shipping: number; // The shipping cost associated with the transaction\r\n affiliation?: string; // The store or affiliation from which this transaction occurred\r\n coupon?: string; // The transaction coupon redeemed with the transaction\r\n\r\n // Impressions\r\n list?: string;\r\n category?: string;\r\n\r\n // Checkout\r\n step?: number;\r\n\r\n // Common\r\n products: ISingleProductProps[];\r\n}\r\n\r\ninterface IExtendedProduct extends GA.IEECProduct {\r\n subscribe?: boolean; // Flag denoting that the item is a subscription rather than a one-time purchase\r\n frequency?: string; // If an item is part of a subscription, include the frequency of the subscription\r\n}\r\n\r\n// tslint:disable-next-line: no-any\r\ndeclare const dataLayer: any[] | undefined;\r\n\r\n//==============================================================================\r\n// Common Helpers\r\n//==============================================================================\r\nfunction formatProductData(data: ISingleProductProps): IExtendedProduct {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = {\r\n id: data.product.ItemId || UNKNOWN_VALUE,\r\n name: data.product.Name || UNKNOWN_VALUE,\r\n brand: brandCodeParser({ description: data.product.Description, appContext: data.context }) || UNKNOWN_VALUE,\r\n variant: (data.attributes && data.attributes['Wine Bottle Size']) || UNKNOWN_VALUE, // Size for wine\r\n price: (data.price !== undefined) ? data.price : data.product.Price,\r\n quantity: data.quantity,\r\n };\r\n\r\n // Add optional entries\r\n data.category && (product.category = data.category);\r\n data.discounts && (product.coupon = data.discounts.map(discount => discount.OfferName).join(','));\r\n\r\n if (data.subscription) {\r\n product.subscribe = true;\r\n data.frequency && (product.frequency = data.frequency);\r\n }\r\n\r\n return product;\r\n}\r\n\r\n//==============================================================================\r\n// EVENT HANDLERS\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n// Add to Cart\r\n//----------------------------------------------------------\r\nfunction addToCart(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IAddToCartEvent = {\r\n event: 'addToCart',\r\n ecommerce: {\r\n currencyCode: CURRENCY_CODE,\r\n add: {\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Remove from Cart\r\n//----------------------------------------------------------\r\nfunction removeFromCart(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IRemoveFromCartEvent = {\r\n event: 'removeFromCart',\r\n ecommerce: {\r\n remove: {\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Product Detail View (PDP visited)\r\n//----------------------------------------------------------\r\nfunction productDetailView(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Quantity isn't valid for this event. Rather than sending \"undefined\", remove it completely.\r\n delete product.quantity;\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IProductDetailViewEvent = {\r\n event: 'detail',\r\n ecommerce: {\r\n detail: {\r\n // actionField: {\r\n // list: '' // We have category at the product level. This would probably always be something like \"PDP\".\r\n // },\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Purchase Complete\r\n//----------------------------------------------------------\r\nfunction purchase(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const products: IExtendedProduct[] = data.products.map(formatProductData);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IPurchaseEvent = {\r\n event: 'purchase',\r\n ecommerce: {\r\n purchase: {\r\n actionField: {\r\n id: data.id,\r\n revenue: data.revenue,\r\n tax: data.tax,\r\n shipping: data.shipping,\r\n },\r\n orderSummary: {\r\n subTotal: data.revenue - (data.tax + data.shipping),\r\n shipping: data.shipping,\r\n tax: data.tax,\r\n transactionId: data.confirmationId,\r\n confirmationId: data.id\r\n },\r\n products: products,\r\n },\r\n }\r\n };\r\n\r\n // Only add optional fields if they are present in the source (instead of sending \"undefined\")\r\n data.coupon && (event.ecommerce.purchase.actionField.coupon = data.coupon);\r\n data.affiliation && (event.ecommerce.purchase.actionField.affiliation = data.affiliation);\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Product Impressions\r\n//----------------------------------------------------------\r\nfunction impression(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const impressions: GA.IEECImpression[] = data.products.map((product, idx) => {\r\n\r\n return {\r\n id: product.product.ItemId || UNKNOWN_VALUE,\r\n name: product.product.Name || UNKNOWN_VALUE,\r\n brand: brandCodeParser({ description: product.product.Description, appContext: data.context }) || UNKNOWN_VALUE,\r\n variant: (product.attributes && product.attributes['Wine Bottle Size']) || UNKNOWN_VALUE,\r\n position: idx,\r\n price: product.product.Price,\r\n\r\n list: data.list, // The list or collection to which the product belongs (e.g. Search Results)\r\n category: data.category || UNKNOWN_VALUE // The category to which the product belongs (e.g. Apparel). Use / as a delimiter to specify up to 5-levels of hierarchy (e.g. Apparel/Men/T-Shirts)\r\n };\r\n });\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IImpressionEvent = {\r\n event: 'impression',\r\n ecommerce: {\r\n currencyCode: CURRENCY_CODE,\r\n impressions: impressions\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Purchase Complete\r\n//----------------------------------------------------------\r\nfunction checkout(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const products: IExtendedProduct[] = data.products.map(formatProductData);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.ICheckoutStepEvent = {\r\n event: 'checkout',\r\n ecommerce: {\r\n checkout: {\r\n actionField: {\r\n step: data.step,\r\n },\r\n products: products,\r\n },\r\n }\r\n };\r\n\r\n // Not entirely standard, but include it anyway\r\n if (data.coupon) {\r\n event.ecommerce.checkout.actionField.coupon = data.coupon;\r\n }\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\nexport function init(): void {\r\n subscribe(SUBSCRIBER_NAME, 'addToCart', addToCart);\r\n subscribe(SUBSCRIBER_NAME, 'removeFromCart', removeFromCart);\r\n subscribe(SUBSCRIBER_NAME, 'productDetailView', productDetailView);\r\n subscribe(SUBSCRIBER_NAME, 'purchase', purchase);\r\n subscribe(SUBSCRIBER_NAME, 'impression', impression);\r\n subscribe(SUBSCRIBER_NAME, 'checkout', checkout);\r\n}\r\n","//==============================================================================\r\n// Analytics Event Dispatcher\r\n//\r\n// This module receives events and forwards them to the appropriate handlers\r\n// Subscriptions are managed using a subscriber ID to aid in unsubscribing\r\n//==============================================================================\r\n\r\n// This totally destroys the plugin pattern, but it's difficult to use that pattern\r\n// in a module system, particularly with server-side rendering-friendly webpack chunks.\r\nimport { init as GA_init } from './google-analytics';\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n// tslint:disable-next-line: no-any\r\ntype IEventHandler = (eventData: any) => void;\r\n\r\n// List of subscribers to a single event\r\ninterface IEventSubscribers {\r\n [subscriber: string]: IEventHandler;\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n\r\n// List of subscriptions, organized by event name and then subscriber name\r\nconst subscriptions: { [eventName: string]: IEventSubscribers } = {};\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\n// tslint:disable-next-line: no-any\r\nexport function publish(eventName: string, eventData: any): void {\r\n if (subscriptions[eventName]) {\r\n // Get the list of subscribers for this event\r\n const subscribers = Object.keys(subscriptions[eventName]);\r\n\r\n // Notify each subscriber\r\n subscribers.forEach(subscriber => subscriptions[eventName][subscriber](eventData));\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\nexport function subscribe(subscriber: string, eventName: string, handler: IEventHandler): void {\r\n // If it's a new event, create an entry\r\n if (!subscriptions[eventName]) {\r\n subscriptions[eventName] = {};\r\n }\r\n\r\n // Ensure this subscriber isn't already subscribed to this event\r\n if (subscriptions[eventName][subscriber]) {\r\n throw new Error(`Duplicate subscription request for ${subscriber}: ${eventName}`);\r\n }\r\n\r\n // Add the subscription\r\n subscriptions[eventName][subscriber] = handler;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Unsubscribe to a single event\r\n//----------------------------------------------------------\r\nexport function unsubscribe(subscriber: string, eventName: string): void {\r\n if (subscriptions[eventName] && subscriptions[eventName][subscriber]) {\r\n delete subscriptions[eventName][subscriber];\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Perform all init functions here (ugh!)\r\n//----------------------------------------------------------\r\nGA_init();","import { ICoreContext } from '@msdyn365-commerce/core-internal';\r\ninterface IBrandCodeProps {\r\n description?: string;\r\n appContext: ICoreContext<{\r\n // any is just matching the types here.\r\n // tslint:disable-next-line: no-any\r\n [x: string]: any;\r\n }>;\r\n}\r\n\r\ntype BrandCodeTable = {\r\n brandName: string;\r\n brandCode: string;\r\n}[];\r\n\r\n/**\r\n * for converting a brand code to a brand name\r\n *\r\n */\r\nexport function brandCodeParser({ description, appContext }: IBrandCodeProps): string {\r\n\r\n // for mocking\r\n // const brandCodeTable: BrandCodeTable = [{ brandName: '14Hands', brandCode: 'FTH' }];\r\n\r\n const brandCodeTable = appContext.app.config.brandCodeTable as BrandCodeTable;\r\n\r\n // this is a safety check to ensure that brand code table does NOT crash in local or\r\n // if brand code table is somehow not connecting right to the global config. it will\r\n // essentially act as if there are no brand codes declared - keeping how everything\r\n // looks originally\r\n if (!brandCodeTable) { return ''; }\r\n\r\n // a brand code may and may only appear in the first three characters of a string\r\n // we are lowercasing in the off-chance that the authors type them differently between\r\n // the sources\r\n const currentBrandCode = description && description.slice(0, 3).toLowerCase();\r\n const brandFound = brandCodeTable.find(brand => brand.brandCode.toLowerCase() === currentBrandCode);\r\n if (brandFound) { return brandFound.brandName; }\r\n return '';\r\n}","//==============================================================================\r\n//==============================================================================\r\nimport { get, groupBy, uniq } from 'lodash';\r\n\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { searchAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { CartLine, ProductProperty, ProductSearchCriteria } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { IContext } from '@msdyn365-commerce/retail-proxy/dist/interfaces';\r\n\r\n//==============================================================================\r\n//==============================================================================\r\nexport interface IAttributeList {\r\n [attributeName: string]: string;\r\n}\r\n\r\nexport interface IAttributeBank {\r\n [productId: number]: IAttributeList;\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\nlet attributeCache: IAttributeBank = {};\r\n\r\n//----------------------------------------------------------\r\n// Given a set of product IDs, return product attributes for\r\n// all of them.\r\n//\r\n// Returns an IAttributeBank, grouped by product ID then\r\n// attribute name.\r\n//----------------------------------------------------------\r\nasync function fetchProductAttributes(productIDs: number[], context: IActionContext): Promise {\r\n\r\n // Fetch product information from retail server\r\n const ctx: IContext = { callerContext: context };\r\n const productSearchCriteria: ProductSearchCriteria = {\r\n Ids: productIDs,\r\n Context: {\r\n ChannelId: context.requestContext.apiSettings.channelId,\r\n CatalogId: context.requestContext.apiSettings.catalogId\r\n },\r\n };\r\n\r\n const result = await searchAsync(ctx, productSearchCriteria);\r\n\r\n // Transform results into a useful format\r\n return result.reduce(\r\n (output, product) => {\r\n const translatedProperties: ProductProperty[] = get(product, 'ProductProperties[0].TranslatedProperties', []);\r\n\r\n // Convert from an array of records to a hash of values\r\n output[product.RecordId] = translatedProperties.reduce(\r\n (attributes, property) => {\r\n if (property.FriendlyName && property.ValueString) {\r\n attributes[property.FriendlyName] = property.ValueString;\r\n }\r\n\r\n return attributes;\r\n },\r\n {} as IAttributeList\r\n );\r\n\r\n return output;\r\n },\r\n {} as IAttributeBank\r\n );\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Given a set of product IDs, return product attributes for\r\n// all of them.\r\n//\r\n// Uses a local cache at the product ID level to prevent\r\n// duplicate requests.\r\n//\r\n// Returns an IAttributeBank, grouped by product ID then\r\n// attribute name.\r\n//----------------------------------------------------------\r\nexport async function getAttributesByProductID(productIDs: number[], context: IActionContext): Promise {\r\n\r\n // Split IDs into cached and uncached groups\r\n const groupedIDs = groupBy(productIDs, id => (attributeCache[id] ? 'cached' : 'uncached'));\r\n\r\n // Fetch products not already in the cache\r\n const uncachedAttributes = groupedIDs.uncached ? await fetchProductAttributes(groupedIDs.uncached, context) : {};\r\n\r\n // Merge new products into the cache\r\n attributeCache = {...attributeCache, ...uncachedAttributes};\r\n\r\n // Add cached entries to the result\r\n const result = uncachedAttributes; // This does nothing except change the name. Referring to the combined result as \"uncached\" is unclear.\r\n groupedIDs.cached && groupedIDs.cached.forEach(id => {\r\n result[id] = attributeCache[id];\r\n });\r\n\r\n return result;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Given an array of cart lines, return product attributes for\r\n// all products in the cart\r\n//----------------------------------------------------------\r\nexport function getAttributesForCart(cartLines: CartLine[], context: IActionContext): Promise {\r\n\r\n // Create a list of product IDs from the cart lines, removing any duplicates\r\n const productIDs = uniq(cartLines.map(line => line.ProductId!));\r\n\r\n // Fetch the attributes for the requested products\r\n return getAttributesByProductID(productIDs, context);\r\n}","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ArrayExtensions, getFallbackImageUrl, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IComponentProps, IGridSettings, IImageSettings, Image, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { CartLine as CartLineType, SalesLine as SalesLineType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport { MasterProdDisplay } from './master-prod-display-name';\r\n\r\n/**\r\n * ICartlineResourceString: Interface for specifying the\r\n * resource strings that the component needs\r\n */\r\nexport interface ICartlineResourceString {\r\n /** Display string for discount label */\r\n discountStringText: string;\r\n /** String for size key */\r\n sizeString: string;\r\n /** String for color key */\r\n colorString: string;\r\n /** String associated with the configuration product dimension */\r\n configString: string;\r\n /** String for style key */\r\n styleString: string;\r\n /** String for amount key */\r\n amountString?: string;\r\n /** Display string for quantity label */\r\n quantityDisplayString: string;\r\n /** Display string for quantity label */\r\n inputQuantityAriaLabel: string;\r\n /** Aria label for the decrement button in quanitity component */\r\n decrementButtonAriaLabel?: string;\r\n /** Aria label for the increment button in quanitity component */\r\n incrementButtonAriaLabel?: string;\r\n /** original text screenreader */\r\n originalPriceText: string;\r\n /** current text screenreader */\r\n currentPriceText: string;\r\n /** shipping Charges Text */\r\n shippingChargesText: string;\r\n}\r\n\r\ninterface ICartLineData {\r\n cartLine: CartLineType | SalesLineType;\r\n product?: SimpleProduct;\r\n}\r\n\r\nexport type CartLineDisplayMode = 'DEFAULT' | 'COMPACT';\r\n\r\n/**\r\n * ICartLineProps: The props required to render cartLineitem\r\n */\r\nexport interface ICartLineProps extends IComponentProps {\r\n /** The flag to change the quantity component from interactible to static */\r\n disableQuantityInteractivity?: boolean;\r\n /** The primary image url */\r\n primaryImageUrl?: string;\r\n /** The product url */\r\n productUrl?: string;\r\n /** GridSettings for the product image in cartLine */\r\n gridSettings: IGridSettings;\r\n /** ImageSettings for the product image in cartLine */\r\n imageSettings: IImageSettings;\r\n /** Boolean flag to indicate if the item is out of stock */\r\n isOutOfStock?: boolean;\r\n /** Flag to make quantity section editable */\r\n isQuantityEditable?: boolean;\r\n /** Max quantity for line item */\r\n maxQuantity?: number;\r\n /** Current quantity for line item */\r\n currentQuantity?: number;\r\n /** Resource string for the component */\r\n resources: ICartlineResourceString;\r\n /** SalesLine flag */\r\n isSalesLine?: boolean;\r\n /** Error message to show in place of quantity */\r\n errorMessage?: string;\r\n /** Display mode to use */\r\n displayMode?: CartLineDisplayMode;\r\n /** Inventory information label */\r\n inventoryInformationLabel?: string;\r\n /** Inventory information class name */\r\n inventoryLabelClassName?: string;\r\n /** Flag to show/hide shipping charges for line items */\r\n showShippingChargesForLineItems?: boolean;\r\n /** Boolean flag to indicate if cart state status is ready */\r\n isCartStateReady?: boolean;\r\n /** Chanel Delivery Option configuration is from api. */\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n /** The telemetry content */\r\n telemetryContent?: ITelemetryContent;\r\n /** Quantity onChange callback */\r\n quantityOnChange?(cartLine: CartLineType, newQuantity: number): void;\r\n}\r\n\r\ninterface IDimensionStrings {\r\n /** String for size key */\r\n sizeString: string;\r\n /** String for color key */\r\n colorString: string;\r\n /** String associated with the configuration product dimension */\r\n configString: string;\r\n /** String for style key */\r\n styleString: string;\r\n /** String for amount key */\r\n amountString?: string;\r\n}\r\n\r\nconst CartLineItemFunctions = {\r\n renderProductDimensions: (Product: SimpleProduct, DimensionStrings: IDimensionStrings) => {\r\n if (!Product || !Product.Dimensions) {\r\n return [];\r\n }\r\n\r\n return Product.Dimensions.map(productDimension => {\r\n\r\n if (productDimension.DimensionTypeValue === 1) {\r\n return (\r\n
\r\n {DimensionStrings.colorString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 2) {\r\n return (\r\n
\r\n {DimensionStrings.configString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 3) {\r\n return (\r\n
\r\n {DimensionStrings.sizeString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 4) {\r\n return (\r\n
\r\n {Product.IsGiftCard ? DimensionStrings.amountString : DimensionStrings.styleString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n return null;\r\n });\r\n },\r\n renderDiscountLines: (props: ICartLineProps) => {\r\n\r\n if (!props.data.cartLine.DiscountLines || props.data.cartLine.DiscountLines.length === 0) {\r\n return null;\r\n }\r\n return props.data.cartLine.DiscountLines.map((discountLine, index) => {\r\n return (\r\n
\r\n \r\n {discountLine.OfferName ? discountLine.OfferName : ''}:\r\n {` ${props.resources.discountStringText || 'Discount'} `}\r\n \r\n \r\n {discountLine.DiscountCost && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n {` (${discountLine.Percentage !== undefined ? discountLine.Percentage : ''}%)`}\r\n \r\n
\r\n );\r\n });\r\n },\r\n renderInventoryLabel: (props: ICartLineProps) => {\r\n if (!props.inventoryInformationLabel) {\r\n return null;\r\n }\r\n const inventoryCssName = props.inventoryLabelClassName ? `msc-cart-line__product-inventory-label ${props.inventoryLabelClassName}` : 'msc-cart-line__product-inventory-label';\r\n return (\r\n {props.inventoryInformationLabel}\r\n );\r\n },\r\n renderShippingLabel: (props: ICartLineProps) => {\r\n const pickupDeliveryModeCode = props.context.request.channel?.PickupDeliveryModeCode;\r\n const channelDeliveryOptionConfig = props.channelDeliveryOptionConfig;\r\n const cartline = props.data.cartLine;\r\n let hasShippingMethod = false;\r\n if(channelDeliveryOptionConfig !== undefined) {\r\n hasShippingMethod = !!cartline.DeliveryMode && channelDeliveryOptionConfig?.PickupDeliveryModeCodes?.some(deliveryMode => deliveryMode !== cartline.DeliveryMode) ? true : false;\r\n } else {\r\n hasShippingMethod = !!cartline.DeliveryMode && cartline.DeliveryMode !== pickupDeliveryModeCode ? true : false;\r\n }\r\n if (!hasShippingMethod) {\r\n return undefined;\r\n }\r\n\r\n const shippingChargeLines = (cartline.ChargeLines || []).filter(chargeLine => chargeLine.IsShipping);\r\n\r\n if (shippingChargeLines.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const freightFee = shippingChargeLines.reduce((chargeTotal, chargeLine) => {\r\n return chargeTotal + (chargeLine.CalculatedAmount || 0);\r\n }, 0);\r\n\r\n const priceComponent = (\r\n \r\n );\r\n return (\r\n <>\r\n \r\n \r\n {priceComponent}\r\n \r\n \r\n );\r\n },\r\n renderOtherCharges: (props: ICartLineProps) => {\r\n const cartline = props.data.cartLine;\r\n const otherCharges = cartline.ChargeLines?.filter((chargeline) => !chargeline.IsShipping);\r\n\r\n return otherCharges && otherCharges.map((otherCharge, key) => {\r\n return otherCharge && otherCharge.CalculatedAmount ? (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) : '';\r\n }) || undefined;\r\n }\r\n};\r\n\r\n// tslint:disable-next-line:max-func-body-length\r\nconst CartLine: React.FC = (props: ICartLineProps) => {\r\n const { isSalesLine, productUrl, resources } = props;\r\n const { product, cartLine } = props.data;\r\n\r\n const destructDimensionStrings = {\r\n sizeString: resources.sizeString,\r\n colorString: resources.colorString,\r\n styleString: resources.styleString,\r\n configString: resources.configString,\r\n amountString: resources.amountString\r\n };\r\n const fallbackImageUrl = product && getFallbackImageUrl(product.ItemId, props.context.actionContext.requestContext.apiSettings);\r\n const imageSettings = props.imageSettings;\r\n imageSettings.cropFocalRegion = !ObjectExtensions.isNullOrUndefined(imageSettings);\r\n const { inputQuantityAriaLabel } = props.resources;\r\n const productDimensions = product && CartLineItemFunctions.renderProductDimensions(product, destructDimensionStrings);\r\n const renderDisountLines = CartLineItemFunctions.renderDiscountLines(props);\r\n const renderInventoryLabel = CartLineItemFunctions.renderInventoryLabel(props);\r\n const renderShippingLabel = CartLineItemFunctions.renderShippingLabel(props);\r\n const renderOtherCharges = CartLineItemFunctions.renderOtherCharges(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, '', product?.RecordId.toString());\r\n const prodAttribute = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const productName = product?.Name || cartLine.Description;\r\n\r\n const _generateErrorMessage = (): JSX.Element | null => {\r\n if (props.errorMessage) {\r\n return (\r\n
\r\n \r\n {props.errorMessage}\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const _updateQuantity = (event: React.ChangeEvent) => {\r\n if (props.quantityOnChange) {\r\n props.quantityOnChange(props.data.cartLine, parseInt(event.target.value, 10));\r\n }\r\n };\r\n\r\n const _generateMenu = (quantity: number) => {\r\n const nodes = [];\r\n\r\n for (let i = 1; i <= quantity; i++) {\r\n\r\n // tslint:disable-next-line:react-a11y-role-has-required-aria-props\r\n nodes.push();\r\n }\r\n\r\n return nodes;\r\n };\r\n\r\n const _generateSelectMenu = (quantity: number, currentQuantity: number | undefined): JSX.Element => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const _generateQuantityAndPrice = (): JSX.Element[] | null => {\r\n const nodes = [];\r\n\r\n const errorMessage = _generateErrorMessage();\r\n\r\n if (props.isOutOfStock) {\r\n if (errorMessage) {\r\n return [errorMessage];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (props.isQuantityEditable && !props.data.product?.IsGiftCard) {\r\n if (errorMessage) {\r\n nodes.push(errorMessage);\r\n }\r\n nodes.push(_generateSelectMenu(props.maxQuantity || 10, props.currentQuantity));\r\n } else {\r\n nodes.push(\r\n
\r\n \r\n {errorMessage}\r\n {props.data.cartLine.Quantity}\r\n
\r\n );\r\n }\r\n\r\n nodes.push(\r\n
\r\n \r\n
\r\n );\r\n\r\n return nodes;\r\n };\r\n\r\n if (props.displayMode === 'COMPACT') {\r\n const reducedDimensions: string = product?.Dimensions ? product.Dimensions.reduce(\r\n (str, productDimension) => {\r\n if (productDimension.DimensionValue && productDimension.DimensionValue.Value) {\r\n if (str) {\r\n return `${str}, ${productDimension.DimensionValue.Value}`;\r\n }\r\n\r\n return `${productDimension.DimensionValue.Value}`;\r\n }\r\n\r\n return str;\r\n },\r\n '') : '';\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {productName}\r\n {reducedDimensions !== '' ?\r\n
{reducedDimensions}
:\r\n ''\r\n }\r\n {\r\n _generateQuantityAndPrice()\r\n }\r\n
\r\n
\r\n );\r\n }\r\n\r\n let jsxName = {productName};\r\n if (product?.MasterProductId) {\r\n jsxName = ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {jsxName}\r\n {\r\n ArrayExtensions.hasElements(productDimensions) ?\r\n
{productDimensions}
:\r\n ''\r\n }\r\n {renderDisountLines}\r\n {renderInventoryLabel}\r\n {props.showShippingChargesForLineItems &&
\r\n {renderShippingLabel}\r\n
}\r\n {renderOtherCharges}\r\n
\r\n {\r\n _generateQuantityAndPrice()\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\n// @ts-ignore\r\nexport const CartLineItemComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'CartLineItem',\r\n { component: CartLine, ...CartLineItemFunctions }\r\n);","import React from 'react';\r\nimport { ICartLineProps } from './cartlineitem.component';\r\nimport { ICartLineProps as ICheckoutCartLineProps } from './cartlineitem-variant.component';\r\nimport { getSelectedVariant, SelectedVariantInput } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\n\r\ninterface IMasterProdDisplay {\r\n masterProdId: number,\r\n variantName: string,\r\n props: ICartLineProps | ICheckoutCartLineProps\r\n}\r\nexport class MasterProdDisplay extends React.Component {\r\n constructor(props: IMasterProdDisplay) {\r\n super(props);\r\n this.state = {\r\n prodName: ''\r\n };\r\n }\r\n public componentDidMount() {\r\n const masterProductInput = new SelectedVariantInput(this.props.masterProdId, this.props.props.context.request.apiSettings.channelId);\r\n getSelectedVariant(masterProductInput, this.props.props.context.actionContext).then(masterProduct => {\r\n this.setState({ prodName: masterProduct?.Name || '' });\r\n }).catch(e => console.error(e));\r\n }\r\n\r\n public render(): JSX.Element {\r\n let name = {this.props.variantName};\r\n if (this.state.prodName !== '') {\r\n name = {this.state.prodName} - {this.props.variantName};\r\n }\r\n return name;\r\n }\r\n}\r\n\r\nexport async function getMasterProduct(masterId: number, ctx: IActionContext): Promise {\r\n const masterProductInput = new SelectedVariantInput(masterId, ctx.requestContext.apiSettings.channelId);\r\n return getSelectedVariant(masterProductInput, ctx);\r\n}","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { ChannelIdentity, Customer, OrderOriginator, OrderShipments, OrgUnitLocation, SalesOrder } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport get from 'lodash/get';\r\nimport QRCode from 'qrcode.react';\r\nimport * as React from 'react';\r\n\r\nimport { isOboRequest } from '@msdyn365-commerce/core';\r\nimport { countItems, IModuleComponentProps, IPriceContext } from './utilities';\r\n\r\n/**\r\n * Interface for order information input resources.\r\n */\r\nexport interface IOrderInformationInputResources {\r\n receiptEmailMessage?: string;\r\n orderItemLabel: string;\r\n orderItemsLabel: string;\r\n processingLabel: string;\r\n orderIdLabel: string;\r\n receiptIdLabel: string;\r\n confirmationIdLabel: string;\r\n trackingLabel: string;\r\n trackingAriaLabel: string;\r\n trackingComingSoonLabel: string;\r\n posChannelNameText?: string;\r\n onlineStoreChannelNameText?: string;\r\n orderPlacedOnLabel?: string;\r\n qrCodeSrText?: string;\r\n callCenterChannelNameText?: string;\r\n orderPlacedByFullText?: string;\r\n orderPlacedByYouText?: string;\r\n orderOnBehalfOfText?: string;\r\n}\r\n\r\n/**\r\n * Interface for order information input.\r\n */\r\nexport interface IOrderInformationInput {\r\n moduleName: string;\r\n channelReferenceId?: string;\r\n channelName?: string;\r\n channelAddress?: string;\r\n showChannelInfo?: boolean;\r\n receiptEmail?: string;\r\n createdDate?: string;\r\n amount?: number;\r\n priceContext: IPriceContext;\r\n salesId?: string;\r\n receiptId?: string;\r\n hasTrackingInfo?: boolean;\r\n count?: number;\r\n resources: IOrderInformationInputResources;\r\n isSalesInvoice?: boolean;\r\n shouldShowQrCode?: boolean;\r\n channelTypeValue?: number;\r\n originator?: OrderOriginator;\r\n isYou?: [boolean, boolean];\r\n isB2bAdmin?: boolean;\r\n isOnlineStore?: boolean;\r\n showChannelName?: boolean;\r\n}\r\n\r\nconst callCenterChannelTypeValue = 4;\r\n\r\n/**\r\n * Interface for order information.\r\n */\r\nexport interface IOrderInformation {\r\n orderInformationProps: INodeProps;\r\n channelName: React.ReactNode;\r\n channelAddress: React.ReactNode;\r\n placedBy?: React.ReactNode;\r\n salesId: React.ReactNode;\r\n receiptId: React.ReactNode;\r\n receiptEmail: React.ReactNode;\r\n createdDate: React.ReactNode;\r\n count: React.ReactNode;\r\n amount: React.ReactNode;\r\n channelReferenceId: React.ReactNode;\r\n}\r\n\r\n/**\r\n * The order confirmation ID node.\r\n * @param channelReferenceId - The order confirmation id.\r\n * @param moduleName - The module name.\r\n * @param confirmationIdLabel - The confirmation label.\r\n * @param shouldShowQrCode - Should the view show the QR code.\r\n * @param qrCodeSrText - The screen reader text of the QR code.\r\n * @returns The react node for order confirmation ID.\r\n */\r\nconst getChannelReference = (\r\n channelReferenceId: string | undefined,\r\n moduleName: string,\r\n confirmationIdLabel: string,\r\n shouldShowQrCode: boolean | undefined,\r\n qrCodeSrText?: string\r\n): React.ReactNode | undefined => {\r\n const confirmationIdNode: React.ReactNode = (\r\n \r\n {`${confirmationIdLabel} `}\r\n {channelReferenceId}\r\n \r\n );\r\n return (\r\n channelReferenceId &&\r\n (shouldShowQrCode !== undefined && shouldShowQrCode ? (\r\n
\r\n {confirmationIdNode}\r\n
\r\n \r\n \r\n {qrCodeSrText}\r\n \r\n
\r\n
\r\n ) : (\r\n confirmationIdNode\r\n ))\r\n );\r\n};\r\n\r\n/**\r\n * Get Channel name to display on order history.\r\n * @param channelTypeValue - The channel type.\r\n * @param moduleName - The module name.\r\n * @param callCenterChannelNameText - The call center channel name.\r\n * @param channelAddress - Channel Address.\r\n * @param posChannelNameText - POS channel name.\r\n * @param channelName - Channel Name.\r\n * @param onlineStoreChannelNameText - Online store channel name.\r\n * @returns The react node for channel name label.\r\n */\r\nexport const getChannelName = (\r\n channelTypeValue: number | undefined,\r\n moduleName: string,\r\n callCenterChannelNameText: string | undefined,\r\n channelAddress: string | undefined,\r\n posChannelNameText: string | undefined,\r\n channelName: string | undefined,\r\n onlineStoreChannelNameText: string | undefined,\r\n showChannelName: boolean | undefined\r\n): React.ReactNode => {\r\n let channelNameNode: React.ReactNode;\r\n if (channelTypeValue === callCenterChannelTypeValue) {\r\n channelNameNode = {callCenterChannelNameText};\r\n } else if (channelAddress) {\r\n const posChannelName = `${posChannelNameText ?? ''} ${showChannelName ? channelName ?? '' : ''}`;\r\n channelNameNode = {posChannelName};\r\n } else {\r\n const onlineChannelName = `${onlineStoreChannelNameText ?? ''} ${showChannelName ? channelName ?? '' : ''}`;\r\n channelNameNode = {onlineChannelName};\r\n }\r\n return channelNameNode;\r\n};\r\n\r\nconst getPlacedBy = (\r\n moduleName: string,\r\n originator: OrderOriginator | undefined,\r\n isYou: [boolean, boolean] | undefined,\r\n orderPlacedByFullText: string | undefined,\r\n orderPlacedByYouText: string | undefined,\r\n orderOnBehalfOfText: string | undefined\r\n): React.ReactNode | undefined => {\r\n let placedByNode: React.ReactNode | undefined;\r\n\r\n if (originator) {\r\n const placedByName =\r\n originator.StaffId && originator.StaffName\r\n ? originator.StaffName\r\n : originator.CustomerId && originator.CustomerName\r\n ? originator.CustomerName\r\n : '-';\r\n const onBehalfOfText = originator.StaffId && originator.StaffName && originator.CustomerId && originator.CustomerName;\r\n placedByNode = (\r\n
\r\n {orderPlacedByFullText} {placedByName} {isYou && isYou[0] && ` ${orderPlacedByYouText}`}\r\n {onBehalfOfText && (\r\n
\r\n {orderOnBehalfOfText} {`${originator.CustomerName}`}\r\n {isYou && isYou[1] && ` ${orderPlacedByYouText}`}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n\r\n return placedByNode;\r\n};\r\n\r\n/**\r\n * Get order information.\r\n * @param {IOrderInformationInput} param0 The input for order information.\r\n * @returns {IOrderInformation} The order information.\r\n */\r\nexport const getOrderInformation = ({\r\n moduleName,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress,\r\n channelTypeValue,\r\n showChannelInfo,\r\n showChannelName,\r\n receiptEmail,\r\n createdDate,\r\n amount,\r\n priceContext,\r\n originator,\r\n isYou,\r\n salesId,\r\n receiptId,\r\n count,\r\n resources: {\r\n receiptEmailMessage,\r\n orderItemLabel,\r\n orderItemsLabel,\r\n orderIdLabel,\r\n orderPlacedByFullText,\r\n orderPlacedByYouText,\r\n orderOnBehalfOfText,\r\n receiptIdLabel,\r\n confirmationIdLabel,\r\n posChannelNameText,\r\n onlineStoreChannelNameText,\r\n orderPlacedOnLabel,\r\n qrCodeSrText,\r\n callCenterChannelNameText\r\n },\r\n isSalesInvoice,\r\n shouldShowQrCode\r\n}: IOrderInformationInput): IOrderInformation => {\r\n const channelNameNode: React.ReactNode = getChannelName(\r\n channelTypeValue,\r\n moduleName,\r\n callCenterChannelNameText,\r\n channelAddress,\r\n posChannelNameText,\r\n channelName,\r\n onlineStoreChannelNameText,\r\n showChannelName\r\n );\r\n\r\n const orderInformation = {\r\n orderInformationProps: { className: `${moduleName}__order-information` },\r\n channelName: showChannelInfo && channelName && channelNameNode,\r\n channelAddress: showChannelInfo && channelAddress && (\r\n {channelAddress}\r\n ),\r\n placedBy: getPlacedBy(moduleName, originator, isYou, orderPlacedByFullText, orderPlacedByYouText, orderOnBehalfOfText),\r\n salesId: salesId ? {`${orderIdLabel} ${salesId}`} : '',\r\n receiptId: receiptId ? (\r\n {`${receiptIdLabel} ${receiptId}`}\r\n ) : (\r\n ''\r\n ),\r\n receiptEmail: receiptEmail && (\r\n \r\n {receiptEmailMessage}\r\n {receiptEmail}\r\n \r\n ),\r\n createdDate: !isSalesInvoice && createdDate && (\r\n \r\n {orderPlacedOnLabel}\r\n {` `}\r\n {createdDate}\r\n \r\n ),\r\n count: !isSalesInvoice && count !== undefined && count > 0 && (\r\n \r\n {count === 1 ? `${count} ${orderItemLabel}` : `${count} ${orderItemsLabel}`}\r\n \r\n ),\r\n amount: !isSalesInvoice && (amount || amount === 0) && (\r\n \r\n ),\r\n channelReferenceId: getChannelReference(channelReferenceId, moduleName, confirmationIdLabel, shouldShowQrCode, qrCodeSrText)\r\n };\r\n\r\n return orderInformation;\r\n};\r\n\r\n/**\r\n * Interface for order information props.\r\n */\r\ninterface IProps extends IModuleComponentProps {\r\n resources: IOrderInformationInputResources;\r\n customer?: Customer;\r\n}\r\n\r\n/**\r\n * Retrieves order channel name.\r\n * @param order - Order info.\r\n * @param channelIdentities - Channels data.\r\n * @returns String with the name of the channel or an empty string.\r\n */\r\nexport const getOrderChannelName: (order: SalesOrder | OrderShipments, channelIdentities?: ChannelIdentity[]) => string = (\r\n order: SalesOrder | OrderShipments,\r\n channelIdentities?: ChannelIdentity[]\r\n) => {\r\n const orderChannel = channelIdentities?.find(channel => {\r\n return channel.RecordId === order.ChannelId;\r\n });\r\n\r\n const channelName = orderChannel?.Name ?? '';\r\n return channelName;\r\n};\r\n\r\n/**\r\n * Retrieves order channel type value.\r\n * @param order - Order info.\r\n * @param channelIdentities - Channels data.\r\n * @returns The channel type value of the order.\r\n */\r\nexport const getOrderChannelTypeValue: (order: SalesOrder | OrderShipments, channelIdentities?: ChannelIdentity[]) => number | undefined = (\r\n order: SalesOrder | OrderShipments,\r\n channelIdentities?: ChannelIdentity[]\r\n) => {\r\n const orderChannel = channelIdentities?.find(channel => {\r\n return channel.RecordId === order.ChannelId;\r\n });\r\n\r\n const channelType = orderChannel?.ChannelType.Value;\r\n return channelType;\r\n};\r\n\r\n/**\r\n * Retrieves channel is online store or not.\r\n * @param channelTypeValue - The channel type.\r\n * @param channelAddress - Channel Address.\r\n * @returns {Boolean} that indicates that the channel is in the online store.\r\n */\r\nexport const isOnlineStoreChannel = (channelTypeValue: number | undefined, channelAddress: string | undefined): boolean => {\r\n return channelTypeValue !== callCenterChannelTypeValue && !channelAddress;\r\n};\r\n\r\n/**\r\n * Retrieves order channel address.\r\n * @param order - Order info.\r\n * @param orgUnitLocations - OrgUnitLocation data.\r\n * @returns String with the address of the channel or an empty string.\r\n */\r\nexport const getOrderChannelAddress: (order: SalesOrder | OrderShipments, orgUnitLocations?: OrgUnitLocation[]) => string = (\r\n order: SalesOrder | OrderShipments,\r\n orgUnitLocations?: OrgUnitLocation[]\r\n) => {\r\n const orderOrgUnitLocation = orgUnitLocations?.find(location => {\r\n return location.ChannelId === order.ChannelId;\r\n });\r\n\r\n const channelAddress = orderOrgUnitLocation?.Address ?? '';\r\n return channelAddress;\r\n};\r\n\r\n/**\r\n * Get order information input.\r\n * @param {IProps} props The properties.\r\n * @param {string} moduleName The module name.\r\n * @param {SalesOrder | OrderShipments} order The sales order or order shipments.\r\n * @param {IPriceContext} priceContext The price context.\r\n * @param {ChannelIdentity[]} channelIdentities A list of channel identities.\r\n * @param {OrgUnitLocation[]} orgUnitLocations A list of organization unit locations.\r\n * @param {Customer} customer A current customer.\r\n * @param {OrderOriginator} originator The order originator.\r\n * @param {boolean} showChannelInfo Should the view show channel information.\r\n * * @param {boolean} showChannelName Should the view show channel information.\r\n * @param {boolean} isSalesInvoice Is this a sales invoice.\r\n * @param {boolean} shouldShowQrCode Should the view show QR code.\r\n * @returns {IOrderInformationInput} The order information input.\r\n */\r\nexport const getOrderInformationInput = (\r\n props: IProps,\r\n moduleName: string,\r\n order: SalesOrder | OrderShipments,\r\n priceContext: IPriceContext,\r\n channelIdentities?: ChannelIdentity[],\r\n orgUnitLocations?: OrgUnitLocation[],\r\n customer?: Customer,\r\n originator?: OrderOriginator,\r\n showChannelInfo?: boolean,\r\n showChannelName?: boolean,\r\n isSalesInvoice?: boolean,\r\n shouldShowQrCode?: boolean\r\n): IOrderInformationInput => {\r\n const {\r\n resources,\r\n context: {\r\n request: {\r\n apiSettings: { channelId }\r\n }\r\n }\r\n } = props;\r\n\r\n // @ts-expect-error OrderShipments doesn't has ChannelId\r\n const showTrackingInfo = !!order.ChannelId && order.ChannelId === channelId;\r\n\r\n const locale = get(props, 'context.request.locale') || 'en-US';\r\n const count = order.SalesLines && ArrayExtensions.hasElements(order.SalesLines) ? countItems(order.SalesLines) : 0;\r\n const channelTypeValue = getOrderChannelTypeValue(order, channelIdentities);\r\n const channelAddress = getOrderChannelAddress(order, orgUnitLocations);\r\n const isYou =\r\n !isOboRequest(props.context.request) &&\r\n originator?.CustomerId &&\r\n originator?.CustomerName &&\r\n !originator?.StaffId &&\r\n !originator?.StaffName &&\r\n customer?.AccountNumber === originator?.CustomerId\r\n ? true\r\n : false;\r\n const isYouObo = !isYou && !isOboRequest(props.context.request);\r\n\r\n return {\r\n moduleName,\r\n createdDate: (order.CreatedDateTime && new Date(order.CreatedDateTime).toLocaleDateString(locale)) || '',\r\n salesId: order.SalesId,\r\n originator: originator,\r\n isYou: [isYou, isYouObo],\r\n isB2bAdmin: customer?.IsB2bAdmin,\r\n receiptId: order.ReceiptId,\r\n showChannelInfo,\r\n showChannelName,\r\n\r\n // @ts-expect-error OrderShipments doesn't has ReceiptEmail\r\n receiptEmail: order.ReceiptEmail,\r\n channelReferenceId: order.ChannelReferenceId,\r\n channelName: getOrderChannelName(order, channelIdentities),\r\n channelAddress: channelAddress,\r\n amount: order.TotalAmount ?? 0,\r\n priceContext,\r\n count,\r\n resources,\r\n isSalesInvoice,\r\n shouldShowQrCode,\r\n channelTypeValue: channelTypeValue,\r\n isOnlineStore: isOnlineStoreChannel(channelTypeValue, channelAddress)\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\nimport { IAny, ICoreContext, IGeneric, IImageSettings, IModule, ITelemetry } from '@msdyn365-commerce/core';\r\nimport { SalesLine, TenderType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport groupBy from 'lodash/groupBy';\r\nimport { ISalesLine } from './get-sales-line';\r\n\r\nexport interface IModuleComponentProps extends IModule {\r\n config: {\r\n imageSettings?: IImageSettings;\r\n showShippingChargesForLineItems?: boolean;\r\n };\r\n}\r\n\r\nexport interface IPriceContext {\r\n id: string;\r\n typeName: string;\r\n context: ICoreContext>;\r\n telemetry: ITelemetry;\r\n freePriceText: string;\r\n}\r\n\r\nexport const getTenderIdOperationIdMap = (tenderTypes: TenderType[]): object => {\r\n return tenderTypes.reduce((map, tenderType) => {\r\n if (tenderType.TenderTypeId) {\r\n map[tenderType.TenderTypeId] = tenderType.OperationId;\r\n }\r\n return map;\r\n }, {});\r\n};\r\n\r\nexport const countItems = (salesLines: SalesLine[]) => {\r\n return salesLines.reduce((count, salesLine) => {\r\n return count + (salesLine.Quantity || 0);\r\n }, 0);\r\n};\r\n\r\nexport const getSalesLinesByDelivery = (salesLines?: SalesLine[], pickupDeliveryModeCode?: string): SalesLine[] => {\r\n if (!salesLines || !salesLines.length) {\r\n return [];\r\n }\r\n return salesLines.filter(salesLine =>\r\n // isPickUp ? getPickUp : getOthers\r\n (pickupDeliveryModeCode && pickupDeliveryModeCode !== '') ? salesLine.DeliveryMode === pickupDeliveryModeCode : salesLine.DeliveryMode !== pickupDeliveryModeCode\r\n );\r\n};\r\n\r\nexport const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: `w=80&h=80&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=147&h=147&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n};\r\n\r\nexport type IDeliveryType = 'pickUp' | 'ship' | 'carryOut' | 'email';\r\n\r\nexport type ISalesStatusCode = 'canceled' | 'readyForPickup' | 'pickedUp' | 'processing' | 'shipped' | 'unknown' | 'emailed';\r\n\r\nexport const getSalesStatusCode = (deliveryType: string, statusValue?: number, pickupMode?: string): ISalesStatusCode => {\r\n if (statusValue === 7) {\r\n return 'canceled';\r\n }\r\n\r\n if (pickupMode !== undefined) {\r\n switch (statusValue) {\r\n case 3:\r\n return 'readyForPickup';\r\n case 4:\r\n return 'pickedUp';\r\n default:\r\n return 'processing';\r\n }\r\n }\r\n if (deliveryType === 'pickUp') {\r\n switch (statusValue) {\r\n case 3:\r\n return 'readyForPickup';\r\n case 4:\r\n return 'pickedUp';\r\n default:\r\n return 'processing';\r\n }\r\n } else if (deliveryType === 'ship') {\r\n switch (statusValue) {\r\n case 3:\r\n return 'processing';\r\n case 4:\r\n return 'shipped';\r\n default:\r\n return 'processing';\r\n }\r\n } else if (deliveryType === 'email') {\r\n switch (statusValue) {\r\n case 3:\r\n return 'processing';\r\n case 4:\r\n return 'emailed';\r\n default:\r\n return 'processing';\r\n }\r\n } else if (deliveryType === 'carryOut') {\r\n return 'processing';\r\n } else {\r\n return 'unknown';\r\n }\r\n};\r\n\r\nexport type ITrackingId = string | 'unknown';\r\nexport type IAddressId = string | 'unknown';\r\n\r\nexport interface IGroupData {\r\n deliveryType: IDeliveryType;\r\n salesStatus: ISalesStatusCode;\r\n addressId: IAddressId | 'unknown';\r\n trackingId: ITrackingId | 'unknown';\r\n count: number;\r\n salesLines: ISalesLine[];\r\n}\r\n\r\nexport const groupSalesLines = (salesLines: ISalesLine[]): IGroupData[] => {\r\n const getGroupByDeliveryType = (items: ISalesLine[]) => groupBy(items, item => item.data.deliveryType);\r\n const getGroupBySalesStatusCode = (items: ISalesLine[]) => groupBy(items, item => item.data.salesStatus);\r\n const getGroupByTrackingId = (items: ISalesLine[]) => groupBy(items, item => item.data.salesLine.TrackingId || 'unknown');\r\n const getGroupByAddressId = (items: ISalesLine[]) =>\r\n groupBy(items, item => (item.data.salesLine.ShippingAddress && item.data.salesLine.ShippingAddress.RecordId) || 'unknown');\r\n\r\n const flatGroup: IGroupData[] = [];\r\n\r\n // 1) Group by delivery type\r\n // @ts-ignore\r\n const group = getGroupByDeliveryType(salesLines);\r\n\r\n // 2) Group by sales status code\r\n Object.entries(group).forEach(([deliveryType, groupByDeliveryType]) => {\r\n // @ts-ignore\r\n group[deliveryType] = getGroupBySalesStatusCode(groupByDeliveryType);\r\n\r\n Object.entries(group[deliveryType]).forEach(([salesStatus, groupBySalesStatusCode]) => {\r\n // @ts-ignore 3) Group by address id\r\n groupBySalesStatusCode[salesStatus] = getGroupByAddressId(groupBySalesStatusCode);\r\n\r\n // @ts-ignore\r\n Object.entries(groupBySalesStatusCode[salesStatus]).forEach(([addressId, groupByAddressId]) => {\r\n // @ts-ignore 4) Group by address id\r\n groupByAddressId[addressId] = getGroupByTrackingId(groupByAddressId);\r\n\r\n // @ts-ignore\r\n Object.entries(groupByAddressId[addressId]).forEach(([trackingId, groupByTrackingId]) => {\r\n flatGroup.push({\r\n // @ts-ignore\r\n deliveryType,\r\n // @ts-ignore\r\n salesStatus,\r\n addressId,\r\n trackingId,\r\n // @ts-ignore\r\n count: countItems(groupByTrackingId.map(item => item.data.salesLine)),\r\n // @ts-ignore\r\n salesLines: groupByTrackingId\r\n });\r\n });\r\n });\r\n });\r\n });\r\n\r\n return flatGroup;\r\n};\r\n\r\nexport const getDateTimeslot = (placeHolder: string, startDate: Date | undefined, endDate: Date | undefined, locale: string): string => {\r\n if (!startDate || !endDate) {\r\n return '';\r\n }\r\n\r\n const dateOptions: Intl.DateTimeFormatOptions = {\r\n timeZone: 'UTC'\r\n };\r\n const dateformatter = new Intl.DateTimeFormat(locale, dateOptions);\r\n const date = dateformatter.format(new Date(startDate));\r\n\r\n const timeslotOptions: Intl.DateTimeFormatOptions = {\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n hour12: true,\r\n timeZone: 'UTC'\r\n };\r\n const timeslotformatter = new Intl.DateTimeFormat(locale, timeslotOptions);\r\n const timeslot = format(placeHolder, timeslotformatter.format(new Date(startDate)), timeslotformatter.format(new Date(endDate)));\r\n return `${date} ${timeslot}`;\r\n};","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IGetHelpInput, IHelp } from '@msdyn365-commerce-modules/order-management';\r\nimport * as React from 'react';\r\n\r\nexport const getOrderDetailsHelp = ({ needHelpLabel, helpLineNumberLabel, contactNumber, helpLineContactAriaLabel }: IGetHelpInput): IHelp => ({\r\n helpProps: { className: 'ms-order-details__help' },\r\n needHelpLabel:

{needHelpLabel}

,\r\n helpLineNumberLabel: {helpLineNumberLabel},\r\n contactNumber: (\r\n \r\n {contactNumber}\r\n \r\n )\r\n});\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\n\r\nimport { IGetOrderSummaryInput, IOrderSummary, IPriceContext } from '@msdyn365-commerce-modules/order-management';\r\nimport * as React from 'react';\r\n\r\ninterface ISummaryLineProps {\r\n priceContext?: IPriceContext;\r\n name: string;\r\n label: string;\r\n value?: number;\r\n}\r\n\r\nconst OrderSummaryLine: React.SFC = ({ name, label, value = 0, priceContext }) => (\r\n

\r\n

{label}
\r\n {priceContext ? (\r\n \r\n ) : (\r\n {value}\r\n )}\r\n

\r\n);\r\n\r\nexport const getOrderDetailsOrderSummary = ({\r\n order,\r\n priceContext,\r\n earnedPoints,\r\n resource: {\r\n orderSummaryHeading,\r\n orderSummaryItemsTotalLabel,\r\n orderSummaryShippingFeeLabel,\r\n orderSummaryTaxLabel,\r\n orderSummaryGrandTotalLabel,\r\n pointsEarnedLabel\r\n }\r\n}: IGetOrderSummaryInput): IOrderSummary => {\r\n return {\r\n orderSummaryProps: { className: 'ms-order-details__order-summary' },\r\n heading:

{orderSummaryHeading}

,\r\n subtotal: (\r\n \r\n ),\r\n shipping: (\r\n \r\n ),\r\n tax: ,\r\n totalAmount: (\r\n \r\n ),\r\n earnedPoints: earnedPoints ? : undefined\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IPaymentMethods } from '@msdyn365-commerce-modules/order-management';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { TenderLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport * as React from 'react';\r\nimport { IPaymentMethodsInputExtended } from '../smwe-order-details';\r\n\r\nconst getLastFourDigit = (digits = '') => digits.substr(-4);\r\n\r\nenum WalletTenderTypes {\r\n GOOGLEPAY = '15',\r\n APPLEPAY = '14'\r\n}\r\n\r\nconst renderPaymentCard = (creditCardEndingLabel: string,\r\n cardLastFourDigit: string,\r\n googlePayLabel: string,\r\n applePayLabel: string,\r\n isValidCardNumber: boolean | string,\r\n cardTypeId?: string,\r\n tenderTypeId?: string\r\n ) => {\r\n switch (tenderTypeId) {\r\n case WalletTenderTypes.GOOGLEPAY:\r\n return googlePayLabel;\r\n\r\n case WalletTenderTypes.APPLEPAY:\r\n return applePayLabel;\r\n\r\n default:\r\n return `${cardTypeId} ${isValidCardNumber && `${creditCardEndingLabel} ${cardLastFourDigit}`}`;\r\n }\r\n};\r\n\r\nexport const getOrderDetailsPaymentMethods = ({\r\n priceContext,\r\n tenderLines,\r\n tenderIdOperationIdMap,\r\n resource: { paymentMethodsTitle, creditCardEndingLabel, giftCardEndingLabel, amountCoveredLabel, loyaltyCardUsedLabel, cashUsedLabel },\r\n googlePayLabel,\r\n applePayLabel\r\n}: IPaymentMethodsInputExtended): IPaymentMethods => {\r\n const getCard = (tenderLine: TenderLine, showAmount: boolean = false) => {\r\n const cardLastFourDigit = getLastFourDigit(tenderLine.MaskedCardNumber);\r\n\r\n // @ts-expect-error\r\n const isValidCardNumber = cardLastFourDigit && !isNaN(cardLastFourDigit);\r\n const amount = (tenderLine.AuthorizedAmount || 0) > 0 ? tenderLine.AuthorizedAmount : tenderLine.Amount;\r\n const showAmountCovered = !!(showAmount && amount && amount > 0);\r\n\r\n return (\r\n
\r\n

\r\n {renderPaymentCard(creditCardEndingLabel, cardLastFourDigit, googlePayLabel, applePayLabel, isValidCardNumber, tenderLine.CardTypeId, tenderLine.TenderTypeId)}\r\n

\r\n {showAmountCovered && (\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const getGiftCertificate = (tenderLine: TenderLine) => (\r\n
\r\n

\r\n {giftCardEndingLabel} {getLastFourDigit(tenderLine.GiftCardId)}\r\n

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n const getLoyalty = (tenderLine: TenderLine) => (\r\n
\r\n

\r\n {loyaltyCardUsedLabel} {tenderLine.LoyaltyCardId}\r\n

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n const getCash = (tenderLine: TenderLine) => (\r\n
\r\n

{cashUsedLabel}

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n return {\r\n paymentMethodsProps: { className: 'ms-order-details__payment-methods' },\r\n title:
{paymentMethodsTitle}
,\r\n methods: tenderLines.reduce((lines: React.ReactNode[], tenderLine) => {\r\n if (!tenderLine.TenderTypeId) {\r\n return lines;\r\n }\r\n switch (tenderIdOperationIdMap[tenderLine.TenderTypeId]) {\r\n case 201:\r\n lines.push(getCard(tenderLine));\r\n break;\r\n case 214:\r\n lines.push(getGiftCertificate(tenderLine));\r\n break;\r\n case 207:\r\n lines.push(getLoyalty(tenderLine));\r\n break;\r\n case 200:\r\n lines.push(getCash(tenderLine));\r\n break;\r\n default:\r\n // do nothing\r\n }\r\n return lines;\r\n }, [])\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Address as IAddress } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\n\r\nexport type addressType = 'store' | 'ship';\r\n\r\nexport interface IShippingAddressProps {\r\n moduleName: string;\r\n address: IAddress;\r\n deliveryType: string;\r\n showCompleteAddress?: boolean;\r\n resource: {\r\n shipToLabel: string;\r\n storeLabel: string;\r\n phoneLabel: string;\r\n phoneAriaLabel: string;\r\n };\r\n}\r\n\r\nconst Address: React.SFC = ({\r\n moduleName,\r\n address,\r\n deliveryType,\r\n showCompleteAddress,\r\n resource: { shipToLabel, storeLabel, phoneLabel }\r\n}) => (\r\n
\r\n
{deliveryType !== 'ship' ? storeLabel : shipToLabel}
\r\n {address.Name &&
{address.Name}
}\r\n {showCompleteAddress ?\r\n (<>\r\n {address.Street && {address.Street} }\r\n {address.City && {address.City}}\r\n {address.State && {`, ${address.State}`}}\r\n {address.County && {`, ${address.County}`}}\r\n {address.ZipCode && {` ${address.ZipCode}`}}\r\n {address.ThreeLetterISORegionName && {` ${address.ThreeLetterISORegionName}`}}\r\n {address.Phone && (\r\n \r\n {phoneLabel}\r\n \r\n )}\r\n ) : address.FullAddress &&
{address.FullAddress}
}\r\n
\r\n );\r\n\r\nexport default React.memo(Address);\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\ninterface ILabelProps {\r\n className: string;\r\n label: string;\r\n}\r\n\r\nconst Label: React.FC = ({ className, label }) => {label};\r\n\r\nexport default Label;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ArrayExtensions, getFallbackImageUrl, getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, getPayloadObject, getTelemetryAttributes, INodeProps, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport { CartLineItemComponent } from '../../../components/cartlineitem-variant.component';\r\nimport { Image } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration, ProductDeliveryOptions, SalesLine, Shipment, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport Address from './address';\r\nimport LabelComponent from './label';\r\nimport { defaultImageSettings, getDateTimeslot, getSalesStatusCode, IDeliveryType, IModuleComponentProps, ISalesStatusCode } from './utilities';\r\n\r\nexport type ISalesStatusStringMap = {\r\n [x in ISalesStatusCode]: string | undefined;\r\n};\r\n\r\nexport type IDeliveryTypeStringMap = {\r\n [x in IDeliveryType]: string | undefined;\r\n};\r\n\r\nexport interface ISalesLineResources {\r\n productDimensionTypeSize: string;\r\n productDimensionTypeColor: string;\r\n productDimensionTypeStyle: string;\r\n salesLineQuantityText: string;\r\n configString: string;\r\n shipToLabel: string;\r\n storeLabel: string;\r\n phoneLabel: string;\r\n phoneAriaLabel: string;\r\n buyItAgainAriaLabel: string;\r\n buyItAgainLabel: string;\r\n orderStatusReadyForPickup: string;\r\n orderStatusPickedUp: string;\r\n orderStatusShipped: string;\r\n orderStatusCanceled: string;\r\n orderStatusProcessing: string;\r\n pickedUpSalesLines: string;\r\n deliveredSalesLines: string;\r\n carryOutSalesLines: string;\r\n trackingLabel: string;\r\n trackingAriaLabel: string;\r\n trackingComingSoonLabel: string;\r\n discountStringText: string;\r\n orderStatusEmailed: string;\r\n emailSalesLines: string;\r\n pickupDateTimeslotText: string;\r\n pickupTimeslotPlaceHolder: string;\r\n shippingCharges?: string;\r\n}\r\n\r\nexport interface IGetSalesLineInput {\r\n moduleName: string;\r\n moduleComponentProps: IModuleComponentProps;\r\n product: SimpleProduct;\r\n shipment?: Shipment;\r\n salesLine: SalesLine;\r\n isCurrentChannel: boolean;\r\n resources: ISalesLineResources;\r\n imageOnly?: boolean;\r\n showCompleteAddress?: boolean;\r\n showTimeslot: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n productDeliveryOptions?: ProductDeliveryOptions[];\r\n}\r\n\r\nexport interface ISalesLine {\r\n salesLineProps: INodeProps;\r\n salesLine: React.ReactNode;\r\n address?: React.ReactNode;\r\n buyAgainButton?: React.ReactNode;\r\n salesStatus: React.ReactNode;\r\n deliveryType: React.ReactNode;\r\n trackingInfo: React.ReactNode;\r\n pickupDateTimeslot: React.ReactNode;\r\n\r\n // row data\r\n data: {\r\n salesLine: SalesLine;\r\n product: SimpleProduct;\r\n shipment?: Shipment;\r\n deliveryType: string;\r\n productUrl: string;\r\n salesStatus: ISalesStatusCode;\r\n };\r\n}\r\n\r\n// tslint:disable:max-func-body-length\r\n// tslint:disable-next-line:cyclomatic-complexity\r\nexport const getSalesLine = ({\r\n moduleName,\r\n moduleComponentProps: {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n config: { imageSettings, showShippingChargesForLineItems }\r\n },\r\n showCompleteAddress,\r\n product,\r\n shipment,\r\n salesLine,\r\n isCurrentChannel,\r\n imageOnly,\r\n showTimeslot,\r\n resources: {\r\n productDimensionTypeSize: sizeString,\r\n productDimensionTypeColor: colorString,\r\n productDimensionTypeStyle: styleString,\r\n salesLineQuantityText: quantityDisplayString,\r\n configString,\r\n shipToLabel,\r\n storeLabel,\r\n phoneLabel,\r\n phoneAriaLabel,\r\n buyItAgainLabel,\r\n buyItAgainAriaLabel,\r\n orderStatusReadyForPickup,\r\n orderStatusProcessing,\r\n orderStatusShipped,\r\n orderStatusPickedUp,\r\n orderStatusCanceled,\r\n orderStatusEmailed,\r\n pickedUpSalesLines,\r\n deliveredSalesLines,\r\n carryOutSalesLines,\r\n emailSalesLines,\r\n trackingLabel,\r\n trackingAriaLabel,\r\n trackingComingSoonLabel,\r\n discountStringText,\r\n pickupDateTimeslotText,\r\n pickupTimeslotPlaceHolder,\r\n shippingCharges\r\n },\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n}: IGetSalesLineInput): ISalesLine => {\r\n const salesStatusStringMap: ISalesStatusStringMap = {\r\n canceled: orderStatusCanceled,\r\n readyForPickup: orderStatusReadyForPickup,\r\n pickedUp: orderStatusPickedUp,\r\n processing: orderStatusProcessing,\r\n shipped: orderStatusShipped,\r\n unknown: undefined,\r\n emailed: orderStatusEmailed\r\n };\r\n\r\n const deliveryTypeStringMap: IDeliveryTypeStringMap = {\r\n pickUp: pickedUpSalesLines,\r\n ship: deliveredSalesLines,\r\n carryOut: carryOutSalesLines,\r\n email: emailSalesLines\r\n };\r\n\r\n const gridSettings = context.request.gridSettings;\r\n const pickupDeliveryModeCode = context.request.channel && context.request.channel.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = context.request.channel && context.request.channel.EmailDeliveryModeCode;\r\n const productUrl = getProductUrlSync(product, context.actionContext, undefined);\r\n const pickupMode = getPickupModeDesc(product, salesLine.DeliveryMode, productDeliveryOptions, retailMultiplePickUpOptionEnabled);\r\n const deliveryType =\r\n getPickupDeliveryMode(salesLine.DeliveryMode, pickupDeliveryModeCode, retailMultiplePickUpOptionEnabled, channelDeliveryOptionConfig)\r\n ? pickupMode\r\n : !!emailDeliveryModeCode && emailDeliveryModeCode !== '' && emailDeliveryModeCode === salesLine.DeliveryMode\r\n ? 'email'\r\n : !!salesLine.DeliveryMode\r\n ? 'ship'\r\n : 'carryOut';\r\n const salesStatus = getSalesStatusCode(deliveryType, salesLine.SalesStatusValue, pickupMode);\r\n const salesStatusString = salesStatusStringMap[salesStatus];\r\n const salesStatusComp = salesStatusString && ;\r\n const deliveryTypeString = getdeliveryTypeString(deliveryType, deliveryTypeStringMap, retailMultiplePickUpOptionEnabled);\r\n const deliveryTypeClass = getdeliveryTypeClassName(deliveryType, deliveryTypeStringMap);\r\n const storePickUp = retailMultiplePickUpOptionEnabled ? getStoreName(salesLine, deliveryType) : null;\r\n const deliveryTypeComp = retailMultiplePickUpOptionEnabled ? deliveryTypeString && \r\n : deliveryTypeString && ;\r\n const trackingInfo = isCurrentChannel && deliveryType === 'ship' && (\r\n
\r\n {trackingLabel}\r\n {shipment ? (\r\n \r\n {shipment.TrackingNumber}\r\n \r\n ) : (\r\n {trackingComingSoonLabel}\r\n )}\r\n
\r\n );\r\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BuyItAgain);\r\n const buyItAgainAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n const fallbackImageUrl = getFallbackImageUrl(product.ItemId, context.actionContext.requestContext.apiSettings);\r\n\r\n const canShowTimeslot: boolean = showTimeslot\r\n && deliveryType === pickupMode\r\n && salesLine.PickupTimeslotStartDateTime !== undefined\r\n && salesLine.PickupTimeslotEndDateTime !== undefined;\r\n\r\n const pickupDateTimeslot = canShowTimeslot ? getDateTimeslot(pickupTimeslotPlaceHolder, salesLine.PickupTimeslotStartDateTime, salesLine.PickupTimeslotEndDateTime, context.request.locale) : '';\r\n const pickupDateTimeslotInfo = canShowTimeslot && (\r\n
\r\n
{pickupDateTimeslotText}
\r\n
{pickupDateTimeslot}
\r\n
\r\n );\r\n if(imageSettings) {\r\n imageSettings.cropFocalRegion = true;\r\n }\r\n return {\r\n data: {\r\n salesLine,\r\n productUrl,\r\n deliveryType,\r\n salesStatus,\r\n product,\r\n shipment\r\n },\r\n salesLineProps: { className: `${moduleName}__sales-line` },\r\n salesLine: imageOnly ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n ),\r\n address: salesLine.ShippingAddress && (\r\n \r\n ),\r\n deliveryType: deliveryTypeComp,\r\n salesStatus: salesStatusComp,\r\n trackingInfo,\r\n buyAgainButton: retailMultiplePickUpOptionEnabled ? isCurrentChannel && (\r\n \r\n {buyItAgainLabel}\r\n \r\n ) :\r\n isCurrentChannel && (\r\n \r\n {buyItAgainLabel}\r\n \r\n ),\r\n pickupDateTimeslot: pickupDateTimeslotInfo\r\n };\r\n};\r\n\r\nexport const getPickupDeliveryMode = (salesLineDeliveryMode?: string, pickupDeliveryModeCode?: string, retailMultiplePickupOption?: boolean,\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration, productDeliveryOptions?: ProductDeliveryOptions[]): boolean => {\r\n if (retailMultiplePickupOption) {\r\n return salesLineDeliveryMode === channelDeliveryOptionConfig?.PickupDeliveryModeCodes?.find(dM => dM === salesLineDeliveryMode);\r\n } else {\r\n return !!pickupDeliveryModeCode && pickupDeliveryModeCode !== '' && pickupDeliveryModeCode === salesLineDeliveryMode;\r\n }\r\n};\r\n\r\nexport const getdeliveryTypeString = (deliveryType: string, deliveryTypeStringMap: IDeliveryTypeStringMap , retailMultiplePickupOption?: boolean): string | undefined=> {\r\n if(retailMultiplePickupOption) {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'carryout':\r\n case 'email':\r\n return deliveryTypeStringMap[deliveryType];\r\n default:\r\n return deliveryType;\r\n }\r\n } else {\r\n return deliveryTypeStringMap[deliveryType];\r\n }\r\n};\r\n\r\nexport const getdeliveryTypeClassName = (deliveryType: string, deliveryTypeStringMap: IDeliveryTypeStringMap , retailMultiplePickupOption?: boolean): string | undefined=> {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'carryout':\r\n case 'email':\r\n return deliveryType;\r\n default:\r\n return 'pickUp';\r\n }\r\n};\r\n\r\nexport const getPickupModeDesc = (product: SimpleProduct, salesLineDeliveryMode?: string, productDeliveryOptions?: ProductDeliveryOptions[], retailMultiplePickupOption?: boolean): string => {\r\n let deliveryOption: string = 'pickup';\r\n if (ArrayExtensions.hasElements(productDeliveryOptions) && product !== undefined) {\r\n const foundProductDeliveryOption = productDeliveryOptions?.find((deliveryO) => {\r\n return deliveryO && deliveryO.ProductId === product.RecordId;\r\n });\r\n const deliveryDesc = foundProductDeliveryOption?.DeliveryOptions ? foundProductDeliveryOption?.DeliveryOptions?.find(option => option.Code === salesLineDeliveryMode)?.Description: deliveryOption;\r\n if (deliveryDesc !== undefined) {\r\n deliveryOption = deliveryDesc;\r\n }\r\n }\r\n return deliveryOption;\r\n};\r\n\r\nexport const getStoreName = (salesLine: SalesLine, deliveryType?: string): string | undefined => {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'email':\r\n case 'carryout':\r\n return '';\r\n default:\r\n return `, ${salesLine.ShippingAddress?.Name}`;\r\n }\r\n};","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleComponentProps, IPriceContext } from '@msdyn365-commerce-modules/order-management/src/common/utilities';\r\nimport { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { IActionContext, IGridSettings, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration , OrderShipments, ProductDeliveryOptions, SalesLine, SalesOrder, Shipment, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getSalesLine, ISalesLine, ISalesLineResources } from './get-sales-line';\r\n\r\nexport interface IGetSalesLinesInput {\r\n moduleName: string;\r\n moduleComponentProps: IModuleComponentProps;\r\n isCurrentChannel: boolean;\r\n\r\n salesLines: SalesLine[];\r\n products: SimpleProduct[];\r\n shipments?: Shipment[];\r\n priceContext: IPriceContext;\r\n resources: ISalesLineResources;\r\n actionContext: IActionContext;\r\n gridSettings: IGridSettings;\r\n imageSettings?: IImageSettings;\r\n imageOnly?: boolean;\r\n showCompleteAddress?: boolean;\r\n showTimeslot: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n productDeliveryOptions?: ProductDeliveryOptions[];\r\n}\r\n\r\nexport const getSalesLines = ({\r\n moduleName,\r\n moduleComponentProps,\r\n salesLines,\r\n products,\r\n shipments,\r\n resources,\r\n isCurrentChannel,\r\n imageOnly,\r\n showCompleteAddress,\r\n showTimeslot,\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n}: IGetSalesLinesInput): ISalesLine[] => {\r\n return salesLines.map(salesLine => {\r\n const product = products.find(_product => _product.RecordId === salesLine.ProductId) || ({} as SimpleProduct);\r\n const shipment = shipments && shipments.find(_shipment => _shipment.ShipmentLines?.find(_shipmentLine => _shipmentLine.ItemId === product.ItemId));\r\n return getSalesLine({\r\n moduleName,\r\n moduleComponentProps,\r\n product,\r\n shipment,\r\n salesLine,\r\n isCurrentChannel,\r\n resources,\r\n imageOnly,\r\n showCompleteAddress,\r\n showTimeslot,\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n });\r\n });\r\n};\r\n\r\ninterface IProps extends IModuleComponentProps {\r\n resources: ISalesLineResources;\r\n}\r\n\r\nexport const getSalesLinesInput = (\r\n props: IProps,\r\n moduleName: string,\r\n order: SalesOrder | OrderShipments,\r\n products: SimpleProduct[],\r\n priceContext: IPriceContext,\r\n showCompleteAddress?: boolean,\r\n showTimeslot?: boolean,\r\n telemetryContent?: ITelemetryContent,\r\n retailMultiplePickUpOptionEnabled?: boolean,\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration,\r\n productDeliveryOptions?: ProductDeliveryOptions[] | undefined\r\n): IGetSalesLinesInput | undefined => {\r\n if (!order || !order.SalesLines || !order.SalesLines.length) {\r\n return;\r\n }\r\n\r\n const {\r\n resources,\r\n config: { imageSettings },\r\n context: {\r\n actionContext,\r\n request: {\r\n gridSettings,\r\n apiSettings: { channelId }\r\n }\r\n }\r\n } = props;\r\n\r\n const isCurrentChannel = !order.ChannelId || order.ChannelId === channelId;\r\n\r\n return {\r\n moduleName,\r\n moduleComponentProps: props,\r\n isCurrentChannel,\r\n salesLines: order.SalesLines,\r\n products,\r\n shipments: order.Shipments,\r\n priceContext: priceContext,\r\n resources,\r\n actionContext: actionContext,\r\n gridSettings: gridSettings!,\r\n imageSettings: imageSettings,\r\n showCompleteAddress: showCompleteAddress,\r\n showTimeslot: showTimeslot || false,\r\n telemetryContent: telemetryContent,\r\n retailMultiplePickUpOptionEnabled: retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig: channelDeliveryOptionConfig,\r\n productDeliveryOptions: productDeliveryOptions\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classname from 'classnames';\r\nimport get from 'lodash/get';\r\nimport { computed } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n getGroups,\r\n getTenderIdOperationIdMap,\r\n IGetOrderSummaryInput,\r\n IGroups,\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n IPaymentMethodsInput,\r\n IPriceContext,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management';\r\n\r\nimport { getOrderInformationInput, getOrderInformation, IOrderInformation } from './components/get-order-information';\r\n\r\nimport { Button, Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { CartLine, SalesOrder, SimpleProduct, OrderOriginator } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { publish } from '../../Utilities/analytics/analytics-dispatcher';\r\nimport { getAttributesForCart, IAttributeBank } from '../../Utilities/get-product-attributes';\r\n\r\nimport { wineClubSetup } from '../../settings/app.settings';\r\nimport { WineClubDataRef, WineClubDataStore } from '../wine-club-signup/wine-club-data';\r\nimport { getOrderDetailsHelp } from './components/get-help';\r\nimport { getOrderDetailsOrderSummary } from './components/get-order-summary';\r\nimport { getOrderDetailsPaymentMethods } from './components/get-payment-methods';\r\nimport { getSalesLines, getSalesLinesInput } from './components/get-sales-lines';\r\nimport { ISmweOrderDetailsData } from './smwe-order-details.data';\r\nimport { ISmweOrderDetailsProps } from './smwe-order-details.props.autogenerated';\r\n\r\nexport * from './components/get-help';\r\nexport * from './components/get-order-summary';\r\nexport * from './components/get-payment-methods';\r\n\r\nexport interface IPaymentMethodsInputExtended extends IPaymentMethodsInput {\r\n googlePayLabel: string;\r\n applePayLabel: string;\r\n}\r\nexport interface IOrderDetailsViewProps extends ISmweOrderDetailsProps {\r\n moduleProps: IModuleProps;\r\n salesOrder?: SalesOrder;\r\n footerProps?: INodeProps;\r\n alert?: React.ReactNode;\r\n loading?: React.ReactNode;\r\n heading: React.ReactNode;\r\n backToShoppingLink?: React.ReactNode;\r\n orderInfomation?: IOrderInformation;\r\n salesLines?: ISalesLine[];\r\n groups?: IGroups;\r\n orderSummary?: IOrderSummary;\r\n payment?: IPaymentMethods;\r\n help?: IHelp;\r\n isWineClubOrder?: boolean;\r\n isWineClubPickup?: boolean;\r\n wineClubData?: WineClubDataRef;\r\n}\r\n\r\n/**\r\n *\r\n * OrderDetails component\r\n * @extends {React.Component>}\r\n */\r\nclass OrderDetails extends React.Component> {\r\n private moduleName: string = 'ms-order-details';\r\n private parsedProductAttributes: IAttributeBank = {};\r\n private wineClubData: WineClubDataRef;\r\n\r\n @computed get isCurrentChannel(): boolean {\r\n if (!this.order) {\r\n return false;\r\n }\r\n return this.order.ChannelId === get(this.props, 'context.request.apiSettings.channelId');\r\n }\r\n\r\n @computed get isDataReady(): boolean {\r\n return get(this.props, 'data.orderHydration.status') === 'SUCCESS';\r\n }\r\n\r\n @computed get hasError(): boolean {\r\n return get(this.props, 'data.orderHydration.status') === 'FAILED';\r\n }\r\n\r\n @computed get order(): SalesOrder | undefined {\r\n return get(this.props, 'data.orderHydration.result.salesOrder');\r\n }\r\n\r\n @computed get products(): SimpleProduct[] {\r\n return get(this.props, 'data.orderHydration.result.products') || [];\r\n }\r\n\r\n @computed get priceContext(): IPriceContext {\r\n const {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n resources: { freePriceText }\r\n } = this.props;\r\n return {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n freePriceText\r\n };\r\n }\r\n\r\n @computed get earnedPoints(): number {\r\n const loyaltyCard = this.props.data.loyaltyCard.result;\r\n if (loyaltyCard && loyaltyCard.RewardPoints && this.order) {\r\n const pointPrograms = loyaltyCard.RewardPoints.map(point => point.RewardPointId);\r\n const rewardLines = this.order.LoyaltyRewardPointLines || [];\r\n let total = 0;\r\n rewardLines.forEach(line => {\r\n if ((line.RewardPointAmountQuantity || 0) > 0 && pointPrograms.indexOf(line.RewardPointId) > -1) {\r\n total += line.RewardPointAmountQuantity!;\r\n }\r\n });\r\n return total;\r\n }\r\n return 0;\r\n }\r\n\r\n @computed get orderSummaryProps(): IGetOrderSummaryInput | undefined {\r\n if (!this.order) {\r\n return;\r\n }\r\n\r\n const {\r\n resources: { orderSummaryHeading, orderSummaryItemsTotalLabel, orderSummaryShippingFeeLabel, orderSummaryTaxLabel, orderSummaryGrandTotalLabel, pointsEarnedLabel }\r\n } = this.props;\r\n return {\r\n order: this.order,\r\n earnedPoints: this.earnedPoints,\r\n priceContext: this.priceContext,\r\n resource: {\r\n orderSummaryHeading,\r\n orderSummaryItemsTotalLabel,\r\n orderSummaryShippingFeeLabel,\r\n orderSummaryTaxLabel,\r\n pointsEarnedLabel,\r\n orderSummaryGrandTotalLabel\r\n }\r\n };\r\n }\r\n\r\n @computed get paymentMethodsProps(): IPaymentMethodsInputExtended | undefined {\r\n const tenderTypes = this.props.data.tenderTypes.result;\r\n if (!this.order || !this.order.TenderLines || !tenderTypes) {\r\n return;\r\n }\r\n\r\n const locale = get(this.props, 'context.request.locale') || 'en-US';\r\n\r\n const {\r\n resources: {\r\n paymentMethodsTitle,\r\n creditCardEndingLabel,\r\n giftCardEndingLabel,\r\n amountCoveredLabel,\r\n cashUsedLabel,\r\n loyaltyCardUsedLabel,\r\n customerAccountUsedLabel,\r\n googlePayLabel,\r\n applePayLabel\r\n }\r\n } = this.props;\r\n\r\n return {\r\n priceContext: this.priceContext,\r\n tenderLines: this.order.TenderLines,\r\n tenderIdOperationIdMap: getTenderIdOperationIdMap(tenderTypes),\r\n locale,\r\n resource: {\r\n paymentMethodsTitle,\r\n creditCardEndingLabel,\r\n giftCardEndingLabel,\r\n amountCoveredLabel,\r\n cashUsedLabel,\r\n loyaltyCardUsedLabel,\r\n customerAccountUsedLabel,\r\n },\r\n googlePayLabel,\r\n applePayLabel\r\n };\r\n }\r\n\r\n // this should be moved to a utility (WineClubUtils) or something\r\n @computed get wineClubIds(): string[] {\r\n const wineClub = this.props.app.config.wineClubSetup as wineClubSetup | undefined;\r\n const ids: string[] = [];\r\n wineClub && wineClub.forEach(club => club.variants.forEach(variant => ids.push(variant.itemId)));\r\n return ids;\r\n }\r\n\r\n @computed get isWineClubOrder(): boolean {\r\n if (!this.order) { return false; }\r\n\r\n const lines = this.order.SalesLines || [];\r\n\r\n // clubs have only one item\r\n if (lines.length > 1) { return false; }\r\n\r\n for (const line of lines) {\r\n const isClubOrder = this.wineClubIds.find(clubId => +clubId === line.ProductId);\r\n if (isClubOrder) { return true; }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed get isWineClubPickup(): boolean {\r\n return this.wineClubData.deliveryType === 'PICKUP';\r\n }\r\n\r\n public constructor(props: ISmweOrderDetailsProps) {\r\n super(props);\r\n\r\n this.wineClubData = WineClubDataStore.getInstance().get();\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n public componentDidMount(): void {\r\n // Don't do anything unless emitAnalyticsEvent is enabled\r\n if (!this.props.config.emitAnalyticsEvent) {\r\n return;\r\n }\r\n\r\n // Wait for sales order and product data to load\r\n this.props.data.orderHydration.then(data => {\r\n\r\n // Ensure it loaded successfully\r\n if (this.isDataReady) {\r\n\r\n // Fetch attributes, then generate the checkout event\r\n this._setProductAttributes()\r\n .then(() => this._generatePurchaseAnalyticsEvent())\r\n .catch(e => this.props.telemetry.exception(e));\r\n }\r\n }).catch(e => this.props.telemetry.exception(e));\r\n WineClubDataStore.getInstance().reset();\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n public render(): JSX.Element {\r\n const {\r\n resources: {\r\n noSalesOrderText,\r\n genericErrorMessage,\r\n needHelpLabel,\r\n helpLineNumberLabel,\r\n loadingLabel,\r\n backToShopping,\r\n orderItemLabel,\r\n orderItemsLabel,\r\n helpLineContactAriaLabel,\r\n },\r\n\r\n config: { heading, contactNumber, showChannelInfo, showChannelName, shouldShowQrCode} } = this.props;\r\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\r\n const originators = this.props.data.orderOriginators && this.props.data.orderOriginators.result;\r\n const originator: OrderOriginator | undefined = originators && originators.length === 1 ? originators[0] : undefined;\r\n const moduleProps = { moduleProps: this.props, className: classname('ms-order-details', this.props.config.className) };\r\n const backToShoppingUrl = getUrlSync('home', this.props.context.actionContext) || '';\r\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\r\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\r\n\r\n let viewProps: IOrderDetailsViewProps = {\r\n ...this.props,\r\n moduleProps,\r\n heading: heading && ,\r\n backToShoppingLink: backToShoppingUrl && (\r\n \r\n ),\r\n footerProps: { className: 'ms-order-details__footer' }\r\n };\r\n\r\n if (this.hasError) {\r\n viewProps = {\r\n ...viewProps,\r\n alert: {genericErrorMessage}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n if (!this.isDataReady) {\r\n viewProps = {\r\n ...viewProps,\r\n loading: {loadingLabel}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n if (!this.order) {\r\n viewProps = {\r\n ...viewProps,\r\n alert: {noSalesOrderText}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n const salesLinesInput = getSalesLinesInput(this.props, this.moduleName, this.order, this.products, this.priceContext);\r\n const salesLines = salesLinesInput && getSalesLines(salesLinesInput);\r\n\r\n const orderInfomationInput = this.order && getOrderInformationInput(this.props, this.moduleName, this.order, this.priceContext, channelIdentities, orgUnitLocations, customer, originator, showChannelInfo, showChannelName, false, shouldShowQrCode ?? true);\r\n const orderInfomation = orderInfomationInput && getOrderInformation(orderInfomationInput);\r\n\r\n viewProps = {\r\n ...viewProps,\r\n salesOrder: this.order,\r\n orderInfomation,\r\n salesLines,\r\n groups: salesLines\r\n ? getGroups({\r\n moduleName: this.moduleName,\r\n salesLines,\r\n resources: { orderItemLabel, orderItemsLabel }\r\n })\r\n : undefined,\r\n orderSummary: this.orderSummaryProps ? getOrderDetailsOrderSummary(this.orderSummaryProps) : undefined,\r\n payment: this.paymentMethodsProps ? getOrderDetailsPaymentMethods(this.paymentMethodsProps) : undefined,\r\n help: contactNumber ? getOrderDetailsHelp({ needHelpLabel, helpLineNumberLabel, contactNumber, helpLineContactAriaLabel }) : undefined,\r\n isWineClubOrder: this.isWineClubOrder,\r\n isWineClubPickup: this.isWineClubPickup,\r\n wineClubData: this.wineClubData\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n private _generatePurchaseAnalyticsEvent(): void {\r\n if (this.order?.SalesLines) {\r\n\r\n // Format product data for Purchase event\r\n const products = this.order.SalesLines.map(line => {\r\n const product = this.products.find(entry => entry.RecordId === line.ProductId);\r\n\r\n // For some reason, if we properly use the external constant for IsSubsciption (or better yet, the isLineSubscriptionLine\r\n // helper) React explodes with a cryptic error about an undefined component.\r\n const isSubscription = !!line?.ExtensionProperties?.find(ext => ext.Key === 'IsSubscription');\r\n\r\n return {\r\n product,\r\n quantity: line.Quantity,\r\n subscription: isSubscription,\r\n discounts: line.DiscountLines,\r\n attributes: this.parsedProductAttributes[line.ProductId!],\r\n price: line.NetAmount ? (line.NetAmount / (line.Quantity || 1)).toFixed(2) : line.Price,\r\n\r\n context: this.props.context,\r\n };\r\n });\r\n\r\n // Generate a GA event\r\n publish('purchase', {\r\n id: this.order.ChannelReferenceId, // Id = transaction ID, ChannelReferenceId = Confirmation #\r\n revenue: this.order.TotalAmount,\r\n tax: this.order.TaxAmount,\r\n shipping: this.order.ChargeAmount,\r\n coupon: this.order.Coupons?.map(coupon => coupon.Code).join(','),\r\n affiliation: this.order.ChannelId,\r\n products\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------\r\n // Fetch product attributes for all products on a sales order\r\n //----------------------------------------------------------\r\n private async _setProductAttributes(): Promise {\r\n if (this.order) {\r\n const salesLines = this.order.SalesLines;\r\n\r\n if (salesLines) {\r\n const fakeCartLines: CartLine[] = salesLines.map(line => ({ ProductId: line.ProductId }));\r\n this.parsedProductAttributes = await getAttributesForCart(fakeCartLines, this.props.context.actionContext);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default OrderDetails;\r\n","import * as React from 'react';\r\nimport { wineClubPickupLocations } from '../../../settings/app.settings';\r\nimport { WineClubDataRef } from '../../wine-club-signup/wine-club-data';\r\nimport { IOrderDetailsViewProps } from '../smwe-order-details';\r\n\r\nexport interface IWineClubDetailsProps {\r\n orderDetailProps: IOrderDetailsViewProps;\r\n wineClubData: WineClubDataRef;\r\n}\r\n\r\n/**\r\n * renders wine club details ONCE, and wipes\r\n */\r\nexport class WineClubDetails extends React.Component {\r\n constructor(props: IWineClubDetailsProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.props.wineClubData.variantPreference === null) {\r\n return
;\r\n }\r\n return (\r\n
\r\n {this._shipTypeJSX}\r\n {this._isGiftJSX}\r\n
\r\n );\r\n }\r\n\r\n private get _shipTypeJSX(): JSX.Element {\r\n const shipType = this.props.wineClubData.deliveryType;\r\n\r\n let display = 'Ship To';\r\n let pickupLocationName: string | undefined;\r\n let pickupLocationAddress: string | undefined;\r\n if (shipType === 'PICKUP') {\r\n display = 'Pickup';\r\n const locations = this.props.orderDetailProps.context.app.config.wineClubPickupLocations as wineClubPickupLocations || [];\r\n const selectedLocation = locations.find(location => location.id === this.props.wineClubData.pickupLocationId);\r\n if (selectedLocation) {\r\n pickupLocationName = selectedLocation.name;\r\n pickupLocationAddress = selectedLocation.address;\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n Delivery Method:\r\n {display}\r\n
\r\n {\r\n shipType === 'PICKUP' && (\r\n
\r\n Deliver To:\r\n {pickupLocationName} at\r\n {pickupLocationAddress}\r\n
\r\n )\r\n }\r\n
\r\n );\r\n }\r\n\r\n private get _isGiftJSX(): JSX.Element {\r\n return (\r\n
\r\n Gift Membership:\r\n \r\n {\r\n this.props.wineClubData.forMyself ? 'No' : 'Yes'\r\n }\r\n \r\n
\r\n );\r\n }\r\n\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { WineClubDetails } from './components/wine-club-details';\r\nimport { IOrderDetailsViewProps } from './smwe-order-details';\r\n\r\nexport const OrderDetailsOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress,\r\n isWineClubOrder,\r\n props\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {channelReferenceId}\r\n {salesId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {isWineClubOrder && props && WineClubDetailsRender(props)}\r\n \r\n);\r\n\r\nexport const OrderDetailsSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroupDelivery: React.FC = ({ deliveryProps, heading, count, address, trackingInfo, isWineClubOrder }) => {\r\n return (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n {trackingInfo}\r\n \r\n );\r\n};\r\n\r\nexport const OrderDetailsGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines, isWineClubOrder }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n \r\n {salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroups: React.FC = ({ groupsProps, groups, isWineClubOrder, isWineClubPickup }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderDetailsOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderDetailsPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderDetailsHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nexport const WineClubDetailsRender = (props: IOrderDetailsViewProps) => {\r\n return ;\r\n};\r\n\r\nconst OrderDetailsView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n isWineClubOrder,\r\n isWineClubPickup\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport { EnumExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nexport interface IOrderHistoryFilterResources {\r\n orderHistoryFilterYourOrderHistory: string;\r\n orderHistoryFilterOrganizationWide: string;\r\n}\r\n\r\nexport interface IOrderHistoryFilterData {\r\n customerInformation: Customer;\r\n}\r\n\r\nexport interface IOrderHistoryFilterProps extends IComponentProps {\r\n className: string;\r\n\r\n resources: IOrderHistoryFilterResources;\r\n\r\n currentState: OrderHistoryFilterState;\r\n onFilterStateChanged(state: OrderHistoryFilterState): void;\r\n}\r\n\r\nexport enum OrderHistoryFilterState {\r\n CurrentUser,\r\n OrganizationWide\r\n}\r\n\r\nconst getOrderHistoryFilterStateResources = (filterState: OrderHistoryFilterState, resources: IOrderHistoryFilterResources): string => {\r\n switch (filterState) {\r\n case OrderHistoryFilterState.CurrentUser:\r\n return resources.orderHistoryFilterYourOrderHistory;\r\n case OrderHistoryFilterState.OrganizationWide:\r\n return resources.orderHistoryFilterOrganizationWide;\r\n default:\r\n throw new Error('Failed to retrieve resource description for unknown order history filter state.');\r\n }\r\n};\r\n\r\n/**\r\n * On Click functionality.\r\n * @param onStateClick -Filter state function.\r\n * @param filterState -Order history filter state.\r\n * @returns On state click functionality.\r\n */\r\nconst onClickHandler = (onStateClick: (filterState: OrderHistoryFilterState) => void, filterState: OrderHistoryFilterState) => () => {\r\n onStateClick(filterState);\r\n};\r\n\r\nconst renderFilterStateItem = (\r\n filterState: OrderHistoryFilterState,\r\n resources: IOrderHistoryFilterResources,\r\n className: string,\r\n onStateClick: (filterState: OrderHistoryFilterState) => void\r\n): React.ReactNode => {\r\n const stateStringRepresentation = OrderHistoryFilterState[filterState];\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * On Toggle Popover functionality.\r\n * @param setPopoverState -Set popover state function.\r\n * @param isPopoverState -Boolean value.\r\n * @returns Set toggle popover state functionality.\r\n */\r\nconst togglePopoverHandler = (setPopoverState: React.Dispatch>, isPopoverState: boolean) => () => {\r\n setPopoverState(!isPopoverState);\r\n};\r\n\r\nconst OrderHistoryFilter: React.FC = (props: IOrderHistoryFilterProps) => {\r\n // Current version of filter doesn't include functionality for non b2b users.\r\n if (!props.data.customerInformation.IsB2bAdmin && !props.data.customerInformation.IsB2b) {\r\n return
;\r\n }\r\n\r\n const popoverRef = React.createRef();\r\n const [popoverState, setPopoverState] = React.useState(false);\r\n\r\n const [filterState, setFilterState] = React.useState(props.currentState);\r\n\r\n const onFilterStateClick = (clickedState: OrderHistoryFilterState) => {\r\n setFilterState(clickedState);\r\n setPopoverState(false);\r\n props.onFilterStateChanged(clickedState);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {getOrderHistoryFilterStateResources(filterState, props.resources)}\r\n \r\n \r\n {EnumExtensions.getEnumValues(OrderHistoryFilterState).map(state => {\r\n return renderFilterStateItem(state, props.resources, props.className, onFilterStateClick);\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const OrderHistoryFilterComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IOrderHistoryFilterProps\r\n>('OrderHistoryFilterComponent', { component: OrderHistoryFilter });\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n CacheType,\r\n createObservableDataAction,\r\n IAction,\r\n IActionContext,\r\n IActionInput,\r\n ICommerceApiSettings\r\n} from '@msdyn365-commerce/core';\r\nimport { IQueryResultSettings, SalesLine } from '@msdyn365-commerce/retail-proxy';\r\nimport { getOrderShipmentsHistoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\r\nimport { OrderShipments, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport {\r\n buildCacheKey,\r\n getOrganizationWideOrderHistory,\r\n GetOrganizationWideOrderHistoryInput,\r\n getSimpleProducts,\r\n ProductInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { OrderHistoryFilterState } from '../components/smwe-order-history-filter';\r\n\r\n/**\r\n * IPaging Interface.\r\n */\r\nexport interface IPaging {\r\n top: number;\r\n skip: number;\r\n}\r\n\r\n/**\r\n * IOrderHistory Interface.\r\n */\r\nexport interface IOrderHistory {\r\n salesOrders: OrderShipments[];\r\n products: SimpleProduct[];\r\n nextPageToken?: string;\r\n}\r\n\r\n/**\r\n * IOrderHistoryResult Interface.\r\n */\r\nexport interface IOrderHistoryResult {\r\n salesOrders: OrderShipments[];\r\n nextPageToken?: string;\r\n}\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param paging - Paging interface.\r\n * @param nextPageToken - Next Page Link.\r\n * @returns Collection of OrderShipments.\r\n */\r\nconst getOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (ctx: IActionContext): Promise => {\r\n const orderHistoryResults = getOrderShipmentsHistoryAsync(\r\n {\r\n callerContext: ctx,\r\n bypassCache: 'get',\r\n queryResultSettings: {\r\n Paging: {\r\n Top: paging.top,\r\n NextPageToken: nextPageToken\r\n }\r\n }\r\n },\r\n '',\r\n nextPageToken\r\n );\r\n\r\n const orderHistoryResponse = await orderHistoryResults;\r\n const nextLinkUrl = orderHistoryResults.metadata?.others?.nextLink;\r\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\r\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\r\n return {\r\n salesOrders: orderHistoryResponse,\r\n nextPageToken: nextPage\r\n };\r\n};\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param paging - Paging props.\r\n * @param nextPageToken - Next Page Link.\r\n * @returns Collections of order shipments.\r\n */\r\nconst getOrganizationWideOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (\r\n context: IActionContext\r\n): Promise => {\r\n const queryResultSetting: IQueryResultSettings = {\r\n Paging: {\r\n Top: paging.top,\r\n Skip: paging.skip,\r\n NextPageToken: nextPageToken\r\n }\r\n };\r\n\r\n const orgOrderHistoryResults = getOrganizationWideOrderHistory(new GetOrganizationWideOrderHistoryInput(queryResultSetting), context);\r\n\r\n const orgOrderHistoryResponse = await orgOrderHistoryResults;\r\n const nextLinkUrl = orgOrderHistoryResults.metadata?.others?.nextLink;\r\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\r\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\r\n return {\r\n salesOrders: orgOrderHistoryResponse,\r\n nextPageToken: nextPage\r\n };\r\n};\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param productIds - Collection of products id.\r\n * @param channelId - ChannelId number.\r\n * @returns Collections of simple products.\r\n */\r\nconst getProducts = (productIds: number[] = [], channelId?: number) => (ctx: IActionContext): Promise => {\r\n const productInputs = productIds.map(\r\n productId => new ProductInput(productId, ctx.requestContext.apiSettings, channelId, undefined, ctx.requestContext)\r\n );\r\n return getSimpleProducts(productInputs, ctx);\r\n};\r\n\r\n/**\r\n * Action input.\r\n */\r\nexport class GetSalesOrderHistoryWithHydrationsInput implements IActionInput {\r\n public paging: IPaging;\r\n\r\n public filterState: OrderHistoryFilterState;\r\n\r\n public nextPageToken?: string;\r\n\r\n private readonly apiSettings: ICommerceApiSettings;\r\n\r\n constructor(paging: IPaging, apiSettings: ICommerceApiSettings, filterState?: OrderHistoryFilterState, nextPageLink?: string) {\r\n this.apiSettings = apiSettings;\r\n this.paging = paging;\r\n this.filterState = filterState || OrderHistoryFilterState.CurrentUser;\r\n this.nextPageToken = nextPageLink;\r\n }\r\n\r\n public getCacheKey = () => buildCacheKey('OrderHistory', this.apiSettings);\r\n\r\n /**\r\n * GetCacheObjectType.\r\n * @returns String.\r\n */\r\n public getCacheObjectType = () => 'OrderHistory';\r\n\r\n public dataCacheType = (): CacheType => 'none';\r\n}\r\n\r\n/**\r\n * Splits product ids from the given orders into lists by their channel id.\r\n * @param {OrderShipments[]} salesOrders Orders with the products.\r\n * @param {number} currentChannelId Channel id to use by default if no channel id is provided for a product.\r\n * @returns {{ [x: number]: number[] }} A dictionary where the key is a channel id,\r\n * and the value is a list of product ids in which all items correspond to the key channel id.\r\n * @remark The list of product ids is always non-empty.\r\n */\r\nconst splitProductsByChannelId = (salesOrders: OrderShipments[], currentChannelId: number): { [x: number]: number[] } => {\r\n const productIdsByChannel: { [x: number]: number[] } = {};\r\n\r\n salesOrders.forEach(salesOrder =>\r\n salesOrder?.SalesLines?.forEach(line => {\r\n const orderProductId = line.ProductId || 0;\r\n const orderChannelId = salesOrder.ChannelId || currentChannelId;\r\n if (!productIdsByChannel[orderChannelId]) {\r\n productIdsByChannel[orderChannelId] = [];\r\n }\r\n productIdsByChannel[orderChannelId].push(orderProductId);\r\n })\r\n );\r\n\r\n return productIdsByChannel;\r\n};\r\n\r\n/**\r\n * Get sales order with hydrations action.\r\n * @param input - GetOrderHistory hydration input.\r\n * @param context - Channel context.\r\n * @returns - Order History props.\r\n */\r\nexport async function getSalesOrderHistoryWithHydrationsAction(\r\n input: GetSalesOrderHistoryWithHydrationsInput,\r\n context: IActionContext\r\n): Promise {\r\n if (!context) {\r\n throw new Error('getSalesOrderWithHydrationsAction - Action context cannot be null/undefined');\r\n }\r\n const channelId = context.requestContext.apiSettings.channelId;\r\n let salesOrders: OrderShipments[] = [];\r\n let nextPage: string | undefined = '';\r\n let orderHistoryResponse: IOrderHistoryResult;\r\n\r\n switch (input.filterState) {\r\n case OrderHistoryFilterState.CurrentUser:\r\n orderHistoryResponse = await getOrderShipmentHistory(input.paging, input.nextPageToken)(context);\r\n salesOrders = orderHistoryResponse.salesOrders;\r\n nextPage = orderHistoryResponse.nextPageToken;\r\n break;\r\n case OrderHistoryFilterState.OrganizationWide:\r\n orderHistoryResponse = await getOrganizationWideOrderShipmentHistory(input.paging, input.nextPageToken)(context);\r\n salesOrders = orderHistoryResponse.salesOrders;\r\n nextPage = orderHistoryResponse.nextPageToken;\r\n break;\r\n default:\r\n throw new Error('getSalesOrderWithHydrationsAction - Invalid OrderHistoryFilterState passed');\r\n }\r\n\r\n salesOrders.map(salesOrder => {\r\n return (salesOrder.SalesLines = salesOrder.SalesLines?.filter((saleline: SalesLine) => !saleline.IsVoided));\r\n });\r\n\r\n if (!salesOrders || salesOrders.length === 0) {\r\n return {\r\n salesOrders: [],\r\n products: [],\r\n nextPageToken: nextPage\r\n };\r\n }\r\n\r\n // Splits the data by channel ids so that the products from different channels can be processed separately.\r\n const productIdsByChannelId = splitProductsByChannelId(salesOrders, channelId);\r\n\r\n // Promise that retrieves information about the products for each channel id.\r\n // Note, the list of product ids should not be empty\r\n // as it will generate an empty request which will force the promise to fail.\r\n const getProductsPromise = Object.entries(productIdsByChannelId).map(([entryChannelId, entryProductIdsList]) => {\r\n const getProductsCall = getProducts(entryProductIdsList, Number(entryChannelId));\r\n return getProductsCall(context);\r\n });\r\n\r\n return Promise.all(getProductsPromise)\r\n .then(\r\n (productList): IOrderHistory => {\r\n const products = productList.reduce((memo, list) => {\r\n return [...memo, ...list];\r\n }, []);\r\n return {\r\n salesOrders,\r\n products,\r\n nextPageToken: nextPage\r\n };\r\n }\r\n )\r\n .catch(error => {\r\n context.telemetry.exception(error);\r\n context.telemetry.debug('Failed to get products');\r\n throw error;\r\n });\r\n}\r\n\r\nexport const getSalesOrderHistoryWithHydrationsActionDataAction = createObservableDataAction({\r\n id: '@msdyn365-commerce-modules/order-management/order-history/get-order-shipment-history',\r\n action: >getSalesOrderHistoryWithHydrationsAction\r\n});\r\n\r\nexport default getSalesOrderHistoryWithHydrationsActionDataAction;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\r\nimport {\r\n ChannelDeliveryOptionConfiguration,\r\n ChannelIdentity,\r\n format,\r\n OrderShipments,\r\n OrgUnitLocation,\r\n SimpleProduct\r\n} from '@msdyn365-commerce/retail-proxy';\r\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n INodeProps,\r\n ITelemetryContent,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { Observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { ExpandButtonState, SalesLineState } from '@msdyn365-commerce-modules/order-management';\r\nimport { getGroups, IGroups } from '@msdyn365-commerce-modules/order-management';\r\nimport { getOrderInformation, getOrderInformationInput, IOrderInformation } from '../../smwe-order-details/components/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management';\r\nimport { getSalesLines, getSalesLinesInput, IGetSalesLinesInput } from '@msdyn365-commerce-modules/order-management';\r\nimport { ISmweOrderHistoryData } from '../smwe-order-history.data';\r\nimport { ISmweOrderHistoryProps } from '../smwe-order-history.props.autogenerated';\r\n\r\nexport interface ISalesOrderProps extends ISmweOrderHistoryProps {\r\n salesOrder: OrderShipments;\r\n products: SimpleProduct[];\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n showChannelInfo?: boolean;\r\n showChannelName?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n salesLinesLimit?: number;\r\n}\r\n\r\nexport interface ISalesOrder {\r\n salesOrderProps: INodeProps;\r\n orderInfomation: IOrderInformation;\r\n groups?: IGroups;\r\n orderDetailsLink: React.ReactNode;\r\n expandProductsButton?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Retrieves the url for order details page.\r\n * @param actionContext - Core action context.\r\n * @param salesOrder - Order information.\r\n * @returns Url to order details.\r\n */\r\nexport const getOrderDetailsPageUrl = (actionContext: IActionContext, salesOrder: OrderShipments): string => {\r\n const orderDetailsUrl = getUrlSync('orderDetails', actionContext) || '';\r\n const separator = orderDetailsUrl.includes('?') ? '&' : '?';\r\n if (salesOrder.SalesId) {\r\n // Redirect with sales order sales id\r\n return `${orderDetailsUrl}${separator}salesId=${salesOrder.SalesId}`;\r\n }\r\n\r\n // Redirect with sales order transaction id\r\n return `${orderDetailsUrl}${separator}transactionId=${salesOrder.TransactionId!}`;\r\n};\r\n\r\n/**\r\n * Updates product states to show all products.\r\n * @param expandButtonState - Expand button state.\r\n * @param productStates - Product states.\r\n * @returns Callback method.\r\n */\r\nconst onExpandProductsCallback = (expandButtonState: ExpandButtonState, productStates: SalesLineState[]) => () => {\r\n for (const productState of productStates) {\r\n productState.isHidden = false;\r\n }\r\n expandButtonState.extraProductsCount = 0;\r\n};\r\n\r\nexport const getSalesOrder = (input: ISalesOrderProps): ISalesOrder => {\r\n const {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n products,\r\n salesOrder,\r\n showChannelInfo,\r\n showChannelName,\r\n channelIdentities,\r\n orgUnitLocations,\r\n telemetryContent,\r\n resources: { freePriceText, detailsAriaLabel, detailsLabel, orderItemLabel, orderItemsLabel },\r\n context: { actionContext },\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig\r\n } = input;\r\n\r\n const moduleName = 'ms-order-history';\r\n\r\n const priceContext = {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n freePriceText\r\n };\r\n\r\n const salesOrderProps = { className: 'ms-order-history__sales-order', key: salesOrder.SalesId || salesOrder.TransactionId };\r\n\r\n const orderInfomationInput = getOrderInformationInput(\r\n input,\r\n moduleName,\r\n salesOrder,\r\n priceContext,\r\n channelIdentities,\r\n orgUnitLocations,\r\n undefined,\r\n undefined,\r\n showChannelInfo,\r\n showChannelName\r\n );\r\n const orderInfomation = getOrderInformation(orderInfomationInput);\r\n\r\n const salesLinesInput =\r\n products &&\r\n getSalesLinesInput(\r\n input,\r\n moduleName,\r\n salesOrder,\r\n products,\r\n priceContext,\r\n undefined,\r\n undefined,\r\n undefined,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig\r\n );\r\n\r\n let salesLines: ISalesLine[] | undefined;\r\n let expandProductsButton: React.ReactNode;\r\n if (salesLinesInput) {\r\n const getSalesLinesInputProps: IGetSalesLinesInput = { ...salesLinesInput, imageOnly: true };\r\n if (!ObjectExtensions.isNullOrUndefined(input.salesLinesLimit)) {\r\n const extraProductsCount = getSalesLinesInputProps.salesLines.length - input.salesLinesLimit;\r\n getSalesLinesInputProps.salesLineStates = getSalesLinesInputProps.salesLines.map(\r\n (salesLine, index) => new SalesLineState(`${salesLine.LineId ?? ''}-${index}`, index >= input.salesLinesLimit!)\r\n );\r\n if (extraProductsCount > 0) {\r\n const expandButtonState = new ExpandButtonState(extraProductsCount);\r\n expandProductsButton = (\r\n <>\r\n \r\n {() => {\r\n const text = format(\r\n input.resources.orderHistoryExpandProductsButtonText,\r\n expandButtonState.extraProductsCount\r\n );\r\n return (\r\n expandButtonState.extraProductsCount > 0 && (\r\n \r\n {text}\r\n \r\n )\r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n }\r\n salesLines = getSalesLines(getSalesLinesInputProps);\r\n }\r\n\r\n expandProductsButton = (\r\n <>\r\n {expandProductsButton}\r\n
\r\n \r\n );\r\n\r\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.OrderDetails);\r\n const orderDetailsAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n const groups =\r\n salesLines &&\r\n getGroups({\r\n moduleName,\r\n salesLines,\r\n resources: { orderItemLabel, orderItemsLabel },\r\n retailMultiplePickUpOptionEnabled\r\n });\r\n\r\n const orderDetailsLink = (\r\n \r\n {detailsLabel}\r\n \r\n );\r\n return {\r\n salesOrderProps,\r\n orderInfomation,\r\n groups,\r\n orderDetailsLink,\r\n expandProductsButton\r\n };\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\n/**\r\n * Resources which are used in order history header.\r\n */\r\nexport interface IOrderHistoryTableHeaderResources {\r\n orderHistoryOrderNumberText: string;\r\n orderHistoryCreatedDateText: string;\r\n orderHistoryItemsText: string;\r\n orderHistoryTotalText: string;\r\n orderHistoryOriginText: string;\r\n}\r\n\r\n/**\r\n * Configuration of the component.\r\n */\r\nexport interface IOrderHistoryTableHeaderProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableHeaderResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Renders desktop view cells.\r\n * @param props - Configuration of the module.\r\n * @returns List of cells for the header.\r\n */\r\nconst getDesktopHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\r\n const { resources } = props;\r\n\r\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\r\n\r\n return (\r\n <>\r\n {resources.orderHistoryOrderNumberText}\r\n {resources.orderHistoryCreatedDateText}\r\n {resources.orderHistoryItemsText}\r\n {resources.orderHistoryTotalText}\r\n {props.shouldShowChannelInfo && {resources.orderHistoryOriginText}}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders mobile view cells.\r\n * @param props - Configuration of the module.\r\n * @returns List of cells for the header.\r\n */\r\nconst getMobileHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\r\n const { resources } = props;\r\n return (\r\n <>\r\n {resources.orderHistoryOrderNumberText}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Order history table header component.\r\n * @param props - Configuration of the component.\r\n * @returns React node with the header.\r\n */\r\nexport const OrderHistoryTableHeaderComponent: React.FC = (props: IOrderHistoryTableHeaderProps) => {\r\n const rowClassName = `${props.className}__row`;\r\n\r\n let headerCells: JSX.Element;\r\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n if (isMobileView) {\r\n headerCells = getMobileHeaderCells(props);\r\n } else {\r\n headerCells = getDesktopHeaderCells(props);\r\n }\r\n\r\n return (\r\n \r\n {headerCells}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, { IComponentProps, ICoreContext, IDateFormatOptions } from '@msdyn365-commerce/core';\r\nimport { ChannelIdentity, format, OrderShipments, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { getOrderChannelAddress, getOrderChannelName } from '@msdyn365-commerce-modules/order-management';\r\nimport { countItems } from '@msdyn365-commerce-modules/order-management';\r\nimport { getOrderDetailsPageUrl } from '../../get-sales-order';\r\n\r\n/**\r\n * Data required to render each order history row.\r\n */\r\nexport interface IOrderHistoryTableRowData {\r\n salesOrder: OrderShipments;\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n}\r\n\r\n/**\r\n * Resources for order history table rows.\r\n */\r\nexport interface IOrderHistoryTableRowResources {\r\n orderHistoryViewDetailsButtonText: string;\r\n orderHistoryViewDetailsButtonAriaLabel: string;\r\n orderHistoryCreatedDateMobileDescriptionText: string;\r\n orderHistoryOrderNumberIsNotAvailable: string;\r\n\r\n onlineStoreChannelNameText: string;\r\n posChannelNameText: string;\r\n}\r\n\r\n/**\r\n * Configuration for the order history rows.\r\n */\r\nexport interface IOrderHistoryTableRowProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableRowResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Formats amount.\r\n * @param context - Core context.\r\n * @param amount - Amount to display.\r\n * @param currencyCode - Currency for the amount.\r\n * @returns String value.\r\n */\r\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\r\n if (amount === undefined) {\r\n return '';\r\n }\r\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\r\n};\r\n\r\n/**\r\n * Formats date.\r\n * @param context - Core context.\r\n * @param date - Date to display.\r\n * @returns String value.\r\n */\r\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\r\n if (date === undefined) {\r\n return '';\r\n }\r\n\r\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\r\n return context.cultureFormatter.formatDate(date, dateOptions);\r\n};\r\n\r\n/**\r\n * Renders rows for desktop view.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows for desktop view.\r\n */\r\nexport const OrderHistoryDesktopTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const {\r\n data: { salesOrder }\r\n } = props;\r\n\r\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\r\n\r\n const defaultCount = 0;\r\n const itemsCount = ArrayExtensions.hasElements(salesOrder.SalesLines) ? countItems(salesOrder.SalesLines) : defaultCount;\r\n const channelName = getOrderChannelName(salesOrder, props.data.channelIdentities);\r\n const channelAddress = getOrderChannelAddress(salesOrder, props.data.orgUnitLocations);\r\n\r\n const columnWithNumberClassName = `${props.className}__column-with-number`;\r\n\r\n let orderNumberCellText = props.resources.orderHistoryOrderNumberIsNotAvailable;\r\n if (!StringExtensions.isNullOrWhitespace(salesOrder.SalesId)) {\r\n orderNumberCellText = salesOrder.SalesId!;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {orderNumberCellText}\r\n \r\n {formatDate(props.context, salesOrder.CreatedDateTime)}\r\n {itemsCount}\r\n {formatAmount(props.context, salesOrder.TotalAmount, salesOrder.CurrencyCode)}\r\n {props.shouldShowChannelInfo && (\r\n \r\n {channelName &&\r\n (channelAddress\r\n ? `${props.resources.posChannelNameText} ${channelName}`\r\n : props.resources.onlineStoreChannelNameText)}\r\n \r\n )}\r\n \r\n \r\n {props.resources.orderHistoryViewDetailsButtonText}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders rows for mobile view.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows for mobile view.\r\n */\r\nexport const OrderHistoryMobileTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const {\r\n data: { salesOrder }\r\n } = props;\r\n\r\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\r\n\r\n const onClickViewDetails = React.useCallback(() => {\r\n if (MsDyn365.isBrowser) {\r\n window.location.href = linkToOrderHistoryDetails;\r\n }\r\n }, [linkToOrderHistoryDetails]);\r\n\r\n const orderNumber = StringExtensions.isNullOrWhitespace(salesOrder.SalesId)\r\n ? props.resources.orderHistoryOrderNumberIsNotAvailable\r\n : salesOrder.SalesId!;\r\n\r\n const dateText = format(\r\n props.resources.orderHistoryCreatedDateMobileDescriptionText,\r\n formatDate(props.context, salesOrder.CreatedDateTime)\r\n );\r\n\r\n const cellClassName = `${props.className}__mobile-cell`;\r\n\r\n return (\r\n <>\r\n \r\n \r\n {orderNumber}\r\n {dateText}\r\n
\r\n \r\n \r\n \r\n {props.resources.orderHistoryViewDetailsButtonText}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders order history rows.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows.\r\n */\r\nexport const OrderHistoryTableRowComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n\r\n return (\r\n \r\n {isMobileView ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ChannelIdentity, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport React from 'react';\r\n\r\nimport { IOrderHistory } from '../../actions/get-order-shipment-history';\r\nimport { IOrderHistoryTableHeaderResources, OrderHistoryTableHeaderComponent } from './components/smwe-order-history-table-header-component';\r\nimport { IOrderHistoryTableRowResources, OrderHistoryTableRowComponent } from './components/smwe-order-history-table-row-component';\r\n\r\n/**\r\n * Interface with the data required for order history.\r\n */\r\nexport interface IOrderHistoryTableData {\r\n orderHistory: IOrderHistory;\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n}\r\n\r\n/**\r\n * Resources needed to render order history table.\r\n */\r\nexport interface IOrderHistoryTableResources extends IOrderHistoryTableHeaderResources, IOrderHistoryTableRowResources {}\r\n\r\n/**\r\n * Configuration of order history table.\r\n */\r\nexport interface IOrderHistoryTableProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Renders order history table.\r\n * @param props - Configuration for order history table.\r\n * @returns React node with the table.\r\n */\r\nexport const OrderHistoryTableComponent: React.FC = (props: IOrderHistoryTableProps) => {\r\n const rowClassName = `${props.className}__row`;\r\n const headerClassName = `${props.className}__header`;\r\n\r\n return (\r\n \r\n \r\n {props.data.orderHistory.salesOrders.map((salesOrder, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n IPayLoad,\r\n ITelemetryContent,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { Label } from '@msdyn365-commerce-modules/order-management';\r\nimport {\r\n getSalesOrderHistoryWithHydrationsAction,\r\n GetSalesOrderHistoryWithHydrationsInput,\r\n IOrderHistory,\r\n IPaging\r\n} from './actions/get-order-shipment-history';\r\nimport { getSalesOrder, ISalesOrder } from './components/get-sales-order';\r\nimport { OrderHistoryFilterComponent, OrderHistoryFilterState } from './components/smwe-order-history-filter';\r\nimport { OrderHistoryTableComponent } from './components/table-view';\r\nimport { ISmweOrderHistoryData } from './smwe-order-history.data';\r\nimport { ISmweOrderHistoryProps } from './smwe-order-history.props.autogenerated';\r\n\r\n/**\r\n * Specifies different layouts for order history.\r\n */\r\nexport enum OrderHistoryViewMode {\r\n listView = 0,\r\n detailedView = 1\r\n}\r\n\r\nexport interface IHeader {\r\n headerProps: INodeProps;\r\n heading: React.ReactNode;\r\n orderCountLabel?: React.ReactNode;\r\n extraActions?: React.ReactNode;\r\n}\r\n\r\nexport interface IList {\r\n listProps: INodeProps;\r\n salesOrders: ISalesOrder[];\r\n}\r\n\r\nexport interface IOrderHistoryViewState {\r\n isDataReady: boolean;\r\n hasError: boolean;\r\n isLoading: boolean;\r\n isShowMoreButton: boolean;\r\n errorCode?: string;\r\n errorMessage?: string;\r\n}\r\n\r\nexport interface IOrderHistoryViewProps extends ISmweOrderHistoryProps {\r\n orderHistory: IOrderHistory;\r\n orderHistoryProps: IModuleProps;\r\n alert?: React.ReactNode;\r\n loading?: React.ReactNode;\r\n emptyMessage?: React.ReactNode;\r\n header: IHeader;\r\n backToShoppingLink?: React.ReactNode;\r\n list?: IList;\r\n table?: React.ReactNode;\r\n moreButton?: React.ReactNode;\r\n viewState: IOrderHistoryViewState;\r\n}\r\n\r\n/**\r\n *\r\n * OrderHistory component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass OrderHistory extends React.Component> {\r\n @observable private orderHistory!: IOrderHistory;\r\n\r\n @observable private viewState!: IOrderHistoryViewState;\r\n\r\n @observable private _viewMode: OrderHistoryViewMode;\r\n\r\n private filterState: OrderHistoryFilterState;\r\n\r\n private pageSize!: number;\r\n\r\n private paging!: IPaging;\r\n\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n private readonly payLoad: IPayLoad;\r\n\r\n constructor(props: ISmweOrderHistoryProps) {\r\n super(props);\r\n this.initState();\r\n this._viewMode = OrderHistoryViewMode.detailedView;\r\n this.filterState = OrderHistoryFilterState.CurrentUser;\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n this._updateOrderHistory();\r\n } else {\r\n this.viewState.isDataReady = true;\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ISmweOrderHistoryProps, nextState: IOrderHistoryViewState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { heading, className, showChannelInfo, showChannelName, shouldShowCount },\r\n resources: {\r\n genericErrorMessage,\r\n noOrderHistoryLable,\r\n moreButtonText,\r\n backToShopping,\r\n orderCountLabel,\r\n ordersCountLabel,\r\n loadingLabel\r\n }\r\n } = this.props;\r\n const { salesOrders, products } = this.orderHistory;\r\n const { isDataReady, hasError, isShowMoreButton, isLoading } = this.viewState;\r\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\r\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\r\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\r\n\r\n let viewProps: IOrderHistoryViewProps = {\r\n ...this.props,\r\n orderHistory: this.orderHistory,\r\n viewState: this.viewState,\r\n orderHistoryProps: {\r\n moduleProps: this.props,\r\n className: classname('ms-order-history', className)\r\n },\r\n header: {\r\n headerProps: { className: 'ms-order-history__header' },\r\n heading: heading && heading.text && (\r\n \r\n ),\r\n extraActions: this.renderExtraActions()\r\n },\r\n backToShoppingLink: backToShoppingUrl && (\r\n \r\n )\r\n };\r\n\r\n if (hasError) {\r\n viewProps = {\r\n ...viewProps,\r\n alert:
\n );\n};\n\nexport const getSalesLine = (props: IGetSalesLineInput): ISalesLine => {\n const {\n moduleName,\n moduleComponentProps: {\n typeName,\n context,\n config: { imageSettings }\n },\n product,\n shipment,\n salesLine,\n resources: {\n shipToLabel,\n storeLabel,\n phoneLabel,\n phoneAriaLabel,\n buyItAgainLabel,\n buyItAgainAriaLabel,\n orderStatusReadyForPickup,\n orderStatusProcessing,\n orderStatusShipped,\n orderStatusPickedUp,\n orderStatusCanceled,\n orderStatusEmailed,\n pickedUpSalesLines,\n deliveredSalesLines,\n carryOutSalesLines,\n emailSalesLines,\n trackingLabel,\n trackingAriaLabel,\n trackingComingSoonLabel,\n pickupDateTimeslotText,\n pickupTimeslotPlaceHolder,\n orderDetailsUnavailableProductText,\n orderDetailsBuySelectedAddingToCartErrorNotificationTitle,\n orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel,\n orderDetailsGoToCartText,\n orderDetailsDialogCloseText,\n orderDetailsSingleItemText,\n orderDetailsMultiLineItemFormatText,\n orderDetailsMultiLinesFormatText,\n orderDetailsHeaderMessageText,\n orderDetailsMultiItemsValidationErrorMessage,\n orderDetailsOneErrorText,\n orderDetailsMultiErrorText,\n addedQuantityText,\n originalPriceText,\n currentPriceText,\n freePriceText,\n orderDetailsRequestDeliveryDateText\n },\n channelDeliveryOptionConfig,\n productDeliveryOptions,\n isSelectionModeEnabled,\n orderDetailsProduct,\n isReorderingEnabled\n } = props;\n\n const salesStatusStringMap = getSalesStatusStringMap(\n orderStatusCanceled,\n orderStatusReadyForPickup,\n orderStatusPickedUp,\n orderStatusProcessing,\n orderStatusShipped,\n orderStatusEmailed\n );\n\n const deliveryTypeStringMap: IDeliveryTypeStringMap = {\n pickUp: pickedUpSalesLines,\n ship: deliveredSalesLines,\n carryOut: carryOutSalesLines,\n email: emailSalesLines\n };\n\n const pickupDeliveryModeCode = context.request.channel?.PickupDeliveryModeCode;\n const emailDeliveryModeCode = context.request.channel?.EmailDeliveryModeCode;\n const productName = product?.Name ?? salesLine.Description;\n let productUrl = '';\n if (!ObjectExtensions.isNullOrUndefined(productName) && !ObjectExtensions.isNullOrUndefined(salesLine.ProductId)) {\n productUrl = getProductPageUrlSync(productName, salesLine.ProductId, context.actionContext);\n\n if (MsDyn365.isBrowser) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${salesLine.CatalogId ?? 0}`);\n productUrl = fullUrl.href;\n }\n }\n\n const pickupMode = getPickupModeDesc(product, salesLine.DeliveryMode, productDeliveryOptions, props.retailMultiplePickUpOptionEnabled);\n const deliveryType = getDeliveryType(\n pickupMode,\n salesLine,\n salesLine.DeliveryMode,\n pickupDeliveryModeCode,\n props.retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig,\n emailDeliveryModeCode\n );\n const salesStatus = getSalesStatusCode(deliveryType, salesLine.SalesStatusValue, pickupMode);\n const salesStatusString = salesStatusStringMap[salesStatus];\n\n const deliveryTypeString = getDeliveryTypeString(deliveryType, deliveryTypeStringMap, props.retailMultiplePickUpOptionEnabled);\n const deliveryTypeClass = getDeliveryTypeClassName(deliveryType, deliveryTypeStringMap);\n const storePickUp = getStoreName(props.retailMultiplePickUpOptionEnabled, salesLine, deliveryType);\n const deliveryTypeComp = getDeliveryTypeComp(\n deliveryTypeString,\n moduleName,\n deliveryTypeClass,\n storePickUp,\n props.retailMultiplePickUpOptionEnabled\n );\n const salesStatusComp = salesStatusString && (\n \n );\n\n const trackingInfo = getTrackingInfo(deliveryType, moduleName, trackingLabel, trackingAriaLabel, trackingComingSoonLabel, shipment);\n const orderDetailProducts = orderDetailsProduct ?? new OrderDetailsProduct(salesLine, product, productUrl);\n const orderDetailsBuyItAgainAriaLabel =\n productName && buyItAgainAriaLabel ? (buyItAgainAriaLabel || '').replace('{productName}', productName) : '';\n const pickupDateTimeslotInfo = getPickupDateTimeslotInfo(\n props.showTimeslot,\n deliveryType === pickupMode,\n salesLine,\n pickupTimeslotPlaceHolder,\n moduleName,\n context.request.locale,\n pickupDateTimeslotText\n );\n let buyItAgainLinkClassName = format('{0}__sales-line-btn-buy-it-again-link', moduleName);\n if (isSelectionModeEnabled) {\n buyItAgainLinkClassName = format('{0} {1}-padding', buyItAgainLinkClassName, buyItAgainLinkClassName);\n }\n\n if (imageSettings) {\n imageSettings.cropFocalRegion = true;\n }\n\n const salesLineClassName = `${moduleName}__sales-line`;\n const salesLineFullClassName = classnames(\n salesLineClassName,\n isSelectionModeEnabled ? `${salesLineClassName}__selection-enabled` : `${salesLineClassName}__selection-disabled`,\n props.isSelectionModeEnabled\n ? `${salesLineClassName}__selection-global-enabled`\n : `${salesLineClassName}__selection-global-disabled`,\n orderDetailProducts.isProductAvailable ? `${salesLineClassName}__available-product` : `${salesLineClassName}__unavailable-product`\n );\n\n return {\n data: {\n salesLine,\n productUrl,\n deliveryType,\n salesStatus,\n product,\n shipment,\n isChecked: orderDetailProducts.isSelected\n },\n salesLineProps: { className: salesLineFullClassName },\n salesLine: SalesLineComponent(props),\n address: salesLine.ShippingAddress && (\n \n ),\n requestDeliveryDate:\n salesLine.ShippingAddress && getRequestDeliveryDate(salesLine, moduleName, orderDetailsRequestDeliveryDateText),\n deliveryType: deliveryTypeComp,\n salesStatus: salesStatusComp,\n trackingInfo,\n buyAgainButton: (\n \n ),\n pickupDateTimeslot: pickupDateTimeslotInfo,\n errors: !orderDetailProducts.isProductAvailable && (\n
{props.resources.orderDetailsUnavailableProductText}
\n )\n };\n};\n\nexport const getDeliveryType = (\n pickupMode: string,\n salesLine: SalesLine,\n salesLineDeliveryMode?: string,\n pickupDeliveryModeCode?: string,\n retailMultiplePickupOption?: boolean,\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration,\n emailDeliveryModeCode?: string\n): string => {\n let isPickupDeliveryMode: boolean;\n\n if (retailMultiplePickupOption) {\n isPickupDeliveryMode =\n salesLineDeliveryMode === channelDeliveryOptionConfig?.PickupDeliveryModeCodes?.find(dM => dM === salesLineDeliveryMode);\n } else {\n isPickupDeliveryMode =\n !!pickupDeliveryModeCode && pickupDeliveryModeCode !== '' && pickupDeliveryModeCode === salesLineDeliveryMode;\n }\n\n return isPickupDeliveryMode\n ? pickupMode\n : emailDeliveryModeCode && emailDeliveryModeCode !== '' && emailDeliveryModeCode === salesLine.DeliveryMode\n ? deliveryTypeEnum.email\n : salesLine.DeliveryMode\n ? deliveryTypeEnum.ship\n : deliveryTypeEnum.carryOut;\n};\n\nexport const getDeliveryTypeString = (\n deliveryType: string,\n deliveryTypeStringMap: IDeliveryTypeStringMap,\n retailMultiplePickupOption?: boolean\n): string | undefined => {\n if (retailMultiplePickupOption) {\n switch (deliveryType) {\n case deliveryTypeEnum.ship:\n case deliveryTypeEnum.carryOut:\n case deliveryTypeEnum.email:\n return deliveryTypeStringMap[deliveryType];\n default:\n return deliveryType;\n }\n } else {\n return deliveryTypeStringMap[deliveryType];\n }\n};\n\nexport const getDeliveryTypeClassName = (\n deliveryType: string,\n deliveryTypeStringMap: IDeliveryTypeStringMap,\n retailMultiplePickupOption?: boolean\n): string | undefined => {\n switch (deliveryType) {\n case deliveryTypeEnum.ship:\n case deliveryTypeEnum.carryOut:\n case deliveryTypeEnum.email:\n return deliveryType;\n default:\n return deliveryTypeEnum.pickUp;\n }\n};\n\nconst defaultDeliveryOption: string = 'pickup';\n\n/**\n * Retrieves the delivery description by product id.\n * @param productRecordId - Product record id.\n * @param salesLineDeliveryMode - Delivery mode from the sales line.\n * @param productDeliveryOptions - Possible delivery options.\n * @returns Delivery option description.\n */\nexport const getDeliveryDescriptionByProductId = (\n productRecordId?: number,\n salesLineDeliveryMode?: string,\n productDeliveryOptions?: ProductDeliveryOptions[]\n): string => {\n if (ObjectExtensions.isNullOrUndefined(productRecordId) || !ArrayExtensions.hasElements(productDeliveryOptions)) {\n return defaultDeliveryOption;\n }\n\n const productDeliveryOption = productDeliveryOptions.find(currentDeliveryOption => {\n return currentDeliveryOption.ProductId === productRecordId;\n });\n\n const deliveryDescription = productDeliveryOption?.DeliveryOptions?.find(option => option.Code === salesLineDeliveryMode)?.Description;\n\n return deliveryDescription ?? defaultDeliveryOption;\n};\n\nexport const getPickupModeDesc = (\n product?: SimpleProduct,\n salesLineDeliveryMode?: string,\n productDeliveryOptions?: ProductDeliveryOptions[],\n retailMultiplePickupOption?: boolean\n): string => {\n return getDeliveryDescriptionByProductId(product?.RecordId, salesLineDeliveryMode, productDeliveryOptions);\n};\n\n/**\n * Get the store name.\n * @param isMultiplePickUpOptionEnabled -- Is mutiple pick up option enabled.\n * @param salesLine -- Sales line.\n * @param deliveryType -- Delivery type.\n * @returns The store name.\n */\nexport const getStoreName = (\n isMultiplePickUpOptionEnabled: boolean | undefined,\n salesLine: SalesLine,\n deliveryType?: string\n): string | undefined | null => {\n if (!isMultiplePickUpOptionEnabled) {\n return null;\n }\n\n switch (deliveryType) {\n case deliveryTypeEnum.ship:\n case deliveryTypeEnum.email:\n case deliveryTypeEnum.carryOut:\n return '';\n default:\n return `, ${salesLine.ShippingAddress?.Name}`;\n }\n};\n\n/**\n * Get pick update date time lot information.\n * @param shouldShowTimeslot -- Should show time slot.\n * @param salesLine -- The sales line.\n * @returns The pickup date time slot information.\n */\nexport const getRequestDeliveryDate = (\n salesLine: SalesLine,\n moduleName: string,\n requestDeliveryDateTitle?: string\n): false | JSX.Element => {\n const canShowRequestDeliveryDate: boolean = salesLine.RequestedDeliveryDate !== undefined && salesLine.RequestedDeliveryDate !== null;\n\n return (\n canShowRequestDeliveryDate && (\n
\n
{requestDeliveryDateTitle}
\n
{salesLine.RequestedDeliveryDate}
\n
\n )\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport { IActionContext, IGridSettings, IImageSettings } from '@msdyn365-commerce/core';\nimport {\n ChannelDeliveryOptionConfiguration,\n OrderShipments,\n ProductCatalog,\n ProductDeliveryOptions,\n SalesLine,\n SalesOrder,\n Shipment,\n SimpleProduct\n} from '@msdyn365-commerce/retail-proxy';\nimport { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\n\nimport { getSalesLine, ISalesLine, ISalesLineResources } from './get-sales-line';\nimport { SalesLineState } from './sales-line-state';\nimport { IModuleComponentProps, IPriceContext } from './utilities';\n\nexport interface IGetSalesLinesInput {\n moduleName: string;\n moduleComponentProps: IModuleComponentProps;\n isCurrentChannel: boolean;\n\n salesLines: SalesLine[];\n products: SimpleProduct[];\n shipments?: Shipment[];\n priceContext: IPriceContext;\n resources: ISalesLineResources;\n actionContext: IActionContext;\n gridSettings: IGridSettings;\n imageSettings?: IImageSettings;\n imageOnly?: boolean;\n salesLineStates?: SalesLineState[];\n showCompleteAddress?: boolean;\n showTimeslot: boolean;\n telemetryContent?: ITelemetryContent;\n retailMultiplePickUpOptionEnabled?: boolean;\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n productDeliveryOptions?: ProductDeliveryOptions[];\n isSelectionModeEnabled?: boolean;\n orderDetailsProducts?: OrderDetailsProduct[];\n isReorderingEnabled?: boolean;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n catalogs?: ProductCatalog[];\n priceCurrency?: string;\n}\n\nexport const getSalesLines = ({\n moduleName,\n moduleComponentProps,\n salesLines,\n products,\n shipments,\n resources,\n isCurrentChannel,\n imageOnly,\n showCompleteAddress,\n showTimeslot,\n telemetryContent,\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig,\n productDeliveryOptions,\n isSelectionModeEnabled,\n orderDetailsProducts,\n isReorderingEnabled,\n salesLineStates: productStates,\n isChannelMultipleCatalogsFeatureEnabled,\n catalogs,\n priceCurrency\n}: IGetSalesLinesInput): ISalesLine[] => {\n return salesLines.map((salesLine, index) => {\n const product = products.find(simpleProduct => simpleProduct.RecordId === salesLine.ProductId);\n const shipment =\n product &&\n shipments?.find(currentShipment =>\n currentShipment.ShipmentLines?.find(\n shipmentLine =>\n shipmentLine.ItemId === product.ItemId && shipmentLine.InventoryTransactionId === salesLine.InventoryTransactionId\n )\n );\n const orderDetailsProduct = isSelectionModeEnabled\n ? product && orderDetailsProducts?.find(currentProduct => currentProduct.salesLine.ProductId === product.RecordId)\n : undefined;\n const productState = productStates?.find(value => value.stateId === `${salesLine.LineId ?? ''}-${index}`);\n\n return getSalesLine({\n moduleName,\n moduleComponentProps,\n product,\n shipment,\n salesLine,\n isCurrentChannel,\n resources,\n imageOnly,\n showCompleteAddress,\n showTimeslot,\n telemetryContent,\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig,\n productDeliveryOptions,\n isSelectionModeEnabled,\n orderDetailsProduct,\n isReorderingEnabled,\n salesLineState: productState,\n isChannelMultipleCatalogsFeatureEnabled,\n catalogs,\n priceCurrency\n });\n });\n};\n\ninterface IProps extends IModuleComponentProps {\n resources: ISalesLineResources;\n}\n\nexport const getSalesLinesInput = (\n props: IProps,\n moduleName: string,\n order: SalesOrder | OrderShipments,\n products: SimpleProduct[],\n priceContext: IPriceContext,\n showCompleteAddress?: boolean,\n showTimeslot?: boolean,\n telemetryContent?: ITelemetryContent,\n retailMultiplePickUpOptionEnabled?: boolean,\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration,\n productDeliveryOptions?: ProductDeliveryOptions[] | undefined,\n isSelectionModeEnabled?: boolean | undefined,\n orderDetailsProducts?: OrderDetailsProduct[] | undefined,\n isReorderingEnabled?: boolean,\n isChannelMultipleCatalogsFeatureEnabled?: boolean,\n catalogs?: ProductCatalog[]\n): IGetSalesLinesInput | undefined => {\n if (!order || !order.SalesLines || order.SalesLines.length === 0) {\n return;\n }\n\n const {\n resources,\n config: { imageSettings },\n context: {\n actionContext,\n request: {\n gridSettings,\n apiSettings: { channelId }\n }\n }\n } = props;\n\n const isCurrentChannel = !order.ChannelId || order.ChannelId === channelId;\n\n return {\n moduleName,\n moduleComponentProps: props,\n isCurrentChannel,\n salesLines: order.SalesLines,\n priceCurrency: order.CurrencyCode,\n products,\n shipments: order.Shipments,\n priceContext,\n resources,\n actionContext,\n gridSettings: gridSettings!,\n imageSettings,\n showCompleteAddress,\n showTimeslot: showTimeslot ?? false,\n telemetryContent,\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig,\n productDeliveryOptions,\n isSelectionModeEnabled: isSelectionModeEnabled ?? false,\n orderDetailsProducts,\n isReorderingEnabled,\n isChannelMultipleCatalogsFeatureEnabled,\n catalogs\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observable } from 'mobx';\n\n/**\n * Represents state of the expand button.\n */\nexport class ExpandButtonState {\n @observable public extraProductsCount: number;\n\n public constructor(extraProductsCount: number) {\n this.extraProductsCount = extraProductsCount;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observable } from 'mobx';\n\n/**\n * Represents state of the sales line product.\n */\nexport class SalesLineState {\n @observable public isHidden?: boolean;\n\n public stateId: string;\n\n public constructor(stateId: string, isHidden?: boolean) {\n this.stateId = stateId;\n this.isHidden = isHidden;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface ILabelProps {\n className: string;\n label: string;\n}\n\nexport const Label: React.FC = ({ className, label }) => {label};\n\nexport default Label;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAny, ICoreContext, IGeneric, IImageSettings, IModule, ITelemetry } from '@msdyn365-commerce/core';\nimport { SalesLine, TenderType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { format } from '@msdyn365-commerce-modules/utilities';\nimport groupBy from 'lodash/groupBy';\n\nimport { ISalesLine } from './get-sales-line';\n\nexport interface IModuleComponentProps extends IModule {\n config: {\n imageSettings?: IImageSettings;\n showShippingChargesForLineItems?: boolean;\n };\n}\n\nexport interface IPriceContext {\n id: string;\n typeName: string;\n context: ICoreContext>;\n telemetry: ITelemetry;\n freePriceText: string;\n}\n\nexport const getTenderIdOperationIdMap = (tenderTypes: TenderType[]): object => {\n return tenderTypes.reduce((map, tenderType) => {\n if (tenderType.TenderTypeId) {\n map[tenderType.TenderTypeId] = tenderType.OperationId;\n }\n return map;\n }, {});\n};\n\nexport const countItems = (salesLines: SalesLine[]) => {\n return salesLines.reduce((count, salesLine) => {\n return count + (salesLine.Quantity || 0);\n }, 0);\n};\n\nexport const getSalesLinesByDelivery = (salesLines?: SalesLine[], pickupDeliveryModeCode?: string): SalesLine[] => {\n if (!salesLines || salesLines.length === 0) {\n return [];\n }\n return salesLines.filter(salesLine =>\n // IsPickUp ? getPickUp : getOthers\n pickupDeliveryModeCode && pickupDeliveryModeCode !== ''\n ? salesLine.DeliveryMode === pickupDeliveryModeCode\n : salesLine.DeliveryMode !== pickupDeliveryModeCode\n );\n};\n\nexport const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=80&h=80&m=6', w: 0, h: 0 },\n lg: { q: 'w=147&h=147&m=6', w: 0, h: 0 }\n },\n lazyload: true,\n cropFocalRegion: true\n};\n\nexport type IDeliveryType = 'pickUp' | 'ship' | 'carryOut' | 'email';\n\nexport type ISalesStatusCode = 'canceled' | 'readyForPickup' | 'pickedUp' | 'processing' | 'shipped' | 'unknown' | 'emailed';\n\nexport const getSalesStatusCode = (deliveryType: string, statusValue?: number, pickupMode?: string): ISalesStatusCode => {\n if (statusValue === 7) {\n return 'canceled';\n }\n\n if (deliveryType === 'pickUp') {\n switch (statusValue) {\n case 3:\n return 'readyForPickup';\n case 4:\n return 'pickedUp';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'ship') {\n switch (statusValue) {\n case 3:\n return 'processing';\n case 4:\n return 'shipped';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'email') {\n switch (statusValue) {\n case 3:\n return 'processing';\n case 4:\n return 'emailed';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'carryOut') {\n return 'processing';\n } else {\n if (pickupMode !== undefined) {\n switch (statusValue) {\n case 3:\n return 'readyForPickup';\n case 4:\n return 'pickedUp';\n default:\n return 'processing';\n }\n }\n\n return 'unknown';\n }\n};\n\nexport type ITrackingId = string | 'unknown';\nexport type IAddressId = string | 'unknown';\n\nexport interface IGroupData {\n deliveryType: IDeliveryType;\n salesStatus: ISalesStatusCode;\n addressId: IAddressId | 'unknown';\n trackingId: ITrackingId | 'unknown';\n count: number;\n salesLines: ISalesLine[];\n}\n\nexport const groupSalesLines = (salesLines: ISalesLine[]): IGroupData[] => {\n const getGroupByDeliveryType = (items: ISalesLine[]) => groupBy(items, item => item.data.deliveryType);\n const getGroupBySalesStatusCode = (items: ISalesLine[]) => groupBy(items, item => item.data.salesStatus);\n const getGroupByTrackingId = (items: ISalesLine[]) => groupBy(items, item => item.data.salesLine.TrackingId || 'unknown');\n const getGroupByAddressId = (items: ISalesLine[]) =>\n groupBy(items, item => (item.data.salesLine.ShippingAddress && item.data.salesLine.ShippingAddress.RecordId) || 'unknown');\n\n const flatGroup: IGroupData[] = [];\n\n // 1) Group by delivery type\n const group = getGroupByDeliveryType(salesLines);\n\n // 2) Group by sales status code\n Object.entries(group).forEach(([deliveryType, groupByDeliveryType]) => {\n // @ts-expect-error\n group[deliveryType] = getGroupBySalesStatusCode(groupByDeliveryType);\n\n Object.entries(group[deliveryType]).forEach(([salesStatus, groupBySalesStatusCode]) => {\n // @ts-expect-error 3) Group by address id\n groupBySalesStatusCode[salesStatus] = getGroupByAddressId(groupBySalesStatusCode);\n\n Object.entries(groupBySalesStatusCode[salesStatus]).forEach(([addressId, groupByAddressId]) => {\n // @ts-expect-error 4) Group by address id\n groupByAddressId[addressId] = getGroupByTrackingId(groupByAddressId);\n\n // @ts-expect-error\n Object.entries(groupByAddressId[addressId]).forEach(([trackingId, groupByTrackingId]) => {\n flatGroup.push({\n // @ts-expect-error\n deliveryType,\n\n // @ts-expect-error\n salesStatus,\n addressId,\n trackingId,\n\n // @ts-expect-error\n count: countItems(groupByTrackingId.map(item => item.data.salesLine)),\n\n // @ts-expect-error\n salesLines: groupByTrackingId\n });\n });\n });\n });\n });\n\n return flatGroup;\n};\n\nexport const getDateTimeslot = (placeHolder: string, startDate: Date | undefined, endDate: Date | undefined, locale: string): string => {\n if (!startDate || !endDate) {\n return '';\n }\n\n const dateOptions: Intl.DateTimeFormatOptions = {\n timeZone: 'UTC'\n };\n const dateformatter = new Intl.DateTimeFormat(locale, dateOptions);\n const date = dateformatter.format(new Date(startDate));\n\n const timeslotOptions: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n timeZone: 'UTC'\n };\n const timeslotformatter = new Intl.DateTimeFormat(locale, timeslotOptions);\n const timeslot = format(placeHolder, timeslotformatter.format(new Date(startDate)), timeslotformatter.format(new Date(endDate)));\n return `${date} ${timeslot}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { SalesOrder, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport get from 'lodash/get';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IGetOrderSummaryInput, IHelp, IOrderSummary, IPaymentMethods, IPaymentMethodsInput } from '../../common';\nimport { getGroups, IGroups } from '../../common/get-groups';\nimport { getOrderInformation, getOrderInformationInput, IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { getSalesLines, getSalesLinesInput } from '../../common/get-sales-lines';\nimport { Label } from '../../common/label';\nimport { getTenderIdOperationIdMap, IPriceContext } from '../../common/utilities';\nimport { getOrderConfirmationHelp } from '../order-confirmation/components/get-help';\nimport { getOrderConfirmationOrderSummary } from '../order-confirmation/components/get-order-summary';\nimport { getOrderConfirmationPaymentMethods } from '../order-confirmation/components/get-payment-methods';\nimport { ICheckoutOrderConfirmationData } from './checkout-order-confirmation.data';\nimport { ICheckoutOrderConfirmationProps } from './checkout-order-confirmation.props.autogenerated';\n\nexport interface ICheckoutOrderConfirmationViewProps extends ICheckoutOrderConfirmationProps {\n moduleProps: IModuleProps;\n salesOrder?: SalesOrder;\n footerProps?: INodeProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n heading: React.ReactNode;\n backToShoppingLink?: React.ReactNode;\n orderInfomation?: IOrderInformation;\n salesLines?: ISalesLine[];\n groups?: IGroups;\n orderSummary?: IOrderSummary;\n payment?: IPaymentMethods;\n help?: IHelp;\n}\n\n/**\n *\n * OrderConfirmation component.\n * @extends {React.PureComponent>}\n */\nclass OrderConfirmation extends React.PureComponent> {\n private readonly moduleName: string = 'ms-order-confirmation';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly backToShoppingAttributes?: Msdyn365.IDictionary;\n\n constructor(props: ICheckoutOrderConfirmationProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.BackToShopping);\n this.backToShoppingAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n @computed get isCurrentChannel(): boolean {\n if (!this.order) {\n return false;\n }\n return this.order.ChannelId === get(this.props, 'context.request.apiSettings.channelId');\n }\n\n @computed get isDataReady(): boolean {\n return get(this.props, 'data.checkout.status') === 'SUCCESS';\n }\n\n @computed get hasError(): boolean {\n return get(this.props, 'data.checkout.status') === 'FAILED';\n }\n\n @computed get order(): SalesOrder | undefined {\n return get(this.props, 'data.checkout.result.salesOrder');\n }\n\n @computed get products(): SimpleProduct[] {\n return get(this.props, 'data.checkout.result.orderedProducts') || [];\n }\n\n @computed get priceContext(): IPriceContext {\n const {\n id,\n typeName,\n context,\n telemetry,\n resources: { freePriceText }\n } = this.props;\n return {\n id,\n typeName,\n context,\n telemetry,\n freePriceText\n };\n }\n\n @computed get earnedPoints(): number {\n const loyaltyCard = this.props.data.loyaltyCard.result;\n if (loyaltyCard && loyaltyCard.RewardPoints && this.order) {\n const pointPrograms = new Set(loyaltyCard.RewardPoints.map(point => point.RewardPointId));\n const rewardLines = this.order.LoyaltyRewardPointLines || [];\n let total = 0;\n rewardLines.forEach(line => {\n if ((line.RewardPointAmountQuantity || 0) > 0 && pointPrograms.has(line.RewardPointId)) {\n total += line.RewardPointAmountQuantity!;\n }\n });\n return total;\n }\n return 0;\n }\n\n @computed get orderSummaryProps(): IGetOrderSummaryInput | undefined {\n if (!this.order) {\n return;\n }\n\n const {\n resources: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n orderSummaryGrandTotalLabel,\n pointsEarnedLabel\n }\n } = this.props;\n return {\n order: this.order,\n earnedPoints: this.earnedPoints,\n priceContext: this.priceContext,\n resource: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n pointsEarnedLabel,\n orderSummaryGrandTotalLabel\n }\n };\n }\n\n @computed get paymentMethodsProps(): IPaymentMethodsInput | undefined {\n const tenderTypes = this.props.data.tenderTypes.result;\n if (!this.order || !this.order.TenderLines || !tenderTypes) {\n return;\n }\n\n const locale = get(this.props, 'context.request.locale') || 'en-US';\n\n const {\n resources: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n }\n } = this.props;\n\n return {\n priceContext: this.priceContext,\n tenderLines: this.order.TenderLines,\n tenderIdOperationIdMap: getTenderIdOperationIdMap(tenderTypes),\n locale,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n }\n };\n }\n\n public render(): JSX.Element {\n const {\n resources: {\n noSalesOrderText,\n genericErrorMessage,\n needHelpLabel,\n helpLineNumberLabel,\n loadingLabel,\n backToShopping,\n orderItemLabel,\n orderItemsLabel,\n helpLineContactAriaLabel\n },\n config: { heading, contactNumber, showTimeslot }\n } = this.props;\n\n const moduleProps = { moduleProps: this.props, className: classname('ms-order-confirmation', this.props.config.className) };\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const retailMultiplePickUpOptionEnabled = featureState?.result?.find(item => item.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n\n let viewProps: ICheckoutOrderConfirmationViewProps = {\n ...this.props,\n moduleProps,\n heading: heading && heading.text && (\n \n ),\n backToShoppingLink: backToShoppingUrl && (\n \n ),\n footerProps: { className: 'ms-order-confirmation__footer' }\n };\n\n if (this.hasError) {\n viewProps = {\n ...viewProps,\n alert:
\n );\n};\n\n/**\n * Renders actions popup for the mobile view.\n * @param props - Configuration for popup.\n * @returns A react node with actions..\n */\nconst OrderDetailsDesktopExtraActionsPopupComponent: React.FC = (\n props: IOrderDetailsTableRowProps\n): JSX.Element | null => {\n const [shouldShowActions, setShowActions] = useState(false);\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const salesLine = props.data.product.salesLine;\n\n const productName = props.data.product.simpleProduct?.Name ?? salesLine.Description;\n let productUrl = '';\n if (!ObjectExtensions.isNullOrUndefined(productName) && !ObjectExtensions.isNullOrUndefined(salesLine.ProductId)) {\n productUrl = getProductPageUrlSync(productName, salesLine.ProductId, props.context.actionContext);\n\n if (MsDyn365.isBrowser && isChannelTypeB2B(props.context.actionContext.requestContext)) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${salesLine.CatalogId ?? 0}`);\n productUrl = fullUrl.href;\n }\n }\n const currentProduct = new OrderDetailsProduct(props.data.product.salesLine, props.data.product.simpleProduct, productUrl);\n\n /**\n * Request specific invoice function.\n * @param props -Invoice table row props.\n * @param requestInvoiceButtonReference -Reference button.\n * @returns Call Request Invoice.\n */\n const onViewTrackingClick = (\n props: IOrderDetailsTableRowProps,\n requestInvoiceButtonReference: React.RefObject,\n setShowActions: React.Dispatch>\n ) => () => {\n setShowActions(false);\n setIsModalOpen(!isModalOpen);\n };\n\n const _renderModal = (className: string, toggleModal?: () => void) => {\n const modalHeading = props.resources.trackingAriaLabel?.toLocaleUpperCase();\n const modalBody = (\n <>\n {props.data.salesLines &&\n props.data.salesLines.map(salesLine => (\n <>{salesLine.data.product?.Name === props.data.product.simpleProduct?.Name && salesLine.trackingInfo}\n ))}\n \n );\n const modalFooter = (\n <>\n \n \n );\n return (\n <>\n \n {modalHeading}\n {modalBody}\n {modalFooter}\n \n \n );\n };\n\n const toggleModal = () => {\n setIsModalOpen(!isModalOpen);\n };\n\n const toggle = React.useCallback(() => {\n const shouldShowActionsNewValue = !shouldShowActions;\n if (shouldShowActionsNewValue) {\n if (setShowPreviousActions) {\n setShowPreviousActions(false);\n }\n setShowActions(shouldShowActionsNewValue);\n setShowPreviousActions = setShowActions;\n } else {\n setShowPreviousActions = undefined;\n setShowActions(shouldShowActionsNewValue);\n }\n }, [shouldShowActions, setShowActions]);\n\n if (StringExtensions.isNullOrWhitespace(productUrl)) {\n return null;\n }\n\n const className = `${props.className}__desktop-extra-actions-cell`;\n const actionsContainerClassName = `${className}__actions-container`;\n\n return (\n
\n
\n );\n};\n\n/**\n * Renders rows for mobile view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows for mobile view.\n */\nexport const OrderDetailsMobileTableRowCellComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const {\n data: { product }\n } = props;\n const salesLine = product.salesLine;\n const productName = product.simpleProduct?.Name ?? salesLine.Description;\n\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n \n \n \n
\n {productName}\n \n {format(props.resources.orderDetailsQuantityMobileText, salesLine.Quantity)}\n \n
\n \n \n \n \n \n );\n};\n\n/**\n * Renders order details rows.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows.\n */\nexport const OrderDetailsTableRowComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n const className = classnames(\n props.className,\n props.data.product.isProductAvailable ? `${props.className}__available-product` : `${props.className}__unavailable-product`,\n props.className,\n props.data.product.isSelected ? `${props.className}__selected` : `${props.className}__unselected`\n );\n\n return (\n \n {isMobileView ? (\n \n ) : (\n \n )}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ChannelDeliveryOptionConfiguration, ProductDeliveryOptions, SalesOrder } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React from 'react';\n\nimport { IOrderDetailsTableHeaderResources, OrderDetailsTableHeaderComponent } from './components/order-details-table-header-component';\nimport { IOrderDetailsTableRowResources, OrderDetailsTableRowComponent } from './components/order-details-table-row-component';\nimport { ISalesLine } from '../../../../common';\n\n/**\n * Interface with the data required for order details.\n */\nexport interface IOrderDetailsTableData {\n order: SalesOrder;\n products: OrderDetailsProduct[];\n deliveryOptions: ProductDeliveryOptions[];\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n salesLines?: ISalesLine[];\n}\n\n/**\n * Resources needed to render order details table.\n */\nexport interface IOrderDetailsTableResources extends IOrderDetailsTableHeaderResources, IOrderDetailsTableRowResources {}\n\n/**\n * Configuration of order details table.\n */\nexport interface IOrderDetailsTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n imageSettings?: IImageSettings;\n isCashAndCarryTransaction: boolean;\n isReorderingEnabled?: boolean;\n isRetailMultiplePickUpOptionEnabled?: boolean;\n isSelectionModeEnabled: boolean;\n\n resources: IOrderDetailsTableResources;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n isExtraButtonDialogViewEnabled?: boolean;\n}\n\n/**\n * On select all function.\n * @param props - Invoice table props.\n * @returns On change.\n */\nconst onSelectAllHandler = (props: IOrderDetailsTableProps) => (isSelected: boolean) => {\n for (const product of props.data.products) {\n product.isSelected = isSelected;\n }\n};\n\n/**\n * Renders order details table.\n * @param props - Configuration for order details table.\n * @returns React node with the table.\n */\nexport const OrderDetailsTableComponent: React.FC = (props: IOrderDetailsTableProps) => {\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n const products = props.data.products;\n const availableProducts = products.filter(product => product.isProductAvailable);\n\n return (\n \n product.isSelected)}\n onSelectAll={onSelectAllHandler(props)}\n isChannelMultipleCatalogsFeatureEnabled={props.isChannelMultipleCatalogsFeatureEnabled}\n />\n {products.map((product, index) => {\n return (\n \n );\n })}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IViewTrackingButtonProps {\n innerReference?: React.RefObject;\n className: string;\n viewTrackingButtonLabel?: string;\n onClicked(): void;\n}\n\nexport const ViewTrackingButton: React.FC = ({\n className,\n onClicked,\n viewTrackingButtonLabel,\n innerReference\n}) => {\n return (\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport Msdyn365, { ContentEditableEvent, getUrlSync, isChannelTypeB2B, Text, isUserTypeB2B } from '@msdyn365-commerce/core';\nimport {\n ChannelDeliveryOptionConfiguration,\n FeatureState,\n LoyaltyRewardPoint,\n OrderOriginator,\n ProductCatalog,\n ProductDeliveryOptions,\n SalesLine,\n SalesOrder,\n SimpleProduct\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport get from 'lodash/get';\nimport { computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { BuySelectedComponent, IGetOrderSummaryInput, IHelp, IOrderSummary, IPaymentMethods, IPaymentMethodsInput } from '../../common';\nimport { getGroups, IGroups } from '../../common/get-groups';\nimport { getOrderInformation, getOrderInformationInput, IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { getSalesLines, getSalesLinesInput } from '../../common/get-sales-lines';\nimport { Label } from '../../common/label';\nimport { getTenderIdOperationIdMap, IPriceContext } from '../../common/utilities';\nimport { getOrderDetailsHelp } from './components/get-help';\nimport { getOrderDetailsOrderSummary } from './components/get-order-summary';\nimport { getOrderDetailsPaymentMethods } from './components/get-payment-methods';\nimport { OrderDetailsTableComponent } from './components/table-view';\nimport { IOrderDetailsData } from './order-details.data';\nimport { addressOptions, IOrderDetailsProps } from './order-details.props.autogenerated';\n\n/**\n * Specifies different layouts for order details.\n */\nexport enum OrderDetailsViewMode {\n listView = 0,\n detailedView = 1\n}\n\nexport interface IOrderDetailsViewProps extends IOrderDetailsProps {\n moduleProps: IModuleProps;\n tableViewActions?: React.ReactNode;\n viewModes?: React.ReactNode;\n table?: React.ReactNode;\n salesOrder?: SalesOrder;\n footerProps?: INodeProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n heading: React.ReactNode;\n placedBy?: React.ReactNode;\n backToShoppingLink?: React.ReactNode;\n orderInfomation?: IOrderInformation;\n salesLines?: ISalesLine[];\n groups?: IGroups;\n orderSummary?: IOrderSummary;\n payment?: IPaymentMethods;\n help?: IHelp;\n catalogs?: ProductCatalog[];\n}\n\n/**\n *\n * OrderDetails component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass OrderDetails extends React.PureComponent> {\n @observable private _viewMode: OrderDetailsViewMode;\n\n @observable private _products: OrderDetailsProduct[];\n\n @observable private _isSelectionModeEnabled: boolean;\n\n private readonly moduleName: string = 'ms-order-details';\n\n private readonly multiplePickupStoreSwitchName: string = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @computed get isCurrentChannel(): boolean {\n if (!this.order) {\n return false;\n }\n return this.order.ChannelId === get(this.props, 'context.request.apiSettings.channelId');\n }\n\n @computed get isDataReady(): boolean {\n return get(this.props, 'data.orderHydration.status') === 'SUCCESS';\n }\n\n @computed get hasError(): boolean {\n return get(this.props, 'data.orderHydration.status') === 'FAILED';\n }\n\n @computed get order(): SalesOrder | undefined {\n return get(this.props, 'data.orderHydration.result.salesOrder');\n }\n\n @computed get products(): SimpleProduct[] {\n return get(this.props, 'data.orderHydration.result.products') || [];\n }\n\n @computed get deliveryOptions(): ProductDeliveryOptions[] {\n return get(this.props, 'data.orderHydration.result.deliveryOptions') || [];\n }\n\n @computed get priceContext(): IPriceContext {\n const {\n id,\n typeName,\n context,\n telemetry,\n resources: { freePriceText }\n } = this.props;\n return {\n id,\n typeName,\n context,\n telemetry,\n freePriceText\n };\n }\n\n @computed get earnedPoints(): number {\n const loyaltyCard = this.props.data.loyaltyCard.result;\n if (loyaltyCard && loyaltyCard.RewardPoints && this.order) {\n const pointPrograms = new Set(loyaltyCard.RewardPoints.map((point: LoyaltyRewardPoint) => point.RewardPointId));\n const rewardLines = this.order.LoyaltyRewardPointLines || [];\n let total = 0;\n rewardLines.forEach(line => {\n if ((line.RewardPointAmountQuantity || 0) > 0 && pointPrograms.has(line.RewardPointId)) {\n total += line.RewardPointAmountQuantity!;\n }\n });\n return total;\n }\n return 0;\n }\n\n @computed get orderSummaryProps(): IGetOrderSummaryInput | undefined {\n if (!this.order) {\n return;\n }\n const { request } = this.props.context;\n const { channelDeliveryOptionConfig, featureState } = this.props?.data;\n const isMultiplePickUpOptionEnabled = featureState?.result?.find(\n (item: FeatureState) => item.Name === this.multiplePickupStoreSwitchName\n )?.IsEnabled;\n const pickupDeliveryModeCode = request && request.channel && request.channel.PickupDeliveryModeCode;\n const emailDeliveryModeCode = request && request.channel && request.channel.EmailDeliveryModeCode;\n const orderDetailsLines = this.order?.SalesLines;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- app configs are of generic type\n const isShowOrHideTaxEnabled = request.app.config.isEnableShowOrHideSalesTaxECommerceEnabled === true;\n\n const { salesId = '' } = request.query || {};\n const isCashAndCarryTransaction =\n (this.order.ChannelReferenceId === undefined || this.order.ChannelReferenceId === '') && salesId === '';\n\n const canShip =\n !isCashAndCarryTransaction &&\n orderDetailsLines?.some(orderDetailsLine =>\n orderDetailsLine.DeliveryMode && orderDetailsLine.DeliveryMode !== ''\n ? orderDetailsLine.DeliveryMode !==\n this.getDeliveryMode(\n orderDetailsLine,\n isMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig?.result,\n pickupDeliveryModeCode\n ) && orderDetailsLine.DeliveryMode !== emailDeliveryModeCode\n : orderDetailsLine\n );\n\n const {\n resources: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n orderSummaryGrandTotalLabel,\n pointsEarnedLabel\n }\n } = this.props;\n return {\n order: this.order,\n earnedPoints: this.earnedPoints,\n priceContext: this.priceContext,\n resource: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n pointsEarnedLabel,\n orderSummaryGrandTotalLabel\n },\n canShip,\n isTaxIncludedInPrice: this.order.IsTaxIncludedInPrice,\n isShowTaxBreakUp: isShowOrHideTaxEnabled\n };\n }\n\n @computed get paymentMethodsProps(): IPaymentMethodsInput | undefined {\n const tenderTypes = this.props.data.tenderTypes.result;\n if (!this.order || !this.order.TenderLines || !tenderTypes) {\n return;\n }\n\n const locale = get(this.props, 'context.request.locale') || 'en-US';\n\n const {\n resources: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n }\n } = this.props;\n\n return {\n priceContext: this.priceContext,\n tenderLines: this.order.TenderLines,\n tenderIdOperationIdMap: getTenderIdOperationIdMap(tenderTypes),\n locale,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n cashUsedLabel,\n loyaltyCardUsedLabel,\n customerAccountUsedLabel\n },\n priceCurrency: this.order.CurrencyCode\n };\n }\n\n @computed\n private get _orderDetailsProducts(): OrderDetailsProduct[] {\n if (!ArrayExtensions.hasElements(this._products)) {\n this._initProductsModel();\n }\n\n return this._products;\n }\n\n @computed\n private get _orderDetailsAvailableProducts(): OrderDetailsProduct[] {\n if (!ArrayExtensions.hasElements(this._products)) {\n this._initProductsModel();\n }\n\n return this._products.filter(product => product.isProductAvailable);\n }\n\n @computed\n private get _selectedProducts(): OrderDetailsProduct[] {\n const products = this._orderDetailsAvailableProducts;\n const selectedProducts = products.filter(product => product.isSelected);\n if (!ArrayExtensions.hasElements(selectedProducts)) {\n return [];\n }\n\n return selectedProducts;\n }\n\n public constructor(props: IOrderDetailsProps) {\n super(props);\n this._viewMode = OrderDetailsViewMode.detailedView;\n this._products = [];\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._isSelectionModeEnabled = false;\n }\n\n public render(): JSX.Element {\n const {\n resources: { noSalesOrderDetailsText, loadingLabel },\n config: { shouldShowQrCode, showChannelInfo, showTimeslot, isReorderingEnabled }\n } = this.props;\n\n const showFullAddress =\n this.props.config.addressOptions !== undefined &&\n this.props.config.addressOptions === addressOptions.showAddressWithMultiplelines;\n const channelIdentities = this.props.data.channels.result?.channelIdentities;\n const orgUnitLocations = this.props.data.orgUnitLocations.result?.orgUnitLocations;\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\n const originators = this.props.data.orderOriginators && this.props.data.orderOriginators.result;\n const originator: OrderOriginator | undefined = originators && originators.length === 1 ? originators[0] : undefined;\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\n const isMultiplePickUpOptionEnabled = featureState.result?.find(\n (item: FeatureState) => item.Name === this.multiplePickupStoreSwitchName\n )?.IsEnabled;\n const isMultipleCatalogsFeatureEnabled = featureState.result?.find(\n (item: FeatureState) => item.Name === channelMultipleCatalogsFeature\n )?.IsEnabled;\n const { confirmationId = '', salesId = '', transactionId = '' } = this.props.context.actionContext.requestContext.query ?? {};\n\n const orderInformationInput =\n this.order &&\n getOrderInformationInput(\n this.props,\n this.moduleName,\n this.order,\n this.priceContext,\n channelIdentities,\n orgUnitLocations,\n customer,\n originator,\n showChannelInfo,\n false,\n shouldShowQrCode ?? true\n );\n\n const orderInformation =\n this._isSelectionModeEnabled || !orderInformationInput ? undefined : getOrderInformation(orderInformationInput);\n\n let viewProps: IOrderDetailsViewProps = this.getOrderDetailsProps();\n if (isUserTypeB2B(this.props.context.request) && orderInformationInput?.isOnlineStore && originator) {\n viewProps = {\n ...viewProps,\n placedBy: orderInformation?.placedBy\n };\n }\n\n if ((salesId || transactionId) && !this.props.context.actionContext.requestContext.user.isAuthenticated) {\n const signInUrl: string = this.props.context.actionContext.requestContext.user.signInUrl ?? '';\n if (Msdyn365.isBrowser) {\n window.location.assign(signInUrl);\n }\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n if (this.hasError || !this.order) {\n if (((salesId || transactionId) && this.props.context.actionContext.requestContext.user.isAuthenticated) || confirmationId) {\n viewProps = {\n ...viewProps,\n alert: