/**
* @archivo live-display.js
* /
importar componente desde '../componente';
importar * como Dom desde '../utils/dom.js';
importar documento desde 'global/document';
// TODO - Futuro haz clic para ajustar a vivir
/**
* Muestra el indicador en vivo cuando la duración es Infinito.
*
* Componente @extiende
* /
clase LiveDisplay extiende Componente {
/**
* 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.updateMostrando();
this.on(this.player(), 'durationchange', (e) => esta.actualizaciónMostrando(e));
}
/**
* Crear el elemento DOM del 'Componente'
*
* @return {Elemento}
* El elemento que se creó.
* /
crearEl() {
const el = super.createEl('div', {
className: 'vjs-control en vivo vjs-control'
});
this.contentEl_ = Dom.createEl('div', {
className: 'vjs-live-display'
}, {
'aria-en vivo': 'apagado'
});
this.contentEl_.appendChild(Dom.createEl('span', {
className: 'vjs-control-texto',
textContent: `${this.localize('Stream Type')}\u00a0`
}));
this.contentEl_.appendChild(document.createTextNode(this.localize('LIVE')));
el.appendChild(this.contentEl_);
volver el;
}
disponer () {
this.contentEl_ = null;
super.dispose();
}
/**
* Verifique la duración para ver si LiveDisplay debería mostrarse o no. Luego mostrar/ocultar
* en consecuencia
*
* @param {Objetivo de evento~Evento} [evento]
* El evento {@link Player#durationchange} que hizo que se ejecutara esta función.
*
* @escucha Player#durationchange
* /
actualizaciónMostrando(evento) {
if (este.jugador().duración() === Infinito) {
este espectáculo();
} else {
esto. ocultar ();
}
}
}
Component.registerComponent('LiveDisplay', LiveDisplay);
exportar LiveDisplay predeterminado;