@mui/x-data-grid-generator 6.0.0-alpha.8 → 6.0.0-beta.0

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.
Files changed (134) hide show
  1. package/CHANGELOG.md +1163 -15
  2. package/columns/commodities.columns.js +0 -1
  3. package/columns/employees.columns.js +0 -1
  4. package/hooks/useDemoData.d.ts +2 -2
  5. package/hooks/useDemoData.js +9 -31
  6. package/hooks/useMovieData.d.ts +3 -3
  7. package/hooks/useMovieData.js +0 -1
  8. package/hooks/useQuery.d.ts +13 -13
  9. package/hooks/useQuery.js +13 -45
  10. package/index.js +4 -2
  11. package/legacy/columns/commodities.columns.js +0 -1
  12. package/legacy/columns/employees.columns.js +0 -2
  13. package/legacy/hooks/useBasicDemoData.js +6 -7
  14. package/legacy/hooks/useDemoData.js +28 -70
  15. package/legacy/hooks/useMovieData.js +0 -2
  16. package/legacy/hooks/useQuery.js +40 -79
  17. package/legacy/index.js +4 -2
  18. package/legacy/renderer/renderAvatar.js +0 -1
  19. package/legacy/renderer/renderCountry.js +3 -4
  20. package/legacy/renderer/renderEditCountry.js +2 -8
  21. package/legacy/renderer/renderEditCurrency.js +2 -8
  22. package/legacy/renderer/renderEditIncoterm.js +2 -10
  23. package/legacy/renderer/renderEditProgress.js +7 -17
  24. package/legacy/renderer/renderEditRating.js +2 -10
  25. package/legacy/renderer/renderEditStatus.js +2 -15
  26. package/legacy/renderer/renderEmail.js +0 -1
  27. package/legacy/renderer/renderIncoterm.js +0 -2
  28. package/legacy/renderer/renderLink.js +0 -2
  29. package/legacy/renderer/renderPnl.js +0 -3
  30. package/legacy/renderer/renderProgress.js +4 -5
  31. package/legacy/renderer/renderRating.js +3 -4
  32. package/legacy/renderer/renderStatus.js +8 -13
  33. package/legacy/renderer/renderTotalPrice.js +5 -6
  34. package/legacy/services/asyncWorker.js +4 -7
  35. package/legacy/services/basic-data-service.js +0 -5
  36. package/legacy/services/random-generator.js +6 -20
  37. package/legacy/services/real-data-service.js +0 -9
  38. package/legacy/services/tree-data-generator.js +6 -22
  39. package/modern/columns/commodities.columns.js +0 -1
  40. package/modern/columns/employees.columns.js +0 -1
  41. package/modern/hooks/useDemoData.js +9 -27
  42. package/modern/hooks/useMovieData.js +0 -1
  43. package/modern/hooks/useQuery.js +13 -43
  44. package/modern/index.js +4 -2
  45. package/modern/renderer/renderAvatar.js +0 -1
  46. package/modern/renderer/renderCountry.js +3 -4
  47. package/modern/renderer/renderEditCountry.js +0 -3
  48. package/modern/renderer/renderEditCurrency.js +0 -3
  49. package/modern/renderer/renderEditIncoterm.js +0 -5
  50. package/modern/renderer/renderEditProgress.js +0 -7
  51. package/modern/renderer/renderEditRating.js +0 -5
  52. package/modern/renderer/renderEditStatus.js +0 -10
  53. package/modern/renderer/renderIncoterm.js +0 -2
  54. package/modern/renderer/renderLink.js +0 -2
  55. package/modern/renderer/renderPnl.js +0 -3
  56. package/modern/renderer/renderProgress.js +4 -5
  57. package/modern/renderer/renderRating.js +3 -4
  58. package/modern/renderer/renderStatus.js +8 -13
  59. package/modern/renderer/renderTotalPrice.js +5 -6
  60. package/modern/services/asyncWorker.js +2 -4
  61. package/modern/services/basic-data-service.js +0 -5
  62. package/modern/services/random-generator.js +6 -19
  63. package/modern/services/real-data-service.js +0 -9
  64. package/modern/services/tree-data-generator.js +0 -14
  65. package/node/columns/commodities.columns.js +1 -8
  66. package/node/columns/employees.columns.js +1 -8
  67. package/node/columns/index.js +0 -4
  68. package/node/hooks/index.js +0 -8
  69. package/node/hooks/useBasicDemoData.js +0 -6
  70. package/node/hooks/useDemoData.js +17 -62
  71. package/node/hooks/useMovieData.js +0 -3
  72. package/node/hooks/useQuery.js +14 -58
  73. package/node/index.js +4 -10
  74. package/node/renderer/index.js +0 -32
  75. package/node/renderer/renderAvatar.js +0 -8
  76. package/node/renderer/renderCountry.js +3 -12
  77. package/node/renderer/renderEditCountry.js +0 -16
  78. package/node/renderer/renderEditCurrency.js +0 -16
  79. package/node/renderer/renderEditIncoterm.js +0 -17
  80. package/node/renderer/renderEditProgress.js +0 -20
  81. package/node/renderer/renderEditRating.js +0 -14
  82. package/node/renderer/renderEditStatus.js +0 -26
  83. package/node/renderer/renderEmail.js +1 -9
  84. package/node/renderer/renderIncoterm.js +0 -12
  85. package/node/renderer/renderLink.js +0 -9
  86. package/node/renderer/renderPnl.js +0 -12
  87. package/node/renderer/renderProgress.js +4 -14
  88. package/node/renderer/renderRating.js +3 -13
  89. package/node/renderer/renderStatus.js +8 -26
  90. package/node/renderer/renderTotalPrice.js +5 -15
  91. package/node/services/asyncWorker.js +2 -5
  92. package/node/services/basic-data-service.js +0 -7
  93. package/node/services/index.js +0 -8
  94. package/node/services/random-generator.js +7 -105
  95. package/node/services/real-data-service.js +0 -12
  96. package/node/services/static-data.js +0 -2
  97. package/node/services/tree-data-generator.js +1 -22
  98. package/package.json +5 -5
  99. package/renderer/renderAvatar.js +0 -1
  100. package/renderer/renderCountry.js +3 -4
  101. package/renderer/renderEditCountry.js +0 -3
  102. package/renderer/renderEditCurrency.d.ts +1 -1
  103. package/renderer/renderEditCurrency.js +0 -3
  104. package/renderer/renderEditIncoterm.d.ts +1 -1
  105. package/renderer/renderEditIncoterm.js +0 -5
  106. package/renderer/renderEditProgress.d.ts +1 -1
  107. package/renderer/renderEditProgress.js +0 -7
  108. package/renderer/renderEditRating.d.ts +1 -1
  109. package/renderer/renderEditRating.js +0 -5
  110. package/renderer/renderEditStatus.d.ts +1 -1
  111. package/renderer/renderEditStatus.js +0 -10
  112. package/renderer/renderEmail.d.ts +1 -1
  113. package/renderer/renderEmail.js +0 -1
  114. package/renderer/renderIncoterm.d.ts +1 -1
  115. package/renderer/renderIncoterm.js +0 -2
  116. package/renderer/renderLink.d.ts +1 -1
  117. package/renderer/renderLink.js +0 -2
  118. package/renderer/renderPnl.d.ts +1 -1
  119. package/renderer/renderPnl.js +0 -3
  120. package/renderer/renderProgress.d.ts +1 -1
  121. package/renderer/renderProgress.js +4 -5
  122. package/renderer/renderRating.d.ts +2 -4
  123. package/renderer/renderRating.js +3 -4
  124. package/renderer/renderStatus.d.ts +1 -1
  125. package/renderer/renderStatus.js +8 -13
  126. package/renderer/renderTotalPrice.d.ts +1 -1
  127. package/renderer/renderTotalPrice.js +5 -6
  128. package/services/asyncWorker.js +2 -4
  129. package/services/basic-data-service.js +0 -5
  130. package/services/gridColDefGenerator.d.ts +2 -2
  131. package/services/random-generator.d.ts +1 -1
  132. package/services/random-generator.js +6 -20
  133. package/services/real-data-service.js +0 -9
  134. package/services/tree-data-generator.js +0 -15
