UNPKG

bitmovin-player-ui

Version:
46 lines (39 loc) 1.27 kB
import { ButtonConfig } from '../buttons/Button'; import { Component, ComponentConfig } from '../Component'; import { Container } from '../Container'; import { PlayerAPI } from 'bitmovin-player'; import { UIInstanceManager } from '../../UIManager'; import { SettingsPanel } from '../settings/SettingsPanel'; export interface DismissClickOverlayConfig extends ButtonConfig { target: Component<ComponentConfig>; } export class DismissClickOverlay extends Container<DismissClickOverlayConfig> { constructor(config: DismissClickOverlayConfig) { super(config); this.config = this.mergeConfig( config, { cssClass: 'ui-dismiss-click-overlay', role: this.config.role, }, <DismissClickOverlayConfig>this.config, ); } configure(player: PlayerAPI, uimanager: UIInstanceManager) { super.configure(player, uimanager); this.config.target.onShow.subscribe(() => { this.show(); }); this.config.target.onHide.subscribe(() => { this.hide(); }); const element = this.getDomElement(); element.on('click', () => { if (this.config.target instanceof SettingsPanel) { this.config.target.hideAndReset(); } else { this.config.target.hide(); } }); } }