@mui/x-data-grid-generator 6.0.0-alpha.8 → 6.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1163 -15
- package/columns/commodities.columns.js +0 -1
- package/columns/employees.columns.js +0 -1
- package/hooks/useDemoData.d.ts +2 -2
- package/hooks/useDemoData.js +9 -31
- package/hooks/useMovieData.d.ts +3 -3
- package/hooks/useMovieData.js +0 -1
- package/hooks/useQuery.d.ts +13 -13
- package/hooks/useQuery.js +13 -45
- package/index.js +4 -2
- 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 +0 -2
- package/legacy/hooks/useQuery.js +40 -79
- package/legacy/index.js +4 -2
- package/legacy/renderer/renderAvatar.js +0 -1
- package/legacy/renderer/renderCountry.js +3 -4
- package/legacy/renderer/renderEditCountry.js +2 -8
- package/legacy/renderer/renderEditCurrency.js +2 -8
- package/legacy/renderer/renderEditIncoterm.js +2 -10
- package/legacy/renderer/renderEditProgress.js +7 -17
- package/legacy/renderer/renderEditRating.js +2 -10
- 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 +0 -1
- package/modern/hooks/useQuery.js +13 -43
- package/modern/index.js +4 -2
- package/modern/renderer/renderAvatar.js +0 -1
- package/modern/renderer/renderCountry.js +3 -4
- package/modern/renderer/renderEditCountry.js +0 -3
- package/modern/renderer/renderEditCurrency.js +0 -3
- package/modern/renderer/renderEditIncoterm.js +0 -5
- package/modern/renderer/renderEditProgress.js +0 -7
- package/modern/renderer/renderEditRating.js +0 -5
- 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 +0 -3
- package/node/hooks/useQuery.js +14 -58
- package/node/index.js +4 -10
- 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 +0 -16
- package/node/renderer/renderEditCurrency.js +0 -16
- package/node/renderer/renderEditIncoterm.js +0 -17
- package/node/renderer/renderEditProgress.js +0 -20
- package/node/renderer/renderEditRating.js +0 -14
- 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 +5 -5
- package/renderer/renderAvatar.js +0 -1
- package/renderer/renderCountry.js +3 -4
- package/renderer/renderEditCountry.js +0 -3
- package/renderer/renderEditCurrency.d.ts +1 -1
- package/renderer/renderEditCurrency.js +0 -3
- package/renderer/renderEditIncoterm.d.ts +1 -1
- package/renderer/renderEditIncoterm.js +0 -5
- package/renderer/renderEditProgress.d.ts +1 -1
- package/renderer/renderEditProgress.js +0 -7
- package/renderer/renderEditRating.d.ts +1 -1
- package/renderer/renderEditRating.js +0 -5
- package/renderer/renderEditStatus.d.ts +1 -1
- package/renderer/renderEditStatus.js +0 -10
- package/renderer/renderEmail.d.ts +1 -1
- package/renderer/renderEmail.js +0 -1
- package/renderer/renderIncoterm.d.ts +1 -1
- package/renderer/renderIncoterm.js +0 -2
- package/renderer/renderLink.d.ts +1 -1
- package/renderer/renderLink.js +0 -2
- package/renderer/renderPnl.d.ts +1 -1
- package/renderer/renderPnl.js +0 -3
- package/renderer/renderProgress.d.ts +1 -1
- package/renderer/renderProgress.js +4 -5
- package/renderer/renderRating.d.ts +2 -4
- package/renderer/renderRating.js +3 -4
- package/renderer/renderStatus.d.ts +1 -1
- package/renderer/renderStatus.js +8 -13
- package/renderer/renderTotalPrice.d.ts +1 -1
- package/renderer/renderTotalPrice.js +5 -6
- package/services/asyncWorker.js +2 -4
- package/services/basic-data-service.js +0 -5
- package/services/gridColDefGenerator.d.ts +2 -2
- package/services/random-generator.d.ts +1 -1
- package/services/random-generator.js +6 -20
- package/services/real-data-service.js +0 -9
- package/services/tree-data-generator.js +0 -15
|
@@ -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;
|
|
@@ -27,7 +27,6 @@ const COLUMNS = [{
|
|
|
27
27
|
if (!value) {
|
|
28
28
|
return '';
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
return currencyFormatter.format(value);
|
|
32
31
|
}
|
|
33
32
|
}, {
|
|
@@ -498,12 +497,10 @@ const ROWS = [{
|
|
|
498
497
|
name: 'Randy Newman'
|
|
499
498
|
}
|
|
500
499
|
}];
|
|
501
|
-
|
|
502
500
|
const useMovieData = () => {
|
|
503
501
|
return {
|
|
504
502
|
rows: ROWS,
|
|
505
503
|
columns: COLUMNS
|
|
506
504
|
};
|
|
507
505
|
};
|
|
508
|
-
|
|
509
506
|
exports.useMovieData = useMovieData;
|
package/node/hooks/useQuery.js
CHANGED
|
@@ -1,46 +1,32 @@
|
|
|
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.loadServerRows = exports.createFakeServer = 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 _xDataGridPro = require("@mui/x-data-grid-pro");
|
|
15
|
-
|
|
16
11
|
var _internals = require("@mui/x-data-grid/internals");
|
|
17
|
-
|
|
18
12
|
var _useDemoData = require("./useDemoData");
|
|
19
|
-
|
|
20
13
|
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); }
|
|
21
|
-
|
|
22
14
|
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; }
|
|
23
|
-
|
|
24
15
|
const simplifiedValueGetter = (field, colDef) => row => {
|
|
25
|
-
var _colDef$valueGetter;
|
|
26
|
-
|
|
27
16
|
const params = {
|
|
28
17
|
id: row.id,
|
|
29
18
|
row,
|
|
30
19
|
field,
|
|
31
20
|
rowNode: {}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
return
|
|
21
|
+
};
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return colDef.valueGetter?.(params) || row[field];
|
|
35
24
|
};
|
|
36
|
-
|
|
37
25
|
const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
|
|
38
26
|
if (!sortModel) {
|
|
39
27
|
const comparator = () => 0;
|
|
40
|
-
|
|
41
28
|
return comparator;
|
|
42
29
|
}
|
|
43
|
-
|
|
44
30
|
const sortOperators = sortModel.map(sortItem => {
|
|
45
31
|
const columnField = sortItem.field;
|
|
46
32
|
const colDef = columnsWithDefaultColDef.find(({
|
|
@@ -51,7 +37,6 @@ const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
|
|
|
51
37
|
sortComparator: colDef.sortComparator
|
|
52
38
|
});
|
|
53
39
|
});
|
|
54
|
-
|
|
55
40
|
const comparator = (row1, row2) => sortOperators.reduce((acc, {
|
|
56
41
|
valueGetter,
|
|
57
42
|
sort,
|
|
@@ -60,52 +45,39 @@ const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
|
|
|
60
45
|
if (acc !== 0) {
|
|
61
46
|
return acc;
|
|
62
47
|
}
|
|
63
|
-
|
|
64
48
|
const v1 = valueGetter(row1);
|
|
65
49
|
const v2 = valueGetter(row2);
|
|
66
50
|
return sort === 'desc' ? -1 * sortComparator(v1, v2) : sortComparator(v1, v2);
|
|
67
51
|
}, 0);
|
|
68
|
-
|
|
69
52
|
return comparator;
|
|
70
53
|
};
|
|
71
|
-
|
|
72
54
|
const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
|
|
73
55
|
if (filterModel === undefined || filterModel.items.length === 0) {
|
|
74
56
|
return rows;
|
|
75
57
|
}
|
|
76
|
-
|
|
77
58
|
const valueGetters = filterModel.items.map(({
|
|
78
|
-
columnField
|
|
79
|
-
}) => simplifiedValueGetter(columnField, columnsWithDefaultColDef.find(({
|
|
80
59
|
field
|
|
81
|
-
}) => field ===
|
|
60
|
+
}) => simplifiedValueGetter(field, columnsWithDefaultColDef.find(column => column.field === field)));
|
|
82
61
|
const filterFunctions = filterModel.items.map(filterItem => {
|
|
83
62
|
const {
|
|
84
|
-
|
|
85
|
-
|
|
63
|
+
field,
|
|
64
|
+
operator
|
|
86
65
|
} = filterItem;
|
|
87
|
-
const colDef = columnsWithDefaultColDef.find(
|
|
88
|
-
field
|
|
89
|
-
}) => field === columnField);
|
|
66
|
+
const colDef = columnsWithDefaultColDef.find(column => column.field === field);
|
|
90
67
|
const filterOperator = colDef.filterOperators.find(({
|
|
91
68
|
value
|
|
92
|
-
}) =>
|
|
69
|
+
}) => operator === value);
|
|
93
70
|
let parsedValue = filterItem.value;
|
|
94
|
-
|
|
95
71
|
if (colDef.valueParser) {
|
|
96
|
-
var _filterItem$value;
|
|
97
|
-
|
|
98
72
|
const parser = colDef.valueParser;
|
|
99
|
-
parsedValue = Array.isArray(filterItem.value) ?
|
|
73
|
+
parsedValue = Array.isArray(filterItem.value) ? filterItem.value?.map(x => parser(x)) : parser(filterItem.value);
|
|
100
74
|
}
|
|
101
|
-
|
|
102
|
-
return filterOperator == null ? void 0 : filterOperator.getApplyFilterFn({
|
|
75
|
+
return filterOperator?.getApplyFilterFn({
|
|
103
76
|
filterItem,
|
|
104
77
|
value: parsedValue
|
|
105
78
|
}, colDef);
|
|
106
79
|
});
|
|
107
|
-
|
|
108
|
-
if (filterModel.linkOperator === _xDataGridPro.GridLinkOperator.Or) {
|
|
80
|
+
if (filterModel.logicOperator === _xDataGridPro.GridLogicOperator.Or) {
|
|
109
81
|
return rows.filter(row => filterModel.items.some((_, index) => {
|
|
110
82
|
const value = valueGetters[index](row);
|
|
111
83
|
return filterFunctions[index] === null ? true : filterFunctions[index]({
|
|
@@ -113,7 +85,6 @@ const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
|
|
|
113
85
|
});
|
|
114
86
|
}));
|
|
115
87
|
}
|
|
116
|
-
|
|
117
88
|
return rows.filter(row => filterModel.items.every((_, index) => {
|
|
118
89
|
const value = valueGetters[index](row);
|
|
119
90
|
return filterFunctions[index] === null ? true : filterFunctions[index]({
|
|
@@ -121,22 +92,19 @@ const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
|
|
|
121
92
|
});
|
|
122
93
|
}));
|
|
123
94
|
};
|
|
95
|
+
|
|
124
96
|
/**
|
|
125
97
|
* Simulates server data loading
|
|
126
98
|
*/
|
|
127
|
-
|
|
128
|
-
|
|
129
99
|
const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
130
100
|
const {
|
|
131
101
|
minDelay = 100,
|
|
132
102
|
maxDelay = 300,
|
|
133
103
|
useCursorPagination
|
|
134
104
|
} = serverOptions;
|
|
135
|
-
|
|
136
105
|
if (maxDelay < minDelay) {
|
|
137
106
|
throw new Error('serverOptions.minDelay is larger than serverOptions.maxDelay ');
|
|
138
107
|
}
|
|
139
|
-
|
|
140
108
|
const delay = Math.random() * (maxDelay - minDelay) + minDelay;
|
|
141
109
|
const {
|
|
142
110
|
cursor,
|
|
@@ -150,7 +118,6 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
150
118
|
const rowComparator = getRowComparator(queryOptions.sortModel, columnsWithDefaultColDef);
|
|
151
119
|
filteredRows = [...filteredRows].sort(rowComparator);
|
|
152
120
|
const totalRowCount = filteredRows.length;
|
|
153
|
-
|
|
154
121
|
if (!pageSize) {
|
|
155
122
|
firstRowIndex = 0;
|
|
156
123
|
lastRowIndex = filteredRows.length;
|
|
@@ -159,14 +126,12 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
159
126
|
id
|
|
160
127
|
}) => id === cursor) : 0;
|
|
161
128
|
firstRowIndex = Math.max(firstRowIndex, 0); // if cursor not found return 0
|
|
162
|
-
|
|
163
129
|
lastRowIndex = firstRowIndex + pageSize;
|
|
164
130
|
nextCursor = lastRowIndex >= filteredRows.length ? undefined : filteredRows[lastRowIndex].id;
|
|
165
131
|
} else {
|
|
166
132
|
firstRowIndex = page * pageSize;
|
|
167
133
|
lastRowIndex = (page + 1) * pageSize;
|
|
168
134
|
}
|
|
169
|
-
|
|
170
135
|
const response = {
|
|
171
136
|
returnedRows: filteredRows.slice(firstRowIndex, lastRowIndex),
|
|
172
137
|
nextCursor,
|
|
@@ -178,7 +143,6 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
178
143
|
}, delay); // simulate network latency
|
|
179
144
|
});
|
|
180
145
|
};
|
|
181
|
-
|
|
182
146
|
exports.loadServerRows = loadServerRows;
|
|
183
147
|
const DEFAULT_DATASET_OPTIONS = {
|
|
184
148
|
dataSet: 'Commodity',
|
|
@@ -191,7 +155,6 @@ const DEFAULT_SERVER_OPTIONS = {
|
|
|
191
155
|
maxDelay: disableDelay ? 0 : 300,
|
|
192
156
|
useCursorPagination: true
|
|
193
157
|
};
|
|
194
|
-
|
|
195
158
|
const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
196
159
|
const dataSetOptionsWithDefault = (0, _extends2.default)({}, DEFAULT_DATASET_OPTIONS, dataSetOptions);
|
|
197
160
|
const serverOptionsWithDefault = (0, _extends2.default)({}, DEFAULT_SERVER_OPTIONS, serverOptions);
|
|
@@ -199,7 +162,6 @@ const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
|
199
162
|
const initialState = (0, _useDemoData.getInitialState)(dataSetOptionsWithDefault, columns);
|
|
200
163
|
const defaultColDef = (0, _xDataGridPro.getGridDefaultColumnTypes)();
|
|
201
164
|
const columnsWithDefaultColDef = columns.map(column => (0, _extends2.default)({}, defaultColDef[column.type || 'string'], column));
|
|
202
|
-
|
|
203
165
|
const useQuery = queryOptions => {
|
|
204
166
|
const {
|
|
205
167
|
data: {
|
|
@@ -218,25 +180,21 @@ const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
|
218
180
|
// dataset is not ready
|
|
219
181
|
return () => {};
|
|
220
182
|
}
|
|
221
|
-
|
|
222
183
|
queryOptionsRef.current = queryOptions;
|
|
223
184
|
let active = true;
|
|
224
185
|
setIsLoading(true);
|
|
225
186
|
setResponse(prev => Object.keys(prev.pageInfo).length === 0 ? prev : (0, _extends2.default)({}, prev, {
|
|
226
187
|
pageInfo: {}
|
|
227
188
|
}));
|
|
228
|
-
|
|
229
189
|
(async function fetchData() {
|
|
230
190
|
const {
|
|
231
191
|
returnedRows,
|
|
232
192
|
nextCursor,
|
|
233
193
|
totalRowCount
|
|
234
194
|
} = await loadServerRows(rows, queryOptions, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
235
|
-
|
|
236
195
|
if (!active) {
|
|
237
196
|
return;
|
|
238
197
|
}
|
|
239
|
-
|
|
240
198
|
const newRep = {
|
|
241
199
|
rows: returnedRows,
|
|
242
200
|
pageInfo: {
|
|
@@ -248,18 +206,17 @@ const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
|
248
206
|
setResponse(prev => (0, _internals.isDeepEqual)(prev, newRep) ? prev : newRep);
|
|
249
207
|
setIsLoading(false);
|
|
250
208
|
})();
|
|
251
|
-
|
|
252
209
|
return () => {
|
|
253
210
|
active = false;
|
|
254
211
|
};
|
|
255
|
-
}, [dataGenerationIsLoading, queryOptions, rows]);
|
|
212
|
+
}, [dataGenerationIsLoading, queryOptions, rows]);
|
|
256
213
|
|
|
214
|
+
// We use queryOptions pointer to be sure that isLoading===true as soon as the options change
|
|
257
215
|
const effectShouldStart = queryOptionsRef.current !== queryOptions;
|
|
258
216
|
return (0, _extends2.default)({
|
|
259
217
|
isLoading: isLoading || effectShouldStart
|
|
260
218
|
}, response);
|
|
261
219
|
};
|
|
262
|
-
|
|
263
220
|
return {
|
|
264
221
|
columns,
|
|
265
222
|
columnsWithDefaultColDef,
|
|
@@ -267,5 +224,4 @@ const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
|
267
224
|
useQuery
|
|
268
225
|
};
|
|
269
226
|
};
|
|
270
|
-
|
|
271
227
|
exports.createFakeServer = createFakeServer;
|
package/node/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @mui/x-data-grid-generator v6.0.0-beta.0
|
|
2
3
|
*
|
|
3
|
-
*
|
|
4
|
+
* @license MUI X Commercial
|
|
5
|
+
* This source code is licensed under the commercial license found in the
|
|
4
6
|
* LICENSE file in the root directory of this source tree.
|
|
5
7
|
*/
|
|
6
8
|
"use strict";
|
|
@@ -8,9 +10,7 @@
|
|
|
8
10
|
Object.defineProperty(exports, "__esModule", {
|
|
9
11
|
value: true
|
|
10
12
|
});
|
|
11
|
-
|
|
12
13
|
var _renderer = require("./renderer");
|
|
13
|
-
|
|
14
14
|
Object.keys(_renderer).forEach(function (key) {
|
|
15
15
|
if (key === "default" || key === "__esModule") return;
|
|
16
16
|
if (key in exports && exports[key] === _renderer[key]) return;
|
|
@@ -21,9 +21,7 @@ Object.keys(_renderer).forEach(function (key) {
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
|
-
|
|
25
24
|
var _services = require("./services");
|
|
26
|
-
|
|
27
25
|
Object.keys(_services).forEach(function (key) {
|
|
28
26
|
if (key === "default" || key === "__esModule") return;
|
|
29
27
|
if (key in exports && exports[key] === _services[key]) return;
|
|
@@ -34,9 +32,7 @@ Object.keys(_services).forEach(function (key) {
|
|
|
34
32
|
}
|
|
35
33
|
});
|
|
36
34
|
});
|
|
37
|
-
|
|
38
35
|
var _columns = require("./columns");
|
|
39
|
-
|
|
40
36
|
Object.keys(_columns).forEach(function (key) {
|
|
41
37
|
if (key === "default" || key === "__esModule") return;
|
|
42
38
|
if (key in exports && exports[key] === _columns[key]) return;
|
|
@@ -47,9 +43,7 @@ Object.keys(_columns).forEach(function (key) {
|
|
|
47
43
|
}
|
|
48
44
|
});
|
|
49
45
|
});
|
|
50
|
-
|
|
51
46
|
var _hooks = require("./hooks");
|
|
52
|
-
|
|
53
47
|
Object.keys(_hooks).forEach(function (key) {
|
|
54
48
|
if (key === "default" || key === "__esModule") return;
|
|
55
49
|
if (key in exports && exports[key] === _hooks[key]) return;
|