@@ -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
  }
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderEmail(params: GridRenderCellParams<string, any, any>): JSX.Element;
3
+ export declare function renderEmail(params: GridRenderCellParams<any, string, any>): JSX.Element;
@@ -3,7 +3,6 @@ import { DemoLink } from './renderLink';
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  export function renderEmail(params) {
5
5
  var _params$value;
6
-
7
6
  const email = (_params$value = params.value) != null ? _params$value : '';
8
7
  return /*#__PURE__*/_jsx(DemoLink, {
9
8
  href: `mailto:${email}`,
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderIncoterm(params: GridRenderCellParams<string | null, any, any>): JSX.Element;
3
+ export declare function renderIncoterm(params: GridRenderCellParams<any, string | null, any>): JSX.Element;
@@ -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();
@@ -6,5 +6,5 @@ interface DemoLinkProps {
6
6
  tabIndex: number;
7
7
  }
8
8
  export declare const DemoLink: React.NamedExoticComponent<DemoLinkProps>;
9
- export declare function renderLink(params: GridRenderCellParams<string, any, any>): "" | JSX.Element;
9
+ export declare function renderLink(params: GridRenderCellParams<any, string, any>): "" | JSX.Element;
10
10
  export {};
@@ -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,
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderPnl(params: GridRenderCellParams<number, any, any>): "" | JSX.Element;
3
+ export declare function renderPnl(params: GridRenderCellParams<any, number, any>): "" | JSX.Element;
@@ -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
  });
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderProgress(params: GridRenderCellParams<number, any, any>): "" | JSX.Element | null;
3
+ export declare function renderProgress(params: GridRenderCellParams<any, number, any>): "" | JSX.Element | null;
@@ -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
- } // If the aggregated value does not have the same unit as the other cell
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
  });
