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

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 (116) hide show
  1. package/CHANGELOG.md +129 -15
  2. package/columns/commodities.columns.js +0 -1
  3. package/columns/employees.columns.js +0 -1
  4. package/hooks/useDemoData.js +9 -31
  5. package/hooks/useMovieData.js +0 -1
  6. package/hooks/useQuery.js +6 -34
  7. package/index.js +1 -1
  8. package/legacy/columns/commodities.columns.js +0 -1
  9. package/legacy/columns/employees.columns.js +0 -2
  10. package/legacy/hooks/useBasicDemoData.js +6 -7
  11. package/legacy/hooks/useDemoData.js +28 -70
  12. package/legacy/hooks/useMovieData.js +0 -2
  13. package/legacy/hooks/useQuery.js +27 -64
  14. package/legacy/index.js +1 -1
  15. package/legacy/renderer/renderAvatar.js +0 -1
  16. package/legacy/renderer/renderCountry.js +3 -4
  17. package/legacy/renderer/renderEditCountry.js +2 -8
  18. package/legacy/renderer/renderEditCurrency.js +2 -8
  19. package/legacy/renderer/renderEditIncoterm.js +2 -10
  20. package/legacy/renderer/renderEditProgress.js +7 -17
  21. package/legacy/renderer/renderEditRating.js +2 -10
  22. package/legacy/renderer/renderEditStatus.js +2 -15
  23. package/legacy/renderer/renderEmail.js +0 -1
  24. package/legacy/renderer/renderIncoterm.js +0 -2
  25. package/legacy/renderer/renderLink.js +0 -2
  26. package/legacy/renderer/renderPnl.js +0 -3
  27. package/legacy/renderer/renderProgress.js +4 -5
  28. package/legacy/renderer/renderRating.js +3 -4
  29. package/legacy/renderer/renderStatus.js +8 -13
  30. package/legacy/renderer/renderTotalPrice.js +5 -6
  31. package/legacy/services/asyncWorker.js +4 -7
  32. package/legacy/services/basic-data-service.js +0 -5
  33. package/legacy/services/random-generator.js +6 -20
  34. package/legacy/services/real-data-service.js +0 -9
  35. package/legacy/services/tree-data-generator.js +6 -22
  36. package/modern/columns/commodities.columns.js +0 -1
  37. package/modern/columns/employees.columns.js +0 -1
  38. package/modern/hooks/useDemoData.js +9 -27
  39. package/modern/hooks/useMovieData.js +0 -1
  40. package/modern/hooks/useQuery.js +6 -32
  41. package/modern/index.js +1 -1
  42. package/modern/renderer/renderAvatar.js +0 -1
  43. package/modern/renderer/renderCountry.js +3 -4
  44. package/modern/renderer/renderEditCountry.js +0 -3
  45. package/modern/renderer/renderEditCurrency.js +0 -3
  46. package/modern/renderer/renderEditIncoterm.js +0 -5
  47. package/modern/renderer/renderEditProgress.js +0 -7
  48. package/modern/renderer/renderEditRating.js +0 -5
  49. package/modern/renderer/renderEditStatus.js +0 -10
  50. package/modern/renderer/renderIncoterm.js +0 -2
  51. package/modern/renderer/renderLink.js +0 -2
  52. package/modern/renderer/renderPnl.js +0 -3
  53. package/modern/renderer/renderProgress.js +4 -5
  54. package/modern/renderer/renderRating.js +3 -4
  55. package/modern/renderer/renderStatus.js +8 -13
  56. package/modern/renderer/renderTotalPrice.js +5 -6
  57. package/modern/services/asyncWorker.js +2 -4
  58. package/modern/services/basic-data-service.js +0 -5
  59. package/modern/services/random-generator.js +6 -19
  60. package/modern/services/real-data-service.js +0 -9
  61. package/modern/services/tree-data-generator.js +0 -14
  62. package/node/columns/commodities.columns.js +1 -8
  63. package/node/columns/employees.columns.js +1 -8
  64. package/node/columns/index.js +0 -4
  65. package/node/hooks/index.js +0 -8
  66. package/node/hooks/useBasicDemoData.js +0 -6
  67. package/node/hooks/useDemoData.js +17 -62
  68. package/node/hooks/useMovieData.js +0 -3
  69. package/node/hooks/useQuery.js +8 -48
  70. package/node/index.js +1 -9
  71. package/node/renderer/index.js +0 -32
  72. package/node/renderer/renderAvatar.js +0 -8
  73. package/node/renderer/renderCountry.js +3 -12
  74. package/node/renderer/renderEditCountry.js +0 -16
  75. package/node/renderer/renderEditCurrency.js +0 -16
  76. package/node/renderer/renderEditIncoterm.js +0 -17
  77. package/node/renderer/renderEditProgress.js +0 -20
  78. package/node/renderer/renderEditRating.js +0 -14
  79. package/node/renderer/renderEditStatus.js +0 -26
  80. package/node/renderer/renderEmail.js +1 -9
  81. package/node/renderer/renderIncoterm.js +0 -12
  82. package/node/renderer/renderLink.js +0 -9
  83. package/node/renderer/renderPnl.js +0 -12
  84. package/node/renderer/renderProgress.js +4 -14
  85. package/node/renderer/renderRating.js +3 -13
  86. package/node/renderer/renderStatus.js +8 -26
  87. package/node/renderer/renderTotalPrice.js +5 -15
  88. package/node/services/asyncWorker.js +2 -5
  89. package/node/services/basic-data-service.js +0 -7
  90. package/node/services/index.js +0 -8
  91. package/node/services/random-generator.js +7 -105
  92. package/node/services/real-data-service.js +0 -12
  93. package/node/services/static-data.js +0 -2
  94. package/node/services/tree-data-generator.js +1 -22
  95. package/package.json +4 -4
  96. package/renderer/renderAvatar.js +0 -1
  97. package/renderer/renderCountry.js +3 -4
  98. package/renderer/renderEditCountry.js +0 -3
  99. package/renderer/renderEditCurrency.js +0 -3
  100. package/renderer/renderEditIncoterm.js +0 -5
  101. package/renderer/renderEditProgress.js +0 -7
  102. package/renderer/renderEditRating.js +0 -5
  103. package/renderer/renderEditStatus.js +0 -10
  104. package/renderer/renderEmail.js +0 -1
  105. package/renderer/renderIncoterm.js +0 -2
  106. package/renderer/renderLink.js +0 -2
  107. package/renderer/renderPnl.js +0 -3
  108. package/renderer/renderProgress.js +4 -5
  109. package/renderer/renderRating.js +3 -4
  110. package/renderer/renderStatus.js +8 -13
  111. package/renderer/renderTotalPrice.js +5 -6
  112. package/services/asyncWorker.js +2 -4
  113. package/services/basic-data-service.js +0 -5
  114. package/services/random-generator.js +6 -20
  115. package/services/real-data-service.js +0 -9
  116. 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
  }
