@mui/x-data-grid-generator 6.0.0-alpha.0 → 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 (118) hide show
  1. package/CHANGELOG.md +1428 -138
  2. package/columns/commodities.columns.js +6 -10
  3. package/columns/employees.columns.js +1 -2
  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.d.ts +6 -6
  8. package/hooks/useQuery.js +11 -43
  9. package/index.js +1 -1
  10. package/legacy/columns/commodities.columns.js +6 -10
  11. package/legacy/columns/employees.columns.js +1 -3
  12. package/legacy/hooks/useBasicDemoData.js +6 -7
  13. package/legacy/hooks/useDemoData.js +28 -70
  14. package/legacy/hooks/useMovieData.js +35 -2
  15. package/legacy/hooks/useQuery.js +38 -77
  16. package/legacy/index.js +1 -1
  17. package/legacy/renderer/renderAvatar.js +0 -1
  18. package/legacy/renderer/renderCountry.js +3 -4
  19. package/legacy/renderer/renderEditCountry.js +32 -20
  20. package/legacy/renderer/renderEditCurrency.js +32 -20
  21. package/legacy/renderer/renderEditIncoterm.js +36 -26
  22. package/legacy/renderer/renderEditProgress.js +10 -20
  23. package/legacy/renderer/renderEditRating.js +32 -23
  24. package/legacy/renderer/renderEditStatus.js +2 -15
  25. package/legacy/renderer/renderEmail.js +0 -1
  26. package/legacy/renderer/renderIncoterm.js +0 -2
  27. package/legacy/renderer/renderLink.js +1 -3
  28. package/legacy/renderer/renderPnl.js +0 -3
  29. package/legacy/renderer/renderProgress.js +4 -5
  30. package/legacy/renderer/renderRating.js +3 -4
  31. package/legacy/renderer/renderStatus.js +9 -14
  32. package/legacy/renderer/renderTotalPrice.js +5 -6
  33. package/legacy/services/asyncWorker.js +4 -7
  34. package/legacy/services/basic-data-service.js +0 -5
  35. package/legacy/services/random-generator.js +6 -20
  36. package/legacy/services/real-data-service.js +0 -9
  37. package/legacy/services/tree-data-generator.js +6 -22
  38. package/modern/columns/commodities.columns.js +6 -10
  39. package/modern/columns/employees.columns.js +1 -2
  40. package/modern/hooks/useDemoData.js +9 -27
  41. package/modern/hooks/useMovieData.js +35 -1
  42. package/modern/hooks/useQuery.js +11 -41
  43. package/modern/index.js +1 -1
  44. package/modern/renderer/renderAvatar.js +0 -1
  45. package/modern/renderer/renderCountry.js +3 -4
  46. package/modern/renderer/renderEditCountry.js +6 -13
  47. package/modern/renderer/renderEditCurrency.js +6 -13
  48. package/modern/renderer/renderEditIncoterm.js +7 -16
  49. package/modern/renderer/renderEditProgress.js +3 -10
  50. package/modern/renderer/renderEditRating.js +7 -17
  51. package/modern/renderer/renderEditStatus.js +0 -10
  52. package/modern/renderer/renderIncoterm.js +0 -2
  53. package/modern/renderer/renderLink.js +1 -3
  54. package/modern/renderer/renderPnl.js +0 -3
  55. package/modern/renderer/renderProgress.js +4 -5
  56. package/modern/renderer/renderRating.js +3 -4
  57. package/modern/renderer/renderStatus.js +9 -14
  58. package/modern/renderer/renderTotalPrice.js +5 -6
  59. package/modern/services/asyncWorker.js +2 -4
  60. package/modern/services/basic-data-service.js +0 -5
  61. package/modern/services/random-generator.js +6 -19
  62. package/modern/services/real-data-service.js +0 -9
  63. package/modern/services/tree-data-generator.js +0 -14
  64. package/node/columns/commodities.columns.js +7 -17
  65. package/node/columns/employees.columns.js +2 -9
  66. package/node/columns/index.js +0 -4
  67. package/node/hooks/index.js +0 -8
  68. package/node/hooks/useBasicDemoData.js +0 -6
  69. package/node/hooks/useDemoData.js +17 -62
  70. package/node/hooks/useMovieData.js +35 -3
  71. package/node/hooks/useQuery.js +13 -57
  72. package/node/index.js +1 -9
  73. package/node/renderer/index.js +0 -32
  74. package/node/renderer/renderAvatar.js +0 -8
  75. package/node/renderer/renderCountry.js +3 -12
  76. package/node/renderer/renderEditCountry.js +6 -26
  77. package/node/renderer/renderEditCurrency.js +6 -26
  78. package/node/renderer/renderEditIncoterm.js +7 -28
  79. package/node/renderer/renderEditProgress.js +4 -24
  80. package/node/renderer/renderEditRating.js +7 -26
  81. package/node/renderer/renderEditStatus.js +0 -26
  82. package/node/renderer/renderEmail.js +1 -9
  83. package/node/renderer/renderIncoterm.js +0 -12
  84. package/node/renderer/renderLink.js +1 -10
  85. package/node/renderer/renderPnl.js +0 -12
  86. package/node/renderer/renderProgress.js +4 -14
  87. package/node/renderer/renderRating.js +3 -13
  88. package/node/renderer/renderStatus.js +9 -27
  89. package/node/renderer/renderTotalPrice.js +5 -15
  90. package/node/services/asyncWorker.js +2 -5
  91. package/node/services/basic-data-service.js +0 -7
  92. package/node/services/index.js +0 -8
  93. package/node/services/random-generator.js +7 -105
  94. package/node/services/real-data-service.js +0 -12
  95. package/node/services/static-data.js +0 -2
  96. package/node/services/tree-data-generator.js +1 -22
  97. package/package.json +7 -7
  98. package/renderer/renderAvatar.js +0 -1
  99. package/renderer/renderCountry.js +3 -4
  100. package/renderer/renderEditCountry.js +6 -13
  101. package/renderer/renderEditCurrency.js +6 -13
  102. package/renderer/renderEditIncoterm.js +7 -16
  103. package/renderer/renderEditProgress.js +3 -10
  104. package/renderer/renderEditRating.js +7 -17
  105. package/renderer/renderEditStatus.js +0 -10
  106. package/renderer/renderEmail.js +0 -1
  107. package/renderer/renderIncoterm.js +0 -2
  108. package/renderer/renderLink.js +1 -3
  109. package/renderer/renderPnl.js +0 -3
  110. package/renderer/renderProgress.js +4 -5
  111. package/renderer/renderRating.js +3 -4
  112. package/renderer/renderStatus.js +9 -14
  113. package/renderer/renderTotalPrice.js +5 -6
  114. package/services/asyncWorker.js +2 -4
  115. package/services/basic-data-service.js +0 -5
  116. package/services/random-generator.js +6 -20
  117. package/services/real-data-service.js +0 -9
  118. package/services/tree-data-generator.js +0 -15
