drf-react-by-schema 0.19.17 → 0.19.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CustomToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/CustomToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,EACL,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,EAAE,EACF,IAAI,EACJ,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,KAAK,kBAAkB,GAAG;IACxB,eAAe,EAAE,0BAA0B,EAAE,CAAC;IAC9C,kBAAkB,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,0BAA0B,EAAE,KAAK,IAAI,CAAC;IACrE,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,yNAa3B,kBAAkB,sBAwHpB,CAAC"}
1
+ {"version":3,"file":"CustomToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/CustomToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,EACL,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,EAAE,EACF,IAAI,EACJ,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,KAAK,kBAAkB,GAAG;IACxB,eAAe,EAAE,0BAA0B,EAAE,CAAC;IAC9C,kBAAkB,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,0BAA0B,EAAE,KAAK,IAAI,CAAC;IACrE,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,yNAa3B,kBAAkB,sBA0GpB,CAAC"}
@@ -67,6 +67,9 @@ const CustomToolbar = ({ preparedColumns, setPreparedColumns, onSelectActions, s
67
67
  const closeActionsMenu = () => {
68
68
  setActionsMenuAnchorEl(null);
69
69
  };
70
+ const DensitySelector = () => (
71
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
72
+ react_1.default.createElement(x_data_grid_1.GridToolbarDensitySelector, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "" }));
70
73
  return (react_1.default.createElement(x_data_grid_1.GridToolbarContainer, { sx: { justifyContent: 'space-between' } },
71
74
  react_1.default.createElement("div", { style: { display: 'flex', flexWrap: 'wrap' } },
72
75
  onSelectActions && onSelectActions.length > 0 && selectionModel.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
@@ -90,10 +93,14 @@ const CustomToolbar = ({ preparedColumns, setPreparedColumns, onSelectActions, s
90
93
  }
91
94
  selectAction.action(selectionModel, bulkUpdateData);
92
95
  } }, selectAction.title)))))),
93
- !hideColumnsButton && (react_1.default.createElement(x_data_grid_1.GridToolbarColumnsButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined })),
94
- !hideFilterButton && (react_1.default.createElement(x_data_grid_1.GridToolbarFilterButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined })),
96
+ !hideColumnsButton && (
97
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
98
+ react_1.default.createElement(x_data_grid_1.GridToolbarColumnsButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "" })),
99
+ !hideFilterButton && (
100
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
101
+ react_1.default.createElement(x_data_grid_1.GridToolbarFilterButton, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "" })),
95
102
  !hideDensityButton && (react_1.default.createElement(react_1.default.Fragment, null,
96
- react_1.default.createElement(x_data_grid_1.GridToolbarDensitySelector, { sx: { ml: '10px', fontSize: '13px' }, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }),
103
+ react_1.default.createElement(DensitySelector, null),
97
104
  react_1.default.createElement(Button_1.default, { onClick: openResizeMenu, sx: { ml: '0px', fontSize: '13px' } },
98
105
  react_1.default.createElement(Expand_1.default, { sx: { transform: 'rotate(90deg)', mr: '6px' } }),
99
106
  "Ajustar"),
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { JSX } from 'react';
2
2
  import { GridRowId, GridRenderCellParams } from '@mui/x-data-grid';
3
3
  import * as Yup from 'yup';
4
4
  import { SxProps } from '@mui/material';
@@ -63,6 +63,7 @@ interface DataGridDesktopProps {
63
63
  setSnackBar: React.Dispatch<React.SetStateAction<Item>>;
64
64
  yupValidationSchema: Yup.AnySchema | null;
65
65
  }
66
- declare const DataGridDesktop: React.ForwardRefExoticComponent<DataGridDesktopProps & React.RefAttributes<unknown>>;
67
- export default DataGridDesktop;
66
+ declare function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount, columns, model, name, indexField, addExistingModel, indexFieldMinWidth, indexFieldBasePath, indexFieldViewBasePath, stateToLink, minWidth, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, onDataChange, onEditModel, isEditable, hasBulkSelect, onSelectActions, isAutoHeight, hideFooterPagination, setVisibleRows, paginationModel, setPaginationModel, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }: DataGridDesktopProps): JSX.Element;
67
+ declare const _default: React.MemoExoticComponent<typeof DataGridDesktop>;
68
+ export default _default;
68
69
  //# 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,KAAuD,MAAM,OAAO,CAAC;AAE5E,OAAO,EAML,SAAS,EAET,oBAAoB,EAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAS3B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,OAAO,EACL,IAAI,EACJ,UAAU,EAEV,EAAE,EACF,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACV,eAAe,EAGf,SAAS,EACT,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,eAAe,EAAiB,MAAM,iCAAiC,CAAC;AAEjF,UAAU,oBAAoB;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAC3B,WAAW,EAAE,CACX,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC;QAC1B,IAAI,EAAE,IAAI,EAAE,CAAC;KACd,CAAC,KACC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sBAAsB,CAAC,EAAE,CACvB,CAAC,EAAE,0BAA0B,KAC1B,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3D,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;IAEvB,SAAS,EAAE,IAAI,CAAC;IAChB,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,MAAM,IAAI,CAAC;IAC1C,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,mBAAmB,EAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;CAC3C;AAED,QAAA,MAAM,eAAe,sFAqhCpB,CAAC;AAIF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DataGridDesktop.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/DataGridDesktop.tsx"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ const GridPatternInput_1 = require("./GridPatternInput");
