{"version":3,"sources":["webpack:///src/modules/fabrikam/views/reviews-list.view.tsx?39a2","webpack:///src/modules/order-lookup/order-lookup.view.tsx?d1dd","webpack:///./src/modules/advanced-notes/advanced-notes.tsx?0cd5","webpack:///./src/themes/gardner-theme-b2c/views/cart.view.tsx?c8a4","webpack:///src/modules/adventureworks/views/order-history.view.tsx?16f3","webpack:///src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?fdf3","webpack:///src/modules/tile-list/tile-list.tsx?f539","webpack:///src/modules/order-lookup/utilities/order-lookup-utility.tsx?9369","webpack:///src/modules/order-lookup/components/order-lookup-additional-fields.tsx?7c69","webpack:///src/modules/order-lookup/components/order-lookup-fields.tsx?c99c","webpack:///src/modules/order-lookup/order-lookup.tsx?a81e","webpack:///./src/modules/advanced-notes/advanced-notes.view.tsx?f5d4","webpack:///./src/themes/gardner-theme/views/cart.view.tsx?3fe6","webpack:///./src/themes/gardner-theme/views/footer-item.view.tsx?7453","webpack:///src/modules/tile-list/tile-list.view.tsx?d2bd","webpack:///./src/modules/eve-business-partners/eve-business-partners.view.tsx?418e","webpack:///./src/modules/eve-business-partners/components/data-grid.tsx?047e","webpack:///./src/modules/eve-business-partners/components/business-partner-users-table.tsx?309d","webpack:///./src/modules/eve-business-partners/components/eve-business-partners-table.tsx?2175","webpack:///./src/modules/eve-business-partners/components/search-bar.tsx?b822","webpack:///./src/modules/eve-business-partners/eve-business-partners.tsx?6339","webpack:///./src/themes/gardner-theme-b2c/views/checkout-shipping-address.view.tsx?909d","webpack:///src/modules/adventureworks/views/b2b-requests-status.view.tsx?b8db","webpack:///src/modules/fabrikam/views/order-history.view.tsx?46de","webpack:///src/modules/adventureworks/views/components/search.categorysuggest.tsx?5c98","webpack:///src/modules/adventureworks/views/components/search.mobile.empty.tsx?16ff","webpack:///src/modules/adventureworks/views/components/search.form.tsx?f934","webpack:///src/modules/adventureworks/views/components/search.keywordsuggest.tsx?34ae","webpack:///src/modules/adventureworks/views/components/search.productsuggest.tsx?1992","webpack:///src/modules/adventureworks/views/search.view.tsx?4e21","webpack:///./src/themes/gardner-theme/views/components/line-pagination.tsx?b2dd","webpack:///src/modules/check-in-for-pickup/check-in-confirmation.tsx?9d47","webpack:///src/modules/check-in-for-pickup/check-in-error.tsx?9f7f","webpack:///src/modules/check-in-for-pickup/check-in-for-pickup.tsx?404b","webpack:///./src/themes/gardner-theme-b2c/views/footer-item.view.tsx?3f11","webpack:///src/modules/adventureworks/views/sign-in.view.tsx?94bb","webpack:///src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?26b3","webpack:///./src/themes/gardner-theme/views/checkout-shipping-address.view.tsx?2ec0"],"names":["buildReviewCard","props","React","Node","Object","assign","cardProps","headerProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","moduleProps","Module","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","error","modalFooter","submitButton","cancelButton","createReportModal","state","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","ReviewsListview","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","length","isFilterApplied","map","review","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","heading","paragraph","orderLookupForm","renderOrderLookupInputField","orderNumberInput","errorMessage","additionalProperties","registeredUserMessage","fieldErrorMessage","className","ArrayExtensions","hasElements","item","key","submitButtonLabelText","AdvancedNotes","constructor","super","_className","_renderNote","message","_renderNotes","this","notes","note","index","ItemId","TextValue","_renderStaticNotesDisplay","isNoteAreaActive","render","viewProps","_objectSpread","staticDisplay","tag","children","advancedNotesModuleProps","renderView","toggleBopisHandler","cartLine","isBopisSelected","_cartLine$pickUpInSto","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$pickUpInSto2","renderCartLineComment","cartLineComment","comment","cartLineId","cartProductTitle","renderCartLine","resources","storeSelector","telemetryContent","isMultiplePickUp","emailDeliveryModeCode","_cartLine$data3","_cartLine$data4","data","cartline","Comment","cartLineProductTitle","product","Name","outOfStockErrorMessage","cartlineId","addToWishlist","remove","renderGroupBopisBlock","_cartLine$data2","DeliveryMode","changeStoreDisplayText","shipInsteadDisplayText","pickItUpDisplayText","payLoad","getPayloadObject","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","getTelemetryAttributes","Button","role","onClick","addToOrderTemplate","renderCartlinesInternal","isPrintView","cartLines","itemIndex","renderBopisBlock","_cartLine$data","shipToAddressDisplayText","pickUpAtStoreWithLocationText","ContainerProps","orgUnitName","renderCartlines","waitingComponent","cartLoadingStatus","isCartDataResult","slots","orderLevelComment","multiplePickUpEnabled","CartlinesWrapper","renderOrderLevelComment","emptyCart","renderCartLinesGroupHeader","count","_cartLine$pickUpInSto6","pickUpText","shippingText","emailshippingText","groupTitle","toLowerCase","replace","renderCartLinesGroupTitle","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","_cartLine$pickUpInSto5","itemLabel","itemsLabel","countTitle","deliveryOption","CartView","_props$cart2","_props$cart3","_props$orderSummaryLi","_props$cart4","_props$cart5","setIsPrintView","printViewToggle","_renderPrintView","handlePrintViewChange","printViewLabel","type","updatedTitle","cartTitle","Number","cart","totalItemsInCart","id","renderModuleAttributes","orderSummaryLineitems","orderTotal","checkoutAsGuestButton","renderOrderSummaryCheckoutButton","hasInvoiceLine","promotionOptions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action","_props$context$action2","countItem","reduce","_item$data$cartline$Q","_item$data","Quantity","countItems","context","actionContext","requestContext","channel","EmailDeliveryModeCode","cartDataResult","orderSummaryHeading","OrderSummaryWrapper","renderInvoiceSummarylines","invoiceSummaryLines","orderSummaryItems","invoices","giftCard","loyalty","telemetry","invoiceSummaryLineitems","OrderSummaryItems","renderOrderSummarylines","orderSummaryLines","subtotal","shipping","otherCharge","tax","errorData","OrderSummaryErrors","errors","Wrapper","_props$cart","promoCode","createTemplateFromCartButton","renderOrderSummaryCheckout","OrderHistoryOrderInfomation","_ref","orderInformationProps","salesId","receiptId","channelName","createdDate","amount","channelReferenceId","OrderHistoryGroupDelivery","_ref2","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","_ref3","groupProps","delivery","salesLinesProps","salesLines","salesLine","LineId","OrderHistoryGroups","_ref4","groupsProps","groups","group","OrderHistoryHeader","_ref5","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","placedBy","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","OrderHistoryView","_ref8","orderHistoryProps","alert","loading","emptyMessage","backToShoppingLink","list","table","moreButton","SummaryForm","formProps","label","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","CheckoutCustomerAccountView","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","ref","isReady","TileList","_telemetryContent","getTelemetryObject","request","telemetryPageName","friendlyName","text","StringExtensions","isNullOrWhitespace","Heading","headingTag","_this$props$config$cl","title","config","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","classnames","tileListHeading","tiles","content","labelGroup","value","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","href","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","shouldComponentUpdate","nextProps","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","onChange","ariaLabel","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","observer","RenderOrderLookupFormFields","_getOrderLookupFields","input","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleTextChange","event","target","handleParagraphChange","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","undefined","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","Msdyn365","baseUrl","URL","window","location","origin","redirectUrl","searchParameters","searchParams","set","fieldName","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","setState","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","push","labelName","isValidFieldName","additionalfieldErrorMessage","items","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_heading$tag","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","orderLookupHeading","editProps","onEdit","_createParagraph","autoComplete","onSubmit","disabled","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","getExtensibleEnumerationsAsync","callerContext","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","advancedNotes","_cartLine$data5","itemId","renderAdvancedNotes","filter","n","pagination","paginatedView","_props$cart6","setAdvancedNotes","pageLength","setPaginatedView","slice","paginationPage","setPaginationPage","clearCartModalActive","setClearCartModalActive","changePage","page","skip","_props$cartlines","async","itemIds","CartLines","cl","getAdvancedNotesAsync","then","getAdvancedNotes","renderClearCart","_renderClearCart","clearCartButtonText","LinePagination","nextPage","prevPage","currentPage","numPages","Math","ceil","prev","paginationPrev","next","paginationNext","checkoutAsSignInUserButton","_renderClearCartModal","handleClearCart","toggle","Modal","isOpen","ModalHeader","clearCartHeader","ModalBody","clearConfirmBody","ModalFooter","clearCancelButtonText","ids","cartLineIds","Array","c","removeCartLines","refreshCart","FooterItemView","FooterItem","_renderElement","HeadingContainer","Link","linkText","image","EditableLink","tileListView","createElement","tileItem","keyIndex","businessPartnersView","selectedBusinessPartnerUser","businessPartnersProps","businessPartnersHeading","catalogLoadingIndicator","catalogLoadingErrorMessage","cookieConsentNotGivenErrorMessage","backToBusinessPartnersLink","searchBar","businessPartnersTable","businessPartnerUsersTable","DataGrid","Component","renderGridHeader","rowClassName","columns","column","reactKey","renderGridRow","_column$onRender","_column$onClick","call","onRender","loadDataInternal","isAuthenticated","result","loadData","isLoading","e","_e$data","LocalizedMessage","genericErrorMessage","loadMore","paging","sortData","sorting","ascending","sort","item1","item2","value1","value2","compareResult","filterData","isSearchable","searchText","columnValue","indexOf","getDataToDisplay","itemsCount","pageSize","hasMore","defaultSorting","componentDidMount","nextState","Alert","color","moduleClassName","loadingLabel","Fragment","businessPartnerLoadMore","noDataMessage","BusinessPartnerUsersTable","getColumns","isMobileDevice","isMobile","variant","VariantType","Viewport","businessUserTableNameHeadingText","onSelect","businessUserTableAccountNumHeadingText","businessUserTableEmailHeadingText","businessUserTableSpendingLimitHeadingText","getBusinessPartnerUsers","BusinessPartnersDataActions","getUsersAsync","bypassCache","queryResultSettings","businessPartner","BusinessPartnerId","StatusValue","FirstName","LastName","spendingLimit","ObjectExtensions","isNullOrUndefined","SpendingLimit","cultureFormatter","formatCurrency","businessUserTableSpendingLimitZeroHoverText","searchPlaceholderLabel","businessPartnerSearchCustomer","BusinessPartnersTable","businessPartnerName","getBusinessPartners","hasSearchText","searchForAccountMessage","noUsersFound","noUsersFoundErrorMessage","businessPartnerSearchCompany","SearchBar","onSearchTextChange","ev","onSearch","handleKeyUp","keyCode","KeyCodes","Enter","placeholder","onKeyUp","BusinessPartners","onSelectBusinessPartner","selectedBusinessPartner","onSelectBusinessPartnerUser","businessPartnerUser","AccountNumber","cookies","setAccountSelectionCookie","catalogId","getCustomerDefaultCatalogId","validateCatalogId","homeUrl","isBrowser","fullUrl","removeAccountSelectionCookie","eveSearchCustomerByAccountIdAsync","searchTextChange","renderSearchBar","isLoadingCatalog","channelId","apiSettings","_productCatalogs$","productCatalogs","CatalogsDataActions","getCatalogsAsync","RecordId","loadCatalogErrorMessage","queryParams","query","toUpperCase","preselectedAccountId","classname","isConsentGiven","cookieConsentRequiredMessage","AddressShow","AddressDetail","description","AddressSelect","SelectAddress","addButton","isShowSaveButton","saveButton","isShowCancelButton","SelectItem","showItems","AddressAddUpdate","AddressForm","hasError","shipUsaOnlyMessageText","renderDeliveryLimitationMessage","AddressItem","AddressError","CheckoutShippingAddressView","CheckoutShippingAddress","viewState","showAddress","showAddressSelect","showAddOrUpdateAddress","cartLineImages","isShowAddress","isShowAddresList","isShowAddOrUpdateAddress","B2bRequestsStatusView","_props$data$operation","b2bRequestsStatus","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","src","Image","altText","gridSettings","imageSettings","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","price","renderTitle","searchSuggestionHeading","searchTextString","concat","searchAutoSuggestionHeading","format","SearchView","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","size","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","parseInt","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","checkInForOrderPickupAsync","headerErrorMessage","isCheckedIn","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","SignInLoading","icon","SignInButton","attributes","SignInView","signIn","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","isShowLoading","localAccount","forgetPassword","disclaimer","signInButton","wrapper","LocalAccount","socialAccounts","button","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","signUpButton","B2BAccount","CheckInViewComponent","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","_props$data$checkout$","checkout","shippingAddress","nonEligibleItems","setnonEligibleItems","checkEligibilityForShippingAddress","setHasError","_props$data$checkout$2","notEligibleList","checkoutCart","_cart$CartLines","addressCountry","ThreeLetterISORegionName","addressState","State","addressRegion","County","GetProductEligibilityInput","Id","eligibilityData","GetProductEligibilityAction","forEach","i","_getExtensionPropertyValueByKey","properties","valueType","_properties$find","property","p","ExtensionProperties","CommercePropertyValueEnum","string","IsEligible","removeIneligibleItems","cartState","checkoutState","badCartLines","includes","reload","getCartLineFromItemId","_props$data$checkout$3","Description"],"mappings":"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","file":"static/js/12.43cbb6e43b2f43fdec88.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IAdvancedNotesData } from './advanced-notes.data';\r\nimport { IAdvancedNotesProps } from './advanced-notes.props.autogenerated';\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { IAdvancedNoteEntity } from '../../actions/DataServiceEntities.g';\r\n\r\nexport interface IAdvancedNotesViewProps extends IAdvancedNotesProps {\r\n staticDisplay: INodeProps;\r\n advancedNotesModuleProps: IModuleProps;\r\n}\r\n\r\ninterface IAdvancedNotesExtendedProps extends IAdvancedNotesProps {\r\n notes: IAdvancedNoteEntity[];\r\n}\r\n\r\ninterface IAdvancedNotesState {\r\n notes: IAdvancedNoteEntity[];\r\n isNoteAreaActive: boolean;\r\n}\r\n/**\r\n *\r\n * AdvancedNotes component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass AdvancedNotes extends React.PureComponent {\r\n private _className = 'advanced-notes';\r\n constructor(props: IAdvancedNotesExtendedProps) {\r\n super(props);\r\n this.state = {\r\n notes: props.notes,\r\n isNoteAreaActive: false\r\n };\r\n }\r\n private _renderNote = (key: string, message: string): React.ReactNode => {\r\n return (\r\n
\r\n

{message}

\r\n
\r\n );\r\n };\r\n\r\n private _renderNotes = (): React.ReactNode => {\r\n return (\r\n
\r\n {this.props.notes.map((note, index) => {\r\n return this._renderNote(`${index}${note.ItemId}`, note.TextValue || '');\r\n })}\r\n
\r\n );\r\n };\r\n\r\n /**\r\n * Renders the static comment display for when the isCommentAreaActive state param is false\r\n * @return React.ReactNode\r\n */\r\n private _renderStaticNotesDisplay = () => {\r\n const notes = this._renderNotes();\r\n return
{notes}
;\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: IAdvancedNotesViewProps = {\r\n ...this.props,\r\n staticDisplay: {\r\n tag: 'div',\r\n className: `${this._className}__static-display`,\r\n children: this._renderStaticNotesDisplay()\r\n },\r\n advancedNotesModuleProps: {\r\n tag: 'div',\r\n className: `${this._className}`,\r\n moduleProps: { ...this.props }\r\n }\r\n };\r\n return this.props.renderView(viewProps);\r\n }\r\n}\r\n\r\nexport default AdvancedNotes;\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// @ts-ignore\r\nimport {ICartLineItemViewProps, ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors} from \"@msdyn365-commerce-modules/cart\";\r\nimport { IInvoiceSummaryLines } from \"@msdyn365-commerce-modules/invoice-payment-summary\";\r\nimport { IOrderSummaryLines } from \"@msdyn365-commerce-modules/order-summary-utilities\";\r\nimport { ArrayExtensions } from \"@msdyn365-commerce-modules/retail-actions\";\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n INodeProps,\r\n ITelemetryContent,\r\n Node,\r\n TelemetryConstant\r\n} from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nimport { ICartProps as ICartExtensionProps } from \"../definition-extensions/cart.ext.props.autogenerated\";\r\n\r\n/**\r\n * Toggle Bopis Function.\r\n * @param cartLine -CartLine.\r\n * @param isBopisSelected -Boolean.\r\n * @returns Toggle Bopis.\r\n */\r\nconst toggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\r\n cartLine.pickUpInStore?.callbacks.toggleBopis(!isBopisSelected);\r\n};\r\n\r\n/**\r\n * Change Store Function.\r\n * @param cartLine -CartLine.\r\n * @returns Toggle Bopis.\r\n */\r\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\r\n cartLine.pickUpInStore?.callbacks.toggleBopis(true);\r\n};\r\n\r\n/**\r\n * Render Bopis block.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderBopisBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for BOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n\r\n const {\r\n shipInsteadDisplayText,\r\n shipToAddressDisplayText,\r\n pickItUpDisplayText,\r\n pickUpAtStoreWithLocationText,\r\n changeStoreDisplayText\r\n } = resources;\r\n\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n\r\n const payLoad = getPayloadObject(\"click\", telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n \r\n
\r\n {isBopisSelected ? \r\n {pickUpAtStoreWithLocationText}\r\n : \r\n {shipToAddressDisplayText}\r\n }\r\n
\r\n {\r\n isBopisSelected &&\r\n
\r\n \r\n {cartLine.pickUpInStore.orgUnitName}\r\n \r\n \r\n {changeStoreDisplayText}\r\n \r\n
\r\n }\r\n \r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render Bopis block.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderGroupBopisBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n\r\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\r\n\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n\r\n const payLoad = getPayloadObject(\"click\", telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n <>\r\n {isBopisSelected ?\r\n : null}\r\n \r\n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst renderCartLineComment = (cartLineComment: React.ReactNode, comment: string, cartLineId: string, cartProductTitle?: string) => {\r\n if (!cartLineComment) {\r\n return null;\r\n }\r\n return React.cloneElement(cartLineComment[0] as React.ReactElement, { comment, cartLineId, cartProductTitle})\r\n}\r\n\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param cartLineComment - Cart line comment element\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - FLag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLine = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n cartLineComment: React.ReactNode | undefined, telemetryContent?: ITelemetryContent,\r\n isMultiplePickUp?: boolean, emailDeliveryModeCode?: string): JSX.Element => {\r\n const comment = cartLine.data?.cartline.Comment || '';\r\n const cartLineProductTitle = cartLine.data?.product?.Name;\r\n if (cartLine.error === resources.outOfStockErrorMessage) {\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n if (isMultiplePickUp) {\r\n return (\r\n \r\n {renderGroupBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToOrderTemplate}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n if (cartLine.addToOrderTemplate) {\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToOrderTemplate}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param cartLines - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartlinesInternal = (isPrintView: boolean, cartLines: ICartlinesViewProps[], resources: ICartResources,\r\n storeSelector: React.ReactNode | undefined, cartLineComment: React.ReactNode | undefined, telemetryContent?: ITelemetryContent, isMultiplePickUp?: boolean,\r\n emailDeliveryModeCode?: string): JSX.Element[] | JSX.Element => {\r\n return (\r\n cartLines.map((cartLine, index) => {\r\n const itemIndex = index;\r\n return (\r\n
\r\n {cartLine.cartline}\r\n \r\n {isMultiplePickUp ? null : renderBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {\r\n renderCartLine(cartLine, resources, storeSelector, cartLineComment, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)\r\n }\r\n \r\n
\r\n );\r\n }));\r\n};\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param props - The cart line props.\r\n * @param cartLines - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param waitingComponent - Waiting component element.\r\n * @param cartLoadingStatus - Cart loading status string.\r\n * @param isCartDataResult - Flag to check if there is cart data.\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartlines = (isPrintView: boolean, props: ICartViewProps & ICartExtensionProps<{}>, cartLines: ICartlinesViewProps[] | undefined, resources: ICartResources,\r\n storeSelector: React.ReactNode | undefined, waitingComponent: React.ReactNode,\r\n cartLoadingStatus: string, isCartDataResult: boolean, telemetryContent?: ITelemetryContent, isMultiplePickUp?: boolean,\r\n emailDeliveryModeCode?: string): JSX.Element[] | JSX.Element => {\r\n const { slots: { cartLineComment, orderLevelComment } } = props;\r\n if (cartLoadingStatus) {\r\n return (<>\r\n {cartLoadingStatus}\r\n );\r\n }\r\n\r\n // Props.CartlinesWrapper is only required on cart lines and when multiple pickup mode is disabled. This is also required to handle the empty cart styling.\r\n // Else, empty cart multiple pickup mode is disabled falls under the other cart line wrapper which is creating issue with Empty cart scenario.\r\n if (cartLines) {\r\n return props.multiplePickUpEnabled ? (\r\n renderCartlinesInternal(isPrintView, cartLines, resources, storeSelector, cartLineComment, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)\r\n ) : (\r\n \r\n {renderCartlinesInternal(isPrintView, cartLines, resources, storeSelector, cartLineComment, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}\r\n {renderOrderLevelComment(isPrintView, orderLevelComment)}\r\n \r\n );\r\n }\r\n\r\n return (isCartDataResult ? (\r\n
\r\n
\r\n {props.slots.emptyCart}\r\n
\r\n
\r\n ) : <>\r\n {waitingComponent}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines group title.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param count - Count of products.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\r\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\r\n const { itemLabel, itemsLabel } = resources;\r\n const itemCountOne: number = 1;\r\n const suffix = count > itemCountOne ? itemsLabel : itemLabel;\r\n const countTitle = `(${count} ${suffix})`;\r\n return (\r\n <>\r\n \r\n {isBopisSelected ?

\r\n {cartLine.pickUpInStore?.deliveryOption}\r\n {\", \"}\r\n {cartLine.pickUpInStore?.orgUnitName}\r\n

: null}\r\n

\r\n {countTitle}\r\n

\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines group title.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param count - Count of products.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroupHeader = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number, emailDeliveryModeCode?: string) => {\r\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\r\n const { pickUpText, shippingText, emailshippingText } = resources;\r\n let groupTitle: string;\r\n\r\n groupTitle = isBopisSelected ? pickUpText : shippingText;\r\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\r\n\r\n return (\r\n <>\r\n
\r\n \r\n

\r\n {groupTitle}\r\n

\r\n {renderCartLinesGroupTitle(cartLine, resources, count)}\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Returns count of products.\r\n * @param cartLine - The cart line view props.\r\n * @returns Number of products.\r\n */\r\nconst countItems = (cartLine: ICartlinesViewProps[]): number => {\r\n let countItem = 0;\r\n const defaultItemCount = 0;\r\n countItem = cartLine.reduce((count, item) => {\r\n return count + (item.data?.cartline.Quantity ?? defaultItemCount);\r\n\r\n }, defaultItemCount);\r\n return countItem;\r\n};\r\n\r\n/**\r\n * Render Cart Lines group.\r\n * @param props - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroup = (isPrintView: boolean, props: ICartViewProps & ICartExtensionProps<{}>, resources: ICartResources): JSX.Element | undefined => {\r\n if (props.cartLinesGroup && ArrayExtensions.hasElements(props.cartLinesGroup)) {\r\n return (\r\n
\r\n {props.cartLinesGroup.map(cartlines => {\r\n return (
\r\n {renderCartLinesGroupHeader(cartlines[0], resources, countItems(cartlines),\r\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n {renderCartlines(isPrintView, props, cartlines, props.resources, props.storeSelector,\r\n props.waitingComponent, props.cartLoadingStatus, props.cartDataResult,\r\n props.telemetryContent, props.multiplePickUpEnabled, props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n
);\r\n })}\r\n
\r\n );\r\n }\r\n return (props.cartDataResult ? (\r\n
\r\n
\r\n {props.slots.emptyCart}\r\n
\r\n
\r\n ) : <>\r\n {props.waitingComponent}\r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * Render error block.\r\n * @param errorData - Error component.\r\n * @returns JSX Element.\r\n */\r\nconst renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\r\n if (!errorData || !ArrayExtensions.hasElements(errorData.errors)) {\r\n return null;\r\n }\r\n return (\r\n \r\n {errorData.header}\r\n {errorData.errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render invoice summary.\r\n * @param invoiceSummaryLines - Invoice summary component.\r\n * @param orderSummaryItems - Order summary component.\r\n * @param props - The module props.\r\n * @returns JSX Element.\r\n */\r\nconst renderInvoiceSummarylines = (invoiceSummaryLines: IInvoiceSummaryLines | undefined, orderSummaryItems: INodeProps,\r\n props: ICartViewProps): JSX.Element | null => {\r\n if (!invoiceSummaryLines) {\r\n props.context.telemetry.error(\"InvoiceSummary content is empty, module wont render\");\r\n return null;\r\n }\r\n return (\r\n \r\n {invoiceSummaryLines.invoices}\r\n {invoiceSummaryLines.giftCard}\r\n {invoiceSummaryLines.loyalty}\r\n {invoiceSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary.\r\n * @param orderSummaryLines - Order summary component.\r\n * @param orderSummaryItems - Order summary items component.\r\n * @param props - The module props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummarylines = (orderSummaryLines: IOrderSummaryLines | undefined, orderSummaryItems: INodeProps,\r\n props: ICartViewProps): JSX.Element | null => {\r\n if (!orderSummaryLines) {\r\n props.context.telemetry.error(\"OrderSummary content is empty, module wont render\");\r\n return null;\r\n }\r\n return (\r\n \r\n {orderSummaryLines.subtotal}\r\n {/* {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null} */}\r\n {orderSummaryLines.shipping}\r\n {orderSummaryLines.otherCharge}\r\n {orderSummaryLines.tax}\r\n {orderSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render error block.\r\n * @param promotions - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\r\n return (\r\n <>\r\n \r\n {promotions.promotionMessage}\r\n \r\n {promotions.promotionSeeAllLink}\r\n \r\n {promotions.promotionDialog}\r\n \r\n\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary checkout.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummaryCheckout = (props: ICartViewProps): JSX.Element | undefined => {\r\n return (\r\n \r\n {props.cart?.hasInvoiceLine ? null : props.promoCode}\r\n \r\n {/* {props.checkoutAsSignInUserButton} */}\r\n {props.checkoutAsGuestButton}\r\n \r\n {props.createTemplateFromCartButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary checkout button.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummaryCheckoutButton = (props: ICartViewProps): JSX.Element | undefined => {\r\n return (\r\n \r\n {/* {props.checkoutAsSignInUserButton} */}\r\n {props.checkoutAsGuestButton}\r\n \r\n );\r\n};\r\n\r\nconst _renderPrintView = (isPrintView: boolean,\r\n handlePrintViewChange: (e: React.MouseEventHandler) => void,\r\n printViewLabel: string\r\n): React.ReactNode => (\r\n
\r\n \r\n\r\n\r\n
\r\n);\r\n\r\n/**\r\n * Renders the order-level-comment that displays a comment at the bottom of the cart.\r\n */\r\n\r\nconst renderOrderLevelComment = (isPrintView: boolean, orderLevelComment: React.ReactNode | undefined): React.ReactNode => {\r\n if (!orderLevelComment) {\r\n return null;\r\n }\r\n return(\r\n
\r\n {orderLevelComment}\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render cart view.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst CartView: React.FC> = (props: ICartViewProps & ICartExtensionProps<{}>) => {\r\n\r\n const handlePrintViewChange = () => setIsPrintView(!isPrintView);\r\n const [isPrintView, setIsPrintView] = React.useState(false);\r\n const printViewToggle = _renderPrintView(isPrintView, handlePrintViewChange, \"Print View\");\r\n const totalItemCountOne: number = 1;\r\n const updatedTitle = (\r\n

\r\n {props.resources.cartTitle}\r\n \r\n {` (${Number(props.cart?.totalItemsInCart)} ${props.cart?.totalItemsInCart !== totalItemCountOne ? \"items\" : \"item\"})`}\r\n \r\n

\r\n );\r\n return (\r\n
\r\n {updatedTitle}\r\n
\r\n {props.orderSummaryLineitems?.orderTotal}\r\n
\r\n {renderOrderSummaryCheckoutButton(props)}\r\n {!props.cart?.hasInvoiceLine && props.promotionOptions && renderPromotions(props.promotionOptions)}\r\n {props.multiplePickUpEnabled ? renderCartLinesGroup(isPrintView, props, props.resources) : renderCartlines(isPrintView, props, props.cartlines,\r\n props.resources, props.storeSelector, props.waitingComponent, props.cartLoadingStatus, props.cartDataResult)}\r\n {props.orderSummaryHeading &&\r\n \r\n {printViewToggle}\r\n \r\n {props.orderSummaryHeading}\r\n {props.cart?.hasInvoiceLine ? renderInvoiceSummarylines(\r\n props.invoiceSummaryLineitems, props.OrderSummaryItems, props) : renderOrderSummarylines(\r\n props.orderSummaryLineitems, props.OrderSummaryItems, props)}\r\n {renderErrorBlock(props.OrderSummaryErrors)}\r\n \r\n {renderOrderSummaryCheckout(props)}\r\n }\r\n {props.storeSelector}\r\n
\r\n );\r\n};\r\n\r\nexport default CartView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\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 { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IAdvancedNotesViewProps } from './advanced-notes';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport default (props: IAdvancedNotesViewProps) => {\r\n const { staticDisplay, advancedNotesModuleProps } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n// @ts-ignore\r\nimport {ICartLineItemViewProps, ICartlinesViewProps, ICartViewProps, IOrderSummaryErrors} from \"@msdyn365-commerce-modules/cart\";\r\nimport { IInvoiceSummaryLines } from \"@msdyn365-commerce-modules/invoice-payment-summary\";\r\nimport { IOrderSummaryLines } from \"@msdyn365-commerce-modules/order-summary-utilities\";\r\nimport { ArrayExtensions } from \"@msdyn365-commerce-modules/retail-actions\";\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n INodeProps,\r\n ITelemetryContent,\r\n Node,\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n TelemetryConstant\r\n} from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nimport { ICartProps as ICartExtensionProps, ICartResources } from \"../definition-extensions/cart.ext.props.autogenerated\";\r\nimport { getAdvancedNotesAsync } from \"../../../actions/DataActionExtension.g\";\r\nimport { IAdvancedNoteEntity } from \"../../../actions/DataServiceEntities.g\";\r\nimport { LinePagination } from './components/line-pagination';\r\n\r\n/**\r\n * Toggle Bopis Function.\r\n * @param cartLine -CartLine.\r\n * @param isBopisSelected -Boolean.\r\n * @returns Toggle Bopis.\r\n */\r\nconst toggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\r\n cartLine.pickUpInStore?.callbacks.toggleBopis(!isBopisSelected);\r\n};\r\n\r\n/**\r\n * Change Store Function.\r\n * @param cartLine -CartLine.\r\n * @returns Toggle Bopis.\r\n */\r\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\r\n cartLine.pickUpInStore?.callbacks.toggleBopis(true);\r\n};\r\n\r\n/**\r\n * Render Bopis block.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderBopisBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for BOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n\r\n const {\r\n shipInsteadDisplayText,\r\n shipToAddressDisplayText,\r\n pickItUpDisplayText,\r\n pickUpAtStoreWithLocationText,\r\n changeStoreDisplayText\r\n } = resources;\r\n\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n\r\n const payLoad = getPayloadObject(\"click\", telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n \r\n
\r\n {isBopisSelected ? \r\n {pickUpAtStoreWithLocationText}\r\n : \r\n {shipToAddressDisplayText}\r\n }\r\n
\r\n {\r\n isBopisSelected &&\r\n
\r\n \r\n {cartLine.pickUpInStore.orgUnitName}\r\n \r\n \r\n {changeStoreDisplayText}\r\n \r\n
\r\n }\r\n \r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render Bopis block.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderGroupBopisBlock = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n telemetryContent?: ITelemetryContent, emailDeliveryModeCode?: string): JSX.Element | null => {\r\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\r\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\r\n return null;\r\n }\r\n\r\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\r\n\r\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\r\n\r\n const payLoad = getPayloadObject(\"click\", telemetryContent!, TelemetryConstant.PickupInStore);\r\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n return (\r\n <>\r\n {isBopisSelected ?\r\n : null}\r\n \r\n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\r\n \r\n \r\n );\r\n};\r\n\r\nconst renderCartLineComment = (cartLineComment: React.ReactNode, comment: string, cartLineId: string, cartProductTitle?: string) => {\r\n if (!cartLineComment) {\r\n return null;\r\n }\r\n return React.cloneElement(cartLineComment[0] as React.ReactElement, { comment, cartLineId, cartProductTitle})\r\n}\r\n\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param cartLineComment - Cart line comment element\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - FLag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLine = (cartLine: ICartlinesViewProps, resources: ICartResources, storeSelector: React.ReactNode | undefined,\r\n cartLineComment: React.ReactNode | undefined, advancedNotes: React.ReactNode | undefined, telemetryContent?: ITelemetryContent,\r\n isMultiplePickUp?: boolean, emailDeliveryModeCode?: string): JSX.Element => {\r\n const comment = cartLine.data?.cartline.Comment || '';\r\n const cartLineProductTitle = cartLine.data?.product?.Name;\r\n if (cartLine.error === resources.outOfStockErrorMessage) {\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n if (isMultiplePickUp) {\r\n return (\r\n \r\n {renderGroupBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToOrderTemplate}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n if (cartLine.addToOrderTemplate) {\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToOrderTemplate}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {renderCartLineComment(cartLineComment, comment, cartLine.cartlineId!, cartLineProductTitle)}\r\n {cartLine.addToWishlist}\r\n {cartLine.remove}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param cartLines - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartlinesInternal = (notes: IAdvancedNoteEntity[], isPrintView: boolean, cartLines: ICartlinesViewProps[], resources: ICartResources,\r\n storeSelector: React.ReactNode | undefined, cartLineComment: React.ReactNode | undefined, advancedNotes: React.ReactNode | undefined, telemetryContent?: ITelemetryContent, isMultiplePickUp?: boolean,\r\n emailDeliveryModeCode?: string): JSX.Element[] | JSX.Element => {\r\n return (\r\n cartLines.map((cartLine, index) => {\r\n const itemIndex = index;\r\n const itemId = cartLine.data?.product?.ItemId || '';\r\n return (\r\n
\r\n {cartLine.cartline}\r\n \r\n {isMultiplePickUp ? null : renderBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\r\n {\r\n renderCartLine(cartLine, resources, storeSelector, cartLineComment, advancedNotes, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)\r\n }\r\n \r\n {renderAdvancedNotes(isPrintView, advancedNotes, notes.filter(n => n.ItemId === itemId))}\r\n
\r\n );\r\n }));\r\n};\r\n\r\n/**\r\n * Render Cart Lines.\r\n * @param props - The cart line props.\r\n * @param cartLines - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param storeSelector - Store selector element.\r\n * @param waitingComponent - Waiting component element.\r\n * @param cartLoadingStatus - Cart loading status string.\r\n * @param isCartDataResult - Flag to check if there is cart data.\r\n * @param telemetryContent - The telemetry object.\r\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartlines = (notes: IAdvancedNoteEntity[], isPrintView: boolean, props: ICartViewProps & ICartExtensionProps<{}>, cartLines: ICartlinesViewProps[] | undefined, resources: ICartResources,\r\n storeSelector: React.ReactNode | undefined, waitingComponent: React.ReactNode,\r\n cartLoadingStatus: string, isCartDataResult: boolean, pagination: React.ReactNode,\r\n paginatedView: ICartlinesViewProps[] | undefined,telemetryContent?: ITelemetryContent, isMultiplePickUp?: boolean,\r\n emailDeliveryModeCode?: string): JSX.Element[] | JSX.Element => {\r\n const { slots: { cartLineComment, orderLevelComment, advancedNotes } } = props;\r\n if (cartLoadingStatus) {\r\n return (<>\r\n {cartLoadingStatus}\r\n );\r\n }\r\n\r\n // Props.CartlinesWrapper is only required on cart lines and when multiple pickup mode is disabled. This is also required to handle the empty cart styling.\r\n // Else, empty cart multiple pickup mode is disabled falls under the other cart line wrapper which is creating issue with Empty cart scenario.\r\n // if (cartLines) {\r\n if (paginatedView) {\r\n return props.multiplePickUpEnabled ? (\r\n <>\r\n {pagination}\r\n {renderCartlinesInternal(notes, isPrintView, /*cartLines*/ paginatedView, resources, storeSelector, cartLineComment, advancedNotes, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}\r\n {pagination}\r\n {renderOrderLevelComment(isPrintView, orderLevelComment)}\r\n \r\n ) : (\r\n <>\r\n \r\n {/*
*/}\r\n {/* {renderCartlinesInternal(notes, isPrintView, cartLines, resources, storeSelector, cartLineComment, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}*/}\r\n {/*
*/}\r\n {pagination}\r\n {renderCartlinesInternal(notes, isPrintView, /*cartLines*/ paginatedView, resources, storeSelector, cartLineComment, advancedNotes, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}\r\n {pagination}\r\n {renderOrderLevelComment(isPrintView, orderLevelComment)}\r\n
\r\n \r\n );\r\n }\r\n\r\n return (isCartDataResult ? (\r\n
\r\n
\r\n {props.slots.emptyCart}\r\n
\r\n
\r\n ) : <>\r\n {waitingComponent}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines group title.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param count - Count of products.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\r\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\r\n const { itemLabel, itemsLabel } = resources;\r\n const itemCountOne: number = 1;\r\n const suffix = count > itemCountOne ? itemsLabel : itemLabel;\r\n const countTitle = `(${count} ${suffix})`;\r\n return (\r\n <>\r\n \r\n {isBopisSelected ?

\r\n {cartLine.pickUpInStore?.deliveryOption}\r\n {\", \"}\r\n {cartLine.pickUpInStore?.orgUnitName}\r\n

: null}\r\n

\r\n {countTitle}\r\n

\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Cart Lines group title.\r\n * @param cartLine - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @param count - Count of products.\r\n * @param emailDeliveryModeCode - The email delivery mode code.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroupHeader = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number, emailDeliveryModeCode?: string) => {\r\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\r\n const { pickUpText, shippingText, emailshippingText } = resources;\r\n let groupTitle: string;\r\n\r\n groupTitle = isBopisSelected ? pickUpText : shippingText;\r\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\r\n\r\n return (\r\n <>\r\n
\r\n \r\n

\r\n {groupTitle}\r\n

\r\n {renderCartLinesGroupTitle(cartLine, resources, count)}\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Returns count of products.\r\n * @param cartLine - The cart line view props.\r\n * @returns Number of products.\r\n */\r\nconst countItems = (cartLine: ICartlinesViewProps[]): number => {\r\n let countItem = 0;\r\n const defaultItemCount = 0;\r\n countItem = cartLine.reduce((count, item) => {\r\n return count + (item.data?.cartline.Quantity ?? defaultItemCount);\r\n\r\n }, defaultItemCount);\r\n return countItem;\r\n};\r\n\r\n/**\r\n * Render Cart Lines group.\r\n * @param props - The cart line view props.\r\n * @param resources - Module resource strings.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartLinesGroup = (advancedNotes: IAdvancedNoteEntity[], isPrintView: boolean, props: ICartViewProps & ICartExtensionProps<{}>, resources: ICartResources,\r\n pagination: React.ReactNode,\r\n paginatedView: ICartlinesViewProps[] | undefined): JSX.Element | undefined => {\r\n if (props.cartLinesGroup && ArrayExtensions.hasElements(props.cartLinesGroup)) {\r\n return (\r\n
\r\n {props.cartLinesGroup.map(cartlines => {\r\n return (
\r\n {renderCartLinesGroupHeader(cartlines[0], resources, countItems(cartlines),\r\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n {renderCartlines(advancedNotes, isPrintView, props, cartlines, props.resources, props.storeSelector,\r\n props.waitingComponent, props.cartLoadingStatus, props.cartDataResult,\r\n pagination,\r\n paginatedView,props.telemetryContent, props.multiplePickUpEnabled, props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n
);\r\n })}\r\n
\r\n );\r\n }\r\n return (props.cartDataResult ? (\r\n
\r\n
\r\n {props.slots.emptyCart}\r\n
\r\n
\r\n ) : <>\r\n {props.waitingComponent}\r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * Render error block.\r\n * @param errorData - Error component.\r\n * @returns JSX Element.\r\n */\r\nconst renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\r\n if (!errorData || !ArrayExtensions.hasElements(errorData.errors)) {\r\n return null;\r\n }\r\n return (\r\n \r\n {errorData.header}\r\n {errorData.errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render invoice summary.\r\n * @param invoiceSummaryLines - Invoice summary component.\r\n * @param orderSummaryItems - Order summary component.\r\n * @param props - The module props.\r\n * @returns JSX Element.\r\n */\r\nconst renderInvoiceSummarylines = (invoiceSummaryLines: IInvoiceSummaryLines | undefined, orderSummaryItems: INodeProps,\r\n props: ICartViewProps): JSX.Element | null => {\r\n if (!invoiceSummaryLines) {\r\n props.context.telemetry.error(\"InvoiceSummary content is empty, module wont render\");\r\n return null;\r\n }\r\n return (\r\n \r\n {invoiceSummaryLines.invoices}\r\n {invoiceSummaryLines.giftCard}\r\n {invoiceSummaryLines.loyalty}\r\n {invoiceSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary.\r\n * @param orderSummaryLines - Order summary component.\r\n * @param orderSummaryItems - Order summary items component.\r\n * @param props - The module props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummarylines = (orderSummaryLines: IOrderSummaryLines | undefined, orderSummaryItems: INodeProps,\r\n props: ICartViewProps): JSX.Element | null => {\r\n if (!orderSummaryLines) {\r\n props.context.telemetry.error(\"OrderSummary content is empty, module wont render\");\r\n return null;\r\n }\r\n return (\r\n \r\n {orderSummaryLines.subtotal}\r\n {/* {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null} */}\r\n {orderSummaryLines.shipping}\r\n {orderSummaryLines.otherCharge}\r\n {orderSummaryLines.tax}\r\n {orderSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render error block.\r\n * @param promotions - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\r\n return (\r\n <>\r\n \r\n {promotions.promotionMessage}\r\n \r\n {promotions.promotionSeeAllLink}\r\n \r\n {promotions.promotionDialog}\r\n \r\n\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary checkout.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummaryCheckout = (props: ICartViewProps, renderClearCart: React.ReactNode): JSX.Element | undefined => {\r\n return (\r\n \r\n {props.cart?.hasInvoiceLine ? null : props.promoCode}\r\n \r\n {props.checkoutAsSignInUserButton}\r\n {props.checkoutAsGuestButton}\r\n \r\n {props.createTemplateFromCartButton}\r\n {renderClearCart}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders the clear cart button on the page. Clicking the button triggers the modal to confirm the action.\r\n *\r\n * @param {(e: React.SetStateAction) => void} setClearCartModalActive\r\n * @param {ICartResources} resources\r\n * @return {*} {React.ReactNode}\r\n */\r\nconst _renderClearCart = (\r\n setClearCartModalActive: (e: React.SetStateAction) => void,\r\n resources: ICartResources\r\n): React.ReactNode => (\r\n
\r\n setClearCartModalActive(true)}\r\n >\r\n {resources.clearCartButtonText}\r\n \r\n
\r\n);\r\n\r\n/**\r\n* Modal which is responsible for verifying the clear cart intention. Can either be dismissed or confirmed. If confirmed, will clear the cart.\r\n*\r\n* @param {(e: React.MouseEvent) => void} handleClearCart\r\n* @param {(e: React.SetStateAction) => void} setClearCartModalActive\r\n* @param {() => void} toggle\r\n* @param {boolean} clearCartModalActive\r\n* @param {ICartResources} resources\r\n* @return {*}\r\n*/\r\nconst _renderClearCartModal = (\r\n handleClearCart: (e: React.MouseEvent) => void,\r\n setClearCartModalActive: (e: React.SetStateAction) => void,\r\n toggle: () => void,\r\n clearCartModalActive: boolean,\r\n resources: ICartResources\r\n) => {\r\n const clearCartClassName = 'clearcart';\r\n\r\n /**\r\n * Renders the button area\r\n */\r\n const _renderButtonArea = (): React.ReactNode => (\r\n
\r\n \r\n \r\n
\r\n );\r\n\r\n return (\r\n \r\n {resources.clearCartHeader}\r\n {resources.clearConfirmBody}\r\n {_renderButtonArea()}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render order summary checkout button.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderOrderSummaryCheckoutButton = (props: ICartViewProps): JSX.Element | undefined => {\r\n return (\r\n \r\n {props.checkoutAsSignInUserButton}\r\n {props.checkoutAsGuestButton}\r\n \r\n );\r\n};\r\n\r\nconst _renderPrintView = (isPrintView: boolean,\r\n handlePrintViewChange: (e: React.MouseEventHandler) => void,\r\n printViewLabel: string\r\n): React.ReactNode => (\r\n
\r\n \r\n\r\n\r\n
\r\n);\r\n\r\n/**\r\n * Renders the advanced-notes that display all of the associated notes for each cart line item at the bottom of the item in the cart.\r\n */\r\n\r\nconst renderAdvancedNotes = (isPrintView: boolean, advancedNotes: React.ReactNode, notes: IAdvancedNoteEntity[]): React.ReactNode => {\r\n\r\n if (!advancedNotes) {\r\n return null;\r\n }\r\n\r\n return(\r\n
\r\n {React.cloneElement(advancedNotes[0] as React.ReactElement, { notes })}\r\n
\r\n )\r\n}\r\n\r\n/**\r\n * Renders the order-level-comment that displays a comment at the bottom of the cart.\r\n */\r\n\r\nconst renderOrderLevelComment = (isPrintView: boolean, orderLevelComment: React.ReactNode | undefined): React.ReactNode => {\r\n if (!orderLevelComment) {\r\n return null;\r\n }\r\n\r\n return(\r\n
\r\n {orderLevelComment}\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Render cart view.\r\n * @param props - The module view props.\r\n * @returns JSX Element.\r\n */\r\nconst CartView: React.FC> = (props: ICartViewProps & ICartExtensionProps<{}>) => {\r\n\r\n const handlePrintViewChange = () => setIsPrintView(!isPrintView);\r\n const [isPrintView, setIsPrintView] = React.useState(false);\r\n const [advancedNotes, setAdvancedNotes] = React.useState(undefined);\r\n const printViewToggle = _renderPrintView(isPrintView, handlePrintViewChange, \"Print View\");\r\n const totalItemCountOne: number = 1;\r\n const defaultPageLength: number = 5;\r\n const updatedTitle = (\r\n

\r\n {props.resources.cartTitle}\r\n \r\n {` (${Number(props.cart?.totalItemsInCart)} ${props.cart?.totalItemsInCart !== totalItemCountOne ? \"items\" : \"item\"})`}\r\n \r\n

\r\n );\r\n const getAdvancedNotes = async (): Promise => {\r\n const itemIds = props.cart?.cart.CartLines?.map(cl => cl.ItemId!) || [];\r\n if (!itemIds.length) {\r\n return;\r\n }\r\n getAdvancedNotesAsync({ callerContext: props.context.actionContext }, itemIds)\r\n .then(notes => {\r\n setAdvancedNotes(notes || []);\r\n })\r\n }\r\n\r\n const pageLength = props.config.pageLength || defaultPageLength;\r\n\r\n const [paginatedView, setPaginatedView] = React.useState(\r\n props.cartlines && props.cartlines.length >= pageLength ? props.cartlines.slice(0, pageLength) : props.cartlines\r\n );\r\n const [paginationPage, setPaginationPage] = React.useState(0);\r\n const [clearCartModalActive, setClearCartModalActive] = React.useState(false);\r\n\r\n const handleClearCart = () => {\r\n const cart = props.cart;\r\n const cartlines = cart?.cart.CartLines;\r\n\r\n if (cart && cartlines) {\r\n let ids = { cartLineIds: Array() };\r\n cartlines.map(c => (c.LineId ? ids.cartLineIds.push(c.LineId) : null));\r\n cart.removeCartLines(ids);\r\n setClearCartModalActive(false);\r\n cart.refreshCart({});\r\n }\r\n };\r\n\r\n /**\r\n * Utility class to easily go up one page\r\n */\r\n const nextPage = () => {\r\n changePage(paginationPage + 1);\r\n};\r\n\r\n/**\r\n * Utility class to easily go down one page\r\n */\r\nconst prevPage = () => {\r\n changePage(paginationPage - 1);\r\n};\r\n\r\n/**\r\n * Update the state of @const paginationPage and @const paginatedView to the given page, folliowing some logic\r\n * to prevent the page from going into the negatives or beyond the maximum page length.\r\n *\r\n * @param {number} page\r\n * @return {*}\r\n */\r\nconst changePage = (page: number) => {\r\n if (page < 0) {\r\n return;\r\n }\r\n\r\n if (props.cartlines && page >= props.cartlines.length / pageLength) {\r\n page = props.cartlines.length / pageLength - 1;\r\n }\r\n\r\n let skip = page * pageLength;\r\n if (props.cartlines && props.cartlines.length >= skip) {\r\n setPaginationPage(page);\r\n let slice = props.cartlines?.slice(skip);\r\n setPaginatedView(slice.length >= pageLength ? slice.slice(0, pageLength) : slice);\r\n }\r\n};\r\n\r\n React.useEffect(() => {\r\n if (!advancedNotes)\r\n void getAdvancedNotes();\r\n }, [props.data])\r\n\r\n React.useEffect(() => {\r\n changePage(paginationPage);\r\n }, props.cartlines);\r\n\r\n const toggle = () => setClearCartModalActive(!clearCartModalActive);\r\n const renderClearCart = _renderClearCart(setClearCartModalActive, props.resources);\r\n\r\n let pagination = (\r\n \r\n );\r\n\r\n return (\r\n
\r\n {updatedTitle}\r\n
\r\n {props.orderSummaryLineitems?.orderTotal}\r\n
\r\n {renderOrderSummaryCheckoutButton(props)}\r\n {!props.cart?.hasInvoiceLine && props.promotionOptions && renderPromotions(props.promotionOptions)}\r\n {props.multiplePickUpEnabled ? renderCartLinesGroup(advancedNotes || [], isPrintView, props, props.resources, pagination, paginatedView) : renderCartlines(advancedNotes || [], isPrintView, props, props.cartlines,\r\n props.resources, props.storeSelector, props.waitingComponent, props.cartLoadingStatus, props.cartDataResult, pagination, paginatedView)}\r\n {props.orderSummaryHeading &&\r\n \r\n {printViewToggle}\r\n \r\n {props.orderSummaryHeading}\r\n {props.cart?.hasInvoiceLine ? renderInvoiceSummarylines(\r\n props.invoiceSummaryLineitems, props.OrderSummaryItems, props) : renderOrderSummarylines(\r\n props.orderSummaryLineitems, props.OrderSummaryItems, props)}\r\n {renderErrorBlock(props.OrderSummaryErrors)}\r\n \r\n {renderOrderSummaryCheckout(props, renderClearCart)}\r\n }\r\n {props.storeSelector}\r\n {_renderClearCartModal(handleClearCart, setClearCartModalActive, toggle, clearCartModalActive, props.resources)}\r\n
\r\n );\r\n};\r\n\r\nexport default CartView;\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 { IFooterViewProps } from '@msdyn365-commerce-modules/footer';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\n/**\r\n *\r\n * FooterItemView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class FooterItemView extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { FooterItem } = this.props;\r\n return (\r\n \r\n {this._renderElement(this.props)}\r\n \r\n );\r\n }\r\n\r\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\r\n if (heading) {\r\n return (\r\n {' '}\r\n );\r\n } else if (Link && image) {\r\n return (\r\n \r\n {linkText}\r\n {image}\r\n \r\n );\r\n } else if (Link) {\r\n return (EditableLink);\r\n }\r\n return (\r\n <>\r\n {text}\r\n {image}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FooterItemView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\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 { IBusinessPartnersViewProps } from './eve-business-partners';\r\n\r\n/**\r\n * View layout of business partner module.\r\n * @param props - React props of the component.\r\n * @returns Functional component.\r\n */\r\nconst businessPartnersView: React.FC = props => {\r\n if (props.selectedBusinessPartnerUser) {\r\n return (\r\n \r\n {props.businessPartnersHeading}\r\n {props.catalogLoadingIndicator}\r\n {props.catalogLoadingErrorMessage}\r\n \r\n );\r\n }\r\n\r\n if (props.cookieConsentNotGivenErrorMessage) {\r\n return (\r\n \r\n {props.businessPartnersHeading}\r\n {props.cookieConsentNotGivenErrorMessage}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {props.backToBusinessPartnersLink}\r\n {props.searchBar}\r\n {props.businessPartnersHeading}\r\n {props.businessPartnersTable}\r\n {props.businessPartnerUsersTable}\r\n \r\n );\r\n};\r\n\r\nexport default businessPartnersView;\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 } from '@msdyn365-commerce/core';\r\nimport { CommerceException } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Alert, Button } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { moduleClassName } from '../eve-business-partners';\r\nimport { IEveBusinessPartnersResources } from '../eve-business-partners.props.autogenerated';\r\n// import { SearchBar } from './search-bar';\r\n\r\n/**\r\n * Props of DataGrid component.\r\n */\r\nexport interface IDataGridProps extends IComponentProps {\r\n className: string;\r\n pageSize?: number;\r\n searchPlaceholderLabel: string;\r\n defaultSorting?: ISortingInfo;\r\n resources: IEveBusinessPartnersResources;\r\n columns: IDataGridColumn[];\r\n loadData(): Promise;\r\n}\r\n\r\n/**\r\n * State of DataGrid component.\r\n */\r\nexport interface IDataGridState {\r\n data: Tdata[];\r\n paging: IPagingInfo;\r\n filter: IFilterInfo;\r\n sorting?: ISortingInfo;\r\n isLoading: boolean;\r\n errorMessage: string;\r\n}\r\n\r\nexport interface IPagingInfo {\r\n index: number;\r\n}\r\n\r\nexport interface IFilterInfo {\r\n searchText: string;\r\n}\r\n\r\nexport interface ISortingInfo {\r\n fieldName: string;\r\n ascending: boolean;\r\n}\r\n\r\n/**\r\n * Column definition of DataGrid component.\r\n */\r\nexport interface IDataGridColumn {\r\n /**\r\n * A unique key for identifying the column.\r\n */\r\n reactKey: string;\r\n\r\n /**\r\n * Name to render on the column header.\r\n */\r\n name: string;\r\n\r\n /**\r\n * Class name added to table cell.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * The field to pull the text value from for the column.Can be unset if a custom `onRender` method is provided.\r\n */\r\n fieldName?: string;\r\n\r\n /**\r\n * Whether the user can search this column by text.\r\n */\r\n isSearchable?: boolean;\r\n\r\n /**\r\n * Custom renderer for cell content, instead of the default text rendering.\r\n */\r\n onRender?(item: Tdata): JSX.Element;\r\n\r\n /**\r\n * Event when the table cell is clicked.\r\n */\r\n onClick?(item: Tdata): void;\r\n}\r\n\r\nconst defaultPageSize = 10;\r\n\r\n/**\r\n * DataGrid component encapsulates common table functionalities.\r\n */\r\nexport class DataGrid extends React.Component, IDataGridState> {\r\n constructor(props: IDataGridProps) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n sorting: props.defaultSorting,\r\n paging: { index: 0 },\r\n filter: { searchText: '' },\r\n isLoading: true,\r\n errorMessage: ''\r\n };\r\n }\r\n\r\n public componentDidMount(): void {\r\n this.loadDataInternal();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: Readonly>, nextState: Readonly>): boolean {\r\n return (\r\n this.props.id !== nextProps.id ||\r\n this.props.columns !== nextProps.columns ||\r\n this.state.data !== nextState.data ||\r\n this.state.paging !== nextState.paging ||\r\n this.state.filter !== nextState.filter ||\r\n this.state.isLoading !== nextState.isLoading ||\r\n this.state.errorMessage !== nextState.errorMessage\r\n );\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const data = this.getDataToDisplay();\r\n const hasMore = this.hasMore();\r\n if (this.state.errorMessage) {\r\n return {this.state.errorMessage};\r\n }\r\n if (this.state.isLoading) {\r\n return {this.props.resources.loadingLabel};\r\n }\r\n if (!ArrayExtensions.hasElements(data)) {\r\n return (\r\n <>\r\n {/**/}\r\n

{this.props.resources.noDataMessage}

\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n {/**/}\r\n \r\n {this.renderGridHeader()}\r\n {data.map((item, index) => this.renderGridRow(item, index))}\r\n
\r\n {hasMore && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders the TH header in the table.\r\n * @returns - Header react node.\r\n */\r\n private readonly renderGridHeader = () => {\r\n const className = `${this.props.className}__header`;\r\n const rowClassName = `${className}__row`;\r\n return (\r\n \r\n \r\n {this.props.columns.map(column => (\r\n \r\n {column.name}\r\n \r\n ))}\r\n \r\n \r\n );\r\n };\r\n\r\n /**\r\n * Renders table row.\r\n * @param item - Data item for this row.\r\n * @param index - Index of the row.\r\n * @returns - Row react node.\r\n */\r\n private readonly renderGridRow = (item: Tdata, index: number) => {\r\n const rowClassName = `${this.props.className}__row`;\r\n return (\r\n \r\n {this.props.columns.map(column => {\r\n return (\r\n column.onClick?.(item)}>\r\n {column.fieldName ? (\r\n {((item as unknown) as { [key: string]: string })[column.fieldName]}\r\n ) : (\r\n column.onRender?.(item)\r\n )}\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Load data for the table.\r\n * @returns Promise.\r\n */\r\n private readonly loadDataInternal = async () => {\r\n if (!this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n this.setState({\r\n isLoading: false\r\n });\r\n return;\r\n }\r\n try {\r\n const result = await this.props.loadData();\r\n this.setState({\r\n isLoading: false,\r\n data: result\r\n });\r\n } catch (e) {\r\n this.setState({\r\n isLoading: false,\r\n errorMessage: (e as { data: CommerceException })?.data?.LocalizedMessage || this.props.resources.genericErrorMessage\r\n });\r\n }\r\n };\r\n\r\n // private readonly onSearch = (searchText: string): void => {\r\n // this.setState({\r\n // paging: { index: 0 },\r\n // filter: { searchText }\r\n // });\r\n // };\r\n\r\n private readonly loadMore = (): void => {\r\n this.setState({\r\n paging: { index: this.state.paging.index + 1 }\r\n });\r\n };\r\n\r\n private readonly sortData = (): Tdata[] => {\r\n const sorting = this.state.sorting;\r\n if (!sorting) {\r\n return this.state.data;\r\n }\r\n const { fieldName, ascending } = sorting;\r\n return this.state.data.sort((item1: Tdata, item2: Tdata) => {\r\n let value1 = ((item1 as unknown) as { [key: string]: string })[fieldName];\r\n let value2 = ((item2 as unknown) as { [key: string]: string })[fieldName];\r\n if (typeof value1 === 'string' && typeof value2 === 'string') {\r\n value1 = value1.toLowerCase();\r\n value2 = value2.toLowerCase();\r\n }\r\n const compareResult = value1 > value2 ? 1 : value1 < value2 ? -1 : 0;\r\n return ascending ? compareResult : compareResult * -1;\r\n });\r\n };\r\n\r\n private readonly filterData = (): Tdata[] => {\r\n const column = this.props.columns.find(c => c.isSearchable);\r\n const searchText = this.state.filter.searchText;\r\n return this.sortData().filter(item => {\r\n if (!column?.fieldName || !searchText) {\r\n return true;\r\n }\r\n const columnValue = ((item as unknown) as { [key: string]: string })[column.fieldName];\r\n return columnValue && columnValue.toLowerCase().indexOf(searchText.trim().toLowerCase()) >= 0;\r\n });\r\n };\r\n\r\n private readonly getDataToDisplay = (): Tdata[] => {\r\n const itemsCount = (this.props.pageSize || defaultPageSize) * (this.state.paging.index + 1);\r\n const filteredItems = this.filterData();\r\n return filteredItems.slice(0, itemsCount);\r\n };\r\n\r\n private readonly hasMore = (): boolean => {\r\n const itemsCount = (this.props.pageSize || defaultPageSize) * (this.state.paging.index + 1);\r\n const filteredItems = this.filterData();\r\n return filteredItems.length > itemsCount;\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 { IComponentProps } from '@msdyn365-commerce/core';\r\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport React, { ReactNode } from 'react';\r\nimport { isMobile, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\r\n\r\nimport { BusinessPartner, BusinessPartnerUser, BusinessPartnersDataActions } from '@msdyn365-commerce/retail-proxy';\r\nimport { IEveBusinessPartnersResources } from '../eve-business-partners.props.autogenerated';\r\nimport { DataGrid, IDataGridColumn } from './data-grid';\r\n\r\n/**\r\n * View model of business partner user, used to display.\r\n */\r\nexport interface IBusinessPartnerUserViewModel extends BusinessPartnerUser {\r\n name: string;\r\n spendingLimit: ReactNode;\r\n}\r\n\r\n/**\r\n * Props of BusinessPartnerUsersTable.\r\n */\r\nexport interface IBusinessPartnerUsersTableProps extends IComponentProps {\r\n className: string;\r\n pageSize?: number;\r\n businessPartner: BusinessPartner;\r\n resources: IEveBusinessPartnersResources;\r\n onSelect(businessPartnerUser: BusinessPartnerUser): void;\r\n}\r\n\r\n/**\r\n * BusinessPartnerUsersTable component.\r\n */\r\nexport class BusinessPartnerUsersTable extends React.Component {\r\n public shouldComponentUpdate(nextProps: Readonly): boolean {\r\n return this.props.id !== nextProps.id;\r\n }\r\n\r\n public render(): JSX.Element {\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Get column definition of the table.\r\n * @returns - Columns.\r\n */\r\n private readonly getColumns = (): IDataGridColumn[] => {\r\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\r\n\r\n return [\r\n {\r\n reactKey: 'name',\r\n name: this.props.resources.businessUserTableNameHeadingText,\r\n isSearchable: true,\r\n onClick: this.props.onSelect,\r\n onRender: (data: IBusinessPartnerUserViewModel) => {data.name}\r\n },\r\n {\r\n reactKey: 'accountNumber',\r\n name: this.props.resources.businessUserTableAccountNumHeadingText,\r\n fieldName: 'AccountNumber',\r\n onClick: this.props.onSelect\r\n },\r\n {\r\n reactKey: 'email',\r\n name: this.props.resources.businessUserTableEmailHeadingText,\r\n fieldName: 'Email',\r\n onClick: this.props.onSelect\r\n },\r\n {\r\n reactKey: 'spendingLimit',\r\n name: this.props.resources.businessUserTableSpendingLimitHeadingText,\r\n className: `${this.props.className}__row__column-with-number`,\r\n fieldName: 'spendingLimit',\r\n onClick: !isMobileDevice ? this.props.onSelect : undefined\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Call retail proxy to get business partner users.\r\n * @returns - Business partner users view model.\r\n */\r\n private readonly getBusinessPartnerUsers = async (): Promise => {\r\n const businessPartners = await BusinessPartnersDataActions.getUsersAsync(\r\n {\r\n callerContext: this.props.context.actionContext,\r\n bypassCache: 'get',\r\n queryResultSettings: {}\r\n },\r\n this.props.businessPartner.BusinessPartnerId\r\n );\r\n return businessPartners\r\n .filter(user => user.StatusValue === 1)\r\n .map(user => {\r\n return {\r\n ...user,\r\n name: `${user.FirstName} ${user.LastName}`,\r\n spendingLimit: (\r\n \r\n {!ObjectExtensions.isNullOrUndefined(user.SpendingLimit)\r\n ? this.props.context.cultureFormatter.formatCurrency(user.SpendingLimit.toString())\r\n : ''}\r\n {!ObjectExtensions.isNullOrUndefined(user.SpendingLimit) && user.SpendingLimit === 0 ? (\r\n \r\n