@mui/x-data-grid-generator 8.0.0-beta.3 → 8.1.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.
- package/CHANGELOG.md +388 -96
- package/columns/commodities.columns.js +1 -1
- package/columns/employees.columns.js +1 -0
- package/constants/prompts.d.ts +1 -1
- package/constants/prompts.js +8 -4
- package/esm/columns/commodities.columns.js +1 -1
- package/esm/columns/employees.columns.js +1 -0
- package/esm/constants/prompts.d.ts +1 -1
- package/esm/constants/prompts.js +8 -4
- package/esm/hooks/serverUtils.js +15 -7
- package/esm/hooks/useDemoData.js +2 -2
- package/esm/hooks/useMockServer.d.ts +2 -2
- package/esm/hooks/useMockServer.js +64 -12
- package/esm/hooks/useQuery.d.ts +6 -3
- package/esm/index.js +1 -1
- package/esm/renderer/renderCountry.d.ts +1 -2
- package/esm/renderer/renderCountry.js +3 -0
- package/esm/services/prompt-resolver.d.ts +2 -2
- package/esm/services/prompt-resolver.js +3 -2
- package/hooks/serverUtils.js +15 -7
- package/hooks/useDemoData.js +2 -2
- package/hooks/useMockServer.d.ts +2 -2
- package/hooks/useMockServer.js +64 -12
- package/hooks/useQuery.d.ts +6 -3
- package/index.js +1 -1
- package/package.json +5 -14
- package/renderer/renderCountry.d.ts +1 -2
- package/renderer/renderCountry.js +3 -0
- package/services/prompt-resolver.d.ts +2 -2
- package/services/prompt-resolver.js +3 -2
- package/modern/columns/commodities.columns.d.ts +0 -2
- package/modern/columns/commodities.columns.js +0 -231
- package/modern/columns/employees.columns.d.ts +0 -2
- package/modern/columns/employees.columns.js +0 -134
- package/modern/columns/index.d.ts +0 -2
- package/modern/columns/index.js +0 -2
- package/modern/constants/prompts.d.ts +0 -2
- package/modern/constants/prompts.js +0 -49
- package/modern/hooks/index.d.ts +0 -8
- package/modern/hooks/index.js +0 -6
- package/modern/hooks/serverUtils.d.ts +0 -61
- package/modern/hooks/serverUtils.js +0 -527
- package/modern/hooks/useBasicDemoData.d.ts +0 -2
- package/modern/hooks/useBasicDemoData.js +0 -5
- package/modern/hooks/useDemoData.d.ts +0 -30
- package/modern/hooks/useDemoData.js +0 -159
- package/modern/hooks/useMockServer.d.ts +0 -31
- package/modern/hooks/useMockServer.js +0 -265
- package/modern/hooks/useMovieData.d.ts +0 -21
- package/modern/hooks/useMovieData.js +0 -500
- package/modern/hooks/useQuery.d.ts +0 -169
- package/modern/hooks/useQuery.js +0 -84
- package/modern/index.d.ts +0 -4
- package/modern/index.js +0 -11
- package/modern/package.json +0 -1
- package/modern/renderer/index.d.ts +0 -16
- package/modern/renderer/index.js +0 -16
- package/modern/renderer/renderAvatar.d.ts +0 -6
- package/modern/renderer/renderAvatar.js +0 -14
- package/modern/renderer/renderCountry.d.ts +0 -4
- package/modern/renderer/renderCountry.js +0 -57
- package/modern/renderer/renderEditCountry.d.ts +0 -4
- package/modern/renderer/renderEditCountry.js +0 -80
- package/modern/renderer/renderEditCurrency.d.ts +0 -3
- package/modern/renderer/renderEditCurrency.js +0 -78
- package/modern/renderer/renderEditIncoterm.d.ts +0 -3
- package/modern/renderer/renderEditIncoterm.js +0 -75
- package/modern/renderer/renderEditProgress.d.ts +0 -3
- package/modern/renderer/renderEditProgress.js +0 -109
- package/modern/renderer/renderEditRating.d.ts +0 -3
- package/modern/renderer/renderEditRating.js +0 -68
- package/modern/renderer/renderEditStatus.d.ts +0 -3
- package/modern/renderer/renderEditStatus.js +0 -98
- package/modern/renderer/renderEmail.d.ts +0 -3
- package/modern/renderer/renderEmail.js +0 -11
- package/modern/renderer/renderIncoterm.d.ts +0 -3
- package/modern/renderer/renderIncoterm.js +0 -40
- package/modern/renderer/renderLink.d.ts +0 -10
- package/modern/renderer/renderLink.js +0 -31
- package/modern/renderer/renderPnl.d.ts +0 -3
- package/modern/renderer/renderPnl.js +0 -41
- package/modern/renderer/renderProgress.d.ts +0 -3
- package/modern/renderer/renderProgress.js +0 -70
- package/modern/renderer/renderRating.d.ts +0 -3
- package/modern/renderer/renderRating.js +0 -38
- package/modern/renderer/renderStatus.d.ts +0 -3
- package/modern/renderer/renderStatus.js +0 -74
- package/modern/renderer/renderTotalPrice.d.ts +0 -3
- package/modern/renderer/renderTotalPrice.js +0 -49
- package/modern/services/asyncWorker.d.ts +0 -11
- package/modern/services/asyncWorker.js +0 -27
- package/modern/services/basic-data-service.d.ts +0 -13
- package/modern/services/basic-data-service.js +0 -37
- package/modern/services/gridColDefGenerator.d.ts +0 -23
- package/modern/services/gridColDefGenerator.js +0 -1
- package/modern/services/index.d.ts +0 -5
- package/modern/services/index.js +0 -5
- package/modern/services/prompt-resolver.d.ts +0 -2
- package/modern/services/prompt-resolver.js +0 -13
- package/modern/services/random-generator.d.ts +0 -49
- package/modern/services/random-generator.js +0 -124
- package/modern/services/real-data-service.d.ts +0 -8
- package/modern/services/real-data-service.js +0 -49
- package/modern/services/static-data.d.ts +0 -18
- package/modern/services/static-data.js +0 -1258
- package/modern/services/tree-data-generator.d.ts +0 -21
- package/modern/services/tree-data-generator.js +0 -70
- package/tsconfig.build.tsbuildinfo +0 -1
package/modern/hooks/useQuery.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
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-internals/isDeepEqual';
|
|
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/modern/index.d.ts
DELETED
package/modern/index.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @mui/x-data-grid-generator v8.0.0-beta.3
|
|
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/modern/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type":"module","sideEffects":false}
|
|
@@ -1,16 +0,0 @@
|
|
|
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";
|
package/modern/renderer/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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";
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
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,57 +0,0 @@
|
|
|
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";
|
|
4
|
-
const useStaticFlag = typeof DISABLE_CHANCE_RANDOM !== 'undefined' && DISABLE_CHANCE_RANDOM;
|
|
5
|
-
const laosFlag = `
|
|
6
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 600">
|
|
7
|
-
<path fill="#ce1126" d="M0 0h900v600H0z" />
|
|
8
|
-
<path fill="#002868" d="M0 150h900v300H0z" />
|
|
9
|
-
<circle r="120" cy="300" cx="450" fill="#fff" />
|
|
10
|
-
</svg>
|
|
11
|
-
`;
|
|
12
|
-
const staticFlagURI = `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(laosFlag)}`;
|
|
13
|
-
const Country = /*#__PURE__*/React.memo(function Country(props) {
|
|
14
|
-
const {
|
|
15
|
-
value
|
|
16
|
-
} = props;
|
|
17
|
-
return /*#__PURE__*/_jsxs(Box, {
|
|
18
|
-
sx: {
|
|
19
|
-
width: '100%',
|
|
20
|
-
display: 'flex',
|
|
21
|
-
alignItems: 'center',
|
|
22
|
-
'& > img': {
|
|
23
|
-
mr: 0.5,
|
|
24
|
-
flexShrink: 0,
|
|
25
|
-
width: '20px'
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
children: [/*#__PURE__*/_jsx("img", {
|
|
29
|
-
loading: "lazy",
|
|
30
|
-
width: "20",
|
|
31
|
-
src: useStaticFlag ? staticFlagURI : `https://flagcdn.com/w20/${value.code.toLowerCase()}.png`,
|
|
32
|
-
srcSet: useStaticFlag ? undefined : `https://flagcdn.com/w40/${value.code.toLowerCase()}.png 2x`,
|
|
33
|
-
alt: ""
|
|
34
|
-
}), /*#__PURE__*/_jsx(Box, {
|
|
35
|
-
component: "span",
|
|
36
|
-
sx: {
|
|
37
|
-
overflow: 'hidden',
|
|
38
|
-
textOverflow: 'ellipsis'
|
|
39
|
-
},
|
|
40
|
-
children: value.label
|
|
41
|
-
})]
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
export function renderCountry(params) {
|
|
45
|
-
if (params.value == null) {
|
|
46
|
-
return '';
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// If the aggregated value does not have the same unit as the other cell
|
|
50
|
-
// Then we fall back to the default rendering based on `valueGetter` instead of rendering the total price UI.
|
|
51
|
-
if (params.aggregation && !params.aggregation.hasCellUnit) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return /*#__PURE__*/_jsx(Country, {
|
|
55
|
-
value: params.value
|
|
56
|
-
});
|
|
57
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
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;
|
|
@@ -1,80 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import clsx from 'clsx';
|
|
6
|
-
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
7
|
-
import Slider, { sliderClasses } from '@mui/material/Slider';
|
|
8
|
-
import Tooltip from '@mui/material/Tooltip';
|
|
9
|
-
import { unstable_debounce as debounce } from '@mui/utils';
|
|
10
|
-
import { alpha, styled } from '@mui/material/styles';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
const StyledSlider = styled(Slider)(({
|
|
13
|
-
theme
|
|
14
|
-
}) => ({
|
|
15
|
-
display: 'flex',
|
|
16
|
-
height: '100%',
|
|
17
|
-
width: '100%',
|
|
18
|
-
alignItems: 'center',
|
|
19
|
-
justifyContent: 'center',
|
|
20
|
-
padding: 0,
|
|
21
|
-
borderRadius: 0,
|
|
22
|
-
[`& .${sliderClasses.rail}`]: {
|
|
23
|
-
height: '100%',
|
|
24
|
-
backgroundColor: 'transparent'
|
|
25
|
-
},
|
|
26
|
-
[`& .${sliderClasses.track}`]: {
|
|
27
|
-
height: '100%',
|
|
28
|
-
transition: theme.transitions.create('background-color', {
|
|
29
|
-
duration: theme.transitions.duration.shorter
|
|
30
|
-
}),
|
|
31
|
-
'&.low': {
|
|
32
|
-
backgroundColor: '#f44336'
|
|
33
|
-
},
|
|
34
|
-
'&.medium': {
|
|
35
|
-
backgroundColor: '#efbb5aa3'
|
|
36
|
-
},
|
|
37
|
-
'&.high': {
|
|
38
|
-
backgroundColor: '#088208a3'
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
[`& .${sliderClasses.thumb}`]: {
|
|
42
|
-
height: '100%',
|
|
43
|
-
width: 5,
|
|
44
|
-
borderRadius: 0,
|
|
45
|
-
marginTop: 0,
|
|
46
|
-
backgroundColor: alpha('#000000', 0.2)
|
|
47
|
-
}
|
|
48
|
-
}));
|
|
49
|
-
function ValueLabelComponent(props) {
|
|
50
|
-
const {
|
|
51
|
-
children,
|
|
52
|
-
open,
|
|
53
|
-
value
|
|
54
|
-
} = props;
|
|
55
|
-
return /*#__PURE__*/_jsx(Tooltip, {
|
|
56
|
-
open: open,
|
|
57
|
-
enterTouchDelay: 0,
|
|
58
|
-
placement: "top",
|
|
59
|
-
title: value,
|
|
60
|
-
children: children
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
function EditProgress(props) {
|
|
64
|
-
const {
|
|
65
|
-
id,
|
|
66
|
-
value,
|
|
67
|
-
field
|
|
68
|
-
} = props;
|
|
69
|
-
const [valueState, setValueState] = React.useState(Number(value));
|
|
70
|
-
const apiRef = useGridApiContext();
|
|
71
|
-
const updateCellEditProps = React.useCallback(newValue => {
|
|
72
|
-
apiRef.current.setEditCellValue({
|
|
73
|
-
id,
|
|
74
|
-
field,
|
|
75
|
-
value: newValue
|
|
76
|
-
});
|
|
77
|
-
}, [apiRef, field, id]);
|
|
78
|
-
const debouncedUpdateCellEditProps = React.useMemo(() => debounce(updateCellEditProps, 60), [updateCellEditProps]);
|
|
79
|
-
const handleChange = (event, newValue) => {
|
|
80
|
-
setValueState(newValue);
|
|
81
|
-
debouncedUpdateCellEditProps(newValue);
|
|
82
|
-
};
|
|
83
|
-
React.useEffect(() => {
|
|
84
|
-
setValueState(Number(value));
|
|
85
|
-
}, [value]);
|
|
86
|
-
const handleRef = element => {
|
|
87
|
-
if (element) {
|
|
88
|
-
element.querySelector('[type="range"]').focus();
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
return /*#__PURE__*/_jsx(StyledSlider, {
|
|
92
|
-
ref: handleRef,
|
|
93
|
-
classes: {
|
|
94
|
-
track: clsx(valueState < 0.3 && "low", valueState >= 0.3 && valueState <= 0.7 && "medium", valueState > 0.7 && "high")
|
|
95
|
-
},
|
|
96
|
-
value: valueState,
|
|
97
|
-
max: 1,
|
|
98
|
-
step: 0.00001,
|
|
99
|
-
onChange: handleChange,
|
|
100
|
-
components: {
|
|
101
|
-
ValueLabel: ValueLabelComponent
|
|
102
|
-
},
|
|
103
|
-
valueLabelDisplay: "auto",
|
|
104
|
-
valueLabelFormat: newValue => `${(newValue * 100).toLocaleString()} %`
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
export function renderEditProgress(params) {
|
|
108
|
-
return /*#__PURE__*/_jsx(EditProgress, _extends({}, params));
|
|
109
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import Box from '@mui/material/Box';
|
|
4
|
-
import Rating from '@mui/material/Rating';
|
|
5
|
-
import { useGridApiContext } from '@mui/x-data-grid-premium';
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
-
function EditRating(props) {
|
|
8
|
-
const {
|
|
9
|
-
id,
|
|
10
|
-
value,
|
|
11
|
-
field
|
|
12
|
-
} = props;
|
|
13
|
-
const apiRef = useGridApiContext();
|
|
14
|
-
const changedThroughKeyboard = React.useRef(false);
|
|
15
|
-
const handleChange = async event => {
|
|
16
|
-
await apiRef.current.setEditCellValue({
|
|
17
|
-
id,
|
|
18
|
-
field,
|
|
19
|
-
value: Number(event.target.value)
|
|
20
|
-
}, event);
|
|
21
|
-
if (!changedThroughKeyboard.current) {
|
|
22
|
-
apiRef.current.stopCellEditMode({
|
|
23
|
-
id,
|
|
24
|
-
field
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
changedThroughKeyboard.current = false;
|
|
28
|
-
};
|
|
29
|
-
const handleRef = element => {
|
|
30
|
-
if (element) {
|
|
31
|
-
if (value !== 0) {
|
|
32
|
-
element.querySelector(`input[value="${value}"]`).focus();
|
|
33
|
-
} else {
|
|
34
|
-
element.querySelector('input[value=""]').focus();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
const handleKeyDown = event => {
|
|
39
|
-
if (event.key.startsWith('Arrow')) {
|
|
40
|
-
changedThroughKeyboard.current = true;
|
|
41
|
-
} else {
|
|
42
|
-
changedThroughKeyboard.current = false;
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return /*#__PURE__*/_jsxs(Box, {
|
|
46
|
-
sx: {
|
|
47
|
-
display: 'flex',
|
|
48
|
-
alignItems: 'center',
|
|
49
|
-
lineHeight: '24px',
|
|
50
|
-
color: 'text.secondary',
|
|
51
|
-
mr: 1
|
|
52
|
-
},
|
|
53
|
-
children: [/*#__PURE__*/_jsx(Rating, {
|
|
54
|
-
ref: handleRef,
|
|
55
|
-
name: "rating",
|
|
56
|
-
value: Number(value),
|
|
57
|
-
precision: 1,
|
|
58
|
-
onChange: handleChange,
|
|
59
|
-
sx: {
|
|
60
|
-
mr: 1
|
|
61
|
-
},
|
|
62
|
-
onKeyDown: handleKeyDown
|
|
63
|
-
}), Number(value)]
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
export function renderEditRating(params) {
|
|
67
|
-
return /*#__PURE__*/_jsx(EditRating, _extends({}, params));
|
|
68
|
-
}
|