@mui/x-data-grid-generator 6.0.0-alpha.0 → 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 +1428 -138
- package/columns/commodities.columns.js +6 -10
- package/columns/employees.columns.js +1 -2
- package/hooks/useDemoData.js +9 -31
- package/hooks/useMovieData.d.ts +1 -0
- package/hooks/useMovieData.js +35 -1
- package/hooks/useQuery.d.ts +6 -6
- package/hooks/useQuery.js +11 -43
- package/index.js +1 -1
- package/legacy/columns/commodities.columns.js +6 -10
- package/legacy/columns/employees.columns.js +1 -3
- 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 +1 -3
- 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 +9 -14
- 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 +6 -10
- package/modern/columns/employees.columns.js +1 -2
- 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 +1 -3
- 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 +9 -14
- 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 +7 -17
- package/node/columns/employees.columns.js +2 -9
- 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 +1 -10
- 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 +9 -27
- 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 +1 -3
- package/renderer/renderPnl.js +0 -3
- package/renderer/renderProgress.js +4 -5
- package/renderer/renderRating.js +3 -4
- package/renderer/renderStatus.js +9 -14
- 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
|
@@ -14,10 +14,10 @@ const Value = styled('div')(({
|
|
|
14
14
|
alignItems: 'center',
|
|
15
15
|
justifyContent: 'flex-end',
|
|
16
16
|
'&.good': {
|
|
17
|
-
backgroundColor: alpha(theme.palette.success.main, 0.3)
|
|
17
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.success.mainChannel} / 0.3)` : alpha(theme.palette.success.main, 0.3)
|
|
18
18
|
},
|
|
19
19
|
'&.bad': {
|
|
20
|
-
backgroundColor: alpha(theme.palette.error.main, 0.3)
|
|
20
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.error.mainChannel} / 0.3)` : alpha(theme.palette.error.main, 0.3)
|
|
21
21
|
}
|
|
22
22
|
}));
|
|
23
23
|
const currencyFormatter = new Intl.NumberFormat('en-US', {
|
|
@@ -36,14 +36,13 @@ const TotalPrice = /*#__PURE__*/React.memo(function TotalPrice(props) {
|
|
|
36
36
|
export function renderTotalPrice(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(TotalPrice, {
|
|
48
47
|
value: params.value
|
|
49
48
|
});
|
package/services/asyncWorker.js
CHANGED
|
@@ -8,22 +8,20 @@ export default function asyncWorker({
|
|
|
8
8
|
while ((deadline.timeRemaining() > 0 || deadline.didTimeout) && tasks.current > 0) {
|
|
9
9
|
work();
|
|
10
10
|
}
|
|
11
|
-
|
|
12
11
|
if (tasks.current > 0) {
|
|
13
12
|
requestIdleCallback(myNonEssentialWork);
|
|
14
13
|
} else {
|
|
15
14
|
done();
|
|
16
15
|
}
|
|
17
|
-
};
|
|
18
|
-
|
|
16
|
+
};
|
|
19
17
|
|
|
18
|
+
// Don't use requestIdleCallback if the time is mock, better to run synchronously in such case.
|
|
20
19
|
if (typeof requestIdleCallback === 'function' && !requestIdleCallback.clock) {
|
|
21
20
|
requestIdleCallback(myNonEssentialWork);
|
|
22
21
|
} else {
|
|
23
22
|
while (tasks.current > 0) {
|
|
24
23
|
work();
|
|
25
24
|
}
|
|
26
|
-
|
|
27
25
|
done();
|
|
28
26
|
}
|
|
29
27
|
}
|
|
@@ -2,21 +2,18 @@ export const currencyPairs = ['USDGBP', 'USDEUR', 'GBPEUR', 'JPYUSD', 'MXNUSD',
|
|
|
2
2
|
export const getBasicGridData = (rowLength, colLength) => {
|
|
3
3
|
const data = [];
|
|
4
4
|
const pricesColLength = colLength - 2;
|
|
5
|
-
|
|
6
5
|
for (let i = 0; i < rowLength; i += 1) {
|
|
7
6
|
const idx = i >= currencyPairs.length ? i % currencyPairs.length : i;
|
|
8
7
|
const model = {
|
|
9
8
|
id: i,
|
|
10
9
|
currencyPair: currencyPairs[idx]
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
14
12
|
model[`price${j}M`] = Number(`${i.toString()}${j}`); // randomPrice(0.7, 2);
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
data.push(model);
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
const columns = [{
|
|
21
18
|
field: 'id',
|
|
22
19
|
headerName: 'id',
|
|
@@ -25,7 +22,6 @@ export const getBasicGridData = (rowLength, colLength) => {
|
|
|
25
22
|
field: 'currencyPair',
|
|
26
23
|
headerName: 'Currency Pair'
|
|
27
24
|
}];
|
|
28
|
-
|
|
29
25
|
for (let j = 1; j <= pricesColLength; j += 1) {
|
|
30
26
|
// const y = Math.floor(j / 12);
|
|
31
27
|
columns.push({
|
|
@@ -36,7 +32,6 @@ export const getBasicGridData = (rowLength, colLength) => {
|
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
columns.length = colLength; // we cut the array in case < 2;
|
|
39
|
-
|
|
40
35
|
return {
|
|
41
36
|
columns,
|
|
42
37
|
rows: data
|
|
@@ -2,86 +2,72 @@ import globalChance from 'chance';
|
|
|
2
2
|
import { COLORS, COMMODITY_OPTIONS, CONTRACT_TYPE_OPTIONS, COUNTRY_ISO_OPTIONS, CURRENCY_OPTIONS, INCOTERM_OPTIONS, RATE_TYPE_OPTIONS, STATUS_OPTIONS, TAXCODE_OPTIONS } from './static-data';
|
|
3
3
|
const chanceId = globalChance();
|
|
4
4
|
let chance;
|
|
5
|
-
|
|
6
5
|
if (typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM) {
|
|
7
6
|
chance = globalChance(() => 0.5);
|
|
8
7
|
} else {
|
|
9
8
|
chance = chanceId;
|
|
10
9
|
}
|
|
11
|
-
|
|
12
10
|
/**
|
|
13
11
|
* Wrap a data generator that returns a string and add a prefix if the value generated has already been given
|
|
14
12
|
*/
|
|
15
13
|
const uniquenessHandler = generator => (data, context) => {
|
|
16
14
|
var _context$values$rawVa;
|
|
17
|
-
|
|
18
15
|
const rawValue = generator(data, context);
|
|
19
|
-
|
|
20
16
|
if (!context.values) {
|
|
21
17
|
return rawValue;
|
|
22
18
|
}
|
|
23
|
-
|
|
24
19
|
const valueCount = ((_context$values$rawVa = context.values[rawValue]) != null ? _context$values$rawVa : 0) + 1;
|
|
25
20
|
context.values[rawValue] = valueCount + 1;
|
|
26
|
-
|
|
27
21
|
if (valueCount > 1) {
|
|
28
22
|
return `${rawValue} ${valueCount}`;
|
|
29
23
|
}
|
|
30
|
-
|
|
31
24
|
return rawValue;
|
|
32
25
|
};
|
|
33
|
-
|
|
34
26
|
function dateFuture(years, refDate) {
|
|
35
27
|
let date = new Date();
|
|
36
|
-
|
|
37
28
|
if (typeof refDate !== 'undefined') {
|
|
38
29
|
date = new Date(Date.parse(refDate));
|
|
39
30
|
}
|
|
40
|
-
|
|
41
31
|
const range = {
|
|
42
32
|
min: 1000,
|
|
43
33
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
44
|
-
};
|
|
34
|
+
};
|
|
45
35
|
|
|
36
|
+
// some time from now to N years later, in milliseconds
|
|
46
37
|
const past = date.getTime() + chance.integer(range);
|
|
47
38
|
date.setTime(past);
|
|
48
39
|
return date;
|
|
49
40
|
}
|
|
50
|
-
|
|
51
41
|
function dateRecent(days, refDate) {
|
|
52
42
|
let date = new Date();
|
|
53
|
-
|
|
54
43
|
if (typeof refDate !== 'undefined') {
|
|
55
44
|
date = new Date(Date.parse(refDate));
|
|
56
45
|
}
|
|
57
|
-
|
|
58
46
|
const range = {
|
|
59
47
|
min: 1000,
|
|
60
48
|
max: (days || 1) * 24 * 3600 * 1000
|
|
61
|
-
};
|
|
49
|
+
};
|
|
62
50
|
|
|
51
|
+
// some time from now to N days ago, in milliseconds
|
|
63
52
|
const past = date.getTime() - chance.integer(range);
|
|
64
53
|
date.setTime(past);
|
|
65
54
|
return date;
|
|
66
55
|
}
|
|
67
|
-
|
|
68
56
|
function datePast(years, refDate) {
|
|
69
57
|
let date = new Date();
|
|
70
|
-
|
|
71
58
|
if (typeof refDate !== 'undefined') {
|
|
72
59
|
date = new Date(Date.parse(refDate));
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
const range = {
|
|
76
62
|
min: 1000,
|
|
77
63
|
max: (years || 1) * 365 * 24 * 3600 * 1000
|
|
78
|
-
};
|
|
64
|
+
};
|
|
79
65
|
|
|
66
|
+
// some time from now to N years ago, in milliseconds
|
|
80
67
|
const past = date.getTime() - chance.integer(range);
|
|
81
68
|
date.setTime(past);
|
|
82
69
|
return date;
|
|
83
70
|
}
|
|
84
|
-
|
|
85
71
|
export const random = (min, max) => chance.floating({
|
|
86
72
|
min,
|
|
87
73
|
max
|
|
@@ -6,35 +6,26 @@ export function getRealGridData(rowLength, columns) {
|
|
|
6
6
|
};
|
|
7
7
|
const rows = [];
|
|
8
8
|
const indexedValues = {};
|
|
9
|
-
|
|
10
9
|
function work() {
|
|
11
10
|
const row = {};
|
|
12
|
-
|
|
13
11
|
for (let j = 0; j < columns.length; j += 1) {
|
|
14
12
|
const column = columns[j];
|
|
15
|
-
|
|
16
13
|
if (column.generateData) {
|
|
17
14
|
const context = {};
|
|
18
|
-
|
|
19
15
|
if (column.dataGeneratorUniquenessEnabled) {
|
|
20
16
|
let fieldValues = indexedValues[column.field];
|
|
21
|
-
|
|
22
17
|
if (!fieldValues) {
|
|
23
18
|
fieldValues = {};
|
|
24
19
|
indexedValues[column.field] = fieldValues;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
21
|
context.values = fieldValues;
|
|
28
22
|
}
|
|
29
|
-
|
|
30
23
|
row[column.field] = column.generateData(row, context);
|
|
31
24
|
}
|
|
32
25
|
}
|
|
33
|
-
|
|
34
26
|
rows.push(row);
|
|
35
27
|
tasks.current -= 1;
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
const columnVisibilityModel = {};
|
|
39
30
|
columns.forEach(col => {
|
|
40
31
|
if (col.hide) {
|
|
@@ -2,51 +2,41 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import { randomArrayItem } from './random-generator';
|
|
3
3
|
export const addTreeDataOptionsToDemoData = (data, options = {}) => {
|
|
4
4
|
var _groupingCol$headerNa;
|
|
5
|
-
|
|
6
5
|
const {
|
|
7
6
|
averageChildren = 2,
|
|
8
7
|
maxDepth = 1,
|
|
9
8
|
groupingField
|
|
10
9
|
} = options;
|
|
11
10
|
const hasTreeData = maxDepth > 1 && groupingField != null;
|
|
12
|
-
|
|
13
11
|
if (!hasTreeData) {
|
|
14
12
|
return data;
|
|
15
13
|
}
|
|
16
|
-
|
|
17
14
|
if (data.rows.length > 1000) {
|
|
18
15
|
throw new Error('MUI: useDemoData tree data mode only works up to 1000 rows.');
|
|
19
16
|
}
|
|
20
|
-
|
|
21
17
|
const rowsByTreeDepth = {};
|
|
22
18
|
const rowsCount = data.rows.length;
|
|
23
19
|
const groupingCol = data.columns.find(col => col.field === options.groupingField);
|
|
24
|
-
|
|
25
20
|
if (!groupingCol) {
|
|
26
21
|
throw new Error('MUI: The tree data grouping field does not exist');
|
|
27
22
|
}
|
|
28
|
-
|
|
29
23
|
data.initialState.columns.columnVisibilityModel[groupingField] = false;
|
|
30
|
-
|
|
31
24
|
for (let i = 0; i < rowsCount; i += 1) {
|
|
32
25
|
const row = data.rows[i];
|
|
33
26
|
const currentChunk = Math.floor(i * (averageChildren ** maxDepth - 1) / rowsCount) + 1;
|
|
34
27
|
const currentDepth = Math.floor(Math.log(currentChunk) / Math.log(averageChildren));
|
|
35
|
-
|
|
36
28
|
if (!rowsByTreeDepth[currentDepth]) {
|
|
37
29
|
rowsByTreeDepth[currentDepth] = {
|
|
38
30
|
rows: {},
|
|
39
31
|
rowIndexes: []
|
|
40
32
|
};
|
|
41
33
|
}
|
|
42
|
-
|
|
43
34
|
rowsByTreeDepth[currentDepth].rows[i] = {
|
|
44
35
|
value: row,
|
|
45
36
|
parentIndex: null
|
|
46
37
|
};
|
|
47
38
|
rowsByTreeDepth[currentDepth].rowIndexes.push(i);
|
|
48
39
|
}
|
|
49
|
-
|
|
50
40
|
Object.entries(rowsByTreeDepth).forEach(([depthStr, {
|
|
51
41
|
rows
|
|
52
42
|
}]) => {
|
|
@@ -54,24 +44,19 @@ export const addTreeDataOptionsToDemoData = (data, options = {}) => {
|
|
|
54
44
|
Object.values(rows).forEach(row => {
|
|
55
45
|
const path = [];
|
|
56
46
|
let previousRow = null;
|
|
57
|
-
|
|
58
47
|
for (let k = depth; k >= 0; k -= 1) {
|
|
59
48
|
let rowTemp;
|
|
60
|
-
|
|
61
49
|
if (k === depth) {
|
|
62
50
|
if (depth > 0) {
|
|
63
51
|
row.parentIndex = Number(randomArrayItem(rowsByTreeDepth[depth - 1].rowIndexes));
|
|
64
52
|
}
|
|
65
|
-
|
|
66
53
|
rowTemp = row;
|
|
67
54
|
} else {
|
|
68
55
|
rowTemp = rowsByTreeDepth[k].rows[previousRow.parentIndex];
|
|
69
56
|
}
|
|
70
|
-
|
|
71
57
|
path.unshift(rowTemp.value[groupingField]);
|
|
72
58
|
previousRow = rowTemp;
|
|
73
59
|
}
|
|
74
|
-
|
|
75
60
|
row.value.path = path;
|
|
76
61
|
});
|
|
77
62
|
});
|