@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.
- package/CHANGELOG.md +1306 -149
- package/columns/commodities.columns.js +0 -1
- package/columns/employees.columns.js +0 -1
- package/hooks/useDemoData.js +9 -31
- package/hooks/useMovieData.d.ts +1 -0
- package/hooks/useMovieData.js +35 -1
- package/hooks/useQuery.js +11 -43
- package/index.js +1 -1
- package/legacy/columns/commodities.columns.js +0 -1
- package/legacy/columns/employees.columns.js +0 -2
- package/legacy/hooks/useBasicDemoData.js +6 -7
- package/legacy/hooks/useDemoData.js +28 -70
- package/legacy/hooks/useMovieData.js +35 -2
- package/legacy/hooks/useQuery.js +38 -77
- package/legacy/index.js +1 -1
- package/legacy/renderer/renderAvatar.js +0 -1
- package/legacy/renderer/renderCountry.js +3 -4
- package/legacy/renderer/renderEditCountry.js +32 -20
- package/legacy/renderer/renderEditCurrency.js +32 -20
- package/legacy/renderer/renderEditIncoterm.js +36 -26
- package/legacy/renderer/renderEditProgress.js +10 -20
- package/legacy/renderer/renderEditRating.js +32 -23
- package/legacy/renderer/renderEditStatus.js +2 -15
- package/legacy/renderer/renderEmail.js +0 -1
- package/legacy/renderer/renderIncoterm.js +0 -2
- package/legacy/renderer/renderLink.js +0 -2
- package/legacy/renderer/renderPnl.js +0 -3
- package/legacy/renderer/renderProgress.js +4 -5
- package/legacy/renderer/renderRating.js +3 -4
- package/legacy/renderer/renderStatus.js +8 -13
- package/legacy/renderer/renderTotalPrice.js +5 -6
- package/legacy/services/asyncWorker.js +4 -7
- package/legacy/services/basic-data-service.js +0 -5
- package/legacy/services/random-generator.js +6 -20
- package/legacy/services/real-data-service.js +0 -9
- package/legacy/services/tree-data-generator.js +6 -22
- package/modern/columns/commodities.columns.js +0 -1
- package/modern/columns/employees.columns.js +0 -1
- package/modern/hooks/useDemoData.js +9 -27
- package/modern/hooks/useMovieData.js +35 -1
- package/modern/hooks/useQuery.js +11 -41
- package/modern/index.js +1 -1
- package/modern/renderer/renderAvatar.js +0 -1
- package/modern/renderer/renderCountry.js +3 -4
- package/modern/renderer/renderEditCountry.js +6 -13
- package/modern/renderer/renderEditCurrency.js +6 -13
- package/modern/renderer/renderEditIncoterm.js +7 -16
- package/modern/renderer/renderEditProgress.js +3 -10
- package/modern/renderer/renderEditRating.js +7 -17
- package/modern/renderer/renderEditStatus.js +0 -10
- package/modern/renderer/renderIncoterm.js +0 -2
- package/modern/renderer/renderLink.js +0 -2
- package/modern/renderer/renderPnl.js +0 -3
- package/modern/renderer/renderProgress.js +4 -5
- package/modern/renderer/renderRating.js +3 -4
- package/modern/renderer/renderStatus.js +8 -13
- package/modern/renderer/renderTotalPrice.js +5 -6
- package/modern/services/asyncWorker.js +2 -4
- package/modern/services/basic-data-service.js +0 -5
- package/modern/services/random-generator.js +6 -19
- package/modern/services/real-data-service.js +0 -9
- package/modern/services/tree-data-generator.js +0 -14
- package/node/columns/commodities.columns.js +1 -8
- package/node/columns/employees.columns.js +1 -8
- package/node/columns/index.js +0 -4
- package/node/hooks/index.js +0 -8
- package/node/hooks/useBasicDemoData.js +0 -6
- package/node/hooks/useDemoData.js +17 -62
- package/node/hooks/useMovieData.js +35 -3
- package/node/hooks/useQuery.js +13 -57
- package/node/index.js +1 -9
- package/node/renderer/index.js +0 -32
- package/node/renderer/renderAvatar.js +0 -8
- package/node/renderer/renderCountry.js +3 -12
- package/node/renderer/renderEditCountry.js +6 -26
- package/node/renderer/renderEditCurrency.js +6 -26
- package/node/renderer/renderEditIncoterm.js +7 -28
- package/node/renderer/renderEditProgress.js +4 -24
- package/node/renderer/renderEditRating.js +7 -26
- package/node/renderer/renderEditStatus.js +0 -26
- package/node/renderer/renderEmail.js +1 -9
- package/node/renderer/renderIncoterm.js +0 -12
- package/node/renderer/renderLink.js +0 -9
- package/node/renderer/renderPnl.js +0 -12
- package/node/renderer/renderProgress.js +4 -14
- package/node/renderer/renderRating.js +3 -13
- package/node/renderer/renderStatus.js +8 -26
- package/node/renderer/renderTotalPrice.js +5 -15
- package/node/services/asyncWorker.js +2 -5
- package/node/services/basic-data-service.js +0 -7
- package/node/services/index.js +0 -8
- package/node/services/random-generator.js +7 -105
- package/node/services/real-data-service.js +0 -12
- package/node/services/static-data.js +0 -2
- package/node/services/tree-data-generator.js +1 -22
- package/package.json +7 -7
- package/renderer/renderAvatar.js +0 -1
- package/renderer/renderCountry.js +3 -4
- package/renderer/renderEditCountry.js +6 -13
- package/renderer/renderEditCurrency.js +6 -13
- package/renderer/renderEditIncoterm.js +7 -16
- package/renderer/renderEditProgress.js +3 -10
- package/renderer/renderEditRating.js +7 -17
- package/renderer/renderEditStatus.js +0 -10
- package/renderer/renderEmail.js +0 -1
- package/renderer/renderIncoterm.js +0 -2
- package/renderer/renderLink.js +0 -2
- package/renderer/renderPnl.js +0 -3
- package/renderer/renderProgress.js +4 -5
- package/renderer/renderRating.js +3 -4
- package/renderer/renderStatus.js +8 -13
- package/renderer/renderTotalPrice.js +5 -6
- package/services/asyncWorker.js +2 -4
- package/services/basic-data-service.js +0 -5
- package/services/random-generator.js +6 -20
- package/services/real-data-service.js +0 -9
- package/services/tree-data-generator.js +0 -15
|
@@ -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
|
|
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
|
|
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;
|
package/node/columns/index.js
CHANGED
|
@@ -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;
|
package/node/hooks/index.js
CHANGED
|
@@ -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;
|
|
@@ -1,36 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useDemoData = exports.getInitialState = exports.getColumnsFromOptions = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var React = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _lruCache = _interopRequireDefault(require("lru-cache"));
|
|
15
|
-
|
|
16
11
|
var _realDataService = require("../services/real-data-service");
|
|
17
|
-
|
|
18
12
|
var _commodities = require("../columns/commodities.columns");
|
|
19
|
-
|
|
20
13
|
var _employees = require("../columns/employees.columns");
|
|
21
|
-
|
|
22
14
|
var _asyncWorker = _interopRequireDefault(require("../services/asyncWorker"));
|
|
23
|
-
|
|
24
15
|
var _treeDataGenerator = require("../services/tree-data-generator");
|
|
25
|
-
|
|
26
16
|
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); }
|
|
27
|
-
|
|
28
17
|
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; }
|
|
29
|
-
|
|
30
18
|
const dataCache = new _lruCache.default({
|
|
31
19
|
max: 10,
|
|
32
20
|
ttl: 60 * 5 * 1e3 // 5 minutes
|
|
33
|
-
|
|
34
21
|
});
|
|
35
22
|
|
|
36
23
|
// Generate fake data from a seed.
|
|
@@ -42,25 +29,20 @@ async function extrapolateSeed(rowLength, data) {
|
|
|
42
29
|
const tasks = {
|
|
43
30
|
current: rowLength - seed.length
|
|
44
31
|
};
|
|
45
|
-
|
|
46
32
|
function work() {
|
|
47
33
|
const row = {};
|
|
48
|
-
|
|
49
34
|
for (let j = 0; j < data.columns.length; j += 1) {
|
|
50
35
|
const column = data.columns[j];
|
|
51
36
|
const index = Math.round(Math.random() * (seed.length - 1));
|
|
52
|
-
|
|
53
37
|
if (column.field === 'id') {
|
|
54
38
|
row.id = `id-${tasks.current + seed.length}`;
|
|
55
39
|
} else {
|
|
56
40
|
row[column.field] = seed[index][column.field];
|
|
57
41
|
}
|
|
58
42
|
}
|
|
59
|
-
|
|
60
43
|
rows.push(row);
|
|
61
44
|
tasks.current -= 1;
|
|
62
45
|
}
|
|
63
|
-
|
|
64
46
|
(0, _asyncWorker.default)({
|
|
65
47
|
work,
|
|
66
48
|
done: () => resolve((0, _extends2.default)({}, data, {
|
|
@@ -70,72 +52,53 @@ async function extrapolateSeed(rowLength, data) {
|
|
|
70
52
|
});
|
|
71
53
|
});
|
|
72
54
|
}
|
|
73
|
-
|
|
74
55
|
const deepFreeze = object => {
|
|
75
56
|
// Retrieve the property names defined on object
|
|
76
|
-
const propNames = Object.getOwnPropertyNames(object);
|
|
77
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
57
|
+
const propNames = Object.getOwnPropertyNames(object);
|
|
78
58
|
|
|
59
|
+
// Freeze properties before freezing self
|
|
60
|
+
|
|
61
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
79
62
|
for (const name of propNames) {
|
|
80
63
|
const value = object[name];
|
|
81
|
-
|
|
82
64
|
if (value && typeof value === 'object') {
|
|
83
65
|
deepFreeze(value);
|
|
84
66
|
}
|
|
85
67
|
}
|
|
86
|
-
|
|
87
68
|
return Object.freeze(object);
|
|
88
69
|
};
|
|
89
|
-
|
|
90
70
|
const getColumnsFromOptions = options => {
|
|
91
71
|
let columns = options.dataSet === 'Commodity' ? (0, _commodities.getCommodityColumns)(options.editable) : (0, _employees.getEmployeeColumns)();
|
|
92
|
-
|
|
93
72
|
if (options.visibleFields) {
|
|
94
|
-
columns = columns.map(col => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return (_options$visibleField = options.visibleFields) != null && _options$visibleField.includes(col.field) ? col : (0, _extends2.default)({}, col, {
|
|
98
|
-
hide: true
|
|
99
|
-
});
|
|
100
|
-
});
|
|
73
|
+
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (0, _extends2.default)({}, col, {
|
|
74
|
+
hide: true
|
|
75
|
+
}));
|
|
101
76
|
}
|
|
102
|
-
|
|
103
77
|
if (options.maxColumns) {
|
|
104
78
|
columns = columns.slice(0, options.maxColumns);
|
|
105
79
|
}
|
|
106
|
-
|
|
107
80
|
return columns;
|
|
108
81
|
};
|
|
109
|
-
|
|
110
82
|
exports.getColumnsFromOptions = getColumnsFromOptions;
|
|
111
|
-
|
|
112
83
|
const getInitialState = (options, columns) => {
|
|
113
|
-
var _options$treeData;
|
|
114
|
-
|
|
115
84
|
const columnVisibilityModel = {};
|
|
116
85
|
columns.forEach(col => {
|
|
117
86
|
if (col.hide) {
|
|
118
87
|
columnVisibilityModel[col.field] = false;
|
|
119
88
|
}
|
|
120
89
|
});
|
|
121
|
-
const groupingField =
|
|
122
|
-
|
|
90
|
+
const groupingField = options.treeData?.groupingField;
|
|
123
91
|
if (groupingField) {
|
|
124
92
|
columnVisibilityModel[groupingField] = false;
|
|
125
93
|
}
|
|
126
|
-
|
|
127
94
|
return {
|
|
128
95
|
columns: {
|
|
129
96
|
columnVisibilityModel
|
|
130
97
|
}
|
|
131
98
|
};
|
|
132
99
|
};
|
|
133
|
-
|
|
134
100
|
exports.getInitialState = getInitialState;
|
|
135
|
-
|
|
136
101
|
const useDemoData = options => {
|
|
137
|
-
var _options$treeData5, _options$treeData6, _options$treeData7;
|
|
138
|
-
|
|
139
102
|
const [rowLength, setRowLength] = React.useState(options.rowLength);
|
|
140
103
|
const [index, setIndex] = React.useState(0);
|
|
141
104
|
const [loading, setLoading] = React.useState(true);
|
|
@@ -155,54 +118,47 @@ const useDemoData = options => {
|
|
|
155
118
|
}, options.treeData);
|
|
156
119
|
});
|
|
157
120
|
React.useEffect(() => {
|
|
158
|
-
const cacheKey = `${options.dataSet}-${rowLength}-${index}-${options.maxColumns}`;
|
|
159
|
-
// of the demos.
|
|
121
|
+
const cacheKey = `${options.dataSet}-${rowLength}-${index}-${options.maxColumns}`;
|
|
160
122
|
|
|
123
|
+
// Cache to allow fast switch between the JavaScript and TypeScript version
|
|
124
|
+
// of the demos.
|
|
161
125
|
if (dataCache.has(cacheKey)) {
|
|
162
126
|
const newData = dataCache.get(cacheKey);
|
|
163
127
|
setData(newData);
|
|
164
128
|
setLoading(false);
|
|
165
129
|
return undefined;
|
|
166
130
|
}
|
|
167
|
-
|
|
168
131
|
let active = true;
|
|
169
|
-
|
|
170
132
|
(async () => {
|
|
171
|
-
var _options$treeData2, _options$treeData3, _options$treeData4;
|
|
172
|
-
|
|
173
133
|
setLoading(true);
|
|
174
134
|
let newData;
|
|
175
|
-
|
|
176
135
|
if (rowLength > 1000) {
|
|
177
136
|
newData = await (0, _realDataService.getRealGridData)(1000, columns);
|
|
178
137
|
newData = await extrapolateSeed(rowLength, newData);
|
|
179
138
|
} else {
|
|
180
139
|
newData = await (0, _realDataService.getRealGridData)(rowLength, columns);
|
|
181
140
|
}
|
|
182
|
-
|
|
183
141
|
if (!active) {
|
|
184
142
|
return;
|
|
185
143
|
}
|
|
186
|
-
|
|
187
144
|
newData = (0, _treeDataGenerator.addTreeDataOptionsToDemoData)(newData, {
|
|
188
|
-
maxDepth:
|
|
189
|
-
groupingField:
|
|
190
|
-
averageChildren:
|
|
191
|
-
});
|
|
145
|
+
maxDepth: options.treeData?.maxDepth,
|
|
146
|
+
groupingField: options.treeData?.groupingField,
|
|
147
|
+
averageChildren: options.treeData?.averageChildren
|
|
148
|
+
});
|
|
192
149
|
|
|
150
|
+
// It's quite slow. No need for it in production.
|
|
193
151
|
if (process.env.NODE_ENV !== 'production') {
|
|
194
152
|
deepFreeze(newData);
|
|
195
153
|
}
|
|
196
|
-
|
|
197
154
|
dataCache.set(cacheKey, newData);
|
|
198
155
|
setData(newData);
|
|
199
156
|
setLoading(false);
|
|
200
157
|
})();
|
|
201
|
-
|
|
202
158
|
return () => {
|
|
203
159
|
active = false;
|
|
204
160
|
};
|
|
205
|
-
}, [rowLength, options.dataSet, options.maxColumns,
|
|
161
|
+
}, [rowLength, options.dataSet, options.maxColumns, options.treeData?.maxDepth, options.treeData?.groupingField, options.treeData?.averageChildren, index, columns]);
|
|
206
162
|
return {
|
|
207
163
|
data,
|
|
208
164
|
loading,
|
|
@@ -212,5 +168,4 @@ const useDemoData = options => {
|
|
|
212
168
|
}
|
|
213
169
|
};
|
|
214
170
|
};
|
|
215
|
-
|
|
216
171
|
exports.useDemoData = useDemoData;
|