UNPKG

page-flip

Version:

Powerful, simple and flexible JS Library for creating realistic and beautiful page turning effect

60 lines (47 loc) 1.47 kB
import { UI } from './UI'; import { PageFlip } from '../PageFlip'; import { FlipSetting } from '../Settings'; /** * UI for HTML mode */ export class HTMLUI extends UI { private items: NodeListOf<HTMLElement> | HTMLElement[]; constructor( inBlock: HTMLElement, app: PageFlip, setting: FlipSetting, items: NodeListOf<HTMLElement> | HTMLElement[] ) { super(inBlock, app, setting); // Second wrapper to HTML page this.wrapper.insertAdjacentHTML('afterbegin', '<div class="stf__block"></div>'); this.distElement = inBlock.querySelector('.stf__block'); this.items = items; for (const item of items) { this.distElement.appendChild(item); } this.setHandlers(); } public clear(): void { for (const item of this.items) { this.parentElement.appendChild(item); } } /** * Update page list from HTMLElements * * @param {(NodeListOf<HTMLElement>|HTMLElement[])} items - List of pages as HTML Element */ public updateItems(items: NodeListOf<HTMLElement> | HTMLElement[]): void { this.removeHandlers(); this.distElement.innerHTML = ''; for (const item of items) { this.distElement.appendChild(item); } this.items = items; this.setHandlers(); } public update(): void { this.app.getRender().update(); } }