{"version":3,"sources":["webpack:///src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?c387","webpack:///src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?3c8d","webpack:///src/modules/account-wishlist-tile/account-wishlist-tile.tsx?8a2b","webpack:///src/modules/b2b-requests-status/b2b-requests-status.view.tsx?afa7","webpack:///src/modules/account-customer-balance/components/account-actions.tsx?bbe9","webpack:///src/modules/account-customer-balance/components/account-statement-request-modal.tsx?cf6e","webpack:///src/modules/account-customer-balance/components/index.tsx?9c6a","webpack:///src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?58da","webpack:///src/modules/account-customer-balance/account-customer-balance.tsx?da17","webpack:///src/modules/b2b-requests-status/components/b2b-requests-table.tsx?6d33","webpack:///src/modules/b2b-requests-status/b2b-requests-status.tsx?692d"],"names":["IAccountWishlistTileDescription","_ref","description","React","className","_mapEditableLinks","linkdata","telemetryContent","length","editableLinks","payLoad","getPayloadObject","forEach","link","index","contentAction","etext","linkText","attributes","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","AccountWishlistTileLinks","links","onTextChange","requestContext","Msdyn365","editProps","AccountWishlistTile","constructor","props","super","handleHeadingChange","event","this","config","heading","text","target","value","handleLinkTextChange","linkIndex","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","render","resources","data","accountWishlistTileDescription","wishlists","result","wishlistsCount","CommerceListLines","format","viewProps","_objectSpread","moduleProps","classnames","tag","onEdit","LinksComponent","Object","assign","DescriptionComponent","renderView","B2bRequestsStatusView","b2bRequestsStatus","table","createElement","Module","ActionBar","onRequestStatement","requestStatementButtonLabel","Button","onClick","AdminRequestStatementButton","_ref2","onToggleDropdown","myUserAccountLabel","fullOrganizationLabel","isDropdownShowing","buttonReference","onSelectCustomerAccount","onSelectFullOrg","popoverReference","undefined","requestStatementDropdownString","Random","Guid","generateGuid","innerRef","id","Popover","isOpen","placement","toggle","RequestStatementModal","email","isModalOpen","fromDateString","toDateString","onChangeFromDate","onChangeToDate","canSubmitRequest","modalHeaderLabel","sendToEmailLabel","fromDateLabel","toDateLabel","submitRequestLabel","cancelLabel","onSubmitRequest","selectedUser","selectedUserLabel","onChangeFromDateEvent","onChangeToDateEvent","onBlurFromDate","ObjectExtensions","isFunction","focus","onBlurToDate","Modal","horizontalPosition","verticalPosition","autoFocus","fade","ModalHeader","ModalBody","htmlFor","type","onBlur","onChange","max","min","ModalFooter","disabled","AccountLabels","name","accountNumber","customerSincePrefix","createdOn","AccountValues","availableCredit","availableCreditLabel","AvailableCreditComponent","_ref5","BalanceOwedComponent","_ref6","balanceOwedLabel","balanceOwed","CreditExcessComponent","_ref7","creditExcessLabel","creditExcess","BackButton","_ref8","label","TelemetryConstant","BackToShopping","href","AccountWishlistTileView","AccountCustomerBalance","_showRequestStatementModal","state","isStatementRequestModalOpen","setState","_toggleModal","_toggleDropdown","isStatementRequestAdminDropdownOpen","_updateFromDate","newFromDate","statementRequestFromDateString","_updateToDate","newToDate","statementRequestToDateString","_adminShowRequestStatementModal","isFullOrg","statementRequestFullOrg","_requestStatement","_this$props$data$b2bU","customer","customerInformation","B2BUserId","b2bUserInformation","statementRequest","FromDate","Date","ToDate","IsForFullOrganization","RequestedUserId","RequestingUserEmail","Email","DeliveryTypeValue","BusinessPartnerOperationDeliveryType","callerContext","actionContext","BusinessPartnerUsersDataActions","requestAccountStatementAsync","_get","account","includes","error","creditSummarySectionHeading","accountSectionHeading","backToShoppingText","myAccountStatementLabel","AccountNumber","_formatJoinDate","CreatedDateTime","FirstName","LastName","customerCredit","customerAccountBalance","excess","InvoiceAccountCreditLimit","CreditLimit","Balance","InvoiceAccountBalance","_formatCurrency","backLink","emailAddress","isB2BUser","IsB2b","actionBar","IsB2bAdmin","Heading","accountLabels","accountValues","homeButton","actions","requestStatementModal","canSubmitStatementRequest","currency","currencyCode","formatCurrency","toFixed","date","Intl","DateTimeFormat","locale","month","day","year","__decorate","computed","RequestsTableColumnHeader","getUserName","StringExtensions","isNullOrEmpty","UserFirstName","UserLastName","b2bRequestsNameDisplay","replace","formatDate","cultureFormatter","getDetails","_requestDetails$Invoi","Details","requestDetails","accountStatementStartDateTime","AccountStatementStartDateTime","accountStatementEndDateTime","AccountStatementEndDateTime","invoiceId","InvoiceId","TypeValue","b2bRequestsAccountStatementDetails","b2bRequestsInvoiceCopyDetails","getDisplayFriendlyTypeValue","typeValue","b2bRequestsTypeCreateProspect","b2bRequestsTypeAddUser","b2bRequestsTypeDeleteUser","b2bRequestsTypeEditUser","b2bRequestsTypeRequestAccountStatement","b2bRequestsTypeRequestInvoiceCopy","b2bRequestsTypeUnknown","getDisplayFriendlyStatusValue","statusValue","b2bRequestsStatusProcessed","b2bRequestsStatusError","b2bRequestsStatusRequested","createTableProps","tableProps","_context$request$quer","tableData","operationRequests","ArrayExtensions","hasElements","map","_request$TypeValue","_request$StatusValue","row","b2bRequestsTypeColumn","TableDataType","Text","b2bRequestsRequestDateColumn","b2bRequestsDescriptionColumn","b2bRequestsUserColumn","b2bRequestsStatusColumn","StatusValue","isSelected","createTableItems","headings","filter","item","isMobile","mobileExcludedColumns","sortable","columnSortAriaLabel","rows","editLinkText","deleteLinkText","viewLinkText","enableToModify","actionLinkText","showCheckBoxes","isSortable","showPagination","minifyActions","excludedColumns","paginationProperty","skipCount","query","skip","isNaN","Number","parseInt","itemPerPage","prevText","b2bRequestsPreviousText","nextText","b2bRequestsNextText","paginationText","url","reqContext","MsDyn365","isBrowser","URL","window","location","requestUrl","isSingleSelectOnly","onDelete","onView","businessUserSelectCheckBoxAriaLabelText","sortByAscending","sortByDescending","B2bRequestsTable","Table","B2bRequestsStatus","renderHeader","headingData","_this$props$data$oper","_this$props$data$oper2","itemCount","getItemNumberDisplayString","_retrieveExcludedColumns","renderTable","b2bRequestsNumberOfItemsSingular","b2bRequestsNumberOfItems","variant","VariantType","Viewport","_data$customerInforma","_data$b2bUserInformat"],"mappings":"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","file":"static/js/5.f3f29f43ad197a50cef0.chunk.js","sourcesContent":["/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as React from 'react';\n\ninterface IAccountWishlistTileDescription {\n description: string;\n}\n\nconst IAccountWishlistTileDescription: React.FC = ({ description }) => (\n

\n {description}\n

\n);\n\nexport default IAccountWishlistTileDescription;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt 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 '../account-wishlist-tile.props.autogenerated';\n\nexport interface IAccountWishlistTileLinks {\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 AccountWishlistTileLinks: 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 ? : 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-wishlist-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 AccountWishlistTileLinks;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt 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 { IAccountWishlistTileData } from './account-wishlist-tile.data';\nimport { IAccountWishlistTileProps } from './account-wishlist-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-wishlist-tile-description';\nimport LinksComponent from './components/account-wishlist-tile-links';\n\nexport interface IAccountWishlistTileViewProps extends IAccountWishlistTileProps {\n AccountWishlistTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountWishlist component.\n * @extends {React.PureComponent>}\n */\nclass AccountWishlistTile extends React.PureComponent> {\n\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IAccountWishlistTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\n }\n\n public render(): JSX.Element {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountWishlistTileDescription } = resources;\n const wishlists = data.wishlists.result;\n\n const wishlistsCount = (wishlists && wishlists.length && wishlists[0].CommerceListLines || []).length;\n const description = format(accountWishlistTileDescription || 'You have {0} items in the Wishlist.', wishlistsCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountWishlistTile: {\n moduleProps: this.props,\n className: classnames('ms-account-wishlist-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && ,\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.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default AccountWishlistTile;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusViewProps } from './b2b-requests-status';\n\nconst B2bRequestsStatusView: React.FC = props => {\n const { b2bRequestsStatus, heading, table } = props;\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\ninterface IAccountCustomerBalanceActions {\n className?: string;\n requestStatementButtonLabel: string;\n onRequestStatement(): void;\n\n}\n\ninterface IAdminRequestStatementProps {\n className?: string;\n requestStatementButtonLabel: string;\n myUserAccountLabel: string;\n fullOrganizationLabel: string;\n isDropdownShowing: boolean;\n buttonReference?: React.RefObject;\n onToggleDropdown(): void;\n onRequestStatement(isFullOrg: boolean): void;\n}\n\nexport const ActionBar: React.FC = ({ className, onRequestStatement, requestStatementButtonLabel }) => {\n return (\n
\n \n
\n );\n};\n\nexport const AdminRequestStatementButton: React.FC = (\n { className, onRequestStatement, requestStatementButtonLabel,\n onToggleDropdown, myUserAccountLabel, fullOrganizationLabel,\n isDropdownShowing, buttonReference }) => {\n\n const onSelectCustomerAccount = React.useCallback(() => {\n onRequestStatement(false);\n }, [onRequestStatement]);\n\n const onSelectFullOrg = React.useCallback(() => {\n onRequestStatement(true);\n }, [onRequestStatement]);\n\n const popoverReference = buttonReference !== undefined ? buttonReference : React.createRef();\n const requestStatementDropdownString = `request-statement-dropdown-id-${Random.Guid.generateGuid()}`;\n return (\n
\n \n \n {requestStatementButtonLabel}\n \n \n \n \n {myUserAccountLabel}\n \n \n {fullOrganizationLabel}\n \n \n
\n );\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * The interface for the props for the account statement request modal.\n */\ninterface IAccountStatementRequestModalProps {\n email: string;\n isModalOpen: boolean;\n fromDateString: string;\n toDateString: string;\n canSubmitRequest: boolean;\n modalHeaderLabel: string;\n sendToEmailLabel: string;\n fromDateLabel: string;\n toDateLabel: string;\n submitRequestLabel: string;\n cancelLabel: string;\n className: string;\n selectedUser: string;\n selectedUserLabel: string;\n toggle(): void;\n onChangeFromDate(newFromDate: string): void;\n onChangeToDate(newToDate: string): void;\n onSubmitRequest(): void;\n}\n\nexport const RequestStatementModal: React.FC = ({ className, email, isModalOpen, toggle, fromDateString, toDateString, onChangeFromDate, onChangeToDate, canSubmitRequest,\n modalHeaderLabel, sendToEmailLabel, fromDateLabel, toDateLabel, submitRequestLabel, cancelLabel, onSubmitRequest, selectedUser, selectedUserLabel }) => {\n\n const onChangeFromDateEvent = React.useCallback((event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeFromDate(value);\n }, [onChangeFromDate]);\n\n const onChangeToDateEvent = React.useCallback((event: React.ChangeEvent) => {\n const value = event.target.value;\n\n onChangeToDate(value);\n }, [onChangeToDate]);\n\n /**\n * If the onBlur is called on the fromDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurFromDate = React.useCallback((event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== fromDateString) {\n event.target.focus();\n }\n }, [fromDateString]);\n\n /**\n * If the onBlur is called on the toDate and the date has been changed, reset focus on it.\n * @param event - The event that is triggering onBlur.\n */\n const onBlurToDate = React.useCallback((event: React.ChangeEvent) => {\n if (ObjectExtensions.isFunction(event.target.focus) && event.target.value !== toDateString) {\n event.target.focus();\n }\n }, [toDateString]);\n\n return (\n \n \n {modalHeaderLabel}\n \n \n \n
\n
\n {email}\n
\n {\n selectedUser && (\n
\n {selectedUserLabel}\n \n {selectedUser}\n \n
\n )\n }\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {submitRequestLabel}\n \n {' '}\n \n \n \n );\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { AdminRequestStatementButton } from './account-actions';\nimport { RequestStatementModal } from './account-statement-request-modal';\n\nexport * from './account-actions';\nexport * from './account-statement-request-modal';\n\ninterface IAccountLabel {\n name: string;\n accountNumber: string;\n createdOn: string;\n customerSincePrefix: string;\n}\n\ninterface IAccountValues {\n availableCredit: string;\n availableCreditLabel: string;\n}\n\n/**\n * Prop for Available credit component.\n */\ninterface ICreditSummaryAvailableCredit {\n availableCreditLabel: string;\n availableCredit: string;\n}\n\n/**\n * Prop for Balanced owed component.\n */\ninterface ICreditSummaryBalanceOwed {\n balanceOwedLabel: string;\n balanceOwed: string;\n}\n\n/**\n * Prop for credit excess component.\n */\ninterface ICreditSummaryCreditExcess {\n creditExcessLabel: string | null;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryLabel {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface ICreditSummaryValues {\n availableCredit: string;\n balanceOwed: string;\n creditExcess: string | null;\n}\n\ninterface IBackButton {\n link: string;\n label: string;\n telemetryContent?: ITelemetryContent;\n}\n\nexport const AccountLabels: React.FC = ({ name, accountNumber, customerSincePrefix, createdOn }) => (\n
\n

\n {name}\n

\n
\n #\n {accountNumber}\n
\n
\n {customerSincePrefix}\n {' '}\n {createdOn}\n
\n
\n);\n\nexport const AccountValues: React.FC = ({ availableCredit, availableCreditLabel }) => (\n
\n
\n {availableCreditLabel}\n
\n
\n {availableCredit}\n
\n
\n);\n\nexport const CreditSummaryLabels: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
\n {availableCredit}\n
\n
\n {balanceOwed}\n
\n
\n {creditExcess}\n
\n
\n);\n\nexport const CreditSummaryValues: React.FC = ({ availableCredit, balanceOwed, creditExcess }) => (\n
\n
\n {availableCredit}\n
\n
\n {balanceOwed}\n
\n {creditExcess &&
\n {creditExcess}\n
}\n
\n);\n\n/**\n * Available credit component.\n * @param props - ICreditSummaryAvailableCredit.\n * @param props.availableCreditLabel - Available credit label.\n * @param props.availableCredit - Available credit value.\n * @returns - React Node for available credit component.\n */\nexport const AvailableCreditComponent: React.FC = ({ availableCreditLabel, availableCredit }) => (\n
\n
\n
\n {availableCreditLabel}\n
\n
\n
\n
\n {availableCredit}\n
\n
\n
\n);\n\n/**\n * Balance Owed Component.\n * @param props - ICreditSummaryBalanceOwed.\n * @param props.balanceOwedLabel - Balance Owed label.\n * @param props.balanceOwed - Balance Owed value.\n * @returns - React Node for balance owed component.\n */\nexport const BalanceOwedComponent: React.FC = ({ balanceOwedLabel, balanceOwed }) => (\n
\n
\n
\n {balanceOwedLabel}\n
\n
\n
\n
\n {balanceOwed}\n
\n
\n
\n);\n\n/**\n * Credit Excess Component.\n * @param props - ICreditSummaryCreditExcess.\n * @param props.creditExcessLabel - Credit excess label.\n * @param props.creditExcess - Credit excess value.\n * @returns - React Node for credit excess component.\n */\nexport const CreditExcessComponent: React.FC = ({ creditExcessLabel, creditExcess }) => (\n
\n {creditExcess &&
\n
\n {creditExcessLabel}\n
\n
}\n
\n {creditExcess &&
\n {creditExcess}\n
}\n
\n
\n);\nexport const BackButton: React.FC = ({ link, label, telemetryContent }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BackToShopping);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {label}\n \n );\n};\n\nexport {\n AdminRequestStatementButton,\n RequestStatementModal\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountWishlistTileViewProps } from './account-wishlist-tile';\n\nconst AccountWishlistTileView: React.FC = props => {\n const { AccountWishlistTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountWishlistTileView;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { BusinessPartnerUsersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { AccountStatementRequest, BusinessPartnerOperationDeliveryType, CustomerBalances } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getTelemetryObject, Heading, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IAccountCustomerBalanceData } from './account-customer-balance.data';\nimport { HeadingTag, IAccountCustomerBalanceProps } from './account-customer-balance.props.autogenerated';\nimport {\n AccountLabels,\n AccountValues,\n ActionBar,\n AdminRequestStatementButton,\n AvailableCreditComponent,\n BackButton,\n BalanceOwedComponent,\n CreditExcessComponent,\n RequestStatementModal\n} from './components';\n\nexport interface IAccountCustomerBalanceViewProps extends IAccountCustomerBalanceProps {\n heading: string;\n homeButton: React.ReactNode;\n accountSectionHeading: React.ReactNode;\n accountLabels: React.ReactNode;\n accountValues: React.ReactNode;\n creditSummarySectionHeading: React.ReactNode;\n creditSummaryLabels?: React.ReactNode;\n creditSummaryValues?: React.ReactNode;\n actions: React.ReactNode;\n requestStatementModal: React.ReactNode;\n availableCredit?: React.ReactNode;\n balanceOwed?: React.ReactNode;\n creditExcess?: React.ReactNode;\n}\n\nexport interface IAccountCustomerBalanceState {\n isStatementRequestModalOpen: boolean;\n statementRequestFromDateString: string;\n statementRequestToDateString: string;\n isStatementRequestAdminDropdownOpen: boolean;\n statementRequestFullOrg: boolean;\n}\n\n/**\n *\n * AccountCustomerBalance component.\n * @extends {React.PureComponent>}\n */\nclass AccountCustomerBalance extends React.PureComponent, IAccountCustomerBalanceState> {\n private readonly telemetryContent?: ITelemetryContent;\n\n @computed get canSubmitStatementRequest(): boolean {\n return (this.state.statementRequestFromDateString !== '') && (this.state.statementRequestToDateString !== '');\n }\n\n constructor(props: IAccountCustomerBalanceProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\n this.state = {\n isStatementRequestModalOpen: false,\n statementRequestFromDateString: '',\n statementRequestToDateString: '',\n isStatementRequestAdminDropdownOpen: false,\n statementRequestFullOrg: false\n };\n }\n\n public render(): JSX.Element | null {\n const customer = get(this.props, 'data.customerInformation.result');\n const account: CustomerBalances = get(this.props, 'data.balance.result');\n if ([customer, account].includes(undefined)) {\n this.props.context.telemetry.error('Customer data is unavailable, module will not render');\n return null;\n }\n\n const { config, resources, context } = this.props;\n const { heading } = config;\n const {\n creditSummarySectionHeading,\n accountSectionHeading,\n backToShoppingText,\n customerSincePrefix,\n availableCreditLabel,\n balanceOwedLabel,\n creditExcessLabel,\n requestStatementButtonLabel,\n modalHeaderLabel,\n sendToEmailLabel,\n fromDateLabel,\n toDateLabel,\n submitRequestLabel,\n cancelLabel,\n myAccountStatementLabel,\n fullOrganizationLabel\n } = resources;\n\n const { isStatementRequestModalOpen, statementRequestFromDateString, statementRequestToDateString } = this.state;\n\n const accountNumber = customer.AccountNumber;\n const createdOn = this._formatJoinDate(new Date(customer.CreatedDateTime));\n const name = `${customer.FirstName} ${customer.LastName}`;\n let customerCredit = 0;\n let customerAccountBalance = 0;\n let excess = 0;\n\n if (account.InvoiceAccountCreditLimit === 0) {\n customerCredit = account.CreditLimit - account.Balance;\n customerAccountBalance = account.Balance;\n excess = account.Balance - account.CreditLimit;\n } else {\n customerCredit = account.InvoiceAccountCreditLimit - account.InvoiceAccountBalance;\n customerAccountBalance = account.InvoiceAccountBalance;\n excess = account.InvoiceAccountBalance - account.InvoiceAccountCreditLimit;\n }\n\n const creditExcess = excess > 0 ? this._formatCurrency(excess) : null;\n const availableCredit = this._formatCurrency(customerCredit);\n const balanceOwed = this._formatCurrency(customerAccountBalance);\n const backLink = Msdyn365.getUrlSync('home', context.actionContext) || '';\n const emailAddress = customer.Email;\n const isB2BUser = customer.IsB2b;\n const isB2BAdmin = isB2BUser && customer.IsB2bAdmin;\n\n const actionBar = isB2BAdmin ? (\n \n ) : isB2BUser && ;\n\n const viewProps = {\n ...this.props,\n heading: ,\n accountSectionHeading: ,\n accountLabels: (\n \n ),\n accountValues: ,\n creditSummarySectionHeading: ,\n availableCredit: (\n \n ),\n balanceOwed: (\n \n ),\n creditExcess: (\n \n ),\n homeButton: ,\n actions: actionBar,\n requestStatementModal: (\n isB2BUser &&\n (\n \n )\n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n private _formatCurrency(currency: number): string {\n const currencyCode = get(this.props, 'context.request.channel.Currency');\n const formatCurrency = get(this.props, 'context.cultureFormatter.formatCurrency');\n\n return `${formatCurrency(currency.toFixed(2), currencyCode)}`;\n }\n\n private _formatJoinDate(date: Date): string {\n const i14nDate = new Intl.DateTimeFormat(this.props.context.actionContext.requestContext.locale, {\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n });\n\n return i14nDate.format(date);\n }\n\n private readonly _showRequestStatementModal = (): void => {\n if (!this.state.isStatementRequestModalOpen) {\n this.setState({\n isStatementRequestModalOpen: true\n });\n }\n };\n\n private readonly _toggleModal = (): void => {\n this.setState({\n isStatementRequestModalOpen: false\n });\n };\n\n private readonly _toggleDropdown = (): void => {\n this.setState({\n isStatementRequestAdminDropdownOpen: !this.state.isStatementRequestAdminDropdownOpen\n });\n };\n\n private readonly _updateFromDate = (newFromDate: string) => {\n this.setState({\n statementRequestFromDateString: newFromDate\n });\n };\n\n private readonly _updateToDate = (newToDate: string) => {\n this.setState({\n statementRequestToDateString: newToDate\n });\n };\n\n private readonly _adminShowRequestStatementModal = (isFullOrg: boolean) => {\n this.setState({\n statementRequestFullOrg: isFullOrg,\n isStatementRequestAdminDropdownOpen: false\n });\n\n this._showRequestStatementModal();\n };\n\n private readonly _requestStatement = () => {\n const customer = this.props.data.customerInformation.result!;\n const B2BUserId = this.props.data.b2bUserInformation?.result?.B2BUserId || '';\n\n const statementRequest: AccountStatementRequest = {\n FromDate: new Date(this.state.statementRequestFromDateString),\n ToDate: new Date(this.state.statementRequestToDateString),\n IsForFullOrganization: this.state.statementRequestFullOrg,\n RequestedUserId: B2BUserId,\n RequestingUserEmail: customer.Email,\n DeliveryTypeValue: BusinessPartnerOperationDeliveryType.Email\n };\n\n const context = { callerContext: this.props.context.actionContext };\n\n BusinessPartnerUsersDataActions.requestAccountStatementAsync(context, B2BUserId, statementRequest);\n\n this.setState({\n isStatementRequestModalOpen: false\n });\n };\n}\n\nexport default AccountCustomerBalance;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport MsDyn365, { ICoreContext, IDateFormatOptions, IRequestContext } from '@msdyn365-commerce/core';\nimport { BusinessPartnerOperationRequest, BusinessPartnerOperationRequestDetails } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IDataTableProps, IHeadingsProperty, ITableItemProps, ITableRowProps, Table, TableDataType } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from '../b2b-requests-status.data';\nimport { IB2bRequestsStatusProps } from '../b2b-requests-status.props.autogenerated';\n\nexport interface IB2bRequestsTableProps {\n moduleProps: IB2bRequestsStatusProps;\n isMobile: boolean;\n mobileExcludedColumns: string[];\n}\n\nexport interface IB2bRequestsTableResources {\n b2bRequestsTypeCreateProspect: string;\n b2bRequestsTypeAddUser: string;\n b2bRequestsTypeEditUser: string;\n b2bRequestsTypeDeleteUser: string;\n b2bRequestsTypeRequestAccountStatement: string;\n b2bRequestsTypeRequestInvoiceCopy: string;\n b2bRequestsTypeUnknown: string;\n b2bRequestsStatusRequested: string;\n b2bRequestsStatusProcessed: string;\n b2bRequestsStatusError: string;\n b2bRequestsNumberOfItems: string;\n b2bRequestsNumberOfItemsSingular: string;\n b2bRequestsNameDisplay: string;\n b2bRequestsPreviousText: string;\n b2bRequestsNextText: string;\n b2bRequestsUserColumn: string;\n b2bRequestsStatusColumn: string;\n b2bRequestsRequestDateColumn: string;\n b2bRequestsTypeColumn: string;\n b2bRequestsDescriptionColumn: string;\n b2bRequestsAccountStatementDetails: string;\n b2bRequestsInvoiceCopyDetails: string;\n businessUserSelectCheckBoxAriaLabelText?: string;\n sortByAscending?: string;\n sortByDescending?: string;\n}\n\nexport enum RequestsTableColumnHeader {\n Name = 'User',\n Status = 'Status',\n RequestDate = 'Request date',\n Type = 'Request type',\n Description = 'Request detail'\n}\n\nconst getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n\n // NOTE: Typing on requestURL is incorrect\n if (reqContext.url.requestUrl.href) {\n return new URL(reqContext.url.requestUrl.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n\n};\n\nconst getUserName = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources) => {\n if (StringExtensions.isNullOrEmpty(request.UserFirstName)) {\n if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return '';\n }\n\n return request.UserLastName;\n } else if (StringExtensions.isNullOrEmpty(request.UserLastName)) {\n return request.UserFirstName;\n }\n\n return resources.b2bRequestsNameDisplay\n .replace('{0}', request.UserFirstName!)\n .replace('{1}', request.UserLastName!);\n\n};\n\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\n/**\n * Gets the value to display for the request details.\n * @param request - The request to parse for the details.\n * @param resources - The resources.\n * @param context - The context.\n * @returns The string to display.\n */\nconst getDetails = (request: BusinessPartnerOperationRequest, resources: IB2bRequestsTableResources, context: ICoreContext) => {\n\n if (!request.Details) {\n return '';\n }\n\n const requestDetails: BusinessPartnerOperationRequestDetails = request.Details;\n\n const accountStatementStartDateTime = formatDate(context, requestDetails.AccountStatementStartDateTime) || '';\n const accountStatementEndDateTime = formatDate(context, requestDetails.AccountStatementEndDateTime) || '';\n const invoiceId = requestDetails.InvoiceId ?? '';\n\n switch (request.TypeValue) {\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 5:\n if (!StringExtensions.isNullOrEmpty(accountStatementStartDateTime) && !StringExtensions.isNullOrEmpty(accountStatementEndDateTime)) {\n return resources.b2bRequestsAccountStatementDetails\n .replace('{0}', accountStatementStartDateTime)\n .replace('{1}', accountStatementEndDateTime);\n }\n\n return '';\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers -- workaround for not being able to use enum value\n case 6:\n if (!StringExtensions.isNullOrEmpty(invoiceId)) {\n return resources.b2bRequestsInvoiceCopyDetails\n .replace('{0}', invoiceId);\n }\n\n return '';\n default:\n return '';\n }\n};\n\nconst createTableItems = (operationRequests: BusinessPartnerOperationRequest[] | undefined, props: IB2bRequestsStatusProps): ITableRowProps[] => {\n\n if (!ArrayExtensions.hasElements(operationRequests)) {\n return [];\n }\n\n return operationRequests.map((request) => {\n\n return {\n row: [\n {\n id: props.resources.b2bRequestsTypeColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyTypeValue(request.TypeValue ?? 0, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsRequestDateColumn,\n type: TableDataType.Text,\n value: formatDate(props.context, request.CreatedDateTime)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsDescriptionColumn,\n type: TableDataType.Text,\n value: getDetails(request, props.resources, props.context)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsUserColumn,\n type: TableDataType.Text,\n value: getUserName(request, props.resources)\n } as ITableItemProps,\n {\n id: props.resources.b2bRequestsStatusColumn,\n type: TableDataType.Text,\n value: getDisplayFriendlyStatusValue(request.StatusValue ?? 0, props.resources)\n } as ITableItemProps\n ],\n isSelected: false,\n className: props.config.className\n };\n });\n};\n\nconst getDisplayFriendlyTypeValue = (typeValue: number, resources: IB2bRequestsTableResources): string => {\n switch (typeValue) {\n case 1:\n return resources.b2bRequestsTypeCreateProspect;\n case 2:\n return resources.b2bRequestsTypeAddUser;\n case 3:\n return resources.b2bRequestsTypeDeleteUser;\n case 4:\n return resources.b2bRequestsTypeEditUser;\n case 5:\n return resources.b2bRequestsTypeRequestAccountStatement;\n case 6:\n return resources.b2bRequestsTypeRequestInvoiceCopy;\n default:\n return resources.b2bRequestsTypeUnknown;\n }\n};\n\nconst getDisplayFriendlyStatusValue = (statusValue: number, resources: IB2bRequestsTableResources): string => {\n switch (statusValue) {\n case 1:\n return resources.b2bRequestsStatusProcessed;\n case 2:\n return resources.b2bRequestsStatusError;\n default:\n return resources.b2bRequestsStatusRequested;\n }\n};\n\nconst createTableProps = (tableProps: IB2bRequestsTableProps) => {\n const { context, data, resources } = tableProps.moduleProps;\n\n const tableData = createTableItems(data.operationRequests.result, tableProps.moduleProps);\n const tableHeading = ArrayExtensions.hasElements(tableData) && tableData[0].row.filter((item) => {\n // Check that this is either not mobile or the column should be displayed when mobile.\n return !tableProps.isMobile || !tableProps.mobileExcludedColumns.includes(item.id);\n }).map((item) => {\n return {\n name: item.id,\n sortable: true,\n ariaLabel: resources.columnSortAriaLabel\n } as IHeadingsProperty;\n }) || [];\n\n return {\n resources: {},\n headings: tableHeading,\n rows: tableData,\n className: `${tableProps.moduleProps.config.className}__table`,\n editLinkText: '',\n deleteLinkText: '',\n viewLinkText: '',\n enableToModify: false,\n actionLinkText: '',\n showCheckBoxes: false,\n isSortable: true,\n showPagination: true,\n minifyActions: tableProps.isMobile,\n excludedColumns: tableProps.isMobile ? tableProps.mobileExcludedColumns : [],\n paginationProperty: {\n skipCount: context.request.query?.skip && !isNaN(Number.parseInt(context.request.query.skip, 10)) ? Number.parseInt(context.request.query.skip, 10) : 0,\n itemPerPage: 10,\n prevText: resources.b2bRequestsPreviousText,\n nextText: resources.b2bRequestsNextText,\n paginationText: '',\n url: context && getCurrentUrl(context.request).href || ''\n },\n isSingleSelectOnly: true,\n actions: {\n onDelete: undefined,\n onEdit: undefined,\n onView: undefined\n },\n businessUserSelectCheckBoxAriaLabelText: tableProps.moduleProps.resources.businessUserSelectCheckBoxAriaLabelText,\n sortByAscending: tableProps.moduleProps.resources.sortByAscending,\n sortByDescending: tableProps.moduleProps.resources.sortByDescending\n } as IDataTableProps;\n};\n\nexport const B2bRequestsTable: React.FC = (tableProps: IB2bRequestsTableProps) => {\n return ;\n};\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { format, Heading, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport { computed } from 'mobx';\nimport * as React from 'react';\n\nimport { IB2bRequestsStatusData } from './b2b-requests-status.data';\nimport { IB2bRequestsStatusProps, IHeadingData } from './b2b-requests-status.props.autogenerated';\nimport { B2bRequestsTable } from './components/b2b-requests-table';\n\nexport interface IB2bRequestsStatusViewProps extends IB2bRequestsStatusProps {\n b2bRequestsStatus: IModuleProps;\n heading?: React.ReactNode;\n table: React.ReactNode;\n}\n\n/**\n *\n * B2bRequestsStatus component.\n * @extends {React.PureComponent>}\n */\nclass B2bRequestsStatus extends React.PureComponent> {\n\n @computed get isMobile(): boolean {\n const size = isMobile({ variant: VariantType.Viewport, context: this.props.context.request });\n return size === 'xs';\n }\n\n public render(): JSX.Element | null {\n const { config, data } = this.props;\n\n if (!data.customerInformation.result?.IsB2b || !data.b2bUserInformation.result?.B2BUserId) {\n return null;\n }\n\n const className = config.className || '';\n\n const viewProps = {\n ...this.props,\n b2bRequestsStatus: {\n moduleProps: this.props,\n className\n },\n heading: this.renderHeader(className, config.heading),\n table: this.renderTable()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly renderHeader = (className: string, headingData: IHeadingData): React.ReactNode => {\n const itemCount = this.props.data.operationRequests.result?.length ?? 0;\n\n return (\n
\n \n \n {this.getItemNumberDisplayString(itemCount)}\n \n
\n );\n };\n\n /**\n * Returns columns that needs to be excluded for mobile view.\n * @returns Array of column names.\n */\n private readonly _retrieveExcludedColumns = (): string[] => {\n const { resources } = this.props;\n return [resources.b2bRequestsRequestDateColumn, resources.b2bRequestsDescriptionColumn, resources.b2bRequestsUserColumn];\n };\n\n private readonly renderTable = (): React.ReactNode => {\n return (\n \n );\n };\n\n private readonly getItemNumberDisplayString = (itemCount: number): string => {\n switch (itemCount) {\n case 0:\n return '';\n case 1:\n return format(this.props.resources.b2bRequestsNumberOfItemsSingular, itemCount);\n default:\n return format(this.props.resources.b2bRequestsNumberOfItems, itemCount);\n }\n };\n}\n\nexport default B2bRequestsStatus;\n"],"sourceRoot":""}