{"version":3,"file":"static/js/9105a7e7883fd114ec1f.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/moe-epub-viewer/moe-epub-viewer.view.tsx?d68d","webpack://Msdyn365.Commerce.Online/./src/modules/moe-file-list/moe-file-list.tsx?5905","webpack://Msdyn365.Commerce.Online/./src/modules/moe-file-list/moe-file-list.view.tsx?e203","webpack://Msdyn365.Commerce.Online/./src/utilities/language-change.ts?a435","webpack://Msdyn365.Commerce.Online/./lib/moe-file-list/module-registration.js?ff37","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\r\n/* eslint-disable security/detect-object-injection */\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\nimport React, { useState, useRef, useEffect } from 'react';\r\nimport { FaVolumeMute, FaVolumeUp } from 'react-icons/fa';\r\nimport { ReactReader } from 'react-reader';\r\nimport { IMoeEpubViewerViewProps } from './moe-epub-viewer';\r\nimport { BiFirstPage, BiLastPage } from 'react-icons/bi';\r\n\r\nexport default (props: IMoeEpubViewerViewProps) => {\r\n // Variables declarations\r\n let audioParaNumber = 0;\r\n let smlObjIndex = 0;\r\n let firstPageEpubCifi: any;\r\n let currentPageEpubCifi: any;\r\n let totalNumberOfPages: any;\r\n\r\n // And your own state logic to persist state\r\n console.log(props);\r\n const { config } = props;\r\n const [location, setLocation] = useState(null);\r\n const [smlObj, setSmlObj] = useState([]);\r\n const [isAudioEnabled, setIsAudioEnabled] = useState(false);\r\n const [isAutoTurnEnabled, setIsAutoTurnEnabled] = useState(false);\r\n const [pageNumbersText, setPageNumbersText] = useState('');\r\n const [bigFileNotification, setBigFileNotification] = useState('');\r\n const [isNavControlsEnabled, setIsNavControlsEnabled] = useState(false);\r\n const [isAudioBtnEnabled, setIsAudioBtnEnabled] = useState(false);\r\n const [epubTitle, setEpubTitle] = useState('');\r\n // Ref to keep the book on track\r\n const renditionRef: any = useRef(null);\r\n const tocRef = useRef(null);\r\n\r\n // Effects to keep the track state changes and execute based on data\r\n useEffect(() => {\r\n console.log('Effect state');\r\n if (isAudioEnabled === true) {\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n playAudio();\r\n }\r\n }, [smlObj]);\r\n\r\n useEffect(() => {\r\n console.log('Use Effect execution');\r\n void locationChanged(currentPageEpubCifi);\r\n }, [renditionRef.current?.book]);\r\n\r\n // Effect to check if video files present in Ebook.\r\n // useEffect(() => {\r\n // if (renditionRef?.current?.book?.package?.manifest) {\r\n // const { manifest } = renditionRef.current.book.package;\r\n // // eslint-disable-next-line guard-for-in\r\n // for (const key in manifest) {\r\n // const type = manifest[key].type.split('/');\r\n // if (type[0] === 'video') {\r\n // setIsVideo(true);\r\n // }\r\n // }\r\n // }\r\n // }, [renditionRef?.current?.book?.package]);\r\n /*\r\n Function Name: setPageNumbersTextfn\r\n functonality: Gives the text of which page you are currently in\r\n */\r\n const setPageNumbersTextfn = () => {\r\n if (\r\n renditionRef.current?.location?.start &&\r\n renditionRef?.current?.location?.end &&\r\n renditionRef.current?.location?.start.index >= 0 &&\r\n renditionRef?.current?.location?.end.index >= 0\r\n ) {\r\n if (renditionRef.current?.location?.start.index === renditionRef?.current?.location?.end.index) {\r\n setPageNumbersText(`${renditionRef.current?.location?.start.index + 1} of ${totalNumberOfPages}`);\r\n } else if (renditionRef.current?.location?.start.index !== renditionRef?.current?.location?.end.index) {\r\n setPageNumbersText(\r\n `${renditionRef.current?.location?.start.index + 1}-${renditionRef.current?.location?.end.index +\r\n 1} of ${totalNumberOfPages}`\r\n );\r\n } else {\r\n setPageNumbersText('');\r\n }\r\n }\r\n };\r\n\r\n /*\r\n Function Name: locationChanged\r\n functonality: locationchanged is used to track the page change and fetch info based on data available from page\r\n */\r\n const locationChanged = async (_epubcifi: any) => {\r\n // Remove the audio player if we change the page.\r\n const body = document.getElementsByTagName('body')[0];\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n\r\n if (_epubcifi && firstPageEpubCifi === undefined) {\r\n firstPageEpubCifi = _epubcifi;\r\n }\r\n\r\n if (renditionRef.current?.book === undefined) {\r\n currentPageEpubCifi = _epubcifi;\r\n return;\r\n }\r\n\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n\r\n // const previousPageName = smlObj[0]?.pageName || '';\r\n if (renditionRef.current && tocRef.current && renditionRef.current.location) {\r\n const { displayed, href } = renditionRef.current.location.start;\r\n const endHref = renditionRef.current.location.end.href;\r\n console.log('rendition ref', displayed, href, renditionRef.current, tocRef);\r\n\r\n if (renditionRef.current && renditionRef.current.book && renditionRef.current.book.packaging) {\r\n setEpubTitle(renditionRef.current.book.packaging.metadata.title || '');\r\n }\r\n\r\n if (renditionRef.current.book.spine && renditionRef.current.book.spine.length) {\r\n totalNumberOfPages = renditionRef.current.book.spine.length;\r\n } else {\r\n totalNumberOfPages = 'n/a';\r\n }\r\n\r\n setPageNumbersTextfn();\r\n\r\n const smlStartReplacementUrl = getSmilReplacementUrl(href);\r\n const startSmilObj = await getSmilAttributes(smlStartReplacementUrl);\r\n let endSmlObj: any = {};\r\n\r\n if (href !== endHref) {\r\n const smlEndReplacementUrl = getSmilReplacementUrl(endHref);\r\n endSmlObj = await getSmilAttributes(smlEndReplacementUrl);\r\n }\r\n\r\n setSmlObj([startSmilObj, endSmlObj]);\r\n }\r\n setLocation(_epubcifi);\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n // if (isAudioEnabled) {\r\n // const nextSlideAudioPlayInterval = setInterval(() => {\r\n // if (previousPageName !== smlObj[0].pageName) {\r\n // clearInterval(nextSlideAudioPlayInterval);\r\n // playAudio();\r\n // }\r\n // }, 1000);\r\n // }\r\n\r\n if (isNavControlsEnabled === false || isAudioBtnEnabled === false) {\r\n setTimeout(() => {\r\n if (isNavControlsEnabled === false) {\r\n setIsNavControlsEnabled(true);\r\n }\r\n\r\n // check whether the Audio is available in the first place, Then enable the audio button\r\n if (isAudioBtnEnabled === false) {\r\n if (\r\n renditionRef.current &&\r\n renditionRef.current.book &&\r\n renditionRef.current.book.packaging &&\r\n renditionRef.current.book.packaging.metadata.media_active_class\r\n ) {\r\n setIsAudioBtnEnabled(true);\r\n return;\r\n }\r\n\r\n if (smlObj[0]) {\r\n const firstAudioPoint = smlObj[0] && smlObj[0].paragraphs && smlObj[0].paragraphs[0]?.clipBegin;\r\n const secondAudioPoint = smlObj[0] && smlObj[0].paragraphs && smlObj[0]?.paragraphs[0]?.clipEnd;\r\n const initialUrl = smlObj[0] && smlObj[0].paragraphs && smlObj[0]?.paragraphs[0]?.audioFilePathFinal;\r\n\r\n if (firstAudioPoint && secondAudioPoint && initialUrl) {\r\n setIsAudioBtnEnabled(true);\r\n } else {\r\n setIsAudioBtnEnabled(false);\r\n }\r\n }\r\n }\r\n }, 0);\r\n }\r\n\r\n // renditionRef.current.hooks.content.register((contents: any) => {\r\n // contents.document.defaultView.location = {\r\n // set href(href: any) {\r\n // renditionRef.current.display(href);\r\n // }\r\n // };\r\n // });\r\n };\r\n\r\n /*\r\n Function Name: getSmilAttributes\r\n functonality: getSmilAttributes is used to fetch blob object from blob url\r\n */\r\n const getSmilAttributes: any = async (replacementUrl: any) => {\r\n if (!replacementUrl) {\r\n return {};\r\n }\r\n const finalObj = await fetch(replacementUrl)\r\n .then(res => {\r\n return res.blob();\r\n })\r\n .then(blob => {\r\n const obj = readFile(blob);\r\n return obj;\r\n })\r\n .catch(e => {\r\n console.log('Error occured', e);\r\n });\r\n console.log(finalObj, 'Obj');\r\n return finalObj;\r\n };\r\n\r\n /*\r\n Function Name: readFile\r\n functonality: readFile is used to read smil file using blob object\r\n */\r\n const readFile = (input: Blob) => {\r\n const fr = new FileReader();\r\n const smlObj = {\r\n pageName: ''\r\n };\r\n fr.readAsText(input);\r\n fr.addEventListener('load', () => {\r\n const res = fr.result;\r\n const client = new XMLHttpRequest();\r\n // @ts-ignore\r\n client.open('GET', res);\r\n client.onreadystatechange = function() {\r\n const parser = new DOMParser();\r\n const xmlDoc = parser.parseFromString(res as any, 'text/xml');\r\n const parTags = xmlDoc.getElementsByTagName('par');\r\n const parTagsArray = Array.from(parTags);\r\n parTagsArray.forEach((element: any) => {\r\n const innerObj = {};\r\n Array.from(element.children).forEach((childElm: any) => {\r\n if (childElm.nodeName === 'text') {\r\n const splitElm = childElm.attributes[0].value.split('#');\r\n innerObj['textPageName'] = splitElm[0];\r\n innerObj['textWordId'] = splitElm[1];\r\n } else if (childElm.nodeName === 'audio') {\r\n Array.from(childElm.attributes).forEach((audioElm: any) => {\r\n if (audioElm.nodeName === 'src' && renditionRef.current?.book) {\r\n console.log(audioElm, 'audio elm', parTagsArray);\r\n\r\n const { urls, replacementUrls } = renditionRef.current?.book?.resources;\r\n const splitedAudioName = audioElm.value.split('/');\r\n const index = urls.findIndex((url: any) => url.includes(splitedAudioName[splitedAudioName.length - 1]));\r\n innerObj['audioFilePathFinal'] = replacementUrls[index];\r\n } else {\r\n innerObj[audioElm.name] = audioElm.value;\r\n }\r\n });\r\n }\r\n });\r\n smlObj.pageName = innerObj['textPageName'];\r\n smlObj['paragraphs'] = smlObj['paragraphs']?.length ? [...smlObj['paragraphs'], innerObj] : [innerObj];\r\n });\r\n };\r\n client.send();\r\n });\r\n return smlObj;\r\n };\r\n\r\n /*\r\n Function Name: getSmilReplacementUrl\r\n functonality: getSmilReplacementUrl is used to fetch the replacement urls from resources\r\n */\r\n const getSmilReplacementUrl = (pageName: any) => {\r\n if (renditionRef.current) {\r\n // @ts-ignore\r\n const { book } = renditionRef.current;\r\n // @ts-ignore\r\n const { manifest } = book.package;\r\n let smilFileName = '';\r\n for (const key in manifest) {\r\n if (manifest[key].href === pageName && manifest[key].type === 'application/xhtml+xml') {\r\n const smilFileId = manifest[key].overlay;\r\n smilFileName = manifest[smilFileId]?.href || '';\r\n }\r\n }\r\n // @ts-ignore\r\n const { urls, replacementUrls } = book.resources;\r\n const index = urls.indexOf(smilFileName);\r\n return replacementUrls[index];\r\n }\r\n };\r\n\r\n /*\r\n Function Name: changeAudioPoints\r\n functonality: changeAudioPoints is used to play audio between two time points\r\n */\r\n const changeAudioPoints = (firstPoint: any, secondPoint: any, initialAudioUrl: any, highlighterWordsId: any) => {\r\n const body = document.getElementsByTagName('body')[0];\r\n const audioPlayer = document.createElement('audio');\r\n const epubIframe: any = document.querySelector('.epub-view iframe');\r\n let epubDom: any;\r\n let wordId: any;\r\n\r\n if (epubIframe) {\r\n epubDom = epubIframe.contentDocument || epubIframe.contentWindow.document;\r\n if (epubDom) {\r\n wordId = epubDom.getElementById(highlighterWordsId);\r\n if (wordId) {\r\n // wordId.classList.add('moe-epub-sync');\r\n wordId.style.color = 'red';\r\n }\r\n }\r\n }\r\n audioPlayer.className = 'moe-epub-reader-audio-player';\r\n audioPlayer.style.height = '0px';\r\n\r\n audioPlayer.src = `${initialAudioUrl}#t=${firstPoint},${secondPoint}`;\r\n body.appendChild(audioPlayer);\r\n\r\n setTimeout(() => {\r\n void audioPlayer.play().catch(e => {\r\n console.log('Error while playing the audio', e);\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n setIsAudioEnabled(false);\r\n });\r\n }, 0);\r\n };\r\n\r\n /*\r\n Function Name: pauseEventTrigger\r\n functonality: pauseEventTrigger is used to execute the code when audio player pauses\r\n */\r\n const pauseEventTrigger = (highlighterWordsId = '') => {\r\n const epubIframe: any = document.querySelector('.epub-view iframe');\r\n let epubDom;\r\n let wordId;\r\n\r\n if (epubIframe) {\r\n epubDom = epubIframe.contentDocument || epubIframe.contentWindow.document;\r\n if (epubDom) {\r\n wordId = epubDom.getElementById(highlighterWordsId);\r\n // wordId.classList.remove('moe-epub-sync');\r\n if (wordId) {\r\n wordId.style.color = 'black';\r\n }\r\n }\r\n }\r\n\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n\r\n // If audio player exist, then delete it.\r\n if (!audioPlayer) {\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n playAudio();\r\n }, 100);\r\n };\r\n\r\n /*\r\n Function Name: playAudio\r\n functonality: playAudio is used to execute core logic of playing audio inside epub\r\n */\r\n const playAudio = () => {\r\n let highlighterWordsId: any;\r\n const body = document.getElementsByTagName('body')[0];\r\n const eBook: any = document.getElementsByClassName('moe-ebook')[0];\r\n const eBookControls: any = document.getElementsByClassName('moe-ebook-controls')[0];\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'none';\r\n }\r\n\r\n if (eBookControls) {\r\n eBookControls.style.pointerEvents = 'all';\r\n }\r\n let audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n\r\n try {\r\n // If one page loaded then use this if condition\r\n if (\r\n audioParaNumber > smlObj[smlObjIndex]?.paragraphs.length - 1 &&\r\n (JSON.stringify(smlObj[1]) === '{}' || JSON.stringify(smlObj[1]) === undefined || smlObj[1].pageName === '')\r\n ) {\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n if (audioPlayer) {\r\n audioPlayer.removeEventListener('pause', () => pauseEventTrigger());\r\n body.removeChild(audioPlayer);\r\n }\r\n setTimeout(() => {\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n }, 1000);\r\n\r\n smlObjIndex = 0;\r\n audioParaNumber = 0;\r\n\r\n if (isAutoTurnEnabled) {\r\n if (!renditionRef.current.location.atEnd) {\r\n renditionRef.current.next();\r\n } else {\r\n setIsAutoTurnEnabled(false);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n // If two pages loaded, Then use this if condition\r\n if (\r\n audioParaNumber > smlObj[smlObjIndex]?.paragraphs.length - 1 &&\r\n (JSON.stringify(smlObj[1]) !== '{}' || JSON.stringify(smlObj[1]) !== undefined || smlObj[1].pageName === '')\r\n ) {\r\n const audioPlayer: any = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n if (audioPlayer) {\r\n audioPlayer.removeEventListener('pause', pauseEventTrigger);\r\n body.removeChild(audioPlayer);\r\n }\r\n\r\n if (smlObjIndex === 0) {\r\n audioParaNumber = 0;\r\n smlObjIndex = smlObjIndex + 1;\r\n } else if (smlObjIndex === 1) {\r\n if (eBook) {\r\n // @ts-ignore\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n\r\n smlObjIndex = 0;\r\n audioParaNumber = 0;\r\n\r\n if (isAutoTurnEnabled) {\r\n if (!renditionRef.current.location.atEnd) {\r\n renditionRef.current.next();\r\n } else {\r\n setIsAutoTurnEnabled(false);\r\n }\r\n }\r\n return;\r\n }\r\n }\r\n\r\n if (smlObj[smlObjIndex]?.paragraphs) {\r\n // Audio points that needs to be shared with ebook audio play.\r\n const firstAudioPoint = smlObj[smlObjIndex]?.paragraphs[audioParaNumber].clipBegin;\r\n const secondAudioPoint = smlObj[smlObjIndex]?.paragraphs[audioParaNumber].clipEnd;\r\n const initialUrl = smlObj[smlObjIndex]?.paragraphs[audioParaNumber].audioFilePathFinal;\r\n highlighterWordsId = smlObj[smlObjIndex]?.paragraphs[audioParaNumber].textWordId;\r\n\r\n // setAudioParaNumber((prev) => prev + 1);\r\n audioParaNumber = audioParaNumber + 1;\r\n changeAudioPoints(firstAudioPoint, secondAudioPoint, initialUrl, highlighterWordsId);\r\n\r\n audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n\r\n if (audioPlayer && firstAudioPoint && secondAudioPoint && initialUrl) {\r\n audioPlayer.addEventListener('pause', () => pauseEventTrigger(highlighterWordsId));\r\n } else {\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n }\r\n } else {\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n }\r\n } catch (e) {\r\n console.log('Error in audio playing, Trying to play audio after 1 second.', e);\r\n setTimeout(() => {\r\n playAudio();\r\n }, 1000);\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n };\r\n\r\n /*\r\n Function Name: enableAudio\r\n functonality: enableAudio is used to toggle between audio enabling and disabling\r\n */\r\n const enableAudio = () => {\r\n if (!isAudioEnabled === false) {\r\n // pauseEventAudioPlay = false;\r\n\r\n // Fetch required DOM Elements\r\n const body = document.getElementsByTagName('body')[0];\r\n const eBook: any = document.getElementsByClassName('moe-ebook')[0];\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n\r\n // If audio player exist, then delete it.\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n setIsAudioEnabled(prev => !prev);\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n return;\r\n } else {\r\n setIsAudioEnabled(prev => !prev);\r\n // pauseEventAudioPlay = true;\r\n playAudio();\r\n }\r\n };\r\n\r\n /*\r\n Function Name: getFirstPage\r\n functonality: getFirstPage is used to redirect the epub to first page\r\n */\r\n const getFirstPage = () => {\r\n const body = document.getElementsByTagName('body')[0];\r\n const eBook: any = document.getElementsByClassName('moe-ebook')[0];\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n setIsAudioEnabled(false);\r\n setLocation(firstPageEpubCifi);\r\n void locationChanged(firstPageEpubCifi);\r\n // renditionRef.current.book.spine.first();\r\n };\r\n\r\n /*\r\n Function Name: getLastPage\r\n functonality: getLastPage is used to redirect the epub to last page\r\n */\r\n const getLastPage = () => {\r\n const body = document.getElementsByTagName('body')[0];\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n setLocation(renditionRef.current.book.spine.length - 1);\r\n };\r\n\r\n /*\r\n Function Name: enableAutoTurn\r\n functonality: enableAutoTurn is used to turn the pages when the epub is of audio resource\r\n */\r\n const enableAutoTurn = () => {\r\n setIsAutoTurnEnabled(prev => !prev);\r\n if (isAudioEnabled === true) {\r\n // pauseEventAudioPlay = false;\r\n\r\n // Fetch required DOM Elements\r\n const body = document.getElementsByTagName('body')[0];\r\n const eBook: any = document.getElementsByClassName('moe-ebook')[0];\r\n const audioPlayer = document.getElementsByClassName('moe-epub-reader-audio-player')[0];\r\n\r\n // If audio player exist, then delete it.\r\n if (audioPlayer) {\r\n body.removeChild(audioPlayer);\r\n }\r\n setIsAudioEnabled(prev => !prev);\r\n if (eBook) {\r\n eBook.style.pointerEvents = 'all';\r\n }\r\n audioParaNumber = 0;\r\n smlObjIndex = 0;\r\n return;\r\n }\r\n };\r\n\r\n setTimeout(() => {\r\n setBigFileNotification('Please hold on for a moment, the epub file is taking longer than usual to load...');\r\n }, 60000);\r\n\r\n // const ownStyles = {\r\n // arrow: {\r\n // color: 'red'\r\n // }\r\n // };\r\n\r\n return (\r\n <>\r\n
\r\n {isNavControlsEnabled && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Start\r\n \r\n

{pageNumbersText}

\r\n \r\n End \r\n \r\n
\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n \r\n Read Aloud {isAudioEnabled ? : }\r\n \r\n
\r\n
\r\n
\r\n )}\r\n (renditionRef.current = rendition)}\r\n tocChanged={(toc: any) => {\r\n tocRef.current = toc;\r\n console.log('toc', toc);\r\n }}\r\n location={location}\r\n title={config.title || epubTitle}\r\n epubInitOptions={{\r\n openAs: 'epub'\r\n }}\r\n epubOptions={{\r\n allowScriptedContent: true,\r\n infinite: true,\r\n resizeOnOrientationChange: true\r\n }}\r\n loadingView={\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{bigFileNotification}

\r\n
\r\n }\r\n />\r\n\r\n {/* {smlObj[0] && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

{pageNumbersText}

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {isAudioEnabled ? : }\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. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IMoeFileListProps } from './moe-file-list.props.autogenerated';\r\nimport { IMoeFileListData } from './moe-file-list.data';\r\nimport { COLLECTIONS_SITE_LANGUAGE, KWR } from '../../utilities/constants';\r\nimport { getToggleLang, getUserPrefLang, getUserPreferredLanguage } from '../../utilities/language-change';\r\n// import { getArtifactsByItemAsync } from '../../actions/extensions/DataActionExtension.g';\r\n\r\n/**\r\n * The interface for IImageListViewProps.\r\n */\r\nexport interface IImageListViewProps extends IMoeFileListProps {\r\n imageList: IModuleProps;\r\n imageListHeading?: React.ReactNode;\r\n imageListContainer: INodeProps;\r\n imageListItem: INodeProps;\r\n imageListItemAnchorTag: INodeProps;\r\n imageListItems: IImageListItem[] | undefined;\r\n}\r\n\r\n/**\r\n * The interface for IImageListItem.\r\n */\r\nexport interface IImageListItem {\r\n image: JSX.Element | undefined;\r\n documentType: string | undefined;\r\n link: string | undefined;\r\n linkAltText: string | undefined;\r\n linkAriaLabel: string | undefined;\r\n}\r\n\r\n/**\r\n *\r\n * ImageList component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass ImageList extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const { context } = this.props;\r\n const user = this.props.context.request.user;\r\n const { fileListHeader, fileListHeaderInMaori } = this.props.config;\r\n\r\n // Identify language\r\n const toggleLang = getToggleLang(context);\r\n const userPrefLang = getUserPrefLang(user.customerAccountNumber as any, context);\r\n const fileListSiteLang = getUserPreferredLanguage(KWR, COLLECTIONS_SITE_LANGUAGE, userPrefLang, toggleLang, context);\r\n\r\n // const customerInfo = this._getProducts();\r\n const imageListTitle = fileListHeader && (\r\n \r\n );\r\n const viewProps: IImageListViewProps = {\r\n ...(this.props as IMoeFileListProps),\r\n imageList: {\r\n moduleProps: this.props,\r\n className: classnames('ms-moe-doc', this.props.config.className),\r\n tag: 'div'\r\n },\r\n imageListHeading: imageListTitle,\r\n imageListContainer: {\r\n className: 'ms-moe-doc-list',\r\n role: 'list',\r\n tag: 'ul'\r\n },\r\n imageListItem: {\r\n className: 'ms-image-list__list-item',\r\n role: 'listitem',\r\n tag: 'li'\r\n },\r\n imageListItemAnchorTag: {\r\n tag: 'a',\r\n className: 'ms-image-list__link',\r\n role: 'link'\r\n },\r\n imageListItems: undefined\r\n };\r\n console.log('Inside File List');\r\n return this.props.renderView(viewProps);\r\n }\r\n\r\n // private async _getProducts(): Promise {\r\n // try {\r\n // // eslint-disable-next-line @typescript-eslint/await-thenable\r\n // const customerInfo: any = await this.props.data.products;\r\n // return customerInfo;\r\n // } catch (err) {\r\n // console.log(err);\r\n // }\r\n // }\r\n\r\n /**\r\n * Render list of images.\r\n * @returns List of images with text and redirection link.\r\n */\r\n // private readonly _renderImageListItems = (): IImageListItem[] | undefined => {\r\n // const imageList: IDocumentsData[] | undefined = this.props.config.documents;\r\n // const defaultImageSettings: Msdyn365.IImageSettings = {\r\n // viewports: {\r\n // xs: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\r\n // lg: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 },\r\n // xl: { q: 'w=65&h=65&q=80&m=6', w: 65, h: 65 }\r\n // },\r\n // lazyload: false,\r\n // disableLazyLoad: true\r\n // };\r\n // return imageList?.map((item, index) => {\r\n // const { link, documentType } = item;\r\n\r\n // const imageProps = {\r\n // gridSettings: this.props.context.request.gridSettings!,\r\n // imageSettings: defaultImageSettings\r\n // };\r\n\r\n // const imageLink: string | undefined = link?.linkUrl.destinationUrl;\r\n // const imageLinkText: string | undefined = link?.linkText ?? link?.ariaLabel;\r\n // const imageLinkAriaLabel: string | undefined = link?.ariaLabel;\r\n\r\n // const imageImage = ;\r\n\r\n // const imageListItem: IImageListItem = {\r\n // image: imageImage,\r\n // link: imageLink,\r\n // documentType: documentType,\r\n // linkAltText: imageLinkText,\r\n // linkAriaLabel: imageLinkAriaLabel\r\n // };\r\n // console.log(imageListItem);\r\n // return imageListItem;\r\n // });\r\n // };\r\n}\r\n\r\nexport default ImageList;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n/* eslint-disable react/no-unknown-property */\r\n// import * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { Module, Node, INodeProps, Modal } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { IImageListViewProps } from './moe-file-list';\r\nimport {\r\n FaLeanpub,\r\n FaGoogleDrive,\r\n FaDownload,\r\n FaFileWord,\r\n FaFileExcel,\r\n FaFilePdf,\r\n FaFilePowerpoint,\r\n FaFileImage,\r\n FaFile,\r\n FaFileCsv,\r\n FaFileCode,\r\n FaFileVideo,\r\n FaHtml5,\r\n FaFileInvoice,\r\n FaFileSignature,\r\n FaFileArchive,\r\n FaFileAudio\r\n} from 'react-icons/fa';\r\nimport {\r\n BsFillFileEarmarkBarGraphFill,\r\n BsFileEarmarkRichtextFill,\r\n BsFileEarmarkPostFill,\r\n BsFileEarmarkFontFill,\r\n BsFileEarmarkCodeFill,\r\n BsFileEarmarkEaselFill\r\n} from 'react-icons/bs';\r\nimport { RiFileGifFill } from 'react-icons/ri';\r\nimport { SiMicrosoftoutlook } from 'react-icons/si';\r\nimport { HiDocumentReport } from 'react-icons/hi';\r\nimport { getArtifactsByItemAsync } from '../../actions/extensions/DataActionExtension.g';\r\nimport MoeEpubViewerView from '../moe-epub-viewer/moe-epub-viewer.view';\r\nimport { IDictionary, IModule } from '@msdyn365-commerce/core-internal';\r\nimport { KWR, HEADER_FOOTER } from '../../utilities/constants';\r\nimport { getToggleLang, getUserPrefLang, getUserPreferredLanguage } from '../../utilities/language-change';\r\n// eslint-disable-next-line prettier/prettier\r\n// import { DocumentsDocumentType } from './moe-file-list.props.autogenerated';\r\n// import { getArtifactsByItemAsync } from '../../actions/extensions/DataActionExtension.g';\r\n// import { useEffect, useState } from 'react';\r\n// import { IArtifacts } from '../../actions/extensions/DataServiceEntities.g';\r\n\r\n/**\r\n * Render the thumbnail item images.\r\n * @param props - The image list view props.\r\n * @returns Return HTML having IImageListViewProps props with image List.\r\n */\r\nexport const imageListView = (props: IImageListViewProps): JSX.Element => {\r\n const { imageList, imageListContainer, imageListHeading, data, context, resources } = props;\r\n const [Artifacts, setArtifacts] = useState([]);\r\n const [previewModalOpen, setPreviewModalOpen] = useState(false);\r\n const [previewUrl, setPreviewUrl] = useState('');\r\n const [previewFileType, setPreviewFileType] = useState('EBOOKS');\r\n const [previewFileName, setPreviewFileName] = useState('');\r\n\r\n // Identifying Language Preference\r\n const toggleLang = getToggleLang(context);\r\n const userPrefLang = getUserPrefLang(context.request.user.customerAccountNumber as any, context);\r\n const preferredLanguage: any = getUserPreferredLanguage(KWR, HEADER_FOOTER, userPrefLang, toggleLang, context);\r\n\r\n const epubResources = {\r\n resourceKey: 'Resource key value'\r\n };\r\n\r\n const epubConfig = {\r\n ...props.config,\r\n epubUrl: previewUrl,\r\n title: previewFileName\r\n };\r\n\r\n const epubData = {\r\n actionResponse: { text: '' }\r\n };\r\n\r\n useEffect(() => {\r\n getArtifacts()?.then((artifacts: any) => {\r\n setArtifacts(artifacts);\r\n });\r\n }, [data?.product]);\r\n\r\n function getArtifacts() {\r\n try {\r\n const context: any = { callerContext: props.context.actionContext };\r\n console.log('Get Props inside get Artifacts');\r\n // return getArtifactsByItemAsync(context, 'NZH30').then(result => result);\r\n return getArtifactsByItemAsync(context, data?.product?.result?.ItemId as string).then((result: any) => {\r\n return result;\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n return;\r\n }\r\n }\r\n\r\n const _showPreviewModal = (): 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 previewModalOpen ? 'moe-modal__filecontdialog-show' : 'moe-modal__filecontdialog-hide'\r\n }`,\r\n wrapClassName: '',\r\n isOpen: previewModalOpen\r\n // toggle: toggleShow\r\n };\r\n };\r\n\r\n // function getArtifactsByItemAsync(context: any, stringing: any): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // return resolve([\r\n // {\r\n // ArtifactId: 'A015',\r\n // ItemId: 'NZH30',\r\n // MediaName: 'Learning Task 1 - Picture Dictation.doc',\r\n // MediaUrl: 'https://files-au-prod.cms.commerce.dynamics.com/cms/api/qsjhkgqqvf/binary/ML15DW',\r\n // Id: 5637146826,\r\n // ExtensionProperties: [\r\n // {\r\n // Key: 'FileType',\r\n // Value: {\r\n // BooleanValue: null,\r\n // IntegerValue: null,\r\n // StringValue: 'DOC'\r\n // }\r\n // }\r\n // ]\r\n // }\r\n // ]);\r\n // }, 8000);\r\n // });\r\n // }\r\n\r\n // File module state\r\n // const [isConfigCompleted, setIsConfigCompleted] = useState('pending');\r\n\r\n // console.log(isConfigCompleted);\r\n // console.log(config.configurationCompleted);\r\n\r\n // File module lifecycles\r\n // useEffect(() => {\r\n // // Add CSP meta tag that will block cross-origin AJAX\r\n // const cspMetaTag = document.createElement('meta');\r\n // cspMetaTag.setAttribute('http-equiv', 'Content-Security-Policy');\r\n // cspMetaTag.setAttribute(\r\n // 'content',\r\n // \"default-src * self blob: data: gap:; style-src * self 'unsafe-inline' blob: data: gap:; script-src * 'self' 'unsafe-eval' 'unsafe-inline' blob: data: gap:; object-src * 'self' blob: data: gap:; img-src * self 'unsafe-inline' blob: data: gap:; connect-src self * 'unsafe-inline' blob: data: gap:; frame-src * self blob: data: gap:;\"\r\n // );\r\n // document.querySelector('head').appendChild(cspMetaTag);\r\n // }, []);\r\n\r\n // useEffect(() => {\r\n // if ((config.configurationCompleted as any) === 'complete') {\r\n // // console.log('Inside fetch data');\r\n // // void fetch('https://files-us-prod.cms.commerce.dynamics.com/cms/api/cczslpjdqt/binary/MA1AS7')\r\n // // .then((apiData: any) => console.log('API Data', apiData))\r\n // // .then(() => setIsConfigCompleted('complete'));\r\n // } else {\r\n // // console.log('Inside pending');\r\n // setIsConfigCompleted('pending');\r\n // }\r\n // }, [config.configurationCompleted]);\r\n function handlePreviewModalOpen(fileURL: any, fileType: string, name: string) {\r\n setPreviewModalOpen(true);\r\n setPreviewUrl(fileURL);\r\n setPreviewFileType(fileType);\r\n setPreviewFileName(name);\r\n }\r\n\r\n console.log('Artifacts', Artifacts);\r\n return !props.config.isCommonCatridge ? (\r\n \r\n {imageListHeading}\r\n \r\n {Artifacts &&\r\n Artifacts?.map((item: any, index: number): any => {\r\n // let indexKey: string;\r\n\r\n // if (item.image) {\r\n // const image = (item.image as unknown) as Msdyn365.Image;\r\n // indexKey = image.props.src as string;\r\n // } else {\r\n // const text = (item.documentType as unknown) as Msdyn365.RichTextComponent;\r\n // indexKey = text.props.text as string;\r\n // }\r\n if (\r\n item?.FileType?.toUpperCase() !== 'IMSCC' &&\r\n item?.FileType?.toUpperCase() !== 'WEBPAGE' &&\r\n !(item?.MediaName as string).includes('CogSearchIndexHelper') &&\r\n !item?.IsRetire\r\n ) {\r\n return (\r\n
  • \r\n {renderDocument(item)}\r\n
  • \r\n );\r\n }\r\n })}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Ebook View\r\n
    \r\n setPreviewModalOpen(false)}\r\n className='msc-modal__close-button'\r\n aria-label='Close'\r\n />\r\n
    \r\n
    \r\n
    \r\n {previewFileType === 'GSLIDES' && (\r\n \r\n )}\r\n {previewFileType === 'EBOOKS' && (\r\n <>\r\n {\r\n throw new Error('Function not implemented.');\r\n }}\r\n // eslint-disable-next-line react/jsx-no-bind\r\n renderView={function<\r\n T extends IModule<\r\n {},\r\n {\r\n [/* eslint-disable no-duplicate-imports */\r\n /* eslint-disable react/no-unknown-property */\r\n // import * as Msdyn365 from '@msdyn365-commerce/core';\r\n x: string]: any;\r\n }\r\n >\r\n >(props: T): React.ReactElement> | null {\r\n throw new Error('Function not implemented.');\r\n }}\r\n data={epubData}\r\n dataActions={{}}\r\n friendlyName={''}\r\n id={''}\r\n typeName={''}\r\n />\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {props?.context?.request?.user?.isAuthenticated\r\n ? Artifacts &&\r\n Artifacts?.map((item: any, index: number) => {\r\n if (\r\n item?.FileType?.toUpperCase() === 'IMSCC' &&\r\n !(item?.MediaName as string).includes('CogSearchIndexHelper') &&\r\n !item?.IsRetire &&\r\n item?.LanguageId.toLowerCase() === context.request.locale.toLowerCase()\r\n ) {\r\n return (\r\n \r\n {' '}\r\n \r\n {preferredLanguage === 'maori' ? resources.downloadLMSTextInMaori : resources.downloadLMSText}\r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })\r\n : null}\r\n
    \r\n );\r\n\r\n // function renderWordFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderExcelFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderPPTFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderPDFFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderImageFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderGoogleDocFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderAviFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderBmpFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderCsvFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderDocFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderGifFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderHTMLFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderJSONFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderMhpFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderCodeFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderMsgFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderRTFFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderSGMLFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderTxtFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderVsdFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderXmlFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderZipFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderotherFiles(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderGSlides(fileURL: any, MediaName: string) {\r\n // return (\r\n // handlePreviewModalOpen(fileURL, 'GSLIDES', MediaName)}\r\n // aria-label={`Read More about ${fileURL}`}\r\n // >\r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderEbookPreview(fileURL: any, MediaName: string) {\r\n // return (\r\n // handlePreviewModalOpen(fileURL, 'EBOOKS', MediaName)}\r\n // aria-label={`Read More about ${fileURL}`}\r\n // >\r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderAudioFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderVideoFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderPbixFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderUsdzFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderDaeFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderXsnFile(fileURL: any, MediaName: string) {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n // function renderDocument(item: any) {\r\n // return (\r\n // \r\n // {renderDocumentIcon(item?.FileType.toUpperCase())}\r\n // \r\n // );\r\n // }\r\n\r\n // function renderDocumentIcon(itemIconType: any) {\r\n // if (itemIconType === 'DOC') {\r\n // return ;\r\n // } else if (itemIconType === 'IMAGE') {\r\n // return ;\r\n // } else if (itemIconType === 'EXCEL') {\r\n // return ;\r\n // } else if (itemIconType === 'PPT') {\r\n // return ;\r\n // } else if (itemIconType === 'EPUB') {\r\n // return ;\r\n // } else if (itemIconType === 'PDF') {\r\n // return ;\r\n // } else if (itemIconType === 'GOOGLEDOC') {\r\n // return ;\r\n // } else {\r\n // return null;\r\n // }\r\n // }\r\n\r\n // function renderDocument(item: any) {\r\n // if (item?.FileType?.toUpperCase() === 'DOC') {\r\n // return renderWordFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'IMAGE') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'EXCEL') {\r\n // return renderExcelFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PPT') {\r\n // return renderPPTFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PDF') {\r\n // return renderPDFFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'GOOGLEDOC') {\r\n // return renderGoogleDocFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'AVI') {\r\n // return renderAviFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'BMP') {\r\n // return renderBmpFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'CSV') {\r\n // return renderCsvFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'DOC') {\r\n // return renderDocFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'DOCX') {\r\n // return renderDocFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'GIF') {\r\n // return renderGifFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'HTM') {\r\n // return renderHTMLFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'HTML') {\r\n // return renderHTMLFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'JPEG') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'JPG') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'JSON') {\r\n // return renderJSONFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MHP') {\r\n // return renderMhpFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MHTML') {\r\n // return renderCodeFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MSG') {\r\n // return renderMsgFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PNG') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PPT') {\r\n // return renderPPTFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PPTX') {\r\n // return renderPPTFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'RTF') {\r\n // return renderRTFFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'SGML') {\r\n // return renderSGMLFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'TIF') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'TXT') {\r\n // return renderTxtFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'VSD') {\r\n // return renderVsdFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'WMF') {\r\n // return renderImageFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'XHTML') {\r\n // return renderCodeFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'XLS') {\r\n // return renderExcelFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'XLSX') {\r\n // return renderExcelFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'XML') {\r\n // return renderXmlFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'ZIP') {\r\n // return renderZipFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'GSLIDES') {\r\n // return renderGSlides(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'EPUB') {\r\n // return renderEbookPreview(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'WAV') {\r\n // return renderAudioFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MP3') {\r\n // return renderAudioFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'WMA') {\r\n // return renderAudioFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MP4') {\r\n // return renderVideoFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MPEG') {\r\n // return renderVideoFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'MOV') {\r\n // return renderVideoFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'PIBX') {\r\n // return renderPbixFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'USDZ') {\r\n // return renderUsdzFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'DAE') {\r\n // return renderDaeFile(item.MediaUrl, item.MediaName);\r\n // } else if (item?.FileType?.toUpperCase() === 'XSN') {\r\n // return renderXsnFile(item.MediaUrl, item.MediaName);\r\n // } else {\r\n // return renderotherFiles(item.MediaUrl, item.MediaName);\r\n // }\r\n // }\r\n\r\n function getFileIcon(fileType: string) {\r\n if (fileType === 'DOC') {\r\n return ;\r\n } else if (fileType === 'IMAGE') {\r\n return ;\r\n } else if (fileType === 'EXCEL') {\r\n return ;\r\n } else if (fileType === 'PPT') {\r\n return ;\r\n } else if (fileType === 'PDF') {\r\n return ;\r\n } else if (fileType === 'GOOGLEDOC') {\r\n return ;\r\n } else if (fileType === 'AVI') {\r\n return ;\r\n } else if (fileType === 'BMP') {\r\n return ;\r\n } else if (fileType === 'CSV') {\r\n return ;\r\n } else if (fileType === 'DOC') {\r\n return ;\r\n } else if (fileType === 'DOCX') {\r\n return ;\r\n } else if (fileType === 'GIF') {\r\n return ;\r\n } else if (fileType === 'HTM') {\r\n return ;\r\n } else if (fileType === 'HTML') {\r\n return ;\r\n } else if (fileType === 'JPEG') {\r\n return ;\r\n } else if (fileType === 'JPG') {\r\n return ;\r\n } else if (fileType === 'JSON') {\r\n return ;\r\n } else if (fileType === 'MHP') {\r\n return ;\r\n } else if (fileType === 'MHTML') {\r\n return ;\r\n } else if (fileType === 'MSG') {\r\n return ;\r\n } else if (fileType === 'PNG') {\r\n return ;\r\n } else if (fileType === 'PPT') {\r\n return ;\r\n } else if (fileType === 'PPTX') {\r\n return ;\r\n } else if (fileType === 'RTF') {\r\n return ;\r\n } else if (fileType === 'SGML') {\r\n return ;\r\n } else if (fileType === 'TIF') {\r\n return ;\r\n } else if (fileType === 'TXT') {\r\n return ;\r\n } else if (fileType === 'VSD') {\r\n return ;\r\n } else if (fileType === 'WMF') {\r\n return ;\r\n } else if (fileType === 'XHTML') {\r\n return ;\r\n } else if (fileType === 'XLS') {\r\n return ;\r\n } else if (fileType === 'XLSX') {\r\n return ;\r\n } else if (fileType === 'XML') {\r\n return ;\r\n } else if (fileType === 'ZIP') {\r\n return ;\r\n } else if (fileType === 'GSLIDES') {\r\n return ;\r\n } else if (fileType === 'EPUB') {\r\n return ;\r\n } else if (fileType === 'WAV') {\r\n return ;\r\n } else if (fileType === 'MP3') {\r\n return ;\r\n } else if (fileType === 'WMA') {\r\n return ;\r\n } else if (fileType === 'MP4') {\r\n return ;\r\n } else if (fileType === 'MPEG') {\r\n return ;\r\n } else if (fileType === 'MOV') {\r\n return ;\r\n } else if (fileType === 'PIBX') {\r\n return ;\r\n } else if (fileType === 'USDZ') {\r\n return ;\r\n } else if (fileType === 'DAE') {\r\n return ;\r\n } else if (fileType === 'XSN') {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n }\r\n\r\n function renderDocument(item: any) {\r\n const { MediaName, MediaUrl } = item;\r\n const fileType = item?.FileType?.toUpperCase();\r\n\r\n if (fileType === 'EPUB' || fileType === 'GSLIDES') {\r\n const previewMode = fileType === 'EPUB' ? 'EBOOKS' : 'GSLIDES';\r\n return (\r\n handlePreviewModalOpen(MediaUrl, previewMode, MediaName)}\r\n >\r\n {getFileIcon(fileType)}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {getFileIcon(fileType)}\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default imageListView;\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 !== undefined) {\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 userPrefLang === ENGLISH_LANG && toggleLang === ENGLISH_LANG ? ENGLISH_LANG : MAORI_LANG;\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 !== undefined) {\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 !== undefined) {\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","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['moe-file-list'] = {\n c: () => require('partner/modules/moe-file-list/moe-file-list.tsx'),\n $type: 'contentModule',\n da: [{name:'product', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'moe-file-list',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/moe-file-list'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|modules|moe-file-list|moe-file-list'] = {\n c: () => require('partner/modules/moe-file-list/moe-file-list.view.tsx'),\n cn: '__local__-__local__-moe-file-list'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["props","_renditionRef$current","_renditionRef$current16","_renditionRef$current17","firstPageEpubCifi","currentPageEpubCifi","totalNumberOfPages","audioParaNumber","smlObjIndex","console","log","config","location","setLocation","useState","smlObj","setSmlObj","isAudioEnabled","setIsAudioEnabled","isAutoTurnEnabled","setIsAutoTurnEnabled","pageNumbersText","setPageNumbersText","bigFileNotification","setBigFileNotification","isNavControlsEnabled","setIsNavControlsEnabled","isAudioBtnEnabled","setIsAudioBtnEnabled","epubTitle","setEpubTitle","renditionRef","useRef","tocRef","useEffect","playAudio","locationChanged","current","book","async","_renditionRef$current13","body","document","getElementsByTagName","audioPlayer","getElementsByClassName","removeChild","_epubcifi","undefined","displayed","href","start","endHref","end","packaging","metadata","title","spine","length","setPageNumbersTextfn","_renditionRef$current2","_renditionRef$current3","_renditionRef$current4","_renditionRef$current5","_renditionRef$current6","_renditionRef$current7","_renditionRef$current9","_renditionRef$current10","_renditionRef$current8","index","_renditionRef$current11","_renditionRef$current12","smlStartReplacementUrl","getSmilReplacementUrl","startSmilObj","getSmilAttributes","endSmlObj","smlEndReplacementUrl","setTimeout","media_active_class","_smlObj$0$paragraphs$","_smlObj$","_smlObj$2","firstAudioPoint","paragraphs","clipBegin","secondAudioPoint","clipEnd","initialUrl","audioFilePathFinal","replacementUrl","finalObj","fetch","then","res","blob","readFile","catch","e","input","fr","FileReader","pageName","readAsText","addEventListener","result","client","XMLHttpRequest","open","onreadystatechange","parTags","DOMParser","parseFromString","parTagsArray","Array","from","forEach","element","_smlObj$paragraphs","innerObj","children","childElm","nodeName","splitElm","attributes","value","split","audioElm","_renditionRef$current14","_renditionRef$current15","urls","replacementUrls","resources","splitedAudioName","findIndex","url","includes","name","send","manifest","package","smilFileName","key","type","_manifest$smilFileId","overlay","indexOf","pauseEventTrigger","highlighterWordsId","arguments","epubIframe","querySelector","epubDom","wordId","contentDocument","contentWindow","getElementById","style","color","eBook","eBookControls","pointerEvents","_smlObj$smlObjIndex","_smlObj$smlObjIndex2","_smlObj$smlObjIndex3","JSON","stringify","removeEventListener","atEnd","next","_smlObj$smlObjIndex4","_smlObj$smlObjIndex5","_smlObj$smlObjIndex6","_smlObj$smlObjIndex7","textWordId","changeAudioPoints","firstPoint","secondPoint","initialAudioUrl","createElement","className","height","src","appendChild","play","React","tabIndex","disabled","onChange","enableAutoTurn","prev","id","atStart","onClick","getFirstPage","BiFirstPage","getLastPage","BiLastPage","enableAudio","FaVolumeUp","FaVolumeMute","ReactReader","epubUrl","getRendition","rendition","tocChanged","toc","epubInitOptions","openAs","epubOptions","allowScriptedContent","infinite","resizeOnOrientationChange","loadingView","display","justifyContent","alignItems","flexDirection","ImageList","render","context","this","user","request","fileListHeader","fileListHeaderInMaori","toggleLang","getToggleLang","userPrefLang","getUserPrefLang","customerAccountNumber","fileListSiteLang","getUserPreferredLanguage","KWR","COLLECTIONS_SITE_LANGUAGE","imageListTitle","Msdyn365","tag","text","viewProps","_objectSpread","imageList","moduleProps","classnames","imageListHeading","imageListContainer","role","imageListItem","imageListItemAnchorTag","imageListItems","renderView","imageListView","_props$context","data","Artifacts","setArtifacts","previewModalOpen","setPreviewModalOpen","previewUrl","setPreviewUrl","previewFileType","setPreviewFileType","previewFileName","setPreviewFileName","preferredLanguage","HEADER_FOOTER","epubConfig","_getArtifacts","_data$product","callerContext","actionContext","getArtifactsByItemAsync","product","ItemId","err","getArtifacts","artifacts","isCommonCatridge","isAuthenticated","map","item","_item$FileType3","FileType","toUpperCase","MediaName","IsRetire","LanguageId","toLowerCase","locale","download","target","rel","downloadLMSTextInMaori","downloadLMSText","MediaUrl","FaDownload","size","Module","Object","assign","Node","_item$FileType","_item$FileType2","_item$FileType4","fileType","previewMode","FileSize","replace","fileURL","handlePreviewModalOpen","getFileIcon","renderDocument","Modal","placement","hideArrow","wrapClassName","isOpen","frameBorder","allow","MoeEpubViewerView","resourceKey","app","telemetry","renderModuleAttributes","Error","actionResponse","dataActions","friendlyName","typeName","downloadTextInMaori","downloadText","FaFileWord","FaFileImage","FaFileExcel","FaFilePowerpoint","FaFilePdf","FaGoogleDrive","FaFileVideo","FaFileCsv","RiFileGifFill","FaHtml5","FaFileInvoice","BsFillFileEarmarkBarGraphFill","FaFileCode","SiMicrosoftoutlook","BsFileEarmarkRichtextFill","BsFileEarmarkPostFill","BsFileEarmarkFontFill","FaFileSignature","BsFileEarmarkCodeFill","FaFileArchive","FaLeanpub","FaFileAudio","HiDocumentReport","BsFileEarmarkEaselFill","FaFile","IS_LOCAL_DEVELOPMENT","DEVELOPMENT_LANGUAGE_TOGGLE","siteNameFromCache","getSiteNameFromCache","OCH","MAORI_LANG_CODE","MAORI_LANG","ENGLISH_LANG","ENGLISH_OTHER_LANG_CODE","DEVELOPMENT_LANGUAGE_PREFERENCE","localStorage","getItem","siteName","moduleName","DEVELOPMENT_SITE_NAME","ERROR_OR_NOTIFICATION","HOME_PAGE","ACTION_BUTTONS","NZC","METADATA","NAVIGATION","SOCIAL_SHARE","MY_PROFILE","DOWNLOAD_KETE","DOWNLOAD_KETE_SITE_LANGUAGE","COLLECTIONS","ADD_TO_KETE","ADD_TO_KETE_SITE_LANGUAGE","SEARCH","SEARCH_SITE_LANGUAGE","VIDEO_PLAYER","TWK","LANDING_PAGE","KOH","setCustomerLangInCache","readAsync","bypassCache","customerData","customerLang","Language","setItem","CUST_MAORI_LANG_CODE","window","reload","setOnlineChannelInfoInCache","channelInfo","_context$request$url","hostname","requestUrl","Date","getTime","getOnlineChannelInfoTimer","parse","_context$request$url2","_onlineChannels","onlineChannels","channelIndex","Id","apiSettings","channelId","_onlineChannels$chann","_onlineChannels$chann2","_onlineChannels$chann3","_onlineChannels$chann4","_onlineChannels$chann5","Name","binding","modules","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","prototype","RegistrationId","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}