70
70
  const BooleanInputCell_1 = require("./BooleanInputCell");
71
71
  const FooterToolbar_1 = require("./FooterToolbar");
72
72
  const APIWrapperContext_1 = require("../../context/APIWrapperContext");
73
- const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid, rowCount = 0, columns, 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 = false, onSelectActions, isAutoHeight = false, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }, _) => {
73
+ function DataGridDesktop({ schema, dataGrid, setDataGrid, rowCount = 0, columns, 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 = false, onSelectActions, isAutoHeight = false, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC: optionsACExternal, emptyItem, handleDeleteClick, setSnackBar, yupValidationSchema, }) {
74
74
  const { serverEndPoint } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
75
75
  const apiContext = (0, APIWrapperContext_1.useAPIWrapper)();
76
76
  const [preparedColumns, setPreparedColumns] = (0, react_1.useState)(null);
@@ -84,7 +84,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
84
84
  if (!onEditModel) {
85
85
  onEditModel = apiContext.onEditModel;
86
86
  }
87
- const updateOptionsAC = () => __awaiter(void 0, void 0, void 0, function* () {
87
+ const updateOptionsAC = () => __awaiter(this, void 0, void 0, function* () {
88
88
  optionsAC.current = {};
89
89
  for (const col of columns) {
90
90
  if (optionsACExternal && col.field in optionsACExternal) {
@@ -126,7 +126,10 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
126
126
  }
127
127
  }
128
128
  });
129
- const initColumns = () => __awaiter(void 0, void 0, void 0, function* () {
129
+ const ActionElement = ({ Icon, label }) => (
130
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
131
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { icon: Icon, label: label, color: "inherit", showInMenu: false, placeholder: "" }));
132
+ const initColumns = () => __awaiter(this, void 0, void 0, function* () {
130
133
  const actionCols = [];
131
134
  if (isEditable) {
132
135
  const handleSaveClick = (id) => () => {
@@ -163,18 +166,24 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
163
166
  const isInEditMode = ((_a = rowModesModel === null || rowModesModel === void 0 ? void 0 : rowModesModel[id]) === null || _a === void 0 ? void 0 : _a.mode) === x_data_grid_1.GridRowModes.Edit;
164
167
  if (isInEditMode) {
165
168
  return [
166
- react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `save_${id}`, icon: react_1.default.createElement(Check_1.default, null), label: "Salvar", onClick: handleSaveClick(id), color: "success", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }),
167
- react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `cancel_${id}`, icon: react_1.default.createElement(Undo_1.default, null), label: "Cancelar", onClick: handleCancelClick(id), color: "inherit", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }),
169
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
170
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `save_${id}`, icon: react_1.default.createElement(Check_1.default, null), label: "Salvar", onClick: handleSaveClick(id), color: "success", showInMenu: false, placeholder: "" }),
171
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
172
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `cancel_${id}`, icon: react_1.default.createElement(Undo_1.default, null), label: "Cancelar", onClick: handleCancelClick(id), color: "inherit", showInMenu: false, placeholder: "" }),
168
173
  ];
169
174
  }
170
175
  const actionItems = [];
171
176
  actions.forEach((action) => {
172
177
  switch (action) {
173
178
  case 'editInline':
174
- actionItems.push(react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `editInline_${id}`, icon: actions.includes('edit') ? react_1.default.createElement(Bolt_1.default, null) : react_1.default.createElement(Edit_1.default, null), label: "Edit inline", onClick: handleEditInlineClick(id), color: "inherit", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }));
179
+ actionItems.push(
180
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
181
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `editInline_${id}`, icon: actions.includes('edit') ? react_1.default.createElement(Bolt_1.default, null) : react_1.default.createElement(Edit_1.default, null), label: "Edit inline", onClick: handleEditInlineClick(id), color: "inherit", showInMenu: false, placeholder: "" }));
175
182
  break;