@@ -1,5 +1,3 @@
1
1
  /// <reference types="react" />
2
- import { GridRenderCellParams, GridRowId } from '@mui/x-data-grid-premium';
3
- export declare function renderRating(params: GridRenderCellParams<number, {
4
- id: GridRowId;
5
- }, any>): "" | JSX.Element | null;
2
+ import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
+ export declare function renderRating(params: GridRenderCellParams<any, number, any>): "" | JSX.Element | null;
@@ -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
- } // If the aggregated value does not have the same unit as the other cell
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
  });
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderStatus(params: GridRenderCellParams<string>): "" | JSX.Element;
3
+ export declare function renderStatus(params: GridRenderCellParams<any, string>): "" | JSX.Element;
@@ -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
  });
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
- export declare function renderTotalPrice(params: GridRenderCellParams<number>): "" | JSX.Element | null;
3
+ export declare function renderTotalPrice(params: GridRenderCellParams<any, number>): "" | JSX.Element | null;
@@ -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
- } // If the aggregated value does not have the same unit as the other cell
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
- }; // Don't use requestIdleCallback if the time is mock, better to run synchronously in such case.
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
@@ -1,4 +1,4 @@
1
- import { GridColDef } from '@mui/x-data-grid-premium';
1
+ import { GridBaseColDef } from '@mui/x-data-grid-pro/internals';
2
2
  export interface GridDataGeneratorContext {
3
3
  /**
4
4
  * Values already attributed to this column.
@@ -8,7 +8,7 @@ export interface GridDataGeneratorContext {
8
8
  */
9
9
  values?: Record<string, number>;
10
10
  }
