1 | import Component from "@egjs/component";
|
2 | import { ContainerManager, Properties, RenderOptions, ItemRenderer } from "@egjs/grid";
|
3 | import { STATUS_TYPE } from "./consts";
|
4 | import { GroupManager } from "./GroupManager";
|
5 | import { Infinite } from "./Infinite";
|
6 | import { InfiniteGridItem, InfiniteGridItemStatus } from "./InfiniteGridItem";
|
7 | import { ScrollManager } from "./ScrollManager";
|
8 | import { InfiniteGridEvents, InfiniteGridGroup, InfiniteGridInsertedItems, InfiniteGridItemInfo, InfiniteGridOptions, InfiniteGridStatus, InsertedPlaceholdersResult } from "./types";
|
9 | declare class InfiniteGrid<Options extends InfiniteGridOptions = InfiniteGridOptions> extends Component<InfiniteGridEvents> {
|
10 | static defaultOptions: Required<InfiniteGridOptions>;
|
11 | static propertyTypes: {
|
12 | gap: import("@egjs/grid").PROPERTY_TYPE;
|
13 | defaultDirection: import("@egjs/grid").PROPERTY_TYPE;
|
14 | renderOnPropertyChange: import("@egjs/grid").PROPERTY_TYPE;
|
15 | preserveUIOnDestroy: import("@egjs/grid").PROPERTY_TYPE;
|
16 | useFit: import("@egjs/grid").PROPERTY_TYPE;
|
17 | };
|
18 | protected wrapperElement: HTMLElement;
|
19 | protected scrollManager: ScrollManager;
|
20 | protected itemRenderer: ItemRenderer;
|
21 | protected containerManager: ContainerManager;
|
22 | protected infinite: Infinite;
|
23 | protected groupManager: GroupManager;
|
24 | protected options: Required<Options>;
|
25 | private _waitType;
|
26 | constructor(wrapper: HTMLElement | string, options: Options);
|
27 | renderItems(options?: RenderOptions): this;
|
28 | getWrapperElement(): HTMLElement;
|
29 | getScrollContainerElement(): HTMLElement;
|
30 | getContainerElement(): HTMLElement;
|
31 | syncItems(items: InfiniteGridItemInfo[]): this;
|
32 | setCursors(startCursor: number, endCursor: number, useFirstRender?: boolean): this;
|
33 | getStartCursor(): number;
|
34 | getEndCursor(): number;
|
35 | append(items: InfiniteGridInsertedItems, groupKey?: string | number): this;
|
36 | prepend(items: InfiniteGridInsertedItems, groupKey?: string | number): this;
|
37 | insert(index: number, items: InfiniteGridInsertedItems, groupKey?: string | number): this;
|
38 | getStatus(type?: STATUS_TYPE): InfiniteGridStatus;
|
39 | setPlaceholder(info: Partial<InfiniteGridItemStatus> | null): this;
|
40 | setLoading(info: Partial<InfiniteGridItemStatus> | null): this;
|
41 | appendPlaceholders(items: number | InfiniteGridItemStatus[], groupKey?: string | number): InsertedPlaceholdersResult;
|
42 | prependPlaceholders(items: number | InfiniteGridItemStatus[], groupKey?: string | number): InsertedPlaceholdersResult;
|
43 | removePlaceholders(type: "start" | "end" | {
|
44 | groupKey: string | number;
|
45 | }): void;
|
46 | setStatus(status: InfiniteGridStatus, useFirstRender?: boolean): this;
|
47 | removeGroupByIndex(index: number): this;
|
48 | removeGroupByKey(key: number | string): this;
|
49 | removeByIndex(index: number): this;
|
50 | removeByKey(key: string | number): this;
|
51 | updateItems(items?: InfiniteGridItem[], options?: RenderOptions): this;
|
52 | getItems(includePlaceholders?: boolean): InfiniteGridItem[];
|
53 | getVisibleItems(includePlaceholders?: boolean): InfiniteGridItem[];
|
54 | getRenderingItems(): InfiniteGridItem[];
|
55 | getGroups(includePlaceholders?: boolean): InfiniteGridGroup[];
|
56 | getVisibleGroups(includePlaceholders?: boolean): InfiniteGridGroup[];
|
57 | wait(direction?: "start" | "end"): void;
|
58 | ready(): void;
|
59 | isWait(): boolean;
|
60 | destroy(): void;
|
61 | private _getRenderer;
|
62 | private _render;
|
63 | private _update;
|
64 | private _resizeScroll;
|
65 | private _syncGroups;
|
66 | private _syncInfinite;
|
67 | private _scroll;
|
68 | private _onScroll;
|
69 | private _onChange;
|
70 | private _onRendererUpdated;
|
71 | private _onResize;
|
72 | private _onRequestAppend;
|
73 | private _onRequestPrepend;
|
74 | private _onRequestInsert;
|
75 | private _onContentError;
|
76 | private _onRenderComplete;
|
77 | private _checkStartLoading;
|
78 | private _checkEndLoading;
|
79 | }
|
80 | interface InfiniteGrid extends Properties<typeof InfiniteGrid> {
|
81 | }
|
82 | export default InfiniteGrid;
|