@gisce/react-ooui 1.1.22-rc.0 → 1.1.22-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers/treeHelper.d.ts +1 -1
- package/dist/helpers/treeHelper.d.ts.map +1 -1
- package/dist/react-ooui.es.js +1836 -1779
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +15 -15
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/widgets/base/ReferenceTree.d.ts +8 -0
- package/dist/widgets/base/ReferenceTree.d.ts.map +1 -0
- package/dist/widgets/base/many2one/Many2oneTree.d.ts +6 -0
- package/dist/widgets/base/many2one/Many2oneTree.d.ts.map +1 -0
- package/dist/widgets/base/one2many/One2manyInput.d.ts.map +1 -1
- package/dist/widgets/views/Dashboard/DashboardTree.d.ts.map +1 -1
- package/dist/widgets/views/SearchTree.d.ts.map +1 -1
- package/dist/widgets/views/Tree.d.ts +1 -0
- package/dist/widgets/views/Tree.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/helpers/treeHelper.ts +16 -4
- package/src/widgets/base/ReferenceTree.tsx +62 -0
- package/src/widgets/base/many2one/Many2oneTree.tsx +18 -0
- package/src/widgets/base/one2many/One2manyInput.tsx +1 -0
- package/src/widgets/views/Dashboard/DashboardTree.tsx +1 -0
- package/src/widgets/views/SearchTree.tsx +1 -0
- package/src/widgets/views/Tree.tsx +40 -21
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare type ReferenceTreeProps = {
|
|
3
|
+
value: string;
|
|
4
|
+
context?: any;
|
|
5
|
+
selectionValues?: any;
|
|
6
|
+
};
|
|
7
|
+
export declare const ReferenceTree: (props: ReferenceTreeProps) => React.ReactElement;
|
|
8
|
+
//# sourceMappingURL=ReferenceTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferenceTree.d.ts","sourceRoot":"","sources":["ReferenceTree.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,oBAAY,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,kBAAkB,KACxB,MAAM,YA+CR,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Many2oneTree.d.ts","sourceRoot":"","sources":["Many2oneTree.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,oBAAY,iBAAiB,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC;AAElD,eAAO,MAAM,YAAY,UAAW,iBAAiB,KAAG,MAAM,YAW7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"One2manyInput.d.ts","sourceRoot":"","sources":["One2manyInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAkB1C,aAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC5B,CAAC;AAQF,aAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EACN,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;CACd;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"One2manyInput.d.ts","sourceRoot":"","sources":["One2manyInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAWvD,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAC;AAkB1C,aAAK,aAAa,GAAG;IACnB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC5B,CAAC;AAQF,aAAK,YAAY,GAAG;IAClB,SAAS,CAAC,EACN,UAAU,GACV,eAAe,GACf,eAAe,GACf,eAAe,GACf,aAAa,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;CACd;AAWD,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8kB/C,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTree.d.ts","sourceRoot":"","sources":["DashboardTree.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"DashboardTree.d.ts","sourceRoot":"","sources":["DashboardTree.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAY,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,sBA8MlC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchTree.d.ts","sourceRoot":"","sources":["SearchTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,CAAC;CAC1D,CAAC;;
|
|
1
|
+
{"version":3,"file":"SearchTree.d.ts","sourceRoot":"","sources":["SearchTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAKf,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgBnD,aAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,uBAAuB,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,CAAC;CAC1D,CAAC;;AA2SF,wBAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAiB3C,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAC;AAmEF,iBAAS,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA4L9C;AAED,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Tree as TreeOoui,
|
|
3
|
+
Selection,
|
|
4
|
+
Many2one,
|
|
5
|
+
Boolean,
|
|
6
|
+
Reference,
|
|
7
|
+
} from "@gisce/ooui";
|
|
2
8
|
import { TreeView, Column } from "@/types";
|
|
3
9
|
|
|
4
10
|
const getTree = (treeView: TreeView): TreeOoui => {
|
|
@@ -9,7 +15,11 @@ const getTree = (treeView: TreeView): TreeOoui => {
|
|
|
9
15
|
return tree;
|
|
10
16
|
};
|
|
11
17
|
|
|
12
|
-
const getTableColumns = (
|
|
18
|
+
const getTableColumns = (
|
|
19
|
+
tree: TreeOoui,
|
|
20
|
+
components: any,
|
|
21
|
+
context: any
|
|
22
|
+
): Array<Column> => {
|
|
13
23
|
const tableColumns = tree.columns.map((column) => {
|
|
14
24
|
const type = column.type;
|
|
15
25
|
const key = column.id;
|
|
@@ -18,7 +28,7 @@ const getTableColumns = (tree: TreeOoui, components: any): Array<Column> => {
|
|
|
18
28
|
|
|
19
29
|
if (component) {
|
|
20
30
|
render = (item: any) => {
|
|
21
|
-
return component(item);
|
|
31
|
+
return component(item, key, tree.fields[key], context);
|
|
22
32
|
};
|
|
23
33
|
}
|
|
24
34
|
|
|
@@ -54,7 +64,9 @@ const getTableItems = (treeOoui: TreeOoui, results: Array<any>): Array<any> => {
|
|
|
54
64
|
} else {
|
|
55
65
|
const widget = treeOoui.findById(key);
|
|
56
66
|
|
|
57
|
-
if (widget instanceof
|
|
67
|
+
if (widget instanceof Reference) {
|
|
68
|
+
parsedItem[key] = item[key];
|
|
69
|
+
} else if (widget instanceof Selection) {
|
|
58
70
|
const selection = widget;
|
|
59
71
|
parsedItem[key] = selection.selectionValues.get(item[key]);
|
|
60
72
|
} else if (widget instanceof Many2one) {
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import ConnectionProvider from "@/ConnectionProvider";
|
|
2
|
+
import { Space } from "antd";
|
|
3
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
4
|
+
import { Many2oneSuffix } from "./many2one/Many2oneSuffix";
|
|
5
|
+
import { LoadingOutlined } from "@ant-design/icons";
|
|
6
|
+
|
|
7
|
+
export type ReferenceTreeProps = {
|
|
8
|
+
value: string;
|
|
9
|
+
context?: any;
|
|
10
|
+
selectionValues?: any;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const ReferenceTree = (
|
|
14
|
+
props: ReferenceTreeProps
|
|
15
|
+
): React.ReactElement => {
|
|
16
|
+
const { value, context, selectionValues } = props;
|
|
17
|
+
const [name, setName] = useState();
|
|
18
|
+
const [loading, setLoading] = useState(false);
|
|
19
|
+
|
|
20
|
+
const [model, id] = value ? value.split(",") : [];
|
|
21
|
+
const intId = parseInt(id);
|
|
22
|
+
|
|
23
|
+
const fetchName = useCallback(async () => {
|
|
24
|
+
if (!value) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (value && name) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
setLoading(true);
|
|
31
|
+
const nameResponse = await ConnectionProvider.getHandler().execute({
|
|
32
|
+
action: "name_get",
|
|
33
|
+
payload: [intId],
|
|
34
|
+
model,
|
|
35
|
+
context,
|
|
36
|
+
});
|
|
37
|
+
setName(nameResponse[0][1]);
|
|
38
|
+
setLoading(false);
|
|
39
|
+
}, [value, name]);
|
|
40
|
+
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
fetchName();
|
|
43
|
+
}, [value]);
|
|
44
|
+
|
|
45
|
+
if (!value && !loading) {
|
|
46
|
+
return <></>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (loading) {
|
|
50
|
+
return <LoadingOutlined />;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const selectionDescription = selectionValues.get(model);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<Space>
|
|
57
|
+
<>{`${selectionDescription}:`}</>
|
|
58
|
+
<>{name}</>
|
|
59
|
+
<Many2oneSuffix id={intId} model={model} />
|
|
60
|
+
</Space>
|
|
61
|
+
);
|
|
62
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Space } from "antd";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Many2oneSuffix } from "./Many2oneSuffix";
|
|
4
|
+
|
|
5
|
+
export type Many2oneTreeProps = { m2oField: any };
|
|
6
|
+
|
|
7
|
+
export const Many2oneTree = (props: Many2oneTreeProps): React.ReactElement => {
|
|
8
|
+
const { m2oField } = props;
|
|
9
|
+
if (!m2oField) {
|
|
10
|
+
return <></>;
|
|
11
|
+
}
|
|
12
|
+
return (
|
|
13
|
+
<Space>
|
|
14
|
+
<>{m2oField.value}</>
|
|
15
|
+
<Many2oneSuffix id={m2oField.id} model={m2oField.model} />
|
|
16
|
+
</Space>
|
|
17
|
+
);
|
|
18
|
+
};
|
|
@@ -17,6 +17,8 @@ import {
|
|
|
17
17
|
} from "@ant-design/icons";
|
|
18
18
|
import { One2manyValue } from "../base/one2many/One2manyInput";
|
|
19
19
|
import { Interweave } from "interweave";
|
|
20
|
+
import { Many2oneTree } from "../base/many2one/Many2oneTree";
|
|
21
|
+
import { ReferenceTree } from "../base/ReferenceTree";
|
|
20
22
|
|
|
21
23
|
type Props = {
|
|
22
24
|
total?: number;
|
|
@@ -35,6 +37,7 @@ type Props = {
|
|
|
35
37
|
sorter?: any;
|
|
36
38
|
onFetchChildrenForRecord?: (item: any) => Promise<any[]>;
|
|
37
39
|
childField?: string;
|
|
40
|
+
context?: any;
|
|
38
41
|
};
|
|
39
42
|
|
|
40
43
|
const booleanComponentFn = (value: boolean): React.ReactElement => {
|
|
@@ -52,16 +55,9 @@ const booleanComponentFn = (value: boolean): React.ReactElement => {
|
|
|
52
55
|
};
|
|
53
56
|
|
|
54
57
|
const many2OneComponentFn = (m2oField: any): React.ReactElement => {
|
|
55
|
-
|
|
56
|
-
return <></>;
|
|
57
|
-
}
|
|
58
|
-
return (
|
|
59
|
-
<Space>
|
|
60
|
-
<>{m2oField.value}</>
|
|
61
|
-
<Many2oneSuffix id={m2oField.id} model={m2oField.model} />
|
|
62
|
-
</Space>
|
|
63
|
-
);
|
|
58
|
+
return <Many2oneTree m2oField={m2oField} />;
|
|
64
59
|
};
|
|
60
|
+
|
|
65
61
|
const textComponentFn = (value: any): React.ReactElement => {
|
|
66
62
|
return <Interweave content={value?.replace(/(?:\r\n|\r|\n)/g, "<br>")} />;
|
|
67
63
|
};
|
|
@@ -92,6 +88,23 @@ const imageComponent = (value: string): React.ReactElement => {
|
|
|
92
88
|
);
|
|
93
89
|
};
|
|
94
90
|
|
|
91
|
+
const referenceComponent = (
|
|
92
|
+
value: any,
|
|
93
|
+
key: string,
|
|
94
|
+
fieldDefinitions: any,
|
|
95
|
+
context: any
|
|
96
|
+
): React.ReactElement => {
|
|
97
|
+
return (
|
|
98
|
+
<>
|
|
99
|
+
<ReferenceTree
|
|
100
|
+
value={value}
|
|
101
|
+
selectionValues={new Map(fieldDefinitions?.selection)}
|
|
102
|
+
context={context}
|
|
103
|
+
/>
|
|
104
|
+
</>
|
|
105
|
+
);
|
|
106
|
+
};
|
|
107
|
+
|
|
95
108
|
function Tree(props: Props): React.ReactElement {
|
|
96
109
|
const {
|
|
97
110
|
page = 1,
|
|
@@ -110,6 +123,7 @@ function Tree(props: Props): React.ReactElement {
|
|
|
110
123
|
sorter,
|
|
111
124
|
onFetchChildrenForRecord,
|
|
112
125
|
childField,
|
|
126
|
+
context,
|
|
113
127
|
} = props;
|
|
114
128
|
|
|
115
129
|
const [items, setItems] = useState<Array<any>>([]);
|
|
@@ -125,18 +139,23 @@ function Tree(props: Props): React.ReactElement {
|
|
|
125
139
|
useEffect(() => {
|
|
126
140
|
treeOoui.current = getTree(treeView);
|
|
127
141
|
|
|
128
|
-
const columns = getTableColumns(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
const columns = getTableColumns(
|
|
143
|
+
treeOoui.current,
|
|
144
|
+
{
|
|
145
|
+
boolean: booleanComponentFn,
|
|
146
|
+
many2one: many2OneComponentFn,
|
|
147
|
+
text: textComponentFn,
|
|
148
|
+
one2many: one2ManyComponentFn,
|
|
149
|
+
many2many: one2ManyComponentFn,
|
|
150
|
+
progressbar: progressBarComponentFn,
|
|
151
|
+
float_time: floatTimeComponent,
|
|
152
|
+
image: imageComponent,
|
|
153
|
+
integer: numberComponent,
|
|
154
|
+
float: numberComponent,
|
|
155
|
+
reference: referenceComponent,
|
|
156
|
+
},
|
|
157
|
+
context
|
|
158
|
+
);
|
|
140
159
|
|
|
141
160
|
setColumns(columns);
|
|
142
161
|
}, [treeView]);
|