@mui/x-data-grid-generator 8.0.0-alpha.10 → 8.0.0-alpha.12
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 +267 -2
- package/columns/commodities.columns.d.ts +2 -2
- package/columns/commodities.columns.js +63 -56
- package/columns/employees.columns.d.ts +2 -2
- package/columns/employees.columns.js +38 -31
- package/columns/index.d.ts +2 -2
- package/columns/index.js +27 -2
- package/constants/prompts.d.ts +1 -1
- package/constants/prompts.js +7 -1
- package/esm/columns/commodities.columns.d.ts +2 -0
- package/{node → esm}/columns/commodities.columns.js +56 -63
- package/esm/columns/employees.columns.d.ts +2 -0
- package/{node → esm}/columns/employees.columns.js +31 -38
- package/esm/columns/index.d.ts +2 -0
- package/esm/columns/index.js +2 -0
- package/esm/constants/prompts.d.ts +2 -0
- package/{node → esm}/constants/prompts.js +1 -7
- package/esm/hooks/index.d.ts +8 -0
- package/esm/hooks/index.js +6 -0
- package/esm/hooks/serverUtils.d.ts +61 -0
- package/{node → esm}/hooks/serverUtils.js +26 -36
- package/esm/hooks/useBasicDemoData.d.ts +2 -0
- package/esm/hooks/useBasicDemoData.js +5 -0
- package/esm/hooks/useDemoData.d.ts +30 -0
- package/{node → esm}/hooks/useDemoData.js +23 -36
- package/esm/hooks/useMockServer.d.ts +31 -0
- package/{node → esm}/hooks/useMockServer.js +42 -50
- package/esm/hooks/useMovieData.d.ts +21 -0
- package/{node → esm}/hooks/useMovieData.js +4 -13
- package/esm/hooks/useQuery.d.ts +169 -0
- package/esm/hooks/useQuery.js +84 -0
- package/esm/index.d.ts +4 -0
- package/esm/index.js +11 -0
- package/esm/package.json +1 -0
- package/esm/renderer/index.d.ts +16 -0
- package/esm/renderer/index.js +16 -0
- package/esm/renderer/renderAvatar.d.ts +6 -0
- package/esm/renderer/renderAvatar.js +14 -0
- package/esm/renderer/renderCountry.d.ts +4 -0
- package/{node → esm}/renderer/renderCountry.js +8 -16
- package/esm/renderer/renderEditCountry.d.ts +4 -0
- package/esm/renderer/renderEditCountry.js +80 -0
- package/esm/renderer/renderEditCurrency.d.ts +3 -0
- package/esm/renderer/renderEditCurrency.js +78 -0
- package/esm/renderer/renderEditIncoterm.d.ts +3 -0
- package/esm/renderer/renderEditIncoterm.js +75 -0
- package/esm/renderer/renderEditProgress.d.ts +3 -0
- package/{node → esm}/renderer/renderEditProgress.js +21 -28
- package/esm/renderer/renderEditRating.d.ts +3 -0
- package/{node → esm}/renderer/renderEditRating.js +11 -19
- package/esm/renderer/renderEditStatus.d.ts +3 -0
- package/esm/renderer/renderEditStatus.js +98 -0
- package/esm/renderer/renderEmail.d.ts +3 -0
- package/esm/renderer/renderEmail.js +11 -0
- package/esm/renderer/renderIncoterm.d.ts +3 -0
- package/esm/renderer/renderIncoterm.js +40 -0
- package/esm/renderer/renderLink.d.ts +10 -0
- package/esm/renderer/renderLink.js +31 -0
- package/esm/renderer/renderPnl.d.ts +3 -0
- package/esm/renderer/renderPnl.js +41 -0
- package/esm/renderer/renderProgress.d.ts +3 -0
- package/{node → esm}/renderer/renderProgress.js +15 -23
- package/esm/renderer/renderRating.d.ts +3 -0
- package/esm/renderer/renderRating.js +38 -0
- package/esm/renderer/renderStatus.d.ts +3 -0
- package/{node → esm}/renderer/renderStatus.js +16 -24
- package/esm/renderer/renderTotalPrice.d.ts +3 -0
- package/{node → esm}/renderer/renderTotalPrice.js +11 -19
- package/esm/services/asyncWorker.d.ts +11 -0
- package/{node → esm}/services/asyncWorker.js +1 -7
- package/esm/services/basic-data-service.d.ts +13 -0
- package/esm/services/basic-data-service.js +37 -0
- package/esm/services/gridColDefGenerator.d.ts +23 -0
- package/esm/services/gridColDefGenerator.js +1 -0
- package/esm/services/index.d.ts +5 -0
- package/esm/services/index.js +5 -0
- package/esm/services/prompt-resolver.d.ts +2 -0
- package/esm/services/prompt-resolver.js +13 -0
- package/esm/services/random-generator.d.ts +49 -0
- package/esm/services/random-generator.js +124 -0
- package/esm/services/real-data-service.d.ts +8 -0
- package/{node → esm}/services/real-data-service.js +3 -10
- package/esm/services/static-data.d.ts +18 -0
- package/{node → esm}/services/static-data.js +12 -18
- package/esm/services/tree-data-generator.d.ts +21 -0
- package/{node → esm}/services/tree-data-generator.js +6 -14
- package/hooks/index.d.ts +7 -7
- package/hooks/index.js +71 -6
- package/hooks/serverUtils.d.ts +33 -33
- package/hooks/serverUtils.js +36 -26
- package/hooks/useBasicDemoData.d.ts +2 -2
- package/hooks/useBasicDemoData.js +13 -5
- package/hooks/useDemoData.d.ts +18 -19
- package/hooks/useDemoData.js +36 -23
- package/hooks/useMockServer.d.ts +25 -24
- package/hooks/useMockServer.js +50 -42
- package/hooks/useMovieData.d.ts +15 -15
- package/hooks/useMovieData.js +13 -4
- package/hooks/useQuery.d.ts +164 -164
- package/hooks/useQuery.js +27 -19
- package/index.d.ts +4 -4
- package/index.js +50 -5
- package/modern/columns/commodities.columns.d.ts +2 -0
- package/modern/columns/employees.columns.d.ts +2 -0
- package/modern/columns/index.d.ts +2 -0
- package/modern/constants/prompts.d.ts +2 -0
- package/modern/hooks/index.d.ts +8 -0
- package/modern/hooks/serverUtils.d.ts +61 -0
- package/modern/hooks/useBasicDemoData.d.ts +2 -0
- package/modern/hooks/useDemoData.d.ts +30 -0
- package/modern/hooks/useMockServer.d.ts +31 -0
- package/modern/hooks/useMovieData.d.ts +21 -0
- package/modern/hooks/useQuery.d.ts +169 -0
- package/modern/index.d.ts +4 -0
- package/modern/index.js +1 -1
- package/modern/package.json +1 -0
- package/modern/renderer/index.d.ts +16 -0
- package/modern/renderer/renderAvatar.d.ts +6 -0
- package/modern/renderer/renderCountry.d.ts +4 -0
- package/modern/renderer/renderEditCountry.d.ts +4 -0
- package/modern/renderer/renderEditCurrency.d.ts +3 -0
- package/modern/renderer/renderEditIncoterm.d.ts +3 -0
- package/modern/renderer/renderEditProgress.d.ts +3 -0
- package/modern/renderer/renderEditRating.d.ts +3 -0
- package/modern/renderer/renderEditStatus.d.ts +3 -0
- package/modern/renderer/renderEmail.d.ts +3 -0
- package/modern/renderer/renderIncoterm.d.ts +3 -0
- package/modern/renderer/renderLink.d.ts +10 -0
- package/modern/renderer/renderPnl.d.ts +3 -0
- package/modern/renderer/renderProgress.d.ts +3 -0
- package/modern/renderer/renderRating.d.ts +3 -0
- package/modern/renderer/renderStatus.d.ts +3 -0
- package/modern/renderer/renderTotalPrice.d.ts +3 -0
- package/modern/services/asyncWorker.d.ts +11 -0
- package/modern/services/basic-data-service.d.ts +13 -0
- package/modern/services/gridColDefGenerator.d.ts +23 -0
- package/modern/services/index.d.ts +5 -0
- package/modern/services/prompt-resolver.d.ts +2 -0
- package/modern/services/random-generator.d.ts +49 -0
- package/modern/services/real-data-service.d.ts +8 -0
- package/modern/services/static-data.d.ts +18 -0
- package/modern/services/tree-data-generator.d.ts +21 -0
- package/package.json +51 -7
- package/renderer/index.d.ts +16 -16
- package/renderer/index.js +181 -16
- package/renderer/renderAvatar.d.ts +3 -3
- package/renderer/renderAvatar.js +13 -5
- package/renderer/renderCountry.d.ts +2 -2
- package/renderer/renderCountry.js +16 -8
- package/renderer/renderEditCountry.d.ts +2 -2
- package/renderer/renderEditCountry.js +29 -21
- package/renderer/renderEditCurrency.d.ts +1 -1
- package/renderer/renderEditCurrency.js +28 -20
- package/renderer/renderEditIncoterm.d.ts +1 -1
- package/renderer/renderEditIncoterm.js +25 -17
- package/renderer/renderEditProgress.d.ts +1 -1
- package/renderer/renderEditProgress.js +28 -21
- package/renderer/renderEditRating.d.ts +1 -1
- package/renderer/renderEditRating.js +19 -11
- package/renderer/renderEditStatus.d.ts +1 -1
- package/renderer/renderEditStatus.js +36 -28
- package/renderer/renderEmail.d.ts +1 -1
- package/renderer/renderEmail.js +12 -5
- package/renderer/renderIncoterm.d.ts +1 -1
- package/renderer/renderIncoterm.js +19 -11
- package/renderer/renderLink.d.ts +4 -4
- package/renderer/renderLink.js +16 -8
- package/renderer/renderPnl.d.ts +1 -1
- package/renderer/renderPnl.js +20 -12
- package/renderer/renderProgress.d.ts +1 -1
- package/renderer/renderProgress.js +23 -15
- package/renderer/renderRating.d.ts +1 -1
- package/renderer/renderRating.js +16 -8
- package/renderer/renderStatus.d.ts +1 -1
- package/renderer/renderStatus.js +24 -16
- package/renderer/renderTotalPrice.d.ts +1 -1
- package/renderer/renderTotalPrice.js +19 -11
- package/services/asyncWorker.d.ts +11 -7
- package/services/asyncWorker.js +7 -1
- package/services/basic-data-service.d.ts +6 -6
- package/services/basic-data-service.js +10 -3
- package/services/gridColDefGenerator.d.ts +19 -19
- package/services/gridColDefGenerator.js +5 -1
- package/services/index.d.ts +5 -5
- package/services/index.js +60 -5
- package/services/prompt-resolver.d.ts +1 -1
- package/services/prompt-resolver.js +11 -4
- package/services/random-generator.d.ts +5 -5
- package/services/random-generator.js +92 -46
- package/services/real-data-service.d.ts +5 -5
- package/services/real-data-service.js +10 -3
- package/services/static-data.d.ts +6 -6
- package/services/static-data.js +18 -12
- package/services/tree-data-generator.d.ts +18 -19
- package/services/tree-data-generator.js +14 -6
- package/tsconfig.build.tsbuildinfo +1 -0
- package/columns/package.json +0 -6
- package/hooks/package.json +0 -6
- package/node/columns/index.js +0 -27
- package/node/hooks/index.js +0 -71
- package/node/hooks/useBasicDemoData.js +0 -13
- package/node/hooks/useQuery.js +0 -92
- package/node/index.js +0 -56
- package/node/renderer/index.js +0 -181
- package/node/renderer/renderAvatar.js +0 -22
- package/node/renderer/renderEditCountry.js +0 -88
- package/node/renderer/renderEditCurrency.js +0 -86
- package/node/renderer/renderEditIncoterm.js +0 -83
- package/node/renderer/renderEditStatus.js +0 -106
- package/node/renderer/renderEmail.js +0 -18
- package/node/renderer/renderIncoterm.js +0 -48
- package/node/renderer/renderLink.js +0 -39
- package/node/renderer/renderPnl.js +0 -49
- package/node/renderer/renderRating.js +0 -46
- package/node/services/basic-data-service.js +0 -44
- package/node/services/gridColDefGenerator.js +0 -5
- package/node/services/index.js +0 -60
- package/node/services/prompt-resolver.js +0 -20
- package/node/services/random-generator.js +0 -170
- package/renderer/package.json +0 -6
- package/services/package.json +0 -6
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { styled } from '@mui/material/styles';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
const Value = styled('div')(({
|
|
7
|
+
theme
|
|
8
|
+
}) => ({
|
|
9
|
+
width: '100%',
|
|
10
|
+
fontVariantNumeric: 'tabular-nums',
|
|
11
|
+
'&.positive': _extends({
|
|
12
|
+
color: theme.palette.success.light
|
|
13
|
+
}, theme.applyStyles('light', {
|
|
14
|
+
color: theme.palette.success.dark
|
|
15
|
+
})),
|
|
16
|
+
'&.negative': _extends({
|
|
17
|
+
color: theme.palette.error.light
|
|
18
|
+
}, theme.applyStyles('light', {
|
|
19
|
+
color: theme.palette.error.dark
|
|
20
|
+
}))
|
|
21
|
+
}));
|
|
22
|
+
function pnlFormatter(value) {
|
|
23
|
+
return value < 0 ? `(${Math.abs(value).toLocaleString()})` : value.toLocaleString();
|
|
24
|
+
}
|
|
25
|
+
const Pnl = /*#__PURE__*/React.memo(function Pnl(props) {
|
|
26
|
+
const {
|
|
27
|
+
value
|
|
28
|
+
} = props;
|
|
29
|
+
return /*#__PURE__*/_jsx(Value, {
|
|
30
|
+
className: clsx(value > 0 && "positive", value < 0 && "negative"),
|
|
31
|
+
children: pnlFormatter(value)
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
export function renderPnl(params) {
|
|
35
|
+
if (params.value == null) {
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/_jsx(Pnl, {
|
|
39
|
+
value: params.value
|
|
40
|
+
});
|
|
41
|
+
}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderProgress = renderProgress;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
var _styles = require("@mui/material/styles");
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
const Center = (0, _styles.styled)('div')({
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
const Center = styled('div')({
|
|
14
6
|
height: '100%',
|
|
15
7
|
display: 'flex',
|
|
16
8
|
alignItems: 'center'
|
|
17
9
|
});
|
|
18
|
-
const Element =
|
|
10
|
+
const Element = styled('div')(({
|
|
19
11
|
theme
|
|
20
12
|
}) => ({
|
|
21
13
|
border: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
@@ -25,14 +17,14 @@ const Element = (0, _styles.styled)('div')(({
|
|
|
25
17
|
height: 26,
|
|
26
18
|
borderRadius: 2
|
|
27
19
|
}));
|
|
28
|
-
const Value =
|
|
20
|
+
const Value = styled('div')({
|
|
29
21
|
position: 'absolute',
|
|
30
22
|
lineHeight: '24px',
|
|
31
23
|
width: '100%',
|
|
32
24
|
display: 'flex',
|
|
33
25
|
justifyContent: 'center'
|
|
34
26
|
});
|
|
35
|
-
const Bar =
|
|
27
|
+
const Bar = styled('div')({
|
|
36
28
|
height: '100%',
|
|
37
29
|
'&.low': {
|
|
38
30
|
backgroundColor: '#f44336'
|
|
@@ -49,18 +41,18 @@ const ProgressBar = /*#__PURE__*/React.memo(function ProgressBar(props) {
|
|
|
49
41
|
value
|
|
50
42
|
} = props;
|
|
51
43
|
const valueInPercent = value * 100;
|
|
52
|
-
return /*#__PURE__*/(
|
|
53
|
-
children: [/*#__PURE__*/(
|
|
44
|
+
return /*#__PURE__*/_jsxs(Element, {
|
|
45
|
+
children: [/*#__PURE__*/_jsx(Value, {
|
|
54
46
|
children: `${valueInPercent.toLocaleString()} %`
|
|
55
|
-
}), /*#__PURE__*/(
|
|
56
|
-
className: (
|
|
47
|
+
}), /*#__PURE__*/_jsx(Bar, {
|
|
48
|
+
className: clsx(valueInPercent < 30 && "low", valueInPercent >= 30 && valueInPercent <= 70 && "medium", valueInPercent > 70 && "high"),
|
|
57
49
|
style: {
|
|
58
50
|
maxWidth: `${valueInPercent}%`
|
|
59
51
|
}
|
|
60
52
|
})]
|
|
61
53
|
});
|
|
62
54
|
});
|
|
63
|
-
function renderProgress(params) {
|
|
55
|
+
export function renderProgress(params) {
|
|
64
56
|
if (params.value == null) {
|
|
65
57
|
return '';
|
|
66
58
|
}
|
|
@@ -70,8 +62,8 @@ function renderProgress(params) {
|
|
|
70
62
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
71
63
|
return null;
|
|
72
64
|
}
|
|
73
|
-
return /*#__PURE__*/(
|
|
74
|
-
children: /*#__PURE__*/(
|
|
65
|
+
return /*#__PURE__*/_jsx(Center, {
|
|
66
|
+
children: /*#__PURE__*/_jsx(ProgressBar, {
|
|
75
67
|
value: params.value
|
|
76
68
|
})
|
|
77
69
|
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
|
+
import Rating from '@mui/material/Rating';
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
const RatingValue = /*#__PURE__*/React.memo(function RatingValue(props) {
|
|
6
|
+
const {
|
|
7
|
+
value
|
|
8
|
+
} = props;
|
|
9
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
10
|
+
sx: {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
lineHeight: '24px',
|
|
14
|
+
color: 'text.secondary'
|
|
15
|
+
},
|
|
16
|
+
children: [/*#__PURE__*/_jsx(Rating, {
|
|
17
|
+
value: value,
|
|
18
|
+
sx: {
|
|
19
|
+
mr: 1
|
|
20
|
+
},
|
|
21
|
+
readOnly: true
|
|
22
|
+
}), " ", Math.round(Number(value) * 10) / 10]
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
export function renderRating(params) {
|
|
26
|
+
if (params.value == null) {
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// If the aggregated value does not have the same unit as the other cell
|
|
31
|
+
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
32
|
+
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return /*#__PURE__*/_jsx(RatingValue, {
|
|
36
|
+
value: params.value
|
|
37
|
+
});
|
|
38
|
+
}
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _ReportProblem = _interopRequireDefault(require("@mui/icons-material/ReportProblem"));
|
|
11
|
-
var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
|
|
12
|
-
var _Autorenew = _interopRequireDefault(require("@mui/icons-material/Autorenew"));
|
|
13
|
-
var _Done = _interopRequireDefault(require("@mui/icons-material/Done"));
|
|
14
|
-
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
15
|
-
var _styles = require("@mui/material/styles");
|
|
16
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
const StyledChip = (0, _styles.styled)(_Chip.default)(({
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import ReportProblemIcon from '@mui/icons-material/ReportProblem';
|
|
3
|
+
import InfoIcon from '@mui/icons-material/Info';
|
|
4
|
+
import AutorenewIcon from '@mui/icons-material/Autorenew';
|
|
5
|
+
import DoneIcon from '@mui/icons-material/Done';
|
|
6
|
+
import Chip from '@mui/material/Chip';
|
|
7
|
+
import { styled } from '@mui/material/styles';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
const StyledChip = styled(Chip)(({
|
|
18
10
|
theme
|
|
19
11
|
}) => ({
|
|
20
12
|
justifyContent: 'left',
|
|
@@ -44,19 +36,19 @@ const Status = /*#__PURE__*/React.memo(props => {
|
|
|
44
36
|
} = props;
|
|
45
37
|
let icon = null;
|
|
46
38
|
if (status === 'Rejected') {
|
|
47
|
-
icon = /*#__PURE__*/(
|
|
39
|
+
icon = /*#__PURE__*/_jsx(ReportProblemIcon, {
|
|
48
40
|
className: "icon"
|
|
49
41
|
});
|
|
50
42
|
} else if (status === 'Open') {
|
|
51
|
-
icon = /*#__PURE__*/(
|
|
43
|
+
icon = /*#__PURE__*/_jsx(InfoIcon, {
|
|
52
44
|
className: "icon"
|
|
53
45
|
});
|
|
54
46
|
} else if (status === 'PartiallyFilled') {
|
|
55
|
-
icon = /*#__PURE__*/(
|
|
47
|
+
icon = /*#__PURE__*/_jsx(AutorenewIcon, {
|
|
56
48
|
className: "icon"
|
|
57
49
|
});
|
|
58
50
|
} else if (status === 'Filled') {
|
|
59
|
-
icon = /*#__PURE__*/(
|
|
51
|
+
icon = /*#__PURE__*/_jsx(DoneIcon, {
|
|
60
52
|
className: "icon"
|
|
61
53
|
});
|
|
62
54
|
}
|
|
@@ -64,7 +56,7 @@ const Status = /*#__PURE__*/React.memo(props => {
|
|
|
64
56
|
if (status === 'PartiallyFilled') {
|
|
65
57
|
label = 'Partially Filled';
|
|
66
58
|
}
|
|
67
|
-
return /*#__PURE__*/(
|
|
59
|
+
return /*#__PURE__*/_jsx(StyledChip, {
|
|
68
60
|
className: status,
|
|
69
61
|
icon: icon,
|
|
70
62
|
size: "small",
|
|
@@ -72,11 +64,11 @@ const Status = /*#__PURE__*/React.memo(props => {
|
|
|
72
64
|
variant: "outlined"
|
|
73
65
|
});
|
|
74
66
|
});
|
|
75
|
-
function renderStatus(params) {
|
|
67
|
+
export function renderStatus(params) {
|
|
76
68
|
if (params.value == null) {
|
|
77
69
|
return '';
|
|
78
70
|
}
|
|
79
|
-
return /*#__PURE__*/(
|
|
71
|
+
return /*#__PURE__*/_jsx(Status, {
|
|
80
72
|
status: params.value
|
|
81
73
|
});
|
|
82
74
|
}
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderTotalPrice = renderTotalPrice;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
|
-
var _styles = require("@mui/material/styles");
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
const Value = (0, _styles.styled)('div')(({
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { alpha, styled } from '@mui/material/styles';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
const Value = styled('div')(({
|
|
14
6
|
theme
|
|
15
7
|
}) => ({
|
|
16
8
|
width: '100%',
|
|
@@ -22,10 +14,10 @@ const Value = (0, _styles.styled)('div')(({
|
|
|
22
14
|
alignItems: 'center',
|
|
23
15
|
justifyContent: 'flex-end',
|
|
24
16
|
'&.good': {
|
|
25
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.success.mainChannel} / 0.3)` :
|
|
17
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.success.mainChannel} / 0.3)` : alpha(theme.palette.success.main, 0.3)
|
|
26
18
|
},
|
|
27
19
|
'&.bad': {
|
|
28
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.error.mainChannel} / 0.3)` :
|
|
20
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.error.mainChannel} / 0.3)` : alpha(theme.palette.error.main, 0.3)
|
|
29
21
|
}
|
|
30
22
|
}));
|
|
31
23
|
const currencyFormatter = new Intl.NumberFormat('en-US', {
|
|
@@ -36,12 +28,12 @@ const TotalPrice = /*#__PURE__*/React.memo(function TotalPrice(props) {
|
|
|
36
28
|
const {
|
|
37
29
|
value
|
|
38
30
|
} = props;
|
|
39
|
-
return /*#__PURE__*/(
|
|
40
|
-
className: (
|
|
31
|
+
return /*#__PURE__*/_jsx(Value, {
|
|
32
|
+
className: clsx(value > 1000000 && "good", value < 1000000 && "bad"),
|
|
41
33
|
children: currencyFormatter.format(value)
|
|
42
34
|
});
|
|
43
35
|
});
|
|
44
|
-
function renderTotalPrice(params) {
|
|
36
|
+
export function renderTotalPrice(params) {
|
|
45
37
|
if (params.value == null) {
|
|
46
38
|
return '';
|
|
47
39
|
}
|
|
@@ -51,7 +43,7 @@ function renderTotalPrice(params) {
|
|
|
51
43
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
52
44
|
return null;
|
|
53
45
|
}
|
|
54
|
-
return /*#__PURE__*/(
|
|
46
|
+
return /*#__PURE__*/_jsx(TotalPrice, {
|
|
55
47
|
value: params.value
|
|
56
48
|
});
|
|
57
49
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GridColDef, GridRowId } from '@mui/x-data-grid';
|
|
2
|
+
export declare const currencyPairs: string[];
|
|
3
|
+
interface GridBasicRowModel {
|
|
4
|
+
id: GridRowId;
|
|
5
|
+
currencyPair: string;
|
|
6
|
+
[price: string]: number | string;
|
|
7
|
+
}
|
|
8
|
+
export interface GridBasicData {
|
|
9
|
+
columns: GridColDef[];
|
|
10
|
+
rows: GridBasicRowModel[];
|
|
11
|
+
}
|
|
12
|
+
export declare const getBasicGridData: (rowLength: number, colLength: number) => GridBasicData;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const currencyPairs = ['USDGBP', 'USDEUR', 'GBPEUR', 'JPYUSD', 'MXNUSD', 'BTCUSD', 'USDCAD', 'EURJPY', 'EURUSD', 'EURCHF', 'USDCHF', 'EURGBP', 'GBPUSD', 'AUDCAD', 'NZDUSD', 'GBPCHF', 'AUDUSD', 'GBPJPY', 'USDJPY', 'CHFJPY', 'EURCAD', 'AUDJPY', 'EURAUD', 'AUDNZD', 'CADEUR', 'CHFMXN', 'ETHUSD', 'BCHUSD', 'ETHBTC', 'XRPUSD', 'XRPBTC', 'USDLTC', 'USDXRP', 'USDDSH', 'USDBCH', 'JPYEUR', 'JPYUSD', 'JPYGBP', 'JPYCAD', 'JPYCHF', 'JPYAUD', 'JPYNZD', 'JPYSGD', 'JPYNOK', 'JPYRUB', 'JPYSEK', 'JPYTRY', 'JPYZAR', 'JPYHKD', 'JPYCNH', 'JPYDKK', 'JPYMXN', 'JPYPLN', 'JPYXAG', 'JPYXAU', 'JPYBTC', 'JPYETH', 'JPYLTC', 'JPYXRP', 'JPYDSH', 'JPYBCH', 'GBPEUR', 'GBPRUB', 'GBPTRY'];
|
|
2
|
+
export const getBasicGridData = (rowLength, colLength) => {
|
|
3
|
+
const data = [];
|
|
4
|
+
const pricesColLength = colLength - 2;
|
|
5
|
+
for (let i = 0; i < rowLength; i += 1) {
|
|
6
|
+
const idx = i >= currencyPairs.length ? i % currencyPairs.length : i;
|
|
7
|
+
const model = {
|
|
8
|
+
id: i,
|
|
9
|
+
currencyPair: currencyPairs[idx]
|
|
10
|
+
};
|
|
11
|
+
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
12
|
+
model[`price${j}M`] = Number(`${i.toString()}${j}`); // randomPrice(0.7, 2);
|
|
13
|
+
}
|
|
14
|
+
data.push(model);
|
|
15
|
+
}
|
|
16
|
+
const columns = [{
|
|
17
|
+
field: 'id',
|
|
18
|
+
headerName: 'id',
|
|
19
|
+
type: 'number'
|
|
20
|
+
}, {
|
|
21
|
+
field: 'currencyPair',
|
|
22
|
+
headerName: 'Currency Pair'
|
|
23
|
+
}];
|
|
24
|
+
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
25
|
+
// const y = Math.floor(j / 12);
|
|
26
|
+
columns.push({
|
|
27
|
+
field: `price${j}M`,
|
|
28
|
+
headerName: `${j}M`,
|
|
29
|
+
type: 'number'
|
|
30
|
+
}); // (y > 0 ? `${y}Y` : '') + `${j - y * 12}M`
|
|
31
|
+
}
|
|
32
|
+
columns.length = colLength; // we cut the array in case < 2;
|
|
33
|
+
return {
|
|
34
|
+
columns,
|
|
35
|
+
rows: data
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GridColDef } from '@mui/x-data-grid-pro';
|
|
2
|
+
export interface GridDataGeneratorContext {
|
|
3
|
+
/**
|
|
4
|
+
* Values already attributed to this column.
|
|
5
|
+
* Only defined if the column has the uniqueness mode activated.
|
|
6
|
+
* The keys represent the random value and the value represents the amount of rows that already have this value.
|
|
7
|
+
* This allows to data generators to add a suffix to the returned value to force the uniqueness.
|
|
8
|
+
*/
|
|
9
|
+
values?: Record<string, number>;
|
|
10
|
+
}
|
|
11
|
+
export type GridColDefGenerator = GridColDef & {
|
|
12
|
+
generateData?: (row: any, context: GridDataGeneratorContext) => any;
|
|
13
|
+
/**
|
|
14
|
+
* If `true`, each row will have a distinct value
|
|
15
|
+
* If several rows are generated with the same value, then a suffix will be added to the 2nd, 3rd, ...
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
dataGeneratorUniquenessEnabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* If `true`, the column will be marked as hidden in the `columnVisibilityModel`.
|
|
21
|
+
*/
|
|
22
|
+
hide?: boolean;
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { mockPrompts } from "../constants/prompts.js";
|
|
2
|
+
export const mockPromptResolver = (_, query) => {
|
|
3
|
+
const resolved = mockPrompts.get(query.toLowerCase().trim());
|
|
4
|
+
return new Promise((resolve, reject) => {
|
|
5
|
+
setTimeout(() => {
|
|
6
|
+
if (resolved) {
|
|
7
|
+
resolve(resolved);
|
|
8
|
+
} else {
|
|
9
|
+
reject(new Error('Unknown query'));
|
|
10
|
+
}
|
|
11
|
+
}, 1000);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { GridDataGeneratorContext } from "./gridColDefGenerator.js";
|
|
2
|
+
type ColumnDataGenerator<Value> = (data: any, context: GridDataGeneratorContext) => Value;
|
|
3
|
+
export declare const random: (min: number, max: number) => number;
|
|
4
|
+
export declare const randomInt: (min: number, max: number) => number;
|
|
5
|
+
export declare const randomPrice: (min?: number, max?: number) => number;
|
|
6
|
+
export declare const randomRate: () => number;
|
|
7
|
+
export declare const randomDate: (start: Date, end: Date) => Date;
|
|
8
|
+
export declare const randomArrayItem: <T>(arr: T[]) => T;
|
|
9
|
+
export declare const randomBoolean: () => boolean;
|
|
10
|
+
export declare const randomColor: () => "#2196f3" | "#4caf50" | "#03a9f4" | "#ff9800" | "#e91e63" | "#9c27b0" | "#f44336";
|
|
11
|
+
export declare const randomId: () => string;
|
|
12
|
+
export declare const randomDesk: () => string;
|
|
13
|
+
export declare const randomCommodity: () => string;
|
|
14
|
+
export declare const randomTraderName: () => string;
|
|
15
|
+
export declare const randomUserName: () => string;
|
|
16
|
+
export declare const randomEmail: () => string;
|
|
17
|
+
export declare const randomUrl: () => string;
|
|
18
|
+
export declare const randomPhoneNumber: () => string;
|
|
19
|
+
export declare const randomUnitPrice: () => number;
|
|
20
|
+
export declare const randomUnitPriceCurrency: () => string;
|
|
21
|
+
export declare const randomQuantity: () => number;
|
|
22
|
+
export declare const randomFeeRate: () => number;
|
|
23
|
+
export declare const randomIncoterm: () => string;
|
|
24
|
+
export declare const randomStatusOptions: () => string;
|
|
25
|
+
export declare const randomPnL: () => number;
|
|
26
|
+
export declare const randomMaturityDate: () => Date;
|
|
27
|
+
export declare const randomTradeDate: () => Date;
|
|
28
|
+
export declare const randomBrokerId: () => string;
|
|
29
|
+
export declare const randomCompanyName: () => string;
|
|
30
|
+
export declare const randomCountry: () => import("./static-data").CountryIsoOption;
|
|
31
|
+
export declare const randomCurrency: () => string;
|
|
32
|
+
export declare const randomAddress: () => string;
|
|
33
|
+
export declare const randomCity: () => string;
|
|
34
|
+
export declare const randomTaxCode: () => string;
|
|
35
|
+
export declare const randomContractType: () => string;
|
|
36
|
+
export declare const randomRateType: () => string;
|
|
37
|
+
export declare const randomCreatedDate: () => Date;
|
|
38
|
+
export declare const randomUpdatedDate: () => Date;
|
|
39
|
+
export declare const randomJobTitle: () => string;
|
|
40
|
+
export declare const randomRating: () => number;
|
|
41
|
+
export declare const randomName: ColumnDataGenerator<string>;
|
|
42
|
+
export declare const generateFilledQuantity: (data: {
|
|
43
|
+
quantity: number;
|
|
44
|
+
}) => number;
|
|
45
|
+
export declare const generateIsFilled: (data: {
|
|
46
|
+
quantity: number;
|
|
47
|
+
filledQuantity: number;
|
|
48
|
+
}) => boolean;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Chance } from 'chance';
|
|
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.js";
|
|
3
|
+
let chance;
|
|
4
|
+
let chanceGuid;
|
|
5
|
+
if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
|
|
6
|
+
chance = new Chance(() => 0.5);
|
|
7
|
+
chanceGuid = new Chance(42);
|
|
8
|
+
} else {
|
|
9
|
+
chance = new Chance();
|
|
10
|
+
chanceGuid = chance;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Wrap a data generator that returns a string and add a prefix if the value generated has already been given
|
|
14
|
+
*/
|
|
15
|
+
const uniquenessHandler = generator => (data, context) => {
|
|
16
|
+
const rawValue = generator(data, context);
|
|
17
|
+
if (!context.values) {
|
|
18
|
+
return rawValue;
|
|
19
|
+
}
|
|
20
|
+
const valueCount = (context.values[rawValue] ?? 0) + 1;
|
|
21
|
+
context.values[rawValue] = valueCount + 1;
|
|
22
|
+
if (valueCount > 1) {
|
|
23
|
+
return `${rawValue} ${valueCount}`;
|
|
24
|
+
}
|
|
25
|
+
return rawValue;
|
|
26
|
+
};
|
|
27
|
+
function dateFuture(years, refDate) {
|
|
28
|
+
let date = new Date();
|
|
29
|
+
if (typeof refDate !== 'undefined') {
|
|
30
|
+
date = new Date(Date.parse(refDate));
|
|
31
|
+
}
|
|
32
|
+
const range = {
|
|
33
|
+
min: 1000,
|
|
34
|
+
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// some time from now to N years later, in milliseconds
|
|
38
|
+
const past = date.getTime() + chance.integer(range);
|
|
39
|
+
date.setTime(past);
|
|
40
|
+
return date;
|
|
41
|
+
}
|
|
42
|
+
function dateRecent(days, refDate) {
|
|
43
|
+
let date = new Date();
|
|
44
|
+
if (typeof refDate !== 'undefined') {
|
|
45
|
+
date = new Date(Date.parse(refDate));
|
|
46
|
+
}
|
|
47
|
+
const range = {
|
|
48
|
+
min: 1000,
|
|
49
|
+
max: (days || 1) * 24 * 3600 * 1000
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// some time from now to N days ago, in milliseconds
|
|
53
|
+
const past = date.getTime() - chance.integer(range);
|
|
54
|
+
date.setTime(past);
|
|
55
|
+
return date;
|
|
56
|
+
}
|
|
57
|
+
function datePast(years, refDate) {
|
|
58
|
+
let date = new Date();
|
|
59
|
+
if (typeof refDate !== 'undefined') {
|
|
60
|
+
date = new Date(Date.parse(refDate));
|
|
61
|
+
}
|
|
62
|
+
const range = {
|
|
63
|
+
min: 1000,
|
|
64
|
+
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
// some time from now to N years ago, in milliseconds
|
|
68
|
+
const past = date.getTime() - chance.integer(range);
|
|
69
|
+
date.setTime(past);
|
|
70
|
+
return date;
|
|
71
|
+
}
|
|
72
|
+
export const random = (min, max) => chance.floating({
|
|
73
|
+
min,
|
|
74
|
+
max
|
|
75
|
+
});
|
|
76
|
+
export const randomInt = (min, max) => chance.integer({
|
|
77
|
+
min,
|
|
78
|
+
max
|
|
79
|
+
});
|
|
80
|
+
export const randomPrice = (min = 0, max = 100000) => Number(random(min, max).toFixed(2));
|
|
81
|
+
export const randomRate = () => random(0, 1);
|
|
82
|
+
export const randomDate = (start, end) => new Date(start.getTime() + chance.floating({
|
|
83
|
+
min: 0,
|
|
84
|
+
max: 1
|
|
85
|
+
}) * (end.getTime() - start.getTime()));
|
|
86
|
+
export const randomArrayItem = arr => arr[randomInt(0, arr.length - 1)];
|
|
87
|
+
export const randomBoolean = () => randomArrayItem([true, false]);
|
|
88
|
+
export const randomColor = () => randomArrayItem(COLORS);
|
|
89
|
+
export const randomId = () => chanceGuid.guid();
|
|
90
|
+
export const randomDesk = () => `D-${chance.integer({
|
|
91
|
+
min: 0,
|
|
92
|
+
max: 10000
|
|
93
|
+
})}`;
|
|
94
|
+
export const randomCommodity = () => randomArrayItem(COMMODITY_OPTIONS);
|
|
95
|
+
export const randomTraderName = () => chance.name();
|
|
96
|
+
export const randomUserName = () => chance.twitter();
|
|
97
|
+
export const randomEmail = () => chance.email();
|
|
98
|
+
export const randomUrl = () => chance.url();
|
|
99
|
+
export const randomPhoneNumber = () => chance.phone();
|
|
100
|
+
export const randomUnitPrice = () => randomPrice(1, 100);
|
|
101
|
+
export const randomUnitPriceCurrency = () => randomArrayItem(CURRENCY_OPTIONS);
|
|
102
|
+
export const randomQuantity = () => randomInt(1000, 100000);
|
|
103
|
+
export const randomFeeRate = () => Number(random(0.1, 0.4).toFixed(3));
|
|
104
|
+
export const randomIncoterm = () => randomArrayItem(INCOTERM_OPTIONS);
|
|
105
|
+
export const randomStatusOptions = () => randomArrayItem(STATUS_OPTIONS);
|
|
106
|
+
export const randomPnL = () => random(-100000000, 100000000);
|
|
107
|
+
export const randomMaturityDate = () => dateFuture();
|
|
108
|
+
export const randomTradeDate = () => dateRecent();
|
|
109
|
+
export const randomBrokerId = () => chance.guid();
|
|
110
|
+
export const randomCompanyName = () => chance.company();
|
|
111
|
+
export const randomCountry = () => randomArrayItem(COUNTRY_ISO_OPTIONS);
|
|
112
|
+
export const randomCurrency = () => randomArrayItem(CURRENCY_OPTIONS);
|
|
113
|
+
export const randomAddress = () => chance.address();
|
|
114
|
+
export const randomCity = () => chance.city();
|
|
115
|
+
export const randomTaxCode = () => randomArrayItem(TAXCODE_OPTIONS);
|
|
116
|
+
export const randomContractType = () => randomArrayItem(CONTRACT_TYPE_OPTIONS);
|
|
117
|
+
export const randomRateType = () => randomArrayItem(RATE_TYPE_OPTIONS);
|
|
118
|
+
export const randomCreatedDate = () => datePast();
|
|
119
|
+
export const randomUpdatedDate = () => dateRecent();
|
|
120
|
+
export const randomJobTitle = () => chance.profession();
|
|
121
|
+
export const randomRating = () => randomInt(1, 5);
|
|
122
|
+
export const randomName = uniquenessHandler(() => chance.name());
|
|
123
|
+
export const generateFilledQuantity = data => Number((data.quantity * randomRate()).toFixed()) / data.quantity;
|
|
124
|
+
export const generateIsFilled = data => data.quantity === data.filledQuantity;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GridRowModel, GridInitialState } from '@mui/x-data-grid-premium';
|
|
2
|
+
import { GridColDefGenerator } from "./gridColDefGenerator.js";
|
|
3
|
+
export interface GridDemoData {
|
|
4
|
+
rows: GridRowModel[];
|
|
5
|
+
columns: GridColDefGenerator[];
|
|
6
|
+
initialState?: GridInitialState;
|
|
7
|
+
}
|
|
8
|
+
export declare function getRealGridData(rowLength: number, columns: GridColDefGenerator[]): Promise<GridDemoData>;
|