176
183
  case 'remove':
177
- actionItems.push(react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `remove_${id}`, icon: react_1.default.createElement(Clear_1.default, null), label: "Delete", onClick: handleDeleteClick(id), color: "error", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }));
184
+ actionItems.push(
185
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
186
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `remove_${id}`, icon: react_1.default.createElement(Clear_1.default, null), label: "Delete", onClick: handleDeleteClick(id), color: "error", showInMenu: false, placeholder: "" }));
178
187
  break;
179
188
  case 'edit':
180
189
  if (!LinkComponent) {
@@ -182,7 +191,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
182
191
  break;
183
192
  }
184
193
  actionItems.push(react_1.default.createElement(LinkComponent, { key: `edit_${id}`, to: `${indexFieldBasePath}${id}`, state: stateToLink },
185
- react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { icon: react_1.default.createElement(Edit_1.default, null), label: "Edit", color: "inherit", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined })));
194
+ react_1.default.createElement(ActionElement, { Icon: react_1.default.createElement(Edit_1.default, null), label: "Edit" })));
186
195
  break;
187
196
  case 'view':
188
197
  if (!LinkComponent) {
@@ -194,7 +203,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
194
203
  break;
195
204
  }
196
205
  actionItems.push(react_1.default.createElement(LinkComponent, { key: `view_${id}`, to: `${indexFieldViewBasePath}${id}`, state: stateToLink },
197
- react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { icon: react_1.default.createElement(Visibility_1.default, null), label: "View", color: "inherit", showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined })));
206
+ react_1.default.createElement(ActionElement, { Icon: react_1.default.createElement(Visibility_1.default, null), label: "View" })));
198
207
  break;
199
208
  }
200
209
  });
@@ -202,7 +211,9 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
202
211
  // React.ReactElement<any, string | React.JSXElementConstructor<any>>
203
212
  if (customActions) {
204
213
  customActions.forEach((customAction) => {
205
- actionItems.push(react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `${customAction.key}_${id}`, icon: customAction.icon, label: customAction.label, onClick: () => customAction.handleClick(dataGrid.data.find((row) => row.id === id)), showInMenu: false, placeholder: "", onResize: () => undefined, onResizeCapture: () => undefined, onPointerEnterCapture: () => undefined, onPointerLeaveCapture: () => undefined }));
214
+ actionItems.push(
215
+ // @ts-expect-error - Ignore missing event handlers (they don't actually exist)
216
+ react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `${customAction.key}_${id}`, icon: customAction.icon, label: customAction.label, onClick: () => customAction.handleClick(dataGrid.data.find((row) => row.id === id)), showInMenu: false, placeholder: "" }));
206
217
  });
207
218
  }
