/**
* @file 剩餘時間-display.js
*/
從 './time-display' 導入 TimeDisplay;
從 '../../component.js' 導入組件;
import * as Dom from '../../utils/dom.js';
/**
* 顯示視頻剩餘時間
*
* @extends 組件
*/
類 RemainingTimeDisplay 擴展 TimeDisplay {
/**
* 創建此類的一個實例。
*
* @param {Player} 播放器
* 此類應附加到的 `Player`。
*
* @param {對象} [選項]
* 播放器選項的鍵/值存儲。
*/
構造函數(播放器,選項){
超級(播放器,選項);
this.on(player, 'durationchange', (e) => this.updateContent(e));
}
/**
* 構建默認的 DOM `className`。
*
* @return {字符串}
* 此對象的 DOM `className`。
*/
buildCSSClass() {
返回“vjs-剩餘時間”;
}
/**
* 創建 `Component` 的 DOM 元素,並在時間前加上“減號”字符
*
* @return {元素}
* 創建的元素。
*/
創建El() {
const el = super.createEl();
if (this.options_.displayNegative !== false) {
el.insertBefore(Dom.createEl('span', {}, {'aria-hidden': true}, '-'), this.contentEl_);
}
返回 el;
}
/**
*更新剩餘時間顯示。
*
* @param {EventTarget~Event} [事件]
* 導致此運行的 `timeupdate` 或 `durationchange` 事件。
*
* @listens Player#timeupdate
* @listens Player#durationchange
*/
更新內容(事件){
if (typeof this.player_.duration() !== 'number') {
返回;
}
讓時間;
// @deprecated 我們應該只使用 remainingTimeDisplay
// 從 video.js 7 開始
如果(this.player_.ended()){
時間 = 0;
} else if (this.player_.remainingTimeDisplay) {
time = this.player_.remainingTimeDisplay();
}其他{
time = this.player_.remainingTime();
}
this.updateTextNode_(時間);
}
}
/**
* 為屏幕閱讀器用戶添加到 `RemainingTimeDisplay` 的文本。
*
* @type {字符串}
* @私人的
*/
RemainingTimeDisplay.prototype.labelText_ = '剩餘時間';
/**
* 應顯示在 `RemainingTimeDisplay` 控件上的文本。添加到本地化。
*
* @type {字符串}
* @私人的
*
* @在 v7 中已棄用; controlText_ 不用於非活動顯示組件
*/
RemainingTimeDisplay.prototype.controlText_ = '剩餘時間';
Component.registerComponent('RemainingTimeDisplay', RemainingTimeDisplay);
導出默認剩餘時間顯示;