@mui/x-data-grid-generator 6.0.0-alpha.1 → 6.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +1306 -149
  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.d.ts +1 -0
  6. package/hooks/useMovieData.js +35 -1
  7. package/hooks/useQuery.js +11 -43
  8. package/index.js +1 -1
  9. package/legacy/columns/commodities.columns.js +0 -1
  10. package/legacy/columns/employees.columns.js +0 -2
  11. package/legacy/hooks/useBasicDemoData.js +6 -7
  12. package/legacy/hooks/useDemoData.js +28 -70
  13. package/legacy/hooks/useMovieData.js +35 -2
  14. package/legacy/hooks/useQuery.js +38 -77
  15. package/legacy/index.js +1 -1
  16. package/legacy/renderer/renderAvatar.js +0 -1
  17. package/legacy/renderer/renderCountry.js +3 -4
  18. package/legacy/renderer/renderEditCountry.js +32 -20
  19. package/legacy/renderer/renderEditCurrency.js +32 -20
  20. package/legacy/renderer/renderEditIncoterm.js +36 -26
  21. package/legacy/renderer/renderEditProgress.js +10 -20
  22. package/legacy/renderer/renderEditRating.js +32 -23
  23. package/legacy/renderer/renderEditStatus.js +2 -15
  24. package/legacy/renderer/renderEmail.js +0 -1
  25. package/legacy/renderer/renderIncoterm.js +0 -2
  26. package/legacy/renderer/renderLink.js +0 -2
  27. package/legacy/renderer/renderPnl.js +0 -3
  28. package/legacy/renderer/renderProgress.js +4 -5
  29. package/legacy/renderer/renderRating.js +3 -4
  30. package/legacy/renderer/renderStatus.js +8 -13
  31. package/legacy/renderer/renderTotalPrice.js +5 -6
  32. package/legacy/services/asyncWorker.js +4 -7
  33. package/legacy/services/basic-data-service.js +0 -5
  34. package/legacy/services/random-generator.js +6 -20
  35. package/legacy/services/real-data-service.js +0 -9
  36. package/legacy/services/tree-data-generator.js +6 -22
  37. package/modern/columns/commodities.columns.js +0 -1
  38. package/modern/columns/employees.columns.js +0 -1
  39. package/modern/hooks/useDemoData.js +9 -27
  40. package/modern/hooks/useMovieData.js +35 -1
  41. package/modern/hooks/useQuery.js +11 -41
  42. package/modern/index.js +1 -1
  43. package/modern/renderer/renderAvatar.js +0 -1
  44. package/modern/renderer/renderCountry.js +3 -4
  45. package/modern/renderer/renderEditCountry.js +6 -13
  46. package/modern/renderer/renderEditCurrency.js +6 -13
  47. package/modern/renderer/renderEditIncoterm.js +7 -16
  48. package/modern/renderer/renderEditProgress.js +3 -10
  49. package/modern/renderer/renderEditRating.js +7 -17
  50. package/modern/renderer/renderEditStatus.js +0 -10
  51. package/modern/renderer/renderIncoterm.js +0 -2
  52. package/modern/renderer/renderLink.js +0 -2
  53. package/modern/renderer/renderPnl.js +0 -3
  54. package/modern/renderer/renderProgress.js +4 -5
  55. package/modern/renderer/renderRating.js +3 -4
  56. package/modern/renderer/renderStatus.js +8 -13
  57. package/modern/renderer/renderTotalPrice.js +5 -6
  58. package/modern/services/asyncWorker.js +2 -4
  59. package/modern/services/basic-data-service.js +0 -5
  60. package/modern/services/random-generator.js +6 -19
  61. package/modern/services/real-data-service.js +0 -9
  62. package/modern/services/tree-data-generator.js +0 -14
  63. package/node/columns/commodities.columns.js +1 -8
  64. package/node/columns/employees.columns.js +1 -8
  65. package/node/columns/index.js +0 -4
  66. package/node/hooks/index.js +0 -8
  67. package/node/hooks/useBasicDemoData.js +0 -6
  68. package/node/hooks/useDemoData.js +17 -62
  69. package/node/hooks/useMovieData.js +35 -3
  70. package/node/hooks/useQuery.js +13 -57
  71. package/node/index.js +1 -9
  72. package/node/renderer/index.js +0 -32
  73. package/node/renderer/renderAvatar.js +0 -8
  74. package/node/renderer/renderCountry.js +3 -12
  75. package/node/renderer/renderEditCountry.js +6 -26
  76. package/node/renderer/renderEditCurrency.js +6 -26
  77. package/node/renderer/renderEditIncoterm.js +7 -28
  78. package/node/renderer/renderEditProgress.js +4 -24
  79. package/node/renderer/renderEditRating.js +7 -26
  80. package/node/renderer/renderEditStatus.js +0 -26
  81. package/node/renderer/renderEmail.js +1 -9
  82. package/node/renderer/renderIncoterm.js +0 -12
  83. package/node/renderer/renderLink.js +0 -9
  84. package/node/renderer/renderPnl.js +0 -12
  85. package/node/renderer/renderProgress.js +4 -14
  86. package/node/renderer/renderRating.js +3 -13
  87. package/node/renderer/renderStatus.js +8 -26
  88. package/node/renderer/renderTotalPrice.js +5 -15
  89. package/node/services/asyncWorker.js +2 -5
  90. package/node/services/basic-data-service.js +0 -7
  91. package/node/services/index.js +0 -8
  92. package/node/services/random-generator.js +7 -105
  93. package/node/services/real-data-service.js +0 -12
  94. package/node/services/static-data.js +0 -2
  95. package/node/services/tree-data-generator.js +1 -22
  96. package/package.json +7 -7
  97. package/renderer/renderAvatar.js +0 -1
  98. package/renderer/renderCountry.js +3 -4
  99. package/renderer/renderEditCountry.js +6 -13
  100. package/renderer/renderEditCurrency.js +6 -13
  101. package/renderer/renderEditIncoterm.js +7 -16
  102. package/renderer/renderEditProgress.js +3 -10
  103. package/renderer/renderEditRating.js +7 -17
  104. package/renderer/renderEditStatus.js +0 -10
  105. package/renderer/renderEmail.js +0 -1
  106. package/renderer/renderIncoterm.js +0 -2
  107. package/renderer/renderLink.js +0 -2
  108. package/renderer/renderPnl.js +0 -3
  109. package/renderer/renderProgress.js +4 -5
  110. package/renderer/renderRating.js +3 -4
  111. package/renderer/renderStatus.js +8 -13
  112. package/renderer/renderTotalPrice.js +5 -6
  113. package/services/asyncWorker.js +2 -4
  114. package/services/basic-data-service.js +0 -5
  115. package/services/random-generator.js +6 -20
  116. package/services/real-data-service.js +0 -9
  117. package/services/tree-data-generator.js +0 -15