208
219
  return actionItems;
@@ -210,7 +221,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
210
221
  });
211
222
  }
212
223
  const cols = [...actionCols, ...columns];
213
- const colsPromises = cols.map((col) => __awaiter(void 0, void 0, void 0, function* () {
224
+ const colsPromises = cols.map((col) => __awaiter(this, void 0, void 0, function* () {
214
225
  if (!schema[col.field]) {
215
226
  return col;
216
227
  }
@@ -445,7 +456,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
445
456
  }
446
457
  }
447
458
  };
448
- const bulkUpdateData = (newData) => __awaiter(void 0, void 0, void 0, function* () {
459
+ const bulkUpdateData = (newData) => __awaiter(this, void 0, void 0, function* () {
449
460
  const promises = [];
450
461
  const ids = [];
451
462
  newData.map((item) => {
@@ -482,7 +493,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
482
493
  };
483
494
  });
484
495
  });
485
- const bulkDeleteData = (ids) => __awaiter(void 0, void 0, void 0, function* () {
496
+ const bulkDeleteData = (ids) => __awaiter(this, void 0, void 0, function* () {
486
497
  const promises = [];
487
498
  ids.map((id) => {
488
499
  promises.push((0, api_1.deleteData)(model, serverEndPoint, id));
@@ -507,7 +518,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
507
518
  };
508
519
  });
509
520
  });
510
- const bulkCreateData = (ids) => __awaiter(void 0, void 0, void 0, function* () {
521
+ const bulkCreateData = (ids) => __awaiter(this, void 0, void 0, function* () {
511
522
  handleAddItems(ids.length);
512
523
  setSelectionModel([]);
513
524
  setSelectionModelIds([]);
@@ -522,16 +533,14 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
522
533
  initColumns();
523
534
  });
524
535
  // eslint-disable-next-line react-hooks/exhaustive-deps
525
- }, [rowModesModel, JSON.stringify(columns)]);
526
- const processRowUpdate = (editedRow) => __awaiter(void 0, void 0, void 0, function* () {
536
+ }, [rowModesModel, columns]);
537
+ const processRowUpdate = (editedRow) => __awaiter(this, void 0, void 0, function* () {
527
538
  if (!preparedColumns || !yupValidationSchema) {
528
539
  return false;
529
540
  }
530
- console.log('processRowUpdate2');
531
541
  setDataGridLoading(true);
532
542
  const indexCol = preparedColumns.find((col) => col.field === indexField);
533
543
  processingRow.current = editedRow.id;
534
- console.log(`processRowUpdate: editedRow.id: ${editedRow.id}`);
535
544
  yield yupValidationSchema.validate(editedRow);
536
545
  const onlyAddExisting = indexField &&
537
546
  (0, utils_1.isTmpId)(editedRow.id) &&
@@ -674,8 +683,7 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
674
683
  const hasValueFormatter = (indexColumn === null || indexColumn === void 0 ? void 0 : indexColumn.valueFormatter) !== undefined;
675
684
  const isIndexFieldEditable = !optionsAC.current || !(indexField in optionsAC.current) || hasValueFormatter;
676
685
  return (isRowInEditMode &&
677
- (isPermanentRow ||
678
- ((0, utils_1.isTmpId)(params.row.id) && (isIndexField || isIndexFieldEditable))));
686
+ (isPermanentRow || ((0, utils_1.isTmpId)(params.row.id) && (isIndexField || isIndexFieldEditable))));
679
687
  }, checkboxSelection: checkboxSelection, onSelectionModelChange: (newSelectionModel) => {
680
688
  const selectedData = dataGrid.data.filter((item) => newSelectionModel.includes(item.id));
681
689
  setSelectionModel(selectedData);
@@ -755,6 +763,5 @@ const DataGridDesktop = (0, react_1.forwardRef)(({ schema, dataGrid, setDataGrid
755
763
  }
756
764
  }
757
765
  : undefined }))));
758
- });
759
- DataGridDesktop.displayName = 'DataGridDesktop';
760
- exports.default = DataGridDesktop;
766
+ }
767
+ exports.default = react_1.default.memo(DataGridDesktop, utils_1.shouldMemoUpdate);
@@ -40,6 +40,7 @@ interface GenericModelListProps {
40
40
  extraValidators?: Item;
41
41
  MobileListRenderItem?: MobileListRenderItemType;
42
42
  }
