@mui/x-data-grid-generator 6.0.0-alpha.1 → 6.0.0-alpha.10
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/CHANGELOG.md +1306 -149
- package/columns/commodities.columns.js +0 -1
- package/columns/employees.columns.js +0 -1
- package/hooks/useDemoData.js +9 -31
- package/hooks/useMovieData.d.ts +1 -0
- package/hooks/useMovieData.js +35 -1
- package/hooks/useQuery.js +11 -43
- package/index.js +1 -1
- package/legacy/columns/commodities.columns.js +0 -1
- package/legacy/columns/employees.columns.js +0 -2
- package/legacy/hooks/useBasicDemoData.js +6 -7
- package/legacy/hooks/useDemoData.js +28 -70
- package/legacy/hooks/useMovieData.js +35 -2
- package/legacy/hooks/useQuery.js +38 -77
- package/legacy/index.js +1 -1
- package/legacy/renderer/renderAvatar.js +0 -1
- package/legacy/renderer/renderCountry.js +3 -4
- package/legacy/renderer/renderEditCountry.js +32 -20
- package/legacy/renderer/renderEditCurrency.js +32 -20
- package/legacy/renderer/renderEditIncoterm.js +36 -26
- package/legacy/renderer/renderEditProgress.js +10 -20
- package/legacy/renderer/renderEditRating.js +32 -23
- package/legacy/renderer/renderEditStatus.js +2 -15
- package/legacy/renderer/renderEmail.js +0 -1
- package/legacy/renderer/renderIncoterm.js +0 -2
- package/legacy/renderer/renderLink.js +0 -2
- package/legacy/renderer/renderPnl.js +0 -3
- package/legacy/renderer/renderProgress.js +4 -5
- package/legacy/renderer/renderRating.js +3 -4
- package/legacy/renderer/renderStatus.js +8 -13
- package/legacy/renderer/renderTotalPrice.js +5 -6
- package/legacy/services/asyncWorker.js +4 -7
- package/legacy/services/basic-data-service.js +0 -5
- package/legacy/services/random-generator.js +6 -20
- package/legacy/services/real-data-service.js +0 -9
- package/legacy/services/tree-data-generator.js +6 -22
- package/modern/columns/commodities.columns.js +0 -1
- package/modern/columns/employees.columns.js +0 -1
- package/modern/hooks/useDemoData.js +9 -27
- package/modern/hooks/useMovieData.js +35 -1
- package/modern/hooks/useQuery.js +11 -41
- package/modern/index.js +1 -1
- package/modern/renderer/renderAvatar.js +0 -1
- package/modern/renderer/renderCountry.js +3 -4
- package/modern/renderer/renderEditCountry.js +6 -13
- package/modern/renderer/renderEditCurrency.js +6 -13
- package/modern/renderer/renderEditIncoterm.js +7 -16
- package/modern/renderer/renderEditProgress.js +3 -10
- package/modern/renderer/renderEditRating.js +7 -17
- package/modern/renderer/renderEditStatus.js +0 -10
- package/modern/renderer/renderIncoterm.js +0 -2
- package/modern/renderer/renderLink.js +0 -2
- package/modern/renderer/renderPnl.js +0 -3
- package/modern/renderer/renderProgress.js +4 -5
- package/modern/renderer/renderRating.js +3 -4
- package/modern/renderer/renderStatus.js +8 -13
- package/modern/renderer/renderTotalPrice.js +5 -6
- package/modern/services/asyncWorker.js +2 -4
- package/modern/services/basic-data-service.js +0 -5
- package/modern/services/random-generator.js +6 -19
- package/modern/services/real-data-service.js +0 -9
- package/modern/services/tree-data-generator.js +0 -14
- package/node/columns/commodities.columns.js +1 -8
- package/node/columns/employees.columns.js +1 -8
- package/node/columns/index.js +0 -4
- package/node/hooks/index.js +0 -8
- package/node/hooks/useBasicDemoData.js +0 -6
- package/node/hooks/useDemoData.js +17 -62
- package/node/hooks/useMovieData.js +35 -3
- package/node/hooks/useQuery.js +13 -57
- package/node/index.js +1 -9
- package/node/renderer/index.js +0 -32
- package/node/renderer/renderAvatar.js +0 -8
- package/node/renderer/renderCountry.js +3 -12
- package/node/renderer/renderEditCountry.js +6 -26
- package/node/renderer/renderEditCurrency.js +6 -26
- package/node/renderer/renderEditIncoterm.js +7 -28
- package/node/renderer/renderEditProgress.js +4 -24
- package/node/renderer/renderEditRating.js +7 -26
- package/node/renderer/renderEditStatus.js +0 -26
- package/node/renderer/renderEmail.js +1 -9
- package/node/renderer/renderIncoterm.js +0 -12
- package/node/renderer/renderLink.js +0 -9
- package/node/renderer/renderPnl.js +0 -12
- package/node/renderer/renderProgress.js +4 -14
- package/node/renderer/renderRating.js +3 -13
- package/node/renderer/renderStatus.js +8 -26
- package/node/renderer/renderTotalPrice.js +5 -15
- package/node/services/asyncWorker.js +2 -5
- package/node/services/basic-data-service.js +0 -7
- package/node/services/index.js +0 -8
- package/node/services/random-generator.js +7 -105
- package/node/services/real-data-service.js +0 -12
- package/node/services/static-data.js +0 -2
- package/node/services/tree-data-generator.js +1 -22
- package/package.json +7 -7
- package/renderer/renderAvatar.js +0 -1
- package/renderer/renderCountry.js +3 -4
- package/renderer/renderEditCountry.js +6 -13
- package/renderer/renderEditCurrency.js +6 -13
- package/renderer/renderEditIncoterm.js +7 -16
- package/renderer/renderEditProgress.js +3 -10
- package/renderer/renderEditRating.js +7 -17
- package/renderer/renderEditStatus.js +0 -10
- package/renderer/renderEmail.js +0 -1
- package/renderer/renderIncoterm.js +0 -2
- package/renderer/renderLink.js +0 -2
- package/renderer/renderPnl.js +0 -3
- package/renderer/renderProgress.js +4 -5
- package/renderer/renderRating.js +3 -4
- package/renderer/renderStatus.js +8 -13
- package/renderer/renderTotalPrice.js +5 -6
- package/services/asyncWorker.js +2 -4
- package/services/basic-data-service.js +0 -5
- package/services/random-generator.js +6 -20
- package/services/real-data-service.js +0 -9
- package/services/tree-data-generator.js +0 -15
|
@@ -21,7 +21,6 @@ const StyledAutocomplete = styled(Autocomplete)(({
|
|
|
21
21
|
}
|
|
22
22
|
})
|
|
23
23
|
}));
|
|
24
|
-
|
|
25
24
|
function EditCurrency(props) {
|
|
26
25
|
const {
|
|
27
26
|
id,
|
|
@@ -29,20 +28,16 @@ function EditCurrency(props) {
|
|
|
29
28
|
field
|
|
30
29
|
} = props;
|
|
31
30
|
const apiRef = useGridApiContext();
|
|
32
|
-
const handleChange = React.useCallback((event, newValue) => {
|
|
33
|
-
apiRef.current.setEditCellValue({
|
|
31
|
+
const handleChange = React.useCallback(async (event, newValue) => {
|
|
32
|
+
await apiRef.current.setEditCellValue({
|
|
34
33
|
id,
|
|
35
34
|
field,
|
|
36
35
|
value: newValue.toUpperCase()
|
|
37
36
|
}, event);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
field
|
|
43
|
-
});
|
|
44
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
45
|
-
}
|
|
37
|
+
apiRef.current.stopCellEditMode({
|
|
38
|
+
id,
|
|
39
|
+
field
|
|
40
|
+
});
|
|
46
41
|
}, [apiRef, field, id]);
|
|
47
42
|
return /*#__PURE__*/_jsx(StyledAutocomplete, {
|
|
48
43
|
value: value,
|
|
@@ -75,12 +70,10 @@ function EditCurrency(props) {
|
|
|
75
70
|
id: params.id,
|
|
76
71
|
inputProps: _extends({}, params.inputProps, {
|
|
77
72
|
autoComplete: 'new-password' // disable autocomplete and autofill
|
|
78
|
-
|
|
79
73
|
})
|
|
80
74
|
}, params.InputProps))
|
|
81
75
|
});
|
|
82
76
|
}
|
|
83
|
-
|
|
84
77
|
export function renderEditCurrency(params) {
|
|
85
78
|
return /*#__PURE__*/_jsx(EditCurrency, _extends({}, params));
|
|
86
79
|
}
|
|
@@ -8,7 +8,6 @@ import ListItemText from '@mui/material/ListItemText';
|
|
|
8
8
|
import { INCOTERM_OPTIONS } from '../services/static-data';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
11
|
function EditIncoterm(props) {
|
|
13
12
|
const {
|
|
14
13
|
id,
|
|
@@ -16,32 +15,25 @@ function EditIncoterm(props) {
|
|
|
16
15
|
field
|
|
17
16
|
} = props;
|
|
18
17
|
const apiRef = useGridApiContext();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
apiRef.current.setEditCellValue({
|
|
18
|
+
const handleChange = async event => {
|
|
19
|
+
await apiRef.current.setEditCellValue({
|
|
22
20
|
id,
|
|
23
21
|
field,
|
|
24
22
|
value: event.target.value
|
|
25
23
|
}, event);
|
|
26
|
-
apiRef.current.
|
|
24
|
+
apiRef.current.stopCellEditMode({
|
|
27
25
|
id,
|
|
28
26
|
field
|
|
29
27
|
});
|
|
30
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
31
|
-
|
|
32
|
-
if (event.key) {
|
|
33
|
-
// TODO v6: remove once we stop ignoring events fired from portals
|
|
34
|
-
const params = apiRef.current.getCellParams(id, field);
|
|
35
|
-
apiRef.current.publishEvent('cellNavigationKeyDown', params, event);
|
|
36
|
-
}
|
|
37
28
|
};
|
|
38
|
-
|
|
39
29
|
const handleClose = (event, reason) => {
|
|
40
30
|
if (reason === 'backdropClick') {
|
|
41
|
-
apiRef.current.
|
|
31
|
+
apiRef.current.stopCellEditMode({
|
|
32
|
+
id,
|
|
33
|
+
field
|
|
34
|
+
});
|
|
42
35
|
}
|
|
43
36
|
};
|
|
44
|
-
|
|
45
37
|
return /*#__PURE__*/_jsx(Select, {
|
|
46
38
|
value: value,
|
|
47
39
|
onChange: handleChange,
|
|
@@ -79,7 +71,6 @@ function EditIncoterm(props) {
|
|
|
79
71
|
})
|
|
80
72
|
});
|
|
81
73
|
}
|
|
82
|
-
|
|
83
74
|
export function renderEditIncoterm(params) {
|
|
84
75
|
return /*#__PURE__*/_jsx(EditIncoterm, _extends({}, params));
|
|
85
76
|
}
|
|
@@ -4,7 +4,7 @@ import clsx from 'clsx';
|
|
|
4
4
|
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
5
5
|
import Slider, { sliderClasses } from '@mui/material/Slider';
|
|
6
6
|
import Tooltip from '@mui/material/Tooltip';
|
|
7
|
-
import { debounce } from '@mui/
|
|
7
|
+
import { unstable_debounce as debounce } from '@mui/utils';
|
|
8
8
|
import { alpha, styled } from '@mui/material/styles';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
const StyledSlider = styled(Slider)(({
|
|
@@ -44,8 +44,7 @@ const StyledSlider = styled(Slider)(({
|
|
|
44
44
|
backgroundColor: alpha('#000000', 0.2)
|
|
45
45
|
}
|
|
46
46
|
}));
|
|
47
|
-
|
|
48
|
-
const ValueLabelComponent = props => {
|
|
47
|
+
function ValueLabelComponent(props) {
|
|
49
48
|
const {
|
|
50
49
|
children,
|
|
51
50
|
open,
|
|
@@ -58,8 +57,7 @@ const ValueLabelComponent = props => {
|
|
|
58
57
|
title: value,
|
|
59
58
|
children: children
|
|
60
59
|
});
|
|
61
|
-
}
|
|
62
|
-
|
|
60
|
+
}
|
|
63
61
|
function EditProgress(props) {
|
|
64
62
|
const {
|
|
65
63
|
id,
|
|
@@ -76,22 +74,18 @@ function EditProgress(props) {
|
|
|
76
74
|
});
|
|
77
75
|
}, [apiRef, field, id]);
|
|
78
76
|
const debouncedUpdateCellEditProps = React.useMemo(() => debounce(updateCellEditProps, 60), [updateCellEditProps]);
|
|
79
|
-
|
|
80
77
|
const handleChange = (event, newValue) => {
|
|
81
78
|
setValueState(newValue);
|
|
82
79
|
debouncedUpdateCellEditProps(newValue);
|
|
83
80
|
};
|
|
84
|
-
|
|
85
81
|
React.useEffect(() => {
|
|
86
82
|
setValueState(Number(value));
|
|
87
83
|
}, [value]);
|
|
88
|
-
|
|
89
84
|
const handleRef = element => {
|
|
90
85
|
if (element) {
|
|
91
86
|
element.querySelector('[type="range"]').focus();
|
|
92
87
|
}
|
|
93
88
|
};
|
|
94
|
-
|
|
95
89
|
return /*#__PURE__*/_jsx(StyledSlider, {
|
|
96
90
|
ref: handleRef,
|
|
97
91
|
classes: {
|
|
@@ -108,7 +102,6 @@ function EditProgress(props) {
|
|
|
108
102
|
valueLabelFormat: newValue => `${(newValue * 100).toLocaleString()} %`
|
|
109
103
|
});
|
|
110
104
|
}
|
|
111
|
-
|
|
112
105
|
export function renderEditProgress(params) {
|
|
113
106
|
return /*#__PURE__*/_jsx(EditProgress, _extends({}, params));
|
|
114
107
|
}
|
|
@@ -5,7 +5,6 @@ import Rating from '@mui/material/Rating';
|
|
|
5
5
|
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
|
|
9
8
|
function EditRating(props) {
|
|
10
9
|
const {
|
|
11
10
|
id,
|
|
@@ -13,30 +12,22 @@ function EditRating(props) {
|
|
|
13
12
|
field
|
|
14
13
|
} = props;
|
|
15
14
|
const apiRef = useGridApiContext();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
apiRef.current.setEditCellValue({
|
|
15
|
+
const handleChange = async event => {
|
|
16
|
+
await apiRef.current.setEditCellValue({
|
|
19
17
|
id,
|
|
20
18
|
field,
|
|
21
19
|
value: Number(event.target.value)
|
|
22
|
-
}, event);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
id,
|
|
28
|
-
field
|
|
29
|
-
});
|
|
30
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
31
|
-
}
|
|
20
|
+
}, event);
|
|
21
|
+
apiRef.current.stopCellEditMode({
|
|
22
|
+
id,
|
|
23
|
+
field
|
|
24
|
+
});
|
|
32
25
|
};
|
|
33
|
-
|
|
34
26
|
const handleRef = element => {
|
|
35
27
|
if (element) {
|
|
36
28
|
element.querySelector(`input[value="${value}"]`).focus();
|
|
37
29
|
}
|
|
38
30
|
};
|
|
39
|
-
|
|
40
31
|
return /*#__PURE__*/_jsxs(Box, {
|
|
41
32
|
sx: {
|
|
42
33
|
display: 'flex',
|
|
@@ -57,7 +48,6 @@ function EditRating(props) {
|
|
|
57
48
|
}), Number(value)]
|
|
58
49
|
});
|
|
59
50
|
}
|
|
60
|
-
|
|
61
51
|
export function renderEditRating(params) {
|
|
62
52
|
return /*#__PURE__*/_jsx(EditRating, _extends({}, params));
|
|
63
53
|
}
|
|
@@ -12,7 +12,6 @@ import DoneIcon from '@mui/icons-material/Done';
|
|
|
12
12
|
import { STATUS_OPTIONS } from '../services/static-data';
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
-
|
|
16
15
|
function EditStatus(props) {
|
|
17
16
|
const {
|
|
18
17
|
id,
|
|
@@ -21,14 +20,12 @@ function EditStatus(props) {
|
|
|
21
20
|
} = props;
|
|
22
21
|
const rootProps = useGridRootProps();
|
|
23
22
|
const apiRef = useGridApiContext();
|
|
24
|
-
|
|
25
23
|
const handleChange = async event => {
|
|
26
24
|
const isValid = await apiRef.current.setEditCellValue({
|
|
27
25
|
id,
|
|
28
26
|
field,
|
|
29
27
|
value: event.target.value
|
|
30
28
|
});
|
|
31
|
-
|
|
32
29
|
if (isValid && rootProps.editMode === GridEditModes.Cell) {
|
|
33
30
|
apiRef.current.stopCellEditMode({
|
|
34
31
|
id,
|
|
@@ -37,7 +34,6 @@ function EditStatus(props) {
|
|
|
37
34
|
});
|
|
38
35
|
}
|
|
39
36
|
};
|
|
40
|
-
|
|
41
37
|
const handleClose = (event, reason) => {
|
|
42
38
|
if (reason === 'backdropClick') {
|
|
43
39
|
apiRef.current.stopCellEditMode({
|
|
@@ -47,7 +43,6 @@ function EditStatus(props) {
|
|
|
47
43
|
});
|
|
48
44
|
}
|
|
49
45
|
};
|
|
50
|
-
|
|
51
46
|
return /*#__PURE__*/_jsx(Select, {
|
|
52
47
|
value: value,
|
|
53
48
|
onChange: handleChange,
|
|
@@ -67,7 +62,6 @@ function EditStatus(props) {
|
|
|
67
62
|
open: true,
|
|
68
63
|
children: STATUS_OPTIONS.map(option => {
|
|
69
64
|
let IconComponent = null;
|
|
70
|
-
|
|
71
65
|
if (option === 'Rejected') {
|
|
72
66
|
IconComponent = ReportProblemIcon;
|
|
73
67
|
} else if (option === 'Open') {
|
|
@@ -77,13 +71,10 @@ function EditStatus(props) {
|
|
|
77
71
|
} else if (option === 'Filled') {
|
|
78
72
|
IconComponent = DoneIcon;
|
|
79
73
|
}
|
|
80
|
-
|
|
81
74
|
let label = option;
|
|
82
|
-
|
|
83
75
|
if (option === 'PartiallyFilled') {
|
|
84
76
|
label = 'Partially Filled';
|
|
85
77
|
}
|
|
86
|
-
|
|
87
78
|
return /*#__PURE__*/_jsxs(MenuItem, {
|
|
88
79
|
value: option,
|
|
89
80
|
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
@@ -103,7 +94,6 @@ function EditStatus(props) {
|
|
|
103
94
|
})
|
|
104
95
|
});
|
|
105
96
|
}
|
|
106
|
-
|
|
107
97
|
export function renderEditStatus(params) {
|
|
108
98
|
return /*#__PURE__*/_jsx(EditStatus, _extends({}, params));
|
|
109
99
|
}
|
|
@@ -8,11 +8,9 @@ const Incoterm = /*#__PURE__*/React.memo(function Incoterm(props) {
|
|
|
8
8
|
const {
|
|
9
9
|
value
|
|
10
10
|
} = props;
|
|
11
|
-
|
|
12
11
|
if (!value) {
|
|
13
12
|
return null;
|
|
14
13
|
}
|
|
15
|
-
|
|
16
14
|
const valueStr = value.toString();
|
|
17
15
|
const tooltip = valueStr.slice(valueStr.indexOf('(') + 1, valueStr.indexOf(')'));
|
|
18
16
|
const code = valueStr.slice(0, valueStr.indexOf('(')).trim();
|
|
@@ -12,7 +12,6 @@ export const DemoLink = /*#__PURE__*/React.memo(function DemoLink(props) {
|
|
|
12
12
|
event.preventDefault();
|
|
13
13
|
event.stopPropagation();
|
|
14
14
|
};
|
|
15
|
-
|
|
16
15
|
return /*#__PURE__*/_jsx(Link, {
|
|
17
16
|
tabIndex: props.tabIndex,
|
|
18
17
|
onClick: handleClick,
|
|
@@ -24,7 +23,6 @@ export function renderLink(params) {
|
|
|
24
23
|
if (params.value == null) {
|
|
25
24
|
return '';
|
|
26
25
|
}
|
|
27
|
-
|
|
28
26
|
return /*#__PURE__*/_jsx(DemoLink, {
|
|
29
27
|
href: params.value,
|
|
30
28
|
tabIndex: params.tabIndex,
|
|
@@ -14,11 +14,9 @@ const Value = styled('div')(({
|
|
|
14
14
|
color: theme.palette.mode === 'light' ? theme.palette.error.dark : theme.palette.error.light
|
|
15
15
|
}
|
|
16
16
|
}));
|
|
17
|
-
|
|
18
17
|
function pnlFormatter(value) {
|
|
19
18
|
return value < 0 ? `(${Math.abs(value).toLocaleString()})` : value.toLocaleString();
|
|
20
19
|
}
|
|
21
|
-
|
|
22
20
|
const Pnl = /*#__PURE__*/React.memo(function Pnl(props) {
|
|
23
21
|
const {
|
|
24
22
|
value
|
|
@@ -32,7 +30,6 @@ export function renderPnl(params) {
|
|
|
32
30
|
if (params.value == null) {
|
|
33
31
|
return '';
|
|
34
32
|
}
|
|
35
|
-
|
|
36
33
|
return /*#__PURE__*/_jsx(Pnl, {
|
|
37
34
|
value: params.value
|
|
38
35
|
});
|
|
@@ -6,7 +6,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
6
6
|
const Root = styled('div')(({
|
|
7
7
|
theme
|
|
8
8
|
}) => ({
|
|
9
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
9
|
+
border: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
10
10
|
position: 'relative',
|
|
11
11
|
overflow: 'hidden',
|
|
12
12
|
width: '100%',
|
|
@@ -51,14 +51,13 @@ const ProgressBar = /*#__PURE__*/React.memo(function ProgressBar(props) {
|
|
|
51
51
|
export function renderProgress(params) {
|
|
52
52
|
if (params.value == null) {
|
|
53
53
|
return '';
|
|
54
|
-
}
|
|
55
|
-
// Then we fall back to the default rendering based on `valueGetter` instead of rendering a progress bar.
|
|
56
|
-
|
|
54
|
+
}
|
|
57
55
|
|
|
56
|
+
// If the aggregated value does not have the same unit as the other cell
|
|
57
|
+
// Then we fall back to the default rendering based on `valueGetter` instead of rendering a progress bar.
|
|
58
58
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
|
-
|
|
62
61
|
return /*#__PURE__*/_jsx(ProgressBar, {
|
|
63
62
|
value: params.value
|
|
64
63
|
});
|
|
@@ -26,14 +26,13 @@ const RatingValue = /*#__PURE__*/React.memo(function RatingValue(props) {
|
|
|
26
26
|
export function renderRating(params) {
|
|
27
27
|
if (params.value == null) {
|
|
28
28
|
return '';
|
|
29
|
-
}
|
|
30
|
-
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
31
|
-
|
|
29
|
+
}
|
|
32
30
|
|
|
31
|
+
// If the aggregated value does not have the same unit as the other cell
|
|
32
|
+
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
33
33
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
|
-
|
|
37
36
|
return /*#__PURE__*/_jsx(RatingValue, {
|
|
38
37
|
value: params.value
|
|
39
38
|
});
|
|
@@ -14,20 +14,20 @@ const StyledChip = styled(Chip)(({
|
|
|
14
14
|
color: 'inherit'
|
|
15
15
|
},
|
|
16
16
|
'&.Open': {
|
|
17
|
-
color: theme.palette.info.dark,
|
|
18
|
-
border: `1px solid ${theme.palette.info.main}`
|
|
17
|
+
color: (theme.vars || theme).palette.info.dark,
|
|
18
|
+
border: `1px solid ${(theme.vars || theme).palette.info.main}`
|
|
19
19
|
},
|
|
20
20
|
'&.Filled': {
|
|
21
|
-
color: theme.palette.success.dark,
|
|
22
|
-
border: `1px solid ${theme.palette.success.main}`
|
|
21
|
+
color: (theme.vars || theme).palette.success.dark,
|
|
22
|
+
border: `1px solid ${(theme.vars || theme).palette.success.main}`
|
|
23
23
|
},
|
|
24
24
|
'&.PartiallyFilled': {
|
|
25
|
-
color: theme.palette.warning.dark,
|
|
26
|
-
border: `1px solid ${theme.palette.warning.main}`
|
|
25
|
+
color: (theme.vars || theme).palette.warning.dark,
|
|
26
|
+
border: `1px solid ${(theme.vars || theme).palette.warning.main}`
|
|
27
27
|
},
|
|
28
28
|
'&.Rejected': {
|
|
29
|
-
color: theme.palette.error.dark,
|
|
30
|
-
border: `1px solid ${theme.palette.error.main}`
|
|
29
|
+
color: (theme.vars || theme).palette.error.dark,
|
|
30
|
+
border: `1px solid ${(theme.vars || theme).palette.error.main}`
|
|
31
31
|
}
|
|
32
32
|
}));
|
|
33
33
|
const Status = /*#__PURE__*/React.memo(props => {
|
|
@@ -35,7 +35,6 @@ const Status = /*#__PURE__*/React.memo(props => {
|
|
|
35
35
|
status
|
|
36
36
|
} = props;
|
|
37
37
|
let icon = null;
|
|
38
|
-
|
|
39
38
|
if (status === 'Rejected') {
|
|
40
39
|
icon = /*#__PURE__*/_jsx(ReportProblemIcon, {
|
|
41
40
|
className: "icon"
|
|
@@ -53,13 +52,10 @@ const Status = /*#__PURE__*/React.memo(props => {
|
|
|
53
52
|
className: "icon"
|
|
54
53
|
});
|
|
55
54
|
}
|
|
56
|
-
|
|
57
55
|
let label = status;
|
|
58
|
-
|
|
59
56
|
if (status === 'PartiallyFilled') {
|
|
60
57
|
label = 'Partially Filled';
|
|
61
58
|
}
|
|
62
|
-
|
|
63
59
|
return /*#__PURE__*/_jsx(StyledChip, {
|
|
64
60
|
className: status,
|
|
65
61
|
icon: icon,
|
|
@@ -72,7 +68,6 @@ export function renderStatus(params) {
|
|
|
72
68
|
if (params.value == null) {
|
|
73
69
|
return '';
|
|
74
70
|
}
|
|
75
|
-
|
|
76
71
|
return /*#__PURE__*/_jsx(Status, {
|
|
77
72
|
status: params.value
|
|
78
73
|
});
|
|
@@ -14,10 +14,10 @@ const Value = styled('div')(({
|
|
|
14
14
|
alignItems: 'center',
|
|
15
15
|
justifyContent: 'flex-end',
|
|
16
16
|
'&.good': {
|
|
17
|
-
backgroundColor: alpha(theme.palette.success.main, 0.3)
|
|
17
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.success.mainChannel} / 0.3)` : alpha(theme.palette.success.main, 0.3)
|
|
18
18
|
},
|
|
19
19
|
'&.bad': {
|
|
20
|
-
backgroundColor: alpha(theme.palette.error.main, 0.3)
|
|
20
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.error.mainChannel} / 0.3)` : alpha(theme.palette.error.main, 0.3)
|
|
21
21
|
}
|
|
22
22
|
}));
|
|
23
23
|
const currencyFormatter = new Intl.NumberFormat('en-US', {
|
|
@@ -36,14 +36,13 @@ const TotalPrice = /*#__PURE__*/React.memo(function TotalPrice(props) {
|
|
|
36
36
|
export function renderTotalPrice(params) {
|
|
37
37
|
if (params.value == null) {
|
|
38
38
|
return '';
|
|
39
|
-
}
|
|
40
|
-
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
41
|
-
|
|
39
|
+
}
|
|
42
40
|
|
|
41
|
+
// If the aggregated value does not have the same unit as the other cell
|
|
42
|
+
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
43
43
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
46
|
return /*#__PURE__*/_jsx(TotalPrice, {
|
|
48
47
|
value: params.value
|
|
49
48
|
});
|
|
@@ -8,22 +8,20 @@ export default function asyncWorker({
|
|
|
8
8
|
while ((deadline.timeRemaining() > 0 || deadline.didTimeout) && tasks.current > 0) {
|
|
9
9
|
work();
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
if (tasks.current > 0) {
|
|
13
12
|
requestIdleCallback(myNonEssentialWork);
|
|
14
13
|
} else {
|
|
15
14
|
done();
|
|
16
15
|
}
|
|
17
|
-
};
|
|
18
|
-
|
|
16
|
+
};
|
|
19
17
|
|
|
18
|
+
// Don't use requestIdleCallback if the time is mock, better to run synchronously in such case.
|
|
20
19
|
if (typeof requestIdleCallback === 'function' && !requestIdleCallback.clock) {
|
|
21
20
|
requestIdleCallback(myNonEssentialWork);
|
|
22
21
|
} else {
|
|
23
22
|
while (tasks.current > 0) {
|
|
24
23
|
work();
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
done();
|
|
28
26
|
}
|
|
29
27
|
}
|
|
@@ -2,21 +2,18 @@ export const currencyPairs = ['USDGBP', 'USDEUR', 'GBPEUR', 'JPYUSD', 'MXNUSD',
|
|
|
2
2
|
export const getBasicGridData = (rowLength, colLength) => {
|
|
3
3
|
const data = [];
|
|
4
4
|
const pricesColLength = colLength - 2;
|
|
5
|
-
|
|
6
5
|
for (let i = 0; i < rowLength; i += 1) {
|
|
7
6
|
const idx = i >= currencyPairs.length ? i % currencyPairs.length : i;
|
|
8
7
|
const model = {
|
|
9
8
|
id: i,
|
|
10
9
|
currencyPair: currencyPairs[idx]
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
14
12
|
model[`price${j}M`] = Number(`${i.toString()}${j}`); // randomPrice(0.7, 2);
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
data.push(model);
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
const columns = [{
|
|
21
18
|
field: 'id',
|
|
22
19
|
headerName: 'id',
|
|
@@ -25,7 +22,6 @@ export const getBasicGridData = (rowLength, colLength) => {
|
|
|
25
22
|
field: 'currencyPair',
|
|
26
23
|
headerName: 'Currency Pair'
|
|
27
24
|
}];
|
|
28
|
-
|
|
29
25
|
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
30
26
|
// const y = Math.floor(j / 12);
|
|
31
27
|
columns.push({
|
|
@@ -36,7 +32,6 @@ export const getBasicGridData = (rowLength, colLength) => {
|
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
columns.length = colLength; // we cut the array in case < 2;
|
|
39
|
-
|
|
40
35
|
return {
|
|
41
36
|
columns,
|
|
42
37
|
rows: data
|
|
@@ -2,84 +2,71 @@ import globalChance from 'chance';
|
|
|
2
2
|
import { COLORS, COMMODITY_OPTIONS, CONTRACT_TYPE_OPTIONS, COUNTRY_ISO_OPTIONS, CURRENCY_OPTIONS, INCOTERM_OPTIONS, RATE_TYPE_OPTIONS, STATUS_OPTIONS, TAXCODE_OPTIONS } from './static-data';
|
|
3
3
|
const chanceId = globalChance();
|
|
4
4
|
let chance;
|
|
5
|
-
|
|
6
5
|
if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
|
|
7
6
|
chance = globalChance(() => 0.5);
|
|
8
7
|
} else {
|
|
9
8
|
chance = chanceId;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
/**
|
|
13
11
|
* Wrap a data generator that returns a string and add a prefix if the value generated has already been given
|
|
14
12
|
*/
|
|
15
13
|
const uniquenessHandler = generator => (data, context) => {
|
|
16
14
|
const rawValue = generator(data, context);
|
|
17
|
-
|
|
18
15
|
if (!context.values) {
|
|
19
16
|
return rawValue;
|
|
20
17
|
}
|
|
21
|
-
|
|
22
18
|
const valueCount = (context.values[rawValue] ?? 0) + 1;
|
|
23
19
|
context.values[rawValue] = valueCount + 1;
|
|
24
|
-
|
|
25
20
|
if (valueCount > 1) {
|
|
26
21
|
return `${rawValue} ${valueCount}`;
|
|
27
22
|
}
|
|
28
|
-
|
|
29
23
|
return rawValue;
|
|
30
24
|
};
|
|
31
|
-
|
|
32
25
|
function dateFuture(years, refDate) {
|
|
33
26
|
let date = new Date();
|
|
34
|
-
|
|
35
27
|
if (typeof refDate !== 'undefined') {
|
|
36
28
|
date = new Date(Date.parse(refDate));
|
|
37
29
|
}
|
|
38
|
-
|
|
39
30
|
const range = {
|
|
40
31
|
min: 1000,
|
|
41
32
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
42
|
-
};
|
|
33
|
+
};
|
|
43
34
|
|
|
35
|
+
// some time from now to N years later, in milliseconds
|
|
44
36
|
const past = date.getTime() + chance.integer(range);
|
|
45
37
|
date.setTime(past);
|
|
46
38
|
return date;
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
function dateRecent(days, refDate) {
|
|
50
41
|
let date = new Date();
|
|
51
|
-
|
|
52
42
|
if (typeof refDate !== 'undefined') {
|
|
53
43
|
date = new Date(Date.parse(refDate));
|
|
54
44
|
}
|
|
55
|
-
|
|
56
45
|
const range = {
|
|
57
46
|
min: 1000,
|
|
58
47
|
max: (days || 1) * 24 * 3600 * 1000
|
|
59
|
-
};
|
|
48
|
+
};
|
|
60
49
|
|
|
50
|
+
// some time from now to N days ago, in milliseconds
|
|
61
51
|
const past = date.getTime() - chance.integer(range);
|
|
62
52
|
date.setTime(past);
|
|
63
53
|
return date;
|
|
64
54
|
}
|
|
65
|
-
|
|
66
55
|
function datePast(years, refDate) {
|
|
67
56
|
let date = new Date();
|
|
68
|
-
|
|
69
57
|
if (typeof refDate !== 'undefined') {
|
|
70
58
|
date = new Date(Date.parse(refDate));
|
|
71
59
|
}
|
|
72
|
-
|
|
73
60
|
const range = {
|
|
74
61
|
min: 1000,
|
|
75
62
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
76
|
-
};
|
|
63
|
+
};
|
|
77
64
|
|
|
65
|
+
// some time from now to N years ago, in milliseconds
|
|
78
66
|
const past = date.getTime() - chance.integer(range);
|
|
79
67
|
date.setTime(past);
|
|
80
68
|
return date;
|
|
81
69
|
}
|
|
82
|
-
|
|
83
70
|
export const random = (min, max) => chance.floating({
|
|
84
71
|
min,
|
|
85
72
|
max
|
|
@@ -6,35 +6,26 @@ export function getRealGridData(rowLength, columns) {
|
|
|
6
6
|
};
|
|
7
7
|
const rows = [];
|
|
8
8
|
const indexedValues = {};
|
|
9
|
-
|
|
10
9
|
function work() {
|
|
11
10
|
const row = {};
|
|
12
|
-
|
|
13
11
|
for (let j = 0; j < columns.length; j += 1) {
|
|
14
12
|
const column = columns[j];
|
|
15
|
-
|
|
16
13
|
if (column.generateData) {
|
|
17
14
|
const context = {};
|
|
18
|
-
|
|
19
15
|
if (column.dataGeneratorUniquenessEnabled) {
|
|
20
16
|
let fieldValues = indexedValues[column.field];
|
|
21
|
-
|
|
22
17
|
if (!fieldValues) {
|
|
23
18
|
fieldValues = {};
|
|
24
19
|
indexedValues[column.field] = fieldValues;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
context.values = fieldValues;
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
row[column.field] = column.generateData(row, context);
|
|
31
24
|
}
|
|
32
25
|
}
|
|
33
|
-
|
|
34
26
|
rows.push(row);
|
|
35
27
|
tasks.current -= 1;
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
const columnVisibilityModel = {};
|
|
39
30
|
columns.forEach(col => {
|
|
40
31
|
if (col.hide) {
|