/**
* @file fullscreen-toggle.js
*/
從 '../button.js' 導入按鈕;
從 '../component.js' 導入組件;
從“全局/文檔”導入文檔;
/**
* 切換全屏視頻
*
* @extends 按鈕
*/
類 FullscreenToggle 擴展按鈕 {
/**
* 創建此類的一個實例。
*
* @param {Player} 播放器
* 此類應附加到的 `Player`。
*
* @param {對象} [選項]
* 播放器選項的鍵/值存儲。
*/
構造函數(播放器,選項){
超級(播放器,選項);
this.on(player, 'fullscreenchange', (e) => this.handleFullscreenChange(e));
如果(文檔[player.fsApi_.fullscreenEnabled] === false){
這個。禁用();
}
}
/**
* 構建默認的 DOM `className`。
*
* @return {字符串}
* 此對象的 DOM `className`。
*/
buildCSSClass() {
返回`vjs-fullscreen-control ${super.buildCSSClass()}`;
}
/**
* 處理播放器上的全屏更改並相應地更改控製文本。
*
* @param {EventTarget~Event} [事件]
* {@link Player#fullscreenchange} 事件導致這個函數被
* 打電話。
*
* @listens Player#fullscreenchange
*/
handleFullscreenChange(事件){
如果 (this.player_.isFullscreen()) {
this.controlText('非全屏');
}其他{
this.controlText('全屏');
}
}
/**
* 當 `FullscreenToggle` 被“點擊”時調用。看
* {@link ClickableComponent} 以獲取有關點擊的更多詳細信息。
*
* @param {EventTarget~Event} [事件]
* 導致此功能被執行的 `keydown`、`tap` 或 `click` 事件
* 打電話。
*
* @listens 水龍頭
* @listens 點擊
*/
handleClick(事件){
如果(!this.player_.isFullscreen()){
this.player_.requestFullscreen();
}其他{
this.player_.exitFullscreen();
}
}
}
/**
* 應顯示在 `FullscreenToggle` 控件上的文本。添加本地化。
*
* @type {字符串}
* @私人的
*/
FullscreenToggle.prototype.controlText_ = '全屏';
Component.registerComponent('FullscreenToggle', FullscreenToggle);
導出默認全屏切換;