@mui/x-data-grid-generator 8.0.0-beta.3 → 8.0.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.
Files changed (108) hide show
  1. package/CHANGELOG.md +282 -96
  2. package/columns/commodities.columns.js +1 -1
  3. package/columns/employees.columns.js +1 -0
  4. package/constants/prompts.d.ts +1 -1
  5. package/constants/prompts.js +8 -4
  6. package/esm/columns/commodities.columns.js +1 -1
  7. package/esm/columns/employees.columns.js +1 -0
  8. package/esm/constants/prompts.d.ts +1 -1
  9. package/esm/constants/prompts.js +8 -4
  10. package/esm/hooks/serverUtils.js +15 -7
  11. package/esm/hooks/useDemoData.js +2 -2
  12. package/esm/hooks/useMockServer.d.ts +2 -2
  13. package/esm/hooks/useMockServer.js +64 -12
  14. package/esm/hooks/useQuery.d.ts +6 -3
  15. package/esm/index.js +1 -1
  16. package/esm/renderer/renderCountry.d.ts +1 -2
  17. package/esm/renderer/renderCountry.js +3 -0
  18. package/esm/services/prompt-resolver.d.ts +2 -2
  19. package/esm/services/prompt-resolver.js +3 -2
  20. package/hooks/serverUtils.js +15 -7
  21. package/hooks/useDemoData.js +2 -2
  22. package/hooks/useMockServer.d.ts +2 -2
  23. package/hooks/useMockServer.js +64 -12
  24. package/hooks/useQuery.d.ts +6 -3
  25. package/index.js +1 -1
  26. package/package.json +5 -14
  27. package/renderer/renderCountry.d.ts +1 -2
  28. package/renderer/renderCountry.js +3 -0
  29. package/services/prompt-resolver.d.ts +2 -2
  30. package/services/prompt-resolver.js +3 -2
  31. package/modern/columns/commodities.columns.d.ts +0 -2
  32. package/modern/columns/commodities.columns.js +0 -231
  33. package/modern/columns/employees.columns.d.ts +0 -2
  34. package/modern/columns/employees.columns.js +0 -134
  35. package/modern/columns/index.d.ts +0 -2
  36. package/modern/columns/index.js +0 -2
  37. package/modern/constants/prompts.d.ts +0 -2
  38. package/modern/constants/prompts.js +0 -49
  39. package/modern/hooks/index.d.ts +0 -8
  40. package/modern/hooks/index.js +0 -6
  41. package/modern/hooks/serverUtils.d.ts +0 -61
  42. package/modern/hooks/serverUtils.js +0 -527
  43. package/modern/hooks/useBasicDemoData.d.ts +0 -2
  44. package/modern/hooks/useBasicDemoData.js +0 -5
  45. package/modern/hooks/useDemoData.d.ts +0 -30
  46. package/modern/hooks/useDemoData.js +0 -159
  47. package/modern/hooks/useMockServer.d.ts +0 -31
  48. package/modern/hooks/useMockServer.js +0 -265
  49. package/modern/hooks/useMovieData.d.ts +0 -21
  50. package/modern/hooks/useMovieData.js +0 -500
  51. package/modern/hooks/useQuery.d.ts +0 -169
  52. package/modern/hooks/useQuery.js +0 -84
  53. package/modern/index.d.ts +0 -4
  54. package/modern/index.js +0 -11
  55. package/modern/package.json +0 -1
  56. package/modern/renderer/index.d.ts +0 -16
  57. package/modern/renderer/index.js +0 -16
  58. package/modern/renderer/renderAvatar.d.ts +0 -6
  59. package/modern/renderer/renderAvatar.js +0 -14
  60. package/modern/renderer/renderCountry.d.ts +0 -4
  61. package/modern/renderer/renderCountry.js +0 -57
  62. package/modern/renderer/renderEditCountry.d.ts +0 -4
  63. package/modern/renderer/renderEditCountry.js +0 -80
  64. package/modern/renderer/renderEditCurrency.d.ts +0 -3
  65. package/modern/renderer/renderEditCurrency.js +0 -78
  66. package/modern/renderer/renderEditIncoterm.d.ts +0 -3
  67. package/modern/renderer/renderEditIncoterm.js +0 -75
  68. package/modern/renderer/renderEditProgress.d.ts +0 -3
  69. package/modern/renderer/renderEditProgress.js +0 -109
  70. package/modern/renderer/renderEditRating.d.ts +0 -3
  71. package/modern/renderer/renderEditRating.js +0 -68
  72. package/modern/renderer/renderEditStatus.d.ts +0 -3
  73. package/modern/renderer/renderEditStatus.js +0 -98
  74. package/modern/renderer/renderEmail.d.ts +0 -3
  75. package/modern/renderer/renderEmail.js +0 -11
  76. package/modern/renderer/renderIncoterm.d.ts +0 -3
  77. package/modern/renderer/renderIncoterm.js +0 -40
  78. package/modern/renderer/renderLink.d.ts +0 -10
  79. package/modern/renderer/renderLink.js +0 -31
  80. package/modern/renderer/renderPnl.d.ts +0 -3
  81. package/modern/renderer/renderPnl.js +0 -41
  82. package/modern/renderer/renderProgress.d.ts +0 -3
  83. package/modern/renderer/renderProgress.js +0 -70
  84. package/modern/renderer/renderRating.d.ts +0 -3
  85. package/modern/renderer/renderRating.js +0 -38
  86. package/modern/renderer/renderStatus.d.ts +0 -3
  87. package/modern/renderer/renderStatus.js +0 -74
  88. package/modern/renderer/renderTotalPrice.d.ts +0 -3
  89. package/modern/renderer/renderTotalPrice.js +0 -49
  90. package/modern/services/asyncWorker.d.ts +0 -11
  91. package/modern/services/asyncWorker.js +0 -27
  92. package/modern/services/basic-data-service.d.ts +0 -13
  93. package/modern/services/basic-data-service.js +0 -37
  94. package/modern/services/gridColDefGenerator.d.ts +0 -23
  95. package/modern/services/gridColDefGenerator.js +0 -1
  96. package/modern/services/index.d.ts +0 -5
  97. package/modern/services/index.js +0 -5
  98. package/modern/services/prompt-resolver.d.ts +0 -2
  99. package/modern/services/prompt-resolver.js +0 -13
  100. package/modern/services/random-generator.d.ts +0 -49
  101. package/modern/services/random-generator.js +0 -124
  102. package/modern/services/real-data-service.d.ts +0 -8
  103. package/modern/services/real-data-service.js +0 -49
  104. package/modern/services/static-data.d.ts +0 -18
  105. package/modern/services/static-data.js +0 -1258
  106. package/modern/services/tree-data-generator.d.ts +0 -21
  107. package/modern/services/tree-data-generator.js +0 -70
  108. package/tsconfig.build.tsbuildinfo +0 -1
