/**
* @file chapters-track-menu-item.js
*/
import MenuItem from '../../menu/menu-item.js' ;
import Component from '../../component.js' ;
/**
* L'élément de menu de la piste de chapitre
*
* @extends MenuItem
*/
class ChaptersTrackMenuItem extends MenuItem {
/**
* Crée une instance de cette classe.
*
* @param {Player} player
* Le `Player` auquel cette classe doit être attachée.
*
* @param {Objet} [options]
* La mémoire clé/valeur des options du lecteur.
*/
constructor(player, options) {
const track = options.track ;
const cue = options.cue ;
const currentTime = player.currentTime() ;
// Modifier les options pour l'init de la classe MenuItem parente.
options.selectable = true ;
options.multiSelectable = false ;
options.label = cue.text ;
options.selected = (cue.startTime <= currentTime && currentTime < cue.endTime) ;
super(player, options) ;
this.track = track ;
this.cue = cue ;
}
/**
* Cette fonction est appelée lorsqu'un élément de menu `ChaptersTrackMenuItem` est "cliqué". Voir
* {@link ClickableComponent} pour des informations plus détaillées sur ce que peut être un clic.
*
* @param {EventTarget~Event} [event]
* L'événement `keydown`, `tap` ou `click` qui a provoqué l'activation de cette fonction est le suivant
* appelé.
*
* @listens tap
* @listens click
*/
handleClick(event) {
super.handleClick() ;
this.player_.currentTime(this.cue.startTime) ;
}
}
Component.registerComponent('ChaptersTrackMenuItem', ChaptersTrackMenuItem) ;
export default ChaptersTrackMenuItem ;