@applica-software-guru/react-admin 1.0.41 → 1.0.43
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/bitbucket-pipelines.yml +2 -0
- package/dist/ApplicaAdmin.d.ts.map +1 -1
- package/dist/components/@extended/AnimateButton.d.ts +1 -1
- package/dist/components/@extended/AnimateButton.d.ts.map +1 -1
- package/dist/components/@extended/Avatar.d.ts.map +1 -1
- package/dist/components/@extended/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/@extended/IconButton.d.ts.map +1 -1
- package/dist/components/@extended/LoadingButton.d.ts.map +1 -1
- package/dist/components/@extended/Tooltip.d.ts.map +1 -1
- package/dist/components/@extended/Transitions.d.ts.map +1 -1
- package/dist/components/@extended/progress/CircularWithLabel.d.ts.map +1 -1
- package/dist/components/@extended/progress/CircularWithPath.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavItem.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/index.d.ts.map +1 -1
- package/dist/components/Layout/Footer.d.ts.map +1 -1
- package/dist/components/Layout/Header/AppBarStyled.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/Notification.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/NotificationItem.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/Profile.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/index.d.ts.map +1 -1
- package/dist/components/Layout/Header/index.d.ts.map +1 -1
- package/dist/components/Layout/index.d.ts.map +1 -1
- package/dist/components/MenuPopover/styles.d.ts.map +1 -1
- package/dist/components/Notification.d.ts.map +1 -1
- package/dist/components/ScrollX.d.ts.map +1 -1
- package/dist/components/ra-buttons/EditInDialogButton.d.ts.map +1 -1
- package/dist/components/ra-fields/CoverField.d.ts.map +1 -1
- package/dist/components/ra-fields/DateAgoField.d.ts.map +1 -1
- package/dist/components/ra-fields/ReadonlyField.d.ts.map +1 -1
- package/dist/components/ra-forms/CardForm.d.ts.map +1 -1
- package/dist/components/ra-forms/LongForm/useFormRootPath.d.ts.map +1 -1
- package/dist/components/ra-forms/TabbedForm.d.ts.map +1 -1
- package/dist/components/ra-inputs/ReferenceManyInput.d.ts.map +1 -1
- package/dist/components/ra-lists/Empty.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/NotificationList.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/button/MarkAsReadedButton.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/field/NotificationField.d.ts.map +1 -1
- package/dist/contexts/MenuConfigContext.d.ts.map +1 -1
- package/dist/contexts/MenuPropTypes.d.ts.map +1 -1
- package/dist/dev/useCliErrorCatcher.d.ts +1 -1
- package/dist/hooks/useMenu.d.ts.map +1 -1
- package/dist/i18n/useI18nCatcher.d.ts +1 -1
- package/dist/i18n/useI18nLanguages.d.ts +1 -1
- package/dist/i18n/useI18nLanguages.d.ts.map +1 -1
- package/dist/i18n/useI18nProvider.d.ts.map +1 -1
- package/dist/react-admin.cjs.js +2 -1
- package/dist/react-admin.cjs.js.map +1 -0
- package/dist/react-admin.es.js +300 -784
- package/dist/react-admin.es.js.map +1 -0
- package/dist/react-admin.umd.js +2 -1
- package/dist/react-admin.umd.js.map +1 -0
- package/dist/themes/overrides/OutlinedInput.d.ts.map +1 -1
- package/dist/themes/palette.d.ts.map +1 -1
- package/dist/themes/theme/theme1.d.ts.map +1 -1
- package/dist/themes/theme/theme2.d.ts.map +1 -1
- package/dist/themes/theme/theme3.d.ts.map +1 -1
- package/dist/themes/theme/theme4.d.ts.map +1 -1
- package/dist/themes/theme/theme5.d.ts.map +1 -1
- package/dist/themes/theme/theme6.d.ts.map +1 -1
- package/dist/themes/theme/theme7.d.ts.map +1 -1
- package/dist/themes/theme/theme8.d.ts.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/lang.d.ts +1 -1
- package/dist/utils/lang.d.ts.map +1 -1
- package/dist/utils/time.d.ts +2 -1
- package/dist/utils/time.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Admin.jsx +8 -8
- package/src/AdminContext.jsx +9 -9
- package/src/ApplicaAdmin.jsx +30 -35
- package/src/components/@extended/AnimateButton.jsx +25 -33
- package/src/components/@extended/Avatar.jsx +35 -42
- package/src/components/@extended/Breadcrumbs.jsx +62 -96
- package/src/components/@extended/Dot.jsx +14 -14
- package/src/components/@extended/IconButton.jsx +55 -65
- package/src/components/@extended/LoadingButton.jsx +84 -86
- package/src/components/@extended/Tooltip.jsx +24 -27
- package/src/components/@extended/Transitions.jsx +98 -107
- package/src/components/@extended/index.jsx +10 -10
- package/src/components/@extended/progress/CircularWithLabel.jsx +7 -9
- package/src/components/@extended/progress/CircularWithPath.jsx +9 -18
- package/src/components/@extended/progress/LinearWithIcon.jsx +5 -5
- package/src/components/@extended/progress/LinearWithLabel.jsx +5 -5
- package/src/components/@extended/progress/index.jsx +5 -5
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.jsx +112 -131
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.jsx +67 -88
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavItem.jsx +63 -79
- package/src/components/Layout/Drawer/DrawerContent/Navigation/index.jsx +28 -28
- package/src/components/Layout/Drawer/DrawerContent/index.jsx +7 -7
- package/src/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.jsx +13 -15
- package/src/components/Layout/Drawer/DrawerHeader/index.jsx +17 -22
- package/src/components/Layout/Drawer/HorizontalBar.jsx +17 -17
- package/src/components/Layout/Drawer/MiniDrawerStyled.jsx +27 -29
- package/src/components/Layout/Drawer/index.jsx +21 -24
- package/src/components/Layout/Footer.jsx +7 -12
- package/src/components/Layout/Header/AppBarStyled.jsx +26 -28
- package/src/components/Layout/Header/HeaderContent/MobileSection.jsx +27 -27
- package/src/components/Layout/Header/HeaderContent/Notification.jsx +34 -55
- package/src/components/Layout/Header/HeaderContent/NotificationItem.jsx +24 -36
- package/src/components/Layout/Header/HeaderContent/Profile.jsx +48 -73
- package/src/components/Layout/Header/HeaderContent/index.jsx +16 -18
- package/src/components/Layout/Header/index.jsx +25 -43
- package/src/components/Layout/index.jsx +36 -52
- package/src/components/Loadable.jsx +4 -4
- package/src/components/Loader.jsx +7 -7
- package/src/components/Logo.jsx +14 -14
- package/src/components/MainIcon.jsx +6 -6
- package/src/components/MenuPopover/MenuPopover.jsx +15 -15
- package/src/components/MenuPopover/getPosition.jsx +40 -40
- package/src/components/MenuPopover/index.jsx +3 -3
- package/src/components/MenuPopover/styles.jsx +20 -20
- package/src/components/Notification.jsx +7 -7
- package/src/components/ScrollTop.jsx +13 -13
- package/src/components/ScrollX.jsx +4 -4
- package/src/components/SmallIcon.jsx +6 -6
- package/src/components/ra-buttons/EditInDialogButton.jsx +39 -45
- package/src/components/ra-buttons/ImpersonateUserButton.jsx +20 -20
- package/src/components/ra-buttons/index.jsx +4 -4
- package/src/components/ra-fields/ActionsField.jsx +12 -12
- package/src/components/ra-fields/CoverField.jsx +20 -26
- package/src/components/ra-fields/DateAgoField.jsx +17 -20
- package/src/components/ra-fields/DateField.jsx +14 -14
- package/src/components/ra-fields/EmailField.jsx +14 -14
- package/src/components/ra-fields/FileField.jsx +23 -23
- package/src/components/ra-fields/FunctionField.jsx +5 -5
- package/src/components/ra-fields/ImageField.jsx +11 -11
- package/src/components/ra-fields/ReadonlyField.jsx +40 -42
- package/src/components/ra-fields/ReferenceManyField.jsx +21 -21
- package/src/components/ra-fields/SizeField.jsx +15 -15
- package/src/components/ra-fields/TextField.jsx +14 -14
- package/src/components/ra-fields/index.jsx +15 -15
- package/src/components/ra-forms/CardForm.jsx +34 -40
- package/src/components/ra-forms/LongForm/useFormRootPath.ts +8 -13
- package/src/components/ra-forms/TabbedForm.jsx +10 -10
- package/src/components/ra-forms/Toolbar.jsx +15 -15
- package/src/components/ra-forms/index.jsx +9 -9
- package/src/components/ra-inputs/AutocompleteArrayInput.jsx +7 -7
- package/src/components/ra-inputs/AutocompleteInput.jsx +9 -9
- package/src/components/ra-inputs/BooleanInput.jsx +19 -19
- package/src/components/ra-inputs/DateInput.jsx +13 -13
- package/src/components/ra-inputs/FileInput.jsx +33 -33
- package/src/components/ra-inputs/ImageInput.jsx +19 -19
- package/src/components/ra-inputs/NumberInput.jsx +13 -13
- package/src/components/ra-inputs/RecordInput.jsx +39 -39
- package/src/components/ra-inputs/ReferenceArrayInput.jsx +10 -10
- package/src/components/ra-inputs/ReferenceInput.jsx +10 -10
- package/src/components/ra-inputs/ReferenceManyInput.jsx +13 -24
- package/src/components/ra-inputs/SearchInput.jsx +6 -6
- package/src/components/ra-inputs/SelectArrayInput.jsx +19 -19
- package/src/components/ra-inputs/TimeInput.jsx +21 -21
- package/src/components/ra-lists/Empty.jsx +32 -37
- package/src/components/ra-lists/List.jsx +9 -9
- package/src/components/ra-lists/NotificationList/NotificationList.jsx +14 -16
- package/src/components/ra-lists/NotificationList/button/MarkAsReadedButton.jsx +21 -25
- package/src/components/ra-lists/NotificationList/button/MarkAsUnreadedButton.jsx +19 -19
- package/src/components/ra-lists/NotificationList/button/index.jsx +2 -2
- package/src/components/ra-lists/NotificationList/field/NotificationField.jsx +20 -31
- package/src/components/ra-lists/NotificationList/field/index.jsx +1 -1
- package/src/components/ra-lists/NotificationList/index.jsx +2 -2
- package/src/components/ra-lists/index.jsx +5 -5
- package/src/components/third-party/SimpleBar.jsx +10 -10
- package/src/components/third-party/index.jsx +2 -2
- package/src/contexts/MenuConfigContext.jsx +35 -35
- package/src/contexts/MenuPropTypes.jsx +7 -7
- package/src/contexts/index.jsx +5 -5
- package/src/dev/index.jsx +2 -2
- package/src/dev/useCliErrorCatcher.jsx +32 -32
- package/src/hooks/index.jsx +8 -16
- package/src/hooks/useAppConfig.jsx +4 -4
- package/src/hooks/useBreadcrumbs.jsx +37 -37
- package/src/hooks/useLocalStorage.jsx +16 -16
- package/src/hooks/useMenu.jsx +83 -88
- package/src/hooks/useMenuConfig.jsx +4 -4
- package/src/hooks/useResourceTitle.jsx +13 -13
- package/src/hooks/useThemeConfig.jsx +4 -4
- package/src/i18n/createI18nProvider.jsx +7 -7
- package/src/i18n/index.jsx +4 -4
- package/src/i18n/useI18nCatcher.jsx +26 -26
- package/src/i18n/useI18nLanguages.jsx +12 -16
- package/src/i18n/useI18nProvider.jsx +3 -4
- package/src/themes/getColors.jsx +8 -8
- package/src/themes/getShadow.jsx +17 -17
- package/src/themes/index.jsx +29 -29
- package/src/themes/overrides/Accordion.jsx +9 -9
- package/src/themes/overrides/AccordionDetails.jsx +5 -5
- package/src/themes/overrides/AccordionSummary.jsx +11 -11
- package/src/themes/overrides/Alert.jsx +21 -21
- package/src/themes/overrides/AlertTitle.jsx +5 -5
- package/src/themes/overrides/Autocomplete.jsx +9 -9
- package/src/themes/overrides/Badge.jsx +12 -12
- package/src/themes/overrides/Button.jsx +62 -62
- package/src/themes/overrides/ButtonBase.jsx +4 -4
- package/src/themes/overrides/ButtonGroup.jsx +4 -4
- package/src/themes/overrides/CardContent.jsx +6 -6
- package/src/themes/overrides/Checkbox.jsx +31 -31
- package/src/themes/overrides/Chip.jsx +22 -22
- package/src/themes/overrides/Dialog.jsx +7 -7
- package/src/themes/overrides/DialogContentText.jsx +5 -5
- package/src/themes/overrides/DialogTitle.jsx +5 -5
- package/src/themes/overrides/Fab.jsx +21 -21
- package/src/themes/overrides/IconButton.jsx +8 -8
- package/src/themes/overrides/InputBase.jsx +3 -3
- package/src/themes/overrides/InputLabel.jsx +8 -8
- package/src/themes/overrides/LinearProgress.jsx +6 -6
- package/src/themes/overrides/Link.jsx +4 -4
- package/src/themes/overrides/ListItemButton.jsx +7 -7
- package/src/themes/overrides/ListItemIcon.jsx +5 -5
- package/src/themes/overrides/LoadingButton.jsx +6 -6
- package/src/themes/overrides/OutlinedInput.jsx +20 -21
- package/src/themes/overrides/Pagination.jsx +4 -4
- package/src/themes/overrides/PaginationItem.jsx +55 -55
- package/src/themes/overrides/Popover.jsx +5 -5
- package/src/themes/overrides/Radio.jsx +30 -30
- package/src/themes/overrides/Slider.jsx +20 -20
- package/src/themes/overrides/Switch.jsx +26 -26
- package/src/themes/overrides/Tab.jsx +7 -7
- package/src/themes/overrides/TableBody.jsx +11 -11
- package/src/themes/overrides/TableCell.jsx +12 -12
- package/src/themes/overrides/TableFooter.jsx +5 -5
- package/src/themes/overrides/TableHead.jsx +5 -5
- package/src/themes/overrides/TablePagination.jsx +6 -6
- package/src/themes/overrides/TableRow.jsx +10 -10
- package/src/themes/overrides/Tabs.jsx +5 -5
- package/src/themes/overrides/ToggleButton.jsx +7 -7
- package/src/themes/overrides/Tooltip.jsx +5 -5
- package/src/themes/overrides/TreeItem.jsx +7 -7
- package/src/themes/overrides/Typography.jsx +5 -5
- package/src/themes/overrides/index.jsx +47 -47
- package/src/themes/palette.jsx +22 -34
- package/src/themes/shadows.jsx +4 -4
- package/src/themes/theme/default.jsx +17 -17
- package/src/themes/theme/index.jsx +23 -23
- package/src/themes/theme/theme1.jsx +24 -46
- package/src/themes/theme/theme2.jsx +24 -46
- package/src/themes/theme/theme3.jsx +24 -46
- package/src/themes/theme/theme4.jsx +24 -46
- package/src/themes/theme/theme5.jsx +24 -46
- package/src/themes/theme/theme6.jsx +24 -46
- package/src/themes/theme/theme7.jsx +24 -46
- package/src/themes/theme/theme8.jsx +24 -46
- package/src/themes/typography.jsx +16 -16
- package/src/utils/{lang.js → lang.ts} +4 -4
- package/src/utils/time.ts +14 -0
- package/vite.config.js +11 -10
- package/src/utils/time.js +0 -13
- /package/src/utils/{index.js → index.ts} +0 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import LabeledInput from './LabeledInput'
|
|
2
|
-
import { NumberInput as RaNumberInput } from 'react-admin'
|
|
3
|
-
import { styled } from '@mui/material/styles'
|
|
1
|
+
import LabeledInput from './LabeledInput';
|
|
2
|
+
import { NumberInput as RaNumberInput } from 'react-admin';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
4
|
const StyledNumberInput = styled(RaNumberInput, {
|
|
5
5
|
name: 'RaApplicaNumberInput',
|
|
6
|
-
slot: 'root'
|
|
6
|
+
slot: 'root'
|
|
7
7
|
})(({ label }) => ({
|
|
8
8
|
'& legend': {
|
|
9
|
-
width: label === false ? 0 : 'auto'
|
|
10
|
-
}
|
|
11
|
-
}))
|
|
9
|
+
width: label === false ? 0 : 'auto'
|
|
10
|
+
}
|
|
11
|
+
}));
|
|
12
12
|
const NumberInput = (props) => (
|
|
13
13
|
<LabeledInput {...props}>
|
|
14
14
|
<StyledNumberInput />
|
|
15
15
|
</LabeledInput>
|
|
16
|
-
)
|
|
16
|
+
);
|
|
17
17
|
|
|
18
18
|
NumberInput.propTypes = {
|
|
19
19
|
...RaNumberInput.propTypes,
|
|
20
|
-
...LabeledInput.propTypes
|
|
21
|
-
}
|
|
20
|
+
...LabeledInput.propTypes
|
|
21
|
+
};
|
|
22
22
|
|
|
23
23
|
NumberInput.defaultProps = {
|
|
24
24
|
...RaNumberInput.defaultProps,
|
|
25
|
-
...LabeledInput.defaultProps
|
|
26
|
-
}
|
|
25
|
+
...LabeledInput.defaultProps
|
|
26
|
+
};
|
|
27
27
|
|
|
28
|
-
export default NumberInput
|
|
28
|
+
export default NumberInput;
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useState } from 'react'
|
|
2
|
-
import { useDataProvider, useRecordContext, useResourceContext } from 'react-admin'
|
|
1
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { useDataProvider, useRecordContext, useResourceContext } from 'react-admin';
|
|
3
3
|
|
|
4
|
-
import PropTypes from 'prop-types'
|
|
5
|
-
import { TextField } from '@mui/material'
|
|
6
|
-
import { get } from 'lodash'
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import { TextField } from '@mui/material';
|
|
6
|
+
import { get } from 'lodash';
|
|
7
7
|
|
|
8
8
|
const RecordInput = ({ source, minWidth = 300, children }) => {
|
|
9
|
-
const resource = useResourceContext()
|
|
10
|
-
const record = useRecordContext()
|
|
11
|
-
const [value, setValue] = useState(get(record, source, ''))
|
|
12
|
-
const [updating, setUpdating] = useState(false)
|
|
13
|
-
const handleChange = useCallback((evt) => setValue(evt.target.value), [])
|
|
14
|
-
const dataProvider = useDataProvider()
|
|
9
|
+
const resource = useResourceContext();
|
|
10
|
+
const record = useRecordContext();
|
|
11
|
+
const [value, setValue] = useState(get(record, source, ''));
|
|
12
|
+
const [updating, setUpdating] = useState(false);
|
|
13
|
+
const handleChange = useCallback((evt) => setValue(evt.target.value), []);
|
|
14
|
+
const dataProvider = useDataProvider();
|
|
15
15
|
|
|
16
16
|
const handleKeyPress = useCallback(
|
|
17
17
|
(evt) => {
|
|
18
18
|
if (evt.key !== 'Enter') {
|
|
19
|
-
return
|
|
19
|
+
return;
|
|
20
20
|
}
|
|
21
|
-
setUpdating(true)
|
|
21
|
+
setUpdating(true);
|
|
22
22
|
dataProvider
|
|
23
23
|
.update(resource, {
|
|
24
24
|
id: record.id,
|
|
25
25
|
data: {
|
|
26
26
|
...record,
|
|
27
27
|
[source]: value,
|
|
28
|
-
_changed: source
|
|
29
|
-
}
|
|
28
|
+
_changed: source
|
|
29
|
+
}
|
|
30
30
|
})
|
|
31
|
-
.then(() => setUpdating(false))
|
|
31
|
+
.then(() => setUpdating(false));
|
|
32
32
|
},
|
|
33
|
-
[value, dataProvider, resource, record, source]
|
|
34
|
-
)
|
|
33
|
+
[value, dataProvider, resource, record, source]
|
|
34
|
+
);
|
|
35
35
|
const handleBlur = useCallback(() => {
|
|
36
|
-
const currentValue = get(record, source)
|
|
36
|
+
const currentValue = get(record, source);
|
|
37
37
|
if (currentValue === value) {
|
|
38
|
-
return
|
|
38
|
+
return;
|
|
39
39
|
}
|
|
40
|
-
setUpdating(true)
|
|
40
|
+
setUpdating(true);
|
|
41
41
|
dataProvider
|
|
42
42
|
.update(resource, {
|
|
43
43
|
id: record.id,
|
|
44
44
|
data: {
|
|
45
45
|
...record,
|
|
46
46
|
[source]: value,
|
|
47
|
-
_changed: source
|
|
48
|
-
}
|
|
47
|
+
_changed: source
|
|
48
|
+
}
|
|
49
49
|
})
|
|
50
|
-
.then(() => setUpdating(false))
|
|
51
|
-
}, [value, dataProvider, resource, source, record])
|
|
50
|
+
.then(() => setUpdating(false));
|
|
51
|
+
}, [value, dataProvider, resource, source, record]);
|
|
52
52
|
|
|
53
53
|
const handleRemoteChange = useCallback(
|
|
54
54
|
(value) => {
|
|
55
|
-
setUpdating(true)
|
|
55
|
+
setUpdating(true);
|
|
56
56
|
dataProvider
|
|
57
57
|
.update(resource, {
|
|
58
58
|
id: record.id,
|
|
59
59
|
data: {
|
|
60
60
|
...record,
|
|
61
61
|
[source]: value,
|
|
62
|
-
_changed: source
|
|
63
|
-
}
|
|
62
|
+
_changed: source
|
|
63
|
+
}
|
|
64
64
|
})
|
|
65
|
-
.then(() => setUpdating(false))
|
|
65
|
+
.then(() => setUpdating(false));
|
|
66
66
|
},
|
|
67
|
-
[dataProvider, resource, source, record]
|
|
68
|
-
)
|
|
67
|
+
[dataProvider, resource, source, record]
|
|
68
|
+
);
|
|
69
69
|
|
|
70
|
-
useEffect(() => setValue(get(record, source)), [record, source])
|
|
70
|
+
useEffect(() => setValue(get(record, source)), [record, source]);
|
|
71
71
|
|
|
72
72
|
if (children) {
|
|
73
73
|
return React.cloneElement(children, {
|
|
74
74
|
...children.props,
|
|
75
75
|
source,
|
|
76
76
|
value,
|
|
77
|
-
onChange: handleRemoteChange
|
|
78
|
-
})
|
|
77
|
+
onChange: handleRemoteChange
|
|
78
|
+
});
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
return (
|
|
@@ -90,13 +90,13 @@ const RecordInput = ({ source, minWidth = 300, children }) => {
|
|
|
90
90
|
InputProps={{ 'arial-label': 'naked' }}
|
|
91
91
|
size="small"
|
|
92
92
|
/>
|
|
93
|
-
)
|
|
94
|
-
}
|
|
93
|
+
);
|
|
94
|
+
};
|
|
95
95
|
|
|
96
96
|
RecordInput.propTypes = {
|
|
97
97
|
source: PropTypes.string.isRequired,
|
|
98
98
|
minWidth: PropTypes.number,
|
|
99
|
-
children: PropTypes.element
|
|
100
|
-
}
|
|
99
|
+
children: PropTypes.element
|
|
100
|
+
};
|
|
101
101
|
|
|
102
|
-
export default RecordInput
|
|
102
|
+
export default RecordInput;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
2
|
-
import { ReferenceArrayInput as RaReferenceArrayInput } from 'react-admin'
|
|
3
|
-
import React from 'react'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { ReferenceArrayInput as RaReferenceArrayInput } from 'react-admin';
|
|
3
|
+
import React from 'react';
|
|
4
4
|
|
|
5
5
|
const ReferenceArrayInput = ({ children, ...props }) => (
|
|
6
6
|
<RaReferenceArrayInput {...props}>
|
|
7
7
|
{React.cloneElement(children, {
|
|
8
8
|
...props,
|
|
9
|
-
source: children.props.source || props.source
|
|
9
|
+
source: children.props.source || props.source
|
|
10
10
|
})}
|
|
11
11
|
</RaReferenceArrayInput>
|
|
12
|
-
)
|
|
12
|
+
);
|
|
13
13
|
|
|
14
14
|
ReferenceArrayInput.propTypes = {
|
|
15
15
|
...RaReferenceArrayInput.propTypes,
|
|
16
|
-
children: PropTypes.element
|
|
17
|
-
}
|
|
16
|
+
children: PropTypes.element
|
|
17
|
+
};
|
|
18
18
|
|
|
19
19
|
ReferenceArrayInput.defaultProps = {
|
|
20
|
-
...RaReferenceArrayInput.defaultProps
|
|
21
|
-
}
|
|
20
|
+
...RaReferenceArrayInput.defaultProps
|
|
21
|
+
};
|
|
22
22
|
|
|
23
|
-
export default ReferenceArrayInput
|
|
23
|
+
export default ReferenceArrayInput;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
2
|
-
import { ReferenceInput as RaReferenceInput } from 'react-admin'
|
|
3
|
-
import React from 'react'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import { ReferenceInput as RaReferenceInput } from 'react-admin';
|
|
3
|
+
import React from 'react';
|
|
4
4
|
|
|
5
5
|
const ReferenceInput = ({ children, ...props }) => (
|
|
6
6
|
<RaReferenceInput {...props}>
|
|
7
7
|
{React.cloneElement(children, {
|
|
8
8
|
...props,
|
|
9
|
-
source: children.props.source || props.source
|
|
9
|
+
source: children.props.source || props.source
|
|
10
10
|
})}
|
|
11
11
|
</RaReferenceInput>
|
|
12
|
-
)
|
|
12
|
+
);
|
|
13
13
|
|
|
14
14
|
ReferenceInput.propTypes = {
|
|
15
15
|
...RaReferenceInput.propTypes,
|
|
16
|
-
children: PropTypes.element
|
|
17
|
-
}
|
|
16
|
+
children: PropTypes.element
|
|
17
|
+
};
|
|
18
18
|
|
|
19
19
|
ReferenceInput.defaultProps = {
|
|
20
|
-
...RaReferenceInput.defaultProps
|
|
21
|
-
}
|
|
20
|
+
...RaReferenceInput.defaultProps
|
|
21
|
+
};
|
|
22
22
|
|
|
23
|
-
export default ReferenceInput
|
|
23
|
+
export default ReferenceInput;
|
|
@@ -1,44 +1,33 @@
|
|
|
1
|
-
import { ListToolbar, Pagination, ResourceContextProvider } from 'react-admin'
|
|
1
|
+
import { ListToolbar, Pagination, ResourceContextProvider } from 'react-admin';
|
|
2
2
|
|
|
3
|
-
import { Fragment } from 'react'
|
|
4
|
-
import PropTypes from 'prop-types'
|
|
5
|
-
import { ReferenceManyField } from '../ra-fields'
|
|
3
|
+
import { Fragment } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import { ReferenceManyField } from '../ra-fields';
|
|
6
6
|
|
|
7
7
|
const ReferenceManyInput = ({ reference, target, children, filters, actions, ...props }) => {
|
|
8
8
|
return (
|
|
9
9
|
<ResourceContextProvider value={reference}>
|
|
10
|
-
<ReferenceManyField
|
|
11
|
-
perPage={5}
|
|
12
|
-
pagination={<Pagination />}
|
|
13
|
-
{...props}
|
|
14
|
-
reference={reference}
|
|
15
|
-
target={target}
|
|
16
|
-
>
|
|
10
|
+
<ReferenceManyField perPage={5} pagination={<Pagination />} {...props} reference={reference} target={target}>
|
|
17
11
|
<Fragment>
|
|
18
12
|
<ListToolbar filters={filters} actions={actions} />
|
|
19
13
|
{children}
|
|
20
14
|
</Fragment>
|
|
21
15
|
</ReferenceManyField>
|
|
22
16
|
</ResourceContextProvider>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
17
|
+
);
|
|
18
|
+
};
|
|
25
19
|
|
|
26
20
|
ReferenceManyInput.propTypes = {
|
|
27
21
|
...ReferenceManyField.propTypes,
|
|
28
22
|
children: PropTypes.node.isRequired,
|
|
29
23
|
reference: PropTypes.string.isRequired,
|
|
30
24
|
target: PropTypes.string.isRequired,
|
|
31
|
-
filters: PropTypes.oneOfType([
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
PropTypes.element,
|
|
35
|
-
PropTypes.arrayOf(PropTypes.node),
|
|
36
|
-
]),
|
|
37
|
-
actions: PropTypes.oneOfType([PropTypes.element, PropTypes.func, PropTypes.element]),
|
|
38
|
-
}
|
|
25
|
+
filters: PropTypes.oneOfType([PropTypes.element, PropTypes.func, PropTypes.element, PropTypes.arrayOf(PropTypes.node)]),
|
|
26
|
+
actions: PropTypes.oneOfType([PropTypes.element, PropTypes.func, PropTypes.element])
|
|
27
|
+
};
|
|
39
28
|
|
|
40
29
|
ReferenceManyInput.defaultProps = {
|
|
41
|
-
...ReferenceManyField.defaultProps
|
|
42
|
-
}
|
|
30
|
+
...ReferenceManyField.defaultProps
|
|
31
|
+
};
|
|
43
32
|
|
|
44
|
-
export default ReferenceManyInput
|
|
33
|
+
export default ReferenceManyInput;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { SearchInput as RaSearchInput } from 'react-admin'
|
|
2
|
-
import { styled } from '@mui/material/styles'
|
|
1
|
+
import { SearchInput as RaSearchInput } from 'react-admin';
|
|
2
|
+
import { styled } from '@mui/material/styles';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @return {React.Component}
|
|
6
6
|
*/
|
|
7
7
|
const ApplicaStyledSearchInput = styled(RaSearchInput, {
|
|
8
8
|
name: 'RaApplicaSearchInput',
|
|
9
|
-
slot: 'root'
|
|
10
|
-
})(() => ({}))
|
|
9
|
+
slot: 'root'
|
|
10
|
+
})(() => ({}));
|
|
11
11
|
|
|
12
|
-
const SearchInput = (props) => <ApplicaStyledSearchInput {...props}
|
|
12
|
+
const SearchInput = (props) => <ApplicaStyledSearchInput {...props} />;
|
|
13
13
|
|
|
14
|
-
export default SearchInput
|
|
14
|
+
export default SearchInput;
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import LabeledInput from './LabeledInput'
|
|
2
|
-
import { SelectArrayInput as RaSelectArrayInput } from 'react-admin'
|
|
3
|
-
import { styled } from '@mui/material/styles'
|
|
1
|
+
import LabeledInput from './LabeledInput';
|
|
2
|
+
import { SelectArrayInput as RaSelectArrayInput } from 'react-admin';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
4
|
|
|
5
5
|
const ApplicaStyledSelectArrayInput = styled(RaSelectArrayInput, {
|
|
6
6
|
name: 'RaApplicaSelectArrayInput',
|
|
7
|
-
slot: 'Root'
|
|
7
|
+
slot: 'Root'
|
|
8
8
|
})(({ label }) => ({
|
|
9
9
|
'& legend': {
|
|
10
|
-
width: label === false ? 0 : 'auto'
|
|
10
|
+
width: label === false ? 0 : 'auto'
|
|
11
11
|
},
|
|
12
12
|
'& .RaSelectArrayInput-chips': {
|
|
13
13
|
'& .RaSelectArrayInput-chip': {
|
|
14
|
-
marginTop: 0
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}))
|
|
14
|
+
marginTop: 0
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
18
|
|
|
19
19
|
ApplicaStyledSelectArrayInput.propTypes = {
|
|
20
|
-
...RaSelectArrayInput.propTypes
|
|
21
|
-
}
|
|
20
|
+
...RaSelectArrayInput.propTypes
|
|
21
|
+
};
|
|
22
22
|
|
|
23
23
|
const SelectArrayInput = (props) => {
|
|
24
24
|
return (
|
|
25
25
|
<LabeledInput {...props}>
|
|
26
26
|
<ApplicaStyledSelectArrayInput
|
|
27
27
|
options={{
|
|
28
|
-
autoWidth: false
|
|
28
|
+
autoWidth: false
|
|
29
29
|
}}
|
|
30
30
|
/>
|
|
31
31
|
</LabeledInput>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
34
|
|
|
35
35
|
SelectArrayInput.defaultProps = {
|
|
36
36
|
optionText: 'name',
|
|
37
|
-
optionValue: 'id'
|
|
38
|
-
}
|
|
37
|
+
optionValue: 'id'
|
|
38
|
+
};
|
|
39
39
|
|
|
40
40
|
SelectArrayInput.propTypes = {
|
|
41
41
|
...RaSelectArrayInput.propTypes,
|
|
42
|
-
...LabeledInput.propTypes
|
|
43
|
-
}
|
|
42
|
+
...LabeledInput.propTypes
|
|
43
|
+
};
|
|
44
44
|
|
|
45
|
-
export default SelectArrayInput
|
|
45
|
+
export default SelectArrayInput;
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import LabeledInput from './LabeledInput'
|
|
2
|
-
import { TimeInput as RaTimeInput } from 'react-admin'
|
|
3
|
-
import { parseTime } from '../../utils'
|
|
4
|
-
import { styled } from '@mui/material/styles'
|
|
1
|
+
import LabeledInput from './LabeledInput';
|
|
2
|
+
import { TimeInput as RaTimeInput } from 'react-admin';
|
|
3
|
+
import { parseTime } from '../../utils';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
5
|
|
|
6
6
|
const defaultFormatter = (v) => {
|
|
7
7
|
if (!v) {
|
|
8
|
-
return ''
|
|
8
|
+
return '';
|
|
9
9
|
}
|
|
10
|
-
const time = parseTime(v)
|
|
10
|
+
const time = parseTime(v);
|
|
11
11
|
if (time) {
|
|
12
|
-
return time.format('HH:mm')
|
|
12
|
+
return time.format('HH:mm');
|
|
13
13
|
}
|
|
14
|
-
return ''
|
|
15
|
-
}
|
|
14
|
+
return '';
|
|
15
|
+
};
|
|
16
16
|
const defaultParser = (v) => {
|
|
17
|
-
return v
|
|
18
|
-
}
|
|
17
|
+
return v;
|
|
18
|
+
};
|
|
19
19
|
|
|
20
20
|
const ApplicaStyledTimeInput = styled(RaTimeInput, {
|
|
21
21
|
name: 'RaApplicaTimeInput',
|
|
22
|
-
slot: 'root'
|
|
22
|
+
slot: 'root'
|
|
23
23
|
})(({ label }) => ({
|
|
24
24
|
'& legend': {
|
|
25
|
-
width: label === false ? 0 : 'auto'
|
|
26
|
-
}
|
|
27
|
-
}))
|
|
25
|
+
width: label === false ? 0 : 'auto'
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
28
|
|
|
29
29
|
const TimeInput = (props) => (
|
|
30
30
|
<LabeledInput {...props}>
|
|
31
31
|
<ApplicaStyledTimeInput />
|
|
32
32
|
</LabeledInput>
|
|
33
|
-
)
|
|
33
|
+
);
|
|
34
34
|
|
|
35
35
|
TimeInput.defaultProps = {
|
|
36
36
|
...RaTimeInput.defaultProps,
|
|
37
37
|
format: defaultFormatter,
|
|
38
|
-
parse: defaultParser
|
|
39
|
-
}
|
|
38
|
+
parse: defaultParser
|
|
39
|
+
};
|
|
40
40
|
|
|
41
41
|
TimeInput.propTypes = {
|
|
42
42
|
...RaTimeInput.propTypes,
|
|
43
|
-
...LabeledInput.propTypes
|
|
44
|
-
}
|
|
43
|
+
...LabeledInput.propTypes
|
|
44
|
+
};
|
|
45
45
|
|
|
46
|
-
export default TimeInput
|
|
46
|
+
export default TimeInput;
|
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
/* eslint-disable camelcase */
|
|
2
|
-
import * as React from 'react'
|
|
2
|
+
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
useGetResourceLabel,
|
|
6
|
-
useResourceContext,
|
|
7
|
-
useResourceDefinition,
|
|
8
|
-
useTranslate,
|
|
9
|
-
} from 'ra-core'
|
|
4
|
+
import { useGetResourceLabel, useResourceContext, useResourceDefinition, useTranslate } from 'ra-core';
|
|
10
5
|
|
|
11
|
-
import { Inbox } from '@mui/icons-material'
|
|
12
|
-
import PropTypes from 'prop-types'
|
|
13
|
-
import { Typography } from '@mui/material'
|
|
14
|
-
import { styled } from '@mui/material/styles'
|
|
6
|
+
import { Inbox } from '@mui/icons-material';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { Typography } from '@mui/material';
|
|
9
|
+
import { styled } from '@mui/material/styles';
|
|
15
10
|
|
|
16
11
|
const StyledToolbar = styled('div')(({ theme }) => ({
|
|
17
|
-
padding: theme.spacing(2)
|
|
18
|
-
}))
|
|
12
|
+
padding: theme.spacing(2)
|
|
13
|
+
}));
|
|
19
14
|
|
|
20
15
|
const Empty = ({ actions, className, ...props }) => {
|
|
21
|
-
const { hasCreate } = useResourceDefinition(props)
|
|
22
|
-
const resource = useResourceContext(props)
|
|
16
|
+
const { hasCreate } = useResourceDefinition(props);
|
|
17
|
+
const resource = useResourceContext(props);
|
|
23
18
|
|
|
24
|
-
const translate = useTranslate()
|
|
19
|
+
const translate = useTranslate();
|
|
25
20
|
|
|
26
|
-
const getResourceLabel = useGetResourceLabel()
|
|
21
|
+
const getResourceLabel = useGetResourceLabel();
|
|
27
22
|
const resourceName = translate(`resources.${resource}.forcedCaseName`, {
|
|
28
23
|
smart_count: 0,
|
|
29
|
-
_: getResourceLabel(resource, 0)
|
|
30
|
-
})
|
|
24
|
+
_: getResourceLabel(resource, 0)
|
|
25
|
+
});
|
|
31
26
|
|
|
32
|
-
const emptyMessage = translate('ra.page.empty', { name: resourceName })
|
|
33
|
-
const inviteMessage = translate('ra.page.invite')
|
|
27
|
+
const emptyMessage = translate('ra.page.empty', { name: resourceName });
|
|
28
|
+
const inviteMessage = translate('ra.page.invite');
|
|
34
29
|
|
|
35
30
|
return (
|
|
36
31
|
<Root className={className}>
|
|
@@ -38,13 +33,13 @@ const Empty = ({ actions, className, ...props }) => {
|
|
|
38
33
|
<Inbox className={EmptyClasses.icon} />
|
|
39
34
|
<Typography variant="h4" paragraph>
|
|
40
35
|
{translate(`resources.${resource}.empty`, {
|
|
41
|
-
_: emptyMessage
|
|
36
|
+
_: emptyMessage
|
|
42
37
|
})}
|
|
43
38
|
</Typography>
|
|
44
39
|
{hasCreate && (
|
|
45
40
|
<Typography variant="body1">
|
|
46
41
|
{translate(`resources.${resource}.invite`, {
|
|
47
|
-
_: inviteMessage
|
|
42
|
+
_: inviteMessage
|
|
48
43
|
})}
|
|
49
44
|
</Typography>
|
|
50
45
|
)}
|
|
@@ -52,43 +47,43 @@ const Empty = ({ actions, className, ...props }) => {
|
|
|
52
47
|
|
|
53
48
|
<StyledToolbar className={EmptyClasses.toolbar}>{actions}</StyledToolbar>
|
|
54
49
|
</Root>
|
|
55
|
-
)
|
|
56
|
-
}
|
|
50
|
+
);
|
|
51
|
+
};
|
|
57
52
|
|
|
58
|
-
const PREFIX = 'RaApplicaEmpty'
|
|
53
|
+
const PREFIX = 'RaApplicaEmpty';
|
|
59
54
|
|
|
60
55
|
export const EmptyClasses = {
|
|
61
56
|
message: `${PREFIX}-message`,
|
|
62
57
|
icon: `${PREFIX}-icon`,
|
|
63
|
-
toolbar: `${PREFIX}-toolbar
|
|
64
|
-
}
|
|
58
|
+
toolbar: `${PREFIX}-toolbar`
|
|
59
|
+
};
|
|
65
60
|
|
|
66
61
|
const Root = styled('span', {
|
|
67
62
|
name: PREFIX,
|
|
68
|
-
overridesResolver: (props, styles) => styles.root
|
|
63
|
+
overridesResolver: (props, styles) => styles.root
|
|
69
64
|
})(({ theme }) => ({
|
|
70
65
|
flex: 1,
|
|
71
66
|
[`& .${EmptyClasses.message}`]: {
|
|
72
67
|
textAlign: 'center',
|
|
73
68
|
opacity: theme.palette.mode === 'light' ? 0.5 : 0.8,
|
|
74
69
|
margin: '0 1em',
|
|
75
|
-
color: theme.palette.mode === 'light' ? 'inherit' : theme.palette.text.primary
|
|
70
|
+
color: theme.palette.mode === 'light' ? 'inherit' : theme.palette.text.primary
|
|
76
71
|
},
|
|
77
72
|
|
|
78
73
|
[`& .${EmptyClasses.icon}`]: {
|
|
79
74
|
width: '9em',
|
|
80
|
-
height: '9em'
|
|
75
|
+
height: '9em'
|
|
81
76
|
},
|
|
82
77
|
|
|
83
78
|
[`& .${EmptyClasses.toolbar}`]: {
|
|
84
79
|
textAlign: 'center',
|
|
85
|
-
marginTop: '2em'
|
|
86
|
-
}
|
|
87
|
-
}))
|
|
80
|
+
marginTop: '2em'
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
88
83
|
|
|
89
84
|
Empty.propTypes = {
|
|
90
85
|
actions: PropTypes.element,
|
|
91
|
-
className: PropTypes.string
|
|
92
|
-
}
|
|
86
|
+
className: PropTypes.string
|
|
87
|
+
};
|
|
93
88
|
|
|
94
|
-
export default Empty
|
|
89
|
+
export default Empty;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import MainCard from '../MainCard'
|
|
2
|
-
import { List as RaList } from 'react-admin'
|
|
3
|
-
import { styled } from '@mui/system'
|
|
1
|
+
import MainCard from '../MainCard';
|
|
2
|
+
import { List as RaList } from 'react-admin';
|
|
3
|
+
import { styled } from '@mui/system';
|
|
4
4
|
|
|
5
5
|
const ApplicaStyledList = styled(RaList, {
|
|
6
6
|
name: 'RaApplicaList',
|
|
@@ -61,21 +61,21 @@ const ApplicaStyledList = styled(RaList, {
|
|
|
61
61
|
'& .RaEmpty-toolbar': {
|
|
62
62
|
margin: theme.spacing(2)
|
|
63
63
|
}
|
|
64
|
-
}))
|
|
64
|
+
}));
|
|
65
65
|
|
|
66
66
|
const List = (props) => {
|
|
67
67
|
return (
|
|
68
68
|
<MainCard content={false}>
|
|
69
69
|
<ApplicaStyledList {...RaList.defaultProps} {...props} />
|
|
70
70
|
</MainCard>
|
|
71
|
-
)
|
|
72
|
-
}
|
|
71
|
+
);
|
|
72
|
+
};
|
|
73
73
|
List.defaultProps = {
|
|
74
74
|
...RaList.defaultProps
|
|
75
|
-
}
|
|
75
|
+
};
|
|
76
76
|
|
|
77
77
|
List.propTypes = {
|
|
78
78
|
...RaList.propTypes
|
|
79
|
-
}
|
|
79
|
+
};
|
|
80
80
|
|
|
81
|
-
export default List
|
|
81
|
+
export default List;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { MarkAsReadedButton, MarkAsUnreadedButton } from './button'
|
|
2
|
-
import React, { useCallback, useMemo } from 'react'
|
|
3
|
-
import { darken, lighten, useTheme } from '@mui/material'
|
|
1
|
+
import { MarkAsReadedButton, MarkAsUnreadedButton } from './button';
|
|
2
|
+
import React, { useCallback, useMemo } from 'react';
|
|
3
|
+
import { darken, lighten, useTheme } from '@mui/material';
|
|
4
4
|
|
|
5
|
-
import ActionsMenu from '../../ActionsMenu'
|
|
6
|
-
import { Datagrid } from 'react-admin'
|
|
7
|
-
import { DateAgoField } from '../../ra-fields'
|
|
8
|
-
import { NotificationField } from './field'
|
|
5
|
+
import ActionsMenu from '../../ActionsMenu';
|
|
6
|
+
import { Datagrid } from 'react-admin';
|
|
7
|
+
import { DateAgoField } from '../../ra-fields';
|
|
8
|
+
import { NotificationField } from './field';
|
|
9
9
|
|
|
10
10
|
const NotificationList = ({ ...props }) => {
|
|
11
|
-
const theme = useTheme()
|
|
11
|
+
const theme = useTheme();
|
|
12
12
|
const { mode, colorize, density } = useMemo(
|
|
13
13
|
() => ({
|
|
14
14
|
mode: theme.palette.mode,
|
|
@@ -16,15 +16,13 @@ const NotificationList = ({ ...props }) => {
|
|
|
16
16
|
density: theme.palette.mode === 'dark' ? 0.5 : 0.9
|
|
17
17
|
}),
|
|
18
18
|
[theme.palette.mode]
|
|
19
|
-
)
|
|
19
|
+
);
|
|
20
20
|
const handleRowStyle = useCallback(
|
|
21
21
|
(record) => ({
|
|
22
|
-
backgroundColor: record?.readed
|
|
23
|
-
? colorize(theme.palette.primary[mode], density)
|
|
24
|
-
: colorize(theme.palette.secondary[mode], density)
|
|
22
|
+
backgroundColor: record?.readed ? colorize(theme.palette.primary[mode], density) : colorize(theme.palette.secondary[mode], density)
|
|
25
23
|
}),
|
|
26
24
|
[theme, mode, colorize, density]
|
|
27
|
-
)
|
|
25
|
+
);
|
|
28
26
|
|
|
29
27
|
return (
|
|
30
28
|
<Datagrid {...props} rowStyle={handleRowStyle}>
|
|
@@ -35,7 +33,7 @@ const NotificationList = ({ ...props }) => {
|
|
|
35
33
|
<MarkAsUnreadedButton />
|
|
36
34
|
</ActionsMenu>
|
|
37
35
|
</Datagrid>
|
|
38
|
-
)
|
|
39
|
-
}
|
|
36
|
+
);
|
|
37
|
+
};
|
|
40
38
|
|
|
41
|
-
export default NotificationList
|
|
39
|
+
export default NotificationList;
|