drf-react-by-schema 0.8.7 → 0.8.9
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.d.ts +1 -0
- package/dist/components/DataGridBySchemaEditable.js +4 -2
- package/dist/components/GenericModelList.d.ts +3 -1
- package/dist/components/GenericModelList.js +5 -3
- package/dist/components/GenericRelatedModelList.d.ts +3 -1
- package/dist/components/GenericRelatedModelList.js +8 -6
- package/package.json +1 -1
|
@@ -73,7 +73,7 @@ const ConfirmDialog_1 = require("./DataGridBySchemaEditable/ConfirmDialog");
|
|
|
73
73
|
const APIWrapperContext_1 = require("../context/APIWrapperContext");
|
|
74
74
|
const stringMask = require('string-mask');
|
|
75
75
|
const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
|
|
76
|
-
var { schema, data, rowCount = 0, columns, model, fieldKey, labelKey = 'nome', index, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', stateToLink = {}, minWidth = 80, modelParent, modelParentId, customColumnOperations, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, sx = { mr: 2 }, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined } = _a, other = __rest(_a, ["schema", "data", "rowCount", "columns", "model", "fieldKey", "labelKey", "index", "name", "indexField", "addExistingModel", "indexFieldMinWidth", "indexFieldBasePath", "stateToLink", "minWidth", "modelParent", "modelParentId", "customColumnOperations", "customLinkDestination", "LinkComponent", "onProcessRow", "onDataChange", "onEditModel", "isEditable", "sx", "isAutoHeight", "defaultValues", "hideFooterPagination", "setVisibleRows", "paginationModel", "setPaginationModel"]);
|
|
76
|
+
var { schema, data, rowCount = 0, columns, model, fieldKey, labelKey = 'nome', index, name = Math.floor(Math.random() * 1000000).toString(), indexField = 'nome', addExistingModel, indexFieldMinWidth = 350, indexFieldBasePath = '', stateToLink = {}, minWidth = 80, modelParent, modelParentId, customColumnOperations, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable = false, hasBulkSelect = false, sx = { mr: 2 }, isAutoHeight = false, defaultValues = {}, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined } = _a, other = __rest(_a, ["schema", "data", "rowCount", "columns", "model", "fieldKey", "labelKey", "index", "name", "indexField", "addExistingModel", "indexFieldMinWidth", "indexFieldBasePath", "stateToLink", "minWidth", "modelParent", "modelParentId", "customColumnOperations", "customLinkDestination", "LinkComponent", "onProcessRow", "onDataChange", "onEditModel", "isEditable", "hasBulkSelect", "sx", "isAutoHeight", "defaultValues", "hideFooterPagination", "setVisibleRows", "paginationModel", "setPaginationModel"]);
|
|
77
77
|
const { serverEndPoint } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
|
|
78
78
|
const apiContext = react_1.default.useContext(APIWrapperContext_1.APIWrapperContext);
|
|
79
79
|
const initialSnackBar = {
|
|
@@ -530,6 +530,8 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
530
530
|
},
|
|
531
531
|
}
|
|
532
532
|
: undefined;
|
|
533
|
+
const checkboxSelection = hasBulkSelect ? true : undefined;
|
|
534
|
+
const disableRowSelectionOnClick = hasBulkSelect ? true : undefined;
|
|
533
535
|
return (react_1.default.createElement(Box_1.default, { className: `dataGrid_${name}`, sx: { height: '100%' } },
|
|
534
536
|
preparedColumns === null ? (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.loadingBox },
|
|
535
537
|
react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(x_data_grid_1.DataGrid, { rows: dataGrid.data, columns: preparedColumns, onStateChange: (state) => {
|
|
@@ -562,7 +564,7 @@ const DataGridBySchemaEditable = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
562
564
|
!Object.prototype.hasOwnProperty.call(optionsAC.current, indexField) ||
|
|
563
565
|
(preparedColumns.find((col) => col.field === indexField) &&
|
|
564
566
|
Object.prototype.hasOwnProperty.call(preparedColumns.find((col) => col.field === indexField), 'valueFormatter'))))));
|
|
565
|
-
}, rowModesModel: rowModesModel, onRowEditStart: handleRowEditStart, onRowEditStop: handleRowEditStop, processRowUpdate: processRowUpdate, onProcessRowUpdateError: (e) => {
|
|
567
|
+
}, checkboxSelection: checkboxSelection, disableRowSelectionOnClick: disableRowSelectionOnClick, rowModesModel: rowModesModel, onRowEditStart: handleRowEditStart, onRowEditStop: handleRowEditStop, processRowUpdate: processRowUpdate, onProcessRowUpdateError: (e) => {
|
|
566
568
|
setDataGridLoading(false);
|
|
567
569
|
if (processingRow.current) {
|
|
568
570
|
setRowModesModel(Object.assign(Object.assign({}, rowModesModel), { [processingRow.current]: {
|
|
@@ -8,6 +8,7 @@ interface GenericModelListProps {
|
|
|
8
8
|
minWidthFields?: Record<string, number>;
|
|
9
9
|
indexFieldBasePath: string;
|
|
10
10
|
indexField: string;
|
|
11
|
+
hasBulkSelect?: boolean;
|
|
11
12
|
customColumnOperations?: (column: GridEnrichedBySchemaColDef) => GridEnrichedBySchemaColDef;
|
|
12
13
|
customLinkDestination?: (p: any) => string;
|
|
13
14
|
sumRows?: SumRowsType;
|
|
@@ -18,6 +19,7 @@ interface GenericModelListProps {
|
|
|
18
19
|
hasHeader: boolean;
|
|
19
20
|
paginationMode: 'server' | 'client';
|
|
20
21
|
defaultFilter?: GridFilterModel;
|
|
22
|
+
queryParams?: string[];
|
|
21
23
|
}
|
|
22
|
-
declare const GenericModelList: ({ columnFields, hiddenFields, minWidthFields, indexFieldBasePath, indexField, customColumnOperations, customLinkDestination, sumRows, isAutoHeight, model, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, }: GenericModelListProps) => JSX.Element;
|
|
24
|
+
declare const GenericModelList: ({ columnFields, hiddenFields, minWidthFields, indexFieldBasePath, indexField, hasBulkSelect, customColumnOperations, customLinkDestination, sumRows, isAutoHeight, model, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, }: GenericModelListProps) => JSX.Element;
|
|
23
25
|
export default GenericModelList;
|
|
@@ -48,7 +48,7 @@ const utils_1 = require("../utils");
|
|
|
48
48
|
const api_1 = require("../api");
|
|
49
49
|
const DRFReactBySchemaContext_1 = require("../context/DRFReactBySchemaContext");
|
|
50
50
|
const APIWrapperContext_1 = require("../context/APIWrapperContext");
|
|
51
|
-
const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, indexFieldBasePath, indexField, customColumnOperations, customLinkDestination, sumRows, isAutoHeight = true, model, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, }) => {
|
|
51
|
+
const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, indexFieldBasePath, indexField, hasBulkSelect = false, customColumnOperations, customLinkDestination, sumRows, isAutoHeight = true, model, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, queryParams, }) => {
|
|
52
52
|
const context = react_1.default.useContext(DRFReactBySchemaContext_1.DRFReactBySchemaContext);
|
|
53
53
|
const apiContext = react_1.default.useContext(APIWrapperContext_1.APIWrapperContext);
|
|
54
54
|
if (!apiContext) {
|
|
@@ -82,6 +82,7 @@ const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, ind
|
|
|
82
82
|
columnFields,
|
|
83
83
|
hiddenFields,
|
|
84
84
|
isInBatches,
|
|
85
|
+
queryParams,
|
|
85
86
|
};
|
|
86
87
|
const loadedData = yield (0, api_1.getGenericModelList)(loadParams);
|
|
87
88
|
if (loadedData && typeof loadedData !== 'boolean') {
|
|
@@ -111,6 +112,7 @@ const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, ind
|
|
|
111
112
|
hiddenFields,
|
|
112
113
|
page,
|
|
113
114
|
filter,
|
|
115
|
+
queryParams,
|
|
114
116
|
sort,
|
|
115
117
|
sumRows,
|
|
116
118
|
};
|
|
@@ -129,7 +131,7 @@ const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, ind
|
|
|
129
131
|
}
|
|
130
132
|
(0, react_1.useEffect)(() => {
|
|
131
133
|
loadObjectList();
|
|
132
|
-
}, [model, defaultFilter]);
|
|
134
|
+
}, [model, defaultFilter, queryParams]);
|
|
133
135
|
(0, react_1.useEffect)(() => {
|
|
134
136
|
if (paginationMode === 'server') {
|
|
135
137
|
loadObjectList();
|
|
@@ -146,7 +148,7 @@ const GenericModelList = ({ columnFields, hiddenFields = [], minWidthFields, ind
|
|
|
146
148
|
react_1.default.createElement(LinkComponent, { to: `novo` },
|
|
147
149
|
react_1.default.createElement(Button_1.default, { variant: "contained", size: "medium", sx: { alignSelf: 'stretch' }, startIcon: react_1.default.createElement(AddCircleOutline_1.default, null) }, "Adicionar")))))),
|
|
148
150
|
react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.dataGridWithTabs },
|
|
149
|
-
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema || {}, model: model, indexField: indexField, indexFieldBasePath: indexFieldBasePath, isEditable: false, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, customColumnOperations: finalCustomColumnOperations, customLinkDestination: customLinkDestination, setVisibleRows: setVisibleRows, onDataChange: (newData) => {
|
|
151
|
+
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema || {}, model: model, indexField: indexField, indexFieldBasePath: indexFieldBasePath, isEditable: false, hasBulkSelect: hasBulkSelect, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, customColumnOperations: finalCustomColumnOperations, customLinkDestination: customLinkDestination, setVisibleRows: setVisibleRows, onDataChange: (newData) => {
|
|
150
152
|
setData(Object.assign(Object.assign({}, data), { data: newData }));
|
|
151
153
|
}, LinkComponent: LinkComponent, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
|
|
152
154
|
? undefined
|
|
@@ -18,6 +18,7 @@ interface GenericRelatedModelListProps {
|
|
|
18
18
|
sumRows?: SumRowsType;
|
|
19
19
|
customColumnOperations?: (column: GridEnrichedBySchemaColDef) => GridEnrichedBySchemaColDef;
|
|
20
20
|
isEditable?: boolean;
|
|
21
|
+
hasBulkSelect?: boolean;
|
|
21
22
|
isAutoHeight?: boolean;
|
|
22
23
|
isInBatches?: boolean;
|
|
23
24
|
indexFieldBasePath?: string;
|
|
@@ -25,6 +26,7 @@ interface GenericRelatedModelListProps {
|
|
|
25
26
|
LinkComponent?: React.ReactNode;
|
|
26
27
|
paginationMode: 'server' | 'client';
|
|
27
28
|
defaultFilter?: GridFilterModel;
|
|
29
|
+
queryParams?: string[];
|
|
28
30
|
}
|
|
29
|
-
export default function GenericRelatedModelList({ id, model, relatedModel, columnFields, creatableFields, hiddenFields, usuaria, minWidthFields, indexField, addExistingModel, label, onProcessRow, sumRows, customColumnOperations, isEditable, isAutoHeight, isInBatches, indexFieldBasePath, noCardWrapper, paginationMode, defaultFilter, }: GenericRelatedModelListProps): JSX.Element;
|
|
31
|
+
export default function GenericRelatedModelList({ id, model, relatedModel, columnFields, creatableFields, hiddenFields, usuaria, minWidthFields, indexField, addExistingModel, label, onProcessRow, sumRows, customColumnOperations, isEditable, hasBulkSelect, isAutoHeight, isInBatches, indexFieldBasePath, noCardWrapper, paginationMode, defaultFilter, queryParams, }: GenericRelatedModelListProps): JSX.Element;
|
|
30
32
|
export {};
|
|
@@ -46,9 +46,9 @@ const APIWrapperContext_1 = require("../context/APIWrapperContext");
|
|
|
46
46
|
const utils_1 = require("../utils");
|
|
47
47
|
const api_1 = require("../api");
|
|
48
48
|
const styles_1 = require("../styles");
|
|
49
|
-
const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, isAutoHeight, hideFooterPagination, onProcessRow, setData, sumRows, visibleRows, paginationMode = 'client', paginationModel, setPaginationModel, }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
49
|
+
const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, isAutoHeight, hideFooterPagination, onProcessRow, setData, sumRows, visibleRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, }) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
50
50
|
data.columns && (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.dataGridFixedHeight },
|
|
51
|
-
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, onEditModel: onEditModel, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, onDataChange: (newData) => {
|
|
51
|
+
react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, schema: data.schema, model: relatedModel, modelParent: model, modelParentId: id, indexField: indexField, indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, customColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, onDataChange: (newData) => {
|
|
52
52
|
setData(Object.assign(Object.assign({}, data), { data: newData }));
|
|
53
53
|
}, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
|
|
54
54
|
? undefined
|
|
@@ -56,7 +56,7 @@ const ContentTable = ({ data, relatedModel, model, id, indexField, indexFieldBas
|
|
|
56
56
|
? data.rowCount
|
|
57
57
|
: 0 }))),
|
|
58
58
|
react_1.default.createElement(DataTotals_1.default, { data: data.data, sumRows: sumRows, visibleRows: visibleRows })));
|
|
59
|
-
function GenericRelatedModelList({ id, model, relatedModel, columnFields, creatableFields, hiddenFields, usuaria = null, minWidthFields, indexField, addExistingModel, label, onProcessRow, sumRows, customColumnOperations, isEditable = true, isAutoHeight = false, isInBatches = true, indexFieldBasePath, noCardWrapper = false, paginationMode = 'client', defaultFilter, }) {
|
|
59
|
+
function GenericRelatedModelList({ id, model, relatedModel, columnFields, creatableFields, hiddenFields, usuaria = null, minWidthFields, indexField, addExistingModel, label, onProcessRow, sumRows, customColumnOperations, isEditable = true, hasBulkSelect = false, isAutoHeight = false, isInBatches = true, indexFieldBasePath, noCardWrapper = false, paginationMode = 'client', defaultFilter, queryParams, }) {
|
|
60
60
|
const [data, setData] = (0, react_1.useState)(false);
|
|
61
61
|
const [visibleRows, setVisibleRows] = (0, react_1.useState)([]);
|
|
62
62
|
const [hideFooterPagination, setHideFooterPagination] = (0, react_1.useState)(false);
|
|
@@ -86,6 +86,7 @@ function GenericRelatedModelList({ id, model, relatedModel, columnFields, creata
|
|
|
86
86
|
hiddenFields,
|
|
87
87
|
usuaria,
|
|
88
88
|
isInBatches,
|
|
89
|
+
queryParams,
|
|
89
90
|
serverEndPoint,
|
|
90
91
|
};
|
|
91
92
|
const loadedData = yield (0, api_1.getGenericModelList)(loadParams);
|
|
@@ -118,6 +119,7 @@ function GenericRelatedModelList({ id, model, relatedModel, columnFields, creata
|
|
|
118
119
|
filter,
|
|
119
120
|
sort,
|
|
120
121
|
sumRows,
|
|
122
|
+
queryParams,
|
|
121
123
|
serverEndPoint,
|
|
122
124
|
};
|
|
123
125
|
const paginatedData = yield (0, api_1.getGenericModelList)(loadPaginatedParams);
|
|
@@ -131,15 +133,15 @@ function GenericRelatedModelList({ id, model, relatedModel, columnFields, creata
|
|
|
131
133
|
});
|
|
132
134
|
(0, react_1.useEffect)(() => {
|
|
133
135
|
loadObjectList();
|
|
134
|
-
}, [model, defaultFilter]);
|
|
136
|
+
}, [model, defaultFilter, queryParams]);
|
|
135
137
|
(0, react_1.useEffect)(() => {
|
|
136
138
|
if (paginationMode === 'server') {
|
|
137
139
|
loadObjectList();
|
|
138
140
|
}
|
|
139
141
|
}, [paginationModel]);
|
|
140
|
-
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(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
|
|
142
|
+
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(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel })) : (react_1.default.createElement(Card_1.default, { sx: styles_1.Layout.formCard },
|
|
141
143
|
react_1.default.createElement(CardHeader_1.default, { title: label }),
|
|
142
144
|
react_1.default.createElement(CardContent_1.default, null,
|
|
143
|
-
react_1.default.createElement(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel }))))))));
|
|
145
|
+
react_1.default.createElement(ContentTable, { data: data, model: model, relatedModel: relatedModel, id: id, indexField: indexField || '', indexFieldBasePath: indexFieldBasePath, addExistingModel: addExistingModel, isEditable: isEditable, hasBulkSelect: hasBulkSelect, onEditModel: onEditModel, onDeleteRelatedModel: onDeleteRelatedModel, finalCustomColumnOperations: finalCustomColumnOperations, setVisibleRows: setVisibleRows, isAutoHeight: isAutoHeight, hideFooterPagination: hideFooterPagination, onProcessRow: onProcessRow, setData: setData, sumRows: sumRows, visibleRows: visibleRows, paginationMode: paginationMode, paginationModel: paginationModel, setPaginationModel: setPaginationModel }))))))));
|
|
144
146
|
}
|
|
145
147
|
exports.default = GenericRelatedModelList;
|
package/package.json
CHANGED