{"version":3,"file":"static/js/fc8dabcfd4ee8b4273e2.bundle.js","mappings":"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","sources":["webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/actions/get-date-refiner-options.ts?ceee","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/actions/get-order-history-with-search-and-filters.ts?d907","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/actions/get-order-status-refiner-options.ts?f617","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/actions/get-search-options.ts?f248","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/actions/get-sort-options.ts?7dea","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/refiner-option.ts?b3fd","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/search-option.ts?20d1","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/sort-option.ts?5e94","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/refiner-option-mappings.ts?5f11","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/sort-option-mappings.ts?635a","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/order-history-with-search-and-filters.tsx?e2e5","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/common/search-option-mappings.ts?a532","webpack://henrys-ecommerce/./src/modules/order-history-with-search-and-filters/order-history-with-search-and-filters.view.tsx?0c93"],"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 IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { DateRefinerOptionItem } from '../common/refiner-option';\n\n/**\n * Gets the date refiner options.\n * @returns - List of refiner options.\n */\nconst getDateRefinerOptions = () => async (ctx: IActionContext): Promise => {\n return Promise.resolve([\n DateRefinerOptionItem.LastSevenDays,\n DateRefinerOptionItem.LastThirtyDays,\n DateRefinerOptionItem.LastThreeMonths,\n DateRefinerOptionItem.LastSixMonths,\n DateRefinerOptionItem.Customized\n ]);\n};\n\n/**\n * Action input.\n */\nexport class GetDateRefinerOptionsInput implements IActionInput {\n public getCacheKey = () => 'OrderHistoryWithSearchAndFiltersDateRefinerOptions';\n\n public getCacheObjectType = () => 'OrderHistoryWithSearchAndFiltersDateRefinerOptions';\n\n public dataCacheType = (): CacheType => 'instance';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - Action Data Input.\n * @returns - Input object.\n */\nconst createGetDateRefinerOptionsInput = (inputData: ICreateActionContext>): IActionInput => {\n return new GetDateRefinerOptionsInput();\n};\n\n/**\n * Get action.\n * @param input - Input data.\n * @param context - Action context.\n * @returns - List of refiner options.\n */\nexport async function getDateRefinerOptionsAction(\n input: GetDateRefinerOptionsInput,\n context: IActionContext\n): Promise {\n if (!context) {\n throw new Error('getDateRefinerOptionsAction - Action context cannot be null/undefined');\n }\n\n let refinerOptions: DateRefinerOptionItem[] = [];\n\n try {\n refinerOptions = await getDateRefinerOptions()(context);\n } catch (error) {\n throw error;\n }\n\n return refinerOptions;\n}\n\n/**\n * Get date refiner options action.\n * @param id - Unique Id for data action.\n * @param context - Action context.\n * @param input - Input for data action.\n * @returns Api response.\n */\nexport const getDateRefinerOptionsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-history-with-search-and-filters/get-date-refiner-options',\n action: getDateRefinerOptionsAction as IAction,\n input: createGetDateRefinerOptionsInput\n});\n\nexport default getDateRefinerOptionsActionDataAction;\n","/*!\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 { SalesLine } from '@msdyn365-commerce/retail-proxy';\nimport { buildCacheKey, getSimpleProducts, ProductInput } from '@msdyn365-commerce-modules/retail-actions';\n\nimport {\n getSalesOrdersByLookupCriteriaAsync,\n searchOrdersAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/SalesOrdersDataActions.g';\nimport { getCurrentAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\nimport {\n CustomerOrderType,\n OrderSearchCriteria,\n QueryResultSettings,\n SalesOrder,\n SalesOrderLookupBySalesId,\n SalesOrderLookupByTransactionId,\n SalesOrdersLookupCriteria,\n SimpleProduct,\n SortColumn\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\n\nimport { isNullOrWhiteSpace } from '@msdyn365-commerce-modules/utilities';\nimport { OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState } from '../components';\n\n/**\n * IGetOrderHistoryWithSearchAndFiltersPaging interface.\n */\nexport interface IGetOrderHistoryWithSearchAndFiltersPaging {\n top: number;\n nextPageToken: string;\n}\n\n/**\n * IGetOrderHistoryWithSearchAndFiltersSorting interface.\n */\nexport interface IGetOrderHistoryWithSearchAndFiltersSorting {\n columnName: string;\n isDescending: boolean;\n}\n\nexport interface IOrderHistoryWithSearchAndFilterError {\n statusCode?: number;\n errorMessageResource?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error?: any;\n}\n/**\n * IOrderHistoryWithSearchAndFiltersResult interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersResult {\n salesOrders: SalesOrder[];\n products: SimpleProduct[];\n paging: IGetOrderHistoryWithSearchAndFiltersPaging;\n error?: IOrderHistoryWithSearchAndFilterError;\n}\n\n/**\n * IGetOrdersResult interface.\n */\ninterface IGetOrdersResult {\n salesOrders: SalesOrder[];\n paging: IGetOrderHistoryWithSearchAndFiltersPaging;\n error?: IOrderHistoryWithSearchAndFilterError;\n}\n\n/**\n * Calls the Retail API and returns the orders.\n * @param paging - The paging information to use in SearchOrders API.\n * @param sorting - The sorting information to use in SearchOrders API.\n * @param organizationWideSelectorState - The organization wide selector state.\n * @param orderSearchCriteria - The search criteria.\n * @returns Collection of SalesOrder.\n */\nconst getOrders = (\n paging: IGetOrderHistoryWithSearchAndFiltersPaging,\n sorting: IGetOrderHistoryWithSearchAndFiltersSorting | undefined,\n organizationWideSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState,\n orderSearchCriteria: OrderSearchCriteria\n) => async (ctx: IActionContext): Promise => {\n let searchCriteria: OrderSearchCriteria;\n switch (organizationWideSelectorState) {\n case OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser:\n searchCriteria = {\n ...orderSearchCriteria,\n CustomerAccountNumber: ctx.requestContext.user.customerAccountNumber,\n OrderType: CustomerOrderType.SalesOrder\n };\n break;\n case OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide:\n const businessPartner = await getCurrentAsync({ callerContext: ctx });\n if (!businessPartner) {\n throw new Error('Unable to get order history. Failed to retrieve business partner id.');\n }\n searchCriteria = {\n ...orderSearchCriteria,\n BusinessPartnerId: businessPartner.BusinessPartnerId,\n OrderType: CustomerOrderType.SalesOrder\n };\n break;\n default:\n throw new Error('getSalesOrderWithHydrationsAction - Invalid OrganizationOrderHistorySelectorState passed');\n }\n\n const queryResultSettings: QueryResultSettings = {\n Paging: {\n Top: paging.top,\n NextPageToken: paging.nextPageToken // this value will be overwritten in server side.\n }\n };\n\n if (sorting) {\n queryResultSettings.Sorting = {\n Columns: [\n {\n ColumnName: sorting.columnName,\n IsDescending: sorting.isDescending\n } as SortColumn\n ]\n };\n }\n\n const searchOrdersResults = searchOrdersAsync(\n {\n callerContext: ctx,\n bypassCache: 'get',\n queryResultSettings: queryResultSettings\n },\n searchCriteria,\n paging.nextPageToken\n );\n\n const errorDetails: IOrderHistoryWithSearchAndFilterError = {};\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const searchOrdersResponse: SalesOrder[] = await searchOrdersResults.catch((error: any) => {\n errorDetails.statusCode = error?.statusCode;\n errorDetails.errorMessageResource = error?.message;\n errorDetails.error = error;\n return [];\n });\n\n const nextLinkUrl = searchOrdersResults.metadata?.others?.nextLink;\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\n const newNextPageToken = nextPageLink !== null ? nextPageLink : undefined;\n\n const salesOrdersLookupCriteria: SalesOrdersLookupCriteria = {};\n salesOrdersLookupCriteria.SalesOrderLookups = searchOrdersResponse?.map((order: SalesOrder) => {\n if (order.SalesId && !isNullOrWhiteSpace(order.SalesId)) {\n const salesOrderLookupBySalesId = {\n SalesId: order.SalesId,\n '@odata.type': '#Microsoft.Dynamics.Commerce.Runtime.DataModel.SalesOrderLookupBySalesId'\n } as SalesOrderLookupBySalesId;\n return salesOrderLookupBySalesId;\n } else if (order.Id && !isNullOrWhiteSpace(order.Id)) {\n const salesOrderLookupByTransactionId = {\n TransactionId: order.Id,\n ChannelId: order.ChannelId,\n StoreId: order.StoreId,\n TerminalId: order.TerminalId,\n '@odata.type': '#Microsoft.Dynamics.Commerce.Runtime.DataModel.SalesOrderLookupByTransactionId'\n } as SalesOrderLookupByTransactionId;\n return salesOrderLookupByTransactionId;\n } else {\n throw new Error('Invalid input - There are no orders to view.');\n }\n });\n\n const orderHistoryResults = getSalesOrdersByLookupCriteriaAsync(\n {\n callerContext: ctx,\n bypassCache: 'get'\n },\n salesOrdersLookupCriteria\n );\n\n const orderHistoryResponse = await orderHistoryResults;\n\n // organize the order history by the order of the search results\n const orderHistoryResponseMap = new Map();\n orderHistoryResponse.forEach(order => {\n if (order.SalesId && !isNullOrWhiteSpace(order.SalesId)) {\n orderHistoryResponseMap.set(order.SalesId, order);\n }\n\n if (order.Id && !isNullOrWhiteSpace(order.Id)) {\n const key = `${order.Id}_${order.ChannelId}_${order.StoreId}_${order.TerminalId}`;\n orderHistoryResponseMap.set(key, order);\n }\n });\n\n const orderedOrderHistoryResponse = searchOrdersResponse\n ?.map((order: SalesOrder) => {\n let key: string;\n if (order.SalesId && !isNullOrWhiteSpace(order.SalesId)) {\n key = order.SalesId;\n } else if (order.Id && !isNullOrWhiteSpace(order.Id)) {\n key = `${order.Id}_${order.ChannelId}_${order.StoreId}_${order.TerminalId}`;\n } else {\n throw new Error('Invalid order - Missing key (SalesId / Id).');\n }\n return orderHistoryResponseMap.get(key);\n })\n .filter(order => order !== undefined);\n\n return {\n salesOrders: orderedOrderHistoryResponse,\n error: errorDetails,\n paging: {\n top: paging.top,\n nextPageToken: newNextPageToken || ''\n }\n } as IGetOrdersResult;\n};\n\n/**\n * Calls the Retail API and returns the products.\n * @param productIds - Collection of products identifiers.\n * @param channelId - Channel identifier.\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 GetOrderHistoryWithSearchAndFiltersInput implements IActionInput {\n public paging: IGetOrderHistoryWithSearchAndFiltersPaging;\n\n public sorting?: IGetOrderHistoryWithSearchAndFiltersSorting;\n\n public organizationWideSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n\n public orderSearchCriteria: OrderSearchCriteria;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n constructor(\n paging: IGetOrderHistoryWithSearchAndFiltersPaging,\n apiSettings: ICommerceApiSettings,\n organizationWideSelectorState?: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState,\n orderSearchCriteria?: OrderSearchCriteria,\n sorting?: IGetOrderHistoryWithSearchAndFiltersSorting\n ) {\n this.apiSettings = apiSettings;\n this.paging = paging;\n this.sorting = sorting;\n this.organizationWideSelectorState =\n organizationWideSelectorState || OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser;\n this.orderSearchCriteria = orderSearchCriteria || ({} as OrderSearchCriteria);\n }\n\n public getCacheKey = () => buildCacheKey('OrderHistoryWithSearchAndFilters', this.apiSettings);\n\n /**\n * GetCacheObjectType.\n * @returns String.\n */\n public getCacheObjectType = () => 'OrderHistoryWithSearchAndFilters';\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 {SalesOrder[]} 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: SalesOrder[], 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 orders given search and filters options.\n * @param input - GetOrderHistoryWithSearchAndFiltersInput.\n * @param context - Channel context.\n * @returns - Order History props.\n */\nexport async function getGetOrderHistoryWithSearchAndFiltersAction(\n input: GetOrderHistoryWithSearchAndFiltersInput,\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 const response: IGetOrdersResult = await getOrders(\n input.paging,\n input.sorting,\n input.organizationWideSelectorState,\n input.orderSearchCriteria\n )(context);\n const salesOrders: SalesOrder[] = response.salesOrders;\n const paging: IGetOrderHistoryWithSearchAndFiltersPaging = response.paging;\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 paging: paging,\n error: response.error\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): IOrderHistoryWithSearchAndFiltersResult => {\n const products = productList.reduce((memo, list) => {\n return [...memo, ...list];\n }, []);\n return {\n salesOrders,\n products,\n paging: paging,\n error: response.error\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 getGetOrderHistoryWithSearchAndFiltersActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-history-with-search-and-filters/get-order-history-with-search-and-filters',\n action: getGetOrderHistoryWithSearchAndFiltersAction as IAction\n});\n\nexport default getGetOrderHistoryWithSearchAndFiltersActionDataAction;\n","/*!\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 IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { OrderStatusRefinerOptionItem } from '../common/refiner-option';\n\n/**\n * Gets the order status refiner options.\n * @returns - List of refiner options.\n */\nconst getOrderStatusRefinerOptions = () => async (ctx: IActionContext): Promise => {\n return Promise.resolve([\n OrderStatusRefinerOptionItem.Created,\n OrderStatusRefinerOptionItem.Invoiced,\n OrderStatusRefinerOptionItem.Canceled\n ]);\n};\n\n/**\n * Action input.\n */\nexport class GetOrderStatusRefinerOptionsInput implements IActionInput {\n public getCacheKey = () => 'OrderHistoryWithSearchAndFiltersOrderStatusRefinerOptions';\n\n public getCacheObjectType = () => 'OrderHistoryWithSearchAndFiltersOrderStatusRefinerOptions';\n\n public dataCacheType = (): CacheType => 'instance';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - Action Data Input.\n * @returns - Input object.\n */\nconst createGetOrderStatusRefinerOptionsInput = (inputData: ICreateActionContext>): IActionInput => {\n return new GetOrderStatusRefinerOptionsInput();\n};\n\n/**\n * Get action.\n * @param input - Input data.\n * @param context - Action context.\n * @returns - List of refiner options.\n */\nexport async function getOrderStatusRefinerOptionsAction(\n input: GetOrderStatusRefinerOptionsInput,\n context: IActionContext\n): Promise {\n if (!context) {\n throw new Error('getOrderStatusRefinerOptionsAction - Action context cannot be null/undefined');\n }\n\n let refinerOptions: OrderStatusRefinerOptionItem[] = [];\n\n try {\n refinerOptions = await getOrderStatusRefinerOptions()(context);\n } catch (error) {\n throw error;\n }\n\n return refinerOptions;\n}\n\n/**\n * Get order status refiner options action.\n * @param id - Unique Id for data action.\n * @param context - Action context.\n * @param input - Input for data action.\n * @returns Api response.\n */\nexport const getOrderStatusRefinerOptionsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-history-with-search-and-filters/get-order-status-refiner-options',\n action: getOrderStatusRefinerOptionsAction as IAction,\n input: createGetOrderStatusRefinerOptionsInput\n});\n\nexport default getOrderStatusRefinerOptionsActionDataAction;\n","/*!\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 IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { SearchOption } from '../common/search-option';\n\n/**\n * Gets the search options.\n * @returns - List of search options.\n */\nconst getSearchOptions = () => async (ctx: IActionContext): Promise => {\n return Promise.resolve([SearchOption.OrderNumber, SearchOption.ConfirmationId, SearchOption.ChannelName]);\n};\n\n/**\n * Action input.\n */\nexport class GetSearchOptionsInput implements IActionInput {\n public getCacheKey = () => 'OrderHistoryWithSearchAndFiltersSearchOptions';\n\n public getCacheObjectType = () => 'OrderHistoryWithSearchAndFiltersSearchOptions';\n\n public dataCacheType = (): CacheType => 'instance';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - Action Data Input.\n * @returns - Input object.\n */\nconst createGetSearchOptionsInput = (inputData: ICreateActionContext>): IActionInput => {\n return new GetSearchOptionsInput();\n};\n\n/**\n * Get action.\n * @param input - Input data.\n * @param context - Action context.\n * @returns - List of search options.\n */\nexport async function getSearchOptionsAction(input: GetSearchOptionsInput, context: IActionContext): Promise {\n if (!context) {\n throw new Error('getSearchOptionsAction - Action context cannot be null/undefined');\n }\n\n let searchOptions: SearchOption[] = [];\n\n try {\n searchOptions = await getSearchOptions()(context);\n } catch (error) {\n throw error;\n }\n\n return searchOptions;\n}\n\n/**\n * Get search options action.\n * @param id - Unique Id for data action.\n * @param context - Action context.\n * @param input - Input for data action.\n * @returns Api response.\n */\nexport const getSearchOptionsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-history-with-search-and-filters/get-search-options',\n action: getSearchOptionsAction as IAction,\n input: createGetSearchOptionsInput\n});\n\nexport default getSearchOptionsActionDataAction;\n","/*!\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 IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { SortOption } from '../common/sort-option';\n\n/**\n * Gets the sort options.\n * @returns - List of sort options.\n */\nconst getAllSortOptions = () => async (ctx: IActionContext): Promise => {\n return Promise.resolve([\n SortOption.CreatedDateTimeDescending,\n SortOption.CreatedDateTimeAscending,\n SortOption.ConfirmedShipDateDescending,\n SortOption.ConfirmedShipDateAscending\n ]);\n};\n\n/**\n * Gets the sort options without confirmed ship date options.\n * @returns - List of sort options.\n */\nconst getSortOptionsWithoutConfirmedShipDate = () => async (ctx: IActionContext): Promise => {\n return Promise.resolve([SortOption.CreatedDateTimeDescending, SortOption.CreatedDateTimeAscending]);\n};\n\n/**\n * Action input.\n */\nexport class GetSortOptionsInput implements IActionInput {\n public allowSortingByConfirmedShipDate: boolean;\n\n constructor(allowSortingByConfirmedShipDate: boolean) {\n this.allowSortingByConfirmedShipDate = allowSortingByConfirmedShipDate;\n }\n\n public getCacheKey = () => 'OrderHistoryWithSearchAndFiltersSortOptions';\n\n public getCacheObjectType = () => 'OrderHistoryWithSearchAndFiltersSortOptions';\n\n public dataCacheType = (): CacheType => 'instance';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - Action Data Input.\n * @returns - Input object.\n */\nconst createGetSortOptionsInput = (inputData: ICreateActionContext>): IActionInput => {\n return new GetSortOptionsInput(inputData.config?.showConfirmedShipDateSortingOptions || false);\n};\n\n/**\n * Get action.\n * @param input - Input data.\n * @param context - Action context.\n * @returns - List of sort options.\n */\nexport async function getSortOptionsAction(input: GetSortOptionsInput, context: IActionContext): Promise {\n if (!context) {\n throw new Error('getSortOptionsAction - Action context cannot be null/undefined');\n }\n\n let sortOptions: SortOption[] = [];\n\n try {\n sortOptions = input.allowSortingByConfirmedShipDate\n ? await getAllSortOptions()(context)\n : await getSortOptionsWithoutConfirmedShipDate()(context);\n } catch (error) {\n throw error;\n }\n\n return sortOptions;\n}\n\n/**\n * Get sort options action.\n * @param id - Unique Id for data action.\n * @param context - Action context.\n * @param input - Input for data action.\n * @returns Api response.\n */\nexport const getSortOptionsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-history-with-search-and-filters/get-sort-options',\n action: getSortOptionsAction as IAction,\n input: createGetSortOptionsInput\n});\n\nexport default getSortOptionsActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { SalesStatus } from '@msdyn365-commerce/retail-proxy';\n\nexport enum RefinerSourceType {\n Origin = 1,\n CreatedDate = 2,\n OrderStatus = 3\n}\n\nexport enum DateRefinerOptionItem {\n LastSevenDays = 0,\n LastThirtyDays = 1,\n LastThreeMonths = 2,\n LastSixMonths = 3,\n Customized = 999\n}\n\nexport enum OrderStatusRefinerOptionItem {\n Created = SalesStatus.Created,\n Delivered = SalesStatus.Delivered,\n Invoiced = SalesStatus.Invoiced,\n Canceled = SalesStatus.Canceled\n}\n\nexport interface IDateRange {\n startDate?: Date;\n endDate?: Date;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport enum SearchOption {\n OrderNumber = 0,\n ConfirmationId = 1,\n ChannelName = 2\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport enum SortOption {\n CreatedDateTimeAscending = 'CreatedDateTimeAscending',\n CreatedDateTimeDescending = 'CreatedDateTimeDescending',\n ConfirmedShipDateAscending = 'ConfirmedShipDateAscending',\n ConfirmedShipDateDescending = 'ConfirmedShipDateDescending'\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IRefinerItemData, RefinerItemType } from '@msdyn365-commerce/components';\nimport { ChannelIdentity, SalesStatus } from '@msdyn365-commerce/retail-proxy';\nimport { IOrderHistoryWithSearchAndFiltersResources } from '../order-history-with-search-and-filters.props.autogenerated';\nimport { getOrderStatusLabel } from './get-sales-order';\nimport { DateRefinerOptionItem, IDateRange, OrderStatusRefinerOptionItem, RefinerSourceType } from './refiner-option';\n\nexport function mapChannelIdentityIntoIRefinerItemData(channelIdentity: ChannelIdentity): IRefinerItemData {\n return {\n sourceTypeValue: RefinerSourceType.Origin,\n label: channelIdentity.Name ?? channelIdentity.RecordId.toString(),\n value: channelIdentity.RecordId.toString(),\n refinerItemId: channelIdentity.RecordId,\n isChecked: false,\n itemType: RefinerItemType.Check\n };\n}\n\nexport function mapDateRefinerOptionIntoIRefinerItemData(\n dateRefinerOptionItem: DateRefinerOptionItem,\n resources: IOrderHistoryWithSearchAndFiltersResources\n): IRefinerItemData {\n let itemData: IRefinerItemData;\n switch (dateRefinerOptionItem) {\n case DateRefinerOptionItem.LastSevenDays:\n itemData = {\n label: resources.lastSevenDaysCreatedDateRefinerItemLabel,\n itemType: RefinerItemType.Check\n } as IRefinerItemData;\n break;\n case DateRefinerOptionItem.LastThirtyDays:\n itemData = {\n label: resources.lastThirtyDaysCreatedDateRefinerItemLabel,\n itemType: RefinerItemType.Check\n } as IRefinerItemData;\n break;\n case DateRefinerOptionItem.LastThreeMonths:\n itemData = {\n label: resources.lastThreeMonthsCreatedDateRefinerItemLabel,\n itemType: RefinerItemType.Check\n } as IRefinerItemData;\n break;\n case DateRefinerOptionItem.LastSixMonths:\n itemData = {\n label: resources.lastSixMonthsCreatedDateRefinerItemLabel,\n itemType: RefinerItemType.Check\n } as IRefinerItemData;\n break;\n case DateRefinerOptionItem.Customized:\n itemData = {\n label: resources.customizedCreatedDateRefinerItemLabel,\n minLabel: resources.customizedStartDateRefinerItemLabel,\n maxLabel: resources.customizedEndDateRefinerItemLabel,\n itemType: RefinerItemType.DateRange\n } as IRefinerItemData;\n break;\n default:\n throw new Error(`Invalid date refiner option: ${dateRefinerOptionItem}`);\n }\n\n return {\n ...itemData,\n sourceTypeValue: RefinerSourceType.CreatedDate,\n value: dateRefinerOptionItem.toString(),\n refinerItemId: dateRefinerOptionItem,\n isChecked: false\n } as IRefinerItemData;\n}\n\nexport function mapIRefinerItemDataIntoDateRefinerOptionItem(refinerItemData?: IRefinerItemData): DateRefinerOptionItem | undefined {\n if (!refinerItemData) {\n return;\n }\n\n const value = Number(refinerItemData.value);\n if (isNaN(value)) {\n return;\n }\n\n switch (value) {\n case DateRefinerOptionItem.LastSevenDays:\n case DateRefinerOptionItem.LastThirtyDays:\n case DateRefinerOptionItem.LastThreeMonths:\n case DateRefinerOptionItem.LastSixMonths:\n case DateRefinerOptionItem.Customized:\n return value;\n default:\n return;\n }\n}\n\nexport function getDateRange(dateRefinerOptionItem: DateRefinerOptionItem): IDateRange {\n switch (dateRefinerOptionItem) {\n case DateRefinerOptionItem.LastSevenDays:\n return {\n startDate: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),\n endDate: new Date()\n } as IDateRange;\n case DateRefinerOptionItem.LastThirtyDays:\n return {\n startDate: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000),\n endDate: new Date()\n } as IDateRange;\n case DateRefinerOptionItem.LastThreeMonths:\n return {\n startDate: new Date(Date.now() - 3 * 30 * 24 * 60 * 60 * 1000),\n endDate: new Date()\n } as IDateRange;\n case DateRefinerOptionItem.LastSixMonths:\n return {\n startDate: new Date(Date.now() - 6 * 30 * 24 * 60 * 60 * 1000),\n endDate: new Date()\n } as IDateRange;\n default:\n return {} as IDateRange;\n }\n}\n\nexport function getDateFromString(dateString?: string): Date | undefined {\n if (!dateString) {\n return undefined;\n }\n\n const parts: string[] = dateString.split('-');\n if (parts.length !== 3) {\n return undefined;\n }\n\n const now = new Date();\n return new Date(Number(parts[0]), Number(parts[1]) - 1, Number(parts[2]), now.getHours(), now.getMinutes(), now.getSeconds());\n}\n\nexport function mapOrderStatusRefinerOptionIntoIRefinerItemData(\n orderStatusRefinerOptionItem: OrderStatusRefinerOptionItem,\n resources: IOrderHistoryWithSearchAndFiltersResources\n): IRefinerItemData {\n let itemData: IRefinerItemData;\n switch (orderStatusRefinerOptionItem) {\n case OrderStatusRefinerOptionItem.Created:\n case OrderStatusRefinerOptionItem.Delivered:\n case OrderStatusRefinerOptionItem.Invoiced:\n case OrderStatusRefinerOptionItem.Canceled:\n itemData = {\n label: getOrderStatusRefinerOptionItemLabel(orderStatusRefinerOptionItem, resources)\n } as IRefinerItemData;\n break;\n default:\n throw new Error(`Invalid order status refiner option: ${orderStatusRefinerOptionItem}`);\n }\n\n return {\n ...itemData,\n sourceTypeValue: RefinerSourceType.OrderStatus,\n value: orderStatusRefinerOptionItem.toString(),\n refinerItemId: orderStatusRefinerOptionItem,\n isChecked: false,\n itemType: RefinerItemType.Check\n } as IRefinerItemData;\n}\n\nfunction getOrderStatusRefinerOptionItemLabel(\n orderStatusRefinerOptionItem: OrderStatusRefinerOptionItem,\n resources: IOrderHistoryWithSearchAndFiltersResources\n): string {\n return getOrderStatusLabel(mapOrderStatusRefinerOptionItemIntoSalesStatus(orderStatusRefinerOptionItem), resources);\n}\n\nexport function mapIRefinerItemDataIntoOrderStatusRefinerOptionItem(\n refinerItemData?: IRefinerItemData\n): OrderStatusRefinerOptionItem | undefined {\n if (!refinerItemData) {\n return;\n }\n\n const value = Number(refinerItemData.value);\n if (isNaN(value)) {\n return;\n }\n\n switch (value) {\n case OrderStatusRefinerOptionItem.Created:\n case OrderStatusRefinerOptionItem.Delivered:\n case OrderStatusRefinerOptionItem.Invoiced:\n case OrderStatusRefinerOptionItem.Canceled:\n return value as OrderStatusRefinerOptionItem;\n default:\n return;\n }\n}\n\nexport function mapOrderStatusRefinerOptionItemIntoSalesStatus(\n orderStatusRefinerOptionItem?: OrderStatusRefinerOptionItem\n): SalesStatus | undefined {\n switch (orderStatusRefinerOptionItem) {\n case OrderStatusRefinerOptionItem.Created:\n return SalesStatus.Created;\n case OrderStatusRefinerOptionItem.Delivered:\n return SalesStatus.Delivered;\n case OrderStatusRefinerOptionItem.Invoiced:\n return SalesStatus.Invoiced;\n case OrderStatusRefinerOptionItem.Canceled:\n return SalesStatus.Canceled;\n default:\n return;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IRefinerSortOption } from '@msdyn365-commerce/components';\nimport { IOrderHistoryWithSearchAndFiltersResources } from '../order-history-with-search-and-filters.props.autogenerated';\nimport { SortOption } from './sort-option';\n\nexport function mapSortOptionIntoIRefinerSortOption(\n sortOption: SortOption,\n resources: IOrderHistoryWithSearchAndFiltersResources\n): IRefinerSortOption {\n switch (sortOption) {\n case SortOption.CreatedDateTimeAscending:\n return {\n label: resources.createdDateTimeAscendingSortOptionLabel,\n value: SortOption.CreatedDateTimeAscending\n } as IRefinerSortOption;\n case SortOption.CreatedDateTimeDescending:\n return {\n label: resources.createdDateTimeDescendingSortOptionLabel,\n value: SortOption.CreatedDateTimeDescending\n } as IRefinerSortOption;\n case SortOption.ConfirmedShipDateAscending:\n return {\n label: resources.confirmedShipDateAscendingSortOptionLabel,\n value: SortOption.ConfirmedShipDateAscending\n } as IRefinerSortOption;\n case SortOption.ConfirmedShipDateDescending:\n return {\n label: resources.confirmedShipDateDescendingSortOptionLabel,\n value: SortOption.ConfirmedShipDateDescending\n } as IRefinerSortOption;\n default:\n throw new Error(`Invalid sort option: ${sortOption}`);\n }\n}\n\nexport function mapIRefinerSortOptionIntoSortOption(refinerSortOption?: IRefinerSortOption): SortOption | undefined {\n if (!refinerSortOption) {\n return;\n }\n\n if (refinerSortOption.value === SortOption.CreatedDateTimeAscending.toString()) {\n return SortOption.CreatedDateTimeAscending;\n }\n\n if (refinerSortOption.value === SortOption.CreatedDateTimeDescending.toString()) {\n return SortOption.CreatedDateTimeDescending;\n }\n\n if (refinerSortOption.value === SortOption.ConfirmedShipDateAscending.toString()) {\n return SortOption.ConfirmedShipDateAscending;\n }\n\n if (refinerSortOption.value === SortOption.ConfirmedShipDateDescending.toString()) {\n return SortOption.ConfirmedShipDateDescending;\n }\n\n return;\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 IPayLoad,\n isMobile,\n ITelemetryContent,\n TelemetryConstant,\n VariantType\n} from '@msdyn365-commerce-modules/utilities';\n\nimport {\n getUpdatedRefinementCriteria,\n IRefinerApplyProps,\n IRefinerChoiceSummaryClickNotification,\n IRefinerChoiceSummaryProps,\n IRefinerFooterProps,\n IRefinerHeaderProps,\n IRefinerItemData,\n IRefinerItemToggleNotification,\n IRefinerModalProps,\n IRefinerModalToggleProps,\n IRefinerProps,\n IRefinerSortOption,\n IRefinerSortProps,\n IRefinerToggleProps,\n ISearchBarOption,\n ISearchBarProps,\n isMatchingRefinementCriterion,\n RefinerOptionsComponent,\n RefinerOptionsType\n} from '@msdyn365-commerce/components';\n\nimport classname from 'classnames';\nimport { computed, observable, transaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { OrderOriginator, OrderSearchCriteria, SalesOrder, SalesStatus } from '@msdyn365-commerce/retail-proxy';\nimport { Label } from '../../common/label';\nimport {\n getGetOrderHistoryWithSearchAndFiltersAction,\n GetOrderHistoryWithSearchAndFiltersInput,\n IGetOrderHistoryWithSearchAndFiltersSorting,\n IOrderHistoryWithSearchAndFiltersResult\n} from './actions/get-order-history-with-search-and-filters';\nimport { getOriginatorsAction, GetOrderOriginatorsInput } from '../../actions/get-sales-order-originators';\nimport {\n IOrderHistoryWithSearchAndFiltersHeaderProps,\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps,\n OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState,\n OrderHistoryWithSearchAndFiltersViewModeState,\n IOrderHistoryWithSearchAndFiltersViewModeProps,\n OrderHistoryWithSearchAndFiltersViewModeComponent,\n OrderHistoryWithSearchAndFiltersOrderTableComponent\n} from './components';\nimport { IOrderHistoryWithSearchAndFiltersData } from './order-history-with-search-and-filters.data';\nimport { IOrderHistoryWithSearchAndFiltersProps } from './order-history-with-search-and-filters.props.autogenerated';\nimport { SearchOption } from './common/search-option';\nimport { mapISearchBarOptionIntoSearchOption, mapSearchOptionIntoISearchBarOption } from './common/search-option-mappings';\nimport { DateRefinerOptionItem, RefinerSourceType } from './common/refiner-option';\nimport {\n getDateFromString,\n getDateRange,\n mapChannelIdentityIntoIRefinerItemData,\n mapDateRefinerOptionIntoIRefinerItemData,\n mapIRefinerItemDataIntoDateRefinerOptionItem,\n mapIRefinerItemDataIntoOrderStatusRefinerOptionItem,\n mapOrderStatusRefinerOptionIntoIRefinerItemData,\n mapOrderStatusRefinerOptionItemIntoSalesStatus\n} from './common/refiner-option-mappings';\nimport { OrderHistoryWithSearchAndFiltersOrderListComponent } from './components/order-history-with-search-and-filters-order-list.component';\nimport { mapIRefinerSortOptionIntoSortOption, mapSortOptionIntoIRefinerSortOption } from './common/sort-option-mappings';\nimport { SortOption } from './common/sort-option';\n\ninterface IOrderHistoryWithSearchAndFiltersViewRefinerState {\n isModalOpen: boolean;\n isExpanded: boolean;\n currentSortOption?: IRefinerSortOption;\n}\n\ninterface IOrderHistoryWithSearchAndFiltersViewSearchBarState {\n currentSearchOption?: ISearchBarOption;\n currentSearchText?: string;\n}\n\nexport interface IOrderHistoryWithSearchAndFiltersViewState {\n isDataReady: boolean;\n hasError: boolean;\n isLoading: boolean;\n isShowMoreButton: boolean;\n errorCode?: string;\n errorMessage?: string;\n}\n\nexport interface IOrderHistoryWithSearchAndFiltersViewProps\n extends IOrderHistoryWithSearchAndFiltersProps {\n orderHistoryWithSearchAndFiltersProps: IModuleProps;\n headerProps: IOrderHistoryWithSearchAndFiltersHeaderProps;\n organizationWideSelectorProps?: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps;\n viewState: IOrderHistoryWithSearchAndFiltersViewState;\n searchBarProps?: ISearchBarProps;\n refinerProps: IRefinerProps;\n orderHistorywithSearchAndFiltersResult: IOrderHistoryWithSearchAndFiltersResult;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n emptyMessage?: React.ReactNode;\n backToShoppingLink?: React.ReactNode;\n list?: React.ReactNode;\n table?: React.ReactNode;\n moreButton?: React.ReactNode;\n}\n\n/**\n * Grid size enum.\n */\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n *\n * OrderHistoryWithSearchAndFilters component.\n * @extends {React.Component>}\n */\n@observer\nclass OrderHistoryWithSearchAndFilters extends React.Component<\n IOrderHistoryWithSearchAndFiltersProps\n> {\n @observable private orderHistoryWithSearchAndFilters!: IOrderHistoryWithSearchAndFiltersResult;\n\n @observable private viewState!: IOrderHistoryWithSearchAndFiltersViewState;\n\n @observable private _refinerState!: IOrderHistoryWithSearchAndFiltersViewRefinerState;\n\n @observable private _activeRefinementCriteria: IRefinerItemData[];\n\n private originatorList!: OrderOriginator[];\n\n @observable private _ordersViewModeState: OrderHistoryWithSearchAndFiltersViewModeState;\n\n @observable private _viewport: GridSize;\n\n private _organizationWideSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n\n private pageSize!: number;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private readonly _refinerModalToggleRef: React.RefObject;\n\n private _searchBarState: IOrderHistoryWithSearchAndFiltersViewSearchBarState;\n\n private readonly orderHistoryClassName = 'ms-order-history-with-search-and-filters';\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n constructor(props: IOrderHistoryWithSearchAndFiltersProps) {\n super(props);\n this.initState();\n this._organizationWideSelectorState = OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser;\n this._ordersViewModeState = OrderHistoryWithSearchAndFiltersViewModeState.DetailedView;\n this._searchBarState = {\n currentSearchOption: undefined,\n currentSearchText: ''\n };\n this._activeRefinementCriteria = [];\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 this._refinerModalToggleRef = React.createRef();\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\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 if (Msdyn365.msdyn365Commerce.isBrowser && window.addEventListener) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n\n this._activeRefinementCriteria = [];\n }\n\n public componentWillUnmount(): void {\n if (Msdyn365.msdyn365Commerce.isBrowser && window.removeEventListener) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderHistoryWithSearchAndFiltersProps,\n nextState: IOrderHistoryWithSearchAndFiltersViewState\n ): 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: { className, shouldShowCount },\n resources: { genericErrorMessage, noOrderHistoryLable, moreButtonText, backToShopping, loadingLabel }\n } = this.props;\n const { salesOrders, products } = this.orderHistoryWithSearchAndFilters;\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: IOrderHistoryWithSearchAndFiltersViewProps = {\n ...this.props,\n orderHistorywithSearchAndFiltersResult: this.orderHistoryWithSearchAndFilters,\n viewState: this.viewState,\n orderHistoryWithSearchAndFiltersProps: {\n moduleProps: this.props,\n className: classname(this.orderHistoryClassName, className)\n },\n headerProps: this._getHeaderProps(),\n searchBarProps: this._getSearchBarProps(),\n refinerProps: this._getRefinerProps(),\n organizationWideSelectorProps: this._getOrganizationWideSelectorProps(),\n backToShoppingLink: backToShoppingUrl && (\n \n )\n };\n\n if (hasError) {\n viewProps = {\n ...viewProps,\n alert: