/**
* @file restante-time-display.js
* /
importar TimeDisplay desde './time-display';
importar componente desde '../../component.js';
importar * como Dom desde '../../utils/dom.js';
/**
* Muestra el tiempo restante en el video
*
* Componente @extiende
* /
class RemainingTimeDisplay extiende TimeDisplay {
/**
* 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, 'cambioduración', (e) => este.updateContent(e));
}
/**
* Construye el DOM predeterminado `className`.
*
* @return {cadena}
* El DOM `className` para este objeto.
* /
construirClaseCSS() {
return 'vjs-tiempo-restante';
}
/**
* Cree el elemento DOM del 'Componente' con el carácter "menos" antepuesto a la hora
*
* @return {Elemento}
* El elemento que se creó.
* /
crearEl() {
const el = super.createEl();
if (this.options_.displayNegative!== falso) {
el.insertBefore(Dom.createEl('span', {}, {'aria-hidden': true}, '-'), this.contentEl_);
}
volver el;
}
/**
* Actualización de visualización de tiempo restante.
*
* @param {Objetivo de evento~Evento} [evento]
* El evento `timeupdate` o `durationchange` que hizo que esto se ejecutara.
*
* @escucha Player#timeupdate
* @escucha Player#durationchange
* /
actualizar contenido (evento) {
if (tipodeeste.jugador_.duración() !== 'número') {
devolver;
}
deja tiempo;
// @deprecated Solo debemos usar la visualización de tiempo restante
// a partir de video.js 7
if (este.jugador_.terminado()) {
tiempo = 0;
} más si (this.player_.remainingTimeDisplay) {
tiempo = this.player_.remainingTimeDisplay();
} else {
tiempo = this.player_.remainingTime();
}
this.updateTextNode_(hora);
}
}
/**
* El texto que se agrega a `RemainingTimeDisplay` para usuarios de lectores de pantalla.
*
* @tipo {cadena}
* @privado
* /
RemainingTimeDisplay.prototype.labelText_ = 'Tiempo restante';
/**
* El texto que debería mostrarse sobre los controles `RemainingTimeDisplay`. Añadido a para la localización.
*
* @tipo {cadena}
* @privado
*
* @obsoleto en v7; controlText_ no se usa en componentes de visualización no activos
* /
RemainingTimeDisplay.prototype.controlText_ = 'Tiempo restante';
Component.registerComponent('RemainingTimeDisplay', RemainingTimeDisplay);
exportar por defecto RemainingTimeDisplay;