@gisce/react-ooui 1.4.7 → 1.4.8-rc.0
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/react-ooui.es.js +3284 -3249
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +11 -11
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/views/actionViews/GraphActionView.d.ts.map +1 -1
- package/dist/widgets/base/Integer.d.ts.map +1 -1
- package/dist/widgets/base/one2many/One2manyInput.d.ts.map +1 -1
- package/dist/widgets/views/Form.d.ts +2 -2
- package/dist/widgets/views/Form.d.ts.map +1 -1
- package/dist/widgets/views/SearchTree.d.ts.map +1 -1
- package/dist/widgets/views/searchFilter/SearchFilter.d.ts +0 -1
- package/dist/widgets/views/searchFilter/SearchFilter.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/views/actionViews/GraphActionView.tsx +0 -1
- package/src/widgets/base/Integer.tsx +14 -1
- package/src/widgets/base/one2many/One2manyInput.tsx +11 -3
- package/src/widgets/views/Form.tsx +60 -7
- package/src/widgets/views/SearchTree.tsx +1 -2
- package/src/widgets/views/searchFilter/SearchFilter.tsx +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphActionView.d.ts","sourceRoot":"","sources":["GraphActionView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO7C,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,oBAAoB,
|
|
1
|
+
{"version":3,"file":"GraphActionView.d.ts","sourceRoot":"","sources":["GraphActionView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO7C,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,oBAAoB,6BA8H1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["Integer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,aAAK,YAAY,GAAG,WAAW,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["Integer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,aAAK,YAAY,GAAG,WAAW,GAAG;IAChC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,YAAY,sBA4C1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"One2manyInput.d.ts","sourceRoot":"","sources":["One2manyInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,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,KAMN,MAAM,OAAO,CAAC;AACf,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,CAqoB/C,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -9,8 +9,8 @@ export declare type FormProps = {
|
|
|
9
9
|
showFooter?: boolean;
|
|
10
10
|
getDataFromAction?: boolean;
|
|
11
11
|
mustClearAfterSave?: boolean;
|
|
12
|
-
submitMode?: "api" | "values";
|
|
13
|
-
onSubmitSucceed?: (id?: number, values?: any, formValues?: any) => void;
|
|
12
|
+
submitMode?: "api" | "values" | "2many";
|
|
13
|
+
onSubmitSucceed?: (id?: number, values?: any, formValues?: any, x2manyPendingLink?: boolean) => void;
|
|
14
14
|
onSubmitError?: (error: any) => void;
|
|
15
15
|
onCancel?: () => void;
|
|
16
16
|
onFieldsChange?: (values: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAkCf,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAmBjD,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["Form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAkCf,OAAO,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAmBjD,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,CAChB,EAAE,CAAC,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EACZ,UAAU,CAAC,EAAE,GAAG,EAChB,iBAAiB,CAAC,EAAE,OAAO,KACxB,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;;AAmhCF,wBAAgC"}
|
|
@@ -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;;AAgTF,wBAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["SearchFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAY3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,aAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SearchFilter.d.ts","sourceRoot":"","sources":["SearchFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAY3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,aAAK,KAAK,GAAG;IACX,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,qBAyHjC;AAED,eAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gisce/react-ooui",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.8-rc.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@ant-design/plots": "^1.0.9",
|
|
35
35
|
"@gisce/fiber-diagram": "^1.1.0-rc.3",
|
|
36
|
-
"@gisce/ooui": "^0.22.1",
|
|
36
|
+
"@gisce/ooui": "^0.22.1-rc.1",
|
|
37
37
|
"@gisce/react-formiga-components": "^1.0.9-rc.21",
|
|
38
|
-
"@gisce/react-formiga-table": "^0.8.4",
|
|
38
|
+
"@gisce/react-formiga-table": "^0.8.4-rc.0",
|
|
39
39
|
"@monaco-editor/react": "^4.4.5",
|
|
40
40
|
"@tabler/icons-react": "^2.11.0",
|
|
41
41
|
"antd": "^5.5.2",
|
|
@@ -27,7 +27,20 @@ export const Integer = (props: IntegerProps) => {
|
|
|
27
27
|
className={"w-full "}
|
|
28
28
|
disabled={readOnly}
|
|
29
29
|
formatter={(value) => {
|
|
30
|
-
|
|
30
|
+
// Check if value is not undefined and is a valid number
|
|
31
|
+
if (
|
|
32
|
+
value === undefined ||
|
|
33
|
+
typeof value !== "number" ||
|
|
34
|
+
isNaN(value)
|
|
35
|
+
) {
|
|
36
|
+
return "";
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Truncate the value to remove decimals
|
|
40
|
+
let truncatedValue = Math.trunc(value);
|
|
41
|
+
|
|
42
|
+
// Replace non-numeric and non-hyphen characters
|
|
43
|
+
return `${truncatedValue}`.replace(/[^0-9\-]+/g, "");
|
|
31
44
|
}}
|
|
32
45
|
onChange={(newValue: any) => {
|
|
33
46
|
const newNumber = newValue as number;
|
|
@@ -437,11 +437,19 @@ const One2manyInput: React.FC<One2manyInputProps> = (
|
|
|
437
437
|
const onFormModalSubmitSucceed = (
|
|
438
438
|
id: number | undefined,
|
|
439
439
|
_: any,
|
|
440
|
-
values: any
|
|
440
|
+
values: any,
|
|
441
|
+
x2manyPendingLink: boolean = false
|
|
441
442
|
) => {
|
|
442
443
|
let updatedItems: One2manyItem[];
|
|
443
444
|
|
|
444
|
-
if (
|
|
445
|
+
if (x2manyPendingLink) {
|
|
446
|
+
updatedItems = items.concat({
|
|
447
|
+
id,
|
|
448
|
+
operation: "pendingLink",
|
|
449
|
+
values: { ...values, id },
|
|
450
|
+
treeValues: { ...values, id },
|
|
451
|
+
});
|
|
452
|
+
} else if (id) {
|
|
445
453
|
updatedItems = items.map((item: One2manyItem) => {
|
|
446
454
|
if (item.id === id) {
|
|
447
455
|
return {
|
|
@@ -683,7 +691,7 @@ const One2manyInput: React.FC<One2manyInputProps> = (
|
|
|
683
691
|
formView={views.get("form")}
|
|
684
692
|
model={relation}
|
|
685
693
|
id={modalItem?.id}
|
|
686
|
-
submitMode={"
|
|
694
|
+
submitMode={"2many"}
|
|
687
695
|
values={modalItem?.values}
|
|
688
696
|
defaultValues={modalItem?.defaultValues}
|
|
689
697
|
visible={showFormModal}
|
|
@@ -67,8 +67,13 @@ export type FormProps = {
|
|
|
67
67
|
showFooter?: boolean;
|
|
68
68
|
getDataFromAction?: boolean;
|
|
69
69
|
mustClearAfterSave?: boolean;
|
|
70
|
-
submitMode?: "api" | "values";
|
|
71
|
-
onSubmitSucceed?: (
|
|
70
|
+
submitMode?: "api" | "values" | "2many";
|
|
71
|
+
onSubmitSucceed?: (
|
|
72
|
+
id?: number,
|
|
73
|
+
values?: any,
|
|
74
|
+
formValues?: any,
|
|
75
|
+
x2manyPendingLink?: boolean
|
|
76
|
+
) => void;
|
|
72
77
|
onSubmitError?: (error: any) => void;
|
|
73
78
|
onCancel?: () => void;
|
|
74
79
|
onFieldsChange?: (values: any) => void;
|
|
@@ -127,6 +132,7 @@ function Form(props: FormProps, ref: any) {
|
|
|
127
132
|
const lastAssignedValues = useRef<any>({});
|
|
128
133
|
const warningIsShown = useRef<boolean>(false);
|
|
129
134
|
const formSubmitting = useRef<boolean>(false);
|
|
135
|
+
const x2manyPendingLink = useRef<boolean>(false);
|
|
130
136
|
|
|
131
137
|
const widthToEvaluate =
|
|
132
138
|
parentWidth !== undefined ? parentWidth : containerWidth;
|
|
@@ -203,10 +209,15 @@ function Form(props: FormProps, ref: any) {
|
|
|
203
209
|
}
|
|
204
210
|
}, [defaultGetCalled]);
|
|
205
211
|
|
|
206
|
-
const onSubmitSucceed = (
|
|
212
|
+
const onSubmitSucceed = (
|
|
213
|
+
id?: number,
|
|
214
|
+
values?: any,
|
|
215
|
+
formValues?: any,
|
|
216
|
+
x2manyPendingLink?: boolean
|
|
217
|
+
) => {
|
|
207
218
|
setFormHasChanges?.(false);
|
|
208
219
|
setFormIsSaving?.(false);
|
|
209
|
-
propsOnSubmitSucceed?.(id, values, formValues);
|
|
220
|
+
propsOnSubmitSucceed?.(id, values, formValues, x2manyPendingLink);
|
|
210
221
|
setCurrentId?.(id);
|
|
211
222
|
};
|
|
212
223
|
|
|
@@ -294,6 +305,15 @@ function Form(props: FormProps, ref: any) {
|
|
|
294
305
|
return { ...parentContext, ...formOoui?.context };
|
|
295
306
|
}
|
|
296
307
|
|
|
308
|
+
function getActiveIdsContext() {
|
|
309
|
+
const currentId = getCurrentId()!;
|
|
310
|
+
|
|
311
|
+
if (!currentId) {
|
|
312
|
+
return {};
|
|
313
|
+
}
|
|
314
|
+
return { active_id: getCurrentId()!, active_ids: [getCurrentId()!] };
|
|
315
|
+
}
|
|
316
|
+
|
|
297
317
|
function getAdditionalValues() {
|
|
298
318
|
return {
|
|
299
319
|
id: getCurrentId()!,
|
|
@@ -608,6 +628,32 @@ function Form(props: FormProps, ref: any) {
|
|
|
608
628
|
formSubmitting.current = true;
|
|
609
629
|
|
|
610
630
|
setError(undefined);
|
|
631
|
+
|
|
632
|
+
if (
|
|
633
|
+
x2manyPendingLink.current &&
|
|
634
|
+
!formHasChanges() &&
|
|
635
|
+
getCurrentId()! &&
|
|
636
|
+
callOnSubmitSucceed
|
|
637
|
+
) {
|
|
638
|
+
formSubmitting.current = false;
|
|
639
|
+
setFormHasChanges?.(false);
|
|
640
|
+
onSubmitSucceed?.(
|
|
641
|
+
getCurrentId(),
|
|
642
|
+
getValues(),
|
|
643
|
+
getFormValues(),
|
|
644
|
+
x2manyPendingLink.current
|
|
645
|
+
);
|
|
646
|
+
x2manyPendingLink.current = false;
|
|
647
|
+
const currentId = getCurrentId()!;
|
|
648
|
+
|
|
649
|
+
if (mustClearAfterSave) {
|
|
650
|
+
createdId.current = undefined;
|
|
651
|
+
assignNewValuesToForm({ values: {}, fields, reset: true });
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
return { succeed: true, id: currentId };
|
|
655
|
+
}
|
|
656
|
+
|
|
611
657
|
if (!formHasChanges() && getCurrentId()! && callOnSubmitSucceed) {
|
|
612
658
|
formSubmitting.current = false;
|
|
613
659
|
setFormHasChanges?.(false);
|
|
@@ -957,15 +1003,22 @@ function Form(props: FormProps, ref: any) {
|
|
|
957
1003
|
|
|
958
1004
|
try {
|
|
959
1005
|
if (formHasChanges() || getCurrentId() === undefined) {
|
|
960
|
-
|
|
1006
|
+
if (submitMode === "2many") {
|
|
1007
|
+
await submitApi({ callOnSubmitSucceed: false });
|
|
1008
|
+
x2manyPendingLink.current = true;
|
|
1009
|
+
} else {
|
|
1010
|
+
await submitForm({ callOnSubmitSucceed: false });
|
|
1011
|
+
}
|
|
961
1012
|
}
|
|
962
1013
|
|
|
1014
|
+
const updatedContext = { ...context, ...getActiveIdsContext() };
|
|
1015
|
+
|
|
963
1016
|
if (type === "object") {
|
|
964
|
-
await runObjectButton({ action, context });
|
|
1017
|
+
await runObjectButton({ action, context: updatedContext });
|
|
965
1018
|
} else if (type === "workflow") {
|
|
966
1019
|
await runWorkflowButton({ action });
|
|
967
1020
|
} else if (type === "action") {
|
|
968
|
-
await runActionButton({ action, context });
|
|
1021
|
+
await runActionButton({ action, context: updatedContext });
|
|
969
1022
|
}
|
|
970
1023
|
} catch (err) {
|
|
971
1024
|
showErrorDialog(err);
|
|
@@ -291,12 +291,11 @@ function SearchTree(props: Props, ref: any) {
|
|
|
291
291
|
return (
|
|
292
292
|
<>
|
|
293
293
|
<SearchFilter
|
|
294
|
-
fields={{ ...
|
|
294
|
+
fields={{ ...formView.fields, ...treeView.fields }}
|
|
295
295
|
searchFields={mergeSearchFields([
|
|
296
296
|
formView.search_fields,
|
|
297
297
|
treeView.search_fields,
|
|
298
298
|
])}
|
|
299
|
-
formXml={formView.arch}
|
|
300
299
|
onClear={clear}
|
|
301
300
|
limit={limit}
|
|
302
301
|
offset={offset}
|
|
@@ -31,7 +31,6 @@ type Props = {
|
|
|
31
31
|
searchError?: string;
|
|
32
32
|
searchValues?: any;
|
|
33
33
|
showLimitOptions?: boolean;
|
|
34
|
-
formXml: string;
|
|
35
34
|
};
|
|
36
35
|
|
|
37
36
|
function SearchFilter(props: Props) {
|
|
@@ -49,7 +48,6 @@ function SearchFilter(props: Props) {
|
|
|
49
48
|
searchError,
|
|
50
49
|
searchValues,
|
|
51
50
|
showLimitOptions = true,
|
|
52
|
-
formXml,
|
|
53
51
|
} = props;
|
|
54
52
|
|
|
55
53
|
const [simpleSearchFields, setSimpleSearchFields] = useState<Container>();
|
|
@@ -89,7 +87,7 @@ function SearchFilter(props: Props) {
|
|
|
89
87
|
|
|
90
88
|
useDeepCompareEffect(() => {
|
|
91
89
|
setAdvancedFilter(false);
|
|
92
|
-
sfo.current = new SearchFilterOoui(searchFields, fields
|
|
90
|
+
sfo.current = new SearchFilterOoui(searchFields, fields);
|
|
93
91
|
sfo.current.parse();
|
|
94
92
|
setSimpleSearchFields(sfo.current._simpleSearchContainer);
|
|
95
93
|
setAdvancedSearchFields(sfo.current._advancedSearchContainer);
|