{"version":3,"file":"static/js/3c6c28770840e5dcef3f.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/components/categorymodal.component.tsx?0cac","webpack://Msdyn365.Commerce.Online/./src/components/curriculamodal.component.tsx?3380","webpack://Msdyn365.Commerce.Online/./src/components/engagemodal.component.tsx?9a06","webpack://Msdyn365.Commerce.Online/./src/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.data.ts?7df0","webpack://Msdyn365.Commerce.Online/./src/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.props.autogenerated.ts?c1f3","webpack://Msdyn365.Commerce.Online/./src/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.tsx?cb7c","webpack://Msdyn365.Commerce.Online/./src/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.view.tsx?3eee","webpack://Msdyn365.Commerce.Online/./lib/moe-kwr-navigation-menu/module-registration.js?e6db","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/* eslint-disable react/no-unknown-property */\r\nimport React from 'react';\r\nimport { IComponent, IComponentProps } from '@msdyn365-commerce/core';\r\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IKwrHomePageLanguageAttributes } from '../modules/moe-kwr-homepage/moe-kwr-homepage.view';\r\n\r\nexport interface ICategoryModalComponentProps extends IComponentProps<{}> {\r\n className?: string;\r\n index: number;\r\n menuName?: string;\r\n subMenuItems: any;\r\n renderButton: any;\r\n buttonClassname: string;\r\n isModalOpen: boolean;\r\n btnCloseClick: () => void;\r\n KwrHomePageLanguageAttributes?: IKwrHomePageLanguageAttributes;\r\n preferredLanguage?: string;\r\n}\r\n\r\nexport interface ICategoryModalComponent extends IComponent {}\r\n\r\nexport const CategoryModal: React.FC = ({\r\n isModalOpen,\r\n menuName,\r\n buttonClassname,\r\n subMenuItems,\r\n context,\r\n btnCloseClick,\r\n KwrHomePageLanguageAttributes,\r\n preferredLanguage\r\n}) => {\r\n // const [isModalOpen, setIsModalOpen] = React.useState(false);\r\n\r\n const category = subMenuItems;\r\n\r\n const btnMenuClick = () => {\r\n btnCloseClick();\r\n };\r\n\r\n return (\r\n <>\r\n
  • \r\n
    \r\n
    \r\n {KwrHomePageLanguageAttributes?.closeText}\r\n
    \r\n btnMenuClick()}\r\n >\r\n Close\r\n \r\n
    \r\n
    \r\n\r\n

    {KwrHomePageLanguageAttributes?.atuaTabName}

    \r\n
    \r\n
      \r\n {category &&\r\n category.length > 0 &&\r\n category?.map((categoryItem: any) => {\r\n return renderMenuItem(categoryItem);\r\n })}\r\n
    \r\n
    \r\n
  • \r\n \r\n );\r\n\r\n function renderMenuItem(categoryItem: any) {\r\n const categoryImageUrl = generateImageUrl(`${categoryItem.imageSource}`, context.actionContext.requestContext.apiSettings);\r\n return (\r\n
  • \r\n \r\n \r\n ranginui Atua for mega menu v2\r\n \r\n {categoryItem.linkText}\r\n \r\n
  • \r\n );\r\n }\r\n};\r\n","/* eslint-disable react/no-unknown-property */\r\nimport React from 'react';\r\nimport { IComponent, IComponentProps } from '@msdyn365-commerce/core';\r\nimport { IKwrHomePageLanguageAttributes } from '../modules/moe-kwr-homepage/moe-kwr-homepage.view';\r\n\r\nexport interface ICurriculaModalComponentProps extends IComponentProps<{}> {\r\n className?: string;\r\n index: number;\r\n menuName?: string;\r\n subMenuItems: any;\r\n renderButton: any;\r\n isModalOpen: boolean;\r\n btnCloseClick: () => void;\r\n KwrHomePageLanguageAttributes?: IKwrHomePageLanguageAttributes;\r\n preferredLanguage?: string;\r\n}\r\n\r\nexport interface ICurriculaModalComponent extends IComponent {}\r\n\r\nexport const CurriculaModal: React.FC = ({\r\n isModalOpen,\r\n menuName,\r\n subMenuItems,\r\n context,\r\n btnCloseClick,\r\n KwrHomePageLanguageAttributes,\r\n preferredLanguage\r\n}) => {\r\n const category = subMenuItems?.subMenus;\r\n\r\n const btnMenuClick = () => {\r\n btnCloseClick();\r\n };\r\n\r\n return (\r\n <>\r\n
  • \r\n
    \r\n
    \r\n {KwrHomePageLanguageAttributes?.closeText}\r\n
    \r\n btnMenuClick()}\r\n >\r\n Close\r\n \r\n
    \r\n
    \r\n\r\n

    {KwrHomePageLanguageAttributes?.curriculaTabName}

    \r\n
    \r\n
      \r\n {category &&\r\n category.length > 0 &&\r\n category?.map((categoryItem: any) => {\r\n return renderMenuItems(categoryItem);\r\n })}\r\n
    \r\n
    \r\n
  • \r\n \r\n );\r\n\r\n function renderMenuItems(menuItem: any) {\r\n return (\r\n <>\r\n
  • \r\n

    {menuItem.linkText}

    \r\n {renderSubMenuItems(menuItem)}\r\n
  • \r\n \r\n );\r\n }\r\n\r\n function renderSubMenuItems(subMenuItem: any) {\r\n return (\r\n <>\r\n {subMenuItem &&\r\n subMenuItem.subMenus &&\r\n subMenuItem.subMenus.length > 0 &&\r\n subMenuItem.subMenus?.map((subMenu: any, idx: number) => {\r\n return (\r\n \r\n {subMenu?.image?.src && (\r\n img\r\n )}\r\n {subMenu.linkText}\r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n};\r\n","/* eslint-disable react/no-unknown-property */\r\nimport React from 'react';\r\nimport { IComponent, IComponentProps } from '@msdyn365-commerce/core';\r\nimport { IKwrHomePageLanguageAttributes } from '../modules/moe-kwr-homepage/moe-kwr-homepage.view';\r\n\r\nexport interface IEngageModalComponentProps extends IComponentProps<{}> {\r\n className?: string;\r\n index: number;\r\n menuName?: string;\r\n subMenuItems: any;\r\n renderButton: any;\r\n buttonClassname: string;\r\n isModalOpen: boolean;\r\n btnCloseClick: () => void;\r\n KwrHomePageLanguageAttributes?: IKwrHomePageLanguageAttributes;\r\n preferredLanguage?: string;\r\n}\r\n\r\nexport interface IEngageModalComponent extends IComponent {}\r\n\r\nexport const EnagageModal: React.FC = ({\r\n isModalOpen,\r\n menuName,\r\n buttonClassname,\r\n subMenuItems,\r\n context,\r\n btnCloseClick,\r\n KwrHomePageLanguageAttributes,\r\n preferredLanguage\r\n}) => {\r\n const category = subMenuItems?.subMenus;\r\n\r\n const btnMenuClick = () => {\r\n btnCloseClick();\r\n };\r\n\r\n return (\r\n <>\r\n
  • \r\n
    \r\n
    \r\n {KwrHomePageLanguageAttributes?.closeText}\r\n
    \r\n btnMenuClick()}\r\n >\r\n Close\r\n \r\n
    \r\n
    \r\n\r\n

    {KwrHomePageLanguageAttributes?.engageTabName}

    \r\n
    \r\n
      \r\n
    • \r\n {category &&\r\n category.length > 0 &&\r\n category?.map((categoryItem: any) => {\r\n return (\r\n <>\r\n

      {categoryItem.linkText}

      \r\n {renderSubMenuItems(categoryItem)}\r\n \r\n );\r\n })}\r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n \r\n );\r\n\r\n function renderSubMenuItems(subMenuItem: any) {\r\n return (\r\n <>\r\n {subMenuItem &&\r\n subMenuItem.subMenus &&\r\n subMenuItem.subMenus.length > 0 &&\r\n subMenuItem.subMenus?.map((subMenu: any, idx: number) => {\r\n return (\r\n \r\n {subMenu.linkText}\r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n};\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/* eslint-disable no-duplicate-imports */\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport { AsyncResult, Customer } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { ICategoryPromotionalContentData } from './moe-kwr-navigation-menu.props.autogenerated';\r\n\r\nexport interface IMoeKwrNavigationMenuData {\r\n categories: AsyncResult;\r\n category: AsyncResult;\r\n customerInformation: AsyncResult;\r\n}\r\n\r\nexport interface IMenuItemData {\r\n id?: number;\r\n linkText?: string;\r\n linkURL?: string;\r\n imageSource?: string;\r\n imageDestinationURL?: string;\r\n subMenu?: IMenuItemData[];\r\n promotionalContent?: ICategoryPromotionalContentData[];\r\n menuSource?: string;\r\n shouldOpenNewTab?: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * Menu type index id.\r\n */\r\nexport enum MenuTypeIndexId {\r\n Cms = 1000,\r\n Retail = 5000\r\n}\r\n\r\n/**\r\n *\r\n * Menu type source.\r\n */\r\nexport enum MenuSource {\r\n Cms = 'Cms',\r\n Retail = 'Retail'\r\n}\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IMoeKwrNavigationMenu containerModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nexport const enum navigationMenuSource {\r\n all = 'all',\r\n retailServerOnly = 'retailServerOnly',\r\n cmsOnly = 'cmsOnly'\r\n}\r\n\r\nexport interface IMoeKwrNavigationMenuConfig extends Msdyn365.IModuleConfig {\r\n navigationMenuSource?: navigationMenuSource;\r\n cmsNavItems?: ICmsNavItemsData[];\r\n enableMultilevelMenu?: boolean;\r\n enabletopMenu?: boolean;\r\n menuLevelSupport?: number;\r\n rootMenuNavigation?: string;\r\n displayCategoryImage?: boolean;\r\n displayPromotionalImage?: boolean;\r\n categoryPromotionalContent?: ICategoryPromotionalContentData[];\r\n categoryImageSettings?: Msdyn365.IImageSettings;\r\n className?: string;\r\n categoryName?: string;\r\n categoryDescription?: string;\r\n}\r\n\r\nexport interface IMoeKwrNavigationMenuResources {\r\n menuAriaLabel: string;\r\n backButtonAriaLabel: string;\r\n allCategoryMenuText: string;\r\n languageText: string;\r\n languageTextInMaori: string;\r\n atuaTabName: string;\r\n atuaTabNameInMaori: string;\r\n engageTabName: string;\r\n engageTabNameInMaori: string;\r\n curriculaTabName: string;\r\n curriculaTabNameInMaori: string;\r\n searchTabName: string;\r\n searchTabNameInMaori: string;\r\n closeText: string;\r\n closeTextInMaori: string;\r\n introSearchText1: string;\r\n introSearchText1InMaori: string;\r\n introSearchText2: string;\r\n introSearchText2InMaori: string;\r\n trySearchText: string;\r\n trySearchTextInMaori: string;\r\n introAtuaSearchText: string;\r\n introAtuaSearchTextInMaori: string;\r\n introAtuaBlurbTextRanguini: string;\r\n introAtuaBlurbTextRanguiniInMaori: string;\r\n introAtuaBlurbTextPapatuanuku: string;\r\n introAtuaBlurbTextPapatuanukuInMaori: string;\r\n introAtuaBlurbTextTangaroa: string;\r\n introAtuaBlurbTextTangaroaInMaori: string;\r\n introAtuaBlurbTextTane: string;\r\n introAtuaBlurbTextTaneInMaori: string;\r\n introAtuaBlurbTextTumatauenga: string;\r\n introAtuaBlurbTextTumatauengaInMaori: string;\r\n introAtuaBlurbTextRongo: string;\r\n introAtuaBlurbTextRongoInMaori: string;\r\n introAtuaBlurbTextHaumia: string;\r\n introAtuaBlurbTextHaumiaInMaori: string;\r\n introAtuaBlurbTextTawhirimatea: string;\r\n introAtuaBlurbTextTawhirimateaInMaori: string;\r\n introAtuaBlurbTextHineahuone: string;\r\n introAtuaBlurbTextHineahuoneInMaori: string;\r\n introAtuaBlurbTextWhiro: string;\r\n introAtuaBlurbTextWhiroInMaori: string;\r\n introAtuaBlurbTextRuaumoko: string;\r\n introAtuaBlurbTextRuaumokoInMaori: string;\r\n backButtonText: string;\r\n backButtonTextInMaori: string;\r\n curatedCollections: string;\r\n curatedCollectionsInMaori: string;\r\n newsEvents: string;\r\n newsEventsInMaori: string;\r\n}\r\n\r\nexport interface ICmsNavItemsData {\r\n linkText?: string;\r\n linkUrl?: Msdyn365.ILinkData;\r\n image?: Msdyn365.IImageData;\r\n imageLink?: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n subMenus?: ISubMenusData[];\r\n}\r\n\r\nexport interface ICategoryPromotionalContentData {\r\n categoryName?: string;\r\n image: Msdyn365.IImageData;\r\n text?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n}\r\n\r\nexport interface ISubMenusData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n image?: Msdyn365.IImageData;\r\n imageLink?: Msdyn365.ILinkData;\r\n subMenus?: ISubMenusData[];\r\n}\r\n\r\nexport interface ISubMenusData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n image?: Msdyn365.IImageData;\r\n imageLink?: Msdyn365.ILinkData;\r\n}\r\n\r\nexport interface IMoeKwrNavigationMenuProps extends Msdyn365.IModule {\r\n resources: IMoeKwrNavigationMenuResources;\r\n config: IMoeKwrNavigationMenuConfig;\r\n slots: {\r\n breadcrumb: React.ReactNode[];\r\n };\r\n}\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/* eslint-disable no-duplicate-imports */\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\nimport MsDyn365, { IActionContext, IGridSettings, IImageSettings, isEmptyOrNullObject } from '@msdyn365-commerce/core';\r\nimport { TextValueTranslation } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions, getCategoryUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { addThrottledEvent, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { IMenuItemData, IMoeKwrNavigationMenuData, MenuSource, MenuTypeIndexId } from './moe-kwr-navigation-menu.data';\r\nimport {\r\n ICmsNavItemsData,\r\n IMoeKwrNavigationMenuProps,\r\n ISubMenusData,\r\n navigationMenuSource\r\n} from './moe-kwr-navigation-menu.props.autogenerated';\r\n\r\nexport interface INavigationMenuViewProps extends IMoeKwrNavigationMenuProps {\r\n className: string;\r\n menuItemData: IMenuItemData[];\r\n Navigation: IModuleProps;\r\n MenuList: INodeProps;\r\n ListItem: INodeProps;\r\n Link: INodeProps;\r\n Button: INodeProps;\r\n Span: INodeProps;\r\n ImageContainer: INodeProps;\r\n MobileDescriptionContainer: INodeProps;\r\n MobileBackButton: INodeProps;\r\n MobileDescriptionLabel: INodeProps;\r\n imageSettings: IImageSettings;\r\n gridSettings: IGridSettings;\r\n isMobileView: boolean;\r\n DivContainer?: INodeProps;\r\n ImageDivContainer?: INodeProps;\r\n showCategoryImage?: boolean;\r\n showPromotionalContent?: boolean;\r\n}\r\n\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\nexport interface INavigationMenuState {\r\n isMobile: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * NavigationMenu component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass NavigationMenu extends React.PureComponent, INavigationMenuState> {\r\n private static CMSItemIdInit: number = MenuTypeIndexId.Cms;\r\n\r\n private static RSItemIdInit: number = MenuTypeIndexId.Retail;\r\n\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n\r\n private menuItemList: IMenuItemData[];\r\n\r\n private isRetail: boolean = true;\r\n\r\n private isCMS: boolean = true;\r\n\r\n @observable\r\n private viewport: GridSize;\r\n\r\n public static getFriendlyName(locale: string, nameTranslations?: TextValueTranslation[]): string | undefined {\r\n let nameTranslation: TextValueTranslation | undefined;\r\n if (locale && nameTranslations && nameTranslations.length > 0) {\r\n nameTranslation = nameTranslations.find(item => item.Language!.toLowerCase() === locale.toLowerCase());\r\n }\r\n\r\n return nameTranslation && nameTranslation.Text;\r\n }\r\n\r\n constructor(props: IMoeKwrNavigationMenuProps) {\r\n super(props);\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this.viewport =\r\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this._setNavigationSource(this.props.config && this.props.config.navigationMenuSource);\r\n this.state = { isMobile: this.isMobile };\r\n this.menuItemList = [];\r\n }\r\n\r\n @computed get isMobile(): boolean {\r\n return this.viewport === 'xs' || this.viewport === 'sm';\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser) {\r\n this.resizeThrottledEventHandler = addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n }\r\n this._updateViewport();\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n this.menuItemList = this._mapData();\r\n if (isEmptyOrNullObject(this.props.data)) {\r\n this.props.telemetry.error('Navigatiomenu returned null');\r\n return null;\r\n }\r\n\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=224&h=300&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=224&h=300&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n\r\n const viewProps = {\r\n ...this.props,\r\n ...this.state,\r\n imageSettings: defaultImageSettings,\r\n gridSettings: this.props.context.request.gridSettings,\r\n Navigation: {\r\n moduleProps: this.props,\r\n className: classnames('ms-nav', this.props.config.className, this.state.isMobile ? 'mobile-vp' : 'desktop-vp'),\r\n tag: 'div',\r\n role: this.isMobile ? 'listbox' : 'navigation',\r\n 'aria-label': this.props.resources.menuAriaLabel\r\n },\r\n MenuList: {\r\n className: 'ms-nav__list',\r\n tag: 'ul',\r\n role: 'menu'\r\n },\r\n ListItem: {\r\n className: 'ms-nav__list__item',\r\n role: 'presentation',\r\n tag: 'li'\r\n },\r\n showCategoryImage: this.props.config.displayCategoryImage || false,\r\n showPromotionalContent: this.props.config.displayPromotionalImage || false,\r\n Link: {\r\n tag: 'a',\r\n className: 'ms-nav__list__item__link',\r\n role: this.isMobile ? 'option' : 'menuitem'\r\n },\r\n DivContainer: {\r\n tag: 'div',\r\n className: 'ms-nav__feature'\r\n },\r\n ImageDivContainer: {\r\n tag: 'div',\r\n className: 'category-image',\r\n role: 'tabpanel'\r\n },\r\n Button: {\r\n className: 'ms-nav__list__item__button',\r\n tag: 'button',\r\n role: this.isMobile ? 'option' : 'menuitem',\r\n onClick: this.props\r\n },\r\n ImageContainer: {\r\n className: 'ms-nav__list__item__image'\r\n },\r\n Span: {\r\n className: 'ms-nav__list__item__span',\r\n tag: 'span'\r\n },\r\n MobileDescriptionContainer: {\r\n className: 'ms-nav__list__mobile__container'\r\n },\r\n MobileBackButton: {\r\n className: 'ms-nav__list__mobile__container__button',\r\n tag: 'button',\r\n 'aria-label': this.props.resources.backButtonAriaLabel,\r\n onClick: this.props\r\n },\r\n MobileDescriptionLabel: {\r\n className: 'ms-nav__list__mobile__container__span',\r\n tag: 'span'\r\n },\r\n isMobileView: this.state.isMobile,\r\n menuItemData: this.menuItemList,\r\n className: classnames('ms-nav', this.props.config.className)\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _mapData(): IMenuItemData[] {\r\n const { data, config } = this.props;\r\n console.log(data.categories.result);\r\n const mergedData: IMenuItemData[] = [];\r\n if (this.isRetail && data && data.categories && data.categories.result && data.categories.result.length > 0) {\r\n data.categories.result.map((item: CategoryHierarchy, index) =>\r\n mergedData.push(this._constructMenuItemData(item, undefined, true, index, true))\r\n );\r\n }\r\n\r\n if (this.isCMS && config.cmsNavItems && config.cmsNavItems.length > 0) {\r\n config.cmsNavItems.map((item: ICmsNavItemsData, idx: number) =>\r\n mergedData.push(this._constructMenuItemData(undefined, item, false, idx + 1))\r\n );\r\n }\r\n return this._constructTopMenuItemData(mergedData);\r\n }\r\n\r\n private _constructTopMenuItemData(mergedData: IMenuItemData[]): IMenuItemData[] {\r\n const enableTopLevelMenu = this.props.config.enabletopMenu || false;\r\n if (!enableTopLevelMenu) {\r\n return mergedData;\r\n }\r\n const mergedRootMenuData: IMenuItemData[] = [];\r\n const topMenu = {\r\n id: 1,\r\n linkText: this.props.config.rootMenuNavigation || '...',\r\n linkURL: '#',\r\n imageSource: undefined,\r\n subMenu: mergedData\r\n } as IMenuItemData;\r\n mergedRootMenuData.push(topMenu);\r\n\r\n return mergedRootMenuData;\r\n }\r\n\r\n private _constructMenuItemData(\r\n retailItem?: CategoryHierarchy,\r\n cmsItem?: ICmsNavItemsData,\r\n isRetail?: boolean,\r\n idx?: number,\r\n addedAllMenu?: boolean\r\n ): IMenuItemData {\r\n const locale =\r\n this.props.context && this.props.context.request && this.props.context.request.locale\r\n ? this.props.context.request.locale\r\n : 'en-us';\r\n const { categoryPromotionalContent } = this.props.config;\r\n\r\n // Filter category promotional data based on category name\r\n const promotionalData =\r\n retailItem &&\r\n categoryPromotionalContent?.filter(promoItem => promoItem.categoryName?.toLowerCase() === retailItem?.Name?.toLowerCase());\r\n\r\n // First check if image is available from promotional data else read from retail server\r\n let imageSource: string = 'empty';\r\n if (ArrayExtensions.hasElements(retailItem?.Images) && retailItem!.Images[0].Uri) {\r\n imageSource = retailItem!.Images[0].Uri;\r\n }\r\n if (isRetail) {\r\n return {\r\n id: NavigationMenu.RSItemIdInit++,\r\n linkText: NavigationMenu.getFriendlyName(locale, retailItem?.NameTranslations) || '',\r\n linkURL: retailItem?.Url,\r\n imageSource,\r\n subMenu: this._getNestedChildren(retailItem, imageSource, addedAllMenu),\r\n promotionalContent: this.props.config.displayPromotionalImage && promotionalData,\r\n menuSource: MenuSource.Retail\r\n } as IMenuItemData;\r\n }\r\n return {\r\n id: NavigationMenu.CMSItemIdInit++,\r\n linkText: (cmsItem && cmsItem.linkText) || '',\r\n linkURL: (cmsItem && cmsItem.linkUrl && cmsItem.linkUrl.destinationUrl) || '',\r\n imageDestinationURL: (cmsItem && cmsItem.imageLink && cmsItem.imageLink.destinationUrl) || '',\r\n imageSource: (cmsItem && cmsItem.image && cmsItem.image.src) || '',\r\n subMenu: this._getCMSNestedChildren(cmsItem),\r\n menuSource: MenuSource.Cms,\r\n shouldOpenNewTab: cmsItem?.openInNewTab\r\n } as IMenuItemData;\r\n }\r\n\r\n private _getNestedChildren(category?: CategoryHierarchy, imageSourceUrl?: string, addedAllMenu: boolean = false): IMenuItemData[] {\r\n const nestedChildren: IMenuItemData[] = [];\r\n if (!category || !category.Children || category.Children.length === 0) {\r\n return [];\r\n }\r\n if (!this.props.config.enabletopMenu && addedAllMenu) {\r\n nestedChildren.push({\r\n linkText: this.props.resources.allCategoryMenuText,\r\n imageSource: imageSourceUrl,\r\n linkURL: getCategoryUrl(category, (this.props.context as unknown) as IActionContext, {})\r\n });\r\n }\r\n category.Children.map((item: CategoryHierarchy, index) => {\r\n nestedChildren.push(this._constructMenuItemData(item, undefined, true, index, false));\r\n });\r\n return nestedChildren;\r\n }\r\n\r\n private _getCMSNestedChildren(category?: ICmsNavItemsData): IMenuItemData[] {\r\n const nestedChildren: IMenuItemData[] = [];\r\n\r\n if (!category || !category.subMenus || category.subMenus.length === 0) {\r\n return [];\r\n }\r\n\r\n category.subMenus.map((item: ISubMenusData, idx: number) => {\r\n nestedChildren.push(this._constructMenuItemData(undefined, item, false, idx));\r\n });\r\n return nestedChildren;\r\n }\r\n\r\n private readonly _setNavigationSource = (sourceType?: navigationMenuSource): void => {\r\n switch (sourceType) {\r\n case navigationMenuSource.retailServerOnly:\r\n this.isRetail = true;\r\n this.isCMS = false;\r\n break;\r\n case navigationMenuSource.cmsOnly:\r\n this.isRetail = false;\r\n this.isCMS = true;\r\n break;\r\n case navigationMenuSource.all:\r\n this.isRetail = true;\r\n this.isCMS = true;\r\n break;\r\n default:\r\n }\r\n };\r\n\r\n private _updateViewport(): void {\r\n this.viewport = this._getViewport();\r\n this.setState({ isMobile: this.isMobile });\r\n }\r\n\r\n private _getViewport(): GridSize {\r\n const { context } = this.props;\r\n\r\n // Always render in mobile viewport on a mobile device\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n\r\n if (MsDyn365.isBrowser && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n\r\n return 'xs';\r\n }\r\n}\r\n\r\nexport default NavigationMenu;\r\n","/* eslint-disable security/detect-object-injection */\r\n/* eslint-disable react/jsx-key */\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/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, { IImageData, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n getTelemetryObject,\r\n IPayLoad,\r\n ITelemetryContent,\r\n Module,\r\n Node,\r\n onTelemetryClick\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { INavigationMenuViewProps } from './moe-kwr-navigation-menu';\r\nimport { IMenuItemData } from './moe-kwr-navigation-menu.data';\r\n\r\nimport { CategoryModal } from '../../components/categorymodal.component';\r\nimport { EnagageModal } from '../../components/engagemodal.component';\r\nimport { CurriculaModal } from '../../components/curriculamodal.component';\r\n// import { Logo } from './components/logo';\r\nimport { getUrlSync, getAsset } from '@msdyn365-commerce/core';\r\nimport { getCategoryDescriptionAsync } from '../../actions/extensions/DataActionExtension.g';\r\nimport { searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport { ProductSearchCriteria } from '@msdyn365-commerce/retail-proxy';\r\n// import { getToggleLang } from '../../utilities/language-change';\r\nimport { IKwrHomePageLanguageAttributes } from '../moe-kwr-homepage/moe-kwr-homepage.view';\r\nimport {\r\n ENGLISH_LANG,\r\n ENGLISH_LANG_CODE,\r\n ENGLISH_TOGGLE_PREFIX,\r\n MAORI_LANG,\r\n MAORI_LANG_CODE,\r\n MAORI_TOGGLE_PREFIX\r\n} from '../../utilities/constants';\r\n\r\ninterface INavigationState {\r\n parentMenu?: number;\r\n activeMenu?: number;\r\n categoryImage?: IImageData[] | null;\r\n mobileViewLabelText?: string;\r\n categoryImageAltText: string;\r\n categoryMemuIsActive: boolean;\r\n engageMenuIsActive: boolean;\r\n curriculaMenuIsActive: boolean;\r\n categoryDescription: string;\r\n curatedProduct: any[];\r\n isMenuOpen: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * NavigationMenuView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class NavigationMenuView extends React.PureComponent {\r\n private static isBackTrack: boolean = false;\r\n\r\n private currentLevel: number = 0;\r\n\r\n private readonly menuNode: React.RefObject;\r\n\r\n private readonly menuItemRef: React.RefObject;\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n private readonly payLoad: IPayLoad;\r\n\r\n constructor(props: INavigationMenuViewProps) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n this.menuItemRef = React.createRef();\r\n this.state = {\r\n activeMenu: undefined,\r\n mobileViewLabelText: '',\r\n parentMenu: undefined,\r\n categoryImageAltText: '',\r\n categoryMemuIsActive: false,\r\n engageMenuIsActive: false,\r\n curriculaMenuIsActive: false,\r\n categoryDescription: '',\r\n curatedProduct: [],\r\n isMenuOpen: false\r\n };\r\n this._closeSubmenu = this._closeSubmenu.bind(this);\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser) {\r\n document.body.addEventListener('mousedown', this._handleClickOutside);\r\n document.body.addEventListener('focusout', this._handleFocusOutside);\r\n }\r\n const categoryID = this.props.data?.category?.result?.RecordId || 0;\r\n const locale = this.props.context.request.locale;\r\n if (categoryID) {\r\n this._getCategoryDescription(categoryID, locale)\r\n ?.then(result => {\r\n this.setState({\r\n categoryDescription: result.Description || ''\r\n });\r\n })\r\n .catch(error => {\r\n console.log('getCategoryDescription API - error', error);\r\n });\r\n }\r\n\r\n // if (MsDyn365.isBrowser) {\r\n // var main = document.getElementById('main');\r\n // if (main) {\r\n // main.classList.add('main');\r\n // }\r\n\r\n // var body = document.getElementsByTagName('body')[0];\r\n // if (body) {\r\n // body.id = 'body';\r\n // body.classList.add('body--global-nav');\r\n // }\r\n\r\n // const mainJSURL = `${getAsset('scripts/main.js', this.props.context.request)}`;\r\n // const externalScript = document.createElement('script');\r\n // externalScript.id = 'external';\r\n // externalScript.async = true;\r\n // externalScript.type = 'text/javascript';\r\n // externalScript.setAttribute('crossorigin', 'anonymous');\r\n // externalScript.src = mainJSURL;\r\n // document.body.appendChild(externalScript);\r\n // console.log('Script executed.');\r\n // }\r\n }\r\n\r\n public componentDidUpdate(): void {\r\n if (this.menuItemRef.current?.children[0] && this.props.isMobileView) {\r\n (this.menuItemRef.current.children[0] as HTMLElement).focus();\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n document.body.removeEventListener('mousedown', this._handleClickOutside, false);\r\n document.body.removeEventListener('focusout', this._handleFocusOutside, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n isMobileView,\r\n // MenuList,\r\n // MobileBackButton,\r\n // MobileDescriptionContainer,\r\n // MobileDescriptionLabel,\r\n Navigation,\r\n menuItemData,\r\n resources,\r\n context,\r\n data\r\n } = this.props;\r\n\r\n // Identifying Language\r\n const toggleLang = context.request.locale.toLowerCase() === MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG;\r\n let userLang = context.request.user.isAuthenticated && data.customerInformation.result && data.customerInformation.result.Language;\r\n if (userLang) {\r\n userLang = userLang.toLowerCase() === MAORI_LANG_CODE ? ENGLISH_LANG : MAORI_LANG;\r\n }\r\n const userPrefLang = userLang || toggleLang;\r\n const preferredLanguage: any = userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n // Changing language based on preferred language\r\n const appendLangWord = preferredLanguage === MAORI_LANG ? 'InMaori' : '';\r\n const KwrHomePageLanguageAttributes: IKwrHomePageLanguageAttributes = {\r\n languageText: resources[`languageText${appendLangWord}`],\r\n atuaTabName: resources[`atuaTabName${appendLangWord}`],\r\n engageTabName: resources[`engageTabName${appendLangWord}`],\r\n curriculaTabName: resources[`curriculaTabName${appendLangWord}`],\r\n searchTabName: resources[`searchTabName${appendLangWord}`],\r\n closeText: resources[`closeText${appendLangWord}`],\r\n introSearchText1: resources[`introSearchText1${appendLangWord}`],\r\n introSearchText2: resources[`introSearchText2${appendLangWord}`],\r\n trySearchText: resources[`trySearchText${appendLangWord}`],\r\n introAtuaSearchText: resources[`introAtuaSearchText${appendLangWord}`],\r\n introAtuaBlurbTextRanguini: resources[`introAtuaBlurbTextRanguini${appendLangWord}`],\r\n introAtuaBlurbTextPapatuanuku: resources[`introAtuaBlurbTextPapatuanuku${appendLangWord}`],\r\n introAtuaBlurbTextTangaroa: resources[`introAtuaBlurbTextTangaroa${appendLangWord}`],\r\n introAtuaBlurbTextTane: resources[`introAtuaBlurbTextTane${appendLangWord}`],\r\n introAtuaBlurbTextTumatauenga: resources[`introAtuaBlurbTextTumatauenga${appendLangWord}`],\r\n introAtuaBlurbTextRongo: resources[`introAtuaBlurbTextRongo${appendLangWord}`],\r\n introAtuaBlurbTextHaumia: resources[`introAtuaBlurbTextHaumia${appendLangWord}`],\r\n introAtuaBlurbTextTawhirimatea: resources[`introAtuaBlurbTextTawhirimatea${appendLangWord}`],\r\n introAtuaBlurbTextHineahuone: resources[`introAtuaBlurbTextHineahuone${appendLangWord}`],\r\n introAtuaBlurbTextWhiro: resources[`introAtuaBlurbTextWhiro${appendLangWord}`],\r\n introAtuaBlurbTextRuaumoko: resources[`introAtuaBlurbTextRuaumoko${appendLangWord}`],\r\n backButtonText: resources[`backButtonText${appendLangWord}`],\r\n curatedCollections: resources[`curatedCollections${appendLangWord}`],\r\n newsEvents: resources[`newsEvents${appendLangWord}`]\r\n };\r\n\r\n const navArray = menuItemData;\r\n const atuaIndex = menuItemData?.findIndex(item => item.linkText === 'KAUWHATA ATUA');\r\n let subMenu: any;\r\n if (atuaIndex > -1) {\r\n subMenu = menuItemData[atuaIndex].subMenu ? menuItemData[atuaIndex].subMenu?.slice(1) : null;\r\n } else {\r\n subMenu = menuItemData[0].subMenu ? menuItemData[0].subMenu?.slice(1) : null;\r\n }\r\n\r\n this.currentLevel = 1;\r\n const mainJSURL = `${getAsset('scripts/main.js', this.props.context.request)}`;\r\n const codeStr = `\r\n
    \r\n \r\n \r\n
    `;\r\n const engageSubMenu =\r\n (this.props.config.cmsNavItems && this.props.config.cmsNavItems.length > 0 && this.props.config.cmsNavItems[0]) || undefined;\r\n const curriculaSubMenu =\r\n (this.props.config.cmsNavItems && this.props.config.cmsNavItems.length > 1 && this.props.config.cmsNavItems[1]) || undefined;\r\n const searchURL = getUrlSync('search', this.props.context.actionContext) || '';\r\n const { requestUrl } = this.props.context.request.url;\r\n const langCode = this.props.context.request.locale.toLowerCase();\r\n\r\n let pathUrl = requestUrl.pathname;\r\n if (langCode === ENGLISH_LANG_CODE) {\r\n pathUrl = MAORI_TOGGLE_PREFIX + pathUrl;\r\n } else if (langCode === MAORI_LANG_CODE) {\r\n pathUrl = pathUrl.replace(ENGLISH_TOGGLE_PREFIX, '');\r\n }\r\n const redirectUrl = `${requestUrl.origin}/${pathUrl}${requestUrl.search}`;\r\n return (\r\n \r\n {/* \r\n {isMobileView && this.state.activeMenu !== undefined && (\r\n \r\n \r\n {this.state.mobileViewLabelText}\r\n \r\n )}\r\n */}\r\n {this._renderMobileMenus(searchURL, curriculaSubMenu, subMenu, engageSubMenu, KwrHomePageLanguageAttributes, redirectUrl)}\r\n {this._renderNavigation(navArray, searchURL, KwrHomePageLanguageAttributes, redirectUrl)}\r\n
      \r\n {\r\n ;\r\n }}\r\n buttonClassname={'header-menu__mega-nav-toggler'}\r\n context={this.props.context}\r\n id={'1'}\r\n typeName={'2'}\r\n data={[]}\r\n isModalOpen={this.state.categoryMemuIsActive}\r\n btnCloseClick={() => this.handleSubmenuModal()}\r\n KwrHomePageLanguageAttributes={KwrHomePageLanguageAttributes}\r\n preferredLanguage={preferredLanguage}\r\n >\r\n {engageSubMenu && (\r\n {\r\n ;\r\n }}\r\n buttonClassname={'header-menu__mega-nav-toggler'}\r\n context={this.props.context}\r\n id={'1'}\r\n typeName={'2'}\r\n data={[]}\r\n isModalOpen={this.state.engageMenuIsActive}\r\n btnCloseClick={() => this.setEngageMenuIsActive()}\r\n KwrHomePageLanguageAttributes={KwrHomePageLanguageAttributes}\r\n preferredLanguage={preferredLanguage}\r\n >\r\n )}\r\n {curriculaSubMenu && (\r\n {\r\n ;\r\n }}\r\n context={this.props.context}\r\n id={'1'}\r\n typeName={'2'}\r\n data={[]}\r\n isModalOpen={this.state.curriculaMenuIsActive}\r\n btnCloseClick={() => this.setCurriculaMenuIsActive()}\r\n KwrHomePageLanguageAttributes={KwrHomePageLanguageAttributes}\r\n preferredLanguage={preferredLanguage}\r\n >\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n private handleSubmenuModal() {\r\n this.setState({\r\n categoryMemuIsActive: !this.state.categoryMemuIsActive,\r\n isMenuOpen: !this.state.isMenuOpen\r\n });\r\n }\r\n\r\n private setCurriculaMenuIsActive() {\r\n this.setState({\r\n curriculaMenuIsActive: !this.state.curriculaMenuIsActive,\r\n isMenuOpen: !this.state.isMenuOpen\r\n });\r\n }\r\n\r\n private setEngageMenuIsActive() {\r\n this.setState({\r\n engageMenuIsActive: !this.state.engageMenuIsActive,\r\n isMenuOpen: !this.state.isMenuOpen\r\n });\r\n }\r\n\r\n private _renderSubMenu(subMenus?: IMenuItemData[], activeMenu?: number, IsSubMenu?: boolean): JSX.Element | null {\r\n const { isMobileView, ListItem } = this.props;\r\n const enableMultiSupportMenu = this.props.config.enableMultilevelMenu || false;\r\n const multiLevelSupportedMenu = this.props.config.menuLevelSupport || 3;\r\n\r\n // Const isParentMenu:boolean= false;\r\n if (activeMenu && this.state.activeMenu !== activeMenu) {\r\n this.props.context.telemetry.error('Navigation Active menu content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n if (!subMenus || subMenus.length === 0) {\r\n this.props.context.telemetry.error('Navigation Submenu content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n let levelClassName: string = '';\r\n const menuOptions =\r\n subMenus &&\r\n subMenus.map((option: IMenuItemData, idx: number) => {\r\n const hasOptions = option.subMenu && option.subMenu.length > 0;\r\n let menuItem: JSX.Element | null;\r\n if (hasOptions && isMobileView) {\r\n menuItem = this._renderButtonMenuItem(option, activeMenu, idx);\r\n } else {\r\n menuItem = option.linkURL ? this._renderLinkMenuItem(option, idx) : this._renderSpanMenuItem(option);\r\n }\r\n\r\n let subMenu;\r\n const haveSubmenu = hasOptions && enableMultiSupportMenu && this.currentLevel <= Math.round(multiLevelSupportedMenu) - 1;\r\n if (haveSubmenu) {\r\n this.currentLevel++;\r\n levelClassName = enableMultiSupportMenu ? `level-${this.currentLevel.toString()}` : '';\r\n subMenu = this._renderSubMenu(option.subMenu, isMobileView ? option.id : undefined, true);\r\n }\r\n return (\r\n \r\n {menuItem}\r\n {subMenu}\r\n \r\n );\r\n });\r\n return this._renderMenu(levelClassName, menuOptions, activeMenu, IsSubMenu);\r\n }\r\n\r\n private _renderButtonMenuItem(option: IMenuItemData, activeMenu?: number, index?: number): JSX.Element | null {\r\n const { Button } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _getCategoryDescription(categroyID: number, locale: string) {\r\n try {\r\n const context: any = { callerContext: this.props.context.actionContext };\r\n return getCategoryDescriptionAsync(context, categroyID, locale).then((result: any) => {\r\n return result;\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n return;\r\n }\r\n }\r\n\r\n private _renderLinkMenuItem(\r\n option: IMenuItemData,\r\n index?: number,\r\n hoverEffect: boolean = true,\r\n isParent: boolean = false\r\n ): JSX.Element | null {\r\n const { Link } = this.props;\r\n const linkText = option.linkText ? option.linkText : '';\r\n const imagesource = option.imageSource ? option.imageSource : '';\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderPromotionalLink(linkText?: string, linkUrl?: string): JSX.Element | null {\r\n const { Link } = this.props;\r\n this.payLoad.contentAction.etext = linkText;\r\n const attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\r\n if (linkText && linkUrl) {\r\n return (\r\n \r\n {linkText}\r\n \r\n );\r\n }\r\n return null;\r\n }\r\n\r\n private _renderSpanMenuItem(option: IMenuItemData, index?: number, isParent: boolean = false): JSX.Element | null {\r\n const { Span } = this.props;\r\n return (\r\n \r\n {option.linkText}\r\n \r\n );\r\n }\r\n\r\n private _renderMenu(level: string, menuOptions: JSX.Element[], currentItem?: number, submenu?: boolean): JSX.Element | null {\r\n const { DivContainer, MenuList, ImageDivContainer, showCategoryImage, showPromotionalContent, isMobileView } = this.props;\r\n const categoryImageDisplay =\r\n !isMobileView &&\r\n (showCategoryImage || showPromotionalContent) &&\r\n !ArrayExtensions.hasElements(this.state.categoryImage) &&\r\n !submenu;\r\n const promotionalContentDisplay =\r\n !isMobileView && showPromotionalContent && ArrayExtensions.hasElements(this.state.categoryImage) && !submenu;\r\n const DivContainerClass = this.currentLevel > 2 || categoryImageDisplay ? DivContainer!.className : 'ms-nav__deafult';\r\n this.currentLevel = 1;\r\n return (\r\n \r\n 2 &&\r\n 'navmenu-multi-level'\r\n )}\r\n >\r\n {menuOptions}\r\n \r\n {categoryImageDisplay &&\r\n this.state.categoryImage &&\r\n this.state.categoryImage.map(item => (\r\n \r\n {this.state.categoryImage && this._getCategoryImage(item)}\r\n {promotionalContentDisplay && this._renderPromotionalLink(item.altText, item.additionalProperties?.linkUrl)}\r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n private readonly _updateCategoryImage = (categoryImageSrc: string, option: IMenuItemData) => () => {\r\n const linkText = option && option.linkText ? option.linkText : '';\r\n const promotionalImage: IImageData[] = [{ src: categoryImageSrc, altText: linkText }];\r\n\r\n // Read category and promotional image in one array\r\n if (ArrayExtensions.hasElements(option.promotionalContent)) {\r\n option.promotionalContent.map(item => {\r\n if (item && item.image) {\r\n const imageSrc = item.image.src;\r\n const promotionalItemImageSettings = item.image.imageSettings;\r\n promotionalImage.push({\r\n src: imageSrc,\r\n altText: item.text,\r\n imageSettings: promotionalItemImageSettings,\r\n additionalProperties: { linkUrl: item.linkUrl.destinationUrl }\r\n });\r\n }\r\n });\r\n }\r\n this.setState({\r\n categoryImage: promotionalImage.length > 0 ? promotionalImage : [{ src: 'empty' }],\r\n categoryImageAltText: linkText\r\n });\r\n };\r\n\r\n private readonly _handleDropdownToggle = (data: IMenuItemData, parentId?: number) => () => {\r\n if (!this.props.isMobileView) {\r\n this.setState({\r\n activeMenu: this.state.activeMenu && this.state.activeMenu === data.id! ? undefined : data.id!,\r\n parentMenu: parentId\r\n });\r\n if (this.props.showCategoryImage) {\r\n this._updateCategoryImage(data.imageSource!, data)();\r\n }\r\n } else {\r\n NavigationMenuView.isBackTrack = false;\r\n this.setState({\r\n activeMenu: data.id,\r\n mobileViewLabelText: data.linkText!,\r\n parentMenu: parentId\r\n });\r\n }\r\n };\r\n\r\n // private readonly _handleGoBack = () => () => {\r\n // NavigationMenuView.isBackTrack = true;\r\n // this.setState({ activeMenu: this.state.parentMenu });\r\n // };\r\n\r\n /**\r\n * Method to handle click outside of menu.\r\n * @param event -HTML event.\r\n */\r\n private readonly _handleClickOutside = (event: MouseEvent) => {\r\n if (this.menuNode.current && !this.menuNode.current.contains(event.target as Node)) {\r\n this.setState({\r\n activeMenu: undefined,\r\n mobileViewLabelText: '',\r\n categoryImage: null\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Method to handle click outside of menu.\r\n * @param event -HTML event.\r\n */\r\n private readonly _handleFocusOutside = (event: FocusEvent) => {\r\n if (this.menuNode.current && !this.menuNode.current.contains(event.relatedTarget as Node)) {\r\n this._closeSubmenu();\r\n }\r\n };\r\n\r\n /**\r\n * Checks to assign a ref for focus.\r\n * @param index -Sub menu list index.\r\n * @param mobileViewLabelText -Parent user clicked Sub menu list.\r\n * @param optionLinkText -Sub menu list.\r\n * @returns Ref.\r\n */\r\n private readonly _shouldAddFocusMenuRef = (index: number, mobileViewLabelText?: string, optionLinkText?: string) => {\r\n if (!NavigationMenuView.isBackTrack && index === 0) {\r\n return true;\r\n }\r\n if (!optionLinkText || !mobileViewLabelText) {\r\n return false;\r\n }\r\n return mobileViewLabelText === optionLinkText;\r\n };\r\n\r\n private _closeSubmenu(): void {\r\n if (!this.props.isMobileView) {\r\n this.setState({ activeMenu: undefined, categoryImage: null, mobileViewLabelText: '' });\r\n }\r\n }\r\n\r\n private readonly _getCategoryImage = (categoryImage?: IImageData): React.ReactNode | null => {\r\n if (!categoryImage || !categoryImage.src) {\r\n return null;\r\n }\r\n\r\n const categoryImageUrl = generateImageUrl(`${categoryImage.src}`, this.props.context.actionContext.requestContext.apiSettings);\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n sm: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n md: { q: 'w=300&h=250&m=8', w: 0, h: 0 },\r\n lg: { q: 'w=300&h=250&m=8', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n if (categoryImageUrl !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n private _getSlot(slotName: string): React.ReactNode[] | null {\r\n const { slots } = this.props;\r\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\r\n }\r\n\r\n private _getCuratedCollectionData(): void {\r\n const actionContext: any = this.props.context?.actionContext;\r\n const channelId = this.props.context?.request?.apiSettings?.channelId;\r\n const catalogID = this.props.context?.request?.apiSettings?.catalogId;\r\n const productIDs = [];\r\n\r\n if (this.props.context?.request?.url?.requestUrl?.pathname.includes('/curatedcollection')) {\r\n const recordId: string =\r\n this.props.context.request.query && this.props.context.request.query.rid ? this.props.context.request.query.rid : '';\r\n\r\n productIDs.push(parseInt(recordId, 10));\r\n\r\n if (productIDs.length > 0) {\r\n const searchCriteriaInput: ProductSearchCriteria = {\r\n Context: { CatalogId: catalogID, ChannelId: channelId },\r\n Ids: productIDs\r\n };\r\n\r\n void searchByCriteriaAsync(actionContext, searchCriteriaInput).then(products => {\r\n if (products.length > 0) {\r\n const newImageUrl = generateImageUrl(products[0].PrimaryImageUrl, this.props.context.request.apiSettings);\r\n this.setState({ ...this.state, curatedProduct: [{ ...products[0], PrimaryImageUrl: newImageUrl }] });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // private _getSiteRedirectionUrl() {\r\n // const { requestUrl } = this.props.context.request.url;\r\n // const langCode = this.props.context.request.locale.toLowerCase();\r\n\r\n // let pathUrl = requestUrl.pathname;\r\n // if (langCode === ENGLISH_LANG_CODE) {\r\n // pathUrl = `${MAORI_TOGGLE_PREFIX} + ${pathUrl}`;\r\n // } else if (langCode === MAORI_LANG_CODE) {\r\n // pathUrl = pathUrl.replace(ENGLISH_TOGGLE_PREFIX, '');\r\n // }\r\n // const redirectUrl = `${requestUrl.origin}/${pathUrl}${requestUrl.search}`;\r\n // return redirectUrl;\r\n // }\r\n\r\n private _renderNavigation(\r\n menuItemData: IMenuItemData[],\r\n searchURL: string,\r\n KwrHomePageLanguageAttributes: IKwrHomePageLanguageAttributes,\r\n redirectUrl: string\r\n ): JSX.Element | null {\r\n // const { siteOptions } = this.props.config;\r\n const breadcrumbSlot = this._getSlot('breadcrumb');\r\n const logourl = `${getAsset('images/logo-kauwhata-reo.svg', this.props.context.request)}`;\r\n // const { logoLink, logoImage } = this.props.config;\r\n const homeURL = getUrlSync('home', this.props.context.actionContext) || '';\r\n const currentCategory = this.props.data?.category?.result;\r\n const toggleLang = this.props.context.request.locale.toLowerCase() === MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG;\r\n const toggleTooltip = toggleLang === 'maori' ? 'Whakaatuhia te paetukutuku i te reo Ingarihi' : 'Display website in Te Reo Māori';\r\n // const siteOptionsUrl =\r\n // (siteOptions && siteOptions[0] && siteOptions[0]?.siteRedirectUrl && siteOptions[0]?.siteRedirectUrl?.destinationUrl) || '';\r\n // const locale = this.props.context.request.locale;\r\n // console.log('locale:', locale);\r\n void this._getCuratedCollectionData();\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n\r\n private _renderHeaderMenuItem(\r\n menuItemData: IMenuItemData,\r\n itemIndex: number,\r\n KwrHomePageLanguageAttributes: IKwrHomePageLanguageAttributes\r\n ): JSX.Element | null {\r\n if (itemIndex === 0) {\r\n return (\r\n
  • \r\n {\r\n this.handleSubmenuModal();\r\n }}\r\n >\r\n {/* {menuItemData.linkText} */}\r\n {KwrHomePageLanguageAttributes.atuaTabName}\r\n \r\n
  • \r\n );\r\n } else {\r\n return <>;\r\n }\r\n }\r\n\r\n private _renderMobileMenus(\r\n searchURL: string,\r\n curriculaSubMenu: any,\r\n subMenu: any,\r\n engageSubMenu: any,\r\n KwrHomePageLanguageAttributes: IKwrHomePageLanguageAttributes,\r\n redirectUrl: string\r\n ) {\r\n // const { siteOptions } = this.props.config;\r\n const toggleLang = this.props.context.request.locale.toLowerCase() === MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG;\r\n const toggleTooltip = toggleLang === 'maori' ? 'Whakaatuhia te paetukutuku i te reo Ingarihi' : 'Display website in Te Reo Māori';\r\n // const siteOptionsUrl =\r\n // (siteOptions && siteOptions[0] && siteOptions[0]?.siteRedirectUrl && siteOptions[0]?.siteRedirectUrl?.destinationUrl) || '';\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n
    {KwrHomePageLanguageAttributes.closeText}
    \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n\r\n function renderMobileMenuItem(categoryItem: any, props: INavigationMenuViewProps) {\r\n const categoryImageUrl = generateImageUrl(\r\n `${categoryItem.imageSource}`,\r\n props.context.actionContext.requestContext.apiSettings\r\n );\r\n return (\r\n <>\r\n
  • \r\n \r\n \r\n {' '}\r\n \r\n {categoryItem.linkText}\r\n \r\n
  • \r\n \r\n );\r\n }\r\n\r\n function renderMoblieCurriculaMenuItem(menuItem: any) {\r\n return (\r\n <>\r\n
    {menuItem.linkText}
    \r\n\r\n {renderMobileCurriculaSubMenuItems(menuItem)}\r\n \r\n );\r\n }\r\n\r\n function renderMobileCurriculaSubMenuItems(subMenuItem: any) {\r\n return (\r\n <>\r\n {subMenuItem &&\r\n subMenuItem.subMenus &&\r\n subMenuItem.subMenus.length > 0 &&\r\n subMenuItem.subMenus?.map((subMenu: any, idx: number) => {\r\n return (\r\n <>\r\n
  • \r\n \r\n {subMenu.linkText}\r\n \r\n \r\n
  • \r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n\r\n function renderMoblieEngageMenuItem(menuItem: any) {\r\n return (\r\n <>\r\n
    {menuItem.linkText}
    \r\n {renderMobileEngageSubMenuItems(menuItem)}\r\n \r\n );\r\n }\r\n\r\n function renderMobileEngageSubMenuItems(subMenuItem: any) {\r\n return (\r\n <>\r\n {subMenuItem &&\r\n subMenuItem.subMenus &&\r\n subMenuItem.subMenus.length > 0 &&\r\n subMenuItem.subMenus?.map((subMenu: any, idx: number) => {\r\n return (\r\n <>\r\n
  • \r\n \r\n {subMenu.linkText}\r\n \r\n
  • \r\n \r\n );\r\n })}\r\n \r\n );\r\n }\r\n }\r\n\r\n // private _handleLangToggle = (langCode: string) => {\r\n // const { requestUrl } = this.props.context.request.url;\r\n // const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\r\n\r\n // if (siteOptions.length > 0) {\r\n // siteOptions.map((item, index) => {\r\n // if (index === 0) {\r\n // window.location.href = item?.siteRedirectUrl?.destinationUrl;\r\n // }\r\n // return;\r\n // });\r\n // } else {\r\n // let pathUrl;\r\n // if (langCode === 'en-NZ') {\r\n // pathUrl = '';\r\n // } else if (langCode === 'mi-NZ') {\r\n // pathUrl = 'mi-NZ/';\r\n // }\r\n // const redirectUrl = `${requestUrl.origin}/${pathUrl}${requestUrl.search}`;\r\n // window.location.href = redirectUrl;\r\n // }\r\n // };\r\n}\r\n\r\nexport default NavigationMenuView;\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['moe-kwr-navigation-menu'] = {\n c: () => require('partner/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.tsx'),\n $type: 'containerModule',\n da: [{name:'categories', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-categories-hierarchy', runOn: 0},{name:'category', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category', runOn: 0},{name:'customerInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0,options: {\"cacheType\":\"none\"}}],\n \n iNM: false,\n ns: '__local__',\n n: 'moe-kwr-navigation-menu',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/moe-kwr-navigation-menu'\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';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-current-category');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\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|moe-kwr-navigation-menu|moe-kwr-navigation-menu'] = {\n c: () => require('partner/modules/moe-kwr-navigation-menu/moe-kwr-navigation-menu.view.tsx'),\n cn: '__local__-__local__-moe-kwr-navigation-menu'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["CategoryModal","_ref","isModalOpen","menuName","buttonClassname","subMenuItems","context","btnCloseClick","KwrHomePageLanguageAttributes","preferredLanguage","category","React","className","id","closeText","onClick","atuaTabName","length","map","categoryItem","categoryImageUrl","generateImageUrl","imageSource","actionContext","requestContext","apiSettings","tabIndex","href","linkURL","title","linkText","src","alt","renderMenuItem","CurriculaModal","subMenus","curriculaTabName","menuItem","subMenuItem","_subMenuItem$subMenus","subMenu","idx","_subMenu$linkUrl","_subMenu$image","_subMenu$image2","_subMenu$image3","key","linkUrl","destinationUrl","image","altText","EnagageModal","engageTabName","MenuTypeIndexId","MenuSource","navigationMenuSource","NavigationMenu","constructor","props","super","isRetail","isCMS","_setNavigationSource","sourceType","retailServerOnly","this","cmsOnly","all","_updateViewport","bind","viewport","request","device","Type","config","state","isMobile","menuItemList","locale","nameTranslations","nameTranslation","find","item","Language","toLowerCase","Text","componentDidMount","MsDyn365","isBrowser","resizeThrottledEventHandler","addThrottledEvent","window","componentWillUnmount","removeEventListener","render","_mapData","isEmptyOrNullObject","data","telemetry","error","viewProps","_objectSpread","imageSettings","viewports","xs","q","w","h","xl","lazyload","gridSettings","Navigation","moduleProps","classnames","tag","role","resources","menuAriaLabel","MenuList","ListItem","showCategoryImage","displayCategoryImage","showPromotionalContent","displayPromotionalImage","Link","DivContainer","ImageDivContainer","Button","ImageContainer","Span","MobileDescriptionContainer","MobileBackButton","backButtonAriaLabel","MobileDescriptionLabel","isMobileView","menuItemData","renderView","console","log","categories","result","mergedData","index","push","_constructMenuItemData","undefined","cmsNavItems","_constructTopMenuItemData","enabletopMenu","mergedRootMenuData","topMenu","rootMenuNavigation","retailItem","cmsItem","addedAllMenu","categoryPromotionalContent","promotionalData","filter","promoItem","_promoItem$categoryNa","_retailItem$Name","categoryName","Name","ArrayExtensions","hasElements","Images","Uri","RSItemIdInit","getFriendlyName","NameTranslations","Url","_getNestedChildren","promotionalContent","menuSource","Retail","CMSItemIdInit","imageDestinationURL","imageLink","_getCMSNestedChildren","Cms","shouldOpenNewTab","openInNewTab","imageSourceUrl","arguments","nestedChildren","Children","allCategoryMenuText","getCategoryUrl","_getViewport","setState","innerWidth","sm","md","lg","__decorate","observable","computed","NavigationMenuView","currentLevel","_updateCategoryImage","categoryImageSrc","option","promotionalImage","imageSrc","promotionalItemImageSettings","text","additionalProperties","categoryImage","categoryImageAltText","_handleDropdownToggle","parentId","isBackTrack","activeMenu","mobileViewLabelText","parentMenu","_handleClickOutside","event","menuNode","current","contains","target","_handleFocusOutside","relatedTarget","_closeSubmenu","_shouldAddFocusMenuRef","optionLinkText","_getCategoryImage","defaultImageSettings","_categoryImage$imageS","Image","Object","assign","categoryImageSettings","loadFailureBehavior","menuItemRef","categoryMemuIsActive","engageMenuIsActive","curriculaMenuIsActive","categoryDescription","curatedProduct","isMenuOpen","telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","payLoad","getPayloadObject","_this$props$data","document","body","addEventListener","categoryID","RecordId","_this$_getCategoryDes","_getCategoryDescription","then","Description","catch","componentDidUpdate","_this$menuItemRef$cur","children","focus","toggleLang","MAORI_LANG_CODE","MAORI_LANG","ENGLISH_LANG","userLang","user","isAuthenticated","customerInformation","appendLangWord","languageText","searchTabName","introSearchText1","introSearchText2","trySearchText","introAtuaSearchText","introAtuaBlurbTextRanguini","introAtuaBlurbTextPapatuanuku","introAtuaBlurbTextTangaroa","introAtuaBlurbTextTane","introAtuaBlurbTextTumatauenga","introAtuaBlurbTextRongo","introAtuaBlurbTextHaumia","introAtuaBlurbTextTawhirimatea","introAtuaBlurbTextHineahuone","introAtuaBlurbTextWhiro","introAtuaBlurbTextRuaumoko","backButtonText","curatedCollections","newsEvents","navArray","atuaIndex","findIndex","_menuItemData$atuaInd","_menuItemData$0$subMe","slice","codeStr","getAsset","engageSubMenu","curriculaSubMenu","searchURL","getUrlSync","requestUrl","url","langCode","pathUrl","pathname","ENGLISH_LANG_CODE","MAORI_TOGGLE_PREFIX","replace","ENGLISH_TOGGLE_PREFIX","redirectUrl","origin","search","Module","_renderMobileMenus","_renderNavigation","renderButton","typeName","handleSubmenuModal","setEngageMenuIsActive","setCurriculaMenuIsActive","dangerouslySetInnerHTML","__html","_renderSubMenu","IsSubMenu","enableMultiSupportMenu","enableMultilevelMenu","multiLevelSupportedMenu","menuLevelSupport","levelClassName","menuOptions","hasOptions","_renderButtonMenuItem","_renderLinkMenuItem","_renderSpanMenuItem","haveSubmenu","Math","round","toString","Node","ref","_renderMenu","onFocus","categroyID","callerContext","getCategoryDescriptionAsync","err","hoverEffect","isParent","imagesource","contentAction","etext","attributes","getTelemetryAttributes","onMouseOver","onTelemetryClick","_renderPromotionalLink","level","currentItem","submenu","categoryImageDisplay","promotionalContentDisplay","DivContainerClass","_item$additionalPrope","_getSlot","slotName","slots","_getCuratedCollectionData","_this$props$context","_this$props$context2","_this$props$context3","_this$props$context4","channelId","catalogID","catalogId","productIDs","includes","recordId","query","rid","parseInt","searchCriteriaInput","Context","CatalogId","ChannelId","Ids","searchByCriteriaAsync","products","newImageUrl","PrimaryImageUrl","_this$props$data2","_this$props$context5","_this$props$context6","_this$props$context7","breadcrumbSlot","logourl","homeURL","currentCategory","toggleTooltip","_renderHeaderMenuItem","itemIndex","_curriculaSubMenu$sub","_engageSubMenu$subMen","renderMobileMenuItem","_subMenuItem$subMenus2","_subMenu$linkUrl2","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","c","require","$type","da","name","path","runOn","options","iNM","ns","n","p","pdp","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}