/**
 * @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;