playable
Version:
Video player based on HTML5Video
60 lines (59 loc) • 1.74 kB
TypeScript
import View from './logo.view';
import { IEventEmitter } from '../../../event-emitter/types';
import { ITooltipService } from '../../core/tooltip/types';
import { ILogoAPI, ILogoControl } from './types';
import { ITextMap } from '../../../text-map/types';
import { IThemeService } from '../../core/theme';
declare class Logo implements ILogoControl {
static moduleName: string;
static View: typeof View;
static dependencies: string[];
private _eventEmitter;
private _textMap;
private _theme;
private _tooltipService;
private _interceptor;
private _callback;
private _logoSrc;
view: View;
isHidden: boolean;
constructor({ eventEmitter, textMap, tooltipService, theme, }: {
eventEmitter: IEventEmitter;
textMap: ITextMap;
tooltipService: ITooltipService;
theme: IThemeService;
});
getElement(): HTMLElement;
private _bindCallbacks;
private _initUI;
private _initInterceptor;
private _destroyInterceptor;
private _triggerCallback;
/**
* Method for setting source of image, that would be used as logo
* @param src - Source of logo
* @example
* player.setLogo('https://example.com/logo.png');
*
*/
setLogo(src: string): void;
/**
* Method for attaching callback for click on logo
*
* @param callback - Your function
*
* @example
* const callback = () => {
* console.log('Click on title);
* }
* player.setLogoClickCallback(callback);
*
*/
setLogoClickCallback(callback?: () => void): void;
private _setProperDisplayState;
hide(): void;
show(): void;
destroy(): void;
}
export { ILogoAPI };
export default Logo;