UNPKG

@byomakase/omakase-player

Version:

## Omakase Player - Open source JavaScript framework for building frame accurate video experiences

62 lines (61 loc) 2.68 kB
import { MarkerApi, MarkerListApi } from '../api'; import { VideoControllerApi } from '../video'; import { MarkerVttFile, ThumbnailVttFile } from '../vtt'; import { MarkerAwareApi } from '../api/marker-aware-api'; import { Subject } from 'rxjs'; import { VttLoadOptions } from '../api/vtt-aware-api'; import { Destroyable, MarkerCreateEvent, MarkerDeleteEvent, MarkerInitEvent, MarkerListActionEvent, MarkerListClickEvent, MarkerSelectedEvent, MarkerUpdateEvent, MarkerVttCue } from '../types'; import { MarkerListItem } from './marker-list-item'; export interface MarkerListConfig { markerListHTMLElementId: string; templateHTMLElementId?: string; headerHTMLElementId?: string; emptyHTMLElementId?: string; loadingHTMLElementId?: string; styleUrl?: string | string[]; thumbnailVttFile?: ThumbnailVttFile; vttUrl?: string; vttLoadOptions?: VttLoadOptions; vttMarkerCreateFn?: (marker: MarkerVttCue, index: number) => MarkerListItem; thumbnailFn?: (time: number) => string | undefined; timeEditable?: boolean; nameEditable?: boolean; nameOptions?: string[]; nameValidationFn?: (name: string) => boolean; source?: MarkerAwareApi | MarkerAwareApi[]; } export declare class MarkerList implements Destroyable, MarkerListApi { onVttLoaded$: Subject<MarkerVttFile | undefined>; onMarkerAction$: Subject<MarkerListActionEvent>; onMarkerClick$: Subject<MarkerListClickEvent>; onMarkerInit$: Subject<MarkerInitEvent>; onMarkerCreate$: Subject<MarkerCreateEvent>; onMarkerDelete$: Subject<MarkerDeleteEvent>; onMarkerUpdate$: Subject<MarkerUpdateEvent>; onMarkerSelected$: Subject<MarkerSelectedEvent>; private _markerListDomController; private _markerListComponent; private _config; private _sources; private _thumbnailVttFile?; private _vttAdapter; private _lastActiveMarker?; private readonly _destroyed$; constructor(config: MarkerListConfig, videoController: VideoControllerApi); get name(): string; getMarkers(): MarkerApi[]; get config(): MarkerListConfig; get thumbnailVttFile(): ThumbnailVttFile | undefined; set thumbnailVttFile(thumbnailVttFile: ThumbnailVttFile | undefined); addMarker(createData: Partial<MarkerApi>, source?: MarkerAwareApi): MarkerApi; updateMarker(id: string, updateValue: Partial<MarkerListItem>): void; removeMarker(id: string): void; toggleMarker(id: string): void; getSelectedMarker(): MarkerApi | undefined; destroy(): void; private getMarkerItem; private addSourceListeners; private addMarkerToComponent; private findThumbnail; private createDefaultMarker; }