/**
* @file playback-rate-menu-item.js
* /
importar MenuItem desde '../../menu/menu-item.js';
importar componente desde '../../component.js';
/**
* El tipo de elemento de menú específico para seleccionar una tasa de reproducción.
*
* @extiende elemento de menú
* /
clase PlaybackRateMenuItem extiende MenuItem {
/**
* 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 etiqueta = opciones.tasa;
const rate = parseFloat(etiqueta, 10);
// Modificar las opciones para el inicio de la clase principal MenuItem.
opciones.etiqueta = etiqueta;
options.selected = rate === player.playbackRate();
opciones.seleccionable = verdadero;
opciones.multiseleccionable = falso;
super(jugador, opciones);
esta.etiqueta = etiqueta;
esta.tasa = tasa;
this.on(player, 'ratechange', (e) => esta.actualización(e));
}
/**
* Esto se llama cuando se "hace clic" en `PlaybackRateMenuItem`. Ver
* {@link ClickableComponent} para obtener información más detallada sobre lo que puede ser un clic.
*
* @param {Objetivo de evento~Evento} [evento]
* El evento `keydown`, `top` o `click` que hizo que esta función se desactivara
* llamado.
*
* @escucha toca
* @escucha clic
* /
handleClick(evento) {
super.handleClick();
this.player().playbackRate(this.rate);
}
/**
* Actualice PlaybackRateMenuItem cuando cambie la tasa de reproducción.
*
* @param {Objetivo de evento~Evento} [evento]
* El evento `ratechange` que provocó la ejecución de esta función.
*
* @escucha Player#ratechange
* /
actualizar (evento) {
this.selected(this.player().playbackRate() === this.rate);
}
}
/**
* El texto que debería mostrarse sobre los controles `PlaybackRateMenuItem`s. Añadido para la localización.
*
* @tipo {cadena}
* @privado
* /
PlaybackRateMenuItem.prototype.contentElType = 'botón';
Component.registerComponent('ReproducirRateMenuItem', PlaybackRateMenuItem);
exportar elemento de menú de velocidad de reproducción predeterminado;