Files
_hublib-web/dist/core/plugins/settings/index.d.ts

53 lines
2.2 KiB
TypeScript
Raw Normal View History

2026-02-27 09:50:13 +03:00
import Component from "video.js/dist/types/component";
import Player from "video.js/dist/types/player";
import Plugin from "video.js/dist/types/plugin";
import "./settings.css";
interface SettingsButtonOptions {
}
interface PlayerWithControlBar extends Player {
hlsInstance?: unknown;
controlBar: Component;
}
declare const BasePlugin: typeof Plugin;
declare class SettingsButton extends BasePlugin {
private options;
private mainMenu;
private settingsButton;
private buttonInstance;
private backButton;
private playbackRateButton;
private qualityRateButton;
private audioTracksButton;
private textTracksButton;
constructor(player: PlayerWithControlBar, options: SettingsButtonOptions);
/**
* Инициализация плагина: создание кнопки настроек и привязка событий
*/
private initialize;
/**
* Привязка событий плеера (например, для обновления меню)
*/
private bindPlayerEvents;
/**
* Создание кнопки настроек и определение пунктов меню.
* Здесь создаются фабрики для формирования кнопок и устанавливается начальное меню.
*/
private createSettingsButton;
/**
* Обёртка для создания экземпляра пункта меню.
*
* @param item - объект настроек пункта меню
* @returns экземпляр TachVideoMenuItem
*/
private getMenuItem;
/**
* Устанавливает (обновляет) пункты меню плагина.
*
* @param items - массив пунктов меню (если не передан, используются кнопки по умолчанию)
* @param skipBackButton - если true, не добавлять кнопку "Назад"
* @param forceShow - если true, принудительно показать меню после обновления
*/
private setMenu;
}
export default SettingsButton;
//# sourceMappingURL=index.d.ts.map