@visactor/vrender-core
Version:
## Description
44 lines (43 loc) • 2.12 kB
TypeScript
import type { IEventElement, Releaseable } from './common';
export interface INode extends Releaseable, IEventElement {
_prev?: INode;
_next?: INode;
_uid: number;
id?: number | string;
name?: string;
type?: string;
parent: INode | null;
count: number;
childrenCount: number;
firstChild: INode | null;
lastChild: INode | null;
getChildren: () => INode[];
getChildAt: (idx: number) => INode | null;
at: (idx: number) => INode | null;
insertBefore: (newNode: INode, referenceNode: INode) => INode | null;
insertAfter: (newNode: INode, referenceNode: INode) => INode | null;
insertInto: (ele: INode, idx: number) => INode | null;
insertIntoKeepIdx: (ele: INode, idx: number) => INode | null;
forEachChildren: (cb: (n: INode, i: number) => void | boolean, reverse?: boolean) => void;
forEachChildrenAsync: (cb: (n: INode, i: number) => Promise<void | boolean> | void | boolean, reverse?: boolean) => Promise<void>;
appendChild: (node: INode, highPerformance?: boolean) => INode | null;
add: (node: INode, highPerformance?: boolean) => INode | null;
delete: () => void;
removeChild: (node: INode, highPerformance?: boolean) => INode | null;
removeAllChild: (deep?: boolean) => void;
isChildOf: (node: INode) => boolean;
isParentOf: (node: INode) => boolean;
isDescendantsOf: (node: INode) => boolean;
isAncestorsOf: (node: INode) => boolean;
dispatchEvent: (event: Event) => boolean;
containNode: (node: INode) => boolean;
setAllDescendantsProps: (propsName: string, propsValue: any) => any;
find: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode | null;
findAll: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode[];
getElementById: (id: string | number) => INode | null;
findChildById: (id: string | number) => INode | null;
findChildByUid: (uid: number) => INode | null;
getElementsByName: (name: string) => INode[];
findChildrenByName: (name: string) => INode[];
getElementsByType: (type: string) => INode[];
}