{"version":3,"file":"static/js/2eb7306ee1d18f76b94c.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/actions/ecomm-current-event.ts?31c1","webpack://Msdyn365.Commerce.Online/./src/actions/helper-functions.ts?5715","webpack://Msdyn365.Commerce.Online/./src/components/breakpoints.ts?f4e7","webpack://Msdyn365.Commerce.Online/./src/components/ecomm-product-card.tsx?2eed","webpack://Msdyn365.Commerce.Online/./src/components/enums.ts?ba3b","webpack://Msdyn365.Commerce.Online/./src/components/popup.tsx?ad47","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-event-products/ecomm-event-products.tsx?0408","webpack://Msdyn365.Commerce.Online/./src/modules/ecomm-event-products/ecomm-event-products.view.tsx?5374","webpack://Msdyn365.Commerce.Online/./lib/ecomm-event-products/module-registration.js?fd5e","webpack://Msdyn365.Commerce.Online/./node_modules/moment/locale/ sync ^\\.\\/.*$?b2df","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * GetActivecategorymenustate Input Action\r\n */\r\nexport class GetCurrentEventInput implements Msdyn365.IActionInput {\r\n // TODO: Determine if the results of this get action should cache the results and if so provide.\r\n // A cache object type and an appropriate cache key.\r\n public getCacheKey = () => `CurrentEvent`;\r\n public getCacheObjectType = () => 'CurrentEvent';\r\n public dataCacheType = (): Msdyn365.CacheType => 'application';\r\n}\r\n\r\n// TODO: Create a data model here or import one to capture the response of the action.\r\nexport interface IGetCurrentEventStateData {\r\n eventJson: string;\r\n}\r\n\r\n/**\r\n * TODO: Use this function to create the input required to make the action call.\r\n */\r\nconst createInput = (args: Msdyn365.ICreateActionContext): Msdyn365.IActionInput => {\r\n return new GetCurrentEventInput();\r\n};\r\n\r\n/**\r\n * TODO: Use this function to call your action and process the results as needed\r\n */\r\nasync function getCurrentEventStateAction(input: GetCurrentEventInput, ctx: Msdyn365.IActionContext): Promise {\r\n // TODO: Uncomment the below line to get the value from a service.\r\n // const response = await Msdyn365.sendRequest('/get/example/id/1', 'get');\r\n return { eventJson: '' };\r\n}\r\n\r\nexport default Msdyn365.createObservableDataAction({\r\n action: >getCurrentEventStateAction,\r\n // TODO: Give your data action a unique id.\r\n id: 'GetCurrentEventStateActionState',\r\n input: createInput\r\n // TODO: Uncomment the below line if this is a meant to be a batched data action.\r\n // isBatched: true\r\n});","import { ICoreContext, IActionContext } from '@msdyn365-commerce/core';\r\n\r\nimport { CategoryHierarchy } from '@msdyn365-commerce/commerce-entities';\r\n\r\nimport { AsyncResult, Customer, Product, ProductSearchCriteria, ProductSearchResult, SimpleProduct, SalesOrder } from '@msdyn365-commerce/retail-proxy';\r\nimport { getOrderHistoryAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\r\nimport { searchAsync, searchByCategoryAsync, getByIdsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nimport { v4 as uuidv4, validate as uuidValidate, version as uuidVersion } from 'uuid';\r\n\r\nimport { createOrUpdateBTGPCartLineAsync, createBTGPErrorLogAsync, getByCustomerAllBTGPTransactionAsync, getByCustomerAllBTGPTransactionFromHqAsync } from '../actions/DataActionExtension.g';\r\nimport { CategoryProducts, FormDetails, PastTransaction, CartItem, Transaction } from '../actions/ecomm-interfaces';\r\n\r\nimport DedicationPeriod from '../resources/dedicationPeriod.json';\r\nimport { ICartState} from '@msdyn365-commerce/global-state';\r\nimport { ReceiptItem } from './kioskv3-interfaces';\r\n\r\nexport async function getProductsByCategoryId(context: ICoreContext, categoryId: number): Promise {\r\n const searchResult = await searchByCategoryAsync({ callerContext: context.actionContext }, context.actionContext.requestContext.apiSettings.channelId, context.actionContext.requestContext.apiSettings.catalogId, categoryId).catch(error => console.log('[getProductsByCategoryId] searchByCategoryAsync error: ', error));\r\n\r\n if (searchResult && searchResult.length > 0) {\r\n searchResult.sort((a: ProductSearchResult, b: ProductSearchResult) => ((a.DisplayOrder!) < (b.DisplayOrder!) ? -1 : 1));\r\n\r\n const productIds: number[] = [];\r\n\r\n searchResult.map(item => productIds.push(item.RecordId));\r\n\r\n // const availability = await getEstimatedAvailabilityAsync(context, { ProductIds: productIds, DefaultWarehouseOnly: true }).\r\n // catch(error => console.log('[getProductsByCategoryId] getEstimatedAvailabilityAsync error: ', error));\r\n\r\n // if (availability && availability.ProductWarehouseInventoryAvailabilities) {\r\n // const warehouse = availability.ProductWarehouseInventoryAvailabilities;\r\n\r\n // if (warehouse.length > 0) {\r\n // const availableIds: number[] = [];\r\n\r\n // searchResult.map(item => {\r\n // const found = warehouse.find(stock => stock.ProductId === item.RecordId);\r\n\r\n // if (found && (found.PhysicalAvailableInventoryLevelCode && found.PhysicalAvailableInventoryLevelCode === InventoryLvls.AVAIL)) {\r\n // availableIds.push(item.RecordId);\r\n // }\r\n // });\r\n\r\n // const products = await getByIdsAsync(context, channelId, availableIds).catch(error => console.log('[getProductsByCategoryId] getByIdsAsync error: ', error));\r\n\r\n // return products;\r\n // }\r\n // }\r\n\r\n const products = await getByIdsAsync({ callerContext: context.actionContext }, context.actionContext.requestContext.apiSettings.channelId, productIds).catch(error => console.log('[getProductsByCategoryId] getByIdsAsync error: ', error));\r\n\r\n return products;\r\n }\r\n\r\n return [];\r\n}\r\n\r\nexport async function getProducts(context: ICoreContext, categoryIDs: number[]): Promise {\r\n if (categoryIDs.length > 0) {\r\n const projectDomain = { ChannelId: context.actionContext.requestContext.apiSettings.channelId, CatalogId: context.actionContext.requestContext.apiSettings.catalogId };\r\n\r\n const criterias: ProductSearchCriteria = { Context: projectDomain, CategoryIds: categoryIDs, IncludeAttributes: true };\r\n \r\n const products = await searchAsync({ callerContext: context.actionContext }, criterias);\r\n \r\n return products;\r\n }\r\n\r\n return [];\r\n}\r\n\r\nexport async function getCustomerOrderHistory(context: ICoreContext, hierarchy: AsyncResult, customer: Customer, organisation: string, isUat: boolean, limit: number, source: string) {\r\n const dictionary = await generateDictionary(context, hierarchy);\r\n const orderHistory: PastTransaction[] = [];\r\n let btgpTransactions;\r\n let orders : SalesOrder[]= []; \r\n\r\n\r\n if (source ==\"CH\")\r\n {\r\n orders = await getOrderHistoryAsync({ callerContext: context.actionContext }, customer.AccountNumber);\r\n\r\n btgpTransactions = await getByCustomerAllBTGPTransactionAsync({ callerContext: context.actionContext }, customer.AccountNumber, customer.Email!, organisation, isUat, limit); \r\n }\r\n else{\r\n btgpTransactions = await getByCustomerAllBTGPTransactionFromHqAsync({ callerContext: context.actionContext }, isUat, customer.AccountNumber, customer.Email!, (organisation==\"BT\"?\"BTRT\":\"GPBT\")); \r\n }\r\n\r\n\r\n if (btgpTransactions)\r\n {\r\n for (let i = 0; i < btgpTransactions.length; i++) {\r\n const transaction: Transaction = JSON.parse(btgpTransactions[`${i}`]);\r\n \r\n if (transaction['errorCode']) {\r\n console.log(transaction['errorMessage']);\r\n } else {\r\n const transactionNames: string[] = [];\r\n\r\n for (let j = 1; j <= 20; j++) {\r\n const nameID = 'Name_' + j;\r\n\r\n if (transaction[`${nameID}`]) {\r\n transactionNames.push(transaction[`${nameID}`]);\r\n }\r\n }\r\n\r\n let mainName = '';\r\n let mainID = 0;\r\n let price = 0;\r\n\r\n if (transaction.ProductCategoryID === '' || transaction.ProductCategoryID === null) {\r\n dictionary.forEach(record => {\r\n const found = record.Products.find(item => item.RecordId === parseInt(transaction.ProductID));\r\n\r\n if (found) { \r\n mainName = record.Main.Name!; \r\n mainID = record.Main.RecordId;\r\n price = found.Price ? found.Price : 0;\r\n }\r\n });\r\n } else {\r\n mainName = transaction.ProductCategory;\r\n mainID = Number(transaction.ProductCategoryID);\r\n price = transaction.ProductPrice;\r\n }\r\n\r\n if (transaction.DedicationPeriod !== '') {\r\n let found = DedicationPeriod.en.period.findIndex(item => item.label === transaction.DedicationPeriod);\r\n\r\n // Look through chinese version.\r\n if (found < 0) {\r\n found = DedicationPeriod.zh.period.findIndex(item => item.label === transaction.DedicationPeriod);\r\n }\r\n\r\n // Found matching dedication period.\r\n if (found >= 0) {\r\n price = price * DedicationPeriod.scale[`${found}`];\r\n }\r\n }\r\n\r\n const matchingOrder = orders.find(order => order.Id === transaction.SalesOrderID);\r\n const orderReceiptNo = transaction.ReceiptNo === '' ? matchingOrder && matchingOrder.SalesId ? matchingOrder.SalesId : 'Pending' : transaction.ReceiptNo;\r\n\r\n let order = transaction;\r\n order.ProductPrice = price;\r\n order.ProductCategory = mainName;\r\n order.ProductCategoryID = mainID.toString();\r\n\r\n orderHistory.push({ \r\n EventDates: [transaction.EventName],\r\n Names: transactionNames,\r\n OrderDate: transaction.DateOfTransaction ? new Date(transaction.DateOfTransaction) : new Date(),\r\n ReceiptNo: [orderReceiptNo],\r\n Record: order\r\n });\r\n }\r\n }\r\n }\r\n\r\n orderHistory.sort((a, b) => {\r\n return b.OrderDate.getTime() - a.OrderDate.getTime();\r\n }); \r\n\r\n return orderHistory;\r\n}\r\n\r\nexport async function generateErrorLog(context: ICoreContext, errorLogName: string, errorDetails: string, item: FormDetails) {\r\n await createBTGPErrorLogAsync({ callerContext: context.actionContext }, generateUUID(), errorLogName, errorDetails, new Date().toISOString(), item.CartLineID, item.CartID, item.ProductID, item.EventID, item.EventName, item.SerialID, item.SerialNumber, item.SerialName, item.Name_1, item.Name_2, item.Name_3, item.Name_4, item.Name_5, item.Name_6, item.Name_7, item.Name_8, item.Name_9, item.Name_10, item.Name_11, item.Name_12, item.Name_13, item.Name_14, item.Name_15, item.Name_16, item.Name_17, item.Name_18, item.Name_19, item.Name_20, item.Remarks, item.Message, item.Category, item.DedicatedBy, item.HasTaxDeduction, item.Nric, item.BuildingName, item.UnitNumber, item.PostalCode, item.BirthDate, item.PhoneNumber, item.SchoolName, item.DonationOption, item.BlessingOption, item.CartLineComment, item.BirthTime, item.LightOption, item.ValidFrom, item.ValidTo, item.ParentCartLineID, item.DedicationPeriod, item.Country, item.CompanyName, item.DeceasedRelationship, item.SurgeryDate, item.DeathDate, item.DeathTime, item.NameChange, item.OldName_1, item.OldName_2, item.BirthDate_2, item.BirthTime_2, item.StartDate, item.Gender, item.ChineseName, item.ContactNumber, item.NameNextKin, item.ContactNumberNextKin, item.PassportNumber, item.PassportExpiryDate, item.PassportIssuedDate);\r\n}\r\n\r\nexport async function createOrUpdateCartline(context: ICoreContext, item: CartItem): Promise {\r\n const result = await createOrUpdateBTGPCartLineAsync({ callerContext: context.actionContext }, item.Form.CartLineID, item.Form.CartID, item.Form.ProductID, item.Form.EventID, item.Form.EventName, item.Form.SerialID, item.Form.SerialNumber, item.Form.SerialName, item.Form.Name_1, item.Form.Name_2, item.Form.Name_3, item.Form.Name_4, item.Form.Name_5, item.Form.Name_6, item.Form.Name_7, item.Form.Name_8, item.Form.Name_9, item.Form.Name_10, item.Form.Name_11, item.Form.Name_12, item.Form.Name_13, item.Form.Name_14, item.Form.Name_15, item.Form.Name_16, item.Form.Name_17, item.Form.Name_18, item.Form.Name_19, item.Form.Name_20, item.Form.Remarks, item.Form.Message, item.Form.Category, item.Form.DedicatedBy, item.Form.HasTaxDeduction, item.Form.Nric, item.Form.BuildingName, item.Form.UnitNumber, item.Form.PostalCode, item.Form.BirthDate, item.Form.PhoneNumber, item.Form.SchoolName, item.Form.DonationOption, item.Form.BlessingOption, item.Form.CartLineComment, item.Form.BirthTime, item.Form.LightOption, item.Form.ValidFrom, item.Form.ValidTo, item.Form.ParentCartLineID, item.Form.DedicationPeriod, item.Form.Country, item.Form.CompanyName, item.Form.DeceasedRelationship, item.Form.SurgeryDate, item.Form.DeathDate, item.Form.DeathTime, item.Form.NameChange, item.Form.OldName_1, item.Form.OldName_2, item.Form.BirthDate_2, item.Form.BirthTime_2, item.IsValid, item.InvalidType, item.InCart, item.IsSubProduct, item.Form.StartDate, item.Form.Gender, item.Form.ChineseName, item.Form.NameNextKin, item.Form.ContactNumber, item.Form.ContactNumberNextKin, item.Form.PassportNumber, item.Form.PassportExpiryDate, item.Form.PassportIssuedDate, item.Form.Consent, item.Form.IsInsuranceIncluded);\r\n\r\n return result;\r\n}\r\n\r\nexport async function generateDictionary(context: ICoreContext, hierarchy: AsyncResult): Promise {\r\n const dictionary: CategoryProducts[] = [];\r\n\r\n if (hierarchy.result) {\r\n hierarchy.result.forEach(record => {\r\n if (record.Children && record.Children.length > 0) {\r\n dictionary.push({ Main: record, SubIDs: record.Children.map(item => item.RecordId), Products: [] });\r\n }\r\n });\r\n }\r\n\r\n for (let j = 0; j < dictionary.length; ++j) {\r\n dictionary[`${j}`].Products = await getProducts(context, dictionary[`${j}`].SubIDs);\r\n }\r\n\r\n return dictionary;\r\n}\r\n\r\nexport function generateUUID(): string {\r\n let uuid = uuidv4();\r\n\r\n while (!(uuidValidate(uuid) && uuidVersion(uuid) == 4)) {\r\n uuid = uuidv4();\r\n }\r\n\r\n return uuid;\r\n}\r\n\r\nexport function showNextOrPreviousPage(selectors: string, showClassName: string, hideClassName: string, showNextPage: boolean) {\r\n let showPageIndex;\r\n const elements = document.querySelectorAll(selectors);\r\n\r\n // to get show page index\r\n for (let i = 0 ; i < elements.length; i++){\r\n const htmlElement = elements[`${i}`] as HTMLElement;\r\n if (htmlElement.classList.contains(showClassName)) {\r\n showPageIndex = showNextPage ? i + 1 : i - 1;\r\n }\r\n htmlElement.classList.remove(showClassName);\r\n htmlElement.classList.add(hideClassName);\r\n }\r\n\r\n const elementToShow = elements[`${showPageIndex}`] as HTMLElement;\r\n elementToShow.classList.remove(hideClassName);\r\n elementToShow.classList.add(showClassName);\r\n}\r\n\r\nexport function loadingProductListInHomePageOrPrecheckoutPage(className: string){\r\n const productListEl = document.getElementsByClassName(className)[0];\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n\r\n if (!productListEl.hasChildNodes()){\r\n overlayEl.style.display = \"block\";\r\n\r\n const intervalId = setInterval(()=>{\r\n if (document.getElementsByClassName(className)[0].hasChildNodes()) {\r\n overlayEl.style.display = \"none\";\r\n clearInterval(intervalId);\r\n }\r\n }, 200);\r\n }\r\n else{\r\n overlayEl.style.display = \"none\";\r\n }\r\n}\r\n\r\nexport function showLoadingScreen(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n // show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n let overlayTimeout: any = \"\";\r\n\r\n if (show){\r\n overlayTimeout = setTimeout(()=>{\r\n overlayEl.style.display = \"block\";\r\n }, 1000);\r\n }\r\n else{\r\n overlayEl.style.display = \"none\";\r\n }\r\n\r\n\r\n return overlayTimeout;\r\n}\r\n\r\nexport function showLoadingScreenInstant(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"loading-overlay-parent\")[0] as HTMLElement;\r\n show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n}\r\n\r\nexport function showTryAgainPrintReceiptPopUp(show: boolean){\r\n const overlayEl = document.getElementsByClassName(\"try-again-overlay-parent\")[0] as HTMLElement;\r\n show ? overlayEl.style.display = \"block\" : overlayEl.style.display = \"none\";\r\n}\r\n\r\nexport function clearOverlayTimeout(overlayTimeout: NodeJS.Timeout){\r\n clearTimeout(overlayTimeout);\r\n}\r\n\r\nexport function showStartOverBtnInHeader2(show: boolean){\r\n let elements: Element[] = Array.from(document.getElementsByClassName(\"start-over\"));\r\n elements.forEach(element =>{\r\n if (show){\r\n (element as HTMLElement).style.display = \"block\";\r\n }\r\n else{\r\n (element as HTMLElement).style.display = \"none\";\r\n }\r\n });\r\n}\r\n\r\n\r\nexport async function buildKioskv3ReceiptItems(cart: ICartState, actionContext: IActionContext, channelId: number): Promise{\r\n let productIds: number[] = [];\r\n cart.cart.CartLines?.map(cartLine => productIds.push(Number(cartLine.ProductId)));\r\n\r\n let simpleProductsResults = await searchAsync({ callerContext: actionContext }, { Ids: productIds });\r\n\r\n let receiptItems: ReceiptItem[] = [];\r\n\r\n cart.cart.CartLines?.map(cartLine => {\r\n if (cartLine.ProductId) {\r\n let receiptItem: ReceiptItem = {\r\n quantity: cartLine.Quantity!,\r\n productName: simpleProductsResults.find(product => product.RecordId == cartLine.ProductId)!.ProductName!,\r\n price: cartLine.Price!,\r\n totalAmount: cartLine.Quantity! * cartLine.Price!,\r\n comment: cartLine.Comment!\r\n };\r\n receiptItems.push(receiptItem);\r\n }\r\n })\r\n\r\n return receiptItems;\r\n}","// <= 999 = Mobile\r\n// >= 1000 = Tablet and Desktop\r\n\r\nexport const enum Breakpoints {\r\n small = 540,\r\n medium = 768,\r\n large = 992\r\n}\r\n\r\nexport function isMobile (width: number): boolean {\r\n return width < Breakpoints.large;\r\n}","import React from 'react';\r\n\r\nimport { ICoreContext, Image } from '@msdyn365-commerce/core';\r\nimport { IGridSettings } from '@msdyn365-commerce/core-internal';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getFallbackImageUrl, getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nexport interface IProductCardProps {\r\n context: ICoreContext;\r\n gridSettings: IGridSettings;\r\n product: SimpleProduct;\r\n hasExpired: boolean;\r\n isRegistered: boolean;\r\n unavailableText: string;\r\n registeredText: string;\r\n}\r\n\r\n/**\r\n *\r\n * ProductCard component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ProductCard extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n const style = this.props.hasExpired ? 'ecomm-product-card not-available' : 'ecomm-product-card';\r\n\r\n return (\r\n
  • \r\n
    \r\n {this.props.hasExpired &&

    {this.props.unavailableText}

    }\r\n \r\n {this.props.isRegistered &&
    {this.props.registeredText}
    }\r\n
    \r\n
    \r\n

    {this.props.product.Name}

    \r\n

    {this.props.product.Price == 0 ? '' : '$' + this.props.product.Price}

    \r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n private _handleOnClick = () => {\r\n if (!this.props.hasExpired) {\r\n window.location.assign(getProductUrlSync(this.props.product, this.props.context.actionContext, undefined));\r\n }\r\n }\r\n}\r\n\r\nexport default ProductCard;","export const enum FOMOOrderStatus {\r\n CREATED = 'CREATED',\r\n FAIL = 'FAIL',\r\n SUCCESS = 'SUCCESS',\r\n CLOSED = 'CLOSED',\r\n ERROR = 'ERROR'\r\n}\r\n\r\nexport const enum InventoryLvls {\r\n OOS = 'OOS',\r\n LIS = 'LIS',\r\n AVAIL = 'AVAIL'\r\n}\r\n\r\nexport const enum Response {\r\n SUCCESS = 'SUCCESS',\r\n FAILED = 'FAILED'\r\n}","import * as React from 'react';\r\n\r\nimport Modal from 'react-bootstrap/Modal';\r\n\r\ninterface IEcommPopupProps\r\n{\r\n showPopup: boolean;\r\n callback: any;\r\n name: string;\r\n isMobile: boolean;\r\n isPortalPopup: boolean;\r\n locale: string;\r\n url: string;\r\n}\r\n\r\n/**\r\n *\r\n * Event component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class Popup extends React.PureComponent {\r\n public render(): JSX.Element | null {\r\n return (\r\n \r\n \r\n {this._titleText()}\r\n \r\n\r\n \r\n {this._renderMessage()}\r\n \r\n\r\n \r\n {this._stayButtonText()}\r\n {this._goButtonText()}\r\n \r\n \r\n );\r\n }\r\n\r\n private _callbackRedirect = () => {\r\n this.props.callback();\r\n }\r\n\r\n private _callbackHide = () => {\r\n event?.preventDefault();\r\n this.props.callback();\r\n }\r\n\r\n private _titleText(): string {\r\n if (!this.props.isPortalPopup) {\r\n return this.props.name;\r\n }\r\n\r\n if (this.props.locale === 'zh') {\r\n return '网站重定向门户网站';\r\n } else {\r\n return 'Commerce Transfer to Portal';\r\n }\r\n }\r\n\r\n private _stayButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '取消';\r\n } else {\r\n return '稍后登入';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Cancel';\r\n } else {\r\n return 'Maybe Later';\r\n }\r\n }\r\n }\r\n\r\n private _goButtonText(): string {\r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return '开启门户网站标签页';\r\n } else {\r\n return '登入户口';\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return 'Proceed to eShop';\r\n } else {\r\n return 'Go to Sign In Page';\r\n }\r\n }\r\n }\r\n\r\n private _renderMessage(): JSX.Element | null {\r\n \r\n if (this.props.locale === 'zh') {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
    \r\n

    亲爱的信徒和朋友们,

    \r\n

     

    \r\n

    您将离开这个网站并进入另一个门户网站。

    \r\n

     

    \r\n

    请在离开前完成交易和付款。

    \r\n

     

    \r\n

    愿三宝加持和护佑您!

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    登入账号来查阅交易记录

    \r\n
    \r\n );\r\n }\r\n } else {\r\n if (this.props.isPortalPopup) {\r\n return (\r\n
    \r\n

    Dear Devotees and Friends,

    \r\n

     

    \r\n

    You will be leaving this website and entering another portal.

    \r\n

     

    \r\n

    Please complete the transactions and payments here before you leave.

    \r\n

     

    \r\n

    With Triple Gem Blessings!

    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n

    To see your past transactions, please sign in to your account.

    \r\n
    \r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default Popup;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ProductWarehouseInventoryInformation, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { IGridSettings } from '@msdyn365-commerce/core-internal';\r\n\r\nimport { getProductsByCategoryId } from '../../actions/helper-functions';\r\n\r\nimport { getByCustomerBTGPTransactionAsync, checkAvailableSerialAsync, getProductEventsByIdsAsync } from '../../actions/DataActionExtension.g';\r\nimport { getEstimatedAvailabilityAsync, getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nimport { IEcommEventProductsData } from './ecomm-event-products.data';\r\nimport { IEcommEventProductsProps } from './ecomm-event-products.props.autogenerated';\r\n\r\nconst moment = require('moment');\r\n\r\nexport interface IEcommEventProductsViewProps extends IEcommEventProductsProps {\r\n gridSettings: IGridSettings;\r\n products: SimpleProduct[];\r\n productsHaveAssociatedEvents: boolean[];\r\n warehouse: ProductWarehouseInventoryInformation;\r\n isRegistered: boolean[];\r\n serialAvailable: boolean[];\r\n}\r\n\r\n/**\r\n *\r\n * EcommEventProducts component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EcommEventProducts extends React.PureComponent> {\r\n public state: any = { products: [], productsAvailabilities: {}, registered: [], serialAvailable: [], productsHaveAssociatedEvents: [] };\r\n\r\n public async componentDidMount() {\r\n const { context, context: { request: { user } } } = this.props;\r\n\r\n if (typeof window !== 'undefined') {\r\n const parameters = window.location.search;\r\n const categoryId = new URLSearchParams(parameters).get('id');\r\n\r\n if (categoryId) {\r\n const result = await getProductsByCategoryId(context, parseInt(categoryId)).catch(error => console.log('[EcommEventProducts] getProductsByCategoryId error:', error));\r\n\r\n if (result && result.length > 0) {\r\n const productRegistered: boolean[] = [];\r\n const productSerialAvailable: boolean[] = [];\r\n const productIds: number[] = [];\r\n\r\n for (let i = 0; i < result.length; i++) {\r\n productRegistered.push(false);\r\n productSerialAvailable.push(true);\r\n\r\n const attributesList = await getAttributeValuesAsync({callerContext: context.actionContext }, result[`${i}`].RecordId, context.request.apiSettings.channelId, context.request.apiSettings.catalogId);\r\n\r\n const hasSerialIndex= attributesList.findIndex(attr => attr.Name?.includes('Has Serial'));\r\n\r\n if (hasSerialIndex >= 0) {\r\n const itemHasSerial = attributesList[`${hasSerialIndex}`].BooleanValue ? attributesList[`${hasSerialIndex}`].BooleanValue! : false;\r\n\r\n if (itemHasSerial) {\r\n const serialAvalability = await checkAvailableSerialAsync({ callerContext: this.props.context.actionContext }, this.props.config.isUat, result[`${i}`].RecordId.toString()!);\r\n\r\n if (serialAvalability && typeof serialAvalability === 'object' && serialAvalability['value'] == false) {\r\n productSerialAvailable[`${i}`] = false;\r\n }\r\n }\r\n }\r\n\r\n productIds.push(result[`${i}`].RecordId);\r\n }\r\n\r\n if (user.isAuthenticated) {\r\n for (let i = 0; i < result.length; i++) {\r\n const records = await getByCustomerBTGPTransactionAsync({ callerContext: context.actionContext }, user.customerAccountNumber!, user.emailAddress!, String(result[`${i}`].RecordId), this.props.config.isUat);\r\n\r\n if (records.length > 0) {\r\n productRegistered[`${i}`] = true;\r\n }\r\n }\r\n }\r\n\r\n const warehouse = await getEstimatedAvailabilityAsync({ callerContext: context.actionContext }, { ProductIds: productIds, DefaultWarehouseOnly: true });\r\n\r\n let startDate = new Date();\r\n startDate.setHours(0, 0, 0, 0);\r\n let productIdsStr = productIds.join(\",\");\r\n let productsEventsJsonStr = await getProductEventsByIdsAsync({callerContext: context.actionContext}, this.props.config.isUat, startDate.toISOString(), productIdsStr);\r\n let productsEvents = JSON.parse(productsEventsJsonStr);\r\n let productsHaveAssociatedEvents = [];\r\n for (let i = 0; i< productsEvents.length; i++){\r\n if (productsEvents[i].length == 0){\r\n productsHaveAssociatedEvents.push(false);\r\n continue;\r\n }\r\n let productEvents = productsEvents[i];\r\n let latestEvent = JSON.parse(productEvents[productEvents.length - 1]);\r\n let eventStartDate = moment(latestEvent['StartDateTime']);\r\n let currentTime = moment();\r\n \r\n if (currentTime.diff(eventStartDate, 'd') > 0) {\r\n productsHaveAssociatedEvents.push(false);\r\n }\r\n else{\r\n productsHaveAssociatedEvents.push(true);\r\n }\r\n }\r\n\r\n this.setState({ products: result, productsHaveAssociatedEvents: productsHaveAssociatedEvents, productsAvailabilities: warehouse, registered: productRegistered, serialAvailable: productSerialAvailable });\r\n }\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const EcommEventProductsViewProps = {\r\n ...this.props,\r\n products: this.state.products,\r\n productsHaveAssociatedEvents: this.state.productsHaveAssociatedEvents,\r\n warehouse: this.state.productsAvailabilities,\r\n isRegistered: this.state.registered,\r\n serialAvailable: this.state.serialAvailable\r\n };\r\n \r\n return this.props.renderView(EcommEventProductsViewProps);\r\n }\r\n}\r\n\r\nexport default EcommEventProducts;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport ProductCard from '../../components/ecomm-product-card';\r\n\r\nimport { isMobile } from './../../components/breakpoints';\r\nimport { InventoryLvls } from '../../components/enums';\r\nimport Popup from './../../components/popup';\r\n\r\nimport { IEcommEventProductsViewProps } from './ecomm-event-products';\r\n\r\nvar moment = require('moment-timezone');\r\n\r\n/**\r\n *\r\n * EcommEventProductsView component\r\n * @extends {React.PureComponent}\r\n */\r\n export class EcommEventProductsView extends React.PureComponent {\r\n public state: any = { width: 0, hasMounted: false, showPopup: false };\r\n\r\n public componentDidMount(): void {\r\n if (!this.state.hasMounted) {\r\n const { context: { request: { user } } } = this.props;\r\n\r\n window.addEventListener('resize', this._updateDimensions);\r\n\r\n this.setState({ width: window.innerWidth, hasMounted: true, showPopup: user.isAuthenticated ? false : true });\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.state.hasMounted) {\r\n return null;\r\n }\r\n\r\n const mobileMode = isMobile(this.state.width);\r\n\r\n const { config, context, gridSettings, data: { eventJson }, context: { request: { user } }, products, productsHaveAssociatedEvents, warehouse, serialAvailable, isRegistered } = this.props;\r\n\r\n const localeCode = this.props.context.request.locale.split('-')[0];\r\n\r\n const currentEvent = eventJson.result && eventJson.result.eventJson !== '' ? JSON.parse(eventJson.result.eventJson) : '';\r\n\r\n const today = moment.tz('Asia/Singapore').format('YYYY-MM-DD');\r\n const registrationClosingDate = currentEvent['StartDateTime'] ? moment(currentEvent['StartDateTime']).subtract(1, 'days') : undefined;\r\n const hasExpired = registrationClosingDate ? registrationClosingDate.isSameOrBefore(today) : true;\r\n\r\n const card = config.anchorID && config.anchorID !== '' ? 'anchor ecomm-event-products' : 'ecomm-event-products';\r\n const componentId = config.anchorID && config.anchorID !== '' ? config.anchorID : '';\r\n\r\n return (\r\n
    \r\n \r\n
      \r\n {products.map((item: SimpleProduct, idx: number) =>\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private _updateDimensions = () => {\r\n this.setState({ width: window.innerWidth });\r\n };\r\n\r\n private _handleCallback = () => {\r\n this.setState({ showPopup: false});\r\n }\r\n }\r\n\r\n export default EcommEventProductsView;","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['ecomm-event-products'] = {\n c: () => require('partner/modules/ecomm-event-products/ecomm-event-products.tsx'),\n $type: 'contentModule',\n da: [{name:'eventJson', path:'actions/ecomm-current-event', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'ecomm-event-products',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/ecomm-event-products'\n });\n \n\n {\n const sanitizedActionPath = 'actions/ecomm-current-event';\n let dataAction = require('partner/actions/ecomm-current-event');\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|ecomm-event-products|ecomm-event-products'] = {\n c: () => require('partner/modules/ecomm-event-products/ecomm-event-products.view.tsx'),\n cn: '__local__-__local__-ecomm-event-products'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","var map = {\n\t\"./af\": 154,\n\t\"./af.js\": 154,\n\t\"./ar\": 155,\n\t\"./ar-dz\": 156,\n\t\"./ar-dz.js\": 156,\n\t\"./ar-kw\": 157,\n\t\"./ar-kw.js\": 157,\n\t\"./ar-ly\": 158,\n\t\"./ar-ly.js\": 158,\n\t\"./ar-ma\": 159,\n\t\"./ar-ma.js\": 159,\n\t\"./ar-ps\": 160,\n\t\"./ar-ps.js\": 160,\n\t\"./ar-sa\": 161,\n\t\"./ar-sa.js\": 161,\n\t\"./ar-tn\": 162,\n\t\"./ar-tn.js\": 162,\n\t\"./ar.js\": 155,\n\t\"./az\": 163,\n\t\"./az.js\": 163,\n\t\"./be\": 164,\n\t\"./be.js\": 164,\n\t\"./bg\": 165,\n\t\"./bg.js\": 165,\n\t\"./bm\": 166,\n\t\"./bm.js\": 166,\n\t\"./bn\": 167,\n\t\"./bn-bd\": 168,\n\t\"./bn-bd.js\": 168,\n\t\"./bn.js\": 167,\n\t\"./bo\": 169,\n\t\"./bo.js\": 169,\n\t\"./br\": 170,\n\t\"./br.js\": 170,\n\t\"./bs\": 171,\n\t\"./bs.js\": 171,\n\t\"./ca\": 172,\n\t\"./ca.js\": 172,\n\t\"./cs\": 173,\n\t\"./cs.js\": 173,\n\t\"./cv\": 174,\n\t\"./cv.js\": 174,\n\t\"./cy\": 175,\n\t\"./cy.js\": 175,\n\t\"./da\": 176,\n\t\"./da.js\": 176,\n\t\"./de\": 177,\n\t\"./de-at\": 178,\n\t\"./de-at.js\": 178,\n\t\"./de-ch\": 179,\n\t\"./de-ch.js\": 179,\n\t\"./de.js\": 177,\n\t\"./dv\": 180,\n\t\"./dv.js\": 180,\n\t\"./el\": 181,\n\t\"./el.js\": 181,\n\t\"./en-au\": 182,\n\t\"./en-au.js\": 182,\n\t\"./en-ca\": 183,\n\t\"./en-ca.js\": 183,\n\t\"./en-gb\": 184,\n\t\"./en-gb.js\": 184,\n\t\"./en-ie\": 185,\n\t\"./en-ie.js\": 185,\n\t\"./en-il\": 186,\n\t\"./en-il.js\": 186,\n\t\"./en-in\": 187,\n\t\"./en-in.js\": 187,\n\t\"./en-nz\": 188,\n\t\"./en-nz.js\": 188,\n\t\"./en-sg\": 189,\n\t\"./en-sg.js\": 189,\n\t\"./eo\": 190,\n\t\"./eo.js\": 190,\n\t\"./es\": 191,\n\t\"./es-do\": 192,\n\t\"./es-do.js\": 192,\n\t\"./es-mx\": 193,\n\t\"./es-mx.js\": 193,\n\t\"./es-us\": 194,\n\t\"./es-us.js\": 194,\n\t\"./es.js\": 191,\n\t\"./et\": 195,\n\t\"./et.js\": 195,\n\t\"./eu\": 196,\n\t\"./eu.js\": 196,\n\t\"./fa\": 197,\n\t\"./fa.js\": 197,\n\t\"./fi\": 198,\n\t\"./fi.js\": 198,\n\t\"./fil\": 199,\n\t\"./fil.js\": 199,\n\t\"./fo\": 200,\n\t\"./fo.js\": 200,\n\t\"./fr\": 201,\n\t\"./fr-ca\": 202,\n\t\"./fr-ca.js\": 202,\n\t\"./fr-ch\": 203,\n\t\"./fr-ch.js\": 203,\n\t\"./fr.js\": 201,\n\t\"./fy\": 204,\n\t\"./fy.js\": 204,\n\t\"./ga\": 205,\n\t\"./ga.js\": 205,\n\t\"./gd\": 206,\n\t\"./gd.js\": 206,\n\t\"./gl\": 207,\n\t\"./gl.js\": 207,\n\t\"./gom-deva\": 208,\n\t\"./gom-deva.js\": 208,\n\t\"./gom-latn\": 209,\n\t\"./gom-latn.js\": 209,\n\t\"./gu\": 210,\n\t\"./gu.js\": 210,\n\t\"./he\": 211,\n\t\"./he.js\": 211,\n\t\"./hi\": 212,\n\t\"./hi.js\": 212,\n\t\"./hr\": 213,\n\t\"./hr.js\": 213,\n\t\"./hu\": 214,\n\t\"./hu.js\": 214,\n\t\"./hy-am\": 215,\n\t\"./hy-am.js\": 215,\n\t\"./id\": 216,\n\t\"./id.js\": 216,\n\t\"./is\": 217,\n\t\"./is.js\": 217,\n\t\"./it\": 218,\n\t\"./it-ch\": 219,\n\t\"./it-ch.js\": 219,\n\t\"./it.js\": 218,\n\t\"./ja\": 220,\n\t\"./ja.js\": 220,\n\t\"./jv\": 221,\n\t\"./jv.js\": 221,\n\t\"./ka\": 222,\n\t\"./ka.js\": 222,\n\t\"./kk\": 223,\n\t\"./kk.js\": 223,\n\t\"./km\": 224,\n\t\"./km.js\": 224,\n\t\"./kn\": 225,\n\t\"./kn.js\": 225,\n\t\"./ko\": 226,\n\t\"./ko.js\": 226,\n\t\"./ku\": 227,\n\t\"./ku-kmr\": 228,\n\t\"./ku-kmr.js\": 228,\n\t\"./ku.js\": 227,\n\t\"./ky\": 229,\n\t\"./ky.js\": 229,\n\t\"./lb\": 230,\n\t\"./lb.js\": 230,\n\t\"./lo\": 231,\n\t\"./lo.js\": 231,\n\t\"./lt\": 232,\n\t\"./lt.js\": 232,\n\t\"./lv\": 233,\n\t\"./lv.js\": 233,\n\t\"./me\": 234,\n\t\"./me.js\": 234,\n\t\"./mi\": 235,\n\t\"./mi.js\": 235,\n\t\"./mk\": 236,\n\t\"./mk.js\": 236,\n\t\"./ml\": 237,\n\t\"./ml.js\": 237,\n\t\"./mn\": 238,\n\t\"./mn.js\": 238,\n\t\"./mr\": 239,\n\t\"./mr.js\": 239,\n\t\"./ms\": 240,\n\t\"./ms-my\": 241,\n\t\"./ms-my.js\": 241,\n\t\"./ms.js\": 240,\n\t\"./mt\": 242,\n\t\"./mt.js\": 242,\n\t\"./my\": 243,\n\t\"./my.js\": 243,\n\t\"./nb\": 244,\n\t\"./nb.js\": 244,\n\t\"./ne\": 245,\n\t\"./ne.js\": 245,\n\t\"./nl\": 246,\n\t\"./nl-be\": 247,\n\t\"./nl-be.js\": 247,\n\t\"./nl.js\": 246,\n\t\"./nn\": 248,\n\t\"./nn.js\": 248,\n\t\"./oc-lnc\": 249,\n\t\"./oc-lnc.js\": 249,\n\t\"./pa-in\": 250,\n\t\"./pa-in.js\": 250,\n\t\"./pl\": 251,\n\t\"./pl.js\": 251,\n\t\"./pt\": 252,\n\t\"./pt-br\": 253,\n\t\"./pt-br.js\": 253,\n\t\"./pt.js\": 252,\n\t\"./ro\": 254,\n\t\"./ro.js\": 254,\n\t\"./ru\": 255,\n\t\"./ru.js\": 255,\n\t\"./sd\": 256,\n\t\"./sd.js\": 256,\n\t\"./se\": 257,\n\t\"./se.js\": 257,\n\t\"./si\": 258,\n\t\"./si.js\": 258,\n\t\"./sk\": 259,\n\t\"./sk.js\": 259,\n\t\"./sl\": 260,\n\t\"./sl.js\": 260,\n\t\"./sq\": 261,\n\t\"./sq.js\": 261,\n\t\"./sr\": 262,\n\t\"./sr-cyrl\": 263,\n\t\"./sr-cyrl.js\": 263,\n\t\"./sr.js\": 262,\n\t\"./ss\": 264,\n\t\"./ss.js\": 264,\n\t\"./sv\": 265,\n\t\"./sv.js\": 265,\n\t\"./sw\": 266,\n\t\"./sw.js\": 266,\n\t\"./ta\": 267,\n\t\"./ta.js\": 267,\n\t\"./te\": 268,\n\t\"./te.js\": 268,\n\t\"./tet\": 269,\n\t\"./tet.js\": 269,\n\t\"./tg\": 270,\n\t\"./tg.js\": 270,\n\t\"./th\": 271,\n\t\"./th.js\": 271,\n\t\"./tk\": 272,\n\t\"./tk.js\": 272,\n\t\"./tl-ph\": 273,\n\t\"./tl-ph.js\": 273,\n\t\"./tlh\": 274,\n\t\"./tlh.js\": 274,\n\t\"./tr\": 275,\n\t\"./tr.js\": 275,\n\t\"./tzl\": 276,\n\t\"./tzl.js\": 276,\n\t\"./tzm\": 277,\n\t\"./tzm-latn\": 278,\n\t\"./tzm-latn.js\": 278,\n\t\"./tzm.js\": 277,\n\t\"./ug-cn\": 279,\n\t\"./ug-cn.js\": 279,\n\t\"./uk\": 280,\n\t\"./uk.js\": 280,\n\t\"./ur\": 281,\n\t\"./ur.js\": 281,\n\t\"./uz\": 282,\n\t\"./uz-latn\": 283,\n\t\"./uz-latn.js\": 283,\n\t\"./uz.js\": 282,\n\t\"./vi\": 284,\n\t\"./vi.js\": 284,\n\t\"./x-pseudo\": 285,\n\t\"./x-pseudo.js\": 285,\n\t\"./yo\": 286,\n\t\"./yo.js\": 286,\n\t\"./zh-cn\": 287,\n\t\"./zh-cn.js\": 287,\n\t\"./zh-hk\": 288,\n\t\"./zh-hk.js\": 288,\n\t\"./zh-mo\": 289,\n\t\"./zh-mo.js\": 289,\n\t\"./zh-tw\": 290,\n\t\"./zh-tw.js\": 290\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 306;","module.exports = React;","module.exports = ReactDOM;"],"names":["GetCurrentEventInput","constructor","getCacheKey","getCacheObjectType","dataCacheType","Msdyn365","action","async","input","ctx","eventJson","id","args","getProductsByCategoryId","context","categoryId","searchResult","searchByCategoryAsync","callerContext","actionContext","requestContext","apiSettings","channelId","catalogId","catch","error","console","log","length","sort","a","b","DisplayOrder","productIds","map","item","push","RecordId","getByIdsAsync","getProducts","categoryIDs","criterias","Context","ChannelId","CatalogId","CategoryIds","IncludeAttributes","searchAsync","getCustomerOrderHistory","hierarchy","customer","organisation","isUat","limit","source","dictionary","result","forEach","record","Children","Main","SubIDs","Products","j","generateDictionary","orderHistory","btgpTransactions","orders","getOrderHistoryAsync","AccountNumber","getByCustomerAllBTGPTransactionAsync","Email","getByCustomerAllBTGPTransactionFromHqAsync","i","transaction","JSON","parse","transactionNames","nameID","mainName","mainID","price","ProductCategoryID","found","find","parseInt","ProductID","Name","Price","ProductCategory","Number","ProductPrice","DedicationPeriod","findIndex","label","matchingOrder","order","Id","SalesOrderID","orderReceiptNo","ReceiptNo","SalesId","toString","EventDates","EventName","Names","OrderDate","DateOfTransaction","Date","Record","getTime","generateErrorLog","errorLogName","errorDetails","createBTGPErrorLogAsync","uuid","uuidv4","uuidValidate","uuidVersion","generateUUID","toISOString","CartLineID","CartID","EventID","SerialID","SerialNumber","SerialName","Name_1","Name_2","Name_3","Name_4","Name_5","Name_6","Name_7","Name_8","Name_9","Name_10","Name_11","Name_12","Name_13","Name_14","Name_15","Name_16","Name_17","Name_18","Name_19","Name_20","Remarks","Message","Category","DedicatedBy","HasTaxDeduction","Nric","BuildingName","UnitNumber","PostalCode","BirthDate","PhoneNumber","SchoolName","DonationOption","BlessingOption","CartLineComment","BirthTime","LightOption","ValidFrom","ValidTo","ParentCartLineID","Country","CompanyName","DeceasedRelationship","SurgeryDate","DeathDate","DeathTime","NameChange","OldName_1","OldName_2","BirthDate_2","BirthTime_2","StartDate","Gender","ChineseName","ContactNumber","NameNextKin","ContactNumberNextKin","PassportNumber","PassportExpiryDate","PassportIssuedDate","createOrUpdateCartline","createOrUpdateBTGPCartLineAsync","Form","IsValid","InvalidType","InCart","IsSubProduct","Consent","IsInsuranceIncluded","showNextOrPreviousPage","selectors","showClassName","hideClassName","showNextPage","showPageIndex","elements","document","querySelectorAll","htmlElement","classList","contains","remove","add","elementToShow","loadingProductListInHomePageOrPrecheckoutPage","className","productListEl","getElementsByClassName","overlayEl","hasChildNodes","style","display","intervalId","setInterval","clearInterval","showLoadingScreen","show","overlayTimeout","setTimeout","showLoadingScreenInstant","showTryAgainPrintReceiptPopUp","clearOverlayTimeout","clearTimeout","showStartOverBtnInHeader2","Array","from","element","buildKioskv3ReceiptItems","cart","_cart$cart$CartLines","_cart$cart$CartLines2","CartLines","cartLine","ProductId","simpleProductsResults","Ids","receiptItems","receiptItem","quantity","Quantity","productName","product","ProductName","totalAmount","comment","Comment","Breakpoints","isMobile","width","large","ProductCard","React","_handleOnClick","this","props","hasExpired","window","location","assign","getProductUrlSync","undefined","render","onClick","role","unavailableText","Image","src","PrimaryImageUrl","fallBackSrc","getFallbackImageUrl","ItemId","altText","gridSettings","loadFailureBehavior","isRegistered","registeredText","FOMOOrderStatus","InventoryLvls","Response","Popup","_callbackRedirect","callback","_callbackHide","_event","event","preventDefault","Modal","showPopup","onHide","centered","Header","closeButton","isPortalPopup","Title","_titleText","Body","_renderMessage","Footer","href","_stayButtonText","url","target","_goButtonText","locale","name","moment","require","EcommEventProducts","state","products","productsAvailabilities","registered","serialAvailable","productsHaveAssociatedEvents","request","user","parameters","search","URLSearchParams","get","productRegistered","productSerialAvailable","attributesList","getAttributeValuesAsync","hasSerialIndex","attr","_attr$Name","includes","BooleanValue","serialAvalability","checkAvailableSerialAsync","config","isAuthenticated","getByCustomerBTGPTransactionAsync","customerAccountNumber","emailAddress","String","warehouse","getEstimatedAvailabilityAsync","ProductIds","DefaultWarehouseOnly","startDate","setHours","productIdsStr","join","productsEventsJsonStr","getProductEventsByIdsAsync","productsEvents","productEvents","latestEvent","eventStartDate","diff","setState","EcommEventProductsViewProps","_objectSpread","renderView","EcommEventProductsView","hasMounted","_updateDimensions","innerWidth","_handleCallback","componentDidMount","addEventListener","mobileMode","data","localeCode","split","currentEvent","today","tz","format","registrationClosingDate","subtract","isSameOrBefore","card","anchorID","componentId","title","signInUrl","idx","key","ProductWarehouseInventoryAvailabilities","PhysicalAvailableInventoryLevelCode","AVAIL","binding","modules","dataActions","c","$type","da","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","__bindings__","viewDictionary","cn","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","code","keys","Object","resolve","module","exports","ReactDOM"],"sourceRoot":""}