/**
 * @Datei track-button.js
 * /
importiere MenuButton aus '../menu/menu-button.js';
importiere Komponente aus '../component.js';
import * as Fn from '../utils/fn.js';

/**
 * Die Basisklasse für Schaltflächen, mit denen bestimmte Spurtypen (z. B. Untertitel) umgeschaltet werden können.
 *
 * @extends MenuButton
 * /
class TrackButton extends MenuButton {

  /**
   * Erzeugt eine Instanz dieser Klasse.
   *
   * @param {Player} Spieler
   *        Der `Player`, dem diese Klasse zugeordnet werden soll.
   *
   * @param {Object} [Optionen]
   *        Der Schlüssel/Wertspeicher der Playeroptionen.
   * /
  constructor(spieler, optionen) {
    const tracks = options.tracks;

    super(Spieler, Optionen);

    if (this.items.length <= 1) {
      this.hide();
    }

    if (!tracks) {
      rückkehr;
    }

    const updateHandler = Fn.bind(this, this.update);

    tracks.addEventListener('removetrack', updateHandler);
    tracks.addEventListener('addtrack', updateHandler);
    tracks.addEventListener('labelchange', updateHandler);
    this.player_.on('ready', updateHandler);

    this.player_.on('dispose', function() {
      tracks.removeEventListener('removetrack', updateHandler);
      tracks.removeEventListener('addtrack', updateHandler);
      tracks.removeEventListener('labelchange', updateHandler);
    });
  }

}

Component.registerComponent('TrackButton', TrackButton);
standard TrackButton exportieren;