@mui/x-data-grid-generator 6.0.0-alpha.1 → 6.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1306 -149
- package/columns/commodities.columns.js +0 -1
- package/columns/employees.columns.js +0 -1
- package/hooks/useDemoData.js +9 -31
- package/hooks/useMovieData.d.ts +1 -0
- package/hooks/useMovieData.js +35 -1
- package/hooks/useQuery.js +11 -43
- package/index.js +1 -1
- package/legacy/columns/commodities.columns.js +0 -1
- package/legacy/columns/employees.columns.js +0 -2
- package/legacy/hooks/useBasicDemoData.js +6 -7
- package/legacy/hooks/useDemoData.js +28 -70
- package/legacy/hooks/useMovieData.js +35 -2
- package/legacy/hooks/useQuery.js +38 -77
- package/legacy/index.js +1 -1
- package/legacy/renderer/renderAvatar.js +0 -1
- package/legacy/renderer/renderCountry.js +3 -4
- package/legacy/renderer/renderEditCountry.js +32 -20
- package/legacy/renderer/renderEditCurrency.js +32 -20
- package/legacy/renderer/renderEditIncoterm.js +36 -26
- package/legacy/renderer/renderEditProgress.js +10 -20
- package/legacy/renderer/renderEditRating.js +32 -23
- package/legacy/renderer/renderEditStatus.js +2 -15
- package/legacy/renderer/renderEmail.js +0 -1
- package/legacy/renderer/renderIncoterm.js +0 -2
- package/legacy/renderer/renderLink.js +0 -2
- package/legacy/renderer/renderPnl.js +0 -3
- package/legacy/renderer/renderProgress.js +4 -5
- package/legacy/renderer/renderRating.js +3 -4
- package/legacy/renderer/renderStatus.js +8 -13
- package/legacy/renderer/renderTotalPrice.js +5 -6
- package/legacy/services/asyncWorker.js +4 -7
- package/legacy/services/basic-data-service.js +0 -5
- package/legacy/services/random-generator.js +6 -20
- package/legacy/services/real-data-service.js +0 -9
- package/legacy/services/tree-data-generator.js +6 -22
- package/modern/columns/commodities.columns.js +0 -1
- package/modern/columns/employees.columns.js +0 -1
- package/modern/hooks/useDemoData.js +9 -27
- package/modern/hooks/useMovieData.js +35 -1
- package/modern/hooks/useQuery.js +11 -41
- package/modern/index.js +1 -1
- package/modern/renderer/renderAvatar.js +0 -1
- package/modern/renderer/renderCountry.js +3 -4
- package/modern/renderer/renderEditCountry.js +6 -13
- package/modern/renderer/renderEditCurrency.js +6 -13
- package/modern/renderer/renderEditIncoterm.js +7 -16
- package/modern/renderer/renderEditProgress.js +3 -10
- package/modern/renderer/renderEditRating.js +7 -17
- package/modern/renderer/renderEditStatus.js +0 -10
- package/modern/renderer/renderIncoterm.js +0 -2
- package/modern/renderer/renderLink.js +0 -2
- package/modern/renderer/renderPnl.js +0 -3
- package/modern/renderer/renderProgress.js +4 -5
- package/modern/renderer/renderRating.js +3 -4
- package/modern/renderer/renderStatus.js +8 -13
- package/modern/renderer/renderTotalPrice.js +5 -6
- package/modern/services/asyncWorker.js +2 -4
- package/modern/services/basic-data-service.js +0 -5
- package/modern/services/random-generator.js +6 -19
- package/modern/services/real-data-service.js +0 -9
- package/modern/services/tree-data-generator.js +0 -14
- package/node/columns/commodities.columns.js +1 -8
- package/node/columns/employees.columns.js +1 -8
- package/node/columns/index.js +0 -4
- package/node/hooks/index.js +0 -8
- package/node/hooks/useBasicDemoData.js +0 -6
- package/node/hooks/useDemoData.js +17 -62
- package/node/hooks/useMovieData.js +35 -3
- package/node/hooks/useQuery.js +13 -57
- package/node/index.js +1 -9
- package/node/renderer/index.js +0 -32
- package/node/renderer/renderAvatar.js +0 -8
- package/node/renderer/renderCountry.js +3 -12
- package/node/renderer/renderEditCountry.js +6 -26
- package/node/renderer/renderEditCurrency.js +6 -26
- package/node/renderer/renderEditIncoterm.js +7 -28
- package/node/renderer/renderEditProgress.js +4 -24
- package/node/renderer/renderEditRating.js +7 -26
- package/node/renderer/renderEditStatus.js +0 -26
- package/node/renderer/renderEmail.js +1 -9
- package/node/renderer/renderIncoterm.js +0 -12
- package/node/renderer/renderLink.js +0 -9
- package/node/renderer/renderPnl.js +0 -12
- package/node/renderer/renderProgress.js +4 -14
- package/node/renderer/renderRating.js +3 -13
- package/node/renderer/renderStatus.js +8 -26
- package/node/renderer/renderTotalPrice.js +5 -15
- package/node/services/asyncWorker.js +2 -5
- package/node/services/basic-data-service.js +0 -7
- package/node/services/index.js +0 -8
- package/node/services/random-generator.js +7 -105
- package/node/services/real-data-service.js +0 -12
- package/node/services/static-data.js +0 -2
- package/node/services/tree-data-generator.js +1 -22
- package/package.json +7 -7
- package/renderer/renderAvatar.js +0 -1
- package/renderer/renderCountry.js +3 -4
- package/renderer/renderEditCountry.js +6 -13
- package/renderer/renderEditCurrency.js +6 -13
- package/renderer/renderEditIncoterm.js +7 -16
- package/renderer/renderEditProgress.js +3 -10
- package/renderer/renderEditRating.js +7 -17
- package/renderer/renderEditStatus.js +0 -10
- package/renderer/renderEmail.js +0 -1
- package/renderer/renderIncoterm.js +0 -2
- package/renderer/renderLink.js +0 -2
- package/renderer/renderPnl.js +0 -3
- package/renderer/renderProgress.js +4 -5
- package/renderer/renderRating.js +3 -4
- package/renderer/renderStatus.js +8 -13
- package/renderer/renderTotalPrice.js +5 -6
- package/services/asyncWorker.js +2 -4
- package/services/basic-data-service.js +0 -5
- package/services/random-generator.js +6 -20
- package/services/real-data-service.js +0 -9
- package/services/tree-data-generator.js +0 -15
|
@@ -1,265 +1,167 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.randomUserName = exports.randomUrl = exports.randomUpdatedDate = exports.randomUnitPriceCurrency = exports.randomUnitPrice = exports.randomTraderName = exports.randomTradeDate = exports.randomTaxCode = exports.randomStatusOptions = exports.randomRating = exports.randomRateType = exports.randomRate = exports.randomQuantity = exports.randomPrice = exports.randomPnL = exports.randomPhoneNumber = exports.randomName = exports.randomMaturityDate = exports.randomJobTitle = exports.randomInt = exports.randomIncoterm = exports.randomId = exports.randomFeeRate = exports.randomEmail = exports.randomDesk = exports.randomDate = exports.randomCurrency = exports.randomCreatedDate = exports.randomCountry = exports.randomContractType = exports.randomCompanyName = exports.randomCommodity = exports.randomColor = exports.randomCity = exports.randomBrokerId = exports.randomBoolean = exports.randomArrayItem = exports.randomAddress = exports.random = exports.generateIsFilled = exports.generateFilledQuantity = void 0;
|
|
9
|
-
|
|
10
8
|
var _chance = _interopRequireDefault(require("chance"));
|
|
11
|
-
|
|
12
9
|
var _staticData = require("./static-data");
|
|
13
|
-
|
|
14
10
|
const chanceId = (0, _chance.default)();
|
|
15
11
|
let chance;
|
|
16
|
-
|
|
17
12
|
if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
|
|
18
13
|
chance = (0, _chance.default)(() => 0.5);
|
|
19
14
|
} else {
|
|
20
15
|
chance = chanceId;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
/**
|
|
24
18
|
* Wrap a data generator that returns a string and add a prefix if the value generated has already been given
|
|
25
19
|
*/
|
|
26
20
|
const uniquenessHandler = generator => (data, context) => {
|
|
27
|
-
var _context$values$rawVa;
|
|
28
|
-
|
|
29
21
|
const rawValue = generator(data, context);
|
|
30
|
-
|
|
31
22
|
if (!context.values) {
|
|
32
23
|
return rawValue;
|
|
33
24
|
}
|
|
34
|
-
|
|
35
|
-
const valueCount = ((_context$values$rawVa = context.values[rawValue]) != null ? _context$values$rawVa : 0) + 1;
|
|
25
|
+
const valueCount = (context.values[rawValue] ?? 0) + 1;
|
|
36
26
|
context.values[rawValue] = valueCount + 1;
|
|
37
|
-
|
|
38
27
|
if (valueCount > 1) {
|
|
39
28
|
return `${rawValue} ${valueCount}`;
|
|
40
29
|
}
|
|
41
|
-
|
|
42
30
|
return rawValue;
|
|
43
31
|
};
|
|
44
|
-
|
|
45
32
|
function dateFuture(years, refDate) {
|
|
46
33
|
let date = new Date();
|
|
47
|
-
|
|
48
34
|
if (typeof refDate !== 'undefined') {
|
|
49
35
|
date = new Date(Date.parse(refDate));
|
|
50
36
|
}
|
|
51
|
-
|
|
52
37
|
const range = {
|
|
53
38
|
min: 1000,
|
|
54
39
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
55
|
-
};
|
|
40
|
+
};
|
|
56
41
|
|
|
42
|
+
// some time from now to N years later, in milliseconds
|
|
57
43
|
const past = date.getTime() + chance.integer(range);
|
|
58
44
|
date.setTime(past);
|
|
59
45
|
return date;
|
|
60
46
|
}
|
|
61
|
-
|
|
62
47
|
function dateRecent(days, refDate) {
|
|
63
48
|
let date = new Date();
|
|
64
|
-
|
|
65
49
|
if (typeof refDate !== 'undefined') {
|
|
66
50
|
date = new Date(Date.parse(refDate));
|
|
67
51
|
}
|
|
68
|
-
|
|
69
52
|
const range = {
|
|
70
53
|
min: 1000,
|
|
71
54
|
max: (days || 1) * 24 * 3600 * 1000
|
|
72
|
-
};
|
|
55
|
+
};
|
|
73
56
|
|
|
57
|
+
// some time from now to N days ago, in milliseconds
|
|
74
58
|
const past = date.getTime() - chance.integer(range);
|
|
75
59
|
date.setTime(past);
|
|
76
60
|
return date;
|
|
77
61
|
}
|
|
78
|
-
|
|
79
62
|
function datePast(years, refDate) {
|
|
80
63
|
let date = new Date();
|
|
81
|
-
|
|
82
64
|
if (typeof refDate !== 'undefined') {
|
|
83
65
|
date = new Date(Date.parse(refDate));
|
|
84
66
|
}
|
|
85
|
-
|
|
86
67
|
const range = {
|
|
87
68
|
min: 1000,
|
|
88
69
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
89
|
-
};
|
|
70
|
+
};
|
|
90
71
|
|
|
72
|
+
// some time from now to N years ago, in milliseconds
|
|
91
73
|
const past = date.getTime() - chance.integer(range);
|
|
92
74
|
date.setTime(past);
|
|
93
75
|
return date;
|
|
94
76
|
}
|
|
95
|
-
|
|
96
77
|
const random = (min, max) => chance.floating({
|
|
97
78
|
min,
|
|
98
79
|
max
|
|
99
80
|
});
|
|
100
|
-
|
|
101
81
|
exports.random = random;
|
|
102
|
-
|
|
103
82
|
const randomInt = (min, max) => Math.floor(random(0, 1) * (max - min + 1) + min);
|
|
104
|
-
|
|
105
83
|
exports.randomInt = randomInt;
|
|
106
|
-
|
|
107
84
|
const randomPrice = (min = 0, max = 100000) => Number(random(min, max).toFixed(2));
|
|
108
|
-
|
|
109
85
|
exports.randomPrice = randomPrice;
|
|
110
|
-
|
|
111
86
|
const randomRate = () => random(0, 1);
|
|
112
|
-
|
|
113
87
|
exports.randomRate = randomRate;
|
|
114
|
-
|
|
115
88
|
const randomDate = (start, end) => new Date(start.getTime() + chance.floating({
|
|
116
89
|
min: 0,
|
|
117
90
|
max: 1
|
|
118
91
|
}) * (end.getTime() - start.getTime()));
|
|
119
|
-
|
|
120
92
|
exports.randomDate = randomDate;
|
|
121
|
-
|
|
122
93
|
const randomArrayItem = arr => arr[randomInt(0, arr.length - 1)];
|
|
123
|
-
|
|
124
94
|
exports.randomArrayItem = randomArrayItem;
|
|
125
|
-
|
|
126
95
|
const randomBoolean = () => randomArrayItem([true, false]);
|
|
127
|
-
|
|
128
96
|
exports.randomBoolean = randomBoolean;
|
|
129
|
-
|
|
130
97
|
const randomColor = () => randomArrayItem(_staticData.COLORS);
|
|
131
|
-
|
|
132
98
|
exports.randomColor = randomColor;
|
|
133
|
-
|
|
134
99
|
const randomId = () => chanceId.guid();
|
|
135
|
-
|
|
136
100
|
exports.randomId = randomId;
|
|
137
|
-
|
|
138
101
|
const randomDesk = () => `D-${chance.integer({
|
|
139
102
|
min: 0,
|
|
140
103
|
max: 10000
|
|
141
104
|
})}`;
|
|
142
|
-
|
|
143
105
|
exports.randomDesk = randomDesk;
|
|
144
|
-
|
|
145
106
|
const randomCommodity = () => randomArrayItem(_staticData.COMMODITY_OPTIONS);
|
|
146
|
-
|
|
147
107
|
exports.randomCommodity = randomCommodity;
|
|
148
|
-
|
|
149
108
|
const randomTraderName = () => chance.name();
|
|
150
|
-
|
|
151
109
|
exports.randomTraderName = randomTraderName;
|
|
152
|
-
|
|
153
110
|
const randomUserName = () => chance.twitter();
|
|
154
|
-
|
|
155
111
|
exports.randomUserName = randomUserName;
|
|
156
|
-
|
|
157
112
|
const randomEmail = () => chance.email();
|
|
158
|
-
|
|
159
113
|
exports.randomEmail = randomEmail;
|
|
160
|
-
|
|
161
114
|
const randomUrl = () => chance.url();
|
|
162
|
-
|
|
163
115
|
exports.randomUrl = randomUrl;
|
|
164
|
-
|
|
165
116
|
const randomPhoneNumber = () => chance.phone();
|
|
166
|
-
|
|
167
117
|
exports.randomPhoneNumber = randomPhoneNumber;
|
|
168
|
-
|
|
169
118
|
const randomUnitPrice = () => randomPrice(1, 100);
|
|
170
|
-
|
|
171
119
|
exports.randomUnitPrice = randomUnitPrice;
|
|
172
|
-
|
|
173
120
|
const randomUnitPriceCurrency = () => randomArrayItem(_staticData.CURRENCY_OPTIONS);
|
|
174
|
-
|
|
175
121
|
exports.randomUnitPriceCurrency = randomUnitPriceCurrency;
|
|
176
|
-
|
|
177
122
|
const randomQuantity = () => randomInt(1000, 100000);
|
|
178
|
-
|
|
179
123
|
exports.randomQuantity = randomQuantity;
|
|
180
|
-
|
|
181
124
|
const randomFeeRate = () => Number(random(0.1, 0.4).toFixed(3));
|
|
182
|
-
|
|
183
125
|
exports.randomFeeRate = randomFeeRate;
|
|
184
|
-
|
|
185
126
|
const randomIncoterm = () => randomArrayItem(_staticData.INCOTERM_OPTIONS);
|
|
186
|
-
|
|
187
127
|
exports.randomIncoterm = randomIncoterm;
|
|
188
|
-
|
|
189
128
|
const randomStatusOptions = () => randomArrayItem(_staticData.STATUS_OPTIONS);
|
|
190
|
-
|
|
191
129
|
exports.randomStatusOptions = randomStatusOptions;
|
|
192
|
-
|
|
193
130
|
const randomPnL = () => random(-100000000, 100000000);
|
|
194
|
-
|
|
195
131
|
exports.randomPnL = randomPnL;
|
|
196
|
-
|
|
197
132
|
const randomMaturityDate = () => dateFuture();
|
|
198
|
-
|
|
199
133
|
exports.randomMaturityDate = randomMaturityDate;
|
|
200
|
-
|
|
201
134
|
const randomTradeDate = () => dateRecent();
|
|
202
|
-
|
|
203
135
|
exports.randomTradeDate = randomTradeDate;
|
|
204
|
-
|
|
205
136
|
const randomBrokerId = () => chance.guid();
|
|
206
|
-
|
|
207
137
|
exports.randomBrokerId = randomBrokerId;
|
|
208
|
-
|
|
209
138
|
const randomCompanyName = () => chance.company();
|
|
210
|
-
|
|
211
139
|
exports.randomCompanyName = randomCompanyName;
|
|
212
|
-
|
|
213
140
|
const randomCountry = () => randomArrayItem(_staticData.COUNTRY_ISO_OPTIONS);
|
|
214
|
-
|
|
215
141
|
exports.randomCountry = randomCountry;
|
|
216
|
-
|
|
217
142
|
const randomCurrency = () => randomArrayItem(_staticData.CURRENCY_OPTIONS);
|
|
218
|
-
|
|
219
143
|
exports.randomCurrency = randomCurrency;
|
|
220
|
-
|
|
221
144
|
const randomAddress = () => chance.address();
|
|
222
|
-
|
|
223
145
|
exports.randomAddress = randomAddress;
|
|
224
|
-
|
|
225
146
|
const randomCity = () => chance.city();
|
|
226
|
-
|
|
227
147
|
exports.randomCity = randomCity;
|
|
228
|
-
|
|
229
148
|
const randomTaxCode = () => randomArrayItem(_staticData.TAXCODE_OPTIONS);
|
|
230
|
-
|
|
231
149
|
exports.randomTaxCode = randomTaxCode;
|
|
232
|
-
|
|
233
150
|
const randomContractType = () => randomArrayItem(_staticData.CONTRACT_TYPE_OPTIONS);
|
|
234
|
-
|
|
235
151
|
exports.randomContractType = randomContractType;
|
|
236
|
-
|
|
237
152
|
const randomRateType = () => randomArrayItem(_staticData.RATE_TYPE_OPTIONS);
|
|
238
|
-
|
|
239
153
|
exports.randomRateType = randomRateType;
|
|
240
|
-
|
|
241
154
|
const randomCreatedDate = () => datePast();
|
|
242
|
-
|
|
243
155
|
exports.randomCreatedDate = randomCreatedDate;
|
|
244
|
-
|
|
245
156
|
const randomUpdatedDate = () => dateRecent();
|
|
246
|
-
|
|
247
157
|
exports.randomUpdatedDate = randomUpdatedDate;
|
|
248
|
-
|
|
249
158
|
const randomJobTitle = () => chance.profession();
|
|
250
|
-
|
|
251
159
|
exports.randomJobTitle = randomJobTitle;
|
|
252
|
-
|
|
253
160
|
const randomRating = () => randomInt(1, 5);
|
|
254
|
-
|
|
255
161
|
exports.randomRating = randomRating;
|
|
256
162
|
const randomName = uniquenessHandler(() => chance.name());
|
|
257
163
|
exports.randomName = randomName;
|
|
258
|
-
|
|
259
164
|
const generateFilledQuantity = data => Number((data.quantity * randomRate()).toFixed()) / data.quantity;
|
|
260
|
-
|
|
261
165
|
exports.generateFilledQuantity = generateFilledQuantity;
|
|
262
|
-
|
|
263
166
|
const generateIsFilled = data => data.quantity === data.filledQuantity;
|
|
264
|
-
|
|
265
167
|
exports.generateIsFilled = generateIsFilled;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getRealGridData = getRealGridData;
|
|
9
|
-
|
|
10
8
|
var _asyncWorker = _interopRequireDefault(require("./asyncWorker"));
|
|
11
|
-
|
|
12
9
|
function getRealGridData(rowLength, columns) {
|
|
13
10
|
return new Promise(resolve => {
|
|
14
11
|
const tasks = {
|
|
@@ -16,35 +13,26 @@ function getRealGridData(rowLength, columns) {
|
|
|
16
13
|
};
|
|
17
14
|
const rows = [];
|
|
18
15
|
const indexedValues = {};
|
|
19
|
-
|
|
20
16
|
function work() {
|
|
21
17
|
const row = {};
|
|
22
|
-
|
|
23
18
|
for (let j = 0; j < columns.length; j += 1) {
|
|
24
19
|
const column = columns[j];
|
|
25
|
-
|
|
26
20
|
if (column.generateData) {
|
|
27
21
|
const context = {};
|
|
28
|
-
|
|
29
22
|
if (column.dataGeneratorUniquenessEnabled) {
|
|
30
23
|
let fieldValues = indexedValues[column.field];
|
|
31
|
-
|
|
32
24
|
if (!fieldValues) {
|
|
33
25
|
fieldValues = {};
|
|
34
26
|
indexedValues[column.field] = fieldValues;
|
|
35
27
|
}
|
|
36
|
-
|
|
37
28
|
context.values = fieldValues;
|
|
38
29
|
}
|
|
39
|
-
|
|
40
30
|
row[column.field] = column.generateData(row, context);
|
|
41
31
|
}
|
|
42
32
|
}
|
|
43
|
-
|
|
44
33
|
rows.push(row);
|
|
45
34
|
tasks.current -= 1;
|
|
46
35
|
}
|
|
47
|
-
|
|
48
36
|
const columnVisibilityModel = {};
|
|
49
37
|
columns.forEach(col => {
|
|
50
38
|
if (col.hide) {
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TAXCODE_OPTIONS = exports.STATUS_OPTIONS = exports.RATE_TYPE_OPTIONS = exports.INCOTERM_OPTIONS = exports.CURRENCY_OPTIONS = exports.COUNTRY_OPTIONS = exports.COUNTRY_ISO_OPTIONS_SORTED = exports.COUNTRY_ISO_OPTIONS = exports.CONTRACT_TYPE_OPTIONS = exports.COMMODITY_OPTIONS = exports.COLORS = void 0;
|
|
7
|
-
|
|
8
7
|
var _colors = require("@mui/material/colors");
|
|
9
|
-
|
|
10
8
|
const COLORS = [_colors.pink[500], _colors.blue[500], _colors.orange[500], _colors.red[500], _colors.green[500], _colors.lightBlue[500], _colors.purple[500]];
|
|
11
9
|
exports.COLORS = COLORS;
|
|
12
10
|
const STATUS_OPTIONS = ['Open', 'PartiallyFilled', 'Filled', 'Rejected'];
|
|
@@ -1,63 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.addTreeDataOptionsToDemoData = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _randomGenerator = require("./random-generator");
|
|
13
|
-
|
|
14
10
|
const addTreeDataOptionsToDemoData = (data, options = {}) => {
|
|
15
|
-
var _groupingCol$headerNa;
|
|
16
|
-
|
|
17
11
|
const {
|
|
18
12
|
averageChildren = 2,
|
|
19
13
|
maxDepth = 1,
|
|
20
14
|
groupingField
|
|
21
15
|
} = options;
|
|
22
16
|
const hasTreeData = maxDepth > 1 && groupingField != null;
|
|
23
|
-
|
|
24
17
|
if (!hasTreeData) {
|
|
25
18
|
return data;
|
|
26
19
|
}
|
|
27
|
-
|
|
28
20
|
if (data.rows.length > 1000) {
|
|
29
21
|
throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
|
|
30
22
|
}
|
|
31
|
-
|
|
32
23
|
const rowsByTreeDepth = {};
|
|
33
24
|
const rowsCount = data.rows.length;
|
|
34
25
|
const groupingCol = data.columns.find(col => col.field === options.groupingField);
|
|
35
|
-
|
|
36
26
|
if (!groupingCol) {
|
|
37
27
|
throw new Error('MUI: The tree data grouping field does not exist');
|
|
38
28
|
}
|
|
39
|
-
|
|
40
29
|
data.initialState.columns.columnVisibilityModel[groupingField] = false;
|
|
41
|
-
|
|
42
30
|
for (let i = 0; i < rowsCount; i += 1) {
|
|
43
31
|
const row = data.rows[i];
|
|
44
32
|
const currentChunk = Math.floor(i * (averageChildren ** maxDepth - 1) / rowsCount) + 1;
|
|
45
33
|
const currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
|
|
46
|
-
|
|
47
34
|
if (!rowsByTreeDepth[currentDepth]) {
|
|
48
35
|
rowsByTreeDepth[currentDepth] = {
|
|
49
36
|
rows: {},
|
|
50
37
|
rowIndexes: []
|
|
51
38
|
};
|
|
52
39
|
}
|
|
53
|
-
|
|
54
40
|
rowsByTreeDepth[currentDepth].rows[i] = {
|
|
55
41
|
value: row,
|
|
56
42
|
parentIndex: null
|
|
57
43
|
};
|
|
58
44
|
rowsByTreeDepth[currentDepth].rowIndexes.push(i);
|
|
59
45
|
}
|
|
60
|
-
|
|
61
46
|
Object.entries(rowsByTreeDepth).forEach(([depthStr, {
|
|
62
47
|
rows
|
|
63
48
|
}]) => {
|
|
@@ -65,35 +50,29 @@ const addTreeDataOptionsToDemoData = (data, options = {}) => {
|
|
|
65
50
|
Object.values(rows).forEach(row => {
|
|
66
51
|
const path = [];
|
|
67
52
|
let previousRow = null;
|
|
68
|
-
|
|
69
53
|
for (let k = depth; k >= 0; k -= 1) {
|
|
70
54
|
let rowTemp;
|
|
71
|
-
|
|
72
55
|
if (k === depth) {
|
|
73
56
|
if (depth > 0) {
|
|
74
57
|
row.parentIndex = Number((0, _randomGenerator.randomArrayItem)(rowsByTreeDepth[depth - 1].rowIndexes));
|
|
75
58
|
}
|
|
76
|
-
|
|
77
59
|
rowTemp = row;
|
|
78
60
|
} else {
|
|
79
61
|
rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
|
|
80
62
|
}
|
|
81
|
-
|
|
82
63
|
path.unshift(rowTemp.value[groupingField]);
|
|
83
64
|
previousRow = rowTemp;
|
|
84
65
|
}
|
|
85
|
-
|
|
86
66
|
row.value.path = path;
|
|
87
67
|
});
|
|
88
68
|
});
|
|
89
69
|
return (0, _extends2.default)({}, data, {
|
|
90
70
|
groupingColDef: {
|
|
91
|
-
headerName:
|
|
71
|
+
headerName: groupingCol.headerName ?? groupingCol.field,
|
|
92
72
|
width: 250
|
|
93
73
|
},
|
|
94
74
|
getTreeDataPath: row => row.path,
|
|
95
75
|
treeData: true
|
|
96
76
|
});
|
|
97
77
|
};
|
|
98
|
-
|
|
99
78
|
exports.addTreeDataOptionsToDemoData = addTreeDataOptionsToDemoData;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid-generator",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.10",
|
|
4
4
|
"description": "Generate fake data for demo purposes only.",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
"directory": "packages/grid/x-data-grid-generator"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@babel/runtime": "^7.
|
|
23
|
-
"@mui/base": "^5.0.0-alpha.
|
|
24
|
-
"@mui/x-data-grid-premium": "6.0.0-alpha.
|
|
25
|
-
"chance": "^1.1.
|
|
22
|
+
"@babel/runtime": "^7.20.1",
|
|
23
|
+
"@mui/base": "^5.0.0-alpha.106",
|
|
24
|
+
"@mui/x-data-grid-premium": "6.0.0-alpha.10",
|
|
25
|
+
"chance": "^1.1.9",
|
|
26
26
|
"clsx": "^1.2.1",
|
|
27
|
-
"lru-cache": "^7.14.
|
|
27
|
+
"lru-cache": "^7.14.1"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@mui/icons-material": "^5.4.1",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"<rootDir>/src/setupTests.js"
|
|
36
36
|
],
|
|
37
37
|
"engines": {
|
|
38
|
-
"node": ">=
|
|
38
|
+
"node": ">=14.0.0"
|
|
39
39
|
},
|
|
40
40
|
"private": false,
|
|
41
41
|
"module": "./index.js",
|
package/renderer/renderAvatar.js
CHANGED
|
@@ -36,14 +36,13 @@ const Country = /*#__PURE__*/React.memo(function Country(props) {
|
|
|
36
36
|
export function renderCountry(params) {
|
|
37
37
|
if (params.value == null) {
|
|
38
38
|
return '';
|
|
39
|
-
}
|
|
40
|
-
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
41
|
-
|
|
39
|
+
}
|
|
42
40
|
|
|
41
|
+
// If the aggregated value does not have the same unit as the other cell
|
|
42
|
+
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
43
43
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
46
|
return /*#__PURE__*/_jsx(Country, {
|
|
48
47
|
value: params.value
|
|
49
48
|
});
|
|
@@ -21,7 +21,6 @@ const StyledAutocomplete = styled(Autocomplete)(({
|
|
|
21
21
|
}
|
|
22
22
|
})
|
|
23
23
|
}));
|
|
24
|
-
|
|
25
24
|
function EditCountry(props) {
|
|
26
25
|
const {
|
|
27
26
|
id,
|
|
@@ -29,20 +28,16 @@ function EditCountry(props) {
|
|
|
29
28
|
field
|
|
30
29
|
} = props;
|
|
31
30
|
const apiRef = useGridApiContext();
|
|
32
|
-
const handleChange = React.useCallback((event, newValue) => {
|
|
33
|
-
apiRef.current.setEditCellValue({
|
|
31
|
+
const handleChange = React.useCallback(async (event, newValue) => {
|
|
32
|
+
await apiRef.current.setEditCellValue({
|
|
34
33
|
id,
|
|
35
34
|
field,
|
|
36
35
|
value: newValue
|
|
37
36
|
}, event);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
field
|
|
43
|
-
});
|
|
44
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
45
|
-
}
|
|
37
|
+
apiRef.current.stopCellEditMode({
|
|
38
|
+
id,
|
|
39
|
+
field
|
|
40
|
+
});
|
|
46
41
|
}, [apiRef, field, id]);
|
|
47
42
|
return /*#__PURE__*/_jsx(StyledAutocomplete, {
|
|
48
43
|
value: value,
|
|
@@ -76,12 +71,10 @@ function EditCountry(props) {
|
|
|
76
71
|
id: params.id,
|
|
77
72
|
inputProps: _extends({}, params.inputProps, {
|
|
78
73
|
autoComplete: 'new-password' // disable autocomplete and autofill
|
|
79
|
-
|
|
80
74
|
})
|
|
81
75
|
}, params.InputProps))
|
|
82
76
|
});
|
|
83
77
|
}
|
|
84
|
-
|
|
85
78
|
export function renderEditCountry(params) {
|
|
86
79
|
return /*#__PURE__*/_jsx(EditCountry, _extends({}, params));
|
|
87
80
|
}
|
|
@@ -21,7 +21,6 @@ const StyledAutocomplete = styled(Autocomplete)(({
|
|
|
21
21
|
}
|
|
22
22
|
})
|
|
23
23
|
}));
|
|
24
|
-
|
|
25
24
|
function EditCurrency(props) {
|
|
26
25
|
const {
|
|
27
26
|
id,
|
|
@@ -29,20 +28,16 @@ function EditCurrency(props) {
|
|
|
29
28
|
field
|
|
30
29
|
} = props;
|
|
31
30
|
const apiRef = useGridApiContext();
|
|
32
|
-
const handleChange = React.useCallback((event, newValue) => {
|
|
33
|
-
apiRef.current.setEditCellValue({
|
|
31
|
+
const handleChange = React.useCallback(async (event, newValue) => {
|
|
32
|
+
await apiRef.current.setEditCellValue({
|
|
34
33
|
id,
|
|
35
34
|
field,
|
|
36
35
|
value: newValue.toUpperCase()
|
|
37
36
|
}, event);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
field
|
|
43
|
-
});
|
|
44
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
45
|
-
}
|
|
37
|
+
apiRef.current.stopCellEditMode({
|
|
38
|
+
id,
|
|
39
|
+
field
|
|
40
|
+
});
|
|
46
41
|
}, [apiRef, field, id]);
|
|
47
42
|
return /*#__PURE__*/_jsx(StyledAutocomplete, {
|
|
48
43
|
value: value,
|
|
@@ -75,12 +70,10 @@ function EditCurrency(props) {
|
|
|
75
70
|
id: params.id,
|
|
76
71
|
inputProps: _extends({}, params.inputProps, {
|
|
77
72
|
autoComplete: 'new-password' // disable autocomplete and autofill
|
|
78
|
-
|
|
79
73
|
})
|
|
80
74
|
}, params.InputProps))
|
|
81
75
|
});
|
|
82
76
|
}
|
|
83
|
-
|
|
84
77
|
export function renderEditCurrency(params) {
|
|
85
78
|
return /*#__PURE__*/_jsx(EditCurrency, _extends({}, params));
|
|
86
79
|
}
|
|
@@ -8,7 +8,6 @@ import ListItemText from '@mui/material/ListItemText';
|
|
|
8
8
|
import { INCOTERM_OPTIONS } from '../services/static-data';
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
|
|
12
11
|
function EditIncoterm(props) {
|
|
13
12
|
const {
|
|
14
13
|
id,
|
|
@@ -16,32 +15,25 @@ function EditIncoterm(props) {
|
|
|
16
15
|
field
|
|
17
16
|
} = props;
|
|
18
17
|
const apiRef = useGridApiContext();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
apiRef.current.setEditCellValue({
|
|
18
|
+
const handleChange = async event => {
|
|
19
|
+
await apiRef.current.setEditCellValue({
|
|
22
20
|
id,
|
|
23
21
|
field,
|
|
24
22
|
value: event.target.value
|
|
25
23
|
}, event);
|
|
26
|
-
apiRef.current.
|
|
24
|
+
apiRef.current.stopCellEditMode({
|
|
27
25
|
id,
|
|
28
26
|
field
|
|
29
27
|
});
|
|
30
|
-
apiRef.current.setCellMode(id, field, 'view');
|
|
31
|
-
|
|
32
|
-
if (event.key) {
|
|
33
|
-
// TODO v6: remove once we stop ignoring events fired from portals
|
|
34
|
-
const params = apiRef.current.getCellParams(id, field);
|
|
35
|
-
apiRef.current.publishEvent('cellNavigationKeyDown', params, event);
|
|
36
|
-
}
|
|
37
28
|
};
|
|
38
|
-
|
|
39
29
|
const handleClose = (event, reason) => {
|
|
40
30
|
if (reason === 'backdropClick') {
|
|
41
|
-
apiRef.current.
|
|
31
|
+
apiRef.current.stopCellEditMode({
|
|
32
|
+
id,
|
|
33
|
+
field
|
|
34
|
+
});
|
|
42
35
|
}
|
|
43
36
|
};
|
|
44
|
-
|
|
45
37
|
return /*#__PURE__*/_jsx(Select, {
|
|
46
38
|
value: value,
|
|
47
39
|
onChange: handleChange,
|
|
@@ -79,7 +71,6 @@ function EditIncoterm(props) {
|
|
|
79
71
|
})
|
|
80
72
|
});
|
|
81
73
|
}
|
|
82
|
-
|
|
83
74
|
export function renderEditIncoterm(params) {
|
|
84
75
|
return /*#__PURE__*/_jsx(EditIncoterm, _extends({}, params));
|
|
85
76
|
}
|