UNPKG

@egjs/flicking

Version:

Everyday 30 million people experience. It's reliable, flexible and extendable carousel.

60 lines (59 loc) 2.35 kB
import Flicking, { FlickingOptions } from "../Flicking"; import Panel, { PanelOptions } from "../core/panel/Panel"; import RenderingStrategy from "./strategy/RenderingStrategy"; export interface RendererOptions { align?: FlickingOptions["align"]; strategy: RenderingStrategy; } declare abstract class Renderer { protected _flicking: Flicking | null; protected _panels: Panel[]; protected _rendering: boolean; protected _align: NonNullable<RendererOptions["align"]>; protected _strategy: RendererOptions["strategy"]; get panels(): Panel[]; get rendering(): boolean; get panelCount(): number; get strategy(): RenderingStrategy; get align(): NonNullable<RendererOptions["align"]>; set align(val: NonNullable<RendererOptions["align"]>); constructor({ align, strategy }: RendererOptions); abstract render(): Promise<void>; protected abstract _collectPanels(): void; protected abstract _createPanel(el: any, options: Omit<PanelOptions, "elementProvider">): Panel; init(flicking: Flicking): this; destroy(): void; getPanel(index: number): Panel | null; forceRenderAllPanels(): Promise<void>; updatePanelSize(): this; batchInsert(...items: Array<{ index: number; elements: any[]; hasDOMInElements: boolean; }>): Panel[]; batchInsertDefer(...items: Array<{ index: number; elements: any[]; hasDOMInElements: boolean; }>): any[]; batchRemove(...items: Array<{ index: number; deleteCount: number; hasDOMInElements: boolean; }>): Panel[]; batchRemoveDefer(...items: Array<{ index: number; deleteCount: number; hasDOMInElements: boolean; }>): any[]; updateAfterPanelChange(panelsAdded: Panel[], panelsRemoved: Panel[]): void; checkPanelContentsReady(checkingPanels: Panel[]): void; protected _updateCameraAndControl(): void; protected _showOnlyVisiblePanels(flicking: Flicking): void; protected _updatePanelSizeByGrid(referencePanel: Panel, panels: Panel[]): void; protected _removeAllChildsFromCamera(): void; protected _insertPanelElements(panels: Panel[], nextSibling?: Panel | null): void; protected _removePanelElements(panels: Panel[]): void; protected _afterRender(): void; } export default Renderer;