react-admin-base-bootstrap 0.8.17 → 0.8.18
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/lib/esm/Components/CRUD.js +20 -4
- package/lib/esm/i18n/de.json +2 -1
- package/lib/esm/i18n/en.json +2 -1
- package/lib/esm/i18n/tr.json +2 -1
- package/package.json +1 -1
- package/src/Components/CRUD.tsx +22 -5
- package/src/i18n/de.json +2 -1
- package/src/i18n/en.json +2 -1
- package/src/i18n/tr.json +2 -1
|
@@ -20,7 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
import React, { useCallback, useContext, useRef, useState } from 'react';
|
|
22
22
|
import { ValidatorProvider } from "react-admin-base";
|
|
23
|
-
import { FormattedMessage } from 'react-intl';
|
|
23
|
+
import { FormattedMessage, useIntl } from 'react-intl';
|
|
24
24
|
import { Navigate, Routes, useParams, Route } from 'react-router-dom';
|
|
25
25
|
import { Alert, Button, Col, Form, ModalFooter, ModalHeader, Row } from "reactstrap";
|
|
26
26
|
import LoadingButton from '../Components/LoadingButton';
|
|
@@ -60,10 +60,26 @@ export function ModalEntityEditor({ entity, title, size, url, onReload, disabled
|
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
62
|
}, [save, saved, error, onReload, url]);
|
|
63
|
+
const check = bsOptions.noCloseOnSave && dirty;
|
|
64
|
+
const intl = useIntl();
|
|
65
|
+
const checkConfirmText = intl.formatMessage({ id: 'CANCEL_ENTITY_SAVE' });
|
|
66
|
+
const onClose = useCallback(function () {
|
|
67
|
+
if (check) {
|
|
68
|
+
const ok = confirm(checkConfirmText);
|
|
69
|
+
if (!ok)
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (url) {
|
|
73
|
+
setOpen(false);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
onReload(null);
|
|
77
|
+
}
|
|
78
|
+
}, [setOpen, onReload, url, check, checkConfirmText]);
|
|
63
79
|
return React.createElement(React.Fragment, null,
|
|
64
80
|
((!bsOptions.noCloseOnSave && saved) || !open) && url && React.createElement(Navigate, { to: url, replace: true }),
|
|
65
|
-
React.createElement(BootstrapModal, { isOpen: true, size: size, toggle:
|
|
66
|
-
title && React.createElement(ModalHeader, { toggle:
|
|
81
|
+
React.createElement(BootstrapModal, { isOpen: true, size: size, toggle: onClose, fade: false },
|
|
82
|
+
title && React.createElement(ModalHeader, { toggle: onClose },
|
|
67
83
|
React.createElement("b", null, title)),
|
|
68
84
|
React.createElement(ValidatorProvider, null,
|
|
69
85
|
React.createElement(Form, { onSubmit: onSubmit, disabled: !!loading || disabled },
|
|
@@ -81,7 +97,7 @@ export function ModalEntityEditor({ entity, title, size, url, onReload, disabled
|
|
|
81
97
|
' ',
|
|
82
98
|
React.createElement(FormattedMessage, { id: "ENTITY.SAVE" }))),
|
|
83
99
|
React.createElement(Col, null,
|
|
84
|
-
React.createElement(Button, { block: true, outline: true, color: "danger", onClick: (e) => { e.preventDefault(); (
|
|
100
|
+
React.createElement(Button, { block: true, outline: true, color: "danger", onClick: (e) => { e.preventDefault(); onClose(); } },
|
|
85
101
|
React.createElement("i", { className: "fas fa-times-circle" }),
|
|
86
102
|
' ',
|
|
87
103
|
React.createElement(FormattedMessage, { id: "ENTITY.CANCEL" })))))))));
|
package/lib/esm/i18n/de.json
CHANGED
|
@@ -38,5 +38,6 @@
|
|
|
38
38
|
"ACTIONS.DELETE.CONFIRM": "Ja, löschen!",
|
|
39
39
|
"PLEASE_WAIT": "Warten Sie mal.",
|
|
40
40
|
"AUTHORIZATION_CODE": "Zugangscode",
|
|
41
|
-
"RECORDS": "{count, plural, =0 {kein eintrag} one {# datensatz} other {# datensätze}}"
|
|
41
|
+
"RECORDS": "{count, plural, =0 {kein eintrag} one {# datensatz} other {# datensätze}}",
|
|
42
|
+
"CANCEL_ENTITY_SAVE": "Es gibt Änderungen auf der Seite. Sind Sie sicher, dass Sie sie rückgängig machen wollen?"
|
|
42
43
|
}
|
package/lib/esm/i18n/en.json
CHANGED
|
@@ -40,5 +40,6 @@
|
|
|
40
40
|
"ACTIONS.DELETE.CONFIRM": "Yes, delete it!",
|
|
41
41
|
"PLEASE_WAIT": "Please wait.",
|
|
42
42
|
"AUTHORIZATION_CODE": "Authorization Code",
|
|
43
|
-
"RECORDS": "{count, plural, =0 {no records} one {# record} other {# records}}"
|
|
43
|
+
"RECORDS": "{count, plural, =0 {no records} one {# record} other {# records}}",
|
|
44
|
+
"CANCEL_ENTITY_SAVE": "There are changes on the page. Are you sure you want to undo them?"
|
|
44
45
|
}
|
package/lib/esm/i18n/tr.json
CHANGED
|
@@ -39,5 +39,6 @@
|
|
|
39
39
|
"ACTIONS.DELETE.CONFIRM": "Evet, sil!",
|
|
40
40
|
"PLEASE_WAIT": "Lütfen bekleyiniz.",
|
|
41
41
|
"AUTHORIZATION_CODE": "Yetki Kodu",
|
|
42
|
-
"RECORDS": "{count, plural, =0 {Kayıt yok} one {# kayıt} other {# kayıt}}"
|
|
42
|
+
"RECORDS": "{count, plural, =0 {Kayıt yok} one {# kayıt} other {# kayıt}}",
|
|
43
|
+
"CANCEL_ENTITY_SAVE": "Sayfada değişiklikler var. Geri almak istediğinizden emin misiniz?"
|
|
43
44
|
}
|
package/package.json
CHANGED
package/src/Components/CRUD.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useContext, useRef, useState } from 'react';
|
|
2
2
|
import { ValidatorProvider } from "react-admin-base";
|
|
3
|
-
import {
|
|
3
|
+
import {FormattedMessage, useIntl} from 'react-intl';
|
|
4
4
|
import { Navigate, Routes, useParams, Route } from 'react-router-dom';
|
|
5
5
|
import { Alert, Button, Col, Form, Modal, ModalFooter, ModalHeader, Row } from "reactstrap";
|
|
6
6
|
import LoadingButton from '../Components/LoadingButton';
|
|
@@ -58,11 +58,28 @@ export function ModalEntityEditor({ entity, title, size, url, onReload, disabled
|
|
|
58
58
|
}
|
|
59
59
|
}, [save, saved, error, onReload, url]);
|
|
60
60
|
|
|
61
|
+
const check = bsOptions.noCloseOnSave && dirty;
|
|
62
|
+
const intl = useIntl();
|
|
63
|
+
const checkConfirmText = intl.formatMessage({ id: 'CANCEL_ENTITY_SAVE' });
|
|
64
|
+
const onClose = useCallback(function() {
|
|
65
|
+
if (check) {
|
|
66
|
+
const ok = confirm(checkConfirmText);
|
|
67
|
+
if (!ok)
|
|
68
|
+
return ;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (url) {
|
|
72
|
+
setOpen(false);
|
|
73
|
+
} else {
|
|
74
|
+
onReload(null);
|
|
75
|
+
}
|
|
76
|
+
}, [ setOpen, onReload, url, check, checkConfirmText ]);
|
|
77
|
+
|
|
61
78
|
return <>
|
|
62
79
|
{ ((!bsOptions.noCloseOnSave && saved) || !open) && url && <Navigate to={url} replace />}
|
|
63
|
-
<BootstrapModal isOpen size={size} toggle={
|
|
64
|
-
{ title && <ModalHeader toggle={
|
|
65
|
-
|
|
80
|
+
<BootstrapModal isOpen size={size} toggle={onClose} fade={false}>
|
|
81
|
+
{ title && <ModalHeader toggle={onClose}>
|
|
82
|
+
<b>{ title }</b>
|
|
66
83
|
</ModalHeader> }
|
|
67
84
|
<ValidatorProvider>
|
|
68
85
|
<Form onSubmit={onSubmit} disabled={!!loading || disabled}>
|
|
@@ -79,7 +96,7 @@ export function ModalEntityEditor({ entity, title, size, url, onReload, disabled
|
|
|
79
96
|
</LoadingButton>
|
|
80
97
|
</Col>
|
|
81
98
|
<Col>
|
|
82
|
-
<Button block outline color="danger" onClick={(e) => { e.preventDefault(); (
|
|
99
|
+
<Button block outline color="danger" onClick={(e) => { e.preventDefault(); onClose(); }}>
|
|
83
100
|
<i className="fas fa-times-circle" />{' '}<FormattedMessage id="ENTITY.CANCEL" />
|
|
84
101
|
</Button>
|
|
85
102
|
</Col>
|
package/src/i18n/de.json
CHANGED
|
@@ -38,5 +38,6 @@
|
|
|
38
38
|
"ACTIONS.DELETE.CONFIRM": "Ja, löschen!",
|
|
39
39
|
"PLEASE_WAIT": "Warten Sie mal.",
|
|
40
40
|
"AUTHORIZATION_CODE": "Zugangscode",
|
|
41
|
-
"RECORDS": "{count, plural, =0 {kein eintrag} one {# datensatz} other {# datensätze}}"
|
|
41
|
+
"RECORDS": "{count, plural, =0 {kein eintrag} one {# datensatz} other {# datensätze}}",
|
|
42
|
+
"CANCEL_ENTITY_SAVE": "Es gibt Änderungen auf der Seite. Sind Sie sicher, dass Sie sie rückgängig machen wollen?"
|
|
42
43
|
}
|
package/src/i18n/en.json
CHANGED
|
@@ -40,5 +40,6 @@
|
|
|
40
40
|
"ACTIONS.DELETE.CONFIRM": "Yes, delete it!",
|
|
41
41
|
"PLEASE_WAIT": "Please wait.",
|
|
42
42
|
"AUTHORIZATION_CODE": "Authorization Code",
|
|
43
|
-
"RECORDS": "{count, plural, =0 {no records} one {# record} other {# records}}"
|
|
43
|
+
"RECORDS": "{count, plural, =0 {no records} one {# record} other {# records}}",
|
|
44
|
+
"CANCEL_ENTITY_SAVE": "There are changes on the page. Are you sure you want to undo them?"
|
|
44
45
|
}
|
package/src/i18n/tr.json
CHANGED
|
@@ -39,5 +39,6 @@
|
|
|
39
39
|
"ACTIONS.DELETE.CONFIRM": "Evet, sil!",
|
|
40
40
|
"PLEASE_WAIT": "Lütfen bekleyiniz.",
|
|
41
41
|
"AUTHORIZATION_CODE": "Yetki Kodu",
|
|
42
|
-
"RECORDS": "{count, plural, =0 {Kayıt yok} one {# kayıt} other {# kayıt}}"
|
|
42
|
+
"RECORDS": "{count, plural, =0 {Kayıt yok} one {# kayıt} other {# kayıt}}",
|
|
43
|
+
"CANCEL_ENTITY_SAVE": "Sayfada değişiklikler var. Geri almak istediğinizden emin misiniz?"
|
|
43
44
|
}
|