package/hooks/useQuery.js CHANGED
@@ -3,27 +3,22 @@ import * as React from 'react';
3
3
  import { getGridDefaultColumnTypes, GridLinkOperator } from '@mui/x-data-grid-pro';
4
4
  import { isDeepEqual } from '@mui/x-data-grid/internals';
5
5
  import { useDemoData, getColumnsFromOptions, getInitialState } from './useDemoData';
6
-
7
6
  const simplifiedValueGetter = (field, colDef) => row => {
8
7
  var _colDef$valueGetter;
9
-
10
8
  const params = {
11
9
  id: row.id,
12
10
  row,
13
11
  field,
14
12
  rowNode: {}
15
- }; // @ts-ignore
16
-
13
+ };
14
+ // @ts-ignore
17
15
  return ((_colDef$valueGetter = colDef.valueGetter) == null ? void 0 : _colDef$valueGetter.call(colDef, params)) || row[field];
18
16
  };
19
-
20
17
  const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
21
18
  if (!sortModel) {
22
19
  const comparator = () => 0;
23
-
24
20
  return comparator;
25
21
  }
26
-
27
22
  const sortOperators = sortModel.map(sortItem => {
28
23
  const columnField = sortItem.field;
29
24
  const colDef = columnsWithDefaultColDef.find(({
@@ -34,7 +29,6 @@ const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
34
29
  sortComparator: colDef.sortComparator
35
30
  });
36
31
  });
37
-
38
32
  const comparator = (row1, row2) => sortOperators.reduce((acc, {
39
33
  valueGetter,
40
34
  sort,
@@ -43,51 +37,39 @@ const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
43
37
  if (acc !== 0) {
44
38
  return acc;
45
39
  }
46
-
47
40
  const v1 = valueGetter(row1);
48
41
  const v2 = valueGetter(row2);
49
42
  return sort === 'desc' ? -1 * sortComparator(v1, v2) : sortComparator(v1, v2);
50
43
  }, 0);
51
-
52
44
  return comparator;
53
45
  };
54
-
55
46
  const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
56
47
  if (filterModel === undefined || filterModel.items.length === 0) {
57
48
  return rows;
58
49
  }
59
-
60
50
  const valueGetters = filterModel.items.map(({
61
- columnField
62
- }) => simplifiedValueGetter(columnField, columnsWithDefaultColDef.find(({
63
51
  field
64
- }) => field === columnField)));
52
+ }) => simplifiedValueGetter(field, columnsWithDefaultColDef.find(column => column.field === field)));
65
53
  const filterFunctions = filterModel.items.map(filterItem => {
66
54
  const {
67
- columnField,
68
- operatorValue
55
+ field,
56
+ operator
69
57
  } = filterItem;
70
- const colDef = columnsWithDefaultColDef.find(({
71
- field
72
- }) => field === columnField);
58
+ const colDef = columnsWithDefaultColDef.find(column => column.field === field);
73
59
  const filterOperator = colDef.filterOperators.find(({
74
60
  value
75
- }) => operatorValue === value);
61
+ }) => operator === value);
76
62
  let parsedValue = filterItem.value;