@@ -45,8 +45,8 @@ const getColumnsFromOptions = options => {
45
45
  throw new Error('Unknown dataset');
46
46
  }
47
47
  if (options.visibleFields) {
48
- columns = columns.map(col => options.visibleFields?.includes(col.field) ? col : (0, _extends2.default)({}, col, {
49
- hide: true
48
+ columns = columns.map(col => (0, _extends2.default)({}, col, {
49
+ hide: !options.visibleFields?.includes(col.field)
50
50
  }));
51
51
  }
52
52
  if (options.maxColumns) {
@@ -93,7 +93,8 @@ function sendEmptyResponse() {
93
93
  });
94
94
  }
95
95
  const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
96
- const [data, setData] = React.useState();
96
+ const dataRef = React.useRef(null);
97
+ const [isDataReady, setDataReady] = React.useState(false);
97
98
  const [index, setIndex] = React.useState(0);
98
99
  const shouldRequestsFailRef = React.useRef(shouldRequestsFail ?? false);
99
100
  React.useEffect(() => {
@@ -134,7 +135,8 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
134
135
  // of the demos.
135
136
  if (dataCache.has(cacheKey)) {
136
137
  const newData = dataCache.get(cacheKey);
137
- setData(newData);
138
+ dataRef.current = newData;
139
+ setDataReady(true);
138
140
  return undefined;
139
141
  }
140
142
  if (options.dataSet === 'Movies') {
@@ -142,7 +144,8 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
142
144
  rows: (0, _useMovieData.getMovieRows)(),
143
145
  columns
144
146
  };
145
- setData(rowsData);
147
+ dataRef.current = rowsData;
148
+ setDataReady(true);
146
149
  dataCache.set(cacheKey, rowsData);
147
150
  return undefined;
148
151
  }
@@ -170,14 +173,15 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
170
173
  (0, _useDemoData.deepFreeze)(rowData);
171
174
  }
172
175
  dataCache.set(cacheKey, rowData);
173
- setData(rowData);
176
+ dataRef.current = rowData;
177
+ setDataReady(true);
174
178
  })();
