/**
 * @file error-display.js
 */
import Component from './component' ;
import ModalDialog from './modal-dialog' ;

/**
 * Affichage indiquant qu'une erreur s'est produite. Cela signifie que la vidéo
 * est injouable.
 *
 * @extends ModalDialog
 */
class ErrorDisplay extends ModalDialog {

  /**
   * Crée une instance de cette classe.
   *
   * @param {Player} player
   *         Le `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.on(player, 'error', (e) => this.open(e)) ;
  }

  /**
   * Construit le DOM par défaut `className`.
   *
   * @return {string}
   *         Le `nom de classe` du DOM pour cet objet.
   *
   * @deprecated Depuis la version 5.
   */
  buildCSSClass() {
    return `vjs-error-display ${super.buildCSSClass()}` ;
  }

  /**
   * Obtient le message d'erreur localisé en fonction de l'erreur du joueur.
   *
   * @return {string}
   *         Le message d'erreur du `Player` localisé ou une chaîne vide.
   */
  content() {
    const error = this.player().error() ;

    return error ? this.localize(error.message) : '' ;
  }
}

/**
 * Les options par défaut pour un `ErrorDisplay`.
 *
 * @private
 */
ErrorDisplay.prototype.options_ = Object.assign({}, ModalDialog.prototype.options_, {
  pauseOnOpen : false,
  fillAlways : true,
  temporaire : faux,
  non fermable : vrai
}) ;

Component.registerComponent('ErrorDisplay', ErrorDisplay) ;
exporter l'affichage d'erreur par défaut ;