{"version":3,"file":"static/js/e361ccb67da6599da4a3.bundle.js","mappings":"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","sources":["webpack://Dobbies.Commerce/./src/modules/order-history/actions/get-order-shipment-history.ts?b936","webpack://Dobbies.Commerce/./src/modules/order-history/components/get-sales-order.tsx?f5c0","webpack://Dobbies.Commerce/./src/modules/order-history/components/order-history-filter.tsx?87d0","webpack://Dobbies.Commerce/./src/modules/order-history/components/table-view/components/order-history-table-header-component.tsx?48e0","webpack://Dobbies.Commerce/./src/modules/order-history/components/table-view/components/order-history-table-row-component.tsx?a93c","webpack://Dobbies.Commerce/./src/modules/order-history/components/table-view/order-history-table.tsx?5dd4","webpack://Dobbies.Commerce/./src/modules/order-history/order-history.tsx?fd71","webpack://Dobbies.Commerce/./src/modules/order-history/order-history.view.tsx?2545"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n createObservableDataAction,\n IAction,\n IActionContext,\n IActionInput,\n ICommerceApiSettings\n} from '@msdyn365-commerce/core';\nimport { IQueryResultSettings, SalesLine } from '@msdyn365-commerce/retail-proxy';\nimport { getOrderShipmentsHistoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\nimport { OrderShipments, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n buildCacheKey,\n getOrganizationWideOrderHistory,\n GetOrganizationWideOrderHistoryInput,\n getSimpleProducts,\n ProductInput\n} from '@msdyn365-commerce-modules/retail-actions';\n\nimport { OrderHistoryFilterState } from '../components/order-history-filter';\n\n/**\n * IPaging Interface.\n */\nexport interface IPaging {\n top: number;\n skip: number;\n}\n\n/**\n * IOrderHistory Interface.\n */\nexport interface IOrderHistory {\n salesOrders: OrderShipments[];\n products: SimpleProduct[];\n nextPageToken?: string;\n}\n\n/**\n * IOrderHistoryResult Interface.\n */\nexport interface IOrderHistoryResult {\n salesOrders: OrderShipments[];\n nextPageToken?: string;\n}\n\n/**\n * Calls the Retail API and returns the products.\n * @param paging - Paging interface.\n * @param nextPageToken - Next Page Link.\n * @returns Collection of OrderShipments.\n */\nconst getOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (ctx: IActionContext): Promise => {\n const orderHistoryResults = getOrderShipmentsHistoryAsync(\n {\n callerContext: ctx,\n bypassCache: 'get',\n queryResultSettings: {\n Paging: {\n Top: paging.top,\n NextPageToken: nextPageToken\n }\n }\n },\n '',\n nextPageToken\n );\n\n const orderHistoryResponse = await orderHistoryResults;\n const nextLinkUrl = orderHistoryResults.metadata?.others?.nextLink;\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\n return {\n salesOrders: orderHistoryResponse,\n nextPageToken: nextPage\n };\n};\n\n/**\n * Calls the Retail API and returns the products.\n * @param paging - Paging props.\n * @param nextPageToken - Next Page Link.\n * @returns Collections of order shipments.\n */\nconst getOrganizationWideOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (\n context: IActionContext\n): Promise => {\n const queryResultSetting: IQueryResultSettings = {\n Paging: {\n Top: paging.top,\n Skip: paging.skip,\n NextPageToken: nextPageToken\n }\n };\n\n const orgOrderHistoryResults = getOrganizationWideOrderHistory(new GetOrganizationWideOrderHistoryInput(queryResultSetting), context);\n\n const orgOrderHistoryResponse = await orgOrderHistoryResults;\n const nextLinkUrl = orgOrderHistoryResults.metadata?.others?.nextLink;\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\n return {\n salesOrders: orgOrderHistoryResponse,\n nextPageToken: nextPage\n };\n};\n\n/**\n * Calls the Retail API and returns the products.\n * @param productIds - Collection of products id.\n * @param channelId - ChannelId number.\n * @returns Collections of simple products.\n */\nconst getProducts = (productIds: number[] = [], channelId?: number) => (ctx: IActionContext): Promise => {\n const productInputs = productIds.map(\n productId => new ProductInput(productId, ctx.requestContext.apiSettings, channelId, undefined, ctx.requestContext)\n );\n return getSimpleProducts(productInputs, ctx);\n};\n\n/**\n * Action input.\n */\nexport class GetSalesOrderHistoryWithHydrationsInput implements IActionInput {\n public paging: IPaging;\n\n public filterState: OrderHistoryFilterState;\n\n public nextPageToken?: string;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n constructor(paging: IPaging, apiSettings: ICommerceApiSettings, filterState?: OrderHistoryFilterState, nextPageLink?: string) {\n this.apiSettings = apiSettings;\n this.paging = paging;\n this.filterState = filterState || OrderHistoryFilterState.CurrentUser;\n this.nextPageToken = nextPageLink;\n }\n\n public getCacheKey = () => buildCacheKey('OrderHistory', this.apiSettings);\n\n /**\n * GetCacheObjectType.\n * @returns String.\n */\n public getCacheObjectType = () => 'OrderHistory';\n\n public dataCacheType = (): CacheType => 'none';\n}\n\n/**\n * Splits product ids from the given orders into lists by their channel id.\n * @param {OrderShipments[]} salesOrders Orders with the products.\n * @param {number} currentChannelId Channel id to use by default if no channel id is provided for a product.\n * @returns {{ [x: number]: number[] }} A dictionary where the key is a channel id,\n * and the value is a list of product ids in which all items correspond to the key channel id.\n * @remark The list of product ids is always non-empty.\n */\nconst splitProductsByChannelId = (salesOrders: OrderShipments[], currentChannelId: number): { [x: number]: number[] } => {\n const productIdsByChannel: { [x: number]: number[] } = {};\n\n salesOrders.forEach(salesOrder =>\n salesOrder?.SalesLines?.forEach(line => {\n const orderProductId = line.ProductId || 0;\n const orderChannelId = salesOrder.ChannelId || currentChannelId;\n if (!productIdsByChannel[orderChannelId]) {\n productIdsByChannel[orderChannelId] = [];\n }\n productIdsByChannel[orderChannelId].push(orderProductId);\n })\n );\n\n return productIdsByChannel;\n};\n\n/**\n * Get sales order with hydrations action.\n * @param input - GetOrderHistory hydration input.\n * @param context - Channel context.\n * @returns - Order History props.\n */\nexport async function getSalesOrderHistoryWithHydrationsAction(\n input: GetSalesOrderHistoryWithHydrationsInput,\n context: IActionContext\n): Promise {\n if (!context) {\n throw new Error('getSalesOrderWithHydrationsAction - Action context cannot be null/undefined');\n }\n const channelId = context.requestContext.apiSettings.channelId;\n let salesOrders: OrderShipments[] = [];\n let nextPage: string | undefined = '';\n let orderHistoryResponse: IOrderHistoryResult;\n\n switch (input.filterState) {\n case OrderHistoryFilterState.CurrentUser:\n orderHistoryResponse = await getOrderShipmentHistory(input.paging, input.nextPageToken)(context);\n salesOrders = orderHistoryResponse.salesOrders;\n nextPage = orderHistoryResponse.nextPageToken;\n break;\n case OrderHistoryFilterState.OrganizationWide:\n orderHistoryResponse = await getOrganizationWideOrderShipmentHistory(input.paging, input.nextPageToken)(context);\n salesOrders = orderHistoryResponse.salesOrders;\n nextPage = orderHistoryResponse.nextPageToken;\n break;\n default:\n throw new Error('getSalesOrderWithHydrationsAction - Invalid OrderHistoryFilterState passed');\n }\n\n salesOrders.map(salesOrder => {\n return (salesOrder.SalesLines = salesOrder.SalesLines?.filter((saleline: SalesLine) => !saleline.IsVoided));\n });\n\n if (!salesOrders || salesOrders.length === 0) {\n return {\n salesOrders: [],\n products: [],\n nextPageToken: nextPage\n };\n }\n\n // Splits the data by channel ids so that the products from different channels can be processed separately.\n const productIdsByChannelId = splitProductsByChannelId(salesOrders, channelId);\n\n // Promise that retrieves information about the products for each channel id.\n // Note, the list of product ids should not be empty\n // as it will generate an empty request which will force the promise to fail.\n const getProductsPromise = Object.entries(productIdsByChannelId).map(([entryChannelId, entryProductIdsList]) => {\n const getProductsCall = getProducts(entryProductIdsList, Number(entryChannelId));\n return getProductsCall(context);\n });\n\n return Promise.all(getProductsPromise)\n .then(\n (productList): IOrderHistory => {\n const products = productList.reduce((memo, list) => {\n return [...memo, ...list];\n }, []);\n return {\n salesOrders,\n products,\n nextPageToken: nextPage\n };\n }\n )\n .catch(error => {\n context.telemetry.exception(error);\n context.telemetry.debug('Failed to get products');\n throw error;\n });\n}\n\nexport const getSalesOrderHistoryWithHydrationsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-management/order-history/get-order-shipment-history',\n action: >getSalesOrderHistoryWithHydrationsAction\n});\n\nexport default getSalesOrderHistoryWithHydrationsActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\nimport {\n ChannelDeliveryOptionConfiguration,\n ChannelIdentity,\n Customer,\n format,\n OrderOriginator,\n OrderShipments,\n OrgUnitLocation,\n SimpleProduct\n} from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport { Observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ExpandButtonState, SalesLineState } 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, IGetSalesLinesInput } from '../../../common/get-sales-lines';\nimport { IOrderHistoryData } from '../order-history.data';\nimport { IOrderHistoryProps } from '../order-history.props.autogenerated';\n\nexport interface ISalesOrderProps extends IOrderHistoryProps {\n salesOrder: OrderShipments;\n products: SimpleProduct[];\n channelIdentities?: ChannelIdentity[];\n orgUnitLocations?: OrgUnitLocation[];\n customer?: Customer;\n originator?: OrderOriginator;\n showChannelInfo?: boolean;\n telemetryContent?: ITelemetryContent;\n retailMultiplePickUpOptionEnabled?: boolean;\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n salesLinesLimit?: number;\n}\n\nexport interface ISalesOrder {\n salesOrderProps: INodeProps;\n orderInfomation: IOrderInformation;\n groups?: IGroups;\n orderDetailsLink: React.ReactNode;\n expandProductsButton?: React.ReactNode;\n}\n\n/**\n * Retrieves the url for order details page.\n * @param actionContext - Core action context.\n * @param salesOrder - Order information.\n * @returns Url to order details.\n */\nexport const getOrderDetailsPageUrl = (actionContext: IActionContext, salesOrder: OrderShipments): string => {\n const orderDetailsUrl = getUrlSync('orderDetails', actionContext) || '';\n const separator = orderDetailsUrl.includes('?') ? '&' : '?';\n if (salesOrder.SalesId) {\n // Redirect with sales order sales id\n return `${orderDetailsUrl}${separator}salesId=${salesOrder.SalesId}`;\n }\n\n // Redirect with sales order transaction id\n return `${orderDetailsUrl}${separator}transactionId=${salesOrder.TransactionId!}`;\n};\n\n/**\n * Updates product states to show all products.\n * @param expandButtonState - Expand button state.\n * @param productStates - Product states.\n * @returns Callback method.\n */\nconst onExpandProductsCallback = (expandButtonState: ExpandButtonState, productStates: SalesLineState[]) => () => {\n for (const productState of productStates) {\n productState.isHidden = false;\n }\n expandButtonState.extraProductsCount = 0;\n};\n\nexport const getSalesOrder = (input: ISalesOrderProps): ISalesOrder => {\n const {\n id,\n typeName,\n context,\n telemetry,\n products,\n salesOrder,\n showChannelInfo,\n channelIdentities,\n orgUnitLocations,\n customer,\n originator,\n telemetryContent,\n resources: { freePriceText, detailsAriaLabel, detailsLabel, orderItemLabel, orderItemsLabel },\n context: { actionContext },\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig\n } = input;\n\n const moduleName = 'ms-order-history';\n\n const priceContext = {\n id,\n typeName,\n context,\n telemetry,\n freePriceText\n };\n\n const salesOrderProps = { className: 'ms-order-history__sales-order', key: salesOrder.SalesId || salesOrder.TransactionId };\n\n const orderInfomationInput = getOrderInformationInput(\n input,\n moduleName,\n salesOrder,\n priceContext,\n channelIdentities,\n orgUnitLocations,\n customer,\n originator,\n showChannelInfo\n );\n\n const orderInfomation = getOrderInformation(orderInfomationInput);\n\n const salesLinesInput =\n products &&\n getSalesLinesInput(\n input,\n moduleName,\n salesOrder,\n products,\n priceContext,\n undefined,\n undefined,\n undefined,\n retailMultiplePickUpOptionEnabled,\n channelDeliveryOptionConfig\n );\n\n let salesLines: ISalesLine[] | undefined;\n let expandProductsButton: React.ReactNode;\n if (salesLinesInput) {\n const getSalesLinesInputProps: IGetSalesLinesInput = { ...salesLinesInput, imageOnly: true };\n if (!ObjectExtensions.isNullOrUndefined(input.salesLinesLimit)) {\n const extraProductsCount = getSalesLinesInputProps.salesLines.length - input.salesLinesLimit;\n getSalesLinesInputProps.salesLineStates = getSalesLinesInputProps.salesLines.map(\n (salesLine, index) => new SalesLineState(`${salesLine.LineId ?? ''}-${index}`, index >= input.salesLinesLimit!)\n );\n if (extraProductsCount > 0) {\n const expandButtonState = new ExpandButtonState(extraProductsCount);\n expandProductsButton = (\n <>\n \n {() => {\n const text = format(\n input.resources.orderHistoryExpandProductsButtonText,\n expandButtonState.extraProductsCount\n );\n return (\n expandButtonState.extraProductsCount > 0 && (\n \n {text}\n \n )\n );\n }}\n \n \n );\n }\n }\n salesLines = getSalesLines(getSalesLinesInputProps);\n }\n\n expandProductsButton = (\n <>\n {expandProductsButton}\n
\n \n );\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.OrderDetails);\n const orderDetailsAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n const groups =\n salesLines &&\n getGroups({\n moduleName,\n salesLines,\n resources: { orderItemLabel, orderItemsLabel },\n retailMultiplePickUpOptionEnabled\n });\n\n const orderDetailsLink = (\n \n {detailsLabel}\n \n );\n\n return {\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { EnumExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nexport interface IOrderHistoryFilterResources {\n orderHistoryFilterYourOrderHistory: string;\n orderHistoryFilterOrganizationWide: string;\n}\n\nexport interface IOrderHistoryFilterData {\n customerInformation: Customer;\n}\n\nexport interface IOrderHistoryFilterProps extends IComponentProps {\n className: string;\n\n resources: IOrderHistoryFilterResources;\n\n currentState: OrderHistoryFilterState;\n onFilterStateChanged(state: OrderHistoryFilterState): void;\n}\n\nexport enum OrderHistoryFilterState {\n CurrentUser,\n OrganizationWide\n}\n\nconst getOrderHistoryFilterStateResources = (filterState: OrderHistoryFilterState, resources: IOrderHistoryFilterResources): string => {\n switch (filterState) {\n case OrderHistoryFilterState.CurrentUser:\n return resources.orderHistoryFilterYourOrderHistory;\n case OrderHistoryFilterState.OrganizationWide:\n return resources.orderHistoryFilterOrganizationWide;\n default:\n throw new Error('Failed to retrieve resource description for unknown order history filter state.');\n }\n};\n\n/**\n * On Click functionality.\n * @param onStateClick -Filter state function.\n * @param filterState -Order history filter state.\n * @returns On state click functionality.\n */\nconst onClickHandler = (onStateClick: (filterState: OrderHistoryFilterState) => void, filterState: OrderHistoryFilterState) => () => {\n onStateClick(filterState);\n};\n\nconst renderFilterStateItem = (\n filterState: OrderHistoryFilterState,\n resources: IOrderHistoryFilterResources,\n className: string,\n onStateClick: (filterState: OrderHistoryFilterState) => void\n): React.ReactNode => {\n const stateStringRepresentation = OrderHistoryFilterState[filterState];\n\n return (\n \n );\n};\n\n/**\n * On Toggle Popover functionality.\n * @param setPopoverState -Set popover state function.\n * @param isPopoverState -Boolean value.\n * @returns Set toggle popover state functionality.\n */\nconst togglePopoverHandler = (setPopoverState: React.Dispatch>, isPopoverState: boolean) => () => {\n setPopoverState(!isPopoverState);\n};\n\nconst OrderHistoryFilter: React.FC = (props: IOrderHistoryFilterProps) => {\n // Current version of filter doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customerInformation.IsB2bAdmin) {\n return
;\n }\n\n const popoverRef = React.createRef();\n const [popoverState, setPopoverState] = React.useState(false);\n\n const [filterState, setFilterState] = React.useState(props.currentState);\n\n const onFilterStateClick = (clickedState: OrderHistoryFilterState) => {\n setFilterState(clickedState);\n setPopoverState(false);\n props.onFilterStateChanged(clickedState);\n };\n\n return (\n
\n \n {getOrderHistoryFilterStateResources(filterState, props.resources)}\n \n \n {EnumExtensions.getEnumValues(OrderHistoryFilterState).map(state => {\n return renderFilterStateItem(state, props.resources, props.className, onFilterStateClick);\n })}\n \n
\n );\n};\n\nexport const OrderHistoryFilterComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryFilterProps\n>('OrderHistoryFilterComponent', { component: OrderHistoryFilter });\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Resources which are used in order history header.\n */\nexport interface IOrderHistoryTableHeaderResources {\n orderHistoryOrderNumberText: string;\n orderHistoryCreatedDateText: string;\n orderHistoryItemsText: string;\n orderHistoryTotalText: string;\n orderHistoryOriginText: string;\n orderPlacedByFullText?: string;\n}\n\n/**\n * Configuration of the component.\n */\nexport interface IOrderHistoryTableHeaderProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableHeaderResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Renders desktop view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst getDesktopHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\n const { resources } = props;\n\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\n\n return (\n <>\n {props.shouldShowOrderPlacedBy && {resources.orderPlacedByFullText}}\n {resources.orderHistoryOrderNumberText}\n {resources.orderHistoryCreatedDateText}\n {resources.orderHistoryItemsText}\n {resources.orderHistoryTotalText}\n {props.shouldShowChannelInfo && {resources.orderHistoryOriginText}}\n \n \n );\n};\n\n/**\n * Renders mobile view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst getMobileHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\n const { resources } = props;\n return (\n <>\n {resources.orderHistoryOrderNumberText}\n \n \n );\n};\n\n/**\n * Order history table header component.\n * @param props - Configuration of the component.\n * @returns React node with the header.\n */\nexport const OrderHistoryTableHeaderComponent: React.FC = (props: IOrderHistoryTableHeaderProps) => {\n const rowClassName = `${props.className}__row`;\n\n let headerCells: JSX.Element;\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n if (isMobileView) {\n headerCells = getMobileHeaderCells(props);\n } else {\n headerCells = getDesktopHeaderCells(props);\n }\n\n return (\n \n {headerCells}\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 MsDyn365, { IComponentProps, ICoreContext, IDateFormatOptions, isOboRequest } from '@msdyn365-commerce/core';\nimport { ChannelIdentity, Customer, format, OrderOriginator, OrderShipments, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport {\n getOrderChannelAddress,\n getOrderChannelName,\n getOrderChannelTypeValue,\n isOnlineStoreChannel\n} from '../../../../../common/get-order-information';\nimport { countItems } from '../../../../../common/utilities';\nimport { getOrderDetailsPageUrl } from '../../get-sales-order';\n\n/**\n * Data required to render each order history row.\n */\nexport interface IOrderHistoryTableRowData {\n salesOrder: OrderShipments;\n channelIdentities?: ChannelIdentity[];\n orgUnitLocations?: OrgUnitLocation[];\n customer?: Customer;\n originator?: OrderOriginator;\n}\n\n/**\n * Resources for order history table rows.\n */\nexport interface IOrderHistoryTableRowResources {\n orderHistoryViewDetailsButtonText: string;\n orderHistoryViewDetailsButtonAriaLabel: string;\n orderHistoryCreatedDateMobileDescriptionText: string;\n orderHistoryOrderNumberIsNotAvailable: string;\n onlineStoreChannelNameText: string;\n posChannelNameText: string;\n orderPlacedByFullText?: string;\n orderPlacedByYouText?: string;\n orderOnBehalfOfText?: string;\n}\n\n/**\n * Configuration for the order history rows.\n */\nexport interface IOrderHistoryTableRowProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableRowResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Formats amount.\n * @param context - Core context.\n * @param amount - Amount to display.\n * @param currencyCode - Currency for the amount.\n * @returns String value.\n */\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\n if (amount === undefined) {\n return '';\n }\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\n};\n\n/**\n * Formats date.\n * @param context - Core context.\n * @param date - Date to display.\n * @returns String value.\n */\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\nconst getShortEllipsisText = (originalText: string, maxTextLength: number) => {\n const isRtl = document.body.parentElement?.getAttribute('dir') === 'rtl';\n return originalText.length > maxTextLength\n ? isRtl\n ? `…${originalText.substring(0, maxTextLength - 1)}`\n : `${originalText.substring(0, maxTextLength - 1)}…`\n : originalText;\n};\n\n/**\n * Renders rows for desktop view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order history rows for desktop view.\n */\nexport const OrderHistoryDesktopTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const {\n data: { salesOrder, channelIdentities, orgUnitLocations, customer, originator },\n resources: { orderPlacedByFullText, orderPlacedByYouText, orderOnBehalfOfText }\n } = props;\n\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\n\n const defaultCount = 0;\n const itemsCount = ArrayExtensions.hasElements(salesOrder.SalesLines) ? countItems(salesOrder.SalesLines) : defaultCount;\n const channelName = getOrderChannelName(salesOrder, channelIdentities);\n const channelAddress = getOrderChannelAddress(salesOrder, orgUnitLocations);\n const channelTypeValue = getOrderChannelTypeValue(salesOrder, channelIdentities);\n const isOnlineStore = isOnlineStoreChannel(channelTypeValue, channelAddress);\n\n const columnWithNumberClassName = `${props.className}__column-with-number`;\n\n let orderNumberCellText = props.resources.orderHistoryOrderNumberIsNotAvailable;\n if (!StringExtensions.isNullOrWhitespace(salesOrder.SalesId)) {\n orderNumberCellText = salesOrder.SalesId!;\n }\n\n const isYou =\n !isOboRequest(props.context.request) &&\n originator?.CustomerId &&\n originator?.CustomerName &&\n !originator?.StaffId &&\n !originator?.StaffName &&\n customer?.AccountNumber === originator?.CustomerId\n ? true\n : false;\n const isYouObo = !isYou && !isOboRequest(props.context.request);\n let placedByName =\n originator?.StaffId && originator.StaffName\n ? originator.StaffName\n : originator?.CustomerId && originator.CustomerName\n ? originator.CustomerName\n : '-';\n placedByName = `${placedByName} ${isYou ? orderPlacedByYouText : ''}`;\n const isOnBehalfOfOrder = isOnlineStore && originator?.StaffName && customer?.Name;\n const maxOrderTextLength = window.innerWidth > 700 ? 20 : 12;\n const placedByText = `${orderPlacedByFullText} ${placedByName}`;\n const onBehalfOfText = `${orderOnBehalfOfText} ${customer?.Name} ${isYouObo ? orderPlacedByYouText : ''}`;\n\n return (\n <>\n {props.shouldShowOrderPlacedBy && (\n \n \n {placedByName}\n {isOnBehalfOfOrder && (\n <>\n
{getShortEllipsisText(onBehalfOfText, maxOrderTextLength)}\n \n )}\n \n \n )}\n \n {orderNumberCellText}\n {isOnBehalfOfOrder && !props.shouldShowOrderPlacedBy && (\n <>\n \n {getShortEllipsisText(placedByText, maxOrderTextLength)}\n \n \n )}\n \n {formatDate(props.context, salesOrder.CreatedDateTime)}\n {itemsCount}\n {formatAmount(props.context, salesOrder.TotalAmount, salesOrder.CurrencyCode)}\n {props.shouldShowChannelInfo && (\n \n {channelName &&\n (channelAddress\n ? `${props.resources.posChannelNameText} ${channelName}`\n : props.resources.onlineStoreChannelNameText)}\n \n )}\n \n \n {props.resources.orderHistoryViewDetailsButtonText}\n \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 history rows for mobile view.\n */\nexport const OrderHistoryMobileTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const {\n data: { salesOrder }\n } = props;\n\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\n\n const onClickViewDetails = React.useCallback(() => {\n if (MsDyn365.isBrowser) {\n window.location.href = linkToOrderHistoryDetails;\n }\n }, [linkToOrderHistoryDetails]);\n\n const orderNumber = StringExtensions.isNullOrWhitespace(salesOrder.SalesId)\n ? props.resources.orderHistoryOrderNumberIsNotAvailable\n : salesOrder.SalesId!;\n\n const dateText = format(\n props.resources.orderHistoryCreatedDateMobileDescriptionText,\n formatDate(props.context, salesOrder.CreatedDateTime)\n );\n\n const cellClassName = `${props.className}__mobile-cell`;\n\n return (\n <>\n \n \n {orderNumber}\n {dateText}\n
\n \n \n \n {props.resources.orderHistoryViewDetailsButtonText}\n \n \n \n );\n};\n\n/**\n * Renders order history rows.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order history rows.\n */\nexport const OrderHistoryTableRowComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\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 { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ChannelIdentity, Customer, OrderOriginator, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport React from 'react';\n\nimport { IOrderHistory } from '../../actions/get-order-shipment-history';\nimport { IOrderHistoryTableHeaderResources, OrderHistoryTableHeaderComponent } from './components/order-history-table-header-component';\nimport { IOrderHistoryTableRowResources, OrderHistoryTableRowComponent } from './components/order-history-table-row-component';\n\n/**\n * Interface with the data required for order history.\n */\nexport interface IOrderHistoryTableData {\n orderHistory: IOrderHistory;\n channelIdentities?: ChannelIdentity[];\n orgUnitLocations?: OrgUnitLocation[];\n customer?: Customer;\n originators?: OrderOriginator[];\n}\n\n/**\n * Resources needed to render order history table.\n */\nexport interface IOrderHistoryTableResources extends IOrderHistoryTableHeaderResources, IOrderHistoryTableRowResources {}\n\n/**\n * Configuration of order history table.\n */\nexport interface IOrderHistoryTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Renders order history table.\n * @param props - Configuration for order history table.\n * @returns React node with the table.\n */\nexport const OrderHistoryTableComponent: React.FC = (props: IOrderHistoryTableProps) => {\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n\n return (\n \n \n {props.data.orderHistory.salesOrders.map((salesOrder, index) => {\n return (\n \n (salesOrder.SalesId && o.SalesId === salesOrder.SalesId) ||\n (salesOrder.TransactionId && o.TransactionId === salesOrder.TransactionId)\n )\n }}\n shouldShowChannelInfo={props.shouldShowChannelInfo}\n shouldShowOrderPlacedBy={props.shouldShowOrderPlacedBy}\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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { OrderOriginator, OrderShipments } from '@msdyn365-commerce/retail-proxy';\nimport { Label } from '../../common/label';\nimport {\n getSalesOrderHistoryWithHydrationsAction,\n GetSalesOrderHistoryWithHydrationsInput,\n IOrderHistory,\n IPaging\n} from './actions/get-order-shipment-history';\nimport { getOriginatorsAction, GetOrderOriginatorsInput } from '../../actions/get-sales-order-originators';\nimport { getSalesOrder, ISalesOrder } from './components/get-sales-order';\nimport { OrderHistoryFilterComponent, OrderHistoryFilterState } from './components/order-history-filter';\nimport { OrderHistoryTableComponent } from './components/table-view';\nimport { IOrderHistoryData } from './order-history.data';\nimport { IOrderHistoryProps } from './order-history.props.autogenerated';\n\n/**\n * Specifies different layouts for order history.\n */\nexport enum OrderHistoryViewMode {\n listView = 0,\n detailedView = 1\n}\n\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n orderCountLabel?: React.ReactNode;\n extraActions?: React.ReactNode;\n}\n\nexport interface IList {\n listProps: INodeProps;\n salesOrders: ISalesOrder[];\n}\n\nexport interface IOrderHistoryViewState {\n isDataReady: boolean;\n hasError: boolean;\n isLoading: boolean;\n isShowMoreButton: boolean;\n errorCode?: string;\n errorMessage?: string;\n}\n\nexport interface IOrderHistoryViewProps extends IOrderHistoryProps {\n orderHistory: IOrderHistory;\n orderHistoryProps: IModuleProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n emptyMessage?: React.ReactNode;\n header: IHeader;\n backToShoppingLink?: React.ReactNode;\n list?: IList;\n table?: React.ReactNode;\n moreButton?: React.ReactNode;\n viewState: IOrderHistoryViewState;\n}\n\n/**\n *\n * OrderHistory component.\n * @extends {React.Component>}\n */\n@observer\nclass OrderHistory extends React.Component> {\n @observable private orderHistory!: IOrderHistory;\n\n @observable private viewState!: IOrderHistoryViewState;\n\n @observable private _viewMode: OrderHistoryViewMode;\n\n private originatorList!: OrderOriginator[];\n\n private filterState: OrderHistoryFilterState;\n\n private pageSize!: number;\n\n private paging!: IPaging;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n constructor(props: IOrderHistoryProps) {\n super(props);\n this.initState();\n this._viewMode = OrderHistoryViewMode.detailedView;\n this.filterState = OrderHistoryFilterState.CurrentUser;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n }\n\n public componentDidMount(): void {\n if (this.props.context.actionContext.requestContext.user.isAuthenticated) {\n this._updateOrderHistory();\n } else {\n this.viewState.isDataReady = true;\n }\n }\n\n public shouldComponentUpdate(nextProps: IOrderHistoryProps, nextState: IOrderHistoryViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n config: { heading, className, showChannelInfo, shouldShowCount },\n resources: {\n genericErrorMessage,\n noOrderHistoryLable,\n moreButtonText,\n backToShopping,\n orderCountLabel,\n ordersCountLabel,\n loadingLabel\n }\n } = this.props;\n const { salesOrders, products } = this.orderHistory;\n const { isDataReady, hasError, isShowMoreButton, isLoading } = this.viewState;\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\n\n let viewProps: IOrderHistoryViewProps = {\n ...this.props,\n orderHistory: this.orderHistory,\n viewState: this.viewState,\n orderHistoryProps: {\n moduleProps: this.props,\n className: classname('ms-order-history', className)\n },\n header: {\n headerProps: { className: 'ms-order-history__header' },\n heading: heading && heading.text && (\n \n ),\n extraActions: this.renderExtraActions()\n },\n backToShoppingLink: backToShoppingUrl && (\n \n )\n };\n\n if (hasError) {\n viewProps = {\n ...viewProps,\n alert: