adding data browser

This commit is contained in:
2024-09-08 22:11:51 -04:00
parent e88499cbaf
commit 224e6388c1
48 changed files with 1037 additions and 75 deletions

38
src/models/tree-node.ts Normal file
View File

@@ -0,0 +1,38 @@
import { Action } from './action';
export class TreeNode {
label: string;
data: any;
children: TreeNode[];
leaf: boolean;
expanded: boolean;
hidden: boolean;
disabled: boolean;
selected: boolean;
actions: Action[];
index: number;
isFirst: boolean;
isLast: boolean;
constructor(data: Partial<TreeNode>) {
this.label = data?.label ?? '';
this.data = data?.data ?? null;
this.children = (data?.children ?? []).map(
(i: Partial<TreeNode>, index: number) =>
new TreeNode({ ...i, ...{ index: index } })
);
this.leaf = data?.leaf ?? this.children.length === 0;
this.expanded = data?.expanded ?? false;
this.hidden = data?.hidden ?? false;
this.disabled = data?.disabled ?? false;
this.selected = data?.selected ?? false;
this.actions = (data?.actions ?? []).map(
(i: Partial<Action>) => new Action(i)
);
this.index = data?.index ?? 0;
this.isFirst = data?.isFirst ?? false;
this.isLast = data?.isLast ?? false;
}
}