/**
* @archivo track-button.js
* /
importar MenuButton desde '../menu/menu-button.js';
importar componente desde '../component.js';
importar * como Fn desde '../utils/fn.js';
/**
* La clase base para botones que alternan tipos de pistas específicas (p. ej., subtítulos).
*
* @extiende el botón de menú
* /
clase TrackButton extiende MenuButton {
/**
* Crea una instancia de esta clase.
*
* @param {Jugador} jugador
* El `Jugador` al que se debe adjuntar esta clase.
*
* @param {Objeto} [opciones]
* El almacén de clave/valor de las opciones del jugador.
* /
constructor(jugador, opciones) {
const pistas = opciones.pistas;
super(jugador, opciones);
if (this.items.length < = 1) {
esto. ocultar ();
}
si (!pistas) {
devolver;
}
const updateHandler = Fn.bind(this, this.update);
pistas.addEventListener('removetrack', updateHandler);
pistas.addEventListener('addtrack', updateHandler);
pistas.addEventListener('labelchange', updateHandler);
this.player_.on('listo', updateHandler);
this.player_.on('dispose', function() {
pistas.removeEventListener('removetrack', updateHandler);
tracks.removeEventListener('addtrack', updateHandler);
pistas.removeEventListener('labelchange', updateHandler);
});
}
}
Componente.registerComponent('Botón de seguimiento', Botón de seguimiento);
exportar TrackButton predeterminado;