-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
124 changed files
with
9,234 additions
and
44,199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -212,3 +212,4 @@ demo/release/ | |
CHANGELOG.md | ||
build/ | ||
packages/*/dist | ||
dist/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,10 @@ | ||
declare class AutoSizer { | ||
static add(element: Element, prefix?: string): void; | ||
static resize(element: Element, prefix?: boolean): void; | ||
static remove(element: Element, isFixed?: boolean): void; | ||
static resizeAll(): void; | ||
interface IAutoSizierElemenet extends HTMLElement { | ||
__PREFIX__?: string; | ||
} | ||
|
||
export default AutoSizer; | ||
export default class AutoSizer { | ||
static add(element: IAutoSizierElemenet, prefix?: string): void; | ||
static remove(element: IAutoSizierElemenet, isFixed?: boolean): void; | ||
static resize(element: IAutoSizierElemenet, prefix?: string): void; | ||
static resizeAll(): void; | ||
} | ||
export {}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,57 @@ | ||
export interface DOMRendererStatus { | ||
cssText: string; | ||
_size: { | ||
container: number; | ||
view: number; | ||
viewport: number; | ||
item?: { | ||
width: number; | ||
height: number; | ||
} | ||
} | ||
import { WindowMockType } from "./browser"; | ||
import { IInfiniteGridItem } from "./ItemManager"; | ||
import { ISize, IJQuery } from "./types"; | ||
export interface IDOMRendererOptions { | ||
isEqualSize: boolean; | ||
isConstantSize: boolean; | ||
horizontal: boolean; | ||
container: boolean | HTMLElement; | ||
} | ||
export interface DOMRendererOptions { | ||
isEqualSize: boolean; | ||
isConstantSize: boolean; | ||
horizontal: boolean; | ||
container: boolean | HTMLElement; | ||
export interface IDOMRendererSize { | ||
container?: number; | ||
view?: number; | ||
viewport?: number; | ||
item?: ISize; | ||
} | ||
|
||
declare class DOMRenderer { | ||
static renderItems(items: any[], transitionDuration?: number): void; | ||
constructor(element: HTMLElement, options: DOMRendererOptions); | ||
getStatus(): DOMRendererStatus; | ||
setStatus(status: DOMRendererStatus): void; | ||
updateSize(items: any[]): void; | ||
append(items: any[]): void; | ||
prepend(items: any[]): void; | ||
createAndInsert(items: any[], isAppend: boolean): void; | ||
getViewSize(): number; | ||
getViewportSize(): number; | ||
setContainerSize(size: number): void; | ||
resize(): boolean; | ||
isNeededResize(): boolean; | ||
clear(): void; | ||
destroy(): void; | ||
export interface IDOMRendererStatus { | ||
cssText: string; | ||
_size: IDOMRendererSize; | ||
} | ||
export interface IDOMRendererOrgStyle { | ||
position?: CSSStyleDeclaration["position"]; | ||
overflowX?: CSSStyleDeclaration["overflowX"]; | ||
overflowY?: CSSStyleDeclaration["overflowY"]; | ||
} | ||
export declare function resetSize(item: IInfiniteGridItem): void; | ||
export default class DOMRenderer { | ||
static renderItem(item: IInfiniteGridItem, rect: IInfiniteGridItem["rect"], transitionDuration?: number): void; | ||
static renderItems(items: IInfiniteGridItem[], transitionDuration?: number): void; | ||
static removeItems(items: IInfiniteGridItem[]): void; | ||
static removeElement(element: HTMLElement): void; | ||
static createElements(items: IInfiniteGridItem[]): void; | ||
container: HTMLElement; | ||
view: WindowMockType | HTMLElement; | ||
options: IDOMRendererOptions; | ||
_size: IDOMRendererSize; | ||
_orgStyle: IDOMRendererOrgStyle; | ||
constructor(element: string | HTMLElement | IJQuery, options: IDOMRendererOptions); | ||
getStatus(): { | ||
cssText: string; | ||
_size: IDOMRendererSize; | ||
}; | ||
setStatus(status: IDOMRendererStatus): void; | ||
updateSize(items: IInfiniteGridItem[]): IInfiniteGridItem[]; | ||
append(items: IInfiniteGridItem[]): void; | ||
prepend(items: IInfiniteGridItem[]): void; | ||
createAndInsert(items: IInfiniteGridItem[], isAppend?: boolean): void; | ||
getViewSize(): number; | ||
getViewportSize(): number; | ||
setContainerSize(size: number): void; | ||
resize(): boolean; | ||
isNeededResize(): boolean; | ||
clear(): void; | ||
destroy(): void; | ||
private _init; | ||
private _insert; | ||
private _calcSize; | ||
} | ||
export default DOMRenderer; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,26 @@ | ||
export declare type CHECK_ALL = 1; | ||
export declare type CHECK_ONLY_ERROR = 2; | ||
export interface IImageLoadedOptions { | ||
prefix?: string; | ||
length?: number; | ||
type?: CHECK_ALL | CHECK_ONLY_ERROR; | ||
complete?: () => void; | ||
end?: () => void; | ||
error?: (e: { | ||
target: LoadingImageElement; | ||
itemIndex: number; | ||
}) => void; | ||
} | ||
export declare const CHECK_ALL: CHECK_ALL; | ||
export declare const CHECK_ONLY_ERROR: CHECK_ONLY_ERROR; | ||
interface LoadingImageElement extends HTMLImageElement { | ||
__ITEM_INDEX__?: number; | ||
} | ||
declare class ImageLoaded { | ||
static waitImageLoaded(needCheck: Element[], options: { | ||
prefix?: string, | ||
type: number, | ||
length: number, | ||
complete?: () => {}, | ||
error?: (params?: {target?: Element, itemIndex?:number}) => {}, | ||
end?: () => {}, | ||
}): void; | ||
static checkImageLoaded(el: Element): void; | ||
static check(elements: Element[], options: { | ||
prefix?: string, | ||
type: number, | ||
complete?: () => {}, | ||
error?: (params?: {target?: Element, itemIndex?:number}) => {}, | ||
end?: () => {} | ||
}): void; | ||
static CHECK_ALL: number; | ||
static CHECK_ONLY_ERROR: number; | ||
static waitImageLoaded(checklist: LoadingImageElement[][], { prefix, length, type, complete, error, end }: IImageLoadedOptions): void; | ||
static checkImageLoaded(el: HTMLElement): HTMLImageElement[]; | ||
static check(elements: HTMLElement[], { prefix, type, complete, error, end }: IImageLoadedOptions): void; | ||
} | ||
|
||
export default ImageLoaded; | ||
export default ImageLoaded; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,41 @@ | ||
import ItemManager from "./ItemManager"; | ||
|
||
export interface InfiniteStatus { | ||
startCursor: number; | ||
endCursor: number; | ||
size: number; | ||
import ItemManager, { IInfiniteGridGroup } from "./ItemManager"; | ||
import { CursorType } from "./types"; | ||
export interface IInfiniteOptions { | ||
useRecycle?: boolean; | ||
threshold?: number; | ||
append?: (e?: { | ||
cache: IInfiniteGridGroup[]; | ||
}) => void; | ||
prepend?: (e?: { | ||
cache: IInfiniteGridGroup[]; | ||
}) => void; | ||
recycle?: (e?: { | ||
start: number; | ||
end: number; | ||
}) => void; | ||
} | ||
|
||
export interface InfiniteOption { | ||
useRecycle?: boolean; | ||
threshold?: number; | ||
append?: (event?: {cache: any[]}) => any; | ||
prepend?: (event?: {cache: any[]}) => any; | ||
recycle?: (event?: {start: number, end: number}) => any; | ||
export interface IInfiniteStatus { | ||
startCursor: number; | ||
endCursor: number; | ||
size: number; | ||
} | ||
declare class Infinite { | ||
constructor(itemManager: ItemManager, options?: InfiniteOption); | ||
setSize(size: number): this; | ||
recycle(scrollPos: number, isForward: boolean): this; | ||
scroll(scrollPos: number): this; | ||
setCursor(cursor: string, index: number): this; | ||
updateCursor(cursor: string): this; | ||
setData(item: object, isAppend?: boolean): this; | ||
setStatus(status: InfiniteStatus): this; | ||
getStatus(startKey?: any, endKey?: any): InfiniteStatus; | ||
getCursor(cursor: string): number; | ||
getEdgeOutline(cursor: string): any[]; | ||
getEdgeValue(cursor: string): number; | ||
getVisibleData(): any[]; | ||
getVisibleItems(): any[]; | ||
remove(element: Element): any[]; | ||
clear(): void; | ||
options: Required<IInfiniteOptions>; | ||
private _items; | ||
private _status; | ||
constructor(itemManger: ItemManager, options: IInfiniteOptions); | ||
setSize(size: number): void; | ||
recycle(scrollPos: number, isForward?: boolean): void; | ||
scroll(scrollPos: number): void; | ||
setCursor(cursor: CursorType, index: number): void; | ||
setStatus(status: IInfiniteStatus): void; | ||
getStatus(startKey: string | number, endKey: string | number): IInfiniteStatus; | ||
getEdgeOutline(cursor: CursorType): number[]; | ||
getEdgeValue(cursor: CursorType): number; | ||
getVisibleItems(): import("./ItemManager").IInfiniteGridItem[]; | ||
getCursor(cursor: CursorType): number; | ||
getVisibleData(): IInfiniteGridGroup[]; | ||
remove(element: HTMLElement): import("./ItemManager").IInfiniteGridItem[]; | ||
clear(): void; | ||
} | ||
|
||
export default Infinite; | ||
export default Infinite; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,90 @@ | ||
import Component from "@egjs/component"; | ||
import {InfiniteStatus} from "./Infinite"; | ||
import {DOMRendererStatus} from "./DOMRenderer"; | ||
import {WatcherStatus} from "./Watcher"; | ||
import {Item, ItemStatus} from "./ItemManager"; | ||
|
||
export interface InfiniteGridOption { | ||
itemSelector?: string; | ||
isEqualSize?: boolean; | ||
isOverflowScroll?: boolean; | ||
threshold?: number; | ||
useRecycle?: boolean; | ||
horizontal?: boolean; | ||
useFit?: boolean; | ||
isConstantSize?: boolean; | ||
transitionDuration?: number; | ||
import { IInfiniteGridItem, IItemManagerStatus } from "./ItemManager"; | ||
import { IDOMRendererStatus } from "./DOMRenderer"; | ||
import { IWatchStatus } from "./Watcher"; | ||
import { IInfiniteStatus } from "./Infinite"; | ||
import { IJQuery, ILayout, StyleType } from "./types"; | ||
export interface IInfiniteGridOptions { | ||
itemSelector: string; | ||
isOverflowScroll: boolean; | ||
threshold: number; | ||
isEqualSize: boolean; | ||
isConstantSize: boolean; | ||
useRecycle: boolean; | ||
horizontal: boolean; | ||
transitionDuration: number; | ||
useFit: boolean; | ||
attributePrefix: string; | ||
} | ||
|
||
export interface InfiniteGridStatus { | ||
options: InfiniteGridOption; | ||
_items: ItemStatus; | ||
_infinite: InfiniteStatus; | ||
_renderer: DOMRendererStatus; | ||
_watcher: WatcherStatus; | ||
_status: { | ||
loadingSize?: number; | ||
loadingStyle?: object; | ||
processingStatus: number; | ||
}, | ||
export interface IInfiniteGridStatus { | ||
_status: { | ||
processingStatus: number; | ||
loadingSize: number; | ||
loadingStyle: StyleType; | ||
}; | ||
_items: IItemManagerStatus; | ||
_renderer: IDOMRendererStatus; | ||
_watcher: IWatchStatus; | ||
_infinite: IInfiniteStatus; | ||
} | ||
|
||
|
||
declare class InfiniteGrid extends Component { | ||
constructor(el: string | HTMLElement, options?: InfiniteGridOption); | ||
append(elements: (string|HTMLElement)[]| string, groupKey?: string|number): this; | ||
prepend(elements: (string|HTMLElement)[]| string, groupKey?: string|number): this; | ||
moveTo(index: number, itemIndex?: number): this; | ||
clear(): this; | ||
destroy(): void; | ||
getGroupKeys(includeCached?: boolean): (string|number)[]; | ||
getStatus(startKey?: any, endKey?: any): InfiniteGridStatus; | ||
getItem(el: Element | null): Item; | ||
getItem(groupIndex: number, itemIndex: number): Item; | ||
updateItem(el: Element | null): this; | ||
updateItem(groupIndex: number, itemIndex: number): this; | ||
updateItems(): this; | ||
isProcessing(): boolean; | ||
layout(isRelayout?: boolean): this; | ||
remove(item: HTMLElement): (object|null); | ||
setLayout(LayoutKlass?: any, options?: any): this; | ||
getItems(includeCached?: boolean): Item[]; | ||
setStatus(status: InfiniteGridStatus, applyScrollPos?: boolean): this; | ||
static VERSION: string; | ||
options: IInfiniteGridOptions; | ||
private _loadingBar; | ||
private _items; | ||
private _renderer; | ||
private _manager; | ||
private _watcher; | ||
private _infinite; | ||
private _status; | ||
constructor(element: HTMLElement | string | IJQuery, options?: Partial<IInfiniteGridOptions>); | ||
append(elements: HTMLElement[] | IJQuery | string[] | string, groupKey?: string | number): this; | ||
prepend(elements: HTMLElement[] | IJQuery | string[] | string, groupKey?: string | number): this; | ||
setLayout(LayoutKlass: ILayout | (new (...args: any[]) => ILayout), options?: {}): this; | ||
getItems(includeCached?: boolean): IInfiniteGridItem[]; | ||
layout(isRelayout?: boolean): this; | ||
remove(element: HTMLElement, isLayout?: boolean): IInfiniteGridItem[]; | ||
getGroupKeys(includeCached?: boolean): (string | number)[]; | ||
getStatus(startKey?: string | number, endKey?: string | number): IInfiniteGridStatus; | ||
setStatus(status: IInfiniteGridStatus, applyScrollPos?: boolean): this; | ||
clear(): this; | ||
setLoadingBar(userLoadingBar?: { | ||
append?: string | HTMLElement; | ||
prepepnd?: string | HTMLElement; | ||
} | string): this; | ||
isProcessing(): boolean; | ||
getLoadingBar(isAppend?: boolean): HTMLElement; | ||
startLoading(isAppend?: boolean, userStyle?: StyleType): this; | ||
endLoading(userStyle?: StyleType): this; | ||
getItem(groupIndex?: number, itemIndex?: number): IInfiniteGridItem; | ||
updateItem(groupIndex?: number, itemIndex?: number): this; | ||
updateItems(): this; | ||
moveTo(index?: number, itemIndex?: number): this; | ||
destroy(): void; | ||
private _setContainerSize; | ||
private _appendLoadingBar; | ||
private _setSize; | ||
private _fitItems; | ||
private _fit; | ||
private _getEdgeValue; | ||
private _isProcessing; | ||
private _isLoading; | ||
private _getLoadingStatus; | ||
private _process; | ||
private _insert; | ||
private _recycle; | ||
private _renderLoading; | ||
private _updateItem; | ||
private _setScrollPos; | ||
private _scrollTo; | ||
private _onImageError; | ||
private _postCache; | ||
private _postLayout; | ||
private _requestAppend; | ||
private _requestPrepend; | ||
private _onResize; | ||
private _onCheck; | ||
private _onLayoutComplete; | ||
private _reset; | ||
} | ||
|
||
export default InfiniteGrid; |
Oops, something went wrong.