43
- declare const GenericModelList: ({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, MobileListRenderItem, }: GenericModelListProps) => React.JSX.Element;
44
- export default GenericModelList;
43
+ declare function GenericModelList({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, forceReload, LinkComponent, hasHeader, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, MobileListRenderItem, }: GenericModelListProps): React.JSX.Element;
44
+ declare const _default: React.MemoExoticComponent<typeof GenericModelList>;
45
+ export default _default;
45
46
  //# sourceMappingURL=GenericModelList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenericModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericModelList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,OAAO,EAAa,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMpF,OAAO,EACL,0BAA0B,EAG1B,UAAU,EACV,IAAI,EACJ,eAAe,EACf,SAAS,EACT,eAAe,EACf,YAAY,EAEZ,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,WAAW,CAAC;AAMnB,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,CACvB,MAAM,EAAE,0BAA0B,KAC/B,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACtE,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3D,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACpC,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,IAAI,CAAC;IAEvB,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;CACjD;AAED,QAAA,MAAM,gBAAgB,GAAI,6lBAuCvB,qBAAqB,sBA0NvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"GenericModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericModelList.tsx"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ const utils_1 = require("../utils");
60
60
  const api_1 = require("../api");
61
61
  const DRFReactBySchemaContext_1 = require("../context/DRFReactBySchemaContext");
62
62
  const APIWrapperContext_1 = require("../context/APIWrapperContext");
63
- const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect = false, onSelectActions, sumRows, isAutoHeight = true, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, MobileListRenderItem, }) => {
63
+ function GenericModelList({ model, columnFields, hiddenFields = [], creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect = false, onSelectActions, sumRows, isAutoHeight = true, forceReload = false, LinkComponent = null, hasHeader = false, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, MobileListRenderItem, }) {
64
64
  const { serverEndPoint, isInBatches, firstBatchLength } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
65
65
  const { onEditModel } = (0, APIWrapperContext_1.useAPIWrapper)();
66
66
  const [data, setData] = (0, react_1.useState)(false);
@@ -68,7 +68,7 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
68
68
  const [visibleRows, setVisibleRows] = (0, react_1.useState)([]);
69
69
  const [hideFooterPagination, setHideFooterPagination] = (0, react_1.useState)(false);
70
70
  const [paginationModel, setPaginationModel] = (0, react_1.useState)(paginationMode === 'server' ? { page: 0, pageSize: 100 } : undefined);
71
- const finalCustomColumnOperations = (column) => __awaiter(void 0, void 0, void 0, function* () {
71
+ const finalCustomColumnOperations = (column) => __awaiter(this, void 0, void 0, function* () {
72
72
  if (minWidthFields) {
73
73
  if (column.field in minWidthFields) {
74
74
  column.minWidth = minWidthFields[column.field];
@@ -79,7 +79,7 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
79
79
  }
80
80
  return column;
81
81
  });
82
- const loadObjectList = () => __awaiter(void 0, void 0, void 0, function* () {
82
+ const loadObjectList = () => __awaiter(this, void 0, void 0, function* () {
83
83
  if (!disableScreenLoading) {
84
84
  setLoading(true);
85
85
  }
@@ -182,5 +182,5 @@ const GenericModelList = ({ model, columnFields, hiddenFields = [], creatableFie
182
182
  : 0, extraValidators: extraValidators, MobileListRenderItem: MobileListRenderItem })),
183
183
  paginationMode === 'client' ? (react_1.default.createElement(DataTotals_1.default, { data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { sumRows: sumRows, totals: data.sumRowsTotals })))) : (react_1.default.createElement(Backdrop_1.default, { invisible: true, sx: { color: '#fff', zIndex: (theme) => theme.zIndex.drawer + 1 }, open: loading },
184
184
  react_1.default.createElement(CircularProgress_1.default, null)))));
185
- };
186
- exports.default = GenericModelList;
185
+ }
186
+ exports.default = react_1.default.memo(GenericModelList, utils_1.shouldMemoUpdate);
@@ -40,6 +40,7 @@ interface GenericRelatedModelListProps {
40
40
  extraValidators?: Item;
41
41
  MobileListRenderItem?: MobileListRenderItemType;
42
42
  }
43
- export default function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, }: GenericRelatedModelListProps): React.JSX.Element;
44
- export {};
43
+ declare function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields, creatableFields, disabledFields, usuaria, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight, isInBatches, noCardWrapper, paginationMode, defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, }: GenericRelatedModelListProps): React.JSX.Element;
44
+ declare const _default: React.MemoExoticComponent<typeof GenericRelatedModelList>;
45
+ export default _default;
45
46
  //# sourceMappingURL=GenericRelatedModelList.d.ts.map
