{"version":3,"sources":["video.js"],"names":["_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","from","test","document","addEventListener","videoContainers","querySelectorAll","_step","_iterator","_loop2","container","video","querySelector","play","pause","currentTime","setAttribute","stopMedia","playPauseMedia","err","_step2","_iterator2","_loop","preload","onLoadData","canvas","createElement","width","videoWidth","height","videoHeight","getContext","drawImage","thumbnail","toDataURL","videoId","id","thumbnailContainer","concat","img","src","alt","innerHTML","appendChild","readyState","once","generateAndSetThumbnails","paused"],"mappings":"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","file":"../../javascript/video.js","sourcesContent":["document.addEventListener('DOMContentLoaded', () => {\n    const videoContainers = document.querySelectorAll('[data-video-container]');\n\n    if (!videoContainers.length) {\n        return;\n    }\n\n    for (const container of videoContainers) {\n        const video = container.querySelector('[data-video]');\n        const play = container.querySelector('[data-play]');\n        const pause = container.querySelector('[data-pause]');\n\n        video.addEventListener('ended', () => stopMedia(video, container));\n        play.addEventListener('click', () => playPauseMedia(video, container));\n        pause.addEventListener('click', () => playPauseMedia(video, container));\n    }\n\n    function playPauseMedia(video, container) {\n        if (video.paused) {\n            container.setAttribute('data-video-status', 'playing');\n            video.play();\n        } else {\n            container.setAttribute('data-video-status', 'paused');\n            video.pause();\n        }\n    }\n\n    function stopMedia(video, container) {\n        video.pause();\n        video.currentTime = 0;\n        container.setAttribute('data-video-status', 'stopped');\n    }\n\n    // Create a function to generate thumbnails\n    const generateAndSetThumbnails = () => {\n        for (const container of videoContainers) {\n            const video = container.querySelector('[data-video]');\n\n            video.preload = 'auto';\n\n            const onLoadData = () => {\n                // Create an image from the video\n                const canvas = document.createElement('canvas');\n                canvas.width = video.videoWidth;\n                canvas.height = video.videoHeight;\n                const ctx = canvas.getContext('2d');\n                ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n                const thumbnail = canvas.toDataURL('image/png');\n\n                // Find the corresponding thumbnail container\n                const videoId = video.id;\n                const thumbnailContainer = document.querySelector(\n                    `[data-video-thumbnail=\"${videoId}\"]`\n                );\n\n                if (!thumbnailContainer) {\n                    return;\n                }\n\n                // Create an img element for the thumbnail\n                const img = document.createElement('img');\n                img.src = thumbnail;\n                img.alt = 'Video Thumbnail';\n\n                // Clear the container and append the img\n                thumbnailContainer.innerHTML = '';\n                thumbnailContainer.appendChild(img);\n            };\n\n            if (video.readyState >= 2) {\n                onLoadData();\n            } else {\n                video.addEventListener('loadeddata', onLoadData, {\n                    once: true,\n                });\n            }\n        }\n    };\n\n    generateAndSetThumbnails();\n});\n"],"sourceRoot":"../../../../resources/javascript"}