{"version":3,"file":"static/js/1fffe595cbf60049fde0.bundle.js","mappings":"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","sources":["webpack://henrys-ecommerce/./src/actions/get-product-info.ts?e5bc","webpack://henrys-ecommerce/./src/modules/hei-product-downloads/hei-product-downloads.tsx?8edc","webpack://henrys-ecommerce/./src/modules/hei-product-downloads/hei-product-downloads.view.tsx?a0dd","webpack://henrys-ecommerce/./lib/hei-product-downloads/module-registration.js?10c7","webpack://henrys-ecommerce/external var \"React\"?0d3b","webpack://henrys-ecommerce/external var \"ReactDOM\"?853b"],"sourcesContent":["import {\r\n createObservableDataAction,\r\n IAction,\r\n ICreateActionContext,\r\n IActionContext,\r\n CacheType,\r\n IActionInput\r\n} from '@msdyn365-commerce/core';\r\nimport { ProductsDataActions, retailAction } from '@msdyn365-commerce/retail-proxy';\r\nimport { getSelectedProductIdFromActionInput } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IProductInfo } from './DataServiceEntities.g';\r\nimport { getProductInfoInput } from './DataActionExtension.g';\r\n\r\n/**\r\n * GetProductInfoInput\r\n */\r\nclass GetProductInfoInput implements IActionInput {\r\n public readonly productId: number;\r\n\r\n constructor(productId: number) {\r\n this.productId = productId;\r\n }\r\n\r\n public getCacheKey = () => `${this.productId}`;\r\n public getCacheObjectType = () => 'HEI-ProductInfo';\r\n public dataCacheType = (): CacheType => 'application';\r\n}\r\n\r\nasync function action(input: GetProductInfoInput, ctx: IActionContext): Promise {\r\n const product = await ProductsDataActions.getByIdAsync(\r\n { callerContext: ctx },\r\n input.productId,\r\n ctx.requestContext.apiSettings.channelId\r\n );\r\n\r\n let itemId = product?.ItemId;\r\n const newSkuInfo = product.ExtensionProperties?.find(ep => ep.Key === 'NewSku')?.Value?.StringValue;\r\n if (newSkuInfo) {\r\n const newProductSku = newSkuInfo.split(':')[1];\r\n if (newProductSku) {\r\n itemId = newProductSku;\r\n }\r\n }\r\n\r\n if (!itemId) {\r\n throw new Error('Unable to get product SKU');\r\n }\r\n\r\n const ProductInfoInput = getProductInfoInput(itemId);\r\n return retailAction(ProductInfoInput, ctx);\r\n}\r\n\r\n/**\r\n * Get Warranty Info Data Action\r\n */\r\nexport default createObservableDataAction({\r\n action: >action,\r\n input: (context: ICreateActionContext) => {\r\n const productId = getSelectedProductIdFromActionInput(context);\r\n if (productId) {\r\n return new GetProductInfoInput(+productId);\r\n } else {\r\n throw new Error('Unable to create GetProductInfoInput, no productId found on module config or query');\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 { IHeiProductDownloadsData } from './hei-product-downloads.data';\r\nimport { IHeiProductDownloadsProps } from './hei-product-downloads.props.autogenerated';\r\n\r\nexport interface IHeiProductDownloadsViewProps extends IHeiProductDownloadsProps {}\r\n\r\n/**\r\n *\r\n * HeiProductDownloads component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass HeiProductDownloads extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const html = this.props.data.productInfo.result?.DownloadInfoHtml;\r\n if (!html) {\r\n return null;\r\n }\r\n\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default HeiProductDownloads;\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 * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { IHeiProductDownloadsViewProps } from './hei-product-downloads';\r\nimport InnerHTML from 'dangerously-set-html-content';\r\n\r\nexport default (props: IHeiProductDownloadsViewProps) => {\r\n const {\r\n data: { productInfo },\r\n config: { heading }\r\n } = props;\r\n\r\n const html = productInfo.result?.DownloadInfoHtml;\r\n\r\n if (!html) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {heading?.text && }\r\n \r\n
\r\n );\r\n};\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['hei-product-downloads'] = {\n c: () => require('partner/modules/hei-product-downloads/hei-product-downloads.tsx'),\n $type: 'contentModule',\n da: [{name:'productInfo', path:'actions/get-product-info', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'hei-product-downloads',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/hei-product-downloads'\n });\n \n\n {\n const sanitizedActionPath = 'actions/get-product-info';\n let dataAction = require('partner/actions/get-product-info');\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|hei-product-downloads|hei-product-downloads'] = {\n c: () => require('partner/modules/hei-product-downloads/hei-product-downloads.view.tsx'),\n cn: '__local__-__local__-hei-product-downloads'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["GetProductInfoInput","constructor","productId","getCacheKey","this","getCacheObjectType","dataCacheType","createObservableDataAction","action","async","input","ctx","_product$ExtensionPro","product","ProductsDataActions","callerContext","requestContext","apiSettings","channelId","itemId","ItemId","newSkuInfo","ExtensionProperties","find","ep","Key","Value","StringValue","newProductSku","split","Error","ProductInfoInput","getProductInfoInput","retailAction","context","getSelectedProductIdFromActionInput","HeiProductDownloads","React","render","_this$props$data$prod","props","data","productInfo","result","DownloadInfoHtml","renderView","_productInfo$result","_heading$tag","config","heading","html","className","text","Msdyn365","tag","InnerHTML","binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","prototype","RegistrationId","id","window","__bindings__","_objectSpread","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}