@@ -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
- } // 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
  });
@@ -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
  });
@@ -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
- } // 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
@@ -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
- }; // some time from now to N years later, in milliseconds
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
- }; // some time from now to N days ago, in milliseconds
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
- }; // some time from now to N years ago, in milliseconds
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) {
@@ -7,44 +7,35 @@ export const addTreeDataOptionsToDemoData = (data, options = {}) => {
7
7
  groupingField
8
8
  } = options;
9
9
  const hasTreeData = maxDepth > 1 && groupingField != null;
10
-
11
10
  if (!hasTreeData) {
12
11
  return data;
13
12
  }
14
-
15
13
  if (data.rows.length > 1000) {
16
14
  throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
17
15
  }
18
-
19
16
  const rowsByTreeDepth = {};
20
17
  const rowsCount = data.rows.length;
21
18
  const groupingCol = data.columns.find(col => col.field === options.groupingField);
22
-
23
19
  if (!groupingCol) {
24
20
  throw new Error('MUI: The tree data grouping field does not exist');
25
21
  }
26
-
27
22
  data.initialState.columns.columnVisibilityModel[groupingField] = false;
28
-
29
23
  for (let i = 0; i < rowsCount; i += 1) {
30
24
  const row = data.rows[i];
31
25
  const currentChunk = Math.floor(i * (averageChildren ** maxDepth - 1) / rowsCount) + 1;
32
26
  const currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
33
-
34
27
  if (!rowsByTreeDepth[currentDepth]) {
35
28
  rowsByTreeDepth[currentDepth] = {
36
29
  rows: {},
37
30
  rowIndexes: []
38
31
  };
39
32
  }
40
-
41
33
  rowsByTreeDepth[currentDepth].rows[i] = {
42
34
  value: row,
43
35
  parentIndex: null
44
36
  };
45
37
  rowsByTreeDepth[currentDepth].rowIndexes.push(i);
46
38
  }
47
-
48
39
  Object.entries(rowsByTreeDepth).forEach(([depthStr, {
49
40
  rows
50
41
  }]) => {
@@ -52,24 +43,19 @@ export const addTreeDataOptionsToDemoData = (data, options = {}) => {
52
43
  Object.values(rows).forEach(row => {
53
44
  const path = [];
54
45
  let previousRow = null;
55
-
56
46
  for (let k = depth; k >= 0; k -= 1) {
57
47
  let rowTemp;
58
-
59
48
  if (k === depth) {
60
49
  if (depth > 0) {
61
50
  row.parentIndex = Number(randomArrayItem(rowsByTreeDepth[depth - 1].rowIndexes));
62
51
  }
63
-
64
52
  rowTemp = row;
65
53
  } else {
66
54
  rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
67
55
  }
68
-
69
56
  path.unshift(rowTemp.value[groupingField]);
70
57
  previousRow = rowTemp;
71
58
  }
72
-
73
59
  row.value.path = path;
74
60
  });
75
61
  });
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getCommodityColumns = void 0;
7
-
8
7
  var _xDataGridPremium = require("@mui/x-data-grid-premium");
9
-
10
8
  var _services = require("../services");
11
-
12
9
  var _renderer = require("../renderer");
13
-
14
10
  var _staticData = require("../services/static-data");
15
-
16
11
  const getCommodityColumns = (editable = false) => [{
17
12
  field: 'id',
18
13
  generateData: _services.randomId,
@@ -182,12 +177,11 @@ const getCommodityColumns = (editable = false) => [{
182
177
  if (typeof value === 'string') {
183
178
  return _staticData.COUNTRY_ISO_OPTIONS_SORTED.find(country => country.value === value);
184
179
  }
185
-
186
180
  return value;
187
181
  },
188
182
  valueFormatter: ({
189
183
  value
190
- }) => value == null ? void 0 : value.label,
184
+ }) => value?.label,
191
185
  groupingValueGetter: params => params.value.code,
192
186
  sortComparator: (v1, v2, param1, param2) => (0, _xDataGridPremium.gridStringOrNumberComparator)(v1.label, v2.label, param1, param2),
193
187
  editable,
@@ -248,5 +242,4 @@ const getCommodityColumns = (editable = false) => [{
248
242
  width: 150,
249
243
  editable
250
244
  }];
251
-
252
245
  exports.getCommodityColumns = getCommodityColumns;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getEmployeeColumns = void 0;
7
-
8
7
  var _xDataGridPremium = require("@mui/x-data-grid-premium");
9
-
10
8
  var _services = require("../services");
11
-
12
9
  var _renderer = require("../renderer");
13
-
14
10
  var _staticData = require("../services/static-data");
15
-
16
11
  const getEmployeeColumns = () => [{
17
12
  field: 'id',
18
13
  generateData: _services.randomId,
@@ -90,7 +85,7 @@ const getEmployeeColumns = () => [{
90
85
  valueOptions: _staticData.COUNTRY_ISO_OPTIONS_SORTED,
91
86
  valueFormatter: ({
92
87
  value
93
- }) => value == null ? void 0 : value.label,
88
+ }) => value?.label,
94
89
  generateData: _services.randomCountry,
95
90
  renderCell: _renderer.renderCountry,
96
91
  renderEditCell: _renderer.renderEditCountry,
@@ -141,9 +136,7 @@ const getEmployeeColumns = () => [{
141
136
  if (!value || typeof value !== 'number') {
142
137
  return value;
143
138
  }
144
-
145
139
  return `${value.toLocaleString()}$`;
146
140
  }
147
141
  }];
148
-
149
142
  exports.getEmployeeColumns = getEmployeeColumns;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _commodities = require("./commodities.columns");
8
-
9
7
  Object.keys(_commodities).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _commodities[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_commodities).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _employees = require("./employees.columns");
21
-
22
18
  Object.keys(_employees).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _employees[key]) return;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _useDemoData = require("./useDemoData");
8
-
9
7
  Object.keys(_useDemoData).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _useDemoData[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_useDemoData).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _useBasicDemoData = require("./useBasicDemoData");
21
-
22
18
  Object.keys(_useBasicDemoData).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _useBasicDemoData[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_useBasicDemoData).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _useMovieData = require("./useMovieData");
34
-
35
29
  Object.keys(_useMovieData).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _useMovieData[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_useMovieData).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _useQuery = require("./useQuery");
47
-
48
40
  Object.keys(_useQuery).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _useQuery[key]) return;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBasicDemoData = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _services = require("../services");
11
-
12
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
-
16
11
  const useBasicDemoData = (nbRows, nbCols) => {
17
12
  const [data, setData] = React.useState({
18
13
  rows: [],
@@ -24,5 +19,4 @@ const useBasicDemoData = (nbRows, nbCols) => {
24
19
  }, [nbRows, nbCols]);
25
20
  return data;
26
21
  };
27
-
28
22
  exports.useBasicDemoData = useBasicDemoData;