77
-
78
63
  if (colDef.valueParser) {
79
64
  var _filterItem$value;
80
-
81
65
  const parser = colDef.valueParser;
82
66
  parsedValue = Array.isArray(filterItem.value) ? (_filterItem$value = filterItem.value) == null ? void 0 : _filterItem$value.map(x => parser(x)) : parser(filterItem.value);
83
67
  }
84
-
85
68
  return filterOperator == null ? void 0 : filterOperator.getApplyFilterFn({
86
69
  filterItem,
87
70
  value: parsedValue
88
71
  }, colDef);
89
72
  });
90
-
91
73
  if (filterModel.linkOperator === GridLinkOperator.Or) {
92
74
  return rows.filter(row => filterModel.items.some((_, index) => {
93
75
  const value = valueGetters[index](row);
@@ -96,7 +78,6 @@ const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
96
78
  });
97
79
  }));
98
80
  }
99
-
100
81
  return rows.filter(row => filterModel.items.every((_, index) => {
101
82
  const value = valueGetters[index](row);
102
83
  return filterFunctions[index] === null ? true : filterFunctions[index]({
@@ -104,22 +85,19 @@ const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
104
85
  });
105
86
  }));
106
87
  };
88
+
107
89
  /**
108
90
  * Simulates server data loading
109
91
  */
110
-
111
-
112
92
  export const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
113
93
  const {
114
94
  minDelay = 100,
115
95
  maxDelay = 300,
116
96
  useCursorPagination
117
97
  } = serverOptions;
