@mui/x-data-grid-generator 8.0.0-alpha.8 → 8.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 +2566 -687
- package/columns/commodities.columns.d.ts +2 -2
- package/columns/commodities.columns.js +63 -56
- package/columns/employees.columns.d.ts +2 -2
- package/columns/employees.columns.js +38 -31
- package/columns/index.d.ts +2 -2
- package/columns/index.js +27 -2
- package/constants/prompts.d.ts +1 -1
- package/constants/prompts.js +7 -1
- package/esm/columns/commodities.columns.d.ts +2 -0
- package/{node → esm}/columns/commodities.columns.js +56 -63
- package/esm/columns/employees.columns.d.ts +2 -0
- package/{node → esm}/columns/employees.columns.js +31 -38
- package/esm/columns/index.d.ts +2 -0
- package/esm/columns/index.js +2 -0
- package/esm/constants/prompts.d.ts +2 -0
- package/{node → esm}/constants/prompts.js +1 -7
- package/esm/hooks/index.d.ts +8 -0
- package/esm/hooks/index.js +6 -0
- package/esm/hooks/serverUtils.d.ts +61 -0
- package/{node → esm}/hooks/serverUtils.js +26 -36
- package/esm/hooks/useBasicDemoData.d.ts +2 -0
- package/esm/hooks/useBasicDemoData.js +5 -0
- package/esm/hooks/useDemoData.d.ts +30 -0
- package/{node → esm}/hooks/useDemoData.js +24 -36
- package/esm/hooks/useMockServer.d.ts +31 -0
- package/{node → esm}/hooks/useMockServer.js +45 -51
- package/esm/hooks/useMovieData.d.ts +21 -0
- package/{node → esm}/hooks/useMovieData.js +4 -13
- package/esm/hooks/useQuery.d.ts +169 -0
- package/esm/hooks/useQuery.js +84 -0
- package/esm/index.d.ts +4 -0
- package/esm/index.js +11 -0
- package/esm/package.json +1 -0
- package/esm/renderer/index.d.ts +16 -0
- package/esm/renderer/index.js +16 -0
- package/esm/renderer/renderAvatar.d.ts +6 -0
- package/esm/renderer/renderAvatar.js +14 -0
- package/esm/renderer/renderCountry.d.ts +4 -0
- package/esm/renderer/renderCountry.js +57 -0
- package/esm/renderer/renderEditCountry.d.ts +4 -0
- package/esm/renderer/renderEditCountry.js +80 -0
- package/esm/renderer/renderEditCurrency.d.ts +3 -0
- package/esm/renderer/renderEditCurrency.js +78 -0
- package/esm/renderer/renderEditIncoterm.d.ts +3 -0
- package/esm/renderer/renderEditIncoterm.js +75 -0
- package/esm/renderer/renderEditProgress.d.ts +3 -0
- package/{node → esm}/renderer/renderEditProgress.js +22 -28
- package/esm/renderer/renderEditRating.d.ts +3 -0
- package/{node → esm}/renderer/renderEditRating.js +11 -19
- package/esm/renderer/renderEditStatus.d.ts +3 -0
- package/esm/renderer/renderEditStatus.js +98 -0
- package/esm/renderer/renderEmail.d.ts +3 -0
- package/esm/renderer/renderEmail.js +11 -0
- package/esm/renderer/renderIncoterm.d.ts +3 -0
- package/esm/renderer/renderIncoterm.js +40 -0
- package/esm/renderer/renderLink.d.ts +10 -0
- package/esm/renderer/renderLink.js +31 -0
- package/esm/renderer/renderPnl.d.ts +3 -0
- package/esm/renderer/renderPnl.js +41 -0
- package/esm/renderer/renderProgress.d.ts +3 -0
- package/{node → esm}/renderer/renderProgress.js +15 -23
- package/esm/renderer/renderRating.d.ts +3 -0
- package/esm/renderer/renderRating.js +38 -0
- package/esm/renderer/renderStatus.d.ts +3 -0
- package/{node → esm}/renderer/renderStatus.js +16 -24
- package/esm/renderer/renderTotalPrice.d.ts +3 -0
- package/{node → esm}/renderer/renderTotalPrice.js +11 -19
- package/esm/services/asyncWorker.d.ts +11 -0
- package/{node → esm}/services/asyncWorker.js +1 -7
- package/esm/services/basic-data-service.d.ts +13 -0
- package/esm/services/basic-data-service.js +37 -0
- package/esm/services/gridColDefGenerator.d.ts +23 -0
- package/esm/services/gridColDefGenerator.js +1 -0
- package/esm/services/index.d.ts +5 -0
- package/esm/services/index.js +5 -0
- package/esm/services/prompt-resolver.d.ts +2 -0
- package/esm/services/prompt-resolver.js +13 -0
- package/esm/services/random-generator.d.ts +49 -0
- package/esm/services/random-generator.js +124 -0
- package/esm/services/real-data-service.d.ts +8 -0
- package/{node → esm}/services/real-data-service.js +3 -10
- package/esm/services/static-data.d.ts +18 -0
- package/{node → esm}/services/static-data.js +12 -18
- package/esm/services/tree-data-generator.d.ts +21 -0
- package/{node → esm}/services/tree-data-generator.js +6 -14
- package/hooks/index.d.ts +7 -7
- package/hooks/index.js +71 -6
- package/hooks/serverUtils.d.ts +33 -33
- package/hooks/serverUtils.js +36 -26
- package/hooks/useBasicDemoData.d.ts +2 -2
- package/hooks/useBasicDemoData.js +13 -5
- package/hooks/useDemoData.d.ts +18 -19
- package/hooks/useDemoData.js +38 -23
- package/hooks/useMockServer.d.ts +25 -23
- package/hooks/useMockServer.js +54 -43
- package/hooks/useMovieData.d.ts +15 -15
- package/hooks/useMovieData.js +13 -4
- package/hooks/useQuery.d.ts +164 -164
- package/hooks/useQuery.js +29 -19
- package/index.d.ts +4 -4
- package/index.js +50 -5
- package/modern/columns/commodities.columns.d.ts +2 -0
- package/modern/columns/employees.columns.d.ts +2 -0
- package/modern/columns/index.d.ts +2 -0
- package/modern/constants/prompts.d.ts +2 -0
- package/modern/hooks/index.d.ts +8 -0
- package/modern/hooks/serverUtils.d.ts +61 -0
- package/modern/hooks/useBasicDemoData.d.ts +2 -0
- package/modern/hooks/useDemoData.d.ts +30 -0
- package/modern/hooks/useDemoData.js +2 -0
- package/modern/hooks/useMockServer.d.ts +31 -0
- package/modern/hooks/useMockServer.js +4 -1
- package/modern/hooks/useMovieData.d.ts +21 -0
- package/modern/hooks/useQuery.d.ts +169 -0
- package/modern/hooks/useQuery.js +2 -0
- package/modern/index.d.ts +4 -0
- package/modern/index.js +1 -1
- package/modern/package.json +1 -0
- package/modern/renderer/index.d.ts +16 -0
- package/modern/renderer/renderAvatar.d.ts +6 -0
- package/modern/renderer/renderCountry.d.ts +4 -0
- package/modern/renderer/renderCountry.js +11 -2
- package/modern/renderer/renderEditCountry.d.ts +4 -0
- package/modern/renderer/renderEditCurrency.d.ts +3 -0
- package/modern/renderer/renderEditIncoterm.d.ts +3 -0
- package/modern/renderer/renderEditProgress.d.ts +3 -0
- package/modern/renderer/renderEditProgress.js +2 -0
- package/modern/renderer/renderEditRating.d.ts +3 -0
- package/modern/renderer/renderEditStatus.d.ts +3 -0
- package/modern/renderer/renderEmail.d.ts +3 -0
- package/modern/renderer/renderIncoterm.d.ts +3 -0
- package/modern/renderer/renderLink.d.ts +10 -0
- package/modern/renderer/renderPnl.d.ts +3 -0
- package/modern/renderer/renderProgress.d.ts +3 -0
- package/modern/renderer/renderRating.d.ts +3 -0
- package/modern/renderer/renderStatus.d.ts +3 -0
- package/modern/renderer/renderTotalPrice.d.ts +3 -0
- package/modern/services/asyncWorker.d.ts +11 -0
- package/modern/services/basic-data-service.d.ts +13 -0
- package/modern/services/gridColDefGenerator.d.ts +23 -0
- package/modern/services/index.d.ts +5 -0
- package/modern/services/prompt-resolver.d.ts +2 -0
- package/modern/services/random-generator.d.ts +49 -0
- package/modern/services/real-data-service.d.ts +8 -0
- package/modern/services/static-data.d.ts +18 -0
- package/modern/services/tree-data-generator.d.ts +21 -0
- package/package.json +54 -7
- package/renderer/index.d.ts +16 -16
- package/renderer/index.js +181 -16
- package/renderer/renderAvatar.d.ts +3 -3
- package/renderer/renderAvatar.js +13 -5
- package/renderer/renderCountry.d.ts +2 -2
- package/renderer/renderCountry.js +27 -10
- package/renderer/renderEditCountry.d.ts +2 -2
- package/renderer/renderEditCountry.js +29 -21
- package/renderer/renderEditCurrency.d.ts +1 -1
- package/renderer/renderEditCurrency.js +28 -20
- package/renderer/renderEditIncoterm.d.ts +1 -1
- package/renderer/renderEditIncoterm.js +25 -17
- package/renderer/renderEditProgress.d.ts +1 -1
- package/renderer/renderEditProgress.js +30 -21
- package/renderer/renderEditRating.d.ts +1 -1
- package/renderer/renderEditRating.js +19 -11
- package/renderer/renderEditStatus.d.ts +1 -1
- package/renderer/renderEditStatus.js +36 -28
- package/renderer/renderEmail.d.ts +1 -1
- package/renderer/renderEmail.js +12 -5
- package/renderer/renderIncoterm.d.ts +1 -1
- package/renderer/renderIncoterm.js +19 -11
- package/renderer/renderLink.d.ts +4 -4
- package/renderer/renderLink.js +16 -8
- package/renderer/renderPnl.d.ts +1 -1
- package/renderer/renderPnl.js +20 -12
- package/renderer/renderProgress.d.ts +1 -1
- package/renderer/renderProgress.js +23 -15
- package/renderer/renderRating.d.ts +1 -1
- package/renderer/renderRating.js +16 -8
- package/renderer/renderStatus.d.ts +1 -1
- package/renderer/renderStatus.js +24 -16
- package/renderer/renderTotalPrice.d.ts +1 -1
- package/renderer/renderTotalPrice.js +19 -11
- package/services/asyncWorker.d.ts +11 -7
- package/services/asyncWorker.js +7 -1
- package/services/basic-data-service.d.ts +6 -6
- package/services/basic-data-service.js +10 -3
- package/services/gridColDefGenerator.d.ts +19 -19
- package/services/gridColDefGenerator.js +5 -1
- package/services/index.d.ts +5 -5
- package/services/index.js +60 -5
- package/services/prompt-resolver.d.ts +1 -1
- package/services/prompt-resolver.js +11 -4
- package/services/random-generator.d.ts +5 -5
- package/services/random-generator.js +92 -46
- package/services/real-data-service.d.ts +5 -5
- package/services/real-data-service.js +10 -3
- package/services/static-data.d.ts +6 -6
- package/services/static-data.js +18 -12
- package/services/tree-data-generator.d.ts +18 -19
- package/services/tree-data-generator.js +14 -6
- package/tsconfig.build.tsbuildinfo +1 -0
- package/columns/package.json +0 -6
- package/hooks/package.json +0 -6
- package/node/columns/index.js +0 -27
- package/node/hooks/index.js +0 -71
- package/node/hooks/useBasicDemoData.js +0 -13
- package/node/hooks/useQuery.js +0 -91
- package/node/index.js +0 -56
- package/node/renderer/index.js +0 -181
- package/node/renderer/renderAvatar.js +0 -22
- package/node/renderer/renderCountry.js +0 -56
- package/node/renderer/renderEditCountry.js +0 -88
- package/node/renderer/renderEditCurrency.js +0 -86
- package/node/renderer/renderEditIncoterm.js +0 -83
- package/node/renderer/renderEditStatus.js +0 -106
- package/node/renderer/renderEmail.js +0 -18
- package/node/renderer/renderIncoterm.js +0 -48
- package/node/renderer/renderLink.js +0 -39
- package/node/renderer/renderPnl.js +0 -49
- package/node/renderer/renderRating.js +0 -46
- package/node/services/basic-data-service.js +0 -44
- package/node/services/gridColDefGenerator.js +0 -5
- package/node/services/index.js +0 -60
- package/node/services/prompt-resolver.js +0 -20
- package/node/services/random-generator.js +0 -170
- package/renderer/package.json +0 -6
- package/services/package.json +0 -6
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.processTreeDataRows = exports.processRowGroupingRows = exports.loadServerRows = exports.disableDelay = exports.DEFAULT_SERVER_OPTIONS = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _xDataGridPremium = require("@mui/x-data-grid-premium");
|
|
10
|
-
var _randomGenerator = require("../services/random-generator");
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { GridLogicOperator, GRID_AGGREGATION_FUNCTIONS } from '@mui/x-data-grid-premium';
|
|
3
|
+
import { randomInt } from "../services/random-generator.js";
|
|
11
4
|
const getAvailableAggregationFunctions = columnType => {
|
|
12
5
|
const availableAggregationFunctions = new Map();
|
|
13
|
-
Object.keys(
|
|
14
|
-
const columnTypes =
|
|
6
|
+
Object.keys(GRID_AGGREGATION_FUNCTIONS).forEach(functionName => {
|
|
7
|
+
const columnTypes = GRID_AGGREGATION_FUNCTIONS[functionName].columnTypes;
|
|
15
8
|
if (!columnTypes || columnTypes.includes(columnType ?? 'string')) {
|
|
16
|
-
availableAggregationFunctions.set(functionName,
|
|
9
|
+
availableAggregationFunctions.set(functionName, GRID_AGGREGATION_FUNCTIONS[functionName]);
|
|
17
10
|
}
|
|
18
11
|
});
|
|
19
12
|
return availableAggregationFunctions;
|
|
20
13
|
};
|
|
21
|
-
const disableDelay =
|
|
22
|
-
const DEFAULT_SERVER_OPTIONS =
|
|
14
|
+
export const disableDelay = typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM;
|
|
15
|
+
export const DEFAULT_SERVER_OPTIONS = {
|
|
23
16
|
minDelay: disableDelay ? 0 : 100,
|
|
24
17
|
maxDelay: disableDelay ? 0 : 300,
|
|
25
18
|
useCursorPagination: true
|
|
@@ -38,7 +31,7 @@ const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
|
|
|
38
31
|
const colDef = columnsWithDefaultColDef.find(({
|
|
39
32
|
field
|
|
40
33
|
}) => field === columnField);
|
|
41
|
-
return (
|
|
34
|
+
return _extends({}, sortItem, {
|
|
42
35
|
valueGetter: simplifiedValueGetter(columnField, colDef),
|
|
43
36
|
sortComparator: colDef.sortComparator
|
|
44
37
|
});
|
|
@@ -127,7 +120,7 @@ const getQuicklyFilteredRows = (rows, filterModel, columnsWithDefaultColDef) =>
|
|
|
127
120
|
if (isRowMatchingQuickFilter) {
|
|
128
121
|
return rows.filter(row => {
|
|
129
122
|
const result = isRowMatchingQuickFilter(row);
|
|
130
|
-
return filterModel.quickFilterLogicOperator ===
|
|
123
|
+
return filterModel.quickFilterLogicOperator === GridLogicOperator.And ? Object.values(result).every(Boolean) : Object.values(result).some(Boolean);
|
|
131
124
|
});
|
|
132
125
|
}
|
|
133
126
|
return rows;
|
|
@@ -161,7 +154,7 @@ const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
|
|
|
161
154
|
value: parsedValue
|
|
162
155
|
}, colDef);
|
|
163
156
|
});
|
|
164
|
-
if (filterModel.logicOperator ===
|
|
157
|
+
if (filterModel.logicOperator === GridLogicOperator.Or) {
|
|
165
158
|
return rows.filter(row => filterModel.items.some((_, index) => {
|
|
166
159
|
const value = valueGetters[index](row);
|
|
167
160
|
return filterFunctions[index] === null ? true : filterFunctions[index](value);
|
|
@@ -206,7 +199,7 @@ const applyAggregation = (aggregationModel, colDefs, rows, groupId = 'root') =>
|
|
|
206
199
|
/**
|
|
207
200
|
* Simulates server data loading
|
|
208
201
|
*/
|
|
209
|
-
const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
202
|
+
export const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
210
203
|
const {
|
|
211
204
|
minDelay = 100,
|
|
212
205
|
maxDelay = 300,
|
|
@@ -215,7 +208,7 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
215
208
|
if (maxDelay < minDelay) {
|
|
216
209
|
throw new Error('serverOptions.minDelay is larger than serverOptions.maxDelay ');
|
|
217
210
|
}
|
|
218
|
-
const delay =
|
|
211
|
+
const delay = randomInt(minDelay, maxDelay);
|
|
219
212
|
const {
|
|
220
213
|
cursor,
|
|
221
214
|
page = 0,
|
|
@@ -252,7 +245,7 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
252
245
|
lastRowIndex = (page + 1) * pageSize - 1;
|
|
253
246
|
}
|
|
254
247
|
const hasNextPage = lastRowIndex < filteredRows.length - 1;
|
|
255
|
-
const response = (
|
|
248
|
+
const response = _extends({
|
|
256
249
|
returnedRows: filteredRows.slice(firstRowIndex, lastRowIndex + 1),
|
|
257
250
|
hasNextPage,
|
|
258
251
|
nextCursor,
|
|
@@ -266,7 +259,6 @@ const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultCol
|
|
|
266
259
|
}, delay); // simulate network latency
|
|
267
260
|
});
|
|
268
261
|
};
|
|
269
|
-
exports.loadServerRows = loadServerRows;
|
|
270
262
|
const findTreeDataRowChildren = (allRows, parentPath, pathKey = 'path', depth = 1, rowQualifier) => {
|
|
271
263
|
const parentDepth = parentPath.length;
|
|
272
264
|
const children = [];
|
|
@@ -344,7 +336,7 @@ const getTreeDataFilteredRows = (rows, filterModel, columnsWithDefaultColDef) =>
|
|
|
344
336
|
/**
|
|
345
337
|
* Simulates server data for tree-data feature
|
|
346
338
|
*/
|
|
347
|
-
const processTreeDataRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
339
|
+
export const processTreeDataRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
348
340
|
const {
|
|
349
341
|
minDelay = 100,
|
|
350
342
|
maxDelay = 300
|
|
@@ -357,7 +349,7 @@ const processTreeDataRows = (rows, queryOptions, serverOptions, columnsWithDefau
|
|
|
357
349
|
if (queryOptions.groupKeys == null) {
|
|
358
350
|
throw new Error('serverOptions.groupKeys must be defined to compute tree data ');
|
|
359
351
|
}
|
|
360
|
-
const delay =
|
|
352
|
+
const delay = randomInt(minDelay, maxDelay);
|
|
361
353
|
|
|
362
354
|
// apply plain filtering
|
|
363
355
|
const filteredRows = getTreeDataFilteredRows(rows, queryOptions.filterModel, columnsWithDefaultColDef);
|
|
@@ -372,11 +364,11 @@ const processTreeDataRows = (rows, queryOptions, serverOptions, columnsWithDefau
|
|
|
372
364
|
const descendantCount = descendants.length;
|
|
373
365
|
if (descendantCount > 0 && queryOptions.aggregationModel) {
|
|
374
366
|
// Parent row, compute aggregation
|
|
375
|
-
return (
|
|
367
|
+
return _extends({}, row, {
|
|
376
368
|
descendantCount
|
|
377
369
|
}, applyAggregation(queryOptions.aggregationModel, columnsWithDefaultColDef, descendants, row.id));
|
|
378
370
|
}
|
|
379
|
-
return (
|
|
371
|
+
return _extends({}, row, {
|
|
380
372
|
descendantCount
|
|
381
373
|
});
|
|
382
374
|
});
|
|
@@ -413,8 +405,7 @@ const processTreeDataRows = (rows, queryOptions, serverOptions, columnsWithDefau
|
|
|
413
405
|
/**
|
|
414
406
|
* Simulates server data for row grouping feature
|
|
415
407
|
*/
|
|
416
|
-
|
|
417
|
-
const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
408
|
+
export const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
|
|
418
409
|
const {
|
|
419
410
|
minDelay = 100,
|
|
420
411
|
maxDelay = 300
|
|
@@ -429,7 +420,7 @@ const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDe
|
|
|
429
420
|
if (queryOptions.groupFields == null) {
|
|
430
421
|
throw new Error('serverOptions.groupFields must be defined to compute row grouping data');
|
|
431
422
|
}
|
|
432
|
-
const delay =
|
|
423
|
+
const delay = randomInt(minDelay, maxDelay);
|
|
433
424
|
const pathsToAutogenerate = new Set();
|
|
434
425
|
let rowsWithPaths = rows;
|
|
435
426
|
const rowsWithMissingGroups = [];
|
|
@@ -443,7 +434,7 @@ const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDe
|
|
|
443
434
|
const value = partialPath[index];
|
|
444
435
|
if (value === undefined) {
|
|
445
436
|
if (index === 0) {
|
|
446
|
-
rowsWithMissingGroups.push((
|
|
437
|
+
rowsWithMissingGroups.push(_extends({}, row, {
|
|
447
438
|
group: false
|
|
448
439
|
}));
|
|
449
440
|
}
|
|
@@ -455,13 +446,13 @@ const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDe
|
|
|
455
446
|
pathsToAutogenerate.add(strigifiedPath);
|
|
456
447
|
}
|
|
457
448
|
}
|
|
458
|
-
acc.push((
|
|
449
|
+
acc.push(_extends({}, row, {
|
|
459
450
|
path: [...partialPath, '']
|
|
460
451
|
}));
|
|
461
452
|
return acc;
|
|
462
453
|
}, []);
|
|
463
454
|
} else {
|
|
464
|
-
rowsWithPaths = rows.map(row => (
|
|
455
|
+
rowsWithPaths = rows.map(row => _extends({}, row, {
|
|
465
456
|
path: ['']
|
|
466
457
|
}));
|
|
467
458
|
}
|
|
@@ -496,11 +487,11 @@ const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDe
|
|
|
496
487
|
const descendantCount = descendants.length;
|
|
497
488
|
if (descendantCount > 0 && queryOptions.aggregationModel) {
|
|
498
489
|
// Parent row, compute aggregation
|
|
499
|
-
return (
|
|
490
|
+
return _extends({}, row, {
|
|
500
491
|
descendantCount
|
|
501
492
|
}, applyAggregation(queryOptions.aggregationModel, columnsWithDefaultColDef, descendants, row.id));
|
|
502
493
|
}
|
|
503
|
-
return (
|
|
494
|
+
return _extends({}, row, {
|
|
504
495
|
descendantCount
|
|
505
496
|
});
|
|
506
497
|
});
|
|
@@ -533,5 +524,4 @@ const processRowGroupingRows = (rows, queryOptions, serverOptions, columnsWithDe
|
|
|
533
524
|
});
|
|
534
525
|
}, delay); // simulate network latency
|
|
535
526
|
});
|
|
536
|
-
};
|
|
537
|
-
exports.processRowGroupingRows = processRowGroupingRows;
|
|
527
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
|
|
2
|
+
import { GridDemoData } from "../services/real-data-service.js";
|
|
3
|
+
import { GridColDefGenerator } from "../services/gridColDefGenerator.js";
|
|
4
|
+
import { AddPathToDemoDataOptions, DemoTreeDataValue } from "../services/tree-data-generator.js";
|
|
5
|
+
export type DemoDataReturnType = {
|
|
6
|
+
data: DemoTreeDataValue;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
setRowLength: (count: number) => void;
|
|
9
|
+
loadNewData: () => void;
|
|
10
|
+
};
|
|
11
|
+
type DataSet = 'Commodity' | 'Employee';
|
|
12
|
+
export interface UseDemoDataOptions {
|
|
13
|
+
dataSet: DataSet;
|
|
14
|
+
rowLength: number;
|
|
15
|
+
maxColumns?: number;
|
|
16
|
+
visibleFields?: string[];
|
|
17
|
+
editable?: boolean;
|
|
18
|
+
treeData?: AddPathToDemoDataOptions;
|
|
19
|
+
}
|
|
20
|
+
export declare function extrapolateSeed(rowLength: number, data: GridDemoData): Promise<GridDemoData>;
|
|
21
|
+
export declare const deepFreeze: <T>(object: T) => T;
|
|
22
|
+
export interface ColumnsOptions extends Pick<UseDemoDataOptions, 'dataSet' | 'editable' | 'maxColumns' | 'visibleFields'> {}
|
|
23
|
+
export declare const getColumnsFromOptions: (options: ColumnsOptions) => GridColDefGenerator[];
|
|
24
|
+
export declare const getInitialState: (options: UseDemoDataOptions, columns: GridColDefGenerator[]) => {
|
|
25
|
+
columns: {
|
|
26
|
+
columnVisibilityModel: GridColumnVisibilityModel;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export declare const useDemoData: (options: UseDemoDataOptions) => DemoDataReturnType;
|
|
30
|
+
export {};
|
|
@@ -1,28 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var React = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _lruCache = require("lru-cache");
|
|
14
|
-
var _realDataService = require("../services/real-data-service");
|
|
15
|
-
var _commodities = require("../columns/commodities.columns");
|
|
16
|
-
var _employees = require("../columns/employees.columns");
|
|
17
|
-
var _asyncWorker = _interopRequireDefault(require("../services/asyncWorker"));
|
|
18
|
-
var _treeDataGenerator = require("../services/tree-data-generator");
|
|
19
|
-
const dataCache = new _lruCache.LRUCache({
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { LRUCache } from 'lru-cache';
|
|
6
|
+
import { getRealGridData } from "../services/real-data-service.js";
|
|
7
|
+
import { getCommodityColumns } from "../columns/commodities.columns.js";
|
|
8
|
+
import { getEmployeeColumns } from "../columns/employees.columns.js";
|
|
9
|
+
import asyncWorker from "../services/asyncWorker.js";
|
|
10
|
+
import { addTreeDataOptionsToDemoData } from "../services/tree-data-generator.js";
|
|
11
|
+
const dataCache = new LRUCache({
|
|
20
12
|
max: 10,
|
|
21
13
|
ttl: 60 * 5 * 1e3 // 5 minutes
|
|
22
14
|
});
|
|
23
15
|
// Generate fake data from a seed.
|
|
24
16
|
// It's about x20 faster than getRealData.
|
|
25
|
-
async function extrapolateSeed(rowLength, data) {
|
|
17
|
+
export async function extrapolateSeed(rowLength, data) {
|
|
26
18
|
return new Promise(resolve => {
|
|
27
19
|
const seed = data.rows;
|
|
28
20
|
const rows = data.rows.slice();
|
|
@@ -43,16 +35,16 @@ async function extrapolateSeed(rowLength, data) {
|
|
|
43
35
|
rows.push(row);
|
|
44
36
|
tasks.current -= 1;
|
|
45
37
|
}
|
|
46
|
-
(
|
|
38
|
+
asyncWorker({
|
|
47
39
|
work,
|
|
48
|
-
done: () => resolve((
|
|
40
|
+
done: () => resolve(_extends({}, data, {
|
|
49
41
|
rows
|
|
50
42
|
})),
|
|
51
43
|
tasks
|
|
52
44
|
});
|
|
53
45
|
});
|
|
54
46
|
}
|
|
55
|
-
const deepFreeze = object => {
|
|
47
|
+
export const deepFreeze = object => {
|
|
56
48
|
// Retrieve the property names defined on object
|
|
57
49
|
const propNames = Object.getOwnPropertyNames(object);
|
|
58
50
|
|
|
@@ -66,11 +58,10 @@ const deepFreeze = object => {
|
|
|
66
58
|
}
|
|
67
59
|
return Object.freeze(object);
|
|
68
60
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
let columns = options.dataSet === 'Commodity' ? (0, _commodities.getCommodityColumns)(options.editable) : (0, _employees.getEmployeeColumns)();
|
|
61
|
+
export const getColumnsFromOptions = options => {
|
|
62
|
+
let columns = options.dataSet === 'Commodity' ? getCommodityColumns(options.editable) : getEmployeeColumns();
|
|
72
63
|
if (options.visibleFields) {
|
|
73
|
-
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (
|
|
64
|
+
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : _extends({}, col, {
|
|
74
65
|
hide: true
|
|
75
66
|
}));
|
|
76
67
|
}
|
|
@@ -79,8 +70,7 @@ const getColumnsFromOptions = options => {
|
|
|
79
70
|
}
|
|
80
71
|
return columns;
|
|
81
72
|
};
|
|
82
|
-
|
|
83
|
-
const getInitialState = (options, columns) => {
|
|
73
|
+
export const getInitialState = (options, columns) => {
|
|
84
74
|
const columnVisibilityModel = {};
|
|
85
75
|
columns.forEach(col => {
|
|
86
76
|
if (col.hide) {
|
|
@@ -97,8 +87,7 @@ const getInitialState = (options, columns) => {
|
|
|
97
87
|
}
|
|
98
88
|
};
|
|
99
89
|
};
|
|
100
|
-
|
|
101
|
-
const useDemoData = options => {
|
|
90
|
+
export const useDemoData = options => {
|
|
102
91
|
const [rowLength, setRowLength] = React.useState(options.rowLength);
|
|
103
92
|
const [index, setIndex] = React.useState(0);
|
|
104
93
|
const [loading, setLoading] = React.useState(true);
|
|
@@ -111,7 +100,7 @@ const useDemoData = options => {
|
|
|
111
100
|
});
|
|
112
101
|
}, [options.dataSet, options.editable, options.maxColumns, options.visibleFields]);
|
|
113
102
|
const [data, setData] = React.useState(() => {
|
|
114
|
-
return
|
|
103
|
+
return addTreeDataOptionsToDemoData({
|
|
115
104
|
columns,
|
|
116
105
|
rows: [],
|
|
117
106
|
initialState: getInitialState(options, columns)
|
|
@@ -133,15 +122,15 @@ const useDemoData = options => {
|
|
|
133
122
|
setLoading(true);
|
|
134
123
|
let newData;
|
|
135
124
|
if (rowLength > 1000) {
|
|
136
|
-
newData = await
|
|
125
|
+
newData = await getRealGridData(1000, columns);
|
|
137
126
|
newData = await extrapolateSeed(rowLength, newData);
|
|
138
127
|
} else {
|
|
139
|
-
newData = await
|
|
128
|
+
newData = await getRealGridData(rowLength, columns);
|
|
140
129
|
}
|
|
141
130
|
if (!active) {
|
|
142
131
|
return;
|
|
143
132
|
}
|
|
144
|
-
newData =
|
|
133
|
+
newData = addTreeDataOptionsToDemoData(newData, {
|
|
145
134
|
maxDepth: options.treeData?.maxDepth,
|
|
146
135
|
groupingField: options.treeData?.groupingField,
|
|
147
136
|
averageChildren: options.treeData?.averageChildren
|
|
@@ -167,5 +156,4 @@ const useDemoData = options => {
|
|
|
167
156
|
setIndex(oldIndex => oldIndex + 1);
|
|
168
157
|
}
|
|
169
158
|
};
|
|
170
|
-
};
|
|
171
|
-
exports.useDemoData = useDemoData;
|
|
159
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { GridGetRowsResponse } from '@mui/x-data-grid';
|
|
2
|
+
import { type GridRowModel, type GridColDef, type GridInitialState } from '@mui/x-data-grid-premium';
|
|
3
|
+
import { AddPathToDemoDataOptions } from "../services/tree-data-generator.js";
|
|
4
|
+
import type { ServerOptions } from './serverUtils';
|
|
5
|
+
export declare const BASE_URL = "https://mui.com/x/api/data-grid";
|
|
6
|
+
type UseMockServerResponse<T> = {
|
|
7
|
+
columns: GridColDef[];
|
|
8
|
+
initialState: GridInitialState;
|
|
9
|
+
getGroupKey?: (row: GridRowModel) => string;
|
|
10
|
+
getChildrenCount?: (row: GridRowModel) => number;
|
|
11
|
+
fetchRows: (url: string) => Promise<T>;
|
|
12
|
+
loadNewData: () => void;
|
|
13
|
+
isReady: boolean;
|
|
14
|
+
};
|
|
15
|
+
type DataSet = 'Commodity' | 'Employee' | 'Movies';
|
|
16
|
+
interface UseMockServerOptions {
|
|
17
|
+
dataSet: DataSet;
|
|
18
|
+
/**
|
|
19
|
+
* Has no effect when DataSet='Movies'
|
|
20
|
+
*/
|
|
21
|
+
rowLength: number;
|
|
22
|
+
maxColumns?: number;
|
|
23
|
+
visibleFields?: string[];
|
|
24
|
+
editable?: boolean;
|
|
25
|
+
treeData?: AddPathToDemoDataOptions;
|
|
26
|
+
rowGrouping?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare const useMockServer: <T extends GridGetRowsResponse>(dataSetOptions?: Partial<UseMockServerOptions>, serverOptions?: ServerOptions & {
|
|
29
|
+
verbose?: boolean;
|
|
30
|
+
}, shouldRequestsFail?: boolean) => UseMockServerResponse<T>;
|
|
31
|
+
export {};
|
|
@@ -1,50 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _realDataService = require("../services/real-data-service");
|
|
17
|
-
var _treeDataGenerator = require("../services/tree-data-generator");
|
|
18
|
-
var _serverUtils = require("./serverUtils");
|
|
19
|
-
var _services = require("../services");
|
|
20
|
-
var _useMovieData = require("./useMovieData");
|
|
21
|
-
const dataCache = new _lruCache.LRUCache({
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { LRUCache } from 'lru-cache';
|
|
6
|
+
import { getGridDefaultColumnTypes } from '@mui/x-data-grid-premium';
|
|
7
|
+
import { extrapolateSeed, deepFreeze } from "./useDemoData.js";
|
|
8
|
+
import { getCommodityColumns } from "../columns/commodities.columns.js";
|
|
9
|
+
import { getEmployeeColumns } from "../columns/employees.columns.js";
|
|
10
|
+
import { getRealGridData } from "../services/real-data-service.js";
|
|
11
|
+
import { addTreeDataOptionsToDemoData } from "../services/tree-data-generator.js";
|
|
12
|
+
import { loadServerRows, processTreeDataRows, processRowGroupingRows, DEFAULT_SERVER_OPTIONS } from "./serverUtils.js";
|
|
13
|
+
import { randomInt } from "../services/index.js";
|
|
14
|
+
import { getMovieRows, getMovieColumns } from "./useMovieData.js";
|
|
15
|
+
const dataCache = new LRUCache({
|
|
22
16
|
max: 10,
|
|
23
17
|
ttl: 60 * 5 * 1e3 // 5 minutes
|
|
24
18
|
});
|
|
25
|
-
const BASE_URL =
|
|
19
|
+
export const BASE_URL = 'https://mui.com/x/api/data-grid';
|
|
26
20
|
const GET_DEFAULT_DATASET_OPTIONS = isRowGrouping => ({
|
|
27
21
|
dataSet: isRowGrouping ? 'Movies' : 'Commodity',
|
|
28
|
-
rowLength: isRowGrouping ?
|
|
22
|
+
rowLength: isRowGrouping ? getMovieRows().length : 100,
|
|
29
23
|
maxColumns: 6
|
|
30
24
|
});
|
|
31
25
|
const getColumnsFromOptions = options => {
|
|
32
26
|
let columns;
|
|
33
27
|
switch (options.dataSet) {
|
|
34
28
|
case 'Commodity':
|
|
35
|
-
columns =
|
|
29
|
+
columns = getCommodityColumns(options.editable);
|
|
36
30
|
break;
|
|
37
31
|
case 'Employee':
|
|
38
|
-
columns =
|
|
32
|
+
columns = getEmployeeColumns();
|
|
39
33
|
break;
|
|
40
34
|
case 'Movies':
|
|
41
|
-
columns =
|
|
35
|
+
columns = getMovieColumns();
|
|
42
36
|
break;
|
|
43
37
|
default:
|
|
44
38
|
throw new Error('Unknown dataset');
|
|
45
39
|
}
|
|
46
40
|
if (options.visibleFields) {
|
|
47
|
-
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (
|
|
41
|
+
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : _extends({}, col, {
|
|
48
42
|
hide: true
|
|
49
43
|
}));
|
|
50
44
|
}
|
|
@@ -82,7 +76,7 @@ const getInitialState = (columns, groupingField) => {
|
|
|
82
76
|
}
|
|
83
77
|
};
|
|
84
78
|
};
|
|
85
|
-
const defaultColDef =
|
|
79
|
+
const defaultColDef = getGridDefaultColumnTypes();
|
|
86
80
|
function sendEmptyResponse() {
|
|
87
81
|
return new Promise(resolve => {
|
|
88
82
|
resolve({
|
|
@@ -91,7 +85,7 @@ function sendEmptyResponse() {
|
|
|
91
85
|
});
|
|
92
86
|
});
|
|
93
87
|
}
|
|
94
|
-
const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
88
|
+
export const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
95
89
|
const [data, setData] = React.useState();
|
|
96
90
|
const [index, setIndex] = React.useState(0);
|
|
97
91
|
const shouldRequestsFailRef = React.useRef(shouldRequestsFail ?? false);
|
|
@@ -101,7 +95,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
101
95
|
}
|
|
102
96
|
}, [shouldRequestsFail]);
|
|
103
97
|
const isRowGrouping = dataSetOptions?.rowGrouping ?? false;
|
|
104
|
-
const options = (
|
|
98
|
+
const options = _extends({}, GET_DEFAULT_DATASET_OPTIONS(isRowGrouping), dataSetOptions);
|
|
105
99
|
const isTreeData = options.treeData?.groupingField != null;
|
|
106
100
|
const columns = React.useMemo(() => {
|
|
107
101
|
return getColumnsFromOptions({
|
|
@@ -112,7 +106,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
112
106
|
});
|
|
113
107
|
}, [options.dataSet, options.editable, options.maxColumns, options.visibleFields]);
|
|
114
108
|
const initialState = React.useMemo(() => getInitialState(columns, options.treeData?.groupingField), [columns, options.treeData?.groupingField]);
|
|
115
|
-
const columnsWithDefaultColDef = React.useMemo(() => columns.map(column => (
|
|
109
|
+
const columnsWithDefaultColDef = React.useMemo(() => columns.map(column => _extends({}, defaultColDef[column.type || 'string'], column)), [columns]);
|
|
116
110
|
const getGroupKey = React.useMemo(() => {
|
|
117
111
|
if (isTreeData) {
|
|
118
112
|
return row => row[options.treeData.groupingField];
|
|
@@ -138,7 +132,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
138
132
|
}
|
|
139
133
|
if (options.dataSet === 'Movies') {
|
|
140
134
|
const rowsData = {
|
|
141
|
-
rows:
|
|
135
|
+
rows: getMovieRows(),
|
|
142
136
|
columns
|
|
143
137
|
};
|
|
144
138
|
setData(rowsData);
|
|
@@ -150,23 +144,23 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
150
144
|
let rowData;
|
|
151
145
|
const rowLength = options.rowLength;
|
|
152
146
|
if (rowLength > 1000) {
|
|
153
|
-
rowData = await
|
|
154
|
-
rowData = await
|
|
147
|
+
rowData = await getRealGridData(1000, columns);
|
|
148
|
+
rowData = await extrapolateSeed(rowLength, rowData);
|
|
155
149
|
} else {
|
|
156
|
-
rowData = await
|
|
150
|
+
rowData = await getRealGridData(rowLength, columns);
|
|
157
151
|
}
|
|
158
152
|
if (!active) {
|
|
159
153
|
return;
|
|
160
154
|
}
|
|
161
155
|
if (isTreeData) {
|
|
162
|
-
rowData =
|
|
156
|
+
rowData = addTreeDataOptionsToDemoData(rowData, {
|
|
163
157
|
maxDepth: options.treeData?.maxDepth,
|
|
164
158
|
groupingField: options.treeData?.groupingField,
|
|
165
159
|
averageChildren: options.treeData?.averageChildren
|
|
166
160
|
});
|
|
167
161
|
}
|
|
168
162
|
if (process.env.NODE_ENV !== 'production') {
|
|
169
|
-
|
|
163
|
+
deepFreeze(rowData);
|
|
170
164
|
}
|
|
171
165
|
dataCache.set(cacheKey, rowData);
|
|
172
166
|
setData(rowData);
|
|
@@ -188,16 +182,16 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
188
182
|
}
|
|
189
183
|
let getRowsResponse;
|
|
190
184
|
const serverOptionsWithDefault = {
|
|
191
|
-
minDelay: serverOptions?.minDelay ??
|
|
192
|
-
maxDelay: serverOptions?.maxDelay ??
|
|
193
|
-
useCursorPagination: serverOptions?.useCursorPagination ??
|
|
185
|
+
minDelay: serverOptions?.minDelay ?? DEFAULT_SERVER_OPTIONS.minDelay,
|
|
186
|
+
maxDelay: serverOptions?.maxDelay ?? DEFAULT_SERVER_OPTIONS.maxDelay,
|
|
187
|
+
useCursorPagination: serverOptions?.useCursorPagination ?? DEFAULT_SERVER_OPTIONS.useCursorPagination
|
|
194
188
|
};
|
|
195
189
|
if (shouldRequestsFailRef.current) {
|
|
196
190
|
const {
|
|
197
191
|
minDelay,
|
|
198
192
|
maxDelay
|
|
199
193
|
} = serverOptionsWithDefault;
|
|
200
|
-
const delay =
|
|
194
|
+
const delay = randomInt(minDelay, maxDelay);
|
|
201
195
|
return new Promise((_, reject) => {
|
|
202
196
|
if (verbose) {
|
|
203
197
|
print('MUI X: DATASOURCE REQUEST FAILURE', params);
|
|
@@ -210,9 +204,9 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
210
204
|
rows,
|
|
211
205
|
rootRowCount,
|
|
212
206
|
aggregateRow
|
|
213
|
-
} = await
|
|
214
|
-
getRowsResponse = (
|
|
215
|
-
rows: rows.slice().map(row => (
|
|
207
|
+
} = await processTreeDataRows(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
208
|
+
getRowsResponse = _extends({
|
|
209
|
+
rows: rows.slice().map(row => _extends({}, row, {
|
|
216
210
|
path: undefined
|
|
217
211
|
})),
|
|
218
212
|
rowCount: rootRowCount
|
|
@@ -224,9 +218,9 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
224
218
|
rows,
|
|
225
219
|
rootRowCount,
|
|
226
220
|
aggregateRow
|
|
227
|
-
} = await
|
|
228
|
-
getRowsResponse = (
|
|
229
|
-
rows: rows.slice().map(row => (
|
|
221
|
+
} = await processRowGroupingRows(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
222
|
+
getRowsResponse = _extends({
|
|
223
|
+
rows: rows.slice().map(row => _extends({}, row, {
|
|
230
224
|
path: undefined
|
|
231
225
|
})),
|
|
232
226
|
rowCount: rootRowCount
|
|
@@ -239,8 +233,8 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
239
233
|
nextCursor,
|
|
240
234
|
totalRowCount,
|
|
241
235
|
aggregateRow
|
|
242
|
-
} = await
|
|
243
|
-
getRowsResponse = (
|
|
236
|
+
} = await loadServerRows(data?.rows ?? [], _extends({}, params, params.paginationModel), serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
237
|
+
getRowsResponse = _extends({
|
|
244
238
|
rows: returnedRows,
|
|
245
239
|
rowCount: totalRowCount,
|
|
246
240
|
pageInfo: {
|
|
@@ -265,7 +259,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
265
259
|
fetchRows,
|
|
266
260
|
loadNewData: () => {
|
|
267
261
|
setIndex(oldIndex => oldIndex + 1);
|
|
268
|
-
}
|
|
262
|
+
},
|
|
263
|
+
isReady: Boolean(data?.rows?.length)
|
|
269
264
|
};
|
|
270
|
-
};
|
|
271
|
-
exports.useMockServer = useMockServer;
|
|
265
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GridColDef, GridRowModel } from '@mui/x-data-grid-premium';
|
|
2
|
+
export type Movie = {
|
|
3
|
+
id: number;
|
|
4
|
+
title: string;
|
|
5
|
+
gross: number;
|
|
6
|
+
budget: number;
|
|
7
|
+
director: string;
|
|
8
|
+
company: string;
|
|
9
|
+
year: number;
|
|
10
|
+
imdbRating: number;
|
|
11
|
+
composer: {
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
14
|
+
cinematicUniverse?: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const getMovieColumns: () => GridColDef[];
|
|
17
|
+
export declare const getMovieRows: () => GridRowModel<Movie>[];
|
|
18
|
+
export declare const useMovieData: () => {
|
|
19
|
+
rows: Movie[];
|
|
20
|
+
columns: GridColDef[];
|
|
21
|
+
};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useMovieData = exports.getMovieRows = exports.getMovieColumns = void 0;
|
|
7
1
|
const currencyFormatter = new Intl.NumberFormat('en-US', {
|
|
8
2
|
style: 'currency',
|
|
9
3
|
currency: 'USD',
|
|
@@ -496,14 +490,11 @@ const ROWS = [{
|
|
|
496
490
|
name: 'Randy Newman'
|
|
497
491
|
}
|
|
498
492
|
}];
|
|
499
|
-
const getMovieColumns = () => COLUMNS;
|
|
500
|
-
|
|
501
|
-
const
|
|
502
|
-
exports.getMovieRows = getMovieRows;
|
|
503
|
-
const useMovieData = () => {
|
|
493
|
+
export const getMovieColumns = () => COLUMNS;
|
|
494
|
+
export const getMovieRows = () => ROWS;
|
|
495
|
+
export const useMovieData = () => {
|
|
504
496
|
return {
|
|
505
497
|
rows: ROWS,
|
|
506
498
|
columns: COLUMNS
|
|
507
499
|
};
|
|
508
|
-
};
|
|
509
|
-
exports.useMovieData = useMovieData;
|
|
500
|
+
};
|