Fix display for current language on change
This commit is contained in:
		
							
								
								
									
										2
									
								
								demo/dist/demo.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								demo/dist/demo.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/plyr.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/plyr.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/plyr.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/plyr.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/plyr.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/plyr.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										25
									
								
								src/js/controls.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								src/js/controls.js
									
									
									
									
										vendored
									
									
								
							@ -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;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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');
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -19,3 +19,13 @@
 | 
			
		||||
        opacity: 1;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes plyr-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
        opacity: 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    to {
 | 
			
		||||
        opacity: 1;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user