@@ -1,40 +1,50 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
2
4
  import * as React from 'react';
3
5
  import Box from '@mui/material/Box';
4
6
  import Rating from '@mui/material/Rating';
5
7
  import { useGridApiContext } from '@mui/x-data-grid-premium';
6
8
  import { jsx as _jsx } from "react/jsx-runtime";
7
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
-
9
10
  function EditRating(props) {
10
11
  var id = props.id,
11
- value = props.value,
12
- field = props.field;
12
+ value = props.value,
13
+ field = props.field;
13
14
  var apiRef = useGridApiContext();
14
-
15
- var handleChange = function handleChange(event) {
16
- apiRef.current.setEditCellValue({
17
- id: id,
18
- field: field,
19
- value: Number(event.target.value)
20
- }, event); // Check if the event is not from the keyboard
21
- // https://github.com/facebook/react/issues/7407
22
-
23
- if (event.nativeEvent.clientX !== 0 && event.nativeEvent.clientY !== 0) {
24
- apiRef.current.commitCellChange({
25
- id: id,
26
- field: field
27
- });
28
- apiRef.current.setCellMode(id, field, 'view');
29
- }
30
- };
31
-
15
+ var handleChange = /*#__PURE__*/function () {
16
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
17
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
18
+ while (1) {
19
+ switch (_context.prev = _context.next) {
20
+ case 0:
21
+ _context.next = 2;
22
+ return apiRef.current.setEditCellValue({
23
+ id: id,
24
+ field: field,
25
+ value: Number(event.target.value)
26
+ }, event);
27
+ case 2:
28
+ apiRef.current.stopCellEditMode({
29
+ id: id,
30
+ field: field
31
+ });
32
+ case 3:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }
37
+ }, _callee);
38
+ }));
39
+ return function handleChange(_x) {
40
+ return _ref.apply(this, arguments);
41
+ };
42
+ }();
32
43
  var handleRef = function handleRef(element) {
33
44
  if (element) {
34
45
  element.querySelector("input[value=\"".concat(value, "\"]")).focus();
35
46
  }
36
47
  };
