@egjs/infinitegrid
Version:
A module used to arrange elements including content infinitely according to grid type. With this module, you can implement various grids composed of different card elements whose sizes vary. It guarantees performance by maintaining the number of DOMs the
52 lines (51 loc) • 1.84 kB
TypeScript
import { Ref } from "@cfcs/core";
import Component from "@egjs/component";
import { OnChangeScroll } from "./types";
export interface ScrollManagerOptions {
scrollContainer?: HTMLElement | string | Ref<HTMLElement> | null;
container?: boolean | HTMLElement | string | Ref<HTMLElement>;
containerTag?: string;
horizontal?: boolean;
}
export interface ScrollManagerStatus {
contentSize: number;
scrollOffset: number;
prevScrollPos: number;
}
export interface ScrollManagerEvents {
scroll: OnChangeScroll;
}
export declare class ScrollManager extends Component<ScrollManagerEvents> {
protected wrapper: HTMLElement;
options: Required<ScrollManagerOptions>;
protected prevScrollPos: number | null;
protected eventTarget: HTMLElement | Window;
protected scrollOffset: number;
protected contentSize: number;
protected container: HTMLElement;
protected scrollContainer: HTMLElement;
private _orgCSSText;
private _isScrollIssue;
private _isCreateElement;
constructor(wrapper: HTMLElement, options: ScrollManagerOptions);
getWrapper(): HTMLElement;
getContainer(): HTMLElement;
getScrollContainer(): HTMLElement;
getScrollOffset(): number;
getContentSize(): number;
getRelativeScrollPos(): number;
getScrollPos(): number;
setScrollPos(pos: number): void;
getOrgScrollPos(): number;
setStatus(status: ScrollManagerStatus): void;
getStatus(): ScrollManagerStatus;
scrollTo(pos: number): void;
scrollBy(pos: number): void;
/**
* @return Returns true if scrollOffset or contentSize has changed, otherwise returns false. <ko>scrollOffset 또는 contentSize가 변화가 있으면 true 아니면 false를 반환한다.</ko>
*/
resize(): boolean;
destroy(): void;
private _init;
private _onCheck;
}