@snippetify/book-reader-component
Version:
Book Reader Component
61 lines (60 loc) • 2.61 kB
TypeScript
import '@fortawesome/fontawesome-free/js/all.min';
import { EventEmitter } from '../../stencil-public-runtime';
import { Page } from '../../models/page';
import { Paragraph } from '../../models/paragraph';
import { Decorator } from '../../models/decorator';
import { ReadStyle } from '../../models/read-style';
import { BookReaderEvent, ContextMenuAction, ScrollDirectionAction } from '../../events/events';
import { Selection } from '../../models/selection';
export declare class BookReader {
config: any;
pages: Page[];
pages2: Page[];
readStyle: ReadStyle;
decorators: Decorator[];
isMenuOpened: boolean;
bookReady: EventEmitter<BookReaderEvent<string, string>>;
bookUpdated: EventEmitter<BookReaderEvent<string, string>>;
selection: EventEmitter<BookReaderEvent<string, Selection>>;
decorator: EventEmitter<BookReaderEvent<string, Decorator>>;
comparison: EventEmitter<BookReaderEvent<string, Paragraph>>;
stopScrolling: EventEmitter<BookReaderEvent<string, string>>;
contextMenuItem: EventEmitter<BookReaderEvent<ContextMenuAction, Selection>>;
scrollDirection: EventEmitter<BookReaderEvent<ScrollDirectionAction, string>>;
private printed;
private scrollTimer;
private lastScrollTop;
private menuAnchor;
private container;
private decoratorManager;
private selectionManager;
constructor();
getConfig(): Promise<any>;
setConfig(config: any): Promise<void>;
setPages(pages: Page[]): Promise<void>;
setAllPages(pages: Page[], pages2: Page[]): Promise<void>;
setDecorators(decorators: Decorator[]): Promise<void>;
getReadStyle(): Promise<ReadStyle>;
setReadStyle(style: ReadStyle): Promise<void>;
goToPage(no: number, shift?: number): Promise<void>;
goToParagraph(page: number, parag: number, shift?: number): Promise<void>;
goToElementById(id: string, shift?: number): Promise<void>;
getFirstVisibleElementOnViewport(): Promise<string>;
highlightKeywords(elementId: string, keywords: string[]): Promise<void>;
langComparisonHandler(event: CustomEvent<Paragraph>): void;
menuItemClickedHandler(event: CustomEvent<BookReaderEvent<ContextMenuAction, Selection>>): void;
handleScroll(_: Event): void;
handleDocumentClick(e: Event): void;
handleDocumentMouseDown(e: Event): void;
handleSelection(_: BookReaderEvent<string, Selection>): void;
componentDidLoad(): void;
componentDidUpdate(): void;
private publishSelectionEvent;
private publishDecoratorEvent;
private onStopScrolling;
private publishScrollDirections;
private applyStyle;
private getContextMenuAnchor;
private getItemToRender;
render(): any;
}