/**
* @Datei close-button.js
* /
importiere Button von './button';
importiere Komponente von './komponente';
import keycode from 'keycode';
/**
* Der `CloseButton` ist ein `{@link Button}`, der ein `close` Ereignis auslöst, wenn
* es wird angeklickt.
*
* @erweitert Button
* /
class CloseButton extends Button {
/**
* Erzeugt eine Instanz der Klasse this.
*
* @param {Player} Spieler
* Der `Player`, dem diese Klasse zugeordnet werden soll.
*
* @param {Object} [Optionen]
* Der Schlüssel/Wertspeicher der Playeroptionen.
* /
constructor(spieler, optionen) {
super(Spieler, Optionen);
this.controlText(options && options.controlText || this.localize('Close'));
}
/**
* Erzeugt den Standard-DOM "Klassenname".
*
* @return {string}
* Der DOM `className` für dieses Objekt.
* /
buildCSSClass() {
return `vjs-close-button ${super.buildCSSClass()}`;
}
/**
* Diese Funktion wird aufgerufen, wenn ein `CloseButton` angeklickt wird. Sehen
* {@link ClickableComponent#handleClick} für weitere Informationen darüber, wann
* wird dies ausgelöst
*
* @param {EventTarget~Event} event
* Das `Keydown`-, `Tap`- oder `Click`-Ereignis, das diese Funktion ausgelöst hat
* genannt.
*
* @listens tap
* @listens klicken
* @fires CloseButton#close
* /
handleClick(event) {
/**
* Wird ausgelöst, wenn ein `CloseButton` angeklickt wird.
*
* @event CloseButton#close
* @Typ {EventTarget~Event}
*
* @property {boolean} [bubbles=false]
* auf false gesetzt, so dass das Schließereignis nicht
* an die Eltern herantreten, wenn es keinen Zuhörer gibt
* /
this.trigger({type: 'close', bubbles: false});
}
/**
* Ereignishandler, der aufgerufen wird, wenn ein `CloseButton` eine
* ereignis "Abbruch".
*
* Wenn die Taste Esc ist, wird standardmäßig ein "Klick"-Ereignis ausgelöst.
*
* @param {EventTarget~Event} event
* Das "Keydown"-Ereignis, das zum Aufruf dieser Funktion geführt hat.
*
* @listens keydown
* /
handleKeyDown(event) {
// Die Esc-Taste löst das Ereignis `Klick` aus
if (keycode.isEventKey(event, 'Esc')) {
event.preventDefault();
event.stopPropagation();
this.trigger('click');
} else {
// Übergabe der Tastendruckbehandlung für nicht unterstützte Tasten
super.handleKeyDown(event);
}
}
}
Component.registerComponent('CloseButton', CloseButton);
standardmäßig CloseButton exportieren;