@mui/x-data-grid-generator 8.0.0-alpha.11 → 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 +161 -1
- 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
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { GridRowModel } from '@mui/x-data-grid-pro';
|
|
3
|
+
import { UseDemoDataOptions } from "./useDemoData.js";
|
|
4
|
+
import type { ServerOptions, QueryOptions, PageInfo } from './serverUtils';
|
|
5
|
+
export declare const createFakeServer: (dataSetOptions?: Partial<UseDemoDataOptions>, serverOptions?: ServerOptions) => {
|
|
6
|
+
columns: import("..").GridColDefGenerator[];
|
|
7
|
+
columnsWithDefaultColDef: ({
|
|
8
|
+
field: string;
|
|
9
|
+
headerName?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
width?: number;
|
|
12
|
+
flex?: number;
|
|
13
|
+
minWidth?: number;
|
|
14
|
+
maxWidth?: number;
|
|
15
|
+
hideable?: boolean;
|
|
16
|
+
sortable?: boolean;
|
|
17
|
+
sortingOrder?: readonly import("@mui/x-data-grid").GridSortDirection[];
|
|
18
|
+
resizable?: boolean;
|
|
19
|
+
editable?: boolean;
|
|
20
|
+
groupable?: boolean;
|
|
21
|
+
pinnable?: boolean;
|
|
22
|
+
sortComparator?: import("@mui/x-data-grid").GridComparatorFn<any> | undefined;
|
|
23
|
+
getSortComparator?: ((sortDirection: import("@mui/x-data-grid").GridSortDirection) => import("@mui/x-data-grid").GridComparatorFn<any> | undefined) | undefined;
|
|
24
|
+
type?: import("@mui/x-data-grid").GridColType;
|
|
25
|
+
align?: import("@mui/x-data-grid").GridAlignment;
|
|
26
|
+
valueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
27
|
+
rowSpanValueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
28
|
+
valueSetter?: import("@mui/x-data-grid").GridValueSetter<any, any, any> | undefined;
|
|
29
|
+
valueFormatter?: import("@mui/x-data-grid").GridValueFormatter<any, any, any, never> | undefined;
|
|
30
|
+
valueParser?: import("@mui/x-data-grid").GridValueParser<any, any, any> | undefined;
|
|
31
|
+
cellClassName?: import("@mui/x-data-grid").GridCellClassNamePropType<any, any> | undefined;
|
|
32
|
+
display?: "text" | "flex";
|
|
33
|
+
renderCell?: ((params: import("@mui/x-data-grid").GridRenderCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
34
|
+
renderEditCell?: ((params: import("@mui/x-data-grid").GridRenderEditCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
35
|
+
preProcessEditCellProps?: ((params: import("@mui/x-data-grid").GridPreProcessEditCellProps) => import("@mui/x-data-grid").GridEditCellProps | Promise<import("@mui/x-data-grid").GridEditCellProps>) | undefined;
|
|
36
|
+
headerClassName?: import("@mui/x-data-grid").GridColumnHeaderClassNamePropType;
|
|
37
|
+
renderHeader?: ((params: import("@mui/x-data-grid").GridColumnHeaderParams<any, any, any>) => React.ReactNode) | undefined;
|
|
38
|
+
headerAlign?: import("@mui/x-data-grid").GridAlignment;
|
|
39
|
+
hideSortIcons?: boolean;
|
|
40
|
+
disableColumnMenu?: boolean;
|
|
41
|
+
filterable?: boolean;
|
|
42
|
+
filterOperators?: readonly import("@mui/x-data-grid").GridFilterOperator<any, any, any, any>[] | undefined;
|
|
43
|
+
getApplyQuickFilterFn?: import("@mui/x-data-grid").GetApplyQuickFilterFn<any, any> | undefined;
|
|
44
|
+
disableReorder?: boolean;
|
|
45
|
+
disableExport?: boolean;
|
|
46
|
+
colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
|
|
47
|
+
unstable_examples?: any[] | undefined;
|
|
48
|
+
renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
|
|
49
|
+
aggregable?: boolean;
|
|
50
|
+
availableAggregationFunctions?: string[];
|
|
51
|
+
groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
|
|
52
|
+
pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
|
|
53
|
+
generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
|
|
54
|
+
dataGeneratorUniquenessEnabled?: boolean;
|
|
55
|
+
hide?: boolean;
|
|
56
|
+
} | {
|
|
57
|
+
type: "actions";
|
|
58
|
+
getActions: (params: import("@mui/x-data-grid").GridRowParams<any>) => readonly React.ReactElement<import("@mui/x-data-grid").GridActionsCellItemProps>[];
|
|
59
|
+
field: string;
|
|
60
|
+
headerName?: string;
|
|
61
|
+
description?: string;
|
|
62
|
+
width?: number;
|
|
63
|
+
flex?: number;
|
|
64
|
+
minWidth?: number;
|
|
65
|
+
maxWidth?: number;
|
|
66
|
+
hideable?: boolean;
|
|
67
|
+
sortable?: boolean;
|
|
68
|
+
sortingOrder?: readonly import("@mui/x-data-grid").GridSortDirection[];
|
|
69
|
+
resizable?: boolean;
|
|
70
|
+
editable?: boolean;
|
|
71
|
+
groupable?: boolean;
|
|
72
|
+
pinnable?: boolean;
|
|
73
|
+
sortComparator?: import("@mui/x-data-grid").GridComparatorFn<any> | undefined;
|
|
74
|
+
getSortComparator?: ((sortDirection: import("@mui/x-data-grid").GridSortDirection) => import("@mui/x-data-grid").GridComparatorFn<any> | undefined) | undefined;
|
|
75
|
+
align?: import("@mui/x-data-grid").GridAlignment;
|
|
76
|
+
valueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
77
|
+
rowSpanValueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
78
|
+
valueSetter?: import("@mui/x-data-grid").GridValueSetter<any, any, any> | undefined;
|
|
79
|
+
valueFormatter?: import("@mui/x-data-grid").GridValueFormatter<any, any, any, never> | undefined;
|
|
80
|
+
valueParser?: import("@mui/x-data-grid").GridValueParser<any, any, any> | undefined;
|
|
81
|
+
cellClassName?: import("@mui/x-data-grid").GridCellClassNamePropType<any, any> | undefined;
|
|
82
|
+
display?: "text" | "flex";
|
|
83
|
+
renderCell?: ((params: import("@mui/x-data-grid").GridRenderCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
84
|
+
renderEditCell?: ((params: import("@mui/x-data-grid").GridRenderEditCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
85
|
+
preProcessEditCellProps?: ((params: import("@mui/x-data-grid").GridPreProcessEditCellProps) => import("@mui/x-data-grid").GridEditCellProps | Promise<import("@mui/x-data-grid").GridEditCellProps>) | undefined;
|
|
86
|
+
headerClassName?: import("@mui/x-data-grid").GridColumnHeaderClassNamePropType;
|
|
87
|
+
renderHeader?: ((params: import("@mui/x-data-grid").GridColumnHeaderParams<any, any, any>) => React.ReactNode) | undefined;
|
|
88
|
+
headerAlign?: import("@mui/x-data-grid").GridAlignment;
|
|
89
|
+
hideSortIcons?: boolean;
|
|
90
|
+
disableColumnMenu?: boolean;
|
|
91
|
+
filterable?: boolean;
|
|
92
|
+
filterOperators?: readonly import("@mui/x-data-grid").GridFilterOperator<any, any, any, any>[] | undefined;
|
|
93
|
+
getApplyQuickFilterFn?: import("@mui/x-data-grid").GetApplyQuickFilterFn<any, any> | undefined;
|
|
94
|
+
disableReorder?: boolean;
|
|
95
|
+
disableExport?: boolean;
|
|
96
|
+
colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
|
|
97
|
+
unstable_examples?: any[] | undefined;
|
|
98
|
+
renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
|
|
99
|
+
aggregable?: boolean;
|
|
100
|
+
availableAggregationFunctions?: string[];
|
|
101
|
+
groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
|
|
102
|
+
pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
|
|
103
|
+
generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
|
|
104
|
+
dataGeneratorUniquenessEnabled?: boolean;
|
|
105
|
+
hide?: boolean;
|
|
106
|
+
} | {
|
|
107
|
+
type: "singleSelect";
|
|
108
|
+
valueOptions?: import("@mui/x-data-grid").ValueOptions[] | ((params: import("@mui/x-data-grid").GridValueOptionsParams<any>) => Array<import("@mui/x-data-grid").ValueOptions>) | undefined;
|
|
109
|
+
getOptionLabel?: (value: import("@mui/x-data-grid").ValueOptions) => string;
|
|
110
|
+
getOptionValue?: (value: import("@mui/x-data-grid").ValueOptions) => any;
|
|
111
|
+
field: string;
|
|
112
|
+
headerName?: string;
|
|
113
|
+
description?: string;
|
|
114
|
+
width?: number;
|
|
115
|
+
flex?: number;
|
|
116
|
+
minWidth?: number;
|
|
117
|
+
maxWidth?: number;
|
|
118
|
+
hideable?: boolean;
|
|
119
|
+
sortable?: boolean;
|
|
120
|
+
sortingOrder?: readonly import("@mui/x-data-grid").GridSortDirection[];
|
|
121
|
+
resizable?: boolean;
|
|
122
|
+
editable?: boolean;
|
|
123
|
+
groupable?: boolean;
|
|
124
|
+
pinnable?: boolean;
|
|
125
|
+
sortComparator?: import("@mui/x-data-grid").GridComparatorFn<any> | undefined;
|
|
126
|
+
getSortComparator?: ((sortDirection: import("@mui/x-data-grid").GridSortDirection) => import("@mui/x-data-grid").GridComparatorFn<any> | undefined) | undefined;
|
|
127
|
+
align?: import("@mui/x-data-grid").GridAlignment;
|
|
128
|
+
valueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
129
|
+
rowSpanValueGetter?: import("@mui/x-data-grid").GridValueGetter<any, any, any, never> | undefined;
|
|
130
|
+
valueSetter?: import("@mui/x-data-grid").GridValueSetter<any, any, any> | undefined;
|
|
131
|
+
valueFormatter?: import("@mui/x-data-grid").GridValueFormatter<any, any, any, never> | undefined;
|
|
132
|
+
valueParser?: import("@mui/x-data-grid").GridValueParser<any, any, any> | undefined;
|
|
133
|
+
cellClassName?: import("@mui/x-data-grid").GridCellClassNamePropType<any, any> | undefined;
|
|
134
|
+
display?: "text" | "flex";
|
|
135
|
+
renderCell?: ((params: import("@mui/x-data-grid").GridRenderCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
136
|
+
renderEditCell?: ((params: import("@mui/x-data-grid").GridRenderEditCellParams<any, any, any, import("@mui/x-data-grid").GridTreeNodeWithRender>) => React.ReactNode) | undefined;
|
|
137
|
+
preProcessEditCellProps?: ((params: import("@mui/x-data-grid").GridPreProcessEditCellProps) => import("@mui/x-data-grid").GridEditCellProps | Promise<import("@mui/x-data-grid").GridEditCellProps>) | undefined;
|
|
138
|
+
headerClassName?: import("@mui/x-data-grid").GridColumnHeaderClassNamePropType;
|
|
139
|
+
renderHeader?: ((params: import("@mui/x-data-grid").GridColumnHeaderParams<any, any, any>) => React.ReactNode) | undefined;
|
|
140
|
+
headerAlign?: import("@mui/x-data-grid").GridAlignment;
|
|
141
|
+
hideSortIcons?: boolean;
|
|
142
|
+
disableColumnMenu?: boolean;
|
|
143
|
+
filterable?: boolean;
|
|
144
|
+
filterOperators?: readonly import("@mui/x-data-grid").GridFilterOperator<any, any, any, any>[] | undefined;
|
|
145
|
+
getApplyQuickFilterFn?: import("@mui/x-data-grid").GetApplyQuickFilterFn<any, any> | undefined;
|
|
146
|
+
disableReorder?: boolean;
|
|
147
|
+
disableExport?: boolean;
|
|
148
|
+
colSpan?: number | import("@mui/x-data-grid").GridColSpanFn<any, any, any> | undefined;
|
|
149
|
+
unstable_examples?: any[] | undefined;
|
|
150
|
+
renderHeaderFilter?: (params: import("@mui/x-data-grid-pro").GridRenderHeaderFilterProps) => React.ReactNode;
|
|
151
|
+
aggregable?: boolean;
|
|
152
|
+
availableAggregationFunctions?: string[];
|
|
153
|
+
groupingValueGetter?: import("@mui/x-data-grid-premium").GridGroupingValueGetter<any> | undefined;
|
|
154
|
+
pastedValueParser?: import("@mui/x-data-grid-premium").GridPastedValueParser<any, any, any> | undefined;
|
|
155
|
+
generateData?: (row: any, context: import("..").GridDataGeneratorContext) => any;
|
|
156
|
+
dataGeneratorUniquenessEnabled?: boolean;
|
|
157
|
+
hide?: boolean;
|
|
158
|
+
})[];
|
|
159
|
+
initialState: {
|
|
160
|
+
columns: {
|
|
161
|
+
columnVisibilityModel: import("@mui/x-data-grid").GridColumnVisibilityModel;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
useQuery: (queryOptions: QueryOptions) => {
|
|
165
|
+
pageInfo: PageInfo;
|
|
166
|
+
rows: GridRowModel[];
|
|
167
|
+
isLoading: boolean;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { getGridDefaultColumnTypes } from '@mui/x-data-grid-pro';
|
|
6
|
+
import { isDeepEqual } from '@mui/x-data-grid/internals';
|
|
7
|
+
import { useDemoData, getColumnsFromOptions, getInitialState } from "./useDemoData.js";
|
|
8
|
+
import { DEFAULT_SERVER_OPTIONS, loadServerRows } from "./serverUtils.js";
|
|
9
|
+
const DEFAULT_DATASET_OPTIONS = {
|
|
10
|
+
dataSet: 'Commodity',
|
|
11
|
+
rowLength: 100,
|
|
12
|
+
maxColumns: 6
|
|
13
|
+
};
|
|
14
|
+
export const createFakeServer = (dataSetOptions, serverOptions) => {
|
|
15
|
+
const dataSetOptionsWithDefault = _extends({}, DEFAULT_DATASET_OPTIONS, dataSetOptions);
|
|
16
|
+
const serverOptionsWithDefault = _extends({}, DEFAULT_SERVER_OPTIONS, serverOptions);
|
|
17
|
+
const columns = getColumnsFromOptions(dataSetOptionsWithDefault);
|
|
18
|
+
const initialState = getInitialState(dataSetOptionsWithDefault, columns);
|
|
19
|
+
const defaultColDef = getGridDefaultColumnTypes();
|
|
20
|
+
const columnsWithDefaultColDef = columns.map(column => _extends({}, defaultColDef[column.type || 'string'], column));
|
|
21
|
+
const useQuery = queryOptions => {
|
|
22
|
+
const {
|
|
23
|
+
data: {
|
|
24
|
+
rows
|
|
25
|
+
},
|
|
26
|
+
loading: dataGenerationIsLoading
|
|
27
|
+
} = useDemoData(dataSetOptionsWithDefault);
|
|
28
|
+
const queryOptionsRef = React.useRef(queryOptions);
|
|
29
|
+
const [response, setResponse] = React.useState({
|
|
30
|
+
pageInfo: {},
|
|
31
|
+
rows: []
|
|
32
|
+
});
|
|
33
|
+
const [isLoading, setIsLoading] = React.useState(dataGenerationIsLoading);
|
|
34
|
+
React.useEffect(() => {
|
|
35
|
+
if (dataGenerationIsLoading) {
|
|
36
|
+
// dataset is not ready
|
|
37
|
+
return () => {};
|
|
38
|
+
}
|
|
39
|
+
queryOptionsRef.current = queryOptions;
|
|
40
|
+
let active = true;
|
|
41
|
+
setIsLoading(true);
|
|
42
|
+
setResponse(prev => Object.keys(prev.pageInfo).length === 0 ? prev : _extends({}, prev, {
|
|
43
|
+
pageInfo: {}
|
|
44
|
+
}));
|
|
45
|
+
(async function fetchData() {
|
|
46
|
+
const {
|
|
47
|
+
returnedRows,
|
|
48
|
+
nextCursor,
|
|
49
|
+
totalRowCount,
|
|
50
|
+
hasNextPage
|
|
51
|
+
} = await loadServerRows(rows, queryOptions, serverOptionsWithDefault, columnsWithDefaultColDef);
|
|
52
|
+
if (!active) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const newRep = {
|
|
56
|
+
rows: returnedRows,
|
|
57
|
+
pageInfo: {
|
|
58
|
+
totalRowCount,
|
|
59
|
+
nextCursor,
|
|
60
|
+
hasNextPage,
|
|
61
|
+
pageSize: returnedRows.length
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
setResponse(prev => isDeepEqual(prev, newRep) ? prev : newRep);
|
|
65
|
+
setIsLoading(false);
|
|
66
|
+
})();
|
|
67
|
+
return () => {
|
|
68
|
+
active = false;
|
|
69
|
+
};
|
|
70
|
+
}, [dataGenerationIsLoading, queryOptions, rows]);
|
|
71
|
+
|
|
72
|
+
// We use queryOptions pointer to be sure that isLoading===true as soon as the options change
|
|
73
|
+
const effectShouldStart = queryOptionsRef.current !== queryOptions;
|
|
74
|
+
return _extends({
|
|
75
|
+
isLoading: isLoading || effectShouldStart
|
|
76
|
+
}, response);
|
|
77
|
+
};
|
|
78
|
+
return {
|
|
79
|
+
columns,
|
|
80
|
+
columnsWithDefaultColDef,
|
|
81
|
+
initialState,
|
|
82
|
+
useQuery
|
|
83
|
+
};
|
|
84
|
+
};
|
package/esm/index.d.ts
ADDED
package/esm/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mui/x-data-grid-generator v8.0.0-alpha.12
|
|
3
|
+
*
|
|
4
|
+
* @license MUI X Commercial
|
|
5
|
+
* This source code is licensed under the commercial license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./renderer/index.js";
|
|
9
|
+
export * from "./services/index.js";
|
|
10
|
+
export * from "./columns/index.js";
|
|
11
|
+
export * from "./hooks/index.js";
|
package/esm/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module","sideEffects":false}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./renderAvatar.js";
|
|
2
|
+
export * from "./renderCountry.js";
|
|
3
|
+
export * from "./renderEmail.js";
|
|
4
|
+
export * from "./renderIncoterm.js";
|
|
5
|
+
export * from "./renderLink.js";
|
|
6
|
+
export * from "./renderPnl.js";
|
|
7
|
+
export * from "./renderProgress.js";
|
|
8
|
+
export * from "./renderRating.js";
|
|
9
|
+
export * from "./renderStatus.js";
|
|
10
|
+
export * from "./renderTotalPrice.js";
|
|
11
|
+
export * from "./renderEditCurrency.js";
|
|
12
|
+
export * from "./renderEditProgress.js";
|
|
13
|
+
export * from "./renderEditStatus.js";
|
|
14
|
+
export * from "./renderEditIncoterm.js";
|
|
15
|
+
export * from "./renderEditRating.js";
|
|
16
|
+
export * from "./renderEditCountry.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./renderAvatar.js";
|
|
2
|
+
export * from "./renderCountry.js";
|
|
3
|
+
export * from "./renderEmail.js";
|
|
4
|
+
export * from "./renderIncoterm.js";
|
|
5
|
+
export * from "./renderLink.js";
|
|
6
|
+
export * from "./renderPnl.js";
|
|
7
|
+
export * from "./renderProgress.js";
|
|
8
|
+
export * from "./renderRating.js";
|
|
9
|
+
export * from "./renderStatus.js";
|
|
10
|
+
export * from "./renderTotalPrice.js";
|
|
11
|
+
export * from "./renderEditCurrency.js";
|
|
12
|
+
export * from "./renderEditProgress.js";
|
|
13
|
+
export * from "./renderEditStatus.js";
|
|
14
|
+
export * from "./renderEditIncoterm.js";
|
|
15
|
+
export * from "./renderEditRating.js";
|
|
16
|
+
export * from "./renderEditCountry.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import Avatar from '@mui/material/Avatar';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
export function renderAvatar(params) {
|
|
5
|
+
if (params.value == null) {
|
|
6
|
+
return '';
|
|
7
|
+
}
|
|
8
|
+
return /*#__PURE__*/_jsx(Avatar, {
|
|
9
|
+
style: {
|
|
10
|
+
backgroundColor: params.value.color
|
|
11
|
+
},
|
|
12
|
+
children: params.value.name.toUpperCase().substring(0, 1)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { GridRenderCellParams } from '@mui/x-data-grid-premium';
|
|
3
|
+
import { CountryIsoOption } from "../services/static-data.js";
|
|
4
|
+
export declare function renderCountry(params: GridRenderCellParams<CountryIsoOption, any, any>): "" | React.JSX.Element | null;
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.renderCountry = renderCountry;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import Box from '@mui/material/Box';
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
4
|
const Country = /*#__PURE__*/React.memo(function Country(props) {
|
|
13
5
|
const {
|
|
14
6
|
value
|
|
15
7
|
} = props;
|
|
16
|
-
return /*#__PURE__*/(
|
|
8
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
17
9
|
sx: {
|
|
18
10
|
width: '100%',
|
|
19
11
|
display: 'flex',
|
|
@@ -24,13 +16,13 @@ const Country = /*#__PURE__*/React.memo(function Country(props) {
|
|
|
24
16
|
width: '20px'
|
|
25
17
|
}
|
|
26
18
|
},
|
|
27
|
-
children: [/*#__PURE__*/(
|
|
19
|
+
children: [/*#__PURE__*/_jsx("img", {
|
|
28
20
|
loading: "lazy",
|
|
29
21
|
width: "20",
|
|
30
22
|
src: `https://flagcdn.com/w20/${value.code.toLowerCase()}.png`,
|
|
31
23
|
srcSet: `https://flagcdn.com/w40/${value.code.toLowerCase()}.png 2x`,
|
|
32
24
|
alt: ""
|
|
33
|
-
}), /*#__PURE__*/(
|
|
25
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
34
26
|
component: "span",
|
|
35
27
|
sx: {
|
|
36
28
|
overflow: 'hidden',
|
|
@@ -40,7 +32,7 @@ const Country = /*#__PURE__*/React.memo(function Country(props) {
|
|
|
40
32
|
})]
|
|
41
33
|
});
|
|
42
34
|
});
|
|
43
|
-
function renderCountry(params) {
|
|
35
|
+
export function renderCountry(params) {
|
|
44
36
|
if (params.value == null) {
|
|
45
37
|
return '';
|
|
46
38
|
}
|
|
@@ -50,7 +42,7 @@ function renderCountry(params) {
|
|
|
50
42
|
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
51
43
|
return null;
|
|
52
44
|
}
|
|
53
|
-
return /*#__PURE__*/(
|
|
45
|
+
return /*#__PURE__*/_jsx(Country, {
|
|
54
46
|
value: params.value
|
|
55
47
|
});
|
|
56
48
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { GridRenderEditCellParams } from '@mui/x-data-grid-premium';
|
|
3
|
+
import { CountryIsoOption } from "../services/static-data.js";
|
|
4
|
+
export declare function renderEditCountry(params: GridRenderEditCellParams<CountryIsoOption>): React.JSX.Element;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
4
|
+
import Autocomplete, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
5
|
+
import InputBase from '@mui/material/InputBase';
|
|
6
|
+
import Box from '@mui/material/Box';
|
|
7
|
+
import { styled } from '@mui/material/styles';
|
|
8
|
+
import { COUNTRY_ISO_OPTIONS } from "../services/static-data.js";
|
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
import { createElement as _createElement } from "react";
|
|
11
|
+
const StyledAutocomplete = styled(Autocomplete)(({
|
|
12
|
+
theme
|
|
13
|
+
}) => ({
|
|
14
|
+
height: '100%',
|
|
15
|
+
[`& .${autocompleteClasses.inputRoot}`]: _extends({}, theme.typography.body2, {
|
|
16
|
+
padding: '1px 0',
|
|
17
|
+
height: '100%',
|
|
18
|
+
'& input': {
|
|
19
|
+
padding: '0 16px',
|
|
20
|
+
height: '100%'
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
}));
|
|
24
|
+
function EditCountry(props) {
|
|
25
|
+
const {
|
|
26
|
+
id,
|
|
27
|
+
value,
|
|
28
|
+
field
|
|
29
|
+
} = props;
|
|
30
|
+
const apiRef = useGridApiContext();
|
|
31
|
+
const handleChange = React.useCallback(async (event, newValue) => {
|
|
32
|
+
await apiRef.current.setEditCellValue({
|
|
33
|
+
id,
|
|
34
|
+
field,
|
|
35
|
+
value: newValue
|
|
36
|
+
}, event);
|
|
37
|
+
apiRef.current.stopCellEditMode({
|
|
38
|
+
id,
|
|
39
|
+
field
|
|
40
|
+
});
|
|
41
|
+
}, [apiRef, field, id]);
|
|
42
|
+
return /*#__PURE__*/_jsx(StyledAutocomplete, {
|
|
43
|
+
value: value,
|
|
44
|
+
onChange: handleChange,
|
|
45
|
+
options: COUNTRY_ISO_OPTIONS,
|
|
46
|
+
getOptionLabel: option => option.label,
|
|
47
|
+
autoHighlight: true,
|
|
48
|
+
fullWidth: true,
|
|
49
|
+
open: true,
|
|
50
|
+
disableClearable: true,
|
|
51
|
+
renderOption: (optionProps, option) => /*#__PURE__*/_createElement(Box, _extends({
|
|
52
|
+
component: "li",
|
|
53
|
+
sx: {
|
|
54
|
+
'& > img': {
|
|
55
|
+
mr: 1.5,
|
|
56
|
+
flexShrink: 0
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, optionProps, {
|
|
60
|
+
key: option.code
|
|
61
|
+
}), /*#__PURE__*/_jsx("img", {
|
|
62
|
+
loading: "lazy",
|
|
63
|
+
width: "20",
|
|
64
|
+
src: `https://flagcdn.com/w20/${option.code.toLowerCase()}.png`,
|
|
65
|
+
srcSet: `https://flagcdn.com/w40/${option.code.toLowerCase()}.png 2x`,
|
|
66
|
+
alt: ""
|
|
67
|
+
}), option.label),
|
|
68
|
+
renderInput: params => /*#__PURE__*/_jsx(InputBase, _extends({
|
|
69
|
+
autoFocus: true,
|
|
70
|
+
fullWidth: true,
|
|
71
|
+
id: params.id,
|
|
72
|
+
inputProps: _extends({}, params.inputProps, {
|
|
73
|
+
autoComplete: 'new-password' // disable autocomplete and autofill
|
|
74
|
+
})
|
|
75
|
+
}, params.InputProps))
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
export function renderEditCountry(params) {
|
|
79
|
+
return /*#__PURE__*/_jsx(EditCountry, _extends({}, params));
|
|
80
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
4
|
+
import Autocomplete, { autocompleteClasses } from '@mui/material/Autocomplete';
|
|
5
|
+
import InputBase from '@mui/material/InputBase';
|
|
6
|
+
import Box from '@mui/material/Box';
|
|
7
|
+
import { styled } from '@mui/material/styles';
|
|
8
|
+
import { CURRENCY_OPTIONS } from "../services/static-data.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const StyledAutocomplete = styled(Autocomplete)(({
|
|
11
|
+
theme
|
|
12
|
+
}) => ({
|
|
13
|
+
height: '100%',
|
|
14
|
+
[`& .${autocompleteClasses.inputRoot}`]: _extends({}, theme.typography.body2, {
|
|
15
|
+
padding: '1px 0',
|
|
16
|
+
height: '100%',
|
|
17
|
+
'& input': {
|
|
18
|
+
padding: '0 16px',
|
|
19
|
+
height: '100%'
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
}));
|
|
23
|
+
function EditCurrency(props) {
|
|
24
|
+
const {
|
|
25
|
+
id,
|
|
26
|
+
value,
|
|
27
|
+
field
|
|
28
|
+
} = props;
|
|
29
|
+
const apiRef = useGridApiContext();
|
|
30
|
+
const handleChange = React.useCallback(async (event, newValue) => {
|
|
31
|
+
await apiRef.current.setEditCellValue({
|
|
32
|
+
id,
|
|
33
|
+
field,
|
|
34
|
+
value: newValue.toUpperCase()
|
|
35
|
+
}, event);
|
|
36
|
+
apiRef.current.stopCellEditMode({
|
|
37
|
+
id,
|
|
38
|
+
field
|
|
39
|
+
});
|
|
40
|
+
}, [apiRef, field, id]);
|
|
41
|
+
return /*#__PURE__*/_jsx(StyledAutocomplete, {
|
|
42
|
+
value: value,
|
|
43
|
+
onChange: handleChange,
|
|
44
|
+
options: CURRENCY_OPTIONS,
|
|
45
|
+
autoHighlight: true,
|
|
46
|
+
fullWidth: true,
|
|
47
|
+
open: true,
|
|
48
|
+
disableClearable: true,
|
|
49
|
+
renderOption: (optionProps, option) => /*#__PURE__*/_jsxs(Box, _extends({
|
|
50
|
+
component: "li",
|
|
51
|
+
sx: {
|
|
52
|
+
'& > img': {
|
|
53
|
+
mr: 1.5,
|
|
54
|
+
flexShrink: 0
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, optionProps, {
|
|
58
|
+
children: [/*#__PURE__*/_jsx("img", {
|
|
59
|
+
loading: "lazy",
|
|
60
|
+
width: "20",
|
|
61
|
+
src: `https://flagcdn.com/w20/${option.slice(0, -1).toLowerCase()}.png`,
|
|
62
|
+
srcSet: `https://flagcdn.com/w40/${option.slice(0, -1).toLowerCase()}.png 2x`,
|
|
63
|
+
alt: ""
|
|
64
|
+
}), option]
|
|
65
|
+
})),
|
|
66
|
+
renderInput: params => /*#__PURE__*/_jsx(InputBase, _extends({
|
|
67
|
+
autoFocus: true,
|
|
68
|
+
fullWidth: true,
|
|
69
|
+
id: params.id,
|
|
70
|
+
inputProps: _extends({}, params.inputProps, {
|
|
71
|
+
autoComplete: 'new-password' // disable autocomplete and autofill
|
|
72
|
+
})
|
|
73
|
+
}, params.InputProps))
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function renderEditCurrency(params) {
|
|
77
|
+
return /*#__PURE__*/_jsx(EditCurrency, _extends({}, params));
|
|
78
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
4
|
+
import Select from '@mui/material/Select';
|
|
5
|
+
import MenuItem from '@mui/material/MenuItem';
|
|
6
|
+
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
7
|
+
import ListItemText from '@mui/material/ListItemText';
|
|
8
|
+
import { INCOTERM_OPTIONS } from "../services/static-data.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
function EditIncoterm(props) {
|
|
11
|
+
const {
|
|
12
|
+
id,
|
|
13
|
+
value,
|
|
14
|
+
field
|
|
15
|
+
} = props;
|
|
16
|
+
const apiRef = useGridApiContext();
|
|
17
|
+
const handleChange = async event => {
|
|
18
|
+
await apiRef.current.setEditCellValue({
|
|
19
|
+
id,
|
|
20
|
+
field,
|
|
21
|
+
value: event.target.value
|
|
22
|
+
}, event);
|
|
23
|
+
apiRef.current.stopCellEditMode({
|
|
24
|
+
id,
|
|
25
|
+
field
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const handleClose = (event, reason) => {
|
|
29
|
+
if (reason === 'backdropClick') {
|
|
30
|
+
apiRef.current.stopCellEditMode({
|
|
31
|
+
id,
|
|
32
|
+
field
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
return /*#__PURE__*/_jsx(Select, {
|
|
37
|
+
value: value,
|
|
38
|
+
onChange: handleChange,
|
|
39
|
+
MenuProps: {
|
|
40
|
+
onClose: handleClose
|
|
41
|
+
},
|
|
42
|
+
sx: {
|
|
43
|
+
height: '100%',
|
|
44
|
+
'& .MuiSelect-select': {
|
|
45
|
+
display: 'flex',
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
pl: 1
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
autoFocus: true,
|
|
51
|
+
fullWidth: true,
|
|
52
|
+
open: true,
|
|
53
|
+
children: INCOTERM_OPTIONS.map(option => {
|
|
54
|
+
const tooltip = option.slice(option.indexOf('(') + 1, option.indexOf(')'));
|
|
55
|
+
const code = option.slice(0, option.indexOf('(')).trim();
|
|
56
|
+
return /*#__PURE__*/_jsxs(MenuItem, {
|
|
57
|
+
value: option,
|
|
58
|
+
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
59
|
+
sx: {
|
|
60
|
+
minWidth: 36
|
|
61
|
+
},
|
|
62
|
+
children: code
|
|
63
|
+
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
64
|
+
primary: tooltip,
|
|
65
|
+
sx: {
|
|
66
|
+
overflow: 'hidden'
|
|
67
|
+
}
|
|
68
|
+
})]
|
|
69
|
+
}, option);
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
export function renderEditIncoterm(params) {
|
|
74
|
+
return /*#__PURE__*/_jsx(EditIncoterm, _extends({}, params));
|
|
75
|
+
}
|