Fix display for current language on change
This commit is contained in:
		
							
								
								
									
										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'); | ||||
|             } | ||||
|         }); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user