diff options
author | ydylla <ydylla@gmail.com> | 2020-02-01 16:32:14 +0100 |
---|---|---|
committer | ydylla <ydylla@gmail.com> | 2020-02-01 16:32:19 +0100 |
commit | 61a24eab765f09bdcff92c872c6882d79cf4d180 (patch) | |
tree | 14ba1b7b16d8983e6eb0eb8994c255ed60344676 | |
parent | 8b9521d5a5d34bf81c57e901286ac325da2c1fc0 (diff) | |
download | plyr-61a24eab765f09bdcff92c872c6882d79cf4d180.tar.lz plyr-61a24eab765f09bdcff92c872c6882d79cf4d180.tar.xz plyr-61a24eab765f09bdcff92c872c6882d79cf4d180.zip |
add previewThumbnails source setter #1369
-rw-r--r-- | src/js/plugins/preview-thumbnails.js | 11 | ||||
-rw-r--r-- | src/js/source.js | 18 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/js/plugins/preview-thumbnails.js b/src/js/plugins/preview-thumbnails.js index 44e6ace7..aa06edf4 100644 --- a/src/js/plugins/preview-thumbnails.js +++ b/src/js/plugins/preview-thumbnails.js @@ -104,7 +104,7 @@ class PreviewThumbnails { } load() { - // Togglethe regular seek tooltip + // Toggle the regular seek tooltip if (this.player.elements.display.seekTooltip) { this.player.elements.display.seekTooltip.hidden = this.enabled; } @@ -328,6 +328,15 @@ class PreviewThumbnails { this.player.elements.wrapper.appendChild(this.elements.scrubbing.container); } + destroy() { + if (this.elements.thumb.container) { + this.elements.thumb.container.remove(); + } + if (this.elements.scrubbing.container) { + this.elements.scrubbing.container.remove(); + } + } + showImageAtCurrentTime() { if (this.mouseDown) { this.setScrubbingContainerSize(); diff --git a/src/js/source.js b/src/js/source.js index 0173cc9e..bc39cc9d 100644 --- a/src/js/source.js +++ b/src/js/source.js @@ -5,6 +5,7 @@ import { providers } from './config/types'; import html5 from './html5'; import media from './media'; +import PreviewThumbnails from './plugins/preview-thumbnails'; import support from './support'; import ui from './ui'; import { createElement, insertElement, removeElement } from './utils/elements'; @@ -130,9 +131,20 @@ const source = { this.media.load(); } - // Reload thumbnails - if (this.previewThumbnails) { - this.previewThumbnails.load(); + // Update previewThumbnails config & reload plugin + if (!is.empty(input.previewThumbnails)) { + Object.assign(this.config.previewThumbnails, input.previewThumbnails); + + // cleanup previewThumbnails plugin if it was loaded + if (this.previewThumbnails && this.previewThumbnails.loaded) { + this.previewThumbnails.destroy(); + this.previewThumbnails = null; + } + + // create new instance if it is still enabled + if (this.config.previewThumbnails.enabled) { + this.previewThumbnails = new PreviewThumbnails(this); + } } // Update the fullscreen support |