118
-
119
98
  if (maxDelay < minDelay) {
120
99
  throw new Error('serverOptions.minDelay is larger than serverOptions.maxDelay ');
121
100
  }
122
-
123
101
  const delay = Math.random() * (maxDelay - minDelay) + minDelay;
124
102
  const {
125
103
  cursor,
@@ -133,7 +111,6 @@ export const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDef
133
111
  const rowComparator = getRowComparator(queryOptions.sortModel, columnsWithDefaultColDef);
134
112
  filteredRows = [...filteredRows].sort(rowComparator);
135
113
  const totalRowCount = filteredRows.length;
136
-
137
114
  if (!pageSize) {
138
115
  firstRowIndex = 0;
139
116
  lastRowIndex = filteredRows.length;
@@ -142,14 +119,12 @@ export const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDef
142
119
  id
143
120
  }) => id === cursor) : 0;
144
121
  firstRowIndex = Math.max(firstRowIndex, 0); // if cursor not found return 0
145
-
146
122
  lastRowIndex = firstRowIndex + pageSize;
147
123
  nextCursor = lastRowIndex >= filteredRows.length ? undefined : filteredRows[lastRowIndex].id;
148
124
  } else {
149
125
  firstRowIndex = page * pageSize;
150
126
  lastRowIndex = (page + 1) * pageSize;
151
127
  }
152
-
153
128
  const response = {
154
129
  returnedRows: filteredRows.slice(firstRowIndex, lastRowIndex),
155
130
  nextCursor,
@@ -161,6 +136,7 @@ export const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDef
161
136
  }, delay); // simulate network latency
162
137
  });
163
138
  };
