/**
* @archivo cerrar-boton.js
* /
importar botón desde './botón';
importar componente desde './componente';
importar código clave desde 'código clave';
/**
* El `CloseButton` es un `{@link Button}` que dispara un evento `close` cuando
* se hace clic.
*
* Botón @extiende
* /
clase Cerrar Botón 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.controlText(opciones && opciones.controlText || this.localize('Cerrar'));
}
/**
* Construye el DOM predeterminado `className`.
*
* @return {cadena}
* El DOM `className` para este objeto.
* /
construirClaseCSS() {
devuelve `vjs-close-button ${super.buildCSSClass()}`;
}
/**
* Esto se llama cuando se hace clic en `CloseButton`. Ver
* {@link ClickableComponent#handleClick} para obtener más información sobre cuándo
* esto se activará
*
* @param {EventTarget~Evento} evento
* El evento `keydown`, `top` o `click` que hizo que esta función se desactivara
* llamado.
*
* @escucha toca
* @escucha clic
* @botón de cierre de incendios#cerrar
* /
handleClick(evento) {
/**
* Se activa cuando se hace clic en un `CloseButton`.
*
* @event Cerrar Botón#cerrar
* @type {Objetivo del evento~Evento}
*
* @propiedad {booleano} [burbujas=falso]
* establecido en falso para que el evento de cierre no
* burbujear a los padres si no hay un oyente
* /
this.trigger({tipo: 'cerrar', burbujas: falso});
}
/**
* Controlador de eventos que se llama cuando un `CloseButton` recibe un
* Evento `keydown`.
*
* De forma predeterminada, si la tecla es Esc, activará un evento de "clic".
*
* @param {EventTarget~Evento} evento
* El evento `keydown` que hizo que se llamara a esta función.
*
* @escucha tecla abajo
* /
handleKeyDown(evento) {
// El botón Esc activará el evento `click`
if (keycode.isEventKey(evento, 'Esc')) {
event.preventDefault();
event.stopPropagation();
this.trigger('clic');
} else {
// Pasar el manejo de pulsaciones de teclas para teclas no compatibles
super.handleKeyDown(evento);
}
}
}
Component.registerComponent('CerrarBoton', CerrarBoton);
exportar botón de cierre predeterminado;