{"version":3,"file":"static/js/c307f21c3bf999cf7237.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./lib/catalog-picker/module-registration.js?7cb8","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["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['catalog-picker'] = {\n c: () => require('@msdyn365-commerce-modules/catalog-picker/dist/lib/modules/catalog-picker/catalog-picker'),\n $type: 'contentModule',\n da: [{name:'catalogs', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-catalogs', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'catalog-picker',\n p: 'catalog-picker',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/catalog-picker/dist/lib/modules/catalog-picker'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-catalogs';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-catalogs');\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['@msdyn365-commerce-modules|catalog-picker|modules|catalog-picker|catalog-picker'] = {\n c: () => require('@msdyn365-commerce-modules/catalog-picker/dist/lib/modules/catalog-picker/catalog-picker.view.js'),\n cn: '@msdyn365-commerce-modules-catalog-picker-catalog-picker'\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 Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n \n );\n }\n}\n\nexport default CatalogPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","window","__bindings__","_objectSpread","viewDictionary","cn","CatalogPicker","React","constructor","props","super","handleTextChange","event","this","config","heading","text","target","value","handleParagraphChange","paragraph","render","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","className","_moduleClassName","tag","editProps","onEdit","requestContext","context","request","isCatalogsAvailable","ArrayExtensions","hasElements","data","catalogs","result","catalogPickerParagraph","RichTextComponent","resources","catalogValidationText","viewProps","handleText","catalogPicker","moduleProps","_renderCatalogPicker","renderView","_renderCatalogPickerButton","item","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","Msdyn365","isBrowser","_getUrlSync","catalogUrl","getUrlSync","actionContext","fullUrl","URL","location","href","searchParams","set","Button","changeCatalogButtonText","_this$props$data$cata2","role","map","reactKey","JSON","stringify","String","image","firstOrDefault","Images","key","tabIndex","Name","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","Module","Object","assign","module","exports","ReactDOM"],"sourceRoot":""}