drf-react-by-schema 0.26.5 → 0.26.7
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/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts +4 -5
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/DataGridDesktop.js +3 -4
- package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts +1 -4
- package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/hooks/useDataGridActions.js +36 -42
- package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts +4 -4
- package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.js +4 -9
- package/dist/components/DataGridBySchemaEditable/utils.d.ts +3 -0
- package/dist/components/DataGridBySchemaEditable/utils.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable/utils.js +10 -1
- package/dist/components/DataGridBySchemaEditable.d.ts.map +1 -1
- package/dist/components/DataGridBySchemaEditable.js +5 -3
- package/dist/components/GenericRelatedModelList.d.ts +2 -1
- package/dist/components/GenericRelatedModelList.d.ts.map +1 -1
- package/dist/components/GenericRelatedModelList.js +2 -2
- package/dist/components/GenericRelatedModelListTable.d.ts +2 -1
- package/dist/components/GenericRelatedModelListTable.d.ts.map +1 -1
- package/dist/components/GenericRelatedModelListTable.js +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { RefObject } from 'react';
|
|
2
2
|
import { GridRowId, GridRenderCellParams, GridColumnVisibilityModel } from '@mui/x-data-grid';
|
|
3
|
+
import { GridApiCommunity } from '@mui/x-data-grid/models/api/gridApiCommunity';
|
|
3
4
|
import { AnySchema } from 'yup';
|
|
4
5
|
import { CustomToolbarProps } from './CustomToolbar';
|
|
5
6
|
declare module '@mui/x-data-grid' {
|
|
@@ -11,12 +12,10 @@ import { Item, SchemaType, Id, GridEnrichedBySchemaColDef, PaginationModel, Acti
|
|
|
11
12
|
import { OnEditModelType } from '../../context/APIWrapperContext';
|
|
12
13
|
interface DataGridDesktopProps<T extends TField = void> {
|
|
13
14
|
schema: SchemaType<T>;
|
|
15
|
+
apiRef: RefObject<GridApiCommunity>;
|
|
14
16
|
dataGrid: {
|
|
15
17
|
data: Item<T>[];
|
|
16
18
|
};
|
|
17
|
-
setDataGrid: (value: React.SetStateAction<{
|
|
18
|
-
data: Item<T>[];
|
|
19
|
-
}>) => void;
|
|
20
19
|
rowCount?: number;
|
|
21
20
|
columns: GridEnrichedBySchemaColDef<T>[];
|
|
22
21
|
columnVisibilityModel?: GridColumnVisibilityModel;
|
|
@@ -69,6 +68,6 @@ interface DataGridDesktopProps<T extends TField = void> {
|
|
|
69
68
|
setSnackBar: React.Dispatch<React.SetStateAction<Item>>;
|
|
70
69
|
yupValidationSchema: AnySchema | null;
|
|
71
70
|
}
|
|
72
|
-
declare function DataGridDesktop<T extends TField = void>({ schema,
|
|
71
|
+
declare function DataGridDesktop<T extends TField = void>({ schema, apiRef, dataGrid, rowCount, columns, columnVisibilityModel, model, name, indexField, addExistingModel, indexFieldMinWidth, indexFieldBasePath, indexFieldViewBasePath, stateToLink, minWidth, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable, hasBulkSelect, onSelectActions, sx: sxProp, isAutoHeight, defaultValues, hideFooterPagination, setVisibleRows, paginationModel, setPaginationModel, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, extraValidators, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }: DataGridDesktopProps<T>): React.JSX.Element;
|
|
73
72
|
export default DataGridDesktop;
|
|
74
73
|
//# sourceMappingURL=DataGridDesktop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridDesktop.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/DataGridDesktop.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DataGridDesktop.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/DataGridDesktop.tsx"],"names":[],"mappings":"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"}
|
|
@@ -57,14 +57,13 @@ const useOptionsAC_1 = require("./hooks/useOptionsAC");
|
|
|
57
57
|
const usePreparedColumns_1 = require("./hooks/usePreparedColumns");
|
|
58
58
|
const useDataGridActions_1 = require("./hooks/useDataGridActions");
|
|
59
59
|
const useProcessRowUpdate_1 = require("./hooks/useProcessRowUpdate");
|
|
60
|
-
function DataGridDesktop({ schema,
|
|
60
|
+
function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, columnVisibilityModel, model, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', indexFieldViewBasePath, stateToLink = {}, minWidth = 80, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect, onSelectActions, sx: sxProp, isAutoHeight, defaultValues, hideFooterPagination, setVisibleRows, paginationModel, setPaginationModel, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, extraValidators, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }) {
|
|
61
61
|
const [dataGridLoading, setDataGridLoading] = (0, react_1.useState)(false);
|
|
62
62
|
const [isRowEditing, setIsRowEditing] = (0, react_1.useState)();
|
|
63
63
|
const [validationErrors, setValidationErrors] = (0, react_1.useState)({});
|
|
64
64
|
const [selectionModel, setSelectionModel] = (0, react_1.useState)([]);
|
|
65
65
|
const [selectionModelIds, setSelectionModelIds] = (0, react_1.useState)([]);
|
|
66
66
|
const processingRow = (0, react_1.useRef)(null);
|
|
67
|
-
const apiRef = (0, x_data_grid_1.useGridApiRef)();
|
|
68
67
|
const handleStopEditing = () => {
|
|
69
68
|
setIsRowEditing(undefined);
|
|
70
69
|
};
|
|
@@ -97,7 +96,6 @@ function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount = 0, columns,
|
|
|
97
96
|
const { handleAddItem, bulkUpdateData, bulkDeleteData, bulkCreateData, handleExportExcel } = (0, useDataGridActions_1.useDataGridActions)({
|
|
98
97
|
apiRef,
|
|
99
98
|
dataGrid,
|
|
100
|
-
setDataGrid,
|
|
101
99
|
setSnackBar,
|
|
102
100
|
emptyItem,
|
|
103
101
|
defaultValues,
|
|
@@ -143,8 +141,8 @@ function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount = 0, columns,
|
|
|
143
141
|
onProcessRow,
|
|
144
142
|
onDataChange,
|
|
145
143
|
updateOptionsAC,
|
|
144
|
+
apiRef,
|
|
146
145
|
dataGrid,
|
|
147
|
-
setDataGrid,
|
|
148
146
|
setDataGridLoading,
|
|
149
147
|
setValidationErrors,
|
|
150
148
|
processingRow,
|
|
@@ -180,6 +178,7 @@ function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount = 0, columns,
|
|
|
180
178
|
handleCancelRow(isRowEditing);
|
|
181
179
|
}
|
|
182
180
|
apiRef.current.startRowEditMode({ id, fieldToFocus });
|
|
181
|
+
(0, utils_2.scrollToEnd)(apiRef);
|
|
183
182
|
handleStartEditing(id);
|
|
184
183
|
}, color: "inherit" }));
|
|
185
184
|
break;
|
|
@@ -10,9 +10,6 @@ interface UseDataGridActionsProps<T extends TField = void> {
|
|
|
10
10
|
dataGrid: {
|
|
11
11
|
data: Item<T>[];
|
|
12
12
|
};
|
|
13
|
-
setDataGrid: (value: React.SetStateAction<{
|
|
14
|
-
data: Item<T>[];
|
|
15
|
-
}>) => void;
|
|
16
13
|
setSelectionModel: (value: React.SetStateAction<Item<T>[]>) => void;
|
|
17
14
|
setSelectionModelIds: (value: React.SetStateAction<GridRowId[]>) => void;
|
|
18
15
|
setSnackBar: (value: React.SetStateAction<Item>) => void;
|
|
@@ -24,7 +21,7 @@ interface UseDataGridActionsProps<T extends TField = void> {
|
|
|
24
21
|
defaultValues?: PartialItem<T>;
|
|
25
22
|
isRowEditing?: Id;
|
|
26
23
|
}
|
|
27
|
-
export declare const useDataGridActions: <T extends TField = void>({ apiRef, model, schema, emptyItem, dataGrid,
|
|
24
|
+
export declare const useDataGridActions: <T extends TField = void>({ apiRef, model, schema, emptyItem, dataGrid, setSelectionModel, setSelectionModelIds, setSnackBar, setDataGridLoading, onDataChange, handleStartEditing, tableAutoHeight, indexField, defaultValues, isRowEditing, }: UseDataGridActionsProps<T>) => {
|
|
28
25
|
handleAddItem: () => void;
|
|
29
26
|
bulkUpdateData: BulkUpdateData<T>;
|
|
30
27
|
bulkDeleteData: BulkDeleteData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataGridActions.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGridBySchemaEditable/hooks/useDataGridActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,EAAE,EACF,IAAI,EACJ,UAAU,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,WAAW,EACX,MAAM,EACN,eAAe,EAChB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useDataGridActions.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGridBySchemaEditable/hooks/useDataGridActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,EAAE,EACF,IAAI,EACJ,UAAU,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,WAAW,EACX,MAAM,EACN,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAKzB,UAAU,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI;IACvD,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,CAAC;IAC9B,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACpE,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;IACzE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACtC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,uNAgBzD,uBAAuB,CAAC,CAAC,CAAC;;;;0BAoJQ,EAAE,EAAE;yCAWW,eAAe;CAqBlE,CAAC"}
|
|
@@ -16,13 +16,16 @@ exports.useDataGridActions = void 0;
|
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
17
|
const utils_1 = require("../../../utils");
|
|
18
18
|
const APIWrapperContext_1 = require("../../../context/APIWrapperContext");
|
|
19
|
-
const
|
|
19
|
+
const utils_2 = require("../utils");
|
|
20
|
+
const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setSelectionModel, setSelectionModelIds, setSnackBar, setDataGridLoading, onDataChange, handleStartEditing, tableAutoHeight, indexField, defaultValues, isRowEditing, }) => {
|
|
20
21
|
const { rawDeleteData, rawUpdateDataBySchema, exportExcelData } = (0, APIWrapperContext_1.useAPIWrapper)();
|
|
21
22
|
const handleAddItems = (n = 1) => {
|
|
22
23
|
const newRows = [];
|
|
23
24
|
for (let i = 0; i < n; i++) {
|
|
24
25
|
const id = (0, utils_1.getTmpId)();
|
|
25
|
-
|
|
26
|
+
const newRow = Object.assign(Object.assign(Object.assign({}, emptyItem), defaultValues), { id });
|
|
27
|
+
apiRef.current.updateRows([newRow]);
|
|
28
|
+
newRows.push(newRow);
|
|
26
29
|
}
|
|
27
30
|
const newData = tableAutoHeight
|
|
28
31
|
? [...dataGrid.data, ...newRows]
|
|
@@ -30,23 +33,19 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setDat
|
|
|
30
33
|
if (onDataChange) {
|
|
31
34
|
onDataChange(newData);
|
|
32
35
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (!tableAutoHeight) {
|
|
47
|
-
apiRef.current.scrollToIndexes({ rowIndex: 0 });
|
|
48
|
-
}
|
|
49
|
-
}, 500);
|
|
36
|
+
let fieldToFocus = indexField;
|
|
37
|
+
if (!fieldToFocus) {
|
|
38
|
+
const visibleColumns = apiRef.current.getAllColumns();
|
|
39
|
+
const firstEditableCol = visibleColumns.find((col) => col.editable && col.field !== 'actions');
|
|
40
|
+
fieldToFocus = firstEditableCol === null || firstEditableCol === void 0 ? void 0 : firstEditableCol.field;
|
|
41
|
+
}
|
|
42
|
+
(0, utils_2.scrollToEnd)(apiRef);
|
|
43
|
+
apiRef.current.startRowEditMode({ id: newRows[0].id, fieldToFocus });
|
|
44
|
+
handleStartEditing(newRows[0].id);
|
|
45
|
+
// apiRef.current.setCellFocus(newRows[0].id, fieldToFocus);
|
|
46
|
+
// if (!tableAutoHeight) {
|
|
47
|
+
// apiRef.current.scrollToIndexes({ rowIndex: 0 });
|
|
48
|
+
// }
|
|
50
49
|
};
|
|
51
50
|
const handleAddItem = () => {
|
|
52
51
|
if (isRowEditing) {
|
|
@@ -66,23 +65,20 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setDat
|
|
|
66
65
|
if (onDataChange) {
|
|
67
66
|
onDataChange(newData);
|
|
68
67
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
apiRef.current.scrollToIndexes({ rowIndex: 0 });
|
|
84
|
-
}
|
|
85
|
-
}, 500);
|
|
68
|
+
apiRef.current.updateRows([newRow]);
|
|
69
|
+
let fieldToFocus = indexField;
|
|
70
|
+
if (!fieldToFocus) {
|
|
71
|
+
const visibleColumns = apiRef.current.getAllColumns();
|
|
72
|
+
const firstEditableCol = visibleColumns.find((col) => col.editable && col.field !== 'actions');
|
|
73
|
+
fieldToFocus = firstEditableCol === null || firstEditableCol === void 0 ? void 0 : firstEditableCol.field;
|
|
74
|
+
}
|
|
75
|
+
apiRef.current.startRowEditMode({ id, fieldToFocus });
|
|
76
|
+
(0, utils_2.scrollToEnd)(apiRef);
|
|
77
|
+
handleStartEditing(id);
|
|
78
|
+
// apiRef.current.setCellFocus(id, fieldToFocus);
|
|
79
|
+
// if (!tableAutoHeight) {
|
|
80
|
+
// apiRef.current.scrollToIndexes({ rowIndex: 0 });
|
|
81
|
+
// }
|
|
86
82
|
};
|
|
87
83
|
const bulkUpdateData = (newData) => __awaiter(void 0, void 0, void 0, function* () {
|
|
88
84
|
const promises = [];
|
|
@@ -101,14 +97,14 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setDat
|
|
|
101
97
|
setSelectionModelIds([]);
|
|
102
98
|
const updatedData = dataGrid.data.map((item) => {
|
|
103
99
|
const index = ids.indexOf(item.id);
|
|
100
|
+
if (index !== -1) {
|
|
101
|
+
apiRef.current.updateRows([newData[index]]);
|
|
102
|
+
}
|
|
104
103
|
return index === -1 ? item : newData[index];
|
|
105
104
|
});
|
|
106
105
|
if (onDataChange) {
|
|
107
106
|
onDataChange(updatedData);
|
|
108
107
|
}
|
|
109
|
-
setDataGrid({
|
|
110
|
-
data: updatedData,
|
|
111
|
-
});
|
|
112
108
|
setSnackBar({
|
|
113
109
|
open: true,
|
|
114
110
|
severity: 'success',
|
|
@@ -125,6 +121,7 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setDat
|
|
|
125
121
|
const promises = [];
|
|
126
122
|
ids.map((id) => {
|
|
127
123
|
promises.push(rawDeleteData(model, id));
|
|
124
|
+
apiRef.current.updateRows([{ id, _action: 'delete' }]);
|
|
128
125
|
});
|
|
129
126
|
setDataGridLoading(true);
|
|
130
127
|
const results = yield Promise.all(promises);
|
|
@@ -134,9 +131,6 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setDat
|
|
|
134
131
|
if (onDataChange) {
|
|
135
132
|
onDataChange(newData);
|
|
136
133
|
}
|
|
137
|
-
setDataGrid({
|
|
138
|
-
data: newData,
|
|
139
|
-
});
|
|
140
134
|
setDataGridLoading(false);
|
|
141
135
|
setSnackBar({
|
|
142
136
|
open: true,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AnySchema } from 'yup';
|
|
2
2
|
import { GridRowId } from '@mui/x-data-grid';
|
|
3
|
+
import { GridApiCommunity } from '@mui/x-data-grid/models/api/gridApiCommunity';
|
|
4
|
+
import { RefObject } from 'react';
|
|
3
5
|
import { Item, SchemaType, Id, ExtraValidators, OnEditModelType, GridEnrichedBySchemaColDef, FieldKey, TField } from '../../../@types';
|
|
4
6
|
interface UseProcessRowUpdateProps<T extends TField = void> {
|
|
5
7
|
preparedColumns: GridEnrichedBySchemaColDef<T>[] | null;
|
|
@@ -14,19 +16,17 @@ interface UseProcessRowUpdateProps<T extends TField = void> {
|
|
|
14
16
|
schema: SchemaType<T>;
|
|
15
17
|
addExistingModel?: string;
|
|
16
18
|
updateOptionsAC: () => Promise<void>;
|
|
19
|
+
apiRef: RefObject<GridApiCommunity>;
|
|
17
20
|
dataGrid: {
|
|
18
21
|
data: Item<T>[];
|
|
19
22
|
};
|
|
20
|
-
setDataGrid: (value: React.SetStateAction<{
|
|
21
|
-
data: Item<T>[];
|
|
22
|
-
}>) => void;
|
|
23
23
|
onDataChange?: (p: Item<T>[]) => void;
|
|
24
24
|
onProcessRow?: (p: Item<T>) => void;
|
|
25
25
|
handleStopEditing: () => void;
|
|
26
26
|
extraValidators?: ExtraValidators<T>;
|
|
27
27
|
onEditModel?: (p: OnEditModelType<T>) => void;
|
|
28
28
|
}
|
|
29
|
-
export declare const useProcessRowUpdate: <T extends TField = void>({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC,
|
|
29
|
+
export declare const useProcessRowUpdate: <T extends TField = void>({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC, apiRef, dataGrid, onDataChange, onProcessRow, handleStopEditing, }: UseProcessRowUpdateProps<T>) => {
|
|
30
30
|
processRowUpdate: (editedRow: Item<T>, originalRow: Item<T>) => Promise<any>;
|
|
31
31
|
};
|
|
32
32
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProcessRowUpdate.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,KAAK,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useProcessRowUpdate.d.ts","sourceRoot":"","sources":["../../../../src/components/DataGridBySchemaEditable/hooks/useProcessRowUpdate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAmB,MAAM,KAAK,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EACL,IAAI,EACJ,UAAU,EACV,EAAE,EACF,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,QAAQ,EACR,MAAM,EACP,MAAM,iBAAiB,CAAC;AASzB,UAAU,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI;IACxD,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IACxD,mBAAmB,EAAE,SAAS,GAAG,IAAI,CAAC;IACtC,kBAAkB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CACjC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAChE,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,QAAQ,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACpC,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,8PAmB1D,wBAAwB,CAAC,CAAC,CAAC;kCAEe,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;CAoMzE,CAAC"}
|
|
@@ -20,7 +20,7 @@ const APIWrapperContext_1 = require("../../../context/APIWrapperContext");
|
|
|
20
20
|
function isYupValidationError(err) {
|
|
21
21
|
return err instanceof Error && err.name === 'ValidationError';
|
|
22
22
|
}
|
|
23
|
-
const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC,
|
|
23
|
+
const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC, apiRef, dataGrid, onDataChange, onProcessRow, handleStopEditing,
|
|
24
24
|
// extraValidators, // TODO: Check why this is missing
|
|
25
25
|
}) => {
|
|
26
26
|
const { onEditRelatedModelSave, onEditModelDataGridSave } = (0, APIWrapperContext_1.useAPIWrapper)();
|
|
@@ -32,8 +32,7 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
|
|
|
32
32
|
console.log('No changes detected, skipping save.');
|
|
33
33
|
handleStopEditing();
|
|
34
34
|
if ((0, utils_1.isTmpId)(editedRow.id)) {
|
|
35
|
-
|
|
36
|
-
setDataGrid({ data: newData });
|
|
35
|
+
apiRef.current.updateRows([{ id: editedRow.id, _action: 'delete' }]);
|
|
37
36
|
throw new Error('CANCEL_TMP_ROW');
|
|
38
37
|
}
|
|
39
38
|
return editedRow;
|
|
@@ -147,9 +146,7 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
|
|
|
147
146
|
if (onProcessRow) {
|
|
148
147
|
onProcessRow(newRow);
|
|
149
148
|
}
|
|
150
|
-
|
|
151
|
-
data,
|
|
152
|
-
});
|
|
149
|
+
apiRef.current.updateRows([newRow]);
|
|
153
150
|
setDataGridLoading(false);
|
|
154
151
|
handleStopEditing();
|
|
155
152
|
return newRow;
|
|
@@ -205,9 +202,7 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
|
|
|
205
202
|
if (onProcessRow) {
|
|
206
203
|
onProcessRow(newRow);
|
|
207
204
|
}
|
|
208
|
-
|
|
209
|
-
data,
|
|
210
|
-
});
|
|
205
|
+
apiRef.current.updateRows([newRow]);
|
|
211
206
|
setDataGridLoading(false);
|
|
212
207
|
handleStopEditing();
|
|
213
208
|
return newRow;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { GridApiCommunity } from '@mui/x-data-grid/models/api/gridApiCommunity';
|
|
1
3
|
import { GridEnrichedBySchemaColDef, Id } from '../../@types';
|
|
2
4
|
export type ResizeType = 'condense' | 'maxContent' | 'fitScreen';
|
|
3
5
|
/**
|
|
@@ -13,4 +15,5 @@ export declare const quantityOnlyOperators: ({ type }: {
|
|
|
13
15
|
}) => GridFilterOperator[];
|
|
14
16
|
export declare const buildEditPath: (basePath: string, objId: Id) => string;
|
|
15
17
|
export declare const buildExitPath: (basePath: string, objId?: Id) => string;
|
|
18
|
+
export declare const scrollToEnd: (apiRef: RefObject<GridApiCommunity>) => void;
|
|
16
19
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,EAAE,EAAQ,MAAM,cAAc,CAAC;AAoCpE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,0BAA0B,EAAE,EACrC,UAAU,EAAE,UAAU,GACrB,0BAA0B,EAAE,CAmB9B;AAED,eAAO,MAAM,qBAAqB,GAAI,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,yBA8B/D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,OAAO,EAAE,WAKxD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,QAAQ,EAAE,WAKzD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,SAAS,CAAC,gBAAgB,CAAC,SAO9D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildExitPath = exports.buildEditPath = exports.quantityOnlyOperators = void 0;
|
|
3
|
+
exports.scrollToEnd = exports.buildExitPath = exports.buildEditPath = exports.quantityOnlyOperators = void 0;
|
|
4
4
|
exports.resizeColumns = resizeColumns;
|
|
5
5
|
const x_data_grid_1 = require("@mui/x-data-grid");
|
|
6
6
|
const InputInterval_1 = require("./InputInterval");
|
|
@@ -109,3 +109,12 @@ const buildExitPath = (basePath, objId) => {
|
|
|
109
109
|
return basePath;
|
|
110
110
|
};
|
|
111
111
|
exports.buildExitPath = buildExitPath;
|
|
112
|
+
const scrollToEnd = (apiRef) => {
|
|
113
|
+
setTimeout(() => {
|
|
114
|
+
const rowCount = apiRef.current.getRowsCount();
|
|
115
|
+
apiRef.current.scrollToIndexes({
|
|
116
|
+
rowIndex: rowCount - 1,
|
|
117
|
+
});
|
|
118
|
+
}, 500);
|
|
119
|
+
};
|
|
120
|
+
exports.scrollToEnd = scrollToEnd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridBySchemaEditable.d.ts","sourceRoot":"","sources":["../../src/components/DataGridBySchemaEditable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+B,YAAY,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"DataGridBySchemaEditable.d.ts","sourceRoot":"","sources":["../../src/components/DataGridBySchemaEditable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
46
46
|
};
|
|
47
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
48
|
const react_1 = __importStar(require("react"));
|
|
49
|
+
const x_data_grid_1 = require("@mui/x-data-grid");
|
|
49
50
|
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
50
51
|
const Snackbar_1 = __importDefault(require("@mui/material/Snackbar"));
|
|
51
52
|
const Alert_1 = __importDefault(require("@mui/material/Alert"));
|
|
@@ -63,6 +64,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
|
|
|
63
64
|
severity: 'info',
|
|
64
65
|
};
|
|
65
66
|
const [snackBar, setSnackBar] = (0, react_1.useState)(initialSnackBar);
|
|
67
|
+
const apiRef = (0, x_data_grid_1.useGridApiRef)();
|
|
66
68
|
const [dataGrid, setDataGrid] = (0, react_1.useState)({
|
|
67
69
|
data: [],
|
|
68
70
|
});
|
|
@@ -86,7 +88,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
|
|
|
86
88
|
relatedModel: model,
|
|
87
89
|
relatedModelId: idToRemove.current,
|
|
88
90
|
});
|
|
89
|
-
|
|
91
|
+
apiRef.current.updateRows([{ id: idToRemove.current, _action: 'delete' }]);
|
|
90
92
|
// Reflect changes to the outside, for example for doing global calculations over multiple rows:
|
|
91
93
|
if (onDataChange) {
|
|
92
94
|
onDataChange(newData);
|
|
@@ -99,7 +101,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
|
|
|
99
101
|
if (!modelParent || !modelParentId) {
|
|
100
102
|
onDeleteModel(model, id, () => {
|
|
101
103
|
const newData = dataGrid.data.filter((row) => row.id !== id);
|
|
102
|
-
|
|
104
|
+
apiRef.current.updateRows([{ id, _action: 'delete' }]);
|
|
103
105
|
// Reflect changes to the outside, for example for doing global calculations over multiple rows:
|
|
104
106
|
if (onDataChange) {
|
|
105
107
|
onDataChange(newData);
|
|
@@ -167,7 +169,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
|
|
|
167
169
|
return () => observer.disconnect();
|
|
168
170
|
}, []);
|
|
169
171
|
return (react_1.default.createElement(Box_1.default, { sx: { height: '100%', width: '100%', maxWidth: '100%' }, ref: !isMobile || !MobileListRenderItem ? wrapperRef : undefined },
|
|
170
|
-
isMobile && MobileListRenderItem ? (react_1.default.createElement(DataGridMobile_1.default, { name: name, data: data, schema: schema, columns: columns, customColumnOperations: customColumnOperations, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults, hideQuickFilterBar: hideQuickFilterBar, paginationModel: paginationModel, setPaginationModel: setPaginationModel, rowCount: rowCount })) : (react_1.default.createElement(DataGridDesktop_1.default, { schema: schema,
|
|
172
|
+
isMobile && MobileListRenderItem ? (react_1.default.createElement(DataGridMobile_1.default, { name: name, data: data, schema: schema, columns: columns, customColumnOperations: customColumnOperations, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults, hideQuickFilterBar: hideQuickFilterBar, paginationModel: paginationModel, setPaginationModel: setPaginationModel, rowCount: rowCount })) : (react_1.default.createElement(DataGridDesktop_1.default, { schema: schema, apiRef: apiRef, dataGrid: dataGrid, rowCount: rowCount, columns: columns, columnVisibilityModel: columnVisibilityModel, model: model, name: name, indexField: indexField, addExistingModel: addExistingModel, indexFieldMinWidth: indexFieldMinWidth, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, stateToLink: stateToLink, minWidth: minWidth, loading: loading, modelParentId: modelParentId, modelParent: modelParent, customColumnOperations: customColumnOperations, customFieldFormLayouts: customFieldFormLayouts, customLinkDestination: customLinkDestination, LinkComponent: LinkComponent, onProcessRow: onProcessRow, onDataChange: onDataChange, onEditModel: onEditModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, isAutoHeight: isAutoHeight, defaultValues: defaultValues, hideFooterPagination: hideFooterPagination, setVisibleRows: setVisibleRows, paginationModel: paginationModel, setPaginationModel: setPaginationModel, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, tableAutoHeight: tableAutoHeight, actions: actions, customActions: customActions, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, optionsAC: optionsAC, extraValidators: extraValidators, emptyItem: emptyItem, handleDeleteClick: handleDeleteClick, setSnackBar: setSnackBar, yupValidationSchema: yupValidationSchema.current })),
|
|
171
173
|
react_1.default.createElement(ConfirmDialog_1.ConfirmDialog, { open: confirmDialogOpen, onClose: handleConfirmDialogClose, onConfirm: handleDeleteRelatedSave }),
|
|
172
174
|
react_1.default.createElement(Snackbar_1.default, { open: snackBar.open, autoHideDuration: 5000, onClose: () => {
|
|
173
175
|
setSnackBar(Object.assign(Object.assign({}, initialSnackBar), { open: false }));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ReactElement } from 'react';
|
|
2
2
|
import { GridFilterModel } from '@mui/x-data-grid';
|
|
3
|
-
import { ActionType, CustomColumnOperations, ExtraValidators, FieldKey, FieldList, Id, Item, LinkComponentType, MinWidthFields, MobileListRenderItemType, OnSelectActions, OptionsAC, PartialItem, SumRowsType, TField } from '../@types';
|
|
3
|
+
import { ActionType, CustomColumnOperations, CustomFormFieldLayouts, ExtraValidators, FieldKey, FieldList, Id, Item, LinkComponentType, MinWidthFields, MobileListRenderItemType, OnSelectActions, OptionsAC, PartialItem, SumRowsType, TField } from '../@types';
|
|
4
4
|
interface GenericRelatedModelListProps<T extends TField = void> {
|
|
5
5
|
model: string;
|
|
6
6
|
id: Id;
|
|
@@ -20,6 +20,7 @@ interface GenericRelatedModelListProps<T extends TField = void> {
|
|
|
20
20
|
onDataChange?: (p: Item<T>[]) => void;
|
|
21
21
|
reloadAfterRowUpdate?: boolean;
|
|
22
22
|
customColumnOperations?: CustomColumnOperations<T>;
|
|
23
|
+
customFieldFormLayouts?: CustomFormFieldLayouts<T>;
|
|
23
24
|
isEditable?: boolean;
|
|
24
25
|
hasBulkSelect?: boolean;
|
|
25
26
|
onSelectActions?: OnSelectActions[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericRelatedModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelList.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GenericRelatedModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ const APIWrapperContext_1 = require("../context/APIWrapperContext");
|
|
|
54
54
|
const utils_1 = require("../utils");
|
|
55
55
|
const styles_1 = require("../styles");
|
|
56
56
|
const GenericRelatedModelListTable_1 = __importDefault(require("./GenericRelatedModelListTable"));
|
|
57
|
-
function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields = ['id'], creatableFields, disabledFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, isEditable = true, hasBulkSelect = false, onSelectActions, sumRows, isAutoHeight = false, isInBatches = true, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
|
|
57
|
+
function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields = ['id'], creatableFields, disabledFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, isEditable = true, hasBulkSelect = false, onSelectActions, sumRows, isAutoHeight = false, isInBatches = true, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
|
|
58
58
|
const [data, setData] = (0, react_1.useState)(false);
|
|
59
59
|
const [visibleRows, setVisibleRows] = (0, react_1.useState)();
|
|
60
60
|
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
@@ -178,7 +178,7 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
|
|
|
178
178
|
}
|
|
179
179
|
setPaginationModel(Object.assign(Object.assign({}, paginationModel), { queryParams }));
|
|
180
180
|
}, [queryParams, paginationModel]);
|
|
181
|
-
return (react_1.default.createElement(react_1.default.Fragment, null, typeof data !== 'boolean' && data.columns && (react_1.default.createElement(react_1.default.Fragment, null, noCardWrapper ? (react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, columnVisibilityModel: columnVisibilityModel, relatedModel: relatedModel, model: model, loading: loading, id: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, visibleRows: visibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, sumRows: sumRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel, actions: actions, optionsAC: optionsAC, defaultValues: defaultValues, LinkComponent: LinkComponent, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
|
|
181
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, typeof data !== 'boolean' && data.columns && (react_1.default.createElement(react_1.default.Fragment, null, noCardWrapper ? (react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, columnVisibilityModel: columnVisibilityModel, relatedModel: relatedModel, model: model, loading: loading, id: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, customFieldFormLayouts: customFieldFormLayouts, setVisibleRows: setVisibleRows, visibleRows: visibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, sumRows: sumRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel, actions: actions, optionsAC: optionsAC, defaultValues: defaultValues, LinkComponent: LinkComponent, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
|
|
182
182
|
react_1.default.createElement(CardHeader_1.default, { title: label }),
|
|
183
183
|
react_1.default.createElement(CardContent_1.default, null,
|
|
184
184
|
react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, columnVisibilityModel: columnVisibilityModel, relatedModel: relatedModel, model: model, loading: loading, id: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, visibleRows: visibleRows, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, sumRows: sumRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel, actions: actions, optionsAC: optionsAC, defaultValues: defaultValues, LinkComponent: LinkComponent, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem, MobileRenderNoResults: MobileRenderNoResults }))))))));
|
|
@@ -2,7 +2,7 @@ import React, { ReactElement } from 'react';
|
|
|
2
2
|
import { GridColumnVisibilityModel, GridRowId } from '@mui/x-data-grid';
|
|
3
3
|
import { AxiosError } from 'axios';
|
|
4
4
|
import { OnEditModelType, OnDeleteRelatedModelType } from '../context/APIWrapperContext';
|
|
5
|
-
import { ActionType, CustomAction, CustomColumnOperations, DataSchemaColumnsType, ExtraValidators, FieldKey, Id, Item, LinkComponentType, MobileListRenderItemType, OnSelectActions, OptionsAC, PaginationModel, PartialItem, SumRowsType, TField } from '../@types';
|
|
5
|
+
import { ActionType, CustomAction, CustomColumnOperations, CustomFormFieldLayouts, DataSchemaColumnsType, ExtraValidators, FieldKey, Id, Item, LinkComponentType, MobileListRenderItemType, OnSelectActions, OptionsAC, PaginationModel, PartialItem, SumRowsType, TField } from '../@types';
|
|
6
6
|
interface GenericRelatedModelListTableProps<T extends TField = void> {
|
|
7
7
|
data: DataSchemaColumnsType<T>;
|
|
8
8
|
columnVisibilityModel?: GridColumnVisibilityModel;
|
|
@@ -18,6 +18,7 @@ interface GenericRelatedModelListTableProps<T extends TField = void> {
|
|
|
18
18
|
onEditModel: <U extends TField = void>(p: OnEditModelType<U>) => void;
|
|
19
19
|
onDeleteRelatedModel: (p: OnDeleteRelatedModelType) => Promise<true | AxiosError>;
|
|
20
20
|
finalCustomColumnOperations: CustomColumnOperations<T>;
|
|
21
|
+
customFieldFormLayouts?: CustomFormFieldLayouts<T>;
|
|
21
22
|
setVisibleRows?: (p: GridRowId[]) => void;
|
|
22
23
|
visibleRows?: GridRowId[];
|
|
23
24
|
isAutoHeight?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericRelatedModelListTable.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelListTable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GenericRelatedModelListTable.d.ts","sourceRoot":"","sources":["../../src/components/GenericRelatedModelListTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,14 @@ const DataTotalsServer_1 = __importDefault(require("./DataTotalsServer"));
|
|
|
13
13
|
const APIWrapperContext_1 = require("../context/APIWrapperContext");
|
|
14
14
|
const styles_1 = require("../styles");
|
|
15
15
|
const utils_1 = require("../utils");
|
|
16
|
-
function GenericRelatedModelListTable({ data, columnVisibilityModel, relatedModel, model, loading, id, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, visibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, onProcessRow, onDataChange, sumRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, onSelectActions, tableAutoHeight, actions, customActions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, MobileRenderNoResults, }) {
|
|
16
|
+
function GenericRelatedModelListTable({ data, columnVisibilityModel, relatedModel, model, loading, id, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, customFieldFormLayouts, setVisibleRows, visibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, onProcessRow, onDataChange, sumRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, onSelectActions, tableAutoHeight, actions, customActions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, MobileRenderNoResults, }) {
|
|
17
17
|
const { isMobile } = (0, APIWrapperContext_1.useAPIWrapper)();
|
|
18
18
|
const schema = data.schema;
|
|
19
19
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
20
20
|
data.columns ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
21
21
|
data.data.length > 0 && isMobile && MobileListRenderItem && (react_1.default.createElement(react_1.default.Fragment, null, paginationMode === 'client' ? (react_1.default.createElement(DataTotals_1.default, { schema: schema, data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { schema: schema, sumRows: sumRows, totals: data.sumRowsTotals })))),
|
|
22
22
|
react_1.default.createElement(Box_1.default, { sx: tableAutoHeight ? {} : styles_1.Layout.dataGridFixedHeight },
|
|
23
|
-
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, columnVisibilityModel: columnVisibilityModel, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, loading: loading, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, actions: actions, customActions: customActions, optionsAC: optionsAC, defaultValues: defaultValues, onProcessRow: onProcessRow, onDataChange: onDataChange, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
|
|
23
|
+
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, columnVisibilityModel: columnVisibilityModel, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, loading: loading, indexField: indexField, indexFieldBasePath: indexFieldBasePath, indexFieldViewBasePath: indexFieldViewBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onSelectActions: onSelectActions, onEditModel: onEditModel, isAutoHeight: isAutoHeight, tableAutoHeight: tableAutoHeight, customColumnOperations: finalCustomColumnOperations, customFieldFormLayouts: customFieldFormLayouts, setVisibleRows: setVisibleRows, hideFooterPagination: hideFooterPagination, hideFooterComponent: hideFooterComponent, hideToolbarComponent: hideToolbarComponent, hideColumnsButton: hideColumnsButton, hideFilterButton: hideFilterButton, hideDensityButton: hideDensityButton, hideExportButton: hideExportButton, hideQuickFilterBar: hideQuickFilterBar, actions: actions, customActions: customActions, optionsAC: optionsAC, defaultValues: defaultValues, onProcessRow: onProcessRow, onDataChange: onDataChange, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
|
|
24
24
|
? undefined
|
|
25
25
|
: typeof data.rowCount !== undefined
|
|
26
26
|
? data.rowCount
|
package/package.json
CHANGED