@@ -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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"}
@@ -45,7 +45,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  return (mod && mod.__esModule) ? mod : { "default": mod };
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
- exports.default = GenericRelatedModelList;
49
48
  const react_1 = __importStar(require("react"));
50
49
  const Card_1 = __importDefault(require("@mui/material/Card"));
51
50
  const CardHeader_1 = __importDefault(require("@mui/material/CardHeader"));
@@ -165,3 +164,4 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
165
164
  react_1.default.createElement(CardContent_1.default, null,
166
165
  react_1.default.createElement(GenericRelatedModelListTable_1.default, { data: data, 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 }))))))));
167
166
  }
167
+ exports.default = react_1.default.memo(GenericRelatedModelList, utils_1.shouldMemoUpdate);
@@ -39,6 +39,7 @@ interface GenericRelatedModelListTableProps {
39
39
  extraValidators?: Item;
40
40
  MobileListRenderItem?: MobileListRenderItemType;
41
41
  }
42
- export default function GenericRelatedModelListTable({ data, relatedModel, model, loading, id, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, visibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, onProcessRow, onDataChange, sumRows, paginationMode, paginationModel, setPaginationModel, hasBulkSelect, onSelectActions, tableAutoHeight, actions, customActions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, }: GenericRelatedModelListTableProps): React.JSX.Element;
43
- export {};
42
+ declare function GenericRelatedModelListTable({ data, relatedModel, model, loading, id, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, visibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, onProcessRow, onDataChange, sumRows, paginationMode, paginationModel, setPaginationModel, hasBulkSelect, onSelectActions, tableAutoHeight, actions, customActions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, }: GenericRelatedModelListTableProps): React.JSX.Element;
43
+ declare const _default: React.MemoExoticComponent<typeof GenericRelatedModelListTable>;
44
+ export default _default;
44
45
  //# sourceMappingURL=GenericRelatedModelListTable.d.ts.map
@@ -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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"}
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = GenericRelatedModelListTable;
7
6
  const react_1 = __importDefault(require("react"));
8
7
  const Box_1 = __importDefault(require("@mui/material/Box"));
9
8
  const Backdrop_1 = __importDefault(require("@mui/material/Backdrop"));
