{"version":3,"sources":["webpack:///src/actions/submit-helpfulness-vote.ts?be08","webpack:///./src/modules/smwe-order-details/components/wine-club-details.tsx?7a40","webpack:///./src/modules/smwe-order-details/smwe-order-details.view.tsx?23fb","webpack:///src/modules/order-history/components/table-view/components/order-history-table-header-component.tsx?3fc3","webpack:///src/modules/order-history/components/table-view/components/order-history-table-row-component.tsx?5fcb","webpack:///src/modules/order-history/components/table-view/order-history-table.tsx?3070","webpack:///src/modules/order-details/components/get-order-summary.tsx?eb46","webpack:///src/common/get-order-information.tsx?d70b","webpack:///src/index.ts?c6ae","webpack:///src/modules/quick-order/components/quick-order-drawer.tsx?25f0","webpack:///src/modules/quick-order/components/quick-order-form.tsx?61bd","webpack:///src/modules/quick-order/components/quick-order-product.ts?af99","webpack:///src/modules/quick-order/components/quick-order-table/components/quick-order-table-header-component.tsx?d661","webpack:///src/modules/quick-order/components/quick-order-table/components/quick-order-table-row-component.tsx?cb68","webpack:///src/modules/quick-order/components/quick-order-table/quick-order-table-component.tsx?a7a8","webpack:///src/modules/quick-order/quick-order.tsx?7aab","webpack:///src/modules/fabrikam/views/components/promocode.component.tsx?7eef","webpack:///src/modules/header/header.view.tsx?40e5","webpack:///src/modules/order-confirmation/components/index.ts?2e1f","webpack:///src/actions/inputs/submit-user-review-input.ts?921c","webpack:///./src/themes/elicit/views/smwe-order-details.view.tsx?b6af","webpack:///./src/components/cartlineitem-variant.component.tsx?dd0c","webpack:///src/modules/order-template-list/components/order-template-list.tsx?f2fd","webpack:///src/modules/order-template-list/components/orderTemplateList-status-message.tsx?dbea","webpack:///./src/modules/wine-club-signup/wine-club-data.ts?aeec","webpack:///src/modules/order-details/components/get-payment-methods.tsx?aeee","webpack:///./src/Utilities/analytics/google-analytics.ts?df4a","webpack:///./src/Utilities/analytics/analytics-dispatcher.ts?9802","webpack:///src/common/address.tsx?6c70","webpack:///src/modules/order-confirmation/index.ts?bf5f","webpack:///src/modules/write-review/index.ts?2b94","webpack:///src/common/rnrInterface.ts?25e5","webpack:///src/modules/reviews-list/components/review-card.tsx?2d16","webpack:///./src/modules/smwe-order-history/components/smwe-order-history-filter.tsx?2992","webpack:///./src/modules/smwe-order-history/actions/get-order-shipment-history.ts?e37e","webpack:///./src/modules/smwe-order-history/components/get-sales-order.tsx?c3e9","webpack:///./src/modules/smwe-order-history/components/table-view/components/smwe-order-history-table-header-component.tsx?f1ee","webpack:///./src/modules/smwe-order-history/components/table-view/components/smwe-order-history-table-row-component.tsx?cc05","webpack:///./src/modules/smwe-order-history/components/table-view/smwe-order-history-table.tsx?ec77","webpack:///./src/modules/smwe-order-history/smwe-order-history.tsx?d3c2","webpack:///src/modules/reviews-list/components/components.tsx?c96f","webpack:///src/modules/order-details/index.ts?c6ff","webpack:///src/modules/header/components/header-preferred-store.tsx?9138","webpack:///src/modules/header/components/logo.tsx?be23","webpack:///src/modules/header/components/nav-icon.tsx?49a1","webpack:///src/modules/header/header.tsx?4703","webpack:///src/modules/order-confirmation/components/get-help.tsx?58bd","webpack:///src/modules/order-template/order-template.tsx?4281","webpack:///src/modules/order-confirmation/order-confirmation.tsx?67f9","webpack:///src/modules/quick-order/quick-order.view.tsx?2242","webpack:///src/modules/ratings-histogram/ratings-histogram.tsx?4c32","webpack:///src/common/get-groups.tsx?8b6a","webpack:///src/modules/reviews-list/reviews-list.tsx?b5d0","webpack:///./src/modules/smwe-media-gallery/utils/get-valid-product-images.ts?1984","webpack:///./src/modules/smwe-media-gallery/smwe-media-gallery.tsx?f7aa","webpack:///src/common/index.ts?ee63","webpack:///src/modules/order-details/components/get-help.tsx?85e2","webpack:///./src/modules/smwe-order-history/smwe-order-history.view.tsx?8180","webpack:///src/modules/product-collection/product-collection.view.tsx?9eb3","webpack:///src/actions/inputs/submit-helpfulness-vote-input.ts?cfb5","webpack:///./src/modules/smwe-order-details/components/utilities.ts?88d4","webpack:///src/modules/checkout-order-confirmation/checkout-order-confirmation.tsx?1533","webpack:///./src/Utilities/brand-code-parser.tsx?0b81","webpack:///src/modules/order-confirmation/components/get-payment-methods.tsx?0bc9","webpack:///src/modules/order-history/index.ts?9849","webpack:///./src/modules/smwe-media-gallery/smwe-media-gallery.view.tsx?a42e","webpack:///src/actions/report-review-concern.ts?11eb","webpack:///src/modules/order-details/order-details.tsx?673a","webpack:///src/modules/product-collection/product-collection.tsx?b9b8","webpack:///src/modules/order-history/actions/get-order-shipment-history.ts?2cf8","webpack:///src/modules/order-details/components/index.ts?35b9","webpack:///src/modules/order-template/components/add-line/spinner.tsx?28dd","webpack:///src/modules/order-history/components/index.ts?74da","webpack:///src/common/expand-button-state.ts?acdd","webpack:///src/common/sales-line-state.ts?516c","webpack:///src/common/get-sales-lines.tsx?a840","webpack:///src/modules/order-history/components/get-sales-order.tsx?ac68","webpack:///src/modules/reviews-list/components/report-review-modal.tsx?22a9","webpack:///src/modules/order-template/components/add-line/add-line.tsx?add3","webpack:///src/modules/order-template/components/add-line/dropdown.tsx?40af","webpack:///src/modules/order-template/components/add-line/not-found.tsx?00ed","webpack:///src/modules/order-template/components/common/order-template-quantity.tsx?dfc0","webpack:///src/modules/order-template/components/add-line/product-configuration.tsx?ac81","webpack:///src/modules/order-template/components/add-line/product-list.tsx?5107","webpack:///src/modules/order-template/components/order-template-actions.tsx?5f39","webpack:///src/modules/order-template/components/order-template-lines.tsx?cdf6","webpack:///src/modules/order-template/components/order-template-lines-status-message.tsx?0022","webpack:///src/modules/order-template/components/order-template-table-heading.tsx?606c","webpack:///src/common/review-modal.tsx?7ef9","webpack:///src/modules/order-details/order-details.view.tsx?018c","webpack:///src/modules/search/search.view.tsx?e62d","webpack:///src/modules/order-history/components/order-history-filter.tsx?ac38","webpack:///src/common/get-sales-line.tsx?39dd","webpack:///src/modules/reviews-list/index.ts?51cb","webpack:///src/modules/write-review/components/components.tsx?ead4","webpack:///src/modules/write-review/write-review.tsx?dea3","webpack:///src/common/label.tsx?223a","webpack:///src/modules/order-template-list/components/create-order-template.tsx?81ed","webpack:///src/modules/order-template-list/order-template-list.tsx?bc4a","webpack:///src/actions/inputs/report-review-concern-input.ts?c9d1","webpack:///src/modules/order-confirmation/components/get-order-summary.tsx?fa69","webpack:///./src/modules/smwe-order-details/components/get-order-information.tsx?3177","webpack:///src/modules/order-details/components/table-view/components/order-details-table-header-component.tsx?4682","webpack:///src/modules/order-details/components/table-view/components/order-details-table-row-component.tsx?6c30","webpack:///src/modules/order-details/components/table-view/order-details-table.tsx?99be","webpack:///src/modules/ratings-histogram/component/components.tsx?2a0b","webpack:///./src/Utilities/get-product-attributes.tsx?b745","webpack:///src/modules/reviews-list/reviews-list.view.tsx?6dd9","webpack:///src/actions/index.ts?e12b","webpack:///src/modules/order-template/order-template.view.tsx?f2c8","webpack:///src/modules/order-confirmation/order-confirmation.view.tsx?8166","webpack:///src/common/buy-selected-component.tsx?8155","webpack:///src/modules/order-history/order-history.view.tsx?251d","webpack:///src/modules/ratings-histogram/ratings-histogram.view.tsx?4481","webpack:///./src/modules/smwe-order-details/components/get-help.tsx?adc0","webpack:///./src/modules/smwe-order-details/components/get-order-summary.tsx?fa70","webpack:///./src/modules/smwe-order-details/components/get-payment-methods.tsx?5f0e","webpack:///./src/modules/smwe-order-details/components/address.tsx?da2b","webpack:///./src/modules/smwe-order-details/components/label.tsx?8767","webpack:///./src/modules/smwe-order-details/components/get-sales-line.tsx?b41d","webpack:///./src/modules/smwe-order-details/components/get-sales-lines.tsx?52b5","webpack:///./src/modules/smwe-order-details/smwe-order-details.tsx?99d9","webpack:///src/modules/ratings-histogram/index.ts?834d","webpack:///src/modules/checkout-order-confirmation/checkout-order-confirmation.view.tsx?504a","webpack:///src/modules/order-template/components/bulk-actions.tsx?f343","webpack:///src/common/utilities.ts?0d8b","webpack:///src/modules/search/actions/get-auto-suggest-suggestions.ts?6ade","webpack:///src/modules/search/components/search.categorysuggest.tsx?3bc4","webpack:///src/modules/search/components/search.form.tsx?3c4b","webpack:///src/modules/search/components/search.keywordsuggest.tsx?59ca","webpack:///src/modules/search/components/search.label.tsx?91cb","webpack:///src/modules/search/components/search.productsuggest.tsx?d6fa","webpack:///src/modules/search/search.tsx?3f45","webpack:///src/modules/order-template-list/order-template-list.view.tsx?20f7","webpack:///./src/components/master-prod-display-name.tsx?07d9","webpack:///src/actions/submit-user-review.ts?d4c7","webpack:///src/modules/order-history/order-history.tsx?33c9","webpack:///src/modules/write-review/write-review.view.tsx?9069"],"names":["submitHelpfulnessVoteDataAction","createObservableDataAction","id","action","async","input","ctx","reviewId","length","tenantId","locale","authToken","inputIsValid","Error","requestUrl","serviceEndpoint","requestBody","isHelpful","requestHeader","headers","Authorization","sendRequest","then","response","status","catch","error","trace","telemetry","exception","debug","WineClubDetails","React","constructor","props","super","render","this","wineClubData","variantPreference","className","_shipTypeJSX","_isGiftJSX","shipType","deliveryType","pickupLocationName","pickupLocationAddress","display","selectedLocation","orderDetailProps","context","app","config","wineClubPickupLocations","find","location","pickupLocationId","name","address","forMyself","OrderDetailsOrderInfomation","_ref","orderInformationProps","salesId","createdDate","count","amount","channelReferenceId","channelName","channelAddress","isWineClubOrder","Node","Object","assign","WineClubDetailsRender","OrderDetailsSalesLine","_ref2","salesLineProps","salesLine","buyAgainButton","OrderDetailsGroupDelivery","_ref3","deliveryProps","heading","trackingInfo","OrderDetailsGroup","_ref4","groupProps","delivery","salesLinesProps","salesLines","map","key","data","LineId","salesStatus","OrderDetailsGroups","_ref5","groupsProps","groups","isWineClubPickup","classnames","group","index","OrderDetailsOrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","OrderDetailsPayment","_ref7","paymentMethodsProps","title","methods","OrderDetailsHelp","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","OrderDetailsView","moduleProps","alert","loading","orderInfomation","orderSummary","payment","help","Module","OrderHistoryTableHeaderComponent","rowClassName","headerCells","isMobile","variant","VariantType","Viewport","request","resources","createElement","Fragment","orderHistoryOrderNumberText","getMobileHeaderCells","columnWithNumberClassName","shouldShowOrderPlacedBy","orderPlacedByFullText","orderHistoryCreatedDateText","orderHistoryItemsText","orderHistoryTotalText","shouldShowChannelInfo","orderHistoryOriginText","getDesktopHeaderCells","formatDate","date","undefined","cultureFormatter","year","month","day","getShortEllipsisText","originalText","maxTextLength","_document$body$parent","isRtl","document","body","parentElement","getAttribute","substring","OrderHistoryDesktopTableRowCellComponent","salesOrder","channelIdentities","orgUnitLocations","customer","originator","orderPlacedByYouText","orderOnBehalfOfText","linkToOrderHistoryDetails","getOrderDetailsPageUrl","actionContext","itemsCount","ArrayExtensions","hasElements","SalesLines","countItems","getOrderChannelName","getOrderChannelAddress","channelTypeValue","getOrderChannelTypeValue","isOnlineStore","isOnlineStoreChannel","orderNumberCellText","orderHistoryOrderNumberIsNotAvailable","StringExtensions","isNullOrWhitespace","SalesId","isYou","isOboRequest","CustomerId","CustomerName","StaffId","StaffName","AccountNumber","isYouObo","placedByName","isOnBehalfOfOrder","Name","maxOrderTextLength","window","innerWidth","placedByText","onBehalfOfText","CreatedDateTime","TotalAmount","currencyCode","CurrencyCode","formatCurrency","posChannelNameText","onlineStoreChannelNameText","Button","href","orderHistoryViewDetailsButtonText","orderHistoryViewDetailsButtonAriaLabel","formatAmount","OrderHistoryMobileTableRowCellComponent","onClickViewDetails","useCallback","MsDyn365","isBrowser","orderNumber","dateText","format","orderHistoryCreatedDateMobileDescriptionText","cellClassName","onClick","onKeyPress","role","tabIndex","OrderHistoryTableRowComponent","isMobileView","OrderHistoryTableComponent","headerClassName","typeName","orderHistory","salesOrders","_props$data$originato","originators","o","TransactionId","OrderSummaryLine","label","value","priceContext","PriceComponent","price","CustomerContextualPrice","getOrderDetailsOrderSummary","order","resource","orderSummaryHeading","orderSummaryItemsTotalLabel","orderSummaryShippingFeeLabel","orderSummaryTaxLabel","orderSummaryGrandTotalLabel","pointsEarnedLabel","canShip","isTaxIncludedInPrice","isShowTaxBreakUp","subTotal","SubtotalAmountWithoutTax","SubtotalAmount","taxOnShippingCharge","TaxOnShippingCharge","shippingChargeAmount","ShippingChargeAmount","shippingCharge","TaxAmount","getChannelReference","moduleName","confirmationIdLabel","shouldShowQrCode","qrCodeSrText","confirmationIdNode","QRCode","size","getPlacedBy","placedByNode","getOrderInformation","showChannelInfo","receiptEmail","receiptId","receiptEmailMessage","orderItemLabel","orderItemsLabel","orderIdLabel","receiptIdLabel","orderPlacedOnLabel","callCenterChannelNameText","isSalesInvoice","channelNameNode","getChannelName","posChannelName","onlineChannelName","placedBy","_orderChannel$Name","orderChannel","channel","RecordId","ChannelId","ChannelType","Value","_orderOrgUnitLocation","orderOrgUnitLocation","Address","getOrderInformationInput","_order$TotalAmount","apiSettings","channelId","get","Date","toLocaleDateString","isB2bAdmin","IsB2bAdmin","ReceiptId","ReceiptEmail","ChannelReferenceId","QuickOrderDrawer","_toggle","bind","isManuallyToggled","state","isOpen","collapseProps","drawerGlyphClass","toggleGlyphClassName","animateGlyph","drawerOpenGlyph","openGlyph","closeGlyph","drawerCloseGlyph","shouldComponentUpdate","nextProps","nextState","_objectSpread","children","drawerClass","toggleButtonProps","block","disabled","color","_generateDrawerButtonInnerMarkup","Collapse","collapseState","drawerButtonTextClass","toggleButtonClassName","moduleHeadingText","moduleDescriptionText","_generateGlyphMarkup","glyphClass","e","preventDefault","setState","onToggle","QuickOrderFormComponent","productTextInput","quantityTextInput","quickOrderState","maxChars","maxQuantity","disableAddtoCart","ariaLabelQuantity","ariaLabelProduct","ariaLabelAddtoCart","addQuantityPlaceholderText","handleQuantityChange","handleInputChange","handleAddToCartClick","onInputChange","event","target","onInputChangeFunction","onQuantityInputChange","onQuantityChangeFunction","productNode","type","ref","onChange","quantityNode","pattern","maxLength","quantity","placeholder","product","addToCartBtn","userMessage","stateMessage","Alert","statusCssString","messageGlyph","messageText","QuickOrderProduct","cartLine","simpleProduct","isSelected","__decorate","observable","QuickOrderDesktopHeaderCellsComponent","quickOrderProductNumberText","quickOrderProductText","quickOrderUnitPriceText","quickOrderUnitOfMeasureText","quickOrderQuantityText","quickOrderTotalText","quickOrderActionsText","QuickOrderMobileHeaderCellsComponent","QuickOrderTableHeaderComponent","defaultImageSettings","viewports","xs","q","w","h","lg","lazyload","cropFocalRegion","QuickOrderTableRowProductImageComponent","_props$data$product$P","_props$imageSettings","fallbackImageUrl","getFallbackImageUrl","ItemId","requestContext","containerClassName","Image","altText","src","PrimaryImageUrl","fallBackSrc","gridSettings","imageSettings","loadFailureBehavior","QuickOrderExtraActionsPopupComponent","productUrl","ObjectExtensions","isNullOrUndefined","getProductPageUrlSync","QuickOrderDesktopTableRowCellComponent","_product$Dimensions","_cartLine$LineId","Dimensions","dimension","_dimension$DimensionV","DimensionValue","filter","dimensionValue","join","quickOrderProductDimensionsSeparator","Price","UnitOfMeasureSymbol","IncrementalQuantity","max","currentCount","Quantity","inputQuantityAriaLabel","quickOrderInputQuantityAriaLabel","decrementButtonAriaLabel","quickOrderDecrementButtonAriaLabel","incrementButtonAriaLabel","quickOrderIncrementButtonAriaLabel","isGiftCard","IsGiftCard","quickOrderRemoveItemButtonAriaLabel","QuickOrderMobileTableRowCellComponent","quickOrderQuantityMobileText","QuickOrderTableRowComponent","QuickOrderTableComponent","setIsMobile","useState","quickOrderProducts","updateViewport","addEventListener","quickOrderProduct","QuickOrder","waitTime","dimensionUpdateQueue","FinitePromiseQueue","dimensions","cssClassNameConfigure","quickOrderCallbacks","dimensionSelectedAsync","selectedDimensionId","selectedDimensionValueId","enqueue","_updateDimensions","FinitePromiseQueueError","ProcessWasDiscardedFromTheQueue","getDropdownName","dimensionType","_getDropdownName","changeUpdatingDimension","isUpdatingDimension","_handleInputChange","query","productText","productResponse","productDimensions","inputQuantityText","quantityInput","current","HTMLInputElement","cancellabelDebounce","cancel","isQuickOrderFormExpanded","_debounce","getScanResult","GetScanResultInput","results","Product","ProductDimensionFull","setTimeout","_addItemToCart","cart","quickOrderAddedToCartSuccessMessage","quickOrderAddedToCartFailureMessage","_validateCart","result","_this$props$data$feat","_this$props$context$r","_this$props$context$a","isOrderQuantityLimitsFeatureEnabledInHq","featureState","IsEnabled","defaultOrderQuantityLimitsFeatureConfig","platform","enableDefaultOrderQuantityLimits","customerInfo","customerInformation","isOrderQuantityLimitsFeatureEnabledInSiteSettings","IsB2b","deliveryOptions","getDeliveryOptionsAsync","callerContext","queryResultSettings","QueryResultSettingsProxy","getPagingFromInputDataOrDefaultValue","emailDeliveryModeCode","EmailDeliveryModeCode","defaultDeliveryOption","DeliveryOptions","Code","isOrderQuantityLimitsFeatureEnabled","productAvailableQuantity","_updateAvailablity","addProductToCartInput","enableStockCheck","availableQuantity","ProductAvailableQuantity","AvailableQuantity","additionalProperties","orderQuantityLimitsFeatureIsEnabled","isAddEmailDeliveryItemToCart","deliveryMode","addProductToCart","inputProductText","substatus","maxQtyLimitReachedMessage","_getMaxQtyMessage","_result$errorDetails","errorDetails","LocalizedMessage","warning","_getConcatenatedMaxQtyMessage","currentQuantity","quickOrderMaxQuantityLimitText","quickOrderAlreadyItemQuantityText","replace","_handleQuantityChange","currentValue","Number","parseInt","inputElement","isNaN","setAttribute","toString","_updateDimensionValue","productDimensionFull","newValueId","DimensionValues","_this$state$productRe","productDimensionTypeColor","productDimensionTypeConfiguration","productDimensionTypeSize","productDimensionTypeAmount","productDimensionTypeStyle","dimensionsToUpdate","productDimensionErrorState","otherError","clearOtherErrorState","keys","configureErrors","errorState","mappedDimensions","DimensionTypeValue","ExtensionProperties","selectedProduct","Promise","resolve","reject","newProduct","getSelectedVariant","SelectedVariantInput","MasterProductId","getDimensionsForSelectedVariant","GetDimensionsForSelectedVariantInput","variantProduct","newAvailableQuantity","getProductAvailabilitiesForSelectedVariant","ProductAvailabilitiesForSelectedVariantInput","productAvailable","ProductId","_getDimensionErrorString","dimensionTypeValue","quickOrderproductDimensionTypeColorErrorMessage","quickOrderproductDimensionTypeConfigurationErrorMessage","quickOrderproductDimensionTypeSizeErrorMessage","quickOrderproductDimensionTypeAmountErrorMessage","quickOrderproductDimensionTypeStyleErrorMessage","_updateProductAvailablity","_productResponse$Dime","missingDimensions","_getConfigureErrors","quickOrderWrongQuantityErrorMsg","quickOrderOutofStockErrorMsg","viewport","device","Type","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","products","quickOrderFormClass","quickOrderFormProductContent","quickOrderFormMsgContent","quickOrderModuleHeading","quickOrderModuleDescription","quickOrderAddtobag","quickOrderProductQuantityInputLabel","quickOrderProductInputLabel","quickOrderProductDimensionTypeColor","quickOrderProductDimensionTypeConfiguration","quickOrderSelectDimensionFormatString","quickOrderProductDimensionTypeSize","quickOrderProductDimensionTypeStyle","quickOrderProductDimensionTypeAmount","quickAddQuantityPlaceholderText","productConfigureResources","selectDimensionFormatString","viewProps","quickOrderProps","contentProps","isB2B","drawer","tag","quickOrderForm","quickOrderList","_renderQuickOrderTable","form","configure","getProductConfigure","renderView","_initQuickOrderProducts","_cart$cart$CartLines","CartLines","validValues","tableClassName","productInventoryInfo","_cart$result","maxQuantityForLineItem","updateMaxQuantityForCartLineItem","maxQuantityForCartLineItem","addedQuantity","item","_item$ItemId","_this$state$productRe2","minInventory","Math","min","computed","PromoCode","_onInputChangeHandler","promoCodeInputValue","trim","canApply","_applyPromotion","cartState","appliedPromo","addPromoCode","promoCode","duplicatePromoCodeErrorText","invalidPromoCodeErrorText","failedToAddPromoCodeErrorText","_onSubmitHandler","_applyPromotionHandler","_renderForm","promoPlaceholderText","promoCodeApplyButtonText","attributes","getTelemetryAttributes","payLoad","onSubmit","_removePromotion","code","currentTarget","removePromoCodes","promoCodes","failedToRemovePromoCodeErrorText","_calculateDiscount","discountAmount","line","DiscountLines","discountLine","DiscountCode","DiscountCost","_renderAppliedPromoCode","Coupons","removePromotionHandler","promoCodTotalDiscount","reduce","coupon","appliedPromoCodeHeadingText","ariaLabel","removePromoAriaLabelFormat","removePromoText","getPayloadObject","TelemetryConstant","ApplyPromoCode","isCollapseOpen","promoCodeHeadingText","_renderReactFragment","items","slot","headerView","HeaderTag","HeaderContainer","HeaderTopBarContainer","MobileMenuContainer","MobileMenuBodyContainer","MobileMenuLinksContainer","Divider","navIcon","logo","search","preferredStore","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","signInLink","accountLinks","link","_renderDesktopAccountBlock","wishListIconDesktop","cartIcon","siteOptions","MobileMenuHeader","menuBar","wishListIconMobile","SubmitUserReviewInput","productId","userReviewData","authorization","getCacheKey","getCacheObjectType","dataCacheType","_data$product","brandCode","brandCodeParser","description","Description","appContext","CartLineItemFunctions","renderProductDimensions","DimensionStrings","productDimension","colorString","configString","sizeString","amountString","styleString","renderDiscountLines","OfferId","OfferName","discountStringText","isSalesLine","PeriodicDiscount","DiscountAmountWithoutTax","BasePrice","DiscountAmount","Percentage","renderInventoryLabel","inventoryInformationLabel","inventoryCssName","inventoryLabelClassName","renderShippingLabel","_props$context$reques","pickupDeliveryModeCode","PickupDeliveryModeCode","channelDeliveryOptionConfig","cartline","hasShippingMethod","_channelDeliveryOptio","DeliveryMode","PickupDeliveryModeCodes","some","shippingChargeLines","ChargeLines","chargeLine","IsShipping","freightFee","chargeTotal","CalculatedAmount","priceComponent","freePriceText","shippingChargesText","renderOtherCharges","_cartline$ChargeLines","otherCharges","chargeline","otherCharge","CartLineItemComponent","msdyn365Commerce","createComponent","component","destructDimensionStrings","renderDisountLines","prodAttribute","productName","_updateQuantity","quantityOnChange","_generateSelectMenu","nodes","i","push","_generateMenu","_generateQuantityAndPrice","_props$data$product","errorMessage","isOutOfStock","isQuantityEditable","classNames","quantityDisplayString","NetAmount","NetAmountWithoutTax","NetPrice","originalPriceText","currentPriceText","displayMode","reducedDimensions","str","primaryImageUrl","jsxName","MasterProdDisplay","masterProdId","variantName","showShippingChargesForLineItems","OrderTemplateActions","onRemoveOrderTemplate","handlers","itemKey","removeOrderTemplateActionHandler","OrderTemplateRender","Id","orderTemplate","removeFromOrderTemplateListText","orderTemplateState","enableImageProductLink","onDismiss","orderTemplateImage","_renderOrderTemplateImages","orderTemplateLines","orderTemplateAriaLabel","_renderAriaLabel","orderTemplateName","_getOrderTemplatePageUrl","_getUrlSync","url","getUrlSync","separator","includes","totalLines","addToCartButton","AddOrderTemplateToCartComponent","moduleTypeName","addToCartText","addToBagText","dialogStrings","removeButton","orderTemplateStatusMessage","toggle","onClickHandler","xl","slice","_line$fullProduct$Pro","_line$fullProduct","_line$fullProduct$Pro2","_line$fullProduct2","_line$fullProduct3","_line$fullProduct$Pro3","_line$fullProduct4","_getFallbackImageUrl","_line$fullProduct5","fullProduct","getProductUrlSync","ProductDetails","alt","OrderTemplateListStatusMessage","errorType","text","WineClubDataStore","LOCAL_STORAGE_LOCATION","changeEvents","previousWineData","localStorage","getItem","reset","JSON","parse","instance","getDeliveryMapFromConfig","coreContext","wineClubShippingLabels","standard","pickup","premium","edit","newData","forEach","_save","deleteKeys","_len","arguments","Array","_key","tosAgree","clubId","isInResetState","setItem","stringify","getOrderDetailsPaymentMethods","tenderLines","tenderIdOperationIdMap","paymentMethodsTitle","creditCardEndingLabel","giftCardEndingLabel","amountCoveredLabel","loyaltyCardUsedLabel","cashUsedLabel","customerAccountUsedLabel","OPERATIONS","getLastFourDigit","digits","substr","lines","tenderLine","TenderTypeId","showAmount","cardLastFourDigit","MaskedCardNumber","isValidCardNumber","AuthorizedAmount","Amount","showAmountCovered","CardTypeId","getCard","GiftCardId","getGiftCertificate","LoyaltyCardId","getLoyalty","getCash","getCustomerAccountPayment","formatProductData","brand","category","discounts","discount","subscription","subscribe","frequency","addToCart","ecommerce","add","dataLayer","removeFromCart","remove","productDetailView","detail","purchase","actionField","revenue","transactionId","confirmationId","affiliation","impression","impressions","idx","position","list","checkout","step","subscriptions","publish","eventName","eventData","subscriber","handler","showCompleteAddress","shipToLabel","storeLabel","phoneLabel","Street","City","State","County","ZipCode","ThreeLetterISORegionName","Phone","FullAddress","TOGGLE_REVIEW_MODAL_BUTTON_ID","TOGGLE_EDIT_MODAL_BUTTON_CARD_ID","ReviewCard","cardProps","isUserReview","review","userName","rating","renderDate","submittedDateTime","reviewTitle","reviewText","ratingHelpfulLabel","wasReviewHelpfulText","like","voteHelpfulButton","dislike","editButton","report","reportToggle","responseName","userResponse","responderName","responseText","responseDate","cardBodyProps","responseProps","reviewProps","controlsProps","headerProps","RatingComponent","readOnly","avgRating","reviewRatingNarratorText","parentId","parentType","isVoted","isVotedFor","votedReviews","approved","isDisabled","yesButtonText","noButtonText","voteCount","helpfulPositive","helpfulNegative","user","onClickMethod","updateReviewHelpfulness","isAuthenticated","signInUrl","toggleWriteReviewModal","editReviewCardText","Intl","DateTimeFormat","_unused","toggleReportReviewModal","reportConcernText","reportedReviews","reportedText","reportedReviewId","returnRef","innerRef","OrderHistoryFilterState","getOrderHistoryFilterStateResources","filterState","CurrentUser","orderHistoryFilterYourOrderHistory","OrganizationWide","orderHistoryFilterOrganizationWide","onStateClick","togglePopoverHandler","setPopoverState","isPopoverState","OrderHistoryFilterComponent","popoverRef","createRef","popoverState","setFilterState","currentState","onFilterStateClick","clickedState","onFilterStateChanged","Popover","placement","EnumExtensions","getEnumValues","renderFilterStateItem","stateStringRepresentation","GetSalesOrderHistoryWithHydrationsInput","paging","nextPageLink","buildCacheKey","nextPageToken","getSalesOrderHistoryWithHydrationsAction","orderHistoryResponse","nextPage","_orderHistoryResults$","orderHistoryResults","getOrderShipmentsHistoryAsync","bypassCache","Paging","Top","top","NextPageToken","nextLinkUrl","metadata","others","nextLink","URL","searchParams","getOrganizationWideOrderShipmentHistory","_orgOrderHistoryResul","queryResultSetting","Skip","skip","orgOrderHistoryResults","getOrganizationWideOrderHistory","GetOrganizationWideOrderHistoryInput","orgOrderHistoryResponse","getOrderShipmentHistory","_salesOrder$SalesLine2","saleline","IsVoided","productIdsByChannelId","splitProductsByChannelId","currentChannelId","productIdsByChannel","_salesOrder$SalesLine","orderProductId","orderChannelId","getProductsPromise","entries","entryChannelId","entryProductIdsList","productIds","productInputs","ProductInput","getSimpleProducts","getProducts","getProductsCall","all","productList","memo","getSalesOrderHistoryWithHydrationsActionDataAction","orderDetailsUrl","onExpandProductsCallback","expandButtonState","productStates","productState","isHidden","extraProductsCount","OrderHistoryViewMode","OrderHistory","handleOrderHistoryHeadingChange","onMoreButtonClick","getOrderHistory","renderExtraActions","_renderOrderHistoryFilter","_renderViewModes","isGridViewEnabled","viewModesClassName","classname","_viewMode","detailedView","orderHistoryDetailedViewModeAriaLabel","_setDetailedViewMode","listView","orderHistoryListViewModeAriaLabel","_setListViewMode","initState","viewState","isDataReady","hasError","isShowMoreButton","pageSize","isLoading","errorCode","_updateOrderHistory","_error$error","_error$error2","componentDidMount","_this$props$config$sh","showChannelName","shouldShowCount","genericErrorMessage","noOrderHistoryLable","moreButtonText","backToShopping","orderCountLabel","ordersCountLabel","loadingLabel","backToShoppingUrl","Msdyn365","channels","orderHistoryProps","header","editProps","onEdit","extraActions","backToShoppingLink","Label","emptyMessage","_orderCountLabel","contentAction","etext","ViewMore","viewMoreAttributes","table","listProps","detailsAriaLabel","detailsLabel","retailMultiplePickUpOptionEnabled","salesOrderProps","orderInfomationInput","salesLinesInput","getSalesLinesInput","expandProductsButton","getSalesLinesInputProps","imageOnly","salesLinesLimit","salesLineStates","_salesLine$LineId","SalesLineState","ExpandButtonState","Observer","orderHistoryExpandProductsButtonText","getSalesLines","OrderDetails","orderDetailsAttributes","getGroups","orderDetailsLink","getSalesOrder","moreButton","observer","ReviewCount","currentPage","reviewsCount","reviewsShownOnEachPage","pageReviewCountText","_getReviewStartNumber","_getReviewEndNumber","PageControls","previousPageClick","_getPreviousPageData","nextPageClick","_getNextPageData","Next","nextAttribute","Previous","previousAttribute","_hasPreviousPage","_paginationAriaLabel","pageReviewAriaLabel","previousButtonText","_hasNextPage","nextButtonText","_getPagesCount","_getReviewsShown","ceil","isNextPage","page","pageModifier","pageReviewCount","updateReviews","selectedSortByOption","selectedFilterByOption","HeaderPreferredStore","modalCloseButtonRef","handleClick","_findPreferredStoreOnClick","storeSelectorStateManager","slots","storeSelector","storeName","StoreName","headerPreferredStoreText","headerPreferredStoreAriaLabel","modules","storeSelectorId","openDialog","showMapViewLink","parentElementRef","onLocationSelected","orgUnitLocation","message","Logo","_renderLogo","linkUrl","destinationUrl","openInNewTab","rel","_renderImage","image","moduleType","imagePropertyName","shouldSkipToMainImage","NavIcon","toggleNavBar","mobileHamburgerAriaLabel","isExpanded","targetId","Header","handleLinkTextChange","linkIndex","_this$props$config$my","myAccountLinks","linkText","popOverRef","_toggleNavbar","_togglePopover","_keydown","mobileMenuCollapsed","signinPopoverOpen","hasSigninerror","workerName","customerName","_this$props$data$empl","worker","employee","_this$props$data$acco","accountInformation","FirstName","reaction","signUpCustomerNotFoundTitle","signUpMultipleCustomerFoundTitle","closeNotificationLabel","signinNotificationError","_getSigninNotification","NotificationsManager","addNotification","ErrorNotification","componentWillUnmount","removeEventListener","wishlists","cartLabel","cartQtyLabel","logoLink","logoImage","shouldShowWishlistCount","disableTooltip","headerToggleClass","cartIconSlot","_getSlot","menuBarSlot","searchSlot","wishlistCount","siteOptionsSlot","preferredStoreSlot","CommerceListLines","WishListIconComponent","showButtonTooltip","wishlistTooltipText","wishlistCountLabel","isDispayWishlistCount","CartIconComponent","headerAriaLabel","Modal","wrapClassName","ModalHeader","ModalBody","displayName","_getSigninButton","_getSignOutButton","isOBORequest","switchCustomerLink","_getSwitchCustomerButton","_getAccountInfoDropdownButton","_getAccountLinks","slotName","SignIn","signInLinkText","signInLinkAriaText","onTelemetryClick","_user$signOutUrl","SignOut","signOutLinkText","signOutUrl","signOutLinkAriaText","SwitchCustomer","isOBOAccountSelected","cookies","getAccountSelectionCookie","switchCustomerLinkAriaText","switchCustomerLinkText","getBusinessPartnerSelectionUrl","removeAccountSelectionCookie","shoppingAsText","route","param","delete","signUpCustomerNotFound","signUpMultipleCustomerFound","retailServerErrorCode","MyProfile","cta","editableLink","onTextChange","keyCode","KeyCodes","Escape","getOrderConfirmationHelp","helpLineContactAriaLabel","attribute","OrderTemplateLines","_onRemoveSelection","removeSelectedFailureMessage","removeSelectedSuccessMessage","productSelection","productListLines","isChecked","productListLine","productListId","ProductListId","maxWaitTimeInMilliSeconds","removeProductListLinesAsync","reload","_this$props$data$orde","indexOf","_onAddSelectionToBag","selectedLines","productLine","_productLine$fullProd","_productLine$fullProd2","_productLine$fullProd3","_productLine$fullProd4","_productLine$productL","ProductTypeValue","AdjustedPrice","_addItemToBag","_getCurrentUrl","reqContext","onCloseHandler","isItemAddedToOrderTemplateOpen","_renderItemAddedToCartDialog","itemAddedToCartDialogData","ItemAddedToCartDialog","_generateItemAddedToCartDialogResources","modalOpen","onClose","_renderPagination","fullUrl","itemsPerPage","skipCount","_getCurrentPageNumber","totalItems","previousText","flipperPrevious","nextText","flipperNext","UncontrolledPagination","paginationAriaLabel","qsp","startingItem","_renderPrev","_renderNext","previousAriaLabel","nextAriaLabel","_toggleDetailsDisplayed","isDetailsDisplayed","detailedProductView","OrderTemplateMobileLineView","_onDismiss","_changeQuantity","orderTemplateLinesData","orderLineIndex","findIndex","newProductListLine","prevQuantity","_objectWithoutProperties","_excluded","isQuantityDisabledForUpdate","updateProductListLinesAsync","newLine","updatedLines","updatedOrderTemplate","ProductListLines","update","ActiveOrderTemplateLinesInput","editOrderTemplateLineQuantityError","maxQuantityLimitText","addedToCartFailureMessage","getPriceForSelectedVariant","PriceForSelectedVariantInput","priceResult","AsyncResult","isMiniCart","addToCartBehavior","productPrice","_cart$result2","cartLineQuantity","defaultMessage","_removeItemFromOrderTemplateLines","token","userToken","_renameTemplate","_removeTemplate","deleteAsync","_orderTemplate$result","deleteOrderTemplateFailedText","newLink","_getViewport","sm","md","paginationPreviousText","paginationNextText","_viewport","_updateViewport","isConfirmAddSelectionToBagModalOpen","params","isEditor","emptyOrderTemplateLinesText","errorGettingOrderTemplateLines","errorProps","statusMessage","Spinner","msg","progressNotificationText","Heading","OrderTemplateLinesStatusMessage","orderTemplateResult","_isFirstPage","emptyViewProps","orderActions","_renderOrderTemplateActions","bulkOrderLineActions","_getOrderTemplateLineActions","productsStatusMessage","ProductsTable","ProductsTableRow","ProductsTableHeading","_renderProductListHeader","orderLines","_renderProductList","callbacks","updateQuantity","debounce","pagination","itemAddedToCartDialog","toggleDetailsDisplayed","onSelect","updated","_product$fullProduct","onSelectAll","productImage","productNumberText","productUnitPriceText","productUOMText","productQuantityText","productActionsText","selectAllRowsText","productNumber","productUnitPrice","productUOM","productQuantity","productActions","clickHandler","OrderTemplateTableHeading","orderTemplateId","OrderTemplateBulkActions","onAddSelectionToBag","onRemoveSelection","isMinifiedView","_generateLinesAddedToCartDialogResources","viewCartButtonText","orderTemplateCloseButtonText","linesAddedToCartHeaderItemsOneText","linesAddedToCartHeaderLinesOneText","linesAddedToCartHeaderLinesFormatText","linesAddedToCartHeaderMessageText","itemAddedToCartHeaderItemOneText","itemAddedToCartHeaderItemFormatText","itemAddedToCartHeaderMessageText","addTemplateToBagButtonText","renameTemplateButtonText","deleteTemplateButtonText","closeWindowButtonText","addToCartFailureMessage","addToCartSuccessMessage","addToCartProcessMessage","orderTemplateErrorMessage","orderTemplateActions","onRenameTemplate","onRemoveTemplate","renameOrderTemplateDialogStrings","_generateOrderTemplateNameDialogResources","linesAddedToCartDialogResources","OrderTemplateActionsView","orderTemplateHeaderLabel","renameOrderTemplateTitleText","orderTemplateTitleLabel","orderTemplateTitle","orderTemplateNameAriaLabel","orderTemplateDescription","defaultOrderTemplateName","orderTemplateButtonLabel","renameOrderTemplateButtonText","orderTemplateCancelButtonLabel","cancelBtnLabel","selectOneRowText","viewProductDetailsText","priceFree","addOrderTemplateItemToBagButtonText","removeItemFromOrderTemplateButtonText","deleteButtonText","currentProductProps","orderTemplateLine","ProductPrice","moduleId","onAddToBag","onRemoveItem","onChangeQuantity","removeFromOrderTemplateLinesText","addToBagButtonText","OrderTemplateLineView","OrderConfirmation","handleOrderConfirmationHeadingChange","getDeliveryMode","featureSate","pickupDeliveryMode","BackToShopping","backToShoppingAttributes","loyaltyCard","RewardPoints","pointPrograms","Set","point","RewardPointId","rewardLines","LoyaltyRewardPointLines","total","RewardPointAmountQuantity","has","_this$props","_featureState$result","_this$order","orderDetailsLines","orderDetailsLine","isShowOrHideTaxEnabled","isEnableShowOrHideSalesTaxECommerceEnabled","IsTaxIncludedInPrice","tenderTypes","TenderLines","getTenderIdOperationIdMap","_this$props2","_featureState$result2","noSalesOrderText","pickupItemsHeader","pickingItemsLabel","shippingAddressTitle","shippingItemToYouLabel","shippingItemToOBOCustomerLabel","emailItemsHeader","emailingItemsLabel","showTimeslot","footerProps","TransactionTypeValue","TransactionType","SalesInvoice","orderInformationInput","isConfirmationView","getOrderConfirmationOrderSummary","getOrderConfirmationPaymentMethods","renderConfigure","containerProps","dropdowns","renderConfigureDropdown","dropdown","labelContainerProps","errors","select","quickOrderView","renderForm","quickOrderProductContent","quickOrderMsgContent","RatingsHistogram","handleHeadingChange","selectFilterBy","ratingsSummary","ratingCount","totalRatingsCount","completeClass","histogramItems","HistogramItems","averageRating","averageRatingAriaLabel","hideCount","averageNumber","AverageRatingNumber","summary","totalReviews","TotalReviews","ratingsSummaryProps","histogramProps","stars","filterKey","createRatingsReviewsStateInput","showAddress","isCashAndCarryTransaction","isSelectionModeEnabled","groupSalesLines","_salesLines","itemLabel","pickingItemsLabelText","shippingItemsToText","emailingItemsLabelText","getSalesLinesProps","isProcessing","pickDateTimeslot","pickupDateTimeslot","shippedStatusCheck","pickupProps","processing","shippingItemsToYou","ReviewsList","sortByDropdownOptions","mostHelpfulSortOptionText","mostRecentSortOptionText","highestRatedSortOptionText","lowestRatedSortOptionText","filterByDropdownOptions","allRatinsFilterByOptionText","fiveStarFilterByOptionText","fourStarFilterByOptionText","threeStarFilterByOptionText","twoStarFilterByOptionText","oneStarFilterByOptionText","reviewsListCallbacks","updateReviewTitle","userReviewTitle","updateReviewText","userReviewText","updateRating","userReviewRating","onReviewSubmitted","isSuccessful","isReviewModalOpen","hasReviewError","submitReview","toggleModal","_toggleReviewModal","updateReviewHelpfulnessVote","toggleReportModal","isReportModalOpen","_onReportModalOpen","_onReportModalClose","reportReview","_reportReviewCallback","updateFilterByDropdown","updateSortByDropdown","reviewsList","pagingInfo","listOfReviews","isFilterApplied","ratingsReviewsState","filterKeyValue","dropdownItemsCount","filterByOption","option","selectedIndex","_userReview","userReview","_reviewCard","_reviewCards","reviewList","reviewElements","isTakenDown","isPublished","_userReportModalToggle","reportingReviewId","_userReviewModal","ReviewModal","onModalToggle","onTitleChange","_onTitleChange","_onTextChange","onRatingChange","_onRatingChange","onReviewComplete","_onReviewComplete","renderContextId","_userReviewModalToggle","modalCSS","isSuccess","_reportReviewModal","ReportReviewModal","reportedKey","onRadioChange","_onRadioChange","_reportReview","hasReportError","reported","ReviewConcernCategory","SpamAdvertising","reportReviewConcern","ReportReviewConcernInput","getRnrPartnerId","getUserToken","getRnrAuthEndpointId","_value","reportedReview","notification","selectedOption","skipItems","getSelectedProductIdFromActionInput","getReviewsForGivenProduct","GetProductReviewsInput","getRnrEndpointId","_updateVoteUi","alreadyExists","concat","submitHelpfulnessVote","SubmitHelpfulnessVoteInput","showSpinner","reviewModal","reportReviewModal","filterByDropdown","LabeledDropdown","labelText","filterByDropdownText","dropdownId","dropdownOptions","onSelectOption","controlledByParent","sortByDropdown","sortByDropdownText","reviewCount","refineReviewsProps","reviewsListProps","reviewCards","pageControls","noReviewsMessage","noReviewsWithFilterMessage","noReviewsWithSelectedFilterMessage","sortByOptions","filterByOptions","getValidProductImages","actionInput","MediaLocationsForSelectedVariantInput","getMediaLocationsForSelectedVariant","mediaLocations","validateMediaLocaionAsync","pairs","pair","mediaLocation","imageData","Uri","AltText","http","XMLHttpRequest","open","onload","onerror","send","MediaGallery","defaultGalleryImageSettings","defaultThumbnailImageSettings","noneWineProductImageSettings","isWineProduct","usePNGImageSetting","_modifiedViewports$xs","_modifiedViewports$sm","_modifiedViewports$md","_modifiedViewports$lg","_modifiedViewports$xl","modifiedViewports","onExiting","animating","onExited","next","nextIndex","isLastItem","activeIndex","goToIndex","previous","isFirstItem","mediaGalleryItems","_getCarouselItem","_image$altText","useAlternateImageSettings","galleryImageSettings","_getThumbnailItem","modifiedActiveIndex","_image$altText2","ThumbnailItemContainerProps","_generateOnThumbnailClick","onKeyDown","_generateOnThumbnailKeyDown","Picture","thumbnailImageSettings","which","Enter","Space","modifiedImageSettings","_this$props$data$prod","toLowerCase","giftCardImage","wineAttributes","productSpecificationData","toUpperCase","attr","TextValue","showPaginationTooltip","_mapProductToImageData","isVertical","thumbnailsOrientation","isProductLightbox","parent","isProductLightBox","CarouselProps","Carousel","interval","directionTextPrev","previousScreenshotFlipperText","directionTextNext","nextScreenshotFlipperText","onIndicatorsClickHandler","handleOnExited","handleOnExiting","Thumbnails","ThumbnailsContainerProps","SingleSlideCarouselComponentProps","SingleSlideCarousel","vertical","flipperPrevLabel","flipperNextLabel","useTabList","getOrderDetailsHelp","ContactNumber","OrderHistoryOrderInfomation","OrderHistoryGroupDelivery","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","OrderHistorySalesOder","OrderHistoryList","OrderHistoryView","_renderCarousel","carouselContainer","_renderProduct","_renderGrid","gridContainer","ProductContainer","productComponent","ProductCollectionView","ProductCollectionContainer","GridComponentProps","isCarousel","seeAllButton","getSalesStatusCode","statusValue","pickupMode","getDateTimeslot","placeHolder","startDate","endDate","timeZone","timeslotformatter","hour","minute","hour12","handleCheckoutOrderConfirmationHeadingChange","brandCodeTable","currentBrandCode","brandFound","brandName","RetailOperation","PayCard","PayGiftCertificate","PayLoyalty","PayCash","PayCustomerAccount","_tenderLine$Amount","_renderThumbnailItem","thumbnail","MediaGalleryView","thumbnails","_renderThumbnails","productLink","reportReviewConcernDataAction","concernCategory","OrderDetailsViewMode","multiplePickupStoreSwitchName","handleOrderDetailsHeadingChange","_renderOrderGroups","isRetailMultiplePickUpOptionEnabled","shouldShowAddress","addressOptions","_isSelectionModeEnabled","_renderOrderSummary","_renderOrderPayment","_renderOrderHelp","_renderOrderDetailsTable","_this$props$context$r2","isMultiplePickUpOptionEnabled","isMultipleCatalogsFeatureEnabled","OrderDetailsTableComponent","isReorderingEnabled","_orderDetailsProducts","isChannelMultipleCatalogsFeatureEnabled","isChannelTypeB2B","_enableSelection","_orderDetailsAvailableProducts","_disableSelection","_renderTableViewActions","_renderBuySelected","_renderEnableSelectionButton","_renderDisableSelectionButton","orderDetailsDetailedViewModeAriaLabel","orderDetailsListViewModeAriaLabel","getOrderDetailsProps","_heading$tag","orderDetailsBuyItemsAgainHeaderText","Text","_products","_featureState$result3","_initProductsModel","isProductAvailable","selectedProducts","_this$props$data$chan","_this$props$data$orgU","_featureState$result4","_featureState$result5","_this$props$data$cata","noSalesOrderDetailsText","showFullAddress","orderOriginators","orderInformation","isUserTypeB2B","_this$props$context$a2","isCatalogFetaure","catalogs","tableViewActions","viewModes","orderDetailsEnableSelectionButtonAriaLabel","orderDetailsEnableSelectionButtonText","orderDetailsDisableSelectionButtonAriaLabel","orderDetailsDisableSelectionButtonText","BuySelectedComponent","_selectedProducts","orderDetailProducts","orderHydration","_this$props$data$orde2","salesOrderProduct","OrderDetailsProduct","ProductCollection","_getProductsDimensionsAvailabilities","dimensionsToDisplayOnProductCard","dimensionsInProductCard","dimensionsToDisplayAsSwatch","dimensionsAsSwatchType","validProducts","DimensionTypes","none","productsDimensionAvailabilities","getDimensionAvailabilitiesForProductSearchResultAction","DimensionAvailabilitiesForProductSearchResultInput","DimensionSwatchDisplayTypes","productCard","initProductState","productCollectionProducts","productCollection","equals","_getProduct","_this$state$productsD","allowBackNavigation","breaCrumbType","breadcrumbType","allowBack","quickviewSlot","quickview","productComparisonButtonSlot","productComparisonButton","reviewCountAriaLabelValue","TotalRatings","ratingCountAriaLabel","ratingCountAriaLabelSingleUser","isPriceMinMaxEnabled","priceResources","priceRangeSeparator","ProductComponent","ratingAriaLabel","quickViewButton","dimensionAvailabilities","dimensionAvailability","_product$MasterProduc","masterProductId","_getActivePrice","productsList","getPriceForProductSearchResult","PriceForProductSearchResultInput","_getSeeAllButton","recommendation","headingLabel","catalogId","getCatalogId","validateCatalogId","searchPageLink","set","seeAllButtonText","productPrices","enableAffiliationBasedPricing","shouldDisplaySeeAllButton","recommendationListId","layout","headingComponent","updatedProducts","getProductData","productCollectionViewProps","stateId","moduleComponentProps","shipments","isCurrentChannel","productDeliveryOptions","orderDetailsProducts","shipment","currentShipment","_currentShipment$Ship","ShipmentLines","shipmentLine","InventoryTransactionId","orderDetailsProduct","currentProduct","getSalesLine","salesLineState","Shipments","reportConcernDropdownOptions","SubmitReview","submitReviewAttribute","SuccessButton","successAttribute","Cancel","cancelAttribute","reportSpamText","OffensiveContent","offensiveContentText","Profanity","profanityContentText","modal","applicationNode","returnFocusRef","modalHeader","modalFooter","ModalFooter","modalBody","headerSubmitted","feedbackThankYouText","cancelButton","cancelReportReviewText","submitButton","reportReviewButtonText","succesfulButton","okReportReviewText","reportMessage","reportModalMessage","reportSubmittedMessage","radioButtons","radioPairs","errorMessageText","inputId","checked","htmlFor","CONTENT","AddLineToTemplate","Component","content","Search","searchTextInput","addLineButtonRef","_renderSearchForm","searchButtonAriaLabel","searchModalPlaceholderText","autoComplete","_onSearchSubmit","autoFocus","_onInputChange","_get","Loading","_getSearchResults","NotFound","ProductList","_onQuantityChangeHandler","selectedQuantity","_onSelectItem","varianteInput","productVariant","_getProductDimensions","selectedProductDimensions","ProductConfiguration","_onBackButtonClickHandler","_highlightSearchTerm","parsedName","unescape","RegExp","dangerouslySetInnerHTML","__html","_resultCountText","searchResultsCountVerbage","searchResultsCountSubject","_addItemToTemplateHandler","AddItemToOrderTemplateInput","DefaultUnitOfMeasure","addItemToOrderTemplate","reloadPage","_toggleModalHandler","focus","onComponentDidMount","_this$searchTextInput","onComponentDidUpdate","_this$searchTextInput2","addLineModalLinkText","backToResultsText","modalProps","showBackArrow","_renderContent","addToTemplateHandler","onQuantityChangeHandler","highlightSearchTerm","searchForm","productProps","renderResultCountText","notFoundSearchErrorNotice","notFoundSearchErrorRedediation","NotFoundComponent","searchErrorMessage","searchText","searchCriteriaInput","Context","CatalogId","IncludeAttributes","SearchCondition","searchByCriteriaAsync","Dropdown","selectMenu","_onChanged","selectId","selectedValue","innerText","dropdownList","dropdownName","selected","OrderTemplateQuantity","inputRef","_validateMin","minValue","currentInput","_handleChange","glyphMinusClassName","decrementGlyphClass","glyphPlusClassName","incrementGlyphClass","incDisabled","extraClass","getChangeHandler","_onIncrementalChange","onBlur","updatedQuantity","defaultProps","selectedDimensions","_getDimensionsError","dimensionName","dimensionMissingError","_addToTemplateHandler","isBusy","showAddConfirmation","addToTemplateDuplicateError","addToTemplateGenericError","_onQuantityChange","newValue","totalPrice","_onDimensionChanged","_this$state$errors","remainingDimensionsErrors","selection","buttonDisabled","dimensionInput","variantDimensions","availabilityInput","priceInput","unitPrice","sort","a","b","_product$Name","_product$PrimaryImage","_product$Name2","addItemToTemplateText","addLineProductUnitPricePrefix","quantitySelectLabel","addLineProductUnitOfMeasurePrefix","totalPriceLabel","_formatPrice","_getDimensionsNodes","_getConfirmationMessage","selectedDimensionNames","addToTemplateConfirmation","values","_this$state$errors2","unshift","assertive","toFixed","selectProductButtonText","_generateImageUrl","primaryImageSource","generateImageUrl","fallBackImg","ProductSelectButton","buttonText","setBusy","getClickHandler","removeOrderActionHandler","_removeOrderTemplate","addTemplateToBag","_getOrderTemplateAddToCartDialog","renameTemplate","_getOrderTemplateRenameControl","removeTemplate","RenameOrderTemplateComponent","OrderTemplateLineActions","getAddToBag","getRemoveItem","PopUp","showMobile","setShowMobile","getActionButton","removeButtonClassName","addButtonClassName","onSelectLineHandler","UnitOfMeasure","fallbackImage","selectLine","_renderProductImage","productInfo","renderProductInfo","_renderPrice","productUnitOfMeasure","productQuantityView","_generateQuantity","addToBagButton","popUp","onChangeHandler","_orderTemplateLine$fu","_renderProductDimensions","dimensionsLine","componentClassName","getOnChange","checkedLines","scope","onClickSubmit","submitButtonAttribute","cancelButtonAttribute","modalHeaderNode","discardReviewButtonText","submitDisabled","submitReviewButtonText","ratingsInput","ratingLabel","ratingsLabel","titleInput","titleLabel","textInput","textLabel","privacyPolicyUrl","privacyPolicyLink","inputRow","editReviewModalTitle","writeReviewModalTitle","stripWhiteSpacesFromString","selectRatingAriaLabel","initialRating","selectRatingLabel","reviewTitleMaxLength","reviewTitleAriaLabel","reviewTitleLabel","reviewTextMaxLength","rows","reviewAriaLabel","reviewTextLabel","policyTextBlocks","privacyPolicyTextFormat","split","isSeparatorAtStart","startsWith","isSeparatorAtEnd","endsWith","PrivacyPolicy","privacyPolicyAttribute","privacyPolicyTitle","onReviewSubmission","userEmail","emailAddress","submitUserReview","firstName","getReviewInput","GetUserReviewInput","_ref9","SearchForm","FormWrapper","cancelBtn","submitBtn","_renderKeywordSuggestions","KeywordSuggest","UlKeyword","keywordSuggestions","isLoadingAutoSuggest","isLoadingNode","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","LiProduct","AProduct","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","SearchView","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","autosuggestCategory","autosuggestKeyword","autosuggestProduct","deliveryTypeEnum","onSelectLine","SalesLineComponent","_props$product$Name","_props$product","_props$orderDetailsPr","_props$resources$ship","_props$product3","_props$product4","_props$moduleComponen","_props$product2","getSalesLinePicture","orderDetailCheckbox","getOrderDetailsSalesLineCheckbox","orderDetailsSelectRadioAriaLabelText","checkboxRowAriaLabel","_props$salesLine$Cata","salesLineQuantityText","shippingCharges","_context$request$chan","_context$request$chan2","phoneAriaLabel","buyItAgainLabel","buyItAgainAriaLabel","orderStatusReadyForPickup","orderStatusProcessing","orderStatusShipped","orderStatusPickedUp","orderStatusCanceled","orderStatusEmailed","pickedUpSalesLines","deliveredSalesLines","carryOutSalesLines","emailSalesLines","trackingLabel","trackingAriaLabel","trackingComingSoonLabel","pickupDateTimeslotText","pickupTimeslotPlaceHolder","orderDetailsUnavailableProductText","orderDetailsBuySelectedAddingToCartErrorNotificationTitle","orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel","orderDetailsGoToCartText","orderDetailsDialogCloseText","orderDetailsSingleItemText","orderDetailsMultiLineItemFormatText","orderDetailsMultiLinesFormatText","orderDetailsHeaderMessageText","orderDetailsMultiItemsValidationErrorMessage","orderDetailsOneErrorText","orderDetailsMultiErrorText","addedQuantityText","salesStatusStringMap","getSalesStatusStringMap","canceled","readyForPickup","pickedUp","shipped","unknown","emailed","deliveryTypeStringMap","pickUp","ship","carryOut","email","_salesLine$CatalogId","getPickupModeDesc","getDeliveryType","SalesStatusValue","salesStatusString","salesStatusComp","LabelComponent","deliveryTypeComp","getDeliveryTypeComp","deliveryTypeString","deliveryTypeClass","storePickUp","deliveryTypePickup","deliveryTypeNoPickup","getDeliveryTypeString","getDeliveryTypeClassName","getStoreName","getTrackingInfo","TrackingUrl","TrackingNumber","orderDetailsBuyItAgainAriaLabel","pickupDateTimeslotInfo","getPickupDateTimeslotInfo","shouldShowTimeslot","isDeliveryPickupSame","canShowTimeslot","PickupTimeslotStartDateTime","PickupTimeslotEndDateTime","buyItAgainLinkClassName","salesLineClassName","salesLineFullClassName","ShippingAddress","orderDetailsBuyItAgainLabel","salesLineDeliveryMode","retailMultiplePickupOption","isPickupDeliveryMode","dM","getDeliveryDescriptionByProductId","productRecordId","_productDeliveryOptio","productDeliveryOption","currentDeliveryOption","deliveryDescription","_salesLine$ShippingAd","SignInMessage","SignInButton","ModalToggle","WriteReview","PureComponent","writeReviewCallbacks","_modalToggleRef","userInfo","signInMessage","signInButton","signInLabel","signInAriaLabel","modalToggle","editReviewButtonText","reviewButtonLabel","_buildUserReviewModal","modalCloseButtonReference","CreateOrderTemplateButton","onCancelHandler","isCreateOrderTemplateDialogOpen","setOrderTemplateNameDialogOpen","onCreateButtonClick","createOrderTemplateText","OrderTemplateNameDialog","isUpdateDialog","setModalOpen","createOrderTemplateDialogResources","onCancel","onSuccess","onOrderTemplateCreated","OrderTemplateList","_reloadPage","_onRemoveFromOrderTemplateList","orderTemplates","p","headerStatusMessage","_heading$text","_heading$tag3","emptyOrderTemplateText","createNewTemplateButtonText","orderTemplatesData","orderTemplateListHeading","orderTemplateListTitle","_heading$tag2","createOrderTemplateButton","CreateNewTemplateButtonComponent","templateHeaderStatusMessage","OrderTemplates","OrderTemplate","_renderOrderTemplateList","createOrderTemplateHeader","createOrderTemplateDescription","createOrderTemplateButtonText","cancelNewOrderTemplateCreationButtonText","currentTemplateProps","OrderDetailsHeaderCheckboxComponent","switchCheckedState","isSelectedAll","orderDetailsSelectAllRadioAriaLabelText","OrderDetailsDesktopHeaderCellsComponent","shouldDisplayUnitOfMeasure","unitOfMeasureDisplayType","orderDetailsProductNumberText","orderDetailsProductText","orderDetailsUnitPriceText","orderDetailsModeOfDeliveryText","orderDetailsStatusText","orderDetailsQuantityText","orderDetailsUnitOfMeasureText","orderDetailsTotalText","orderDetailsActionsText","OrderDetailsMobileHeaderCellsComponent","OrderDetailsTableHeaderComponent","OrderDetailsRowCheckboxComponent","OrderDetailsRowProductImageComponent","_product$simpleProduc","_product$simpleProduc2","_product$simpleProduc3","_product$simpleProduc4","OrderDetailsDesktopTableRowCellComponent","_props$context$reques2","_product$simpleProduc5","_product$simpleProduc6","_product$simpleProduc7","orderDetailsProductDimensionsSeparator","orderDetailsBuySelectedButtonText","orderDetailsBuyItAgainButtonText","orderDetailsBuySelectedButtonAriaLabel","orderDetailsBuyItAgainButtonAriaLabel","isIcon","setShowPreviousActions","OrderDetailsExtraActionsPopupComponent","_props$data$product$s","_props$data$product$s2","orderDetailsViewDetailsButtonAriaLabel","orderDetailsViewDetailsButtonText","shouldShowActions","setShowActions","_salesLine$CatalogId2","shouldShowActionsNewValue","actionsContainerClassName","OrderDetailsMobileTableRowCellComponent","_product$simpleProduc8","_product$simpleProduc9","orderDetailsQuantityMobileText","OrderDetailsTableRowComponent","onSelectAllHandler","availableProducts","renderItem","star5Count","star4Count","star3Count","star2Count","star1Count","totalCount","percentage","formattedPercent","NumberFormat","style","barItemAriaLabel","starLabel","bar","Progress","buttonProps","ownKeys","r","t","getOwnPropertySymbols","getOwnPropertyDescriptor","enumerable","apply","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","attributeCache","getAttributesByProductID","productIDs","groupedIDs","_groupBy","uncachedAttributes","uncached","productSearchCriteria","Ids","searchAsync","output","translatedProperties","property","FriendlyName","ValueString","fetchProductAttributes","cached","getAttributesForCart","cartLines","_uniq","buildReviewCard","createReviewModal","createReportModal","ReviewsListview","_renderItem","quantityLabel","OrderTemplateLinesView","toggleDetails","fade","OrderConfirmationOrderInfomation","OrderConfirmationSalesLine","OrderConfirmationGroupDelivery","OrderConfirmationGroup","OrderConfirmationGroups","OrderConfirmationOrderSummary","OrderConfirmationPayment","OrderConfirmationHelp","OrderConfirmationView","_props$resources$orde10","_props$resources$orde11","buttonLabel","buttonAriaLabel","firstProduct","_props$resources$orde","_props$resources$orde2","_props$resources$orde3","_props$resources$orde4","_props$resources$orde5","_props$resources$orde6","_props$resources$orde7","_props$resources$free","_props$resources$orig","_props$resources$curr","_props$resources$adde","_props$resources$orde8","_props$resources$orde9","goToCartText","continueShoppingText","headerItemOneText","headerItemFormatText","headerLinesFormatText","headerMessageText","buyAgainNotificationTitle","buyAgainNotificationCloseAriaLabel","validationErrorMessage","oneErrorText","multiErrorsText","getDialogStrings","AddToCartComponent","outOfStockText","addToCartArialLabel","navigationUrl","shouldSkipSiteSettings","histogramItem","RatingsHistogramView","ChargeAmount","WalletTenderTypes","renderPaymentCard","googlePayLabel","applePayLabel","cardTypeId","tenderTypeId","GOOGLEPAY","APPLEPAY","getPickupDeliveryMode","getdeliveryTypeString","getdeliveryTypeClassName","deliveryOption","_foundProductDelivery","foundProductDeliveryOption","deliveryO","deliveryDesc","_product","_shipment","_shipment$ShipmentLin","_shipmentLine","BuyItAgain","buyItAgainAttributes","parsedProductAttributes","getInstance","wineClub","wineClubSetup","ids","club","variants","itemId","wineClubIds","emitAnalyticsEvent","_setProductAttributes","_generatePurchaseAnalyticsEvent","_this$order$Coupons","_line$ExtensionProper","entry","isSubscription","ext","Key","fakeCartLines","isAddDisabled","isRemoveDisabled","addHandler","removeHandler","searchInputAriaLabel","backButtonText","addSelectedToBagButtonText","removeSelectedToBagButtonText","addLineProps","tenderType","OperationId","flatGroup","groupBy","groupByDeliveryType","getGroupBySalesStatusCode","groupBySalesStatusCode","getGroupByAddressId","addressId","groupByAddressId","TrackingId","getGroupByTrackingId","trackingId","groupByTrackingId","SuggestionType","AutoSuggestInput","suggestionType","hitPrefix","hitSuffix","searchQuery","topResultsCount","_getAutoSuggest","autosuggest","searchCriteria","ProductSearchCriteria","HitPrefix","HitSuffix","searchSuggestions","getSearchSuggestionsAsync","ImageUrl","AllSearchResults","getSearchSuggestionsActionDataAction","autoSuggestPromises","inputData","CategorySuggestionsComponent","suggestions","autoSuggestProps","categorySuggestionHeading","reactNodes","_assembleNode","_renderTitle","categoryAutoSuggestionHeading","shouldShowFullPath","splitValue","pop","_generateLink","_getHighlightedText","suggestion","_getCategoryLink","_categoryRefiners$Val","searchPageURL","searchQsp","searchRefiners","queryUrl","categoryRefiners","refiners","SourceValue","ProductRefinerSource","Category","refiner","Values","RefinerRecordId","encodedRefiner","compressRefiners","formattedText","getRichTextHtml","compressedRefinerKeys","compressedRefiners","compressedRefiner","refinerKey","FormComponent","searchPlaceholder","hideSearchLabel","disableSubmitSearch","handleCancelSearchChange","ariaLabelCancel","ariaLabelSearch","ariaLabelSubmit","inputNode","submitBtnNode","KeywordSuggestionsComponent","formattedLink","searchLabelClass","searchLabelArialLabel","isSearchFormExpanded","searchtext","searchCollapsedLabel","ProductSuggestionsComponent","productSuggestionHeading","productAutoSuggestionHeading","_item$Value","Value3","DecimalValue","_renderThumbnail","_getLiWrapper","_getAWrapper","recid","adjustedPrice","basePrice","_props$resources","_isLoadingNode","loadingText","autoSuggestResultLoadingMessage","SpinnerSize","medium","labelPosition","_focusOutTarget","closest","_clearAutoSuggestState","_keyup","formReference","contains","autoSuggestResultDiv","searchState","defaultBasicSearchUrl","searchQueryStringParameter","createSearchStateInput","inputSuggestionType","_loadSuggestions","_handleSubmit","searchURL","_appendQueryParams","_handleCancelSearchChange","isInitialState","_handleCancelSearchFocused","_setAutoSuggestResultCount","autoSuggestResultScreenReaderDiv","ariaLiveRegion","suggestResultString","autoSuggestFoundMessage","emptyResultString","noAutoSuggestionMessage","searchKeywordSuggestClass","searchProductSuggestClass","searchCategorySuggestClass","autoSuggestAriaLabel","searchInputMaxLength","searchFormClass","_initSuggestionTypes","componentDidUpdate","_suggestions$AllSearc","_suggestions$AllSearc2","_suggestions$AllSearc3","cancelBtnAriaLabel","searchBtnAriaLabel","submitBtnAriaLabel","searchplaceholderText","shouldShowFullCategoryPath","Keyword","None","_item$RefinerRecordId","handleCancelSearchFocused","suggestionTypes","suggestionTypeCriterion","unique","validSuggestions","loadSuggestionsRequestId","getSearchSuggestionsAction","_getSuggestionType","_getSearchRefiners","Random","Guid","generateGuid","_getSearchSuggestions","_updateSearchRefiners","suggestionTypeItem","charAt","ProductsDataActions","getProductSearchRefinersAsync","OrderTemplateListView","_renderOrderTemplate","prodName","masterProductInput","masterProduct","console","submitReviewDataAction","originatorList","getOriginator","salesIds","_order$SalesId","transactionIds","_order$TransactionId","originatorsInput","GetOrderOriginatorsInput","getOriginatorsAction","_Msdyn365$isChannelTy","WriteReviewView"],"mappings":"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","file":"static/js/12.0cd5dc106802219c8f04.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { createObservableDataAction, IAction, IActionContext, sendRequest } from '@msdyn365-commerce/core';\n\nimport { SubmitHelpfulnessVoteInput } from './inputs/submit-helpfulness-vote-input';\n\nasync function submitHelpfulnessVote(input: SubmitHelpfulnessVoteInput, ctx: IActionContext): Promise {\n if (!inputIsValid(input)) {\n throw new Error(\n `[SubmitHelpfulnessVote] Invalid input. ReviewId=${input.reviewId},tenantId=${input.tenantId}, locale= ${input.locale},`\n );\n }\n\n const requestUrl =\n `${input.serviceEndpoint}/v2.0/votes/review/${input.reviewId}` + `?tenantId=${input.tenantId}` + `&locale=${input.locale}`;\n\n const requestBody = {\n isHelpful: !!input.isHelpful\n };\n\n const requestHeader = {\n headers: {\n Authorization: `id_token ${input.authToken}`\n }\n };\n\n return sendRequest(requestUrl, 'post', requestBody, requestHeader)\n .then(response => {\n return response.status === 200 || response.status === 201;\n })\n .catch(error => {\n ctx.trace('[SubmitHelpfulnessVote] Failed to vote on a review');\n ctx.telemetry.exception(error);\n ctx.telemetry.debug('[SubmitHelpfulnessVote] Failed to vote on a review');\n return false;\n });\n}\n\nfunction inputIsValid(input: SubmitHelpfulnessVoteInput): boolean {\n return input && input.reviewId.length > 0 && input.tenantId.length > 0 && input.locale.length > 0 && input.authToken.length > 0;\n}\n\nexport const submitHelpfulnessVoteDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/ratings-reviews/submit-helpfulness-vote',\n action: >submitHelpfulnessVote\n});\n\nexport default submitHelpfulnessVoteDataAction;\n","import * as React from 'react';\r\nimport { wineClubPickupLocations } from '../../../settings/app.settings';\r\nimport { WineClubDataRef } from '../../wine-club-signup/wine-club-data';\r\nimport { IOrderDetailsViewProps } from '../smwe-order-details';\r\n\r\nexport interface IWineClubDetailsProps {\r\n orderDetailProps: IOrderDetailsViewProps;\r\n wineClubData: WineClubDataRef;\r\n}\r\n\r\n/**\r\n * renders wine club details ONCE, and wipes\r\n */\r\nexport class WineClubDetails extends React.Component {\r\n constructor(props: IWineClubDetailsProps) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element {\r\n if (this.props.wineClubData.variantPreference === null) {\r\n return
;\r\n }\r\n return (\r\n
\r\n {this._shipTypeJSX}\r\n {this._isGiftJSX}\r\n
\r\n );\r\n }\r\n\r\n private get _shipTypeJSX(): JSX.Element {\r\n const shipType = this.props.wineClubData.deliveryType;\r\n\r\n let display = 'Ship To';\r\n let pickupLocationName: string | undefined;\r\n let pickupLocationAddress: string | undefined;\r\n if (shipType === 'PICKUP') {\r\n display = 'Pickup';\r\n const locations = this.props.orderDetailProps.context.app.config.wineClubPickupLocations as wineClubPickupLocations || [];\r\n const selectedLocation = locations.find(location => location.id === this.props.wineClubData.pickupLocationId);\r\n if (selectedLocation) {\r\n pickupLocationName = selectedLocation.name;\r\n pickupLocationAddress = selectedLocation.address;\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n Delivery Method:\r\n {display}\r\n
\r\n {\r\n shipType === 'PICKUP' && (\r\n
\r\n Deliver To:\r\n {pickupLocationName} at\r\n {pickupLocationAddress}\r\n
\r\n )\r\n }\r\n
\r\n );\r\n }\r\n\r\n private get _isGiftJSX(): JSX.Element {\r\n return (\r\n
\r\n Gift Membership:\r\n \r\n {\r\n this.props.wineClubData.forMyself ? 'No' : 'Yes'\r\n }\r\n \r\n
\r\n );\r\n }\r\n\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { WineClubDetails } from './components/wine-club-details';\r\nimport { IOrderDetailsViewProps } from './smwe-order-details';\r\n\r\nexport const OrderDetailsOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress,\r\n isWineClubOrder,\r\n props\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {channelReferenceId}\r\n {salesId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {isWineClubOrder && props && WineClubDetailsRender(props)}\r\n \r\n);\r\n\r\nexport const OrderDetailsSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroupDelivery: React.FC = ({ deliveryProps, heading, count, address, trackingInfo, isWineClubOrder }) => {\r\n return (\r\n \r\n {heading}\r\n {count}\r\n {address}\r\n {trackingInfo}\r\n \r\n );\r\n};\r\n\r\nexport const OrderDetailsGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines, isWineClubOrder }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n \r\n {salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroups: React.FC = ({ groupsProps, groups, isWineClubOrder, isWineClubPickup }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderDetailsOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderDetailsPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderDetailsHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nexport const WineClubDetailsRender = (props: IOrderDetailsViewProps) => {\r\n return ;\r\n};\r\n\r\nconst OrderDetailsView: React.FC = (props) => {\r\n const {\r\n moduleProps,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n isWineClubOrder,\r\n isWineClubPickup\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {groups && }\r\n {orderSummary && }\r\n {payment && }\r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Resources which are used in order history header.\n */\nexport interface IOrderHistoryTableHeaderResources {\n orderHistoryOrderNumberText: string;\n orderHistoryCreatedDateText: string;\n orderHistoryItemsText: string;\n orderHistoryTotalText: string;\n orderHistoryOriginText: string;\n orderPlacedByFullText?: string;\n}\n\n/**\n * Configuration of the component.\n */\nexport interface IOrderHistoryTableHeaderProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableHeaderResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Renders desktop view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst getDesktopHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\n const { resources } = props;\n\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\n\n return (\n <>\n {props.shouldShowOrderPlacedBy && {resources.orderPlacedByFullText}}\n {resources.orderHistoryOrderNumberText}\n {resources.orderHistoryCreatedDateText}\n {resources.orderHistoryItemsText}\n {resources.orderHistoryTotalText}\n {props.shouldShowChannelInfo && {resources.orderHistoryOriginText}}\n \n \n );\n};\n\n/**\n * Renders mobile view cells.\n * @param props - Configuration of the module.\n * @returns List of cells for the header.\n */\nconst getMobileHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\n const { resources } = props;\n return (\n <>\n {resources.orderHistoryOrderNumberText}\n \n \n );\n};\n\n/**\n * Order history table header component.\n * @param props - Configuration of the component.\n * @returns React node with the header.\n */\nexport const OrderHistoryTableHeaderComponent: React.FC = (props: IOrderHistoryTableHeaderProps) => {\n const rowClassName = `${props.className}__row`;\n\n let headerCells: JSX.Element;\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n if (isMobileView) {\n headerCells = getMobileHeaderCells(props);\n } else {\n headerCells = getDesktopHeaderCells(props);\n }\n\n return (\n \n {headerCells}\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 MsDyn365, { IComponentProps, ICoreContext, IDateFormatOptions, isOboRequest } from '@msdyn365-commerce/core';\nimport { ChannelIdentity, Customer, format, OrderOriginator, OrderShipments, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport {\n getOrderChannelAddress,\n getOrderChannelName,\n getOrderChannelTypeValue,\n isOnlineStoreChannel\n} from '../../../../../common/get-order-information';\nimport { countItems } from '../../../../../common/utilities';\nimport { getOrderDetailsPageUrl } from '../../get-sales-order';\n\n/**\n * Data required to render each order history row.\n */\nexport interface IOrderHistoryTableRowData {\n salesOrder: OrderShipments;\n channelIdentities?: ChannelIdentity[];\n orgUnitLocations?: OrgUnitLocation[];\n customer?: Customer;\n originator?: OrderOriginator;\n}\n\n/**\n * Resources for order history table rows.\n */\nexport interface IOrderHistoryTableRowResources {\n orderHistoryViewDetailsButtonText: string;\n orderHistoryViewDetailsButtonAriaLabel: string;\n orderHistoryCreatedDateMobileDescriptionText: string;\n orderHistoryOrderNumberIsNotAvailable: string;\n onlineStoreChannelNameText: string;\n posChannelNameText: string;\n orderPlacedByFullText?: string;\n orderPlacedByYouText?: string;\n orderOnBehalfOfText?: string;\n}\n\n/**\n * Configuration for the order history rows.\n */\nexport interface IOrderHistoryTableRowProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableRowResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Formats amount.\n * @param context - Core context.\n * @param amount - Amount to display.\n * @param currencyCode - Currency for the amount.\n * @returns String value.\n */\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\n if (amount === undefined) {\n return '';\n }\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\n};\n\n/**\n * Formats date.\n * @param context - Core context.\n * @param date - Date to display.\n * @returns String value.\n */\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\n if (date === undefined) {\n return '';\n }\n\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\n return context.cultureFormatter.formatDate(date, dateOptions);\n};\n\nconst getShortEllipsisText = (originalText: string, maxTextLength: number) => {\n const isRtl = document.body.parentElement?.getAttribute('dir') === 'rtl';\n return originalText.length > maxTextLength\n ? isRtl\n ? `…${originalText.substring(0, maxTextLength - 1)}`\n : `${originalText.substring(0, maxTextLength - 1)}…`\n : originalText;\n};\n\n/**\n * Renders rows for desktop view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order history rows for desktop view.\n */\nexport const OrderHistoryDesktopTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const {\n data: { salesOrder, channelIdentities, orgUnitLocations, customer, originator },\n resources: { orderPlacedByFullText, orderPlacedByYouText, orderOnBehalfOfText }\n } = props;\n\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\n\n const defaultCount = 0;\n const itemsCount = ArrayExtensions.hasElements(salesOrder.SalesLines) ? countItems(salesOrder.SalesLines) : defaultCount;\n const channelName = getOrderChannelName(salesOrder, channelIdentities);\n const channelAddress = getOrderChannelAddress(salesOrder, orgUnitLocations);\n const channelTypeValue = getOrderChannelTypeValue(salesOrder, channelIdentities);\n const isOnlineStore = isOnlineStoreChannel(channelTypeValue, channelAddress);\n\n const columnWithNumberClassName = `${props.className}__column-with-number`;\n\n let orderNumberCellText = props.resources.orderHistoryOrderNumberIsNotAvailable;\n if (!StringExtensions.isNullOrWhitespace(salesOrder.SalesId)) {\n orderNumberCellText = salesOrder.SalesId!;\n }\n\n const isYou =\n !isOboRequest(props.context.request) &&\n originator?.CustomerId &&\n originator?.CustomerName &&\n !originator?.StaffId &&\n !originator?.StaffName &&\n customer?.AccountNumber === originator?.CustomerId\n ? true\n : false;\n const isYouObo = !isYou && !isOboRequest(props.context.request);\n let placedByName =\n originator?.StaffId && originator.StaffName\n ? originator.StaffName\n : originator?.CustomerId && originator.CustomerName\n ? originator.CustomerName\n : '-';\n placedByName = `${placedByName} ${isYou ? orderPlacedByYouText : ''}`;\n const isOnBehalfOfOrder = isOnlineStore && originator?.StaffName && customer?.Name;\n const maxOrderTextLength = window.innerWidth > 700 ? 20 : 12;\n const placedByText = `${orderPlacedByFullText} ${placedByName}`;\n const onBehalfOfText = `${orderOnBehalfOfText} ${customer?.Name} ${isYouObo ? orderPlacedByYouText : ''}`;\n\n return (\n <>\n {props.shouldShowOrderPlacedBy && (\n \n \n {placedByName}\n {isOnBehalfOfOrder && (\n <>\n
{getShortEllipsisText(onBehalfOfText, maxOrderTextLength)}\n \n )}\n \n \n )}\n \n {orderNumberCellText}\n {isOnBehalfOfOrder && !props.shouldShowOrderPlacedBy && (\n <>\n \n {getShortEllipsisText(placedByText, maxOrderTextLength)}\n \n \n )}\n \n {formatDate(props.context, salesOrder.CreatedDateTime)}\n {itemsCount}\n {formatAmount(props.context, salesOrder.TotalAmount, salesOrder.CurrencyCode)}\n {props.shouldShowChannelInfo && (\n \n {channelName &&\n (channelAddress\n ? `${props.resources.posChannelNameText} ${channelName}`\n : props.resources.onlineStoreChannelNameText)}\n \n )}\n \n \n {props.resources.orderHistoryViewDetailsButtonText}\n \n \n \n );\n};\n\n/**\n * Renders rows for mobile view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order history rows for mobile view.\n */\nexport const OrderHistoryMobileTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const {\n data: { salesOrder }\n } = props;\n\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\n\n const onClickViewDetails = React.useCallback(() => {\n if (MsDyn365.isBrowser) {\n window.location.href = linkToOrderHistoryDetails;\n }\n }, [linkToOrderHistoryDetails]);\n\n const orderNumber = StringExtensions.isNullOrWhitespace(salesOrder.SalesId)\n ? props.resources.orderHistoryOrderNumberIsNotAvailable\n : salesOrder.SalesId!;\n\n const dateText = format(\n props.resources.orderHistoryCreatedDateMobileDescriptionText,\n formatDate(props.context, salesOrder.CreatedDateTime)\n );\n\n const cellClassName = `${props.className}__mobile-cell`;\n\n return (\n <>\n \n \n {orderNumber}\n {dateText}\n
\n \n \n \n {props.resources.orderHistoryViewDetailsButtonText}\n \n \n \n );\n};\n\n/**\n * Renders order history rows.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order history rows.\n */\nexport const OrderHistoryTableRowComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n\n return (\n \n {isMobileView ? (\n \n ) : (\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 { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ChannelIdentity, Customer, OrderOriginator, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\nimport React from 'react';\n\nimport { IOrderHistory } from '../../actions/get-order-shipment-history';\nimport { IOrderHistoryTableHeaderResources, OrderHistoryTableHeaderComponent } from './components/order-history-table-header-component';\nimport { IOrderHistoryTableRowResources, OrderHistoryTableRowComponent } from './components/order-history-table-row-component';\n\n/**\n * Interface with the data required for order history.\n */\nexport interface IOrderHistoryTableData {\n orderHistory: IOrderHistory;\n channelIdentities?: ChannelIdentity[];\n orgUnitLocations?: OrgUnitLocation[];\n customer?: Customer;\n originators?: OrderOriginator[];\n}\n\n/**\n * Resources needed to render order history table.\n */\nexport interface IOrderHistoryTableResources extends IOrderHistoryTableHeaderResources, IOrderHistoryTableRowResources {}\n\n/**\n * Configuration of order history table.\n */\nexport interface IOrderHistoryTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n resources: IOrderHistoryTableResources;\n\n shouldShowChannelInfo: boolean;\n shouldShowOrderPlacedBy?: boolean;\n}\n\n/**\n * Renders order history table.\n * @param props - Configuration for order history table.\n * @returns React node with the table.\n */\nexport const OrderHistoryTableComponent: React.FC = (props: IOrderHistoryTableProps) => {\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n\n return (\n \n \n {props.data.orderHistory.salesOrders.map((salesOrder, index) => {\n return (\n \n (salesOrder.SalesId && o.SalesId === salesOrder.SalesId) ||\n (salesOrder.TransactionId && o.TransactionId === salesOrder.TransactionId)\n )\n }}\n shouldShowChannelInfo={props.shouldShowChannelInfo}\n shouldShowOrderPlacedBy={props.shouldShowOrderPlacedBy}\n />\n );\n })}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport * as React from 'react';\n\nimport { IGetOrderSummaryInput, IOrderSummary, IPriceContext } from '../../../common';\n\ninterface ISummaryLineProps {\n priceContext?: IPriceContext;\n name: string;\n label: string;\n value?: number;\n}\n\nconst OrderSummaryLine: React.SFC = ({ name, label, value = 0, priceContext }) => (\n

\n {label}\n {priceContext ? (\n \n ) : (\n {value}\n )}\n

\n);\n\nexport const getOrderDetailsOrderSummary = ({\n order,\n priceContext,\n earnedPoints,\n resource: {\n orderSummaryHeading,\n orderSummaryItemsTotalLabel,\n orderSummaryShippingFeeLabel,\n orderSummaryTaxLabel,\n orderSummaryGrandTotalLabel,\n pointsEarnedLabel\n },\n canShip,\n isTaxIncludedInPrice,\n isShowTaxBreakUp\n}: IGetOrderSummaryInput): IOrderSummary => {\n const subTotal = isTaxIncludedInPrice && isShowTaxBreakUp ? order.SubtotalAmountWithoutTax : order.SubtotalAmount;\n const taxOnShippingCharge = order.TaxOnShippingCharge !== undefined ? order.TaxOnShippingCharge : 0;\n const shippingChargeAmount = order.ShippingChargeAmount !== undefined ? order.ShippingChargeAmount : 0;\n\n // isTaxIncludedInPrice isShowTaxBreakup useProperties\n // False False/True shippingChargeAmount\n // True True shippingChargeAmount\n // True false shippingChargeAmount + taxOnShippingCharge\n const shippingCharge =\n isTaxIncludedInPrice && !isShowTaxBreakUp ? shippingChargeAmount + taxOnShippingCharge : order.ShippingChargeAmount;\n return {\n orderSummaryProps: { className: 'ms-order-details__order-summary' },\n heading:

{orderSummaryHeading}

,\n subtotal: ,\n shipping: canShip ? (\n \n ) : (\n ''\n ),\n tax: isShowTaxBreakUp ? (\n \n ) : (\n ''\n ),\n totalAmount: (\n \n ),\n earnedPoints: earnedPoints ? : undefined\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { ChannelIdentity, Customer, OrderOriginator, OrderShipments, OrgUnitLocation, SalesOrder } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport get from 'lodash/get';\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\nimport { isOboRequest } from '@msdyn365-commerce/core';\nimport { countItems, IModuleComponentProps, IPriceContext } from './utilities';\n\n/**\n * Interface for order information input resources.\n */\nexport interface IOrderInformationInputResources {\n receiptEmailMessage?: string;\n orderItemLabel: string;\n orderItemsLabel: string;\n processingLabel: string;\n orderIdLabel: string;\n receiptIdLabel: string;\n confirmationIdLabel: string;\n trackingLabel: string;\n trackingAriaLabel: string;\n trackingComingSoonLabel: string;\n posChannelNameText?: string;\n onlineStoreChannelNameText?: string;\n orderPlacedOnLabel?: string;\n qrCodeSrText?: string;\n callCenterChannelNameText?: string;\n orderPlacedByFullText?: string;\n orderPlacedByYouText?: string;\n orderOnBehalfOfText?: string;\n}\n\n/**\n * Interface for order information input.\n */\nexport interface IOrderInformationInput {\n moduleName: string;\n channelReferenceId?: string;\n channelName?: string;\n channelAddress?: string;\n showChannelInfo?: boolean;\n receiptEmail?: string;\n createdDate?: string;\n amount?: number;\n priceContext: IPriceContext;\n salesId?: string;\n receiptId?: string;\n hasTrackingInfo?: boolean;\n count?: number;\n resources: IOrderInformationInputResources;\n isSalesInvoice?: boolean;\n shouldShowQrCode?: boolean;\n channelTypeValue?: number;\n originator?: OrderOriginator;\n isYou?: [boolean, boolean];\n isB2bAdmin?: boolean;\n isOnlineStore?: boolean;\n}\n\nconst callCenterChannelTypeValue = 4;\n\n/**\n * Interface for order information.\n */\nexport interface IOrderInformation {\n orderInformationProps: INodeProps;\n channelName: React.ReactNode;\n channelAddress: React.ReactNode;\n placedBy?: React.ReactNode;\n salesId: React.ReactNode;\n receiptId: React.ReactNode;\n receiptEmail: React.ReactNode;\n createdDate: React.ReactNode;\n count: React.ReactNode;\n amount: React.ReactNode;\n channelReferenceId: React.ReactNode;\n}\n\n/**\n * The order confirmation ID node.\n * @param channelReferenceId - The order confirmation id.\n * @param moduleName - The module name.\n * @param confirmationIdLabel - The confirmation label.\n * @param shouldShowQrCode - Should the view show the QR code.\n * @param qrCodeSrText - The screen reader text of the QR code.\n * @returns The react node for order confirmation ID.\n */\nconst getChannelReference = (\n channelReferenceId: string | undefined,\n moduleName: string,\n confirmationIdLabel: string,\n shouldShowQrCode: boolean | undefined,\n qrCodeSrText?: string\n): React.ReactNode | undefined => {\n const confirmationIdNode: React.ReactNode = (\n \n {`${confirmationIdLabel} `}\n {channelReferenceId}\n \n );\n return (\n channelReferenceId &&\n (shouldShowQrCode !== undefined && shouldShowQrCode ? (\n
\n {confirmationIdNode}\n
\n \n \n {qrCodeSrText}\n \n
\n
\n ) : (\n confirmationIdNode\n ))\n );\n};\n\n/**\n * Get Channel name to display on order history.\n * @param channelTypeValue - The channel type.\n * @param moduleName - The module name.\n * @param callCenterChannelNameText - The call center channel name.\n * @param channelAddress - Channel Address.\n * @param posChannelNameText - POS channel name.\n * @param channelName - Channel Name.\n * @param onlineStoreChannelNameText - Online store channel name.\n * @returns The react node for channel name label.\n */\nexport const getChannelName = (\n channelTypeValue: number | undefined,\n moduleName: string,\n callCenterChannelNameText: string | undefined,\n channelAddress: string | undefined,\n posChannelNameText: string | undefined,\n channelName: string | undefined,\n onlineStoreChannelNameText: string | undefined\n): React.ReactNode => {\n let channelNameNode: React.ReactNode;\n if (channelTypeValue === callCenterChannelTypeValue) {\n channelNameNode = {callCenterChannelNameText};\n } else if (channelAddress) {\n const posChannelName = `${posChannelNameText ?? ''} ${channelName ?? ''}`;\n channelNameNode = {posChannelName};\n } else {\n const onlineChannelName = `${onlineStoreChannelNameText ?? ''} ${channelName ?? ''}`;\n channelNameNode = {onlineChannelName};\n }\n return channelNameNode;\n};\n\nconst getPlacedBy = (\n moduleName: string,\n originator: OrderOriginator | undefined,\n isYou: [boolean, boolean] | undefined,\n orderPlacedByFullText: string | undefined,\n orderPlacedByYouText: string | undefined,\n orderOnBehalfOfText: string | undefined\n): React.ReactNode | undefined => {\n let placedByNode: React.ReactNode | undefined;\n\n if (originator) {\n const placedByName =\n originator.StaffId && originator.StaffName\n ? originator.StaffName\n : originator.CustomerId && originator.CustomerName\n ? originator.CustomerName\n : '-';\n const onBehalfOfText = originator.StaffId && originator.StaffName && originator.CustomerId && originator.CustomerName;\n placedByNode = (\n
\n {orderPlacedByFullText} {placedByName} {isYou && isYou[0] && ` ${orderPlacedByYouText}`}\n {onBehalfOfText && (\n
\n {orderOnBehalfOfText} {`${originator.CustomerName}`}\n {isYou && isYou[1] && ` ${orderPlacedByYouText}`}\n
\n )}\n
\n );\n }\n\n return placedByNode;\n};\n\n/**\n * Get order information.\n * @param {IOrderInformationInput} param0 The input for order information.\n * @returns {IOrderInformation} The order information.\n */\nexport const getOrderInformation = ({\n moduleName,\n channelReferenceId,\n channelName,\n channelAddress,\n channelTypeValue,\n showChannelInfo,\n receiptEmail,\n createdDate,\n amount,\n priceContext,\n originator,\n isYou,\n salesId,\n receiptId,\n count,\n resources: {\n receiptEmailMessage,\n orderItemLabel,\n orderItemsLabel,\n orderIdLabel,\n orderPlacedByFullText,\n orderPlacedByYouText,\n orderOnBehalfOfText,\n receiptIdLabel,\n confirmationIdLabel,\n posChannelNameText,\n onlineStoreChannelNameText,\n orderPlacedOnLabel,\n qrCodeSrText,\n callCenterChannelNameText\n },\n isSalesInvoice,\n shouldShowQrCode\n}: IOrderInformationInput): IOrderInformation => {\n const channelNameNode: React.ReactNode = getChannelName(\n channelTypeValue,\n moduleName,\n callCenterChannelNameText,\n channelAddress,\n posChannelNameText,\n channelName,\n onlineStoreChannelNameText\n );\n\n const orderInformation = {\n orderInformationProps: { className: `${moduleName}__order-information` },\n channelName: showChannelInfo && channelName && channelNameNode,\n channelAddress: showChannelInfo && channelAddress && (\n {channelAddress}\n ),\n placedBy: getPlacedBy(moduleName, originator, isYou, orderPlacedByFullText, orderPlacedByYouText, orderOnBehalfOfText),\n salesId: salesId ? {`${orderIdLabel} ${salesId}`} : '',\n receiptId: receiptId ? (\n {`${receiptIdLabel} ${receiptId}`}\n ) : (\n ''\n ),\n receiptEmail: receiptEmail && (\n \n {receiptEmailMessage}\n {receiptEmail}\n \n ),\n createdDate: !isSalesInvoice && createdDate && (\n \n {orderPlacedOnLabel}\n {` `}\n {createdDate}\n \n ),\n count: !isSalesInvoice && count !== undefined && count > 0 && (\n \n {count === 1 ? `${count} ${orderItemLabel}` : `${count} ${orderItemsLabel}`}\n \n ),\n amount: !isSalesInvoice && (amount || amount === 0) && (\n \n ),\n channelReferenceId: getChannelReference(channelReferenceId, moduleName, confirmationIdLabel, shouldShowQrCode, qrCodeSrText)\n };\n\n return orderInformation;\n};\n\n/**\n * Interface for order information props.\n */\ninterface IProps extends IModuleComponentProps {\n resources: IOrderInformationInputResources;\n customer?: Customer;\n}\n\n/**\n * Retrieves order channel name.\n * @param order - Order info.\n * @param channelIdentities - Channels data.\n * @returns String with the name of the channel or an empty string.\n */\nexport const getOrderChannelName: (order: SalesOrder | OrderShipments, channelIdentities?: ChannelIdentity[]) => string = (\n order: SalesOrder | OrderShipments,\n channelIdentities?: ChannelIdentity[]\n) => {\n const orderChannel = channelIdentities?.find(channel => {\n return channel.RecordId === order.ChannelId;\n });\n\n const channelName = orderChannel?.Name ?? '';\n return channelName;\n};\n\n/**\n * Retrieves order channel type value.\n * @param order - Order info.\n * @param channelIdentities - Channels data.\n * @returns The channel type value of the order.\n */\nexport const getOrderChannelTypeValue: (order: SalesOrder | OrderShipments, channelIdentities?: ChannelIdentity[]) => number | undefined = (\n order: SalesOrder | OrderShipments,\n channelIdentities?: ChannelIdentity[]\n) => {\n const orderChannel = channelIdentities?.find(channel => {\n return channel.RecordId === order.ChannelId;\n });\n\n const channelType = orderChannel?.ChannelType.Value;\n return channelType;\n};\n\n/**\n * Retrieves channel is online store or not.\n * @param channelTypeValue - The channel type.\n * @param channelAddress - Channel Address.\n * @returns {Boolean} that indicates that the channel is in the online store.\n */\nexport const isOnlineStoreChannel = (channelTypeValue: number | undefined, channelAddress: string | undefined): boolean => {\n return channelTypeValue !== callCenterChannelTypeValue && !channelAddress;\n};\n\n/**\n * Retrieves order channel address.\n * @param order - Order info.\n * @param orgUnitLocations - OrgUnitLocation data.\n * @returns String with the address of the channel or an empty string.\n */\nexport const getOrderChannelAddress: (order: SalesOrder | OrderShipments, orgUnitLocations?: OrgUnitLocation[]) => string = (\n order: SalesOrder | OrderShipments,\n orgUnitLocations?: OrgUnitLocation[]\n) => {\n const orderOrgUnitLocation = orgUnitLocations?.find(location => {\n return location.ChannelId === order.ChannelId;\n });\n\n const channelAddress = orderOrgUnitLocation?.Address ?? '';\n return channelAddress;\n};\n\n/**\n * Get order information input.\n * @param {IProps} props The properties.\n * @param {string} moduleName The module name.\n * @param {SalesOrder | OrderShipments} order The sales order or order shipments.\n * @param {IPriceContext} priceContext The price context.\n * @param {ChannelIdentity[]} channelIdentities A list of channel identities.\n * @param {OrgUnitLocation[]} orgUnitLocations A list of organization unit locations.\n * @param {Customer} customer A current customer.\n * @param {OrderOriginator} originator The order originator.\n * @param {boolean} showChannelInfo Should the view show channel information.\n * @param {boolean} isSalesInvoice Is this a sales invoice.\n * @param {boolean} shouldShowQrCode Should the view show QR code.\n * @returns {IOrderInformationInput} The order information input.\n */\nexport const getOrderInformationInput = (\n props: IProps,\n moduleName: string,\n order: SalesOrder | OrderShipments,\n priceContext: IPriceContext,\n channelIdentities?: ChannelIdentity[],\n orgUnitLocations?: OrgUnitLocation[],\n customer?: Customer,\n originator?: OrderOriginator,\n showChannelInfo?: boolean,\n isSalesInvoice?: boolean,\n shouldShowQrCode?: boolean\n): IOrderInformationInput => {\n const {\n resources,\n context: {\n request: {\n apiSettings: { channelId }\n }\n }\n } = props;\n\n // @ts-expect-error OrderShipments doesn't has ChannelId\n const showTrackingInfo = !!order.ChannelId && order.ChannelId === channelId;\n\n const locale = get(props, 'context.request.locale') || 'en-US';\n const count = order.SalesLines && ArrayExtensions.hasElements(order.SalesLines) ? countItems(order.SalesLines) : 0;\n const channelTypeValue = getOrderChannelTypeValue(order, channelIdentities);\n const channelAddress = getOrderChannelAddress(order, orgUnitLocations);\n const isYou =\n !isOboRequest(props.context.request) &&\n originator?.CustomerId &&\n originator?.CustomerName &&\n !originator?.StaffId &&\n !originator?.StaffName &&\n customer?.AccountNumber === originator?.CustomerId\n ? true\n : false;\n const isYouObo = !isYou && !isOboRequest(props.context.request);\n\n return {\n moduleName,\n createdDate: (order.CreatedDateTime && new Date(order.CreatedDateTime).toLocaleDateString(locale)) || '',\n salesId: order.SalesId,\n originator: originator,\n isYou: [isYou, isYouObo],\n isB2bAdmin: customer?.IsB2bAdmin,\n receiptId: order.ReceiptId,\n showChannelInfo,\n\n // @ts-expect-error OrderShipments doesn't has ReceiptEmail\n receiptEmail: order.ReceiptEmail,\n channelReferenceId: order.ChannelReferenceId,\n channelName: getOrderChannelName(order, channelIdentities),\n channelAddress: channelAddress,\n amount: order.TotalAmount ?? 0,\n priceContext,\n count,\n resources,\n isSalesInvoice,\n shouldShowQrCode,\n channelTypeValue: channelTypeValue,\n isOnlineStore: isOnlineStoreChannel(channelTypeValue, channelAddress)\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport OrderTemplateLines from './modules/order-template/order-template';\nimport OrderTemplateLinesView from './modules/order-template/order-template.view';\n\nexport * from './modules/order-template/components';\nexport * from './modules/order-template/order-template';\nexport * from './modules/order-template/order-template.data';\nexport * from './modules/order-template/order-template.view';\n\n// Export * from './modules/order-template/actions';\nexport * from './modules/order-template/order-template.props.autogenerated';\nexport * from './modules/order-template-list/components';\nexport * from './modules/order-template-list/order-template-list';\nexport * from './modules/order-template-list/order-template-list.data';\nexport * from './modules/order-template-list/order-template-list.view';\n\nexport { OrderTemplateLines, OrderTemplateLinesView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, Collapse, ICollapseProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IQuickOrderDrawerProps } from './quick-order-drawer-props';\n\nexport interface IQuickOrderDrawerState {\n isOpen: boolean;\n}\n\nexport type GlyphPlacement = 'start' | 'end';\n\n/**\n * Quick Order Drawer - This is a full width uncontrolled collapse where the button glyph changes\n * when the drawer is open and closed.\n */\n\nexport default class QuickOrderDrawer extends React.Component {\n public state: IQuickOrderDrawerState;\n\n private readonly drawerOpenGlyph: string;\n\n private readonly drawerCloseGlyph: string;\n\n private readonly drawerGlyphClass: string;\n\n private isManuallyToggled: boolean;\n\n constructor(props: IQuickOrderDrawerProps) {\n super(props);\n this._toggle = this._toggle.bind(this);\n this.isManuallyToggled = false;\n this.state = { isOpen: (props.collapseProps && props.collapseProps.isOpen) || false };\n this.drawerGlyphClass = classnames('drawer__glyph', this.props.toggleGlyphClassName ? this.props.toggleGlyphClassName : '');\n\n if (this.props.animateGlyph) {\n this.drawerOpenGlyph = classnames(\n this.drawerGlyphClass,\n this.props.openGlyph ? this.props.openGlyph : this.props.closeGlyph ? this.props.closeGlyph : ''\n );\n this.drawerCloseGlyph = this.drawerOpenGlyph;\n } else {\n this.drawerOpenGlyph = classnames(this.drawerGlyphClass, this.props.openGlyph ? this.props.openGlyph : '');\n this.drawerCloseGlyph = classnames(this.drawerGlyphClass, this.props.closeGlyph ? this.props.closeGlyph : '');\n }\n }\n\n public shouldComponentUpdate(nextProps: IQuickOrderDrawerProps, nextState: IQuickOrderDrawerState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const collapseProps = { ...this.props.collapseProps } as ICollapseProps;\n\n // If the drawer is manually toggled by pressing the button, then we use the internal state\n if (collapseProps.isOpen === undefined || this.isManuallyToggled) {\n collapseProps.isOpen = this.state.isOpen;\n } else {\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state.isOpen = collapseProps.isOpen;\n }\n collapseProps.children = this.props.children;\n const drawerClass = classnames('drawer', this.props.className ? this.props.className : '');\n this.isManuallyToggled = false;\n return (\n
\n \n {this._generateDrawerButtonInnerMarkup(collapseProps.isOpen)}\n \n \n
\n );\n }\n\n private _generateDrawerButtonInnerMarkup(collapseState: boolean): JSX.Element {\n const drawerButtonTextClass = classnames(\n 'drawer__buttontext',\n this.props.toggleButtonClassName ? this.props.toggleButtonClassName : ''\n );\n return (\n <>\n

{this.props.moduleHeadingText}

\n \n {this.props.moduleDescriptionText}\n \n {this._generateGlyphMarkup('drawer__glyph__end', collapseState)}\n \n );\n }\n\n private _generateGlyphMarkup(location: string, collapseState: boolean): JSX.Element {\n let glyphClass = collapseState ? this.drawerOpenGlyph : this.drawerCloseGlyph;\n glyphClass = `${glyphClass} ${location}`;\n return ;\n }\n\n private _toggle(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n this.setState({ isOpen: !this.state.isOpen });\n this.isManuallyToggled = true;\n if (this.props.onToggle) {\n this.props.onToggle(this.state);\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 { Alert, Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IQuickOrderState } from '../quick-order';\n\nexport interface IQuickOrderFormProps {\n disableAddtoCart: boolean | undefined;\n productTextInput: React.RefObject;\n quantityTextInput: React.RefObject;\n maxChars: number;\n maxQuantity?: number;\n ariaLabelQuantity: string;\n ariaLabelProduct: string;\n ariaLabelAddtoCart: string;\n addQuantityPlaceholderText: string;\n quickOrderState: IQuickOrderState;\n handleInputChange(query: string): void;\n handleQuantityChange(query: string): void;\n handleAddToCartClick(): Promise;\n}\n\nexport interface IQuickOrderFormViewProps {\n product: React.ReactNode;\n quantity: React.ReactNode;\n addToCartBtn: React.ReactNode;\n userMessage?: React.ReactNode;\n}\n\n/**\n * On Input Change functionality.\n * @param handleInputChange -Input change function.\n * @returns Input change value.\n */\nconst onInputChangeFunction = (handleInputChange: (query: string) => void) => (event: React.ChangeEvent) => {\n handleInputChange(event.target.value || '');\n};\n\n/**\n * On Quantity Change functionality.\n * @param handleQuantityChange -Quantity change function.\n * @returns Quantity change value.\n */\nconst onQuantityChangeFunction = (handleQuantityChange: (query: string) => void) => (event: React.ChangeEvent) => {\n handleQuantityChange(event.target.value || '');\n};\n\nexport const QuickOrderFormComponent = (props: IQuickOrderFormProps): IQuickOrderFormViewProps => {\n const {\n productTextInput,\n quantityTextInput,\n quickOrderState,\n maxChars,\n maxQuantity,\n disableAddtoCart,\n ariaLabelQuantity,\n ariaLabelProduct,\n ariaLabelAddtoCart,\n addQuantityPlaceholderText,\n handleQuantityChange,\n handleInputChange,\n handleAddToCartClick\n } = props;\n\n const onInputChange = onInputChangeFunction(handleInputChange);\n\n const onQuantityInputChange = onQuantityChangeFunction(handleQuantityChange);\n\n const productNode = (\n
\n

\n {ariaLabelProduct}\n

\n \n
\n );\n\n const quantityNode = (\n
\n

\n {ariaLabelQuantity}\n

\n \n
\n );\n\n const addtoCartNode = (\n
\n \n {ariaLabelAddtoCart}\n \n
\n );\n\n const userMessageNode =\n quickOrderState && quickOrderState.stateMessage ? (\n \n \n {quickOrderState.stateMessage.messageText}\n \n ) : (\n undefined\n );\n\n return {\n product: productNode,\n addToCartBtn: addtoCartNode,\n quantity: quantityNode,\n userMessage: userMessageNode\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CartLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { observable } from 'mobx';\n\n/**\n * Represents a product for quick order.\n */\nexport class QuickOrderProduct {\n @observable\n public isSelected: boolean;\n\n public readonly cartLine: CartLine;\n\n public readonly simpleProduct: SimpleProduct;\n\n public constructor(cartLine: CartLine, simpleProduct: SimpleProduct) {\n this.cartLine = cartLine;\n this.simpleProduct = simpleProduct;\n this.isSelected = false;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponent, IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\nimport React from 'react';\n\n/**\n * Interface for quick order table header resources.\n */\nexport interface IQuickOrderTableHeaderResources {\n quickOrderProductNumberText: string;\n quickOrderProductText: string;\n quickOrderUnitPriceText: string;\n quickOrderUnitOfMeasureText: string;\n quickOrderQuantityText: string;\n quickOrderTotalText: string;\n quickOrderActionsText: string;\n}\n\n/**\n * Interface for quick order table props.\n */\nexport interface IQuickOrderTableHeaderProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n isMobile: boolean;\n resources: IQuickOrderTableHeaderResources;\n}\n\n/**\n * Interface for quick order table header component.\n */\nexport interface IQuickOrderTableHeaderComponent extends IComponent {}\n\n/**\n * Get the quick order header cells for desktop.\n * @param props -- The quick order table header props.\n * @returns The list of cells for quick order header component in desktop version.\n */\nconst QuickOrderDesktopHeaderCellsComponent: React.FC = (props: IQuickOrderTableHeaderProps) => {\n const { resources } = props;\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\n return (\n <>\n \n \n \n {resources.quickOrderProductNumberText}\n {resources.quickOrderProductText}\n {resources.quickOrderUnitPriceText}\n {resources.quickOrderUnitOfMeasureText}\n {resources.quickOrderQuantityText}\n {resources.quickOrderTotalText}\n {resources.quickOrderActionsText}\n \n );\n};\n\n/**\n * Get the quick order header cells for mobile.\n * @param props -- The quick order table header props.\n * @returns The quick order header component in desktop version.\n */\nconst QuickOrderMobileHeaderCellsComponent: React.FC = (props: IQuickOrderTableHeaderProps) => {\n const { resources } = props;\n return (\n <>\n \n {resources.quickOrderProductNumberText}\n \n \n );\n};\n\n/**\n * Quick order table header component.\n * @param props - Configuration of the component.\n * @returns React node with the header.\n */\nexport const QuickOrderTableHeaderComponent: React.FC = (props: IQuickOrderTableHeaderProps) => {\n const rowClassName = `${props.className}__row`;\n\n let headerCells: JSX.Element;\n if (props.isMobile) {\n headerCells = ;\n } else {\n headerCells = ;\n }\n\n return (\n \n {headerCells}\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 { IComponentProps, ICoreContext, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { CartLine, format, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { getFallbackImageUrl, getProductPageUrlSync, ObjectExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IncrementalQuantity } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Data required to render each quick order row.\n */\nexport interface IQuickOrderTableRowData {\n cartLine: CartLine;\n product: SimpleProduct;\n}\n\n/**\n * Resources for quick order table rows.\n */\nexport interface IQuickOrderTableRowResources {\n quickOrderQuantityMobileText: string;\n quickOrderProductDimensionsSeparator: string;\n quickOrderViewDetailsButtonText: string;\n quickOrderViewDetailsButtonAriaLabel: string;\n quickOrderRemoveItemButtonAriaLabel: string;\n quickOrderInputQuantityAriaLabel: string;\n quickOrderDecrementButtonAriaLabel: string;\n quickOrderIncrementButtonAriaLabel: string;\n}\n\n/**\n * Interface for quick order table props.\n */\nexport interface IQuickOrderTableRowProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n imageSettings?: IImageSettings;\n isMobile: boolean;\n resources: IQuickOrderTableRowResources;\n}\n\n/**\n * The default image settings for quick order table row.\n */\nconst defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=80&h=80&m=6', w: 0, h: 0 },\n lg: { q: 'w=147&h=147&m=6', w: 0, h: 0 }\n },\n lazyload: true,\n cropFocalRegion: true\n};\n\n/**\n * Renders product image for quick order row.\n * @param props - Quick order table row props.\n * @returns React element.\n */\nconst QuickOrderTableRowProductImageComponent: React.FC = (props: IQuickOrderTableRowProps) => {\n const fallbackImageUrl = getFallbackImageUrl(props.data.product.ItemId, props.context.actionContext.requestContext.apiSettings);\n\n const containerClassName = `${props.className}__product-image-container`;\n\n return (\n
\n \n
\n );\n};\n\n/**\n * Renders actions popup for the mobile view.\n * @param props - Configuration for popup.\n * @returns A react node with actions..\n */\nconst QuickOrderExtraActionsPopupComponent: React.FC = (props: IQuickOrderTableRowProps): JSX.Element | null => {\n const product: SimpleProduct = props.data.product;\n\n let productUrl = '';\n if (!StringExtensions.isNullOrWhitespace(product.Name) && !ObjectExtensions.isNullOrUndefined(product.RecordId)) {\n productUrl = getProductPageUrlSync(product.Name!, product.RecordId, props.context.actionContext);\n }\n\n if (StringExtensions.isNullOrWhitespace(productUrl)) {\n return null;\n }\n\n const className = `${props.className}__extra-actions-cell`;\n\n return (\n
\n
\n );\n};\n\n/**\n * Renders quick order table rows for desktop view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of quick order rows for desktop view.\n */\nexport const QuickOrderDesktopTableRowCellComponent: React.FC = (props: IQuickOrderTableRowProps) => {\n const product: SimpleProduct = props.data.product;\n const cartLine: CartLine = props.data.cartLine;\n const columnWithNumberClassName = `${props.className}__column-with-number`;\n\n let productUrl = '';\n if (!StringExtensions.isNullOrWhitespace(product.Name) && !ObjectExtensions.isNullOrUndefined(product.RecordId)) {\n productUrl = getProductPageUrlSync(product.Name!, product.RecordId, props.context.actionContext);\n }\n\n return (\n <>\n \n \n \n {product.ItemId}\n \n
\n \n {product.Name}\n \n \n {product.Dimensions?.map(dimension => dimension.DimensionValue?.Value)\n .filter(dimensionValue => !StringExtensions.isNullOrWhitespace(dimensionValue))\n .join(props.resources.quickOrderProductDimensionsSeparator)}\n \n
\n \n {cartLine.Price}\n {cartLine.UnitOfMeasureSymbol}\n \n \n \n {cartLine.TotalAmount}\n \n \n \n \n );\n };\n\n private readonly _removePromotion = (cartState: ICartState | undefined, event: React.MouseEvent) => {\n if (!cartState) {\n return;\n }\n const code = event.currentTarget.getAttribute('data-value') || '';\n cartState\n .removePromoCodes({\n promoCodes: [code]\n })\n .then(result => {\n if (result.status === 'SUCCESS') {\n this.setState({ error: '' });\n }\n })\n .catch(() => {\n this.setState({ error: this.props.failedToRemovePromoCodeErrorText });\n });\n };\n\n private readonly _calculateDiscount = (code: string, cartState: ICartState | undefined) => {\n if (!cartState || !cartState.cart || !cartState.cart.CartLines || cartState.cart.CartLines.length === 0 || !code) {\n return;\n }\n let discountAmount = 0;\n for (const line of cartState.cart.CartLines) {\n if (line.DiscountLines) {\n for (const discountLine of line.DiscountLines) {\n if (discountLine.DiscountCode === code) {\n discountAmount += discountLine.DiscountCost!;\n }\n }\n }\n }\n return discountAmount * -1;\n };\n\n private readonly _renderAppliedPromoCode = (props: IPromoCodeProps) => {\n if (!props.cart || !props.cart.cart || !props.cart.cart.Coupons || props.cart.cart.Coupons.length === 0) {\n return;\n }\n\n const removePromotionHandler = (event: React.MouseEvent) => {\n this._removePromotion(props.cart, event);\n };\n\n const promoCodTotalDiscount = props.cart.cart.Coupons.reduce((count: number, coupon: Coupon) => {\n return count + (this._calculateDiscount(coupon.Code || '', props.cart) || 0);\n }, 0);\n\n return (\n <>\n
\n
{this.props.appliedPromoCodeHeadingText}
\n \n
\n {props.cart.cart.Coupons.map((coupon: Coupon) => {\n const ariaLabel = props.removePromoAriaLabelFormat\n ? format(props.removePromoAriaLabelFormat, props.removePromoText, coupon.Code)\n : '';\n\n return (\n
\n
\n {coupon.Code}{' '}\n \n
\n \n {props.removePromoText}\n \n
\n );\n })}\n \n );\n };\n}\n\nexport default PromoCode;\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 { IHeaderViewProps } from './header';\n\nconst headerView: React.FC = props => {\n const {\n HeaderTag,\n HeaderContainer,\n HeaderTopBarContainer,\n MobileMenuContainer,\n MobileMenuBodyContainer,\n MobileMenuLinksContainer,\n Divider\n } = props;\n return (\n \n \n \n {props.navIcon}\n {props.logo}\n {_renderReactFragment(props.search)}\n {props.preferredStore}\n {_renderDesktopAccountBlock(props)}\n {props.wishListIconDesktop}\n \n {props.cartIcon}\n {_renderReactFragment(props.siteOptions)}\n \n \n \n {props.MobileMenuHeader}\n {_renderReactFragment(props.menuBar)}\n \n {props.accountLinks ? props.accountLinks.map(link => link) : false}\n {props.siteOptions}\n {props.wishListIconMobile}\n {props.signInLink}\n {props.signOutLink}\n \n \n \n {_renderReactFragment(props.menuBar)}\n \n \n );\n};\n\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\n const {\n AccountInfoDropdownParentContainer,\n AccountInfoDropdownPopoverConentContainer,\n accountInfoDropdownButton,\n signOutLink,\n signInLink,\n accountLinks\n } = props;\n\n if (AccountInfoDropdownParentContainer) {\n if (AccountInfoDropdownPopoverConentContainer) {\n return (\n \n {accountInfoDropdownButton}\n \n {accountLinks ? accountLinks.map(link => link) : false}\n {signOutLink}\n \n \n );\n } else if (signInLink) {\n return {signInLink};\n }\n }\n props.context.telemetry.error('Header content is empty, module wont render.');\n return null;\n}\n\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\n return (\n <>\n {items && items.length > 0\n ? items.map((slot: React.ReactNode, index: number) => {\n return {slot};\n })\n : null}\n \n );\n}\n\nexport default headerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './get-help';\nexport * from './get-order-summary';\nexport * from './get-payment-methods';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CacheType, IActionInput } from '@msdyn365-commerce/core';\n\nimport { IUserReviewData } from './submit-user-review-input-data';\n\n/**\n * SubmitUserReview Input Action.\n */\nexport class SubmitUserReviewInput implements IActionInput {\n /**\n * The Id representing the product to get the ratings for.\n */\n public productId?: string;\n\n /**\n * The ID representing the tenant.\n */\n public tenantId: string;\n\n /**\n * The calling organization's channel id.\n */\n public channelId: string;\n\n /**\n * The locale for which to get the ratings from.\n */\n public locale: string;\n\n /**\n * The user's review data.\n */\n public userReviewData: IUserReviewData;\n\n /**\n * The user's authorization token.\n */\n public authorization: string;\n\n /**\n * The ratings and reviews service endpoint.\n */\n public serviceEndpoint: string;\n\n constructor(\n productId: string | undefined,\n tenantId: string,\n channelId: string,\n locale: string,\n userReviewData: IUserReviewData,\n authorization: string,\n serviceEndpoint: string\n ) {\n this.productId = productId;\n this.tenantId = tenantId;\n this.channelId = channelId;\n this.locale = locale;\n this.userReviewData = userReviewData;\n this.authorization = authorization;\n this.serviceEndpoint = serviceEndpoint;\n }\n\n public getCacheKey = () => 'SubmitUserReview';\n\n public getCacheObjectType = () => 'SubmitUserReview';\n\n public dataCacheType = (): CacheType => 'none';\n}\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICoreContext } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\nimport { brandCodeParser } from '../../../Utilities/brand-code-parser';\r\n\r\nexport const OrderDetailsOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n createdDate,\r\n channelReferenceId,\r\n count\r\n}) => (\r\n \r\n {salesId}\r\n {createdDate}\r\n {channelReferenceId}\r\n {count}\r\n \r\n);\r\n\r\nexport const OrderDetailsSalesLine: React.FC<{line: ISalesLine; context: ICoreContext}> = ({ line: { salesLineProps, salesLine, buyAgainButton, data }, context }) => {\r\n const brandCode = brandCodeParser({ description: data?.product?.Description, appContext: context });\r\n return (\r\n \r\n {brandCode &&
{brandCode}
}\r\n {salesLine}\r\n {buyAgainButton}\r\n
\r\n );\r\n};\r\n\r\nexport const OrderDetailsGroupDelivery: React.FC = ({ deliveryProps, address, trackingInfo }) => (\r\n \r\n {address}\r\n {trackingInfo}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroup: React.FC<{group: IGroup; context:ICoreContext}> = ({ group: { groupProps, delivery, salesLinesProps, salesLines }, context }) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroups: React.FC<{groups: IGroups; context: ICoreContext}> = ({ groups: { groupsProps, groups }, context }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderDetailsOrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n \r\n);\r\n\r\nexport const OrderDetailsPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC = ({\r\n moduleProps,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n groups,\r\n context\r\n}) => {\r\n return (\r\n \r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n
\r\n {groups && }\r\n
\r\n
\r\n
\r\n {groups && }\r\n {payment && }\r\n
\r\n
\r\n {orderSummary && }\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { ArrayExtensions, getFallbackImageUrl, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IComponentProps, IGridSettings, IImageSettings, Image, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { CartLine as CartLineType, SalesLine as SalesLineType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport { MasterProdDisplay } from './master-prod-display-name';\r\n\r\n/**\r\n * ICartlineResourceString: Interface for specifying the\r\n * resource strings that the component needs\r\n */\r\nexport interface ICartlineResourceString {\r\n /** Display string for discount label */\r\n discountStringText: string;\r\n /** String for size key */\r\n sizeString: string;\r\n /** String for color key */\r\n colorString: string;\r\n /** String associated with the configuration product dimension */\r\n configString: string;\r\n /** String for style key */\r\n styleString: string;\r\n /** String for amount key */\r\n amountString?: string;\r\n /** Display string for quantity label */\r\n quantityDisplayString: string;\r\n /** Display string for quantity label */\r\n inputQuantityAriaLabel: string;\r\n /** Aria label for the decrement button in quanitity component */\r\n decrementButtonAriaLabel?: string;\r\n /** Aria label for the increment button in quanitity component */\r\n incrementButtonAriaLabel?: string;\r\n /** original text screenreader */\r\n originalPriceText: string;\r\n /** current text screenreader */\r\n currentPriceText: string;\r\n /** shipping Charges Text */\r\n shippingChargesText: string;\r\n}\r\n\r\ninterface ICartLineData {\r\n cartLine: CartLineType | SalesLineType;\r\n product?: SimpleProduct;\r\n}\r\n\r\nexport type CartLineDisplayMode = 'DEFAULT' | 'COMPACT';\r\n\r\n/**\r\n * ICartLineProps: The props required to render cartLineitem\r\n */\r\nexport interface ICartLineProps extends IComponentProps {\r\n /** The flag to change the quantity component from interactible to static */\r\n disableQuantityInteractivity?: boolean;\r\n /** The primary image url */\r\n primaryImageUrl?: string;\r\n /** The product url */\r\n productUrl?: string;\r\n /** GridSettings for the product image in cartLine */\r\n gridSettings: IGridSettings;\r\n /** ImageSettings for the product image in cartLine */\r\n imageSettings: IImageSettings;\r\n /** Boolean flag to indicate if the item is out of stock */\r\n isOutOfStock?: boolean;\r\n /** Flag to make quantity section editable */\r\n isQuantityEditable?: boolean;\r\n /** Max quantity for line item */\r\n maxQuantity?: number;\r\n /** Current quantity for line item */\r\n currentQuantity?: number;\r\n /** Resource string for the component */\r\n resources: ICartlineResourceString;\r\n /** SalesLine flag */\r\n isSalesLine?: boolean;\r\n /** Error message to show in place of quantity */\r\n errorMessage?: string;\r\n /** Display mode to use */\r\n displayMode?: CartLineDisplayMode;\r\n /** Inventory information label */\r\n inventoryInformationLabel?: string;\r\n /** Inventory information class name */\r\n inventoryLabelClassName?: string;\r\n /** Flag to show/hide shipping charges for line items */\r\n showShippingChargesForLineItems?: boolean;\r\n /** Boolean flag to indicate if cart state status is ready */\r\n isCartStateReady?: boolean;\r\n /** Chanel Delivery Option configuration is from api. */\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n /** The telemetry content */\r\n telemetryContent?: ITelemetryContent;\r\n /** Quantity onChange callback */\r\n quantityOnChange?(cartLine: CartLineType, newQuantity: number): void;\r\n}\r\n\r\ninterface IDimensionStrings {\r\n /** String for size key */\r\n sizeString: string;\r\n /** String for color key */\r\n colorString: string;\r\n /** String associated with the configuration product dimension */\r\n configString: string;\r\n /** String for style key */\r\n styleString: string;\r\n /** String for amount key */\r\n amountString?: string;\r\n}\r\n\r\nconst CartLineItemFunctions = {\r\n renderProductDimensions: (Product: SimpleProduct, DimensionStrings: IDimensionStrings) => {\r\n if (!Product || !Product.Dimensions) {\r\n return [];\r\n }\r\n\r\n return Product.Dimensions.map(productDimension => {\r\n\r\n if (productDimension.DimensionTypeValue === 1) {\r\n return (\r\n
\r\n {DimensionStrings.colorString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 2) {\r\n return (\r\n
\r\n {DimensionStrings.configString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 3) {\r\n return (\r\n
\r\n {DimensionStrings.sizeString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === 4) {\r\n return (\r\n
\r\n {Product.IsGiftCard ? DimensionStrings.amountString : DimensionStrings.styleString}\r\n {productDimension.DimensionValue && productDimension.DimensionValue.Value}\r\n
\r\n );\r\n }\r\n return null;\r\n });\r\n },\r\n renderDiscountLines: (props: ICartLineProps) => {\r\n\r\n if (!props.data.cartLine.DiscountLines || props.data.cartLine.DiscountLines.length === 0) {\r\n return null;\r\n }\r\n return props.data.cartLine.DiscountLines.map((discountLine, index) => {\r\n return (\r\n
\r\n \r\n {discountLine.OfferName ? discountLine.OfferName : ''}:\r\n {` ${props.resources.discountStringText || 'Discount'} `}\r\n \r\n \r\n {discountLine.DiscountCost && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n {` (${discountLine.Percentage !== undefined ? discountLine.Percentage : ''}%)`}\r\n \r\n
\r\n );\r\n });\r\n },\r\n renderInventoryLabel: (props: ICartLineProps) => {\r\n if (!props.inventoryInformationLabel) {\r\n return null;\r\n }\r\n const inventoryCssName = props.inventoryLabelClassName ? `msc-cart-line__product-inventory-label ${props.inventoryLabelClassName}` : 'msc-cart-line__product-inventory-label';\r\n return (\r\n {props.inventoryInformationLabel}\r\n );\r\n },\r\n renderShippingLabel: (props: ICartLineProps) => {\r\n const pickupDeliveryModeCode = props.context.request.channel?.PickupDeliveryModeCode;\r\n const channelDeliveryOptionConfig = props.channelDeliveryOptionConfig;\r\n const cartline = props.data.cartLine;\r\n let hasShippingMethod = false;\r\n if(channelDeliveryOptionConfig !== undefined) {\r\n hasShippingMethod = !!cartline.DeliveryMode && channelDeliveryOptionConfig?.PickupDeliveryModeCodes?.some(deliveryMode => deliveryMode !== cartline.DeliveryMode) ? true : false;\r\n } else {\r\n hasShippingMethod = !!cartline.DeliveryMode && cartline.DeliveryMode !== pickupDeliveryModeCode ? true : false;\r\n }\r\n if (!hasShippingMethod) {\r\n return undefined;\r\n }\r\n\r\n const shippingChargeLines = (cartline.ChargeLines || []).filter(chargeLine => chargeLine.IsShipping);\r\n\r\n if (shippingChargeLines.length === 0) {\r\n return undefined;\r\n }\r\n\r\n const freightFee = shippingChargeLines.reduce((chargeTotal, chargeLine) => {\r\n return chargeTotal + (chargeLine.CalculatedAmount || 0);\r\n }, 0);\r\n\r\n const priceComponent = (\r\n \r\n );\r\n return (\r\n <>\r\n \r\n \r\n {priceComponent}\r\n \r\n \r\n );\r\n },\r\n renderOtherCharges: (props: ICartLineProps) => {\r\n const cartline = props.data.cartLine;\r\n const otherCharges = cartline.ChargeLines?.filter((chargeline) => !chargeline.IsShipping);\r\n\r\n return otherCharges && otherCharges.map((otherCharge, key) => {\r\n return otherCharge && otherCharge.CalculatedAmount ? (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) : '';\r\n }) || undefined;\r\n }\r\n};\r\n\r\n// tslint:disable-next-line:max-func-body-length\r\nconst CartLine: React.FC = (props: ICartLineProps) => {\r\n const { isSalesLine, productUrl, resources } = props;\r\n const { product, cartLine } = props.data;\r\n\r\n const destructDimensionStrings = {\r\n sizeString: resources.sizeString,\r\n colorString: resources.colorString,\r\n styleString: resources.styleString,\r\n configString: resources.configString,\r\n amountString: resources.amountString\r\n };\r\n const fallbackImageUrl = product && getFallbackImageUrl(product.ItemId, props.context.actionContext.requestContext.apiSettings);\r\n const imageSettings = props.imageSettings;\r\n imageSettings.cropFocalRegion = !ObjectExtensions.isNullOrUndefined(imageSettings);\r\n const { inputQuantityAriaLabel } = props.resources;\r\n const productDimensions = product && CartLineItemFunctions.renderProductDimensions(product, destructDimensionStrings);\r\n const renderDisountLines = CartLineItemFunctions.renderDiscountLines(props);\r\n const renderInventoryLabel = CartLineItemFunctions.renderInventoryLabel(props);\r\n const renderShippingLabel = CartLineItemFunctions.renderShippingLabel(props);\r\n const renderOtherCharges = CartLineItemFunctions.renderOtherCharges(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, '', product?.RecordId.toString());\r\n const prodAttribute = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const productName = product?.Name || cartLine.Description;\r\n\r\n const _generateErrorMessage = (): JSX.Element | null => {\r\n if (props.errorMessage) {\r\n return (\r\n
\r\n \r\n {props.errorMessage}\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const _updateQuantity = (event: React.ChangeEvent) => {\r\n if (props.quantityOnChange) {\r\n props.quantityOnChange(props.data.cartLine, parseInt(event.target.value, 10));\r\n }\r\n };\r\n\r\n const _generateMenu = (quantity: number) => {\r\n const nodes = [];\r\n\r\n for (let i = 1; i <= quantity; i++) {\r\n\r\n // tslint:disable-next-line:react-a11y-role-has-required-aria-props\r\n nodes.push();\r\n }\r\n\r\n return nodes;\r\n };\r\n\r\n const _generateSelectMenu = (quantity: number, currentQuantity: number | undefined): JSX.Element => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const _generateQuantityAndPrice = (): JSX.Element[] | null => {\r\n const nodes = [];\r\n\r\n const errorMessage = _generateErrorMessage();\r\n\r\n if (props.isOutOfStock) {\r\n if (errorMessage) {\r\n return [errorMessage];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (props.isQuantityEditable && !props.data.product?.IsGiftCard) {\r\n if (errorMessage) {\r\n nodes.push(errorMessage);\r\n }\r\n nodes.push(_generateSelectMenu(props.maxQuantity || 10, props.currentQuantity));\r\n } else {\r\n nodes.push(\r\n
\r\n \r\n {errorMessage}\r\n {props.data.cartLine.Quantity}\r\n
\r\n );\r\n }\r\n\r\n nodes.push(\r\n
\r\n \r\n
\r\n );\r\n\r\n return nodes;\r\n };\r\n\r\n if (props.displayMode === 'COMPACT') {\r\n const reducedDimensions: string = product?.Dimensions ? product.Dimensions.reduce(\r\n (str, productDimension) => {\r\n if (productDimension.DimensionValue && productDimension.DimensionValue.Value) {\r\n if (str) {\r\n return `${str}, ${productDimension.DimensionValue.Value}`;\r\n }\r\n\r\n return `${productDimension.DimensionValue.Value}`;\r\n }\r\n\r\n return str;\r\n },\r\n '') : '';\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {productName}\r\n {reducedDimensions !== '' ?\r\n
{reducedDimensions}
:\r\n ''\r\n }\r\n {\r\n _generateQuantityAndPrice()\r\n }\r\n
\r\n
\r\n );\r\n }\r\n\r\n let jsxName = {productName};\r\n if (product?.MasterProductId) {\r\n jsxName = ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {jsxName}\r\n {\r\n ArrayExtensions.hasElements(productDimensions) ?\r\n
{productDimensions}
:\r\n ''\r\n }\r\n {renderDisountLines}\r\n {renderInventoryLabel}\r\n {props.showShippingChargesForLineItems &&
\r\n {renderShippingLabel}\r\n
}\r\n {renderOtherCharges}\r\n
\r\n {\r\n _generateQuantityAndPrice()\r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\n// @ts-ignore\r\nexport const CartLineItemComponent: React.FunctionComponent = msdyn365Commerce.createComponent(\r\n 'CartLineItem',\r\n { component: CartLine, ...CartLineItemFunctions }\r\n);","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddOrderTemplateToCartComponent, ILinesAddedToCartDialogResources } from '@msdyn365-commerce/components';\nimport { getUrlSync, ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getFallbackImageUrl, getProductUrlSync, OrderTemplate, OrderTemplateLine } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateActionMessageState } from '../order-template-list';\n\nexport interface ISingleOrderTemplateProps extends ProductList {\n orderTemplateState: IOrderTemplateActionMessageState;\n name?: string;\n orderTemplate: OrderTemplate;\n context: ICoreContext;\n imageSettings?: IImageSettings;\n enableImageProductLink?: boolean;\n removeFromOrderTemplateListText: string;\n addToBagText: string;\n index: number;\n itemKey: string;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n handlers: {\n onRemoveOrderTemplate(id: string): void | undefined;\n onDismiss(): void;\n };\n resources: {\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n telemetryContent?: ITelemetryContent;\n}\n\nexport interface ISingleOrderTemplateViewProps {\n key: string;\n orderTemplateImage: React.ReactNode;\n addToCartButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n orderTemplateStatusMessage?: React.ReactNode;\n orderTemplateName?: React.ReactNode;\n orderTemplateAriaLabel?: string;\n orderTemplateHeaderDivider?: React.ReactNode;\n}\n\nconst _removeItemFromOrderTemplateList = (props: ISingleOrderTemplateProps): void => {\n const { onRemoveOrderTemplate } = props.handlers;\n const { itemKey } = props;\n\n onRemoveOrderTemplate && itemKey && onRemoveOrderTemplate(itemKey);\n};\n\nconst OrderTemplateActions = {\n removeOrderTemplate: _removeItemFromOrderTemplateList\n};\n\n/**\n * Remove order template action.\n * @param input -Single order template props.\n * @returns Set remove order template.\n */\nconst removeOrderTemplateActionHandler = (input: ISingleOrderTemplateProps) => () => {\n OrderTemplateActions.removeOrderTemplate(input);\n};\n\nexport const OrderTemplateRender = (input: ISingleOrderTemplateProps): ISingleOrderTemplateViewProps | null => {\n const {\n Id,\n orderTemplate,\n removeFromOrderTemplateListText,\n orderTemplateState,\n handlers,\n name,\n imageSettings,\n context,\n telemetryContent,\n enableImageProductLink\n } = input;\n\n if (!Id) {\n return null;\n }\n\n const _getOrderTemplatePageUrl = (): string => {\n const url = getUrlSync('ordertemplate', context.actionContext) ?? '';\n const separator = url.includes('?') ? '&' : '?';\n if (Id) {\n return `${url}${separator}id=${Id}`;\n }\n return '';\n };\n\n const { onDismiss } = handlers;\n\n return {\n key: `${Id}-template`,\n orderTemplateImage: _renderOrderTemplateImages(context, orderTemplate.orderTemplateLines, imageSettings, enableImageProductLink),\n orderTemplateAriaLabel: _renderAriaLabel(input),\n orderTemplateName: (\n
\n \n
\n {orderTemplate.totalLines}\n {` `}\n line items\n
\n
\n
\n ),\n addToCartButton: (\n
\n \n
\n ),\n removeButton: (\n \n ),\n orderTemplateStatusMessage: orderTemplateState && orderTemplateState.isOpen && orderTemplateState.userMessage && (\n
\n \n {orderTemplateState.userMessage}\n \n
\n )\n };\n};\n\n/**\n * On image click handler.\n * @param productUrl -Product url value.\n * @returns Assign window location.\n */\nconst onClickHandler = (productUrl: string) => () => {\n window.location.assign(productUrl);\n};\n\nconst _renderOrderTemplateImages = (\n context: ICoreContext,\n orderTemplateLines?: OrderTemplateLine[],\n imageSettings?: IImageSettings,\n enableImageProductLink?: boolean\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n if (orderTemplateLines) {\n const count = orderTemplateLines.length < 4 ? orderTemplateLines.length : 4;\n\n return (\n
\n {orderTemplateLines?.slice(0, count).map(line => {\n const productUrl = line.fullProduct\n ? getProductUrlSync(line.fullProduct.ProductDetails, context.actionContext, undefined)\n : '';\n\n return (\n \n );\n })}\n
\n );\n }\n return
;\n};\n\nconst _renderAriaLabel = (props: ISingleOrderTemplateProps): string => {\n const { name } = props;\n return `${name}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateListStatus } from '../order-template-list';\n\nexport interface IOrderTemplateListStatusMessageProps {\n className?: string;\n errorType: orderTemplateListStatus;\n text?: string;\n}\n\nexport const OrderTemplateListStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

{text}

;\n case 'FAILED':\n return

{text}

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

{text}

;\n }\n};\n","import { ICoreContext } from '@msdyn365-commerce/core-internal';\r\nimport { wineClubShippingLabels } from '../../settings/app.settings';\r\n\r\nexport type WineClubDataRef = {\r\n variantPreference: string | null;\r\n forMyself: boolean | null;\r\n deliveryType: DeliveryType;\r\n clubId: number | null;\r\n tosAgree: boolean;\r\n pickupLocationId?: string;\r\n};\r\n\r\nexport type DeliveryType = 'STANDARD' | 'PREMIUM' | 'PICKUP';\r\nexport type DeletableKeys = 'variantPreference' | 'forMyself' | 'deliveryType' | 'clubId' | 'tosAgree' | 'pickupLocationId';\r\n\r\n/**\r\n * singleton class responsible for the users selections\r\n */\r\nexport class WineClubDataStore {\r\n private static instance: WineClubDataStore;\r\n\r\n private readonly LOCAL_STORAGE_LOCATION: string = 'WINE-CLUB-SELECTIONS';\r\n\r\n private wineClubData!: WineClubDataRef;\r\n\r\n private changeEvents: ((newData: WineClubDataRef) => void)[] = [];\r\n\r\n /**\r\n * get the current pages data\r\n * @returns singleton data of data store\r\n */\r\n public static getInstance(onChange?: (newData: WineClubDataRef) => void): WineClubDataStore {\r\n if (!WineClubDataStore.instance) {\r\n WineClubDataStore.instance = new WineClubDataStore();\r\n }\r\n\r\n if (onChange) {\r\n WineClubDataStore.instance.changeEvents.push(onChange);\r\n }\r\n\r\n return WineClubDataStore.instance;\r\n }\r\n\r\n // tslint:disable-next-line: no-any\r\n public getDeliveryMapFromConfig(coreContext: ICoreContext<{ [x: string]: any }>): {\r\n standard: string; premium: string; pickup: string;\r\n } {\r\n const config = coreContext.app.config.wineClubShippingLabels || {};\r\n return {\r\n standard: config.standard,\r\n pickup: config.pickup,\r\n premium: config.premium\r\n };\r\n }\r\n\r\n public edit(newData: WineClubDataRef): void {\r\n this.wineClubData = newData;\r\n this.changeEvents.forEach(event => event(newData));\r\n this._save();\r\n }\r\n\r\n public get(): WineClubDataRef {\r\n return { ...this.wineClubData };\r\n }\r\n\r\n public deleteKeys(...keys: DeletableKeys[]): void {\r\n keys.forEach(key => delete this.wineClubData[key]);\r\n this.changeEvents.forEach(event => event(this.wineClubData));\r\n this._save();\r\n }\r\n\r\n public reset(): WineClubDataStore {\r\n this.wineClubData = {\r\n deliveryType: 'STANDARD',\r\n tosAgree: false,\r\n forMyself: null,\r\n clubId: null,\r\n variantPreference: null\r\n };\r\n this.changeEvents.forEach(event => event(this.wineClubData));\r\n this._save();\r\n return this;\r\n }\r\n\r\n public isInResetState(): boolean {\r\n const {\r\n deliveryType,\r\n tosAgree,\r\n forMyself,\r\n clubId,\r\n variantPreference\r\n } = this.wineClubData;\r\n\r\n return deliveryType === 'STANDARD' &&\r\n tosAgree === false &&\r\n forMyself === null &&\r\n clubId === null &&\r\n variantPreference === null;\r\n }\r\n\r\n private constructor() {\r\n // tslint:disable-next-line: no-typeof-undefined\r\n if (typeof window !== 'undefined') {\r\n const previousWineData = window && window.localStorage.getItem(this.LOCAL_STORAGE_LOCATION);\r\n\r\n if (!previousWineData) {\r\n this.reset();\r\n return;\r\n }\r\n\r\n this.wineClubData = JSON.parse(previousWineData);\r\n }\r\n }\r\n\r\n private _save(): void {\r\n // tslint:disable-next-line: no-typeof-undefined\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem(this.LOCAL_STORAGE_LOCATION, JSON.stringify(this.wineClubData));\r\n }\r\n }\r\n}","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { TenderLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport * as React from 'react';\n\nimport { IPaymentMethods, IPaymentMethodsInput } from '../../../common';\n\nexport const getOrderDetailsPaymentMethods = ({\n priceContext,\n tenderLines,\n tenderIdOperationIdMap,\n resource: {\n paymentMethodsTitle,\n creditCardEndingLabel,\n giftCardEndingLabel,\n amountCoveredLabel,\n loyaltyCardUsedLabel,\n cashUsedLabel,\n customerAccountUsedLabel\n }\n}: IPaymentMethodsInput): IPaymentMethods => {\n const OPERATIONS = {\n PayCard: 201,\n PayGiftCertificate: 214,\n PayLoyalty: 207,\n PayCash: 200,\n PayCustomerAccount: 202\n };\n\n const getLastFourDigit = (digits = '') => (digits ? digits.substr(-4) : '');\n\n const getCard = (tenderLine: TenderLine, showAmount: boolean = false) => {\n const cardLastFourDigit = getLastFourDigit(tenderLine.MaskedCardNumber);\n\n // @ts-expect-error\n const isValidCardNumber = cardLastFourDigit && !isNaN(cardLastFourDigit);\n const amount = (tenderLine.AuthorizedAmount || 0) > 0 ? tenderLine.AuthorizedAmount : tenderLine.Amount;\n const showAmountCovered = !!(showAmount && amount && amount > 0);\n\n return (\n
\n

\n {`${tenderLine.CardTypeId} ${isValidCardNumber ? `${creditCardEndingLabel} ${cardLastFourDigit}` : ''}`}\n

\n {showAmountCovered && (\n

\n {amountCoveredLabel}\n \n

\n )}\n
\n );\n };\n\n const getCustomerAccountPayment = (tenderLine: TenderLine) => (\n
\n

\n {customerAccountUsedLabel}\n {` `}\n {tenderLine.CustomerId}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n const getGiftCertificate = (tenderLine: TenderLine) => (\n
\n

\n {giftCardEndingLabel}\n {` `}\n {getLastFourDigit(tenderLine.GiftCardId)}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n const getLoyalty = (tenderLine: TenderLine) => (\n
\n

\n {loyaltyCardUsedLabel}\n {` `}\n {tenderLine.LoyaltyCardId}\n

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n const getCash = (tenderLine: TenderLine) => (\n
\n

{cashUsedLabel}

\n

\n {amountCoveredLabel}\n \n

\n
\n );\n\n return {\n paymentMethodsProps: { className: 'ms-order-details__payment-methods' },\n title:
{paymentMethodsTitle}
,\n methods: tenderLines.reduce((lines: React.ReactNode[], tenderLine) => {\n if (!tenderLine.TenderTypeId) {\n return lines;\n }\n switch (tenderIdOperationIdMap[tenderLine.TenderTypeId]) {\n case OPERATIONS.PayCard:\n lines.push(getCard(tenderLine, tenderLines.length > 1));\n break;\n case OPERATIONS.PayGiftCertificate:\n lines.push(getGiftCertificate(tenderLine));\n break;\n case OPERATIONS.PayLoyalty:\n lines.push(getLoyalty(tenderLine));\n break;\n case OPERATIONS.PayCash:\n lines.push(getCash(tenderLine));\n break;\n case OPERATIONS.PayCustomerAccount:\n lines.push(getCustomerAccountPayment(tenderLine));\n break;\n default:\n\n // Do nothing\n }\n return lines;\n }, [])\n };\n};\n","//==============================================================================\r\n//==============================================================================\r\nimport { IComponentProps } from '@msdyn365-commerce/core';\r\nimport { DiscountLine, IDictionary, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { brandCodeParser } from '../brand-code-parser';\r\n\r\nimport { subscribe } from './analytics-dispatcher';\r\nimport * as GA from './ga-typings';\r\n\r\n//==============================================================================\r\n// CONSTANTS\r\n//==============================================================================\r\nconst SUBSCRIBER_NAME = 'GOOGLE_ANALYTICS';\r\nconst CURRENCY_CODE = 'USD';\r\n\r\nconst UNKNOWN_VALUE = 'unknown';\r\n\r\n//==============================================================================\r\n// INTERFACES\r\n//==============================================================================\r\n\r\n// Data passed to events that deal with a single product\r\ninterface ISingleProductProps extends IComponentProps {\r\n product: SimpleProduct;\r\n quantity: number;\r\n price: number;\r\n attributes: IDictionary | undefined;\r\n subscription: boolean;\r\n frequency?: string;\r\n discounts?: DiscountLine[];\r\n category?: string;\r\n}\r\n\r\n// Data passed to events that deal with multiple products\r\ninterface IMultiProductProps extends IComponentProps {\r\n confirmationId: string | undefined;\r\n\r\n // Transactions\r\n id: string; // The transaction ID\r\n revenue: number; // Specifies the total revenue or grand total associated with the transaction\r\n tax: number; // The total tax associated with the transaction\r\n shipping: number; // The shipping cost associated with the transaction\r\n affiliation?: string; // The store or affiliation from which this transaction occurred\r\n coupon?: string; // The transaction coupon redeemed with the transaction\r\n\r\n // Impressions\r\n list?: string;\r\n category?: string;\r\n\r\n // Checkout\r\n step?: number;\r\n\r\n // Common\r\n products: ISingleProductProps[];\r\n}\r\n\r\ninterface IExtendedProduct extends GA.IEECProduct {\r\n subscribe?: boolean; // Flag denoting that the item is a subscription rather than a one-time purchase\r\n frequency?: string; // If an item is part of a subscription, include the frequency of the subscription\r\n}\r\n\r\n// tslint:disable-next-line: no-any\r\ndeclare const dataLayer: any[] | undefined;\r\n\r\n//==============================================================================\r\n// Common Helpers\r\n//==============================================================================\r\nfunction formatProductData(data: ISingleProductProps): IExtendedProduct {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = {\r\n id: data.product.ItemId || UNKNOWN_VALUE,\r\n name: data.product.Name || UNKNOWN_VALUE,\r\n brand: brandCodeParser({ description: data.product.Description, appContext: data.context }) || UNKNOWN_VALUE,\r\n variant: (data.attributes && data.attributes['Wine Bottle Size']) || UNKNOWN_VALUE, // Size for wine\r\n price: (data.price !== undefined) ? data.price : data.product.Price,\r\n quantity: data.quantity,\r\n };\r\n\r\n // Add optional entries\r\n data.category && (product.category = data.category);\r\n data.discounts && (product.coupon = data.discounts.map(discount => discount.OfferName).join(','));\r\n\r\n if (data.subscription) {\r\n product.subscribe = true;\r\n data.frequency && (product.frequency = data.frequency);\r\n }\r\n\r\n return product;\r\n}\r\n\r\n//==============================================================================\r\n// EVENT HANDLERS\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n// Add to Cart\r\n//----------------------------------------------------------\r\nfunction addToCart(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IAddToCartEvent = {\r\n event: 'addToCart',\r\n ecommerce: {\r\n currencyCode: CURRENCY_CODE,\r\n add: {\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Remove from Cart\r\n//----------------------------------------------------------\r\nfunction removeFromCart(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IRemoveFromCartEvent = {\r\n event: 'removeFromCart',\r\n ecommerce: {\r\n remove: {\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Product Detail View (PDP visited)\r\n//----------------------------------------------------------\r\nfunction productDetailView(data: ISingleProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const product: IExtendedProduct = formatProductData(data);\r\n\r\n // Quantity isn't valid for this event. Rather than sending \"undefined\", remove it completely.\r\n delete product.quantity;\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IProductDetailViewEvent = {\r\n event: 'detail',\r\n ecommerce: {\r\n detail: {\r\n // actionField: {\r\n // list: '' // We have category at the product level. This would probably always be something like \"PDP\".\r\n // },\r\n products: [product]\r\n },\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Purchase Complete\r\n//----------------------------------------------------------\r\nfunction purchase(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const products: IExtendedProduct[] = data.products.map(formatProductData);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IPurchaseEvent = {\r\n event: 'purchase',\r\n ecommerce: {\r\n purchase: {\r\n actionField: {\r\n id: data.id,\r\n revenue: data.revenue,\r\n tax: data.tax,\r\n shipping: data.shipping,\r\n },\r\n orderSummary: {\r\n subTotal: data.revenue - (data.tax + data.shipping),\r\n shipping: data.shipping,\r\n tax: data.tax,\r\n transactionId: data.confirmationId,\r\n confirmationId: data.id\r\n },\r\n products: products,\r\n },\r\n }\r\n };\r\n\r\n // Only add optional fields if they are present in the source (instead of sending \"undefined\")\r\n data.coupon && (event.ecommerce.purchase.actionField.coupon = data.coupon);\r\n data.affiliation && (event.ecommerce.purchase.actionField.affiliation = data.affiliation);\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Product Impressions\r\n//----------------------------------------------------------\r\nfunction impression(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const impressions: GA.IEECImpression[] = data.products.map((product, idx) => {\r\n\r\n return {\r\n id: product.product.ItemId || UNKNOWN_VALUE,\r\n name: product.product.Name || UNKNOWN_VALUE,\r\n brand: brandCodeParser({ description: product.product.Description, appContext: data.context }) || UNKNOWN_VALUE,\r\n variant: (product.attributes && product.attributes['Wine Bottle Size']) || UNKNOWN_VALUE,\r\n position: idx,\r\n price: product.product.Price,\r\n\r\n list: data.list, // The list or collection to which the product belongs (e.g. Search Results)\r\n category: data.category || UNKNOWN_VALUE // The category to which the product belongs (e.g. Apparel). Use / as a delimiter to specify up to 5-levels of hierarchy (e.g. Apparel/Men/T-Shirts)\r\n };\r\n });\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.IImpressionEvent = {\r\n event: 'impression',\r\n ecommerce: {\r\n currencyCode: CURRENCY_CODE,\r\n impressions: impressions\r\n }\r\n };\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Purchase Complete\r\n//----------------------------------------------------------\r\nfunction checkout(data: IMultiProductProps): void {\r\n\r\n // Convert internal event data to GA event data\r\n const products: IExtendedProduct[] = data.products.map(formatProductData);\r\n\r\n // Create an event rather than directly pushing to the data layer to enforce typing\r\n const event: GA.ICheckoutStepEvent = {\r\n event: 'checkout',\r\n ecommerce: {\r\n checkout: {\r\n actionField: {\r\n step: data.step,\r\n },\r\n products: products,\r\n },\r\n }\r\n };\r\n\r\n // Not entirely standard, but include it anyway\r\n if (data.coupon) {\r\n event.ecommerce.checkout.actionField.coupon = data.coupon;\r\n }\r\n\r\n if (typeof dataLayer !== 'undefined') {\r\n dataLayer.push(event);\r\n }\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\nexport function init(): void {\r\n subscribe(SUBSCRIBER_NAME, 'addToCart', addToCart);\r\n subscribe(SUBSCRIBER_NAME, 'removeFromCart', removeFromCart);\r\n subscribe(SUBSCRIBER_NAME, 'productDetailView', productDetailView);\r\n subscribe(SUBSCRIBER_NAME, 'purchase', purchase);\r\n subscribe(SUBSCRIBER_NAME, 'impression', impression);\r\n subscribe(SUBSCRIBER_NAME, 'checkout', checkout);\r\n}\r\n","//==============================================================================\r\n// Analytics Event Dispatcher\r\n//\r\n// This module receives events and forwards them to the appropriate handlers\r\n// Subscriptions are managed using a subscriber ID to aid in unsubscribing\r\n//==============================================================================\r\n\r\n// This totally destroys the plugin pattern, but it's difficult to use that pattern\r\n// in a module system, particularly with server-side rendering-friendly webpack chunks.\r\nimport { init as GA_init } from './google-analytics';\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n// tslint:disable-next-line: no-any\r\ntype IEventHandler = (eventData: any) => void;\r\n\r\n// List of subscribers to a single event\r\ninterface IEventSubscribers {\r\n [subscriber: string]: IEventHandler;\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\n\r\n// List of subscriptions, organized by event name and then subscriber name\r\nconst subscriptions: { [eventName: string]: IEventSubscribers } = {};\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\n// tslint:disable-next-line: no-any\r\nexport function publish(eventName: string, eventData: any): void {\r\n if (subscriptions[eventName]) {\r\n // Get the list of subscribers for this event\r\n const subscribers = Object.keys(subscriptions[eventName]);\r\n\r\n // Notify each subscriber\r\n subscribers.forEach(subscriber => subscriptions[eventName][subscriber](eventData));\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\nexport function subscribe(subscriber: string, eventName: string, handler: IEventHandler): void {\r\n // If it's a new event, create an entry\r\n if (!subscriptions[eventName]) {\r\n subscriptions[eventName] = {};\r\n }\r\n\r\n // Ensure this subscriber isn't already subscribed to this event\r\n if (subscriptions[eventName][subscriber]) {\r\n throw new Error(`Duplicate subscription request for ${subscriber}: ${eventName}`);\r\n }\r\n\r\n // Add the subscription\r\n subscriptions[eventName][subscriber] = handler;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Unsubscribe to a single event\r\n//----------------------------------------------------------\r\nexport function unsubscribe(subscriber: string, eventName: string): void {\r\n if (subscriptions[eventName] && subscriptions[eventName][subscriber]) {\r\n delete subscriptions[eventName][subscriber];\r\n }\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Perform all init functions here (ugh!)\r\n//----------------------------------------------------------\r\nGA_init();","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Address as AddressRetail } from '@msdyn365-commerce/retail-proxy';\nimport * as React from 'react';\n\nexport type addressType = 'store' | 'ship';\n\nexport interface IShippingAddressProps {\n moduleName: string;\n address: AddressRetail;\n deliveryType: string;\n showCompleteAddress?: boolean;\n resource: {\n shipToLabel: string;\n storeLabel: string;\n phoneLabel: string;\n phoneAriaLabel: string;\n };\n}\n\nconst Address: React.SFC = ({\n moduleName,\n address,\n deliveryType,\n showCompleteAddress,\n resource: { shipToLabel, storeLabel, phoneLabel }\n}) => (\n
\n
{deliveryType !== 'ship' ? storeLabel : shipToLabel}
\n {address.Name && {address.Name}}\n {showCompleteAddress ? (\n <>\n {address.Street && (\n \n {address.Street}\n {` `}\n \n )}\n {address.City && {address.City}}\n {address.State && {`, ${address.State}`}}\n {address.County && {`, ${address.County}`}}\n {address.ZipCode && {` ${address.ZipCode}`}}\n {address.ThreeLetterISORegionName && (\n {` ${address.ThreeLetterISORegionName}`}\n )}\n {address.Phone && (\n \n {phoneLabel}\n \n )}\n \n ) : (\n address.FullAddress && {address.FullAddress}\n )}\n
\n);\n\nexport default React.memo(Address);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport OrderConfirmation from './order-confirmation';\nimport OrderConfirmationView from './order-confirmation.view';\n\nexport * from './components';\nexport * from './order-confirmation';\nexport * from './order-confirmation.data';\nexport * from './order-confirmation.props.autogenerated';\nexport * from './order-confirmation.view';\n\nexport { OrderConfirmation, OrderConfirmationView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport WriteReview from './write-review';\nimport WriteReviewView from './write-review.view';\n\nexport * from './write-review';\nexport * from './write-review.data';\nexport { IWriteReviewConfig, IWriteReviewProps, IWriteReviewResources } from './write-review.props.autogenerated';\nexport * from './write-review.view';\n\nexport { WriteReview, WriteReviewView };\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { OrderBy } from '../actions/inputs/get-product-reviews-input';\n\nexport interface IRnrKeyValuePair {\n key: string;\n value: string;\n}\n\nexport interface IRnrOrderByKeyValuePair {\n key: OrderBy;\n value: string;\n}\n\nexport function setFocusOnElement(id: string): void {\n const element = document.getElementById(id);\n if (element) {\n element.focus();\n }\n}\n\nexport const TOGGLE_REVIEW_MODAL_BUTTON_ID: string = 'reviewproductid';\nexport const TOGGLE_EDIT_MODAL_BUTTON_ID: string = 'ms-write-review__edit';\nexport const TOGGLE_EDIT_MODAL_BUTTON_CARD_ID: string = 'ms-reviews-list__edit';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Review } from '@msdyn365-commerce/commerce-entities';\nimport { RatingComponent } from '@msdyn365-commerce/components';\nimport { IAny, ICoreContext, IGeneric, isOboRequest } from '@msdyn365-commerce/core';\nimport { Button, format, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { TOGGLE_EDIT_MODAL_BUTTON_CARD_ID } from '../../../common/rnrInterface';\n\nexport interface IReviewCardResources {\n wasReviewHelpfulText: string;\n yesButtonText: string;\n noButtonText: string;\n editReviewCardText: string;\n reportedText: string;\n reportConcernText: string;\n reviewRatingNarratorText: string;\n}\n\nexport interface IReviewCardProps {\n review: Review;\n resources: IReviewCardResources;\n context: ICoreContext>;\n isUserReview?: boolean;\n parentId: string;\n parentType: string;\n reportedReviews: string[];\n returnRef: React.RefObject | undefined;\n reportedReviewId: string;\n votedReviews: { reviewId: string; approved: boolean }[];\n toggleWriteReviewModal?(): void;\n toggleReportReviewModal(reviewId: string): void;\n updateReviewHelpfulness(reviewId: string, isHelpful: boolean): void;\n}\n\nexport interface IReviewCardViewProps {\n cardProps: INodeProps;\n name: React.ReactElement;\n rating: React.ReactElement;\n date: React.ReactElement;\n reviewTitle: React.ReactElement;\n reviewText: React.ReactElement;\n ratingHelpfulLabel?: React.ReactElement;\n like?: React.ReactElement;\n dislike?: React.ReactElement;\n edit: React.ReactNode;\n report: React.ReactNode;\n responseName: React.ReactNode;\n responseDate: React.ReactNode;\n responseText: React.ReactNode;\n cardBodyProps: INodeProps;\n responseProps: INodeProps;\n reviewProps: INodeProps;\n controlsProps: INodeProps;\n headerProps: INodeProps;\n}\n\n/**\n * Review card component.\n */\n\nexport const ReviewCard = (props: IReviewCardProps): IReviewCardViewProps => {\n const className = props.isUserReview ? 'ms-reviews-list__card ms-reviews-list__user-review' : 'ms-reviews-list__card';\n return {\n cardProps: { className, key: props.review.reviewId },\n name:

{props.review.userName}

,\n rating: rating(props),\n date:

{renderDate(props, props.review.submittedDateTime)}

,\n reviewTitle:

{props.review.title}

,\n reviewText:

{props.review.reviewText}

,\n ratingHelpfulLabel: props.isUserReview ? (\n undefined\n ) : (\n

{props.resources.wasReviewHelpfulText}

\n ),\n like: props.isUserReview ? undefined : voteHelpfulButton(props, true),\n dislike: props.isUserReview ? undefined : voteHelpfulButton(props, false),\n edit: editButton(props),\n report: reportToggle(props),\n responseName: props.review.userResponse ? (\n

{props.review.userResponse.responderName}

\n ) : (\n undefined\n ),\n responseText: props.review.userResponse ? (\n

{props.review.userResponse.responseText}

\n ) : (\n undefined\n ),\n responseDate: props.review.userResponse ? (\n

{renderDate(props, props.review.userResponse.submittedDateTime)}

\n ) : (\n undefined\n ),\n cardBodyProps: { className: 'ms-reviews-list__card-body' },\n responseProps: { className: 'ms-reviews-list__response' },\n reviewProps: { className: 'ms-reviews-list__review' },\n controlsProps: { className: 'ms-reviews-list__card-controls' },\n headerProps: { className: 'ms-reviews-list__card-header' }\n };\n};\n\nconst rating = (props: IReviewCardProps) => {\n return (\n \n );\n};\n\nconst isVotedFor = (props: IReviewCardProps, isHelpful: boolean): boolean => {\n for (let i = 0; i < props.votedReviews.length; i++) {\n if (props.votedReviews[i].reviewId === props.review.reviewId) {\n return props.votedReviews[i].approved === isHelpful;\n }\n }\n\n return false;\n};\n\nconst voteHelpfulButton = (props: IReviewCardProps, isHelpful: boolean) => {\n const isVoted = isVotedFor(props, isHelpful);\n const isDisabled = props.isUserReview || isVoted || isOboRequest(props.context.request) ? 'disabled' : '';\n let className = isHelpful ? 'ms-reviews-list__like' : 'ms-reviews-list__dislike';\n className = `${className} ${isDisabled}`;\n const label = isHelpful ? props.resources.yesButtonText : props.resources.noButtonText;\n let voteCount = (isHelpful ? props.review.helpfulPositive : props.review.helpfulNegative) || 0;\n voteCount = isVoted ? voteCount + 1 : voteCount;\n const title = `(${voteCount})`;\n const user = props.context.request.user;\n const onClickMethod = () => {\n props.updateReviewHelpfulness(props.review.reviewId!, isHelpful);\n };\n const onClick = isDisabled ? undefined : onClickMethod;\n\n if (user.isAuthenticated) {\n return (\n \n );\n }\n return (\n \n );\n};\n\nconst editButton = (props: IReviewCardProps) => {\n if (props.isUserReview && !isOboRequest(props.context.request)) {\n return (\n \n );\n }\n\n return undefined;\n};\n\nconst renderDate = (props: IReviewCardProps, date?: Date): string | Date => {\n if (!date) {\n return '';\n }\n\n try {\n return new Intl.DateTimeFormat(props.context.request.locale, { month: 'long', day: 'numeric', year: 'numeric' }).format(\n new Date(date)\n );\n } catch {\n return date;\n }\n};\n\n/**\n * On Click Handler.\n * @param props -Review card props.\n * @returns Report review modal.\n */\nconst onClick = (props: IReviewCardProps) => () => {\n props.toggleReportReviewModal(props.review.reviewId!);\n};\n\nconst reportToggle = (props: IReviewCardProps) => {\n const user = props.context.request.user;\n if (props.isUserReview || isOboRequest(props.context.request)) {\n return undefined;\n } else if (!user.isAuthenticated) {\n return (\n \n );\n }\n\n if (props.reportedReviews.includes(props.review.reviewId!)) {\n return

{props.resources.reportedText}

;\n }\n\n const ref = props.review.reviewId === props.reportedReviewId ? props.returnRef : undefined;\n\n return (\n \n );\n};\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\r\nimport { EnumExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, Popover } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nexport interface IOrderHistoryFilterResources {\r\n orderHistoryFilterYourOrderHistory: string;\r\n orderHistoryFilterOrganizationWide: string;\r\n}\r\n\r\nexport interface IOrderHistoryFilterData {\r\n customerInformation: Customer;\r\n}\r\n\r\nexport interface IOrderHistoryFilterProps extends IComponentProps {\r\n className: string;\r\n\r\n resources: IOrderHistoryFilterResources;\r\n\r\n currentState: OrderHistoryFilterState;\r\n onFilterStateChanged(state: OrderHistoryFilterState): void;\r\n}\r\n\r\nexport enum OrderHistoryFilterState {\r\n CurrentUser,\r\n OrganizationWide\r\n}\r\n\r\nconst getOrderHistoryFilterStateResources = (filterState: OrderHistoryFilterState, resources: IOrderHistoryFilterResources): string => {\r\n switch (filterState) {\r\n case OrderHistoryFilterState.CurrentUser:\r\n return resources.orderHistoryFilterYourOrderHistory;\r\n case OrderHistoryFilterState.OrganizationWide:\r\n return resources.orderHistoryFilterOrganizationWide;\r\n default:\r\n throw new Error('Failed to retrieve resource description for unknown order history filter state.');\r\n }\r\n};\r\n\r\n/**\r\n * On Click functionality.\r\n * @param onStateClick -Filter state function.\r\n * @param filterState -Order history filter state.\r\n * @returns On state click functionality.\r\n */\r\nconst onClickHandler = (onStateClick: (filterState: OrderHistoryFilterState) => void, filterState: OrderHistoryFilterState) => () => {\r\n onStateClick(filterState);\r\n};\r\n\r\nconst renderFilterStateItem = (\r\n filterState: OrderHistoryFilterState,\r\n resources: IOrderHistoryFilterResources,\r\n className: string,\r\n onStateClick: (filterState: OrderHistoryFilterState) => void\r\n): React.ReactNode => {\r\n const stateStringRepresentation = OrderHistoryFilterState[filterState];\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * On Toggle Popover functionality.\r\n * @param setPopoverState -Set popover state function.\r\n * @param isPopoverState -Boolean value.\r\n * @returns Set toggle popover state functionality.\r\n */\r\nconst togglePopoverHandler = (setPopoverState: React.Dispatch>, isPopoverState: boolean) => () => {\r\n setPopoverState(!isPopoverState);\r\n};\r\n\r\nconst OrderHistoryFilter: React.FC = (props: IOrderHistoryFilterProps) => {\r\n // Current version of filter doesn't include functionality for non b2b users.\r\n if (!props.data.customerInformation.IsB2bAdmin && !props.data.customerInformation.IsB2b) {\r\n return
;\r\n }\r\n\r\n const popoverRef = React.createRef();\r\n const [popoverState, setPopoverState] = React.useState(false);\r\n\r\n const [filterState, setFilterState] = React.useState(props.currentState);\r\n\r\n const onFilterStateClick = (clickedState: OrderHistoryFilterState) => {\r\n setFilterState(clickedState);\r\n setPopoverState(false);\r\n props.onFilterStateChanged(clickedState);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {getOrderHistoryFilterStateResources(filterState, props.resources)}\r\n \r\n \r\n {EnumExtensions.getEnumValues(OrderHistoryFilterState).map(state => {\r\n return renderFilterStateItem(state, props.resources, props.className, onFilterStateClick);\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport const OrderHistoryFilterComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\r\n // @ts-expect-error\r\n IOrderHistoryFilterProps\r\n>('OrderHistoryFilterComponent', { component: OrderHistoryFilter });\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 {\r\n CacheType,\r\n createObservableDataAction,\r\n IAction,\r\n IActionContext,\r\n IActionInput,\r\n ICommerceApiSettings\r\n} from '@msdyn365-commerce/core';\r\nimport { IQueryResultSettings, SalesLine } from '@msdyn365-commerce/retail-proxy';\r\nimport { getOrderShipmentsHistoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\r\nimport { OrderShipments, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport {\r\n buildCacheKey,\r\n getOrganizationWideOrderHistory,\r\n GetOrganizationWideOrderHistoryInput,\r\n getSimpleProducts,\r\n ProductInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { OrderHistoryFilterState } from '../components/smwe-order-history-filter';\r\n\r\n/**\r\n * IPaging Interface.\r\n */\r\nexport interface IPaging {\r\n top: number;\r\n skip: number;\r\n}\r\n\r\n/**\r\n * IOrderHistory Interface.\r\n */\r\nexport interface IOrderHistory {\r\n salesOrders: OrderShipments[];\r\n products: SimpleProduct[];\r\n nextPageToken?: string;\r\n}\r\n\r\n/**\r\n * IOrderHistoryResult Interface.\r\n */\r\nexport interface IOrderHistoryResult {\r\n salesOrders: OrderShipments[];\r\n nextPageToken?: string;\r\n}\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param paging - Paging interface.\r\n * @param nextPageToken - Next Page Link.\r\n * @returns Collection of OrderShipments.\r\n */\r\nconst getOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (ctx: IActionContext): Promise => {\r\n const orderHistoryResults = getOrderShipmentsHistoryAsync(\r\n {\r\n callerContext: ctx,\r\n bypassCache: 'get',\r\n queryResultSettings: {\r\n Paging: {\r\n Top: paging.top,\r\n NextPageToken: nextPageToken\r\n }\r\n }\r\n },\r\n '',\r\n nextPageToken\r\n );\r\n\r\n const orderHistoryResponse = await orderHistoryResults;\r\n const nextLinkUrl = orderHistoryResults.metadata?.others?.nextLink;\r\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\r\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\r\n return {\r\n salesOrders: orderHistoryResponse,\r\n nextPageToken: nextPage\r\n };\r\n};\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param paging - Paging props.\r\n * @param nextPageToken - Next Page Link.\r\n * @returns Collections of order shipments.\r\n */\r\nconst getOrganizationWideOrderShipmentHistory = (paging: IPaging, nextPageToken?: string) => async (\r\n context: IActionContext\r\n): Promise => {\r\n const queryResultSetting: IQueryResultSettings = {\r\n Paging: {\r\n Top: paging.top,\r\n Skip: paging.skip,\r\n NextPageToken: nextPageToken\r\n }\r\n };\r\n\r\n const orgOrderHistoryResults = getOrganizationWideOrderHistory(new GetOrganizationWideOrderHistoryInput(queryResultSetting), context);\r\n\r\n const orgOrderHistoryResponse = await orgOrderHistoryResults;\r\n const nextLinkUrl = orgOrderHistoryResults.metadata?.others?.nextLink;\r\n const nextPageLink = nextLinkUrl !== undefined ? new URL(nextLinkUrl).searchParams.get('nextPageToken') : undefined;\r\n const nextPage = nextPageLink !== null ? nextPageLink : undefined;\r\n return {\r\n salesOrders: orgOrderHistoryResponse,\r\n nextPageToken: nextPage\r\n };\r\n};\r\n\r\n/**\r\n * Calls the Retail API and returns the products.\r\n * @param productIds - Collection of products id.\r\n * @param channelId - ChannelId number.\r\n * @returns Collections of simple products.\r\n */\r\nconst getProducts = (productIds: number[] = [], channelId?: number) => (ctx: IActionContext): Promise => {\r\n const productInputs = productIds.map(\r\n productId => new ProductInput(productId, ctx.requestContext.apiSettings, channelId, undefined, ctx.requestContext)\r\n );\r\n return getSimpleProducts(productInputs, ctx);\r\n};\r\n\r\n/**\r\n * Action input.\r\n */\r\nexport class GetSalesOrderHistoryWithHydrationsInput implements IActionInput {\r\n public paging: IPaging;\r\n\r\n public filterState: OrderHistoryFilterState;\r\n\r\n public nextPageToken?: string;\r\n\r\n private readonly apiSettings: ICommerceApiSettings;\r\n\r\n constructor(paging: IPaging, apiSettings: ICommerceApiSettings, filterState?: OrderHistoryFilterState, nextPageLink?: string) {\r\n this.apiSettings = apiSettings;\r\n this.paging = paging;\r\n this.filterState = filterState || OrderHistoryFilterState.CurrentUser;\r\n this.nextPageToken = nextPageLink;\r\n }\r\n\r\n public getCacheKey = () => buildCacheKey('OrderHistory', this.apiSettings);\r\n\r\n /**\r\n * GetCacheObjectType.\r\n * @returns String.\r\n */\r\n public getCacheObjectType = () => 'OrderHistory';\r\n\r\n public dataCacheType = (): CacheType => 'none';\r\n}\r\n\r\n/**\r\n * Splits product ids from the given orders into lists by their channel id.\r\n * @param {OrderShipments[]} salesOrders Orders with the products.\r\n * @param {number} currentChannelId Channel id to use by default if no channel id is provided for a product.\r\n * @returns {{ [x: number]: number[] }} A dictionary where the key is a channel id,\r\n * and the value is a list of product ids in which all items correspond to the key channel id.\r\n * @remark The list of product ids is always non-empty.\r\n */\r\nconst splitProductsByChannelId = (salesOrders: OrderShipments[], currentChannelId: number): { [x: number]: number[] } => {\r\n const productIdsByChannel: { [x: number]: number[] } = {};\r\n\r\n salesOrders.forEach(salesOrder =>\r\n salesOrder?.SalesLines?.forEach(line => {\r\n const orderProductId = line.ProductId || 0;\r\n const orderChannelId = salesOrder.ChannelId || currentChannelId;\r\n if (!productIdsByChannel[orderChannelId]) {\r\n productIdsByChannel[orderChannelId] = [];\r\n }\r\n productIdsByChannel[orderChannelId].push(orderProductId);\r\n })\r\n );\r\n\r\n return productIdsByChannel;\r\n};\r\n\r\n/**\r\n * Get sales order with hydrations action.\r\n * @param input - GetOrderHistory hydration input.\r\n * @param context - Channel context.\r\n * @returns - Order History props.\r\n */\r\nexport async function getSalesOrderHistoryWithHydrationsAction(\r\n input: GetSalesOrderHistoryWithHydrationsInput,\r\n context: IActionContext\r\n): Promise {\r\n if (!context) {\r\n throw new Error('getSalesOrderWithHydrationsAction - Action context cannot be null/undefined');\r\n }\r\n const channelId = context.requestContext.apiSettings.channelId;\r\n let salesOrders: OrderShipments[] = [];\r\n let nextPage: string | undefined = '';\r\n let orderHistoryResponse: IOrderHistoryResult;\r\n\r\n switch (input.filterState) {\r\n case OrderHistoryFilterState.CurrentUser:\r\n orderHistoryResponse = await getOrderShipmentHistory(input.paging, input.nextPageToken)(context);\r\n salesOrders = orderHistoryResponse.salesOrders;\r\n nextPage = orderHistoryResponse.nextPageToken;\r\n break;\r\n case OrderHistoryFilterState.OrganizationWide:\r\n orderHistoryResponse = await getOrganizationWideOrderShipmentHistory(input.paging, input.nextPageToken)(context);\r\n salesOrders = orderHistoryResponse.salesOrders;\r\n nextPage = orderHistoryResponse.nextPageToken;\r\n break;\r\n default:\r\n throw new Error('getSalesOrderWithHydrationsAction - Invalid OrderHistoryFilterState passed');\r\n }\r\n\r\n salesOrders.map(salesOrder => {\r\n return (salesOrder.SalesLines = salesOrder.SalesLines?.filter((saleline: SalesLine) => !saleline.IsVoided));\r\n });\r\n\r\n if (!salesOrders || salesOrders.length === 0) {\r\n return {\r\n salesOrders: [],\r\n products: [],\r\n nextPageToken: nextPage\r\n };\r\n }\r\n\r\n // Splits the data by channel ids so that the products from different channels can be processed separately.\r\n const productIdsByChannelId = splitProductsByChannelId(salesOrders, channelId);\r\n\r\n // Promise that retrieves information about the products for each channel id.\r\n // Note, the list of product ids should not be empty\r\n // as it will generate an empty request which will force the promise to fail.\r\n const getProductsPromise = Object.entries(productIdsByChannelId).map(([entryChannelId, entryProductIdsList]) => {\r\n const getProductsCall = getProducts(entryProductIdsList, Number(entryChannelId));\r\n return getProductsCall(context);\r\n });\r\n\r\n return Promise.all(getProductsPromise)\r\n .then(\r\n (productList): IOrderHistory => {\r\n const products = productList.reduce((memo, list) => {\r\n return [...memo, ...list];\r\n }, []);\r\n return {\r\n salesOrders,\r\n products,\r\n nextPageToken: nextPage\r\n };\r\n }\r\n )\r\n .catch(error => {\r\n context.telemetry.exception(error);\r\n context.telemetry.debug('Failed to get products');\r\n throw error;\r\n });\r\n}\r\n\r\nexport const getSalesOrderHistoryWithHydrationsActionDataAction = createObservableDataAction({\r\n id: '@msdyn365-commerce-modules/order-management/order-history/get-order-shipment-history',\r\n action: >getSalesOrderHistoryWithHydrationsAction\r\n});\r\n\r\nexport default getSalesOrderHistoryWithHydrationsActionDataAction;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\r\nimport {\r\n ChannelDeliveryOptionConfiguration,\r\n ChannelIdentity,\r\n format,\r\n OrderShipments,\r\n OrgUnitLocation,\r\n SimpleProduct\r\n} from '@msdyn365-commerce/retail-proxy';\r\nimport { ObjectExtensions } 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 TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { Observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { ExpandButtonState, SalesLineState } from '@msdyn365-commerce-modules/order-management';\r\nimport { getGroups, IGroups } from '@msdyn365-commerce-modules/order-management';\r\nimport { getOrderInformation, getOrderInformationInput, IOrderInformation } from '../../smwe-order-details/components/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management';\r\nimport { getSalesLines, getSalesLinesInput, IGetSalesLinesInput } from '@msdyn365-commerce-modules/order-management';\r\nimport { ISmweOrderHistoryData } from '../smwe-order-history.data';\r\nimport { ISmweOrderHistoryProps } from '../smwe-order-history.props.autogenerated';\r\n\r\nexport interface ISalesOrderProps extends ISmweOrderHistoryProps {\r\n salesOrder: OrderShipments;\r\n products: SimpleProduct[];\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n showChannelInfo?: boolean;\r\n showChannelName?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n salesLinesLimit?: number;\r\n}\r\n\r\nexport interface ISalesOrder {\r\n salesOrderProps: INodeProps;\r\n orderInfomation: IOrderInformation;\r\n groups?: IGroups;\r\n orderDetailsLink: React.ReactNode;\r\n expandProductsButton?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Retrieves the url for order details page.\r\n * @param actionContext - Core action context.\r\n * @param salesOrder - Order information.\r\n * @returns Url to order details.\r\n */\r\nexport const getOrderDetailsPageUrl = (actionContext: IActionContext, salesOrder: OrderShipments): string => {\r\n const orderDetailsUrl = getUrlSync('orderDetails', actionContext) || '';\r\n const separator = orderDetailsUrl.includes('?') ? '&' : '?';\r\n if (salesOrder.SalesId) {\r\n // Redirect with sales order sales id\r\n return `${orderDetailsUrl}${separator}salesId=${salesOrder.SalesId}`;\r\n }\r\n\r\n // Redirect with sales order transaction id\r\n return `${orderDetailsUrl}${separator}transactionId=${salesOrder.TransactionId!}`;\r\n};\r\n\r\n/**\r\n * Updates product states to show all products.\r\n * @param expandButtonState - Expand button state.\r\n * @param productStates - Product states.\r\n * @returns Callback method.\r\n */\r\nconst onExpandProductsCallback = (expandButtonState: ExpandButtonState, productStates: SalesLineState[]) => () => {\r\n for (const productState of productStates) {\r\n productState.isHidden = false;\r\n }\r\n expandButtonState.extraProductsCount = 0;\r\n};\r\n\r\nexport const getSalesOrder = (input: ISalesOrderProps): ISalesOrder => {\r\n const {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n products,\r\n salesOrder,\r\n showChannelInfo,\r\n showChannelName,\r\n channelIdentities,\r\n orgUnitLocations,\r\n telemetryContent,\r\n resources: { freePriceText, detailsAriaLabel, detailsLabel, orderItemLabel, orderItemsLabel },\r\n context: { actionContext },\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig\r\n } = input;\r\n\r\n const moduleName = 'ms-order-history';\r\n\r\n const priceContext = {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n freePriceText\r\n };\r\n\r\n const salesOrderProps = { className: 'ms-order-history__sales-order', key: salesOrder.SalesId || salesOrder.TransactionId };\r\n\r\n const orderInfomationInput = getOrderInformationInput(\r\n input,\r\n moduleName,\r\n salesOrder,\r\n priceContext,\r\n channelIdentities,\r\n orgUnitLocations,\r\n undefined,\r\n undefined,\r\n showChannelInfo,\r\n showChannelName\r\n );\r\n const orderInfomation = getOrderInformation(orderInfomationInput);\r\n\r\n const salesLinesInput =\r\n products &&\r\n getSalesLinesInput(\r\n input,\r\n moduleName,\r\n salesOrder,\r\n products,\r\n priceContext,\r\n undefined,\r\n undefined,\r\n undefined,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig\r\n );\r\n\r\n let salesLines: ISalesLine[] | undefined;\r\n let expandProductsButton: React.ReactNode;\r\n if (salesLinesInput) {\r\n const getSalesLinesInputProps: IGetSalesLinesInput = { ...salesLinesInput, imageOnly: true };\r\n if (!ObjectExtensions.isNullOrUndefined(input.salesLinesLimit)) {\r\n const extraProductsCount = getSalesLinesInputProps.salesLines.length - input.salesLinesLimit;\r\n getSalesLinesInputProps.salesLineStates = getSalesLinesInputProps.salesLines.map(\r\n (salesLine, index) => new SalesLineState(`${salesLine.LineId ?? ''}-${index}`, index >= input.salesLinesLimit!)\r\n );\r\n if (extraProductsCount > 0) {\r\n const expandButtonState = new ExpandButtonState(extraProductsCount);\r\n expandProductsButton = (\r\n <>\r\n \r\n {() => {\r\n const text = format(\r\n input.resources.orderHistoryExpandProductsButtonText,\r\n expandButtonState.extraProductsCount\r\n );\r\n return (\r\n expandButtonState.extraProductsCount > 0 && (\r\n \r\n {text}\r\n \r\n )\r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n }\r\n salesLines = getSalesLines(getSalesLinesInputProps);\r\n }\r\n\r\n expandProductsButton = (\r\n <>\r\n {expandProductsButton}\r\n
\r\n \r\n );\r\n\r\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.OrderDetails);\r\n const orderDetailsAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n const groups =\r\n salesLines &&\r\n getGroups({\r\n moduleName,\r\n salesLines,\r\n resources: { orderItemLabel, orderItemsLabel },\r\n retailMultiplePickUpOptionEnabled\r\n });\r\n\r\n const orderDetailsLink = (\r\n \r\n {detailsLabel}\r\n \r\n );\r\n return {\r\n salesOrderProps,\r\n orderInfomation,\r\n groups,\r\n orderDetailsLink,\r\n expandProductsButton\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, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\n/**\r\n * Resources which are used in order history header.\r\n */\r\nexport interface IOrderHistoryTableHeaderResources {\r\n orderHistoryOrderNumberText: string;\r\n orderHistoryCreatedDateText: string;\r\n orderHistoryItemsText: string;\r\n orderHistoryTotalText: string;\r\n orderHistoryOriginText: string;\r\n}\r\n\r\n/**\r\n * Configuration of the component.\r\n */\r\nexport interface IOrderHistoryTableHeaderProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableHeaderResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Renders desktop view cells.\r\n * @param props - Configuration of the module.\r\n * @returns List of cells for the header.\r\n */\r\nconst getDesktopHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\r\n const { resources } = props;\r\n\r\n const columnWithNumberClassName = `${props.className}__row__column-with-number`;\r\n\r\n return (\r\n <>\r\n {resources.orderHistoryOrderNumberText}\r\n {resources.orderHistoryCreatedDateText}\r\n {resources.orderHistoryItemsText}\r\n {resources.orderHistoryTotalText}\r\n {props.shouldShowChannelInfo && {resources.orderHistoryOriginText}}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders mobile view cells.\r\n * @param props - Configuration of the module.\r\n * @returns List of cells for the header.\r\n */\r\nconst getMobileHeaderCells = (props: IOrderHistoryTableHeaderProps) => {\r\n const { resources } = props;\r\n return (\r\n <>\r\n {resources.orderHistoryOrderNumberText}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Order history table header component.\r\n * @param props - Configuration of the component.\r\n * @returns React node with the header.\r\n */\r\nexport const OrderHistoryTableHeaderComponent: React.FC = (props: IOrderHistoryTableHeaderProps) => {\r\n const rowClassName = `${props.className}__row`;\r\n\r\n let headerCells: JSX.Element;\r\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n if (isMobileView) {\r\n headerCells = getMobileHeaderCells(props);\r\n } else {\r\n headerCells = getDesktopHeaderCells(props);\r\n }\r\n\r\n return (\r\n \r\n {headerCells}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, { IComponentProps, ICoreContext, IDateFormatOptions } from '@msdyn365-commerce/core';\r\nimport { ChannelIdentity, format, OrderShipments, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport React from 'react';\r\n\r\nimport { getOrderChannelAddress, getOrderChannelName } from '@msdyn365-commerce-modules/order-management';\r\nimport { countItems } from '@msdyn365-commerce-modules/order-management';\r\nimport { getOrderDetailsPageUrl } from '../../get-sales-order';\r\n\r\n/**\r\n * Data required to render each order history row.\r\n */\r\nexport interface IOrderHistoryTableRowData {\r\n salesOrder: OrderShipments;\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n}\r\n\r\n/**\r\n * Resources for order history table rows.\r\n */\r\nexport interface IOrderHistoryTableRowResources {\r\n orderHistoryViewDetailsButtonText: string;\r\n orderHistoryViewDetailsButtonAriaLabel: string;\r\n orderHistoryCreatedDateMobileDescriptionText: string;\r\n orderHistoryOrderNumberIsNotAvailable: string;\r\n\r\n onlineStoreChannelNameText: string;\r\n posChannelNameText: string;\r\n}\r\n\r\n/**\r\n * Configuration for the order history rows.\r\n */\r\nexport interface IOrderHistoryTableRowProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableRowResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Formats amount.\r\n * @param context - Core context.\r\n * @param amount - Amount to display.\r\n * @param currencyCode - Currency for the amount.\r\n * @returns String value.\r\n */\r\nconst formatAmount = (context: ICoreContext, amount: number | undefined, currencyCode: string | undefined) => {\r\n if (amount === undefined) {\r\n return '';\r\n }\r\n return context.cultureFormatter.formatCurrency(amount, currencyCode);\r\n};\r\n\r\n/**\r\n * Formats date.\r\n * @param context - Core context.\r\n * @param date - Date to display.\r\n * @returns String value.\r\n */\r\nconst formatDate = (context: ICoreContext, date: Date | undefined) => {\r\n if (date === undefined) {\r\n return '';\r\n }\r\n\r\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\r\n return context.cultureFormatter.formatDate(date, dateOptions);\r\n};\r\n\r\n/**\r\n * Renders rows for desktop view.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows for desktop view.\r\n */\r\nexport const OrderHistoryDesktopTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const {\r\n data: { salesOrder }\r\n } = props;\r\n\r\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\r\n\r\n const defaultCount = 0;\r\n const itemsCount = ArrayExtensions.hasElements(salesOrder.SalesLines) ? countItems(salesOrder.SalesLines) : defaultCount;\r\n const channelName = getOrderChannelName(salesOrder, props.data.channelIdentities);\r\n const channelAddress = getOrderChannelAddress(salesOrder, props.data.orgUnitLocations);\r\n\r\n const columnWithNumberClassName = `${props.className}__column-with-number`;\r\n\r\n let orderNumberCellText = props.resources.orderHistoryOrderNumberIsNotAvailable;\r\n if (!StringExtensions.isNullOrWhitespace(salesOrder.SalesId)) {\r\n orderNumberCellText = salesOrder.SalesId!;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {orderNumberCellText}\r\n \r\n {formatDate(props.context, salesOrder.CreatedDateTime)}\r\n {itemsCount}\r\n {formatAmount(props.context, salesOrder.TotalAmount, salesOrder.CurrencyCode)}\r\n {props.shouldShowChannelInfo && (\r\n \r\n {channelName &&\r\n (channelAddress\r\n ? `${props.resources.posChannelNameText} ${channelName}`\r\n : props.resources.onlineStoreChannelNameText)}\r\n \r\n )}\r\n \r\n \r\n {props.resources.orderHistoryViewDetailsButtonText}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders rows for mobile view.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows for mobile view.\r\n */\r\nexport const OrderHistoryMobileTableRowCellComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const {\r\n data: { salesOrder }\r\n } = props;\r\n\r\n const linkToOrderHistoryDetails = getOrderDetailsPageUrl(props.context.actionContext, props.data.salesOrder);\r\n\r\n const onClickViewDetails = React.useCallback(() => {\r\n if (MsDyn365.isBrowser) {\r\n window.location.href = linkToOrderHistoryDetails;\r\n }\r\n }, [linkToOrderHistoryDetails]);\r\n\r\n const orderNumber = StringExtensions.isNullOrWhitespace(salesOrder.SalesId)\r\n ? props.resources.orderHistoryOrderNumberIsNotAvailable\r\n : salesOrder.SalesId!;\r\n\r\n const dateText = format(\r\n props.resources.orderHistoryCreatedDateMobileDescriptionText,\r\n formatDate(props.context, salesOrder.CreatedDateTime)\r\n );\r\n\r\n const cellClassName = `${props.className}__mobile-cell`;\r\n\r\n return (\r\n <>\r\n \r\n \r\n {orderNumber}\r\n {dateText}\r\n
\r\n \r\n \r\n \r\n {props.resources.orderHistoryViewDetailsButtonText}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Renders order history rows.\r\n * @param props - Configuration for the rows.\r\n * @returns A react node with a list of order history rows.\r\n */\r\nexport const OrderHistoryTableRowComponent: React.FC = (props: IOrderHistoryTableRowProps) => {\r\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n\r\n return (\r\n \r\n {isMobileView ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ChannelIdentity, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport React from 'react';\r\n\r\nimport { IOrderHistory } from '../../actions/get-order-shipment-history';\r\nimport { IOrderHistoryTableHeaderResources, OrderHistoryTableHeaderComponent } from './components/smwe-order-history-table-header-component';\r\nimport { IOrderHistoryTableRowResources, OrderHistoryTableRowComponent } from './components/smwe-order-history-table-row-component';\r\n\r\n/**\r\n * Interface with the data required for order history.\r\n */\r\nexport interface IOrderHistoryTableData {\r\n orderHistory: IOrderHistory;\r\n channelIdentities?: ChannelIdentity[];\r\n orgUnitLocations?: OrgUnitLocation[];\r\n}\r\n\r\n/**\r\n * Resources needed to render order history table.\r\n */\r\nexport interface IOrderHistoryTableResources extends IOrderHistoryTableHeaderResources, IOrderHistoryTableRowResources {}\r\n\r\n/**\r\n * Configuration of order history table.\r\n */\r\nexport interface IOrderHistoryTableProps extends IComponentProps {\r\n context: ICoreContext;\r\n className: string;\r\n\r\n resources: IOrderHistoryTableResources;\r\n\r\n shouldShowChannelInfo: boolean;\r\n}\r\n\r\n/**\r\n * Renders order history table.\r\n * @param props - Configuration for order history table.\r\n * @returns React node with the table.\r\n */\r\nexport const OrderHistoryTableComponent: React.FC = (props: IOrderHistoryTableProps) => {\r\n const rowClassName = `${props.className}__row`;\r\n const headerClassName = `${props.className}__header`;\r\n\r\n return (\r\n \r\n \r\n {props.data.orderHistory.salesOrders.map((salesOrder, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IModuleProps,\r\n INodeProps,\r\n IPayLoad,\r\n ITelemetryContent,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport { observable } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { Label } from '@msdyn365-commerce-modules/order-management';\r\nimport {\r\n getSalesOrderHistoryWithHydrationsAction,\r\n GetSalesOrderHistoryWithHydrationsInput,\r\n IOrderHistory,\r\n IPaging\r\n} from './actions/get-order-shipment-history';\r\nimport { getSalesOrder, ISalesOrder } from './components/get-sales-order';\r\nimport { OrderHistoryFilterComponent, OrderHistoryFilterState } from './components/smwe-order-history-filter';\r\nimport { OrderHistoryTableComponent } from './components/table-view';\r\nimport { ISmweOrderHistoryData } from './smwe-order-history.data';\r\nimport { ISmweOrderHistoryProps } from './smwe-order-history.props.autogenerated';\r\n\r\n/**\r\n * Specifies different layouts for order history.\r\n */\r\nexport enum OrderHistoryViewMode {\r\n listView = 0,\r\n detailedView = 1\r\n}\r\n\r\nexport interface IHeader {\r\n headerProps: INodeProps;\r\n heading: React.ReactNode;\r\n orderCountLabel?: React.ReactNode;\r\n extraActions?: React.ReactNode;\r\n}\r\n\r\nexport interface IList {\r\n listProps: INodeProps;\r\n salesOrders: ISalesOrder[];\r\n}\r\n\r\nexport interface IOrderHistoryViewState {\r\n isDataReady: boolean;\r\n hasError: boolean;\r\n isLoading: boolean;\r\n isShowMoreButton: boolean;\r\n errorCode?: string;\r\n errorMessage?: string;\r\n}\r\n\r\nexport interface IOrderHistoryViewProps extends ISmweOrderHistoryProps {\r\n orderHistory: IOrderHistory;\r\n orderHistoryProps: IModuleProps;\r\n alert?: React.ReactNode;\r\n loading?: React.ReactNode;\r\n emptyMessage?: React.ReactNode;\r\n header: IHeader;\r\n backToShoppingLink?: React.ReactNode;\r\n list?: IList;\r\n table?: React.ReactNode;\r\n moreButton?: React.ReactNode;\r\n viewState: IOrderHistoryViewState;\r\n}\r\n\r\n/**\r\n *\r\n * OrderHistory component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass OrderHistory extends React.Component> {\r\n @observable private orderHistory!: IOrderHistory;\r\n\r\n @observable private viewState!: IOrderHistoryViewState;\r\n\r\n @observable private _viewMode: OrderHistoryViewMode;\r\n\r\n private filterState: OrderHistoryFilterState;\r\n\r\n private pageSize!: number;\r\n\r\n private paging!: IPaging;\r\n\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n private readonly payLoad: IPayLoad;\r\n\r\n constructor(props: ISmweOrderHistoryProps) {\r\n super(props);\r\n this.initState();\r\n this._viewMode = OrderHistoryViewMode.detailedView;\r\n this.filterState = OrderHistoryFilterState.CurrentUser;\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n this._updateOrderHistory();\r\n } else {\r\n this.viewState.isDataReady = true;\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ISmweOrderHistoryProps, nextState: IOrderHistoryViewState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { heading, className, showChannelInfo, showChannelName, shouldShowCount },\r\n resources: {\r\n genericErrorMessage,\r\n noOrderHistoryLable,\r\n moreButtonText,\r\n backToShopping,\r\n orderCountLabel,\r\n ordersCountLabel,\r\n loadingLabel\r\n }\r\n } = this.props;\r\n const { salesOrders, products } = this.orderHistory;\r\n const { isDataReady, hasError, isShowMoreButton, isLoading } = this.viewState;\r\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\r\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\r\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\r\n\r\n let viewProps: IOrderHistoryViewProps = {\r\n ...this.props,\r\n orderHistory: this.orderHistory,\r\n viewState: this.viewState,\r\n orderHistoryProps: {\r\n moduleProps: this.props,\r\n className: classname('ms-order-history', className)\r\n },\r\n header: {\r\n headerProps: { className: 'ms-order-history__header' },\r\n heading: heading && heading.text && (\r\n \r\n ),\r\n extraActions: this.renderExtraActions()\r\n },\r\n backToShoppingLink: backToShoppingUrl && (\r\n \r\n )\r\n };\r\n\r\n if (hasError) {\r\n viewProps = {\r\n ...viewProps,\r\n alert:
\n );\n};\n\n/**\n * Renders rows for mobile view.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows for mobile view.\n */\nexport const OrderDetailsMobileTableRowCellComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const {\n data: { product }\n } = props;\n const salesLine = product.salesLine;\n const productName = product.simpleProduct?.Name ?? salesLine.Description;\n\n return (\n <>\n {props.isSelectionModeEnabled ? (\n \n \n \n ) : (\n undefined\n )}\n \n \n \n \n
\n {productName}\n \n {format(props.resources.orderDetailsQuantityMobileText, salesLine.Quantity)}\n \n
\n \n \n \n \n \n );\n};\n\n/**\n * Renders order details rows.\n * @param props - Configuration for the rows.\n * @returns A react node with a list of order details rows.\n */\nexport const OrderDetailsTableRowComponent: React.FC = (props: IOrderDetailsTableRowProps) => {\n const isMobileView = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\n const className = classnames(\n props.className,\n props.data.product.isProductAvailable ? `${props.className}__available-product` : `${props.className}__unavailable-product`,\n props.className,\n props.data.product.isSelected ? `${props.className}__selected` : `${props.className}__unselected`\n );\n\n return (\n \n {isMobileView ? (\n \n ) : (\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 { OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ChannelDeliveryOptionConfiguration, ProductDeliveryOptions, SalesOrder } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React from 'react';\n\nimport { IOrderDetailsTableHeaderResources, OrderDetailsTableHeaderComponent } from './components/order-details-table-header-component';\nimport { IOrderDetailsTableRowResources, OrderDetailsTableRowComponent } from './components/order-details-table-row-component';\n\n/**\n * Interface with the data required for order details.\n */\nexport interface IOrderDetailsTableData {\n order: SalesOrder;\n products: OrderDetailsProduct[];\n deliveryOptions: ProductDeliveryOptions[];\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\n}\n\n/**\n * Resources needed to render order details table.\n */\nexport interface IOrderDetailsTableResources extends IOrderDetailsTableHeaderResources, IOrderDetailsTableRowResources {}\n\n/**\n * Configuration of order details table.\n */\nexport interface IOrderDetailsTableProps extends IComponentProps {\n context: ICoreContext;\n className: string;\n\n imageSettings?: IImageSettings;\n isCashAndCarryTransaction: boolean;\n isReorderingEnabled?: boolean;\n isRetailMultiplePickUpOptionEnabled?: boolean;\n isSelectionModeEnabled: boolean;\n\n resources: IOrderDetailsTableResources;\n isChannelMultipleCatalogsFeatureEnabled?: boolean;\n}\n\n/**\n * On select all function.\n * @param props - Invoice table props.\n * @returns On change.\n */\nconst onSelectAllHandler = (props: IOrderDetailsTableProps) => (isSelected: boolean) => {\n for (const product of props.data.products) {\n product.isSelected = isSelected;\n }\n};\n\n/**\n * Renders order details table.\n * @param props - Configuration for order details table.\n * @returns React node with the table.\n */\nexport const OrderDetailsTableComponent: React.FC = (props: IOrderDetailsTableProps) => {\n const rowClassName = `${props.className}__row`;\n const headerClassName = `${props.className}__header`;\n const products = props.data.products;\n const availableProducts = products.filter(product => product.isProductAvailable);\n\n return (\n \n product.isSelected)}\n onSelectAll={onSelectAllHandler(props)}\n isChannelMultipleCatalogsFeatureEnabled={props.isChannelMultipleCatalogsFeatureEnabled}\n />\n {products.map((product, index) => {\n return (\n \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 { RatingsSummary } from '@msdyn365-commerce/commerce-entities';\nimport { format, INodeProps, Progress } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nexport interface IHistogramItemsProps {\n ratingsSummary: RatingsSummary;\n resources: IHistogramItemsResources;\n locale: string;\n onClick(stars: number): void;\n}\n\nexport interface IHistogramItemsResources {\n barItemAriaLabel: string;\n}\n\nexport interface IHistogramItemViewProps {\n starLabel: React.ReactElement;\n bar: React.ReactElement;\n percentage: React.ReactElement;\n buttonProps: INodeProps;\n}\n\n/**\n * CartLineItems component.\n */\n\nexport const HistogramItems = (props: IHistogramItemsProps): IHistogramItemViewProps[] => {\n const { ratingsSummary } = props;\n const totalRatingsCount: number = ratingsSummary.totalRatingsCount || 0;\n if (totalRatingsCount === 0) {\n return [];\n }\n return [\n renderItem(props, 5, ratingsSummary.star5Count, totalRatingsCount),\n renderItem(props, 4, ratingsSummary.star4Count, totalRatingsCount),\n renderItem(props, 3, ratingsSummary.star3Count, totalRatingsCount),\n renderItem(props, 2, ratingsSummary.star2Count, totalRatingsCount),\n renderItem(props, 1, ratingsSummary.star1Count, totalRatingsCount)\n ];\n};\n\nconst renderItem = (props: IHistogramItemsProps, stars: number, count?: number, totalCount?: number): IHistogramItemViewProps => {\n count = count || 0;\n totalCount = totalCount || 0;\n const percentage = totalCount === 0 ? 0 : count / totalCount;\n const formattedPercent = new Intl.NumberFormat(props.locale, { style: 'percent' }).format(percentage);\n const ariaLabel = format(props.resources.barItemAriaLabel, stars, formattedPercent);\n\n return {\n starLabel: (\n \n ),\n percentage: (\n \n ),\n bar: ,\n buttonProps: {\n tag: 'button',\n className: 'ms-ratings-histogram__item',\n onClick: () => {\n props.onClick(stars);\n }\n }\n };\n};\n\nexport const AverageRatingNumber: React.FC<{ summary: RatingsSummary }> = (props: { summary: RatingsSummary }) => {\n return (\n

\n {props.summary.averageRating}\n {` `}/ 5\n

\n );\n};\n\nexport const TotalReviews: React.FC<{ summary: RatingsSummary }> = (props: { summary: RatingsSummary }) => {\n return

{props.summary.totalRatingsCount}

;\n};\n","//==============================================================================\r\n//==============================================================================\r\nimport { get, groupBy, uniq } from 'lodash';\r\n\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { searchAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { CartLine, ProductProperty, ProductSearchCriteria } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { IContext } from '@msdyn365-commerce/retail-proxy/dist/interfaces';\r\n\r\n//==============================================================================\r\n//==============================================================================\r\nexport interface IAttributeList {\r\n [attributeName: string]: string;\r\n}\r\n\r\nexport interface IAttributeBank {\r\n [productId: number]: IAttributeList;\r\n}\r\n\r\n//==============================================================================\r\n//==============================================================================\r\nlet attributeCache: IAttributeBank = {};\r\n\r\n//----------------------------------------------------------\r\n// Given a set of product IDs, return product attributes for\r\n// all of them.\r\n//\r\n// Returns an IAttributeBank, grouped by product ID then\r\n// attribute name.\r\n//----------------------------------------------------------\r\nasync function fetchProductAttributes(productIDs: number[], context: IActionContext): Promise {\r\n\r\n // Fetch product information from retail server\r\n const ctx: IContext = { callerContext: context };\r\n const productSearchCriteria: ProductSearchCriteria = {\r\n Ids: productIDs,\r\n Context: {\r\n ChannelId: context.requestContext.apiSettings.channelId,\r\n CatalogId: context.requestContext.apiSettings.catalogId\r\n },\r\n };\r\n\r\n const result = await searchAsync(ctx, productSearchCriteria);\r\n\r\n // Transform results into a useful format\r\n return result.reduce(\r\n (output, product) => {\r\n const translatedProperties: ProductProperty[] = get(product, 'ProductProperties[0].TranslatedProperties', []);\r\n\r\n // Convert from an array of records to a hash of values\r\n output[product.RecordId] = translatedProperties.reduce(\r\n (attributes, property) => {\r\n if (property.FriendlyName && property.ValueString) {\r\n attributes[property.FriendlyName] = property.ValueString;\r\n }\r\n\r\n return attributes;\r\n },\r\n {} as IAttributeList\r\n );\r\n\r\n return output;\r\n },\r\n {} as IAttributeBank\r\n );\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Given a set of product IDs, return product attributes for\r\n// all of them.\r\n//\r\n// Uses a local cache at the product ID level to prevent\r\n// duplicate requests.\r\n//\r\n// Returns an IAttributeBank, grouped by product ID then\r\n// attribute name.\r\n//----------------------------------------------------------\r\nexport async function getAttributesByProductID(productIDs: number[], context: IActionContext): Promise {\r\n\r\n // Split IDs into cached and uncached groups\r\n const groupedIDs = groupBy(productIDs, id => (attributeCache[id] ? 'cached' : 'uncached'));\r\n\r\n // Fetch products not already in the cache\r\n const uncachedAttributes = groupedIDs.uncached ? await fetchProductAttributes(groupedIDs.uncached, context) : {};\r\n\r\n // Merge new products into the cache\r\n attributeCache = {...attributeCache, ...uncachedAttributes};\r\n\r\n // Add cached entries to the result\r\n const result = uncachedAttributes; // This does nothing except change the name. Referring to the combined result as \"uncached\" is unclear.\r\n groupedIDs.cached && groupedIDs.cached.forEach(id => {\r\n result[id] = attributeCache[id];\r\n });\r\n\r\n return result;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Given an array of cart lines, return product attributes for\r\n// all products in the cart\r\n//----------------------------------------------------------\r\nexport function getAttributesForCart(cartLines: CartLine[], context: IActionContext): Promise {\r\n\r\n // Create a list of product IDs from the cart lines, removing any duplicates\r\n const productIDs = uniq(cartLines.map(line => line.ProductId!));\r\n\r\n // Fetch the attributes for the requested products\r\n return getAttributesByProductID(productIDs, context);\r\n}","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewModalViewProps } from '../../common/review-modal';\nimport { IReportReviewModalViewProps } from './components/report-review-modal';\nimport { IReviewCardViewProps } from './components/review-card';\nimport { IReviewsListState, IReviewsListViewProps } from './reviews-list';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n heading,\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 {heading}\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 \n \n \n {props.reviewTitle}\n {props.date}\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\nexport * from './get-product-reviews';\nexport * from './get-user-review';\nexport * from './inputs/get-product-reviews-input';\nexport * from './inputs/get-user-review-input';\nexport * from './inputs/report-review-concern-input';\nexport * from './inputs/submit-helpfulness-vote-input';\nexport * from './inputs/submit-user-review-input';\nexport * from './inputs/submit-user-review-input-data';\nexport * from './ratings-reviews-state-data-action';\nexport * from './report-review-concern';\nexport * from './submit-helpfulness-vote';\nexport * from './submit-user-review';\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewProps } from './components';\nimport { IOrderTemplateViewProps } from './order-template';\n\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\n const {\n OrderTemplateLines,\n status,\n statusMessage,\n heading,\n ProductsTable,\n ProductsTableHeading,\n orderLines,\n ProductsTableRow,\n productsStatusMessage,\n OrderTemplateActions,\n orderActions,\n pagination,\n itemAddedToCartDialog,\n bulkOrderLineActions,\n isDetailsDisplayed,\n detailedProductView,\n toggleDetailsDisplayed,\n resources: { cancelBtnLabel, productNumberText, productText, productUnitPriceText, productUOMText, productQuantityText }\n } = props;\n\n const toggleDetails = React.useCallback(() => {\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\n }, [toggleDetailsDisplayed]);\n\n return (\n \n {heading}\n {OrderTemplateActions && (\n \n {orderActions?.addTemplateToBag}\n {orderActions?.renameTemplate}\n {orderActions?.removeTemplate}\n {!isDetailsDisplayed && productsStatusMessage}\n \n )}\n {bulkOrderLineActions}\n {status !== 'SUCCESS' && statusMessage}\n {ProductsTable && orderLines && orderLines.length > 0 && (\n \n \n {ProductsTableHeading}\n \n {orderLines &&\n orderLines.map(product => {\n return _renderItem(product, productQuantityText, ProductsTableRow);\n })}\n \n \n {pagination}\n \n )}\n {itemAddedToCartDialog}\n \n Product Details\n \n
    \n
  • {detailedProductView?.productImage}
  • \n
  • \n {productText}:\n {detailedProductView?.productInfo}\n
  • \n
  • \n {productNumberText}:\n {detailedProductView?.productNumber}\n
  • \n
  • \n {productUnitPriceText}:\n {` `}\n {detailedProductView?.productPrice}\n
  • \n
  • \n {productUOMText}:\n {` `}\n {detailedProductView?.productUnitOfMeasure}\n
  • \n
  • \n {productQuantityText}:\n {detailedProductView?.productQuantityView}\n
  • \n {productsStatusMessage &&
  • {productsStatusMessage}
  • }\n
\n
\n \n \n \n \n
\n );\n};\n\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\n if (!product) {\n return null;\n }\n\n const {\n key,\n selectLine,\n productImage,\n productPrice,\n productNumber,\n addToBagButton,\n removeButton,\n productInfo,\n productUnitOfMeasure,\n productQuantityView,\n productQuantity,\n popUp,\n isMobile\n } = product;\n\n return (\n \n {selectLine}\n {productImage}\n {isMobile ? (\n \n
{productNumber}
\n
\n {quantityLabel}:{` `}\n {productQuantity}\n
\n \n ) : (\n {productNumber}\n )}\n {!isMobile && {productInfo}}\n {!isMobile && {productPrice}}\n {!isMobile && {productUnitOfMeasure}}\n {!isMobile && {productQuantityView}}\n {isMobile && {popUp}}\n {!isMobile && (\n \n {addToBagButton}\n {removeButton}\n \n )}\n
\n );\n};\n\nexport default OrderTemplateLinesView;\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 { IHelp, IOrderSummary, IPaymentMethods } from '../../common';\nimport { IGroup, IGroupDelivery, IGroups } from '../../common/get-groups';\nimport { IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { IOrderConfirmationViewProps } from './order-confirmation';\n\nexport const OrderConfirmationOrderInfomation: React.FC = ({\n orderInformationProps,\n receiptEmail,\n createdDate,\n channelReferenceId\n}) => (\n \n {createdDate}\n {channelReferenceId}\n {receiptEmail}\n \n);\n\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\n {salesLine}\n);\n\nexport const OrderConfirmationGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo,\n pickupDateTimeslot\n}) => (\n \n {heading}\n {address}\n {pickupDateTimeslot}\n \n);\n\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {delivery && }\n {delivery && delivery.shippingItemsToYou}\n {salesLines && (\n \n {salesLines.map((salesLine: ISalesLine) => (\n \n ))}\n \n )}\n \n);\n\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group: IGroup, index: number) => (\n \n ))}\n \n);\n\nexport const OrderConfirmationOrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderConfirmationView: React.FC = ({\n moduleProps,\n heading,\n backToShoppingLink,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {backToShoppingLink}\n {groups && }\n {payment && }\n {orderSummary && }\n {help && }\n \n );\n};\n\nexport default OrderConfirmationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddToCartComponent, IAddToCartResources, OrderDetailsProduct } from '@msdyn365-commerce/components';\nimport { getUrlSync, IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * The data which the component should operate.\n */\nexport interface IBuySelectedData {\n products: OrderDetailsProduct[];\n}\n\n/**\n * The resources needed to render a buy selected component.\n */\nexport interface IBuySelectedResources {\n orderDetailsUnavailableProductText?: string;\n orderDetailsBuySelectedButtonText?: string;\n orderDetailsBuySelectedButtonAriaLabel?: string;\n orderDetailsBuySelectedAddingToCartErrorNotificationTitle?: string;\n orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel?: string;\n orderDetailsBuyItAgainLabel?: string;\n orderDetailsBuyItAgainAriaLabel?: string;\n orderDetailsGoToCartText?: string;\n orderDetailsDialogCloseText?: string;\n orderDetailsSingleItemText?: string;\n orderDetailsMultiLineItemFormatText?: string;\n orderDetailsMultiLinesFormatText?: string;\n orderDetailsHeaderMessageText?: string;\n orderDetailsMultiItemsValidationErrorMessage?: string;\n orderDetailsOneErrorText?: string;\n orderDetailsMultiErrorText?: string;\n addedQuantityText?: string;\n originalPriceText?: string;\n currentPriceText?: string;\n freePriceText?: string;\n}\n\n/**\n * Configuration of a buy selected component.\n */\nexport interface IBuySelectedProps extends IComponentProps {\n className: string;\n context: ICoreContext;\n\n resources: IBuySelectedResources;\n\n isIcon?: boolean;\n isReorderingEnabled?: boolean;\n}\n\n/**\n * Get the dialog strings.\n * @param props -- The buy selected props.\n * @returns The add to cart resources.\n */\nexport const getDialogStrings = (props: IBuySelectedProps): IAddToCartResources => {\n return {\n goToCartText: props.resources.orderDetailsGoToCartText ?? '',\n continueShoppingText: props.resources.orderDetailsDialogCloseText ?? '',\n closeNotificationLabel: props.resources.orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel ?? '',\n headerItemOneText: props.resources.orderDetailsSingleItemText ?? '',\n headerItemFormatText: props.resources.orderDetailsMultiLineItemFormatText ?? '',\n headerLinesFormatText: props.resources.orderDetailsMultiLinesFormatText ?? '',\n headerMessageText: props.resources.orderDetailsHeaderMessageText ?? '',\n freePriceText: props.resources.freePriceText ?? '',\n originalPriceText: props.resources.originalPriceText ?? '',\n currentPriceText: props.resources.currentPriceText ?? '',\n addedQuantityText: props.resources.addedQuantityText ?? '',\n buyAgainNotificationTitle: props.resources.orderDetailsBuySelectedAddingToCartErrorNotificationTitle ?? '',\n buyAgainNotificationCloseAriaLabel: props.resources.orderDetailsBuySelectedAddingToCartErrorNotificationCloseAriaLabel ?? '',\n validationErrorMessage: props.resources.orderDetailsMultiItemsValidationErrorMessage,\n oneErrorText: props.resources.orderDetailsOneErrorText,\n multiErrorsText: props.resources.orderDetailsMultiErrorText\n };\n};\n\n/**\n * Renders a button which adds given products to the cart.\n * @param props - Configuration of the component.\n * @returns A react element or null if no products were given.\n */\nexport const BuySelectedComponent: React.FC = (props: IBuySelectedProps): JSX.Element | null => {\n const products = props.data.products.filter(product => !ObjectExtensions.isNullOrUndefined(product.simpleProduct));\n const buttonLabel = props.isIcon\n ? ''\n : props.resources.orderDetailsBuySelectedButtonText ?? props.resources.orderDetailsBuyItAgainLabel;\n const buttonAriaLabel = props.resources.orderDetailsBuySelectedButtonAriaLabel ?? props.resources.orderDetailsBuyItAgainAriaLabel;\n\n const singleProductCount = 1;\n if (props.data.products.length === singleProductCount && !props.data.products[0].isProductAvailable) {\n // Return disabled button\n return (\n \n {buttonLabel}\n \n );\n }\n\n if (!ArrayExtensions.hasElements(products)) {\n // Return disabled button\n return (\n \n );\n }\n\n const firstProduct: OrderDetailsProduct = products[0];\n\n // Reorder is not enable, buy again button link to product details page.\n if (!props.isReorderingEnabled) {\n return (\n \n );\n }\n\n const shouldSkipSiteSettings: boolean = true;\n const dialogStrings: IAddToCartResources = getDialogStrings(props);\n\n return (\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IGroup, IGroupDelivery, IGroups } from '../../common/get-groups';\nimport { IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { ISalesOrder } from './components/get-sales-order';\nimport { IHeader, IList, IOrderHistoryViewProps } from './order-history';\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 {delivery && }\n {salesLines && (\n \n {salesLines.map((salesLine: ISalesLine) => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group: IGroup, index: number) => (\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 {orderInfomation && }\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n \n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder: ISalesOrder, index: number) => )}\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 { IHistogramItemViewProps } from './component/components';\nimport { IRatingsHistogramViewProps } from './ratings-histogram';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IGetHelpInput, IHelp } from '@msdyn365-commerce-modules/order-management';\r\nimport * as React from 'react';\r\n\r\nexport const getOrderDetailsHelp = ({ needHelpLabel, helpLineNumberLabel, contactNumber, helpLineContactAriaLabel }: IGetHelpInput): IHelp => ({\r\n helpProps: { className: 'ms-order-details__help' },\r\n needHelpLabel:

{needHelpLabel}

,\r\n helpLineNumberLabel: {helpLineNumberLabel},\r\n contactNumber: (\r\n \r\n {contactNumber}\r\n \r\n )\r\n});\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\n\r\nimport { IGetOrderSummaryInput, IOrderSummary, IPriceContext } from '@msdyn365-commerce-modules/order-management';\r\nimport * as React from 'react';\r\n\r\ninterface ISummaryLineProps {\r\n priceContext?: IPriceContext;\r\n name: string;\r\n label: string;\r\n value?: number;\r\n}\r\n\r\nconst OrderSummaryLine: React.SFC = ({ name, label, value = 0, priceContext }) => (\r\n

\r\n

{label}
\r\n {priceContext ? (\r\n \r\n ) : (\r\n {value}\r\n )}\r\n

\r\n);\r\n\r\nexport const getOrderDetailsOrderSummary = ({\r\n order,\r\n priceContext,\r\n earnedPoints,\r\n resource: {\r\n orderSummaryHeading,\r\n orderSummaryItemsTotalLabel,\r\n orderSummaryShippingFeeLabel,\r\n orderSummaryTaxLabel,\r\n orderSummaryGrandTotalLabel,\r\n pointsEarnedLabel\r\n }\r\n}: IGetOrderSummaryInput): IOrderSummary => {\r\n return {\r\n orderSummaryProps: { className: 'ms-order-details__order-summary' },\r\n heading:

{orderSummaryHeading}

,\r\n subtotal: (\r\n \r\n ),\r\n shipping: (\r\n \r\n ),\r\n tax: ,\r\n totalAmount: (\r\n \r\n ),\r\n earnedPoints: earnedPoints ? : undefined\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IPaymentMethods } from '@msdyn365-commerce-modules/order-management';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { TenderLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport * as React from 'react';\r\nimport { IPaymentMethodsInputExtended } from '../smwe-order-details';\r\n\r\nconst getLastFourDigit = (digits = '') => digits.substr(-4);\r\n\r\nenum WalletTenderTypes {\r\n GOOGLEPAY = '15',\r\n APPLEPAY = '14'\r\n}\r\n\r\nconst renderPaymentCard = (creditCardEndingLabel: string,\r\n cardLastFourDigit: string,\r\n googlePayLabel: string,\r\n applePayLabel: string,\r\n isValidCardNumber: boolean | string,\r\n cardTypeId?: string,\r\n tenderTypeId?: string\r\n ) => {\r\n switch (tenderTypeId) {\r\n case WalletTenderTypes.GOOGLEPAY:\r\n return googlePayLabel;\r\n\r\n case WalletTenderTypes.APPLEPAY:\r\n return applePayLabel;\r\n\r\n default:\r\n return `${cardTypeId} ${isValidCardNumber && `${creditCardEndingLabel} ${cardLastFourDigit}`}`;\r\n }\r\n};\r\n\r\nexport const getOrderDetailsPaymentMethods = ({\r\n priceContext,\r\n tenderLines,\r\n tenderIdOperationIdMap,\r\n resource: { paymentMethodsTitle, creditCardEndingLabel, giftCardEndingLabel, amountCoveredLabel, loyaltyCardUsedLabel, cashUsedLabel },\r\n googlePayLabel,\r\n applePayLabel\r\n}: IPaymentMethodsInputExtended): IPaymentMethods => {\r\n const getCard = (tenderLine: TenderLine, showAmount: boolean = false) => {\r\n const cardLastFourDigit = getLastFourDigit(tenderLine.MaskedCardNumber);\r\n\r\n // @ts-expect-error\r\n const isValidCardNumber = cardLastFourDigit && !isNaN(cardLastFourDigit);\r\n const amount = (tenderLine.AuthorizedAmount || 0) > 0 ? tenderLine.AuthorizedAmount : tenderLine.Amount;\r\n const showAmountCovered = !!(showAmount && amount && amount > 0);\r\n\r\n return (\r\n
\r\n

\r\n {renderPaymentCard(creditCardEndingLabel, cardLastFourDigit, googlePayLabel, applePayLabel, isValidCardNumber, tenderLine.CardTypeId, tenderLine.TenderTypeId)}\r\n

\r\n {showAmountCovered && (\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const getGiftCertificate = (tenderLine: TenderLine) => (\r\n
\r\n

\r\n {giftCardEndingLabel} {getLastFourDigit(tenderLine.GiftCardId)}\r\n

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n const getLoyalty = (tenderLine: TenderLine) => (\r\n
\r\n

\r\n {loyaltyCardUsedLabel} {tenderLine.LoyaltyCardId}\r\n

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n const getCash = (tenderLine: TenderLine) => (\r\n
\r\n

{cashUsedLabel}

\r\n

\r\n {amountCoveredLabel}\r\n \r\n

\r\n
\r\n );\r\n\r\n return {\r\n paymentMethodsProps: { className: 'ms-order-details__payment-methods' },\r\n title:
{paymentMethodsTitle}
,\r\n methods: tenderLines.reduce((lines: React.ReactNode[], tenderLine) => {\r\n if (!tenderLine.TenderTypeId) {\r\n return lines;\r\n }\r\n switch (tenderIdOperationIdMap[tenderLine.TenderTypeId]) {\r\n case 201:\r\n lines.push(getCard(tenderLine));\r\n break;\r\n case 214:\r\n lines.push(getGiftCertificate(tenderLine));\r\n break;\r\n case 207:\r\n lines.push(getLoyalty(tenderLine));\r\n break;\r\n case 200:\r\n lines.push(getCash(tenderLine));\r\n break;\r\n default:\r\n // do nothing\r\n }\r\n return lines;\r\n }, [])\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Address as IAddress } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\n\r\nexport type addressType = 'store' | 'ship';\r\n\r\nexport interface IShippingAddressProps {\r\n moduleName: string;\r\n address: IAddress;\r\n deliveryType: string;\r\n showCompleteAddress?: boolean;\r\n resource: {\r\n shipToLabel: string;\r\n storeLabel: string;\r\n phoneLabel: string;\r\n phoneAriaLabel: string;\r\n };\r\n}\r\n\r\nconst Address: React.SFC = ({\r\n moduleName,\r\n address,\r\n deliveryType,\r\n showCompleteAddress,\r\n resource: { shipToLabel, storeLabel, phoneLabel }\r\n}) => (\r\n
\r\n
{deliveryType !== 'ship' ? storeLabel : shipToLabel}
\r\n {address.Name &&
{address.Name}
}\r\n {showCompleteAddress ?\r\n (<>\r\n {address.Street && {address.Street} }\r\n {address.City && {address.City}}\r\n {address.State && {`, ${address.State}`}}\r\n {address.County && {`, ${address.County}`}}\r\n {address.ZipCode && {` ${address.ZipCode}`}}\r\n {address.ThreeLetterISORegionName && {` ${address.ThreeLetterISORegionName}`}}\r\n {address.Phone && (\r\n \r\n {phoneLabel}\r\n \r\n )}\r\n ) : address.FullAddress &&
{address.FullAddress}
}\r\n
\r\n );\r\n\r\nexport default React.memo(Address);\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\ninterface ILabelProps {\r\n className: string;\r\n label: string;\r\n}\r\n\r\nconst Label: React.FC = ({ className, label }) => {label};\r\n\r\nexport default Label;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ArrayExtensions, getFallbackImageUrl, getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, getPayloadObject, getTelemetryAttributes, INodeProps, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport { CartLineItemComponent } from '../../../components/cartlineitem-variant.component';\r\nimport { Image } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration, ProductDeliveryOptions, SalesLine, Shipment, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport Address from './address';\r\nimport LabelComponent from './label';\r\nimport { defaultImageSettings, getDateTimeslot, getSalesStatusCode, IDeliveryType, IModuleComponentProps, ISalesStatusCode } from './utilities';\r\n\r\nexport type ISalesStatusStringMap = {\r\n [x in ISalesStatusCode]: string | undefined;\r\n};\r\n\r\nexport type IDeliveryTypeStringMap = {\r\n [x in IDeliveryType]: string | undefined;\r\n};\r\n\r\nexport interface ISalesLineResources {\r\n productDimensionTypeSize: string;\r\n productDimensionTypeColor: string;\r\n productDimensionTypeStyle: string;\r\n salesLineQuantityText: string;\r\n configString: string;\r\n shipToLabel: string;\r\n storeLabel: string;\r\n phoneLabel: string;\r\n phoneAriaLabel: string;\r\n buyItAgainAriaLabel: string;\r\n buyItAgainLabel: string;\r\n orderStatusReadyForPickup: string;\r\n orderStatusPickedUp: string;\r\n orderStatusShipped: string;\r\n orderStatusCanceled: string;\r\n orderStatusProcessing: string;\r\n pickedUpSalesLines: string;\r\n deliveredSalesLines: string;\r\n carryOutSalesLines: string;\r\n trackingLabel: string;\r\n trackingAriaLabel: string;\r\n trackingComingSoonLabel: string;\r\n discountStringText: string;\r\n orderStatusEmailed: string;\r\n emailSalesLines: string;\r\n pickupDateTimeslotText: string;\r\n pickupTimeslotPlaceHolder: string;\r\n shippingCharges?: string;\r\n}\r\n\r\nexport interface IGetSalesLineInput {\r\n moduleName: string;\r\n moduleComponentProps: IModuleComponentProps;\r\n product: SimpleProduct;\r\n shipment?: Shipment;\r\n salesLine: SalesLine;\r\n isCurrentChannel: boolean;\r\n resources: ISalesLineResources;\r\n imageOnly?: boolean;\r\n showCompleteAddress?: boolean;\r\n showTimeslot: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n productDeliveryOptions?: ProductDeliveryOptions[];\r\n}\r\n\r\nexport interface ISalesLine {\r\n salesLineProps: INodeProps;\r\n salesLine: React.ReactNode;\r\n address?: React.ReactNode;\r\n buyAgainButton?: React.ReactNode;\r\n salesStatus: React.ReactNode;\r\n deliveryType: React.ReactNode;\r\n trackingInfo: React.ReactNode;\r\n pickupDateTimeslot: React.ReactNode;\r\n\r\n // row data\r\n data: {\r\n salesLine: SalesLine;\r\n product: SimpleProduct;\r\n shipment?: Shipment;\r\n deliveryType: string;\r\n productUrl: string;\r\n salesStatus: ISalesStatusCode;\r\n };\r\n}\r\n\r\n// tslint:disable:max-func-body-length\r\n// tslint:disable-next-line:cyclomatic-complexity\r\nexport const getSalesLine = ({\r\n moduleName,\r\n moduleComponentProps: {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n config: { imageSettings, showShippingChargesForLineItems }\r\n },\r\n showCompleteAddress,\r\n product,\r\n shipment,\r\n salesLine,\r\n isCurrentChannel,\r\n imageOnly,\r\n showTimeslot,\r\n resources: {\r\n productDimensionTypeSize: sizeString,\r\n productDimensionTypeColor: colorString,\r\n productDimensionTypeStyle: styleString,\r\n salesLineQuantityText: quantityDisplayString,\r\n configString,\r\n shipToLabel,\r\n storeLabel,\r\n phoneLabel,\r\n phoneAriaLabel,\r\n buyItAgainLabel,\r\n buyItAgainAriaLabel,\r\n orderStatusReadyForPickup,\r\n orderStatusProcessing,\r\n orderStatusShipped,\r\n orderStatusPickedUp,\r\n orderStatusCanceled,\r\n orderStatusEmailed,\r\n pickedUpSalesLines,\r\n deliveredSalesLines,\r\n carryOutSalesLines,\r\n emailSalesLines,\r\n trackingLabel,\r\n trackingAriaLabel,\r\n trackingComingSoonLabel,\r\n discountStringText,\r\n pickupDateTimeslotText,\r\n pickupTimeslotPlaceHolder,\r\n shippingCharges\r\n },\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n}: IGetSalesLineInput): ISalesLine => {\r\n const salesStatusStringMap: ISalesStatusStringMap = {\r\n canceled: orderStatusCanceled,\r\n readyForPickup: orderStatusReadyForPickup,\r\n pickedUp: orderStatusPickedUp,\r\n processing: orderStatusProcessing,\r\n shipped: orderStatusShipped,\r\n unknown: undefined,\r\n emailed: orderStatusEmailed\r\n };\r\n\r\n const deliveryTypeStringMap: IDeliveryTypeStringMap = {\r\n pickUp: pickedUpSalesLines,\r\n ship: deliveredSalesLines,\r\n carryOut: carryOutSalesLines,\r\n email: emailSalesLines\r\n };\r\n\r\n const gridSettings = context.request.gridSettings;\r\n const pickupDeliveryModeCode = context.request.channel && context.request.channel.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = context.request.channel && context.request.channel.EmailDeliveryModeCode;\r\n const productUrl = getProductUrlSync(product, context.actionContext, undefined);\r\n const pickupMode = getPickupModeDesc(product, salesLine.DeliveryMode, productDeliveryOptions, retailMultiplePickUpOptionEnabled);\r\n const deliveryType =\r\n getPickupDeliveryMode(salesLine.DeliveryMode, pickupDeliveryModeCode, retailMultiplePickUpOptionEnabled, channelDeliveryOptionConfig)\r\n ? pickupMode\r\n : !!emailDeliveryModeCode && emailDeliveryModeCode !== '' && emailDeliveryModeCode === salesLine.DeliveryMode\r\n ? 'email'\r\n : !!salesLine.DeliveryMode\r\n ? 'ship'\r\n : 'carryOut';\r\n const salesStatus = getSalesStatusCode(deliveryType, salesLine.SalesStatusValue, pickupMode);\r\n const salesStatusString = salesStatusStringMap[salesStatus];\r\n const salesStatusComp = salesStatusString && ;\r\n const deliveryTypeString = getdeliveryTypeString(deliveryType, deliveryTypeStringMap, retailMultiplePickUpOptionEnabled);\r\n const deliveryTypeClass = getdeliveryTypeClassName(deliveryType, deliveryTypeStringMap);\r\n const storePickUp = retailMultiplePickUpOptionEnabled ? getStoreName(salesLine, deliveryType) : null;\r\n const deliveryTypeComp = retailMultiplePickUpOptionEnabled ? deliveryTypeString && \r\n : deliveryTypeString && ;\r\n const trackingInfo = isCurrentChannel && deliveryType === 'ship' && (\r\n
\r\n {trackingLabel}\r\n {shipment ? (\r\n \r\n {shipment.TrackingNumber}\r\n \r\n ) : (\r\n {trackingComingSoonLabel}\r\n )}\r\n
\r\n );\r\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.BuyItAgain);\r\n const buyItAgainAttributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n const fallbackImageUrl = getFallbackImageUrl(product.ItemId, context.actionContext.requestContext.apiSettings);\r\n\r\n const canShowTimeslot: boolean = showTimeslot\r\n && deliveryType === pickupMode\r\n && salesLine.PickupTimeslotStartDateTime !== undefined\r\n && salesLine.PickupTimeslotEndDateTime !== undefined;\r\n\r\n const pickupDateTimeslot = canShowTimeslot ? getDateTimeslot(pickupTimeslotPlaceHolder, salesLine.PickupTimeslotStartDateTime, salesLine.PickupTimeslotEndDateTime, context.request.locale) : '';\r\n const pickupDateTimeslotInfo = canShowTimeslot && (\r\n
\r\n
{pickupDateTimeslotText}
\r\n
{pickupDateTimeslot}
\r\n
\r\n );\r\n if(imageSettings) {\r\n imageSettings.cropFocalRegion = true;\r\n }\r\n return {\r\n data: {\r\n salesLine,\r\n productUrl,\r\n deliveryType,\r\n salesStatus,\r\n product,\r\n shipment\r\n },\r\n salesLineProps: { className: `${moduleName}__sales-line` },\r\n salesLine: imageOnly ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n ),\r\n address: salesLine.ShippingAddress && (\r\n \r\n ),\r\n deliveryType: deliveryTypeComp,\r\n salesStatus: salesStatusComp,\r\n trackingInfo,\r\n buyAgainButton: retailMultiplePickUpOptionEnabled ? isCurrentChannel && (\r\n \r\n {buyItAgainLabel}\r\n \r\n ) :\r\n isCurrentChannel && (\r\n \r\n {buyItAgainLabel}\r\n \r\n ),\r\n pickupDateTimeslot: pickupDateTimeslotInfo\r\n };\r\n};\r\n\r\nexport const getPickupDeliveryMode = (salesLineDeliveryMode?: string, pickupDeliveryModeCode?: string, retailMultiplePickupOption?: boolean,\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration, productDeliveryOptions?: ProductDeliveryOptions[]): boolean => {\r\n if (retailMultiplePickupOption) {\r\n return salesLineDeliveryMode === channelDeliveryOptionConfig?.PickupDeliveryModeCodes?.find(dM => dM === salesLineDeliveryMode);\r\n } else {\r\n return !!pickupDeliveryModeCode && pickupDeliveryModeCode !== '' && pickupDeliveryModeCode === salesLineDeliveryMode;\r\n }\r\n};\r\n\r\nexport const getdeliveryTypeString = (deliveryType: string, deliveryTypeStringMap: IDeliveryTypeStringMap , retailMultiplePickupOption?: boolean): string | undefined=> {\r\n if(retailMultiplePickupOption) {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'carryout':\r\n case 'email':\r\n return deliveryTypeStringMap[deliveryType];\r\n default:\r\n return deliveryType;\r\n }\r\n } else {\r\n return deliveryTypeStringMap[deliveryType];\r\n }\r\n};\r\n\r\nexport const getdeliveryTypeClassName = (deliveryType: string, deliveryTypeStringMap: IDeliveryTypeStringMap , retailMultiplePickupOption?: boolean): string | undefined=> {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'carryout':\r\n case 'email':\r\n return deliveryType;\r\n default:\r\n return 'pickUp';\r\n }\r\n};\r\n\r\nexport const getPickupModeDesc = (product: SimpleProduct, salesLineDeliveryMode?: string, productDeliveryOptions?: ProductDeliveryOptions[], retailMultiplePickupOption?: boolean): string => {\r\n let deliveryOption: string = 'pickup';\r\n if (ArrayExtensions.hasElements(productDeliveryOptions) && product !== undefined) {\r\n const foundProductDeliveryOption = productDeliveryOptions?.find((deliveryO) => {\r\n return deliveryO && deliveryO.ProductId === product.RecordId;\r\n });\r\n const deliveryDesc = foundProductDeliveryOption?.DeliveryOptions ? foundProductDeliveryOption?.DeliveryOptions?.find(option => option.Code === salesLineDeliveryMode)?.Description: deliveryOption;\r\n if (deliveryDesc !== undefined) {\r\n deliveryOption = deliveryDesc;\r\n }\r\n }\r\n return deliveryOption;\r\n};\r\n\r\nexport const getStoreName = (salesLine: SalesLine, deliveryType?: string): string | undefined => {\r\n switch (deliveryType) {\r\n case 'ship':\r\n case 'email':\r\n case 'carryout':\r\n return '';\r\n default:\r\n return `, ${salesLine.ShippingAddress?.Name}`;\r\n }\r\n};","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleComponentProps, IPriceContext } from '@msdyn365-commerce-modules/order-management/src/common/utilities';\r\nimport { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { IActionContext, IGridSettings, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { ChannelDeliveryOptionConfiguration , OrderShipments, ProductDeliveryOptions, SalesLine, SalesOrder, Shipment, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getSalesLine, ISalesLine, ISalesLineResources } from './get-sales-line';\r\n\r\nexport interface IGetSalesLinesInput {\r\n moduleName: string;\r\n moduleComponentProps: IModuleComponentProps;\r\n isCurrentChannel: boolean;\r\n\r\n salesLines: SalesLine[];\r\n products: SimpleProduct[];\r\n shipments?: Shipment[];\r\n priceContext: IPriceContext;\r\n resources: ISalesLineResources;\r\n actionContext: IActionContext;\r\n gridSettings: IGridSettings;\r\n imageSettings?: IImageSettings;\r\n imageOnly?: boolean;\r\n showCompleteAddress?: boolean;\r\n showTimeslot: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n retailMultiplePickUpOptionEnabled?: boolean;\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n productDeliveryOptions?: ProductDeliveryOptions[];\r\n}\r\n\r\nexport const getSalesLines = ({\r\n moduleName,\r\n moduleComponentProps,\r\n salesLines,\r\n products,\r\n shipments,\r\n resources,\r\n isCurrentChannel,\r\n imageOnly,\r\n showCompleteAddress,\r\n showTimeslot,\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n}: IGetSalesLinesInput): ISalesLine[] => {\r\n return salesLines.map(salesLine => {\r\n const product = products.find(_product => _product.RecordId === salesLine.ProductId) || ({} as SimpleProduct);\r\n const shipment = shipments && shipments.find(_shipment => _shipment.ShipmentLines?.find(_shipmentLine => _shipmentLine.ItemId === product.ItemId));\r\n return getSalesLine({\r\n moduleName,\r\n moduleComponentProps,\r\n product,\r\n shipment,\r\n salesLine,\r\n isCurrentChannel,\r\n resources,\r\n imageOnly,\r\n showCompleteAddress,\r\n showTimeslot,\r\n telemetryContent,\r\n retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig,\r\n productDeliveryOptions\r\n });\r\n });\r\n};\r\n\r\ninterface IProps extends IModuleComponentProps {\r\n resources: ISalesLineResources;\r\n}\r\n\r\nexport const getSalesLinesInput = (\r\n props: IProps,\r\n moduleName: string,\r\n order: SalesOrder | OrderShipments,\r\n products: SimpleProduct[],\r\n priceContext: IPriceContext,\r\n showCompleteAddress?: boolean,\r\n showTimeslot?: boolean,\r\n telemetryContent?: ITelemetryContent,\r\n retailMultiplePickUpOptionEnabled?: boolean,\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration,\r\n productDeliveryOptions?: ProductDeliveryOptions[] | undefined\r\n): IGetSalesLinesInput | undefined => {\r\n if (!order || !order.SalesLines || !order.SalesLines.length) {\r\n return;\r\n }\r\n\r\n const {\r\n resources,\r\n config: { imageSettings },\r\n context: {\r\n actionContext,\r\n request: {\r\n gridSettings,\r\n apiSettings: { channelId }\r\n }\r\n }\r\n } = props;\r\n\r\n const isCurrentChannel = !order.ChannelId || order.ChannelId === channelId;\r\n\r\n return {\r\n moduleName,\r\n moduleComponentProps: props,\r\n isCurrentChannel,\r\n salesLines: order.SalesLines,\r\n products,\r\n shipments: order.Shipments,\r\n priceContext: priceContext,\r\n resources,\r\n actionContext: actionContext,\r\n gridSettings: gridSettings!,\r\n imageSettings: imageSettings,\r\n showCompleteAddress: showCompleteAddress,\r\n showTimeslot: showTimeslot || false,\r\n telemetryContent: telemetryContent,\r\n retailMultiplePickUpOptionEnabled: retailMultiplePickUpOptionEnabled,\r\n channelDeliveryOptionConfig: channelDeliveryOptionConfig,\r\n productDeliveryOptions: productDeliveryOptions\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classname from 'classnames';\r\nimport get from 'lodash/get';\r\nimport { computed } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n getGroups,\r\n getTenderIdOperationIdMap,\r\n IGetOrderSummaryInput,\r\n IGroups,\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n IPaymentMethodsInput,\r\n IPriceContext,\r\n ISalesLine,\r\n} from '@msdyn365-commerce-modules/order-management';\r\n\r\nimport { getOrderInformationInput, getOrderInformation, IOrderInformation } from './components/get-order-information';\r\n\r\nimport { Button, Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { CartLine, SalesOrder, SimpleProduct, OrderOriginator } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { publish } from '../../Utilities/analytics/analytics-dispatcher';\r\nimport { getAttributesForCart, IAttributeBank } from '../../Utilities/get-product-attributes';\r\n\r\nimport { wineClubSetup } from '../../settings/app.settings';\r\nimport { WineClubDataRef, WineClubDataStore } from '../wine-club-signup/wine-club-data';\r\nimport { getOrderDetailsHelp } from './components/get-help';\r\nimport { getOrderDetailsOrderSummary } from './components/get-order-summary';\r\nimport { getOrderDetailsPaymentMethods } from './components/get-payment-methods';\r\nimport { getSalesLines, getSalesLinesInput } from './components/get-sales-lines';\r\nimport { ISmweOrderDetailsData } from './smwe-order-details.data';\r\nimport { ISmweOrderDetailsProps } from './smwe-order-details.props.autogenerated';\r\n\r\nexport * from './components/get-help';\r\nexport * from './components/get-order-summary';\r\nexport * from './components/get-payment-methods';\r\n\r\nexport interface IPaymentMethodsInputExtended extends IPaymentMethodsInput {\r\n googlePayLabel: string;\r\n applePayLabel: string;\r\n}\r\nexport interface IOrderDetailsViewProps extends ISmweOrderDetailsProps {\r\n moduleProps: IModuleProps;\r\n salesOrder?: SalesOrder;\r\n footerProps?: INodeProps;\r\n alert?: React.ReactNode;\r\n loading?: React.ReactNode;\r\n heading: React.ReactNode;\r\n backToShoppingLink?: React.ReactNode;\r\n orderInfomation?: IOrderInformation;\r\n salesLines?: ISalesLine[];\r\n groups?: IGroups;\r\n orderSummary?: IOrderSummary;\r\n payment?: IPaymentMethods;\r\n help?: IHelp;\r\n isWineClubOrder?: boolean;\r\n isWineClubPickup?: boolean;\r\n wineClubData?: WineClubDataRef;\r\n}\r\n\r\n/**\r\n *\r\n * OrderDetails component\r\n * @extends {React.Component>}\r\n */\r\nclass OrderDetails extends React.Component> {\r\n private moduleName: string = 'ms-order-details';\r\n private parsedProductAttributes: IAttributeBank = {};\r\n private wineClubData: WineClubDataRef;\r\n\r\n @computed get isCurrentChannel(): boolean {\r\n if (!this.order) {\r\n return false;\r\n }\r\n return this.order.ChannelId === get(this.props, 'context.request.apiSettings.channelId');\r\n }\r\n\r\n @computed get isDataReady(): boolean {\r\n return get(this.props, 'data.orderHydration.status') === 'SUCCESS';\r\n }\r\n\r\n @computed get hasError(): boolean {\r\n return get(this.props, 'data.orderHydration.status') === 'FAILED';\r\n }\r\n\r\n @computed get order(): SalesOrder | undefined {\r\n return get(this.props, 'data.orderHydration.result.salesOrder');\r\n }\r\n\r\n @computed get products(): SimpleProduct[] {\r\n return get(this.props, 'data.orderHydration.result.products') || [];\r\n }\r\n\r\n @computed get priceContext(): IPriceContext {\r\n const {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n resources: { freePriceText }\r\n } = this.props;\r\n return {\r\n id,\r\n typeName,\r\n context,\r\n telemetry,\r\n freePriceText\r\n };\r\n }\r\n\r\n @computed get earnedPoints(): number {\r\n const loyaltyCard = this.props.data.loyaltyCard.result;\r\n if (loyaltyCard && loyaltyCard.RewardPoints && this.order) {\r\n const pointPrograms = loyaltyCard.RewardPoints.map(point => point.RewardPointId);\r\n const rewardLines = this.order.LoyaltyRewardPointLines || [];\r\n let total = 0;\r\n rewardLines.forEach(line => {\r\n if ((line.RewardPointAmountQuantity || 0) > 0 && pointPrograms.indexOf(line.RewardPointId) > -1) {\r\n total += line.RewardPointAmountQuantity!;\r\n }\r\n });\r\n return total;\r\n }\r\n return 0;\r\n }\r\n\r\n @computed get orderSummaryProps(): IGetOrderSummaryInput | undefined {\r\n if (!this.order) {\r\n return;\r\n }\r\n\r\n const {\r\n resources: { orderSummaryHeading, orderSummaryItemsTotalLabel, orderSummaryShippingFeeLabel, orderSummaryTaxLabel, orderSummaryGrandTotalLabel, pointsEarnedLabel }\r\n } = this.props;\r\n return {\r\n order: this.order,\r\n earnedPoints: this.earnedPoints,\r\n priceContext: this.priceContext,\r\n resource: {\r\n orderSummaryHeading,\r\n orderSummaryItemsTotalLabel,\r\n orderSummaryShippingFeeLabel,\r\n orderSummaryTaxLabel,\r\n pointsEarnedLabel,\r\n orderSummaryGrandTotalLabel\r\n }\r\n };\r\n }\r\n\r\n @computed get paymentMethodsProps(): IPaymentMethodsInputExtended | undefined {\r\n const tenderTypes = this.props.data.tenderTypes.result;\r\n if (!this.order || !this.order.TenderLines || !tenderTypes) {\r\n return;\r\n }\r\n\r\n const locale = get(this.props, 'context.request.locale') || 'en-US';\r\n\r\n const {\r\n resources: {\r\n paymentMethodsTitle,\r\n creditCardEndingLabel,\r\n giftCardEndingLabel,\r\n amountCoveredLabel,\r\n cashUsedLabel,\r\n loyaltyCardUsedLabel,\r\n customerAccountUsedLabel,\r\n googlePayLabel,\r\n applePayLabel\r\n }\r\n } = this.props;\r\n\r\n return {\r\n priceContext: this.priceContext,\r\n tenderLines: this.order.TenderLines,\r\n tenderIdOperationIdMap: getTenderIdOperationIdMap(tenderTypes),\r\n locale,\r\n resource: {\r\n paymentMethodsTitle,\r\n creditCardEndingLabel,\r\n giftCardEndingLabel,\r\n amountCoveredLabel,\r\n cashUsedLabel,\r\n loyaltyCardUsedLabel,\r\n customerAccountUsedLabel,\r\n },\r\n googlePayLabel,\r\n applePayLabel\r\n };\r\n }\r\n\r\n // this should be moved to a utility (WineClubUtils) or something\r\n @computed get wineClubIds(): string[] {\r\n const wineClub = this.props.app.config.wineClubSetup as wineClubSetup | undefined;\r\n const ids: string[] = [];\r\n wineClub && wineClub.forEach(club => club.variants.forEach(variant => ids.push(variant.itemId)));\r\n return ids;\r\n }\r\n\r\n @computed get isWineClubOrder(): boolean {\r\n if (!this.order) { return false; }\r\n\r\n const lines = this.order.SalesLines || [];\r\n\r\n // clubs have only one item\r\n if (lines.length > 1) { return false; }\r\n\r\n for (const line of lines) {\r\n const isClubOrder = this.wineClubIds.find(clubId => +clubId === line.ProductId);\r\n if (isClubOrder) { return true; }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n @computed get isWineClubPickup(): boolean {\r\n return this.wineClubData.deliveryType === 'PICKUP';\r\n }\r\n\r\n public constructor(props: ISmweOrderDetailsProps) {\r\n super(props);\r\n\r\n this.wineClubData = WineClubDataStore.getInstance().get();\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n public componentDidMount(): void {\r\n // Don't do anything unless emitAnalyticsEvent is enabled\r\n if (!this.props.config.emitAnalyticsEvent) {\r\n return;\r\n }\r\n\r\n // Wait for sales order and product data to load\r\n this.props.data.orderHydration.then(data => {\r\n\r\n // Ensure it loaded successfully\r\n if (this.isDataReady) {\r\n\r\n // Fetch attributes, then generate the checkout event\r\n this._setProductAttributes()\r\n .then(() => this._generatePurchaseAnalyticsEvent())\r\n .catch(e => this.props.telemetry.exception(e));\r\n }\r\n }).catch(e => this.props.telemetry.exception(e));\r\n WineClubDataStore.getInstance().reset();\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n public render(): JSX.Element {\r\n const {\r\n resources: {\r\n noSalesOrderText,\r\n genericErrorMessage,\r\n needHelpLabel,\r\n helpLineNumberLabel,\r\n loadingLabel,\r\n backToShopping,\r\n orderItemLabel,\r\n orderItemsLabel,\r\n helpLineContactAriaLabel,\r\n },\r\n\r\n config: { heading, contactNumber, showChannelInfo, showChannelName, shouldShowQrCode} } = this.props;\r\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\r\n const originators = this.props.data.orderOriginators && this.props.data.orderOriginators.result;\r\n const originator: OrderOriginator | undefined = originators && originators.length === 1 ? originators[0] : undefined;\r\n const moduleProps = { moduleProps: this.props, className: classname('ms-order-details', this.props.config.className) };\r\n const backToShoppingUrl = getUrlSync('home', this.props.context.actionContext) || '';\r\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\r\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\r\n\r\n let viewProps: IOrderDetailsViewProps = {\r\n ...this.props,\r\n moduleProps,\r\n heading: heading && ,\r\n backToShoppingLink: backToShoppingUrl && (\r\n \r\n ),\r\n footerProps: { className: 'ms-order-details__footer' }\r\n };\r\n\r\n if (this.hasError) {\r\n viewProps = {\r\n ...viewProps,\r\n alert: {genericErrorMessage}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n if (!this.isDataReady) {\r\n viewProps = {\r\n ...viewProps,\r\n loading: {loadingLabel}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n if (!this.order) {\r\n viewProps = {\r\n ...viewProps,\r\n alert: {noSalesOrderText}\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n const salesLinesInput = getSalesLinesInput(this.props, this.moduleName, this.order, this.products, this.priceContext);\r\n const salesLines = salesLinesInput && getSalesLines(salesLinesInput);\r\n\r\n const orderInfomationInput = this.order && getOrderInformationInput(this.props, this.moduleName, this.order, this.priceContext, channelIdentities, orgUnitLocations, customer, originator, showChannelInfo, showChannelName, false, shouldShowQrCode ?? true);\r\n const orderInfomation = orderInfomationInput && getOrderInformation(orderInfomationInput);\r\n\r\n viewProps = {\r\n ...viewProps,\r\n salesOrder: this.order,\r\n orderInfomation,\r\n salesLines,\r\n groups: salesLines\r\n ? getGroups({\r\n moduleName: this.moduleName,\r\n salesLines,\r\n resources: { orderItemLabel, orderItemsLabel }\r\n })\r\n : undefined,\r\n orderSummary: this.orderSummaryProps ? getOrderDetailsOrderSummary(this.orderSummaryProps) : undefined,\r\n payment: this.paymentMethodsProps ? getOrderDetailsPaymentMethods(this.paymentMethodsProps) : undefined,\r\n help: contactNumber ? getOrderDetailsHelp({ needHelpLabel, helpLineNumberLabel, contactNumber, helpLineContactAriaLabel }) : undefined,\r\n isWineClubOrder: this.isWineClubOrder,\r\n isWineClubPickup: this.isWineClubPickup,\r\n wineClubData: this.wineClubData\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n //----------------------------------------------------------\r\n //----------------------------------------------------------\r\n private _generatePurchaseAnalyticsEvent(): void {\r\n if (this.order?.SalesLines) {\r\n\r\n // Format product data for Purchase event\r\n const products = this.order.SalesLines.map(line => {\r\n const product = this.products.find(entry => entry.RecordId === line.ProductId);\r\n\r\n // For some reason, if we properly use the external constant for IsSubsciption (or better yet, the isLineSubscriptionLine\r\n // helper) React explodes with a cryptic error about an undefined component.\r\n const isSubscription = !!line?.ExtensionProperties?.find(ext => ext.Key === 'IsSubscription');\r\n\r\n return {\r\n product,\r\n quantity: line.Quantity,\r\n subscription: isSubscription,\r\n discounts: line.DiscountLines,\r\n attributes: this.parsedProductAttributes[line.ProductId!],\r\n price: line.NetAmount ? (line.NetAmount / (line.Quantity || 1)).toFixed(2) : line.Price,\r\n\r\n context: this.props.context,\r\n };\r\n });\r\n\r\n // Generate a GA event\r\n publish('purchase', {\r\n id: this.order.ChannelReferenceId, // Id = transaction ID, ChannelReferenceId = Confirmation #\r\n revenue: this.order.TotalAmount,\r\n tax: this.order.TaxAmount,\r\n shipping: this.order.ChargeAmount,\r\n coupon: this.order.Coupons?.map(coupon => coupon.Code).join(','),\r\n affiliation: this.order.ChannelId,\r\n products\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------\r\n // Fetch product attributes for all products on a sales order\r\n //----------------------------------------------------------\r\n private async _setProductAttributes(): Promise {\r\n if (this.order) {\r\n const salesLines = this.order.SalesLines;\r\n\r\n if (salesLines) {\r\n const fakeCartLines: CartLine[] = salesLines.map(line => ({ ProductId: line.ProductId }));\r\n this.parsedProductAttributes = await getAttributesForCart(fakeCartLines, this.props.context.actionContext);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default OrderDetails;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport RatingsHistogram from './ratings-histogram';\nimport RatingsHistogramView from './ratings-histogram.view';\n\nexport * from './component/components';\nexport * from './ratings-histogram';\nexport * from './ratings-histogram.data';\nexport { IRatingsHistogramConfig, IRatingsHistogramProps, IRatingsHistogramResources } from './ratings-histogram.props.autogenerated';\nexport * from './ratings-histogram.view';\n\nexport { RatingsHistogram, RatingsHistogramView };\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 { IHelp, IOrderSummary, IPaymentMethods } from '../../common';\nimport { IGroup, IGroupDelivery, IGroups } from '../../common/get-groups';\nimport { IOrderInformation } from '../../common/get-order-information';\nimport { ISalesLine } from '../../common/get-sales-line';\nimport { ICheckoutOrderConfirmationViewProps } from './checkout-order-confirmation';\n\nexport const OrderConfirmationOrderInfomation: React.FC = ({\n orderInformationProps,\n receiptEmail,\n createdDate,\n channelReferenceId\n}) => (\n \n {channelReferenceId}\n {receiptEmail}\n \n);\n\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\n {salesLine}\n);\n\nexport const OrderConfirmationGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n pickupDateTimeslot,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {address}\n {pickupDateTimeslot}\n \n);\n\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {delivery && }\n {salesLines && (\n \n {salesLines.map(salesLine => (\n \n ))}\n \n )}\n \n);\n\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderConfirmationOrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderConfirmationView: React.FC = ({\n moduleProps,\n heading,\n backToShoppingLink,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {backToShoppingLink}\n {groups && }\n {orderSummary && }\n {payment && }\n {help && }\n \n );\n};\n\nexport default OrderConfirmationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport { IOrderTemplateData } from '../order-template.data';\nimport { IOrderTemplateProps } from '../order-template.props.autogenerated';\nimport { AddLineToTemplate } from '.';\n\ninterface IOrderTemplateBulkActionsProps extends IOrderTemplateProps {\n orderTemplateId: string;\n selectedLines: IOrderTemplateLineViewModel[];\n isMinifiedView: boolean;\n onAddSelectionToBag(): void;\n onRemoveSelection(): void;\n}\n\ninterface IOrderTemplateBulkActionsState {\n isAddDisabled: boolean;\n isRemoveDisabled: boolean;\n}\n\n/**\n * Bulk Order Template line actions.\n */\nexport class OrderTemplateBulkActions extends React.PureComponent {\n public state: IOrderTemplateBulkActionsState = {\n isAddDisabled: true,\n isRemoveDisabled: true\n };\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateBulkActionsProps,\n state: IOrderTemplateBulkActionsState\n ): IOrderTemplateBulkActionsState {\n const selectedLines = props.selectedLines.length;\n let nextState = { ...state };\n nextState = {\n isAddDisabled: selectedLines === 0,\n isRemoveDisabled: selectedLines === 0\n };\n return nextState;\n }\n\n public render(): JSX.Element {\n const {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n addSelectedToBagButtonText,\n removeSelectedToBagButtonText,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n } = this.props.resources;\n const addLineProps = {\n context: this.props.context,\n resources: {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n },\n imageSettings: this.props.config.imageSettings,\n orderTemplateId: this.props.orderTemplateId\n };\n\n return (\n <>\n \n \n \n {!this.props.isMinifiedView && addSelectedToBagButtonText}\n \n \n \n {!this.props.isMinifiedView && removeSelectedToBagButtonText}\n \n \n );\n }\n\n private readonly addHandler = (event: React.MouseEvent) => {\n this.setState({\n isAddDisabled: true\n });\n\n this.props.onAddSelectionToBag();\n\n this.setState({\n isAddDisabled: false\n });\n };\n\n private readonly removeHandler = (event: React.MouseEvent) => {\n this.setState({\n isRemoveDisabled: true\n });\n\n this.props.onRemoveSelection();\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAny, ICoreContext, IGeneric, IImageSettings, IModule, ITelemetry } from '@msdyn365-commerce/core';\nimport { SalesLine, TenderType } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { format } from '@msdyn365-commerce-modules/utilities';\nimport groupBy from 'lodash/groupBy';\n\nimport { ISalesLine } from './get-sales-line';\n\nexport interface IModuleComponentProps extends IModule {\n config: {\n imageSettings?: IImageSettings;\n showShippingChargesForLineItems?: boolean;\n };\n}\n\nexport interface IPriceContext {\n id: string;\n typeName: string;\n context: ICoreContext>;\n telemetry: ITelemetry;\n freePriceText: string;\n}\n\nexport const getTenderIdOperationIdMap = (tenderTypes: TenderType[]): object => {\n return tenderTypes.reduce((map, tenderType) => {\n if (tenderType.TenderTypeId) {\n map[tenderType.TenderTypeId] = tenderType.OperationId;\n }\n return map;\n }, {});\n};\n\nexport const countItems = (salesLines: SalesLine[]) => {\n return salesLines.reduce((count, salesLine) => {\n return count + (salesLine.Quantity || 0);\n }, 0);\n};\n\nexport const getSalesLinesByDelivery = (salesLines?: SalesLine[], pickupDeliveryModeCode?: string): SalesLine[] => {\n if (!salesLines || salesLines.length === 0) {\n return [];\n }\n return salesLines.filter(salesLine =>\n // IsPickUp ? getPickUp : getOthers\n pickupDeliveryModeCode && pickupDeliveryModeCode !== ''\n ? salesLine.DeliveryMode === pickupDeliveryModeCode\n : salesLine.DeliveryMode !== pickupDeliveryModeCode\n );\n};\n\nexport const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=80&h=80&m=6', w: 0, h: 0 },\n lg: { q: 'w=147&h=147&m=6', w: 0, h: 0 }\n },\n lazyload: true,\n cropFocalRegion: true\n};\n\nexport type IDeliveryType = 'pickUp' | 'ship' | 'carryOut' | 'email';\n\nexport type ISalesStatusCode = 'canceled' | 'readyForPickup' | 'pickedUp' | 'processing' | 'shipped' | 'unknown' | 'emailed';\n\nexport const getSalesStatusCode = (deliveryType: string, statusValue?: number, pickupMode?: string): ISalesStatusCode => {\n if (statusValue === 7) {\n return 'canceled';\n }\n\n if (deliveryType === 'pickUp') {\n switch (statusValue) {\n case 3:\n return 'readyForPickup';\n case 4:\n return 'pickedUp';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'ship') {\n switch (statusValue) {\n case 3:\n return 'processing';\n case 4:\n return 'shipped';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'email') {\n switch (statusValue) {\n case 3:\n return 'processing';\n case 4:\n return 'emailed';\n default:\n return 'processing';\n }\n } else if (deliveryType === 'carryOut') {\n return 'processing';\n } else {\n if (pickupMode !== undefined) {\n switch (statusValue) {\n case 3:\n return 'readyForPickup';\n case 4:\n return 'pickedUp';\n default:\n return 'processing';\n }\n }\n\n return 'unknown';\n }\n};\n\nexport type ITrackingId = string | 'unknown';\nexport type IAddressId = string | 'unknown';\n\nexport interface IGroupData {\n deliveryType: IDeliveryType;\n salesStatus: ISalesStatusCode;\n addressId: IAddressId | 'unknown';\n trackingId: ITrackingId | 'unknown';\n count: number;\n salesLines: ISalesLine[];\n}\n\nexport const groupSalesLines = (salesLines: ISalesLine[]): IGroupData[] => {\n const getGroupByDeliveryType = (items: ISalesLine[]) => groupBy(items, item => item.data.deliveryType);\n const getGroupBySalesStatusCode = (items: ISalesLine[]) => groupBy(items, item => item.data.salesStatus);\n const getGroupByTrackingId = (items: ISalesLine[]) => groupBy(items, item => item.data.salesLine.TrackingId || 'unknown');\n const getGroupByAddressId = (items: ISalesLine[]) =>\n groupBy(items, item => (item.data.salesLine.ShippingAddress && item.data.salesLine.ShippingAddress.RecordId) || 'unknown');\n\n const flatGroup: IGroupData[] = [];\n\n // 1) Group by delivery type\n const group = getGroupByDeliveryType(salesLines);\n\n // 2) Group by sales status code\n Object.entries(group).forEach(([deliveryType, groupByDeliveryType]) => {\n // @ts-expect-error\n group[deliveryType] = getGroupBySalesStatusCode(groupByDeliveryType);\n\n Object.entries(group[deliveryType]).forEach(([salesStatus, groupBySalesStatusCode]) => {\n // @ts-expect-error 3) Group by address id\n groupBySalesStatusCode[salesStatus] = getGroupByAddressId(groupBySalesStatusCode);\n\n Object.entries(groupBySalesStatusCode[salesStatus]).forEach(([addressId, groupByAddressId]) => {\n // @ts-expect-error 4) Group by address id\n groupByAddressId[addressId] = getGroupByTrackingId(groupByAddressId);\n\n // @ts-expect-error\n Object.entries(groupByAddressId[addressId]).forEach(([trackingId, groupByTrackingId]) => {\n flatGroup.push({\n // @ts-expect-error\n deliveryType,\n\n // @ts-expect-error\n salesStatus,\n addressId,\n trackingId,\n\n // @ts-expect-error\n count: countItems(groupByTrackingId.map(item => item.data.salesLine)),\n\n // @ts-expect-error\n salesLines: groupByTrackingId\n });\n });\n });\n });\n });\n\n return flatGroup;\n};\n\nexport const getDateTimeslot = (placeHolder: string, startDate: Date | undefined, endDate: Date | undefined, locale: string): string => {\n if (!startDate || !endDate) {\n return '';\n }\n\n const dateOptions: Intl.DateTimeFormatOptions = {\n timeZone: 'UTC'\n };\n const dateformatter = new Intl.DateTimeFormat(locale, dateOptions);\n const date = dateformatter.format(new Date(startDate));\n\n const timeslotOptions: Intl.DateTimeFormatOptions = {\n hour: 'numeric',\n minute: 'numeric',\n hour12: true,\n timeZone: 'UTC'\n };\n const timeslotformatter = new Intl.DateTimeFormat(locale, timeslotOptions);\n const timeslot = format(placeHolder, timeslotformatter.format(new Date(startDate)), timeslotformatter.format(new Date(endDate)));\n return `${date} ${timeslot}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Autosuggestions } from '@msdyn365-commerce/commerce-entities';\nimport {\n CacheType,\n createObservableDataAction,\n getCatalogId,\n IAction,\n IActionContext,\n IActionInput,\n ICreateActionContext\n} from '@msdyn365-commerce/core';\nimport { SearchSuggestion, SearchSuggestionCriteria } from '@msdyn365-commerce/retail-proxy';\nimport { getSearchSuggestionsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\n\nexport enum SuggestionType {\n Category = 'ScopedCategory',\n Keyword = 'Keyword',\n Product = 'Product',\n None = 'None'\n}\n\n/**\n * Input class for auto suggest search input.\n */\nexport class AutoSuggestInput implements IActionInput {\n public searchQuery?: string;\n\n public topResultsCount?: number;\n\n public suggestionType?: string;\n\n public hitPrefix?: string;\n\n public hitSuffix?: string;\n\n public constructor(searchText?: string, top?: number, suggestionType?: string, hitPrefix?: string, hitSuffix?: string) {\n this.searchQuery = searchText;\n this.topResultsCount = top;\n this.suggestionType = suggestionType;\n this.hitPrefix = hitPrefix;\n this.hitSuffix = hitSuffix;\n }\n\n public getCacheKey = () => 'AutoSuggestSearchSuggestions';\n\n public getCacheObjectType = () => 'AutoSuggestSearchSuggestions';\n\n public dataCacheType = (): CacheType => 'none';\n}\n\nconst createInput = (inputData: ICreateActionContext) => {\n return new AutoSuggestInput();\n};\n\n/**\n * Calls the Retail API and returns a auto-suggest suggestions.\n * @param input\n * @param ctx\n */\nexport async function getSearchSuggestionsAction(input: AutoSuggestInput, ctx: IActionContext): Promise {\n // If no input is provided fail out\n if (!input || !input.searchQuery) {\n throw new Error('[getSearchSuggestionsAction]No valid Input was provided, failing');\n }\n\n const autosuggest: Autosuggestions = {};\n\n const autoSuggestPromises = [_getAutoSuggest(input, autosuggest, ctx)];\n return Promise.all(autoSuggestPromises).then(() => {\n return autosuggest;\n });\n}\n\nasync function _getAutoSuggest(input: AutoSuggestInput, autosuggest: Autosuggestions, ctx: IActionContext): Promise {\n const catalogId = getCatalogId(ctx.requestContext);\n const searchCriteria: SearchSuggestionCriteria = {\n ProductSearchCriteria: {\n SearchCondition: input.searchQuery && input.searchQuery.length > 0 ? input.searchQuery : '',\n Context: {\n ChannelId: +ctx.requestContext.apiSettings.channelId,\n CatalogId: catalogId\n }\n },\n HitPrefix: input.hitPrefix,\n HitSuffix: input.hitSuffix,\n SuggestionType: input.suggestionType\n };\n\n const searchSuggestions = await getSearchSuggestionsAsync(\n { callerContext: ctx, queryResultSettings: { Paging: { Top: input.topResultsCount } } },\n searchCriteria\n );\n\n if (searchSuggestions && searchSuggestions.length > 0) {\n // Generate image url\n searchSuggestions.map(\n (item: SearchSuggestion) =>\n (item.ImageUrl = item.ImageUrl ? generateImageUrl(item.ImageUrl, ctx.requestContext.apiSettings) : '')\n );\n\n autosuggest.AllSearchResults = searchSuggestions;\n } else {\n ctx.telemetry.error(\n `[getSearchSuggestionsAction] unable to get availabilites for search with suggestion type ${searchCriteria.SuggestionType}`\n );\n }\n}\n\nexport const getSearchSuggestionsActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/search/get-auto-suggest-suggestions',\n action: >getSearchSuggestionsAction,\n input: createInput\n});\n\nexport default getSearchSuggestionsActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { getRichTextHtml } from '@msdyn365-commerce/core';\nimport { ProductRefiner, ProductRefinerSource, ProductRefinerValue, SearchSuggestion } from '@msdyn365-commerce/retail-proxy';\nimport { format, getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISearchData } from '../search.data';\nimport { ISearchProps } from '../search.props.autogenerated';\n\nexport interface ISearchCategorySuggestProps {\n searchCategorySuggestClass: string;\n searchPageURL: string;\n searchQsp: string | undefined;\n hitPrefix: string;\n hitSuffix: string;\n autoSuggestProps: ISearchProps;\n searchText: string;\n searchRefiners: ProductRefiner[] | undefined;\n suggestions: SearchSuggestion[] | undefined;\n telemetryContent?: ITelemetryContent;\n shouldShowFullPath?: boolean;\n}\n\nexport interface ISearchCategoryViewProps {\n title: React.ReactNode;\n text: React.ReactNode[];\n}\n\nlet payLoad: IPayLoad;\n\n/**\n * CategorySuggestionsComponent.\n * @param props\n */\nexport const CategorySuggestionsComponent = (props: ISearchCategorySuggestProps): ISearchCategoryViewProps | undefined => {\n const {\n suggestions,\n searchText,\n autoSuggestProps: {\n resources: { categorySuggestionHeading }\n }\n } = props;\n\n const reactNodes: React.ReactNode[] = [];\n payLoad = getPayloadObject('click', props.telemetryContent!, '');\n\n suggestions?.map(item => {\n reactNodes.push(_assembleNode(item, props));\n });\n\n const titleNode = _renderTitle(categorySuggestionHeading, searchText);\n\n return { title: titleNode, text: reactNodes };\n};\n\nconst _renderTitle = (categorySuggestionHeading: string, searchText: string) => {\n const categoryAutoSuggestionHeading = categorySuggestionHeading\n ? format(categorySuggestionHeading, searchText)\n : `Search \"${searchText}\" in categories`;\n\n return
  • {categoryAutoSuggestionHeading}
  • ;\n};\n\nconst _assembleNode = (item: SearchSuggestion, props: ISearchCategorySuggestProps) => {\n const { searchText, hitPrefix, hitSuffix, shouldShowFullPath } = props;\n\n const splitValue = shouldShowFullPath ? item.Value : item.Value && item.Value.split('|').pop();\n const ariaLabel = splitValue\n ? splitValue.replace(new RegExp(`[${hitPrefix}]`, 'gi'), '').replace(new RegExp(`[${hitSuffix}]`, 'gi'), '')\n : item.Value && item.Value.replace(new RegExp(`[${hitPrefix}]`, 'gi'), '').replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n payLoad.contentAction.etext = item.Value;\n const attribute = getTelemetryAttributes(props.telemetryContent!, payLoad);\n return (\n
  • \n \n {_generateLink(item, searchText, props) && _getHighlightedText(splitValue ? splitValue : '', hitPrefix, hitSuffix)}\n \n
  • \n );\n};\n\nconst _generateLink = (suggestion: SearchSuggestion, searchText: string, props: ISearchCategorySuggestProps): string => {\n return suggestion && suggestion.Id ? _getCategoryLink(suggestion.Id, searchText, props) : '';\n};\n\nconst _getCategoryLink = (id: string, searchText: string, props: ISearchCategorySuggestProps): string => {\n const { searchPageURL, searchQsp, searchRefiners } = props;\n\n if (!MsDyn365.isBrowser) {\n return '';\n }\n\n const queryUrl = new URL(searchPageURL, window.location.href);\n\n if (searchQsp && searchText) {\n queryUrl.searchParams.set(searchQsp, searchText);\n }\n\n const categoryRefiners = searchRefiners?.find(refiners => {\n return refiners.SourceValue === ProductRefinerSource.Category;\n });\n const refiner = categoryRefiners?.Values?.find(item => {\n return item.RefinerRecordId === Number.parseInt(id, 10);\n });\n\n const encodedRefiner = refiner && JSON.stringify(compressRefiners([refiner]));\n if (encodedRefiner) {\n queryUrl.searchParams.set('refiners', encodedRefiner);\n }\n\n return queryUrl.href;\n};\n\nconst _getHighlightedText = (suggestion: string, hitPrefix: string, hitSuffix: string): JSX.Element => {\n const formattedText = suggestion\n .replace(new RegExp(`[${hitPrefix}]`, 'gi'), '')\n .replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n\n // eslint-disable-next-line react/no-danger\n return ;\n};\n\n// TODO: This code is currently duplicated in categoryautosuggest need to either remove one of these files\n// or move this code to a common place\nconst compressedRefinerKeys = [\n 'DataTypeValue',\n 'LeftValueBoundString',\n 'RefinerRecordId',\n 'RefinerSourceValue',\n 'RightValueBoundString',\n 'UnitText'\n];\n\n/**\n * Compressed a list of refiners for use in URLs.\n * @param refiners The uncompressed refiners.\n */\nconst compressRefiners = (refiners: ProductRefinerValue[]) => {\n const compressedRefiners: (string | number)[][] = [];\n\n refiners.forEach(refiner => {\n const compressedRefiner: (string | number)[] = [];\n compressedRefinerKeys.forEach(refinerKey => {\n compressedRefiner.push(refiner[refinerKey]);\n });\n compressedRefiners.push(compressedRefiner);\n });\n\n return compressedRefiners;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ISearchFormProps {\n hideSearchLabel: boolean | undefined;\n isSearchFormExpanded?: boolean | undefined;\n disableSubmitSearch: boolean | undefined;\n searchTextInput: React.RefObject;\n maxChars: number;\n searchQsp: string;\n searchPlaceholder: string;\n query: string;\n ariaLabelCancel: string;\n ariaLabelSearch: string;\n ariaLabelSubmit: string;\n handleCancelSearchChange(): void;\n handleInputChange(query: string): void;\n}\n\nexport interface ISearchFormViewProps {\n input: React.ReactNode;\n submitBtn: React.ReactNode;\n cancelBtn: React.ReactNode;\n}\n\n/**\n * On Input Change functionality.\n * @param handleInputChange -Input change function.\n * @returns Set updated input value.\n */\nconst onInputChangeFunction = (handleInputChange: (query: string) => void) => (event: React.ChangeEvent) => {\n handleInputChange(event.target.value || '');\n};\nexport const FormComponent = (props: ISearchFormProps): ISearchFormViewProps => {\n const {\n searchQsp,\n searchPlaceholder,\n hideSearchLabel,\n searchTextInput,\n handleInputChange,\n maxChars,\n disableSubmitSearch,\n handleCancelSearchChange,\n query,\n ariaLabelCancel,\n ariaLabelSearch,\n ariaLabelSubmit\n } = props;\n\n const onInputChange = onInputChangeFunction(handleInputChange);\n\n const inputNode = !hideSearchLabel ? (\n \n ) : (\n \n );\n\n const submitBtnNode = !disableSubmitSearch && \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { getRichTextHtml, IActionContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { SearchSuggestion } from '@msdyn365-commerce/retail-proxy';\nimport { getProductPageUrlSync, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n NodeTag\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISearchData } from '../search.data';\nimport { ISearchProps } from '../search.props.autogenerated';\n\n/**\n * Search product suggest resources.\n */\nexport interface ISearchProductSuggestResources {\n freePriceText: string;\n}\n\nexport interface ISearchProductSuggestProps {\n searchProductSuggestClass: string;\n searchPageURL: string;\n searchQsp: string | undefined;\n hitPrefix: string;\n hitSuffix: string;\n autoSuggestProps: ISearchProps;\n searchText: string;\n suggestions: SearchSuggestion[] | undefined;\n telemetry: ITelemetry;\n moduleType: string;\n moduleId: string;\n telemetryContent?: ITelemetryContent;\n resources?: ISearchProductSuggestResources;\n}\n\nexport interface ISearchProductViewProps {\n title: React.ReactNode;\n items: ISearchProductItemViewProps[];\n}\n\nexport interface ISearchProductItemViewProps {\n text: React.ReactNode;\n thumbnail: React.ReactNode;\n price: React.ReactNode;\n LiProduct: INodeProps;\n AProduct: INodeProps;\n id: string | undefined;\n}\n\nlet payLoad: IPayLoad;\nlet telemetryContent: ITelemetryContent | undefined;\n\n/**\n * ProductSuggestionsComponent.\n * @param props\n */\nexport const ProductSuggestionsComponent = (props: ISearchProductSuggestProps): ISearchProductViewProps | undefined => {\n const {\n suggestions,\n hitSuffix,\n hitPrefix,\n autoSuggestProps: {\n context: { actionContext },\n resources: { productSuggestionHeading }\n },\n moduleType,\n moduleId\n } = props;\n const reactNodes: ISearchProductItemViewProps[] = [];\n telemetryContent = props.telemetryContent;\n payLoad = getPayloadObject('click', props.telemetryContent!, '');\n\n suggestions?.map(item => {\n reactNodes.push(_assembleNode(item, hitPrefix, hitSuffix, actionContext, props, moduleType, moduleId));\n });\n\n const titleNode = _renderTitle(productSuggestionHeading);\n\n return { title: titleNode, items: reactNodes };\n};\n\nconst _renderTitle = (productSuggestionHeading: string) => {\n const productAutoSuggestionHeading = productSuggestionHeading ? productSuggestionHeading : 'Go to products';\n\n return
  • {productAutoSuggestionHeading}
  • ;\n};\n\nconst _assembleNode = (\n item: SearchSuggestion,\n hitPrefix: string,\n hitSuffix: string,\n actionContext: IActionContext,\n props: ISearchProductSuggestProps,\n moduleType: string,\n moduleId: string\n): ISearchProductItemViewProps => {\n const altText =\n item.Value && item.Value.replace(new RegExp(`[${hitPrefix}]`, 'gi'), '').replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n\n const price = item.Value3?.Value?.DecimalValue;\n return {\n text: _getHighlightedText(item.Value ? item.Value : '', hitPrefix, hitSuffix),\n thumbnail: _renderThumbnail(item, altText ? altText : '', props),\n price: !ObjectExtensions.isNullOrUndefined(price) && _renderPrice(price, price, moduleId, moduleType, props),\n LiProduct: _getLiWrapper(),\n AProduct: _getAWrapper(item, hitPrefix, hitSuffix, actionContext, props),\n id: item.Id\n };\n};\n\nconst _getLiWrapper = () => {\n return {\n className: 'msc-autoSuggest__productResults-item',\n tag: 'li' as NodeTag\n };\n};\n\nconst _getAWrapper = (\n item: SearchSuggestion,\n hitPrefix: string,\n hitSuffix: string,\n actionContext: IActionContext,\n props: ISearchProductSuggestProps\n) => {\n const {\n autoSuggestProps: { context }\n } = props;\n const ariaLabel =\n item.Value && item.Value.replace(new RegExp(`[${hitPrefix}]`, 'gi'), '').replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n\n payLoad.contentAction.recid = item.Id;\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\n const productPrice = context.cultureFormatter.formatCurrency(item.Value3!.Value!.DecimalValue!);\n\n return {\n className: 'msc-autoSuggest__productResults-item',\n tag: 'a' as NodeTag,\n 'aria-label': `${ariaLabel!} ${productPrice}`,\n href: _generateLink(item, hitPrefix, hitSuffix, actionContext),\n ...attribute\n };\n};\n\nconst _generateLink = (suggestion: SearchSuggestion, hitPrefix: string, hitSuffix: string, actionContext: IActionContext) => {\n const formattedLink = (suggestion.Value as string)\n .replace(new RegExp(`[${hitPrefix}]`, 'gi'), '')\n .replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n return suggestion.Value && suggestion.Id\n ? getProductPageUrlSync(formattedLink, (suggestion.Id as unknown) as number, actionContext, undefined)\n : '';\n};\n\nconst _getHighlightedText = (suggestion: string, hitPrefix: string, hitSuffix: string): JSX.Element => {\n const formattedText = suggestion\n .replace(new RegExp(`[${hitPrefix}]`, 'gi'), '')\n .replace(new RegExp(`[${hitSuffix}]`, 'gi'), '');\n\n return (\n // eslint-disable-next-line react/no-danger\n \n );\n};\n\nconst _renderPrice = (\n adjustedPrice: number,\n basePrice: number,\n moduleId: string,\n moduleType: string,\n props: ISearchProductSuggestProps\n): JSX.Element | null => {\n const {\n autoSuggestProps: { context }\n } = props;\n\n return (\n \n );\n};\n\nconst _renderThumbnail = (suggestion: SearchSuggestion, altText: string, props: ISearchProductSuggestProps): JSX.Element | null => {\n const {\n autoSuggestProps: {\n context: {\n request: { gridSettings }\n },\n config: { imageSettings }\n }\n } = props;\n if (imageSettings) {\n imageSettings.cropFocalRegion = true;\n }\n\n if (!suggestion || !suggestion.ImageUrl) {\n props.telemetry.error('Search suggestion content is empty, module wont render.');\n return null;\n }\n\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=40&h=40&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=40&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=40&m=6', w: 0, h: 0 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\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 { Autosuggestions } from '@msdyn365-commerce/commerce-entities';\nimport MsDyn365, { getCatalogId, getUrlSync } from '@msdyn365-commerce/core';\nimport { ProductRefiner, ProductRefinerSource, ProductsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions, Random, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { createSearchStateInput } from '@msdyn365-commerce-modules/search-utilities';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, KeyCodes } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { debounce } from 'lodash';\nimport { Spinner, SpinnerSize } from 'office-ui-fabric-react';\nimport * as React from 'react';\n\nimport getSearchSuggestionsAction, { AutoSuggestInput, SuggestionType } from './actions/get-auto-suggest-suggestions';\nimport {\n CategorySuggestionsComponent,\n FormComponent,\n ISearchCategoryViewProps,\n ISearchKeywordViewProps,\n ISearchProductViewProps,\n KeywordSuggestionsComponent,\n LabelComponent,\n ProductSuggestionsComponent\n} from './components';\nimport { ISearchData } from './search.data';\nimport { ISearchProps, ISuggestionTypeCriterionData, SuggestionTypeCriterionSuggestionType } from './search.props.autogenerated';\n\nexport interface ISearchState {\n isSearchFormExpanded: boolean;\n searchText: string;\n searchKeywordSuggestClass: string;\n searchProductSuggestClass: string;\n searchCategorySuggestClass: string;\n suggestions: Autosuggestions | undefined;\n searchRefiners?: ProductRefiner[] | undefined;\n autoSuggestAriaLabel: string;\n isInitialState: boolean;\n isLoadingAutoSuggest?: boolean;\n}\n\nexport interface ISearchViewProps extends ISearchProps {\n Search: IModuleProps;\n AutoSuggestAriaLabel: INodeProps;\n AutoSuggestAriaLabelText: string;\n searchText: string;\n AutoSuggest: INodeProps;\n KeywordSuggest: INodeProps;\n ProductSuggest: INodeProps;\n CategorySuggest: INodeProps;\n SearchForm: INodeProps;\n FormWrapper: INodeProps;\n UlKeyword: INodeProps;\n UlProduct: INodeProps;\n UlCategory: INodeProps;\n label: React.ReactNode;\n form: React.ReactNode;\n autosuggestKeyword?: ISearchKeywordViewProps;\n autosuggestProduct?: ISearchProductViewProps;\n autosuggestCategory?: ISearchCategoryViewProps;\n callbacks: {\n handleCancelSearchChange(): void;\n handleCancelSearchFocused?(): void;\n };\n isSearchFormExpanded: boolean;\n isLoadingAutoSuggest?: boolean;\n isLoadingNode?: React.ReactNode;\n}\n\n/**\n *\n * Search module.\n * @extends {React.Component, ISearchState>}\n */\nclass Search extends React.Component, ISearchState> {\n private readonly searchTextInput: React.RefObject;\n\n private readonly searchCollapsedLabel: React.RefObject;\n\n private readonly formReference: React.RefObject;\n\n private readonly maxChars: number;\n\n private readonly topResultsCount?: number;\n\n private readonly hitPrefix: string = '{';\n\n private readonly hitSuffix: string = '}';\n\n private readonly waitTime: number = 500;\n\n private readonly autoSuggestResultScreenReaderDiv: React.RefObject;\n\n private readonly autoSuggestResultDiv: React.RefObject;\n\n private readonly searchFormClass: string;\n\n private readonly searchLabelClass: string;\n\n private readonly telemetryContent: ITelemetryContent;\n\n private loadSuggestionsRequestId?: string;\n\n private inputSuggestionType: ISuggestionTypeCriterionData[];\n\n // @ts-expect-error\n private cancellabelDebounce: debounce;\n\n public constructor(props: ISearchProps) {\n super(props);\n this.searchTextInput = React.createRef();\n this.searchCollapsedLabel = React.createRef();\n this.autoSuggestResultScreenReaderDiv = React.createRef();\n this.autoSuggestResultDiv = React.createRef();\n this.formReference = React.createRef();\n this.state = {\n isSearchFormExpanded: false,\n searchText: '',\n searchKeywordSuggestClass: 'ms-search__autoSuggest__keyword',\n searchProductSuggestClass: 'ms-search__autoSuggest__product',\n searchCategorySuggestClass: 'ms-search__autoSuggest__category',\n suggestions: undefined,\n searchRefiners: undefined,\n autoSuggestAriaLabel: '',\n isInitialState: true,\n isLoadingAutoSuggest: false\n };\n this.maxChars =\n (this.props.context &&\n this.props.context.app &&\n this.props.context.app.config &&\n this.props.context.app.config.searchInputMaxLength) ||\n 50;\n\n this.inputSuggestionType = [];\n this.topResultsCount = this.props.config && this.props.config.topResultsCount ? this.props.config.topResultsCount : 5;\n this.searchFormClass = 'ms-search__form';\n this.searchLabelClass = 'ms-search__label';\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this._initSuggestionTypes();\n }\n\n public async componentDidMount(): Promise {\n document.body && document.body.addEventListener('mousedown', this._focusOutTarget);\n window && window.addEventListener('keyup', this._keyup);\n }\n\n public componentWillUnmount(): void {\n document.body && document.body.removeEventListener('mousedown', this._focusOutTarget, false);\n window && window.removeEventListener('keyup', this._keyup, false);\n }\n\n public componentDidUpdate(): void {\n const {\n config: { hideSearchLabel }\n } = this.props;\n const { isSearchFormExpanded, isInitialState } = this.state;\n\n if (!this.props.context.request.params.isEditor) {\n if (!hideSearchLabel && isSearchFormExpanded) {\n this.searchTextInput && this.searchTextInput.current && this.searchTextInput.current.focus();\n } else if (!isInitialState) {\n this.searchCollapsedLabel && this.searchCollapsedLabel.current && this.searchCollapsedLabel.current.focus();\n }\n }\n }\n\n public shouldComponentUpdate(nextProps: ISearchProps, nextState: ISearchState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n // eslint-disable-next-line complexity -- ignore complexity.\n public render(): JSX.Element {\n const {\n context,\n resources: { searchtext, searchLabelArialLabel, cancelBtnAriaLabel, searchBtnAriaLabel, submitBtnAriaLabel },\n config: { hideSearchLabel, disableSubmitSearch, searchplaceholderText, shouldShowFullCategoryPath, className = '' }\n } = this.props;\n\n const {\n isSearchFormExpanded,\n searchText,\n searchKeywordSuggestClass,\n searchProductSuggestClass,\n searchCategorySuggestClass,\n suggestions,\n searchRefiners,\n isLoadingAutoSuggest\n } = this.state;\n\n const searchQsp = (context && context.app && context.app.config && context.app.config.searchQueryStringParameter) || 'q';\n const searchPageURL = getUrlSync('search', context && context.actionContext) || '';\n const searchURL = this._appendQueryParams(searchPageURL, searchText, searchQsp);\n const searchPlaceholder = searchplaceholderText && searchplaceholderText.length > 0 ? searchplaceholderText : 'Search in Fabrikam';\n\n const keywordSuggestions = suggestions?.AllSearchResults?.filter(\n suggestion => suggestion.SuggestionType === SuggestionType.Keyword || suggestion.SuggestionType === SuggestionType.None\n );\n const productSuggestions = suggestions?.AllSearchResults?.filter(\n suggestion => suggestion.SuggestionType === SuggestionType.Product\n );\n const categoryRefiners = searchRefiners?.find(refiner => {\n return refiner.SourceValue === ProductRefinerSource.Category;\n });\n const categorySuggestions = suggestions?.AllSearchResults?.filter(suggestion => {\n if (suggestion.SuggestionType !== SuggestionType.Category) {\n return false;\n }\n const refiner = categoryRefiners?.Values?.find(item => {\n return `${item.RefinerRecordId ?? 0}` === suggestion.Id;\n });\n\n return !ObjectExtensions.isNullOrUndefined(refiner);\n });\n\n const viewProps: ISearchViewProps = {\n ...(this.props as ISearchProps),\n\n Search: {\n moduleProps: this.props,\n className: `${classnames('ms-search', className)} ${disableSubmitSearch ? 'no-submit' : 'with-submit'}`\n },\n AutoSuggestAriaLabel: {\n tag: 'div',\n className: 'msc-autoSuggest__screen-reader',\n 'aria-live': 'assertive',\n ref: this.autoSuggestResultScreenReaderDiv\n },\n AutoSuggestAriaLabelText: this.state.autoSuggestAriaLabel,\n searchText: this.state.searchText,\n AutoSuggest: {\n ref: this.autoSuggestResultDiv,\n className: 'ms-search__autoSuggest'\n },\n KeywordSuggest: {\n className: searchKeywordSuggestClass\n },\n ProductSuggest: {\n className: searchProductSuggestClass\n },\n CategorySuggest: {\n className: searchCategorySuggestClass\n },\n SearchForm: {\n className: `${this.searchFormClass} ${isSearchFormExpanded ? 'bx-show' : 'bx-hide'}`\n },\n FormWrapper: {\n tag: 'form',\n ref: this.formReference,\n className: 'ms-search__searchForm',\n 'aria-label': 'Search',\n name: 'searchForm',\n role: 'search',\n action: searchURL,\n autoComplete: 'off',\n onSubmit: this._handleSubmit\n },\n UlKeyword: {\n tag: 'ul',\n className: classnames('msc-autoSuggest__keywordResults-items', className)\n },\n UlProduct: {\n tag: 'ul',\n className: classnames('msc-autoSuggest__productResults-items', className)\n },\n UlCategory: {\n tag: 'ul',\n className: classnames('msc-autoSuggest__categoryResults-items', className)\n },\n label: LabelComponent({\n isSearchFormExpanded,\n searchLabelClass: `${this.searchLabelClass} ${isSearchFormExpanded ? 'bx-hide' : 'bx-show'}`,\n searchtext,\n searchLabelArialLabel,\n searchCollapsedLabel: this.searchCollapsedLabel,\n hideSearchLabel,\n handleCancelSearchChange: this._handleCancelSearchChange,\n telemetryContent: this.telemetryContent\n }),\n form: FormComponent({\n ariaLabelCancel: cancelBtnAriaLabel,\n ariaLabelSearch: searchBtnAriaLabel,\n ariaLabelSubmit: submitBtnAriaLabel,\n hideSearchLabel,\n searchTextInput: this.searchTextInput,\n disableSubmitSearch,\n handleInputChange: this._handleInputChange,\n handleCancelSearchChange: this._handleCancelSearchChange,\n maxChars: this.maxChars,\n searchQsp,\n searchPlaceholder,\n query: searchText\n }),\n autosuggestKeyword:\n searchText &&\n searchText.length > 0 &&\n (isLoadingAutoSuggest || (keywordSuggestions && ArrayExtensions.hasElements(keywordSuggestions)))\n ? KeywordSuggestionsComponent({\n searchKeywordSuggestClass,\n searchPageURL,\n searchQsp,\n hitPrefix: this.hitPrefix,\n hitSuffix: this.hitSuffix,\n autoSuggestProps: this.props,\n searchText,\n suggestions: keywordSuggestions,\n telemetryContent: this.telemetryContent\n })\n : undefined,\n autosuggestProduct:\n searchText &&\n searchText.length > 0 &&\n (isLoadingAutoSuggest || (productSuggestions && ArrayExtensions.hasElements(productSuggestions)))\n ? ProductSuggestionsComponent({\n searchProductSuggestClass,\n searchPageURL,\n searchQsp,\n hitPrefix: this.hitPrefix,\n hitSuffix: this.hitSuffix,\n autoSuggestProps: this.props,\n searchText,\n suggestions: productSuggestions,\n telemetry: this.props.telemetry,\n moduleType: this.props.typeName,\n moduleId: this.props.id,\n telemetryContent: this.telemetryContent,\n resources: this.props.resources\n })\n : undefined,\n autosuggestCategory:\n searchText &&\n searchText.length > 0 &&\n (isLoadingAutoSuggest || (categorySuggestions && ArrayExtensions.hasElements(categorySuggestions)))\n ? CategorySuggestionsComponent({\n searchCategorySuggestClass,\n searchPageURL,\n searchQsp,\n hitPrefix: this.hitPrefix,\n hitSuffix: this.hitSuffix,\n autoSuggestProps: this.props,\n searchText,\n suggestions: categorySuggestions,\n searchRefiners,\n telemetryContent: this.telemetryContent,\n shouldShowFullPath: shouldShowFullCategoryPath\n })\n : undefined,\n callbacks: {\n handleCancelSearchChange: this._handleCancelSearchChange,\n handleCancelSearchFocused: this._handleCancelSearchFocused\n },\n isSearchFormExpanded: this.state.isSearchFormExpanded,\n isLoadingAutoSuggest,\n isLoadingNode: this._isLoadingNode()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _initSuggestionTypes() {\n const suggestionTypes = this.props.config.suggestionTypeCriterion;\n\n const suggestions = ArrayExtensions.unique(ArrayExtensions.validValues(suggestionTypes));\n if (!ArrayExtensions.hasElements(suggestions)) {\n this.inputSuggestionType = [\n { SuggestionType: SuggestionTypeCriterionSuggestionType.keyword },\n { SuggestionType: SuggestionTypeCriterionSuggestionType.product },\n { SuggestionType: SuggestionTypeCriterionSuggestionType.scopedCategory }\n ];\n return;\n }\n\n const validSuggestions = suggestions.filter(suggestion => suggestion.SuggestionType);\n if (ArrayExtensions.hasElements(validSuggestions)) {\n this.inputSuggestionType = validSuggestions;\n return;\n }\n\n this.inputSuggestionType = [];\n }\n\n /**\n * Function to create the ReactNode for loading Autosuggest result.\n * @returns ReachNode for loading Autosuggest result.\n */\n private readonly _isLoadingNode = (): React.ReactNode => {\n const loadingText = this.props.resources.autoSuggestResultLoadingMessage;\n return ;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _focusOutTarget = (e: any): void => {\n const { suggestions } = this.state;\n\n if (suggestions && suggestions.AllSearchResults && e.target.closest('.ms-search') === null) {\n this._clearAutoSuggestState();\n }\n };\n\n private readonly _keyup = (e: KeyboardEvent): void => {\n const { suggestions } = this.state;\n\n if (suggestions && suggestions.AllSearchResults && e.keyCode === KeyCodes.Escape) {\n this._clearAutoSuggestState();\n } else if (this.state.isSearchFormExpanded && e.keyCode === KeyCodes.Escape) {\n if (this.state.isSearchFormExpanded) {\n this.setState({ isSearchFormExpanded: false });\n }\n }\n\n if (\n !(\n (this.formReference.current && this.formReference.current.contains((e.target as unknown) as Node)) ||\n (this.autoSuggestResultDiv.current && this.autoSuggestResultDiv.current.contains((e.target as unknown) as Node))\n )\n ) {\n if (suggestions && suggestions.AllSearchResults) {\n this._clearAutoSuggestState();\n }\n\n if (this.state.isSearchFormExpanded) {\n this.setState({ isSearchFormExpanded: false });\n }\n }\n };\n\n private readonly _clearAutoSuggestState = (): void => {\n const {\n context: { actionContext },\n data: { searchState }\n } = this.props;\n\n if (this.searchTextInput.current && this.searchTextInput.current.value.length > 0) {\n searchState.searchText = '';\n searchState.defaultBasicSearchUrl = '';\n searchState.searchQueryStringParameter = '';\n actionContext ? actionContext.update(createSearchStateInput(searchState), searchState) : null;\n this.searchTextInput.current.value = '';\n }\n\n this.setState({ searchText: '', suggestions: undefined, searchRefiners: undefined });\n };\n\n private async _getSearchSuggestions(loadSuggestionsRequestId: string, query: string) {\n try {\n const searchSuggestions = await getSearchSuggestionsAction(\n new AutoSuggestInput(query, this.topResultsCount, this._getSuggestionType(), this.hitPrefix, this.hitSuffix),\n this.props.context.actionContext\n );\n if (loadSuggestionsRequestId !== this.loadSuggestionsRequestId) {\n return undefined;\n }\n return searchSuggestions;\n } catch (error) {\n if (loadSuggestionsRequestId !== this.loadSuggestionsRequestId) {\n return undefined;\n }\n this.setState({ suggestions: undefined, searchRefiners: undefined, autoSuggestAriaLabel: this._setAutoSuggestResultCount() });\n this.props.telemetry.exception(error);\n this.props.telemetry.debug('Unable to get auto suggest results');\n return undefined;\n }\n }\n\n private async _updateSearchRefiners(loadSuggestionsRequestId: string, query: string, suggestions: Autosuggestions | undefined) {\n try {\n const refiners = await this._getSearchRefiners(query);\n if (loadSuggestionsRequestId !== this.loadSuggestionsRequestId) {\n return;\n }\n this.setState({\n suggestions,\n searchRefiners: refiners,\n autoSuggestAriaLabel: this._setAutoSuggestResultCount(suggestions),\n isLoadingAutoSuggest: false\n });\n } catch (error) {\n if (loadSuggestionsRequestId !== this.loadSuggestionsRequestId) {\n return;\n }\n this.setState({ suggestions, searchRefiners: undefined, autoSuggestAriaLabel: this._setAutoSuggestResultCount(suggestions) });\n this.props.telemetry.exception(error);\n this.props.telemetry.debug('Unable to get refiners results');\n }\n }\n\n private _loadSuggestions(query: string) {\n this.cancellabelDebounce = debounce(async () => {\n this.setState({ isLoadingAutoSuggest: true });\n const loadSuggestionsRequestId = Random.Guid.generateGuid();\n this.loadSuggestionsRequestId = loadSuggestionsRequestId;\n const searchSuggestions = await this._getSearchSuggestions(loadSuggestionsRequestId, query);\n await this._updateSearchRefiners(loadSuggestionsRequestId, query, searchSuggestions);\n }, this.waitTime);\n\n setTimeout(() => {\n this.cancellabelDebounce();\n }, 0);\n }\n\n private readonly _handleInputChange = (query: string): void => {\n if (!query || query.length <= this.maxChars) {\n this.setState({ searchText: query });\n }\n\n if (this.cancellabelDebounce) {\n this.cancellabelDebounce.cancel();\n }\n\n const {\n context,\n data: { searchState }\n } = this.props;\n\n if (context) {\n if (query && query.length > 0) {\n if (query.length > this.maxChars) {\n return;\n }\n\n if (ArrayExtensions.hasElements(this.inputSuggestionType)) {\n this._loadSuggestions(query);\n }\n\n searchState.searchText = query;\n } else {\n this.setState({ suggestions: undefined, searchRefiners: undefined });\n searchState.searchText = '';\n }\n context.actionContext.update(createSearchStateInput(searchState), searchState);\n }\n };\n\n private _getSuggestionType(): string {\n const distinctSuggestionTypes: string[] = this.inputSuggestionType.map(\n suggestionTypeItem => suggestionTypeItem.SuggestionType!.charAt(0).toUpperCase() + suggestionTypeItem.SuggestionType!.slice(1)\n );\n return distinctSuggestionTypes.join(',');\n }\n\n private async _getSearchRefiners(searchText: string): Promise {\n const { actionContext: ctx } = this.props.context;\n const catalogId = getCatalogId(ctx.requestContext);\n validateCatalogId(catalogId);\n return ProductsDataActions.getProductSearchRefinersAsync(\n { callerContext: ctx },\n {\n SearchCondition: searchText,\n Context: {\n ChannelId: +ctx.requestContext.apiSettings.channelId,\n CatalogId: catalogId\n }\n }\n );\n }\n\n private readonly _handleSubmit = (\n e: React.MouseEvent | React.KeyboardEvent | React.FormEvent\n ): void => {\n const {\n config: { disableSubmitSearch },\n context: {\n actionContext,\n app: {\n config: { searchQueryStringParameter }\n }\n }\n } = this.props;\n\n const query = this.searchTextInput.current && this.searchTextInput.current.value;\n e.preventDefault();\n\n if (!query || (query && query.length === 0) || disableSubmitSearch) {\n this.searchTextInput && this.searchTextInput.current && this.searchTextInput.current.focus();\n } else {\n const searchQsp = searchQueryStringParameter || 'q';\n const searchURL = this._appendQueryParams(getUrlSync('search', actionContext) || '', query, searchQsp);\n document.location.href = searchURL;\n }\n };\n\n private readonly _handleCancelSearchChange = (): void => {\n const { isSearchFormExpanded, suggestions } = this.state;\n\n if (!isSearchFormExpanded) {\n this.setState({\n isSearchFormExpanded: true,\n searchText: '',\n isInitialState: false\n });\n } else {\n if (suggestions && suggestions.AllSearchResults) {\n this._clearAutoSuggestState();\n }\n this.setState({ isSearchFormExpanded: false });\n }\n };\n\n private readonly _handleCancelSearchFocused = (): void => {\n const { suggestions } = this.state;\n if (!(suggestions && suggestions.AllSearchResults)) {\n this._clearAutoSuggestState();\n this.setState({ isSearchFormExpanded: false });\n }\n };\n\n private readonly _appendQueryParams = (route: string, query: string, qsp: string): string => {\n if (!MsDyn365.isBrowser) {\n return '';\n }\n\n const queryUrl = new URL(route, window.location.href);\n if (qsp && query) {\n queryUrl.searchParams.set(qsp, query);\n }\n\n return queryUrl.href;\n };\n\n private readonly _setAutoSuggestResultCount = (result?: Autosuggestions) => {\n if (this.autoSuggestResultScreenReaderDiv.current !== null) {\n const ariaLiveRegion = this.autoSuggestResultScreenReaderDiv.current;\n const suggestResultString = this.props.resources.autoSuggestFoundMessage;\n const emptyResultString = this.props.resources.noAutoSuggestionMessage;\n ariaLiveRegion.innerText =\n result && result.AllSearchResults && result.AllSearchResults.length > 0 ? suggestResultString : emptyResultString;\n ariaLiveRegion.setAttribute('aria-live', 'assertive');\n return ariaLiveRegion.innerText;\n }\n return '';\n };\n}\n\nexport default Search;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISingleOrderTemplateViewProps } from './components';\nimport { IOrderTemplateListViewProps } from './order-template-list';\n\nexport const OrderTemplateListView: React.FC = props => {\n const {\n OrderTemplateList,\n status,\n statusMessage,\n heading,\n OrderTemplates,\n orderTemplates,\n OrderTemplate,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n {status !== 'SUCCESS' && statusMessage}\n \n {createOrderTemplateButton}\n {templateHeaderStatusMessage}\n \n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\n \n {orderTemplates &&\n orderTemplates.map(orderTemplate => {\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n \n );\n};\n\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\nexport default OrderTemplateListView;\n","import React from 'react';\r\nimport { ICartLineProps } from './cartlineitem.component';\r\nimport { ICartLineProps as ICheckoutCartLineProps } from './cartlineitem-variant.component';\r\nimport { getSelectedVariant, SelectedVariantInput } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\n\r\ninterface IMasterProdDisplay {\r\n masterProdId: number,\r\n variantName: string,\r\n props: ICartLineProps | ICheckoutCartLineProps\r\n}\r\nexport class MasterProdDisplay extends React.Component {\r\n constructor(props: IMasterProdDisplay) {\r\n super(props);\r\n this.state = {\r\n prodName: ''\r\n };\r\n }\r\n public componentDidMount() {\r\n const masterProductInput = new SelectedVariantInput(this.props.masterProdId, this.props.props.context.request.apiSettings.channelId);\r\n getSelectedVariant(masterProductInput, this.props.props.context.actionContext).then(masterProduct => {\r\n this.setState({ prodName: masterProduct?.Name || '' });\r\n }).catch(e => console.error(e));\r\n }\r\n\r\n public render(): JSX.Element {\r\n let name = {this.props.variantName};\r\n if (this.state.prodName !== '') {\r\n name = {this.state.prodName} - {this.props.variantName};\r\n }\r\n return name;\r\n }\r\n}\r\n\r\nexport async function getMasterProduct(masterId: number, ctx: IActionContext): Promise {\r\n const masterProductInput = new SelectedVariantInput(masterId, ctx.requestContext.apiSettings.channelId);\r\n return getSelectedVariant(masterProductInput, ctx);\r\n}","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { createObservableDataAction, IAction, IActionContext, sendRequest } from '@msdyn365-commerce/core';\n\nimport { SubmitUserReviewInput } from './inputs/submit-user-review-input';\n\n/**\n * This data action allows submitting review to the reviews service.\n * @param input This user review submission text.\n * @param ctx The data action context.\n */\nasync function submitReview(input: SubmitUserReviewInput, ctx: IActionContext): Promise {\n if (!inputIsValid(input)) {\n ctx.trace(`[SubmitUserReview] Failed to submit reviews for product due to bad input ${input}`);\n return '';\n }\n\n const requestUrl =\n `${input.serviceEndpoint}/v2.0/reviews/product/${input.productId}/user?` +\n `tenantId=${input.tenantId}&` +\n `channelId=${input.channelId}&` +\n `locale=${input.locale}`;\n\n return sendRequest(requestUrl, 'post', input.userReviewData, { headers: { Authorization: `id_token ${input.authorization}` } })\n .then(response => {\n if (response.status !== 200 && response.status !== 201) {\n ctx.trace('[SubmitUserReview] Failed to submit reviews for product');\n ctx.trace(response.data);\n return '';\n }\n return response.data;\n })\n .catch(error => {\n ctx.trace('[SubmitUserReview] Failed to submit reviews for product');\n ctx.telemetry.exception(error);\n ctx.telemetry.debug('[SubmitUserReview] Failed to submit reviews for product');\n ctx.trace(error);\n return '';\n });\n}\n\nfunction inputIsValid(input: SubmitUserReviewInput): boolean {\n return input && !!input.productId && !!input.tenantId;\n}\n\nexport const submitReviewDataAction = createObservableDataAction({\n id: '@msdyn365-commerce-modules/ratings-reviews/submit-user-review',\n action: >submitReview\n});\n\nexport default submitReviewDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { OrderOriginator, OrderShipments } from '@msdyn365-commerce/retail-proxy';\nimport { Label } from '../../common/label';\nimport {\n getSalesOrderHistoryWithHydrationsAction,\n GetSalesOrderHistoryWithHydrationsInput,\n IOrderHistory,\n IPaging\n} from './actions/get-order-shipment-history';\nimport { getOriginatorsAction, GetOrderOriginatorsInput } from '../../actions/get-sales-order-originators';\nimport { getSalesOrder, ISalesOrder } from './components/get-sales-order';\nimport { OrderHistoryFilterComponent, OrderHistoryFilterState } from './components/order-history-filter';\nimport { OrderHistoryTableComponent } from './components/table-view';\nimport { IOrderHistoryData } from './order-history.data';\nimport { IOrderHistoryProps } from './order-history.props.autogenerated';\n\n/**\n * Specifies different layouts for order history.\n */\nexport enum OrderHistoryViewMode {\n listView = 0,\n detailedView = 1\n}\n\nexport interface IHeader {\n headerProps: INodeProps;\n heading: React.ReactNode;\n orderCountLabel?: React.ReactNode;\n extraActions?: React.ReactNode;\n}\n\nexport interface IList {\n listProps: INodeProps;\n salesOrders: ISalesOrder[];\n}\n\nexport interface IOrderHistoryViewState {\n isDataReady: boolean;\n hasError: boolean;\n isLoading: boolean;\n isShowMoreButton: boolean;\n errorCode?: string;\n errorMessage?: string;\n}\n\nexport interface IOrderHistoryViewProps extends IOrderHistoryProps {\n orderHistory: IOrderHistory;\n orderHistoryProps: IModuleProps;\n alert?: React.ReactNode;\n loading?: React.ReactNode;\n emptyMessage?: React.ReactNode;\n header: IHeader;\n backToShoppingLink?: React.ReactNode;\n list?: IList;\n table?: React.ReactNode;\n moreButton?: React.ReactNode;\n viewState: IOrderHistoryViewState;\n}\n\n/**\n *\n * OrderHistory component.\n * @extends {React.Component>}\n */\n@observer\nclass OrderHistory extends React.Component> {\n @observable private orderHistory!: IOrderHistory;\n\n @observable private viewState!: IOrderHistoryViewState;\n\n @observable private _viewMode: OrderHistoryViewMode;\n\n private originatorList!: OrderOriginator[];\n\n private filterState: OrderHistoryFilterState;\n\n private pageSize!: number;\n\n private paging!: IPaging;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n constructor(props: IOrderHistoryProps) {\n super(props);\n this.initState();\n this._viewMode = OrderHistoryViewMode.detailedView;\n this.filterState = OrderHistoryFilterState.CurrentUser;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this.payLoad = getPayloadObject('click', this.telemetryContent, '');\n }\n\n public componentDidMount(): void {\n if (this.props.context.actionContext.requestContext.user.isAuthenticated) {\n this._updateOrderHistory();\n } else {\n this.viewState.isDataReady = true;\n }\n }\n\n public shouldComponentUpdate(nextProps: IOrderHistoryProps, nextState: IOrderHistoryViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n config: { heading, className, showChannelInfo, shouldShowCount },\n resources: {\n genericErrorMessage,\n noOrderHistoryLable,\n moreButtonText,\n backToShopping,\n orderCountLabel,\n ordersCountLabel,\n loadingLabel\n }\n } = this.props;\n const { salesOrders, products } = this.orderHistory;\n const { isDataReady, hasError, isShowMoreButton, isLoading } = this.viewState;\n const backToShoppingUrl = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\n const channelIdentities = this.props.data.channels.result && this.props.data.channels.result.channelIdentities;\n const orgUnitLocations = this.props.data.orgUnitLocations.result && this.props.data.orgUnitLocations.result.orgUnitLocations;\n const customer = this.props.data.customerInformation && this.props.data.customerInformation.result;\n\n let viewProps: IOrderHistoryViewProps = {\n ...this.props,\n orderHistory: this.orderHistory,\n viewState: this.viewState,\n orderHistoryProps: {\n moduleProps: this.props,\n className: classname('ms-order-history', className)\n },\n header: {\n headerProps: { className: 'ms-order-history__header' },\n heading: heading && heading.text && (\n \n ),\n extraActions: this.renderExtraActions()\n },\n backToShoppingLink: backToShoppingUrl && (\n \n )\n };\n\n if (hasError) {\n viewProps = {\n ...viewProps,\n alert: