@mui/x-data-grid-generator 7.7.0 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,155 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.loadServerRows = exports.createFakeServer = void 0;
7
+ exports.createFakeServer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _xDataGridPro = require("@mui/x-data-grid-pro");
11
11
  var _internals = require("@mui/x-data-grid/internals");
12
12
  var _useDemoData = require("./useDemoData");
13
- var _randomGenerator = require("../services/random-generator");
13
+ var _serverUtils = require("./serverUtils");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
- const apiRef = {};
17
- const simplifiedValueGetter = (field, colDef) => row => {
18
- return colDef.valueGetter?.(row[row.id], row, colDef, apiRef) || row[field];
19
- };
20
- const getRowComparator = (sortModel, columnsWithDefaultColDef) => {
21
- if (!sortModel) {
22
- const comparator = () => 0;
23
- return comparator;
24
- }
25
- const sortOperators = sortModel.map(sortItem => {
26
- const columnField = sortItem.field;
27
- const colDef = columnsWithDefaultColDef.find(({
28
- field
29
- }) => field === columnField);
30
- return (0, _extends2.default)({}, sortItem, {
31
- valueGetter: simplifiedValueGetter(columnField, colDef),
32
- sortComparator: colDef.sortComparator
33
- });
34
- });
35
- const comparator = (row1, row2) => sortOperators.reduce((acc, {
36
- valueGetter,
37
- sort,
38
- sortComparator
39
- }) => {
40
- if (acc !== 0) {
41
- return acc;
42
- }
43
- const v1 = valueGetter(row1);
44
- const v2 = valueGetter(row2);
45
- return sort === 'desc' ? -1 * sortComparator(v1, v2) : sortComparator(v1, v2);
46
- }, 0);
47
- return comparator;
48
- };
49
- const getFilteredRows = (rows, filterModel, columnsWithDefaultColDef) => {
50
- if (filterModel === undefined || filterModel.items.length === 0) {
51
- return rows;
52
- }
53
- const valueGetters = filterModel.items.map(({
54
- field
55
- }) => simplifiedValueGetter(field, columnsWithDefaultColDef.find(column => column.field === field)));
56
- const filterFunctions = filterModel.items.map(filterItem => {
57
- const {
58
- field,
59
- operator
60
- } = filterItem;
61
- const colDef = columnsWithDefaultColDef.find(column => column.field === field);
62
- const filterOperator = colDef.filterOperators.find(({
63
- value
64
- }) => operator === value);
65
- let parsedValue = filterItem.value;
66
- if (colDef.valueParser) {
67
- const parser = colDef.valueParser;
68
- parsedValue = Array.isArray(filterItem.value) ? filterItem.value?.map(x => parser(x)) : parser(filterItem.value);
69
- }
70
- return filterOperator?.getApplyFilterFn({
71
- filterItem,
72
- value: parsedValue
73
- }, colDef);
74
- });
75
- if (filterModel.logicOperator === _xDataGridPro.GridLogicOperator.Or) {
76
- return rows.filter(row => filterModel.items.some((_, index) => {
77
- const value = valueGetters[index](row);
78
- return filterFunctions[index] === null ? true : filterFunctions[index]({
79
- value
80
- });
81
- }));
82
- }
83
- return rows.filter(row => filterModel.items.every((_, index) => {
84
- const value = valueGetters[index](row);
85
- return filterFunctions[index] === null ? true : filterFunctions[index](value);
86
- }));
87
- };
88
-
89
- /**
90
- * Simulates server data loading
91
- */
92
- const loadServerRows = (rows, queryOptions, serverOptions, columnsWithDefaultColDef) => {
93
- const {
94
- minDelay = 100,
95
- maxDelay = 300,
96
- useCursorPagination
97
- } = serverOptions;
98
- if (maxDelay < minDelay) {
99
- throw new Error('serverOptions.minDelay is larger than serverOptions.maxDelay ');
100
- }
101
- const delay = (0, _randomGenerator.randomInt)(minDelay, maxDelay);
102
- const {
103
- cursor,
104
- page = 0,
105
- pageSize
106
- } = queryOptions;
107
- let nextCursor;
108
- let firstRowIndex;
109
- let lastRowIndex;
110
- let filteredRows = getFilteredRows(rows, queryOptions.filterModel, columnsWithDefaultColDef);
111
- const rowComparator = getRowComparator(queryOptions.sortModel, columnsWithDefaultColDef);
112
- filteredRows = [...filteredRows].sort(rowComparator);
113
- const totalRowCount = filteredRows.length;
114
- if (!pageSize) {
115
- firstRowIndex = 0;
116
- lastRowIndex = filteredRows.length;
117
- } else if (useCursorPagination) {
118
- firstRowIndex = cursor ? filteredRows.findIndex(({
119
- id
120
- }) => id === cursor) : 0;
121
- firstRowIndex = Math.max(firstRowIndex, 0); // if cursor not found return 0
122
- lastRowIndex = firstRowIndex + pageSize;
123
- nextCursor = lastRowIndex >= filteredRows.length ? undefined : filteredRows[lastRowIndex].id;
124
- } else {
125
- firstRowIndex = page * pageSize;
126
- lastRowIndex = (page + 1) * pageSize;
127
- }
128
- const hasNextPage = lastRowIndex < filteredRows.length - 1;
129
- const response = {
130
- returnedRows: filteredRows.slice(firstRowIndex, lastRowIndex),
131
- nextCursor,
132
- hasNextPage,
133
- totalRowCount
134
- };
135
- return new Promise(resolve => {
136
- setTimeout(() => {
137
- resolve(response);
138
- }, delay); // simulate network latency
139
- });
140
- };
141
- exports.loadServerRows = loadServerRows;
142
- const DEFAULT_DATASET_OPTIONS = {
143
- dataSet: 'Commodity',
144
- rowLength: 100,
145
- maxColumns: 6
146
- };
147
- const disableDelay = typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM;
148
- const DEFAULT_SERVER_OPTIONS = {
149
- minDelay: disableDelay ? 0 : 100,
150
- maxDelay: disableDelay ? 0 : 300,
151
- useCursorPagination: true
152
- };
153
16
  const createFakeServer = (dataSetOptions, serverOptions) => {
154
- const dataSetOptionsWithDefault = (0, _extends2.default)({}, DEFAULT_DATASET_OPTIONS, dataSetOptions);
155
- const serverOptionsWithDefault = (0, _extends2.default)({}, DEFAULT_SERVER_OPTIONS, serverOptions);
17
+ const dataSetOptionsWithDefault = (0, _extends2.default)({}, _serverUtils.DEFAULT_DATASET_OPTIONS, dataSetOptions);
18
+ const serverOptionsWithDefault = (0, _extends2.default)({}, _serverUtils.DEFAULT_SERVER_OPTIONS, serverOptions);
156
19
  const columns = (0, _useDemoData.getColumnsFromOptions)(dataSetOptionsWithDefault);
157
20
  const initialState = (0, _useDemoData.getInitialState)(dataSetOptionsWithDefault, columns);
158
21
  const defaultColDef = (0, _xDataGridPro.getGridDefaultColumnTypes)();
@@ -187,7 +50,7 @@ const createFakeServer = (dataSetOptions, serverOptions) => {
187
50
  nextCursor,
188
51
  totalRowCount,
189
52
  hasNextPage
190
- } = await loadServerRows(rows, queryOptions, serverOptionsWithDefault, columnsWithDefaultColDef);
53
+ } = await (0, _serverUtils.loadServerRows)(rows, queryOptions, serverOptionsWithDefault, columnsWithDefaultColDef);
191
54
  if (!active) {
192
55
  return;
193
56
  }
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-generator v7.7.0
2
+ * @mui/x-data-grid-generator v7.8.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-generator",
3
- "version": "7.7.0",
3
+ "version": "7.8.0",
4
4
  "description": "Generate fake data for demo purposes only.",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -28,7 +28,7 @@
28
28
  "chance": "^1.1.11",
29
29
  "clsx": "^2.1.1",
30
30
  "lru-cache": "^7.18.3",
31
- "@mui/x-data-grid-premium": "7.7.0"
31
+ "@mui/x-data-grid-premium": "7.8.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@mui/icons-material": "^5.4.1",