@mui/x-data-grid-generator 8.0.0-alpha.9 → 8.0.0-beta.1
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 +1523 -0
- 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 +23 -36
- package/esm/hooks/useMockServer.d.ts +31 -0
- package/{node → esm}/hooks/useMockServer.js +44 -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 +21 -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 +36 -23
- package/hooks/useMockServer.d.ts +25 -23
- package/hooks/useMockServer.js +52 -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 +27 -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/useMockServer.d.ts +31 -0
- package/modern/hooks/useMockServer.js +2 -1
- package/modern/hooks/useMovieData.d.ts +21 -0
- package/modern/hooks/useQuery.d.ts +169 -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/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 +28 -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 -92
- 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,29 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
'use client';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var React = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _lruCache = require("lru-cache");
|
|
15
|
-
var _realDataService = require("../services/real-data-service");
|
|
16
|
-
var _commodities = require("../columns/commodities.columns");
|
|
17
|
-
var _employees = require("../columns/employees.columns");
|
|
18
|
-
var _asyncWorker = _interopRequireDefault(require("../services/asyncWorker"));
|
|
19
|
-
var _treeDataGenerator = require("../services/tree-data-generator");
|
|
20
|
-
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({
|
|
21
12
|
max: 10,
|
|
22
13
|
ttl: 60 * 5 * 1e3 // 5 minutes
|
|
23
14
|
});
|
|
24
15
|
// Generate fake data from a seed.
|
|
25
16
|
// It's about x20 faster than getRealData.
|
|
26
|
-
async function extrapolateSeed(rowLength, data) {
|
|
17
|
+
export async function extrapolateSeed(rowLength, data) {
|
|
27
18
|
return new Promise(resolve => {
|
|
28
19
|
const seed = data.rows;
|
|
29
20
|
const rows = data.rows.slice();
|
|
@@ -44,16 +35,16 @@ async function extrapolateSeed(rowLength, data) {
|
|
|
44
35
|
rows.push(row);
|
|
45
36
|
tasks.current -= 1;
|
|
46
37
|
}
|
|
47
|
-
(
|
|
38
|
+
asyncWorker({
|
|
48
39
|
work,
|
|
49
|
-
done: () => resolve((
|
|
40
|
+
done: () => resolve(_extends({}, data, {
|
|
50
41
|
rows
|
|
51
42
|
})),
|
|
52
43
|
tasks
|
|
53
44
|
});
|
|
54
45
|
});
|
|
55
46
|
}
|
|
56
|
-
const deepFreeze = object => {
|
|
47
|
+
export const deepFreeze = object => {
|
|
57
48
|
// Retrieve the property names defined on object
|
|
58
49
|
const propNames = Object.getOwnPropertyNames(object);
|
|
59
50
|
|
|
@@ -67,11 +58,10 @@ const deepFreeze = object => {
|
|
|
67
58
|
}
|
|
68
59
|
return Object.freeze(object);
|
|
69
60
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
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();
|
|
73
63
|
if (options.visibleFields) {
|
|
74
|
-
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (
|
|
64
|
+
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : _extends({}, col, {
|
|
75
65
|
hide: true
|
|
76
66
|
}));
|
|
77
67
|
}
|
|
@@ -80,8 +70,7 @@ const getColumnsFromOptions = options => {
|
|
|
80
70
|
}
|
|
81
71
|
return columns;
|
|
82
72
|
};
|
|
83
|
-
|
|
84
|
-
const getInitialState = (options, columns) => {
|
|
73
|
+
export const getInitialState = (options, columns) => {
|
|
85
74
|
const columnVisibilityModel = {};
|
|
86
75
|
columns.forEach(col => {
|
|
87
76
|
if (col.hide) {
|
|
@@ -98,8 +87,7 @@ const getInitialState = (options, columns) => {
|
|
|
98
87
|
}
|
|
99
88
|
};
|
|
100
89
|
};
|
|
101
|
-
|
|
102
|
-
const useDemoData = options => {
|
|
90
|
+
export const useDemoData = options => {
|
|
103
91
|
const [rowLength, setRowLength] = React.useState(options.rowLength);
|
|
104
92
|
const [index, setIndex] = React.useState(0);
|
|
105
93
|
const [loading, setLoading] = React.useState(true);
|
|
@@ -112,7 +100,7 @@ const useDemoData = options => {
|
|
|
112
100
|
});
|
|
113
101
|
}, [options.dataSet, options.editable, options.maxColumns, options.visibleFields]);
|
|
114
102
|
const [data, setData] = React.useState(() => {
|
|
115
|
-
return
|
|
103
|
+
return addTreeDataOptionsToDemoData({
|
|
116
104
|
columns,
|
|
117
105
|
rows: [],
|
|
118
106
|
initialState: getInitialState(options, columns)
|
|
@@ -134,15 +122,15 @@ const useDemoData = options => {
|
|
|
134
122
|
setLoading(true);
|
|
135
123
|
let newData;
|
|
136
124
|
if (rowLength > 1000) {
|
|
137
|
-
newData = await
|
|
125
|
+
newData = await getRealGridData(1000, columns);
|
|
138
126
|
newData = await extrapolateSeed(rowLength, newData);
|
|
139
127
|
} else {
|
|
140
|
-
newData = await
|
|
128
|
+
newData = await getRealGridData(rowLength, columns);
|
|
141
129
|
}
|
|
142
130
|
if (!active) {
|
|
143
131
|
return;
|
|
144
132
|
}
|
|
145
|
-
newData =
|
|
133
|
+
newData = addTreeDataOptionsToDemoData(newData, {
|
|
146
134
|
maxDepth: options.treeData?.maxDepth,
|
|
147
135
|
groupingField: options.treeData?.groupingField,
|
|
148
136
|
averageChildren: options.treeData?.averageChildren
|
|
@@ -168,5 +156,4 @@ const useDemoData = options => {
|
|
|
168
156
|
setIndex(oldIndex => oldIndex + 1);
|
|
169
157
|
}
|
|
170
158
|
};
|
|
171
|
-
};
|
|
172
|
-
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,51 +1,44 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
'use client';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var _realDataService = require("../services/real-data-service");
|
|
18
|
-
var _treeDataGenerator = require("../services/tree-data-generator");
|
|
19
|
-
var _serverUtils = require("./serverUtils");
|
|
20
|
-
var _services = require("../services");
|
|
21
|
-
var _useMovieData = require("./useMovieData");
|
|
22
|
-
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({
|
|
23
16
|
max: 10,
|
|
24
17
|
ttl: 60 * 5 * 1e3 // 5 minutes
|
|
25
18
|
});
|
|
26
|
-
const BASE_URL =
|
|
19
|
+
export const BASE_URL = 'https://mui.com/x/api/data-grid';
|
|
27
20
|
const GET_DEFAULT_DATASET_OPTIONS = isRowGrouping => ({
|
|
28
21
|
dataSet: isRowGrouping ? 'Movies' : 'Commodity',
|
|
29
|
-
rowLength: isRowGrouping ?
|
|
22
|
+
rowLength: isRowGrouping ? getMovieRows().length : 100,
|
|
30
23
|
maxColumns: 6
|
|
31
24
|
});
|
|
32
25
|
const getColumnsFromOptions = options => {
|
|
33
26
|
let columns;
|
|
34
27
|
switch (options.dataSet) {
|
|
35
28
|
case 'Commodity':
|
|
36
|
-
columns =
|
|
29
|
+
columns = getCommodityColumns(options.editable);
|
|
37
30
|
break;
|
|
38
31
|
case 'Employee':
|
|
39
|
-
columns =
|
|
32
|
+
columns = getEmployeeColumns();
|
|
40
33
|
break;
|
|
41
34
|
case 'Movies':
|
|
42
|
-
columns =
|
|
35
|
+
columns = getMovieColumns();
|
|
43
36
|
break;
|
|
44
37
|
default:
|
|
45
38
|
throw new Error('Unknown dataset');
|
|
46
39
|
}
|
|
47
40
|
if (options.visibleFields) {
|
|
48
|
-
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (
|
|
41
|
+
columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : _extends({}, col, {
|
|
49
42
|
hide: true
|
|
50
43
|
}));
|
|
51
44
|
}
|
|
@@ -83,7 +76,7 @@ const getInitialState = (columns, groupingField) => {
|
|
|
83
76
|
}
|
|
84
77
|
};
|
|
85
78
|
};
|
|
86
|
-
const defaultColDef =
|
|
79
|
+
const defaultColDef = getGridDefaultColumnTypes();
|
|
87
80
|
function sendEmptyResponse() {
|
|
88
81
|
return new Promise(resolve => {
|
|
89
82
|
resolve({
|
|
@@ -92,7 +85,7 @@ function sendEmptyResponse() {
|
|
|
92
85
|
});
|
|
93
86
|
});
|
|
94
87
|
}
|
|
95
|
-
const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
88
|
+
export const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
96
89
|
const [data, setData] = React.useState();
|
|
97
90
|
const [index, setIndex] = React.useState(0);
|
|
98
91
|
const shouldRequestsFailRef = React.useRef(shouldRequestsFail ?? false);
|
|
@@ -102,7 +95,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
102
95
|
}
|
|
103
96
|
}, [shouldRequestsFail]);
|
|
104
97
|
const isRowGrouping = dataSetOptions?.rowGrouping ?? false;
|
|
105
|
-
const options = (
|
|
98
|
+
const options = _extends({}, GET_DEFAULT_DATASET_OPTIONS(isRowGrouping), dataSetOptions);
|
|
106
99
|
const isTreeData = options.treeData?.groupingField != null;
|
|
107
100
|
const columns = React.useMemo(() => {
|
|
108
101
|
return getColumnsFromOptions({
|
|
@@ -113,7 +106,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
113
106
|
});
|
|
114
107
|
}, [options.dataSet, options.editable, options.maxColumns, options.visibleFields]);
|
|
115
108
|
const initialState = React.useMemo(() => getInitialState(columns, options.treeData?.groupingField), [columns, options.treeData?.groupingField]);
|
|
116
|
-
const columnsWithDefaultColDef = React.useMemo(() => columns.map(column => (
|
|
109
|
+
const columnsWithDefaultColDef = React.useMemo(() => columns.map(column => _extends({}, defaultColDef[column.type || 'string'], column)), [columns]);
|
|
117
110
|
const getGroupKey = React.useMemo(() => {
|
|
118
111
|
if (isTreeData) {
|
|
119
112
|
return row => row[options.treeData.groupingField];
|
|
@@ -139,7 +132,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
139
132
|
}
|
|
140
133
|
if (options.dataSet === 'Movies') {
|
|
141
134
|
const rowsData = {
|
|
142
|
-
rows:
|
|
135
|
+
rows: getMovieRows(),
|
|
143
136
|
columns
|
|
144
137
|
};
|
|
145
138
|
setData(rowsData);
|
|
@@ -151,23 +144,23 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
151
144
|
let rowData;
|
|
152
145
|
const rowLength = options.rowLength;
|
|
153
146
|
if (rowLength > 1000) {
|
|
154
|
-
rowData = await
|
|
155
|
-
rowData = await
|
|
147
|
+
rowData = await getRealGridData(1000, columns);
|
|
148
|
+
rowData = await extrapolateSeed(rowLength, rowData);
|
|
156
149
|
} else {
|
|
157
|
-
rowData = await
|
|
150
|
+
rowData = await getRealGridData(rowLength, columns);
|
|
158
151
|
}
|
|
159
152
|
if (!active) {
|
|
160
153
|
return;
|
|
161
154
|
}
|
|
162
155
|
if (isTreeData) {
|
|
163
|
-
rowData =
|
|
156
|
+
rowData = addTreeDataOptionsToDemoData(rowData, {
|
|
164
157
|
maxDepth: options.treeData?.maxDepth,
|
|
165
158
|
groupingField: options.treeData?.groupingField,
|
|
166
159
|
averageChildren: options.treeData?.averageChildren
|
|
167
160
|
});
|
|
168
161
|
}
|
|
169
162
|
if (process.env.NODE_ENV !== 'production') {
|
|
170
|
-
|
|
163
|
+
deepFreeze(rowData);
|
|
171
164
|
}
|
|
172
165
|
dataCache.set(cacheKey, rowData);
|
|
173
166
|
setData(rowData);
|
|
@@ -189,16 +182,16 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
189
182
|
}
|
|
190
183
|
let getRowsResponse;
|
|
191
184
|
const serverOptionsWithDefault = {
|
|
192
|
-
minDelay: serverOptions?.minDelay ??
|
|
193
|
-
maxDelay: serverOptions?.maxDelay ??
|
|
194
|
-
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
|
|
195
188
|
};
|
|
196
189
|
if (shouldRequestsFailRef.current) {
|
|
197
190
|
const {
|
|
198
191
|
minDelay,
|
|
199
192
|
maxDelay
|
|
200
193
|
} = serverOptionsWithDefault;
|
|
201
|
-
const delay =
|
|
194
|
+
const delay = randomInt(minDelay, maxDelay);
|
|
202
195
|
return new Promise((_, reject) => {
|
|
203
196
|
if (verbose) {
|
|
204
197
|
print('MUI X: DATASOURCE REQUEST FAILURE', params);
|
|
@@ -211,9 +204,9 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
211
204
|
rows,
|
|
212
205
|
rootRowCount,
|
|
213
206
|
aggregateRow
|
|
214
|
-
} = await
|
|
215
|
-
getRowsResponse = (
|
|
216
|
-
rows: rows.slice().map(row => (
|
|
207
|
+
} = await processTreeDataRows(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
208
|
+
getRowsResponse = _extends({
|
|
209
|
+
rows: rows.slice().map(row => _extends({}, row, {
|
|
217
210
|
path: undefined
|
|
218
211
|
})),
|
|
219
212
|
rowCount: rootRowCount
|
|
@@ -225,9 +218,9 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
225
218
|
rows,
|
|
226
219
|
rootRowCount,
|
|
227
220
|
aggregateRow
|
|
228
|
-
} = await
|
|
229
|
-
getRowsResponse = (
|
|
230
|
-
rows: rows.slice().map(row => (
|
|
221
|
+
} = await processRowGroupingRows(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
222
|
+
getRowsResponse = _extends({
|
|
223
|
+
rows: rows.slice().map(row => _extends({}, row, {
|
|
231
224
|
path: undefined
|
|
232
225
|
})),
|
|
233
226
|
rowCount: rootRowCount
|
|
@@ -240,8 +233,8 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
240
233
|
nextCursor,
|
|
241
234
|
totalRowCount,
|
|
242
235
|
aggregateRow
|
|
243
|
-
} = await
|
|
244
|
-
getRowsResponse = (
|
|
236
|
+
} = await loadServerRows(data?.rows ?? [], _extends({}, params, params.paginationModel), serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
237
|
+
getRowsResponse = _extends({
|
|
245
238
|
rows: returnedRows,
|
|
246
239
|
rowCount: totalRowCount,
|
|
247
240
|
pageInfo: {
|
|
@@ -266,7 +259,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
|
|
|
266
259
|
fetchRows,
|
|
267
260
|
loadNewData: () => {
|
|
268
261
|
setIndex(oldIndex => oldIndex + 1);
|
|
269
|
-
}
|
|
262
|
+
},
|
|
263
|
+
isReady: Boolean(data?.rows?.length)
|
|
270
264
|
};
|
|
271
|
-
};
|
|
272
|
-
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
|
+
};
|