{"version":3,"sources":["webpack:///./src/themes/connselmer2/views/buybox.view.tsx?45f9","webpack:///./src/modules/two-column-layout/two-column-layout.view.tsx?507e","webpack:///./src/modules/two-column-layout/two-column-layout.tsx?be0a","webpack:///./src/themes/connselmer/views/buybox.view.tsx?239e","webpack:///./src/themes/leblanc/views/buybox.view.tsx?21f6"],"names":["_renderLongFields","product","undefined","_product$ExtensionPro","_vals","_titles","_results","ExtensionProperties","forEach","element","_element$Value","includes","Key","Value","StringValue","push","_renderCollapse","indexOf","React","map","item","html","title","className","ReactHtmlParser","_renderSearchName","searchName","_product$ExtensionPro2","_element$Value2","_element$Value3","_renderCurrencyCode","_currencyCode","_product$ExtensionPro3","_element$Value4","_element$Value5","_element$Value6","toLowerCase","_renderLevelScale","props","scaleLevel","scaleClass","_product$ExtensionPro4","_element$Value7","_element$Value8","_element$Value9","toLocaleLowerCase","_showPrice","showPrice","_product$ExtensionPro5","_element$Value10","BooleanValue","_renderAddToCart","addToCart","ContainerProps","errorBlock","button","Node","Object","assign","_renderAddToOrderTemplate","addToOrderTemplate","_renderAddToWishlist","addToWishlist","_renderConfigure","configure","parent_props","dropdowns","dropdown","i","_renderConfigureDropdown","_renderSocialShare","socialShare","length","counter","LabelContainerProps","heading","errors","select","productDimensionColor","productDimensionSize","productDimensionType","data","result","_product$ExtensionPro6","_element$Value11","_element$Value13","_element$Value15","_element$Value12","_element$Value14","_element$Value16","_renderFindInStore","findInStore","storeSelector","description","modal","productPickupOptionList","_renderQuantity","quantity","input","_renderKeyInPrice","keyInPrice","_renderShopSimilarItem","shopSimilarItem","BuyboxView","ProductInfoContainerProps","price","rating","inventoryLabel","shopSimilarLook","shopSimilarDescription","unitOfMeasure","productAttribute","setProductAttribute","useState","_props$data$productDi","async","_props$data$product$r","context","actionContext","recordID","RecordId","channelID","request","apiSettings","channelId","catelogID","catalogId","getAttribute","getAttributeValuesAsync","callerContext","_getAttriAsync","productDimensions","dimension","_dimension$ExtensionP","dimension_type","DimensionTypeValue","dimension_values","value","_value$Value","JSON","parse","dimensions","type_dimension","dropDowns","document","getElementsByClassName","valves","getElementById","material","_dropDowns$i$firstEle","dropDown_for","firstElementChild","search_against","slice","toString","$element","lastChild","classList","contains","$options","children","z","is_exist","y","textContent","VALUE","remove","option_elem","createElement","setAttribute","add","appendChild","$select","options","text","inject_dimensions","id","mediaGallery","slots","bulkPurchaseLink","href","attribute","TextValue","scope","Name","config","cusLeftBootstrapClass","cusLeftTextfield","cusRightBootstrapClass","cusRightIframeHeading","src","cusRightIframeSrc","height","cusRightIframeAriaLabel","TwoColumnLayout","render","this","renderView"],"mappings":"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","file":"static/js/11.b95182baaaab1201f55c.chunk.js","sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport {\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxAddToOrderTemplateViewProps,\r\n IBuyboxAddToWishlistViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxShopSimilarLookViewProps\r\n} from '@msdyn365-commerce-modules/buybox/src/modules/buybox/../../common';\r\nimport { IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./buybox';\r\nimport { IBuyboxFindInStoreViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./components/buybox-find-in-store';\r\n//import { getProductDimensions Async, getProductRefiners Async } from '../../../dataService/DataActionExtension.g';\r\nimport { AttributeValue, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport { getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { useState } from 'react';\r\n\r\n//Commented out Description (the OOtB desc) since we're not using it for now.\r\nconst BuyboxView: React.FC = props => {\r\n const {\r\n /*MediaGalleryContainerProps,*/ ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n configure,\r\n /*description,*/ findInStore,\r\n quantity,\r\n price,\r\n title,\r\n rating,\r\n inventoryLabel,\r\n shopSimilarLook,\r\n keyInPrice,\r\n shopSimilarDescription,\r\n unitOfMeasure\r\n } = props;\r\n\r\n const [productAttribute, setProductAttribute] = useState([]);\r\n // Get Attribute Call\r\n const _getAttriAsync = async (props: IBuyboxViewProps) => {\r\n const context = props.context.actionContext;\r\n const recordID: number = props.data.product.result?.RecordId!;\r\n const channelID = props.context.request.apiSettings.channelId;\r\n const catelogID = props.context.request.apiSettings.catalogId;\r\n const getAttribute: AttributeValue[] = await getAttributeValuesAsync({ callerContext: context }, recordID, channelID, catelogID);\r\n\r\n setProductAttribute(getAttribute);\r\n };\r\n // Product Attribute Rendering HTML\r\n const renderProductAttributes = () => {\r\n return (\r\n <>\r\n

Product Attributes

\r\n \r\n \r\n {productAttribute.map(attribute => (\r\n \r\n {attribute.TextValue !== '' && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
{attribute.Name}{attribute.TextValue}
\r\n \r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n _getAttriAsync(props);\r\n\r\n props.data.productDimensions.result?.forEach(dimension => {\r\n let dimension_type = dimension.DimensionTypeValue;\r\n let dimension_values: any = '';\r\n dimension.ExtensionProperties?.forEach(value => {\r\n if (value.Key == 'AllDimensions') {\r\n dimension_values = value.Value?.StringValue;\r\n }\r\n });\r\n if (dimension_values !== '') {\r\n dimension_values = JSON.parse(dimension_values);\r\n inject_dimensions(dimension_values, dimension_type);\r\n }\r\n });\r\n\r\n function inject_dimensions(dimensions: any, type_dimension: any) {\r\n let dropDowns = document.getElementsByClassName('ms-buybox__dropdown');\r\n //Get the dropdown html by using ID\r\n const valves = document.getElementById('valves');\r\n const material = document.getElementById('material');\r\n for (let i = 0; i < dropDowns.length; i++) {\r\n let dropDown_for = dropDowns[i].firstElementChild?.getAttribute('for');\r\n let dimension_type;\r\n if (dropDown_for != null) {\r\n let search_against = 'ms-buybox__dropown-quantity-input-';\r\n dimension_type = dropDown_for.slice(dropDown_for.indexOf(search_against) + search_against.length);\r\n if (dimensions !== undefined && dimension_type == type_dimension.toString()) {\r\n let $element = dropDowns[i].lastChild as HTMLDivElement;\r\n if ($element.classList.contains('msc-swatch-container')) {\r\n //SWATCH\r\n let $options = $element.children as HTMLCollection;\r\n for (let z = 0; z < dimensions.length; z++) {\r\n let is_exist = false;\r\n for (let y = 0; y < $options.length; y++) {\r\n if ($options[y].textContent == dimensions[z].VALUE) {\r\n is_exist = true;\r\n //Remove duplicate\r\n if ($options[y].textContent == material?.textContent) {\r\n material && material.remove();\r\n }\r\n }\r\n }\r\n if (is_exist === false) {\r\n //PUSH the value\r\n let option_elem = document.createElement('button');\r\n option_elem.textContent = dimensions[z].VALUE;\r\n option_elem.setAttribute('disabled', '');\r\n option_elem.classList.add('msc-swatch-container__item');\r\n option_elem.classList.add('msc-swatch-container__item__unselected');\r\n option_elem.classList.add('msc-swatch-container__item__uncolored');\r\n option_elem.setAttribute('id', 'material');\r\n $element.appendChild(option_elem);\r\n }\r\n }\r\n } else {\r\n //DROPDOWN\r\n let $select = dropDowns[i].lastChild as HTMLSelectElement;\r\n let $options = $select.options as HTMLOptionsCollection;\r\n for (let z = 0; z < dimensions.length; z++) {\r\n let is_exist = false;\r\n for (let y = 0; y < $options.length; y++) {\r\n if ($options[y].text == dimensions[z].VALUE) {\r\n is_exist = true;\r\n //Remove duplicate\r\n if ($options[y].text == valves?.textContent) {\r\n valves && valves.remove();\r\n }\r\n }\r\n }\r\n if (is_exist === false) {\r\n //PUSH the value in the dropDown\r\n let option_elem = document.createElement('option');\r\n option_elem.text = dimensions[z].VALUE;\r\n option_elem.setAttribute('disabled', '');\r\n option_elem.setAttribute('id', 'valves');\r\n $select.options.add(option_elem);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return (\r\n
\r\n
\r\n
{props.mediaGallery}
\r\n \r\n
\r\n {title}\r\n {_renderSearchName(props.data.product.result)}\r\n {_renderLevelScale(props, props.data.product.result)}\r\n
\r\n {_showPrice(props.data.product.result) && price}\r\n {_renderCurrencyCode(props.data.product.result)}\r\n
\r\n {_renderSocialShare(props.slots && props.slots.socialShare)}\r\n {configure && _renderConfigure(configure, props)}\r\n {unitOfMeasure}\r\n {props.bulkPurchaseLink}\r\n {/*{description}*/}\r\n {rating}\r\n {/*{getProductDimensions(props.context.actionContext.requestContext, \"PM-102\")}*/}\r\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n {quantity && _renderQuantity(quantity)}\r\n {inventoryLabel}\r\n {addToCart && _renderAddToCart(addToCart)}\r\n {findInStore && _renderFindInStore(findInStore)}\r\n {addToOrderTemplate && _renderAddToOrderTemplate(addToOrderTemplate)}\r\n {addToWishlist && _renderAddToWishlist(addToWishlist)}\r\n {shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\r\n {shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\r\n
\r\n \r\n Find a Dealer\r\n \r\n
\r\n
\r\n {_renderLongFields(props.data.product.result)}\r\n {productAttribute && renderProductAttributes()}\r\n
\r\n
\r\n );\r\n};\r\n\r\n//Loop through the 40+ ExtensionProperties only once (vs 3 times), & then map the 1-3 saved elements to the page.\r\nconst _renderLongFields = (product: SimpleProduct | undefined) => {\r\n if (product !== undefined) {\r\n const _vals: Array = ['ProductDescription', 'ProductFeatures', 'ProductSpecification'];\r\n const _titles: Array = ['Description', 'Features', 'Specifications'];\r\n let _results: JSX.Element[] = []; //create an empty array for stringified HTML\r\n //check for our three sought-after values, and then use the associated title\r\n product.ExtensionProperties?.forEach(element => {\r\n if (_vals.includes(element.Key as string) && element.Value?.StringValue) {\r\n _results.push(_renderCollapse(element.Value.StringValue, _titles[_vals.indexOf(element.Key as string)]));\r\n }\r\n });\r\n return
{_results.map(item => item)}
;\r\n } else {\r\n return <>;\r\n }\r\n};\r\n\r\nconst _renderCollapse = (html: string, title: string) => {\r\n return (\r\n
\r\n

{title}

\r\n {ReactHtmlParser(html)}\r\n
\r\n );\r\n //Didn't want to totally remove the collapse incase we need to revert\r\n /*if(html.length >= 300){\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t
\r\n\t\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\r\n\t\t)\r\n\t}*/\r\n};\r\n//Didn't want to totally remove the collapse incase we need to revert\r\n/*const _showMoreButtonClick = (e:React.MouseEvent) => {\r\n\te.stopPropagation();\r\n\tconsole.log(e.currentTarget.closest('.clps-short')?.classList.toggle('show'));\r\n}*/\r\n\r\nconst _renderSearchName = (product: SimpleProduct | undefined) => {\r\n let searchName = '';\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'SearchName' && element.Value?.StringValue != undefined) {\r\n searchName = element.Value?.StringValue;\r\n }\r\n });\r\n }\r\n return

{searchName}

;\r\n};\r\n\r\nconst _renderCurrencyCode = (product: SimpleProduct | undefined) => {\r\n let _currencyCode = '';\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'CurrencyCode' && element.Value?.StringValue != '' && element.Value?.StringValue != undefined) {\r\n _currencyCode = element.Value?.StringValue;\r\n }\r\n });\r\n }\r\n return {_currencyCode};\r\n};\r\n\r\nconst _renderLevelScale = (props: IBuyboxViewProps, product: SimpleProduct | undefined) => {\r\n let scaleLevel = null;\r\n let scaleClass = null;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'LevelId' && element.Value?.StringValue != undefined) {\r\n scaleLevel = element.Value?.StringValue;\r\n scaleClass = element.Value?.StringValue?.toLocaleLowerCase();\r\n }\r\n });\r\n\r\n // Check if Product Sticker is available or not\r\n if(scaleLevel != null)\r\n {\r\n return
{scaleLevel}
;\r\n }\r\n else{\r\n return null;\r\n }\r\n //end\r\n\r\n } else {\r\n return
{scaleLevel}
;\r\n }\r\n};\r\n\r\nconst _showPrice = (product: SimpleProduct | undefined) => {\r\n let showPrice: boolean = true;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'IsSupressPrice' && element.Value?.BooleanValue == true) {\r\n showPrice = false;\r\n }\r\n });\r\n }\r\n return showPrice;\r\n};\r\n\r\nconst _renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderAddToOrderTemplate = (addToOrderTemplate: IBuyboxAddToOrderTemplateViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToOrderTemplate;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderAddToWishlist = (addToWishlist: IBuyboxAddToWishlistViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToWishlist;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps, parent_props: IBuyboxViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n return (\r\n \r\n {/* {dropdowns.map(_renderConfigureDropdown, productDimension)} */}\r\n {dropdowns.map((dropdown, i) => {\r\n return _renderConfigureDropdown(dropdown, parent_props, i);\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) return undefined;\r\n return (\r\n <>\r\n {socialShare[0]}\r\n
\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigureDropdown = (\r\n dropdown: IBuyboxProductConfigureDropdownViewProps,\r\n parent_props: IBuyboxViewProps,\r\n counter: any\r\n): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n let productDimensionColor = '';\r\n let productDimensionSize = '';\r\n let productDimensionType = '';\r\n //console.log(dropdown.select == '
Color
');\r\n let product = parent_props.data.product.result;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'DimensionOne' && element.Value?.StringValue != undefined) {\r\n productDimensionColor = element.Value?.StringValue;\r\n }\r\n if (element.Key == 'DimensionThree' && element.Value?.StringValue != undefined) {\r\n productDimensionSize = element.Value?.StringValue;\r\n }\r\n if (element.Key == 'DimensionFour' && element.Value?.StringValue != undefined) {\r\n productDimensionType = element.Value?.StringValue;\r\n }\r\n });\r\n return (\r\n \r\n \r\n {counter == 0 && productDimensionColor != ''\r\n ? productDimensionColor\r\n : counter == 1 && productDimensionSize != ''\r\n ? productDimensionSize\r\n : counter == 2 && productDimensionType != ''\r\n ? productDimensionType\r\n : heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {counter == 0 && productDimensionColor != ''\r\n ? productDimensionColor\r\n : counter == 1 && productDimensionSize != ''\r\n ? productDimensionSize\r\n : counter == 2 && productDimensionType != ''\r\n ? productDimensionType\r\n : heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n }\r\n};\r\n\r\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\r\n const { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\r\n return (\r\n \r\n {storeSelector}\r\n {heading}\r\n {productPickupOptionList}\r\n {description}\r\n {errors}\r\n {button}\r\n {modal}\r\n \r\n );\r\n};\r\n\r\nconst _renderQuantity = (quantity: IBuyboxProductQuantityViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n return (\r\n \r\n {heading}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\r\n const { ContainerProps, errors, input } = shopSimilarItem;\r\n return (\r\n \r\n {errors}\r\n {input}\r\n \r\n );\r\n};\r\nexport default BuyboxView;\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 * as React from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport { ITwoColumnLayoutViewProps } from './two-column-layout';\r\n\r\nexport default (props: ITwoColumnLayoutViewProps) => {\r\n return (\r\n
\r\n
\r\n
\r\n {ReactHtmlParser(`${props.config.cusLeftTextfield}`)}\r\n
\r\n
\r\n
\r\n

{props.config.cusRightIframeHeading}

\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\nimport * as React from 'react';\r\n\r\nimport { ITwoColumnLayoutData } from './two-column-layout.data';\r\nimport { ITwoColumnLayoutProps } from './two-column-layout.props.autogenerated';\r\n\r\nexport interface ITwoColumnLayoutViewProps extends ITwoColumnLayoutProps {}\r\n\r\n/**\r\n *\r\n * TwoColumnLayout component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass TwoColumnLayout extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default TwoColumnLayout;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport {\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxAddToOrderTemplateViewProps,\r\n IBuyboxAddToWishlistViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxShopSimilarLookViewProps\r\n} from '@msdyn365-commerce-modules/buybox/src/modules/buybox/../../common';\r\nimport { IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./buybox';\r\nimport { IBuyboxFindInStoreViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./components/buybox-find-in-store';\r\n//import { getProductDimensions Async, getProductRefiners Async } from '../../../dataService/DataActionExtension.g';\r\nimport { AttributeValue, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport { getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { useState } from 'react';\r\n\r\n//Commented out Description (the OOtB desc) since we're not using it for now.\r\nconst BuyboxView: React.FC = props => {\r\n const {\r\n /*MediaGalleryContainerProps,*/ ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n configure,\r\n /*description,*/ findInStore,\r\n quantity,\r\n price,\r\n title,\r\n rating,\r\n inventoryLabel,\r\n shopSimilarLook,\r\n keyInPrice,\r\n shopSimilarDescription,\r\n unitOfMeasure\r\n } = props;\r\n\r\n const [productAttribute, setProductAttribute] = useState([]);\r\n // Get Attribute Call\r\n const _getAttriAsync = async (props: IBuyboxViewProps) => {\r\n const context = props.context.actionContext;\r\n const recordID: number = props.data.product.result?.RecordId!;\r\n const channelID = props.context.request.apiSettings.channelId;\r\n const catelogID = props.context.request.apiSettings.catalogId;\r\n const getAttribute: AttributeValue[] = await getAttributeValuesAsync({ callerContext: context }, recordID, channelID, catelogID);\r\n\r\n setProductAttribute(getAttribute);\r\n };\r\n // Product Attribute Rendering HTML\r\n const renderProductAttributes = () => {\r\n return (\r\n <>\r\n

Product Attribtues

\r\n \r\n \r\n {productAttribute.map(attribute => (\r\n \r\n {attribute.TextValue !== '' && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
{attribute.Name}{attribute.TextValue}
\r\n \r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n _getAttriAsync(props);\r\n\r\n props.data.productDimensions.result?.forEach(dimension => {\r\n let dimension_type = dimension.DimensionTypeValue;\r\n let dimension_values: any = '';\r\n dimension.ExtensionProperties?.forEach(value => {\r\n if (value.Key == 'AllDimensions') {\r\n dimension_values = value.Value?.StringValue;\r\n }\r\n });\r\n if (dimension_values !== '') {\r\n dimension_values = JSON.parse(dimension_values);\r\n inject_dimensions(dimension_values, dimension_type);\r\n }\r\n });\r\n\r\n function inject_dimensions(dimensions: any, type_dimension: any) {\r\n let dropDowns = document.getElementsByClassName('ms-buybox__dropdown');\r\n //Get the dropdown html by using ID\r\n const valves = document.getElementById('valves');\r\n const material = document.getElementById('material');\r\n for (let i = 0; i < dropDowns.length; i++) {\r\n let dropDown_for = dropDowns[i].firstElementChild?.getAttribute('for');\r\n let dimension_type;\r\n if (dropDown_for != null) {\r\n let search_against = 'ms-buybox__dropown-quantity-input-';\r\n dimension_type = dropDown_for.slice(dropDown_for.indexOf(search_against) + search_against.length);\r\n if (dimensions !== undefined && dimension_type == type_dimension.toString()) {\r\n let $element = dropDowns[i].lastChild as HTMLDivElement;\r\n if ($element.classList.contains('msc-swatch-container')) {\r\n //SWATCH\r\n let $options = $element.children as HTMLCollection;\r\n for (let z = 0; z < dimensions.length; z++) {\r\n let is_exist = false;\r\n for (let y = 0; y < $options.length; y++) {\r\n if ($options[y].textContent == dimensions[z].VALUE) {\r\n is_exist = true;\r\n //Remove duplicate\r\n if ($options[y].textContent == material?.textContent) {\r\n material && material.remove();\r\n }\r\n }\r\n }\r\n if (is_exist === false) {\r\n //PUSH the value\r\n let option_elem = document.createElement('button');\r\n option_elem.textContent = dimensions[z].VALUE;\r\n option_elem.setAttribute('disabled', '');\r\n option_elem.classList.add('msc-swatch-container__item');\r\n option_elem.classList.add('msc-swatch-container__item__unselected');\r\n option_elem.classList.add('msc-swatch-container__item__uncolored');\r\n option_elem.setAttribute('id', 'material');\r\n $element.appendChild(option_elem);\r\n }\r\n }\r\n } else {\r\n //DROPDOWN\r\n let $select = dropDowns[i].lastChild as HTMLSelectElement;\r\n let $options = $select.options as HTMLOptionsCollection;\r\n for (let z = 0; z < dimensions.length; z++) {\r\n let is_exist = false;\r\n for (let y = 0; y < $options.length; y++) {\r\n if ($options[y].text == dimensions[z].VALUE) {\r\n is_exist = true;\r\n //Remove duplicate\r\n if ($options[y].text == valves?.textContent) {\r\n valves && valves.remove();\r\n }\r\n }\r\n }\r\n if (is_exist === false) {\r\n //PUSH the value in the dropDown\r\n let option_elem = document.createElement('option');\r\n option_elem.text = dimensions[z].VALUE;\r\n option_elem.setAttribute('disabled', '');\r\n option_elem.setAttribute('id', 'valves');\r\n $select.options.add(option_elem);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return (\r\n
\r\n
\r\n
{props.mediaGallery}
\r\n \r\n
\r\n {title}\r\n {_renderSearchName(props.data.product.result)}\r\n {_renderLevelScale(props, props.data.product.result)}\r\n
\r\n {_showPrice(props.data.product.result) && price}\r\n {_renderCurrencyCode(props.data.product.result)}\r\n
\r\n {_renderSocialShare(props.slots && props.slots.socialShare)}\r\n {configure && _renderConfigure(configure, props)}\r\n {unitOfMeasure}\r\n {props.bulkPurchaseLink}\r\n {/*{description}*/}\r\n {rating}\r\n {/*{getProductDimensions(props.context.actionContext.requestContext, \"PM-102\")}*/}\r\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n {quantity && _renderQuantity(quantity)}\r\n {inventoryLabel}\r\n {addToCart && _renderAddToCart(addToCart)}\r\n {findInStore && _renderFindInStore(findInStore)}\r\n {addToOrderTemplate && _renderAddToOrderTemplate(addToOrderTemplate)}\r\n {addToWishlist && _renderAddToWishlist(addToWishlist)}\r\n {shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\r\n {shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\r\n
\r\n \r\n Find a Dealer\r\n \r\n
\r\n
\r\n {_renderLongFields(props.data.product.result)}\r\n {productAttribute && renderProductAttributes()}\r\n
\r\n
\r\n );\r\n};\r\n\r\n//Loop through the 40+ ExtensionProperties only once (vs 3 times), & then map the 1-3 saved elements to the page.\r\nconst _renderLongFields = (product: SimpleProduct | undefined) => {\r\n if (product !== undefined) {\r\n const _vals: Array = ['ProductDescription', 'ProductFeatures', 'ProductSpecification'];\r\n const _titles: Array = ['Description', 'Features', 'Specifications'];\r\n let _results: JSX.Element[] = []; //create an empty array for stringified HTML\r\n //check for our three sought-after values, and then use the associated title\r\n product.ExtensionProperties?.forEach(element => {\r\n if (_vals.includes(element.Key as string) && element.Value?.StringValue) {\r\n _results.push(_renderCollapse(element.Value.StringValue, _titles[_vals.indexOf(element.Key as string)]));\r\n }\r\n });\r\n return
{_results.map(item => item)}
;\r\n } else {\r\n return <>;\r\n }\r\n};\r\n\r\nconst _renderCollapse = (html: string, title: string) => {\r\n return (\r\n
\r\n

{title}

\r\n {ReactHtmlParser(html)}\r\n
\r\n );\r\n //Didn't want to totally remove the collapse incase we need to revert\r\n /*if(html.length >= 300){\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t
\r\n\t\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\r\n\t\t)\r\n\t}*/\r\n};\r\n//Didn't want to totally remove the collapse incase we need to revert\r\n/*const _showMoreButtonClick = (e:React.MouseEvent) => {\r\n\te.stopPropagation();\r\n\tconsole.log(e.currentTarget.closest('.clps-short')?.classList.toggle('show'));\r\n}*/\r\n\r\nconst _renderSearchName = (product: SimpleProduct | undefined) => {\r\n let searchName = '';\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'SearchName' && element.Value?.StringValue != undefined) {\r\n searchName = element.Value?.StringValue;\r\n }\r\n });\r\n }\r\n return

{searchName}

;\r\n};\r\n\r\nconst _renderCurrencyCode = (product: SimpleProduct | undefined) => {\r\n let _currencyCode = '';\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'CurrencyCode' && element.Value?.StringValue != '' && element.Value?.StringValue != undefined) {\r\n _currencyCode = element.Value?.StringValue;\r\n }\r\n });\r\n }\r\n return {_currencyCode};\r\n};\r\n\r\nconst _renderLevelScale = (props: IBuyboxViewProps, product: SimpleProduct | undefined) => {\r\n let scaleLevel = null;\r\n let scaleClass = null;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'LevelId' && element.Value?.StringValue != undefined) {\r\n scaleLevel = element.Value?.StringValue;\r\n scaleClass = element.Value?.StringValue?.toLocaleLowerCase();\r\n }\r\n });\r\n\r\n // Check if Product Sticker is available or not\r\n if(scaleLevel != null)\r\n {\r\n return
{scaleLevel}
;\r\n }\r\n else{\r\n return null;\r\n }\r\n //end\r\n \r\n } else {\r\n return
{scaleLevel}
;\r\n }\r\n};\r\n\r\nconst _showPrice = (product: SimpleProduct | undefined) => {\r\n let showPrice: boolean = true;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'IsSupressPrice' && element.Value?.BooleanValue == true) {\r\n showPrice = false;\r\n }\r\n });\r\n }\r\n return showPrice;\r\n};\r\n\r\nconst _renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderAddToOrderTemplate = (addToOrderTemplate: IBuyboxAddToOrderTemplateViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToOrderTemplate;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderAddToWishlist = (addToWishlist: IBuyboxAddToWishlistViewProps): JSX.Element => {\r\n const { ContainerProps, errorBlock, button } = addToWishlist;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps, parent_props: IBuyboxViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n return (\r\n \r\n {/* {dropdowns.map(_renderConfigureDropdown, productDimension)} */}\r\n {dropdowns.map((dropdown, i) => {\r\n return _renderConfigureDropdown(dropdown, parent_props, i);\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) return undefined;\r\n return (\r\n <>\r\n {socialShare[0]}\r\n
\r\n \r\n );\r\n};\r\n\r\nconst _renderConfigureDropdown = (\r\n dropdown: IBuyboxProductConfigureDropdownViewProps,\r\n parent_props: IBuyboxViewProps,\r\n counter: any\r\n): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n let productDimensionColor = '';\r\n let productDimensionSize = '';\r\n let productDimensionType = '';\r\n //console.log(dropdown.select == '
Color
');\r\n let product = parent_props.data.product.result;\r\n if (product != undefined) {\r\n product.ExtensionProperties?.forEach(element => {\r\n if (element.Key == 'DimensionOne' && element.Value?.StringValue != undefined) {\r\n productDimensionColor = element.Value?.StringValue;\r\n }\r\n if (element.Key == 'DimensionThree' && element.Value?.StringValue != undefined) {\r\n productDimensionSize = element.Value?.StringValue;\r\n }\r\n if (element.Key == 'DimensionFour' && element.Value?.StringValue != undefined) {\r\n productDimensionType = element.Value?.StringValue;\r\n }\r\n });\r\n return (\r\n \r\n \r\n {counter == 0 && productDimensionColor != ''\r\n ? productDimensionColor\r\n : counter == 1 && productDimensionSize != ''\r\n ? productDimensionSize\r\n : counter == 2 && productDimensionType != ''\r\n ? productDimensionType\r\n : heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {counter == 0 && productDimensionColor != ''\r\n ? productDimensionColor\r\n : counter == 1 && productDimensionSize != ''\r\n ? productDimensionSize\r\n : counter == 2 && productDimensionType != ''\r\n ? productDimensionType\r\n : heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n }\r\n};\r\n\r\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\r\n const { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\r\n return (\r\n \r\n {storeSelector}\r\n {heading}\r\n {productPickupOptionList}\r\n {description}\r\n {errors}\r\n {button}\r\n {modal}\r\n \r\n );\r\n};\r\n\r\nconst _renderQuantity = (quantity: IBuyboxProductQuantityViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n return (\r\n \r\n {heading}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\r\n const { ContainerProps, errors, input } = shopSimilarItem;\r\n return (\r\n \r\n {errors}\r\n {input}\r\n \r\n );\r\n};\r\nexport default BuyboxView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IBuyboxAddToCartViewProps, IBuyboxAddToOrderTemplateViewProps, IBuyboxAddToWishlistViewProps, IBuyboxKeyInPriceViewProps, IBuyboxProductConfigureDropdownViewProps, IBuyboxProductConfigureViewProps, IBuyboxProductQuantityViewProps, IBuyboxShopSimilarLookViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/../../common';\r\nimport { IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./buybox';\r\nimport { IBuyboxFindInStoreViewProps } from '@msdyn365-commerce-modules/buybox/src/modules/buybox/./components/buybox-find-in-store';\r\n//import { getProductDimensions Async, getProductRefiners Async } from '../../../dataService/DataActionExtension.g';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport ReactHtmlParser from 'react-html-parser';\r\n\r\n//Commented out Description (the OOtB desc) since we're not using it for now.\r\nconst BuyboxView: React.FC = props => {\r\n\tconst { /*MediaGalleryContainerProps,*/ ProductInfoContainerProps, addToCart, addToOrderTemplate, addToWishlist, configure, /*description,*/ findInStore, quantity, price, title, rating, inventoryLabel, shopSimilarLook, keyInPrice, shopSimilarDescription, unitOfMeasure } = props;\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{props.mediaGallery}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t{_renderSearchName(props.data.product.result)}\r\n\t\t\t\t\t\t{_renderLevelScale(props, props.data.product.result)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{_showPrice(props.data.product.result) && price}\r\n\t\t\t\t\t\t\t{_renderCurrencyCode(props.data.product.result)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{_renderSocialShare(props.slots && props.slots.socialShare)}\r\n\t\t\t\t\t\t{configure && _renderConfigure(configure, props)}\r\n\t\t\t\t\t\t{unitOfMeasure}\r\n\t\t\t\t\t\t{props.bulkPurchaseLink}\r\n\t\t\t\t\t\t{/*{description}*/}\r\n\t\t\t\t\t\t{rating}\r\n\t\t\t\t\t\t{/*{getProductDimensions(props.context.actionContext.requestContext, \"PM-102\")}*/}\r\n\t\t\t\t\t\t{keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n\t\t\t\t\t\t{quantity && _renderQuantity(quantity)}\r\n\t\t\t\t\t\t{inventoryLabel}\r\n\t\t\t\t\t\t{addToCart && _renderAddToCart(addToCart)}\r\n\t\t\t\t\t\t{findInStore && _renderFindInStore(findInStore)}\r\n\t\t\t\t\t\t{addToOrderTemplate && _renderAddToOrderTemplate(addToOrderTemplate)}\r\n\t\t\t\t\t\t{addToWishlist && _renderAddToWishlist(addToWishlist)}\r\n\t\t\t\t\t\t{shopSimilarLook && _renderShopSimilarItem(shopSimilarLook)}\r\n\t\t\t\t\t\t{shopSimilarDescription && _renderShopSimilarItem(shopSimilarDescription)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\tFind a Dealer\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{_renderLongFields(props.data.product.result)}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\n//Loop through the 40+ ExtensionProperties only once (vs 3 times), & then map the 1-3 saved elements to the page.\r\nconst _renderLongFields = (product: SimpleProduct | undefined) => {\r\n\tif(product !== undefined){\r\n\t\tconst _vals: Array = ['ProductDescription','ProductFeatures','ProductSpecification'];\r\n\t\tconst _titles: Array = ['Description','Features','Specifications'];\r\n\t\tlet _results: JSX.Element[] = [];\t//create an empty array for stringified HTML\r\n\t\t//check for our three sought-after values, and then use the associated title\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif(_vals.includes(element.Key as string) && element.Value?.StringValue){\r\n\t\t\t\t_results.push(_renderCollapse(element.Value.StringValue,_titles[ _vals.indexOf(element.Key as string)]));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn (\r\n\t\t\t
{_results.map(item => item)}
\r\n\t\t)\r\n\t} else {\r\n\t\treturn <>;\r\n\t}\r\n}\r\n\r\nconst _renderCollapse = (html:string, title:string) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t

{title}

\r\n\t\t\t{ReactHtmlParser(html)}\r\n\t\t
\r\n\t)\r\n\t//Didn't want to totally remove the collapse incase we need to revert\r\n\t/*if(html.length >= 300){\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t
\r\n\t\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t

{title}

\r\n\t\t\t\t{ReactHtmlParser(html)}\r\n\t\t\t\r\n\t\t)\r\n\t}*/\r\n}\r\n//Didn't want to totally remove the collapse incase we need to revert\r\n/*const _showMoreButtonClick = (e:React.MouseEvent) => {\r\n\te.stopPropagation();\r\n\tconsole.log(e.currentTarget.closest('.clps-short')?.classList.toggle('show'));\r\n}*/\r\n\r\nconst _renderSearchName = (product: SimpleProduct | undefined) => {\r\n\tlet searchName = '';\r\n\tif(product != undefined){\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif(element.Key == 'SearchName' && element.Value?.StringValue != undefined){\r\n\t\t\t\tsearchName = element.Value?.StringValue;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\treturn (

{searchName}

);\r\n}\r\n\r\nconst _renderCurrencyCode = (product: SimpleProduct | undefined) => {\r\n\tlet _currencyCode = '';\r\n\tif(product != undefined){\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif (element.Key == 'CurrencyCode' && element.Value?.StringValue != '' && element.Value?.StringValue != undefined) {\r\n _currencyCode = element.Value?.StringValue;\r\n }\r\n\t\t})\r\n\t}\r\n\treturn ({_currencyCode});\r\n}\r\n\r\nconst _renderLevelScale = (props: IBuyboxViewProps, product: SimpleProduct | undefined) => {\r\n\tlet scaleLevel = '';\r\n\tlet scaleClass = '';\r\n\tif(product != undefined){\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif(element.Key == 'LevelId' && element.Value?.StringValue != undefined){\r\n\t\t\t\tscaleLevel = element.Value?.StringValue;\r\n\t\t\t\tscaleClass = element.Value?.StringValue?.toLocaleLowerCase();\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn(\r\n\t\t\t
{scaleLevel}
\r\n\t\t)\r\n\t}else{\r\n\t\treturn(\r\n\t\t\t
{scaleLevel}
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst _showPrice = (product: SimpleProduct | undefined) => {\r\n\tlet showPrice: boolean = true;\r\n\tif(product != undefined){\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif(element.Key == 'IsSupressPrice' && element.Value?.BooleanValue == true){\r\n\t\t\t\tshowPrice = false;\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\treturn showPrice;\r\n}\r\n\r\nconst _renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n\tconst { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorBlock}\r\n\t\t\t{button}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderAddToOrderTemplate = (addToOrderTemplate: IBuyboxAddToOrderTemplateViewProps): JSX.Element => {\r\n\tconst { ContainerProps, errorBlock, button } = addToOrderTemplate;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorBlock}\r\n\t\t\t{button}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderAddToWishlist = (addToWishlist: IBuyboxAddToWishlistViewProps): JSX.Element => {\r\n\tconst { ContainerProps, errorBlock, button } = addToWishlist;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorBlock}\r\n\t\t\t{button}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps, parent_props: IBuyboxViewProps): JSX.Element => {\r\n\tconst { ContainerProps, dropdowns } = configure;\r\n\treturn (\r\n\t\t\r\n\t\t\t{/* {dropdowns.map(_renderConfigureDropdown, productDimension)} */}\r\n\t\t\t{dropdowns.map((dropdown, i) => {\r\n\t\t\t\treturn _renderConfigureDropdown(dropdown, parent_props, i);\r\n\t\t\t})}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n\tif (!socialShare || socialShare.length === 0) return undefined;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{socialShare[0]}\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps, parent_props: IBuyboxViewProps, counter: any): JSX.Element => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\tlet productDimensionColor = '';\r\n\tlet productDimensionSize = '';\r\n\tlet productDimensionType = '';\r\n\t//console.log(dropdown.select == '
Color
');\r\n\tlet product = parent_props.data.product.result;\r\n\tif(product != undefined){\r\n\t\tproduct.ExtensionProperties?.forEach((element) => {\r\n\t\t\tif(element.Key == 'DimensionOne' && element.Value?.StringValue != undefined){\r\n\t\t\t\tproductDimensionColor = element.Value?.StringValue;\r\n\t\t\t}\r\n\t\t\tif(element.Key == 'DimensionThree' && element.Value?.StringValue != undefined){\r\n\t\t\t\tproductDimensionSize = element.Value?.StringValue;\r\n\t\t\t}\r\n\t\t\tif(element.Key == 'DimensionFour' && element.Value?.StringValue != undefined){\r\n\t\t\t\tproductDimensionType = element.Value?.StringValue;\r\n\t\t\t}\r\n\t\t})\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{ counter == 0 && productDimensionColor != '' ? productDimensionColor : counter == 1 && productDimensionSize != '' ? productDimensionSize : counter == 2 && productDimensionType != ''? productDimensionType : heading}\r\n\t\t\t\t\t{errors}\r\n\t\t\t\t\r\n\t\t\t\t{select}\r\n\t\t\t\r\n\t\t);\r\n\t}else{\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{ counter == 0 && productDimensionColor != '' ? productDimensionColor : counter == 1 && productDimensionSize != '' ? productDimensionSize : counter == 2 && productDimensionType != ''? productDimensionType : heading}\r\n\t\t\t\t\t{errors}\r\n\t\t\t\t\r\n\t\t\t\t{select}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n};\r\n\r\nconst _renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\r\n\tconst { ContainerProps, storeSelector, heading, description, errors, button, modal, productPickupOptionList } = findInStore;\r\n\treturn (\r\n\t\t\r\n\t\t\t{storeSelector}\r\n\t\t\t{heading}\r\n\t\t\t{productPickupOptionList}\r\n\t\t\t{description}\r\n\t\t\t{errors}\r\n\t\t\t{button}\r\n\t\t\t{modal}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderQuantity = (quantity: IBuyboxProductQuantityViewProps): JSX.Element => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{heading}\r\n\t\t\t\t{errors}\r\n\t\t\t\r\n\t\t\t{input}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n\tconst { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{heading}\r\n\t\t\t\r\n\t\t\t{input}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst _renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\r\n\tconst { ContainerProps, errors, input } = shopSimilarItem;\r\n\treturn (\r\n\t\t\r\n\t\t\t{errors}\r\n\t\t\t{input}\r\n\t\t\r\n\t);\r\n};\r\nexport default BuyboxView;"],"sourceRoot":""}