{"version":3,"file":"static/js/21.4089e8290645e6b45cfa.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.tsx?0983","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoice-error-component.tsx?70c3","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoices-filter-component.tsx?742b","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoices-table/components/invoices-table-header-component.tsx?9171","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/helpers/invoice-status.ts?135b","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/helpers/pay-invoices.ts?48fe","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/pay-invoice-component.tsx?152e","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/request-invoice-button.tsx?f574","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoices-table/components/invoices-table-row-component.tsx?3581","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoices-table/invoices-table-component.tsx?e61f","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/make-payment-component.tsx?b306","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/request-invoice-modal.tsx?e6f1","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/helpers/invoice-data.ts?7485","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/components/invoices-table/components/invoice-tile.tsx?cc24","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/gdn-invoices-list.tsx?0d0c","webpack://Msdyn365.Commerce.Online/./src/modules/gdn-invoices-list/gdn-invoices-list.view.tsx?9e28","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/account-management-address.view.tsx?91fa","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/checkout.view.tsx?3fa6","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/checkout.view.tsx?4a6e","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Msdyn365.Commerce.Online/./src/utils/cartAttributeManager.ts?36c3","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/components/line-pagination.tsx?514b"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-loyalty-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountLoyaltyTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\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 { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\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 interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { Alert, Button, Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nexport interface IInvoiceErrorProps extends IComponentProps {\r\n messageHeader?: string;\r\n errorMessage?: string;\r\n otherError?: string;\r\n showError: boolean;\r\n payInvoiceErrorModalOpen: boolean;\r\n\r\n errorDialogHeader: string;\r\n errorDialogBodyErrorTitle: string;\r\n errorDialogBodyErrorDescription: string;\r\n errorDialogFooterGoToCartButtonText: string;\r\n errorDialogFooterCancelButtonText: string;\r\n cartUrl: string;\r\n\r\n setPayInvoiceErrorModalClose(): void;\r\n}\r\n\r\nexport interface IInvoiceErrorComponent extends IComponent {}\r\n\r\nexport const InvoiceError: React.FC = ({\r\n messageHeader,\r\n errorMessage,\r\n otherError,\r\n showError,\r\n payInvoiceErrorModalOpen,\r\n errorDialogHeader,\r\n errorDialogBodyErrorTitle,\r\n errorDialogBodyErrorDescription,\r\n errorDialogFooterGoToCartButtonText,\r\n errorDialogFooterCancelButtonText,\r\n cartUrl,\r\n setPayInvoiceErrorModalClose\r\n}) => {\r\n const errorMessages: (string | undefined)[] = [];\r\n\r\n if (otherError) {\r\n errorMessages.push(otherError);\r\n } else {\r\n errorMessages.push(errorMessage);\r\n }\r\n\r\n const className = 'msc-pay-invoice-error-dialog';\r\n\r\n return (\r\n <>\r\n 0} color='danger' assertive aria-label={messageHeader}>\r\n \r\n {errorMessages.map((message, index) => {\r\n return (\r\n
\r\n {message}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n {errorDialogHeader}\r\n \r\n \r\n
\r\n
{errorDialogBodyErrorTitle}
\r\n
{errorDialogBodyErrorDescription}
\r\n
\r\n
\r\n \r\n \r\n {errorDialogFooterGoToCartButtonText}\r\n \r\n \r\n {errorDialogFooterCancelButtonText}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\n// @ts-expect-error\r\nexport const InvoiceErrorComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'InvoiceError',\r\n { component: InvoiceError }\r\n);\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { EnumExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { IInvoiceStatusResources } from '../helpers/invoice-status';\r\n\r\nexport interface IInvoicesFilterResources extends IInvoiceStatusResources {\r\n invoicesFilterShowAll: string;\r\n}\r\n\r\nexport interface IInvoicesFilterProps extends IComponentProps {\r\n className: string;\r\n disabled: boolean;\r\n\r\n resources: IInvoicesFilterResources;\r\n\r\n currentState: InvoicesFilterState;\r\n onFilterStateChanged(state: InvoicesFilterState): void;\r\n}\r\n\r\nexport enum InvoicesFilterState {\r\n ShowAll,\r\n Paid,\r\n // PartiallyPaid,\r\n Unpaid\r\n}\r\n\r\nconst getInvoicesFilterStateResources = (filterState: InvoicesFilterState, resources: IInvoicesFilterResources): string => {\r\n switch (filterState) {\r\n case InvoicesFilterState.ShowAll:\r\n return resources.invoicesFilterShowAll;\r\n case InvoicesFilterState.Paid:\r\n return resources.invoiceStatusPaid;\r\n // case InvoicesFilterState.PartiallyPaid:\r\n // return resources.invoiceStatusPartiallyPaid;\r\n case InvoicesFilterState.Unpaid:\r\n return resources.invoiceStatusUnpaid;\r\n default:\r\n throw new Error('Failed to retrieve resource description for unknown invoices filter state.');\r\n }\r\n};\r\n\r\n/**\r\n * On Click function.\r\n * @param onStateClick -Invoice filter state function.\r\n * @param filterState -Invoice filter state.\r\n * @returns Set Invoice filter state.\r\n */\r\nconst onClickHandler = (onStateClick: (filterState: InvoicesFilterState) => void, filterState: InvoicesFilterState) => () => {\r\n onStateClick(filterState);\r\n};\r\n\r\nconst renderFilterStateItem = (\r\n filterState: InvoicesFilterState,\r\n resources: IInvoicesFilterResources,\r\n className: string,\r\n onStateClick: (filterState: InvoicesFilterState) => void\r\n): React.ReactNode => {\r\n const stateStringRepresentation = InvoicesFilterState[filterState];\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst InvoicesFilter: React.FC = (props: IInvoicesFilterProps) => {\r\n const popoverRef = React.createRef();\r\n const [popoverState, setPopoverState] = React.useState(false);\r\n const togglePopover = React.useCallback(() => {\r\n setPopoverState(!popoverState);\r\n }, [popoverState]);\r\n\r\n const [filterState, setFilterState] = React.useState(props.currentState);\r\n\r\n const onFilterStateClick = (clickedState: InvoicesFilterState) => {\r\n setFilterState(clickedState);\r\n setPopoverState(false);\r\n props.onFilterStateChanged(clickedState);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {getInvoicesFilterStateResources(filterState, props.resources)}\r\n \r\n \r\n {EnumExtensions.getEnumValues(InvoicesFilterState).map(state => {\r\n return renderFilterStateItem(state, props.resources, props.className, onFilterStateClick);\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const InvoicesFilterComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IInvoicesFilterProps\r\n>('InvoicesFilterComponent', { component: InvoicesFilter });\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 { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\n\r\nexport interface IInvoicesTableHeaderResources {\r\n invoicesText: string;\r\n invoiceNumberText: string;\r\n invoiceDateMobileText: string;\r\n invoiceDateText: string;\r\n invoiceUsersText: string;\r\n invoiceAmountText: string;\r\n invoiceDueDateText: string;\r\n invoiceAmountDueText: string;\r\n invoiceStatusText: string;\r\n invoiceActionsText: string;\r\n invoiceListSelectAllRadioAriaLabelText: string;\r\n}\r\n\r\nexport interface IInvoicesTableHeaderProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n isSelectedAll: boolean;\r\n isMobile: boolean;\r\n isAdmin: boolean;\r\n\r\n resources: IInvoicesTableHeaderResources;\r\n\r\n onSelectAll(isSelected: boolean): void;\r\n}\r\n\r\nexport interface IInvoicesTableHeaderComponent extends IComponent {}\r\n\r\nconst getDesktopHeaderCells = (props: IInvoicesTableHeaderProps, rowClassName: string, switchCheckedState: () => void) => {\r\n const { resources } = props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {resources.invoiceNumberText}\r\n {resources.invoiceDateText}\r\n {resources.invoiceUsersText}\r\n {resources.invoiceAmountText}\r\n {resources.invoiceDueDateText}\r\n {resources.invoiceAmountDueText}\r\n {resources.invoiceStatusText}\r\n {resources.invoiceActionsText}\r\n \r\n );\r\n};\r\n\r\nconst getMobileHeaderCells = (props: IInvoicesTableHeaderProps, rowClassName: string, switchCheckedState: () => void) => {\r\n const { resources } = props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {resources.invoicesText}\r\n {resources.invoiceDateMobileText}\r\n \r\n {` `}\r\n {/* Actions */}\r\n \r\n );\r\n};\r\n\r\nconst InvoicesTableHeader: React.FC = (props: IInvoicesTableHeaderProps): JSX.Element => {\r\n const rowClassName = `${props.className}__row`;\r\n\r\n const switchCheckedState = () => {\r\n props.onSelectAll(!props.isSelectedAll);\r\n };\r\n\r\n let headerCells: JSX.Element;\r\n if (props.isMobile) {\r\n headerCells = getMobileHeaderCells(props, rowClassName, switchCheckedState);\r\n } else {\r\n headerCells = getDesktopHeaderCells(props, rowClassName, switchCheckedState);\r\n }\r\n\r\n return (\r\n \r\n {headerCells}\r\n \r\n );\r\n};\r\n\r\nexport const InvoicesTableHeaderComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IInvoicesTableHeaderComponent\r\n>('InvoicesTableHeaderComponent', { component: InvoicesTableHeader });\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 { InvoicePaidStatus } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport interface IInvoiceStatusResources {\r\n invoiceStatusNone: string;\r\n invoiceStatusUnpaid: string;\r\n invoiceStatusPartiallyPaid: string;\r\n invoiceStatusPaid: string;\r\n}\r\n\r\nexport const getInvoiceStatusText = (resources: IInvoiceStatusResources, invoiceStatus: InvoicePaidStatus | undefined) => {\r\n switch (invoiceStatus) {\r\n case InvoicePaidStatus.None:\r\n return resources.invoiceStatusNone;\r\n\r\n case InvoicePaidStatus.Unpaid:\r\n return resources.invoiceStatusUnpaid;\r\n\r\n case InvoicePaidStatus.PartiallyPaid:\r\n return resources.invoiceStatusPartiallyPaid;\r\n\r\n case InvoicePaidStatus.Paid:\r\n return resources.invoiceStatusPaid;\r\n default:\r\n return '';\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 { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { IInvoiceErrorState } from '../gdn-invoices-list';\r\nimport { IPayableInvoice } from './invoice-data';\r\n\r\nexport type ICartActionFailureReason = 'EMPTYINPUT' | 'CARTACTIONFAILED';\r\nexport interface IAddInvoicesToCartFailureResult {\r\n failureReason: ICartActionFailureReason;\r\n}\r\n\r\nexport const payInvoices = async (\r\n invoices: IPayableInvoice[],\r\n actionContext: IActionContext,\r\n onError: (errorState: IInvoiceErrorState) => void\r\n) => {\r\n const invoicesToAdd: string[] = invoices.filter(invoice => invoice.canBePaid).map(invoice => invoice.id);\r\n\r\n if (!ArrayExtensions.hasElements(invoicesToAdd)) {\r\n onError({ errorMessage: '', errorReason: { failureReason: 'EMPTYINPUT' } });\r\n return;\r\n }\r\n\r\n const cartState = await getCartState(actionContext);\r\n const result = await cartState.addInvoicesToCart({ invoiceIds: invoicesToAdd });\r\n\r\n if (result.status !== 'SUCCESS') {\r\n onError({\r\n errorMessage: '',\r\n errorReason: { failureReason: 'CARTACTIONFAILED' },\r\n otherError: result.errorDetails?.LocalizedMessage,\r\n errorCode: result.errorDetails?.ErrorResourceId\r\n });\r\n return;\r\n }\r\n\r\n const cartUrl = getUrlSync('cart', actionContext);\r\n if (cartUrl) {\r\n window?.location.assign(cartUrl);\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 { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport { IPayableInvoice } from '../helpers/invoice-data';\r\nimport { payInvoices } from '../helpers/pay-invoices';\r\nimport { IInvoiceErrorState } from '../gdn-invoices-list';\r\n\r\nexport interface IPayInvoiceData {\r\n invoice: IPayableInvoice;\r\n}\r\n\r\nexport interface IPayInvoiceResources {\r\n payInvoiceButtonText: string;\r\n payInvoiceButtonAriaLabel: string;\r\n}\r\n\r\nexport interface IPayInvoiceProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n reference?: React.RefObject;\r\n resources: IPayInvoiceResources;\r\n disabled?: boolean;\r\n\r\n onError?(errorState: IInvoiceErrorState, reference?: React.RefObject): void;\r\n}\r\n\r\ninterface IPayInvoiceComponent extends IComponent {}\r\n\r\nconst onClick = async (\r\n _event: React.MouseEvent,\r\n props: IPayInvoiceProps,\r\n setDisabled: (disabled: boolean) => void\r\n): Promise => {\r\n if (props.data.invoice.amount !== undefined) {\r\n if (props.data.invoice.amount < 0) {\r\n // props.onError ? { errorMessage: '', errorReason: { failureReason: 'EMPTYINPUT' } } : _event.preventDefault();\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n } else {\r\n setDisabled(true);\r\n }\r\n\r\n const propagateError = (errorState: IInvoiceErrorState): void => {\r\n if (props.onError) {\r\n props.onError(errorState, props.reference);\r\n }\r\n setDisabled(false);\r\n };\r\n\r\n await payInvoices([props.data.invoice], props.context.actionContext, propagateError);\r\n};\r\n\r\nconst PayInvoiceComponentActions = {\r\n onClick\r\n};\r\n\r\n/**\r\n * On click handler function.\r\n * @param props -Invoice props.\r\n * @param setDisabled -Set disabled.\r\n * @returns Pay invoice component action.\r\n */\r\nconst onClickHandler = (props: IPayInvoiceProps, setDisabled: React.Dispatch>) => async (\r\n event: React.MouseEvent\r\n) => {\r\n await PayInvoiceComponentActions.onClick(event, props, setDisabled);\r\n};\r\n\r\nconst PayInvoice: React.FC = (props: IPayInvoiceProps): JSX.Element => {\r\n const [disabled, setDisabled] = useState(false);\r\n\r\n return (\r\n \r\n {props.resources.payInvoiceButtonText}\r\n \r\n );\r\n};\r\n\r\n// @ts-expect-error\r\nexport const PayInvoiceComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'PayInvoiceComponent',\r\n { component: PayInvoice, ...PayInvoiceComponentActions }\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 { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\ninterface IRequestInvoiceButtonProps {\r\n innerReference?: React.RefObject;\r\n className: string;\r\n requestInvoiceButtonLabel: string;\r\n onClicked(): void;\r\n}\r\n\r\nexport const RequestInvoiceButton: React.FC = ({\r\n className,\r\n onClicked,\r\n requestInvoiceButtonLabel,\r\n innerReference\r\n}) => {\r\n return (\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, {\r\n IComponent,\r\n IComponentProps,\r\n ICoreContext,\r\n IDateFormatOptions,\r\n isOboRequest,\r\n msdyn365Commerce\r\n} from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions, getInvoiceDetailsPageUrlSync, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, format } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React, { useState } from 'react';\r\n\r\nimport { InvoiceModel } from '../../../helpers/invoice-data';\r\nimport { getInvoiceStatusText, IInvoiceStatusResources } from '../../../helpers/invoice-status';\r\nimport { IInvoiceErrorState } from '../../../gdn-invoices-list';\r\nimport { IPayInvoiceResources, PayInvoiceComponent } from '../../pay-invoice-component';\r\nimport { RequestInvoiceButton } from '../../request-invoice-button';\r\nimport { IInvoicePaymentScheduleEntity } from '../../../../../actions/DataServiceEntities.g';\r\n\r\ninterface IInvoicesTableRowData {\r\n invoice: InvoiceModel;\r\n index: number;\r\n customer: Customer;\r\n}\r\n\r\nexport interface IInvoicesTableRowResources extends IInvoiceStatusResources, IPayInvoiceResources {\r\n invoiceCurrentUser: string;\r\n invoiceViewDetailsButtonText: string;\r\n invoiceViewDetailsButtonAriaLabel: string;\r\n invoiceActionsButtonTextAriaLabel?: string;\r\n invoiceActionsButtonIsOnBehalfOfTextAriaLabel?: string;\r\n invoiceRequestButtonLabel: string;\r\n invoiceListSelectRadioAriaLabelText: string;\r\n}\r\n\r\nexport interface IInvoicesTableRowProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n isMobile: boolean;\r\n invoiceReferences?: React.RefObject;\r\n payInvoiceReferences?: React.RefObject;\r\n resources: IInvoicesTableRowResources;\r\n invoiceBreakdown: IInvoicePaymentScheduleEntity[];\r\n\r\n onChange(): void;\r\n onError?(errorState: IInvoiceErrorState, reference?: React.RefObject): void;\r\n onRequestInvoice?(invoice: InvoiceModel, requestInvoiceButtonReference: React.RefObject): void;\r\n}\r\n\r\nexport interface IInvoicesTableRowComponent extends IComponent {}\r\n\r\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\r\n if (amount === undefined) {\r\n return '';\r\n }\r\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\r\n};\r\n\r\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\r\n if (date === undefined) {\r\n return '';\r\n }\r\n\r\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\r\n return context.cultureFormatter.formatDate(date, dateOptions);\r\n};\r\n\r\n/**\r\n * Request specific invoice function.\r\n * @param props -Invoice table row props.\r\n * @param requestInvoiceButtonReference -Reference button.\r\n * @returns Call Request Invoice.\r\n */\r\nconst onRequestSpecificInvoice = (\r\n props: IInvoicesTableRowProps,\r\n requestInvoiceButtonReference: React.RefObject\r\n) => () => {\r\n props.onRequestInvoice!(props.data.invoice, requestInvoiceButtonReference);\r\n};\r\n\r\nconst getDesktopRowCells = (props: IInvoicesTableRowProps, onSelectLine: () => void) => {\r\n const {\r\n data: { invoice, customer }\r\n } = props;\r\n\r\n const isCurrentUser =\r\n !StringExtensions.isNullOrWhitespace(customer.AccountNumber) && customer.AccountNumber === invoice.customerAccountNumber;\r\n\r\n const linkToInvoiceDetails = getInvoiceDetailsPageUrlSync(props.data.invoice.id, props.context.actionContext);\r\n const invoiceRowArialabel = format(props.resources.invoiceListSelectRadioAriaLabelText, invoice.id);\r\n const breakdownRows = props.invoiceBreakdown;\r\n if (ArrayExtensions.hasElements(breakdownRows)) {\r\n return (\r\n <>\r\n {breakdownRows.map((invoiceBreakdown, idx) => (\r\n \r\n \r\n \r\n \r\n {invoice.id}\r\n \r\n \r\n \r\n {formatDate(props.context, invoice.invoiceDate)}\r\n \r\n \r\n {invoice.customerName}\r\n {isCurrentUser ? {props.resources.invoiceCurrentUser} : null}\r\n \r\n {formatAmount(props.context, invoice.amount, invoice.currencyCode)}\r\n \r\n {formatDate(props.context, invoiceBreakdown.DueDate)}\r\n \r\n {formatAmount(props.context, invoiceBreakdown.AmountCur, invoice.currencyCode)}\r\n \r\n {getInvoiceStatusText(props.resources, invoice.status)}\r\n \r\n {extraActionsPopup(props)}\r\n \r\n ))}\r\n \r\n );\r\n }\r\n return (\r\n \r\n \r\n {checkIfCreditNote(invoice.amount) && (\r\n \r\n )}\r\n \r\n \r\n \r\n {invoice.id}\r\n \r\n \r\n \r\n {formatDate(props.context, invoice.invoiceDate)}\r\n \r\n \r\n {invoice.customerName}\r\n {isCurrentUser ? {props.resources.invoiceCurrentUser} : null}\r\n \r\n {formatAmount(props.context, invoice.amount, invoice.currencyCode)}\r\n \r\n {formatDate(props.context, invoice.dueDate)}\r\n \r\n {formatAmount(props.context, invoice.amountDue, invoice.currencyCode)}\r\n \r\n {getInvoiceStatusText(props.resources, invoice.status)}\r\n \r\n {extraActionsPopup(props)}\r\n \r\n );\r\n};\r\n\r\nlet setShowPreviousActions: React.Dispatch> | undefined;\r\n\r\n/**\r\n * On Click view details function.\r\n * @param linkToInvoiceDetails -Link to invoice details.\r\n * @returns Go to invoice details.\r\n */\r\nconst onClickViewDetails = (linkToInvoiceDetails: string) => () => {\r\n if (MsDyn365.isBrowser) {\r\n window.location.href = linkToInvoiceDetails;\r\n }\r\n return;\r\n};\r\n\r\n/**\r\n * Toggle function.\r\n * @param isShowActions -Link to invoice details.\r\n * @param setShowActions -Link to invoice details.\r\n * @returns Go to invoice details.\r\n */\r\nconst toggle = (isShowActions: boolean, setShowActions: React.Dispatch>) => () => {\r\n const shouldShowActions = !isShowActions;\r\n if (shouldShowActions) {\r\n if (setShowPreviousActions) {\r\n setShowPreviousActions(false);\r\n }\r\n setShowActions(shouldShowActions);\r\n setShowPreviousActions = setShowActions;\r\n } else {\r\n setShowPreviousActions = undefined;\r\n setShowActions(shouldShowActions);\r\n }\r\n};\r\n\r\nconst extraActionsPopup = (props: IInvoicesTableRowProps): JSX.Element | null => {\r\n const {\r\n resources: {\r\n invoiceViewDetailsButtonAriaLabel,\r\n invoiceViewDetailsButtonText,\r\n invoiceActionsButtonTextAriaLabel,\r\n invoiceActionsButtonIsOnBehalfOfTextAriaLabel\r\n },\r\n data: { index, invoice }\r\n } = props;\r\n\r\n const [showActions, setShowActions] = useState(false);\r\n const isOnBehalfOfRequest = isOboRequest(props.context.request);\r\n\r\n const linkToInvoiceDetails = getInvoiceDetailsPageUrlSync(props.data.invoice.id, props.context.actionContext);\r\n\r\n const className = `${props.className}__extra-actions-cell`;\r\n const actionsContainerClassName = `${className}__actions-container`;\r\n const payInvoiceClassName = `${actionsContainerClassName}__pay-invoice`;\r\n return (\r\n
\r\n \r\n {showActions && !isOnBehalfOfRequest && (\r\n
\r\n \r\n {invoiceViewDetailsButtonText}\r\n \r\n {checkIfCreditNote(invoice.amount) && (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst checkIfCreditNote = (amount: number | undefined) => amount && amount > 0;\r\n\r\nconst getMobileRowCells = (props: IInvoicesTableRowProps, onSelectLine: () => void) => {\r\n const {\r\n data: { invoice }\r\n } = props;\r\n\r\n const linkToInvoiceDetails = getInvoiceDetailsPageUrlSync(props.data.invoice.id, props.context.actionContext);\r\n const invoiceRowArialabel = format(props.resources.invoiceListSelectRadioAriaLabelText, invoice.id);\r\n return (\r\n <>\r\n \r\n {checkIfCreditNote(invoice.amount) && (\r\n \r\n )}\r\n \r\n \r\n \r\n {invoice.id}\r\n \r\n
\r\n {invoice.customerName}\r\n \r\n \r\n {formatDate(props.context, invoice.dueDate)}\r\n
\r\n {getInvoiceStatusText(props.resources, invoice.status)}\r\n \r\n {extraActionsPopup(props)}\r\n \r\n );\r\n};\r\n\r\nconst InvoicesTableRow: React.FC = (props: IInvoicesTableRowProps): JSX.Element => {\r\n const {\r\n data: { invoice }\r\n } = props;\r\n\r\n const onSelectLine = () => {\r\n invoice.isSelected = !invoice.isSelected;\r\n props.onChange();\r\n };\r\n\r\n if (props.isMobile) {\r\n return getMobileRowCells(props, onSelectLine);\r\n } else {\r\n return getDesktopRowCells(props, onSelectLine);\r\n }\r\n\r\n // return {rowCells}\r\n};\r\n\r\nexport const InvoicesTableRowComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IInvoicesTableRowComponent\r\n>('InvoicesTableRowComponent', { component: InvoicesTableRow });\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 { IComponent, IComponentProps, ICoreContext, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport React, { useState } from 'react';\r\n\r\nimport { InvoiceModel } from '../../helpers/invoice-data';\r\nimport { IInvoiceErrorState } from '../../gdn-invoices-list';\r\nimport { IInvoicesTableHeaderResources, InvoicesTableHeaderComponent } from './components/invoices-table-header-component';\r\nimport { IInvoicesTableRowResources, InvoicesTableRowComponent } from './components/invoices-table-row-component';\r\nimport { IInvoicePaymentScheduleEntity } from '../../../../actions/DataServiceEntities.g';\r\n\r\ninterface IInvoicesTableData {\r\n invoices: InvoiceModel[];\r\n customer: Customer;\r\n}\r\n\r\nexport interface IInvoicesTableResources extends IInvoicesTableHeaderResources, IInvoicesTableRowResources {}\r\n\r\nexport interface IInvoicesTableProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n invoiceButtonReferences?: React.RefObject[];\r\n payInvoiceButtonReferences?: React.RefObject[];\r\n resources: IInvoicesTableResources;\r\n invoiceBreakdown: IInvoicePaymentScheduleEntity[];\r\n onChange(): void;\r\n onError?(errorState: IInvoiceErrorState, reference?: React.RefObject): void;\r\n onRequestInvoice(invoice: InvoiceModel, requestInvoiceButtonReference: React.RefObject): void;\r\n}\r\n\r\nexport interface IInvoicesTableComponent extends IComponent {}\r\n\r\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nconst getViewport = (context: ICoreContext): GridSize => {\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 (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\nconst isMobileView = (context: ICoreContext) => {\r\n const viewport = getViewport(context);\r\n return viewport === 'xs' || viewport === 'sm';\r\n};\r\n\r\n/**\r\n * On select all function.\r\n * @param props -Invoice table props.\r\n * @returns On change.\r\n */\r\nconst onSelectAllHandler = (props: IInvoicesTableProps) => (isSelected: boolean) => {\r\n props.data.invoices.forEach(invoice => {\r\n if (invoice.amount && invoice.amount > 0) {\r\n invoice.isSelected = isSelected;\r\n }\r\n });\r\n props.onChange();\r\n};\r\n\r\nconst InvoicesTable: React.FC = (props: IInvoicesTableProps): JSX.Element => {\r\n const [isMobile, setIsMobile] = useState(isMobileView(props.context));\r\n\r\n const updateViewport = () => {\r\n setIsMobile(isMobileView(props.context));\r\n };\r\n\r\n if (typeof window !== undefined && window.addEventListener) {\r\n window.addEventListener('resize', updateViewport);\r\n }\r\n const rowClassName = `${props.className}__row`;\r\n const headerClassName = `${props.className}__header`;\r\n\r\n return (\r\n \r\n invoice.isSelected)}\r\n isMobile={isMobile}\r\n isAdmin={props.data.customer.IsB2bAdmin || false}\r\n onSelectAll={onSelectAllHandler(props)}\r\n resources={props.resources}\r\n data={{}}\r\n />\r\n {props.data.invoices.map((invoice, index: number) => {\r\n const matchingBreakdown = props.invoiceBreakdown.filter(inv => inv.Invoice === invoice.id);\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n );\r\n};\r\n\r\nexport const InvoicesTableComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IInvoicesTableComponent\r\n>('InvoicesTableComponent', { component: InvoicesTable });\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 { IComponent, IComponentProps, ICoreContext, ITelemetry, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport { InvoiceModel } from '../helpers/invoice-data';\r\nimport { payInvoices } from '../helpers/pay-invoices';\r\nimport { IInvoiceErrorState } from '../gdn-invoices-list';\r\n\r\ninterface IMakePaymentData {\r\n invoices: InvoiceModel[];\r\n}\r\n\r\nexport interface IMakePaymentResources {\r\n makePaymentButtonText: string;\r\n makePaymentButtonAriaLabel: string;\r\n}\r\n\r\nexport interface IMakePaymentProps extends IComponentProps {\r\n context: ICoreContext;\r\n itemKey?: string;\r\n telemetry: ITelemetry;\r\n moduleId: string;\r\n moduleTypeName: string;\r\n telemetryContent?: ITelemetryContent;\r\n navigationUrl?: string;\r\n buttonReferences?: React.RefObject;\r\n resources: IMakePaymentResources;\r\n disabled?: boolean;\r\n\r\n onError?(errorState: IInvoiceErrorState, reference?: React.RefObject): void;\r\n}\r\n\r\nexport interface IMakePaymentComponent extends IComponent {}\r\n\r\nconst onClick = async (\r\n _event: React.MouseEvent,\r\n props: IMakePaymentProps,\r\n setDisabled: (disabled: boolean) => void\r\n): Promise => {\r\n setDisabled(true);\r\n\r\n const propagateError = (errorState: IInvoiceErrorState): void => {\r\n if (props.onError) {\r\n props.onError(errorState, props.buttonReferences);\r\n }\r\n setDisabled(false);\r\n };\r\n\r\n await payInvoices(props.data.invoices, props.context.actionContext, propagateError);\r\n};\r\n\r\nconst MakePaymentComponentActions = {\r\n onClick\r\n};\r\n\r\n/**\r\n * On Click function.\r\n * @param input -Make payment props.\r\n * @param setDisabled -Set Disabled.\r\n * @returns Make payment component on click.\r\n */\r\nconst onClickHandler = (input: IMakePaymentProps, setDisabled: React.Dispatch>) => async (\r\n event: React.MouseEvent\r\n) => {\r\n await MakePaymentComponentActions.onClick(event, input, setDisabled);\r\n};\r\n\r\nconst MakePayment: React.FC = (input: IMakePaymentProps): JSX.Element => {\r\n const {\r\n data: { invoices }\r\n } = input;\r\n const hasInvoices = ArrayExtensions.hasElements(invoices.filter(invoice => invoice.canBePaid));\r\n const [disabled, setDisabled] = useState(false);\r\n\r\n return (\r\n \r\n {input.resources.makePaymentButtonText}\r\n \r\n );\r\n};\r\n\r\n// @ts-expect-error\r\nexport const MakePaymentComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'MakePayment',\r\n { component: MakePayment }\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 { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\r\n\r\n/* ---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { InvoiceModel } from '../helpers/invoice-data';\r\nimport { IGdnInvoicesListResources } from '../gdn-invoices-list.props.autogenerated';\r\n\r\ninterface IRequestInvoiceModalProps {\r\n className: string;\r\n email: string;\r\n isModalOpen: boolean;\r\n submitRequestLabel: string;\r\n modalHeaderLabel: string;\r\n sendToEmailLabel: string;\r\n cancelLabel: string;\r\n searchPlaceholderLabel: string;\r\n invoices: InvoiceModel[];\r\n invoicesFoundString: string;\r\n singleInvoiceFoundString: string;\r\n searchButtonAltText: string;\r\n resources: IGdnInvoicesListResources;\r\n toggle(): void;\r\n onSubmitRequest(invoiceId: string): void;\r\n}\r\n\r\n/**\r\n * On submit request click function.\r\n * @param selectedInvoiceIndex -Check is busy.\r\n * @param onClosing -On closing function.\r\n * @param filteredInvoices -Invoice modal.\r\n * @param onSubmitRequest -On submit request function.\r\n * @returns Call on submit request.\r\n */\r\nconst onSubmitRequestClick = (\r\n onClosing: () => void,\r\n filteredInvoices: InvoiceModel[],\r\n onSubmitRequest: (invoiceId: string) => void,\r\n checkboxRef: React.MutableRefObject\r\n) => () => {\r\n const defaultIndex = 0;\r\n let closingFlag: number = 0;\r\n\r\n filteredInvoices.map((invoice, index) => {\r\n const inputInvoice = checkboxRef.current[Number(index)] as React.RefObject;\r\n if (inputInvoice.current?.checked === true && index >= defaultIndex) {\r\n onSubmitRequest(invoice.id);\r\n closingFlag = closingFlag + 1;\r\n }\r\n });\r\n if (closingFlag <= filteredInvoices.length) {\r\n onClosing();\r\n }\r\n};\r\n\r\n/**\r\n * On search input change function.\r\n * @param setSearchInput -Set search input.\r\n * @returns Set search input function.\r\n */\r\nconst searchInputChangedHandler = (setSearchInput: React.Dispatch>) => (\r\n event: React.ChangeEvent\r\n) => {\r\n setSearchInput(event.target.value);\r\n};\r\n\r\n/**\r\n * Search entered handler.\r\n * @param invoices -InvoiceModel.\r\n * @param searchInput -String.\r\n * @param setFilteredInvoices -InvoiceModel action.\r\n * @param filteredInvoices -Filtered Invoices.\r\n * @param setSelectedInvoiceIndex -Selected Invoice Index.\r\n * @param setShouldShowSearchResults -Show search result action.\r\n * @param setInvoiceOptions -Invoice options action.\r\n * @param selectedInvoiceIndex -Selected invoice index.\r\n * @param className -String.\r\n * @returns Set invoice options.\r\n */\r\nconst searchEnteredHandler = (\r\n invoices: InvoiceModel[],\r\n searchInput: string,\r\n setFilteredInvoices: React.Dispatch>,\r\n filteredInvoices: InvoiceModel[],\r\n setSelectedInvoiceIndex: React.Dispatch>,\r\n setShouldShowSearchResults: React.Dispatch>,\r\n setInvoiceOptions: React.Dispatch>,\r\n selectedInvoiceIndex: number,\r\n className: string,\r\n checkboxRef: React.MutableRefObject\r\n) => () => {\r\n let updatedInvoices = filteredInvoices;\r\n if (!StringExtensions.isNullOrEmpty(searchInput)) {\r\n updatedInvoices = invoices.filter(invoice => invoice.id.toLocaleUpperCase().includes(searchInput.toLocaleUpperCase()));\r\n } else {\r\n updatedInvoices = invoices;\r\n }\r\n\r\n if (ArrayExtensions.hasElements(updatedInvoices)) {\r\n setFilteredInvoices(updatedInvoices);\r\n setSelectedInvoiceIndex(0);\r\n } else {\r\n setFilteredInvoices(updatedInvoices);\r\n setSelectedInvoiceIndex(-1);\r\n }\r\n setShouldShowSearchResults(true);\r\n\r\n setInvoiceOptions(\r\n renderInvoiceOptions(\r\n StringExtensions.isNullOrEmpty(searchInput) ? invoices : updatedInvoices,\r\n setSelectedInvoiceIndex,\r\n className,\r\n checkboxRef\r\n )\r\n );\r\n};\r\n\r\n/**\r\n * On cancel function.\r\n * @param onClosing -Closing function.\r\n * @param toggle -Toggle Function.\r\n * @returns Toggle function.\r\n */\r\nconst onCancelHandler = (onClosing: () => void, toggle: () => void) => () => {\r\n onClosing();\r\n toggle();\r\n};\r\n\r\n/**\r\n * On invoice select.\r\n * @param setSelectedInvoiceIndex -Set Selected Invoice Index.\r\n * @param index -Number.\r\n * @returns Set Selected Invoice Index.\r\n */\r\nconst onInvoiceSelectHandler = (setSelectedInvoiceIndex: (newIndex: number) => void, index: number) => () => {\r\n setSelectedInvoiceIndex(index);\r\n};\r\n\r\nconst renderInvoiceOptions = (\r\n filteredInvoices: InvoiceModel[],\r\n setSelectedInvoiceIndex: (newIndex: number) => void,\r\n className: string,\r\n checkboxRef: React.MutableRefObject\r\n) => {\r\n checkboxRef.current = filteredInvoices.map((_invoice, i) => checkboxRef.current[Number(i)] ?? React.createRef());\r\n return (\r\n
\r\n {filteredInvoices.map((invoice, index) => {\r\n const onInvoiceSelect = onInvoiceSelectHandler(setSelectedInvoiceIndex, index);\r\n\r\n const checkboxId = `invoice__${invoice.id}`;\r\n const checkboxName = `invoiceSelect__${invoice.id}`;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n );\r\n};\r\n\r\nexport const RequestInvoiceModal: React.FC = ({\r\n className,\r\n email,\r\n isModalOpen,\r\n toggle,\r\n modalHeaderLabel,\r\n sendToEmailLabel,\r\n submitRequestLabel,\r\n cancelLabel,\r\n onSubmitRequest,\r\n invoices,\r\n searchPlaceholderLabel,\r\n invoicesFoundString,\r\n singleInvoiceFoundString,\r\n searchButtonAltText,\r\n resources\r\n}) => {\r\n const [selectedInvoiceIndex, setSelectedInvoiceIndex] = React.useState(-1);\r\n const [filteredInvoices, setFilteredInvoices] = React.useState(invoices);\r\n const [searchInput, setSearchInput] = React.useState('');\r\n const [shouldShowSearchResults, setShouldShowSearchResults] = React.useState(false);\r\n const focusDelay = 110;\r\n const checkboxRef = React.useRef([]);\r\n const invoiceOptionsData = renderInvoiceOptions(filteredInvoices, setSelectedInvoiceIndex, className, checkboxRef);\r\n const [invoiceOptions, setInvoiceOptions] = React.useState(invoiceOptionsData);\r\n const focusElement = React.useRef(null);\r\n React.useEffect(() => {\r\n if (isModalOpen && focusElement.current) {\r\n setTimeout(() => {\r\n focusElement.current?.focus();\r\n }, focusDelay);\r\n }\r\n }, [isModalOpen]);\r\n\r\n /**\r\n * Sets the filtered invoices to the ones that were selected on the main screen.\r\n */\r\n const setFilteredInvoicesToSelectedInvoices = () => {\r\n setSelectedInvoiceIndex(-1);\r\n const selectedInvoices = invoices.filter(invoice => invoice.isSelected);\r\n if (ArrayExtensions.hasElements(selectedInvoices)) {\r\n setFilteredInvoices(selectedInvoices);\r\n\r\n // If only one invoice selected, auto select it\r\n if (selectedInvoices.length === 1) {\r\n setSelectedInvoiceIndex(0);\r\n }\r\n\r\n setInvoiceOptions(renderInvoiceOptions(selectedInvoices, setSelectedInvoiceIndex, className, checkboxRef));\r\n } else {\r\n setFilteredInvoices(invoices);\r\n setInvoiceOptions(renderInvoiceOptions(invoices, setSelectedInvoiceIndex, className, checkboxRef));\r\n }\r\n };\r\n\r\n const searchEntered = searchEnteredHandler(\r\n invoices,\r\n searchInput,\r\n setFilteredInvoices,\r\n filteredInvoices,\r\n setSelectedInvoiceIndex,\r\n setShouldShowSearchResults,\r\n setInvoiceOptions,\r\n selectedInvoiceIndex,\r\n className,\r\n checkboxRef\r\n );\r\n\r\n const onClosing = () => {\r\n setSelectedInvoiceIndex(-1);\r\n setFilteredInvoices(invoices);\r\n setSearchInput('');\r\n setShouldShowSearchResults(false);\r\n };\r\n\r\n /**\r\n * Sets the invoices that are possible to select when the dialog is opened.\r\n */\r\n const onOpened = () => {\r\n setSearchInput('');\r\n setFilteredInvoicesToSelectedInvoices();\r\n };\r\n\r\n const searchResultString = filteredInvoices.length === 1 ? singleInvoiceFoundString : invoicesFoundString;\r\n const invoicesFoundReplaceIndex = searchResultString.indexOf('{0}');\r\n\r\n return (\r\n \r\n \r\n {modalHeaderLabel}\r\n \r\n \r\n
\r\n \r\n
\r\n {email}\r\n
\r\n
\r\n {shouldShowSearchResults && (\r\n
\r\n {searchResultString.substring(0, invoicesFoundReplaceIndex)}\r\n {filteredInvoices.length}\r\n {searchResultString.substring(invoicesFoundReplaceIndex + 3)}\r\n
\r\n )}\r\n
\r\n \r\n \r\n
\r\n {invoiceOptions}\r\n
\r\n
\r\n
\r\n \r\n \r\n {submitRequestLabel}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { InvoicePaidStatus, InvoiceType, OrderInvoice } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport interface IPayableInvoice {\r\n readonly amount?: number;\r\n readonly id: string;\r\n readonly canBePaid: boolean;\r\n}\r\n\r\n/**\r\n * Represents invoice data model.\r\n */\r\nexport class InvoiceModel implements IPayableInvoice {\r\n public id: string;\r\n\r\n public invoiceDate?: Date;\r\n\r\n public customerAccountNumber?: string;\r\n\r\n public customerName?: string;\r\n\r\n public amount?: number;\r\n\r\n public dueDate?: Date;\r\n\r\n public amountDue?: number;\r\n\r\n public status?: InvoicePaidStatus;\r\n\r\n public currencyCode?: string;\r\n\r\n public isSelected: boolean;\r\n\r\n public invoiceTypeValue: InvoiceType;\r\n\r\n public constructor(invoice: OrderInvoice) {\r\n this.id = invoice.Id || '';\r\n this.invoiceDate = invoice.InvoiceDate ? new Date(invoice.InvoiceDate) : undefined;\r\n this.customerAccountNumber = invoice.CustomerAccountNumber;\r\n this.customerName = invoice.CustomerName;\r\n this.amount = invoice.TotalAmount;\r\n this.dueDate = invoice.InvoiceDueDate ? new Date(invoice.InvoiceDueDate) : undefined;\r\n this.amountDue = invoice.AmountBalance;\r\n this.status = invoice.InvoicePaidStatusValue;\r\n this.currencyCode = invoice.CurrencyCode;\r\n this.invoiceTypeValue = (invoice.InvoiceTypeValue as InvoiceType) || InvoiceType.None;\r\n this.isSelected = false;\r\n }\r\n\r\n public get canBePaid(): boolean {\r\n return this.status !== InvoicePaidStatus.Paid;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { InvoiceModel } from '../../../helpers';\r\nimport { IInvoicePaymentScheduleEntity } from '../../../../../actions/DataServiceEntities.g';\r\nimport { ICultureInfoFormatter } from '@msdyn365-commerce/core';\r\nimport { getInvoiceDetailsPageUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getInvoiceStatusText } from '../../../helpers/invoice-status';\r\nimport { IGdnInvoicesListResources } from '../../../gdn-invoices-list.props.autogenerated';\r\nimport { InvoicePaidStatus, InvoiceType } from '@msdyn365-commerce/retail-proxy';\r\n\r\ninterface InvoiceTileProps {\r\n invoice: InvoiceModel;\r\n invoiceBreakdownList: IInvoicePaymentScheduleEntity[];\r\n cultureFormatter: ICultureInfoFormatter;\r\n addInvoiceToCart: (\r\n invoiceId: string,\r\n amount: number,\r\n allowableFreightAmount: number,\r\n isAllowableRowSelected: boolean,\r\n amountDue: number\r\n ) => void;\r\n actionContext: any;\r\n resources: IGdnInvoicesListResources;\r\n cart?: any;\r\n //addAllowableFreightAmountToCart: (invoiceId: string, amount: number, isSelected: boolean) => void;\r\n allowMultipleInvoicePayment?: boolean;\r\n paymentAddedMessage?: string;\r\n}\r\n\r\nexport const InvoiceTile: React.FC = (props: InvoiceTileProps) => {\r\n const {\r\n invoice,\r\n invoiceBreakdownList,\r\n cultureFormatter: { formatCurrency, formatDate },\r\n addInvoiceToCart,\r\n actionContext,\r\n resources,\r\n cart,\r\n // addAllowableFreightAmountToCart,\r\n allowMultipleInvoicePayment,\r\n paymentAddedMessage\r\n } = props;\r\n\r\n const breakdown = invoiceBreakdownList\r\n .filter(inv => inv.Invoice === invoice.id)\r\n .sort((a, b) => new Date(a.DueDate ?? 0).getTime() - new Date(b.DueDate ?? 0).getTime());\r\n\r\n const calculateTotalAmount = (rows: boolean[]): number => {\r\n if (!rows.some(row => row)) {\r\n const totalInvoiceAmount = breakdown.reduce((sum, item) => sum + (item.AmountCur || 0), 0);\r\n const allowableFreightCharge = getAllowableFreightAmount();\r\n\r\n if (allowMultipleInvoicePayment) {\r\n return totalInvoiceAmount - allowableFreightCharge;\r\n } else {\r\n return (breakdown[0]?.AmountCur || 0) - allowableFreightCharge;\r\n }\r\n }\r\n\r\n const selectedAmount = rows.reduce((total, isSelected, idx) => {\r\n if (idx < breakdown.length) {\r\n return isSelected ? total + (breakdown[idx].AmountCur || 0) : total;\r\n }\r\n return total;\r\n }, 0);\r\n\r\n const allowableFreightCharge = getAllowableFreightAmount();\r\n\r\n if (selectedAmount >= allowableFreightCharge && rows[breakdown.length]) {\r\n return selectedAmount - allowableFreightCharge;\r\n }\r\n\r\n return selectedAmount;\r\n };\r\n\r\n const getEarliestInvoiceDue = () =>\r\n invoiceBreakdownList.reduce((earliest, current) => {\r\n return earliest.DueDate && current.DueDate && new Date(current.DueDate) < new Date(earliest.DueDate) ? current : earliest;\r\n }, invoiceBreakdownList[0]);\r\n\r\n const isPastDue = (date?: Date) => {\r\n const dateToCompare = date || getEarliestInvoiceDue()?.DueDate;\r\n return dateToCompare && new Date(dateToCompare) < new Date();\r\n };\r\n const getAllowableFreightAmount = (): number => {\r\n const charge = breakdown.find(b => (b.AllowableFreightCharge || 0) > 0)?.AllowableFreightCharge;\r\n if (!charge) {\r\n return 0;\r\n }\r\n if (isPastDue()) {\r\n return 0;\r\n }\r\n const dateToCompare = getEarliestInvoiceDue()?.DueDate;\r\n if (dateToCompare) {\r\n const isBefore15th = new Date() <= new Date(dateToCompare.getFullYear(), dateToCompare?.getMonth(), 15);\r\n return isBefore15th ? charge : 0;\r\n }\r\n return 0;\r\n };\r\n\r\n const [isCreditNote, setIsCreditNote] = React.useState(false);\r\n const [selectAll, setSelectAll] = React.useState(false);\r\n const [selectedRows, setSelectedRows] = React.useState(() => {\r\n if (allowMultipleInvoicePayment) {\r\n return breakdown.map(br => isPastDue(br.DueDate) ?? false);\r\n } else {\r\n const initialSelection = new Array(breakdown.length).fill(false);\r\n initialSelection.length > 0 && isPastDue(breakdown[0].DueDate) && (initialSelection[0] = true);\r\n return initialSelection;\r\n }\r\n });\r\n const [totalAmount, setTotalAmount] = React.useState(\r\n calculateTotalAmount(selectedRows) || (invoice.amountDue || 0) - getAllowableFreightAmount() || 0\r\n );\r\n\r\n const [displayedAmount, setDisplayedAmount] = React.useState(\r\n selectedRows.some(row => row) ? totalAmount?.toFixed(2) ?? '0.00' : '0.00'\r\n );\r\n\r\n const getDisplayedAmount = (rows: boolean[]): string => {\r\n const totalAmount = calculateTotalAmount(rows);\r\n if (!rows.some(row => row)) {\r\n return '0.00';\r\n }\r\n return totalAmount.toFixed(2);\r\n };\r\n\r\n const isInvoiceInCart = React.useMemo(() => {\r\n return cart.CartLines.some((line: any) => line.InvoiceId === invoice.id);\r\n }, [cart, invoice.id]);\r\n\r\n const linkToInvoiceDetails = getInvoiceDetailsPageUrlSync(invoice.id, actionContext);\r\n\r\n const handleSelectAll = (event: React.ChangeEvent) => {\r\n const checked = event.target.checked;\r\n\r\n const updatedRows = breakdown.map((_, idx) => {\r\n if (allowMultipleInvoicePayment) {\r\n return checked;\r\n }\r\n const isFirstInvoice = idx === 0;\r\n return checked && isFirstInvoice;\r\n });\r\n\r\n updatedRows[breakdown.length] = checked;\r\n\r\n setSelectAll(checked);\r\n setSelectedRows(updatedRows);\r\n setTotalAmount(calculateTotalAmount(updatedRows));\r\n setDisplayedAmount(getDisplayedAmount(updatedRows));\r\n };\r\n\r\n const handleRowSelect = (index: number) => {\r\n const updatedRows = [...selectedRows];\r\n const isSelected = !updatedRows[index];\r\n updatedRows[index] = isSelected;\r\n updatedRows[breakdown.length] = isSelected;\r\n\r\n const allSelected = updatedRows.every(Boolean);\r\n const noneSelected = updatedRows.every(checked => !checked);\r\n setSelectAll(allSelected ? true : noneSelected ? false : allSelected);\r\n\r\n setSelectedRows(updatedRows);\r\n setTotalAmount(calculateTotalAmount(updatedRows));\r\n setDisplayedAmount(getDisplayedAmount(updatedRows));\r\n };\r\n\r\n React.useEffect(() => {\r\n setIsCreditNote(invoice.invoiceTypeValue === InvoiceType.CreditNoteInvoice);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n let newSelections: boolean[] = new Array(breakdown.length).fill(false);\r\n let updatedSelections: boolean[] = [];\r\n setSelectedRows(prevSelectedRows => {\r\n if (allowMultipleInvoicePayment) {\r\n newSelections = breakdown.map(br => isPastDue(br.DueDate) ?? false);\r\n } else {\r\n newSelections.length > 0 && isPastDue(breakdown[0].DueDate) && (newSelections[0] = true);\r\n }\r\n updatedSelections = [...prevSelectedRows, ...newSelections.slice(prevSelectedRows.length)];\r\n return updatedSelections;\r\n });\r\n setDisplayedAmount(getDisplayedAmount(updatedSelections));\r\n }, [invoiceBreakdownList, allowMultipleInvoicePayment]);\r\n\r\n const discount = getAllowableFreightAmount();\r\n const invoiceBreakdown = invoiceBreakdownList.find(item => item.Invoice === invoice.id);\r\n const newInvoiceBreakdownList = invoiceBreakdownList.filter(item => item.Invoice === invoice.id);\r\n let allowableFreight = 0;\r\n if (newInvoiceBreakdownList.length > 1) {\r\n allowableFreight = newInvoiceBreakdownList.find(item => (item.AllowableFreightCharge || 0) > 0)?.AllowableFreightCharge || 0;\r\n if (allowableFreight > 0) {\r\n invoiceBreakdown && (invoiceBreakdown.AllowableFreightCharge = allowableFreight);\r\n }\r\n }\r\n const handleReset = () => {\r\n const selectedTotal = calculateTotalAmount(selectedRows);\r\n setTotalAmount(selectedTotal);\r\n setDisplayedAmount(getDisplayedAmount(selectedRows));\r\n };\r\n\r\n const handleButtonDisabled = () => {\r\n return (\r\n isInvoiceInCart ||\r\n invoice.amount! < 0 ||\r\n invoice.id.startsWith('FTC') ||\r\n invoice.id.startsWith('CN') ||\r\n Number(displayedAmount) === 0\r\n );\r\n };\r\n\r\n const shouldDisplayMessage = () => {\r\n return isInvoiceInCart;\r\n };\r\n\r\n const handleBlur = (value: string) => {\r\n const num = parseFloat(value.replace('$', ''));\r\n const cleanNum = isNaN(num) ? '0.00' : num.toFixed(2);\r\n setDisplayedAmount(cleanNum);\r\n };\r\n\r\n const InvoicePaidStatusMap = {\r\n [InvoicePaidStatus.None]: 'None',\r\n [InvoicePaidStatus.Unpaid]: 'Not Paid',\r\n [InvoicePaidStatus.PartiallyPaid]: 'Not Paid',\r\n [InvoicePaidStatus.Paid]: 'Paid'\r\n };\r\n\r\n const convertUTCDateToLocalDate = (date: Date) => {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n\r\n var offset = date.getTimezoneOffset() / 60;\r\n var hours = date.getHours();\r\n\r\n newDate.setHours(hours - offset);\r\n return newDate;\r\n };\r\n\r\n const shouldSelectAllowableFreightRow = Number(displayedAmount) === calculateTotalAmount(selectedRows);\r\n const disableAllowableFreightRow = true;\r\n let allowableFreightChargeActual: number = 0;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {invoice.id}\r\n \r\n
\r\n
\r\n Invoice Date: {formatDate(invoice.invoiceDate!)}\r\n
\r\n
\r\n Sales Order: {invoiceBreakdown?.SalesId}\r\n
\r\n
\r\n
\r\n
\r\n Amount: \r\n {formatCurrency(invoice.amount || 0, invoice.currencyCode)}\r\n
\r\n {!isCreditNote && (\r\n <>\r\n
\r\n Terms: \r\n {invoiceBreakdown?.Description}\r\n
\r\n
\r\n PO: \r\n {invoiceBreakdown?.PurchaseOrder}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {!isCreditNote && (\r\n
\r\n
\r\n {invoice.status !== 3 && isPastDue() ? (\r\n Past Due\r\n ) : (\r\n \r\n {getInvoiceStatusText(resources, invoice.status)}\r\n \r\n )}\r\n
\r\n {invoice.status !== 3 && (\r\n
\r\n Next Payment Due: \r\n {formatDate(convertUTCDateToLocalDate(invoice.dueDate!).toLocaleString())}\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n {invoice.status !== 3 && !isCreditNote &&
}\r\n\r\n {/* ticket 8686 */}\r\n {invoice.status === 3 ? (\r\n
\r\n
\r\n PAID: ${invoice.amount}\r\n
\r\n
\r\n ) : (\r\n
\r\n {discount ? (\r\n
\r\n Discount:{' '}\r\n {formatCurrency(discount, invoice.currencyCode)}\r\n
\r\n ) : null}\r\n {/* {discount > 0 ? (\r\n

\r\n Discount Amount: \r\n {formatCurrency(discount, invoice.currencyCode)}\r\n

\r\n ) : null} */}\r\n
\r\n
\r\n Amount Due: \r\n {formatCurrency(invoice.amountDue || 0, invoice.currencyCode)}\r\n
\r\n
\r\n Amount Paid: \r\n {formatCurrency((invoice.amount || 0) - (invoice.amountDue || 0), invoice.currencyCode)}\r\n
\r\n
\r\n {breakdown.length > 0 ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {breakdown.map((br, idx) => {\r\n const allowableFreightCharge = getAllowableFreightAmount();\r\n allowableFreightChargeActual = br.AllowableFreightCharge || 0;\r\n const earliestInvoiceDate = getEarliestInvoiceDue()?.DueDate;\r\n const allowableFreightDueDate =\r\n earliestInvoiceDate &&\r\n new Date(earliestInvoiceDate.getFullYear(), earliestInvoiceDate?.getMonth(), 15);\r\n const isCheckboxEnabled = allowMultipleInvoicePayment || idx === 0 || allowableFreightChargeActual;\r\n\r\n return (\r\n \r\n {allowableFreightCharge && allowableFreightChargeActual ? (\r\n \r\n \r\n \r\n {allowableFreightDueDate && (\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n undefined\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {isPastDue(br.DueDate) ? 'PAST DUE' : InvoicePaidStatusMap[invoice.status!]}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n {allowMultipleInvoicePayment && (\r\n \r\n )}\r\n PaymentDueStatus
\r\n {\r\n // handleRowSelect(breakdown.length);\r\n // // void addAllowableFreightAmountToCart(\r\n // // invoice.id,\r\n // // allowableFreightChargeActual,\r\n // // !selectedRows[breakdown.length]\r\n // // );\r\n // }}\r\n />\r\n {formatCurrency(-allowableFreightChargeActual, invoice.currencyCode)}{formatDate(allowableFreightDueDate)}Allowable Freight Discount if Paid by 15th
\r\n {isCheckboxEnabled ? (\r\n handleRowSelect(idx)}\r\n />\r\n ) : null}\r\n {formatCurrency(br.AmountCur || 0, invoice.currencyCode)}{formatDate(convertUTCDateToLocalDate(br.DueDate!).toLocaleString())}
\r\n
\r\n ) : null}\r\n {!isCreditNote && (\r\n <>\r\n {Number(displayedAmount) !== calculateTotalAmount(selectedRows) &&\r\n Number(displayedAmount) > 0 &&\r\n getAllowableFreightAmount() > 0 && (\r\n
Freight discount cannot be applied as the amount is insufficient
\r\n )}\r\n
\r\n
\r\n Pay:\r\n\r\n handleBlur(e.target.value)}\r\n onChange={e => {\r\n let value = e.target.value;\r\n value = value.replace('$', '');\r\n setDisplayedAmount(value);\r\n if (Number(value) < 0) {\r\n setTotalAmount(0);\r\n setDisplayedAmount('0.00');\r\n return;\r\n }\r\n if (Number(value) > calculateTotalAmount(selectedRows)) {\r\n setTotalAmount(calculateTotalAmount(selectedRows));\r\n !selectedRows.some(row => row)\r\n ? setDisplayedAmount(calculateTotalAmount(selectedRows).toFixed(2))\r\n : setDisplayedAmount(getDisplayedAmount(selectedRows));\r\n return;\r\n }\r\n setTotalAmount(value === '' ? null : Number(value));\r\n }}\r\n />\r\n
\r\n {\r\n handleBlur(displayedAmount ?? '0.00');\r\n const cleanedAmount = Number(displayedAmount ?? '0.00');\r\n addInvoiceToCart(\r\n invoice.id,\r\n Number(cleanedAmount!),\r\n allowableFreightChargeActual,\r\n shouldSelectAllowableFreightRow,\r\n invoice.amountDue!\r\n );\r\n // void addAllowableFreightAmountToCart(\r\n // invoice.id,\r\n // allowableFreightChargeActual,\r\n // shouldSelectAllowableFreightRow\r\n // );\r\n }}\r\n >\r\n Add to Cart\r\n \r\n
\r\n
\r\n {totalAmount === calculateTotalAmount(selectedRows) &&\r\n selectedRows.some(row => row) &&\r\n Number(displayedAmount) !== 0 ? (\r\n
Type in box to specify amount
\r\n ) : totalAmount === calculateTotalAmount(selectedRows) &&\r\n !selectedRows.some(row => row) &&\r\n Number(displayedAmount) === 0 ? (\r\n
Type in box to specify amount
\r\n ) : (\r\n
\r\n Reset to selected amount\r\n
\r\n )}\r\n {shouldDisplayMessage() && {paymentAddedMessage}}\r\n
\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getUrlSync, isOboRequest } from '@msdyn365-commerce/core';\r\nimport {\r\n AttributeTextValue,\r\n BusinessPartnerOperationDeliveryType,\r\n BusinessPartnerUsersDataActions,\r\n Cart,\r\n InvoicePaidStatus,\r\n InvoiceSearchCriteria,\r\n IQueryResultSettings,\r\n OrderInvoice\r\n} from '@msdyn365-commerce/retail-proxy';\r\nimport { getCurrentAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\r\nimport {\r\n ArrayExtensions,\r\n getCustomer,\r\n GetCustomerInput,\r\n // getInvoices,\r\n IQueryResultSettingsModuleConfig,\r\n QueryResultSettingsProxy,\r\n StringExtensions\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Alert, Button, Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport getInvoiceBreakdownAction, { GetInvoiceBreakdownInput } from '../../actions/get-invoice-breakdown.action';\r\nimport { InvoiceErrorComponent } from './components/invoice-error-component';\r\nimport { InvoicesFilterComponent, InvoicesFilterState } from './components/invoices-filter-component';\r\nimport { InvoicesTableComponent } from './components/invoices-table/invoices-table-component';\r\nimport { IMakePaymentResources, MakePaymentComponent } from './components/make-payment-component';\r\nimport { RequestInvoiceButton } from './components/request-invoice-button';\r\nimport { RequestInvoiceModal } from './components/request-invoice-modal';\r\nimport { InvoiceModel } from './helpers/invoice-data';\r\nimport { IAddInvoicesToCartFailureResult } from './helpers/pay-invoices';\r\nimport { IGdnInvoicesListData } from './gdn-invoices-list.data';\r\nimport { IGdnInvoicesListProps } from './gdn-invoices-list.props.autogenerated';\r\nimport getGdnInvoices, { GetGdnInvoicesInput } from '../../actions/get-gdn-invoices.action';\r\nimport { IInvoicePaymentScheduleEntity } from '../../actions/DataServiceEntities.g';\r\nimport { addInvoicesToCartAsync } from '../../actions/DataActionExtension.g';\r\nimport { InvoiceTile } from './components';\r\n\r\nexport type InvoicesListStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\r\nexport type InvoiceErrorHost = 'ADDINVOICETOCART';\r\n\r\nexport interface IInvoicesListViewProps extends IGdnInvoicesListProps {\r\n moduleProps: IModuleProps;\r\n\r\n header: JSX.Element;\r\n filter: JSX.Element;\r\n content?: JSX.Element;\r\n invoiceRequestModal?: JSX.Element;\r\n pagination?: JSX.Element;\r\n}\r\n\r\nexport interface IInvoiceErrorState {\r\n errorHost?: InvoiceErrorHost;\r\n errorReason?: IAddInvoicesToCartFailureResult;\r\n errorMessage: string;\r\n otherError?: string;\r\n errorCode?: string;\r\n}\r\n\r\nexport interface IInvoicesListState {\r\n invoices: InvoiceModel[];\r\n invoicesFilterState: InvoicesFilterState;\r\n errorState: IInvoiceErrorState;\r\n isInvoiceRequestModalOpen: boolean;\r\n isLoading: boolean;\r\n isOpen: boolean;\r\n isPageLoaded: boolean;\r\n payInvoiceErrorModalOpen: boolean;\r\n selectedButtonElement?: HTMLButtonElement | null;\r\n invoiceBreakdownList: IInvoicePaymentScheduleEntity[];\r\n}\r\n\r\n/**\r\n * InvoicesList component.\r\n * @extends {React.Component, IInvoicesListState>}\r\n */\r\n@observer\r\nclass InvoicesList extends React.Component, IInvoicesListState> {\r\n private readonly getInvoiceType = this.props.config?.invoiceTypes || [];\r\n\r\n private readonly _className: string = 'msc-invoices-list';\r\n\r\n private readonly payInvoiceRequestReference: React.RefObject;\r\n\r\n private readonly makePaymentReference: React.RefObject;\r\n\r\n private buttonChildReference: React.RefObject[] = [];\r\n\r\n private buttonChildPayButtonReference: React.RefObject[] = [];\r\n\r\n private readonly _queryResultSettings: IQueryResultSettings;\r\n\r\n private invoiceIds: string[] = [];\r\n\r\n constructor(props: IGdnInvoicesListProps) {\r\n super(props);\r\n\r\n this._queryResultSettings = QueryResultSettingsProxy.fromModuleData(\r\n this.props.context.request,\r\n this.props.config as IQueryResultSettingsModuleConfig\r\n ).QueryResultSettings;\r\n this.payInvoiceRequestReference = React.createRef();\r\n this.makePaymentReference = React.createRef();\r\n this._updateInvoicesState = this._updateInvoicesState.bind(this);\r\n this._onAddToCartFailed = this._onAddToCartFailed.bind(this);\r\n this._onToggleInvoiceRequestModal = this._onToggleInvoiceRequestModal.bind(this);\r\n this._handleFilterStateChange = this._handleFilterStateChange.bind(this);\r\n this._loadMoreInvoices = this._loadMoreInvoices.bind(this);\r\n this._requestInvoice = this._requestInvoice.bind(this);\r\n this._requestSpecificInvoice = this._requestSpecificInvoice.bind(this);\r\n this._setPayInvoiceErrorModalClose = this._setPayInvoiceErrorModalClose.bind(this);\r\n this._addInvoiceToCart = this._addInvoiceToCart.bind(this);\r\n this._addAllowableFreightAmountToCart = this._addAllowableFreightAmountToCart.bind(this);\r\n this.state = {\r\n invoices: [],\r\n invoicesFilterState: InvoicesFilterState.ShowAll,\r\n isLoading: true,\r\n isOpen: true,\r\n isPageLoaded: false,\r\n errorState: { errorMessage: '' },\r\n isInvoiceRequestModalOpen: false,\r\n payInvoiceErrorModalOpen: false,\r\n selectedButtonElement: null,\r\n invoiceBreakdownList: []\r\n };\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IGdnInvoicesListProps, nextState: IInvoicesListState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n config: { className = '', heading },\r\n resources: { invoicesListTitle }\r\n } = this.props;\r\n\r\n const invoicesListTitleHeading = heading?.text ?? invoicesListTitle;\r\n\r\n const headerClassName = `${this._className}__header`;\r\n\r\n const header = (\r\n
\r\n \r\n
\r\n {/*
{invoicesListDescTitle}
*/}\r\n {/*
{amountText}
\r\n
{countText}
*/}\r\n
\r\n
\r\n );\r\n\r\n const viewProps: IInvoicesListViewProps = {\r\n ...(this.props as IGdnInvoicesListProps),\r\n moduleProps: {\r\n moduleProps: this.props,\r\n className: classnames(this._className, className)\r\n },\r\n header,\r\n invoiceRequestModal: this._renderInvoiceRequestModal(),\r\n filter: this._renderInvoicesFilter(this._className),\r\n pagination: this._renderPagination()\r\n };\r\n\r\n if (!this.state.isPageLoaded) {\r\n return this.props.renderView(viewProps);\r\n }\r\n const renderListView = this.props.config.renderListView;\r\n\r\n if (ArrayExtensions.hasElements(this.state.invoices)) {\r\n if (renderListView) {\r\n viewProps.content = this._renderInvoiceTileView();\r\n } else {\r\n viewProps.content = this._renderListContainer();\r\n }\r\n } else {\r\n viewProps.content = this._renderEmptyInvoiceLinesPageContent();\r\n }\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n await this.props.data.customer;\r\n const invoicesData = await this.props.data.invoices;\r\n void this._initializeWithInvoices(invoicesData);\r\n\r\n reaction(\r\n () => this.state.isInvoiceRequestModalOpen,\r\n async () => {\r\n if (this.invoiceIds && !this.state.isInvoiceRequestModalOpen) {\r\n const context = { callerContext: this.props.context.actionContext };\r\n const b2bUserId: string = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\r\n for (const invoiceId of this.invoiceIds) {\r\n await BusinessPartnerUsersDataActions.requestInvoiceCopyAsync(\r\n context,\r\n b2bUserId,\r\n invoiceId,\r\n BusinessPartnerOperationDeliveryType.Email\r\n );\r\n }\r\n this.invoiceIds = [];\r\n }\r\n }\r\n );\r\n }\r\n\r\n private _addInvoiceToCart = async (\r\n invoiceId: string,\r\n amount: number,\r\n allowableFreightAmount: number,\r\n isAllowableRowSelected: boolean,\r\n amountDue: number\r\n ) => {\r\n let updateIdx = 1;\r\n const {\r\n context: { actionContext },\r\n data: { cart }\r\n } = this.props;\r\n\r\n void (await addInvoicesToCartAsync(\r\n { callerContext: actionContext },\r\n [{ Amount: amount, InvoiceId: invoiceId }],\r\n cart?.result?.cart.Id || ''\r\n ));\r\n await cart?.result?.refreshCart({});\r\n updateIdx++;\r\n if (updateIdx === 2 && allowableFreightAmount > 0) {\r\n await this._addAllowableFreightAmountToCart(invoiceId, allowableFreightAmount, isAllowableRowSelected, amount);\r\n updateIdx++;\r\n }\r\n if (updateIdx === 3) {\r\n await this._addAmountDueToCart(invoiceId, amountDue);\r\n }\r\n document.dispatchEvent(new CustomEvent('INVOICE_ADDED'));\r\n };\r\n\r\n private async _initializeWithInvoices(invoicesData: OrderInvoice[]): Promise {\r\n const allInvoices = invoicesData.map((invoice, index) => {\r\n this.buttonChildReference[Number(index)] = React.createRef();\r\n this.buttonChildPayButtonReference[Number(index)] = React.createRef();\r\n return new InvoiceModel(invoice);\r\n });\r\n const invoicesToLoad = invoicesData.filter(inv => !this.state.invoiceBreakdownList.some(breakdown => breakdown.Invoice === inv.Id));\r\n if (!this.state.isPageLoaded) {\r\n // initial load\r\n const ids = allInvoices.map(inv => inv.id);\r\n const input = new GetInvoiceBreakdownInput(ids);\r\n const invoiceBreakdownList = await getInvoiceBreakdownAction(input, this.props.context.actionContext);\r\n this.setState({\r\n invoices: allInvoices,\r\n isLoading: false,\r\n isPageLoaded: true,\r\n invoiceBreakdownList: invoiceBreakdownList.invoiceBreakdownList\r\n });\r\n } else if (this.state.isPageLoaded && invoicesToLoad.length > 0) {\r\n const invoicesNotInState = invoicesToLoad.map((invoice, index) => {\r\n this.buttonChildReference[Number(index)] = React.createRef();\r\n this.buttonChildPayButtonReference[Number(index)] = React.createRef();\r\n return new InvoiceModel(invoice);\r\n });\r\n const ids = invoicesNotInState.map(inv => inv.id);\r\n const input = new GetInvoiceBreakdownInput(ids);\r\n const invoiceBreakdownList = await getInvoiceBreakdownAction(input, this.props.context.actionContext);\r\n this._addBreakdown(invoiceBreakdownList.invoiceBreakdownList);\r\n this.setState({\r\n invoices: allInvoices,\r\n isLoading: false,\r\n isPageLoaded: true\r\n });\r\n } else {\r\n this.setState({ invoices: allInvoices, isLoading: false });\r\n }\r\n }\r\n\r\n private _addInvoices(invoicesData: OrderInvoice[]): void {\r\n const newInvoices = invoicesData.map(invoice => new InvoiceModel(invoice));\r\n const invoices = this.state.invoices.concat(newInvoices);\r\n this.setState({\r\n invoices,\r\n isLoading: false\r\n });\r\n }\r\n\r\n private _addBreakdown(breakdownData: IInvoicePaymentScheduleEntity[]): void {\r\n // const breakdowns = this.state.invoiceBreakdownList.concat(breakdownData);\r\n const breakdowns = [...this.state.invoiceBreakdownList, ...breakdownData];\r\n this.setState({ invoiceBreakdownList: breakdowns });\r\n }\r\n\r\n private _renderEmptyInvoiceLinesPageContent(): JSX.Element {\r\n const containerClass = `${this._className}__empty-lines__container`;\r\n const actionsContainerClass = `${containerClass}__actions`;\r\n return (\r\n
\r\n
{this.props.resources.invoiceEmptyInvoiceLinesTitle}
\r\n
{this.props.resources.invoiceEmptyInvoiceLinesDescription}
\r\n
\r\n \r\n {this.props.resources.invoiceEmptyInvoiceLinesContinueShoppingButtonText}\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n private _getBreakdownForInvoice(invoice: InvoiceModel): IInvoicePaymentScheduleEntity[] {\r\n return this.state.invoiceBreakdownList.filter(inv => inv.Invoice === invoice.id);\r\n }\r\n\r\n private _renderInvoiceTileView(): JSX.Element {\r\n const { invoices } = this.state;\r\n const containerClass = `${this._className}__container`;\r\n const containerHeaderClass = `${containerClass}__header`;\r\n return (\r\n <>\r\n
{this._renderInvoiceRequestButton()}
\r\n
\r\n {invoices.map(inv => (\r\n \r\n ))}\r\n
\r\n \r\n );\r\n }\r\n\r\n private _addAmountDueToCart = async (invoiceId: string, amountDue: number) => {\r\n const cart: Cart = Object.assign({}, (await this.props.data.cart)?.cart);\r\n let attributeArr: AttributeTextValue[] = cart.AttributeValues || [];\r\n const invoiceAmountDueIdx = attributeArr.findIndex(attribute => attribute.Name === 'InvoiceAmountDue');\r\n\r\n let invoiceAmountDueData: { invoiceId: string; amountDue: number }[] = [];\r\n\r\n if (invoiceAmountDueIdx !== -1) {\r\n try {\r\n invoiceAmountDueData = JSON.parse(attributeArr[invoiceAmountDueIdx].TextValue || '[]');\r\n } catch {\r\n invoiceAmountDueData = [];\r\n }\r\n }\r\n const existingIndex = invoiceAmountDueData.findIndex(item => item.invoiceId === invoiceId);\r\n\r\n let isInvoiceAmountDueUpdated = false;\r\n if (existingIndex !== -1) {\r\n if (invoiceAmountDueData[existingIndex].amountDue !== amountDue) {\r\n invoiceAmountDueData[existingIndex].amountDue = amountDue;\r\n isInvoiceAmountDueUpdated = true;\r\n } else {\r\n return;\r\n }\r\n } else {\r\n invoiceAmountDueData.push({ invoiceId, amountDue: amountDue });\r\n isInvoiceAmountDueUpdated = true;\r\n }\r\n\r\n if (isInvoiceAmountDueUpdated) {\r\n const serializedInvoiceAmountDueValue = JSON.stringify(invoiceAmountDueData);\r\n\r\n const invoiceAmountDueAttribute = {\r\n '@odata.type': '#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue',\r\n Name: 'InvoiceAmountDue',\r\n ExtensionProperties: [],\r\n TextValue: serializedInvoiceAmountDueValue,\r\n TextValueTranslations: []\r\n };\r\n\r\n if (invoiceAmountDueIdx !== -1) {\r\n attributeArr.splice(invoiceAmountDueIdx, 1, invoiceAmountDueAttribute);\r\n } else {\r\n attributeArr.push(invoiceAmountDueAttribute);\r\n }\r\n }\r\n cart.AttributeValues = attributeArr;\r\n await (await this.props.data.cart)?.updateCart({ newCartObject: cart });\r\n };\r\n\r\n private _addAllowableFreightAmountToCart = async (invoiceId: string, amount: number, isSelected: boolean, invoiceAmountDue: number) => {\r\n const cart: Cart = Object.assign({}, (await this.props.data.cart)?.cart);\r\n let attributeArr: AttributeTextValue[] = cart.AttributeValues || [];\r\n\r\n const allowableFreightIdx = attributeArr.findIndex(attribute => attribute.Name === 'AllowableFreightAmount');\r\n let freightData: { invoiceId: string; amount: number }[] = [];\r\n\r\n if (allowableFreightIdx !== -1) {\r\n try {\r\n freightData = JSON.parse(attributeArr[allowableFreightIdx].TextValue || '[]');\r\n } catch {\r\n freightData = [];\r\n }\r\n\r\n if (isSelected && freightData.some(item => item.invoiceId === invoiceId)) {\r\n return;\r\n }\r\n }\r\n\r\n let isCartUpdated = false;\r\n if (isSelected) {\r\n const existingIndex = freightData.findIndex(item => item.invoiceId === invoiceId);\r\n if (existingIndex !== -1) {\r\n freightData[existingIndex].amount = amount;\r\n } else {\r\n freightData.push({ invoiceId, amount });\r\n }\r\n isCartUpdated = true;\r\n } else {\r\n const prevLength = freightData.length;\r\n freightData = freightData.filter(item => item.invoiceId !== invoiceId);\r\n isCartUpdated = prevLength !== freightData.length;\r\n }\r\n\r\n if (isCartUpdated) {\r\n const serializedFreightValue = JSON.stringify(freightData);\r\n\r\n const allowableFreightAttribute = {\r\n '@odata.type': '#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue',\r\n Name: 'AllowableFreightAmount',\r\n ExtensionProperties: [],\r\n TextValue: serializedFreightValue,\r\n TextValueTranslations: []\r\n };\r\n\r\n if (allowableFreightIdx !== -1) {\r\n attributeArr.splice(allowableFreightIdx, 1, allowableFreightAttribute);\r\n } else {\r\n attributeArr.push(allowableFreightAttribute);\r\n }\r\n }\r\n cart.AttributeValues = attributeArr;\r\n await (await this.props.data.cart)?.updateCart({ newCartObject: cart });\r\n };\r\n\r\n private _renderListContainer(): JSX.Element {\r\n const containerClass = `${this._className}__container`;\r\n const containerHeaderClass = `${containerClass}__header`;\r\n const containerContentClass = `${containerClass}__content`;\r\n const isOnBehalfOfRequest = isOboRequest(this.props.context.request);\r\n\r\n return (\r\n
\r\n
\r\n {this._renderMakePayment(containerHeaderClass, isOnBehalfOfRequest)}\r\n {this._renderInvoiceRequestButton()}\r\n
\r\n
{this._renderInvoiceErrors()}
\r\n
{this._renderInvoicesList(containerContentClass)}
\r\n
\r\n );\r\n }\r\n\r\n private _updateInvoicesState(): void {\r\n this.setState({\r\n invoices: this.state.invoices\r\n });\r\n }\r\n\r\n private async _getInvoicesSearchCriteria(state: InvoicesFilterState): Promise {\r\n const searchCriteria: InvoiceSearchCriteria = {};\r\n\r\n const context = this.props.context.actionContext;\r\n\r\n const businessPartner = await getCurrentAsync({ callerContext: context });\r\n searchCriteria.BusinessPartnerId = businessPartner.BusinessPartnerId;\r\n\r\n const customer = await getCustomer(new GetCustomerInput(context.requestContext.apiSettings), context);\r\n searchCriteria.CustomerId = customer.AccountNumber;\r\n\r\n switch (state) {\r\n case InvoicesFilterState.ShowAll:\r\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.None];\r\n break;\r\n case InvoicesFilterState.Paid:\r\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.Paid];\r\n break;\r\n // case InvoicesFilterState.PartiallyPaid:\r\n // searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.PartiallyPaid];\r\n // break;\r\n case InvoicesFilterState.Unpaid:\r\n searchCriteria.InvoicePaidStatusValues = [InvoicePaidStatus.Unpaid, InvoicePaidStatus.PartiallyPaid];\r\n break;\r\n default:\r\n throw new Error('Failed to process unknown invoices filter state.');\r\n }\r\n\r\n return searchCriteria;\r\n }\r\n\r\n private async _handleFilterStateChange(state: InvoicesFilterState): Promise {\r\n this.setState({\r\n invoicesFilterState: state,\r\n isLoading: true\r\n });\r\n\r\n const searchCriteria = await this._getInvoicesSearchCriteria(state);\r\n\r\n if (this._queryResultSettings.Paging) {\r\n this._queryResultSettings.Paging.Skip = 0;\r\n }\r\n\r\n const invoices = await getGdnInvoices(\r\n new GetGdnInvoicesInput(searchCriteria, this._queryResultSettings, this.getInvoiceType),\r\n this.props.context.actionContext\r\n );\r\n this._initializeWithInvoices(invoices);\r\n }\r\n\r\n private _renderInvoicesFilter(className: string): JSX.Element {\r\n const containerClass = `${this._className}__container`;\r\n const containerContentClass = `${containerClass}__content`;\r\n const filterClassName = `${className}__filter`;\r\n return (\r\n
\r\n
{this._renderItemsInCartMessage()}
\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderInvoicesList(className: string): JSX.Element {\r\n const tableClassName = `${className}__table`;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onAddToCartFailed(newErrorState: IInvoiceErrorState, reference?: React.RefObject): void {\r\n const errorState = { ...newErrorState };\r\n errorState.errorHost = 'ADDINVOICETOCART';\r\n errorState.errorMessage =\r\n newErrorState.errorReason?.failureReason === 'EMPTYINPUT'\r\n ? this.props.resources.invoiceErrorInvoiceIdNotExist\r\n : this.props.resources.invoiceErrorFailedAddInvoiceToCart;\r\n\r\n const shouldShowAdditionalInfoInPopup =\r\n errorState.errorCode === 'Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedWithItemLines';\r\n this.setState({ errorState, payInvoiceErrorModalOpen: shouldShowAdditionalInfoInPopup, selectedButtonElement: reference?.current });\r\n }\r\n\r\n private _renderMakePayment(className: string, disabled: boolean): JSX.Element {\r\n const id = `${className}__make-payment`;\r\n const makePaymentResources: IMakePaymentResources = {\r\n makePaymentButtonText: this.props.resources.makePaymentButtonText,\r\n makePaymentButtonAriaLabel: this.props.resources.makePaymentButtonAriaLabel\r\n };\r\n\r\n const selectedInvoices = this._getSelectedInvoices();\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _setPayInvoiceErrorModalClose(): void {\r\n this.setState({\r\n payInvoiceErrorModalOpen: false\r\n });\r\n this.state.selectedButtonElement?.focus();\r\n }\r\n\r\n private _renderInvoiceErrors(): JSX.Element {\r\n const {\r\n resources: {\r\n payInvoiceErrorDialogHeader,\r\n payInvoiceErrorDialogBodyErrorTitle,\r\n payInvoiceErrorDialogBodyErrorDescription,\r\n payInvoiceErrorDialogFooterGoToCartButtonText,\r\n payInvoiceErrorDialogFooterCancelButtonText\r\n }\r\n } = this.props;\r\n\r\n const cartUrl = getUrlSync('cart', this.props.context.actionContext) || '';\r\n\r\n const errorClassName = `${this._className}__errors`;\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderItemsInCartMessage(): JSX.Element {\r\n const cart = this.props.data.cart?.result;\r\n\r\n const message = cart?.hasInvoiceLine\r\n ? this.props.resources.invoiceInCartPaymentMessage\r\n : this.props.config.partsInCartPaymentMessage;\r\n\r\n // parts or invoice in cart\r\n if (!cart?.isEmpty && message) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n return <>;\r\n }\r\n\r\n // private _renderInvoiceInCartPaymentMessage(): JSX.Element {\r\n // const cart = this.props.data.cart?.result;\r\n\r\n // if (!cart?.hasInvoiceLine) {\r\n // return <>;\r\n // }\r\n\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // Dismiss alert.\r\n private readonly _onDismiss = () => {\r\n this.setState({\r\n isOpen: false\r\n });\r\n };\r\n\r\n private _renderPagination(): JSX.Element | undefined {\r\n const { data, resources } = this.props;\r\n const invoices = data?.invoices?.result;\r\n if (!invoices || invoices.length < this._queryResultSettings.Paging!.Top!) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n \r\n {resources.invoicesLoadMore}\r\n \r\n );\r\n }\r\n\r\n private async _loadMoreInvoices(): Promise {\r\n this.setState({ isLoading: true });\r\n const searchCriteria = await this._getInvoicesSearchCriteria(this.state.invoicesFilterState);\r\n if (this._queryResultSettings.Paging) {\r\n this._queryResultSettings.Paging.Skip! += this._queryResultSettings.Paging.Top!;\r\n }\r\n const newInvoices = await getGdnInvoices(\r\n new GetGdnInvoicesInput(searchCriteria, this._queryResultSettings, this.getInvoiceType),\r\n this.props.context.actionContext\r\n );\r\n this._addInvoices(newInvoices);\r\n\r\n // ticket 8686\r\n if (this.props.config.renderListView) {\r\n const newInvoiceModels = newInvoices.map((invoice, index) => {\r\n this.buttonChildReference[Number(index)] = React.createRef();\r\n this.buttonChildPayButtonReference[Number(index)] = React.createRef();\r\n return new InvoiceModel(invoice);\r\n });\r\n\r\n // get new invoices to load\r\n const invoicesToLoad = newInvoiceModels.filter(\r\n inv => !this.state.invoiceBreakdownList.some(breakdown => breakdown.Invoice === inv.id)\r\n );\r\n const ids = invoicesToLoad.map(inv => inv.id);\r\n const input = new GetInvoiceBreakdownInput(ids);\r\n\r\n // get breakdown list for paid and unpaid invoices\r\n const invoiceBreakdownList = await getInvoiceBreakdownAction(input, this.props.context.actionContext);\r\n this._addBreakdown(invoiceBreakdownList.invoiceBreakdownList);\r\n }\r\n }\r\n\r\n private _renderInvoiceRequestModal(): JSX.Element {\r\n const customer = this.props.data.customer.result;\r\n const {\r\n invoiceRequestModalCancelLabel,\r\n invoiceRequestModalSubmitLabel,\r\n invoiceRequestModalHeaderLabel,\r\n invoiceRequestModalSendToEmailLabel,\r\n invoiceRequestModalSearch,\r\n invoiceRequestModalInvoiceSearchDisplay,\r\n invoiceRequestModalSingleInvoiceSearchDisplay,\r\n invoiceRequestModalSearchButton\r\n } = this.props.resources;\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _onToggleInvoiceRequestModal(): void {\r\n this.setState({\r\n isInvoiceRequestModalOpen: !this.state.isInvoiceRequestModalOpen\r\n });\r\n if (this.state.isInvoiceRequestModalOpen) {\r\n this.state.selectedButtonElement?.focus();\r\n }\r\n }\r\n\r\n /**\r\n * Request specific invoice function.\r\n */\r\n private readonly _onToggleInvoiceRequestParentModal = () => {\r\n this.setState(\r\n {\r\n selectedButtonElement: this.payInvoiceRequestReference.current\r\n },\r\n () => {\r\n this._onToggleInvoiceRequestModal();\r\n }\r\n );\r\n };\r\n\r\n private _renderInvoiceRequestButton(): JSX.Element | null {\r\n const { invoiceRequestButtonLabel } = this.props.resources;\r\n const customer = this.props.data.customer.result;\r\n\r\n if (StringExtensions.isNullOrWhitespace(customer?.Email)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _requestInvoice(invoiceId: string): void {\r\n this.invoiceIds.push(invoiceId);\r\n this._onToggleInvoiceRequestModal();\r\n }\r\n\r\n private _getSelectedInvoices(): InvoiceModel[] {\r\n let selectedInvoices = this.state.invoices.filter(invoice => invoice.isSelected);\r\n if (!ArrayExtensions.hasElements(selectedInvoices)) {\r\n selectedInvoices = this.state.invoices;\r\n }\r\n\r\n return selectedInvoices;\r\n }\r\n\r\n private _requestSpecificInvoice(\r\n specificInvoice: InvoiceModel,\r\n requestInvoiceButtonReference: React.RefObject\r\n ): void {\r\n this.state.invoices.forEach((invoice: InvoiceModel) => {\r\n if (invoice === specificInvoice) {\r\n invoice.isSelected = true;\r\n } else {\r\n invoice.isSelected = false;\r\n }\r\n });\r\n this.setState({\r\n selectedButtonElement: requestInvoiceButtonReference.current\r\n });\r\n this._onToggleInvoiceRequestModal();\r\n }\r\n}\r\n\r\nexport default InvoicesList;\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 { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IInvoicesListViewProps } from './gdn-invoices-list';\r\n\r\nexport const InvoiceListView: React.FC = props => {\r\n const { header, filter, content, invoiceRequestModal, pagination } = props;\r\n\r\n return (\r\n \r\n {header}\r\n {invoiceRequestModal}\r\n {filter}\r\n {content}\r\n {pagination}\r\n \r\n );\r\n};\r\n\r\nexport default InvoiceListView;\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAddressAddItem,\r\n IAddressAddUpdateProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-add';\r\nimport {\r\n IAddressList,\r\n IAddressListItem,\r\n IAddressListProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-list';\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/account-management-address/./account-management-address';\r\n// import { AddressDetailItemComponent } from '@msdyn365-commerce-modules/address/src/common/components/address-detail-item';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address List Component.\r\n * @param param0 - Root param.\r\n * @param param0.List - Address list.\r\n * @param param0.isShowList - Boolean.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressListItem[].\r\n * @returns - AddressListComponent Node.\r\n */\r\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n\r\n // const component = showItems.items.find(address => address.key === \"AddressTypeValue\")?.description;\r\n\r\n return (\r\n \r\n \r\n {isShowError && (\r\n \r\n {title}\r\n {message}\r\n \r\n )}\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n {removeButton}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Lists Component.\r\n * @param param0 - Root param.\r\n * @param param0.ListAddress - List address.\r\n * @param param0.heading - List heading.\r\n * @param param0.isShowEmptyListMessage - Boolean.\r\n * @param param0.emptyListMessage - Empty list message.\r\n * @param param0.addButton - Add button.\r\n * @param param0.primaryAddressList - Primary address.\r\n * @param param0.otherAddressList - Other address.\r\n * @returns Address Lists Component Node.\r\n */\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * AddressAddUpdateComponent.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - Error message.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns Address add update component node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Account Management Address View Component.\r\n * @param props - Props.\r\n * @returns - AccountAddressManagement Module.\r\n */\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, viewState, showAddressList, showAddOrUpdateAddress, screenReaderNotification } = props;\r\n\r\n // Remove buttons from Invoice address\r\n const invoiceAddressId = 1;\r\n const addressId = props.customerAddresses.slice().find(address => address.AddressTypeValue === invoiceAddressId)?.RecordId;\r\n const invoiceAddress = showAddressList.otherAddressList.items.find(address => address.key === addressId);\r\n if (invoiceAddress) {\r\n invoiceAddress.editButton = undefined;\r\n invoiceAddress.primaryButton = undefined;\r\n invoiceAddress.removeButton = undefined;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n {screenReaderNotification}\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\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\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./checkout';\r\nimport { IEmailDelivery } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components';\r\nimport { IInvoicePaymentSummary } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components/get-invoice-payment-summary';\r\nimport { ICheckoutProps as ICheckoutExtensionProps } from '../definition-extensions/checkout.ext.props.autogenerated';\r\nimport { AttributeBooleanValue, Cart } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport interface IChargeLinesBreakdownData {\r\n chargeLineLabel?: string;\r\n chargeCode?: string;\r\n}\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport interface IOrderSummaryExtended extends IOrderSummary {\r\n otherChargesLines: React.ReactNode[];\r\n displayDefaultShippingLine: boolean | undefined;\r\n}\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines, otherChargesLines, displayDefaultShippingLine }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {displayDefaultShippingLine && lines.shipping}\r\n {/* {lines.otherCharge} */}\r\n {otherChargesLines && otherChargesLines}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.invoices}\r\n {lines.giftCard}\r\n {lines.loyalty}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst otherChargesLines = (\r\n cart: Cart,\r\n chargeCodes: IChargeLinesBreakdownData[] | undefined,\r\n currencyFormatter: (price: string | number, currencyCode?: string | undefined) => string,\r\n displayDefaultShippingLine: boolean | undefined\r\n): React.ReactNode[] => {\r\n let lines = cart.ChargeLines;\r\n let linesNode: React.ReactNode[] = [];\r\n let otherChargeTotal = cart.OtherChargeAmount || 0;\r\n chargeCodes?.map(c => {\r\n const node = lines\r\n ?.filter(line => line.ChargeCode === c.chargeCode)\r\n .map(r => {\r\n otherChargeTotal -= r.CalculatedAmount || 0;\r\n return _renderLineChargeNode(c.chargeLineLabel || '', currencyFormatter(r.CalculatedAmount?.toString() ?? ''));\r\n });\r\n linesNode.push(node);\r\n });\r\n // if the remaining amount is over 1 cent, display the other Charges line. This avoids potential fraction of a penny being displayed as zero.\r\n if (otherChargeTotal >= 0.01) {\r\n const otherChargesNode = _renderLineChargeNode('Other Charges', currencyFormatter(otherChargeTotal.toString() ?? ''));\r\n linesNode.push(otherChargesNode);\r\n }\r\n // if no charge exists, display shipping to be calculated text\r\n // if (cart.ChargeAmount === 0 && !displayDefaultShippingLine) {\r\n // const shippingToBeDetermined = _renderLineChargeNode('Shipping', 'To be calculated');\r\n // linesNode.push(shippingToBeDetermined);\r\n // }\r\n return linesNode;\r\n};\r\n\r\nconst _renderLineChargeNode = (chargeName: string, chargeAmount: string): React.ReactNode => {\r\n return (\r\n

\r\n {chargeName}{' '}\r\n {chargeAmount}\r\n

\r\n );\r\n};\r\n\r\nconst _renderShipOnCheckout = (\r\n shipCompleteOnCheckout: boolean,\r\n handleShipCompleteOnCheckoutChange: (e: React.MouseEvent) => void,\r\n shipCompleteOnCheckoutLabel: string\r\n): React.ReactNode => (\r\n
\r\n