1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| export function deepFind(value: any, list: any[], options?: { allLevels: boolean }) {
| const { allLevels = true } = options || {};
|
| function deep(arr: any[], name: string[]): any | undefined {
| for (const e of arr) {
| if (e.value === value) {
| if (allLevels) {
| return {
| ...e,
| label: [...name, e.label].join(' / ')
| };
| } else {
| return e;
| }
| } else if (e.children) {
| const d = deep(e.children, [...name, e.label]);
|
| if (d !== undefined) {
| return d;
| }
| }
| }
| return undefined;
| }
|
| return deep(list, []);
| }
|
| export function isEmpty(val: any) {
| return val === '' || val === null || val === undefined;
| }
|
|