Fix display for current language on change

This commit is contained in:
Sam Potts 2017-11-25 01:19:16 +11:00
parent cda574e627
commit fd77831303
9 changed files with 35 additions and 26 deletions

2
demo/dist/demo.css vendored

File diff suppressed because one or more lines are too long

2
dist/plyr.css vendored

File diff suppressed because one or more lines are too long

2
dist/plyr.js vendored

File diff suppressed because one or more lines are too long

2
dist/plyr.js.map vendored

File diff suppressed because one or more lines are too long

23
src/js/controls.js vendored
View File

@ -542,12 +542,7 @@ const controls = {
switch (setting) {
case 'captions':
value = this.captions.language;
if (!this.captions.enabled) {
value = '';
}
value = this.captions.enabled ? this.captions.language : '';
break;
default:
@ -578,19 +573,19 @@ const controls = {
list = pane && pane.querySelector('ul');
}
// Update the label
if (!utils.is.empty(value)) {
const label = this.elements.settings.tabs[setting].querySelector(`.${this.config.classNames.menu.value}`);
label.innerHTML = controls.getLabel.call(this, setting, value);
}
// Find the radio option
const target = list && list.querySelector(`input[value="${value}"]`);
if (!utils.is.htmlElement(target)) {
return;
}
if (utils.is.htmlElement(target)) {
// Check it
target.checked = true;
// Find the label
const label = this.elements.settings.tabs[setting].querySelector(`.${this.config.classNames.menu.value}`);
label.innerHTML = controls.getLabel.call(this, setting, value);
}
},
// Set the looping options

View File

@ -282,6 +282,12 @@ const listeners = {
);
}
// Volume change
utils.on(this.media, 'volumechange', () => {
// Save to storage
storage.set.call(this, { volume: this.volume, muted: this.muted });
});
// Speed change
utils.on(this.media, 'ratechange', () => {
// Update UI
@ -302,16 +308,13 @@ const listeners = {
// Caption language change
utils.on(this.media, 'languagechange', () => {
// Update UI
controls.updateSetting.call(this, 'captions');
// Save to storage
storage.set.call(this, { language: this.language });
});
// Volume change
utils.on(this.media, 'volumechange', () => {
// Save to storage
storage.set.call(this, { volume: this.volume, muted: this.muted });
});
// Captions toggle
utils.on(this.media, 'captionsenabled captionsdisabled', () => {
// Update UI

View File

@ -275,8 +275,8 @@ const vimeo = {
player.media.buffered = data.percent;
utils.dispatchEvent.call(player, player.media, 'progress');
// Check all loaded
if (parseInt(data.percent, 10) === 1) {
// Trigger event
utils.dispatchEvent.call(player, player.media, 'canplaythrough');
}
});

View File

@ -16,6 +16,7 @@
padding: @plyr-control-spacing;
transform: translateY(-(@plyr-control-spacing * 4));
transition: transform 0.4s ease-in-out;
animation: plyr-fade-in 0.3s ease;
color: @plyr-captions-color;
font-size: @plyr-font-size-captions-small;
text-align: center;

View File

@ -19,3 +19,13 @@
opacity: 1;
}
}
@keyframes plyr-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}