37
-
38
48
  return /*#__PURE__*/_jsxs(Box, {
39
49
  sx: {
40
50
  display: 'flex',
@@ -55,7 +65,6 @@ function EditRating(props) {
55
65
  }), Number(value)]
56
66
  });
57
67
  }
58
-
59
68
  export function renderEditRating(params) {
60
69
  return /*#__PURE__*/_jsx(EditRating, _extends({}, params));
61
70
  }
@@ -14,14 +14,12 @@ import DoneIcon from '@mui/icons-material/Done';
14
14
  import { STATUS_OPTIONS } from '../services/static-data';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
-
18
17
  function EditStatus(props) {
19
18
  var id = props.id,
20
- value = props.value,
21
- field = props.field;
19
+ value = props.value,
20
+ field = props.field;
22
21
  var rootProps = useGridRootProps();
23
22
  var apiRef = useGridApiContext();
24
-
25
23
  var handleChange = /*#__PURE__*/function () {
26
24
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
27
25
  var isValid;
@@ -35,10 +33,8 @@ function EditStatus(props) {
35
33
  field: field,
36
34
  value: event.target.value
37
35
  });
38
-
39
36
  case 2:
40
37
  isValid = _context.sent;
41
-
42
38
  if (isValid && rootProps.editMode === GridEditModes.Cell) {
43
39
  apiRef.current.stopCellEditMode({
44
40
  id: id,
@@ -46,7 +42,6 @@ function EditStatus(props) {
46
42
  cellToFocusAfter: 'below'
47
43
  });
48
44
  }
49
-
50
45
  case 4:
51
46
  case "end":
52
47
  return _context.stop();
@@ -54,12 +49,10 @@ function EditStatus(props) {
54
49
  }
55
50
  }, _callee);
56
51
  }));
57
-
58
52
  return function handleChange(_x) {
59
53
  return _ref.apply(this, arguments);
60
54
  };
61
55
  }();
