{"version":3,"file":"static/js/11.f188c74656d2174a1997.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-order-template-to-cart.component.tsx?ea94","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/order-template-products-preview.tsx?d308","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/lines-added-to-cart-dialog.component.tsx?9ea8","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/actions/get-order-template.ts?077e","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/spinner.tsx?b423","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/add-line.tsx?5f8a","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/dropdown.tsx?1cba","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/not-found.tsx?392d","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/common/order-template-quantity.tsx?99a1","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-configuration.tsx?b256","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-list.tsx?4284","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-actions.tsx?8136","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines.tsx?3703","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines-status-message.tsx?2986","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-table-heading.tsx?665c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/bulk-actions.tsx?dbe8","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.tsx?4ecb","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/order-template-list.tsx?86c4","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/orderTemplateList-status-message.tsx?183c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/create-order-template.tsx?ea38","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.tsx?18d0","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/spinner.tsx?85d7","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/add-line.tsx?3d0d","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/dropdown.tsx?5632","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/not-found.tsx?fc5f","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/common/krannich-c-order-template-quantity.tsx?f320","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/product-configuration.tsx?5016","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/add-line/product-list.tsx?7767","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/bulk-actions.tsx?8183","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/krannich-c-order-template-actions.tsx?1801","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/krannich-c-order-template-lines.tsx?b574","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/components/krannich-c-order-template-table-heading.tsx?2e10","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/krannich-c-order-template.tsx?68bb","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-order-template/krannich-c-order-template.view.tsx?a1d7","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-product-collection/krannich-c-product-collection.props.autogenerated.ts?c573","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-product-collection/krannich-c-product-collection.tsx?0b8e","webpack://Msdyn365.Commerce.Online/./src/modules/krannich-c-product-collection/krannich-c-product-collection.view.tsx?6614","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/carousel.view.tsx?6b9d","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/components/price.component.tsx?7e44","webpack://Msdyn365.Commerce.Online/./src/themes/krannich/views/components/product.component.tsx?34e9","webpack://Msdyn365.Commerce.Online/./src/utils/badges.tsx?5a27","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.tsx?9fd5","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.view.tsx?feac","webpack://Msdyn365.Commerce.Online/./src/common/buybox-components.tsx?42b4","webpack://Msdyn365.Commerce.Online/./src/common/buybox-product-configure.tsx?139c","webpack://Msdyn365.Commerce.Online/./src/common/buyboxInterface.ts?9d60","webpack://Msdyn365.Commerce.Online/./src/common/dropdown/dropdown.tsx?f1d3","webpack://Msdyn365.Commerce.Online/./src/common/dropdown/dropdown.props.ts?7676","webpack://Msdyn365.Commerce.Online/./src/common/utilities/error-utilities.ts?bb69","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/components/buybox-find-in-store.tsx?3ef8","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.tsx?e22d","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.view.tsx?376b","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/helper.ts?f31d","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-valid-product-images.ts?78b7","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.tsx?4080","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-product-details.ts?5cc2","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.view.tsx?ee5b","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/base/recently-viewed-product-item.ts?4982","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/base/recently-viewed-item.ts?54c9","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/recently-viewed-state.ts?c73b","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/recently-viewed-manager.ts?a2a8","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/components/cartlineitem.component.tsx?eb8c","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/components/promocode.component.tsx?d9d6","webpack://Msdyn365.Commerce.Online/./src/modules/media-gallery/media-gallery.tsx?24d7","webpack://Msdyn365.Commerce.Online/./src/modules/media-gallery/media-gallery.view.tsx?5061","webpack://Msdyn365.Commerce.Online/./src/modules/media-gallery/utils/helper.ts?b895","webpack://Msdyn365.Commerce.Online/./src/modules/media-gallery/utils/get-valid-product-images.ts?a364","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.view.tsx?103b","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.view.tsx?a45e","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.tsx?4008","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.view.tsx?5d36","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/close-button.tsx?063b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/links.tsx?2587","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/text.tsx?782b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.tsx?9ee9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.view.tsx?7f77","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/component/components.tsx?f324","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/ratings-histogram.tsx?f6bc","webpack://Msdyn365.Commerce.Online/./src/modules/ratings-histogram/ratings-histogram.view.tsx?5bff","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/components/additional-content.tsx?b368","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/video-player.tsx?53e5","webpack://Msdyn365.Commerce.Online/./src/modules/video-player/video-player.view.tsx?fedb","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/buybox-add-to-order-template.tsx?ceb4","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/buybox.view.tsx?98cf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/cart-icon.view.tsx?7ec9","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/cartlineitem.component.tsx?ccc2","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/media-gallery.view.tsx?7624","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/quickview.view.tsx?8e29","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/ratings-histogram.view.tsx?bb5b"],"sourcesContent":["/*!\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 { FullProduct } from '@msdyn365-commerce/commerce-entities';\r\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n IPopupProductsProps,\r\n ITelemetryContent,\r\n PopupProducts,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport classnames from 'classnames';\r\nimport React, { useState } from 'react';\r\n\r\nimport { ILinesAddedToCartDialogResources, LinesAddedToCartDialog } from './lines-added-to-cart-dialog.component';\r\n\r\nexport interface IAddOrderTemplateToCartComponentData {\r\n orderTemplate: OrderTemplate;\r\n cart: ICartState | undefined;\r\n}\r\n\r\nexport interface IAddOrderTemplateToCartComponentProps extends IComponentProps {\r\n className?: string;\r\n parentElementRef?: React.RefObject\r\n \r\n \r\n );\r\n};\r\n\r\nexport const AddOrderTemplateToCartComponent: React.FunctionComponent =\r\n // @ts-expect-error -- As per design, custom component\r\n msdyn365Commerce.createComponent('AddOrderTemplate', {\r\n component: AddOrderTemplate,\r\n ...AddToCartComponentActions\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\nimport { FullProduct } from '@msdyn365-commerce/commerce-entities';\r\nimport { ICoreContext, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport * as React from 'react';\r\n\r\nexport interface IOrderTemplateProductsPreviewComponentProps {\r\n className: string;\r\n products: FullProduct[];\r\n context: ICoreContext;\r\n imageSettings?: IImageSettings;\r\n}\r\n\r\nexport const OrderTemplateProductsPreviewComponent = (props: IOrderTemplateProductsPreviewComponentProps) => {\r\n const { products, className, imageSettings } = props;\r\n\r\n return (\r\n
\r\n {renderOrderTemplateImages(props.context, `${className}__products`, products, imageSettings)}\r\n
\r\n );\r\n};\r\n\r\nconst renderOrderTemplateImage = (context: ICoreContext, className: string, product: FullProduct, imageSettings?: IImageSettings) => {\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst renderOrderTemplateImages = (\r\n context: ICoreContext,\r\n className: string,\r\n products: FullProduct[],\r\n imageSettings?: IImageSettings\r\n): JSX.Element | null => {\r\n return (\r\n
\r\n
\r\n
\r\n {products.length > 0 && renderOrderTemplateImage(context, className, products[0], imageSettings)}\r\n
\r\n
\r\n {products.length > 1 && renderOrderTemplateImage(context, className, products[1], imageSettings)}\r\n
\r\n
\r\n
\r\n
\r\n {products.length > 2 && renderOrderTemplateImage(context, className, products[2], imageSettings)}\r\n
\r\n
\r\n {products.length > 3 && renderOrderTemplateImage(context, className, products[3], imageSettings)}\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\nimport { FullProduct } from '@msdyn365-commerce/commerce-entities';\r\nimport { getUrlSync, IComponentProps, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { ProductList } from '@msdyn365-commerce/retail-proxy';\r\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { OrderTemplateProductsPreviewComponent } from './order-template-products-preview';\r\n\r\nexport interface ILinesAddedToCartDialogResources {\r\n viewCartButtonText: string;\r\n orderTemplateCloseButtonText: string;\r\n linesAddedToCartHeaderItemsOneText: string;\r\n linesAddedToCartHeaderLinesOneText: string;\r\n linesAddedToCartHeaderLinesFormatText: string;\r\n linesAddedToCartHeaderMessageText: string;\r\n onlyThoselinesAddedToCartMessageText: string;\r\n}\r\n\r\nexport interface ILinesAddedToCartDialogData {\r\n linesCount: number;\r\n orderTemplate: ProductList;\r\n products: FullProduct[];\r\n onlyThoselinesAddedWithAvailableQuantityMessage: boolean;\r\n}\r\n\r\nexport interface ILinesAddedToCartDialogProps extends IComponentProps {\r\n className: string;\r\n imageSettings?: IImageSettings;\r\n\r\n dialogStrings: ILinesAddedToCartDialogResources;\r\n\r\n modalOpen: boolean | undefined;\r\n onClose(): void;\r\n\r\n // as required passing in components for later user\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n catalogId?: number;\r\n}\r\n\r\nexport const LinesAddedToCartDialog = (dialogProps: ILinesAddedToCartDialogProps) => {\r\n const {\r\n dialogStrings,\r\n className,\r\n context,\r\n modalOpen,\r\n imageSettings,\r\n data: { orderTemplate, products, linesCount, onlyThoselinesAddedWithAvailableQuantityMessage }\r\n } = dialogProps;\r\n const getCartPageUrl = (): string => {\r\n return getUrlSync('cart', context.actionContext) || '';\r\n };\r\n\r\n const close: () => void = () => {\r\n dialogProps.onClose();\r\n };\r\n\r\n const lineItemsString =\r\n linesCount === 1\r\n ? dialogStrings.linesAddedToCartHeaderLinesOneText\r\n : dialogStrings.linesAddedToCartHeaderLinesFormatText.replace('{0}', linesCount.toString());\r\n\r\n return (\r\n \r\n \r\n {dialogStrings.linesAddedToCartHeaderItemsOneText}\r\n {dialogStrings.linesAddedToCartHeaderMessageText}\r\n \r\n \r\n
\r\n \r\n
\r\n
{orderTemplate.Name}
\r\n
{lineItemsString}
\r\n {onlyThoselinesAddedWithAvailableQuantityMessage && (\r\n
{dialogStrings.onlyThoselinesAddedToCartMessageText}
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n {dialogStrings.viewCartButtonText}\r\n \r\n \r\n {dialogStrings.orderTemplateCloseButtonText}\r\n \r\n \r\n
\r\n );\r\n};\r\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 ICreateActionContext,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport { IQueryResultSettings } from '@msdyn365-commerce/retail-proxy';\nimport {\n buildCacheKeyWithUrlTokens,\n getFullOrderTemplate,\n GetFullOrderTemplateInput,\n IQueryResultSettingsModuleConfig,\n OrderTemplate,\n QueryResultSettingsProxy\n} from '@msdyn365-commerce-modules/retail-actions';\n\n/**\n * Input class for getActiveOrderTemplateLines data action.\n */\nexport class ActiveOrderTemplateLinesInput implements IActionInput {\n public requestContext: IRequestContext;\n\n public orderTemplateId: string;\n\n public queryResultSettings: IQueryResultSettings;\n\n constructor(requestContext: IRequestContext, config: IQueryResultSettingsModuleConfig) {\n if (!requestContext.query?.id) {\n throw new Error('Failed to get order template id from the query.');\n }\n if (!config) {\n throw new Error('Failed to get order template module configuration');\n }\n this.orderTemplateId = requestContext.query.id;\n this.queryResultSettings = QueryResultSettingsProxy.fromModuleData(requestContext, config).QueryResultSettings;\n\n this.queryResultSettings.count = true;\n this.requestContext = requestContext;\n }\n\n public getCacheKey = (): string => buildCacheKeyWithUrlTokens('ActiveOrderTemplateLines', this.requestContext);\n\n public getCacheObjectType = (): string => 'ActiveOrderTemplateLines';\n\n public dataCacheType = (): CacheType => 'instance';\n\n public shouldCacheOutput = () => false;\n}\n\n/**\n * Calls the Retail API and returns a ProductList object based on the passed GetCartInput.\n * @param input\n * @param context\n */\nexport async function getActiveOrderTemplateLines(input: ActiveOrderTemplateLinesInput, context: IActionContext): Promise {\n return getFullOrderTemplate(new GetFullOrderTemplateInput(input.orderTemplateId, input.queryResultSettings), context);\n}\n\nexport const getActiveOrderTemplateLinesDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/order-template/order-template/get-order-template-lines',\n action: >getActiveOrderTemplateLines,\n input: (context: ICreateActionContext) => {\n if (!context.config) {\n throw new Error('Failed to get order template module configuration');\n }\n return new ActiveOrderTemplateLinesInput(context.requestContext, context.config);\n }\n});\n\nexport default getActiveOrderTemplateLinesDataAction;\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\nexport default (props: { className: string; msg?: string }) => (\n <>\n
\n {props?.msg &&
{props?.msg}
}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { getCatalogId, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ProductListLine, ProductSearchCriteria, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\nimport { ProductCatalog, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n addItemToOrderTemplate,\n AddItemToOrderTemplateInput,\n ArrayExtensions,\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getSelectedVariant,\n SelectedVariantInput,\n validateCatalogId\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalHeader, getPayloadObject, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport React from 'react';\n\nimport { IProductConfigurationState, NotFoundComponent, ProductConfiguration, ProductList } from '.';\nimport Spinner from './spinner';\n\nexport interface IAddLineToTemplateProps {\n context: ICoreContext;\n resources: IAddLineToTemplateResources;\n orderTemplateId: string;\n imageSettings?: IImageSettings;\n isMultipleCatalogFeatureEnabledInHq: boolean;\n catalogs?: ProductCatalog[] | undefined;\n telemetryContent?: ITelemetryContent;\n}\n\nexport interface IAddLineToTemplateResources {\n addLineModalLinkText: string;\n searchButtonAriaLabel: string;\n searchInputAriaLabel: string;\n searchModalPlaceholderText: string;\n selectCatalogTitleText: string;\n selectProductButtonText: string;\n addItemToTemplateText: string;\n addLineProductUnitPricePrefix: string;\n backButtonText: string;\n decrementButtonAriaLabel: string;\n incrementButtonAriaLabel: string;\n quantitySelectLabel: string;\n addLineProductUnitOfMeasurePrefix: string;\n notFoundSearchErrorNotice: string;\n notFoundSearchErrorRedediation: string;\n searchErrorMessage: string;\n productDimensionTypeColor: string;\n productDimensionTypeConfiguration: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n searchResultsCountVerbage: string;\n searchResultsCountSubject: string;\n addToTemplateConfirmation: string;\n totalPriceLabel: string;\n progressNotificationText: string;\n addToTemplateDuplicateError: string;\n addToTemplateGenericError: string;\n dimensionMissingError: string;\n backToResultsText?: string;\n}\n\nenum CONTENT {\n Search,\n ProductList,\n ProductConfiguration,\n NotFound,\n Error,\n Loading\n}\n\ninterface IAddLineToTemplateState {\n isOpen: boolean;\n query: string;\n products: ProductSearchResult[];\n productCatalogs: ProductCatalog[] | null;\n content: number;\n selectedProduct: SimpleProduct | null;\n selectedCatalogId: number | undefined;\n selectedProductDimensions?: ProductDimensionFull[];\n selectedQuantity?: number;\n reloadPage?: boolean;\n}\n\n/**\n * Add Lines to order template.\n */\nexport class AddLineToTemplate extends React.Component {\n public state: IAddLineToTemplateState = {\n isOpen: false,\n query: '',\n products: [],\n productCatalogs: [],\n content: CONTENT.Search,\n selectedProduct: null,\n selectedCatalogId: 0\n };\n\n public defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n public searchTextInput: React.RefObject = React.createRef(); // @TODO public/private\n\n private readonly addLineButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAddLineToTemplateProps) {\n super(props);\n }\n\n public onComponentDidMount(): void {\n this.searchTextInput.current?.focus();\n }\n\n public componentDidMount(): void {\n this._getCatalogs();\n }\n\n public onComponentDidUpdate(): void {\n this.searchTextInput.current?.focus();\n }\n\n @computed get showBackArrow(): boolean {\n return this.state.content === CONTENT.ProductConfiguration;\n }\n\n public shouldComponentUpdate(nextProps: IAddLineToTemplateProps, nextState: IAddLineToTemplateState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n resources: { addLineModalLinkText, backToResultsText }\n } = this.props;\n\n const modalProps = {\n ...this.props,\n className: 'msc-add-line-to-template',\n toggle: this._toggleModalHandler,\n isOpen: this.state.isOpen,\n ariaLabel: addLineModalLinkText\n };\n\n return (\n <>\n \n \n {this.showBackArrow && (\n \n )}\n {addLineModalLinkText}\n \n {this._renderContent()}\n \n \n \n {addLineModalLinkText}\n \n \n );\n }\n\n private readonly _renderSearchForm = () => {\n const {\n resources: { searchButtonAriaLabel, searchModalPlaceholderText, selectCatalogTitleText }\n } = this.props;\n\n return (\n \n {this.state.productCatalogs && ArrayExtensions.hasElements(this.state.productCatalogs) && (\n <>\n \n \n {this._getCatalogNodes()}\n \n \n )}\n
\n \n
\n \n );\n };\n\n private readonly _onSearchSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n\n const query = get(this, 'searchTextInput.current.value', null);\n\n if (!query) {\n return;\n }\n\n this.setState({\n content: CONTENT.Loading\n });\n\n this._getSearchResults(query)\n .then(result => {\n if (result.length === 0) {\n this.setState({\n products: result,\n content: CONTENT.NotFound\n });\n } else {\n this.setState({\n products: result,\n content: CONTENT.ProductList\n });\n }\n })\n .catch(error => {\n this.setState({\n content: CONTENT.Error\n });\n });\n };\n\n private readonly _onQuantityChangeHandler = (event: React.ChangeEvent) => {\n this.setState({\n selectedQuantity: +event.target.value\n });\n };\n\n private readonly _onSelectItem = async (product: ProductSearchResult): Promise => {\n const {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n } = this.props.context;\n const varianteInput = new SelectedVariantInput(product.RecordId, channelId, [], undefined, this.props.context.request);\n const productVariant = await getSelectedVariant(varianteInput, actionContext);\n\n if (!productVariant) {\n this.props.context.telemetry.error('Error retrieving product variant');\n return Promise.resolve([]);\n }\n\n const dimensions = await this._getProductDimensions(product as SimpleProduct);\n\n this.setState({\n selectedProductDimensions: dimensions,\n content: CONTENT.ProductConfiguration,\n selectedProduct: productVariant\n });\n\n return dimensions;\n };\n\n private readonly _onInputChange = (event: React.ChangeEvent): void => {\n this.setState({\n query: event.target.value\n });\n };\n\n private readonly _onBackButtonClickHandler = (): void => {\n this.setState({\n content: CONTENT.ProductList\n });\n };\n\n private readonly _highlightSearchTerm = (name: string) => {\n const parsedName = name && unescape(name.replace(new RegExp(this.state.query, 'i'), '$&'));\n\n return (\n \n );\n };\n\n private readonly _resultCountText = (): string => {\n return this.props.resources.searchResultsCountVerbage\n .replace('{count}', this.state.products.length.toString())\n .replace('{subject}', `${this.props.resources.searchResultsCountSubject}${this.state.products.length > 1 ? 's' : ''}`);\n };\n\n private _renderContent(): React.ReactNode | null {\n switch (this.state.content) {\n case CONTENT.ProductConfiguration:\n const { selectedProduct, selectedProductDimensions } = this.state;\n const viewProps = {\n ...this.props,\n imageSettings: this.props.imageSettings || this.defaultImageSettings,\n product: selectedProduct!,\n dimensions: selectedProductDimensions!,\n addToTemplateHandler: this._addItemToTemplateHandler,\n onQuantityChangeHandler: this._onQuantityChangeHandler,\n highlightSearchTerm: this._highlightSearchTerm,\n searchForm: this._renderSearchForm()\n };\n\n return ;\n\n case CONTENT.ProductList:\n const productProps = {\n ...this.props,\n imageSettings: this.props.imageSettings || this.defaultImageSettings,\n clickHandler: this._onSelectItem,\n products: this.state.products,\n highlightSearchTerm: this._highlightSearchTerm,\n searchForm: this._renderSearchForm(),\n renderResultCountText: this._resultCountText\n };\n\n return (\n \n \n \n );\n\n case CONTENT.Loading:\n return (\n \n {this._renderSearchForm()}\n \n \n );\n\n case CONTENT.NotFound:\n const { notFoundSearchErrorNotice, notFoundSearchErrorRedediation } = this.props.resources;\n\n return (\n \n

{this._resultCountText()}

\n {this._renderSearchForm()}\n \n
\n );\n\n case CONTENT.Error:\n return (\n \n {this._renderSearchForm()}\n
\n {this.props.resources.searchErrorMessage}\n
\n
\n );\n\n default:\n return {this._renderSearchForm()};\n }\n }\n\n private readonly _addItemToTemplateHandler = async (config: IProductConfigurationState): Promise => {\n const {\n orderTemplateId,\n context: { actionContext },\n isMultipleCatalogFeatureEnabledInHq\n } = this.props;\n const catalogId = this.state.selectedCatalogId;\n const input = isMultipleCatalogFeatureEnabledInHq\n ? new AddItemToOrderTemplateInput(\n orderTemplateId,\n config.product.RecordId,\n config.quantity,\n config.product.DefaultUnitOfMeasure || 'ea',\n isMultipleCatalogFeatureEnabledInHq,\n catalogId\n )\n : new AddItemToOrderTemplateInput(\n orderTemplateId,\n config.product.RecordId,\n config.quantity,\n config.product.DefaultUnitOfMeasure || 'ea'\n );\n const result = await addItemToOrderTemplate(input, actionContext);\n this.setState({\n isOpen: false,\n reloadPage: true\n });\n // reload when closing\n window.location.reload();\n return result;\n };\n\n /**\n *\n * Get all active product catalogs.\n */\n private _getCatalogs(): void {\n const { isMultipleCatalogFeatureEnabledInHq, catalogs } = this.props;\n\n // if Channel Multiple Catalogs Feature is enabled then show all catalogs.\n const productCatalogs = isMultipleCatalogFeatureEnabledInHq && catalogs ? catalogs : [];\n\n // get the current catalog id.\n const catalogId = getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n // set the current catalog id as a default selected catalog id from the url\n this.setState({\n productCatalogs: productCatalogs,\n selectedCatalogId: catalogId\n });\n }\n\n private _getCatalogNodes(): JSX.Element[] | null {\n const { productCatalogs, selectedCatalogId } = this.state;\n if (productCatalogs && ArrayExtensions.hasElements(productCatalogs)) {\n return productCatalogs.map((productCatalog: ProductCatalog) => {\n // initially select default catalog in dropdown\n const isSelected = productCatalog.RecordId === selectedCatalogId;\n return (\n \n );\n });\n }\n return [];\n }\n\n private readonly _onCatalogSelectionChange = (event: React.ChangeEvent) => {\n this.setState({\n selectedCatalogId: Number.parseInt(event.target.value, 10)\n });\n };\n\n private _getSearchResults(searchText: string): Promise {\n const {\n context: {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n }\n } = this.props;\n const { selectedCatalogId } = this.state;\n const searchCriteriaInput: ProductSearchCriteria = {};\n\n searchCriteriaInput.Context = {\n ChannelId: channelId,\n CatalogId: selectedCatalogId\n };\n\n if (process.env.NODE_ENV === 'development' && process.env.ENABLE_CLOUD_SEARCH?.toLowerCase() !== 'true') {\n searchCriteriaInput.IncludeAttributes = false;\n } else {\n searchCriteriaInput.IncludeAttributes = true;\n }\n searchCriteriaInput.SearchCondition = searchText;\n\n return searchByCriteriaAsync({ callerContext: actionContext }, searchCriteriaInput);\n }\n\n private async _getProductDimensions(product: SimpleProduct): Promise {\n const {\n context: {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n }\n } = this.props;\n const id = product.MasterProductId ? product.MasterProductId : product.RecordId;\n\n return getDimensionsForSelectedVariant(\n new GetDimensionsForSelectedVariantInput(id, channelId, [], this.props.context.request),\n actionContext\n );\n }\n\n private readonly _toggleModalHandler = () => {\n if (this.state.isOpen) {\n const payLoad = getPayloadObject('click', this.props.telemetryContent!, 'add-item-to-template', '');\n onTelemetryClick(this.props.telemetryContent!, payLoad, 'add-item-to-template');\n this._getCatalogs();\n this.addLineButtonRef.current!.focus();\n }\n\n this.setState({\n isOpen: !this.state.isOpen,\n content: CONTENT.Search\n });\n\n if (this.state.reloadPage) {\n window.location.reload();\n this.setState({\n reloadPage: false\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 { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IDropdownState {\n /**\n * @friendlyName selectedIndex\n * @description Selected index.\n */\n selectedIndex: string;\n}\n\nexport interface IDropdownProps {\n dropdownId: number;\n dropdownName: string;\n dropdownList: IDropdownItemProps[];\n telemetryContent?: ITelemetryContent;\n onChange?(selection: IDropdownOnSelection): void;\n}\n\nexport interface IDropdownItemProps {\n value: string;\n id: number;\n}\n\nexport interface IDropdownOnSelection {\n dropdownId: number;\n selectId: string;\n selectedValue: string;\n}\n\n/**\n *\n * DropDown component.\n * @extends {React.PureComponent}\n */\nexport class Dropdown extends React.PureComponent {\n private readonly selectMenu: React.RefObject = React.createRef();\n\n constructor(props: IDropdownProps, state: IDropdownState) {\n super(props);\n this.state = {\n selectedIndex: ''\n };\n }\n\n public componentDidMount(): void {\n if (this.selectMenu.current) {\n this.selectMenu.current.selectedIndex = 0;\n }\n }\n\n public render(): JSX.Element {\n const { dropdownId, dropdownList, dropdownName } = this.props;\n\n return (\n \n {dropdownList.map(\n (item: IDropdownItemProps) =>\n item && (\n \n {item.value}\n \n )\n )}\n \n );\n }\n\n private readonly _onChanged = (event: React.ChangeEvent): void => {\n this.setState({ selectedIndex: event.target.value });\n\n if (this.props.onChange) {\n this.props.onChange({\n dropdownId: this.props.dropdownId,\n selectId: event.target.value,\n selectedValue: event.target.innerText\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 React from 'react';\n\nexport const NotFoundComponent = (props: { error: string; msg: string }) => (\n <>\n
\n
{props.error}
\n
{props.msg}
\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { debounce } from 'lodash';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\ninterface IQuantityProps {\n min?: number;\n max: number;\n currentCount?: number;\n disabled?: boolean;\n incrementGlyphClass?: string;\n decrementGlyphClass?: string;\n decrementButtonAriaLabel?: string;\n incrementButtonAriaLabel?: string;\n inputQuantityAriaLabel?: string;\n id?: string;\n onChange?(newValue: number): void;\n}\n\ninterface IQuantityState {\n currentInput: number;\n}\n\n/**\n * Quantity Component - This component is used to add or remove quantity.\n */\n@observer\nexport default class OrderTemplateQuantity extends React.PureComponent {\n public static defaultProps: Partial = {\n min: 1,\n decrementGlyphClass: 'fas fa-minus',\n incrementGlyphClass: 'fas fa-plus'\n };\n\n private readonly inputRef: React.RefObject = React.createRef();\n\n constructor(props: IQuantityProps) {\n super(props);\n this.state = { currentInput: props.currentCount || 1 };\n this._handleChange = this._handleChange.bind(this);\n\n reaction(\n () => this.props.currentCount,\n () => {\n this.setState({ currentInput: this.props.currentCount || 1 });\n }\n );\n }\n\n public render(): JSX.Element {\n const glyphMinusClassName: string = `${this.props.decrementGlyphClass!} quantity__controls-glyph`;\n const glyphPlusClassName: string = `${this.props.incrementGlyphClass!} quantity__controls-glyph`;\n const disabled = this.props.currentCount === this.props.min;\n const incDisabled = this.props.currentCount === this.props.max;\n const currentValue = this.state.currentInput;\n let extraClass = '';\n if (disabled) {\n // The quantity has reached its boundaries (max or min)\n extraClass = 'disabled';\n } else if (this.props.disabled) {\n // This.props.disabled shows if the state is not succeded yet\n extraClass = 'transition';\n }\n const getChangeHandler = (amount: number) => () => {\n this._onIncrementalChange(amount);\n };\n\n return (\n
\n \n \n \n \n \n \n \n
\n );\n }\n\n private _onIncrementalChange(amount: number): void {\n const updatedQuantity = this.state.currentInput + amount;\n\n if (updatedQuantity >= 1 && updatedQuantity <= this.props.max) {\n this.props.onChange && this.props.onChange(updatedQuantity);\n }\n }\n\n private _handleChange(e: React.ChangeEvent): void {\n const currentValue = Number.parseInt(e.target.value, 10);\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n const inputElement =\n this.inputRef && this.inputRef.current && this.inputRef.current instanceof HTMLInputElement && this.inputRef.current;\n\n if (currentValue > this.props.max) {\n this.setState({ currentInput: this.props.max });\n } else {\n this.setState({ currentInput: currentValue }, () => {\n debounce(() => {\n if (!isNaN(this.state.currentInput) && !(this.state.currentInput < minValue) && inputElement) {\n inputElement.setAttribute('aria-valuenow', currentValue.toString());\n inputElement.setAttribute('value', currentValue.toString());\n }\n }, 200)();\n });\n }\n }\n\n private readonly _validateMin = (): void => {\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n\n if (isNaN(this.state.currentInput) || this.state.currentInput < minValue) {\n this.props.onChange && this.props.onChange(minValue);\n } else {\n this.props.onChange && this.props.onChange(this.state.currentInput);\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 { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductDimensionValue, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getFallbackImageUrl,\n getPriceForSelectedVariant,\n getProductAvailabilitiesForSelectedVariant,\n getSelectedVariant,\n IProductInventoryInformation,\n PriceForSelectedVariantInput,\n ProductAvailabilitiesForSelectedVariantInput,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent, ModalBody, ModalFooter } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport OrderTemplateQuantity from '../common/order-template-quantity';\nimport { Dropdown, IAddLineToTemplateProps, IAddLineToTemplateResources, IDropdownItemProps, IDropdownOnSelection } from '.';\n\nexport interface IProductCnnfigurationProps extends IAddLineToTemplateProps {\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n imageSettings: IImageSettings;\n telemetryContent?: ITelemetryContent;\n searchForm: React.ReactNode;\n addToTemplateHandler(params: IProductConfigurationState): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n}\n\nexport interface IProductConfigurationState {\n quantity: number;\n unitPrice: number;\n totalPrice: number;\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n selectedDimensions: {};\n productAvailableQuantity?: IProductInventoryInformation;\n buttonDisabled: boolean;\n showAddConfirmation: boolean;\n errorMessage?: string;\n isBusy: boolean;\n errors: { dimension?: string[]; add?: string };\n}\n\n/**\n * Configure selected product for addition to order template.\n */\nexport class ProductConfiguration extends React.Component {\n private selectedDimensions: {} = {};\n\n constructor(props: IProductCnnfigurationProps) {\n super(props);\n\n this.state = {\n quantity: 1,\n unitPrice: props.product.Price,\n totalPrice: props.product.Price,\n product: props.product,\n dimensions: props.dimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n selectedDimensions: {},\n buttonDisabled: false,\n showAddConfirmation: false\n } as IProductConfigurationState;\n }\n\n public shouldComponentUpdate(nextProps: IProductCnnfigurationProps, nextState: IProductConfigurationState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings }\n },\n resources: {\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n totalPriceLabel\n },\n imageSettings,\n highlightSearchTerm\n } = this.props;\n const { buttonDisabled, product, quantity, unitPrice, totalPrice, showAddConfirmation, errors } = this.state;\n const isMultipleCatalogSelect = this.props.isMultipleCatalogFeatureEnabledInHq ? 'isMultipleCatalogSelect' : '';\n return (\n <>\n \n {this.props.searchForm}\n
\n
\n
\n \n
\n
{product?.ItemId}
\n {highlightSearchTerm(product?.Name ?? '')}\n
\n {addLineProductUnitPricePrefix}\n {` `}\n {this._formatPrice(unitPrice)}\n
\n
\n {addLineProductUnitOfMeasurePrefix}\n {` `}\n {product?.DefaultUnitOfMeasure}\n
\n
\n
\n
{this._getDimensionsNodes()}
\n
\n
\n
{quantitySelectLabel}
\n \n
\n
\n
\n {totalPriceLabel}\n {` `}\n {this._formatPrice(totalPrice)}\n
\n
\n \n {showAddConfirmation && (\n \n
\n )}\n {errors?.add && (\n
\n
\n )}\n \n {addItemToTemplateText}\n \n \n \n );\n }\n\n private _getConfirmationMessage(): string {\n const selectedDimensionNames = this.state.dimensions\n .map(dimension => {\n let variant = dimension.DimensionValues?.find(\n value => value.RecordId === this.selectedDimensions[dimension.DimensionTypeValue]\n )?.Value;\n if (dimension.DimensionTypeValue === 3) {\n variant = `size ${variant}`;\n }\n return variant;\n })\n .filter(value => value);\n\n return this.props.resources.addToTemplateConfirmation\n .replace('{count}', this.state.quantity.toString())\n .replace('{productAndDimensions}', `${this.state.product.Name}, ${Object.values(selectedDimensionNames).join(', ')}`);\n }\n\n private _getDimensionsNodes(): React.ReactElement[] {\n const { dimensions } = this.state;\n const { resources } = this.props;\n\n return dimensions?.map((dimension: ProductDimensionFull) => {\n const { DimensionValues, DimensionTypeValue } = dimension;\n const mapDimensions = (value: ProductDimensionValue): IDropdownItemProps => ({\n id: value.RecordId,\n value: value.Value || ''\n });\n const dimensionName = this._getDropdownName(DimensionTypeValue, resources);\n const dropdownList: IDropdownItemProps[] = DimensionValues ? DimensionValues.map(mapDimensions) : [];\n dropdownList.unshift({ id: 0, value: `Choose a ${dimensionName}` });\n\n return (\n
\n
{dimensionName}
\n {this.state.errors?.dimension?.includes(DimensionTypeValue.toString()) && (\n \n \n \n )}\n \n
\n );\n });\n }\n\n private readonly _getDimensionsError = (dimensionName: string) =>\n this.props.resources.dimensionMissingError.replace(/{dimensionName}/g, dimensionName);\n\n private readonly _addToTemplateHandler = async (event: React.MouseEvent) => {\n // Hide confirmation of previous addition when adding multiple items\n this.setState({\n isBusy: true,\n showAddConfirmation: false,\n errors: { ...this.state.errors, add: undefined }\n });\n\n const missingDimensions = this.state.dimensions\n .map(dimension => dimension.DimensionTypeValue.toString())\n .filter(type => !this.selectedDimensions[type]);\n\n this.setState({\n errors: { dimension: missingDimensions }\n });\n if (missingDimensions.length > 0) {\n this.setState({\n isBusy: false\n });\n return;\n }\n\n this.props\n .addToTemplateHandler({ ...this.state })\n .then(status => {\n // Validate against the existance of a ProductListId\n if (status.ProductListId) {\n this.setState({\n isBusy: false,\n showAddConfirmation: true\n });\n }\n })\n .catch(error => {\n const { addToTemplateDuplicateError, addToTemplateGenericError } = this.props.resources;\n let errorMessage;\n\n if (error.error.name === 'Microsoft_Dynamics_Commerce_Runtime_DuplicateObject') {\n errorMessage = addToTemplateDuplicateError;\n } else {\n errorMessage = addToTemplateGenericError;\n }\n\n this.setState({\n isBusy: false,\n errors: { ...this.state.errors, add: errorMessage }\n });\n this.props.context.telemetry.error('Error adding item to order template');\n });\n };\n\n private readonly _onQuantityChange = (newValue: number) => {\n this.setState({\n quantity: newValue,\n totalPrice: newValue * this.props.product.Price\n });\n };\n\n private readonly _updateDimensionValue = (\n productDimensionFull: ProductDimensionFull,\n newValueId: string | undefined\n ): ProductDimensionValue | undefined => {\n if (newValueId && productDimensionFull.DimensionValues) {\n return productDimensionFull.DimensionValues.find(dimension => dimension.RecordId === +newValueId);\n }\n\n return undefined;\n };\n\n // Rehydrate the selected variants price, available dimensions & sizes\n private readonly _onDimensionChanged = async (selection: IDropdownOnSelection): Promise => {\n const { product, dimensions, context } = this.props;\n const {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n } = context;\n\n // Remaining error notifications for missing dimensions\n const remainingDimensionsErrors = this.state.errors?.dimension?.filter(id => id !== selection.dropdownId.toString());\n\n this.setState({\n isBusy: false,\n showAddConfirmation: false,\n buttonDisabled: true,\n errors: { add: undefined, dimension: remainingDimensionsErrors }\n });\n\n // Update currently selected dimensions\n this.selectedDimensions[selection.dropdownId] = +selection.selectId;\n\n const mappedDimensions = dimensions\n ?.map(dimension => {\n return {\n DimensionTypeValue: dimension.DimensionTypeValue,\n DimensionValue:\n this._updateDimensionValue(dimension, this.selectedDimensions[dimension.DimensionTypeValue]) ||\n dimension.DimensionValue,\n ExtensionProperties: dimension.ExtensionProperties\n };\n })\n .filter(dimension => {\n return dimension && dimension.DimensionValue;\n });\n\n const variantProduct = await getSelectedVariant(\n new SelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId,\n mappedDimensions,\n undefined,\n this.props.context.request\n ),\n actionContext\n );\n\n if (!variantProduct) {\n this.props.context.telemetry.error(\n `Error retrieving variant product for product ${product.MasterProductId ? product.MasterProductId : product.RecordId}`\n );\n return;\n }\n\n const dimensionInput = new GetDimensionsForSelectedVariantInput(\n variantProduct.RecordId,\n channelId,\n mappedDimensions,\n this.props.context.request\n );\n const variantDimensions = await getDimensionsForSelectedVariant(dimensionInput, actionContext);\n\n if (!variantDimensions) {\n this.props.context.telemetry.error('Error retrieving dimensions for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n const availabilityInput = new ProductAvailabilitiesForSelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId\n );\n\n // @TODO sync UX quantity w/ actual availability\n const newAvailableQuantity = await getProductAvailabilitiesForSelectedVariant(availabilityInput, actionContext);\n const priceInput = new PriceForSelectedVariantInput(product.RecordId, channelId);\n const productPrice = await getPriceForSelectedVariant(priceInput, actionContext);\n\n if (!productPrice) {\n this.props.context.telemetry.error('Error retrieving price for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n this.setState({\n buttonDisabled: false,\n productAvailableQuantity: (newAvailableQuantity && newAvailableQuantity[0]) || undefined,\n unitPrice: +(productPrice.BasePrice || product.Price),\n dimensions: variantDimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n product: variantProduct\n });\n };\n\n private readonly _getDropdownName = (dimensionType: number, resources: IAddLineToTemplateResources): string => {\n switch (dimensionType) {\n case 1: // Color\n return resources.productDimensionTypeColor;\n case 2: // Configuration\n return resources.productDimensionTypeConfiguration;\n case 3: // Size\n return resources.productDimensionTypeSize;\n case 4: // Style\n return resources.productDimensionTypeStyle;\n default:\n return '';\n }\n };\n\n private _formatPrice(price: number): string {\n const {\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n\n return formatCurrency(price.toFixed(2), currencyCode);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { getFallbackImageUrl, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { IAddLineToTemplateProps } from '.';\n\nexport interface IProductListProps extends IAddLineToTemplateProps {\n products: ProductSearchResult[];\n imageSettings: IImageSettings;\n searchForm: React.ReactNode;\n clickHandler(product: ProductSearchResult): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n renderResultCountText(): string;\n}\n\nexport const ProductList = (props: IProductListProps) => {\n const {\n products,\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings },\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n },\n clickHandler,\n highlightSearchTerm,\n renderResultCountText,\n resources: { selectProductButtonText },\n imageSettings\n } = props;\n\n return (\n <>\n

\n {renderResultCountText()}\n

\n {props.searchForm}\n
\n {products.map((product: ProductSearchResult, index: number) => {\n const { Price, ItemId, Name, PrimaryImageUrl } = product;\n const price = formatCurrency(Price.toFixed(2), currencyCode);\n const primaryImageSource = generateImageUrl(PrimaryImageUrl ?? '', apiSettings) ?? '';\n const fallBackImg = getFallbackImageUrl(ItemId, apiSettings, props.context.request.app?.config?.OmniChannelMedia) ?? '';\n\n return (\n
\n
\n \n
\n
{ItemId}
\n {highlightSearchTerm(Name ?? '')}\n
\n
\n
\n {price}\n \n
\n
\n );\n })}\n
\n \n );\n};\n\ninterface IProductSelectButton {\n product: ProductSearchResult;\n buttonText: string;\n clickHandler(product: ProductSearchResult): Promise;\n}\n\nconst ProductSelectButton = (props: IProductSelectButton) => {\n const [isBusy, setBusy] = useState(false);\n const { product, buttonText, clickHandler } = props;\n const getClickHandler = React.useCallback(async () => {\n setBusy(!isBusy);\n await clickHandler(product);\n setBusy(!isBusy);\n }, [clickHandler, isBusy, product]);\n\n return (\n \n {buttonText}\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 {\n AddOrderTemplateToCartComponent,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n RenameOrderTemplateComponent,\n OrderTemplateNameDialog\n} from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy';\nimport { OrderTemplate, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, ITelemetryContent, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\nimport { useState } from 'react';\n\nexport interface IOrderTemplateActionsData {\n orderTemplate: OrderTemplate;\n}\n\nexport interface IOrderTemplateActionsProps extends IComponentProps {\n context: ICoreContext;\n telemetryContent?: ITelemetryContent;\n handlers: {\n onRemoveTemplate(orderTemplateId: string): void;\n onRenameTemplate(orderTemplate: ProductList): Promise;\n };\n renameOrderTemplateDialogStrings: IOrderTemplateNameDialogResources;\n isMultipleCatalogFeatureEnabledInHq?: boolean;\n resources: {\n addTemplateToBagButtonText: string;\n renameTemplateButtonText: string;\n deleteTemplateButtonText: string;\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n}\n\nexport interface IOrderTemplateActionsViewProps {\n addTemplateToBag: React.ReactNode;\n renameTemplate?: React.ReactNode;\n removeTemplate?: React.ReactNode;\n isMultipleCatalogsFeatureEnabled?: boolean;\n actionsSplitButton?: React.ReactNode;\n}\n\n/**\n * Remove Order Action.\n * @param props -Order template action props.\n * @returns Remove order template.\n */\nconst removeOrderActionHandler = (props: IOrderTemplateActionsProps) => () => {\n _removeOrderTemplate(props);\n};\n\nexport const OrderTemplateActionsView = (props: IOrderTemplateActionsProps): IOrderTemplateActionsViewProps => {\n const { resources, isMultipleCatalogFeatureEnabledInHq } = props;\n const { deleteTemplateButtonText } = resources;\n\n return {\n addTemplateToBag: _getOrderTemplateAddToCartDialog(props),\n renameTemplate: !isMultipleCatalogFeatureEnabledInHq && _getOrderTemplateRenameControl(props),\n removeTemplate: !isMultipleCatalogFeatureEnabledInHq && (\n \n ),\n actionsSplitButton: isMultipleCatalogFeatureEnabledInHq && \n };\n};\n\nconst _removeOrderTemplate = (props: IOrderTemplateActionsProps): void => {\n const {\n data: { orderTemplate },\n handlers\n } = props;\n const { onRemoveTemplate } = handlers;\n\n if (onRemoveTemplate) {\n onRemoveTemplate(orderTemplate.productList.Id);\n }\n};\n\nconst _getOrderTemplateAddToCartDialog = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const {\n data: { orderTemplate },\n typeName,\n id,\n context,\n telemetryContent,\n resources,\n isMultipleCatalogFeatureEnabledInHq\n } = props;\n const {\n addTemplateToBagButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n } = resources;\n\n const dialogStrings = {\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n };\n\n return (\n \n );\n};\n\nconst _getOrderTemplateRenameControl = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const { renameOrderTemplateDialogStrings, resources, context, handlers } = props;\n return (\n \n );\n};\n\nlet buttonEventReference: HTMLButtonElement | undefined;\nexport const ActionsSplitButton: React.FC = (props: IOrderTemplateActionsProps) => {\n const [isStatementRequestAdminDropdownOpen, setIsStatementRequestAdminDropdownOpen] = useState(false);\n const [renameOrderTemplateDialogOpen, setOrderTemplateNameDialogOpen] = React.useState(false);\n\n const onOrderTemplateNameCancel = () => {\n context.telemetry.debug('Rename of template was canceled.');\n buttonEventReference?.focus();\n };\n\n const onRenameButtonClick = (event: React.MouseEvent) => {\n buttonEventReference = event.target as HTMLButtonElement;\n setOrderTemplateNameDialogOpen(true);\n event.preventDefault();\n };\n const onToggleDropdown1 = () => {\n setIsStatementRequestAdminDropdownOpen(!isStatementRequestAdminDropdownOpen);\n };\n const {\n data: { orderTemplate },\n resources,\n renameOrderTemplateDialogStrings,\n context\n } = props;\n\n const className = 'ms-order-template-action-bar';\n\n const popoverReference = React.createRef();\n const renderModalPopup = (\n \n );\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n\n return (\n
\n {renderModalPopup}\n \n {'Options'}\n \n \n \n\n \n {'Delete'}\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 { PriceComponent } from '@msdyn365-commerce/components';\nimport { ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { ProductCatalog, ProductPrice, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { ArrayExtensions, getFallbackImageUrl, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { useState } from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport OrderTemplateQuantity from './common/order-template-quantity';\n\nexport interface IOrderTemplateLineProps extends ProductListLine {\n orderTemplateLine: IOrderTemplateLineViewModel;\n productListLine: ProductListLine;\n price?: ProductPrice;\n context: ICoreContext;\n productUrl: string;\n imageSettings?: IImageSettings;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n quantity: number;\n isQuantityDisabledForUpdate?: boolean;\n handlers: {\n onAddToBag(product: SimpleProduct, quantity: number, itemKey: string, catalogId?: number | undefined): void;\n onRemoveItem(line: IOrderTemplateLineViewModel): void;\n onChangeQuantity(orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps): void;\n onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void;\n };\n resources: {\n selectOneRowText?: string;\n moreButtonText?: string;\n viewProductDetailsText?: string;\n productDimensionTypeColor: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n originalPriceText: string;\n currentPriceText: string;\n freePriceText: string;\n inputQuantityAriaLabel: string;\n removeFromOrderTemplateLinesText: string;\n addToBagButtonText: string;\n deleteButtonText: string;\n incrementButtonAriaLabel?: string;\n decrementButtonAriaLabel?: string;\n editOrderTemplateLineQuantityError?: string;\n unavailableProductErrorMessage?: string;\n outOfStockProductErrorMessage?: string;\n };\n index: number;\n isMobile: boolean;\n productQuantityView?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n toggleDetailsDisplayed(props: IOrderTemplateLineProps): void;\n isMultipleCatalogFeatureEnabledInHq?: boolean;\n catalogs?: ProductCatalog[];\n error?: string;\n shouldDisable?: boolean;\n}\n\nexport interface IOrderTemplateLineViewProps {\n key?: string;\n productImage: React.ReactNode;\n productPrice?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n productName?: string;\n productNumber?: React.ReactNode;\n productInfo?: React.ReactNode;\n productLabel?: React.ReactNode;\n productUnitOfMeasure?: React.ReactNode;\n productQuantity?: number;\n productQuantityView?: React.ReactNode;\n productListId?: string;\n selectLine?: React.ReactNode;\n popUp?: JSX.Element;\n extraActionsPopup?: JSX.Element | null | undefined;\n isMobile?: boolean;\n isMultipleCatalogFeatureEnabledInHq?: boolean;\n productLineCatalog?: React.ReactNode;\n disabled?: boolean;\n}\n\ninterface IEventHandlerFactory {\n getAddToBag(): (event: React.MouseEvent) => void;\n getRemoveItem(): (event: React.MouseEvent) => void;\n}\n\nconst OrderTemplateLineActions = (props: IOrderTemplateLineProps): IEventHandlerFactory => {\n const { orderTemplateLine, productListLine, quantity, handlers } = props;\n const { LineId, CatalogId } = productListLine;\n const { onAddToBag, onRemoveItem } = handlers;\n\n return {\n getAddToBag: () => (event: React.MouseEvent) => {\n LineId &&\n orderTemplateLine.fullProduct &&\n onAddToBag(orderTemplateLine.fullProduct.ProductDetails, quantity, LineId, CatalogId);\n },\n getRemoveItem: () => (event: React.MouseEvent) => LineId && onRemoveItem(props.orderTemplateLine)\n };\n};\n\ninterface IPopupProps extends IOrderTemplateLineProps {\n addButtonClassName: string;\n removeButtonClassName: string;\n}\n\nconst PopUp = (props: IPopupProps): JSX.Element | null => {\n const { addToBagButtonText, removeFromOrderTemplateLinesText, moreButtonText, viewProductDetailsText } = props.resources;\n const [showMobile, setShowMobile] = useState(false);\n const componentClassName = 'ms-table';\n\n const getViewHandler = () => (event: React.MouseEvent) => {\n props.toggleDetailsDisplayed(props);\n };\n\n const toggle = React.useCallback(() => {\n setShowMobile(!showMobile);\n }, [showMobile]);\n\n return (\n
\n \n {showMobile && (\n
\n \n View\n \n {getActionButton(\n props.isMobile,\n props.removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(props).getRemoveItem()\n )}\n {getActionButton(\n props.isMobile,\n props.addButtonClassName,\n addToBagButtonText,\n OrderTemplateLineActions(props).getAddToBag()\n )}\n
\n )}\n
\n );\n};\n\nconst getActionButton = (\n isMobile: boolean,\n className: string,\n buttonText: string,\n clickHandler: (event: React.MouseEvent) => void\n): React.ReactNode => (\n \n);\n\nconst getDesktopActionButton = (\n className: string,\n buttonText: string,\n clickHandler: (event: React.MouseEvent) => void\n): React.ReactNode => (\n \n);\n/**\n * On Select line function.\n * @param orderTemplateLine -Order template line.\n * @param input -Order template line props.\n * @returns Set on select order template.\n */\nconst onSelectLineHandler = (orderTemplateLine: IOrderTemplateLineViewModel, input: IOrderTemplateLineProps) => (\n event: React.ChangeEvent\n) => {\n orderTemplateLine.isChecked = !orderTemplateLine.isChecked;\n\n input.handlers.onSelect(orderTemplateLine, event.target.checked);\n};\n\nexport const OrderTemplateLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | null => {\n const {\n orderTemplateLine,\n productListLine,\n price,\n context,\n imageSettings,\n quantity,\n resources,\n isMobile,\n isMultipleCatalogFeatureEnabledInHq\n } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n const { removeFromOrderTemplateLinesText, addToBagButtonText, selectOneRowText } = resources;\n if (!product) {\n return null;\n }\n\n const { ItemId, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(\n ItemId,\n context.actionContext.requestContext.apiSettings,\n context.request.app?.config?.OmniChannelMedia\n );\n const addButtonClassName = input.isMobile ? 'ms-table__row-links-add' : 'ms-order-template-table-line__product-add-button';\n const removeButtonClassName = input.isMobile ? 'ms-table__row-links-delete' : 'ms-order-template-table-line__product-remove-button';\n\n return {\n isMobile,\n isMultipleCatalogFeatureEnabledInHq: isMultipleCatalogFeatureEnabledInHq,\n selectLine: (\n \n ),\n key: LineId!,\n productLineCatalog: isMultipleCatalogFeatureEnabledInHq && renderProductCatalog(input),\n productImage: _renderProductImage(\n 'ms-order-template-table-line__product-image',\n context,\n product.ProductDetails.Name!,\n PrimaryImageUrl,\n fallbackImage,\n imageSettings\n ),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: product && (\n <>\n
{ItemId}
\n {input.error !== 'NONE' ? (\n
{_renderProductError(input)}
\n ) : (\n undefined\n )}\n \n ),\n productUnitOfMeasure: price ? (\n
{UnitOfMeasure || price.UnitOfMeasure}
\n ) : (\n undefined\n ),\n productListId: LineId!,\n removeButton:\n !isMultipleCatalogFeatureEnabledInHq &&\n getActionButton(\n input.isMobile,\n removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(input).getRemoveItem()\n ),\n productQuantityView:
{_generateQuantity(input, LineId!)}
,\n productQuantity: quantity,\n addToBagButton:\n !isMultipleCatalogFeatureEnabledInHq &&\n getActionButton(input.isMobile, addButtonClassName, addToBagButtonText, OrderTemplateLineActions(input).getAddToBag()),\n extraActionsPopup:\n !isMobile && isMultipleCatalogFeatureEnabledInHq ? (\n \n ) : (\n undefined\n ),\n popUp: ,\n disabled: input.shouldDisable\n };\n};\n\nconst ExtraActionsPopup = (props: IPopupProps): JSX.Element | null => {\n const [showActions, setShowActions] = useState(false);\n const toggle = React.useCallback(() => {\n setShowActions(!showActions);\n }, [showActions]);\n\n const className = 'ms-order-template-table-line__extra-actions-cell';\n const actionsContainerClassName = `${className}__actions-container`;\n return (\n
\n
\n );\n};\n\nexport const OrderTemplateMobileLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | undefined => {\n const { orderTemplateLine, productListLine, price, context, imageSettings, isMultipleCatalogFeatureEnabledInHq } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n if (!product) {\n return;\n }\n const { ItemId, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(\n ItemId,\n context.actionContext.requestContext.apiSettings,\n context.request.app?.config?.OmniChannelMedia\n );\n\n return {\n productLineCatalog: isMultipleCatalogFeatureEnabledInHq && renderProductCatalog(input),\n productImage: _renderProductImage(\n 'thumbnail',\n context,\n product.ProductDetails.Name!,\n PrimaryImageUrl,\n fallbackImage,\n imageSettings\n ),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: ItemId,\n productUnitOfMeasure: UnitOfMeasure || price?.UnitOfMeasure,\n productQuantityView: _generateQuantity(input, LineId!)\n };\n};\n\nexport interface IOrderTemplateProductQuantityViewProps {\n ContainerProps: INodeProps;\n input: React.ReactNode;\n}\n\n/**\n * On Change function.\n * @param onChangeQuantity -On change quantity function.\n * @param itemKey -String.\n * @param props -Order template line props.\n * @returns Set change quantity.\n */\nconst onChangeHandler = (\n onChangeQuantity: (orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps | undefined) => void,\n itemKey: string,\n props: IOrderTemplateLineProps\n) => (newValue: number) => {\n if (onChangeQuantity) {\n onChangeQuantity(itemKey, newValue, props);\n }\n};\n\nconst _generateQuantity = (props: IOrderTemplateLineProps, itemKey: string): React.ReactNode => {\n const { handlers, resources, quantity } = props;\n const { onChangeQuantity } = handlers;\n return (\n \n );\n};\n\nexport const _renderProductImage = (\n className: string,\n context: ICoreContext,\n heading: string,\n image?: string,\n fallbackImage?: string,\n imageSettings?: IImageSettings\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n};\n\nexport const renderProductCatalog = (props: IOrderTemplateLineProps) => {\n const catalogId = props.productListLine.CatalogId;\n validateCatalogId(catalogId);\n\n if (!props.context.request.user.isB2b || !catalogId || !ArrayExtensions.hasElements(props.catalogs)) {\n return null;\n }\n\n const catalog = props.catalogs.find(item => item.RecordId === catalogId);\n\n if (!catalog || !catalog.Name) {\n return null;\n }\n\n return
{catalog.Name}
;\n};\n\nconst _renderPrice = (props: IOrderTemplateLineProps): JSX.Element | null => {\n const { price, context, moduleId, moduleTypeName, resources } = props;\n\n if (price) {\n return (\n \n );\n }\n return null;\n};\n\nconst _renderProductDimensions = (props: IOrderTemplateLineProps): (string | undefined)[] => {\n const { orderTemplateLine } = props;\n\n if (!orderTemplateLine.fullProduct || !orderTemplateLine.fullProduct.ProductDetails.Dimensions) {\n return [];\n }\n\n return orderTemplateLine.fullProduct.ProductDetails.Dimensions.map(dimension => {\n if (!dimension.DimensionValue || !dimension.DimensionValue.Value) {\n return undefined;\n }\n\n return dimension.DimensionValue.Value;\n });\n};\n\nconst _renderProductError = (props: IOrderTemplateLineProps) => {\n const { error, resources } = props;\n\n if (!error) {\n return '';\n }\n\n const errorMessages = {\n OOS: resources.outOfStockProductErrorMessage,\n UNASSORTED: resources.unavailableProductErrorMessage,\n NONE: ''\n };\n\n return errorMessages[error];\n};\n\nexport const renderProductInfo = (props: IOrderTemplateLineProps): React.ReactNode | undefined => {\n const { orderTemplateLine, productUrl } = props;\n const name = orderTemplateLine.fullProduct?.ProductDetails.Name;\n\n const dimensions = _renderProductDimensions(props);\n if (!orderTemplateLine.fullProduct) {\n return [];\n }\n\n const productName = productUrl ? (\n \n {name}\n \n ) : (\n
{name}
\n );\n\n const dimensionsLine: string = dimensions.join(', ');\n\n return (\n
\n
{productName}
\n
{dimensionsLine}
\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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateLinesStatus } from '../order-template';\n\nexport interface IOrderTemplateLinesStatusMessageProps {\n className?: string;\n errorType: orderTemplateLinesStatus;\n text?: string;\n}\n\nexport const OrderTemplateLinesStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

{text}

;\n case 'FAILED':\n return

{text}

;\n case 'LOADING':\n default:\n return

{text}

;\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\nimport { IOrderTemplateLineViewModel } from '../order-template';\n\nexport interface IOrderTemplateTableHeadingProps {\n selectAllRowsText?: string;\n productNumber: string;\n productName: string;\n productUnitPrice: string;\n productUOM: string;\n productQuantity: string;\n productActions: string;\n lines: IOrderTemplateLineViewModel[];\n isMobile: boolean;\n clickHandler(isChecked: boolean): void;\n productImage?: string;\n isMultipleCatalogFeatureEnabledInHq?: boolean;\n productLineCatalogName?: string;\n}\n\n/**\n * Order Template's table state.\n */\nexport interface IOrderTemplateTableHeadingState {\n isChecked: boolean;\n}\n\nexport interface IOrderTemplateTableShortHeading {\n productNumber: string;\n productActions: string;\n}\n\n/**\n * Order Template's table heading.\n */\nexport class OrderTemplateTableHeading extends React.PureComponent {\n public state: IOrderTemplateTableHeadingState = {\n isChecked: false\n };\n\n private readonly componentClassName: string = 'ms-table';\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateTableHeadingProps,\n state: IOrderTemplateTableHeadingState\n ): IOrderTemplateTableHeadingState {\n const checkedLines = props.lines.filter(line => !line.isChecked).length;\n let nextState = { ...state };\n nextState = { isChecked: checkedLines === 0 };\n return nextState;\n }\n\n public getOnChange = () => (event: React.ChangeEvent) => {\n this.setState(\n {\n isChecked: this.state.isChecked\n },\n () => {\n this.props.clickHandler(!this.state.isChecked);\n }\n );\n };\n\n public render(): JSX.Element {\n return (\n \n \n \n \n \n {!this.props.isMobile && this.props.isMultipleCatalogFeatureEnabledInHq ? (\n {this.props.productLineCatalogName}\n ) : null}\n {!this.props.isMobile ? {this.props.productImage} : null}\n {this.props.productNumber}\n {!this.props.isMobile ? {this.props.productName} : null}\n {!this.props.isMobile ? {this.props.productUnitPrice} : null}\n {!this.props.isMobile ? {this.props.productUOM} : null}\n {!this.props.isMobile ? {this.props.productQuantity} : null}\n {!this.props.isMobile ? {this.props.productActions} : }\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, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport { IOrderTemplateData } from '../order-template.data';\nimport { IOrderTemplateProps } from '../order-template.props.autogenerated';\nimport { AddLineToTemplate } from '.';\n\ninterface IOrderTemplateBulkActionsProps extends IOrderTemplateProps {\n orderTemplateId: string;\n selectedLines: IOrderTemplateLineViewModel[];\n isMinifiedView: boolean;\n isMultipleCatalogFeatureEnabledInHq: boolean;\n telemetryContent?: ITelemetryContent;\n onAddSelectionToBag(): void;\n onRemoveSelection(): void;\n}\n\ninterface IOrderTemplateBulkActionsState {\n isAddDisabled: boolean;\n isRemoveDisabled: boolean;\n}\n\n/**\n * Bulk Order Template line actions.\n */\nexport class OrderTemplateBulkActions extends React.PureComponent {\n public state: IOrderTemplateBulkActionsState = {\n isAddDisabled: true,\n isRemoveDisabled: true\n };\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateBulkActionsProps,\n state: IOrderTemplateBulkActionsState\n ): IOrderTemplateBulkActionsState {\n const selectedLines = props.selectedLines.length;\n let nextState = { ...state };\n nextState = {\n isAddDisabled: selectedLines === 0,\n isRemoveDisabled: selectedLines === 0\n };\n return nextState;\n }\n\n public render(): JSX.Element {\n const {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectCatalogTitleText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n addSelectedToBagButtonText,\n removeSelectedToBagButtonText,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n } = this.props.resources;\n\n const addLineProps = {\n context: this.props.context,\n telemetryContent: this.props.telemetryContent,\n resources: {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectCatalogTitleText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n },\n imageSettings: this.props.config.imageSettings,\n orderTemplateId: this.props.orderTemplateId,\n isMultipleCatalogFeatureEnabledInHq: this.props.isMultipleCatalogFeatureEnabledInHq,\n catalogs: this.props.data.catalogs?.result\n };\n\n return (\n <>\n \n \n \n {!this.props.isMinifiedView && addSelectedToBagButtonText}\n \n \n \n {!this.props.isMinifiedView && removeSelectedToBagButtonText}\n \n \n );\n }\n\n private readonly addHandler = (event: React.MouseEvent) => {\n this.setState({\n isAddDisabled: true\n });\n\n this.props.onAddSelectionToBag();\n\n this.setState({\n isAddDisabled: false\n });\n };\n\n private readonly removeHandler = (event: React.MouseEvent) => {\n this.setState({\n isRemoveDisabled: true\n });\n\n this.props.onRemoveSelection();\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IItemAddedToCartDialogData,\n IItemAddedToCartDialogResources,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n ItemAddedToCartDialog\n} from '@msdyn365-commerce/components';\nimport MsDyn365, { AsyncResult, getCatalogId, getUrlSync, ICoreContext, IRequestContext } from '@msdyn365-commerce/core';\nimport { ICartActionResult } from '@msdyn365-commerce/global-state';\nimport { ProductList, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport {\n deleteAsync,\n removeProductListLinesAsync,\n updateProductListLinesAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { FeatureState, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n ArrayExtensions,\n createGetFeatureStateInput,\n getFeatureState,\n getPriceForSelectedVariant,\n getProductUrlSync,\n ObjectExtensions,\n OrderTemplate,\n OrderTemplateLine,\n PriceForSelectedVariantInput,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n getTelemetryObject,\n Heading,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n UncontrolledPagination\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { action, computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport {\n IOrderTemplateActionsProps,\n IOrderTemplateActionsViewProps,\n IOrderTemplateLineProps,\n IOrderTemplateLineViewProps,\n IOrderTemplateTableHeadingProps,\n OrderTemplateActionsView,\n OrderTemplateLinesStatusMessage,\n OrderTemplateLineView,\n OrderTemplateMobileLineView,\n OrderTemplateTableHeading\n} from '../..';\nimport { ActiveOrderTemplateLinesInput } from './actions/get-order-template';\nimport { OrderTemplateBulkActions } from './components/bulk-actions';\nimport { IOrderTemplateData } from './order-template.data';\nimport { IOrderTemplateProps, IOrderTemplateResources } from './order-template.props.autogenerated';\nimport Spinner from './components/add-line/spinner';\n\nexport interface IOrderTemplateLineActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n isItemAddedToOrderTemplateOpen: boolean;\n isConfirmAddSelectionToBagModalOpen: boolean;\n itemAddedToCartDialogData?: IItemAddedToCartDialogData;\n productSelection: IOrderTemplateLineViewModel[];\n isDetailsDisplayed: boolean;\n detailedProductView?: IOrderTemplateLineViewProps;\n isQuantityDisabledForUpdate?: boolean;\n}\n\nexport type orderTemplateLinesStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport interface IOrderTemplateViewProps extends IOrderTemplateProps {\n OrderTemplateLines: IModuleProps;\n callbacks?: IOrderTemplateLinesCallbacks;\n status?: orderTemplateLinesStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplateActions?: INodeProps;\n ProductsTable?: INodeProps;\n ProductsTableRow?: INodeProps;\n ProductsTableHeading?: React.ReactNode;\n ProductDetails?: INodeProps;\n orderLines?: IOrderTemplateLineViewProps[];\n productListLines?: ProductListLine[];\n productsStatusMessage?: React.ReactNode;\n orderActions?: IOrderTemplateActionsViewProps | null;\n resources: IOrderTemplateResources;\n pagination?: React.ReactNode;\n itemAddedToCartDialog?: React.ReactNode;\n bulkOrderLineActions?: React.ReactNode;\n isDetailsDisplayed?: boolean;\n detailedProduct?: IOrderTemplateLineProps;\n detailedProductView?: IOrderTemplateLineViewProps;\n productQuantityView?: React.ReactNode;\n addButton?: React.ReactNode;\n isMobile?: boolean;\n toggleDetailsDisplayed?(props: IOrderTemplateLineProps | undefined): void;\n}\n\nexport interface IOrderTemplateLinesCallbacks {\n updateQuantity(itemKey: string, quantity: number): void;\n}\n\nexport interface IOrderTemplateLineViewModel extends OrderTemplateLine {\n isChecked: boolean;\n productQuantityView: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateLines component.\n * @extends {React.PureComponent, IOrderTemplateLineActionMessageState>}\n */\n@observer\nclass OrderTemplateLines extends React.Component, IOrderTemplateLineActionMessageState> {\n private readonly className: string;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable\n private _viewport: GridSize;\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n constructor(props: IOrderTemplateProps, state: IOrderTemplateLineActionMessageState) {\n super(props);\n this.className = 'ms-order-template';\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 this.state = {\n itemKey: '',\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: false,\n isConfirmAddSelectionToBagModalOpen: false,\n productSelection: [],\n isDetailsDisplayed: false,\n isQuantityDisabledForUpdate: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._updateViewport();\n\n if (MsDyn365.isBrowser && !this.props.context.request.user.isAuthenticated && !this.props.context.request.params.isEditor) {\n window.location.assign(this.props.context.request.user.signInUrl || '/');\n }\n }\n\n @action\n public async componentDidMount(): Promise {\n this.setState({});\n const orderTemplate = await this.props.data.orderTemplate;\n this.props.config.heading!.text = orderTemplate?.productList.Name || '';\n this.setState({\n productSelection: orderTemplate?.orderTemplateLines as IOrderTemplateLineViewModel[]\n });\n\n if (MsDyn365.isBrowser) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateProps,\n nextState: IOrderTemplateLineActionMessageState\n ): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const { heading, className } = this.props.config;\n const { emptyOrderTemplateLinesText, errorGettingOrderTemplateLines } = this.props.resources;\n const { orderTemplate, cart } = this.props.data;\n\n if (cart.status === 'LOADING' || ObjectExtensions.isNullOrUndefined(orderTemplate) || orderTemplate.status === 'LOADING') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(this.className, className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n return this.props.renderView(errorProps);\n }\n\n if (cart.status === 'FAILED' || orderTemplate.status === 'FAILED') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'FAILED',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n\n return this.props.renderView(errorProps);\n }\n\n const orderTemplateResult = orderTemplate && orderTemplate.result;\n const orderTemplateLines = orderTemplateResult && orderTemplateResult.orderTemplateLines;\n\n if (!orderTemplateResult || !orderTemplateLines || orderTemplateLines.length === 0) {\n if (orderTemplateResult && !this._isFirstPage() && MsDyn365.isBrowser) {\n window.location.href = this._getOrderTemplatePageUrl();\n return null;\n }\n\n const emptyViewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'EMPTY',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources,\n orderActions:\n orderTemplateResult &&\n this._renderOrderTemplateActions(orderTemplateResult, this._isChannelMultipleCatalogsFeatureEnabled()),\n bulkOrderLineActions: orderTemplateResult && this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n }\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'SUCCESS',\n productsStatusMessage: this.state.isOpen && (\n
\n \n {this.state.userMessage}\n \n
\n ),\n heading: heading && ,\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n },\n ProductsTable: {\n className: `${this.className}__table`,\n tag: 'table',\n role: 'grid'\n },\n ProductsTableRow: {\n className: `${this.className}-table-line`,\n tag: 'tr'\n },\n ProductsTableHeading: this._renderProductListHeader(this.props.resources),\n ProductDetails: {\n className: `${this.className}-table-line__link`,\n tag: 'a'\n },\n orderLines: this._renderProductList(),\n callbacks: { updateQuantity: debounce(this._changeQuantity, 2000) },\n orderActions: this._renderOrderTemplateActions(orderTemplateResult, this._isChannelMultipleCatalogsFeatureEnabled()),\n pagination: this._renderPagination(),\n itemAddedToCartDialog: this._renderItemAddedToCartDialog(),\n bulkOrderLineActions: this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n isDetailsDisplayed: this.state.isDetailsDisplayed,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\n detailedProductView: this.state.detailedProductView,\n isMobile: this.isMobile\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void {\n line.isChecked = isChecked;\n\n const updated =\n this.state.productSelection.map(product => {\n if (product.fullProduct?.ProductDetails.ItemId === line.fullProduct?.ProductDetails.ItemId) {\n line.isChecked = isChecked;\n }\n return product;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n public onSelectAll(isChecked: boolean): void {\n const updated =\n this.state.productSelection.map(line => {\n line.isChecked = isChecked;\n return line;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n private _renderProductListHeader(resources: IOrderTemplateResources): React.ReactNode {\n const {\n productImage,\n productNumberText,\n productText,\n productUnitPriceText,\n productUOMText,\n productQuantityText,\n productActionsText,\n selectAllRowsText,\n productLineCatalogName\n } = resources;\n const headers: IOrderTemplateTableHeadingProps = {\n productImage: productImage,\n productNumber: productNumberText,\n productName: productText,\n productUnitPrice: productUnitPriceText,\n productUOM: productUOMText,\n productQuantity: productQuantityText,\n productActions: productActionsText,\n selectAllRowsText,\n lines: this.state.productSelection,\n isMobile: this.isMobile,\n clickHandler: (isChecked: boolean) => {\n this.onSelectAll(isChecked);\n },\n isMultipleCatalogFeatureEnabledInHq: this._isChannelMultipleCatalogsFeatureEnabled(),\n productLineCatalogName: productLineCatalogName\n };\n\n return ;\n }\n\n private _getOrderTemplateLineActions(orderTemplateId: string): React.ReactNode {\n return (\n line.isChecked)}\n onAddSelectionToBag={this._onAddSelectionToBag}\n onRemoveSelection={this._onRemoveSelection}\n isMinifiedView={this.isMobile}\n isMultipleCatalogFeatureEnabledInHq={this._isChannelMultipleCatalogsFeatureEnabled()}\n telemetryContent={this.telemetryContent}\n />\n );\n }\n\n private _generateLinesAddedToCartDialogResources(): ILinesAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n };\n }\n\n private _generateItemAddedToCartDialogResources(): IItemAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n itemAddedToCartHeaderItemOneText: this.props.resources.itemAddedToCartHeaderItemOneText,\n itemAddedToCartHeaderItemFormatText: this.props.resources.itemAddedToCartHeaderItemFormatText,\n itemAddedToCartHeaderMessageText: this.props.resources.itemAddedToCartHeaderMessageText,\n freePriceText: this.props.resources.freePriceText,\n originalPriceText: this.props.resources.originalPriceText,\n currentPriceText: this.props.resources.currentPriceText\n };\n }\n\n private readonly _isChannelMultipleCatalogsFeatureEnabled = (): boolean => {\n let isMultipleCatalogFeatureEnabledInHq = false;\n if (this.props.data.featureState) {\n isMultipleCatalogFeatureEnabledInHq =\n this.props.data.featureState.result?.find(\n feature => feature.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\n )?.IsEnabled || false;\n }\n return isMultipleCatalogFeatureEnabledInHq;\n };\n\n private readonly _onRemoveSelection = (): void => {\n const { context, resources } = this.props;\n const { telemetry } = context;\n const { removeSelectedFailureMessage, removeSelectedSuccessMessage } = resources;\n const lines = this.state.productSelection;\n const productListLines = lines && lines.length && lines.filter(line => line.isChecked).map(line => line.productListLine);\n\n if (productListLines && productListLines.length > 0) {\n const productListId = productListLines[0].ProductListId;\n\n const maxWaitTimeInMilliSeconds: number = 1000;\n removeProductListLinesAsync({ callerContext: context.actionContext }, productListId!, productListLines)\n .then(async () => {\n this.setState({\n userMessage: removeSelectedSuccessMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n this.setState({\n userMessage: removeSelectedFailureMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n });\n }\n };\n\n private readonly _getOrderTemplatePageUrl = (): string => {\n let url = getUrlSync('ordertemplate', this.props.context.actionContext) || '';\n url = url.includes('?') ? url.substr(0, url.indexOf('?')) : url;\n if (this.props.data.orderTemplate?.result?.productList.Id) {\n return `${url}?id=${this.props.data.orderTemplate.result.productList.Id}`;\n }\n return '';\n };\n\n private readonly _onAddSelectionToBag = async (): Promise => {\n const lines = this.state.productSelection;\n const selectedLines = lines.filter(line => line.isChecked);\n if (selectedLines.length > 0) {\n for (const productLine of selectedLines) {\n const itemKey = productLine.fullProduct?.ProductDetails.ItemId ?? '';\n const product = productLine.fullProduct?.ProductDetails ?? {\n RecordId: 0,\n ProductTypeValue: 0,\n BasePrice: 0,\n Price: 0,\n AdjustedPrice: 0\n };\n const quantity = productLine.productListLine.Quantity ?? 0;\n if (this._isChannelMultipleCatalogsFeatureEnabled()) {\n const catalogId = productLine.productListLine.CatalogId;\n await this._addItemToBag(product, quantity, itemKey, catalogId);\n } else {\n await this._addItemToBag(product, quantity, itemKey);\n }\n }\n }\n return Promise.resolve(void 0);\n };\n\n private _renderOrderTemplateActions(\n orderTemplate: OrderTemplate,\n isMultipleCatalogFeatureEnabledInHq: boolean\n ): IOrderTemplateActionsViewProps {\n const { id, typeName, context, resources } = this.props;\n const {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage\n } = resources;\n\n const orderTemplateActions: IOrderTemplateActionsProps = {\n data: { orderTemplate },\n id,\n typeName,\n context,\n telemetryContent: this.telemetryContent,\n handlers: {\n onRenameTemplate: this._renameTemplate,\n onRemoveTemplate: this._removeTemplate\n },\n isMultipleCatalogFeatureEnabledInHq,\n renameOrderTemplateDialogStrings: this._generateOrderTemplateNameDialogResources(resources),\n resources: {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n closeWindowButtonText,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources: this._generateLinesAddedToCartDialogResources()\n }\n };\n\n return OrderTemplateActionsView(orderTemplateActions);\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.renameOrderTemplateTitleText,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateTitle,\n orderTemplateDescription: '',\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n orderTemplateButtonLabel: resources.renameOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelBtnLabel\n };\n }\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n /**\n * On close handler.\n */\n private readonly onCloseHandler = () => {\n this.setState({\n itemKey: this.state.itemKey,\n userMessage: this.state.userMessage,\n statusCssString: this.state.statusCssString,\n messageGlyph: this.state.messageGlyph,\n isOpen: this.state.isOpen,\n isItemAddedToOrderTemplateOpen: false\n });\n };\n\n private readonly _renderItemAddedToCartDialog = (): React.ReactNode | null => {\n if (!this.state.itemAddedToCartDialogData) {\n return null;\n }\n const isMultipleCatalogFeatureEnabledInHq =\n this.props.data.featureState?.result?.find(feature => feature.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature')\n ?.IsEnabled || false;\n\n return (\n \n );\n };\n\n private _isFirstPage(): boolean {\n return this._getCurrentPageNumber() === 0;\n }\n\n private _getCurrentPageNumber(): number {\n const itemsPerPage = this.props.config.itemsPerPage || 50;\n return (this.props.context.request.query && +this.props.context.request.query.skip / itemsPerPage) || 0;\n }\n\n private readonly _renderPagination = (): React.ReactNode | null => {\n const { config, context, data, resources } = this.props;\n const orderTemplate = data && data.orderTemplate && data.orderTemplate.result;\n if (!orderTemplate) {\n return null;\n }\n\n const fullUrl = this._getCurrentUrl(context.request);\n const itemsPerPage = config.itemsPerPage || 50;\n const currentPageNumber = this._getCurrentPageNumber();\n const skipCount = currentPageNumber * itemsPerPage;\n const totalItems = orderTemplate && orderTemplate.totalLines;\n const previousText = resources.flipperPrevious;\n const nextText = resources.flipperNext;\n\n if (totalItems <= itemsPerPage) {\n return null;\n }\n\n return (\n \n );\n };\n\n private _renderProductList(): IOrderTemplateLineViewProps[] {\n const {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n priceFree,\n originalPriceText,\n currentPriceText,\n addOrderTemplateItemToBagButtonText,\n removeItemFromOrderTemplateButtonText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n inputQuantityAriaLabel,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel,\n unavailableProductErrorMessage,\n outOfStockProductErrorMessage\n } = this.props.resources;\n\n const { context, telemetry, data } = this.props;\n const { catalogs } = data;\n const { imageSettings } = this.props.config;\n\n return this.state.productSelection.map((line, index) => {\n const currentProductProps: IOrderTemplateLineProps = {\n orderTemplateLine: line,\n productListLine: line.productListLine,\n price: line.fullProduct?.ProductPrice,\n error: line.error,\n shouldDisable: line.shouldDisable,\n context,\n isQuantityDisabledForUpdate: this.state.isQuantityDisabledForUpdate,\n productUrl: line.fullProduct\n ? this._updateProductUrlCatalog(line.fullProduct.ProductDetails, context, line.productListLine.CatalogId)\n : '',\n imageSettings,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n quantity: line.productListLine.Quantity!,\n handlers: {\n onAddToBag: this._addItemToBag,\n onRemoveItem: this._removeItemFromOrderTemplateLines,\n onChangeQuantity: this._changeQuantity,\n onSelect: this.onSelect.bind(this)\n },\n resources: {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n freePriceText: priceFree,\n originalPriceText,\n currentPriceText,\n inputQuantityAriaLabel,\n removeFromOrderTemplateLinesText: removeItemFromOrderTemplateButtonText,\n addToBagButtonText: addOrderTemplateItemToBagButtonText,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel,\n unavailableProductErrorMessage,\n outOfStockProductErrorMessage\n },\n index,\n isMobile: this.isMobile,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\n isMultipleCatalogFeatureEnabledInHq: this._isChannelMultipleCatalogsFeatureEnabled(),\n catalogs: catalogs && catalogs.result\n };\n\n return OrderTemplateLineView(currentProductProps)!;\n });\n }\n\n private readonly _toggleDetailsDisplayed = (props: IOrderTemplateLineProps): void => {\n let state = {\n isDetailsDisplayed: !this.state.isDetailsDisplayed\n };\n if (props) {\n state = {\n ...state,\n ...{\n detailedProductView: OrderTemplateMobileLineView(props)\n }\n };\n }\n this.setState(state);\n };\n\n // This method is used to update the product url with the catalogId\n private readonly _updateProductUrlCatalog = (\n productDetails: SimpleProduct,\n context: ICoreContext,\n catalogId: number | undefined\n ): string => {\n const productUrl = getProductUrlSync(productDetails, context.actionContext, undefined);\n if (!StringExtensions.isNullOrWhitespace(productUrl) && catalogId !== undefined) {\n const absoluteUrl = new URL(productUrl, window.location.href);\n absoluteUrl.searchParams.set('catalogid', `${catalogId ?? 0}`);\n return absoluteUrl.href;\n }\n\n return productUrl;\n };\n\n // Dismiss alert when addingToCart/removeItem\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _changeQuantity = async (itemKey: string, quantity: number, props?: IOrderTemplateLineProps) => {\n const { context, data, telemetry, config, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context) {\n if (orderTemplate?.result) {\n const orderTemplateLinesData = orderTemplate.result.orderTemplateLines;\n if (orderTemplateLinesData) {\n const orderLineIndex = orderTemplateLinesData.findIndex(\n (lines: OrderTemplateLine) => lines.productListLine.LineId === itemKey\n );\n const newProductListLine = { ...orderTemplateLinesData[orderLineIndex] };\n if (orderTemplateLinesData[orderLineIndex].productListLine.Quantity === quantity) {\n return;\n }\n const prevQuantity = newProductListLine.productListLine.Quantity;\n newProductListLine.productListLine.Quantity = quantity;\n const { fullProduct, ...line } = newProductListLine;\n\n // Update mobile modal\n if (props) {\n props.quantity = quantity;\n this.setState({\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n }\n\n this.setState({\n isQuantityDisabledForUpdate: true\n });\n\n updateProductListLinesAsync({ callerContext: context.actionContext }, orderTemplate.result.productList.Id, [\n line.productListLine\n ])\n .then(list => {\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isQuantityDisabledForUpdate: false,\n isOpen: false\n });\n if (list) {\n const newLine = list.find(lines => lines.LineId === itemKey);\n orderTemplateLinesData[orderLineIndex].productListLine = newLine!;\n const updatedLines = [...orderTemplateLinesData];\n updatedLines[orderLineIndex] = { fullProduct, productListLine: newLine! };\n const updatedOrderTemplate = { ...orderTemplate.result, ProductListLines: updatedLines };\n context.actionContext.update(\n new ActiveOrderTemplateLinesInput(context.actionContext.requestContext, config),\n updatedOrderTemplate\n );\n }\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable to update product quantity.');\n telemetry.error(error);\n const userMessage = resources.editOrderTemplateLineQuantityError;\n if (props) {\n props && (props.productListLine.Quantity = prevQuantity);\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true,\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n } else {\n newProductListLine.productListLine.Quantity = prevQuantity;\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true\n });\n }\n });\n }\n }\n }\n };\n\n private readonly _addItemToBag = async (\n product: SimpleProduct,\n quantity: number,\n itemKey: string,\n catalogId?: number | undefined\n ): Promise => {\n const { context, data, resources, telemetry } = this.props;\n const { cart } = data;\n const { maxQuantityLimitText, addedToCartFailureMessage } = resources;\n\n if (context) {\n if (cart.result) {\n const addProductToCartInput = {\n product,\n count: quantity,\n catalogId\n };\n\n await cart.result\n .addProductToCart(addProductToCartInput)\n .then((result: ICartActionResult) => {\n if (result.status === 'SUCCESS') {\n return getPriceForSelectedVariant(\n new PriceForSelectedVariantInput(\n product.RecordId,\n this.props.context.actionContext.requestContext.apiSettings.channelId,\n product\n ),\n this.props.context.actionContext\n ).then(priceResult => {\n if (!priceResult) {\n return AsyncResult.reject('Failed to retrieve product price');\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- read config file.\n const isMiniCart = context.app.config.addToCartBehavior === 'showMiniCart';\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: !isMiniCart,\n itemAddedToCartDialogData: {\n product,\n productPrice: priceResult,\n quantity\n },\n isDetailsDisplayed: false\n });\n return AsyncResult.resolve();\n });\n } else {\n switch (result.substatus) {\n case 'MAXQUANTITY':\n if (context.app.config.maxQuantityForCartLineItem) {\n const cartLineQuantity: number | undefined =\n cart.result?.cart.CartLines &&\n cart.result?.cart.CartLines.find(result => result.ProductId === product.RecordId)?.Quantity;\n const defaultMessage = `You can only add ${context.app.config.maxQuantityForCartLineItem} of this item to your shopping bag`;\n this.setState({\n itemKey,\n userMessage:\n cartLineQuantity !== undefined\n ? maxQuantityLimitText\n .replace('{curQuantity}', cartLineQuantity.toString())\n .replace(\n '{maxQuantity}',\n context.app.config.maxQuantityForCartLineItem.toString()\n ) || defaultMessage\n : defaultMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n } else {\n const defaultMessage = `Max quantity for cart line item is undefined. Please define in configuration settings.`;\n this.setState({\n itemKey,\n userMessage: defaultMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n }\n case 'INVOICEINCART': {\n this.setState({\n itemKey,\n userMessage: result.errorDetails?.LocalizedMessage || addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n }\n default:\n telemetry.debug('[order-template-lines] Unable to Update Cart Line from the order template lines');\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n }\n }\n })\n .catch((error: Error) => {\n telemetry.warning(error.message);\n telemetry.debug('[order-template-lines] Error trying to Update Cart Line from the order template lines');\n if (StringExtensions.isNullOrWhitespace(error.message)) {\n this.setState({\n itemKey,\n userMessage: error.message,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n } else {\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n }\n });\n }\n }\n };\n\n private readonly _removeItemFromOrderTemplateLines = async (line: IOrderTemplateLineViewModel) => {\n const { context, data, telemetry } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const maxWaitTimeInMilliSeconds: number = 1000;\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate?.result && line) {\n const featureStates = await getFeatureState(createGetFeatureStateInput(context.actionContext), context.actionContext);\n let isMultipleCatalogFeatureEnabledInHq = false;\n if (ArrayExtensions.hasElements(featureStates)) {\n isMultipleCatalogFeatureEnabledInHq =\n featureStates.find(\n (featureState: FeatureState) => featureState.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\n )?.IsEnabled || false;\n }\n const catalogId = getCatalogId(context.actionContext.requestContext);\n if (isMultipleCatalogFeatureEnabledInHq) {\n line.productListLine.CatalogId = catalogId;\n }\n removeProductListLinesAsync({ callerContext: context.actionContext }, line.productListLine.ProductListId!, [\n line.productListLine\n ])\n .then(async () => {\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n });\n } else {\n telemetry.warning(\n '[order-template-lines] Unable remove items from the order template lines user token or lineItemID was not found'\n );\n }\n }\n };\n\n private readonly _renameTemplate = async (_template: ProductList): Promise => {\n window.location.reload();\n return Promise.resolve();\n };\n\n private readonly _removeTemplate = () => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate && orderTemplate.result) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.result.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: orderTemplate.result?.productList.Id || '',\n userMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n });\n const newLink = getUrlSync('ordertemplatelist', this.props.context.actionContext);\n if (newLink) {\n window.location.assign(newLink);\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template.');\n }\n };\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n\n return 'xs';\n };\n\n /**\n * Renders a Pagination previous text.\n * @param paginationPreviousText - Pagination previous text from resources.\n * @returns Previous text and flipper icon.\n */\n private readonly _renderPrev = (paginationPreviousText: string) => {\n return (\n
\n
\n );\n };\n\n /**\n * Renders a Pagination next text.\n * @param paginationNextText - Pagination next text from resources.\n * @returns Next text and flipper icon.\n */\n private readonly _renderNext = (paginationNextText: string) => {\n return (\n
\n {paginationNextText}\n
\n );\n };\n}\n\nexport default OrderTemplateLines;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddOrderTemplateToCartComponent, ILinesAddedToCartDialogResources } from '@msdyn365-commerce/components';\nimport { getUrlSync, ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductList, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getFallbackImageUrl,\n getProductUrlSync,\n OrderTemplate,\n OrderTemplateLine,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateActionMessageState } from '../order-template-list';\n\nexport interface ISingleOrderTemplateProps extends ProductList {\n orderTemplateState: IOrderTemplateActionMessageState;\n name?: string;\n orderTemplate: OrderTemplate;\n context: ICoreContext;\n imageSettings?: IImageSettings;\n enableImageProductLink?: boolean;\n removeFromOrderTemplateListText: string;\n addToBagText: string;\n index: number;\n itemKey: string;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n handlers: {\n onRemoveOrderTemplate(id: string): void | undefined;\n onDismiss(): void;\n };\n resources: {\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n telemetryContent?: ITelemetryContent;\n isMultipleCatalogFeatureEnabledInHq?: boolean;\n}\n\nexport interface ISingleOrderTemplateViewProps {\n key: string;\n orderTemplateImage: React.ReactNode;\n addToCartButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n orderTemplateStatusMessage?: React.ReactNode;\n orderTemplateName?: React.ReactNode;\n orderTemplateAriaLabel?: string;\n orderTemplateHeaderDivider?: React.ReactNode;\n}\n\nconst _removeItemFromOrderTemplateList = (props: ISingleOrderTemplateProps): void => {\n const { onRemoveOrderTemplate } = props.handlers;\n const { itemKey } = props;\n\n onRemoveOrderTemplate && itemKey && onRemoveOrderTemplate(itemKey);\n};\n\nconst OrderTemplateActions = {\n removeOrderTemplate: _removeItemFromOrderTemplateList\n};\n\n/**\n * Remove order template action.\n * @param input -Single order template props.\n * @returns Set remove order template.\n */\nconst removeOrderTemplateActionHandler = (input: ISingleOrderTemplateProps) => () => {\n OrderTemplateActions.removeOrderTemplate(input);\n};\n\nexport const OrderTemplateRender = (input: ISingleOrderTemplateProps): ISingleOrderTemplateViewProps | null => {\n const {\n Id,\n orderTemplate,\n removeFromOrderTemplateListText,\n orderTemplateState,\n handlers,\n name,\n imageSettings,\n context,\n telemetryContent,\n enableImageProductLink\n } = input;\n\n if (!Id) {\n return null;\n }\n\n const _getOrderTemplatePageUrl = (): string => {\n const url = getUrlSync('ordertemplate', context.actionContext) ?? '';\n const separator = url.includes('?') ? '&' : '?';\n if (Id) {\n return `${url}${separator}id=${Id}`;\n }\n return '';\n };\n\n const { onDismiss } = handlers;\n\n return {\n key: `${Id}-template`,\n orderTemplateImage: _renderOrderTemplateImages(context, orderTemplate.orderTemplateLines, imageSettings, enableImageProductLink),\n orderTemplateAriaLabel: _renderAriaLabel(input),\n orderTemplateName: (\n
\n \n
\n {orderTemplate.totalLines}\n {` `}\n line items\n
\n
\n
\n ),\n addToCartButton: (\n
\n \n
\n ),\n removeButton: (\n \n ),\n orderTemplateStatusMessage: orderTemplateState && orderTemplateState.isOpen && orderTemplateState.userMessage && (\n
\n \n {orderTemplateState.userMessage}\n \n
\n )\n };\n};\n\n/**\n * On image click handler.\n * @param productUrl -Product url value.\n * @returns Assign window location.\n */\nconst onClickHandler = (productUrl: string) => () => {\n window.location.assign(productUrl);\n};\n\nconst _renderOrderTemplateImages = (\n context: ICoreContext,\n orderTemplateLines?: OrderTemplateLine[],\n imageSettings?: IImageSettings,\n enableImageProductLink?: boolean\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n if (orderTemplateLines) {\n const count = orderTemplateLines.length < 4 ? orderTemplateLines.length : 4;\n\n return (\n
\n {orderTemplateLines?.slice(0, count).map(line => {\n const productUrl = line.fullProduct\n ? _updateProductUrlCatalog(line.fullProduct.ProductDetails, context, line?.productListLine?.CatalogId)\n : '';\n\n return (\n \n );\n })}\n
\n );\n }\n return
;\n};\n\n// This method is used to update the product url with the catalogId\nconst _updateProductUrlCatalog = (productDetails: SimpleProduct, context: ICoreContext, catalogId: number | undefined): string => {\n const productUrl = getProductUrlSync(productDetails, context.actionContext, undefined);\n if (!StringExtensions.isNullOrWhitespace(productUrl) && catalogId !== undefined) {\n const fullUrl = new URL(productUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId ?? 0}`);\n return fullUrl.href;\n }\n return productUrl;\n};\n\nconst _renderAriaLabel = (props: ISingleOrderTemplateProps): string => {\n const { name } = props;\n return `${name}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateListStatus } from '../order-template-list';\n\nexport interface IOrderTemplateListStatusMessageProps {\n className?: string;\n errorType: orderTemplateListStatus;\n text?: string;\n}\n\nexport const OrderTemplateListStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

{text}

;\n case 'FAILED':\n return

{text}

;\n case 'LOADING':\n default:\n return

{text}

;\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources, OrderTemplateNameDialog } from '@msdyn365-commerce/components';\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport React, { useState } from 'react';\n\nconst modalCloseButtonReference: React.RefObject = React.createRef();\n\n/**\n * The Create Order Template Button Props.\n */\nexport interface ICreateOrderTemplateButtonProps extends IComponentProps {\n /**\n * The label for create order template.\n */\n createOrderTemplateText: string;\n\n /**\n * The create order template dialog resources.\n */\n createOrderTemplateDialogResources: IOrderTemplateNameDialogResources;\n\n /**\n * The delegate to fire when dialog captured any user entry.\n */\n onOrderTemplateCreated(): Promise;\n}\n\nconst CreateOrderTemplateButton: React.FC = props => {\n const onCancelHandler = React.useCallback(() => {\n return;\n }, []);\n const [isCreateOrderTemplateDialogOpen, setOrderTemplateNameDialogOpen] = useState(false);\n const onCreateButtonClick = React.useCallback(() => {\n setOrderTemplateNameDialogOpen(true);\n }, []);\n\n return (\n <>\n \n {props.createOrderTemplateText}\n \n \n \n );\n};\n\nexport default CreateOrderTemplateButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources } from '@msdyn365-commerce/components';\nimport { deleteAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport Spinner from '../order-template/components/add-line/spinner';\nimport {\n ISingleOrderTemplateProps,\n ISingleOrderTemplateViewProps,\n OrderTemplateListStatusMessage,\n OrderTemplateRender\n} from './components';\nimport CreateNewTemplateButtonComponent from './components/create-order-template';\nimport { IOrderTemplateListData } from './order-template-list.data';\nimport { HeadingTag, IOrderTemplateListProps, IOrderTemplateListResources } from './order-template-list.props.autogenerated';\n\nexport interface IOrderTemplateActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n headerStatusMessage: string;\n}\n\nexport type orderTemplateListStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\n\nexport interface IOrderTemplateListViewProps extends IOrderTemplateListProps {\n OrderTemplateList: IModuleProps;\n status?: orderTemplateListStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplates?: INodeProps;\n OrderTemplate?: INodeProps;\n orderTemplates?: ISingleOrderTemplateViewProps[];\n createOrderTemplateButton?: React.ReactNode;\n templateHeaderStatusMessage?: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateList component.\n * @extends {React.PureComponent, IOrderTemplateListActionMessageState>}\n */\n@observer\nclass OrderTemplateList extends React.Component, IOrderTemplateActionMessageState> {\n constructor(props: IOrderTemplateListProps) {\n super(props);\n this.state = {\n itemKey: '',\n userMessage: '',\n headerStatusMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false\n };\n }\n\n public async componentDidMount(): Promise {\n this.setState({});\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateListProps,\n nextState: IOrderTemplateActionMessageState\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 | null {\n const { className, heading } = this.props.config;\n const { emptyOrderTemplateText, createNewTemplateButtonText } = this.props.resources;\n const { orderTemplates } = this.props.data;\n const orderTemplatesData = orderTemplates && orderTemplates.result;\n const orderTemplateListHeading = heading?.text ?? this.props.resources.orderTemplateListTitle;\n\n if (orderTemplates.status === 'LOADING') {\n const errorProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: (\n \n )\n };\n return this.props.renderView(errorProps);\n }\n\n if (orderTemplatesData && orderTemplatesData.length === 0) {\n // When no order templates are found for customer\n const emptyViewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'EMPTY',\n statusMessage: ,\n createOrderTemplateButton: (\n \n ),\n heading: (\n \n )\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'SUCCESS',\n heading: ,\n createOrderTemplateButton: (\n \n ),\n templateHeaderStatusMessage: this.state.isOpen && this.state.headerStatusMessage && (\n
\n \n {this.state.headerStatusMessage}\n \n
\n ),\n OrderTemplates: {\n className: 'ms-order-template__list-item',\n tag: 'ul'\n },\n OrderTemplate: {\n className: 'ms-order-template__tile',\n tag: 'li'\n },\n orderTemplates: orderTemplatesData && this._renderOrderTemplateList(orderTemplatesData)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateListResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\n orderTemplateDescription: resources.createOrderTemplateDescription,\n\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\n };\n }\n\n private readonly _isChannelMultipleCatalogsFeatureEnabled = (): boolean => {\n let isMultipleCatalogFeatureEnabledInHq = false;\n if (this.props.data.featureState) {\n isMultipleCatalogFeatureEnabledInHq =\n this.props.data.featureState.result?.find(\n feature => feature.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\n )?.IsEnabled || false;\n }\n return isMultipleCatalogFeatureEnabledInHq;\n };\n\n private _renderOrderTemplateList(orderTemplates: OrderTemplate[]): ISingleOrderTemplateViewProps[] {\n const { context, telemetry } = this.props;\n const { imageSettings, enableImageProductLink } = this.props.config;\n return orderTemplates.map((orderTemplate: OrderTemplate, index) => {\n const currentTemplateProps: ISingleOrderTemplateProps = {\n orderTemplateState: this.state,\n Id: orderTemplate.productList.Id,\n name: orderTemplate.productList.Name,\n orderTemplate,\n context,\n imageSettings,\n enableImageProductLink,\n removeFromOrderTemplateListText: 'remove',\n addToBagText: this.props.resources.addToBagButtonText,\n index,\n itemKey: orderTemplate.productList.Id,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n handlers: {\n onRemoveOrderTemplate: this._onRemoveFromOrderTemplateList,\n onDismiss: this._onDismiss\n },\n resources: {\n closeWindowButtonText: this.props.resources.closeWindowButtonText,\n addToCartFailureMessage: this.props.resources.addToCartFailureMessage,\n addToCartSuccessMessage: this.props.resources.addToCartSuccessMessage,\n addToCartProcessMessage: this.props.resources.addToCartProcessMessage,\n orderTemplateErrorMessage: this.props.resources.orderTemplateErrorMessage,\n linesAddedToCartDialogResources: {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n }\n },\n isMultipleCatalogFeatureEnabledInHq: this._isChannelMultipleCatalogsFeatureEnabled()\n };\n\n return OrderTemplateRender(currentTemplateProps)!;\n });\n }\n\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _reloadPage = async () => {\n window.location.reload();\n };\n\n private readonly _onRemoveFromOrderTemplateList = (productListId: string): void | undefined => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplates } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplates.result && orderTemplates.result[0] && productListId) {\n const orderTemplate = orderTemplates.result.find(p => p.productList.Id === productListId);\n if (orderTemplate) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: productListId,\n headerStatusMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n })\n .then(this._reloadPage)\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n });\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template.');\n }\n }\n };\n}\n\nexport default OrderTemplateList;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport default (props: { className: string; msg?: string }) => (\r\n <>\r\n
\r\n {props?.msg &&
{props?.msg}
}\r\n \r\n);\r\n","/* eslint-disable security/detect-non-literal-regexp */\r\n/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\r\nimport { getCatalogId, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { AsyncResult, ProductListLine, ProductSearchCriteria, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { getActivePricesAsync, searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { Customer, ProductPrice, ProductCatalog, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport {\r\n addItemToOrderTemplate,\r\n AddItemToOrderTemplateInput,\r\n getDimensionsForSelectedVariant,\r\n GetDimensionsForSelectedVariantInput,\r\n getSelectedVariant,\r\n SelectedVariantInput,\r\n validateCatalogId\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Modal, ModalBody, ModalHeader, getPayloadObject, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport { get } from 'lodash';\r\nimport { computed } from 'mobx';\r\nimport React from 'react';\r\n\r\nimport { IProductConfigurationState, NotFoundComponent, ProductConfiguration, ProductList } from '.';\r\nimport Spinner from './spinner';\r\nimport { IOrderTemplateLineViewModel } from '../../krannich-c-order-template';\r\n\r\nexport interface IAddLineToTemplateProps {\r\n context: ICoreContext;\r\n resources: IAddLineToTemplateResources;\r\n orderTemplateId: string;\r\n imageSettings?: IImageSettings;\r\n productSelection: IOrderTemplateLineViewModel[];\r\n customer: AsyncResult | undefined;\r\n activePrices: ProductPrice[];\r\n isMultipleCatalogFeatureEnabledInHq: boolean;\r\n catalogs?: ProductCatalog[] | undefined;\r\n telemetryContent?: ITelemetryContent;\r\n enabledIncExPrices?: boolean;\r\n}\r\n\r\nexport interface IAddLineToTemplateResources {\r\n addLineModalLinkText: string;\r\n searchButtonAriaLabel: string;\r\n searchInputAriaLabel: string;\r\n searchModalPlaceholderText: string;\r\n selectProductButtonText: string;\r\n selectCatalogTitleText: string;\r\n addItemToTemplateText: string;\r\n addLineProductUnitPricePrefix: string;\r\n addLineItemNumberPrefix: string;\r\n backButtonText: string;\r\n decrementButtonAriaLabel: string;\r\n incrementButtonAriaLabel: string;\r\n quantitySelectLabel: string;\r\n addLineProductUnitOfMeasurePrefix: string;\r\n notFoundSearchErrorNotice: string;\r\n notFoundSearchErrorRedediation: string;\r\n searchErrorMessage: string;\r\n productDimensionTypeColor: string;\r\n productDimensionTypeConfiguration: string;\r\n productDimensionTypeSize: string;\r\n productDimensionTypeStyle: string;\r\n searchResultsCountVerbage: string;\r\n searchResultsCountSubject: string;\r\n addToTemplateConfirmation: string;\r\n totalPriceLabel: string;\r\n progressNotificationText: string;\r\n addToTemplateDuplicateError: string;\r\n addToTemplateGenericError: string;\r\n dimensionMissingError: string;\r\n backToResultsText?: string;\r\n minPurchaseQuantityIsText?: string;\r\n maxPurchaseQuantityIsText?: string;\r\n informationText?: string;\r\n discontinuedText?: string;\r\n requestPriceTooltipText?: string;\r\n requestPriceText?: string;\r\n}\r\n\r\nenum CONTENT {\r\n Search,\r\n ProductList,\r\n ProductConfiguration,\r\n NotFound,\r\n Error,\r\n Loading\r\n}\r\n\r\ninterface IAddLineToTemplateState {\r\n isOpen: boolean;\r\n query: string;\r\n products: ProductSearchResult[];\r\n content: number;\r\n selectedProduct: SimpleProduct | null;\r\n productCatalogs: ProductCatalog[] | null;\r\n selectedProductDimensions?: ProductDimensionFull[];\r\n selectedQuantity?: number;\r\n selectedCatalogId: number | undefined;\r\n reloadPage?: boolean;\r\n isAlreadyProductMessage?: boolean;\r\n productIndex?: number[];\r\n activePrices?: ProductPrice[];\r\n}\r\n\r\n/**\r\n * Add Lines to order template.\r\n */\r\nexport class AddLineToTemplate extends React.Component {\r\n public state: IAddLineToTemplateState = {\r\n isOpen: false,\r\n query: '',\r\n products: [],\r\n content: CONTENT.Search,\r\n selectedProduct: null,\r\n isAlreadyProductMessage: false,\r\n productCatalogs: [],\r\n productIndex: [],\r\n activePrices: [],\r\n selectedCatalogId: 0\r\n };\r\n\r\n public defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n public searchTextInput: React.RefObject = React.createRef(); // @TODO public/private\r\n\r\n private readonly addLineButtonRef: React.RefObject = React.createRef();\r\n\r\n constructor(props: IAddLineToTemplateProps) {\r\n super(props);\r\n }\r\n\r\n public onComponentDidMount(): void {\r\n this.searchTextInput.current?.focus();\r\n }\r\n public componentDidMount(): void {\r\n this._getCatalogs();\r\n }\r\n public onComponentDidUpdate(): void {\r\n this.searchTextInput.current?.focus();\r\n }\r\n\r\n @computed get showBackArrow(): boolean {\r\n return this.state.content === CONTENT.ProductConfiguration;\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IAddLineToTemplateProps, nextState: IAddLineToTemplateState): boolean {\r\n if (this.state === nextState && this.props === nextProps) {\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 resources: { addLineModalLinkText }\r\n } = this.props;\r\n\r\n const modalProps = {\r\n ...this.props,\r\n className: 'msc-add-line-to-template',\r\n toggle: this._toggleModalHandler,\r\n isOpen: this.state.isOpen,\r\n ariaLabel: addLineModalLinkText\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {this.showBackArrow && (\r\n \r\n )}\r\n {addLineModalLinkText}\r\n \r\n {this._renderContent()}\r\n \r\n \r\n \r\n {addLineModalLinkText}\r\n \r\n \r\n );\r\n }\r\n\r\n private readonly _renderSearchForm = () => {\r\n const {\r\n resources: { searchButtonAriaLabel, searchModalPlaceholderText }\r\n } = this.props;\r\n\r\n return (\r\n \r\n
Product Name or Item Number
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {this.state.isMin && (\r\n

\r\n {this.props.informationText}\r\n \r\n {`${this.props.minPurchaseQuantityIsText} ${this.props.min}`}\r\n

\r\n )}\r\n {this.state.isMax && (\r\n

\r\n {this.props.informationText}\r\n \r\n {`${this.props.maxPurchaseQuantityIsText} ${this.props.max}`}\r\n

\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _onIncrementalChange(amount: number): void {\r\n const updatedQuantity = this.state.currentInput + amount;\r\n /*** VSI CUSTOMIZATION START****/\r\n //VSI CUSTOMIZATION FOR propmting alert if allowed range of quantity is breached\r\n const minValue = this.props.min === undefined ? 1 : this.props.min;\r\n if (updatedQuantity < minValue) {\r\n this.setState({\r\n isMin: true,\r\n currentInput: minValue\r\n });\r\n return;\r\n }\r\n if (updatedQuantity === this.props.max || updatedQuantity === this.props.maxAtpValue) {\r\n this.setState({\r\n isMax: true\r\n });\r\n } else if (updatedQuantity === this.props.min) {\r\n this.setState({\r\n isMin: true,\r\n currentInput: updatedQuantity\r\n });\r\n } else {\r\n this.setState({\r\n isMax: false,\r\n isMin: false\r\n });\r\n }\r\n /*** VSI CUSTOMIZATION END****/\r\n if (updatedQuantity >= 1 && updatedQuantity <= this.props.max) {\r\n this.props.onChange && this.props.onChange(updatedQuantity);\r\n }\r\n }\r\n\r\n private _handleChange(e: React.ChangeEvent): void {\r\n let currentValue = Number.parseInt(e.target.value, 10);\r\n currentValue = currentValue <= 0 ? (this.props.min === undefined ? 1 : this.props.min) : currentValue;\r\n this.setState({ isMax: false, isMin: false });\r\n const minValue = this.props.min === undefined ? 1 : this.props.min;\r\n if (currentValue <= minValue) {\r\n this.setState({\r\n isMin: true\r\n });\r\n } else {\r\n this.setState({\r\n isMin: false\r\n });\r\n }\r\n const inputElement =\r\n this.inputRef && this.inputRef.current && this.inputRef.current instanceof HTMLInputElement && this.inputRef.current;\r\n if (currentValue > this.props.max - 1) {\r\n this.setState({ isMax: true, currentInput: this.props.max });\r\n } else {\r\n this.setState({ currentInput: currentValue }, () => {\r\n debounce(() => {\r\n if (!isNaN(this.state.currentInput) && !(this.state.currentInput < minValue) && inputElement) {\r\n inputElement.setAttribute('aria-valuenow', currentValue.toString());\r\n inputElement.setAttribute('value', currentValue.toString());\r\n }\r\n }, 200)();\r\n });\r\n }\r\n }\r\n\r\n private readonly _validateMin = (): void => {\r\n const minValue = this.props.min === undefined ? 1 : this.props.min;\r\n\r\n if (isNaN(this.state.currentInput) || this.state.currentInput < minValue) {\r\n this.props.onChange && this.props.onChange(minValue);\r\n } else {\r\n this.props.onChange && this.props.onChange(this.state.currentInput);\r\n }\r\n };\r\n}\r\n","/* eslint-disable security/detect-object-injection */\r\n/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\r\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { ProductDimensionValue, ProductListLine } from '@msdyn365-commerce/retail-proxy';\r\nimport { ProductPrice, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport {\r\n getDimensionsForSelectedVariant,\r\n GetDimensionsForSelectedVariantInput,\r\n getFallbackImageUrl,\r\n getPriceForSelectedVariant,\r\n getProductAvailabilitiesForSelectedVariant,\r\n getSelectedVariant,\r\n IProductInventoryInformation,\r\n PriceForSelectedVariantInput,\r\n ProductAvailabilitiesForSelectedVariantInput,\r\n SelectedVariantInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Alert, Button, ITelemetryContent, ModalBody, ModalFooter } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\nimport { incExcPriceFormat, isRequestPrice, taxPercentage } from '../../../../utils/helper';\r\n\r\nimport OrderTemplateQuantity from '../common/krannich-c-order-template-quantity';\r\nimport { Dropdown, IAddLineToTemplateProps, IAddLineToTemplateResources, IDropdownItemProps, IDropdownOnSelection } from '.';\r\nimport { kRV_GetMultipleATPLeadTimeDateAsync } from '../../../../actions/customProxy/ATP-update/DataActionExtension.g';\r\n\r\nexport interface IProductCnnfigurationProps extends IAddLineToTemplateProps {\r\n product: SimpleProduct;\r\n dimensions: ProductDimensionFull[];\r\n imageSettings: IImageSettings;\r\n telemetryContent?: ITelemetryContent;\r\n searchForm: React.ReactNode;\r\n addToTemplateHandler(params: IProductConfigurationState): Promise;\r\n highlightSearchTerm(name: string): React.ReactNode;\r\n}\r\n\r\nexport interface IProductConfigurationState {\r\n quantity: number;\r\n unitPrice: number;\r\n totalPrice: number;\r\n product: SimpleProduct;\r\n dimensions: ProductDimensionFull[];\r\n selectedDimensions: {};\r\n productAvailableQuantity?: IProductInventoryInformation;\r\n buttonDisabled: boolean;\r\n showAddConfirmation: boolean;\r\n errorMessage?: string;\r\n isBusy: boolean;\r\n kitDiscontinuedFlag: boolean;\r\n atpData: any;\r\n errors: { dimension?: string[]; add?: string };\r\n atpMax: number;\r\n}\r\ninterface maxQuantityConfig {\r\n maxQuantityForCartLineItem: number;\r\n}\r\ninterface CustomConfig {\r\n config?: maxQuantityConfig;\r\n}\r\n\r\n/**\r\n * Configure selected product for addition to order template.\r\n */\r\nexport class ProductConfiguration extends React.Component {\r\n private selectedDimensions: {} = {};\r\n\r\n constructor(props: IProductCnnfigurationProps) {\r\n super(props);\r\n\r\n this.state = {\r\n quantity: 1,\r\n unitPrice: props.product.Price,\r\n totalPrice: props.product.Price,\r\n product: props.product,\r\n dimensions: props.dimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\r\n selectedDimensions: {},\r\n buttonDisabled: false,\r\n showAddConfirmation: false,\r\n atpData: [],\r\n kitDiscontinuedFlag: false,\r\n atpMax: 0\r\n } as IProductConfigurationState;\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n const components = this.state.product.Components;\r\n void this._atpData(components, this.state.product.ItemId);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IProductCnnfigurationProps, nextState: IProductConfigurationState): boolean {\r\n if (this.state === nextState && this.props === nextProps) {\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 context: {\r\n actionContext: {\r\n requestContext: { apiSettings }\r\n },\r\n request: { gridSettings }\r\n },\r\n resources: {\r\n addItemToTemplateText,\r\n addLineProductUnitPricePrefix,\r\n addLineItemNumberPrefix,\r\n decrementButtonAriaLabel,\r\n incrementButtonAriaLabel,\r\n quantitySelectLabel,\r\n addLineProductUnitOfMeasurePrefix,\r\n totalPriceLabel,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText,\r\n discontinuedText,\r\n requestPriceTooltipText,\r\n requestPriceText\r\n },\r\n imageSettings,\r\n highlightSearchTerm,\r\n customer,\r\n activePrices,\r\n enabledIncExPrices\r\n } = this.props;\r\n const { buttonDisabled, product, quantity, showAddConfirmation, errors } = this.state;\r\n const productPrice = activePrices.find(e => {\r\n if (e.ItemId === product.ItemId) {\r\n return e;\r\n }\r\n return null;\r\n });\r\n const priceObject: ProductPrice = {\r\n AdjustedPrice: productPrice?.AdjustedPrice,\r\n DiscountAmount: productPrice?.DiscountAmount,\r\n TradeAgreementPrice: productPrice?.TradeAgreementPrice,\r\n SalesAgreementPrice: productPrice?.SalesAgreementPrice,\r\n CustomerContextualPrice: productPrice?.CustomerContextualPrice,\r\n ItemId: product.ItemId\r\n };\r\n const obj: CustomConfig = this.props.context.app;\r\n const isMultipleCatalogSelect = this.props.isMultipleCatalogFeatureEnabledInHq ? 'isMultipleCatalogSelect' : '';\r\n const customerTaxPercentage = taxPercentage(customer?.result!);\r\n return (\r\n <>\r\n \r\n {this.props.searchForm}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {addLineItemNumberPrefix} \r\n {product?.ItemId}\r\n
\r\n {highlightSearchTerm(product?.Name ?? '')}\r\n
\r\n {addLineProductUnitPricePrefix}{' '}\r\n {isRequestPrice(priceObject, customer?.result?.LineDiscountGroup!) ||\r\n this.state.product.Components?.length !== 0 ? (\r\n
\r\n {requestPriceText}\r\n
\r\n \r\n {requestPriceTooltipText}\r\n
\r\n
\r\n ) : (\r\n incExcPriceFormat(\r\n productPrice?.CustomerContextualPrice!,\r\n this.props.context,\r\n enabledIncExPrices,\r\n customerTaxPercentage\r\n )\r\n )}\r\n
\r\n
\r\n {addLineProductUnitOfMeasurePrefix} {product?.DefaultUnitOfMeasure}\r\n
\r\n
\r\n {this.state.kitDiscontinuedFlag ?
{discontinuedText}
: null}\r\n
\r\n
{this._getDimensionsNodes()}
\r\n
\r\n
\r\n
{quantitySelectLabel}
\r\n \r\n
\r\n
\r\n
\r\n {isRequestPrice(priceObject, customer?.result?.LineDiscountGroup!) ||\r\n this.state.product.Components?.length !== 0 ? (\r\n
\r\n {requestPriceText}\r\n
\r\n \r\n {requestPriceTooltipText}\r\n
\r\n
\r\n ) : (\r\n <>\r\n {totalPriceLabel}{' '}\r\n {incExcPriceFormat(\r\n productPrice?.CustomerContextualPrice! * quantity,\r\n this.props.context,\r\n enabledIncExPrices,\r\n customerTaxPercentage\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n {showAddConfirmation && (\r\n \r\n
\r\n )}\r\n {errors?.add && (\r\n
\r\n
\r\n )}\r\n {!isRequestPrice(priceObject, customer?.result?.LineDiscountGroup!) &&\r\n !this.state.kitDiscontinuedFlag &&\r\n this.state.product.Components?.length! === 0 ? (\r\n \r\n {addItemToTemplateText}\r\n \r\n ) : (\r\n \r\n {addItemToTemplateText}\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n private _getConfirmationMessage(): string {\r\n const selectedDimensionNames = this.state.dimensions\r\n .map(dimension => {\r\n let variant = dimension.DimensionValues?.find(\r\n value => value.RecordId === this.selectedDimensions[dimension.DimensionTypeValue]\r\n )?.Value;\r\n if (dimension.DimensionTypeValue === 3) {\r\n variant = `size ${variant}`;\r\n }\r\n return variant;\r\n })\r\n .filter(value => value);\r\n\r\n return this.props.resources.addToTemplateConfirmation\r\n .replace('{count}', this.state.quantity.toString())\r\n .replace('{productAndDimensions}', `${this.state.product.Name}, ${Object.values(selectedDimensionNames).join(', ')}`);\r\n }\r\n\r\n private _getDimensionsNodes(): React.ReactElement[] {\r\n const { dimensions } = this.state;\r\n const { resources } = this.props;\r\n\r\n return dimensions?.map((dimension: ProductDimensionFull) => {\r\n const { DimensionValues, DimensionTypeValue } = dimension;\r\n const mapDimensions = (value: ProductDimensionValue): IDropdownItemProps => ({\r\n id: value.RecordId,\r\n value: value.Value || ''\r\n });\r\n const dimensionName = this._getDropdownName(DimensionTypeValue, resources);\r\n const dropdownList: IDropdownItemProps[] = DimensionValues ? DimensionValues.map(mapDimensions) : [];\r\n dropdownList.unshift({ id: 0, value: `Choose a ${dimensionName}` });\r\n\r\n return (\r\n
\r\n
{dimensionName}
\r\n {this.state.errors?.dimension?.includes(DimensionTypeValue.toString()) && (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n });\r\n }\r\n\r\n private readonly _getDimensionsError = (dimensionName: string) =>\r\n this.props.resources.dimensionMissingError.replace(/{dimensionName}/g, dimensionName);\r\n\r\n private readonly _addToTemplateHandler = async (event: React.MouseEvent) => {\r\n // Hide confirmation of previous addition when adding multiple items\r\n this.setState({\r\n isBusy: true,\r\n showAddConfirmation: false,\r\n errors: { ...this.state.errors, add: undefined }\r\n });\r\n\r\n const missingDimensions = this.state.dimensions\r\n .map(dimension => dimension.DimensionTypeValue.toString())\r\n .filter(type => !this.selectedDimensions[type]);\r\n\r\n this.setState({\r\n errors: { dimension: missingDimensions }\r\n });\r\n if (missingDimensions.length > 0) {\r\n this.setState({\r\n isBusy: false\r\n });\r\n return;\r\n }\r\n\r\n this.props\r\n .addToTemplateHandler({ ...this.state })\r\n .then(status => {\r\n // Validate against the existance of a ProductListId\r\n if (status.ProductListId) {\r\n this.setState({\r\n isBusy: false,\r\n showAddConfirmation: true\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n const { addToTemplateDuplicateError, addToTemplateGenericError } = this.props.resources;\r\n let errorMessage;\r\n\r\n if (error.error.name === 'Microsoft_Dynamics_Commerce_Runtime_DuplicateObject') {\r\n errorMessage = addToTemplateDuplicateError;\r\n } else {\r\n errorMessage = addToTemplateGenericError;\r\n }\r\n\r\n this.setState({\r\n isBusy: false,\r\n errors: { ...this.state.errors, add: errorMessage }\r\n });\r\n this.props.context.telemetry.error('Error adding item to order template');\r\n });\r\n };\r\n\r\n private readonly _onQuantityChange = (newValue: number) => {\r\n this.setState({\r\n quantity: newValue,\r\n totalPrice: newValue * this.props.product.Price\r\n });\r\n };\r\n\r\n private readonly _updateDimensionValue = (\r\n productDimensionFull: ProductDimensionFull,\r\n newValueId: string | undefined\r\n ): ProductDimensionValue | undefined => {\r\n if (newValueId && productDimensionFull.DimensionValues) {\r\n return productDimensionFull.DimensionValues.find(dimension => dimension.RecordId === +newValueId);\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n // Rehydrate the selected variants price, available dimensions & sizes\r\n private readonly _onDimensionChanged = async (selection: IDropdownOnSelection): Promise => {\r\n const { product, dimensions, context } = this.props;\r\n const {\r\n actionContext,\r\n request: {\r\n apiSettings: { channelId }\r\n }\r\n } = context;\r\n\r\n // Remaining error notifications for missing dimensions\r\n const remainingDimensionsErrors = this.state.errors?.dimension?.filter(id => id !== selection.dropdownId.toString());\r\n\r\n this.setState({\r\n isBusy: false,\r\n showAddConfirmation: false,\r\n buttonDisabled: true,\r\n errors: { add: undefined, dimension: remainingDimensionsErrors }\r\n });\r\n\r\n // Update currently selected dimensions\r\n this.selectedDimensions[selection.dropdownId] = +selection.selectId;\r\n\r\n const mappedDimensions = dimensions\r\n ?.map(dimension => {\r\n return {\r\n DimensionTypeValue: dimension.DimensionTypeValue,\r\n DimensionValue:\r\n this._updateDimensionValue(dimension, this.selectedDimensions[dimension.DimensionTypeValue]) ||\r\n dimension.DimensionValue,\r\n ExtensionProperties: dimension.ExtensionProperties\r\n };\r\n })\r\n .filter(dimension => {\r\n return dimension && dimension.DimensionValue;\r\n });\r\n\r\n const variantProduct = await getSelectedVariant(\r\n new SelectedVariantInput(\r\n product.MasterProductId ? product.MasterProductId : product.RecordId,\r\n channelId,\r\n mappedDimensions,\r\n undefined,\r\n this.props.context.request\r\n ),\r\n actionContext\r\n );\r\n\r\n if (!variantProduct) {\r\n this.props.context.telemetry.error(\r\n `Error retrieving variant product for product ${product.MasterProductId ? product.MasterProductId : product.RecordId}`\r\n );\r\n return;\r\n }\r\n\r\n const dimensionInput = new GetDimensionsForSelectedVariantInput(\r\n variantProduct.RecordId,\r\n channelId,\r\n mappedDimensions,\r\n this.props.context.request\r\n );\r\n const variantDimensions = await getDimensionsForSelectedVariant(dimensionInput, actionContext);\r\n\r\n if (!variantDimensions) {\r\n this.props.context.telemetry.error('Error retrieving dimensions for reconfigured product variant');\r\n this.setState({\r\n buttonDisabled: false\r\n });\r\n return;\r\n }\r\n\r\n const availabilityInput = new ProductAvailabilitiesForSelectedVariantInput(\r\n product.MasterProductId ? product.MasterProductId : product.RecordId,\r\n channelId\r\n );\r\n\r\n // @TODO sync UX quantity w/ actual availability\r\n const newAvailableQuantity = await getProductAvailabilitiesForSelectedVariant(availabilityInput, actionContext);\r\n const priceInput = new PriceForSelectedVariantInput(product.RecordId, channelId);\r\n const productPrice = await getPriceForSelectedVariant(priceInput, actionContext);\r\n\r\n if (!productPrice) {\r\n this.props.context.telemetry.error('Error retrieving price for reconfigured product variant');\r\n this.setState({\r\n buttonDisabled: false\r\n });\r\n return;\r\n }\r\n\r\n this.setState({\r\n buttonDisabled: false,\r\n productAvailableQuantity: (newAvailableQuantity && newAvailableQuantity[0]) || undefined,\r\n unitPrice: +(productPrice.BasePrice || product.Price),\r\n dimensions: variantDimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\r\n product: variantProduct\r\n });\r\n };\r\n\r\n private readonly _getDropdownName = (dimensionType: number, resources: IAddLineToTemplateResources): string => {\r\n switch (dimensionType) {\r\n case 1: // Color\r\n return resources.productDimensionTypeColor;\r\n case 2: // Configuration\r\n return resources.productDimensionTypeConfiguration;\r\n case 3: // Size\r\n return resources.productDimensionTypeSize;\r\n case 4: // Style\r\n return resources.productDimensionTypeStyle;\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n private _atpData = async (products: any[] | undefined, id: string | undefined) => {\r\n const KRVATPLeadTimeDate: any[] = [];\r\n //Create date according to API\r\n const objectDate = new Date();\r\n const day = objectDate.getDate();\r\n const month = objectDate.getMonth();\r\n const year = objectDate.getFullYear();\r\n const requestedDate = `${day}/${month + 1}/${year}`;\r\n\r\n //adding childs in payload\r\n if (products && products.length > 0) {\r\n products?.map((e: any) => {\r\n KRVATPLeadTimeDate.push({\r\n itemID: e.ItemId,\r\n requestedDate: requestedDate\r\n });\r\n });\r\n }\r\n //adding parent id aswell\r\n KRVATPLeadTimeDate.push({\r\n itemID: id,\r\n requestedDate: requestedDate\r\n });\r\n const ctx = { callerContext: this.props.context.actionContext };\r\n try {\r\n const response = await kRV_GetMultipleATPLeadTimeDateAsync(ctx, KRVATPLeadTimeDate);\r\n\r\n this.setState({ atpData: response }, () => {\r\n const redFlag = this.state.atpData?.ATPTrafficLights?.some(\r\n (item: { TrafficLight: string }) => item?.TrafficLight === 'Red'\r\n );\r\n let obj = this.state.atpData?.ATPTrafficLights?.[0]?.JsonResponseObject!;\r\n obj = JSON.parse(obj);\r\n const isRemovedFromCartFlag = obj?.IsRemovedFromCart === 'Yes' ? true : false;\r\n const max = obj?.Quantity;\r\n this.setState({ kitDiscontinuedFlag: redFlag || isRemovedFromCartFlag, atpMax: max });\r\n });\r\n } catch (err) {\r\n console.error(err, 'ERR');\r\n }\r\n };\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\r\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { AttributeValue, ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\nimport { filteredProductAttributeList, incExcPriceFormat, isRequestPrice, taxPercentage } from '../../../../utils/helper';\r\n\r\nimport { IAddLineToTemplateProps } from '.';\r\nimport { IOrderTemplateLineViewModel } from '../../krannich-c-order-template';\r\n\r\nexport interface IProductListProps extends IAddLineToTemplateProps {\r\n products: ProductSearchResult[];\r\n imageSettings: IImageSettings;\r\n searchForm: React.ReactNode;\r\n clickHandler(product: ProductSearchResult): Promise;\r\n highlightSearchTerm(name: string): React.ReactNode;\r\n renderResultCountText(): string;\r\n productSelection: IOrderTemplateLineViewModel[];\r\n isAlreadyProductMessage?: boolean;\r\n productIndex?: number[];\r\n}\r\n\r\nexport const ProductList = (props: IProductListProps) => {\r\n const {\r\n products,\r\n context: {\r\n actionContext: {\r\n requestContext: { apiSettings }\r\n },\r\n request: { gridSettings }\r\n },\r\n clickHandler,\r\n highlightSearchTerm,\r\n renderResultCountText,\r\n resources: { selectProductButtonText },\r\n imageSettings,\r\n customer,\r\n activePrices,\r\n enabledIncExPrices\r\n } = props;\r\n const getManufacturarFromAttribute = (attributeValues: AttributeValue[], attributeIdentifier: string) => {\r\n let ob;\r\n attributeValues.map((e: any, index: number) => {\r\n if (e?.identifier === attributeIdentifier) {\r\n ob = (\r\n
\r\n {e?.Name}: \r\n {e?.TextValue}\r\n
\r\n );\r\n }\r\n });\r\n return ob;\r\n };\r\n return (\r\n <>\r\n

\r\n {renderResultCountText()}\r\n

\r\n {props.searchForm}\r\n
\r\n {products.map((product: ProductSearchResult, index: number) => {\r\n const { ItemId, Name, PrimaryImageUrl } = product;\r\n const productPrice = activePrices.find(e => {\r\n if (e.ItemId === ItemId) {\r\n return e;\r\n }\r\n return null;\r\n });\r\n const customerTaxPercentage = taxPercentage(customer?.result!);\r\n const priceJSX = incExcPriceFormat(\r\n productPrice?.CustomerContextualPrice!,\r\n props.context,\r\n enabledIncExPrices,\r\n customerTaxPercentage\r\n );\r\n const priceObject: ProductPrice = {\r\n AdjustedPrice: productPrice?.AdjustedPrice,\r\n DiscountAmount: productPrice?.DiscountAmount,\r\n TradeAgreementPrice: productPrice?.TradeAgreementPrice,\r\n SalesAgreementPrice: productPrice?.SalesAgreementPrice,\r\n CustomerContextualPrice: productPrice?.CustomerContextualPrice,\r\n ItemId\r\n };\r\n const fallBackImg = getFallbackImageUrl(ItemId, apiSettings, props.context.request.app?.config?.OmniChannelMedia) ?? '';\r\n let isBundle: boolean | undefined = false;\r\n product.AttributeValues?.map(e => {\r\n if (e.Name === 'IsBundleProduct') {\r\n if (e.BooleanValue === true) {\r\n isBundle = true;\r\n } else {\r\n isBundle = false;\r\n }\r\n } else {\r\n isBundle = false;\r\n }\r\n });\r\n const productAttributes = filteredProductAttributeList(\r\n product?.AttributeValues,\r\n props.context.request.app.config.kcProductAttribute\r\n );\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Item Number:\r\n {ItemId}\r\n
\r\n {product &&\r\n product?.AttributeValues &&\r\n getManufacturarFromAttribute(productAttributes, 'Manufacturer')}\r\n
\r\n\r\n {highlightSearchTerm(Name ?? '')}\r\n
\r\n
\r\n
\r\n {isRequestPrice(priceObject, customer?.result?.LineDiscountGroup!, isBundle) ? (\r\n
\r\n Request Price\r\n
\r\n \r\n \r\n {\r\n 'You cannot add this product to cart. Please contact your local Krannich Solar office or sales representative for current price and availability'\r\n }\r\n \r\n
\r\n
\r\n ) : (\r\n {priceJSX}\r\n )}\r\n \r\n
\r\n {props.productIndex![0] === index && props.isAlreadyProductMessage ? (\r\n

{props.resources.addToTemplateDuplicateError}

\r\n ) : null}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n};\r\n\r\ninterface IProductSelectButton {\r\n product: ProductSearchResult;\r\n buttonText: string;\r\n clickHandler(product: ProductSearchResult): Promise;\r\n}\r\n\r\nconst ProductSelectButton = (props: IProductSelectButton) => {\r\n // const [isBusy, setBusy] = useState(false);\r\n const { product, buttonText, clickHandler } = props;\r\n const getClickHandler = React.useCallback(async () => {\r\n // setBusy(!isBusy);\r\n await clickHandler(product);\r\n // setBusy(!isBusy);\r\n }, [clickHandler, product]);\r\n\r\n return (\r\n \r\n {buttonText}\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewModel } from '../krannich-c-order-template';\r\nimport { IKrannichCOrderTemplateData } from '../krannich-c-order-template.data';\r\nimport { IKrannichCOrderTemplateProps } from '../krannich-c-order-template.props.autogenerated';\r\nimport { AddLineToTemplate } from '.';\r\n\r\ninterface IOrderTemplateBulkActionsProps extends IKrannichCOrderTemplateProps {\r\n orderTemplateId: string;\r\n selectedLines: IOrderTemplateLineViewModel[];\r\n isMinifiedView: boolean;\r\n isMultipleCatalogFeatureEnabledInHq: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n onAddSelectionToBag(): void;\r\n onRemoveSelection(): void;\r\n productSelection: IOrderTemplateLineViewModel[];\r\n}\r\n\r\ninterface IOrderTemplateBulkActionsState {\r\n isAddDisabled: boolean;\r\n isRemoveDisabled: boolean;\r\n}\r\n\r\n/**\r\n * Bulk Order Template line actions.\r\n */\r\nexport class OrderTemplateBulkActions extends React.PureComponent {\r\n public state: IOrderTemplateBulkActionsState = {\r\n isAddDisabled: true,\r\n isRemoveDisabled: true\r\n };\r\n\r\n public static getDerivedStateFromProps(\r\n props: IOrderTemplateBulkActionsProps,\r\n state: IOrderTemplateBulkActionsState\r\n ): IOrderTemplateBulkActionsState {\r\n const selectedLines = props.selectedLines.length;\r\n let nextState = { ...state };\r\n nextState = {\r\n isAddDisabled: selectedLines === 0,\r\n isRemoveDisabled: selectedLines === 0\r\n };\r\n return nextState;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n addLineModalLinkText,\r\n searchButtonAriaLabel,\r\n searchInputAriaLabel,\r\n searchModalPlaceholderText,\r\n selectCatalogTitleText,\r\n selectProductButtonText,\r\n addItemToTemplateText,\r\n addLineProductUnitPricePrefix,\r\n addLineItemNumberPrefix,\r\n backButtonText,\r\n decrementButtonAriaLabel,\r\n incrementButtonAriaLabel,\r\n quantitySelectLabel,\r\n addLineProductUnitOfMeasurePrefix,\r\n notFoundSearchErrorNotice,\r\n notFoundSearchErrorRedediation,\r\n searchErrorMessage,\r\n productDimensionTypeColor,\r\n productDimensionTypeConfiguration,\r\n productDimensionTypeSize,\r\n productDimensionTypeStyle,\r\n addSelectedToBagButtonText,\r\n removeSelectedToBagButtonText,\r\n searchResultsCountVerbage,\r\n searchResultsCountSubject,\r\n addToTemplateConfirmation,\r\n totalPriceLabel,\r\n progressNotificationText,\r\n addToTemplateDuplicateError,\r\n addToTemplateGenericError,\r\n dimensionMissingError,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText,\r\n discontinuedText,\r\n requestPriceTooltipText,\r\n requestPriceText\r\n } = this.props.resources;\r\n const addLineProps = {\r\n context: this.props.context,\r\n telemetryContent: this.props.telemetryContent,\r\n activePrices: [],\r\n customer: this.props.data.customerInformation,\r\n resources: {\r\n addLineModalLinkText,\r\n searchButtonAriaLabel,\r\n searchInputAriaLabel,\r\n searchModalPlaceholderText,\r\n selectCatalogTitleText,\r\n selectProductButtonText,\r\n addItemToTemplateText,\r\n addLineProductUnitPricePrefix,\r\n addLineItemNumberPrefix,\r\n backButtonText,\r\n decrementButtonAriaLabel,\r\n incrementButtonAriaLabel,\r\n quantitySelectLabel,\r\n addLineProductUnitOfMeasurePrefix,\r\n notFoundSearchErrorNotice,\r\n notFoundSearchErrorRedediation,\r\n searchErrorMessage,\r\n productDimensionTypeColor,\r\n productDimensionTypeConfiguration,\r\n productDimensionTypeSize,\r\n productDimensionTypeStyle,\r\n searchResultsCountVerbage,\r\n searchResultsCountSubject,\r\n addToTemplateConfirmation,\r\n totalPriceLabel,\r\n progressNotificationText,\r\n addToTemplateDuplicateError,\r\n addToTemplateGenericError,\r\n dimensionMissingError,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText,\r\n discontinuedText,\r\n requestPriceTooltipText,\r\n requestPriceText\r\n },\r\n imageSettings: this.props.config.imageSettings,\r\n orderTemplateId: this.props.orderTemplateId,\r\n isMultipleCatalogFeatureEnabledInHq: this.props.isMultipleCatalogFeatureEnabledInHq,\r\n catalogs: this.props.data.catalogs?.result,\r\n productSelection: this.props.productSelection,\r\n enabledIncExPrices: this.props.context.app.config.enabledIncExPrices\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {!this.props.isMinifiedView && addSelectedToBagButtonText}\r\n \r\n \r\n \r\n {!this.props.isMinifiedView && removeSelectedToBagButtonText}\r\n \r\n \r\n );\r\n }\r\n\r\n private readonly addHandler = (event: React.MouseEvent) => {\r\n this.setState({\r\n isAddDisabled: true\r\n });\r\n\r\n this.props.onAddSelectionToBag();\r\n\r\n this.setState({\r\n isAddDisabled: false\r\n });\r\n };\r\n\r\n private readonly removeHandler = (event: React.MouseEvent) => {\r\n this.setState({\r\n isRemoveDisabled: true\r\n });\r\n\r\n this.props.onRemoveSelection();\r\n };\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IOrderTemplateNameDialogResources, RenameOrderTemplateComponent, OrderTemplateNameDialog } from '@msdyn365-commerce/components';\r\n\r\nimport { ILinesAddedToCartDialogResources } from './lines-added-to-cart-dialog.component';\r\n\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { AddOrderTemplateToCartComponent } from './add-order-template-to-cart.component';\r\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ProductList } from '@msdyn365-commerce/retail-proxy';\r\nimport { OrderTemplate, Random } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, ITelemetryContent, Popover } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { useState } from 'react';\r\n\r\nexport interface IOrderTemplateActionsData {\r\n orderTemplate: OrderTemplate;\r\n cart: ICartState | undefined;\r\n}\r\n\r\nexport interface IOrderTemplateActionsProps extends IComponentProps {\r\n atpData?: any;\r\n context: ICoreContext;\r\n telemetryContent?: ITelemetryContent;\r\n handlers: {\r\n onRemoveTemplate(orderTemplateId: string): void;\r\n onRenameTemplate(orderTemplate: ProductList): Promise;\r\n };\r\n renameOrderTemplateDialogStrings: IOrderTemplateNameDialogResources;\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n resources: {\r\n addTemplateToBagButtonText: string;\r\n renameTemplateButtonText: string;\r\n deleteTemplateButtonText: string;\r\n closeWindowButtonText: string;\r\n addToCartFailureMessage: string;\r\n addToCartSuccessMessage: string;\r\n addToCartProcessMessage: string;\r\n orderTemplateErrorMessage: string;\r\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\r\n };\r\n}\r\n\r\nexport interface IOrderTemplateActionsViewProps {\r\n addTemplateToBag: React.ReactNode;\r\n renameTemplate?: React.ReactNode;\r\n removeTemplate?: React.ReactNode;\r\n isMultipleCatalogsFeatureEnabled?: boolean;\r\n actionsSplitButton?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Remove Order Action.\r\n * @param props -Order template action props.\r\n * @returns Remove order template.\r\n */\r\nconst removeOrderActionHandler = (props: IOrderTemplateActionsProps) => () => {\r\n _removeOrderTemplate(props);\r\n};\r\n\r\nexport const OrderTemplateActionsView = (props: IOrderTemplateActionsProps): IOrderTemplateActionsViewProps => {\r\n const { resources, isMultipleCatalogFeatureEnabledInHq } = props;\r\n const { deleteTemplateButtonText } = resources;\r\n\r\n return {\r\n addTemplateToBag: _getOrderTemplateAddToCartDialog(props),\r\n renameTemplate: !isMultipleCatalogFeatureEnabledInHq && _getOrderTemplateRenameControl(props),\r\n removeTemplate: !isMultipleCatalogFeatureEnabledInHq && (\r\n \r\n ),\r\n actionsSplitButton: isMultipleCatalogFeatureEnabledInHq && \r\n };\r\n};\r\n\r\nconst _removeOrderTemplate = (props: IOrderTemplateActionsProps): void => {\r\n const {\r\n data: { orderTemplate },\r\n handlers\r\n } = props;\r\n const { onRemoveTemplate } = handlers;\r\n\r\n if (onRemoveTemplate) {\r\n onRemoveTemplate(orderTemplate.productList.Id);\r\n }\r\n};\r\n\r\nconst _getOrderTemplateAddToCartDialog = (props: IOrderTemplateActionsProps): React.ReactNode => {\r\n const {\r\n data: { orderTemplate, cart },\r\n typeName,\r\n id,\r\n context,\r\n telemetryContent,\r\n resources,\r\n atpData,\r\n isMultipleCatalogFeatureEnabledInHq\r\n } = props;\r\n const {\r\n addTemplateToBagButtonText,\r\n closeWindowButtonText,\r\n addToCartFailureMessage,\r\n addToCartSuccessMessage,\r\n addToCartProcessMessage,\r\n orderTemplateErrorMessage,\r\n linesAddedToCartDialogResources\r\n } = resources;\r\n\r\n const dialogStrings = {\r\n closeWindowButtonText,\r\n addToCartFailureMessage,\r\n addToCartSuccessMessage,\r\n addToCartProcessMessage,\r\n orderTemplateErrorMessage,\r\n linesAddedToCartDialogResources\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst _getOrderTemplateRenameControl = (props: IOrderTemplateActionsProps): React.ReactNode => {\r\n const { renameOrderTemplateDialogStrings, resources, context, handlers } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nlet buttonEventReference: HTMLButtonElement | undefined;\r\nexport const ActionsSplitButton: React.FC = (props: IOrderTemplateActionsProps) => {\r\n const [isStatementRequestAdminDropdownOpen, setIsStatementRequestAdminDropdownOpen] = useState(false);\r\n const [renameOrderTemplateDialogOpen, setOrderTemplateNameDialogOpen] = React.useState(false);\r\n\r\n const onOrderTemplateNameCancel = () => {\r\n context.telemetry.debug('Rename of template was canceled.');\r\n buttonEventReference?.focus();\r\n };\r\n\r\n const onRenameButtonClick = (event: React.MouseEvent) => {\r\n buttonEventReference = event.target as HTMLButtonElement;\r\n setOrderTemplateNameDialogOpen(true);\r\n event.preventDefault();\r\n };\r\n const onToggleDropdown1 = () => {\r\n setIsStatementRequestAdminDropdownOpen(!isStatementRequestAdminDropdownOpen);\r\n };\r\n const {\r\n data: { orderTemplate },\r\n resources,\r\n renameOrderTemplateDialogStrings,\r\n context\r\n } = props;\r\n\r\n const className = 'ms-order-template-action-bar';\r\n\r\n const popoverReference = React.createRef();\r\n const renderModalPopup = (\r\n \r\n );\r\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\r\n\r\n return (\r\n
\r\n {renderModalPopup}\r\n \r\n {'Options'}\r\n \r\n \r\n \r\n\r\n \r\n {'Delete'}\r\n \r\n \r\n
\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { PriceComponent } from '../../../themes/krannich/views/components/price.component';\r\nimport { ICoreContext, IImageSettings, Image, ITelemetry, IGeneric, IAny } from '@msdyn365-commerce/core';\r\nimport { AsyncResult, ProductListLine } from '@msdyn365-commerce/retail-proxy';\r\nimport { Customer, ProductCatalog, ProductPrice, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { ArrayExtensions, getFallbackImageUrl, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport { IOrderTemplateLinePropsExtended, IOrderTemplateLineViewModel } from '../krannich-c-order-template';\r\nimport OrderTemplateQuantity from './common/krannich-c-order-template-quantity';\r\nimport { isRequestPrice, taxPercentage } from '../../../utils/helper';\r\n\r\nexport interface IOrderTemplateLineProps extends ProductListLine {\r\n orderTemplateLine: IOrderTemplateLineViewModel;\r\n productListLine: ProductListLine;\r\n price?: ProductPrice;\r\n context: ICoreContext>;\r\n productUrl: string;\r\n imageSettings?: IImageSettings;\r\n telemetry: ITelemetry;\r\n moduleId: string;\r\n moduleTypeName: string;\r\n quantity: number;\r\n isQuantityDisabledForUpdate?: boolean;\r\n handlers: {\r\n onAddToBag(product: SimpleProduct, quantity: number, itemKey: string, catalogId?: number | undefined): void;\r\n onRemoveItem(line: IOrderTemplateLineViewModel): void;\r\n onChangeQuantity(orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps): void;\r\n onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void;\r\n };\r\n resources: {\r\n selectOneRowText?: string;\r\n moreButtonText?: string;\r\n viewProductDetailsText?: string;\r\n productDimensionTypeColor: string;\r\n productDimensionTypeSize: string;\r\n productDimensionTypeStyle: string;\r\n originalPriceText: string;\r\n currentPriceText: string;\r\n freePriceText: string;\r\n inputQuantityAriaLabel: string;\r\n removeFromOrderTemplateLinesText: string;\r\n addToBagButtonText: string;\r\n deleteButtonText: string;\r\n incrementButtonAriaLabel?: string;\r\n decrementButtonAriaLabel?: string;\r\n editOrderTemplateLineQuantityError?: string;\r\n unavailableProductErrorMessage?: string;\r\n outOfStockProductErrorMessage?: string;\r\n minPurchaseQuantityIsText?: string;\r\n maxPurchaseQuantityIsText?: string;\r\n informationText?: string;\r\n };\r\n index: number;\r\n isMobile: boolean;\r\n productQuantityView?: React.ReactNode;\r\n addToBagButton?: React.ReactNode;\r\n removeButton?: React.ReactNode;\r\n toggleDetailsDisplayed(props: IOrderTemplateLineProps): void;\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n catalogs?: ProductCatalog[];\r\n error?: string;\r\n shouldDisable?: boolean;\r\n customer: AsyncResult | undefined;\r\n}\r\n\r\nexport interface IOrderTemplateLineViewProps {\r\n key?: string;\r\n productImage: React.ReactNode;\r\n productPrice?: React.ReactNode;\r\n addToBagButton?: React.ReactNode;\r\n removeButton?: React.ReactNode;\r\n productName?: string;\r\n productNumber?: React.ReactNode;\r\n productInfo?: React.ReactNode;\r\n productLabel?: React.ReactNode;\r\n productUnitOfMeasure?: React.ReactNode;\r\n productQuantity?: number;\r\n productQuantityView?: React.ReactNode;\r\n productListId?: string;\r\n selectLine?: React.ReactNode;\r\n popUp?: JSX.Element;\r\n extraActionsPopup?: JSX.Element | null | undefined;\r\n isMobile?: boolean;\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n productLineCatalog?: React.ReactNode;\r\n disabled?: boolean;\r\n isDiscontinued?: boolean;\r\n isRequestPrice?: boolean;\r\n totalPrice?: number;\r\n}\r\n\r\ninterface IEventHandlerFactory {\r\n getAddToBag(): (event: React.MouseEvent) => void;\r\n getRemoveItem(): (event: React.MouseEvent) => void;\r\n}\r\n\r\nconst OrderTemplateLineActions = (props: IOrderTemplateLineProps): IEventHandlerFactory => {\r\n const { orderTemplateLine, productListLine, quantity, handlers } = props;\r\n const { LineId, CatalogId } = productListLine;\r\n const { onAddToBag, onRemoveItem } = handlers;\r\n\r\n return {\r\n getAddToBag: () => (event: React.MouseEvent) => {\r\n LineId &&\r\n orderTemplateLine.fullProduct &&\r\n onAddToBag(\r\n orderTemplateLine.fullProduct.ProductDetails,\r\n quantity,\r\n orderTemplateLine?.fullProduct?.ProductDetails?.ItemId?.toString()!,\r\n CatalogId\r\n );\r\n },\r\n getRemoveItem: () => (event: React.MouseEvent) => LineId && onRemoveItem(props.orderTemplateLine)\r\n };\r\n};\r\n\r\ninterface IPopupProps extends IOrderTemplateLineProps {\r\n addButtonClassName: string;\r\n removeButtonClassName: string;\r\n kitDiscontinuedFlagValue: boolean;\r\n}\r\n\r\nconst PopUp = (props: IPopupProps): JSX.Element | null => {\r\n const { addToBagButtonText, removeFromOrderTemplateLinesText, moreButtonText, viewProductDetailsText } = props.resources;\r\n const [showMobile, setShowMobile] = useState(false);\r\n const componentClassName = 'ms-table';\r\n\r\n const getViewHandler = () => (event: React.MouseEvent) => {\r\n props.toggleDetailsDisplayed(props);\r\n };\r\n\r\n const toggle = React.useCallback(() => {\r\n setShowMobile(!showMobile);\r\n }, [showMobile]);\r\n\r\n return (\r\n
\r\n \r\n {showMobile && (\r\n
\r\n \r\n EDIT\r\n \r\n {getActionButton(\r\n props.isMobile,\r\n props.removeButtonClassName,\r\n removeFromOrderTemplateLinesText,\r\n OrderTemplateLineActions(props).getRemoveItem()\r\n )}\r\n {getActionButton(\r\n props.isMobile,\r\n props.addButtonClassName,\r\n addToBagButtonText,\r\n OrderTemplateLineActions(props).getAddToBag(),\r\n props.kitDiscontinuedFlagValue ? true : false\r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst getActionButton = (\r\n isMobile: boolean,\r\n className: string,\r\n buttonText: string,\r\n clickHandler: (event: React.MouseEvent) => void,\r\n disabled?: boolean\r\n): React.ReactNode => (\r\n \r\n);\r\n\r\nconst getDesktopActionButton = (\r\n className: string,\r\n buttonText: string,\r\n clickHandler: (event: React.MouseEvent) => void\r\n): React.ReactNode => (\r\n \r\n);\r\n/**\r\n * On Select line function.\r\n * @param orderTemplateLine -Order template line.\r\n * @param input -Order template line props.\r\n * @returns Set on select order template.\r\n */\r\nconst onSelectLineHandler = (orderTemplateLine: IOrderTemplateLineViewModel, input: IOrderTemplateLineProps) => (\r\n event: React.ChangeEvent\r\n) => {\r\n orderTemplateLine.isChecked = !orderTemplateLine.isChecked;\r\n\r\n input.handlers.onSelect(orderTemplateLine, event.target.checked);\r\n};\r\n\r\nexport const OrderTemplateLineView = (input: IOrderTemplateLinePropsExtended): IOrderTemplateLineViewProps | null => {\r\n const {\r\n orderTemplateLine,\r\n productListLine,\r\n price,\r\n context,\r\n imageSettings,\r\n quantity,\r\n resources,\r\n isMobile,\r\n kitDiscontinuedFlagValue,\r\n customer,\r\n maxAtpValue,\r\n isMultipleCatalogFeatureEnabledInHq,\r\n selectRowText,\r\n requestPriceText,\r\n requestPriceTooltipText,\r\n discontinuedText,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText\r\n } = input;\r\n const product = orderTemplateLine.fullProduct;\r\n const { LineId, UnitOfMeasure } = productListLine;\r\n const { removeFromOrderTemplateLinesText, addToBagButtonText, selectOneRowText } = resources;\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const { ItemId, PrimaryImageUrl } = product.ProductDetails;\r\n const fallbackImage = getFallbackImageUrl(\r\n ItemId,\r\n context.actionContext.requestContext.apiSettings,\r\n context.request.app?.config?.OmniChannelMedia\r\n );\r\n const addButtonClassName = input.isMobile ? 'ms-table__row-links-add' : 'ms-order-template-table-line__product-add-button';\r\n const removeButtonClassName = input.isMobile ? 'ms-table__row-links-delete' : 'ms-order-template-table-line__product-remove-button';\r\n return {\r\n isMobile,\r\n isMultipleCatalogFeatureEnabledInHq: isMultipleCatalogFeatureEnabledInHq,\r\n selectLine: (\r\n \r\n ),\r\n key: LineId!,\r\n productLineCatalog: isMultipleCatalogFeatureEnabledInHq && renderProductCatalog(input),\r\n productImage: _renderProductImage(\r\n 'ms-order-template-table-line__product-image',\r\n context,\r\n product.ProductDetails.Name!,\r\n PrimaryImageUrl,\r\n fallbackImage,\r\n imageSettings\r\n ),\r\n productInfo: renderProductInfo(input, discontinuedText),\r\n productPrice: price && _renderPrice(input, requestPriceText, requestPriceTooltipText),\r\n productNumber: product && (\r\n <>\r\n
{ItemId}
\r\n {input.error !== 'NONE' ? (\r\n
{_renderProductError(input)}
\r\n ) : (\r\n undefined\r\n )}\r\n \r\n ),\r\n productUnitOfMeasure: price ? (\r\n
{UnitOfMeasure || price.UnitOfMeasure}
\r\n ) : (\r\n undefined\r\n ),\r\n productListId: LineId!,\r\n removeButton:\r\n !isMultipleCatalogFeatureEnabledInHq &&\r\n getActionButton(\r\n input.isMobile,\r\n removeButtonClassName,\r\n removeFromOrderTemplateLinesText,\r\n OrderTemplateLineActions(input).getRemoveItem()\r\n ),\r\n productQuantityView:\r\n isRequestPrice(price!, customer?.result?.LineDiscountGroup!) || kitDiscontinuedFlagValue ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {_generateQuantity(input, LineId!, maxAtpValue!, minPurchaseQuantityIsText, maxPurchaseQuantityIsText, informationText)}\r\n
\r\n ),\r\n productQuantity: quantity,\r\n addToBagButton:\r\n !isMultipleCatalogFeatureEnabledInHq &&\r\n getActionButton(input.isMobile, addButtonClassName, addToBagButtonText, OrderTemplateLineActions(input).getAddToBag()),\r\n extraActionsPopup:\r\n !isMobile && isMultipleCatalogFeatureEnabledInHq ? (\r\n \r\n ) : (\r\n undefined\r\n ),\r\n popUp: (\r\n \r\n ),\r\n disabled: input.shouldDisable,\r\n isDiscontinued: kitDiscontinuedFlagValue,\r\n isRequestPrice: isRequestPrice(price!, customer?.result?.LineDiscountGroup!),\r\n totalPrice: isRequestPrice(price!, customer?.result?.LineDiscountGroup!)\r\n ? 0\r\n : Number(quantity) * Number(price?.CustomerContextualPrice)\r\n };\r\n};\r\nconst ExtraActionsPopup = (props: IPopupProps): JSX.Element | null => {\r\n const [showActions, setShowActions] = useState(false);\r\n const toggle = React.useCallback(() => {\r\n setShowActions(!showActions);\r\n }, [showActions]);\r\n\r\n const className = 'ms-order-template-table-line__extra-actions-cell';\r\n const actionsContainerClassName = `${className}__actions-container`;\r\n return (\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const OrderTemplateMobileLineView = (input: IOrderTemplateLinePropsExtended): IOrderTemplateLineViewProps | undefined => {\r\n const {\r\n orderTemplateLine,\r\n productListLine,\r\n price,\r\n context,\r\n imageSettings,\r\n customer,\r\n kitDiscontinuedFlagValue,\r\n maxAtpValue,\r\n isMultipleCatalogFeatureEnabledInHq,\r\n requestPriceTooltipText,\r\n requestPriceText,\r\n discontinuedText,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText\r\n } = input;\r\n const product = orderTemplateLine.fullProduct;\r\n const { LineId, UnitOfMeasure } = productListLine;\r\n if (!product) {\r\n return;\r\n }\r\n const { ItemId, PrimaryImageUrl } = product.ProductDetails;\r\n const fallbackImage = getFallbackImageUrl(\r\n ItemId,\r\n context.actionContext.requestContext.apiSettings,\r\n context.request.app?.config?.OmniChannelMedia\r\n );\r\n return {\r\n productLineCatalog: isMultipleCatalogFeatureEnabledInHq && renderProductCatalog(input),\r\n productImage: _renderProductImage(\r\n 'thumbnail',\r\n context,\r\n product.ProductDetails.Name!,\r\n PrimaryImageUrl,\r\n fallbackImage,\r\n imageSettings\r\n ),\r\n productInfo: renderProductInfo(input, discontinuedText),\r\n productPrice: price && _renderPrice(input, requestPriceText, requestPriceTooltipText),\r\n productNumber: ItemId,\r\n productUnitOfMeasure: UnitOfMeasure || price?.UnitOfMeasure,\r\n productQuantityView:\r\n isRequestPrice(price!, customer?.result?.LineDiscountGroup!) || kitDiscontinuedFlagValue ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {_generateQuantity(input, LineId!, maxAtpValue!, minPurchaseQuantityIsText, maxPurchaseQuantityIsText, informationText)}\r\n
\r\n )\r\n };\r\n};\r\n\r\nexport interface IOrderTemplateProductQuantityViewProps {\r\n ContainerProps: INodeProps;\r\n input: React.ReactNode;\r\n}\r\n\r\n/**\r\n * On Change function.\r\n * @param onChangeQuantity -On change quantity function.\r\n * @param itemKey -String.\r\n * @param props -Order template line props.\r\n * @returns Set change quantity.\r\n */\r\nconst onChangeHandler = (\r\n onChangeQuantity: (orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps | undefined) => void,\r\n itemKey: string,\r\n props: IOrderTemplateLineProps\r\n) => (newValue: number) => {\r\n if (onChangeQuantity) {\r\n onChangeQuantity(itemKey, newValue, props);\r\n }\r\n};\r\n\r\nconst _generateQuantity = (\r\n props: IOrderTemplateLineProps,\r\n itemKey: string,\r\n maxValue: number,\r\n minPurchaseQuantityIsText?: string,\r\n maxPurchaseQuantityIsText?: string,\r\n informationText?: string\r\n): React.ReactNode => {\r\n const { handlers, resources, quantity, orderTemplateLine } = props;\r\n const { onChangeQuantity } = handlers;\r\n const maximum =\r\n maxValue !== 0\r\n ? maxValue\r\n : orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MaximumQuantity &&\r\n orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MaximumQuantity > 0\r\n ? orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MaximumQuantity\r\n : props.context?.app?.config?.maxQuantityForCartLineItem || 10;\r\n const minimum =\r\n orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MinimumQuantity !== undefined &&\r\n orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MinimumQuantity !== 0\r\n ? orderTemplateLine.fullProduct?.ProductDetails.Behavior?.MinimumQuantity\r\n : 1;\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const _renderProductImage = (\r\n className: string,\r\n context: ICoreContext,\r\n heading: string,\r\n image?: string,\r\n fallbackImage?: string,\r\n imageSettings?: IImageSettings\r\n): JSX.Element | null => {\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\nexport const renderProductCatalog = (props: IOrderTemplateLineProps) => {\r\n const catalogId = props.productListLine.CatalogId;\r\n validateCatalogId(catalogId);\r\n\r\n if (!props.context.request.user.isB2b || !catalogId || !ArrayExtensions.hasElements(props.catalogs)) {\r\n return null;\r\n }\r\n\r\n const catalog = props.catalogs.find(item => item.RecordId === catalogId);\r\n\r\n if (!catalog || !catalog.Name) {\r\n return null;\r\n }\r\n\r\n return
{catalog.Name}
;\r\n};\r\nconst _renderPrice = (props: IOrderTemplateLineProps, requestPriceText?: string, requestPriceTooltipText?: string): JSX.Element | null => {\r\n const { price, context, moduleId, moduleTypeName, resources, customer } = props;\r\n const customerTaxPercentage = taxPercentage(customer?.result!);\r\n if (isRequestPrice(price!, customer?.result?.LineDiscountGroup!)) {\r\n return (\r\n
\r\n {requestPriceText}\r\n
\r\n \r\n {requestPriceTooltipText}\r\n
\r\n
\r\n );\r\n } else if (price) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n// todo: need to remove after validation\r\n// const _renderProductDimensions = (props: IOrderTemplateLineProps): (string | undefined)[] => {\r\n// const { orderTemplateLine } = props;\r\n\r\n// if (!orderTemplateLine.fullProduct || !orderTemplateLine.fullProduct.ProductDetails.Dimensions) {\r\n// return [];\r\n// }\r\n\r\n// return orderTemplateLine.fullProduct.ProductDetails.Dimensions.map(dimension => {\r\n// if (!dimension.DimensionValue || !dimension.DimensionValue.Value) {\r\n// return undefined;\r\n// }\r\n\r\n// return dimension.DimensionValue.Value;\r\n// });\r\n// };\r\nconst _renderProductError = (props: IOrderTemplateLineProps) => {\r\n const { error, resources } = props;\r\n\r\n if (!error) {\r\n return '';\r\n }\r\n\r\n const errorMessages = {\r\n OOS: resources.outOfStockProductErrorMessage,\r\n UNASSORTED: resources.unavailableProductErrorMessage,\r\n NONE: ''\r\n };\r\n\r\n return errorMessages[String(error)];\r\n};\r\nexport const renderProductInfo = (props: IOrderTemplateLinePropsExtended, discontinuedText?: string): React.ReactNode | undefined => {\r\n const { orderTemplateLine, productUrl, kitDiscontinuedFlagValue } = props;\r\n const name = orderTemplateLine.fullProduct?.ProductDetails.Name;\r\n\r\n const productName = productUrl ? (\r\n \r\n {name}\r\n \r\n ) : (\r\n
{name}
\r\n );\r\n\r\n return (\r\n
\r\n
{productName}
\r\n {kitDiscontinuedFlagValue ?
{discontinuedText}
: null}\r\n
\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewModel } from '../krannich-c-order-template';\r\n\r\nexport interface IOrderTemplateTableHeadingProps {\r\n selectAllRowsText?: string;\r\n productNumber: string;\r\n productName: string;\r\n productUnitPrice: string;\r\n productUOM: string;\r\n productQuantity: string;\r\n productActions: string;\r\n lines: IOrderTemplateLineViewModel[];\r\n isMobile: boolean;\r\n clickHandler(isChecked: boolean): void;\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n productLineCatalogName?: string;\r\n}\r\n\r\n/**\r\n * Order Template's table state.\r\n */\r\nexport interface IOrderTemplateTableHeadingState {\r\n isChecked: boolean;\r\n}\r\n\r\nexport interface IOrderTemplateTableShortHeading {\r\n productNumber: string;\r\n productActions: string;\r\n}\r\n\r\n/**\r\n * Order Template's table heading.\r\n */\r\nexport class OrderTemplateTableHeading extends React.PureComponent {\r\n public state: IOrderTemplateTableHeadingState = {\r\n isChecked: false\r\n };\r\n\r\n private readonly componentClassName: string = 'ms-table';\r\n\r\n public static getDerivedStateFromProps(\r\n props: IOrderTemplateTableHeadingProps,\r\n state: IOrderTemplateTableHeadingState\r\n ): IOrderTemplateTableHeadingState {\r\n const checkedLines = props.lines.filter(line => !line.isChecked).length;\r\n let nextState = { ...state };\r\n nextState = { isChecked: checkedLines === 0 };\r\n return nextState;\r\n }\r\n\r\n public getOnChange = () => (event: React.ChangeEvent) => {\r\n this.setState(\r\n {\r\n isChecked: this.state.isChecked\r\n },\r\n () => {\r\n this.props.clickHandler(!this.state.isChecked);\r\n }\r\n );\r\n };\r\n\r\n public render(): JSX.Element {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!this.props.isMobile && this.props.isMultipleCatalogFeatureEnabledInHq ? (\r\n {this.props.productLineCatalogName}\r\n ) : null}\r\n {!this.props.isMobile ?   : null}\r\n {this.props.isMobile ? {this.props.productName} : null}\r\n {!this.props.isMobile ? {this.props.productNumber} : null}\r\n {!this.props.isMobile ? {this.props.productName} : null}\r\n {!this.props.isMobile ? {this.props.productUnitPrice} : null}\r\n {!this.props.isMobile ? {this.props.productUOM} : null}\r\n {!this.props.isMobile ? {this.props.productQuantity} : null}\r\n {!this.props.isMobile ? {this.props.productActions} : }\r\n \r\n \r\n );\r\n }\r\n}\r\n","/* eslint-disable security/detect-object-injection */\r\n/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n IItemAddedToCartDialogData,\r\n IItemAddedToCartDialogResources,\r\n IOrderTemplateNameDialogResources,\r\n ItemAddedToCartDialog\r\n} from '@msdyn365-commerce/components';\r\nimport { ILinesAddedToCartDialogResources } from './components/lines-added-to-cart-dialog.component';\r\nimport MsDyn365, { AsyncResult, getCatalogId, getUrlSync, IRequestContext } from '@msdyn365-commerce/core';\r\nimport { ICartActionResult } from '@msdyn365-commerce/global-state';\r\nimport { ProductList, ProductListLine } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n deleteAsync,\r\n removeProductListLinesAsync,\r\n updateProductListLinesAsync\r\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\r\nimport { Customer, FeatureState, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { Waiting } from '@msdyn365-commerce-modules/utilities';\r\nimport {\r\n ArrayExtensions,\r\n createGetFeatureStateInput,\r\n getFeatureState,\r\n getPriceForSelectedVariant,\r\n //getProductUrlSync,\r\n ObjectExtensions,\r\n OrderTemplate,\r\n OrderTemplateLine,\r\n PriceForSelectedVariantInput,\r\n StringExtensions\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n Alert,\r\n getTelemetryObject,\r\n Heading,\r\n IModuleProps,\r\n INodeProps,\r\n ITelemetryContent,\r\n UncontrolledPagination\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport debounce from 'lodash/debounce';\r\nimport { action, computed, observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IOrderTemplateLineProps,\r\n IOrderTemplateLineViewProps,\r\n IOrderTemplateTableHeadingProps,\r\n OrderTemplateLinesStatusMessage\r\n} from '@msdyn365-commerce-modules/order-template';\r\nimport { OrderTemplateActionsView, IOrderTemplateActionsProps, IOrderTemplateActionsViewProps } from './components';\r\nimport { OrderTemplateTableHeading } from './components/krannich-c-order-template-table-heading';\r\n\r\nimport {\r\n OrderTemplateLineView,\r\n OrderTemplateMobileLineView\r\n} from '../../modules/krannich-c-order-template/components/krannich-c-order-template-lines';\r\nimport { ActiveOrderTemplateLinesInput } from './actions/get-krannich-c-order-template';\r\nimport { OrderTemplateBulkActions } from './components/bulk-actions';\r\nimport { IKrannichCOrderTemplateData } from './krannich-c-order-template.data';\r\nimport { IKrannichCOrderTemplateProps, IKrannichCOrderTemplateResources } from './krannich-c-order-template.props.autogenerated';\r\nimport { kRV_GetMultipleATPLeadTimeDateAsync } from '../../actions/customProxy/ATP-update/DataActionExtension.g';\r\n\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { getActivePricesAsync, getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { formatUrlPath, isRequestPrice } from '../../utils/helper';\r\n\r\nexport interface IOrderTemplateLineActionMessageState {\r\n itemKey: string;\r\n userMessage: string;\r\n statusCssString: string;\r\n messageGlyph: string;\r\n isOpen: boolean;\r\n addToCartStatus: orderTemplateLinesStatus;\r\n isItemAddedToOrderTemplateOpen: boolean;\r\n isConfirmAddSelectionToBagModalOpen: boolean;\r\n itemAddedToCartDialogData?: IItemAddedToCartDialogData;\r\n productSelection: IOrderTemplateLineViewModel[];\r\n isDetailsDisplayed: boolean;\r\n detailedProductView?: IOrderTemplateLineViewProps;\r\n isQuantityDisabledForUpdate?: boolean;\r\n isSelectedProdPopUpShow: boolean;\r\n addedLinesToPassArr: IOrderTemplateLineViewModel[];\r\n addedLinesToPassArrSuccessfull?: any[];\r\n isAllselectedItemsAddedSuccessfully?: boolean;\r\n atpDataForKits: any;\r\n refinedAtpData: any;\r\n refinedOrderTemplateLines: any;\r\n activePrices: any;\r\n tempOrderTemplate: any;\r\n cartLinesState?: any;\r\n attributeValues?: any;\r\n}\r\n\r\nexport type orderTemplateLinesStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY' | 'FAILEDBYZEROPRICE';\r\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport interface IOrderTemplateLinePropsExtended extends IOrderTemplateLineProps {\r\n kitDiscontinuedFlagValue: boolean;\r\n customer: AsyncResult | undefined;\r\n maxAtpValue?: number;\r\n selectRowText?: string;\r\n requestPriceText?: string;\r\n requestPriceTooltipText?: string;\r\n discontinuedText?: string;\r\n minPurchaseQuantityIsText?: string;\r\n maxPurchaseQuantityIsText?: string;\r\n informationText?: string;\r\n}\r\nexport interface IOrderTemplateViewProps extends IKrannichCOrderTemplateProps {\r\n OrderTemplateLines: IModuleProps;\r\n callbacks?: IOrderTemplateLinesCallbacks;\r\n status?: orderTemplateLinesStatus;\r\n statusMessage?: React.ReactNode;\r\n heading?: React.ReactNode;\r\n OrderTemplateActions?: INodeProps;\r\n ProductsTable?: INodeProps;\r\n ProductsTableRow?: INodeProps;\r\n ProductsTableHeading?: React.ReactNode;\r\n ProductDetails?: INodeProps;\r\n orderLines?: IOrderTemplateLineViewProps[];\r\n productListLines?: ProductListLine[];\r\n productsStatusMessage?: React.ReactNode;\r\n orderActions?: IOrderTemplateActionsViewProps | null;\r\n resources: IKrannichCOrderTemplateResources;\r\n pagination?: React.ReactNode;\r\n itemAddedToCartDialog?: React.ReactNode;\r\n bulkOrderLineActions?: React.ReactNode;\r\n isDetailsDisplayed?: boolean;\r\n detailedProduct?: IOrderTemplateLineProps;\r\n detailedProductView?: IOrderTemplateLineViewProps;\r\n productQuantityView?: React.ReactNode;\r\n addButton?: React.ReactNode;\r\n isMobile?: boolean;\r\n toggleDetailsDisplayed?(props: IOrderTemplateLineProps | undefined): void;\r\n isSelectedProdPopUpShow: boolean;\r\n cartLinesState?: any;\r\n addedLinesToPassArr: IOrderTemplateLineViewModel[];\r\n addedLinesToPassArrSuccessfull?: any[];\r\n isAllselectedItemsAddedSuccessfully?: boolean;\r\n _handlerToClearSelectedPopUp: () => void;\r\n}\r\n\r\nexport interface IOrderTemplateLinesCallbacks {\r\n updateQuantity(itemKey: string, quantity: number): void;\r\n}\r\n\r\nexport interface IOrderTemplateLineViewModel extends OrderTemplateLine {\r\n isChecked: boolean;\r\n productQuantityView: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * OrderTemplateLines component.\r\n * @extends {React.PureComponent, IOrderTemplateLineActionMessageState>}\r\n */\r\n@observer\r\nclass OrderTemplateLines extends React.Component<\r\n IKrannichCOrderTemplateProps,\r\n IOrderTemplateLineActionMessageState\r\n> {\r\n private readonly className: string;\r\n\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n @observable\r\n private _viewport: GridSize;\r\n\r\n @computed get isMobile(): boolean {\r\n return this._viewport === 'xs' || this._viewport === 'sm';\r\n }\r\n\r\n constructor(props: IKrannichCOrderTemplateProps, state: IOrderTemplateLineActionMessageState) {\r\n super(props);\r\n this.className = 'ms-order-template';\r\n this._viewport =\r\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this._updateViewport = this._updateViewport.bind(this);\r\n\r\n this.state = {\r\n itemKey: '',\r\n userMessage: '',\r\n statusCssString: 'success',\r\n messageGlyph: 'fas fa-check',\r\n addToCartStatus: 'LOADING',\r\n isOpen: false,\r\n isItemAddedToOrderTemplateOpen: false,\r\n isConfirmAddSelectionToBagModalOpen: false,\r\n productSelection: [],\r\n isDetailsDisplayed: false,\r\n isQuantityDisabledForUpdate: false,\r\n isSelectedProdPopUpShow: false,\r\n addedLinesToPassArr: [],\r\n addedLinesToPassArrSuccessfull: [],\r\n isAllselectedItemsAddedSuccessfully: false,\r\n atpDataForKits: [],\r\n refinedAtpData: [],\r\n refinedOrderTemplateLines: [],\r\n activePrices: [],\r\n tempOrderTemplate: [],\r\n attributeValues: []\r\n };\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._updateViewport();\r\n\r\n if (MsDyn365.isBrowser && !this.props.context.request.user.isAuthenticated && !this.props.context.request.params.isEditor) {\r\n window.location.assign(this.props.context.request.user.signInUrl || '/');\r\n }\r\n }\r\n\r\n @action\r\n public async componentDidMount(): Promise {\r\n this.setState({});\r\n const orderTemplate = await this.props.data.orderTemplate;\r\n const cartLines = (await this.props.data.cart)?.cart.CartLines;\r\n this.setState({ tempOrderTemplate: orderTemplate, cartLinesState: cartLines });\r\n this.props.config.heading!.text = orderTemplate?.productList.Name || '';\r\n //filtering undefined excluded products\r\n const filtered = orderTemplate?.orderTemplateLines?.filter(item => item.fullProduct !== undefined);\r\n //setting new order template\r\n const custom = this.state.tempOrderTemplate;\r\n custom.orderTemplateLines = filtered as IOrderTemplateLineViewModel[];\r\n custom.totalLines = filtered?.length;\r\n\r\n this.setState({ tempOrderTemplate: custom, productSelection: filtered as IOrderTemplateLineViewModel[] }, () => {\r\n void this._atpData().then(() => {\r\n orderTemplate && this._refiningOrderTemplateLines(this.state.tempOrderTemplate, this.props.data.customerInformation);\r\n });\r\n });\r\n void this._attributesData();\r\n\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('resize', this._updateViewport);\r\n this._updateViewport();\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n window.removeEventListener('resize', this._updateViewport);\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(\r\n nextProps: IKrannichCOrderTemplateProps,\r\n nextState: IOrderTemplateLineActionMessageState\r\n ): boolean {\r\n if (this.state === nextState && this.props === nextProps) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { heading, className } = this.props.config;\r\n const {\r\n // emptyOrderTemplateLinesText,\r\n errorGettingOrderTemplateLines\r\n } = this.props.resources;\r\n const { orderTemplate, cart } = this.props.data;\r\n\r\n if (cart?.status === 'LOADING' || ObjectExtensions.isNullOrUndefined(orderTemplate) || orderTemplate.status === 'LOADING') {\r\n const errorProps: IOrderTemplateViewProps = {\r\n ...(this.props as IKrannichCOrderTemplateProps),\r\n OrderTemplateLines: {\r\n moduleProps: this.props,\r\n className: classnames(this.className, className)\r\n },\r\n status: 'LOADING',\r\n statusMessage: ,\r\n heading: heading && ,\r\n resources: this.props.resources,\r\n isSelectedProdPopUpShow: this.state.isSelectedProdPopUpShow,\r\n addedLinesToPassArr: [],\r\n _handlerToClearSelectedPopUp: this._handlerToClearSelectedPopUp\r\n };\r\n return this.props.renderView(errorProps);\r\n }\r\n\r\n if (cart?.status === 'FAILED' || orderTemplate.status === 'FAILED') {\r\n const errorProps: IOrderTemplateViewProps = {\r\n ...(this.props as IKrannichCOrderTemplateProps),\r\n OrderTemplateLines: {\r\n moduleProps: this.props,\r\n className: classnames(`${this.className}`, className)\r\n },\r\n status: 'FAILED',\r\n statusMessage: ,\r\n heading: heading && ,\r\n resources: this.props.resources,\r\n isSelectedProdPopUpShow: this.state.isSelectedProdPopUpShow,\r\n addedLinesToPassArr: [],\r\n _handlerToClearSelectedPopUp: this._handlerToClearSelectedPopUp\r\n };\r\n\r\n return this.props.renderView(errorProps);\r\n }\r\n\r\n const orderTemplateResult = orderTemplate && orderTemplate.result;\r\n\r\n // condition to disable AddTemplateToCart button incase of only Discontinued/RequestPrice items left in template\r\n if (this.state.refinedOrderTemplateLines && this.state.refinedOrderTemplateLines.length === 0) {\r\n orderTemplateResult!.totalLines = 0;\r\n }\r\n\r\n const viewProps: IOrderTemplateViewProps = {\r\n ...(this.props as IKrannichCOrderTemplateProps),\r\n OrderTemplateLines: {\r\n moduleProps: this.props,\r\n className: classnames(`${this.className}`, className)\r\n },\r\n status: this.state.addToCartStatus,\r\n productsStatusMessage: this.state.isOpen && (\r\n
\r\n \r\n {this.state.userMessage}\r\n \r\n
\r\n ),\r\n heading: heading && ,\r\n OrderTemplateActions: {\r\n className: `${this.className}-action-bar`,\r\n tag: 'div'\r\n },\r\n ProductsTable: {\r\n className: `${this.className}__table`,\r\n tag: 'table',\r\n role: 'grid'\r\n },\r\n ProductsTableRow: {\r\n className: `${this.className}-table-line`,\r\n tag: 'tr'\r\n },\r\n ProductsTableHeading: this._renderProductListHeader(this.props.resources),\r\n ProductDetails: {\r\n className: `${this.className}-table-line__link`,\r\n tag: 'a'\r\n },\r\n orderLines: this._renderProductList(),\r\n callbacks: { updateQuantity: debounce(this._changeQuantity, 2000) },\r\n orderActions:\r\n orderTemplateResult &&\r\n this._renderOrderTemplateActions(\r\n this.state.refinedOrderTemplateLines.length === 0 ? orderTemplateResult : this.state.refinedOrderTemplateLines,\r\n cart?.result,\r\n this._isChannelMultipleCatalogsFeatureEnabled()\r\n ),\r\n pagination: this._renderPagination(),\r\n itemAddedToCartDialog: this._renderItemAddedToCartDialog(),\r\n bulkOrderLineActions: orderTemplateResult && this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\r\n isDetailsDisplayed: this.state.isDetailsDisplayed,\r\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\r\n detailedProductView: this.state.detailedProductView,\r\n isMobile: this.isMobile,\r\n isSelectedProdPopUpShow: this.state.isSelectedProdPopUpShow,\r\n addedLinesToPassArr: this.state.addedLinesToPassArr,\r\n addedLinesToPassArrSuccessfull: this.state.addedLinesToPassArrSuccessfull,\r\n isAllselectedItemsAddedSuccessfully: this.state.isAllselectedItemsAddedSuccessfully,\r\n _handlerToClearSelectedPopUp: this._handlerToClearSelectedPopUp\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void {\r\n line.isChecked = isChecked;\r\n\r\n const updated =\r\n this.state.productSelection.map(product => {\r\n if (product.fullProduct?.ProductDetails.ItemId === line.fullProduct?.ProductDetails.ItemId) {\r\n line.isChecked = isChecked;\r\n }\r\n return product;\r\n }) || [];\r\n\r\n this.setState({\r\n productSelection: updated\r\n });\r\n }\r\n\r\n public onSelectAll(isChecked: boolean): void {\r\n const updated =\r\n this.state.productSelection.map(line => {\r\n line.isChecked = isChecked;\r\n return line;\r\n }) || [];\r\n\r\n this.setState({\r\n productSelection: updated\r\n });\r\n }\r\n\r\n private _renderProductListHeader(resources: IKrannichCOrderTemplateResources): React.ReactNode {\r\n const {\r\n productNumberText,\r\n productText,\r\n productUnitPriceText,\r\n productUOMText,\r\n productQuantityText,\r\n productActionsText,\r\n selectAllRowsText,\r\n productLineCatalogName\r\n } = resources;\r\n const headers: IOrderTemplateTableHeadingProps = {\r\n productNumber: productNumberText,\r\n productName: productText,\r\n productUnitPrice: productUnitPriceText,\r\n productUOM: productUOMText,\r\n productQuantity: productQuantityText,\r\n productActions: productActionsText,\r\n selectAllRowsText,\r\n lines: this.state.productSelection,\r\n isMobile: this.isMobile,\r\n clickHandler: (isChecked: boolean) => {\r\n this.onSelectAll(isChecked);\r\n },\r\n isMultipleCatalogFeatureEnabledInHq: this._isChannelMultipleCatalogsFeatureEnabled(),\r\n productLineCatalogName: productLineCatalogName\r\n };\r\n\r\n return ;\r\n }\r\n\r\n private _getOrderTemplateLineActions(orderTemplateId: string): React.ReactNode {\r\n return (\r\n <>\r\n
\r\n line.isChecked)}\r\n onAddSelectionToBag={this._onAddSelectionToBag}\r\n onRemoveSelection={this._onRemoveSelection}\r\n isMinifiedView={this.isMobile}\r\n productSelection={this.state.productSelection}\r\n isMultipleCatalogFeatureEnabledInHq={this._isChannelMultipleCatalogsFeatureEnabled()}\r\n telemetryContent={this.telemetryContent}\r\n //VSI CUSTOMIZATION\r\n />\r\n
\r\n \r\n );\r\n }\r\n\r\n private _generateLinesAddedToCartDialogResources(): ILinesAddedToCartDialogResources {\r\n return {\r\n viewCartButtonText: this.props.resources.viewCartButtonText,\r\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\r\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\r\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\r\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\r\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText,\r\n onlyThoselinesAddedToCartMessageText: this.props.resources.onlyThoselinesAddedToCartMessageText\r\n };\r\n }\r\n\r\n private _generateItemAddedToCartDialogResources(): IItemAddedToCartDialogResources {\r\n return {\r\n viewCartButtonText: this.props.resources.viewCartButtonText,\r\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\r\n itemAddedToCartHeaderItemOneText: this.props.resources.itemAddedToCartHeaderItemOneText,\r\n itemAddedToCartHeaderItemFormatText: this.props.resources.itemAddedToCartHeaderItemFormatText,\r\n itemAddedToCartHeaderMessageText: this.props.resources.itemAddedToCartHeaderMessageText,\r\n freePriceText: this.props.resources.freePriceText,\r\n originalPriceText: this.props.resources.originalPriceText,\r\n currentPriceText: this.props.resources.currentPriceText\r\n };\r\n }\r\n private readonly _isChannelMultipleCatalogsFeatureEnabled = (): boolean => {\r\n let isMultipleCatalogFeatureEnabledInHq = false;\r\n if (this.props.data.featureState) {\r\n isMultipleCatalogFeatureEnabledInHq =\r\n this.props.data.featureState.result?.find(\r\n feature => feature.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\r\n )?.IsEnabled || false;\r\n }\r\n return isMultipleCatalogFeatureEnabledInHq;\r\n };\r\n private readonly _onRemoveSelection = (): void => {\r\n const { context, resources } = this.props;\r\n const { telemetry } = context;\r\n const { removeSelectedFailureMessage, removeSelectedSuccessMessage } = resources;\r\n const lines = this.state.productSelection;\r\n const productListLines = lines && lines.length && lines.filter(line => line.isChecked).map(line => line.productListLine);\r\n\r\n if (productListLines && productListLines.length > 0) {\r\n const productListId = productListLines[0].ProductListId;\r\n\r\n const maxWaitTimeInMilliSeconds: number = 1000;\r\n removeProductListLinesAsync({ callerContext: context.actionContext }, productListId!, productListLines)\r\n .then(async () => {\r\n this.setState({\r\n userMessage: removeSelectedSuccessMessage,\r\n statusCssString: 'success',\r\n messageGlyph: 'fas fa-check',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n // eslint-disable-next-line no-promise-executor-return -- fix\r\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\r\n window.location.reload();\r\n })\r\n .catch(error => {\r\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\r\n telemetry.error(error);\r\n this.setState({\r\n userMessage: removeSelectedFailureMessage,\r\n statusCssString: 'success',\r\n messageGlyph: 'fas fa-check',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n });\r\n }\r\n };\r\n\r\n // private readonly _getOrderTemplatePageUrl = (): string => {\r\n // let url = getUrlSync('ordertemplate', this.props.context.actionContext) || '';\r\n // url = url.includes('?') ? url.substr(0, url.indexOf('?')) : url;\r\n // if (this.props.data.orderTemplate?.result?.productList.Id) {\r\n // return `${url}?id=${this.props.data.orderTemplate.result.productList.Id}`;\r\n // }\r\n // return '';\r\n // };\r\n\r\n private readonly _onAddSelectionToBag = async (): Promise => {\r\n const lines = this.state.productSelection;\r\n const selectedLines = lines.filter(line => line.isChecked);\r\n if (selectedLines.length > 0) {\r\n for (const productLine of selectedLines) {\r\n const itemKey = productLine.fullProduct?.ProductDetails.ItemId ?? '';\r\n const product = productLine.fullProduct?.ProductDetails ?? {\r\n RecordId: 0,\r\n ProductTypeValue: 0,\r\n BasePrice: 0,\r\n Price: 0,\r\n AdjustedPrice: 0\r\n };\r\n const quantity = productLine.productListLine.Quantity ?? 0;\r\n if (this._isChannelMultipleCatalogsFeatureEnabled()) {\r\n const catalogId = productLine.productListLine.CatalogId;\r\n await this._addItemToBag(product, quantity, itemKey, catalogId);\r\n } else {\r\n await this._addItemToBag(product, quantity, itemKey);\r\n }\r\n }\r\n\r\n if (selectedLines.length !== this.state.addedLinesToPassArrSuccessfull?.length) {\r\n this.setState({ isAllselectedItemsAddedSuccessfully: true });\r\n }\r\n this.setState({\r\n isSelectedProdPopUpShow: true,\r\n addedLinesToPassArr: selectedLines\r\n });\r\n }\r\n return Promise.resolve(void 0);\r\n };\r\n //VSI CUSTOMIZATION Start TO CLEAR addedLinesToPassArr & false isSelectedProdPopUpShow\r\n public _handlerToClearSelectedPopUp = () => {\r\n this.setState({\r\n isSelectedProdPopUpShow: false,\r\n addedLinesToPassArr: [],\r\n addedLinesToPassArrSuccessfull: [],\r\n isAllselectedItemsAddedSuccessfully: false\r\n });\r\n };\r\n //VSI Customization End\r\n private _renderOrderTemplateActions(\r\n orderTemplate: OrderTemplate,\r\n cart: ICartState | undefined,\r\n isMultipleCatalogFeatureEnabledInHq: boolean\r\n ): IOrderTemplateActionsViewProps {\r\n const { id, typeName, context, resources } = this.props;\r\n const {\r\n addTemplateToBagButtonText,\r\n renameTemplateButtonText,\r\n deleteTemplateButtonText,\r\n closeWindowButtonText,\r\n addToCartFailureMessage,\r\n addToCartSuccessMessage,\r\n addToCartProcessMessage,\r\n orderTemplateErrorMessage\r\n } = resources;\r\n\r\n const orderTemplateActions: IOrderTemplateActionsProps = {\r\n data: { orderTemplate, cart },\r\n atpData: this.state.refinedAtpData,\r\n id,\r\n typeName,\r\n context,\r\n telemetryContent: this.telemetryContent,\r\n handlers: {\r\n onRenameTemplate: this._renameTemplate,\r\n onRemoveTemplate: this._removeTemplate\r\n },\r\n isMultipleCatalogFeatureEnabledInHq,\r\n renameOrderTemplateDialogStrings: this._generateOrderTemplateNameDialogResources(resources),\r\n resources: {\r\n addTemplateToBagButtonText,\r\n renameTemplateButtonText,\r\n deleteTemplateButtonText,\r\n addToCartFailureMessage,\r\n addToCartSuccessMessage,\r\n addToCartProcessMessage,\r\n closeWindowButtonText,\r\n orderTemplateErrorMessage,\r\n linesAddedToCartDialogResources: this._generateLinesAddedToCartDialogResources()\r\n }\r\n };\r\n return OrderTemplateActionsView(orderTemplateActions);\r\n }\r\n\r\n private _generateOrderTemplateNameDialogResources(resources: IKrannichCOrderTemplateResources): IOrderTemplateNameDialogResources {\r\n return {\r\n orderTemplateHeaderLabel: resources.renameOrderTemplateTitleText,\r\n orderTemplateTitleLabel: resources.orderTemplateTitle,\r\n orderTemplateNameAriaLabel: resources.orderTemplateTitle,\r\n orderTemplateDescription: '',\r\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\r\n orderTemplateButtonLabel: resources.renameOrderTemplateButtonText,\r\n orderTemplateCancelButtonLabel: resources.cancelBtnLabel\r\n };\r\n }\r\n\r\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\r\n if (MsDyn365.isBrowser) {\r\n return new URL(window.location.href);\r\n }\r\n return new URL(reqContext.url.requestUrl.href);\r\n };\r\n\r\n /**\r\n * On close handler.\r\n */\r\n private readonly onCloseHandler = () => {\r\n this.setState({\r\n itemKey: this.state.itemKey,\r\n userMessage: this.state.userMessage,\r\n statusCssString: this.state.statusCssString,\r\n messageGlyph: this.state.messageGlyph,\r\n isOpen: this.state.isOpen,\r\n isItemAddedToOrderTemplateOpen: false\r\n });\r\n };\r\n\r\n private readonly _renderItemAddedToCartDialog = (): React.ReactNode | null => {\r\n if (!this.state.itemAddedToCartDialogData) {\r\n return null;\r\n }\r\n const isMultipleCatalogFeatureEnabledInHq =\r\n this.props.data.featureState?.result?.find(feature => feature.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature')\r\n ?.IsEnabled || false;\r\n return (\r\n \r\n );\r\n };\r\n\r\n // private _isFirstPage(): boolean {\r\n // return this._getCurrentPageNumber() === 0;\r\n // }\r\n\r\n private _getCurrentPageNumber(): number {\r\n const itemsPerPage = this.props.config.itemsPerPage || 50;\r\n return (this.props.context.request.query && +this.props.context.request.query.skip / itemsPerPage) || 0;\r\n }\r\n\r\n private readonly _renderPagination = (): React.ReactNode | null => {\r\n const { config, context, data, resources } = this.props;\r\n const orderTemplate = data && data.orderTemplate && data.orderTemplate.result;\r\n if (!orderTemplate) {\r\n return null;\r\n }\r\n\r\n const fullUrl = this._getCurrentUrl(context.request);\r\n const itemsPerPage = config.itemsPerPage || 50;\r\n const currentPageNumber = this._getCurrentPageNumber();\r\n const skipCount = currentPageNumber * itemsPerPage;\r\n const totalItems = orderTemplate && orderTemplate.totalLines;\r\n const previousText = resources.flipperPrevious;\r\n const nextText = resources.flipperNext;\r\n\r\n if (totalItems <= itemsPerPage) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n private _renderProductList(): IOrderTemplateLineViewProps[] {\r\n const {\r\n selectOneRowText,\r\n moreButtonText,\r\n viewProductDetailsText,\r\n priceFree,\r\n originalPriceText,\r\n currentPriceText,\r\n addOrderTemplateItemToBagButtonText,\r\n removeItemFromOrderTemplateButtonText,\r\n productDimensionTypeColor,\r\n productDimensionTypeSize,\r\n productDimensionTypeStyle,\r\n inputQuantityAriaLabel,\r\n deleteButtonText,\r\n incrementButtonAriaLabel,\r\n decrementButtonAriaLabel,\r\n unavailableProductErrorMessage,\r\n outOfStockProductErrorMessage,\r\n selectRowText,\r\n requestPriceTooltipText,\r\n requestPriceText,\r\n discontinuedText,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText\r\n } = this.props.resources;\r\n\r\n const { context, telemetry, data } = this.props;\r\n const { catalogs } = data;\r\n const { imageSettings } = this.props.config;\r\n\r\n return this.state.productSelection.map((line, index) => {\r\n let tempFlag = false;\r\n let tempMax = 0;\r\n this.state.refinedAtpData.map(\r\n (e: { parentId: string | undefined; TrafficLight: string; StatusCode: string; jsonResponce: string }) => {\r\n if (line.fullProduct?.ProductDetails.ItemId === e.parentId) {\r\n if (e.TrafficLight === 'Red') {\r\n tempFlag = true;\r\n } else if (e.TrafficLight === 'Green' && e.StatusCode === '204') {\r\n const extensionProperties = JSON.parse(e.jsonResponce);\r\n tempMax = extensionProperties?.Quantity;\r\n }\r\n }\r\n }\r\n );\r\n\r\n let manufacturer = '';\r\n this.state.attributeValues.length > 0 &&\r\n this.state.attributeValues?.map((item: { manufacturer: any; recId: number | undefined }) => {\r\n if (line?.fullProduct?.ProductDetails?.RecordId! === item?.recId!) {\r\n manufacturer = item?.manufacturer?.TextValue;\r\n }\r\n });\r\n const manufacturerItemTypeNameValue = line.fullProduct?.ProductDetails?.ExtensionProperties?.find(item => {\r\n if (item.Key === 'ManufItemTypeName') {\r\n return item;\r\n }\r\n return null;\r\n });\r\n const urlPath = formatUrlPath(manufacturer ?? '', manufacturerItemTypeNameValue?.Value?.StringValue! ?? '');\r\n const pathName = context?.actionContext.requestContext.url.requestUrl.pathname.split('/');\r\n const isAddingPathWithUrl = context?.actionContext.requestContext.app.config.addPathWithUrl ?? false;\r\n const productUrl =\r\n line &&\r\n (isAddingPathWithUrl\r\n ? `${context?.actionContext.requestContext.url.requestUrl.origin}/${pathName[1]}/${urlPath}/${line.fullProduct?.ProductDetails.RecordId}.p`\r\n : `${context?.actionContext.requestContext.url.requestUrl.origin}/${urlPath}/${line.fullProduct?.ProductDetails.RecordId}.p`);\r\n\r\n const currentProductProps: IOrderTemplateLinePropsExtended = {\r\n orderTemplateLine: line,\r\n productListLine: line.productListLine,\r\n price: line.fullProduct?.ProductPrice,\r\n error: line.error,\r\n shouldDisable: line.shouldDisable,\r\n context,\r\n isQuantityDisabledForUpdate: this.state.isQuantityDisabledForUpdate,\r\n productUrl: line.fullProduct ? productUrl : '',\r\n imageSettings,\r\n telemetry,\r\n kitDiscontinuedFlagValue: tempFlag,\r\n customer: this.props.data.customerInformation,\r\n moduleId: this.props.id,\r\n moduleTypeName: this.props.typeName,\r\n quantity: line.productListLine.Quantity!,\r\n handlers: {\r\n onAddToBag: this._addItemToBag,\r\n onRemoveItem: this._removeItemFromOrderTemplateLines,\r\n onChangeQuantity: this._changeQuantity,\r\n onSelect: this.onSelect.bind(this)\r\n },\r\n resources: {\r\n selectOneRowText,\r\n moreButtonText,\r\n viewProductDetailsText,\r\n productDimensionTypeColor,\r\n productDimensionTypeSize,\r\n productDimensionTypeStyle,\r\n freePriceText: priceFree,\r\n originalPriceText,\r\n currentPriceText,\r\n inputQuantityAriaLabel,\r\n removeFromOrderTemplateLinesText: removeItemFromOrderTemplateButtonText,\r\n addToBagButtonText: addOrderTemplateItemToBagButtonText,\r\n deleteButtonText,\r\n incrementButtonAriaLabel,\r\n decrementButtonAriaLabel,\r\n unavailableProductErrorMessage,\r\n outOfStockProductErrorMessage\r\n },\r\n index,\r\n isMobile: this.isMobile,\r\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\r\n isMultipleCatalogFeatureEnabledInHq: this._isChannelMultipleCatalogsFeatureEnabled(),\r\n catalogs: catalogs && catalogs.result,\r\n maxAtpValue: tempMax,\r\n selectRowText,\r\n requestPriceText,\r\n requestPriceTooltipText,\r\n discontinuedText,\r\n minPurchaseQuantityIsText,\r\n maxPurchaseQuantityIsText,\r\n informationText\r\n };\r\n\r\n return OrderTemplateLineView(currentProductProps)!;\r\n });\r\n }\r\n\r\n private readonly _toggleDetailsDisplayed = (props: IOrderTemplateLinePropsExtended): void => {\r\n let state = {\r\n isDetailsDisplayed: !this.state.isDetailsDisplayed\r\n };\r\n if (props) {\r\n state = {\r\n ...state,\r\n ...{\r\n detailedProductView: OrderTemplateMobileLineView(props)\r\n }\r\n };\r\n }\r\n this.setState(state);\r\n };\r\n // This method is used to update the product url with the catalogId\r\n /* private readonly _updateProductUrlCatalog = (\r\n productDetails: SimpleProduct,\r\n context: ICoreContext,\r\n catalogId: number | undefined\r\n ): string => {\r\n const productUrl = getProductUrlSync(productDetails, context.actionContext, undefined);\r\n if (!StringExtensions.isNullOrWhitespace(productUrl) && catalogId !== undefined) {\r\n const absoluteUrl = new URL(productUrl, window.location.href);\r\n absoluteUrl.searchParams.set('catalogid', `${catalogId ?? 0}`);\r\n return absoluteUrl.href;\r\n }\r\n\r\n return productUrl;\r\n };*/\r\n\r\n // Dismiss alert when addingToCart/removeItem\r\n private readonly _onDismiss = () => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n };\r\n\r\n private readonly _changeQuantity = async (itemKey: string, quantity: number, props?: IOrderTemplateLinePropsExtended) => {\r\n const { context, data, telemetry, config, resources } = this.props;\r\n const { orderTemplate } = data;\r\n\r\n if (context) {\r\n if (orderTemplate?.result) {\r\n const orderTemplateLinesData = orderTemplate.result.orderTemplateLines;\r\n if (orderTemplateLinesData) {\r\n const orderLineIndex = orderTemplateLinesData.findIndex(\r\n (lines: OrderTemplateLine) => lines.productListLine.LineId === itemKey\r\n );\r\n const newProductListLine = { ...orderTemplateLinesData[orderLineIndex] };\r\n if (orderTemplateLinesData[orderLineIndex].productListLine.Quantity === quantity) {\r\n return;\r\n }\r\n const prevQuantity = newProductListLine.productListLine.Quantity;\r\n newProductListLine.productListLine.Quantity = quantity;\r\n const { fullProduct, ...line } = newProductListLine;\r\n\r\n // Update mobile modal\r\n if (props) {\r\n props.quantity = quantity;\r\n this.setState({\r\n detailedProductView: OrderTemplateMobileLineView(props)\r\n });\r\n }\r\n\r\n this.setState({\r\n isQuantityDisabledForUpdate: true\r\n });\r\n\r\n updateProductListLinesAsync({ callerContext: context.actionContext }, orderTemplate.result.productList.Id, [\r\n line.productListLine\r\n ])\r\n .then(list => {\r\n this.setState({\r\n itemKey,\r\n userMessage: '',\r\n statusCssString: 'success',\r\n messageGlyph: 'fas fa-check',\r\n isQuantityDisabledForUpdate: false,\r\n isOpen: false\r\n });\r\n if (list) {\r\n const newLine = list.find(lines => lines.LineId === itemKey);\r\n orderTemplateLinesData[orderLineIndex].productListLine = newLine!;\r\n const updatedLines = [...orderTemplateLinesData];\r\n updatedLines[orderLineIndex] = { fullProduct, productListLine: newLine! };\r\n const updatedOrderTemplate = { ...orderTemplate.result, ProductListLines: updatedLines };\r\n context.actionContext.update(\r\n new ActiveOrderTemplateLinesInput(context.actionContext.requestContext, config),\r\n updatedOrderTemplate\r\n );\r\n }\r\n })\r\n .catch(error => {\r\n telemetry.warning('[order-template-lines] Unable to update product quantity.');\r\n telemetry.error(error);\r\n const userMessage = resources.editOrderTemplateLineQuantityError;\r\n if (props) {\r\n props && (props.productListLine.Quantity = prevQuantity);\r\n this.setState({\r\n itemKey,\r\n userMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isQuantityDisabledForUpdate: false,\r\n isOpen: true,\r\n detailedProductView: OrderTemplateMobileLineView(props)\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n } else {\r\n newProductListLine.productListLine.Quantity = prevQuantity;\r\n this.setState({\r\n itemKey,\r\n userMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isQuantityDisabledForUpdate: false,\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n private readonly _addItemToBag = async (\r\n product: SimpleProduct,\r\n quantity: number,\r\n itemKey: string,\r\n catalogId?: number | undefined\r\n ): Promise => {\r\n const { context, data, resources, telemetry } = this.props;\r\n const { cart } = data;\r\n const { maxQuantityLimitText, addedToCartSuccessMessage, addedToCartFailureMessage, zeroPriceProductText } = resources;\r\n\r\n if (context) {\r\n if (cart?.result) {\r\n const prodATP = this.state.refinedAtpData?.find((item: { ItemId: string }) => item?.ItemId === itemKey)?.jsonResponce!;\r\n const prodATPParsed: { StatusCode: string; Quantity: any } = this.state.refinedAtpData && prodATP && JSON.parse(prodATP);\r\n const prodInCart = this.state.cartLinesState?.find((item: { ItemId: { toString: () => string } }) => {\r\n if (item.ItemId?.toString() === itemKey.toString()) {\r\n return item;\r\n }\r\n return null;\r\n });\r\n\r\n let addProductToCartInput: any;\r\n let isCallAPI = true;\r\n if (prodInCart && prodATPParsed?.StatusCode === '204') {\r\n if (prodATPParsed?.Quantity === prodInCart?.Quantity || quantity > prodATPParsed?.Quantity - prodInCart?.Quantity) {\r\n this.setState({\r\n itemKey,\r\n userMessage: maxQuantityLimitText\r\n .replace('{curQuantity}', prodInCart?.Quantity?.toString()!)\r\n .replace('{maxQuantity}', prodATPParsed?.Quantity?.toString()!),\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n }); //for closing alert\r\n setTimeout(() => {\r\n this.setState({ isOpen: false });\r\n }, 5000);\r\n isCallAPI = false;\r\n } else if (quantity <= prodATPParsed?.Quantity - prodInCart?.Quantity) {\r\n addProductToCartInput = {\r\n product,\r\n count: quantity,\r\n catalogId\r\n };\r\n }\r\n } else {\r\n addProductToCartInput = {\r\n product,\r\n count: quantity,\r\n catalogId\r\n };\r\n }\r\n if (isCallAPI === true) {\r\n await cart.result\r\n .addProductToCart(addProductToCartInput!)\r\n .then((result: ICartActionResult) => {\r\n if (result.status === 'SUCCESS') {\r\n return getPriceForSelectedVariant(\r\n new PriceForSelectedVariantInput(\r\n product.RecordId,\r\n this.props.context.actionContext.requestContext.apiSettings.channelId,\r\n product\r\n ),\r\n this.props.context.actionContext\r\n ).then(priceResult => {\r\n if (!priceResult) {\r\n return AsyncResult.reject('Failed to retrieve product price');\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- read config file.\r\n const isMiniCart = context.app.config.addToCartBehavior === 'showMiniCart';\r\n const success = this.state.addedLinesToPassArrSuccessfull;\r\n const lines = this.state.productSelection;\r\n const selectedLines = lines.filter(line => line.isChecked);\r\n if (selectedLines.length > 0) {\r\n success?.push({ itemKey, message: 'SUCCESS', product });\r\n }\r\n this.setState({\r\n itemKey,\r\n userMessage: addedToCartSuccessMessage,\r\n statusCssString: 'success',\r\n addToCartStatus: 'SUCCESS',\r\n messageGlyph: 'fas fa-check',\r\n isOpen: true,\r\n isItemAddedToOrderTemplateOpen: !isMiniCart,\r\n itemAddedToCartDialogData: {\r\n product,\r\n productPrice: priceResult,\r\n quantity\r\n },\r\n isDetailsDisplayed: false,\r\n addedLinesToPassArrSuccessfull: success\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve().then(() => {\r\n prodATPParsed?.StatusCode === '204' ? window.location.reload() : null;\r\n });\r\n });\r\n } else if (\r\n result.status === 'FAILED' &&\r\n result.errorDetails?.LocalizedMessage === 'A validation error occurred.'\r\n ) {\r\n this.setState({\r\n itemKey,\r\n userMessage: zeroPriceProductText,\r\n statusCssString: 'danger',\r\n addToCartStatus: 'FAILEDBYZEROPRICE',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n }); //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve();\r\n } else {\r\n switch (result.substatus) {\r\n case 'MAXQUANTITY':\r\n if (context.app.config.maxQuantityForCartLineItem) {\r\n const cartLineQuantity: number | undefined =\r\n cart?.result?.cart.CartLines &&\r\n cart.result?.cart.CartLines.find(result => result.ProductId === product.RecordId)?.Quantity;\r\n const defaultMessage = resources.onlyAddLimitedItemToYourShoppingBagErrorMessage.replace(\r\n '{maxQuantityForCartLineItem}',\r\n context.app.config.maxQuantityForCartLineItem.toString()\r\n );\r\n this.setState({\r\n itemKey,\r\n userMessage:\r\n cartLineQuantity !== undefined\r\n ? maxQuantityLimitText\r\n .replace('{curQuantity}', cartLineQuantity.toString())\r\n .replace(\r\n '{maxQuantity}',\r\n context.app.config.maxQuantityForCartLineItem.toString()\r\n ) || defaultMessage\r\n : defaultMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n }); //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve();\r\n } else {\r\n const defaultMessage = resources.maxQuantityIsUndefinedErrorMessage;\r\n this.setState({\r\n itemKey,\r\n userMessage: defaultMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n }); //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve();\r\n }\r\n case 'INVOICEINCART': {\r\n this.setState({\r\n itemKey,\r\n userMessage: result.errorDetails?.LocalizedMessage || addedToCartFailureMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve();\r\n }\r\n default: {\r\n telemetry.debug('[order-template-lines] Unable to Update Cart Line from the order template lines');\r\n this.setState({\r\n itemKey,\r\n userMessage: addedToCartFailureMessage,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n return AsyncResult.resolve();\r\n }\r\n }\r\n }\r\n })\r\n .catch((error: Error) => {\r\n telemetry.warning(error.message);\r\n telemetry.debug('[order-template-lines] Error trying to Update Cart Line from the order template lines');\r\n if (StringExtensions.isNullOrWhitespace(error.message)) {\r\n this.setState({\r\n itemKey,\r\n userMessage: error.message,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n } else {\r\n this.setState({\r\n itemKey,\r\n userMessage: addedToCartFailureMessage,\r\n statusCssString: 'danger',\r\n addToCartStatus: 'FAILED',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n private readonly _removeItemFromOrderTemplateLines = async (line: IOrderTemplateLineViewModel): Promise => {\r\n const { context, data, telemetry } = this.props;\r\n const { orderTemplate } = data;\r\n\r\n if (context && context.actionContext) {\r\n const maxWaitTimeInMilliSeconds: number = 1000;\r\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\r\n if (userToken && orderTemplate?.result && line) {\r\n const featureStates = await getFeatureState(createGetFeatureStateInput(context.actionContext), context.actionContext);\r\n let isMultipleCatalogFeatureEnabledInHq = false;\r\n if (ArrayExtensions.hasElements(featureStates)) {\r\n isMultipleCatalogFeatureEnabledInHq =\r\n featureStates.find(\r\n (featureState: FeatureState) => featureState.Name === 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature'\r\n )?.IsEnabled || false;\r\n }\r\n const catalogId = getCatalogId(context.actionContext.requestContext);\r\n if (isMultipleCatalogFeatureEnabledInHq) {\r\n line.productListLine.CatalogId = catalogId;\r\n }\r\n removeProductListLinesAsync({ callerContext: context.actionContext }, line.productListLine.ProductListId!, [\r\n line.productListLine\r\n ])\r\n .then(async () => {\r\n // eslint-disable-next-line no-promise-executor-return -- fix\r\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\r\n window.location.reload();\r\n })\r\n .catch(error => {\r\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\r\n telemetry.error(error);\r\n });\r\n } else {\r\n telemetry.warning(\r\n '[order-template-lines] Unable remove items from the order template lines user token or lineItemID was not found'\r\n );\r\n }\r\n }\r\n };\r\n\r\n private readonly _renameTemplate = async (_template: ProductList): Promise => {\r\n window.location.reload();\r\n return Promise.resolve();\r\n };\r\n\r\n private readonly _removeTemplate = () => {\r\n const { context, data, telemetry, resources } = this.props;\r\n const { orderTemplate } = data;\r\n\r\n if (context && context.actionContext) {\r\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\r\n if (userToken && orderTemplate && orderTemplate.result) {\r\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.result.productList)\r\n .then()\r\n .catch((error: string) => {\r\n telemetry.warning('[order-template] Unable to delete order template.');\r\n telemetry.error(error);\r\n this.setState({\r\n itemKey: orderTemplate.result?.productList.Id || '',\r\n userMessage: resources.deleteOrderTemplateFailedText,\r\n statusCssString: 'danger',\r\n messageGlyph: 'fas fa-exclamation-triangle',\r\n isOpen: true\r\n });\r\n //for closing alert\r\n setTimeout(() => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n }, 5000);\r\n });\r\n const newLink = getUrlSync('ordertemplatelist', this.props.context.actionContext);\r\n if (newLink) {\r\n window.location.assign(newLink);\r\n }\r\n } else {\r\n telemetry.warning('[order-template] Failed to delete order template. Order template was not found');\r\n }\r\n } else {\r\n telemetry.warning('[order-template] Failed to delete order template.');\r\n }\r\n };\r\n\r\n private _updateViewport(): void {\r\n this._viewport = this._getViewport();\r\n }\r\n\r\n private readonly _getViewport = (): GridSize => {\r\n const { context } = this.props;\r\n\r\n // Always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n\r\n if (MsDyn365.isBrowser && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n\r\n return 'xs';\r\n };\r\n\r\n /**\r\n * Renders a Pagination previous text.\r\n * @param paginationPreviousText - Pagination previous text from resources.\r\n * @returns Previous text and flipper icon.\r\n */\r\n private readonly _renderPrev = (paginationPreviousText: string) => {\r\n return (\r\n
\r\n
\r\n );\r\n };\r\n\r\n /**\r\n * Renders a Pagination next text.\r\n * @param paginationNextText - Pagination next text from resources.\r\n * @returns Next text and flipper icon.\r\n */\r\n private readonly _renderNext = (paginationNextText: string) => {\r\n return (\r\n
\r\n {paginationNextText}\r\n
\r\n );\r\n };\r\n private readonly _atpData = async () => {\r\n const KRVATPLeadTimeDate: any[] = [];\r\n //Create date according to API\r\n const objectDate = new Date();\r\n const day = objectDate.getDate();\r\n const month = objectDate.getMonth();\r\n const year = objectDate.getFullYear();\r\n const requestedDate = `${day}/${month + 1}/${year}`;\r\n\r\n this.state.productSelection.map(product => {\r\n //for bundle products\r\n if (product.fullProduct === undefined) {\r\n return;\r\n } else if (product.fullProduct?.ProductDetails.Components?.length! > 0) {\r\n //adding parents Ids\r\n KRVATPLeadTimeDate.push({\r\n itemID: product.fullProduct?.ProductDetails.ItemId,\r\n requestedDate: requestedDate\r\n });\r\n //adding childs into payload\r\n product.fullProduct?.ProductDetails?.Components!.map((e: any) => {\r\n KRVATPLeadTimeDate.push({\r\n itemID: e.ItemId,\r\n requestedDate: requestedDate\r\n });\r\n });\r\n } else {\r\n //for standard product\r\n KRVATPLeadTimeDate.push({\r\n itemID: product.fullProduct?.ProductDetails.ItemId,\r\n requestedDate: requestedDate\r\n });\r\n }\r\n });\r\n const ctx = { callerContext: this.props.context.actionContext };\r\n try {\r\n const response = await kRV_GetMultipleATPLeadTimeDateAsync(ctx, KRVATPLeadTimeDate);\r\n const tempArray: any[] = [];\r\n const finalArray: any[] = [];\r\n\r\n //Sorting the response of ATP traffic lights\r\n this.setState({ atpDataForKits: response }, () => {\r\n this.state.atpDataForKits?.ATPTrafficLights?.map(\r\n (item: { ItemId: any; StatusCode: any; TrafficLight: any; JsonResponseObject: any }) => {\r\n tempArray.push({\r\n ItemId: item.ItemId,\r\n StatusCode: item.StatusCode,\r\n TrafficLight: item.TrafficLight,\r\n jsonResponce: item?.JsonResponseObject\r\n });\r\n }\r\n );\r\n //adding parentID back with each entry\r\n tempArray.map(i => {\r\n this.state.productSelection.map(j => {\r\n //condition for parent\r\n if (i.ItemId === j.fullProduct?.ProductDetails.ItemId) {\r\n finalArray.push({\r\n ...i,\r\n parentId: i.ItemId\r\n });\r\n }\r\n //condition for childs\r\n else if (j.fullProduct?.ProductDetails.Components?.length! > 0) {\r\n j.fullProduct?.ProductDetails.Components?.map(k => {\r\n if (k.ItemId === i.ItemId) {\r\n finalArray.push({\r\n ...i,\r\n parentId: j.fullProduct?.ProductDetails.ItemId\r\n });\r\n }\r\n });\r\n }\r\n });\r\n });\r\n });\r\n this.setState({ refinedAtpData: finalArray });\r\n } catch (err) {\r\n console.error(err, 'ERR');\r\n }\r\n };\r\n private readonly _attributesData = async () => {\r\n if (this.state.productSelection) {\r\n const res = [];\r\n const productManufacturarAttribute = this.props.context?.app?.config?.productManufacturarAttribute;\r\n for (const salesLine of this.state.productSelection) {\r\n const productAttributes = await getAttributeValuesAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n salesLine.fullProduct?.ProductDetails.RecordId!,\r\n this.props.context.request.apiSettings.channelId,\r\n this.props.context.request.apiSettings.catalogId\r\n );\r\n const manufacturer = productAttributes?.find(item => item.Name === productManufacturarAttribute);\r\n res.push({ recId: salesLine.fullProduct?.ProductDetails.RecordId, manufacturer });\r\n }\r\n this.setState({ attributeValues: res });\r\n }\r\n };\r\n private _refiningOrderTemplateLines = (orderTemplate: OrderTemplate, customerInformation: AsyncResult | undefined) => {\r\n const tempArray: any[] = [];\r\n const custom = orderTemplate;\r\n\r\n //Finding Items with Red Traffic Light\r\n this.state.refinedAtpData.map((item: { TrafficLight: string; parentId: any; jsonResponce: any }) => {\r\n const obj = JSON.parse(item?.jsonResponce);\r\n if (item?.TrafficLight === 'Red' || obj?.IsRemovedFromCart === 'Yes') {\r\n tempArray.push({\r\n ItemId: item?.parentId\r\n });\r\n }\r\n });\r\n //Removing duplicate Entries in case of multiple Red lights\r\n const itemsToBeRemoved = tempArray.reduce((unique, current) => {\r\n const existingItem = unique.find((item: { ItemId: any }) => item.ItemId === current.ItemId);\r\n if (!existingItem) {\r\n unique.push(current);\r\n }\r\n return unique;\r\n }, []);\r\n //Removing Discotinued kit products\r\n const filteredOrderTemplateLines = orderTemplate?.orderTemplateLines.filter(line => {\r\n return !itemsToBeRemoved.some(\r\n (item: { ItemId: string | undefined }) => item.ItemId === line.fullProduct?.ProductDetails.ItemId\r\n );\r\n });\r\n if (filteredOrderTemplateLines?.length) {\r\n if (custom?.orderTemplateLines !== undefined) {\r\n custom.orderTemplateLines = filteredOrderTemplateLines;\r\n custom.totalLines = filteredOrderTemplateLines.length;\r\n this.setState(\r\n {\r\n refinedOrderTemplateLines: custom\r\n },\r\n async () => {\r\n //getting active prices\r\n const activePricesResult = await this._getActivePrices(\r\n customerInformation,\r\n this.state.refinedOrderTemplateLines.orderTemplateLines\r\n );\r\n if (activePricesResult.length) {\r\n this.setState({ activePrices: activePricesResult }, () => {\r\n let orderTemplateLinesWithoutRequestPriceProducts: any[] = [];\r\n if (this.state.activePrices.length) {\r\n //fetching order Template line which are not request price products\r\n orderTemplateLinesWithoutRequestPriceProducts = this.state.refinedOrderTemplateLines.orderTemplateLines.map(\r\n (item: { fullProduct: { ProductDetails: { ItemId: any } } }) => {\r\n const activePriceOfLine = this.state.activePrices.find((e: { ItemId: any }) => {\r\n if (e.ItemId === item.fullProduct?.ProductDetails?.ItemId) {\r\n return e;\r\n }\r\n return null;\r\n });\r\n if (!isRequestPrice(activePriceOfLine, customerInformation?.result?.LineDiscountGroup!)) {\r\n return item;\r\n } else {\r\n return;\r\n }\r\n }\r\n );\r\n }\r\n //removing undefined items\r\n orderTemplateLinesWithoutRequestPriceProducts = orderTemplateLinesWithoutRequestPriceProducts.filter(\r\n item => item !== undefined\r\n );\r\n const custom = this.state.refinedOrderTemplateLines;\r\n custom.orderTemplateLines = orderTemplateLinesWithoutRequestPriceProducts;\r\n custom.totalLines = orderTemplateLinesWithoutRequestPriceProducts.length;\r\n //updating template lines after removing Request Price products\r\n this.setState({\r\n refinedOrderTemplateLines: custom\r\n });\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n private _getActivePrices = async (customer: AsyncResult | undefined, products: any[]) => {\r\n const recordIds = products?.map((value: any) => value?.fullProduct?.ProductDetails?.RecordId);\r\n return getActivePricesAsync(\r\n { callerContext: this.props.context.actionContext },\r\n {\r\n ChannelId: this.props.context.request.apiSettings.channelId,\r\n CatalogId: this.props.context.request.apiSettings.catalogId\r\n },\r\n recordIds,\r\n new Date(),\r\n customer?.result?.AccountNumber ?? null,\r\n undefined,\r\n true\r\n );\r\n };\r\n}\r\n\r\nexport default OrderTemplateLines;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateLineViewProps } from './components';\r\nimport { IOrderTemplateViewProps } from './krannich-c-order-template';\r\nimport { incExcPriceFormat, taxPercentage } from '../../utils/helper';\r\n\r\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\r\n const {\r\n OrderTemplateLines,\r\n status,\r\n statusMessage,\r\n heading,\r\n ProductsTable,\r\n ProductsTableHeading,\r\n orderLines,\r\n ProductsTableRow,\r\n productsStatusMessage,\r\n OrderTemplateActions,\r\n orderActions,\r\n pagination,\r\n // itemAddedToCartDialog,\r\n bulkOrderLineActions,\r\n isDetailsDisplayed,\r\n detailedProductView,\r\n toggleDetailsDisplayed,\r\n isSelectedProdPopUpShow,\r\n addedLinesToPassArr,\r\n addedLinesToPassArrSuccessfull,\r\n isAllselectedItemsAddedSuccessfully,\r\n _handlerToClearSelectedPopUp,\r\n resources: {\r\n cancelBtnLabel,\r\n productNumberText,\r\n productText,\r\n productUnitPriceText,\r\n productUOMText,\r\n productQuantityText,\r\n renameOrderTemplateButtonText,\r\n productLineCatalogName,\r\n addOrderTemplateItemToBagButtonText,\r\n addOneItemToCartMessage,\r\n addLineItemNumberPrefix,\r\n addLineProductUnitPricePrefix,\r\n addLineProductUnitOfMeasurePrefix,\r\n totalPriceLabel,\r\n deleteProductLabel,\r\n deleteProductFromOrderTemplate,\r\n deleteButtonText,\r\n backText,\r\n productsText,\r\n addedToCartText,\r\n productSingleText,\r\n itemsExceedQuantityLimitsAddedToCartText,\r\n viewCartAndCheckoutText,\r\n closeWindowButtonText,\r\n productDetailsText\r\n },\r\n context\r\n } = props;\r\n\r\n const { enabledIncExPrices } = props.context.app.config;\r\n const { addedToCartFailureCustomMessage, zeroPriceProductText } = props.resources;\r\n const toggleDetails = React.useCallback(() => {\r\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\r\n }, [toggleDetailsDisplayed]);\r\n //VSI Customization to set toogle Values\r\n const [toogleShow, setToogleShow] = React.useState(false);\r\n const [deletedToogleShow, setDeletedToogleShow] = React.useState(false);\r\n const [indexValue, setIndexValue] = React.useState();\r\n //VSI CUSTOMIZATION TO CREATE OUR OWN CUSTOMN ADD TO CART BUTTON\r\n const addToBagButton = (index: number) => {\r\n const clickValue = () => {\r\n setToogleShow(!toogleShow);\r\n setIndexValue(index);\r\n };\r\n return \r\n ) : (\r\n {\r\n setTimeout(() => {\r\n setToogleShow && setToogleShow(false);\r\n }, 5000);\r\n }}\r\n >\r\n {addOrderTemplateItemToBagButtonText}\r\n {product.addToBagButton}\r\n
\r\n )}\r\n\r\n {\r\n setToogleShow && setToogleShow(false);\r\n }}\r\n >\r\n {cancelBtnLabel}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const DeleteModal = () => {\r\n return (\r\n {\r\n setDeletedToogleShow && setDeletedToogleShow(false);\r\n }}\r\n >\r\n
\r\n {\r\n setDeletedToogleShow && setDeletedToogleShow(false);\r\n }}\r\n >\r\n {deleteProductLabel}\r\n \r\n \r\n
\r\n {deleteProductFromOrderTemplate}\r\n
\r\n
\r\n \r\n {deleteButtonText} {removeButton}\r\n \r\n\r\n {\r\n setDeletedToogleShow && setDeletedToogleShow(false);\r\n }}\r\n >\r\n {backText}\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const {\r\n key,\r\n selectLine,\r\n productImage,\r\n //productLineCatalog,\r\n productPrice,\r\n productNumber,\r\n removeButton,\r\n productInfo,\r\n productUnitOfMeasure,\r\n productQuantityView,\r\n productQuantity,\r\n popUp,\r\n isMobile,\r\n extraActionsPopup,\r\n //isMultipleCatalogFeatureEnabledInHq,\r\n disabled,\r\n isDiscontinued,\r\n isRequestPrice\r\n } = product;\r\n\r\n const lineVisibility = disabled\r\n ? {\r\n pointerEvents: 'none',\r\n opacity: 0.5\r\n }\r\n : {\r\n pointerEvents: 'auto',\r\n opacity: 1\r\n };\r\n\r\n const disableElement: React.CSSProperties = lineVisibility as React.CSSProperties;\r\n\r\n return (\r\n <>\r\n {toogleShow && index === indexValue && }\r\n {deletedToogleShow && index === indexValue && }\r\n \r\n {selectLine}\r\n {/* {!isMobile && isMultipleCatalogFeatureEnabledInHq && {productLineCatalog}}\r\n {productImage} */}\r\n {isMobile ? (\r\n \r\n
{productInfo}
\r\n
\r\n {quantityLabel}: {productQuantity}\r\n
\r\n \r\n ) : (\r\n {productNumber}\r\n )}\r\n {!isMobile && {productInfo}}\r\n {!isMobile && {productPrice}}\r\n {!isMobile && {productUnitOfMeasure}}\r\n {!isMobile && {productQuantityView}}\r\n {isMobile && {popUp}}\r\n {!isMobile && (\r\n \r\n {isDiscontinued || isRequestPrice ? addToBagButtonDisabled() : addToBagButton(index!)}\r\n {removeButtonCustom(index!)}\r\n \r\n )}\r\n {!isMobile && {extraActionsPopup}}\r\n
\r\n \r\n );\r\n };\r\n\r\n //VSI CUSTOMIZATION END\r\n return (\r\n <>\r\n {isSelectedProdPopUpShow && (\r\n _handlerToClearSelectedPopUp()}\r\n >\r\n _handlerToClearSelectedPopUp()}\r\n >\r\n {status === 'FAILEDBYZEROPRICE' ? (\r\n
\r\n {zeroPriceProductText}\r\n
\r\n ) : (\r\n <>\r\n {status === 'SUCCESS' ? (\r\n addedLinesToPassArr.length > 1 ? (\r\n
\r\n \r\n {addedLinesToPassArrSuccessfull?.length} {productsText}\r\n \r\n {addedToCartText}\r\n
\r\n ) : (\r\n
\r\n \r\n {addedLinesToPassArr.length} {productSingleText}\r\n \r\n {addedToCartText}\r\n
\r\n )\r\n ) : (\r\n
\r\n {addedToCartFailureCustomMessage}\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n {/*
\r\n Name\r\n Quantity\r\n
*/}\r\n {addedLinesToPassArrSuccessfull &&\r\n addedLinesToPassArrSuccessfull?.map(e => {\r\n return (\r\n e &&\r\n e.product && (\r\n
\r\n {e?.product?.Name!}\r\n {/* {e?.productListLine?.Quantity!} */}\r\n
\r\n )\r\n );\r\n })}\r\n {isAllselectedItemsAddedSuccessfully ? (\r\n {itemsExceedQuantityLimitsAddedToCartText}\r\n ) : null}\r\n
\r\n \r\n \r\n {viewCartAndCheckoutText}\r\n \r\n _handlerToClearSelectedPopUp()}\r\n className='msc-lines-added-to-cart-dialog__dialog__continue-shopping msc-btn'\r\n >\r\n {closeWindowButtonText}\r\n \r\n \r\n \r\n )}\r\n \r\n {heading}\r\n
\r\n {OrderTemplateActions && (\r\n \r\n
\r\n {orderActions?.addTemplateToBag}\r\n {orderActions?.renameTemplate}\r\n {orderActions?.removeTemplate}\r\n {orderActions?.actionsSplitButton}\r\n {!isDetailsDisplayed && productsStatusMessage}\r\n
\r\n
\r\n )}\r\n
\r\n {bulkOrderLineActions}\r\n {status !== 'SUCCESS' && statusMessage}\r\n {ProductsTable && orderLines && orderLines.length > 0 && (\r\n \r\n \r\n {ProductsTableHeading}\r\n \r\n {orderLines &&\r\n orderLines.map((product, index) => {\r\n return _renderItem(\r\n product,\r\n productQuantityText,\r\n ProductsTableRow,\r\n toogleShow,\r\n setToogleShow,\r\n deletedToogleShow,\r\n setDeletedToogleShow,\r\n productsStatusMessage,\r\n index\r\n );\r\n })}\r\n \r\n \r\n {pagination}\r\n \r\n )}\r\n {/* {itemAddedToCartDialog} */}\r\n \r\n {productDetailsText}\r\n \r\n
    \r\n {/*
  • {detailedProductView?.productImage}
  • */}\r\n
  • \r\n {productText}:\r\n {detailedProductView?.productInfo}\r\n
  • \r\n
  • \r\n {productLineCatalogName}:\r\n {detailedProductView?.productLineCatalog}\r\n
  • \r\n
  • \r\n {productNumberText}:\r\n {detailedProductView?.productNumber}\r\n
  • \r\n
  • \r\n {productUnitPriceText}: {detailedProductView?.productPrice}\r\n
  • \r\n
  • \r\n {productUOMText}: {detailedProductView?.productUnitOfMeasure}\r\n
  • \r\n
  • \r\n {productQuantityText}:\r\n {detailedProductView?.productQuantityView}\r\n
  • \r\n {productsStatusMessage &&
  • {productsStatusMessage}
  • }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateLinesView;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IKrannichCProductCollection containerModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport const enum toDisplayProdCollection {\r\n topRated = 'topRated',\r\n focus = 'focus',\r\n ootb = 'ootb'\r\n}\r\n\r\nexport const enum layout {\r\n carousel = 'carousel',\r\n grid = 'grid'\r\n}\r\n\r\nexport interface IKrannichCProductCollectionConfig extends Msdyn365.IModuleConfig {\r\n toDisplayProdCollection?: toDisplayProdCollection;\r\n requestPriceForProductCollection?: IRequestPriceForProductCollectionData;\r\n productCollection: Msdyn365.IProductList;\r\n heading?: IHeadingData;\r\n layout?: layout;\r\n allowBackNavigation?: boolean;\r\n imageSettings?: Msdyn365.IImageSettings;\r\n clientRender?: boolean;\r\n enableAffiliationBasedPricing?: boolean;\r\n shouldDisplaySeeAllButton?: boolean;\r\n className?: string;\r\n}\r\n\r\nexport interface IKrannichCProductCollectionResources {\r\n priceFree: string;\r\n priceRangeSeparator: string;\r\n ratingAriaLabel: string;\r\n flipperNext: string;\r\n flipperPrevious: string;\r\n originalPriceText: string;\r\n currentPriceText: string;\r\n ratingCountAriaLabel: string;\r\n ratingCountAriaLabelSingleUser: string;\r\n seeAllButtonText: string;\r\n noProductToRenderText: string;\r\n}\r\n\r\nexport interface IRequestPriceForProductCollectionData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface IKrannichCProductCollectionProps extends Msdyn365.IModule {\r\n resources: IKrannichCProductCollectionResources;\r\n config: IKrannichCProductCollectionConfig;\r\n slots: {\r\n quickview: React.ReactNode[];\r\n productComparisonButton: React.ReactNode[];\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 { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\r\nimport { IPriceComponentResources } from '@msdyn365-commerce/components';\r\nimport { ProductComponent } from '../../themes/krannich/views/components/product.component';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { getCatalogId, getUrlSync, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n ArrayExtensions,\r\n DimensionAvailabilitiesForProductSearchResultInput,\r\n DimensionTypes,\r\n DimensionSwatchDisplayTypes,\r\n getDimensionAvailabilitiesForProductSearchResultAction,\r\n getPriceForProductSearchResult,\r\n IDimensionsApp,\r\n ObjectExtensions,\r\n PriceForProductSearchResultInput,\r\n ProductPriceForSelectedProductsInput,\r\n validateCatalogId,\r\n getProductPriceForSelectedProducts\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n Button,\r\n getTelemetryObject,\r\n IComponentNodeProps,\r\n IModuleProps,\r\n INodeProps,\r\n ISingleSlideCarouselProps,\r\n ITelemetryContent,\r\n NodeTag,\r\n SingleSlideCarousel\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IKrannichCProductCollectionData } from './krannich-c-product-collection.data';\r\nimport { IKrannichCProductCollectionProps, layout } from './krannich-c-product-collection.props.autogenerated';\r\n\r\nexport interface IProductCollectionViewProps extends IKrannichCProductCollectionProps {\r\n heading?: React.ReactNode;\r\n ProductCollectionContainer: IModuleProps;\r\n SingleSlideCarouselComponentProps: INodeProps;\r\n GridComponentProps: INodeProps;\r\n products: IProductComponentViewProps[];\r\n isCarousel: boolean;\r\n productPrices?: ProductPrice[];\r\n seeAllButton?: React.ReactNode;\r\n}\r\n\r\nexport interface IProductComponentViewProps {\r\n ProductContainer: INodeProps;\r\n productComponent: React.ReactNode;\r\n}\r\nexport interface IProductComponentState {\r\n products: ProductSearchResult[];\r\n productPrices: ProductPrice[];\r\n productsDimensionAvailabilities?: IProductsDimensionsAvailabilities[][];\r\n}\r\n\r\n/**\r\n * ProductCollection component.\r\n */\r\nclass ProductCollection extends React.PureComponent<\r\n IKrannichCProductCollectionProps,\r\n IProductComponentState\r\n> {\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n private readonly productPrices: ProductPrice[];\r\n\r\n constructor(props: IKrannichCProductCollectionProps) {\r\n super(props);\r\n this.productPrices = [];\r\n this.state = {\r\n products: this.props.config.productCollection.products || [],\r\n productPrices: this.productPrices || []\r\n };\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 }\r\n\r\n public async componentDidMount(): Promise {\r\n if (this.props.config.enableAffiliationBasedPricing && this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n await this._getActivePrice();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { heading, className, shouldDisplaySeeAllButton } = this.props.config;\r\n const { resources } = this.props;\r\n const recommendation = this.props.config.productCollection.recommendationListId;\r\n const discountIds = this.props.config.productCollection.discountIds;\r\n // Initialize state in case if the products were not found during initial module render\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises -- Initialize data if not there.\r\n this.initProductState(this.props.config.productCollection);\r\n\r\n const products = this.state.products;\r\n const productPrices = this.state.productPrices;\r\n const isCarousel = this.props.config.layout === layout.carousel;\r\n const headingLabel = heading ? heading.text : '';\r\n const headingComponent = heading && (\r\n \r\n );\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- product check for safety.\r\n const updatedProducts = products?.map((item: ProductSearchResult, index: number) => {\r\n const getProductData = this._getProduct(\r\n item,\r\n index,\r\n productPrices ? productPrices.find(p => p.ProductId === item.RecordId) : undefined\r\n );\r\n return !ObjectExtensions.isNullOrUndefined(getProductData) ? getProductData : undefined;\r\n });\r\n\r\n const productCollectionViewProps = {\r\n ...this.props,\r\n heading: headingComponent,\r\n SingleSlideCarouselComponentProps: {\r\n tag: SingleSlideCarousel,\r\n className: '',\r\n flipperPrevLabel: `${headingLabel} ${resources.flipperPrevious}`,\r\n flipperNextLabel: `${headingLabel} ${resources.flipperNext}`,\r\n parentId: this.props.id,\r\n telemetryContent: this.telemetryContent\r\n } as IComponentNodeProps,\r\n ProductCollectionContainer: {\r\n moduleProps: this.props,\r\n className: classnames('ms-product-collection', className)\r\n },\r\n GridComponentProps: {\r\n tag: 'ul' as NodeTag,\r\n className: 'ms-product-collection__items'\r\n },\r\n isCarousel,\r\n\r\n products:\r\n ArrayExtensions.hasElements(updatedProducts) &&\r\n updatedProducts.filter(item => {\r\n return item !== undefined;\r\n }),\r\n productPrices: this.productPrices,\r\n seeAllButton:\r\n (recommendation || discountIds) &&\r\n shouldDisplaySeeAllButton &&\r\n (ArrayExtensions.hasElements(updatedProducts) || this.props.config.productCollection.listType === 'promotional')\r\n ? this._getSeeAllButton(headingLabel, recommendation, discountIds)\r\n : undefined,\r\n\r\n resources: resources\r\n };\r\n return this.props.renderView(productCollectionViewProps) as React.ReactElement;\r\n }\r\n\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\r\n\r\n /**\r\n * Get products dimension availabilities.\r\n * @param products - Products.\r\n * @returns Promise.\r\n */\r\n private readonly _getProductsDimensionsAvailabilities = async (products: ProductSearchResult[]): Promise => {\r\n const context = this.props.context as ICoreContext;\r\n const dimensionsToDisplayOnProductCard = context.app.config.dimensionsInProductCard;\r\n const dimensionsToDisplayAsSwatch = context.app.config.dimensionsAsSwatchType;\r\n const validProducts = ArrayExtensions.validValues(products);\r\n if (\r\n ArrayExtensions.hasElements(validProducts) &&\r\n ArrayExtensions.hasElements(dimensionsToDisplayOnProductCard) &&\r\n !dimensionsToDisplayOnProductCard.includes(DimensionTypes.none) &&\r\n ArrayExtensions.hasElements(dimensionsToDisplayAsSwatch) &&\r\n !dimensionsToDisplayAsSwatch.includes(DimensionTypes.none)\r\n ) {\r\n const productsDimensionAvailabilities = await getDimensionAvailabilitiesForProductSearchResultAction(\r\n new DimensionAvailabilitiesForProductSearchResultInput(\r\n validProducts,\r\n this.props.context as ICoreContext,\r\n DimensionSwatchDisplayTypes.productCard\r\n ),\r\n this.props.context.actionContext\r\n );\r\n\r\n if (ArrayExtensions.hasElements(productsDimensionAvailabilities)) {\r\n this.setState({ productsDimensionAvailabilities });\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Helper method to initialize products state.\r\n * @param productCollection - List of products.\r\n */\r\n private readonly initProductState = async (productCollection: Msdyn365.IProductList) => {\r\n let products = this.state.products;\r\n let productPrices = this.state.productPrices;\r\n const productCollectionProducts = productCollection.products;\r\n if (!ArrayExtensions.hasElements(products) && ArrayExtensions.hasElements(productCollectionProducts)) {\r\n products = productCollectionProducts;\r\n this.setState({ products });\r\n } else if (\r\n ArrayExtensions.hasElements(products) &&\r\n ArrayExtensions.hasElements(productCollectionProducts) &&\r\n !ArrayExtensions.equals(products, productCollectionProducts)\r\n ) {\r\n products = productCollectionProducts;\r\n this.setState({ products });\r\n } else if (productCollectionProducts === undefined && ArrayExtensions.hasElements(this.state.products)) {\r\n products = [];\r\n this.setState({ products: products });\r\n }\r\n\r\n if (Msdyn365.msdyn365Commerce.isBrowser && !ArrayExtensions.hasElements(this.state.productsDimensionAvailabilities)) {\r\n await this._getProductsDimensionsAvailabilities(products);\r\n }\r\n if (this.props.config.productCollection.listType === 'promotional') {\r\n productPrices = await getProductPriceForSelectedProducts(\r\n new ProductPriceForSelectedProductsInput(products.filter(p => !p.IsMasterProduct).map(p => p.RecordId)),\r\n\r\n this.props.context.actionContext\r\n );\r\n this.setState({ productPrices: productPrices });\r\n }\r\n };\r\n\r\n private readonly _getProduct = (\r\n product: ProductSearchResult,\r\n index: number,\r\n productPrice?: ProductPrice\r\n ): IProductComponentViewProps | null => {\r\n if (!product || !product.Name) {\r\n this.props.telemetry.trace('[product-collection] Product or product name is null');\r\n return null;\r\n }\r\n const telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n const { imageSettings, allowBackNavigation } = this.props.config;\r\n const resources = this.props.resources;\r\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\r\n const allowBack = allowBackNavigation && (breaCrumbType === 'back' || breaCrumbType === 'categoryAndBack');\r\n const quickviewSlot =\r\n this.props.slots && this.props.slots.quickview && this.props.slots.quickview.length > 0 ? this.props.slots.quickview[0] : null;\r\n const productComparisonButtonSlot = ArrayExtensions.hasElements(this.props.slots.productComparisonButton)\r\n ? this.props.slots.productComparisonButton[0]\r\n : null;\r\n\r\n const reviewCount = 1;\r\n const reviewTotalRatings = Number(product.TotalRatings);\r\n const reviewCountAriaLabelValue =\r\n reviewTotalRatings > reviewCount ? resources.ratingCountAriaLabel : resources.ratingCountAriaLabelSingleUser;\r\n const isPriceMinMaxEnabled = this.props.data.featureState.result?.find(\r\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\r\n );\r\n const priceResources: IPriceComponentResources = {\r\n priceRangeSeparator: resources.priceRangeSeparator\r\n };\r\n return {\r\n ProductContainer: {\r\n tag: 'li' as NodeTag,\r\n className: 'ms-product-collection__item',\r\n role: 'listitem',\r\n key: index\r\n },\r\n productComponent: (\r\n \r\n ArrayExtensions.hasElements(dimensionAvailability) &&\r\n dimensionAvailability[0].masterProductId === (product.MasterProductId ?? product.RecordId)\r\n )}\r\n isDisplayType={this.props.config.toDisplayProdCollection}\r\n requestPrice={this.props.config.requestPriceForProductCollection}\r\n customerInformation={this.props.data.customerInformation.result}\r\n />\r\n )\r\n };\r\n };\r\n\r\n /**\r\n * Get the active price for products.\r\n */\r\n private readonly _getActivePrice = async (): Promise => {\r\n const productsList = this.state.products;\r\n const products = await getPriceForProductSearchResult(\r\n new PriceForProductSearchResultInput(productsList),\r\n this.props.context.actionContext\r\n );\r\n if (Msdyn365.msdyn365Commerce.isBrowser) {\r\n await this._getProductsDimensionsAvailabilities(products);\r\n }\r\n\r\n this.setState({ products });\r\n };\r\n\r\n /**\r\n * Get the see all button.\r\n * @param headingLabel - Heading label.\r\n * @param recommendation - Recommendation.\r\n * @param discountIds - Discount Ids.\r\n * @returns IProductComponentSeeAllViewProps - Product component see all view props.\r\n */\r\n private readonly _getSeeAllButton = (headingLabel: string, recommendation?: string, discountIds?: string[]): React.ReactNode => {\r\n if (!Msdyn365.msdyn365Commerce.isBrowser) {\r\n return null;\r\n }\r\n if (!recommendation && !discountIds) {\r\n return null;\r\n }\r\n\r\n const catalogId = getCatalogId(this.props.context.request);\r\n validateCatalogId(catalogId);\r\n const searchPageLink = getUrlSync('search', this.props.context.actionContext);\r\n if (!searchPageLink) {\r\n return null;\r\n }\r\n const url = new URL(searchPageLink, window.location.href);\r\n if (discountIds) {\r\n // see all button for promotion page\r\n url.searchParams.set('discountIds', discountIds.toString());\r\n url.searchParams.set('title', headingLabel);\r\n url.searchParams.set('catalogid', `${catalogId}`);\r\n } else if (recommendation) {\r\n // See all button for recommendation\r\n url.searchParams.set('recommendation', recommendation);\r\n url.searchParams.set('title', headingLabel);\r\n url.searchParams.set('catalogid', `${catalogId}`);\r\n }\r\n return (\r\n \r\n {this.props.resources.seeAllButtonText}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default ProductCollection;\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 { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IProductCollectionViewProps, IProductComponentViewProps } from './krannich-c-product-collection';\r\nimport { IKrannichCProductCollectionResources } from './krannich-c-product-collection.props.autogenerated';\r\n\r\nconst ProductCollectionView: React.FC = props => {\r\n const {\r\n heading,\r\n ProductCollectionContainer,\r\n products,\r\n SingleSlideCarouselComponentProps,\r\n GridComponentProps,\r\n isCarousel,\r\n seeAllButton,\r\n resources\r\n } = props;\r\n\r\n if (products) {\r\n return (\r\n \r\n {heading}\r\n {seeAllButton}\r\n {isCarousel ? _renderCarousel(SingleSlideCarouselComponentProps, products) : _renderGrid(GridComponentProps, products)}\r\n \r\n );\r\n }\r\n // If no products are retrieved and the list type is promotional, still render the module to keep the entry of promotion page\r\n\r\n if (props.config.productCollection.listType === 'promotional') {\r\n return (\r\n \r\n {heading}\r\n {seeAllButton}\r\n {_renderNoProduct(resources)}\r\n \r\n );\r\n }\r\n props.context.telemetry.error('Product collection content is empty, module wont render.');\r\n return null;\r\n};\r\n\r\nconst _renderCarousel = (carouselContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\r\n return {items && items.map(_renderProduct)};\r\n};\r\n\r\nconst _renderGrid = (gridContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\r\n return {items && items.map(_renderProduct)};\r\n};\r\n\r\nconst _renderNoProduct = (resources: IKrannichCProductCollectionResources): JSX.Element => {\r\n return (\r\n \r\n

{resources.noProductToRenderText}

\r\n
\r\n );\r\n};\r\n\r\nconst _renderProduct = (product: IProductComponentViewProps): JSX.Element => {\r\n const { ProductContainer, productComponent } = product;\r\n\r\n return {productComponent};\r\n};\r\n\r\nexport default ProductCollectionView;\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 { Carousel } from '@msdyn365-commerce/components';\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { ICarouselViewProps } from '@msdyn365-commerce-modules/carousel';\r\nimport { ICarouselProps } from '../definition-extensions/carousel.ext.props.autogenerated';\r\n\r\n/**\r\n * Returns item slots.\r\n * @returns Array of item slots.\r\n * @param props -Props.\r\n */\r\nconst retrieveItems = (props: ICarouselViewProps): React.ReactNode[] => {\r\n let items = [];\r\n items = props.slots && props.slots.content && props.slots.content.length > 0 ? props.slots.content : [];\r\n return items;\r\n};\r\nconst CarouselView: React.FC> = props => {\r\n const {\r\n config: { loggedInBanner, showBannerForLoggedInAndGuest },\r\n context: {\r\n request: {\r\n user: { isAuthenticated }\r\n }\r\n }\r\n } = props;\r\n if ((isAuthenticated && loggedInBanner) || (!isAuthenticated && !loggedInBanner) || showBannerForLoggedInAndGuest) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if ((isAuthenticated && !loggedInBanner) || (!isAuthenticated && loggedInBanner)) {\r\n return
;\r\n } else {\r\n return
;\r\n }\r\n};\r\n\r\nexport default CarouselView;\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 { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { PriceLine, ProductPrice, SalesAgreementPriceLine } from '@msdyn365-commerce/retail-proxy';\r\nimport { Button, Collapse, format, ICollapseProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { incExcPriceFormat } from '../../../../utils/helper';\r\n\r\nconst defaultPrice: number = 0;\r\nconst freePrice: number = 0;\r\n\r\n/**\r\n * Interface for price component resources.\r\n * @param {string} priceRangeSeparator - The price range separator.\r\n */\r\nexport interface IPriceComponentResources {\r\n priceRangeSeparator?: string;\r\n salesAgreementPricePrompt?: string;\r\n salesAgreementExpirationDatePrompt?: string;\r\n salesAgreementCommittedQuantityPrompt?: string;\r\n salesAgreementRemainingQuantityPrompt?: string;\r\n}\r\n\r\n/**\r\n * Interface for price component props.\r\n * @param {boolean} isPriceMinMaxEnabled - Whether the price range feature is enabled or not.\r\n * @param {IPriceComponentResources} priceResources - The price range resources.\r\n */\r\nexport interface IPriceComponentProps extends IComponentProps<{ price: ProductPrice }> {\r\n className?: string;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n isPriceMinMaxEnabled?: boolean;\r\n isSalesAgreementPriceFeatureEnabled?: boolean;\r\n useLegacySalesAgreementHTMLFeature?: boolean;\r\n salesAgreementLineId?: number;\r\n priceResources?: IPriceComponentResources;\r\n salesAgreementDetailCollapseProps?: ICollapseProps;\r\n salesAgreementDetailOnClick?(event: React.MouseEvent | React.KeyboardEvent): void;\r\n isIncExPriceFormatEnabled?: boolean;\r\n wpPrice?: JSX.Element;\r\n currencyCode?: string;\r\n customerTaxPercentage?: number;\r\n}\r\n\r\n/**\r\n * The interface of price component.\r\n */\r\nexport interface IPriceComponent extends IComponent {}\r\n\r\nconst priceComponentActions = {};\r\n\r\n/**\r\n * Get the original price from price component props.\r\n * @param props - The IPriceComponentProps.\r\n * @returns The original price.\r\n */\r\nconst getOriginalPrice = (props: IPriceComponentProps): number => {\r\n return Math.max(\r\n props.data.price.BasePrice ?? defaultPrice,\r\n props.data.price.TradeAgreementPrice ?? defaultPrice,\r\n props.data.price.AdjustedPrice ?? defaultPrice\r\n );\r\n};\r\n\r\n/**\r\n * Get the formatted currency.\r\n * @param props - The props.\r\n * @param price - The price.\r\n * @param shouldUseFreePriceText - The shouldUseFreePriceText.\r\n * @returns The formatted currency.\r\n */\r\nconst formatCurrency = (\r\n props: IPriceComponentProps,\r\n price: number | undefined,\r\n shouldUseFreePriceText: boolean | undefined,\r\n currencyCode?: string | undefined\r\n): string | JSX.Element => {\r\n if (price === undefined) {\r\n return '';\r\n }\r\n\r\n if (shouldUseFreePriceText && price === freePrice && props.freePriceText) {\r\n return props.freePriceText;\r\n }\r\n const { enabledIncExPrices } = props.context.app.config;\r\n // modify the below return statement of price with currency format\r\n // return props.context.cultureFormatter.formatCurrency(price);\r\n return props.isIncExPriceFormatEnabled\r\n ? incExcPriceFormat(price, props.context, enabledIncExPrices, props.customerTaxPercentage || 0)\r\n : props.context.cultureFormatter.formatCurrency(price, currencyCode);\r\n};\r\n\r\n/**\r\n * ShowStrikethroughPricing.\r\n * @param props - The props.\r\n * @returns True if showStrikethroughPricing, false otherwise.\r\n */\r\nconst showStrikethroughPricing = (props: IPriceComponentProps): boolean => {\r\n const originalPrice = getOriginalPrice(props);\r\n if (\r\n props.isPriceMinMaxEnabled &&\r\n props.data.price.MaxVariantPrice &&\r\n props.data.price.MinVariantPrice &&\r\n props.data.price.MaxVariantPrice > props.data.price.MinVariantPrice\r\n ) {\r\n return props.data.price.MinVariantPrice < originalPrice;\r\n }\r\n\r\n if (originalPrice && props.data.price?.CustomerContextualPrice) {\r\n return originalPrice > props.data.price?.CustomerContextualPrice;\r\n }\r\n\r\n return false;\r\n};\r\n\r\n/**\r\n * Render current price.\r\n * @param props - The props.\r\n * @returns The JSX.Element.\r\n */\r\nconst renderCurrentPrice = (props: IPriceComponentProps): JSX.Element => {\r\n const maxVariantPrice: string | JSX.Element = formatCurrency(props, props.data.price.MaxVariantPrice, false, props.currencyCode);\r\n const minVariantPrice: string | JSX.Element = formatCurrency(props, props.data.price.MinVariantPrice, false, props.currencyCode);\r\n if (\r\n props.isPriceMinMaxEnabled &&\r\n props.data.price.MaxVariantPrice &&\r\n props.data.price.MinVariantPrice &&\r\n props.data.price.MaxVariantPrice > props.data.price.MinVariantPrice\r\n ) {\r\n return (\r\n \r\n \r\n {minVariantPrice}\r\n \r\n \r\n {props.priceResources?.priceRangeSeparator}\r\n \r\n \r\n {maxVariantPrice}\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {formatCurrency(props, props.data.price?.CustomerContextualPrice, true, props.currencyCode)}\r\n {props?.wpPrice && props?.wpPrice}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render current price with original price.\r\n * @param props - The props.\r\n * @returns The JSX.Element.\r\n */\r\nconst renderCurrentPriceWithOriginalPrice = (props: IPriceComponentProps): JSX.Element => {\r\n const originalPrice: number = getOriginalPrice(props);\r\n const initialPrice: string | JSX.Element = formatCurrency(props, originalPrice, true);\r\n return (\r\n <>\r\n \r\n {` `}\r\n {props.originalPriceText}\r\n {` `}\r\n {initialPrice}\r\n {` `}\r\n {props.currentPriceText}\r\n {` `}\r\n {renderCurrentPrice(props)}\r\n \r\n {/* */}\r\n \r\n {props.savingsText && {props.savingsText}}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * The state of sales agreement details.\r\n * @deprecated This will be removed with SalesAgreementPrice class soon.\r\n */\r\nexport interface ISalesAgreementDetailState {\r\n isOpen: boolean;\r\n}\r\n\r\n/**\r\n * The SalesAgreementPrice class.\r\n * @deprecated This implementation is deprecated. It will be removed soon. Please use the implementation in the Price function component.\r\n */\r\n// eslint-disable-next-line react/require-optimization -- Not needed.\r\nclass SalesAgreementPrice extends React.Component {\r\n public constructor(props: IPriceComponentProps) {\r\n super(props);\r\n this._toggle = this._toggle.bind(this);\r\n this.state = {\r\n isOpen: true\r\n } as ISalesAgreementDetailState;\r\n }\r\n\r\n public render(): React.ReactElement {\r\n const priceLines: PriceLine[] = this.props.data.price.AttainablePriceLines ?? [];\r\n const firstPriceLine: SalesAgreementPriceLine = priceLines[0] as SalesAgreementPriceLine;\r\n if (this.props.salesAgreementDetailCollapseProps) {\r\n this.props.salesAgreementDetailCollapseProps.isOpen = this.state.isOpen;\r\n }\r\n return (\r\n \r\n

\r\n {formatCurrency(\r\n this.props,\r\n this.props.data.price.SalesAgreementPrice ?? this.props.data.price?.CustomerContextualPrice,\r\n true\r\n )}\r\n

\r\n \r\n {this.props.priceResources?.salesAgreementPricePrompt}\r\n

\r\n \r\n

\r\n \r\n {/* Available date */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' +\r\n format(\r\n this.props.priceResources?.salesAgreementExpirationDatePrompt ?? '',\r\n this.props.context.cultureFormatter.formatDate(firstPriceLine.EffectiveDate as Date),\r\n this.props.context.cultureFormatter.formatDate(firstPriceLine.ExpirationDate as Date)\r\n )}\r\n \r\n \r\n {/* Quantity commitment */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' +\r\n format(\r\n this.props.priceResources?.salesAgreementCommittedQuantityPrompt ?? '',\r\n firstPriceLine.CommittedQuantity\r\n )}\r\n \r\n \r\n {/* Remaining quantity to qualify */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' +\r\n format(\r\n this.props.priceResources?.salesAgreementRemainingQuantityPrompt ?? '',\r\n firstPriceLine.RemainingQuantity\r\n )}\r\n \r\n

\r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Callback which toggles collapse mode.\r\n * @param event - The mouse or keyboard event.\r\n */\r\n private _toggle(event: React.MouseEvent | React.KeyboardEvent): void {\r\n event.preventDefault();\r\n // eslint-disable-next-line react/no-access-state-in-setstate -- Copied from other class.\r\n this.setState({ isOpen: !this.state.isOpen });\r\n }\r\n}\r\n\r\nconst renderSalesAgreementDetail = (props: IPriceComponentProps): JSX.Element => {\r\n // In most cases there should be only one sales agreement line.\r\n // If there are more than one, only the first one will be shown.\r\n const firstPriceLine: SalesAgreementPriceLine = (props.data.price.AttainablePriceLines ?? [])[0] as SalesAgreementPriceLine;\r\n return (\r\n

\r\n

\r\n {/* Available date */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' +\r\n format(\r\n props.priceResources?.salesAgreementExpirationDatePrompt ?? '',\r\n props.context.cultureFormatter.formatDate(firstPriceLine.EffectiveDate as Date),\r\n props.context.cultureFormatter.formatDate(firstPriceLine.ExpirationDate as Date)\r\n )}\r\n

\r\n

\r\n {/* Quantity commitment */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' + format(props.priceResources?.salesAgreementCommittedQuantityPrompt ?? '', firstPriceLine.CommittedQuantity)}\r\n

\r\n

\r\n {/* Remaining quantity to qualify */}\r\n {// eslint-disable-next-line prefer-template -- Copied from other class.\r\n ' · ' + format(props.priceResources?.salesAgreementRemainingQuantityPrompt ?? '', firstPriceLine.RemainingQuantity)}\r\n

\r\n

\r\n );\r\n};\r\n\r\n/**\r\n * Price.\r\n * @param props - The props.\r\n * @returns The JSX.Element.\r\n */\r\nconst Price: React.FC = (props: IPriceComponentProps): JSX.Element | null => {\r\n // CustomerContextualPrice could be zero);\r\n if (props.data.price?.CustomerContextualPrice === undefined) {\r\n return null;\r\n }\r\n\r\n // Determine if contract price is avaiable/applied by:\r\n // isFeatureEnabled and SA price != 0, for PDP.\r\n // SA line id != 0, for cart line.\r\n if (props.isSalesAgreementPriceFeatureEnabled && props.data.price.SalesAgreementPrice !== 0) {\r\n if (props.useLegacySalesAgreementHTMLFeature) {\r\n const salesAgreementPrice = new SalesAgreementPrice(props);\r\n return {salesAgreementPrice.render()};\r\n } else {\r\n const [isExpanded, setIsExpanded] = React.useState(false);\r\n const toggle = () => {\r\n setIsExpanded(!isExpanded);\r\n };\r\n return (\r\n \r\n \r\n

\r\n {formatCurrency(props, props.data.price.SalesAgreementPrice ?? props.data.price.CustomerContextualPrice, true)}\r\n

\r\n \r\n {props.priceResources?.salesAgreementPricePrompt}\r\n \r\n {isExpanded && renderSalesAgreementDetail(props)}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n return (\r\n \r\n {showStrikethroughPricing(props) ? renderCurrentPriceWithOriginalPrice(props) : renderCurrentPrice(props)}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * The PriceComponent.\r\n */\r\nexport const PriceComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride(\r\n 'Price',\r\n {\r\n component: Price,\r\n ...priceComponentActions\r\n }\r\n);\r\n\r\nexport default PriceComponent;\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 { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\r\nimport {\r\n getCatalogId,\r\n IComponent,\r\n IComponentProps,\r\n ICoreContext,\r\n IGridSettings,\r\n IImageData,\r\n IImageProps,\r\n IImageSettings,\r\n Image,\r\n IRequestContext,\r\n msdyn365Commerce\r\n} from '@msdyn365-commerce/core';\r\nimport {\r\n AttributeSwatch,\r\n Customer,\r\n ProductDimension,\r\n ProductPrice,\r\n ProductSearchResult,\r\n ProductType,\r\n SimpleProduct\r\n} from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n ArrayExtensions,\r\n checkIfShouldDisplayAsSwatch,\r\n convertDimensionTypeToProductDimensionType,\r\n Dictionary,\r\n DimensionSwatchDisplayTypes,\r\n DimensionTypes,\r\n generateImageUrl,\r\n // getProductPageUrlSync,\r\n IDimensionsApp,\r\n StringExtensions,\r\n validateCatalogId\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n format,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n onTelemetryClick,\r\n Waiting\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport {\r\n IPriceComponentResources,\r\n PriceComponent,\r\n ISwatchItem,\r\n RatingComponent,\r\n ProductComponentSwatchComponent\r\n} from '@msdyn365-commerce/components';\r\nimport {\r\n IRequestPriceForProductCollectionData,\r\n toDisplayProdCollection\r\n} from '../../../../modules/krannich-c-product-collection/krannich-c-product-collection.props.autogenerated';\r\nimport { PromotionBadges } from '../../../../utils/badges';\r\nimport { filteredProductAttributeList, formatUrlPath, taxPercentage } from '../../../../utils/helper';\r\nexport interface IProductComponentProps extends IComponentProps<{ product?: ProductSearchResult; productPrice?: ProductPrice }> {\r\n className?: string;\r\n imageSettings?: IImageSettings;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n ratingAriaLabel?: string;\r\n ratingCountAriaLabel?: string;\r\n allowBack?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n quickViewButton?: React.ReactNode;\r\n productComparisonButton?: React.ReactNode;\r\n inventoryLabel?: string;\r\n isPriceMinMaxEnabled?: boolean;\r\n priceResources?: IPriceComponentResources;\r\n dimensionAvailabilities?: IProductsDimensionsAvailabilities[];\r\n swatchItemAriaLabel?: string;\r\n isDisplayType?: string;\r\n requestPrice?: IRequestPriceForProductCollectionData;\r\n customerInformation?: Customer;\r\n}\r\n\r\nexport interface IProductComponent extends IComponent {}\r\n\r\nconst PriceComponentActions = {};\r\n\r\n/**\r\n * Renders product comparison button similar to the quick view button.\r\n * @param productComparisonButton - React element of the button.\r\n * @param product - Current product info.\r\n * @param catalogId - Current catalog.\r\n * @returns React element for the specific product.\r\n */\r\nfunction renderProductComparisonButton(\r\n productComparisonButton: React.ReactNode,\r\n product: ProductSearchResult,\r\n catalogId: number\r\n): JSX.Element | undefined {\r\n validateCatalogId(catalogId);\r\n return React.cloneElement(productComparisonButton as React.ReactElement, { product, catalogId });\r\n}\r\n\r\nconst ProductCard: React.FC = ({\r\n data,\r\n context,\r\n imageSettings,\r\n savingsText,\r\n freePriceText,\r\n originalPriceText,\r\n currentPriceText,\r\n ratingAriaLabel,\r\n ratingCountAriaLabel,\r\n allowBack,\r\n typeName,\r\n id,\r\n telemetryContent,\r\n quickViewButton,\r\n productComparisonButton,\r\n inventoryLabel,\r\n isPriceMinMaxEnabled,\r\n priceResources,\r\n dimensionAvailabilities,\r\n swatchItemAriaLabel,\r\n isDisplayType,\r\n requestPrice,\r\n customerInformation\r\n}) => {\r\n const product = data.product;\r\n const productPrice = data.productPrice;\r\n /**\r\n * Updates the product url link to product details page.\r\n * @param productDetailsPageUrl - Product page url.\r\n * @param coreContext - Context of the module using the component.\r\n * @param queryString - Querystring to be added to the URL.\r\n * @returns The update product page url.\r\n */\r\n function updateProductUrl(productDetailsPageUrl: string, coreContext: ICoreContext, queryString: string): string {\r\n const sourceUrl = new URL(productDetailsPageUrl, coreContext.request.apiSettings.baseUrl);\r\n if (sourceUrl.search) {\r\n sourceUrl.search += `&${queryString}`;\r\n } else {\r\n sourceUrl.search += queryString;\r\n }\r\n\r\n const updatedUrl = new URL(sourceUrl.href);\r\n return updatedUrl.pathname + sourceUrl.search;\r\n }\r\n\r\n /**\r\n * Gets the product page url from the default swatch selected.\r\n * @param productData - Product card to be rendered.\r\n * @returns The default color swatch selected if any.\r\n */\r\n function getDefaultColorSwatchSelected(productData?: ProductSearchResult): AttributeSwatch | null {\r\n if (!productData || !productData.AttributeValues) {\r\n return null;\r\n }\r\n\r\n const colorAttribute = productData.AttributeValues.find(\r\n attributeValue => attributeValue.KeyName?.toLocaleLowerCase() === DimensionTypes.color\r\n );\r\n if (!ArrayExtensions.hasElements(colorAttribute?.Swatches)) {\r\n return null;\r\n }\r\n\r\n const defaultSwatch = colorAttribute!.Swatches.find(item => item.IsDefault === true) ?? colorAttribute!.Swatches[0];\r\n return defaultSwatch;\r\n }\r\n\r\n /**\r\n * Gets the product image from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\n function getProductImageUrlFromDefaultColorSwatch(coreContext: ICoreContext, productData?: ProductSearchResult): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productData?.PrimaryImageUrl;\r\n }\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n return defaultSwatch && ArrayExtensions.hasElements(defaultSwatch.ProductImageUrls)\r\n ? generateImageUrl(defaultSwatch.ProductImageUrls[0], coreContext.request.apiSettings)\r\n : productData?.PrimaryImageUrl;\r\n }\r\n\r\n /**\r\n * Gets the product page url from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productUrl - Product page url for the product card.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\n function getProductPageUrlFromDefaultSwatch(\r\n coreContext: ICoreContext,\r\n productUrl: string,\r\n productData?: ProductSearchResult\r\n ): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productUrl;\r\n }\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n if (!defaultSwatch || !defaultSwatch.SwatchValue) {\r\n return productUrl;\r\n }\r\n\r\n const queryStringEncoded = encodeURIComponent(defaultSwatch.SwatchValue);\r\n const queryString = `color=${queryStringEncoded}`;\r\n return updateProductUrl(productUrl, coreContext, queryString);\r\n }\r\n\r\n const productAttributes = filteredProductAttributeList(product?.AttributeValues, context.app.config.kcProductAttribute);\r\n const _renderProducerName = (prod: ProductSearchResult): string => {\r\n if (!prod) {\r\n return '';\r\n }\r\n return productAttributes?.find(attr => attr.identifier === 'Manufacturer')?.TextValue || '';\r\n };\r\n\r\n const globalProducerName = () => {\r\n let globalProducerName: string = '';\r\n productAttributes?.map(e => {\r\n if (e.identifier === 'Manufacturer') {\r\n const manufactuerValueforImage = e.ExtensionProperties?.find(eProperty => eProperty.Key === 'globalAttributeValue')?.Value;\r\n globalProducerName = manufactuerValueforImage?.StringValue || '';\r\n }\r\n });\r\n return globalProducerName;\r\n };\r\n\r\n const getManufacturerItemTypeName = (prod: ProductSearchResult): string => {\r\n if (!prod) {\r\n return '';\r\n }\r\n return prod?.ExtensionProperties?.find(extension => extension.Key === 'ManufItemTypeName')?.Value?.StringValue || '';\r\n };\r\n\r\n const urlPath = formatUrlPath(_renderProducerName(product!), getManufacturerItemTypeName(product!));\r\n const pathName = context.actionContext.requestContext.url.requestUrl.pathname.split('/');\r\n const isAddingPathWithUrl = context.actionContext.requestContext.app.config.addPathWithUrl ?? false;\r\n let productUrl =\r\n product &&\r\n (isAddingPathWithUrl\r\n ? `${context.actionContext.requestContext.url.requestUrl.origin}/${pathName[1]}/${urlPath}/${product.RecordId}.p`\r\n : `${context.actionContext.requestContext.url.requestUrl.origin}/${urlPath}/${product.RecordId}.p`);\r\n\r\n if (allowBack && productUrl) {\r\n productUrl = updateProductUrl(productUrl, context, 'back=true');\r\n }\r\n const productImageUrlFromSwatch = getProductImageUrlFromDefaultColorSwatch(context, product) ?? product?.PrimaryImageUrl;\r\n const productPageUrlFromSwatch = getProductPageUrlFromDefaultSwatch(context, productUrl!, product) ?? productUrl;\r\n const [productPageUrl, setProductPageUrl] = useState(productPageUrlFromSwatch!);\r\n const [productImageUrl, setProductImageUrl] = useState(productImageUrlFromSwatch);\r\n const [selectedSwatchItems] = useState(new Dictionary());\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access -- app context is generic\r\n const enableStockCheck = context.app.config.enableStockCheck;\r\n const extensionsProps = product?.ExtensionProperties;\r\n let promotionBadge = '';\r\n if (extensionsProps?.find(e => e?.Key === 'PromotionBadge')) {\r\n promotionBadge = extensionsProps?.find(e => e?.Key === 'PromotionBadge')?.Value?.StringValue || '';\r\n }\r\n /**\r\n * Updates the product page and Image url based on swatch selected.\r\n * @param coreContext - Context of the caller.\r\n * @param swatchItem - Dimension swatch selected.\r\n */\r\n const updatePageAndImageUrl = React.useCallback(\r\n (coreContext: ICoreContext, swatchItem: ISwatchItem) => {\r\n const dimensionType = swatchItem.dimensionType;\r\n selectedSwatchItems.setValue(dimensionType, swatchItem);\r\n if (StringExtensions.isNullOrWhitespace(swatchItem.value)) {\r\n return;\r\n }\r\n const queryString = `${dimensionType}=${swatchItem.value}`;\r\n let productPageUrlWithSwatch = '';\r\n if (productPageUrl.includes(dimensionType)) {\r\n const newUrl = new URL(productPageUrl, coreContext.request.apiSettings.baseUrl);\r\n newUrl.searchParams.delete(dimensionType);\r\n productPageUrlWithSwatch = updateProductUrl(newUrl.toString(), context, queryString);\r\n } else {\r\n productPageUrlWithSwatch = updateProductUrl(productPageUrl, context, queryString);\r\n }\r\n setProductPageUrl(productPageUrlWithSwatch);\r\n if (dimensionType === DimensionTypes.color) {\r\n const swatchProductImageUrl = ArrayExtensions.hasElements(swatchItem.productImageUrls)\r\n ? swatchItem.productImageUrls[0]\r\n : undefined;\r\n const newImageUrl = generateImageUrl(swatchProductImageUrl, coreContext.request.apiSettings);\r\n setProductImageUrl(newImageUrl);\r\n }\r\n },\r\n [selectedSwatchItems, context, productPageUrl]\r\n );\r\n\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n const swatchItems = ArrayExtensions.validValues(\r\n product.AttributeValues?.map(item => {\r\n const dimensionTypeValue = item.KeyName?.toLocaleLowerCase() ?? '';\r\n const shouldDisplayAsSwatch = checkIfShouldDisplayAsSwatch(\r\n dimensionTypeValue as DimensionTypes,\r\n context as ICoreContext,\r\n DimensionSwatchDisplayTypes.productCard\r\n );\r\n if (!shouldDisplayAsSwatch) {\r\n return null;\r\n }\r\n\r\n const siteContext = context as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n const dimensionType = dimensionTypeValue as DimensionTypes;\r\n const swatches =\r\n item.Swatches?.map(swatchItem => {\r\n return {\r\n itemId: `${item.RecordId ?? ''}-${dimensionTypeValue}-${swatchItem.SwatchValue ?? ''}`,\r\n value: swatchItem.SwatchValue ?? '',\r\n dimensionType,\r\n colorHexCode: swatchItem.SwatchColorHexCode,\r\n imageUrl: swatchItem.SwatchImageUrl,\r\n productImageUrls: swatchItem.ProductImageUrls,\r\n isDefault: swatchItem.IsDefault,\r\n swatchItemAriaLabel: swatchItemAriaLabel ? format(swatchItemAriaLabel, dimensionType) : '',\r\n isDisabled:\r\n enableStockCheck &&\r\n dimensionAvailabilities?.find(\r\n dimensionAvailability => dimensionAvailability.value === (swatchItem.SwatchValue ?? '')\r\n )?.isDisabled\r\n };\r\n }) ?? [];\r\n if (\r\n dimensionToPreSelectInProductCard !== DimensionTypes.none &&\r\n ArrayExtensions.hasElements(swatches) &&\r\n !swatches.some(swatch => swatch.isDefault) &&\r\n dimensionType === DimensionTypes.color\r\n ) {\r\n swatches[0].isDefault = true;\r\n }\r\n return { recordId: item.RecordId, swatches };\r\n })\r\n );\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', telemetryContent!, '', product.RecordId.toString());\r\n\r\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- -- Do not need type check for appsettings\r\n const isUnitOfMeasureEnabled = context.app.config && context.app.config.unitOfMeasureDisplayType === 'buyboxAndBrowse';\r\n\r\n /**\r\n * Gets the react node for product unit of measure display.\r\n * @param unitOfMeasure - DefaultUnitOfMeasure property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n function renderProductUnitOfMeasure(unitOfMeasure?: string): JSX.Element | null {\r\n if (!unitOfMeasure) {\r\n return null;\r\n }\r\n return (\r\n
\r\n {unitOfMeasure}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Gets the react node for product availability.\r\n * @param inventoryAvailabilityLabel - The product information.\r\n * @returns The node representing markup for product availability.\r\n */\r\n function renderProductAvailability(inventoryAvailabilityLabel: string | undefined): JSX.Element | null {\r\n if (!inventoryAvailabilityLabel || inventoryAvailabilityLabel === '') {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {inventoryAvailabilityLabel}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Gets the react node for product dimension as swatch.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n function renderProductDimensions(): JSX.Element | null {\r\n if (!ArrayExtensions.hasElements(swatchItems)) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {swatchItems.map(item => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Gets the react node for product description.\r\n * @param quickview - Quick view node.\r\n * @param item - Product id to de displayed in quickview.\r\n * @returns The product quickview component.\r\n */\r\n function renderQuickView(quickview: React.ReactNode, item?: number): JSX.Element | undefined {\r\n if (quickview === null) {\r\n return undefined;\r\n }\r\n const selectedDimensions: ProductDimension[] = selectedSwatchItems.getValues().map(swatches => {\r\n return {\r\n DimensionTypeValue: convertDimensionTypeToProductDimensionType(swatches.dimensionType),\r\n DimensionValue: {\r\n RecordId: 0,\r\n Value: swatches.value\r\n }\r\n };\r\n });\r\n return React.cloneElement(quickview as React.ReactElement, { selectedProductId: item, selectedDimensions });\r\n }\r\n\r\n /**\r\n * Gets the aria label for rating.\r\n * @param rating - Product rating.\r\n * @param ratingAriaLabelText - Aria label format for rating.\r\n * @returns The product rating aria label string.\r\n */\r\n function getRatingAriaLabel(rating?: number, ratingAriaLabelText?: string): string {\r\n if (rating && ratingAriaLabelText) {\r\n const roundedRating = rating.toFixed(2);\r\n return format(ratingAriaLabelText || '', roundedRating, '5');\r\n }\r\n return '';\r\n }\r\n\r\n /**\r\n * Gets the aria label for review count.\r\n * @param reviewCount - Product review count.\r\n * @param ratingCountAriaLabelText - Aria label format for review.\r\n * @returns The product review count aria label string.\r\n */\r\n function getReviewAriaLabel(reviewCount?: number, ratingCountAriaLabelText?: string): string {\r\n if (reviewCount && ratingCountAriaLabelText) {\r\n return format(ratingCountAriaLabelText || '', reviewCount);\r\n }\r\n return '';\r\n }\r\n\r\n /**\r\n * Gets the aria label string for product that includes product name with its price and rating.\r\n * @param name - Product name.\r\n * @param price - Product price.\r\n * @param rating - Product rating.\r\n * @param ratingAriaLabelText - Rating aria label text.\r\n * @param reviewCount - Product review count.\r\n * @param ratingCountAriaLabelText - Number of ratings.\r\n * @returns The aria label string for the product card.\r\n */\r\n function renderLabel(\r\n name?: string,\r\n price?: string,\r\n rating?: number,\r\n ratingAriaLabelText?: string,\r\n reviewCount?: number,\r\n ratingCountAriaLabelText?: string,\r\n availability?: string\r\n ): string {\r\n const reviewCountArialableText = getReviewAriaLabel(reviewCount, ratingCountAriaLabelText ?? '');\r\n return `${name ?? ''} ${price ?? ''} ${getRatingAriaLabel(rating, ratingAriaLabelText)}${\r\n reviewCountArialableText ? ` ${reviewCountArialableText}` : ''\r\n } ${availability ?? ''}`;\r\n }\r\n\r\n /**\r\n * Gets the react component for product rating.\r\n * @param productCardimageSettings - Module image settings for product card.\r\n * @param gridSettings - Grid settings defined in theme.\r\n * @param imageUrl - Image url.\r\n * @param fallbackImageUrl - Fallback url for imge.\r\n * @param altText - Image Alt text.\r\n * @param requestContext - Request context using the component.\r\n * @returns React component for product image.\r\n */\r\n function renderProductPlacementImage(\r\n productCardimageSettings?: IImageSettings,\r\n gridSettings?: IGridSettings,\r\n imageUrl?: string,\r\n fallbackImageUrl?: string,\r\n altText?: string,\r\n requestContext?: IRequestContext\r\n ): JSX.Element | null {\r\n if (!imageUrl || !gridSettings || !productCardimageSettings) {\r\n return null;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Site level config can be of any type.\r\n const emptyPlaceHolderImage = context.app.config.placeholderImageName as string;\r\n let fallbackImageSource = fallbackImageUrl;\r\n if (emptyPlaceHolderImage && fallbackImageUrl) {\r\n fallbackImageSource = `${fallbackImageUrl},${emptyPlaceHolderImage}`;\r\n }\r\n const image: IImageData = {\r\n src: imageUrl,\r\n altText: altText ? altText : '',\r\n fallBackSrc: fallbackImageSource\r\n };\r\n const imageProps: IImageProps = { gridSettings };\r\n\r\n imageProps.gridSettings = gridSettings;\r\n imageProps.imageSettings = productCardimageSettings;\r\n imageProps.imageSettings.cropFocalRegion = true;\r\n return ;\r\n }\r\n\r\n /**\r\n * Gets the react component for product rating.\r\n * @param coreContext - Context of the module using the component.\r\n * @param moduleTypeName - Module type name.\r\n * @param moduleId - Module id using the component.\r\n * @param productSearchResult - Product search result.\r\n * @param savingsPriceResourceText - Product price saving text.\r\n * @param freePriceResourceText - Product price free text.\r\n * @param originalPriceResourceText - Product price original text.\r\n * @param currentPriceResourceText - Product price current text.\r\n * @returns React component for Product price.\r\n */\r\n function renderPrice(\r\n coreContext: ICoreContext,\r\n moduleTypeName: string,\r\n moduleId: string,\r\n productSearchResult: ProductSearchResult,\r\n savingsPriceResourceText?: string,\r\n freePriceResourceText?: string,\r\n originalPriceResourceText?: string,\r\n currentPriceResourceText?: string,\r\n productPrice?: ProductPrice,\r\n customerInformation?: Customer\r\n ): JSX.Element {\r\n const product: SimpleProduct = {\r\n // This is a fake product. The product type is only used for price component to determine if it should show price range or not.\r\n ProductTypeValue: productSearchResult.IsMasterProduct ? ProductType.Master : ProductType.Standalone\r\n } as SimpleProduct;\r\n const price: ProductPrice =\r\n productPrice ??\r\n ({\r\n BasePrice: productSearchResult.BasePrice,\r\n AdjustedPrice: productSearchResult.Price,\r\n CustomerContextualPrice: productSearchResult.Price,\r\n // TODO from [gaweiche]: We should not put productSearchResult.Price into min/max price.\r\n // To minimize the change in a backport PR, I'll keep it as is for now.\r\n MaxVariantPrice: productSearchResult.MaxVariantPrice ? productSearchResult.MaxVariantPrice : productSearchResult.Price,\r\n MinVariantPrice: productSearchResult.MinVariantPrice ? productSearchResult.MinVariantPrice : productSearchResult.Price\r\n } as ProductPrice);\r\n // Todo: need to refactor it\r\n const customerTaxPercentage = taxPercentage(customerInformation!);\r\n console.log('customerTaxPercentage carousels', customerTaxPercentage);\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Gets the react node for product description.\r\n * @param description - Product description.\r\n * @returns The product description component.\r\n */\r\n function renderDescription(description?: string): JSX.Element | null {\r\n return

{description}

;\r\n }\r\n\r\n /**\r\n * Gets the react component for product rating.\r\n * @param coreContext - Context of the module using the component.\r\n * @param moduleTypeName - Module type name.\r\n * @param moduleId - Module id using the component.\r\n * @param avgRating - Average rating.\r\n * @param totalRatings - Total rating.\r\n * @param ariaLabel - Aria label for rating.\r\n * @returns React component for Product rating.\r\n */\r\n function renderRating(\r\n coreContext: ICoreContext,\r\n moduleTypeName: string,\r\n moduleId: string,\r\n avgRating?: number,\r\n totalRatings?: number,\r\n ariaLabel?: string\r\n ): JSX.Element | null {\r\n if (!avgRating) {\r\n return null;\r\n }\r\n\r\n const numberRatings = totalRatings?.toString() || undefined;\r\n const ratingAriaLabelText = getRatingAriaLabel(avgRating, ariaLabel);\r\n const ratingCountAriaLabelText = getReviewAriaLabel(Number(numberRatings), ratingCountAriaLabel);\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n const { isAuthenticated } = context.request.user;\r\n // VSI CUSTOMIZATION START ---> Create Product Component OOTB Working\r\n const ProductComponentOOTB = () => {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n {renderProductPlacementImage(\r\n imageSettings,\r\n context.request.gridSettings,\r\n productImageUrl,\r\n product.PrimaryImageUrl,\r\n product.Name,\r\n context.actionContext.requestContext\r\n )}\r\n
\r\n

{product.Name}

\r\n \r\n {renderProductDimensions()}\r\n
\r\n {renderPrice(\r\n context,\r\n typeName,\r\n id,\r\n product,\r\n savingsText,\r\n freePriceText,\r\n originalPriceText,\r\n currentPriceText,\r\n productPrice\r\n )}{' '}\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n {renderDescription(product.Description)}\r\n {!context.app.config.hideRating &&\r\n renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel)}\r\n {renderProductAvailability(inventoryLabel)}\r\n {quickViewButton && renderQuickView(quickViewButton, product.RecordId)}\r\n {productComparisonButton &&\r\n renderProductComparisonButton(productComparisonButton, product, getCatalogId(context.request))}\r\n
\r\n \r\n );\r\n };\r\n\r\n const ProductComponentTopRated = () => {\r\n //To set the producer name\r\n const [producerName, setProducerName] = React.useState('');\r\n //To set Image Url\r\n const [imgURI, setImgURL] = React.useState();\r\n\r\n //Loader State\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n\r\n //To find the manufacturar name\r\n React.useEffect(() => {\r\n _findProducer();\r\n }, [product.AttributeValues]);\r\n\r\n //To set the producer name\r\n React.useEffect(() => {\r\n const producerGlobalName: string = globalProducerName() || '';\r\n if (producerGlobalName) {\r\n setImgURL(producerGlobalName);\r\n }\r\n }, [producerName]);\r\n\r\n //to generate Image url after getting img url from api call\r\n React.useEffect(() => {\r\n if (imgURI) {\r\n let imageUrl = generateImageUrl(imgURI, context.actionContext.requestContext.apiSettings);\r\n imageUrl = imageUrl?.replace('=/', '=') || '';\r\n setImgURL(imageUrl);\r\n }\r\n }, [imgURI]);\r\n\r\n //use this function to render or display category image\r\n const _renderCategoryImg = (imgURI: string) => {\r\n return (\r\n
\r\n producer-images\r\n
\r\n );\r\n };\r\n\r\n //use this function to find the manufacturar\r\n const _findProducer = () => {\r\n setIsLoading(true);\r\n const producerName = productAttributes?.find(attr => attr.identifier === 'Manufacturer')?.TextValue || '';\r\n setProducerName(producerName);\r\n setIsLoading(false);\r\n return producerName;\r\n };\r\n\r\n return isLoading ? (\r\n \r\n ) : (\r\n \r\n
\r\n
\r\n
\r\n \r\n {imgURI && _renderCategoryImg(imgURI)}\r\n
\r\n
\r\n {renderProductPlacementImage(\r\n imageSettings,\r\n context.request.gridSettings,\r\n productImageUrl,\r\n product.PrimaryImageUrl,\r\n product.Name,\r\n context.actionContext.requestContext\r\n )}\r\n
\r\n
\r\n
\r\n

\r\n \r\n {product.Name}\r\n \r\n

\r\n {renderDescription(product.Description)}\r\n
\r\n \r\n .....\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const ProductComponentFocus = () => {\r\n //To set the producer name\r\n const [producerName, setProducerName] = React.useState('');\r\n\r\n //Loader State\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n const productAttributes = filteredProductAttributeList(product?.AttributeValues, context.app.config.kcProductAttribute);\r\n //To find the manufacturar name\r\n React.useEffect(() => {\r\n _findProducer();\r\n }, [productAttributes]);\r\n //use this function to find the manufacturar\r\n const _findProducer = () => {\r\n setIsLoading(true);\r\n const producerName = productAttributes?.find(attr => attr.identifier === 'Manufacturer')?.TextValue || '';\r\n setProducerName(producerName);\r\n setIsLoading(false);\r\n return producerName;\r\n };\r\n\r\n const _renderProducerKeyName = (): string => {\r\n return productAttributes?.find(attr => attr.identifier === 'Manufacturer')?.Name || '';\r\n };\r\n\r\n return isLoading ? (\r\n \r\n ) : (\r\n \r\n
\r\n \r\n
\r\n {context.request.user.isAuthenticated ? (\r\n \r\n See More Details\r\n \r\n ) : (\r\n \r\n {requestPrice?.linkText}\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const toCheckValue = String(isDisplayType)\r\n .toLocaleLowerCase()\r\n .trim();\r\n if (toCheckValue === toDisplayProdCollection.ootb.toLowerCase()) {\r\n return ;\r\n } else if (toCheckValue === toDisplayProdCollection.topRated.toLowerCase()) {\r\n return ;\r\n } else if (toCheckValue === toDisplayProdCollection.focus.toLowerCase()) {\r\n return ;\r\n }\r\n return ;\r\n\r\n //VSI CUSTOMIZATION END\r\n};\r\n\r\nexport const ProductComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride<\r\n IProductComponent\r\n>('Product', { component: ProductCard, ...PriceComponentActions });\r\n\r\nexport default ProductComponent;\r\n","import React from 'react';\r\nexport const PromotionBadges: React.FC = ({ promotionalBadge, context }) => {\r\n const { enableBadges, badges } = context?.actionContext?.requestContext?.app.config;\r\n const badgeUI = badges?.find((badge: { label: string }) => badge?.label?.trim() === promotionalBadge?.trim());\r\n if (enableBadges && context?.actionContext?.requestContext?.user?.isAuthenticated && promotionalBadge?.length !== 0) {\r\n return (\r\n \r\n {promotionalBadge}\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionsWithAvailabilitiesFull } from '@msdyn365-commerce/commerce-entities';\nimport { ProductDimensionsMatrix } from '@msdyn365-commerce/components';\nimport { RichTextComponent } from '@msdyn365-commerce/core';\nimport { ICoreContext, getCatalogId } from '@msdyn365-commerce/core-internal';\nimport { ArrayExtensions, IDimensionsApp, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, Collapse, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { FeatureState } from '@msdyn365-commerce/retail-proxy';\nimport { IBulkPurchaseData } from './bulk-purchase.data';\nimport { IBulkPurchaseProps } from './bulk-purchase.props.autogenerated';\n\n/**\n * Additional optional props for the bulk purchase.\n */\nexport interface IBulkPurchaseExtendedProps extends IBulkPurchaseProps {\n productDimensions?: IProductDimensionsWithAvailabilitiesFull[];\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseViewProps extends IBulkPurchaseProps {\n container: IModuleProps;\n content: React.ReactElement;\n}\n\n/**\n * BulkPurchase state message Interface.\n */\nexport interface IBulkPurchaseStateMessage {\n isOpen: boolean;\n messageGlyph: string;\n messageText: string;\n statusCssString: string;\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseState {\n isExpanded: boolean;\n stateMessage?: IBulkPurchaseStateMessage;\n}\n\n/**\n * Bulk-purchase module.\n */\nexport class BulkPurchase extends React.PureComponent {\n public static readonly className = 'ms-bulk-purchase';\n private readonly _errorCssClass: string = 'danger';\n private readonly _errorCssGlyphClass: string = 'fas fa-exclamation-triangle';\n private readonly collapseRef: React.RefObject = React.createRef();\n\n public constructor(props: IBulkPurchaseExtendedProps) {\n super(props);\n\n this.state = {\n isExpanded: false\n };\n }\n\n public render(): React.ReactElement | null {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const hasDimensionsInData = ArrayExtensions.hasElements(this.props.data.productDimensions?.result);\n if (!hasDimensionsInProps && !hasDimensionsInData) {\n return null;\n }\n\n const viewProps: IBulkPurchaseViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className: classnames(BulkPurchase.className, this.props.config.className)\n },\n content: this._renderCollapseContent(`${BulkPurchase.className}__content`)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _renderCollapseContent(className: string): React.ReactElement {\n return (\n
\n {this._renderCollapseButton(`${className}__collapse-button`)}\n {this._renderCollapse(`${className}__collapse`)}\n
\n );\n }\n\n private _renderCollapseButton(className: string): React.ReactElement {\n return (\n \n {this.props.resources.bulkPurchaseHeaderTitle}\n \n );\n }\n\n /**\n *This function is being used to handel variant change dropdown.\n */\n private _dimensionDropDownChange = () => {\n this.collapseRef.current?.reEvaluateHeight();\n };\n\n private _renderCollapse(className: string): React.ReactElement {\n return (\n \n {this._renderMainContent(`${className}__main-content`)}\n \n );\n }\n\n private _renderMainContent(className: string): React.ReactElement {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n const userMessageNode = this.state.stateMessage ? (\n \n \n {this.state.stateMessage.messageText}\n \n ) : (\n undefined\n );\n\n return (\n
\n {!isMobileDevice && (\n
\n \n
\n )}\n {userMessageNode}\n {this._renderMatrix(`${className}__matrix-container`)}\n
\n );\n }\n\n private _renderMatrix(className: string): React.ReactElement {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { featureState } = this.props.data;\n const isMultipleCatalogsFeatureEnabled =\n featureState?.result?.find((item: FeatureState) => item.Name === channelMultipleCatalogsFeature)?.IsEnabled || false;\n const catalogId = getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n return (\n }\n data={{\n dimensions: hasDimensionsInProps ? this.props.productDimensions! : this.props.data.productDimensions!.result!,\n orderTemplates: this.props.data.orderTemplates?.result,\n customerInformation: this.props.data.customerInformation?.result\n }}\n resources={this.props.resources}\n dimensionOnChange={this._dimensionDropDownChange}\n onErrorMessage={this._onErrorMessage}\n isMultipleCatalogFeatureEnabledInHq={isMultipleCatalogsFeatureEnabled}\n catalogId={catalogId}\n />\n );\n }\n\n private _onErrorMessage = (errorMessage: string) => {\n this.setState({\n stateMessage: {\n messageText: errorMessage,\n statusCssString: this._errorCssClass,\n messageGlyph: this._errorCssGlyphClass,\n isOpen: true\n }\n });\n };\n\n /**\n * Callback which toggles collapse mode.\n */\n private readonly _toggleCollapse = () => {\n this.setState(state => ({\n isExpanded: !state.isExpanded\n }));\n };\n}\n\nexport default BulkPurchase;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBulkPurchaseViewProps } from './bulk-purchase';\n\n/**\n * Bulk purchase view.\n * @param props - Bulk purchase view props.\n * @returns React node with a module.\n */\nexport const BulkPurchaseViewComponent: React.FC = props => {\n return {props.content};\n};\n\nexport default BulkPurchaseViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddToCartComponent,\n AddToOrderTemplateComponent,\n AddToWishlistComponent,\n IAddToCartFailureResult,\n IAddToCartResources,\n IAddToOrderTemplateDialogResources,\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\n IItemAddedToOrderTemplateDialogResources,\n IOrderTemplateActionErrorResult,\n IOrderTemplateNameDialogResources,\n IWishlistActionErrorResult,\n PriceComponent,\n RatingComponent\n} from '@msdyn365-commerce/components';\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\nimport { ICartActionResult, ICartState } from '@msdyn365-commerce/global-state';\nimport { ProductAvailableQuantity, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, DeliveryMode, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n ITelemetryContent,\n Node,\n Quantity,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonData,\n IBuyboxCommonResources,\n IBuyboxErrorBlockProps,\n IBuyboxExtentedProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IProductDetails,\n ShopSimiliarButtonType\n} from './buyboxInterface';\nimport { getConfigureErrors, getGenericError, getQuantityError } from './utilities/error-utilities';\n\nconst _getClassNamePrefix = (typeName: string): string => {\n return typeName.toLocaleLowerCase() === 'quickview' ? 'ms-quickView' : 'ms-buybox';\n};\n\nexport function getBuyBoxInventoryLabel(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const className = _getClassNamePrefix(typeName);\n if (!productAvailableQuantity || !ArrayExtensions.hasElements(productAvailableQuantity)) {\n return undefined;\n }\n const shippingInventory = productAvailableQuantity.find(shipping => shipping.deliveryType === DeliveryMode.shipping);\n\n if (shippingInventory) {\n let inventoryClassName: string;\n if (shippingInventory.StockLevelCode) {\n inventoryClassName = `${className}__inventory-label ${className}__inventory-code-${shippingInventory.StockLevelCode.toLowerCase()}`;\n } else {\n inventoryClassName = `${className}__inventory-label`;\n }\n return (\n
\n {shippingInventory.StockLevelLabel}\n
\n );\n }\n\n return undefined;\n}\n\nexport function getBuyboxProductTitle(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const {\n config: { titleHeadingTag = 'h1' },\n typeName\n } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product && ;\n}\n\nexport function getBuyboxProductDescription(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product &&

{product.Description}

;\n}\n\n/**\n * Gets the react node for product unit of measure display.\n * @param {IBuyboxExtentedProps} props The buybox module props.\n * @param {IProductDetails} productDetails The product details to be displyed in buybox.\n * @returns {React.ReactElement} The node representing markup for unit of measure component.\n */\nexport function getBuyboxProductUnitOfMeasure(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Do not need type check for appsettings\n if (\n props.context.app.config &&\n (!props.context.app.config.unitOfMeasureDisplayType || props.context.app.config.unitOfMeasureDisplayType === 'none')\n ) {\n return undefined;\n }\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n if (!product || !product.DefaultUnitOfMeasure) {\n props.telemetry.warning('Missing defult unit of measureor theproduct');\n return undefined;\n }\n\n return (\n
\n {product.DefaultUnitOfMeasure}\n
\n );\n}\n\nlet telemetryContent: ITelemetryContent;\n\n/**\n * On add to cart failed function.\n * @param props -The buybox module props.\n * @param state -The buybox module state.\n * @param callbacks -The buybox module callbacks.\n * @param defaultMinimumKeyInPrice -The default minimum key in price.\n * @param defaultMaximumKeyInPrice -The default maximum key in price.\n * @param cart -The cart state.\n * @param product -The simple product.\n * @param productAvailability -The product available quantity.\n * @returns Update error state.\n */\nconst onAddToCartFailed = (\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n cart: ICartState,\n product: SimpleProduct,\n productAvailability: ProductAvailableQuantity | undefined\n) => (result: IAddToCartFailureResult) => {\n let quantityErrorForState: string | undefined;\n let customAmountErrorForState: string | undefined;\n let otherErrorForState: string | undefined = getGenericError(\n result,\n cart,\n props.resources,\n props.context,\n product,\n productAvailability,\n undefined\n );\n\n if (result.failureReason === 'OUTOFSTOCK') {\n quantityErrorForState = result.failureReason === 'OUTOFSTOCK' ? getQuantityError(result.stockLeft, props.resources) : undefined;\n } else if (\n result.failureReason === 'CARTACTIONFAILED' &&\n result.cartActionResult &&\n (result.cartActionResult.substatus === 'MAXQUANTITY' || result.cartActionResult.substatus === 'QUANTITYLIMITS')\n ) {\n quantityErrorForState = getGenericError(result, cart, props.resources, props.context, product, productAvailability, undefined);\n otherErrorForState = undefined; // Prevent error duplication in otherError and quantityError\n }\n\n if (result.failureReason === 'INVALIDCUSTOMAMOUNT') {\n if (state.keyInPriceAmount === undefined || state.keyInPriceAmount < (props.config.minimumKeyInPrice || defaultMinimumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.minimumKeyInPrice || defaultMinimumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidSmallCustomAmountText.replace('{minAmount}', formatedAmountLimit);\n } else if (state.keyInPriceAmount > (props.config.maximumKeyInPrice || defaultMaximumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.maximumKeyInPrice || defaultMaximumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidLargeCustomAmountText.replace('{maxAmount}', formatedAmountLimit);\n }\n }\n\n callbacks.updateErrorState({\n errorHost: 'ADDTOCART',\n quantityError: quantityErrorForState,\n configureErrors:\n result.failureReason === 'MISSINGDIMENSION'\n ? getConfigureErrors(result.missingDimensions, props.resources, product?.IsGiftCard)\n : {},\n customAmountError: customAmountErrorForState,\n otherError: otherErrorForState\n });\n};\n\n/**\n * On Item Add To Cart function.\n * @param typeName -Type name.\n * @param callbacks -Buybox Callbacks.\n * @returns Change modal open.\n */\nconst onItemAddedToCart = (typeName: string, callbacks: IBuyboxCallbacks) => (result: ICartActionResult) => {\n if (typeName === 'quickview') {\n callbacks.changeModalOpen(false);\n }\n};\n\nexport function getBuyboxAddToCart(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n productDetails?: IProductDetails,\n hasAvailableProducts?: boolean\n): IBuyboxAddToCartViewProps {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const cart = props.data.cart?.result ?? productDetails?.cart;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const {\n quantity,\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct,\n isUpdatingDimension,\n isUpdatingDeliveryOptions,\n isServiceItem\n } = state;\n\n const productAvailability = state.productAvailableQuantity\n ? state.productAvailableQuantity.ProductAvailableQuantity\n : productAvailableQuantity && productAvailableQuantity.length > 0\n ? productAvailableQuantity[0].ProductAvailableQuantity\n : undefined;\n\n const dialogStrings: IAddToCartResources = {\n goToCartText: resources.buyBoxGoToCartText,\n continueShoppingText: resources.buyBoxContinueShoppingText,\n closeNotificationLabel: resources.closeNotificationLabel,\n headerItemOneText: resources.buyBoxSingleItemText,\n headerItemFormatText: resources.buyBoxMultiLineItemFormatText,\n headerMessageText: resources.buyBoxHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText,\n addedQuantityText: resources.addedQuantityText\n };\n\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n lg: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n xl: { q: 'w=240&h=240&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n const isProductQuantityLoading = typeName !== 'quickview' && props.data.productAvailableQuantity.status === 'LOADING';\n if (isProductQuantityLoading) {\n callbacks.changeUpdatingDimension(false);\n }\n\n const isLoadingDeliveryOptions = typeName !== 'quickview' && props.data.deliveryOptions?.status === 'LOADING';\n if (isLoadingDeliveryOptions && callbacks.changeUpdatingDeliveryOptions) {\n callbacks.changeUpdatingDeliveryOptions(false);\n }\n\n telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.typeName, props.telemetry);\n\n // Check if the product delivery mode is electronic\n const emailDeliveryModeCode = props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode;\n // from quickview we are not getting deliveryoptions in props.data hence getting it from quickview state\n const deliveryOptions = typeName === 'quickview' ? state.productDeliveryOptions : props.data.deliveryOptions?.result;\n const isEmailDelivery =\n ArrayExtensions.hasElements(deliveryOptions?.DeliveryOptions) && deliveryOptions!.DeliveryOptions[0].Code === emailDeliveryModeCode;\n const className = _getClassNamePrefix(typeName);\n const isDisabled = isUpdatingDimension && typeName === 'quickview';\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n return {\n ContainerProps: {\n className: `${className}__add-to-cart-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Get the React.ReactElement contains price.\n * @param props - The IBuyboxExtentedProps.\n * @param state - The buybox state.\n * @returns The React.ReactElement.\n */\nexport function getBuyboxProductPrice(props: IBuyboxExtentedProps, state: IBuyboxState): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n return (\n state.productPrice && (\n featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\n )?.IsEnabled\n }\n isSalesAgreementPriceFeatureEnabled={\n props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSalesAgreementPriceSupportFeature'\n )?.IsEnabled\n }\n priceResources={{\n priceRangeSeparator: resources.priceRangeSeparator,\n salesAgreementPricePrompt: resources.salesAgreementPricePrompt,\n salesAgreementExpirationDatePrompt: resources.salesAgreementExpirationDatePrompt,\n salesAgreementCommittedQuantityPrompt: resources.salesAgreementCommittedQuantityPrompt,\n salesAgreementRemainingQuantityPrompt: resources.salesAgreementRemainingQuantityPrompt\n }}\n freePriceText={resources.priceFree}\n originalPriceText={resources.originalPriceText}\n currentPriceText={resources.currentPriceText}\n />\n )\n );\n}\n\nexport function getBuyboxProductRating(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const ratingsSummary = props.data.ratingsSummary?.result ?? productDetails?.ratingsSummary;\n if (!ratingsSummary || !ratingsSummary.averageRating) {\n return
;\n }\n const ratingComponent = (\n \n );\n\n return ratingComponent;\n}\n\nfunction generateAddToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IAddToOrderTemplateDialogResources {\n return {\n addToOrderTemplateHeader: resources.addToOrderTemplateHeader,\n\n noOrderTemplatesMessage: resources.noOrderTemplatesMessage,\n noOrderTemplatesDescription: resources.noOrderTemplatesDescription,\n\n createAnOrderTemplateButtonText: resources.createAnOrderTemplateButtonText,\n createNewOrderTemplateButtonText: resources.createNewOrderTemplateButtonText,\n cancelOrderTemplateCreationButtonText: resources.cancelOrderTemplateCreationButtonText,\n\n selectTemplatesText: resources.selectTemplatesText,\n addToTemplateButtonText: resources.addToTemplateButtonText,\n lineItemsText: resources.lineItemsText\n };\n}\n\nfunction generateOrderTemplateNameDialogResources(resources: IBuyboxCommonResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\n orderTemplateDescription: resources.createOrderTemplateDescription,\n\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\n };\n}\n\nfunction generateItemAddedToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IItemAddedToOrderTemplateDialogResources {\n return {\n viewOrderTemplateButtonText: resources.viewOrderTemplateButtonText,\n continueShoppingButtonText: resources.continueShoppingButtonText,\n itemAddedToOrderTemplateHeaderItemOneText: resources.itemAddedToOrderTemplateHeaderItemOneText,\n itemAddedToOrderTemplateHeaderItemFormatText: resources.itemAddedToOrderTemplateHeaderItemFormatText,\n itemAddedToOrderTemplateHeaderMessageText: resources.itemAddedToOrderTemplateHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText\n };\n}\n\nfunction generateDuplicateItemsWhenAddingToOrderTemplateDialogResources(\n resources: IBuyboxCommonResources\n): IDuplicateItemsWhenAddingToOrderTemplateDialogResources {\n return {\n duplicatedProductsHeader: resources.duplicatedProductsHeader,\n duplicatedProductsDescription: resources.duplicatedProductsDescription,\n updateQuantityButtonText: resources.updateQuantityButtonText,\n cancelDuplicateItemsButtonText: resources.cancelDuplicateItemsButtonText\n };\n}\n\n/**\n * Add to order template failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox common resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToOrderTemplateFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IOrderTemplateActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'ORDER_TEMPLATE',\n configureErrors:\n result.status === 'MISSING_DIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToOrderTemplate(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n isMultipleCatalogsFeatureEnabled?: boolean,\n catalogId?: number\n): IBuyboxAddToOrderTemplateViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n orderTemplates: { result: orderTemplates },\n customerInformation: { result: customerInformation }\n },\n resources\n } = props;\n\n const product = props.data.product?.result;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n quantity\n } = state;\n\n // If custom amount is selected, add-to-orderTemplate is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n const className = _getClassNamePrefix(typeName);\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n\n return {\n ContainerProps: {\n className: `${className}__add-to-order-template-container`\n },\n button: product && orderTemplates && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Renders add to comparison button for the given product.\n * @param productComparisonButton - React element of the button.\n * @param product - Product information.\n * @param catalogId - Current catalog.\n * @param state - Buybox state.\n * @returns React element of the button.\n */\nexport function getBuyboxProductComparisonButton(\n productComparisonButton: React.ReactNode,\n product: SimpleProduct,\n catalogId: number,\n state: IBuyboxState\n): JSX.Element | undefined {\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n validateCatalogId(catalogId);\n return React.cloneElement(productComparisonButton as React.ReactElement, { product, catalogId });\n}\n\n/**\n * Add to wishlist failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IWishlistActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'WISHLIST',\n configureErrors:\n result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToWishlist(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n productDetails?: IProductDetails\n): IBuyboxAddToWishlistViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n wishlists: { result: wishlists }\n },\n resources\n } = props;\n\n const product = props.data.product?.result ? props.data.product.result : productDetails?.product;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct\n } = state;\n\n // If custom amount is selected, add-to-wishlist is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n const className = _getClassNamePrefix(typeName);\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n return {\n ContainerProps: {\n className: `${className}__add-to-wishlist-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * On quantity change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update quantity.\n */\nconst onQuantityChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number) => {\n if (callbacks.updateQuantity) {\n callbacks.updateQuantity(newValue);\n }\n};\n\nexport function getBuyboxProductQuantity(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxProductQuantityViewProps {\n const { resources, typeName } = props;\n\n const {\n quantity,\n min,\n max,\n errorState: { quantityError }\n } = state;\n\n const className = _getClassNamePrefix(typeName);\n\n return {\n ContainerProps: {\n className: `${className}__quantity`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__product-quantity-label`,\n htmlFor: `${className}__product-quantity-input`\n },\n heading:
{resources.productQuantityHeading}
,\n errors: quantityError && (\n \n \n ),\n input: (\n \n )\n };\n}\n\nexport function getBuyboxShopSimilarButton(\n props: IBuyboxExtentedProps,\n buttonType: ShopSimiliarButtonType\n): IBuyboxShopSimilarLookViewProps {\n const { resources, context, typeName } = props;\n const product = props.data.product?.result;\n\n const className = _getClassNamePrefix(typeName);\n const navigationUrl = (shopSimiliarButtonType: ShopSimiliarButtonType) => () => {\n const searchURL = getUrlSync('search', context && context.actionContext);\n const separator = searchURL!.includes('?') ? '&' : '?';\n document.location.href = `${searchURL}${separator}productId=${product &&\n product.RecordId}&recommendation=${shopSimiliarButtonType}`;\n };\n const telemetryText =\n buttonType === ShopSimiliarButtonType.Looks ? TelemetryConstant.ShopSimliarLooks : TelemetryConstant.ShopSimliarDescription;\n const payLoad = getPayloadObject('click', telemetryContent, telemetryText);\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n const text = buttonType === ShopSimiliarButtonType.Looks ? resources.shopSimilarLooksText : resources.shopSimilarDescriptionText;\n\n return {\n ContainerProps: {\n className: `${className}__shopsimilar${buttonType}`\n },\n input: (\n \n {text}\n \n )\n };\n}\n\n/**\n * On price change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update key in price.\n */\nconst onPriceChangeHandler = (callbacks: IBuyboxCallbacks) => (event: React.ChangeEvent) => {\n const value = event.currentTarget.value;\n callbacks.updateKeyInPrice(value.length > 0 ? Number(value) : Number.parseFloat(value));\n};\n\nexport function getBuyboxKeyInPrice(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxKeyInPriceViewProps {\n const { config, resources } = props;\n\n const {\n errorState: {}\n } = state;\n\n const className = _getClassNamePrefix(props.typeName);\n\n return {\n ContainerProps: {\n className: `${className}__key_in_price`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__key_in_price-label`,\n htmlFor: `${className}__key_in_price`\n },\n heading:
{resources.buyboxKeyInPriceLabelHeading}
,\n input: (\n \n )\n };\n}\n\nexport const BuyboxErrorBlock: React.FC = ({\n showError,\n configureErrors,\n quantityError,\n customAmountError,\n otherError,\n resources,\n enableHidePdpRepeatingErrors\n}) => {\n let errorMessages: (string | undefined)[] = [];\n\n // skip configuration repeating errors when flight is enabled\n if (!enableHidePdpRepeatingErrors) {\n errorMessages = Object.values(configureErrors).filter(message => message !== undefined);\n }\n\n // skip quantity repeating errors when flight is enabled\n if (quantityError && !enableHidePdpRepeatingErrors) {\n errorMessages.push(quantityError);\n }\n\n if (customAmountError) {\n errorMessages.push(customAmountError);\n }\n\n if (otherError) {\n errorMessages.push(otherError);\n }\n\n return (\n 0} color='danger' assertive aria-label={resources.buyboxErrorMessageHeader}>\n \n {errorMessages.map((message, index) => {\n return (\n
\n {message}\n
\n );\n })}\n
\n );\n};\n\nexport function getQuantityLimitsMessages(\n props: IBuyboxExtentedProps,\n state: IBuyboxState\n): React.ReactElement | undefined {\n const { resources } = props;\n\n const { min, max } = state;\n\n if (!_isOrderQuantityLimitsFeatureEnabled(props) && !_isChannelLimitsFeatureEnabled(props)) {\n return undefined;\n }\n\n return (\n \n {_renderMaxLabel(props, max, resources.maxQuantityText)}\n {_renderMinLabel(props, min, resources.minQuantityText)}\n \n );\n}\n\nexport const RetailDefaultOrderQuantityLimitsFeatureName: string = 'Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature';\nexport const EcommerceQuantityLimitConfigurationsFeatureName: string =\n 'Dynamics.AX.Application.EcommerceQuantityLimitConfigurationsFeature';\nexport const RevertToSiteBuilderOrderQuantityLimitsSettingsCRTFeatureName: string = 'RevertToSiteBuilderOrderQuantityLimitsSettings';\n\nconst _renderMaxLabel = (\n props: IBuyboxExtentedProps,\n max: number | undefined,\n maxQuantityText: string\n): React.ReactElement | undefined => {\n const { resources, typeName } = props;\n const className = _getClassNamePrefix(typeName);\n if (max && max !== 0 && max !== Number.MAX_VALUE) {\n return (\n

\n {resources.informationIconText}\n