{"version":3,"file":"static/js/90103811ea64a5f355f5.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/lobas-product-document-attribute/lobas-product-document-attribute.tsx?89c3","webpack://Msdyn365.Commerce.Online/./src/modules/lobas-product-document-attribute/lobas-product-document-attribute.view.tsx?0e40","webpack://Msdyn365.Commerce.Online/./lib/lobas-product-document-attribute/module-registration.js?3b58","webpack://Msdyn365.Commerce.Online/./src/dataActions/get-attributes-for-selected-variant.ts?e4b6","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/* eslint-disable no-debugger */\r\n/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* tslint:disable: no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '@msdyn365-commerce-modules/product-specification';\r\nimport { ILobasProductDocumentAttributeData } from './lobas-product-document-attribute.data';\r\nimport { ILobasProductDocumentAttributeProps } from './lobas-product-document-attribute.props.autogenerated';\r\nimport { ILobasLinkProps } from '../components/lobas-table';\r\nimport {\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n onTelemetryClick,\r\n getTelemetryObject\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { ILobasProductAttributeData } from '../lobas-product-attribute/lobas-product-attribute.data';\r\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport interface ILobasProductDocumentAttributeViewProps extends ILobasProductDocumentAttributeProps {\r\n lobasProductDocumentAttributeContainer?: (JSX.Element | null)[];\r\n className?: string;\r\n}\r\n\r\n/**\r\n *\r\n * ProductSpecification component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass LobasProductDocumentAttribute extends React.Component> {\r\n public async componentDidMount(): Promise {\r\n const { context, data, telemetry } = this.props;\r\n\r\n reaction(\r\n () => (data.product.result ? data.product.result.RecordId : null),\r\n () => {\r\n if (context && data.product.result) {\r\n const actionInput = new AttributesForSelectedVariantInput(\r\n data.product.result.RecordId,\r\n\r\n +context.actionContext.requestContext.apiSettings.channelId,\r\n data.product.result\r\n );\r\n\r\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\r\n telemetry.error(error.message);\r\n telemetry.debug('Unable to update attributes for Product');\r\n telemetry.error(error.message);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n let data: ILobasProductDocumentAttributeData;\r\n\r\n try {\r\n data = this.props.data;\r\n } catch (error) {\r\n this.props.telemetry.error(`Something went wrong ------${error}`);\r\n return
{error}
;\r\n }\r\n\r\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\r\n this.props.telemetry.error('Product specification content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n const { className, selectedAttribute } = this.props.config;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n lobasProductDocumentAttributeContainer: this._createImageContainer(data, selectedAttribute),\r\n className: classnames('ms-text-block', className)\r\n } as ILobasProductDocumentAttributeViewProps;\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n public handleAttributeChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.selectedAttribute = event.target.value);\r\n\r\n private _createLink(content: AttributeValue): JSX.Element | null {\r\n const baseUrl = `https://lob.as/dokumentasjon/${this.props.config.documentType}`;\r\n\r\n const link: ILobasLinkProps = {\r\n linkUrl: `${baseUrl}/${content.TextValue}`,\r\n linkText: content.Name,\r\n linkType: '',\r\n disabled: false\r\n };\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', getTelemetryContent(this.props), '', '');\r\n const linkText = link.linkText ? link.linkText : '';\r\n payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(getTelemetryContent(this.props), payLoad);\r\n const btnClass = 'lobas-link-btn__primary';\r\n\r\n const editableLink: Msdyn365.ILinksData = {\r\n ariaLabel: '',\r\n className: btnClass,\r\n linkText: link.linkText,\r\n linkUrl: link.linkUrl,\r\n openInNewTab: true,\r\n role: 'link',\r\n additionalProperties: attributes,\r\n onClick: onTelemetryClick(getTelemetryContent(this.props), payLoad, linkText)\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n private _createImageContainer(\r\n content: ILobasProductDocumentAttributeData,\r\n selectedAttribute: string | undefined\r\n ): (JSX.Element | null)[] {\r\n return content.productSpecificationData\r\n .result!.filter(name => name.Name === selectedAttribute)\r\n .map((product, index) => {\r\n if (product.TextValue) {\r\n return (\r\n
\r\n {this._createLink(product)}\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport function getTelemetryContent(props: ILobasProductDocumentAttributeProps): ITelemetryContent {\r\n return getTelemetryObject(props.context.request.telemetryPageName!, props.friendlyName, props.telemetry);\r\n}\r\n\r\nexport default LobasProductDocumentAttribute;\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\n/*import { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';*/\r\n/*import { Module, Node } from '@msdyn365-commerce-modules/utilities';*/\r\nimport * as React from 'react';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { ILobasProductDocumentAttributeViewProps } from './lobas-product-document-attribute';\r\n\r\nconst LobasProductDocumentAttributeView: React.FC = props => {\r\n if (\r\n ArrayExtensions.hasElements(props.lobasProductDocumentAttributeContainer) &&\r\n props.lobasProductDocumentAttributeContainer[0] !== null\r\n ) {\r\n return (\r\n
\r\n {props.lobasProductDocumentAttributeContainer}\r\n
\r\n );\r\n }\r\n return <>;\r\n};\r\n\r\nexport default LobasProductDocumentAttributeView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['lobas-product-document-attribute'] = {\n c: () => require('partner/modules/lobas-product-document-attribute/lobas-product-document-attribute.tsx'),\n $type: 'contentModule',\n da: [{name:'product', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant', runOn: 0},{name:'productSpecificationData', path:'@msdyn365-commerce-modules/product-specification/dist/lib/dataActions/get-attributes-for-selected-variant', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'lobas-product-document-attribute',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/lobas-product-document-attribute'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/product-specification/dist/lib/dataActions/get-attributes-for-selected-variant';\n let dataAction = require('@msdyn365-commerce-modules/product-specification/dist/lib/dataActions/get-attributes-for-selected-variant');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|lobas-product-document-attribute|lobas-product-document-attribute'] = {\n c: () => require('partner/modules/lobas-product-document-attribute/lobas-product-document-attribute.view.tsx'),\n cn: '__local__-__local__-lobas-product-document-attribute'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n createObservableDataAction,\n getCatalogId,\n IAction,\n IActionContext,\n IActionInput,\n IAny,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core';\nimport { AttributeValue, ProductsDataActions, SimpleProduct, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport {\n getAttributeValuesByConfiguration,\n getSelectedProductIdFromActionInput,\n getSelectedVariant,\n QueryResultSettingsProxy,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\n\n/**\n * Chains getting the SelectedVariant with GetActivePrice.\n */\nexport class AttributesForSelectedVariantInput implements IActionInput {\n public productId: number;\n\n public channelId: number;\n\n public catalogId: number;\n\n public selectedProduct: SimpleProduct | undefined;\n\n constructor(productId: number, channelId: number, selectedProduct?: SimpleProduct, catalogId?: number) {\n this.productId = productId;\n this.channelId = channelId;\n this.selectedProduct = selectedProduct;\n this.catalogId = catalogId || 0;\n }\n\n public getCacheKey = () => 'AttributesForSelectedVariant';\n\n public getCacheObjectType = () => 'ProductAttributeValue';\n\n public dataCacheType = (): CacheType => 'none';\n}\n\nexport const createAttributesForSelectedVariantInput = (\n inputData: ICreateActionContext>\n): AttributesForSelectedVariantInput => {\n const productId = getSelectedProductIdFromActionInput(inputData);\n const catalogId = getCatalogId(inputData.requestContext);\n\n if (productId) {\n return new AttributesForSelectedVariantInput(+productId, +inputData.requestContext.apiSettings.channelId, undefined, catalogId);\n }\n throw new Error('Unable to create PriceForSelectedVariantInput, no productId found on module config or query');\n};\n\n/**\n * Calls the Retail API a get a list of dimension values for a given product.\n * @param input - The input.\n * @param context - The context.\n * @returns The attribute values.\n */\nexport async function getAttributesForSelectedVariantAction(\n input: AttributesForSelectedVariantInput,\n context: IActionContext\n): Promise {\n return Promise.resolve()\n .then(() => {\n const activeProduct: SimpleProduct | undefined = input.selectedProduct;\n\n if (!activeProduct) {\n const selectedVariantInput = new SelectedVariantInput(\n input.productId,\n input.channelId,\n undefined,\n undefined,\n context.requestContext\n );\n\n return getSelectedVariant(selectedVariantInput, context);\n }\n\n return activeProduct;\n })\n .then((productResult: SimpleProduct | null) => {\n const activeProduct: SimpleProduct | undefined = productResult;\n\n if (activeProduct) {\n return ProductsDataActions.getAttributeValuesAsync(\n {\n callerContext: context,\n queryResultSettings: QueryResultSettingsProxy.getPagingFromInputDataOrDefaultValue(context)\n },\n activeProduct.RecordId,\n input.channelId,\n input.catalogId\n );\n }\n\n return null;\n })\n .then(async (attributeValues: AttributeValue[] | null) => {\n const channelInventoryConfiguration = await StoreOperationsDataActions.getInventoryConfigurationAsync({\n callerContext: context\n });\n\n return { attributeValues, channelInventoryConfiguration };\n })\n .then(result => {\n return getAttributeValuesByConfiguration(result.attributeValues, result.channelInventoryConfiguration);\n })\n .catch((error: Error) => {\n context.trace(error.message);\n throw new Error('[getPriceForSelectedVariantAction]Error executing action');\n });\n}\n\nexport default createObservableDataAction({\n id: '@msdyn365-commerce-modules/product-info/get-attributes-for-selected-variant',\n action: >getAttributesForSelectedVariantAction,\n input: createAttributesForSelectedVariantInput\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): 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 | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["LobasProductDocumentAttribute","React","constructor","handleAttributeChange","event","this","props","config","selectedAttribute","target","value","context","data","telemetry","reaction","product","result","RecordId","actionInput","AttributesForSelectedVariantInput","actionContext","requestContext","apiSettings","channelId","getAttributesForSelectedVariant","catch","error","message","debug","render","productSpecificationData","length","className","viewProps","_objectSpread","lobasProductDocumentAttributeContainer","_createImageContainer","classnames","renderView","_createLink","content","link","linkUrl","documentType","TextValue","linkText","Name","linkType","disabled","payLoad","getPayloadObject","getTelemetryContent","contentAction","etext","attributes","getTelemetryAttributes","editableLink","ariaLabel","openInNewTab","role","additionalProperties","onClick","onTelemetryClick","key","Msdyn365","filter","name","map","index","getTelemetryObject","request","telemetryPageName","friendlyName","__decorate","observer","ArrayExtensions","Object","assign","id","renderModuleAttributes","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","productId","selectedProduct","catalogId","getCacheKey","getCacheObjectType","dataCacheType","createAttributesForSelectedVariantInput","inputData","getSelectedProductIdFromActionInput","getCatalogId","undefined","async","getAttributesForSelectedVariantAction","input","Promise","resolve","then","activeProduct","selectedVariantInput","SelectedVariantInput","getSelectedVariant","productResult","ProductsDataActions","callerContext","queryResultSettings","QueryResultSettingsProxy","attributeValues","channelInventoryConfiguration","StoreOperationsDataActions","getAttributeValuesByConfiguration","trace","createObservableDataAction","action","ProductSpecificationTableRow","_ref","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","super","handleHeadingChange","heading","text","_toggle","drawerListId","state","setState","isDrawerOpen","isAdditionalMediaDrawerOpen","validateCatalogId","shouldComponentUpdate","nextProps","nextState","_heading$tag","isAccrodion","displayStyle","handleText","moduleProps","ProductSpecificationTableProps","tag","ProductSpecificationTableBodyProps","title","editProps","onEdit","productSpecificationResult","_createDrawerBody","_createTableBody","_this$props$context$r","_this$props$context$r2","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","push","_createAdditionalMediaDrawer","_this$props$context$r3","_this$props$context$r4","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Module","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","resources","additionalDownloadsText","prevState","mediaLocation","Uri","href","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","BooleanValue","trueValueText","falseValueText","rowdata","row","ObjectExtensions","Node","module","exports","ReactDOM"],"sourceRoot":""}