62
-
63
56
  var handleClose = function handleClose(event, reason) {
64
57
  if (reason === 'backdropClick') {
65
58
  apiRef.current.stopCellEditMode({
@@ -69,7 +62,6 @@ function EditStatus(props) {
69
62
  });
70
63
  }
71
64
  };
72
-
73
65
  return /*#__PURE__*/_jsx(Select, {
74
66
  value: value,
75
67
  onChange: handleChange,
@@ -89,7 +81,6 @@ function EditStatus(props) {
89
81
  open: true,
90
82
  children: STATUS_OPTIONS.map(function (option) {
91
83
  var IconComponent = null;
92
-
93
84
  if (option === 'Rejected') {
94
85
  IconComponent = ReportProblemIcon;
95
86
  } else if (option === 'Open') {
@@ -99,13 +90,10 @@ function EditStatus(props) {
99
90
  } else if (option === 'Filled') {
100
91
  IconComponent = DoneIcon;
101
92
  }
102
-
103
93
  var label = option;
104
-
105
94
  if (option === 'PartiallyFilled') {
106
95
  label = 'Partially Filled';
107
96
  }
108
-
109
97
  return /*#__PURE__*/_jsxs(MenuItem, {
110
98
  value: option,
111
99
  children: [/*#__PURE__*/_jsx(ListItemIcon, {
@@ -125,7 +113,6 @@ function EditStatus(props) {
125
113
  })
126
114
  });
127
115
  }
128
-
129
116
  export function renderEditStatus(params) {
130
117
  return /*#__PURE__*/_jsx(EditStatus, _extends({}, params));
131
118
  }
@@ -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
  var email = (_params$value = params.value) != null ? _params$value : '';
8
7
  return /*#__PURE__*/_jsx(DemoLink, {
9
8
  href: "mailto:".concat(email),
@@ -6,11 +6,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  import { jsxs as _jsxs } from "react/jsx-runtime";
7
7
  var Incoterm = /*#__PURE__*/React.memo(function Incoterm(props) {
8
8
  var value = props.value;
9
-
10
9
  if (!value) {
11
10
  return null;
12
11
  }
13
-
14
12
  var valueStr = value.toString();
15
13
  var tooltip = valueStr.slice(valueStr.indexOf('(') + 1, valueStr.indexOf(')'));
16
14
  var code = valueStr.slice(0, valueStr.indexOf('(')).trim();
@@ -12,7 +12,6 @@ export var 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,
@@ -15,11 +15,9 @@ var Value = styled('div')(function (_ref) {
15
15
  }
16
16
  };
17
17
  });
18
-
19
18
  function pnlFormatter(value) {
20
19
  return value < 0 ? "(".concat(Math.abs(value).toLocaleString(), ")") : value.toLocaleString();
21
20
  }
22
-
23
21
  var Pnl = /*#__PURE__*/React.memo(function Pnl(props) {
24
22
  var value = props.value;
25
23
  return /*#__PURE__*/_jsx(Value, {
@@ -31,7 +29,6 @@ export function renderPnl(params) {
31
29
  if (params.value == null) {
32
30
  return '';
33
31
  }
34
-
35
32
  return /*#__PURE__*/_jsx(Pnl, {
36
33
  value: params.value
37
34
  });
@@ -6,7 +6,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
6
6
  var Root = styled('div')(function (_ref) {
7
7
  var theme = _ref.theme;
8
8
  return {
9
- border: "1px solid ".concat(theme.palette.divider),
9
+ border: "1px solid ".concat((theme.vars || theme).palette.divider),
10
10
  position: 'relative',
11
11
  overflow: 'hidden',
12
12
  width: '100%',
@@ -50,14 +50,13 @@ var ProgressBar = /*#__PURE__*/React.memo(function ProgressBar(props) {
50
50
  export function renderProgress(params) {
51
51
  if (params.value == null) {
52
52
  return '';
53
- } // If the aggregated value does not have the same unit as the other cell
54
- // Then we fall back to the default rendering based on `valueGetter` instead of rendering a progress bar.
55
-
53
+ }
56
54
 
55
+ // If the aggregated value does not have the same unit as the other cell
56
+ // Then we fall back to the default rendering based on `valueGetter` instead of rendering a progress bar.
57
57
  if (params.aggregation && !params.aggregation.hasCellUnit) {
58
58
  return null;
59
59
  }
60
-
61
60
  return /*#__PURE__*/_jsx(ProgressBar, {
62
61
  value: params.value
63
62
  });
@@ -24,14 +24,13 @@ var RatingValue = /*#__PURE__*/React.memo(function RatingValue(props) {
24
24
  export function renderRating(params) {
25
25
  if (params.value == null) {
26
26
  return '';
27
- } // If the aggregated value does not have the same unit as the other cell
28
- // Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
29
-
27
+ }
30
28
 
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
31
  if (params.aggregation && !params.aggregation.hasCellUnit) {
32
32
  return null;
33
33
  }
34
-
35
34
  return /*#__PURE__*/_jsx(RatingValue, {
36
35
  value: params.value
37
36
  });
@@ -14,27 +14,26 @@ var StyledChip = styled(Chip)(function (_ref) {
14
14
  color: 'inherit'
15
15
  },
16
16
  '&.Open': {
17
- color: theme.palette.info.dark,
18
- border: "1px solid ".concat(theme.palette.info.main)
17
+ color: (theme.vars || theme).palette.info.dark,
18
+ border: "1px solid ".concat((theme.vars || theme).palette.info.main)
19
19
  },
20
20
  '&.Filled': {
21
- color: theme.palette.success.dark,
22
- border: "1px solid ".concat(theme.palette.success.main)
21
+ color: (theme.vars || theme).palette.success.dark,
22
+ border: "1px solid ".concat((theme.vars || theme).palette.success.main)
23
23
  },
24
24
  '&.PartiallyFilled': {
25
- color: theme.palette.warning.dark,
26
- border: "1px solid ".concat(theme.palette.warning.main)
25
+ color: (theme.vars || theme).palette.warning.dark,
26
+ border: "1px solid ".concat((theme.vars || theme).palette.warning.main)
27
27
  },
28
28
  '&.Rejected': {
29
- color: theme.palette.error.dark,
30
- border: "1px solid ".concat(theme.palette.error.main)
29
+ color: (theme.vars || theme).palette.error.dark,
30
+ border: "1px solid ".concat((theme.vars || theme).palette.error.main)
31
31
  }
32
32
  };
33
33
  });
34
34
  var Status = /*#__PURE__*/React.memo(function (props) {
35
35
  var status = props.status;
36
36
  var icon = null;
37
-
38
37
  if (status === 'Rejected') {
39
38
  icon = /*#__PURE__*/_jsx(ReportProblemIcon, {
40
39
  className: "icon"
@@ -52,13 +51,10 @@ var Status = /*#__PURE__*/React.memo(function (props) {
52
51
  className: "icon"
53
52
  });
54
53
  }
55
-
56
54
  var label = status;
57
-
58
55
  if (status === 'PartiallyFilled') {
59
56
  label = 'Partially Filled';
60
57
  }
61
-
62
58
  return /*#__PURE__*/_jsx(StyledChip, {
63
59
  className: status,
64
60
  icon: icon,
@@ -71,7 +67,6 @@ export function renderStatus(params) {
71
67
  if (params.value == null) {
72
68
  return '';
73
69
  }
74
-
75
70
  return /*#__PURE__*/_jsx(Status, {
76
71
  status: params.value
77
72
  });
@@ -14,10 +14,10 @@ var Value = styled('div')(function (_ref) {
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(".concat(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(".concat(theme.vars.palette.error.mainChannel, " / 0.3)") : alpha(theme.palette.error.main, 0.3)
21
21
  }
22
22
  };
23
23
  });
@@ -35,14 +35,13 @@ var TotalPrice = /*#__PURE__*/React.memo(function TotalPrice(props) {
35
35
  export function renderTotalPrice(params) {
36
36
  if (params.value == null) {
37
37
  return '';
38
- } // If the aggregated value does not have the same unit as the other cell
39
- // Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
40
-
38
+ }
41
39
 
40
+ // If the aggregated value does not have the same unit as the other cell
41
+ // Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
42
42
  if (params.aggregation && !params.aggregation.hasCellUnit) {
43
43
  return null;
44
44
  }
45
-
46
45
  return /*#__PURE__*/_jsx(TotalPrice, {
47
46
  value: params.value
48
47
  });
@@ -1,29 +1,26 @@
1
1
  export default function asyncWorker(_ref) {
2
2
  var work = _ref.work,
3
- tasks = _ref.tasks,
4
- done = _ref.done;
5
-
3
+ tasks = _ref.tasks,
4
+ done = _ref.done;
6
5
  var myNonEssentialWork = function myNonEssentialWork(deadline) {
7
6
  // If there is a surplus time in the frame, or timeout
8
7
  while ((deadline.timeRemaining() > 0 || deadline.didTimeout) && tasks.current > 0) {
9
8
  work();
10
9
  }
11
-
12
10
  if (tasks.current > 0) {
13
11
  requestIdleCallback(myNonEssentialWork);
14
12
  } else {
15
13
  done();
16
14
  }
17
- }; // Don't use requestIdleCallback if the time is mock, better to run synchronously in such case.
18
-
15
+ };
19
16
 
17
+ // Don't use requestIdleCallback if the time is mock, better to run synchronously in such case.
20
18
  if (typeof requestIdleCallback === 'function' && !requestIdleCallback.clock) {
21
19
  requestIdleCallback(myNonEssentialWork);
22
20
  } else {
23
21
  while (tasks.current > 0) {
24
22
  work();
25
23
  }
26
-
27
24
  done();
28
25
  }
29
26
  }
@@ -2,21 +2,18 @@ export var currencyPairs = ['USDGBP', 'USDEUR', 'GBPEUR', 'JPYUSD', 'MXNUSD', 'B
2
2
  export var getBasicGridData = function getBasicGridData(rowLength, colLength) {
3
3
  var data = [];
4
4
  var pricesColLength = colLength - 2;
5
-
6
5
  for (var i = 0; i < rowLength; i += 1) {
7
6
  var idx = i >= currencyPairs.length ? i % currencyPairs.length : i;
8
7
  var model = {
9
8
  id: i,
10
9
  currencyPair: currencyPairs[idx]
11
10
  };
12
-
13
11
  for (var j = 1; j <= pricesColLength; j += 1) {
14
12
  model["price".concat(j, "M")] = Number("".concat(i.toString()).concat(j)); // randomPrice(0.7, 2);
15
13
  }
16
14
 
17
15
  data.push(model);
18
16
  }
19
-
20
17
  var columns = [{
21
18
  field: 'id',
22
19
  headerName: 'id',
@@ -25,7 +22,6 @@ export var getBasicGridData = function getBasicGridData(rowLength, colLength) {
25
22
  field: 'currencyPair',
26
23
  headerName: 'Currency Pair'
27
24
  }];
28
-
29
25
  for (var _j = 1; _j <= pricesColLength; _j += 1) {
30
26
  // const y = Math.floor(j / 12);
31
27
  columns.push({
@@ -36,7 +32,6 @@ export var getBasicGridData = function 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: columns,
42
37
  rows: data
@@ -2,7 +2,6 @@ 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
  var chanceId = globalChance();
4
4
  var chance;
5
-
6
5
  if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
7
6
  chance = globalChance(function () {
8
7
  return 0.5;
@@ -10,82 +9,69 @@ if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
10
9
  } else {
11
10
  chance = chanceId;
12
11
  }
13
-
14
12
  /**
15
13
  * Wrap a data generator that returns a string and add a prefix if the value generated has already been given
16
14
  */
17
15
  var uniquenessHandler = function uniquenessHandler(generator) {
18
16
  return function (data, context) {
19
17
  var _context$values$rawVa;
20
-
21
18
  var rawValue = generator(data, context);
22
-
23
19
  if (!context.values) {
24
20
  return rawValue;
25
21
  }
26
-
27
22
  var valueCount = ((_context$values$rawVa = context.values[rawValue]) != null ? _context$values$rawVa : 0) + 1;
28
23
  context.values[rawValue] = valueCount + 1;
29
-
30
24
  if (valueCount > 1) {
31
25
  return "".concat(rawValue, " ").concat(valueCount);
32
26
  }
33
-
34
27
  return rawValue;
35
28
  };
36
29
  };
37
-
38
30
  function dateFuture(years, refDate) {
39
31
  var date = new Date();
40
-
41
32
  if (typeof refDate !== 'undefined') {
42
33
  date = new Date(Date.parse(refDate));
43
34
  }
44
-
45
35
  var range = {
46
36
  min: 1000,
47
37
  max: (years || 1) * 365 * 24 * 3600 * 1000
48
- }; // some time from now to N years later, in milliseconds
38
+ };
49
39
 
40
+ // some time from now to N years later, in milliseconds
50
41
  var past = date.getTime() + chance.integer(range);
51
42
  date.setTime(past);
52
43
  return date;
53
44
  }
54
-
55
45
  function dateRecent(days, refDate) {
56
46
  var date = new Date();
57
-
58
47
  if (typeof refDate !== 'undefined') {
59
48
  date = new Date(Date.parse(refDate));
60
49
  }
61
-
62
50
  var range = {
63
51
  min: 1000,
64
52
  max: (days || 1) * 24 * 3600 * 1000
65
- }; // some time from now to N days ago, in milliseconds
53
+ };
66
54
 
55
+ // some time from now to N days ago, in milliseconds
67
56
  var past = date.getTime() - chance.integer(range);
68
57
  date.setTime(past);
69
58
  return date;
70
59
  }
71
-
72
60
  function datePast(years, refDate) {
73
61
  var date = new Date();
74
-
75
62
  if (typeof refDate !== 'undefined') {
76
63
  date = new Date(Date.parse(refDate));
77
64
  }
78
-
79
65
  var range = {
80
66
  min: 1000,
81
67
  max: (years || 1) * 365 * 24 * 3600 * 1000
82
- }; // some time from now to N years ago, in milliseconds
68
+ };
83
69
 
70
+ // some time from now to N years ago, in milliseconds
84
71
  var past = date.getTime() - chance.integer(range);
85
72
  date.setTime(past);
86
73
  return date;
87
74
  }
88
-
89
75
  export var random = function random(min, max) {
90
76
  return chance.floating({
91
77
  min: min,
@@ -6,35 +6,26 @@ export function getRealGridData(rowLength, columns) {
6
6
  };
7
7
  var rows = [];
8
8
  var indexedValues = {};
9
-
10
9
  function work() {
11
10
  var row = {};
12
-
13
11
  for (var j = 0; j < columns.length; j += 1) {
14
12
  var column = columns[j];
15
-
16
13
  if (column.generateData) {
17
14
  var context = {};
18
-
19
15
  if (column.dataGeneratorUniquenessEnabled) {
20
16
  var 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
  var columnVisibilityModel = {};
39
30
  columns.forEach(function (col) {
40
31
  if (col.hide) {
@@ -3,81 +3,65 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import { randomArrayItem } from './random-generator';
4
4
  export var addTreeDataOptionsToDemoData = function addTreeDataOptionsToDemoData(data) {
5
5
  var _groupingCol$headerNa;
6
-
7
6
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8
7
  var _options$averageChild = options.averageChildren,
9
- averageChildren = _options$averageChild === void 0 ? 2 : _options$averageChild,
10
- _options$maxDepth = options.maxDepth,
11
- maxDepth = _options$maxDepth === void 0 ? 1 : _options$maxDepth,
12
- groupingField = options.groupingField;
8
+ averageChildren = _options$averageChild === void 0 ? 2 : _options$averageChild,
9
+ _options$maxDepth = options.maxDepth,
10
+ maxDepth = _options$maxDepth === void 0 ? 1 : _options$maxDepth,
11
+ groupingField = options.groupingField;
13
12
  var hasTreeData = maxDepth > 1 && groupingField != null;
14
-
15
13
  if (!hasTreeData) {
16
14
  return data;
17
15
  }
18
-
19
16
  if (data.rows.length > 1000) {
20
17
  throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
21
18
  }
22
-
23
19
  var rowsByTreeDepth = {};
24
20
  var rowsCount = data.rows.length;
25
21
  var groupingCol = data.columns.find(function (col) {
26
22
  return col.field === options.groupingField;
27
23
  });
28
-
29
24
  if (!groupingCol) {
30
25
  throw new Error('MUI: The tree data grouping field does not exist');
31
26
  }
32
-
33
27
  data.initialState.columns.columnVisibilityModel[groupingField] = false;
34
-
35
28
  for (var i = 0; i < rowsCount; i += 1) {
36
29
  var row = data.rows[i];
37
30
  var currentChunk = Math.floor(i * (Math.pow(averageChildren, maxDepth) - 1) / rowsCount) + 1;
38
31
  var currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
39
-
40
32
  if (!rowsByTreeDepth[currentDepth]) {
41
33
  rowsByTreeDepth[currentDepth] = {
42
34
  rows: {},
43
35
  rowIndexes: []
44
36
  };
45
37
  }
46
-
47
38
  rowsByTreeDepth[currentDepth].rows[i] = {
48
39
  value: row,
49
40
  parentIndex: null
50
41
  };
51
42
  rowsByTreeDepth[currentDepth].rowIndexes.push(i);
52
43
  }
53
-
54
44
  Object.entries(rowsByTreeDepth).forEach(function (_ref) {
55
45
  var _ref2 = _slicedToArray(_ref, 2),
56
- depthStr = _ref2[0],
57
- rows = _ref2[1].rows;
58
-
46
+ depthStr = _ref2[0],
47
+ rows = _ref2[1].rows;
59
48
  var depth = Number(depthStr);
60
49
  Object.values(rows).forEach(function (row) {
61
50
  var path = [];
62
51
  var previousRow = null;
63
-
64
52
  for (var k = depth; k >= 0; k -= 1) {
65
53
  var rowTemp = void 0;
66
-
67
54
  if (k === depth) {
68
55
  if (depth > 0) {
69
56
  row.parentIndex = Number(randomArrayItem(rowsByTreeDepth[depth - 1].rowIndexes));
70
57
  }
71
-
72
58
  rowTemp = row;
73
59
  } else {
74
60
  rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
75
61
  }
76
-
77
62
  path.unshift(rowTemp.value[groupingField]);
78
63
  previousRow = rowTemp;
79
64
  }
80
-
81
65
  row.value.path = path;
82
66
  });
83
67
  });
@@ -171,7 +171,6 @@ export const getCommodityColumns = (editable = false) => [{
171
171
  if (typeof value === 'string') {
172
172
  return COUNTRY_ISO_OPTIONS_SORTED.find(country => country.value === value);
173
173
  }
174
-
175
174
  return value;
176
175
  },
177
176
  valueFormatter: ({
@@ -130,7 +130,6 @@ export const getEmployeeColumns = () => [{
130
130
  if (!value || typeof value !== 'number') {
131
131
  return value;
132
132
  }
133
-
134
133
  return `${value.toLocaleString()}$`;
135
134
  }
136
135
  }];