aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlbin Larsson <mail@albinlarsson.com>2018-05-28 04:38:08 +0200
committerAlbin Larsson <mail@albinlarsson.com>2018-05-28 06:08:03 +0200
commit0109454a34d58d5fc0b2828c5106486de6a334db (patch)
treef5712277825c6ac36bdf89c394ef889eaec9e03d /src
parent813f703211230024b99f4de95e433e4d33119f9a (diff)
downloadplyr-0109454a34d58d5fc0b2828c5106486de6a334db.tar.lz
plyr-0109454a34d58d5fc0b2828c5106486de6a334db.tar.xz
plyr-0109454a34d58d5fc0b2828c5106486de6a334db.zip
Ensure language is set in case the track is added after initialization, and trigger languagechange event when language is initially set
Diffstat (limited to 'src')
-rw-r--r--src/js/captions.js21
-rw-r--r--src/js/controls.js5
2 files changed, 9 insertions, 17 deletions
diff --git a/src/js/captions.js b/src/js/captions.js
index 5941ebda..f62b2d4f 100644
--- a/src/js/captions.js
+++ b/src/js/captions.js
@@ -16,17 +16,6 @@ const captions = {
return;
}
- // Set default language if not set
- const stored = this.storage.get('language');
-
- if (!utils.is.empty(stored)) {
- this.captions.language = stored;
- }
-
- if (utils.is.empty(this.captions.language)) {
- this.captions.language = this.config.captions.language.toLowerCase();
- }
-
// Only Vimeo and HTML5 video supported at this point
if (!this.isVideo || this.isYouTube || (this.isHTML5 && !support.textTracks)) {
// Clear menu and hide
@@ -93,8 +82,14 @@ const captions = {
},
update() {
- // Set language
- captions.setLanguage.call(this);
+ // Update tracks
+ const tracks = captions.getTracks.call(this);
+ this.options.captions = tracks.map(({language}) => language);
+
+ // Set language if it hasn't been set already
+ if (!this.language) {
+ this.language = this.storage.get('language') || (this.config.captions.language || '').toLowerCase();
+ }
// Toggle the class hooks
utils.toggleClass(this.elements.container, this.config.classNames.captions.enabled, !utils.is.empty(captions.getTracks.call(this)));
diff --git a/src/js/controls.js b/src/js/controls.js
index c76bd66b..32e82f78 100644
--- a/src/js/controls.js
+++ b/src/js/controls.js
@@ -883,13 +883,10 @@ const controls = {
'language',
track.label,
track.language !== 'enabled' ? controls.createBadge.call(this, track.language.toUpperCase()) : null,
- track.language.toLowerCase() === this.captions.language.toLowerCase(),
+ track.language.toLowerCase() === this.language,
);
});
- // Store reference
- this.options.captions = tracks.map(track => track.language);
-
controls.updateSetting.call(this, type, list);
},