aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorydylla <ydylla@gmail.com>2020-02-01 16:32:14 +0100
committerydylla <ydylla@gmail.com>2020-02-01 16:32:19 +0100
commit61a24eab765f09bdcff92c872c6882d79cf4d180 (patch)
tree14ba1b7b16d8983e6eb0eb8994c255ed60344676
parent8b9521d5a5d34bf81c57e901286ac325da2c1fc0 (diff)
downloadplyr-61a24eab765f09bdcff92c872c6882d79cf4d180.tar.lz
plyr-61a24eab765f09bdcff92c872c6882d79cf4d180.tar.xz
plyr-61a24eab765f09bdcff92c872c6882d79cf4d180.zip
add previewThumbnails source setter #1369
-rw-r--r--src/js/plugins/preview-thumbnails.js11
-rw-r--r--src/js/source.js18
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