{"version":3,"file":"static/js/8b2ef8c711376dae4c92.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/components/collectionitem.component.tsx?4581","webpack://Msdyn365.Commerce.Online/./src/modules/moe-addtocollection/moe-addtocollection.view.tsx?f1e9","webpack://Msdyn365.Commerce.Online/./src/utilities/language-change.ts?a435"],"sourcesContent":["/*--------------------------------------------------------------\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 react/no-unknown-property */\r\nimport { IComponent, IComponentProps } from '@msdyn365-commerce/core';\r\nimport { getByIdsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport React, { useRef, useState } from 'react';\r\nimport { FaPen, FaCheck, FaTrashAlt } from 'react-icons/fa';\r\nimport { MAORI_LANG } from '../utilities/constants';\r\n\r\nexport interface ICollectionItemComponentProps extends IComponentProps<{}> {\r\n className?: string;\r\n index: number;\r\n isCheckboxEnabled: boolean;\r\n onCheckboxSelect: (event: React.ChangeEvent, collectionId: string, isChecked: boolean) => void;\r\n collection: any;\r\n isClickCollectionEnabled: boolean;\r\n onClickCollection: (index: number, collectionId: number, collectionProducts: any[]) => void;\r\n isEditEnabled: boolean;\r\n isDeleteEnabled: boolean;\r\n isTickMarkVisible: boolean;\r\n toggleEditableCollection: (event: any, index: any) => void;\r\n deleteCollection: (event: any, collectionId: any) => void;\r\n collectionNameRef?: any;\r\n currentIndex?: any;\r\n selectCollection: (index: number, collectionId: number) => void;\r\n updateCollectionName: (collectionId: number, changedCollectionName: string, setCollectionTitle: any) => void;\r\n selectedCollection?: any;\r\n redirectionLink?: any;\r\n setErrorMessage?: any;\r\n MoeErrorMessages?: any;\r\n preferredLanguageForError?: string;\r\n siteLang?: string;\r\n otherSiteCollectionCount?: any;\r\n}\r\n\r\nexport interface ICollectionItemComponent extends IComponent {}\r\n\r\nexport const CollectionItem: React.FC = ({\r\n context,\r\n typeName,\r\n id,\r\n className,\r\n index,\r\n isCheckboxEnabled,\r\n onCheckboxSelect,\r\n collection,\r\n isClickCollectionEnabled,\r\n onClickCollection,\r\n isEditEnabled,\r\n isDeleteEnabled,\r\n isTickMarkVisible,\r\n toggleEditableCollection,\r\n deleteCollection,\r\n currentIndex,\r\n selectCollection,\r\n selectedCollection,\r\n updateCollectionName,\r\n setErrorMessage,\r\n MoeErrorMessages,\r\n preferredLanguageForError,\r\n siteLang,\r\n otherSiteCollectionCount\r\n}) => {\r\n // variables declarations\r\n const titleLength = 25;\r\n const apiSettings = context.request.apiSettings;\r\n\r\n // State definitions\r\n const [isDisabled, setIsDisabled] = useState(true);\r\n const [collectionTitle, setCollectionTitle] = useState(collection.Name || '');\r\n const [backgroundImage, setBackgroundImage] = useState('');\r\n const [isChecked, setIsChecked] = useState(false);\r\n\r\n // Ref definitions\r\n const collectionNameRef: any = useRef();\r\n\r\n // Language change variables\r\n const languageAttributes = {\r\n noOfResourcesText: 'resources',\r\n noOfResourcesTextInMaori: 'Ngā rauemi',\r\n editText: 'Edit collection',\r\n editTextInMaori: 'Ētitahia te kohinga',\r\n deleteText: 'Delete collection',\r\n deleteTextInMaori: 'Mukua te kohinga'\r\n };\r\n\r\n /* @note:\r\n methods for add to collection functionality\r\n */\r\n const toggleEdit = (event: any) => {\r\n event?.stopPropagation;\r\n event?.preventDefault;\r\n setIsDisabled(!isDisabled);\r\n collectionNameRef?.current?.focus();\r\n };\r\n\r\n const onUpdateCollectionName = () => {\r\n event?.stopPropagation;\r\n event?.preventDefault;\r\n setIsDisabled(!isDisabled);\r\n console.log('updateCollectionName');\r\n if (collectionNameRef?.current?.value === '') {\r\n setCollectionTitle(makeid(5));\r\n }\r\n\r\n if (collectionNameRef?.current?.value === collection.Name) {\r\n setErrorMessage(\r\n preferredLanguageForError === 'english' ? MoeErrorMessages.duplicateName : MoeErrorMessages.duplicateNameInMaori\r\n );\r\n return;\r\n }\r\n\r\n if (collectionNameRef?.current?.value?.length > 25) {\r\n setErrorMessage(\r\n preferredLanguageForError === 'english'\r\n ? MoeErrorMessages.exceededCollectionNameLimit\r\n : MoeErrorMessages.exceededCollectionNameLimitInMaori\r\n );\r\n setCollectionTitle(collection.Name);\r\n return;\r\n }\r\n updateCollectionName(collection.Id, collectionNameRef?.current?.value, setCollectionTitle);\r\n };\r\n\r\n const onCollectionTitleInputClick = (event: any) => {\r\n event?.stopPropogation;\r\n event?.preventDefault;\r\n };\r\n\r\n const changeCollectionName = (event: any) => {\r\n setCollectionTitle(collectionNameRef.current.value);\r\n };\r\n\r\n const makeid = (length: number) => {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n };\r\n\r\n const generateImageUrl = (imageUrl: any, apiSettings: any) => {\r\n if (imageUrl) {\r\n // Images hosted in CMS include schema\r\n if (typeName === 'add') {\r\n if (imageUrl.startsWith('http')) {\r\n return `${imageUrl}&w=225&h=225&q=80&m=6&f=jpg&cropfocalregion=true`;\r\n }\r\n } else {\r\n if (imageUrl.startsWith('http')) {\r\n return `${imageUrl}&w=250&h=250&q=80&m=6&f=jpg&cropfocalregion=true`;\r\n }\r\n }\r\n // Images hosted in Retail Server must be encoded and joined with the base image url\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n const preImageUrl = apiSettings.baseImageUrl + encodeURIComponent(imageUrl);\r\n if (typeName === 'add') {\r\n return `${preImageUrl}&w=225&h=225&q=80&m=6&f=jpg&cropfocalregion=true`;\r\n } else {\r\n return `${preImageUrl}&w=250&h=250&q=80&m=6&f=jpg&cropfocalregion=true`;\r\n }\r\n } else {\r\n // Unable to generate a proper Image URL for Product\r\n return undefined;\r\n }\r\n };\r\n\r\n const getBackgroundImage = async () => {\r\n const commerceList = collection.CommerceListLines;\r\n\r\n if (commerceList && backgroundImage !== false) {\r\n if (commerceList?.length > 0) {\r\n const productId = commerceList[0]?.ProductId;\r\n const channelId = context?.request?.apiSettings?.channelId;\r\n const actionContext: any = context?.actionContext;\r\n const productDetails = await getByIdsAsync(actionContext, channelId, [productId]);\r\n const productImageUrl = generateImageUrl(productDetails[0]?.PrimaryImageUrl, apiSettings);\r\n setBackgroundImage(productImageUrl);\r\n }\r\n }\r\n };\r\n\r\n void getBackgroundImage();\r\n\r\n const toggleCheckbox = (event: any) => {\r\n setErrorMessage('');\r\n event.stopPropagation;\r\n if (collection?.CommerceListLines?.length === 0) {\r\n setErrorMessage(\r\n preferredLanguageForError === 'english'\r\n ? MoeErrorMessages.noEmptyCollectionSharing\r\n : MoeErrorMessages.noEmptyCollectionSharingInMaori\r\n );\r\n return;\r\n }\r\n onCheckboxSelect(event, collection.Id, !isChecked);\r\n setIsChecked(!isChecked);\r\n console.log(isChecked);\r\n };\r\n\r\n const onCollectionClick = () => {\r\n if (typeName === 'add') {\r\n console.log('ADD Collection');\r\n selectCollection(index, collection?.Id);\r\n }\r\n if (typeName === 'view') {\r\n console.log('View COllection');\r\n isClickCollectionEnabled && onClickCollection(index, collection.Id, collection.CommerceListLines);\r\n }\r\n if (typeName === 'pending') {\r\n onClickCollection(index, collection.Id, collection.CommerceListLines);\r\n }\r\n };\r\n\r\n const getCollectionCount = () => {\r\n let count: number = 0;\r\n if (collection?.CommerceListLines?.length) {\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n count = count + collection.CommerceListLines.length;\r\n }\r\n if (otherSiteCollectionCount && otherSiteCollectionCount[collection.Id]) {\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n count = count + otherSiteCollectionCount[collection.Id];\r\n }\r\n\r\n return count;\r\n };\r\n\r\n // End variables\r\n // const bgProductImage = {\r\n // backgroundImage: `url(${backgroundImage})`\r\n // };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {isCheckboxEnabled && (\r\n \r\n )}\r\n \r\n {backgroundImage && (\r\n setBackgroundImage(false)}\r\n src={backgroundImage}\r\n alt={collectionTitle}\r\n />\r\n )}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {!isDisabled ? (\r\n changeCollectionName(event)}\r\n onClick={onCollectionTitleInputClick}\r\n disabled={isDisabled}\r\n className='msc-collection-modal__title tooltip-test'\r\n title={collectionTitle}\r\n value={collectionTitle}\r\n />\r\n ) : (\r\n

\r\n {`${collectionTitle.slice(0, titleLength)}${collectionTitle.length > titleLength ? '...' : ''}`}\r\n

\r\n )}\r\n
\r\n
\r\n {getCollectionCount() || 0}{' '}\r\n {siteLang === MAORI_LANG ? languageAttributes?.noOfResourcesTextInMaori : languageAttributes?.noOfResourcesText}\r\n
\r\n
\r\n\r\n
\r\n {isEditEnabled && (\r\n toggleEditableCollection(event, index)}\r\n onKeyPress={(event: any) => (event.keyCode === 13 ? toggleEditableCollection(event, index) : null)}\r\n tabIndex={0}\r\n >\r\n {isDisabled ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n )}\r\n {isDeleteEnabled && (\r\n deleteCollection(event, collection?.Id)}\r\n className='msc-delete__collection'\r\n tabIndex={0}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \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\nimport { useState, useRef } from 'react';\r\nimport { IMoeAddtocollectionViewProps } from './moe-addtocollection';\r\nimport { INodeProps, Modal, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { FaPlus } from 'react-icons/fa';\r\nimport { CollectionItem } from '../../components/collectionitem.component';\r\n// import { getByIdsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n// import { searchByCategoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n// import { createReadAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\r\nimport {\r\n getByCustomerAsync,\r\n createCommerceListAsync,\r\n addLinesAsync,\r\n createGetByCustomerInput,\r\n updateAsync,\r\n deleteAsync\r\n // createInvitationsAsync,\r\n // acceptInvitationAsync\r\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/CommerceListsDataActions.g';\r\nimport { SimpleProduct, CartLine, ProductDimension, CommerceList, AsyncResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { IComponentProps } from '@msdyn365-commerce/core';\r\nimport { buildWishlistLine } from '@msdyn365-commerce-modules/retail-actions';\r\nimport * as Popper from 'popper.js';\r\nimport { IMoeAddtocollectionData } from './moe-addtocollection.data';\r\nimport { getToggleLang, getUserPreferredLanguage, getUserPrefLang } from '../../utilities/language-change';\r\nimport { MAORI_LANG, ERROR_OR_NOTIFICATION, COLLECTIONS, ACTION_BUTTONS, COLLECTIONS_SITE_LANGUAGE } from '../../utilities/constants';\r\n// import { validateCustomerDetailsAsync } from '../../actions/extensions/DataActionExtension.g';\r\n// import { getElementsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/RecommendationsDataActions.g';\r\n// import { CommerceList } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nexport interface IAddToWishlistComponentProps extends IComponentProps {\r\n className?: string;\r\n addToWishlistButtonText: string;\r\n removeFromWishlistButtonText: string;\r\n nameOfWishlist: string;\r\n\r\n addToWishlistMessage?: string;\r\n removedFromWishlistMessage?: string;\r\n addItemToWishlistError?: string;\r\n removeItemFromWishlistError?: string;\r\n\r\n showButtonText?: boolean;\r\n showButtonTooltip?: boolean;\r\n tooltipPosition?: Popper.Placement;\r\n showStatusMessage?: boolean;\r\n showRemoveButton?: boolean;\r\n disabled?: boolean;\r\n cartline?: CartLine;\r\n canAddMasterProduct?: boolean;\r\n ariaRole?: string;\r\n\r\n getSelectedProduct?: Promise;\r\n\r\n onSuccess?(result: IWishlistActionSuccessResult, cartline?: CartLine): void;\r\n onError?(result: IWishlistActionErrorResult): void;\r\n}\r\n\r\nexport interface IWishlistActionSuccessResult {\r\n status: 'ADDED' | 'REMOVED';\r\n}\r\n\r\nexport interface IWishlistActionErrorResult {\r\n status: 'FAILED' | 'MISSINGDIMENSION';\r\n\r\n missingDimensions?: ProductDimension[];\r\n}\r\n\r\nexport default (props: IMoeAddtocollectionViewProps) => {\r\n console.log('***Add to collection***', props);\r\n\r\n // variable defintions\r\n const collectionMockData: any = [];\r\n const user = props.context.request.user;\r\n const { context, resources } = props;\r\n //@ts-ignore\r\n const { product } = props.data;\r\n const toggleLang = getToggleLang(context);\r\n const userPrefLang = getUserPrefLang(user.customerAccountNumber, context);\r\n const CollectionLang = getUserPreferredLanguage(props.config?.siteName as any, COLLECTIONS, userPrefLang, toggleLang, context);\r\n const ActionButtonLang = getUserPreferredLanguage(props.config?.siteName as any, ACTION_BUTTONS, userPrefLang, toggleLang, context);\r\n const errorOrNotificationMsgLang = getUserPreferredLanguage(\r\n props.config.siteName as any,\r\n ERROR_OR_NOTIFICATION,\r\n userPrefLang,\r\n toggleLang,\r\n context\r\n );\r\n // Need to check\r\n const collectionSiteLang = getUserPreferredLanguage(\r\n props.config.siteName as any,\r\n COLLECTIONS_SITE_LANGUAGE,\r\n userPrefLang,\r\n toggleLang,\r\n context\r\n );\r\n\r\n const appendLangWordProf = CollectionLang === MAORI_LANG ? 'InMaori' : '';\r\n const appendLangWordActBtn = ActionButtonLang === MAORI_LANG ? 'InMaori' : '';\r\n const appendLangWordError = errorOrNotificationMsgLang === MAORI_LANG ? 'InMaori' : '';\r\n\r\n // const [appendLangWord, setAppendLang] = useState('');\r\n // const MoeErrorMessages = {\r\n // unknownError: props.resources[`unknownError${appendLangWord}`],\r\n // emptyCollection: props.resources[`emptyCollection${appendLangWord}`],\r\n // emptyCollections: props.resources[`emptyCollections${appendLangWord}`],\r\n // duplicateName: props.resources[`duplicateName${appendLangWord}`],\r\n // duplicateResource: props.resources[`duplicateResource${appendLangWord}`],\r\n // unAuthenticated: props.resources[`unAuthenticated${appendLangWord}`],\r\n // noAccountNumber: props.resources[`noAccountNumber${appendLangWord}`],\r\n // networkOffline: props.resources[`networkOffline${appendLangWord}`],\r\n // exceededCollectionNameLimit: props.resources[`exceededCollectionNameLimit${appendLangWord}`],\r\n // noEmptyCollectionSharing: props.resources[`noEmptyCollectionSharing${appendLangWord}`]\r\n // };\r\n // const MoeSuccessMessages = {\r\n // createCOllection: props.resources[`createCOllection${appendLangWord}`],\r\n // addResource: props.resources[`addResource${appendLangWord}`],\r\n // updateCollection: props.resources[`updateCollection${appendLangWord}`],\r\n // updateCollectionName: props.resources[`updateCollectionName${appendLangWord}`],\r\n // deleteCollection: props.resources[`deleteCollection${appendLangWord}`],\r\n // deleteProduct: props.resources[`deleteProduct${appendLangWord}`]\r\n // };\r\n\r\n const MoeErrorMessages = {\r\n unknownError: props.resources[`unknownError`],\r\n emptyCollection: props.resources[`emptyCollection`],\r\n emptyCollections: props.resources[`emptyCollections`],\r\n duplicateName: props.resources[`duplicateName`],\r\n duplicateResource: props.resources[`duplicateResource`],\r\n unAuthenticated: props.resources[`unAuthenticated`],\r\n noAccountNumber: props.resources[`noAccountNumber`],\r\n networkOffline: props.resources[`networkOffline`],\r\n exceededCollectionNameLimit: props.resources[`exceededCollectionNameLimit`],\r\n noEmptyCollectionSharing: props.resources[`noEmptyCollectionSharing`],\r\n unknownErrorInMaori: props.resources[`unknownErrorInMaori`],\r\n emptyCollectionInMaori: props.resources[`emptyCollectionInMaori`],\r\n emptyCollectionsInMaori: props.resources[`emptyCollectionsInMaori`],\r\n duplicateNameInMaori: props.resources[`duplicateNameInMaori`],\r\n duplicateResourceInMaori: props.resources[`duplicateResourceInMaori`],\r\n unAuthenticatedInMaori: props.resources[`unAuthenticatedInMaori`],\r\n noAccountNumberInMaori: props.resources[`noAccountNumberInMaori`],\r\n networkOfflineInMaori: props.resources[`networkOfflineInMaori`],\r\n exceededCollectionNameLimitInMaori: props.resources[`exceededCollectionNameLimitInMaori`],\r\n noEmptyCollectionSharingInMaori: props.resources[`noEmptyCollectionSharingInMaori`]\r\n };\r\n const MoeSuccessMessages = {\r\n createCOllection: props.resources[`createCOllection`],\r\n addResource: props.resources[`addResource`],\r\n updateCollection: props.resources[`updateCollection`],\r\n updateCollectionName: props.resources[`updateCollectionName`],\r\n deleteCollection: props.resources[`deleteCollection`],\r\n deleteProduct: props.resources[`deleteProduct`],\r\n createCOllectionInMaori: props.resources[`createCOllectionInMaori`],\r\n addResourceInMaori: props.resources[`addResourceInMaori`],\r\n updateCollectionInMaori: props.resources[`updateCollectionInMaori`],\r\n updateCollectionNameInMaori: props.resources[`updateCollectionNameInMaori`],\r\n deleteCollectionInMaori: props.resources[`deleteCollectionInMaori`],\r\n deleteProductInMaori: props.resources[`deleteProductInMaori`]\r\n };\r\n\r\n const MoeModuleTranslations = {\r\n notLoggedIn: props.resources[`notLoggedIn${appendLangWordError}`],\r\n addToCollectionText: props.resources[`addToCollectionText${appendLangWordActBtn}`],\r\n heyText: props.resources[`heyText${appendLangWordError}`],\r\n addNewCollection: props.resources[`addNewCollection${appendLangWordError}`],\r\n newCollectionText: props.resources[`newCollectionText${appendLangWordProf}`],\r\n selectResourcesHoverText: props.resources[`newCollectionText${appendLangWordError}`]\r\n };\r\n\r\n // State definitions\r\n const [collectionArray, setCollectionArray] = useState(collectionMockData);\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const [selectedCollection, setSelectedCollection] = useState({ index: -1, collectionId: -1 });\r\n const [isCollectionEditable, setIsCollectionEditable] = useState(false);\r\n const [currentIndex, setCurrentIndex] = useState(null);\r\n const [isCollectionCreated, setIsCollectionCreated] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n const [isAlertOpen, setAlertOpen] = useState(false);\r\n const [alertMessage, setAlertMessage] = useState('');\r\n const [isRefreshPage, setIsRefreshPage] = useState(false);\r\n\r\n // Ref definitions\r\n const scrollRef: any = useRef();\r\n console.log('User details', user);\r\n\r\n async function getCollectionList() {\r\n if (user?.isAuthenticated) {\r\n try {\r\n const { context } = props;\r\n const collectionList = await getByCustomerAsync({ callerContext: context.actionContext, bypassCache: 'get' }, null);\r\n setCollectionArray([...collectionList]);\r\n console.log('Get all the customers data', collectionList);\r\n } catch (err) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n console.error(err);\r\n }\r\n }\r\n }\r\n\r\n const getErrorOrSuccessMessage = () => {\r\n const toggleLang = getToggleLang(context);\r\n const userPrefLang = getUserPrefLang(user.customerAccountNumber, context);\r\n const errorOrNotificationMsgLang = getUserPreferredLanguage(\r\n props.config.siteName as any,\r\n ERROR_OR_NOTIFICATION,\r\n userPrefLang,\r\n toggleLang,\r\n context\r\n );\r\n return errorOrNotificationMsgLang;\r\n };\r\n\r\n const openModal = async (e: any): Promise => {\r\n console.log('testing', e, typeof e);\r\n e.preventDefault();\r\n setIsModalOpen(true);\r\n setIsCollectionCreated(false);\r\n void getCollectionList();\r\n if (!props.context.request.User.IsAuthenticated) {\r\n return;\r\n }\r\n };\r\n\r\n const closeModal = async (): Promise => {\r\n setSelectedCollection({ index: -1, collectionId: -1 });\r\n setIsModalOpen(false);\r\n };\r\n\r\n const _modalContainer = (): INodeProps => {\r\n return {\r\n tag: Modal,\r\n placement: 'bottom-end',\r\n hideArrow: true,\r\n className: `ms-add-collection-container ${isModalOpen ? 'fadeInRight' : 'fadeOutRight'}`,\r\n wrapClassName: 'ms-add-collection__modal',\r\n isOpen: isModalOpen,\r\n toggle: closeModal\r\n };\r\n };\r\n\r\n const selectCollection = (index: number, collectionId: number): void => {\r\n setErrorMessage('');\r\n if (selectedCollection?.collectionId === collectionId) {\r\n setSelectedCollection({ index: -1, collectionId: -1 });\r\n } else {\r\n setSelectedCollection({ index, collectionId });\r\n console.log(selectedCollection);\r\n }\r\n };\r\n\r\n const toggleEditableCollection = (index: any) => {\r\n // setErrorMessage('');\r\n // collectionNameRef.current.value = collectionName ? collectionName : '';\r\n setCurrentIndex(index);\r\n console.log(index, currentIndex, isCollectionEditable);\r\n setIsCollectionEditable(!isCollectionEditable);\r\n };\r\n\r\n // @info: This method is used create unique id\r\n const makeid = (length: number) => {\r\n var result = '';\r\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n var charactersLength = characters.length;\r\n for (var i = 0; i < length; i++) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n };\r\n\r\n // @info: This method checks the internet connection\r\n const isInternetConnectionAvailable = () => {\r\n if (window?.navigator?.onLine === false) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.networkOfflineInMaori : MoeErrorMessages.networkOffline);\r\n return false;\r\n } else if (window?.navigator?.onLine === true) {\r\n return true;\r\n }\r\n return;\r\n };\r\n\r\n // @info: This method is used to check whether the collection exists\r\n const doesCollectionExist = async (collectionId: number): Promise => {\r\n const { context } = props;\r\n const collectionArray = await getByCustomerAsync({ callerContext: context.actionContext, bypassCache: 'get' }, null);\r\n if (!collectionArray || !collectionArray[0]) {\r\n return false;\r\n }\r\n console.log(collectionArray);\r\n\r\n const collection = collectionArray.find(collectionItem => collectionItem.Id === collectionId);\r\n\r\n console.log(collection);\r\n\r\n if (!collection) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n // @info: This method is used to check whether product exists in the given collection\r\n const doesProductExistInCollection = async (productId: number, collectionId: number): Promise => {\r\n const { context } = props;\r\n try {\r\n const collectionArray = await getByCustomerAsync({ callerContext: context.actionContext, bypassCache: 'get' }, null);\r\n\r\n if (!collectionArray || !(collectionArray.length > 0)) {\r\n return false;\r\n }\r\n\r\n const collection = collectionArray.find(collectionItem => collectionItem.Id === collectionId);\r\n if (!collection) {\r\n return false;\r\n }\r\n\r\n const CommerceListLines: any = collection.CommerceListLines;\r\n for (const collectionProductItem of CommerceListLines) {\r\n if (collectionProductItem.ProductId === productId) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n } catch (e) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n }\r\n };\r\n\r\n // @info: This method checks whether given name already exists in the existing collections\r\n const doesDuplicateNameExists = async (collectionName: string): Promise => {\r\n const { context } = props;\r\n const collectionList = await getByCustomerAsync({ callerContext: context.actionContext, bypassCache: 'get' }, null);\r\n // setCollectionArray(collectionList);\r\n if (collectionList) {\r\n const filteredItem = collectionList.find(collection => collection?.Name === collectionName);\r\n if (filteredItem) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.emptyCollectionsInMaori : MoeErrorMessages.emptyCollections);\r\n return {\r\n errorCode: 404,\r\n errorMessage: errorLang === MAORI_LANG ? MoeErrorMessages.emptyCollectionsInMaori : MoeErrorMessages.emptyCollections\r\n };\r\n }\r\n };\r\n\r\n // @info: This method is used specifically to create a collection\r\n const createCollection = async (): Promise => {\r\n setErrorMessage('');\r\n const { context } = props;\r\n const isNetworkAvailable = isInternetConnectionAvailable();\r\n if (isNetworkAvailable === false) {\r\n return;\r\n }\r\n\r\n if (user.isAuthenticated) {\r\n if (user && user.customerAccountNumber) {\r\n const listData: CommerceList = {\r\n CustomerId: user.customerAccountNumber,\r\n Name: `New collection ${makeid(5)}`,\r\n CommerceListTypeValue: 1,\r\n Id: 0\r\n };\r\n const isDuplicateName = await doesDuplicateNameExists(listData?.Name as string);\r\n console.log(isDuplicateName);\r\n if (!isDuplicateName) {\r\n try {\r\n console.log(listData);\r\n const commerceList = await createCommerceListAsync({ callerContext: context.actionContext }, listData);\r\n setIsCollectionCreated(true);\r\n setCollectionArray([\r\n {\r\n Id: commerceList.Id,\r\n Name: listData.Name,\r\n CustomerId: commerceList.CustomerId,\r\n CommerceListTypeValue: 1,\r\n collectionType: 'New',\r\n CommerceListLines: commerceList.CommerceListLines,\r\n IsPrivate: commerceList.IsPrivate\r\n },\r\n ...collectionArray\r\n ]);\r\n } catch (error) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n if (context.telemetry) {\r\n context.telemetry.warning(error);\r\n context.telemetry.debug('[AddCollection] Unable to create a collection');\r\n }\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.duplicateNameInMaori : MoeErrorMessages.duplicateName);\r\n return Promise.reject({\r\n errorCode: 400,\r\n errorMessage: 'Same name already exists in collection'\r\n });\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.noAccountNumberInMaori : MoeErrorMessages.noAccountNumber);\r\n context.telemetry.debug('[AddCollection] Customer account number missing');\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unAuthenticatedInMaori : MoeErrorMessages.unAuthenticated);\r\n }\r\n };\r\n\r\n // @info: This method is used to create new collection and add product into collection\r\n const addToCollection = async (collectionId: number): Promise => {\r\n setErrorMessage('');\r\n const isNetworkAvailable = isInternetConnectionAvailable();\r\n if (isNetworkAvailable === false) {\r\n return;\r\n }\r\n\r\n const { context } = props;\r\n if (user.isAuthenticated) {\r\n console.log(collectionId);\r\n const isCollectionAvailable = await doesCollectionExist(collectionId);\r\n console.log(isCollectionAvailable);\r\n if (!isCollectionAvailable) {\r\n const collection = collectionArray.find(collectionItem => collectionItem.Id === collectionId);\r\n const collectionName = collection?.Name;\r\n if (user && user.customerAccountNumber) {\r\n const listData: CommerceList = {\r\n CustomerId: user.customerAccountNumber,\r\n Name: collectionName,\r\n CommerceListTypeValue: 1,\r\n Id: 0\r\n };\r\n\r\n try {\r\n console.log(listData);\r\n const commerceList = await createCommerceListAsync({ callerContext: context.actionContext }, listData);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n return addCollectionLine(commerceList.Id, (await product)?.RecordId as any);\r\n } catch (error) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n if (context.telemetry) {\r\n context.telemetry.warning(error);\r\n context.telemetry.debug('[AddCollection] Unable to create a wishlist');\r\n }\r\n // propagateError(props, { status: 'FAILED' });\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.noAccountNumberInMaori : MoeErrorMessages.noAccountNumber);\r\n context.telemetry.debug('[AddCollection] Customer account number missing');\r\n }\r\n } else {\r\n return addCollectionLine(collectionId, (await product)?.RecordId);\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unAuthenticatedInMaori : MoeErrorMessages.unAuthenticated);\r\n return;\r\n }\r\n\r\n return AsyncResult.resolve();\r\n };\r\n\r\n // @info: This method is used to add product to the collection\r\n const addCollectionLine = async (collectionId: number, productId: number): Promise => {\r\n const { context } = props;\r\n\r\n try {\r\n if (user && user.customerAccountNumber) {\r\n const isCollectionLineAvailable = await doesProductExistInCollection(productId, collectionId);\r\n if (!isCollectionLineAvailable) {\r\n const createdCommerceList = await addLinesAsync({ callerContext: context.actionContext }, collectionId, [\r\n buildWishlistLine(productId, user.customerAccountNumber, collectionId)\r\n ]);\r\n console.log(createdCommerceList);\r\n context.actionContext.update(createGetByCustomerInput({}, null), [createdCommerceList]);\r\n if (context.telemetry) {\r\n context.telemetry.debug(`[AddCollectionLine] Added item to the wishlist ${createdCommerceList}`);\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(\r\n errorLang === MAORI_LANG ? MoeErrorMessages.duplicateResourceInMaori : MoeErrorMessages.duplicateResource\r\n );\r\n return;\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.noAccountNumberInMaori : MoeErrorMessages.noAccountNumber);\r\n context.telemetry.debug('[AddCollectionLine] Customer Account number missing');\r\n }\r\n } catch (error) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n if (context.telemetry) {\r\n context.telemetry.warning(error);\r\n context.telemetry.debug(`[AddCollectionLine] Unable to add item to wishlist ${error}`);\r\n }\r\n // propagateError(props, { status: 'FAILED' });\r\n }\r\n\r\n setIsModalOpen(false);\r\n const successLang = getErrorOrSuccessMessage();\r\n openAlert(successLang === MAORI_LANG ? MoeSuccessMessages.addResourceInMaori : MoeSuccessMessages.addResource, true);\r\n //location.reload();\r\n return AsyncResult.resolve();\r\n };\r\n\r\n // @info: This method updates the collection name using collection id and new name\r\n const updateCollectionName = async (collectionId: number, changedCollectionName: string, setCollectionTitle: any) => {\r\n const { telemetry } = props.context;\r\n setErrorMessage('');\r\n const isNetworkAvailable = isInternetConnectionAvailable();\r\n if (isNetworkAvailable === false) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.networkOfflineInMaori : MoeErrorMessages.networkOffline);\r\n return;\r\n }\r\n if (!user?.isAuthenticated) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unAuthenticatedInMaori : MoeErrorMessages.unAuthenticated);\r\n return;\r\n }\r\n\r\n const isCollectionAvailable = await doesCollectionExist(collectionId);\r\n if (isCollectionAvailable) {\r\n const isDuplicateName = await doesDuplicateNameExists(changedCollectionName);\r\n if (!isDuplicateName) {\r\n try {\r\n const updateCommerceList = await updateAsync(\r\n { callerContext: props.context.actionContext },\r\n { Id: collectionId, Name: changedCollectionName }\r\n );\r\n // const collectionList = collectionArray.map(collection => {\r\n // if (collection?.Id === collectionId) {\r\n // collection.Name = changedCollectionName;\r\n // }\r\n // return collection;\r\n // });\r\n // setCollectionArray(collectionList);\r\n const collectionList = await getByCustomerAsync(\r\n { callerContext: props.context.actionContext, bypassCache: 'get' },\r\n null\r\n );\r\n setCollectionArray([...collectionList]);\r\n console.log('Updated commerce list', updateCommerceList);\r\n setIsModalOpen(false);\r\n const successLang = getErrorOrSuccessMessage();\r\n openAlert(\r\n successLang === MAORI_LANG\r\n ? MoeSuccessMessages.updateCollectionNameInMaori\r\n : MoeSuccessMessages.updateCollectionName,\r\n false\r\n );\r\n // openAlert(MoeSuccessMessages.updateCollectionName, false);\r\n } catch (e) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n console.log(e);\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.duplicateNameInMaori : MoeErrorMessages.duplicateName);\r\n const filteredItem = collectionArray.find(collection => collection?.Id === collectionId);\r\n console.log('Filtered item in update collection', filteredItem);\r\n setCollectionTitle(filteredItem?.Name);\r\n return {\r\n errorCode: 400,\r\n errorMessage: 'Same name already exists in collection'\r\n };\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.emptyCollectionInMaori : MoeErrorMessages.emptyCollection);\r\n telemetry.debug(\"[Update] Can't update from wishlist since no wishlist exists OR there is no product data\");\r\n }\r\n\r\n return AsyncResult.resolve();\r\n };\r\n\r\n // @info: This method deletes the collection using collection id\r\n const deleteCollection = async (event: any, collectionId: number): Promise => {\r\n const isNetworkAvailable = isInternetConnectionAvailable();\r\n if (isNetworkAvailable === false) {\r\n return;\r\n }\r\n\r\n setErrorMessage('');\r\n event.stopPropagation();\r\n const { context } = props;\r\n const { telemetry } = context;\r\n\r\n console.log('Delete collection');\r\n\r\n if (context.request.user.isAuthenticated) {\r\n const isCollectionAvailable = await doesCollectionExist(collectionId);\r\n if (isCollectionAvailable) {\r\n const collection = collectionArray.find(collectionItem => collectionItem.Id === collectionId);\r\n try {\r\n const deleteCommerceList = await deleteAsync({ callerContext: props.context.actionContext }, { Id: collection.Id });\r\n console.log('[RemoveCollection] collection deleted successfully', deleteCommerceList);\r\n } catch (e) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unknownErrorInMaori : MoeErrorMessages.unknownError);\r\n console.log(e);\r\n }\r\n } else if (telemetry) {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.emptyCollectionInMaori : MoeErrorMessages.emptyCollection);\r\n telemetry.debug(\"[RemoveCollection] Can't remove collection since no collection exists \");\r\n }\r\n } else {\r\n const errorLang = getErrorOrSuccessMessage();\r\n setErrorMessage(errorLang === MAORI_LANG ? MoeErrorMessages.unAuthenticatedInMaori : MoeErrorMessages.unAuthenticated);\r\n return;\r\n }\r\n\r\n const collectionList = await getByCustomerAsync(props.context.actionContext, null);\r\n setCollectionArray(collectionList);\r\n\r\n return AsyncResult.resolve();\r\n };\r\n\r\n const _alertModal = (): INodeProps => {\r\n return {\r\n tag: Modal,\r\n placement: 'bottom-end',\r\n hideArrow: false,\r\n className: 'msc-modal__dialog-success',\r\n wrapClassName: '',\r\n isOpen: isAlertOpen,\r\n toggle: () => {\r\n setAlertOpen(false);\r\n if (isRefreshPage) {\r\n location.reload();\r\n }\r\n }\r\n };\r\n };\r\n const closeAlert = () => {\r\n setAlertOpen(false);\r\n setAlertMessage('');\r\n if (isRefreshPage) {\r\n setIsRefreshPage(false);\r\n location.reload();\r\n }\r\n };\r\n const openAlert = (msg: string, isreload: boolean) => {\r\n setAlertOpen(true);\r\n setAlertMessage(msg);\r\n setIsRefreshPage(isreload);\r\n };\r\n\r\n return (\r\n
\r\n openModal(e)}\r\n tabIndex={0}\r\n >\r\n \r\n

\r\n {collectionSiteLang === 'maori' ? props.config.modalTitleMaori : props.config.modalTitle}\r\n

\r\n
\r\n \r\n {user?.isAuthenticated ? (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
{errorOrNotificationMsgLang === MAORI_LANG ? 'Kua tutuki' : 'Success'}
\r\n
\r\n
\r\n {\r\n closeAlert();\r\n }}\r\n className='msc-modal__close-button'\r\n aria-label='Close'\r\n >\r\n
\r\n
{alertMessage}
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","/* eslint-disable security/detect-object-injection */\r\nimport {\r\n ENGLISH_LANG,\r\n MAORI_LANG,\r\n MAORI_LANG_CODE,\r\n ERROR_OR_NOTIFICATION,\r\n ADD_TO_KETE,\r\n COLLECTIONS,\r\n DOWNLOAD_KETE,\r\n SEARCH,\r\n HEADER_FOOTER,\r\n NAVIGATION,\r\n HOME_PAGE,\r\n LANDING_PAGE,\r\n OCH,\r\n TWK,\r\n KWR,\r\n KOH,\r\n NZC,\r\n METADATA,\r\n SOCIAL_SHARE,\r\n MY_PROFILE,\r\n ACTION_BUTTONS,\r\n COLLECTIONS_SITE_LANGUAGE,\r\n ADD_TO_KETE_SITE_LANGUAGE,\r\n DOWNLOAD_KETE_SITE_LANGUAGE,\r\n SEARCH_SITE_LANGUAGE,\r\n ENGLISH_OTHER_LANG_CODE,\r\n CUST_MAORI_LANG_CODE,\r\n VIDEO_PLAYER,\r\n DEVELOPMENT_LANGUAGE_TOGGLE,\r\n DEVELOPMENT_LANGUAGE_PREFERENCE,\r\n DEVELOPMENT_SITE_NAME\r\n} from './constants';\r\nimport { readAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\n\r\n/*\r\n This variable is used to set development mode without localstorage errors\r\n !!!important Please set to false when pushing the code\r\n Use this only for local development\r\n*/\r\nexport const IS_LOCAL_DEVELOPMENT = false;\r\n\r\nexport const getToggleLang = (context: any) => {\r\n console.log('gettogglecontext', context);\r\n if (IS_LOCAL_DEVELOPMENT) {\r\n return DEVELOPMENT_LANGUAGE_TOGGLE;\r\n }\r\n\r\n const siteNameFromCache = getSiteNameFromCache(KWR, context);\r\n if (siteNameFromCache === OCH || siteNameFromCache === KWR) {\r\n return context.request.locale.toLowerCase() === MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG;\r\n } else {\r\n return context.request.locale.toLowerCase() === ENGLISH_OTHER_LANG_CODE ? ENGLISH_LANG : MAORI_LANG;\r\n }\r\n};\r\n\r\nexport const getUserPrefLang = (customerAccountNumber: number, context: any): any => {\r\n console.log('getprefcontext', context);\r\n if (IS_LOCAL_DEVELOPMENT) {\r\n return DEVELOPMENT_LANGUAGE_PREFERENCE;\r\n }\r\n\r\n if (context.request.user.isAuthenticated) {\r\n if (localStorage) {\r\n return localStorage.getItem(`moeUserPrefLang${customerAccountNumber}`);\r\n }\r\n }\r\n\r\n // This piece of code is executed when the user is not logged in\r\n // We will set toggle language as preferred language\r\n const siteNameFromCache = getSiteNameFromCache(KWR, context);\r\n if (siteNameFromCache === OCH || siteNameFromCache === KWR) {\r\n return context.request.locale.toLowerCase() === MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG;\r\n } else {\r\n return context.request.locale.toLowerCase() === ENGLISH_OTHER_LANG_CODE ? ENGLISH_LANG : MAORI_LANG;\r\n }\r\n};\r\n\r\nexport const getUserPreferredLanguage = (\r\n siteName: string,\r\n moduleName: string,\r\n userPrefLang: string,\r\n toggleLang: string,\r\n context: any\r\n): any => {\r\n let siteNameFromCache;\r\n if (IS_LOCAL_DEVELOPMENT) {\r\n siteNameFromCache = DEVELOPMENT_SITE_NAME;\r\n } else {\r\n siteNameFromCache = getSiteNameFromCache(siteName, context);\r\n }\r\n // const siteNameFromCache = siteName;\r\n\r\n // For Online Curriculum Hub site\r\n if (siteNameFromCache === OCH) {\r\n switch (moduleName) {\r\n case ERROR_OR_NOTIFICATION:\r\n return toggleLang;\r\n\r\n case HEADER_FOOTER:\r\n return toggleLang;\r\n\r\n case HOME_PAGE:\r\n return toggleLang;\r\n\r\n case ACTION_BUTTONS:\r\n return toggleLang;\r\n\r\n default:\r\n return ENGLISH_LANG;\r\n }\r\n }\r\n\r\n // For New Zealand Curriculum Online site\r\n if (siteNameFromCache === NZC) {\r\n switch (moduleName) {\r\n case METADATA:\r\n return ENGLISH_LANG;\r\n\r\n case NAVIGATION:\r\n return ENGLISH_LANG;\r\n\r\n case HEADER_FOOTER:\r\n return ENGLISH_LANG;\r\n\r\n case HOME_PAGE:\r\n return ENGLISH_LANG;\r\n\r\n case SOCIAL_SHARE:\r\n return ENGLISH_LANG;\r\n\r\n case ERROR_OR_NOTIFICATION:\r\n return ENGLISH_LANG;\r\n\r\n case MY_PROFILE:\r\n return ENGLISH_LANG;\r\n\r\n case DOWNLOAD_KETE:\r\n return ENGLISH_LANG;\r\n\r\n case DOWNLOAD_KETE_SITE_LANGUAGE:\r\n return ENGLISH_LANG;\r\n\r\n case COLLECTIONS:\r\n return ENGLISH_LANG;\r\n\r\n case ADD_TO_KETE:\r\n return ENGLISH_LANG;\r\n\r\n case ADD_TO_KETE_SITE_LANGUAGE:\r\n return ENGLISH_LANG;\r\n\r\n case SEARCH:\r\n return ENGLISH_LANG;\r\n\r\n case SEARCH_SITE_LANGUAGE:\r\n return ENGLISH_LANG;\r\n\r\n case ACTION_BUTTONS:\r\n return ENGLISH_LANG;\r\n\r\n case COLLECTIONS_SITE_LANGUAGE:\r\n return ENGLISH_LANG;\r\n\r\n case VIDEO_PLAYER:\r\n return ENGLISH_LANG;\r\n\r\n default:\r\n return ENGLISH_LANG;\r\n }\r\n }\r\n\r\n // For Te Whāriki Online site\r\n if (siteNameFromCache === TWK) {\r\n switch (moduleName) {\r\n case METADATA:\r\n return ENGLISH_LANG;\r\n\r\n case NAVIGATION:\r\n return MAORI_LANG;\r\n\r\n case HEADER_FOOTER:\r\n return userPrefLang;\r\n\r\n case HOME_PAGE:\r\n return userPrefLang;\r\n\r\n case LANDING_PAGE:\r\n return userPrefLang;\r\n\r\n case SOCIAL_SHARE:\r\n return userPrefLang;\r\n\r\n case ERROR_OR_NOTIFICATION:\r\n return userPrefLang;\r\n\r\n case MY_PROFILE:\r\n return userPrefLang;\r\n\r\n case DOWNLOAD_KETE:\r\n return MAORI_LANG;\r\n\r\n case DOWNLOAD_KETE_SITE_LANGUAGE:\r\n return userPrefLang;\r\n\r\n case COLLECTIONS:\r\n return MAORI_LANG;\r\n\r\n case COLLECTIONS_SITE_LANGUAGE:\r\n return userPrefLang;\r\n\r\n case ADD_TO_KETE:\r\n return MAORI_LANG;\r\n\r\n case ADD_TO_KETE_SITE_LANGUAGE:\r\n return userPrefLang;\r\n\r\n case SEARCH:\r\n return MAORI_LANG;\r\n\r\n case SEARCH_SITE_LANGUAGE:\r\n return userPrefLang;\r\n\r\n case ACTION_BUTTONS:\r\n return userPrefLang;\r\n\r\n case VIDEO_PLAYER:\r\n return userPrefLang;\r\n\r\n default:\r\n return ENGLISH_LANG;\r\n }\r\n }\r\n\r\n // For Te Kōhanga Reo site\r\n if (siteNameFromCache === KOH) {\r\n switch (moduleName) {\r\n case HOME_PAGE:\r\n return MAORI_LANG;\r\n\r\n case ACTION_BUTTONS:\r\n return MAORI_LANG;\r\n\r\n case VIDEO_PLAYER:\r\n return MAORI_LANG;\r\n\r\n default:\r\n return MAORI_LANG;\r\n }\r\n }\r\n\r\n // For Kauwhata Reo site\r\n if (siteNameFromCache === KWR) {\r\n switch (moduleName) {\r\n case METADATA:\r\n return toggleLang;\r\n\r\n case NAVIGATION:\r\n return toggleLang;\r\n\r\n case HEADER_FOOTER:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case HOME_PAGE:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case SOCIAL_SHARE:\r\n return toggleLang;\r\n\r\n case ERROR_OR_NOTIFICATION:\r\n return toggleLang;\r\n\r\n case MY_PROFILE:\r\n return userPrefLang;\r\n\r\n case DOWNLOAD_KETE:\r\n return MAORI_LANG;\r\n\r\n case DOWNLOAD_KETE_SITE_LANGUAGE:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case COLLECTIONS:\r\n return MAORI_LANG;\r\n\r\n case COLLECTIONS_SITE_LANGUAGE:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case ADD_TO_KETE:\r\n return MAORI_LANG;\r\n\r\n case ADD_TO_KETE_SITE_LANGUAGE:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case SEARCH:\r\n return MAORI_LANG;\r\n\r\n case SEARCH_SITE_LANGUAGE:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case ACTION_BUTTONS:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n case VIDEO_PLAYER:\r\n return userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\r\n\r\n default:\r\n return MAORI_LANG;\r\n }\r\n }\r\n\r\n switch (moduleName) {\r\n case DOWNLOAD_KETE:\r\n return MAORI_LANG;\r\n\r\n case COLLECTIONS:\r\n return MAORI_LANG;\r\n\r\n case ADD_TO_KETE:\r\n return MAORI_LANG;\r\n\r\n case SEARCH:\r\n return MAORI_LANG;\r\n\r\n default:\r\n return toggleLang;\r\n }\r\n};\r\n\r\nexport function setCustomerLangInCache(props: { context: ICoreContext }) {\r\n const { context } = props;\r\n const user = context.request.user;\r\n\r\n if (!localStorage.getItem(`moeUserPrefLang${user.customerAccountNumber}`)) {\r\n void readAsync({ callerContext: context.actionContext, bypassCache: 'get' }, user.customerAccountNumber as any).then(\r\n customerData => {\r\n const customerLang = customerData.Language;\r\n localStorage.setItem(\r\n `moeUserPrefLang${user.customerAccountNumber}`,\r\n customerLang?.toLowerCase() === CUST_MAORI_LANG_CODE ? MAORI_LANG : ENGLISH_LANG\r\n );\r\n window.location.reload();\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport function setTwksiteLangInCache(props: { context: ICoreContext }, siteName: string) {\r\n localStorage.setItem(`moeTwkSiteLang`, siteName);\r\n}\r\n\r\nexport function getTwksiteLangInCache() {\r\n return localStorage.getItem(`moeTwkSiteLang`);\r\n}\r\n\r\nexport function setOnlineChannelInfoInCache(context: ICoreContext, channelInfo: string) {\r\n const hostname = context.request.url?.requestUrl?.hostname;\r\n if (localStorage) {\r\n localStorage.setItem(`moeOnlineChannelInfo${hostname}`, channelInfo);\r\n localStorage.setItem('moeOnlineChannelInfoTimer', JSON.stringify(new Date().getTime()));\r\n }\r\n}\r\n\r\nexport function getOnlineChannelInfoTimer(context: ICoreContext): number {\r\n return JSON.parse(localStorage.getItem('moeOnlineChannelInfoTimer') || '0');\r\n}\r\n\r\nexport function getSiteNameFromCache(siteName: string, context: ICoreContext) {\r\n const hostname = context.request.url?.requestUrl?.hostname;\r\n let onlineChannels: any[] = [];\r\n\r\n if (localStorage) {\r\n onlineChannels = JSON.parse(localStorage.getItem(`moeOnlineChannelInfo${hostname}`) || '[]');\r\n }\r\n\r\n if (onlineChannels?.length > 0) {\r\n const channelIndex = onlineChannels.findIndex((item: any) => item.Id === context.request.apiSettings.channelId);\r\n if (channelIndex > -1) {\r\n if (onlineChannels[channelIndex]?.Name?.includes('ealand')) {\r\n return NZC;\r\n }\r\n\r\n if (onlineChannels[channelIndex]?.Name?.includes('hanga')) {\r\n return KOH;\r\n }\r\n\r\n if (onlineChannels[channelIndex]?.Name?.includes('hildhood')) {\r\n return TWK;\r\n }\r\n\r\n if (onlineChannels[channelIndex]?.Name?.includes('whata')) {\r\n return KWR;\r\n }\r\n\r\n if (onlineChannels[channelIndex]?.Name?.includes('Hub')) {\r\n return OCH;\r\n }\r\n }\r\n } else {\r\n return siteName;\r\n }\r\n\r\n return siteName;\r\n}\r\n"],"names":["CollectionItem","_ref","context","typeName","id","className","index","isCheckboxEnabled","onCheckboxSelect","collection","isClickCollectionEnabled","onClickCollection","isEditEnabled","isDeleteEnabled","isTickMarkVisible","toggleEditableCollection","deleteCollection","currentIndex","selectCollection","selectedCollection","updateCollectionName","setErrorMessage","MoeErrorMessages","preferredLanguageForError","siteLang","otherSiteCollectionCount","apiSettings","request","isDisabled","setIsDisabled","useState","collectionTitle","setCollectionTitle","Name","backgroundImage","setBackgroundImage","isChecked","setIsChecked","collectionNameRef","useRef","languageAttributes","noOfResourcesText","noOfResourcesTextInMaori","editText","editTextInMaori","deleteText","deleteTextInMaori","makeid","length","result","characters","charactersLength","i","charAt","Math","floor","random","async","commerceList","CommerceListLines","_commerceList$","_context$request","_context$request$apiS","_productDetails$","productId","ProductId","channelId","actionContext","productImageUrl","generateImageUrl","imageUrl","startsWith","preImageUrl","baseImageUrl","encodeURIComponent","getByIdsAsync","PrimaryImageUrl","getBackgroundImage","React","tabIndex","checked","type","onChange","event","_collection$CommerceL","stopPropagation","Id","console","log","noEmptyCollectionSharing","noEmptyCollectionSharingInMaori","collectionId","onClick","onCollectionClick","onError","src","alt","title","slice","ref","current","value","stopPropogation","preventDefault","disabled","getCollectionCount","_collection$CommerceL2","count","MAORI_LANG","onKeyPress","keyCode","FaPen","_collectionNameRef$cu","focus","FaCheck","onUpdateCollectionName","_event","_event2","_collectionNameRef$cu2","_collectionNameRef$cu3","_collectionNameRef$cu4","_collectionNameRef$cu5","_collectionNameRef$cu6","exceededCollectionNameLimit","exceededCollectionNameLimitInMaori","duplicateName","duplicateNameInMaori","FaTrashAlt","props","_props$config","_props$config2","user","resources","product","data","toggleLang","getToggleLang","userPrefLang","getUserPrefLang","customerAccountNumber","CollectionLang","getUserPreferredLanguage","config","siteName","COLLECTIONS","ActionButtonLang","ACTION_BUTTONS","errorOrNotificationMsgLang","ERROR_OR_NOTIFICATION","collectionSiteLang","COLLECTIONS_SITE_LANGUAGE","appendLangWordProf","appendLangWordActBtn","appendLangWordError","unknownError","emptyCollection","emptyCollections","duplicateResource","unAuthenticated","noAccountNumber","networkOffline","unknownErrorInMaori","emptyCollectionInMaori","emptyCollectionsInMaori","duplicateResourceInMaori","unAuthenticatedInMaori","noAccountNumberInMaori","networkOfflineInMaori","MoeSuccessMessages","createCOllection","addResource","updateCollection","deleteProduct","createCOllectionInMaori","addResourceInMaori","updateCollectionInMaori","updateCollectionNameInMaori","deleteCollectionInMaori","deleteProductInMaori","MoeModuleTranslations","notLoggedIn","addToCollectionText","heyText","addNewCollection","newCollectionText","selectResourcesHoverText","collectionArray","setCollectionArray","isModalOpen","setIsModalOpen","setSelectedCollection","isCollectionEditable","setIsCollectionEditable","setCurrentIndex","isCollectionCreated","setIsCollectionCreated","errorMessage","isAlertOpen","setAlertOpen","alertMessage","setAlertMessage","isRefreshPage","setIsRefreshPage","scrollRef","getErrorOrSuccessMessage","openModal","e","isAuthenticated","collectionList","getByCustomerAsync","callerContext","bypassCache","err","errorLang","error","getCollectionList","User","IsAuthenticated","closeModal","isInternetConnectionAvailable","_window","_window$navigator","_window2","_window2$navigator","window","navigator","onLine","doesCollectionExist","find","collectionItem","doesDuplicateNameExists","collectionName","errorCode","addCollectionLine","collectionProductItem","doesProductExistInCollection","createdCommerceList","addLinesAsync","buildWishlistLine","update","createGetByCustomerInput","telemetry","debug","warning","successLang","openAlert","AsyncResult","msg","isreload","AiOutlinePlus","addToCollectionTextInMaori","modalTitleMaori","modalTitle","Node","Object","assign","tag","Modal","placement","hideArrow","wrapClassName","isOpen","toggle","role","newCollectionTextInMaori","listData","CustomerId","CommerceListTypeValue","isDuplicateName","Promise","reject","createCommerceListAsync","collectionType","IsPrivate","createCollectionTextInMaori","createCollectionText","FaPlus","closeTextInMaori","closeText","style","transform","marginBottom","firstName","map","key","deleteCommerceList","deleteAsync","changedCollectionName","filteredItem","updateCommerceList","updateAsync","fontWeight","isCollectionAvailable","_await$product2","RecordId","_await$product","addToCollection","location","reload","IS_LOCAL_DEVELOPMENT","DEVELOPMENT_LANGUAGE_TOGGLE","siteNameFromCache","getSiteNameFromCache","KWR","OCH","locale","toLowerCase","MAORI_LANG_CODE","ENGLISH_LANG","ENGLISH_OTHER_LANG_CODE","DEVELOPMENT_LANGUAGE_PREFERENCE","localStorage","getItem","moduleName","DEVELOPMENT_SITE_NAME","HEADER_FOOTER","HOME_PAGE","NZC","METADATA","NAVIGATION","SOCIAL_SHARE","MY_PROFILE","DOWNLOAD_KETE","DOWNLOAD_KETE_SITE_LANGUAGE","ADD_TO_KETE","ADD_TO_KETE_SITE_LANGUAGE","SEARCH","SEARCH_SITE_LANGUAGE","VIDEO_PLAYER","TWK","LANDING_PAGE","KOH","setCustomerLangInCache","readAsync","then","customerData","customerLang","Language","setItem","CUST_MAORI_LANG_CODE","setOnlineChannelInfoInCache","channelInfo","_context$request$url","_context$request$url$","hostname","url","requestUrl","JSON","stringify","Date","getTime","getOnlineChannelInfoTimer","parse","_context$request$url2","_context$request$url3","_onlineChannels","onlineChannels","channelIndex","findIndex","item","_onlineChannels$chann","_onlineChannels$chann2","_onlineChannels$chann3","_onlineChannels$chann4","_onlineChannels$chann5","_onlineChannels$chann6","_onlineChannels$chann7","_onlineChannels$chann8","_onlineChannels$chann9","_onlineChannels$chann10","includes"],"sourceRoot":""}