@gisce/react-ooui 1.4.12 → 1.4.13-rc.1
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 +2077 -2067
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +14 -14
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/widgets/views/Form.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/widgets/views/Form.tsx +18 -1
|
@@ -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,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;;
|
|
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;;AAwiCF,wBAAgC"}
|
package/package.json
CHANGED
|
@@ -705,15 +705,17 @@ function Form(props: FormProps, ref: any) {
|
|
|
705
705
|
fields,
|
|
706
706
|
arch,
|
|
707
707
|
values,
|
|
708
|
+
operationInProgress = false,
|
|
708
709
|
}: {
|
|
709
710
|
arch: string;
|
|
710
711
|
fields: any;
|
|
711
712
|
values: any;
|
|
713
|
+
operationInProgress?: boolean;
|
|
712
714
|
}) => {
|
|
713
715
|
const ooui = new FormOoui(fields);
|
|
714
716
|
// TODO: Here we must inject `values` to the ooui parser in order to evaluate arch+values and get the new form container
|
|
715
717
|
ooui.parse(arch, {
|
|
716
|
-
readOnly,
|
|
718
|
+
readOnly: readOnly || operationInProgress,
|
|
717
719
|
values: convertToPlain2ManyValues(
|
|
718
720
|
{
|
|
719
721
|
...values,
|
|
@@ -980,6 +982,15 @@ function Form(props: FormProps, ref: any) {
|
|
|
980
982
|
checkFieldsChanges({ elementHasLostFocus: true });
|
|
981
983
|
}
|
|
982
984
|
|
|
985
|
+
function updateOperationInProgress(value: boolean) {
|
|
986
|
+
parseForm({
|
|
987
|
+
fields,
|
|
988
|
+
arch: arch!,
|
|
989
|
+
values: getCurrentValues(fields),
|
|
990
|
+
operationInProgress: value,
|
|
991
|
+
});
|
|
992
|
+
}
|
|
993
|
+
|
|
983
994
|
async function executeButtonAction({
|
|
984
995
|
type,
|
|
985
996
|
action,
|
|
@@ -1001,8 +1012,12 @@ function Form(props: FormProps, ref: any) {
|
|
|
1001
1012
|
return;
|
|
1002
1013
|
}
|
|
1003
1014
|
|
|
1015
|
+
let mustBlockButtons = false;
|
|
1016
|
+
|
|
1004
1017
|
try {
|
|
1005
1018
|
if (formHasChanges() || getCurrentId() === undefined) {
|
|
1019
|
+
mustBlockButtons = true;
|
|
1020
|
+
updateOperationInProgress(true);
|
|
1006
1021
|
if (submitMode === "2many") {
|
|
1007
1022
|
await submitApi({ callOnSubmitSucceed: false });
|
|
1008
1023
|
x2manyPendingLink.current = true;
|
|
@@ -1024,7 +1039,9 @@ function Form(props: FormProps, ref: any) {
|
|
|
1024
1039
|
} else if (type === "action") {
|
|
1025
1040
|
await runActionButton({ action, context: updatedContext });
|
|
1026
1041
|
}
|
|
1042
|
+
mustBlockButtons && updateOperationInProgress(false);
|
|
1027
1043
|
} catch (err) {
|
|
1044
|
+
mustBlockButtons && updateOperationInProgress(false);
|
|
1028
1045
|
showErrorDialog(err);
|
|
1029
1046
|
}
|
|
1030
1047
|
}
|