/**
* @file play-progress-bar.js
*/
import Component from '../../component.js' ;
import {IS_IOS, IS_ANDROID} from '../../utils/browser.js' ;
import * as Fn from '../../utils/fn.js' ;
import './time-tooltip' ;
/**
* Utilisé par {@link SeekBar} pour afficher la progression de la lecture d'un média dans le cadre de la fonction
* {@link ProgressControl}.
*
* @extends Component
*/
class PlayProgressBar extends Component {
/**
* Crée une instance de cette classe.
*
* @param {Player} player
* Le {@link Player} auquel cette classe doit être attachée.
*
* @param {Objet} [options]
* La mémoire clé/valeur des options du lecteur.
*/
constructor(player, options) {
super(player, options) ;
this.update = Fn.throttle(Fn.bind(this, this.update), Fn.UPDATE_REFRESH_INTERVAL) ;
}
/**
* Crée l'élément DOM pour cette classe.
*
* @return {Element}
* L'élément qui a été créé.
*/
createEl() {
return super.createEl('div', {
className : 'vjs-play-progress vjs-slider-bar'
}, {
aria-hidden" : "true" (vrai)
}) ;
}
/**
* Enqueues updates to its own DOM as well as the DOM of its
* {@link TimeTooltip} child.
*
* @param {Object} seekBarRect
* Le `ClientRect` de l'élément {@link SeekBar}.
*
* @param {number} seekBarPoint
* Un nombre compris entre 0 et 1, représentant un point de référence horizontal
* à partir du bord gauche de la {@link SeekBar}
*/
update(seekBarRect, seekBarPoint) {
const timeTooltip = this.getChild('timeTooltip') ;
if (!timeTooltip) {
retour ;
}
const time = (this.player_.scrubbing()) ?
this.player_.getCache().currentTime :
this.player_.currentTime() ;
timeTooltip.updateTime(seekBarRect, seekBarPoint, time) ;
}
}
/**
* Options par défaut pour {@link PlayProgressBar}.
*
* @type {Objet}
* @private
*/
PlayProgressBar.prototype.options_ = {
enfants : []
};
// Les infobulles temporelles ne doivent pas être ajoutées au lecteur sur les appareils mobiles
if (!IS_IOS && !IS_ANDROID) {
PlayProgressBar.prototype.options_.children.push('timeTooltip') ;
}
Component.registerComponent('PlayProgressBar', PlayProgressBar) ;
exporter la PlayProgressBar par défaut ;