/**
* @file fullscreen-toggle.js
* /
importar botón desde '../button.js';
importar componente desde '../component.js';
importar documento desde 'global/document';
/**
* Alternar video de pantalla completa
*
* Botón @extiende
* /
class FullscreenToggle extiende Botón {
/**
* 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) {
super(jugador, opciones);
this.on(jugador, 'cambio de pantalla completa', (e) => this.handleFullscreenChange(e));
if (documento[player.fsApi_.fullscreenEnabled] === false) {
esto.deshabilitar();
}
}
/**
* Construye el DOM predeterminado `className`.
*
* @return {cadena}
* El DOM `className` para este objeto.
* /
construirClaseCSS() {
devuelve `vjs-fullscreen-control ${super.buildCSSClass()}`;
}
/**
* Maneja el cambio de pantalla completa en el reproductor y cambia el texto de control en consecuencia.
*
* @param {Objetivo de evento~Evento} [evento]
* El evento {@link Player#fullscreenchange} que causó que esta función fuera
* llamado.
*
* @escucha jugador#cambio de pantalla completa
* /
handleFullscreenChange(evento) {
if (this.player_.isFullscreen()) {
this.controlText('No pantalla completa');
} else {
this.controlText('Pantalla completa');
}
}
/**
* Esto se llama cuando se "hace clic" en `FullscreenToggle`. 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) {
if (!this.player_.isFullscreen()) {
this.player_.requestFullscreen();
} else {
this.player_.exitFullscreen();
}
}
}
/**
* El texto que debería mostrarse sobre los controles `FullscreenToggle`s. Añadido para la localización.
*
* @tipo {cadena}
* @privado
* /
FullscreenToggle.prototype.controlText_ = 'Pantalla completa';
Component.registerComponent('FullscreenToggle', FullscreenToggle);
exportar por defecto FullscreenToggle;