175
179
  return () => {
176
180
  active = false;
177
181
  };
178
182
  }, [columns, isTreeData, options.rowLength, options.treeData?.maxDepth, options.treeData?.groupingField, options.treeData?.averageChildren, options.dataSet, options.maxColumns, index]);
179
183
  const fetchRows = React.useCallback(async requestUrl => {
180
- if (!requestUrl || !data?.rows) {
184
+ if (!requestUrl || !isDataReady) {
181
185
  return sendEmptyResponse();
182
186
  }
183
187
  const params = decodeParams(requestUrl);
@@ -211,7 +215,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
211
215
  rows,
212
216
  rootRowCount,
213
217
  aggregateRow
214
- } = await (0, _serverUtils.processTreeDataRows)(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
218
+ } = await (0, _serverUtils.processTreeDataRows)(dataRef.current?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
215
219
  getRowsResponse = (0, _extends2.default)({
216
220
  rows: rows.slice().map(row => (0, _extends2.default)({}, row, {
217
221
  path: undefined
@@ -225,7 +229,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
225
229
  rows,
226
230
  rootRowCount,
227
231
  aggregateRow
228
- } = await (0, _serverUtils.processRowGroupingRows)(data?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
232
+ } = await (0, _serverUtils.processRowGroupingRows)(dataRef.current?.rows ?? [], params, serverOptionsWithDefault, columnsWithDefaultColDef);
229
233
  getRowsResponse = (0, _extends2.default)({
230
234
  rows: rows.slice().map(row => (0, _extends2.default)({}, row, {
231
235
  path: undefined
@@ -240,7 +244,7 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
240
244
  nextCursor,
241
245
  totalRowCount,
242
246
  aggregateRow
243
- } = await (0, _serverUtils.loadServerRows)(data?.rows ?? [], (0, _extends2.default)({}, params, params.paginationModel), serverOptionsWithDefault, columnsWithDefaultColDef);
247
+ } = await (0, _serverUtils.loadServerRows)(dataRef.current?.rows ?? [], (0, _extends2.default)({}, params, params.paginationModel), serverOptionsWithDefault, columnsWithDefaultColDef);
244
248
  getRowsResponse = (0, _extends2.default)({
245
249
  rows: returnedRows,
246
250
  rowCount: totalRowCount,
@@ -257,17 +261,65 @@ const useMockServer = (dataSetOptions, serverOptions, shouldRequestsFail) => {
257
261
  }
258
262
  resolve(getRowsResponse);
259
263
  });
260
- }, [data, serverOptions?.verbose, serverOptions?.minDelay, serverOptions?.maxDelay, serverOptions?.useCursorPagination, isTreeData, columnsWithDefaultColDef, isRowGrouping]);
264
+ }, [dataRef, isDataReady, serverOptions?.verbose, serverOptions?.minDelay, serverOptions?.maxDelay, serverOptions?.useCursorPagination, isTreeData, columnsWithDefaultColDef, isRowGrouping]);
265
+ const editRow = React.useCallback(async (rowId, updatedRow) => {
266
+ return new Promise((resolve, reject) => {
267
+ const minDelay = serverOptions?.minDelay ?? _serverUtils.DEFAULT_SERVER_OPTIONS.minDelay;
268
+ const maxDelay = serverOptions?.maxDelay ?? _serverUtils.DEFAULT_SERVER_OPTIONS.maxDelay;
269
+ const delay = (0, _services.randomInt)(minDelay, maxDelay);
270
+ const verbose = serverOptions?.verbose ?? true;
271
+ // eslint-disable-next-line no-console
272
+ const print = console.info;
273
+ if (verbose) {
274
+ print('MUI X: DATASOURCE EDIT ROW REQUEST', {
275
+ rowId,
276
+ updatedRow
277
+ });
278
+ }
279
+ if (shouldRequestsFailRef.current) {
280
+ setTimeout(() => reject(new Error(`Could not update the row with the id ${rowId}`)), delay);
281
+ if (verbose) {
282
+ print('MUI X: DATASOURCE EDIT ROW FAILURE', {
283
+ rowId,
284
+ updatedRow
285
+ });
286
+ }
287
+ return;
288
+ }
289
+ const newRows = [...(dataRef.current?.rows || [])];
290
+ const rowIndex = newRows.findIndex(row => row.id === rowId) ?? -1;
291
+ if (rowIndex === -1) {
292
+ return;
293
+ }
294
+ newRows[rowIndex] = updatedRow;
295
+ const newData = (0, _extends2.default)({}, dataRef.current, {
296
+ rows: newRows
297
+ });
298
+ const cacheKey = `${options.dataSet}-${options.rowLength}-${index}-${options.maxColumns}`;
299
+ dataCache.set(cacheKey, newData);
300
+ setTimeout(() => {
301
+ if (verbose) {
302
+ print('MUI X: DATASOURCE EDIT ROW SUCCESS', {
303
+ rowId,
304
+ updatedRow
305
+ });
306
+ }
307
+ resolve(updatedRow);
308
+ }, delay);
309
+ dataRef.current = newData;
310
+ });
311
+ }, [index, options.dataSet, options.maxColumns, options.rowLength, serverOptions?.maxDelay, serverOptions?.minDelay, serverOptions?.verbose]);
261
312
  return {
262
313
  columns: columnsWithDefaultColDef,
263
314
  initialState: options.dataSet === 'Movies' ? {} : initialState,
264
315
  getGroupKey,
265
316
  getChildrenCount,
266
317
  fetchRows,
318
+ editRow,
267
319
  loadNewData: () => {
268
320
  setIndex(oldIndex => oldIndex + 1);
269
321
  },
270
- isReady: Boolean(data?.rows?.length)
322
+ isReady: isDataReady
271
323
  };
272
324
  };
273
325
  exports.useMockServer = useMockServer;
@@ -44,12 +44,13 @@ export declare const createFakeServer: (dataSetOptions?: Partial<UseDemoDataOpti
44
44
  disableReorder?: boolean;
45
45
  disableExport?: boolean;
46
46
  colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
47
- unstable_examples?: any[] | undefined;
47
+ examples?: any[] | undefined;
48
48
  renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
49
49
  aggregable?: boolean;
50
50
  availableAggregationFunctions?: string[];
51
51
  groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
52
52
  pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
53
+ pivotable?: boolean;
53
54
  generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
54
55
  dataGeneratorUniquenessEnabled?: boolean;
55
56
  hide?: boolean;
@@ -94,12 +95,13 @@ export declare const createFakeServer: (dataSetOptions?: Partial<UseDemoDataOpti
94
95
  disableReorder?: boolean;
95
96
  disableExport?: boolean;
96
97
  colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
97
- unstable_examples?: any[] | undefined;
98
+ examples?: any[] | undefined;
98
99
  renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
99
100
  aggregable?: boolean;
100
101
  availableAggregationFunctions?: string[];
101
102
  groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
102
103
  pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
104
+ pivotable?: boolean;
103
105
  generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
104
106
  dataGeneratorUniquenessEnabled?: boolean;
105
107
  hide?: boolean;
@@ -146,12 +148,13 @@ export declare const createFakeServer: (dataSetOptions?: Partial<UseDemoDataOpti
146
148
  disableReorder?: boolean;
147
149
  disableExport?: boolean;
148
150
  colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
149
- unstable_examples?: any[] | undefined;
151
+ examples?: any[] | undefined;
150
152
  renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
151
153
  aggregable?: boolean;
152
154
  availableAggregationFunctions?: string[];
153
155
  groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
154
156
  pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
157
+ pivotable?: boolean;
155
158
  generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
156
159
  dataGeneratorUniquenessEnabled?: boolean;
157
160
  hide?: boolean;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-generator v8.0.0-beta.3
2
+ * @mui/x-data-grid-generator v8.0.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": "8.0.0-beta.3",
3
+ "version": "8.0.0",
4
4
  "description": "Generate fake data for demo purposes only.",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -27,7 +27,10 @@
27
27
  "chance": "^1.1.12",
28
28
  "clsx": "^2.1.1",
29
29
  "lru-cache": "^11.1.0",
30
- "@mui/x-data-grid-premium": "8.0.0-beta.3"
30
+ "@mui/x-data-grid": "8.0.0",
31
+ "@mui/x-data-grid-pro": "8.0.0",
32
+ "@mui/x-data-grid-premium": "8.0.0",
33
+ "@mui/x-internals": "8.0.0"
31
34
  },
32
35
  "peerDependencies": {
33
36
  "@emotion/react": "^11.9.0",
@@ -54,10 +57,6 @@
54
57
  "import": {
55
58
  "types": "./esm/index.d.ts",
56
59
  "default": "./esm/index.js"
57
- },
58
- "mui-modern": {
59
- "types": "./modern/index.d.ts",
60
- "default": "./modern/index.js"
61
60
  }
62
61
  },
63
62
  "./*": {
@@ -68,10 +67,6 @@
68
67
  "import": {
69
68
  "types": "./esm/*/index.d.ts",
70
69
  "default": "./esm/*/index.js"
71
- },
72
- "mui-modern": {
73
- "types": "./modern/*/index.d.ts",
74
- "default": "./modern/*/index.js"
75
70
  }
76
71
  },
77
72
  "./esm": null,
@@ -84,10 +79,6 @@
84
79
  "import": {
85
80
  "types": "./esm/services/static-data.d.ts",
86
81
  "default": "./esm/services/static-data.js"
87
- },
88
- "mui-modern": {
89
- "types": "./modern/services/static-data.d.ts",
90
- "default": "./modern/services/static-data.js"
91
82
  }
92
83
  }
93
84
  },
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { GridRenderCellParams } from '@mui/x-data-grid-premium';
3
2
  import { CountryIsoOption } from "../services/static-data.js";
4
- export declare function renderCountry(params: GridRenderCellParams<CountryIsoOption, any, any>): "" | React.JSX.Element | null;
3
+ export declare function renderCountry(params: GridRenderCellParams<CountryIsoOption, any, any>): any;
@@ -59,6 +59,9 @@ function renderCountry(params) {
59
59
  if (params.aggregation && !params.aggregation.hasCellUnit) {
60
60
  return null;
61
61
  }
62
+ if (params.rowNode.type === 'group') {
63
+ return params.value;
64
+ }
62
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Country, {
63
66
  value: params.value
64
67
  });
@@ -1,2 +1,2 @@
1
- import { unstable_PromptResponse as PromptResponse } from '@mui/x-data-grid-premium';
2
- export declare const mockPromptResolver: (_: string, query: string) => Promise<PromptResponse>;
1
+ import { PromptResponse } from '@mui/x-data-grid-premium';
2
+ export declare const mockPromptResolver: (query: string, _: string) => Promise<PromptResponse>;
@@ -5,14 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.mockPromptResolver = void 0;
7
7
  var _prompts = require("../constants/prompts");
8
- const mockPromptResolver = (_, query) => {
8
+ const mockPromptResolver = (query, _) => {
9
9
  const resolved = _prompts.mockPrompts.get(query.toLowerCase().trim());
10
10
  return new Promise((resolve, reject) => {
11
11
  setTimeout(() => {
12
12
  if (resolved) {
13
13
  resolve(resolved);
14
14
  } else {
15
- reject(new Error('Unknown query'));
15
+ console.error(`Unsupported query: ${query}`);
16
+ reject(new Error('Could not process prompt'));
16
17
  }
17
18
  }, 1000);
18
19
  });
@@ -1,2 +0,0 @@
1
- import { GridColDefGenerator } from "../services/gridColDefGenerator.js";
2
- export declare const getCommodityColumns: (editable?: boolean) => GridColDefGenerator[];
@@ -1,231 +0,0 @@
1
- import { gridStringOrNumberComparator } from '@mui/x-data-grid-premium';
2
- import { randomCommodity, randomDesk, randomEmail, randomFeeRate, generateFilledQuantity, randomId, randomIncoterm, generateIsFilled, randomQuantity, randomTraderName, randomUnitPrice, randomUnitPriceCurrency, randomStatusOptions, randomPnL, randomTradeDate, randomMaturityDate, randomBrokerId, randomCompanyName, randomCountry, randomCurrency, randomAddress, randomCity, randomUpdatedDate, randomCreatedDate, randomRateType, randomContractType, randomTaxCode } from "../services/index.js";
3
- import { renderCountry, renderEmail, renderIncoterm, renderPnl, renderProgress, renderStatus, renderTotalPrice, renderEditCurrency, renderEditProgress, renderEditStatus, renderEditIncoterm } from "../renderer/index.js";
4
- import { CONTRACT_TYPE_OPTIONS, COUNTRY_ISO_OPTIONS_SORTED, CURRENCY_OPTIONS, INCOTERM_OPTIONS, RATE_TYPE_OPTIONS, STATUS_OPTIONS, TAXCODE_OPTIONS } from "../services/static-data.js";
5
- export const getCommodityColumns = (editable = false) => [{
6
- field: 'id',
7
- generateData: randomId,
8
- hide: true
9
- }, {
10
- field: 'desk',
11
- headerName: 'Desk',
12
- generateData: randomDesk,
13
- width: 110
14
- }, {
15
- field: 'commodity',
16
- headerName: 'Commodity',
17
- generateData: randomCommodity,
18
- width: 180,
19
- editable
20
- }, {
21
- field: 'traderName',
22
- headerName: 'Trader Name',
23
- generateData: randomTraderName,
24
- width: 120,
25
- editable
26
- }, {
27
- field: 'traderEmail',
28
- headerName: 'Trader Email',
29
- generateData: randomEmail,
30
- renderCell: renderEmail,
31
- width: 150,
32
- editable
33
- }, {
34
- field: 'quantity',
35
- headerName: 'Quantity',
36
- type: 'number',
37
- width: 140,
38
- generateData: randomQuantity,
39
- editable,
40
- valueParser: value => Number(value)
41
- }, {
42
- field: 'filledQuantity',
43
- headerName: 'Filled Quantity',
44
- generateData: generateFilledQuantity,
45
- renderCell: renderProgress,
46
- renderEditCell: renderEditProgress,
47
- availableAggregationFunctions: ['min', 'max', 'avg', 'size'],
48
- type: 'number',
49
- width: 120,
50
- editable
51
- }, {
52
- field: 'isFilled',
53
- headerName: 'Is Filled',
54
- align: 'center',
55
- generateData: generateIsFilled,
56
- type: 'boolean',
57
- width: 80,
58
- editable
59
- }, {
60
- field: 'status',
61
- headerName: 'Status',
62
- generateData: randomStatusOptions,
63
- renderCell: renderStatus,
64
- renderEditCell: renderEditStatus,
65
- type: 'singleSelect',
66
- valueOptions: STATUS_OPTIONS,
67
- width: 150,
68
- editable
69
- }, {
70
- field: 'unitPrice',
71
- headerName: 'Unit Price',
72
- generateData: randomUnitPrice,
73
- type: 'number',
74
- editable,
75
- valueParser: value => Number(value)
76
- }, {
77
- field: 'unitPriceCurrency',
78
- headerName: 'Unit Price Currency',
79
- generateData: randomUnitPriceCurrency,
80
- renderEditCell: renderEditCurrency,
81
- type: 'singleSelect',
82
- valueOptions: CURRENCY_OPTIONS,
83
- width: 120,
84
- editable
85
- }, {
86
- field: 'subTotal',
87
- headerName: 'Sub Total',
88
- valueGetter: (value, row) => row.quantity == null || row.unitPrice == null ? null : row.quantity * row.unitPrice,
89
- type: 'number',
90
- width: 120
91
- }, {
92
- field: 'feeRate',
93
- headerName: 'Fee Rate',
94
- generateData: randomFeeRate,
95
- type: 'number',
96
- width: 80,
97
- editable,
98
- valueParser: value => Number(value)
99
- }, {
100
- field: 'feeAmount',
101
- headerName: 'Fee Amount',
102
- valueGetter: (value, row) => row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate * row.quantity * row.unitPrice,
103
- type: 'number',
104
- width: 120
105
- }, {
106
- field: 'incoTerm',
107
- headerName: 'Incoterm',
108
- generateData: randomIncoterm,
109
- renderCell: renderIncoterm,
110
- renderEditCell: renderEditIncoterm,
111
- type: 'singleSelect',
112
- valueOptions: INCOTERM_OPTIONS,
113
- editable
114
- }, {
115
- field: 'totalPrice',
116
- headerName: 'Total in USD',
117
- valueGetter: (value, row) => row.feeRate == null || row.quantity == null || row.unitPrice == null ? null : row.feeRate + row.quantity * row.unitPrice,
118
- renderCell: renderTotalPrice,
119
- type: 'number',
120
- width: 160
121
- }, {
122
- field: 'pnl',
123
- headerName: 'PnL',
124
- generateData: randomPnL,
125
- renderCell: renderPnl,
126
- type: 'number',
127
- width: 140
128
- }, {
129
- field: 'maturityDate',
130
- headerName: 'Maturity Date',
131
- generateData: randomMaturityDate,
132
- type: 'date',
133
- editable
134
- }, {
135
- field: 'tradeDate',
136
- headerName: 'Trade Date',
137
- generateData: randomTradeDate,
138
- type: 'date',
139
- editable
140
- }, {
141
- field: 'brokerId',
142
- headerName: 'Broker Id',
143
- generateData: randomBrokerId,
144
- hide: true,
145
- editable
146
- }, {
147
- field: 'brokerName',
148
- headerName: 'Broker Name',
149
- generateData: randomCompanyName,
150
- width: 140,
151
- editable
152
- }, {
153
- field: 'counterPartyName',
154
- headerName: 'Counterparty',
155
- generateData: randomCompanyName,
156
- width: 180,
157
- editable
158
- }, {
159
- field: 'counterPartyCountry',
160
- headerName: 'Counterparty Country',
161
- type: 'singleSelect',
162
- generateData: randomCountry,
163
- renderCell: renderCountry,
164
- valueOptions: COUNTRY_ISO_OPTIONS_SORTED,
165
- valueParser: value => {
166
- if (typeof value === 'string') {
167
- return COUNTRY_ISO_OPTIONS_SORTED.find(country => country.value === value);
168
- }
169
- return value;
170
- },
171
- valueFormatter: value => value?.label,
172
- groupingValueGetter: value => value.code,
173
- sortComparator: (v1, v2, param1, param2) => gridStringOrNumberComparator(v1.label, v2.label, param1, param2),
174
- editable,
175
- width: 120
176
- }, {
177
- field: 'counterPartyCurrency',
178
- headerName: 'Counterparty Currency',
179
- generateData: randomCurrency,
180
- renderEditCell: renderEditCurrency,
181
- type: 'singleSelect',
182
- valueOptions: CURRENCY_OPTIONS,
183
- editable
184
- }, {
185
- field: 'counterPartyAddress',
186
- headerName: 'Counterparty Address',
187
- generateData: randomAddress,
188
- width: 200,
189
- editable
190
- }, {
191
- field: 'counterPartyCity',
192
- headerName: 'Counterparty City',
193
- generateData: randomCity,
194
- width: 120,
195
- editable
196
- }, {
197
- field: 'taxCode',
198
- headerName: 'Tax Code',
199
- generateData: randomTaxCode,
200
- type: 'singleSelect',
201
- valueOptions: TAXCODE_OPTIONS,
202
- editable
203
- }, {
204
- field: 'contractType',
205
- headerName: 'Contract Type',
206
- generateData: randomContractType,
207
- type: 'singleSelect',
208
- valueOptions: CONTRACT_TYPE_OPTIONS,
209
- editable
210
- }, {
211
- field: 'rateType',
212
- headerName: 'Rate Type',
213
- generateData: randomRateType,
214
- type: 'singleSelect',
215
- valueOptions: RATE_TYPE_OPTIONS,
216
- editable
217
- }, {
218
- field: 'lastUpdated',
219
- headerName: 'Updated on',
220
- generateData: randomUpdatedDate,
221
- type: 'dateTime',
222
- width: 180,
223
- editable
224
- }, {
225
- field: 'dateCreated',
226
- headerName: 'Created on',
227
- generateData: randomCreatedDate,
228
- type: 'date',
229
- width: 150,
230
- editable
231
- }];
@@ -1,2 +0,0 @@
1
- import { GridColDefGenerator } from "../services/gridColDefGenerator.js";
2
- export declare const getEmployeeColumns: () => GridColDefGenerator[];
@@ -1,134 +0,0 @@
1
- import { gridStringOrNumberComparator } from '@mui/x-data-grid-premium';
2
- import { randomCity, randomCompanyName, randomCountry, randomCreatedDate, randomEmail, randomId, randomJobTitle, randomPhoneNumber, randomRating, randomUpdatedDate, randomUrl, randomUserName, randomBoolean, randomName, randomColor, randomInt } from "../services/index.js";
3
- import { renderAvatar, renderCountry, renderEmail, renderLink, renderRating, renderEditRating, renderEditCountry } from "../renderer/index.js";
4
- import { COUNTRY_ISO_OPTIONS_SORTED } from "../services/static-data.js";
5
- export const getEmployeeColumns = () => [{
6
- field: 'id',
7
- generateData: randomId,
8
- hide: true
9
- }, {
10
- field: 'avatar',
11
- headerName: 'Avatar',
12
- generateData: randomColor,
13
- display: 'flex',
14
- renderCell: renderAvatar,
15
- valueGetter: (value, row) => row.name == null || row.avatar == null ? null : {
16
- name: row.name,
17
- color: row.avatar
18
- },
19
- sortable: false,
20
- filterable: false,
21
- groupable: false,
22
- aggregable: false,
23
- disableExport: true
24
- }, {
25
- field: 'name',
26
- headerName: 'Name',
27
- generateData: randomName,
28
- dataGeneratorUniquenessEnabled: true,
29
- width: 120,
30
- editable: true,
31
- groupable: false,
32
- aggregable: false
33
- }, {
34
- field: 'website',
35
- headerName: 'Website',
36
- generateData: randomUrl,
37
- renderCell: renderLink,
38
- width: 160,
39
- editable: true,
40
- groupable: false,
41
- aggregable: false
42
- }, {
43
- field: 'rating',
44
- headerName: 'Rating',
45
- generateData: randomRating,
46
- display: 'flex',
47
- renderCell: renderRating,
48
- renderEditCell: renderEditRating,
49
- width: 180,
50
- type: 'number',
51
- editable: true,
52
- availableAggregationFunctions: ['avg', 'min', 'max', 'size']
53
- }, {
54
- field: 'email',
55
- headerName: 'Email',
56
- generateData: randomEmail,
57
- renderCell: renderEmail,
58
- width: 150,
59
- editable: true
60
- }, {
61
- field: 'phone',
62
- headerName: 'Phone',
63
- generateData: randomPhoneNumber,
64
- width: 150,
65
- editable: true
66
- }, {
67
- field: 'username',
68
- headerName: 'Username',
69
- generateData: randomUserName,
70
- width: 150,
71
- editable: true
72
- }, {
73
- field: 'city',
74
- headerName: 'City',
75
- generateData: randomCity,
76
- editable: true
77
- }, {
78
- field: 'country',
79
- headerName: 'Country',
80
- type: 'singleSelect',
81
- valueOptions: COUNTRY_ISO_OPTIONS_SORTED,
82
- valueFormatter: value => value?.label,
83
- generateData: randomCountry,
84
- renderCell: renderCountry,
85
- renderEditCell: renderEditCountry,
86
- sortComparator: (v1, v2, param1, param2) => gridStringOrNumberComparator(v1.label, v2.label, param1, param2),
87
- width: 150,
88
- editable: true
89
- }, {
90
- field: 'company',
91
- headerName: 'Company',
92
- generateData: randomCompanyName,
93
- width: 180,
94
- editable: true
95
- }, {
96
- field: 'position',
97
- description: 'Job title',
98
- headerName: 'Position',
99
- generateData: randomJobTitle,
100
- width: 180,
101
- editable: true
102
- }, {
103
- field: 'lastUpdated',
104
- headerName: 'Updated on',
105
- generateData: randomUpdatedDate,
106
- type: 'dateTime',
107
- width: 180,
108
- editable: true
109
- }, {
110
- field: 'dateCreated',
111
- headerName: 'Created on',
112
- generateData: randomCreatedDate,
113
- type: 'date',
114
- width: 120,
115
- editable: true
116
- }, {
117
- field: 'isAdmin',
118
- headerName: 'Is admin?',
119
- generateData: randomBoolean,
120
- type: 'boolean',
121
- width: 150,
122
- editable: true
123
- }, {
124
- field: 'salary',
125
- headerName: 'Salary',
126
- generateData: () => randomInt(30000, 80000),
127
- type: 'number',
128
- valueFormatter: value => {
129
- if (!value || typeof value !== 'number') {
130
- return value;
131
- }
132
- return `$${value.toLocaleString()}`;
133
- }
134
- }];
@@ -1,2 +0,0 @@
1
- export * from "./commodities.columns.js";
2
- export * from "./employees.columns.js";
@@ -1,2 +0,0 @@
1
- export * from "./commodities.columns.js";
2
- export * from "./employees.columns.js";
@@ -1,2 +0,0 @@
1
- import { unstable_PromptResponse as PromptResponse } from '@mui/x-data-grid-premium';
2
- export declare const mockPrompts: Map<string, PromptResponse>;