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