{"version":3,"file":"static/js/805b9f64a05fa6f30b5a.bundle.js","mappings":"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","sources":["webpack://Dobbies.Commerce/./src/modules/dobbies-browse/dobbies-browse.tsx?bd3f","webpack://Dobbies.Commerce/./src/modules/dobbies-browse/dobbies-browse.view.tsx?e9ae","webpack://Dobbies.Commerce/./lib/dobbies-browse/module-registration.js?bc62","webpack://Dobbies.Commerce/external var \"React\"?0d3b","webpack://Dobbies.Commerce/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IDobbiesBrowseData } from './dobbies-browse.data';\r\nimport { IDobbiesBrowseProps } from './dobbies-browse.props.autogenerated';\r\n\r\nexport interface IDobbiesBrowseViewProps extends IDobbiesBrowseProps {}\r\n\r\n/**\r\n *\r\n * DobbiesBrowse component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass DobbiesBrowse 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 DobbiesBrowse;\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 { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport * as React from 'react';\r\nimport { IDobbiesBrowseViewProps } from './dobbies-browse';\r\nimport MsDyn365, * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport Button from 'reactstrap/lib/Button';\r\n\r\nconst renderLinks = (category: CategoryHierarchy, props: IDobbiesBrowseViewProps): JSX.Element => {\r\n const recordId = props.context.request.urlTokens.recordId;\r\n const activeClass = recordId && +recordId === category.RecordId ? 'browse-active-link' : '';\r\n return (\r\n
  • \r\n \r\n {category.Name}\r\n \r\n
  • \r\n );\r\n};\r\n\r\nconst shouldCategoryHide = (props: IDobbiesBrowseViewProps, neutralizedName?: string): boolean => {\r\n if (props.config.hideMenuItemPrefix && neutralizedName?.startsWith(props.config.hideMenuItemPrefix)) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst _getScreenSize = (ctx: Msdyn365.ICoreContext): number => {\r\n // always render in mobile viewport on a mobile device\r\n // if (ctx.request && ctx.request.device && ctx.request.device.Type === 'Mobile') {\r\n // return 1;\r\n // }\r\n\r\n if ((MsDyn365.isBrowser && window) !== undefined && MsDyn365.isBrowser && window && window.innerWidth) {\r\n const gridSettings = ctx.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && (MsDyn365.isBrowser && window && window.innerWidth) < gridSettings.xs.w) {\r\n // mobile\r\n return 1;\r\n } else if (gridSettings.sm && (MsDyn365.isBrowser && window && window.innerWidth) <= gridSettings.sm.w) {\r\n // iPad\r\n return 2;\r\n } else if (gridSettings.md && (MsDyn365.isBrowser && window && window.innerWidth) <= gridSettings.md.w) {\r\n // Desktop\r\n return 3;\r\n } else if (gridSettings.lg && (MsDyn365.isBrowser && window && window.innerWidth) <= gridSettings.lg.w) {\r\n // Desktop\r\n return 3;\r\n } else {\r\n return 3;\r\n }\r\n }\r\n }\r\n\r\n return 3; // desktop\r\n};\r\n\r\n/* VSI-Customization -- START\r\nWill render \"View All\" link and append the direct children of root link (children links based on rootLink(category ID))\r\n*/\r\n\r\nconst showRemainingCategories = () => {\r\n const moreOptionsDiv = document.getElementById('more-cats-div');\r\n if (moreOptionsDiv) {\r\n if (moreOptionsDiv.classList.contains('show-more-option')) {\r\n moreOptionsDiv.classList.remove('show-more-option');\r\n moreOptionsDiv.classList.add('hide-more-option');\r\n } else {\r\n moreOptionsDiv.classList.remove('hide-more-option');\r\n moreOptionsDiv.classList.add('show-more-option');\r\n }\r\n }\r\n};\r\n\r\nconst renderRootLink = (\r\n categories: JSX.Element[],\r\n category: CategoryHierarchy,\r\n makeActive: boolean,\r\n screenSize: number,\r\n showMore: boolean\r\n): JSX.Element[] => {\r\n if (screenSize === 1 && showMore) {\r\n return [\r\n ...categories.slice(0, 2),\r\n
  • \r\n {\r\n showRemainingCategories();\r\n }}\r\n >\r\n more options\r\n \r\n
      \r\n {categories.splice(2, categories.length)}\r\n
    \r\n
  • \r\n ];\r\n } else if (screenSize === 2 && showMore) {\r\n return [\r\n ...categories.slice(0, 3),\r\n
  • \r\n {\r\n showRemainingCategories();\r\n }}\r\n >\r\n more options\r\n \r\n
      \r\n {categories.splice(3, categories.length)}\r\n
    \r\n
  • \r\n ];\r\n } else if (screenSize === 3 && showMore) {\r\n return [\r\n ...categories.slice(0, 4),\r\n
  • \r\n {\r\n showRemainingCategories();\r\n }}\r\n >\r\n more options\r\n \r\n
      \r\n {categories.splice(4, categories.length)}\r\n
    \r\n
  • \r\n ];\r\n }\r\n return [...categories];\r\n};\r\n\r\n/* VSI-Customization -- END */\r\n\r\n/* VSI-Customization -- START Will render the categories based on selection */\r\nconst renderCategories = (props: IDobbiesBrowseViewProps): JSX.Element[][] | JSX.Element[] | undefined => {\r\n const results = props.data.categoryHierarchy.result;\r\n const [showMoreOptions, setShowMoreOptions] = React.useState(false);\r\n const screenSize = _getScreenSize(props.context);\r\n /* VSI-Customization -- START\r\n Render categories if parent doesn't exist\r\n */\r\n if (results && results.length === 1) {\r\n return results.map((cat: CategoryHierarchy) => {\r\n const categories = cat.Children.filter(cat => !shouldCategoryHide(props, cat.NeutralizedName)).map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, cat, true, screenSize, showMoreOptions);\r\n });\r\n }\r\n /* VSI-Customization -- END */\r\n\r\n /* VSI-Customization -- START\r\n Render Direct childrens of some category ID that has children categories\r\n */\r\n if (results && results.length === 2) {\r\n if (results[1].Children && results[1].Children.length > 0) {\r\n const categories = results[1].Children.filter(cat => !shouldCategoryHide(props, cat.NeutralizedName)).map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[1], true, screenSize, showMoreOptions);\r\n } else {\r\n // VSI CUSTOMIZATION - START - Edits Further Customization\r\n const urlID = Number(\r\n props.context.request.url.requestUrl.href\r\n .substring(props.context.request.url.requestUrl.href.lastIndexOf('/') + 1)\r\n .split('.')[0]\r\n );\r\n // VSI CUSTOMIZATION - END - Edits Further Customization\r\n const categories = results[0].Children.filter(cat => cat.RecordId !== urlID)\r\n .filter(cat => !shouldCategoryHide(props, cat.NeutralizedName))\r\n .map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n // VSI CUSTOMIZATION - START - Edits Further Customization\r\n // if (category.RecordId === urlID) {\r\n // return renderLinks(category, props);\r\n // } else {\r\n // return
    ;\r\n // }\r\n return renderLinks(category, props);\r\n // VSI CUSTOMIZATION - END - Edits Further Customization\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[0], false, screenSize, showMoreOptions);\r\n }\r\n }\r\n\r\n if (results && results.length === 3) {\r\n if (results[2].Children && results[2].Children.length > 0) {\r\n const categories = results[2].Children.filter(cat => !shouldCategoryHide(props, cat.NeutralizedName)).map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[2], true, screenSize, showMoreOptions);\r\n } else {\r\n const urlID = Number(\r\n props.context.request.url.requestUrl.href\r\n .substring(props.context.request.url.requestUrl.href.lastIndexOf('/') + 1)\r\n .split('.')[0]\r\n );\r\n const categories = results[1].Children.filter(cat => cat.RecordId !== urlID)\r\n .filter(cat => !shouldCategoryHide(props, cat.NeutralizedName))\r\n .map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[1], false, screenSize, showMoreOptions);\r\n }\r\n }\r\n\r\n if (results && results.length === 4) {\r\n if (results[3].Children && results[3].Children.length > 0) {\r\n const categories = results[3].Children.filter(cat => !shouldCategoryHide(props, cat.NeutralizedName)).map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[3], true, screenSize, showMoreOptions);\r\n } else {\r\n const urlID = Number(\r\n props.context.request.url.requestUrl.href\r\n .substring(props.context.request.url.requestUrl.href.lastIndexOf('/') + 1)\r\n .split('.')[0]\r\n );\r\n const categories = results[2].Children.filter(cat => cat.RecordId !== urlID)\r\n .filter(cat => !shouldCategoryHide(props, cat.NeutralizedName))\r\n .map(\r\n (category: CategoryHierarchy): JSX.Element => {\r\n return renderLinks(category, props);\r\n }\r\n );\r\n const totalCategories = categories?.length ? categories.length : 0;\r\n if (screenSize === 1) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n if (screenSize === 2) {\r\n if (totalCategories > 3 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n } else if (screenSize === 3) {\r\n if (totalCategories > 4 && !showMoreOptions) {\r\n setShowMoreOptions(true);\r\n }\r\n }\r\n return renderRootLink(categories, results[2], false, screenSize, showMoreOptions);\r\n }\r\n }\r\n\r\n return;\r\n};\r\n/* VSI-Customization -- END *\r\n\r\n/* VSI-Customization -- END */\r\n\r\nexport default (props: IDobbiesBrowseViewProps) => {\r\n return
      {renderCategories(props)}
    ;\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['dobbies-browse'] = {\n c: () => require('partner/modules/dobbies-browse/dobbies-browse.tsx'),\n $type: 'contentModule',\n da: [{name:'categories', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy', runOn: 0},{name:'categoryHierarchy', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'dobbies-browse',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dobbies-browse'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category-hierarchy');\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|dobbies-browse|dobbies-browse'] = {\n c: () => require('partner/modules/dobbies-browse/dobbies-browse.view.tsx'),\n cn: '__local__-__local__-dobbies-browse'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["DobbiesBrowse","React","render","this","props","renderView","renderLinks","category","recordId","context","request","urlTokens","activeClass","RecordId","key","href","Url","className","Name","shouldCategoryHide","neutralizedName","config","hideMenuItemPrefix","startsWith","showRemainingCategories","moreOptionsDiv","document","getElementById","classList","contains","remove","add","renderRootLink","categories","makeActive","screenSize","showMore","slice","length","Button","onClick","id","splice","renderCategories","results","data","categoryHierarchy","result","showMoreOptions","setShowMoreOptions","ctx","undefined","MsDyn365","isBrowser","window","innerWidth","gridSettings","xs","w","sm","md","lg","_getScreenSize","map","cat","Children","filter","NeutralizedName","totalCategories","urlID","Number","url","requestUrl","substring","lastIndexOf","split","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","__bindings__","_objectSpread","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}