@suyouwanggang/p-ui
Version:
`p-ui`是一套使用原生`Web Components`规范开发的跨框架UI组件库,基于`lit-elment`库开发。 [github项目地址](https://github.com/suyouwanggang/p-ui)
71 lines • 2.59 kB
TypeScript
import { LitElement, TemplateResult } from 'lit-element';
interface TreeNodeData {
name?: string;
key?: string | number | undefined;
close?: boolean;
parentKey?: string | number | undefined;
seqNo?: number;
icon?: string;
child?: TreeNodeData[];
closeable?: boolean;
orginalData?: TreeNodeData;
}
interface TreeNodeRender {
(data: TreeNodeData): TemplateResult;
}
declare const defaultNodeRender: (data: TreeNodeData) => TemplateResult;
interface TreeFilter {
(data: TreeNodeData, ...args: any): boolean;
}
declare const defaultFilter: TreeFilter;
/**
* 将数组对象转化为 root 子节点,包括所有下级节点
* @param nodeList
* @param root 如果为空,会创建一个虚拟的根{name:'@ROOT' ,key:undefined }
* @returns 返回根节点
*/
declare const listToTreeData: (nodeList: TreeNodeData[], rootKey?: string | number) => TreeNodeData;
declare const findDataByKey: (data: TreeNodeData, key: string | number) => TreeNodeData;
declare class PTreeNode extends LitElement {
nodeRender: TreeNodeRender;
data: TreeNodeData;
name: string;
icon: string;
close: boolean;
closeable: boolean;
attributeChangedCallback(name: string, old: string, value: string): void;
private _fireNodeEvent;
static get styles(): import("lit-element").CSSResult;
get subNodeSize(): number;
toogleNode(event: Event): void;
updateNodeDistance(): void;
render(): TemplateResult;
private _clickNode;
}
declare class PTree extends LitElement {
static get styles(): import("lit-element").CSSResult;
startKey: string | number;
includeStartNode: boolean;
rootCloseable: boolean;
filterString: string;
data: TreeNodeData;
filterFn: TreeFilter;
nodeRender: TreeNodeRender;
constructor();
get filterData(): TreeNodeData;
get allTreeNode(): PTreeNode[];
private _observer;
firstUpdated(): void;
get startNode(): TreeNodeData;
renderNode(d: TreeNodeData, tree: PTree): TemplateResult;
private _fireNodeEvent;
private _nodeHandler;
renderSubNode(d: TreeNodeData, tree: PTree): TemplateResult | Array<TemplateResult>;
render(): TemplateResult;
updateNodeDistance(): void;
_getUpdateComplete(): Promise<void>;
attributeChangedCallback(name: string, old: string, newval: string): void;
disconnectedCallback(): void;
}
export { PTreeNode, PTree, defaultFilter, defaultNodeRender, findDataByKey, listToTreeData };
//# sourceMappingURL=PTree.d.ts.map