@@ -12,6 +11,7 @@ const DataGridBySchemaEditable_1 = __importDefault(require("./DataGridBySchemaEd
12
11
  const DataTotals_1 = __importDefault(require("./DataTotals"));
13
12
  const DataTotalsServer_1 = __importDefault(require("./DataTotalsServer"));
14
13
  const styles_1 = require("../styles");
14
+ const utils_1 = require("../utils");
15
15
  function GenericRelatedModelListTable({ data, relatedModel, model, loading, id, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, isEditable, onEditModel, finalCustomColumnOperations, setVisibleRows, visibleRows, isAutoHeight, hideFooterPagination, hideFooterComponent, hideToolbarComponent, onProcessRow, onDataChange, sumRows, paginationMode = 'client', paginationModel, setPaginationModel, hasBulkSelect, onSelectActions, tableAutoHeight, actions, customActions, optionsAC, defaultValues, LinkComponent, extraValidators, MobileListRenderItem, }) {
16
16
  return (react_1.default.createElement(react_1.default.Fragment, null,
17
17
  data.columns ? (react_1.default.createElement(Box_1.default, { sx: tableAutoHeight ? {} : styles_1.Layout.dataGridFixedHeight },
@@ -23,3 +23,4 @@ function GenericRelatedModelListTable({ data, relatedModel, model, loading, id,
23
23
  react_1.default.createElement(CircularProgress_1.default, null))),
24
24
  paginationMode === 'client' ? (react_1.default.createElement(DataTotals_1.default, { data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { sumRows: sumRows, totals: data.sumRowsTotals }))));
25
25
  }
26
+ exports.default = react_1.default.memo(GenericRelatedModelListTable, utils_1.shouldMemoUpdate);
package/dist/utils.d.ts CHANGED
@@ -35,4 +35,5 @@ export declare function initViewColumns({ schema, columns, customColumnOperation
35
35
  columns: GridEnrichedBySchemaColDef[];
36
36
  customColumnOperations?: (p: GridEnrichedBySchemaColDef) => GridEnrichedBySchemaColDef | Promise<GridEnrichedBySchemaColDef>;
37
37
  }): Promise<any>;
38
+ export declare function shouldMemoUpdate<T extends object>(prevProps: Readonly<T>, nextProps: Readonly<T>): boolean;
38
39
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACL,MAAM,EACN,WAAW,EAEX,YAAY,EACZ,0BAA0B,EAC1B,IAAI,EACJ,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,WAAW,EAAE,YAyBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,8BASjF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,kBAAkB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,SA+ClF,CAAC;AAsDF,eAAO,MAAM,+BAA+B,GAAI,sDAM7C;IACD,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,QAoEA,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4CAKxB;IACD,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;CAkBA,CAAC;AAEF,eAAO,MAAM,QAAQ,cAEpB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,YAK7D,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,YAQtE;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAqB5C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,mDA0B7E;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,sBAAoB,WAWhE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,GAAG,IAAI,WAa1C,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,eAAe,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,SAAS,OAyBpC;AAED,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,OAAO,EACP,sBAAsB,GACvB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,sBAAsB,CAAC,EAAE,CACvB,CAAC,EAAE,0BAA0B,KAC1B,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACvE,gBAqFA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EACL,MAAM,EACN,WAAW,EAEX,YAAY,EACZ,0BAA0B,EAC1B,IAAI,EACJ,UAAU,EACX,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,WAAW,EAAE,YAyBzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,8BASjF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,kBAAkB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,SA8ClF,CAAC;AAsDF,eAAO,MAAM,+BAA+B,GAAI,sDAM7C;IACD,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,QAiEA,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,4CAKxB;IACD,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;CAkBA,CAAC;AAEF,eAAO,MAAM,QAAQ,cAEpB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,YAK7D,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,YAQtE;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAqB5C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,mDA0B7E;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,EAAE,sBAAoB,WAWhE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,GAAG,IAAI,WAa1C,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,eAAe,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,SAAS,OAyBpC;AAED,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,OAAO,EACP,sBAAsB,GACvB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,sBAAsB,CAAC,EAAE,CACvB,CAAC,EAAE,0BAA0B,KAC1B,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACvE,gBAqFA;AA0CD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EACtB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GACrB,OAAO,CAwCT"}
package/dist/utils.js CHANGED
@@ -50,6 +50,7 @@ exports.reducer = reducer;
50
50
  exports.buildDateFormatBySchema = buildDateFormatBySchema;
51
51
  exports.mergeFilterItems = mergeFilterItems;
52
52
  exports.initViewColumns = initViewColumns;
53
+ exports.shouldMemoUpdate = shouldMemoUpdate;
53
54
  const dayjs_1 = __importDefault(require("dayjs"));
54
55
  const Yup = __importStar(require("yup"));
55
56
  const string_mask_1 = __importDefault(require("string-mask"));
@@ -131,7 +132,6 @@ const populateValues = ({ data, schema }) => {
131
132
  }
132
133
  values[key] = data[key];
133
134
  }
134
- // console.log(values);
135
135
  return values;
136
136
  };
137
137
  exports.populateValues = populateValues;
@@ -194,7 +194,6 @@ const buildGenericYupValidationSchema = ({ data, schema, many = false, skipField
194
194
  if (!data || !(key in data) || key === 'id' || skipFields.includes(key)) {
195
195
  continue;
196
196
  }
197
- // console.log({ key, field, data: data[key] });
198
197
  // OneToMany or ManyToMany:
199
198
  if (field.type === 'field' && field.child) {
200
199
  yupValidator[key] = (0, exports.buildGenericYupValidationSchema)({
@@ -240,7 +239,6 @@ const buildGenericYupValidationSchema = ({ data, schema, many = false, skipField
240
239
  }
241
240
  }
242
241
  }
243
- // console.log({ yupValidator });
244
242
  return many ? Yup.array().of(Yup.object().shape(yupValidator)) : Yup.object().shape(yupValidator);
245
243
  };
246
244
  exports.buildGenericYupValidationSchema = buildGenericYupValidationSchema;
@@ -463,3 +461,73 @@ function initViewColumns(_a) {
463
461
  return finalCols;
464
462
  });
465
463
  }
464
+ function deepEqual(a, b) {
465
+ if (!a && !b) {
466
+ return true;
467
+ }
468
+ if (a === b) {
469
+ return true;
470
+ }
471
+ if (typeof a === 'function' && typeof b === 'function') {
472
+ if (a.toString() !== b.toString()) {
473
+ return false;
474
+ }
475
+ return true;
476
+ }
477
+ if (a === null || b === null || typeof a !== 'object' || typeof b !== 'object') {
478
+ return false;
479
+ }
480
+ // Handle arrays
481
+ if (Array.isArray(a) && Array.isArray(b)) {
482
+ if (a.length !== b.length) {
483
+ return false;
484
+ }
485
+ return a.every((val, i) => deepEqual(val, b[i]));
486
+ }
487
+ // Handle objects
488
+ const keysA = Object.keys(a);
489
+ const keysB = Object.keys(b);
490
+ if (keysA.length !== keysB.length) {
491
+ return false;
492
+ }
493
+ return keysA.every((key) => {
494
+ const valA = a[key];
495
+ const valB = b[key];
496
+ return deepEqual(valA, valB);
497
+ });
498
+ }
499
+ function shouldMemoUpdate(prevProps, nextProps) {
500
+ const propKeys = new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);
501
+ for (const key of propKeys) {
502
+ if (typeof key === 'string' && key.startsWith('_'))
503
+ continue;
504
+ const prevVal = prevProps[key];
505
+ const nextVal = nextProps[key];
506
+ // Fast path for identical references
507
+ if (prevVal === nextVal)
508
+ continue;
509
+ // Handle null/undefined mismatches
510
+ if (prevVal == null || nextVal == null) {
511
+ return false;
512
+ }
513
+ // Special handling for functions
514
+ if (typeof prevVal === 'function' && typeof nextVal === 'function') {
515
+ if (prevVal.toString() !== nextVal.toString()) {
516
+ return false;
517
+ }
518
+ continue;
519
+ }
520
+ // Deep compare objects
521
+ if (typeof prevVal === 'object' && typeof nextVal === 'object') {
522
+ if (!deepEqual(prevVal, nextVal)) {
523
+ return false;
524
+ }
525
+ continue;
526
+ }
527
+ // Final comparison for primitives
528
+ if (prevVal !== nextVal) {
529
+ return false;
530
+ }
531
+ }
532
+ return true;
533
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.19.17",
3
+ "version": "0.19.19",
4
4
  "description": "Components and Tools for building a React App having Django Rest Framework (DRF) as server",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",