/**
 * @file current-time-display.js
 */
import TimeDisplay from './time-display' ;
import Component from '../../component.js' ;

/**
 * Affiche l'heure actuelle
 *
 * @extends Component
 */
class CurrentTimeDisplay extends TimeDisplay {

  /**
   * Construit le DOM par défaut `className`.
   *
   * @return {string}
   *         Le `nom de classe` du DOM pour cet objet.
   */
  buildCSSClass() {
    return 'vjs-current-time' ;
  }

  /**
   * Mise à jour de l'affichage de l'heure actuelle
   *
   * @param {EventTarget~Event} [event]
   *        L'événement `timeupdate` qui a provoqué l'exécution de cette fonction.
   *
   * @listens Player#timeupdate
   */
  updateContent(event) {
    // Permet un nettoyage en douceur, lorsque le joueur ne peut pas suivre.
    temps d'attente ;

    if (this.player_.ended()) {
      time = this.player_.duration() ;
    } else {
      time = (this.player_.scrubbing()) ? this.player_.getCache().currentTime : this.player_.currentTime() ;
    }

    this.updateTextNode_(time) ;
  }
}

/**
 * Texte ajouté à l'affichage `CurrentTimeDisplay` pour les utilisateurs de lecteurs d'écran.
 *
 * @type {string}
 * @private
 */
CurrentTimeDisplay.prototype.labelText_ = 'Heure actuelle' ;

/**
 * Le texte qui doit s'afficher au-dessus des contrôles `CurrentTimeDisplay`. Ajouté pour la localisation.
 *
 * @type {string}
 * @private
 *
 * @deprecated in v7 ; controlText_ n'est pas utilisé dans les composants d'affichage non actifs
 */
CurrentTimeDisplay.prototype.controlText_ = 'Heure actuelle' ;

Component.registerComponent('CurrentTimeDisplay', CurrentTimeDisplay) ;
export default CurrentTimeDisplay ;