11
- export interface GridColDefGenerator extends GridColDef {
11
+ export interface GridColDefGenerator extends GridBaseColDef {
12
12
  generateData?: (row: any, context: GridDataGeneratorContext) => any;
13
13
  /**
14
14
  * If `true`, each row will have a distinct value
@@ -1,5 +1,5 @@
1
1
  import { GridDataGeneratorContext } from './gridColDefGenerator';
2
- declare type ColumnDataGenerator<Value> = (data: any, context: GridDataGeneratorContext) => Value;
2
+ type ColumnDataGenerator<Value> = (data: any, context: GridDataGeneratorContext) => Value;
3
3
  export declare const random: (min: number, max: number) => number;
4
4
  export declare const randomInt: (min: number, max: number) => number;
5
5
  export declare const randomPrice: (min?: number, max?: number) => number;
@@ -2,86 +2,72 @@ 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
  var _context$values$rawVa;
17
-
18
15
  const rawValue = generator(data, context);
19
-
20
16
  if (!context.values) {
21
17
  return rawValue;
22
18
  }
23
-
24
19
  const valueCount = ((_context$values$rawVa = context.values[rawValue]) != null ? _context$values$rawVa : 0) + 1;
25
20
  context.values[rawValue] = valueCount + 1;
26
-
27
21
  if (valueCount > 1) {
28
22
  return `${rawValue} ${valueCount}`;
29
23
  }
30
-
31
24
  return rawValue;
32
25
  };
33
-
34
26
  function dateFuture(years, refDate) {
35
27
  let date = new Date();
36
-
37
28
  if (typeof refDate !== 'undefined') {
38
29
  date = new Date(Date.parse(refDate));
39
30
  }
40
-
41
31
  const range = {
42
32
  min: 1000,
43
33
  max: (years || 1) * 365 * 24 * 3600 * 1000
44
- }; // some time from now to N years later, in milliseconds
34
+ };
45
35
 
36
+ // some time from now to N years later, in milliseconds
46
37
  const past = date.getTime() + chance.integer(range);
47
38
  date.setTime(past);
48
39
  return date;
49
40
  }
50
-
51
41
  function dateRecent(days, refDate) {
52
42
  let date = new Date();
53
-
54
43
  if (typeof refDate !== 'undefined') {
55
44
  date = new Date(Date.parse(refDate));
56
45
  }
57
-
58
46
  const range = {
59
47
  min: 1000,
60
48
  max: (days || 1) * 24 * 3600 * 1000
61
- }; // some time from now to N days ago, in milliseconds
49
+ };
62
50
 
51
+ // some time from now to N days ago, in milliseconds
63
52
  const past = date.getTime() - chance.integer(range);
64
53
  date.setTime(past);
65
54
  return date;
66
55
  }
67
-
68
56
  function datePast(years, refDate) {
69
57
  let date = new Date();
70
-
71
58
  if (typeof refDate !== 'undefined') {
72
59
  date = new Date(Date.parse(refDate));
73
60
  }
74
-
75
61
  const range = {
76
62
  min: 1000,
77
63
  max: (years || 1) * 365 * 24 * 3600 * 1000
78
- }; // some time from now to N years ago, in milliseconds
64
+ };
79
65
 
66
+ // some time from now to N years ago, in milliseconds
80
67
  const past = date.getTime() - chance.integer(range);
81
68
  date.setTime(past);
82
69
  return date;
83
70
  }
84
-
85
71
  export const random = (min, max) => chance.floating({
86
72
  min,
87
73
  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) {
@@ -2,51 +2,41 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { randomArrayItem } from './random-generator';
3
3
  export const addTreeDataOptionsToDemoData = (data, options = {}) => {
4
4
  var _groupingCol$headerNa;
5
-
6
5
  const {
7
6
  averageChildren = 2,
8
7
  maxDepth = 1,
9
8
  groupingField
10
9
  } = options;
11
10
  const hasTreeData = maxDepth > 1 && groupingField != null;
12
-
13
11
  if (!hasTreeData) {
14
12
  return data;
15
13
  }
16
-
17
14
  if (data.rows.length > 1000) {
18
15
  throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
19
16
  }
20
-
21
17
  const rowsByTreeDepth = {};
22
18
  const rowsCount = data.rows.length;
23
19
  const groupingCol = data.columns.find(col => col.field === options.groupingField);
24
-
25
20
  if (!groupingCol) {
26
21
  throw new Error('MUI: The tree data grouping field does not exist');
27
22
  }
28
-
29
23
  data.initialState.columns.columnVisibilityModel[groupingField] = false;
30
-
31
24
  for (let i = 0; i < rowsCount; i += 1) {
32
25
  const row = data.rows[i];
33
26
  const currentChunk = Math.floor(i * (averageChildren ** maxDepth - 1) / rowsCount) + 1;
34
27
  const currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
35
-
36
28
  if (!rowsByTreeDepth[currentDepth]) {
37
29
  rowsByTreeDepth[currentDepth] = {
38
30
  rows: {},
39
31
  rowIndexes: []
40
32
  };
41
33
  }
42
-
43
34
  rowsByTreeDepth[currentDepth].rows[i] = {
44
35
  value: row,
45
36
  parentIndex: null
46
37
  };
47
38
  rowsByTreeDepth[currentDepth].rowIndexes.push(i);
48
39
  }
49
-
50
40
  Object.entries(rowsByTreeDepth).forEach(([depthStr, {
51
41
  rows
52
42
  }]) => {
@@ -54,24 +44,19 @@ export const addTreeDataOptionsToDemoData = (data, options = {}) => {
54
44
  Object.values(rows).forEach(row => {
55
45
  const path = [];
56
46
  let previousRow = null;
57
-
58
47
  for (let k = depth; k >= 0; k -= 1) {
59
48
  let rowTemp;
60
-
61
49
  if (k === depth) {
62
50
  if (depth > 0) {
63
51
  row.parentIndex = Number(randomArrayItem(rowsByTreeDepth[depth - 1].rowIndexes));
64
52
  }
65
-
66
53
  rowTemp = row;
67
54
  } else {
68
55
  rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
69
56
  }
70
-
71
57
  path.unshift(rowTemp.value[groupingField]);
72
58
  previousRow = rowTemp;
73
59
  }
74
-
75
60
  row.value.path = path;
76
61
  });
77
62
  });