From fa4868a26da7f433df98fff97f8d0acb7e33ce4a Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Tue, 29 Jan 2019 21:33:16 +1100 Subject: Fix listeners for preview thumbs when changing source --- src/js/listeners.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/js/listeners.js') diff --git a/src/js/listeners.js b/src/js/listeners.js index ae9277a5..68a83d0b 100644 --- a/src/js/listeners.js +++ b/src/js/listeners.js @@ -740,6 +740,42 @@ class Listeners { controls.updateSeekTooltip.call(player, event), ); + // Preview thumbnails plugin + // TODO: Really need to work on some sort of plug-in wide event bus or pub-sub for this + this.bind(elements.progress, 'mousemove touchmove', event => { + const { previewThumbnails } = player; + + if (previewThumbnails && previewThumbnails.loaded) { + previewThumbnails.startMove(event); + } + }); + + // Hide thumbnail preview - on mouse click, mouse leave, and video play/seek. All four are required, e.g., for buffering + this.bind(elements.progress, 'mouseleave click', () => { + const { previewThumbnails } = player; + + if (previewThumbnails && previewThumbnails.loaded) { + previewThumbnails.endMove(false, true); + } + }); + + // Show scrubbing preview + this.bind(elements.progress, 'mousedown touchstart', event => { + const { previewThumbnails } = player; + + if (previewThumbnails && previewThumbnails.loaded) { + previewThumbnails.startScrubbing(event); + } + }); + + this.bind(elements.progress, 'mouseup touchend', event => { + const { previewThumbnails } = player; + + if (previewThumbnails && previewThumbnails.loaded) { + previewThumbnails.endScrubbing(event); + } + }); + // Polyfill for lower fill in for webkit if (browser.isWebkit) { Array.from(getElements.call(player, 'input[type="range"]')).forEach(element => { -- cgit v1.2.3