139
+
164
140
  const DEFAULT_DATASET_OPTIONS = {
165
141
  dataSet: 'Commodity',
166
142
  rowLength: 100,
@@ -174,14 +150,11 @@ const DEFAULT_SERVER_OPTIONS = {
174
150
  };
175
151
  export const createFakeServer = (dataSetOptions, serverOptions) => {
176
152
  const dataSetOptionsWithDefault = _extends({}, DEFAULT_DATASET_OPTIONS, dataSetOptions);
177
-
178
153
  const serverOptionsWithDefault = _extends({}, DEFAULT_SERVER_OPTIONS, serverOptions);
179
-
180
154
  const columns = getColumnsFromOptions(dataSetOptionsWithDefault);
181
155
  const initialState = getInitialState(dataSetOptionsWithDefault, columns);
182
156
  const defaultColDef = getGridDefaultColumnTypes();
183
157
  const columnsWithDefaultColDef = columns.map(column => _extends({}, defaultColDef[column.type || 'string'], column));
184
-
185
158
  const useQuery = queryOptions => {
186
159
  const {
187
160
  data: {
@@ -200,25 +173,21 @@ export const createFakeServer = (dataSetOptions, serverOptions) => {
200
173
  // dataset is not ready
201
174
  return () => {};
202
175
  }
203
-
204
176
  queryOptionsRef.current = queryOptions;
205
177
  let active = true;
206
178
  setIsLoading(true);
207
179
  setResponse(prev => Object.keys(prev.pageInfo).length === 0 ? prev : _extends({}, prev, {
208
180
  pageInfo: {}
209
181
  }));
210
-
211
182
  (async function fetchData() {
212
183
  const {
213
184
  returnedRows,
214
185
  nextCursor,
215
186
  totalRowCount
216
187
  } = await loadServerRows(rows, queryOptions, serverOptionsWithDefault, columnsWithDefaultColDef);
217
-
218
188
  if (!active) {
219
189
  return;
220
190
  }
221
-
222
191
  const newRep = {
223
192
  rows: returnedRows,
224
193
  pageInfo: {
@@ -230,18 +199,17 @@ export const createFakeServer = (dataSetOptions, serverOptions) => {
230
199
  setResponse(prev => isDeepEqual(prev, newRep) ? prev : newRep);
231
200
  setIsLoading(false);
232
201
  })();
233
-
234
202
  return () => {
235
203
  active = false;
236
204
  };
237
- }, [dataGenerationIsLoading, queryOptions, rows]); // We use queryOptions pointer to be sure that isLoading===true as soon as the options change
205
+ }, [dataGenerationIsLoading, queryOptions, rows]);
238
206
 
207
+ // We use queryOptions pointer to be sure that isLoading===true as soon as the options change
239
208
  const effectShouldStart = queryOptionsRef.current !== queryOptions;
240
209
  return _extends({
241
210
  isLoading: isLoading || effectShouldStart
242
211
  }, response);
243
212
  };
244
-
245
213
  return {
246
214
  columns,
247
215
  columnsWithDefaultColDef,
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v6.0.0-alpha.0
1
+ /** @license MUI v6.0.0-alpha.10
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -92,9 +92,8 @@ export var getCommodityColumns = function getCommodityColumns() {
92
92
  field: 'subTotal',
93
93
  headerName: 'Sub Total',
94
94
  valueGetter: function valueGetter(_ref) {
95
- var row = _ref.row,
96
- rowNode = _ref.rowNode;
97
- return rowNode.isAutoGenerated ? null : row.quantity * row.unitPrice;
95
+ var row = _ref.row;
96
+ return row.quantity == null || row.unitPrice == null ? null : row.quantity * row.unitPrice;
98
97
  },
99
98
  type: 'number',
100
99
  width: 120
@@ -112,9 +111,8 @@ export var getCommodityColumns = function getCommodityColumns() {
112
111
  field: 'feeAmount',
113
112
  headerName: 'Fee Amount',
114
113
  valueGetter: function valueGetter(_ref2) {
115
- var row = _ref2.row,
116
- rowNode = _ref2.rowNode;
117
- return rowNode.isAutoGenerated ? null : row.feeRate * row.quantity * row.unitPrice;
114
+ var row = _ref2.row;
115
+ return row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate * row.quantity * row.unitPrice;
118
116
  },
119
117
  type: 'number',
120
118
  width: 120
@@ -130,9 +128,8 @@ export var getCommodityColumns = function getCommodityColumns() {
130
128
  field: 'totalPrice',
131
129
  headerName: 'Total in USD',
132
130
  valueGetter: function valueGetter(_ref3) {
133
- var row = _ref3.row,
134
- rowNode = _ref3.rowNode;
135
- return rowNode.isAutoGenerated ? null : row.feeRate + row.quantity * row.unitPrice;
131
+ var row = _ref3.row;
132
+ return row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate + row.quantity * row.unitPrice;
136
133
  },
137
134
  renderCell: renderTotalPrice,
138
135
  type: 'number',
@@ -187,7 +184,6 @@ export var getCommodityColumns = function getCommodityColumns() {
187
184
  return country.value === value;
188
185
  });
189
186
  }
190
-
191
187
  return value;
192
188
  },
193
189
  valueFormatter: function valueFormatter(_ref4) {
@@ -13,7 +13,7 @@ export var getEmployeeColumns = function getEmployeeColumns() {
13
13
  generateData: randomColor,
14
14
  renderCell: renderAvatar,
15
15
  valueGetter: function valueGetter(params) {
16
- return params.rowNode.isAutoGenerated ? null : {
16
+ return params.row.name == null || params.row.avatar == null ? null : {
17
17
  name: params.row.name,
18
18
  color: params.row.avatar
19
19
  };
@@ -134,11 +134,9 @@ export var getEmployeeColumns = function getEmployeeColumns() {
134
134
  type: 'number',
135
135
  valueFormatter: function valueFormatter(_ref2) {
136
136
  var value = _ref2.value;
137
-
138
137
  if (!value || typeof value !== 'number') {
139
138
  return value;
140
139
  }
141
-
142
140
  return "".concat(value.toLocaleString(), "$");
143
141
  }
144
142
  }];
@@ -3,13 +3,12 @@ import * as React from 'react';
3
3
  import { getBasicGridData } from '../services';
4
4
  export var useBasicDemoData = function useBasicDemoData(nbRows, nbCols) {
5
5
  var _React$useState = React.useState({
6
- rows: [],
7
- columns: []
8
- }),
9
- _React$useState2 = _slicedToArray(_React$useState, 2),
10
- data = _React$useState2[0],
11
- setData = _React$useState2[1];
12
-
6
+ rows: [],
7
+ columns: []
8
+ }),
9
+ _React$useState2 = _slicedToArray(_React$useState, 2),
10
+ data = _React$useState2[0],
11
+ setData = _React$useState2[1];
13
12
  React.useEffect(function () {
14
13
  var newData = getBasicGridData(nbRows, nbCols);
15
14
  setData(newData);
@@ -3,13 +3,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _typeof from "@babel/runtime/helpers/esm/typeof";
4
4
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
-
7
6
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
8
-
9
7
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
-
11
8
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
-
13
9
  import * as React from 'react';
14
10
  import LRUCache from 'lru-cache';
15
11
  import { getRealGridData } from '../services/real-data-service';
@@ -20,15 +16,12 @@ import { addTreeDataOptionsToDemoData } from '../services/tree-data-generator';
20
16
  var dataCache = new LRUCache({
21
17
  max: 10,
22
18
  ttl: 60 * 5 * 1e3 // 5 minutes
23
-
24
19
  });
25
-
26
20
  // Generate fake data from a seed.
27
21
  // It's about x20 faster than getRealData.
28
22
  function extrapolateSeed(_x, _x2) {
29
23
  return _extrapolateSeed.apply(this, arguments);
30
24
  }
31
-
32
25
  function _extrapolateSeed() {
33
26
  _extrapolateSeed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(rowLength, data) {
34
27
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
@@ -41,25 +34,20 @@ function _extrapolateSeed() {
41
34
  var tasks = {
42
35
  current: rowLength - seed.length
43
36
  };
44
-
45
37
  function work() {
46
38
  var row = {};
47
-
48
39
  for (var j = 0; j < data.columns.length; j += 1) {
49
40
  var column = data.columns[j];
50
41
  var index = Math.round(Math.random() * (seed.length - 1));
51
-
52
42
  if (column.field === 'id') {
53
43
  row.id = "id-".concat(tasks.current + seed.length);
54
44
  } else {
55
45
  row[column.field] = seed[index][column.field];
56
46
  }
57
47
  }
58
-
59
48
  rows.push(row);
60
49
  tasks.current -= 1;
61
50
  }
62
-
63
51
  asyncWorker({
64
52
  work: work,
65
53
  done: function done() {
@@ -70,7 +58,6 @@ function _extrapolateSeed() {
70
58
  tasks: tasks
71
59
  });
72
60
  }));
73
-
74
61
  case 1:
75
62
  case "end":
76
63
  return _context2.stop();
@@ -80,20 +67,19 @@ function _extrapolateSeed() {
80
67
  }));
81
68
  return _extrapolateSeed.apply(this, arguments);
82
69
  }
83
-
84
70
  var deepFreeze = function deepFreeze(object) {
85
71
  // Retrieve the property names defined on object
86
- var propNames = Object.getOwnPropertyNames(object); // Freeze properties before freezing self
87
- // eslint-disable-next-line no-restricted-syntax
72
+ var propNames = Object.getOwnPropertyNames(object);
88
73
 
89
- var _iterator = _createForOfIteratorHelper(propNames),
90
- _step;
74
+ // Freeze properties before freezing self
91
75
 
76
+ // eslint-disable-next-line no-restricted-syntax
77
+ var _iterator = _createForOfIteratorHelper(propNames),
78
+ _step;
92
79
  try {
93
80
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
94
81
  var name = _step.value;
95
82
  var value = object[name];
96
-
97
83
  if (value && _typeof(value) === 'object') {
98
84
  deepFreeze(value);
99
85
  }
@@ -103,32 +89,25 @@ var deepFreeze = function deepFreeze(object) {
103
89
  } finally {
104
90
  _iterator.f();
105
91
  }
106
-
107
92
  return Object.freeze(object);
108
93
  };
109
-
110
94
  export var getColumnsFromOptions = function getColumnsFromOptions(options) {
111
95
  var columns = options.dataSet === 'Commodity' ? getCommodityColumns(options.editable) : getEmployeeColumns();
112
-
113
96
  if (options.visibleFields) {
114
97
  columns = columns.map(function (col) {
115
98
  var _options$visibleField;
116
-
117
99
  return (_options$visibleField = options.visibleFields) != null && _options$visibleField.includes(col.field) ? col : _extends({}, col, {
118
100
  hide: true
119
101
  });
120
102
  });
121
103
  }
122
-
123
104
  if (options.maxColumns) {
124
105
  columns = columns.slice(0, options.maxColumns);
125
106
  }
126
-
127
107
  return columns;
128
108
  };
129
109
  export var getInitialState = function getInitialState(options, columns) {
130
110
  var _options$treeData;
131
-
132
111
  var columnVisibilityModel = {};
133
112
  columns.forEach(function (col) {
134
113
  if (col.hide) {
@@ -136,11 +115,9 @@ export var getInitialState = function getInitialState(options, columns) {
136
115
  }
137
116
  });
138
117
  var groupingField = (_options$treeData = options.treeData) == null ? void 0 : _options$treeData.groupingField;
139
-
140
118
  if (groupingField) {
141
119
  columnVisibilityModel[groupingField] = false;
142
120
  }
143
-
144
121
  return {
145
122
  columns: {
146
123
  columnVisibilityModel: columnVisibilityModel
@@ -149,22 +126,18 @@ export var getInitialState = function getInitialState(options, columns) {
149
126
  };
150
127
  export var useDemoData = function useDemoData(options) {
151
128
  var _options$treeData5, _options$treeData6, _options$treeData7;
152
-
153
129
  var _React$useState = React.useState(options.rowLength),
154
- _React$useState2 = _slicedToArray(_React$useState, 2),
155
- rowLength = _React$useState2[0],
156
- setRowLength = _React$useState2[1];
157
-
130
+ _React$useState2 = _slicedToArray(_React$useState, 2),
131
+ rowLength = _React$useState2[0],
132
+ setRowLength = _React$useState2[1];
158
133
  var _React$useState3 = React.useState(0),
159
- _React$useState4 = _slicedToArray(_React$useState3, 2),
160
- index = _React$useState4[0],
161
- setIndex = _React$useState4[1];
162
-
134
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
135
+ index = _React$useState4[0],
136
+ setIndex = _React$useState4[1];
163
137
  var _React$useState5 = React.useState(true),
164
- _React$useState6 = _slicedToArray(_React$useState5, 2),
165
- loading = _React$useState6[0],
166
- setLoading = _React$useState6[1];
167
-
138
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
139
+ loading = _React$useState6[0],
140
+ setLoading = _React$useState6[1];
168
141
  var columns = React.useMemo(function () {
169
142
  return getColumnsFromOptions({
170
143
  dataSet: options.dataSet,
@@ -173,89 +146,75 @@ export var useDemoData = function useDemoData(options) {
173
146
  visibleFields: options.visibleFields
174
147
  });
175
148
  }, [options.dataSet, options.editable, options.maxColumns, options.visibleFields]);
176
-
177
149
  var _React$useState7 = React.useState(function () {
178
- return addTreeDataOptionsToDemoData({
179
- columns: columns,
180
- rows: [],
181
- initialState: getInitialState(options, columns)
182
- }, options.treeData);
183
- }),
184
- _React$useState8 = _slicedToArray(_React$useState7, 2),
185
- data = _React$useState8[0],
186
- setData = _React$useState8[1];
187
-
150
+ return addTreeDataOptionsToDemoData({
151
+ columns: columns,
152
+ rows: [],
153
+ initialState: getInitialState(options, columns)
154
+ }, options.treeData);
155
+ }),
156
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
157
+ data = _React$useState8[0],
158
+ setData = _React$useState8[1];
188
159
  React.useEffect(function () {
189
- var cacheKey = "".concat(options.dataSet, "-").concat(rowLength, "-").concat(index, "-").concat(options.maxColumns); // Cache to allow fast switch between the JavaScript and TypeScript version
190
- // of the demos.
160
+ var cacheKey = "".concat(options.dataSet, "-").concat(rowLength, "-").concat(index, "-").concat(options.maxColumns);
191
161
 
162
+ // Cache to allow fast switch between the JavaScript and TypeScript version
163
+ // of the demos.
192
164
  if (dataCache.has(cacheKey)) {
193
165
  var newData = dataCache.get(cacheKey);
194
166
  setData(newData);
195
167
  setLoading(false);
196
168
  return undefined;
197
169
  }
198
-
199
170
  var active = true;
200
-
201
171
  _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
202
172
  var _options$treeData2, _options$treeData3, _options$treeData4;
203
-
204
173
  var newData;
205
174
  return _regeneratorRuntime.wrap(function _callee$(_context) {
206
175
  while (1) {
207
176
  switch (_context.prev = _context.next) {
208
177
  case 0:
209
178
  setLoading(true);
210
-
211
179
  if (!(rowLength > 1000)) {
212
180
  _context.next = 10;
213
181
  break;
214
182
  }
215
-
216
183
  _context.next = 4;
217
184
  return getRealGridData(1000, columns);
218
-
219
185
  case 4:
220
186
  newData = _context.sent;
221
187
  _context.next = 7;
222
188
  return extrapolateSeed(rowLength, newData);
223
-
224
189
  case 7:
225
190
  newData = _context.sent;
226
191
  _context.next = 13;
227
192
  break;
228
-
229
193
  case 10:
230
194
  _context.next = 12;
231
195
  return getRealGridData(rowLength, columns);
232
-
233
196
  case 12:
234
197
  newData = _context.sent;
235
-
236
198
  case 13:
237
199
  if (active) {
238
200
  _context.next = 15;
239
201
  break;
240
202
  }
241
-
242
203
  return _context.abrupt("return");
243
-
244
204
  case 15:
245
205
  newData = addTreeDataOptionsToDemoData(newData, {
246
206
  maxDepth: (_options$treeData2 = options.treeData) == null ? void 0 : _options$treeData2.maxDepth,
247
207
  groupingField: (_options$treeData3 = options.treeData) == null ? void 0 : _options$treeData3.groupingField,
248
208
  averageChildren: (_options$treeData4 = options.treeData) == null ? void 0 : _options$treeData4.averageChildren
249
- }); // It's quite slow. No need for it in production.
209
+ });
250
210
 
211
+ // It's quite slow. No need for it in production.
251
212
  if (process.env.NODE_ENV !== 'production') {
252
213
  deepFreeze(newData);
253
214
  }
254
-
255
215
  dataCache.set(cacheKey, newData);
256
216
  setData(newData);
257
217
  setLoading(false);
258
-
259
218
  case 20:
260
219
  case "end":
261
220
  return _context.stop();
@@ -263,7 +222,6 @@ export var useDemoData = function useDemoData(options) {
263
222
  }
264
223
  }, _callee);
265
224
  }))();
266
-
267
225
  return function () {
268
226
  active = false;
269
227
  };