drf-react-by-schema 0.26.8 → 0.26.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.
@@ -13,9 +13,8 @@ import { OnEditModelType } from '../../context/APIWrapperContext';
13
13
  interface DataGridDesktopProps<T extends TField = void> {
14
14
  schema: SchemaType<T>;
15
15
  apiRef: RefObject<GridApiCommunity>;
16
- dataGrid: {
17
- data: Item<T>[];
18
- };
16
+ dataGridRows: Item<T>[];
17
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
19
18
  rowCount?: number;
20
19
  columns: GridEnrichedBySchemaColDef<T>[];
21
20
  columnVisibilityModel?: GridColumnVisibilityModel;
@@ -39,7 +38,6 @@ interface DataGridDesktopProps<T extends TField = void> {
39
38
  customLinkDestination?: (p: GridRenderCellParams) => string;
40
39
  LinkComponent?: LinkComponentType;
41
40
  onProcessRow?: (p: Item<T>) => void;
42
- onDataChange?: (p: Item<T>[]) => void;
43
41
  onEditModel?: (p: OnEditModelType<T>) => void;
44
42
  isEditable?: boolean;
45
43
  hasBulkSelect?: boolean;
@@ -68,6 +66,6 @@ interface DataGridDesktopProps<T extends TField = void> {
68
66
  setSnackBar: React.Dispatch<React.SetStateAction<Item>>;
69
67
  yupValidationSchema: AnySchema | null;
70
68
  }
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;
69
+ declare function DataGridDesktop<T extends TField = void>({ schema, apiRef, dataGridRows, setDataGridRows, rowCount, columns, columnVisibilityModel, model, name, indexField, addExistingModel, indexFieldMinWidth, indexFieldBasePath, indexFieldViewBasePath, stateToLink, minWidth, loading, modelParent, modelParentId, customColumnOperations, customFieldFormLayouts, customLinkDestination, LinkComponent, onProcessRow, 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;
72
70
  export default DataGridDesktop;
73
71
  //# sourceMappingURL=DataGridDesktop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridDesktop.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/DataGridDesktop.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGridDesktop.d.ts","sourceRoot":"","sources":["../../../src/components/DataGridBySchemaEditable/DataGridDesktop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA0C,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAEL,SAAS,EACT,oBAAoB,EACpB,yBAAyB,EAI1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAOhF,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,QAAQ,kBAAkB,CAAC;IAEhC,UAAU,qBAAsB,SAAQ,kBAAkB;KAAG;CAC9D;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EACL,IAAI,EACJ,UAAU,EACV,EAAE,EACF,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EAET,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,QAAQ,EACR,sBAAsB,EAEtB,WAAW,EACX,MAAM,EACP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAiB,MAAM,iCAAiC,CAAC;AAYjF,UAAU,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI;IACpD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,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;IAClB,aAAa,CAAC,EAAE,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnD,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,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,CAAC,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,mBAAmB,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC;AAED,iBAAS,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,EAChD,MAAM,EACN,MAAM,EACN,YAAY,EACZ,eAAe,EACf,QAAY,EACZ,OAAO,EACP,qBAAqB,EACrB,KAAK,EACL,IAAqD,EACrD,UAAkC,EAClC,gBAAgB,EAChB,kBAAwB,EACxB,kBAAuB,EACvB,sBAAsB,EACtB,WAAgB,EAChB,QAAa,EACb,OAAO,EACP,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAkB,EAClB,aAAa,EACb,eAAe,EACf,EAAE,EAAE,MAAM,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,OAAkC,EAClC,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EAAE,iBAAiB,EAC5B,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,mBAAmB,GACpB,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBAmezB;AAaD,eAAe,eAAe,CAAC"}
@@ -57,7 +57,7 @@ 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, 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, }) {
60
+ function DataGridDesktop({ schema, apiRef, dataGridRows, setDataGridRows, 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, 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)({});
@@ -84,10 +84,10 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
84
84
  apiRef.current.stopRowEditMode({ id, ignoreModifications: true });
85
85
  handleStopEditing();
86
86
  if ((0, utils_1.isTmpId)(id)) {
87
- apiRef.current.updateRows([{ id, _action: 'delete' }]);
87
+ (0, utils_2.deleteRow)({ id, apiRef, setDataGridRows });
88
88
  }
89
89
  }
90
- }, [apiRef, dataGrid.data]);
90
+ }, [apiRef, setDataGridRows]);
91
91
  const { optionsAC, updateOptionsAC } = (0, useOptionsAC_1.useOptionsAC)({
92
92
  columns,
93
93
  schema,
@@ -95,7 +95,8 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
95
95
  });
96
96
  const { handleAddItem, bulkUpdateData, bulkDeleteData, bulkCreateData, handleExportExcel } = (0, useDataGridActions_1.useDataGridActions)({
97
97
  apiRef,
98
- dataGrid,
98
+ dataGridRows,
99
+ setDataGridRows,
99
100
  setSnackBar,
100
101
  emptyItem,
101
102
  defaultValues,
@@ -139,10 +140,9 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
139
140
  extraValidators,
140
141
  onEditModel,
141
142
  onProcessRow,
142
- onDataChange,
143
143
  updateOptionsAC,
144
144
  apiRef,
145
- dataGrid,
145
+ setDataGridRows,
146
146
  setDataGridLoading,
147
147
  setValidationErrors,
148
148
  processingRow,
@@ -178,14 +178,13 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
178
178
  handleCancelRow(isRowEditing);
179
179
  }
180
180
  apiRef.current.startRowEditMode({ id, fieldToFocus });
181
- (0, utils_2.scrollToEnd)(apiRef);
182
181
  handleStartEditing(id);
183
182
  }, color: "inherit" }));
184
183
  break;
185
184
  case 'remove':
186
185
  actionItems.push(react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `remove_${id}`, icon: react_1.default.createElement(Delete_1.default, null), label: "Apagar essa linha", onClick: () => {
187
186
  if ((0, utils_1.isTmpId)(id)) {
188
- apiRef.current.updateRows([{ id, _action: 'delete' }]);
187
+ (0, utils_2.deleteRow)({ id, apiRef, setDataGridRows });
189
188
  return;
190
189
  }
191
190
  handleDeleteClick(id);
@@ -213,7 +212,7 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
213
212
  });
214
213
  if (customActions) {
215
214
  customActions.forEach((customAction) => {
216
- 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)) }));
215
+ actionItems.push(react_1.default.createElement(x_data_grid_1.GridActionsCellItem, { key: `${customAction.key}_${id}`, icon: customAction.icon, label: customAction.label, onClick: () => customAction.handleClick(dataGridRows.find((row) => row.id === id)) }));
217
216
  });
218
217
  }
219
218
  return actionItems;
@@ -222,7 +221,7 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
222
221
  apiRef,
223
222
  handleDeleteClick,
224
223
  isRowEditing,
225
- dataGrid.data,
224
+ dataGridRows,
226
225
  LinkComponent,
227
226
  actions,
228
227
  customActions,
@@ -241,7 +240,7 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
241
240
  }
242
241
  : {}));
243
242
  return (react_1.default.createElement(Box_1.default, { className: `dataGrid_${name}`, sx: Object.assign({ height: '100%', width: '100%', maxWidth: '100%', display: 'grid' }, sxProp) }, preparedColumns === null ? (react_1.default.createElement(Box_1.default, { sx: styles_1.Layout.loadingBox },
244
- react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(x_data_grid_1.DataGrid, { apiRef: apiRef, rows: dataGrid.data, columns: isEditable ? [actionColumn, ...(preparedColumns || [])] : preparedColumns || [], getCellClassName: ({ id, cellMode, field }) => {
243
+ react_1.default.createElement(CircularProgress_1.default, null))) : (react_1.default.createElement(x_data_grid_1.DataGrid, { apiRef: apiRef, rows: dataGridRows, columns: isEditable ? [actionColumn, ...(preparedColumns || [])] : preparedColumns || [], getCellClassName: ({ id, cellMode, field }) => {
245
244
  if (cellMode !== 'edit') {
246
245
  return '';
247
246
  }
@@ -263,7 +262,7 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
263
262
  // isRowEditing &&
264
263
  isPermanentRow || ((0, utils_1.isTmpId)(row.id) && (isIndexField || isIndexFieldEditable)));
265
264
  }, checkboxSelection: checkboxSelection, onRowSelectionModelChange: (newSelectionModel) => {
266
- const selectedData = dataGrid.data.filter((item) => newSelectionModel.includes(item.id));
265
+ const selectedData = dataGridRows.filter((item) => newSelectionModel.includes(item.id));
267
266
  setSelectionModel(selectedData);
268
267
  setSelectionModelIds([...newSelectionModel]);
269
268
  }, rowSelectionModel: selectionModelIds, disableRowSelectionOnClick: disableRowSelectionOnClick, onRowEditStart: (params) => {
@@ -371,7 +370,7 @@ function DataGridDesktop({ schema, apiRef, dataGrid, rowCount = 0, columns, colu
371
370
  }
372
371
  // const shouldMemoUpdate = (prevProps: DataGridDesktopProps, nextProps: DataGridDesktopProps) => {
373
372
  // return (
374
- // prevProps.dataGrid === nextProps.dataGrid &&
373
+ // prevProps.dataGridRows === nextProps.dataGridRows &&
375
374
  // prevProps.loading === nextProps.loading &&
376
375
  // prevProps.schema === nextProps.schema &&
377
376
  // prevProps.columns === nextProps.columns
@@ -7,21 +7,19 @@ interface UseDataGridActionsProps<T extends TField = void> {
7
7
  model: string;
8
8
  schema: SchemaType<T>;
9
9
  emptyItem: PartialItem<T>;
10
- dataGrid: {
11
- data: Item<T>[];
12
- };
10
+ dataGridRows: Item<T>[];
11
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
13
12
  setSelectionModel: (value: React.SetStateAction<Item<T>[]>) => void;
14
13
  setSelectionModelIds: (value: React.SetStateAction<GridRowId[]>) => void;
15
14
  setSnackBar: (value: React.SetStateAction<Item>) => void;
16
15
  setDataGridLoading: (value: boolean) => void;
17
- onDataChange?: (p: Item<T>[]) => void;
18
16
  handleStartEditing: (p?: Id) => void;
19
17
  tableAutoHeight?: boolean;
20
18
  indexField: FieldKey<T>;
21
19
  defaultValues?: PartialItem<T>;
22
20
  isRowEditing?: Id;
23
21
  }
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>) => {
22
+ export declare const useDataGridActions: <T extends TField = void>({ apiRef, model, schema, emptyItem, dataGridRows, setDataGridRows, setSelectionModel, setSelectionModelIds, setSnackBar, setDataGridLoading, handleStartEditing, tableAutoHeight, indexField, defaultValues, isRowEditing, }: UseDataGridActionsProps<T>) => {
25
23
  handleAddItem: () => void;
26
24
  bulkUpdateData: BulkUpdateData<T>;
27
25
  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;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"}
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,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAClE,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,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,8NAgBzD,uBAAuB,CAAC,CAAC,CAAC;;;;0BAgIQ,EAAE,EAAE;yCAWW,eAAe;CAqBlE,CAAC"}
@@ -17,7 +17,7 @@ const axios_1 = __importDefault(require("axios"));
17
17
  const utils_1 = require("../../../utils");
18
18
  const APIWrapperContext_1 = require("../../../context/APIWrapperContext");
19
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
+ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGridRows, setDataGridRows, setSelectionModel, setSelectionModelIds, setSnackBar, setDataGridLoading, handleStartEditing, tableAutoHeight, indexField, defaultValues, isRowEditing, }) => {
21
21
  const { rawDeleteData, rawUpdateDataBySchema, exportExcelData } = (0, APIWrapperContext_1.useAPIWrapper)();
22
22
  const handleAddItems = (n = 1) => {
23
23
  const newRows = [];
@@ -27,25 +27,19 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setSel
27
27
  apiRef.current.updateRows([newRow]);
28
28
  newRows.push(newRow);
29
29
  }
30
- const newData = tableAutoHeight
31
- ? [...dataGrid.data, ...newRows]
32
- : [...newRows, ...dataGrid.data];
33
- if (onDataChange) {
34
- onDataChange(newData);
35
- }
30
+ const newDataGridRows = tableAutoHeight
31
+ ? [...dataGridRows, ...newRows]
32
+ : [...newRows, ...dataGridRows];
33
+ setDataGridRows(newDataGridRows);
36
34
  let fieldToFocus = indexField;
37
35
  if (!fieldToFocus) {
38
36
  const visibleColumns = apiRef.current.getAllColumns();
39
37
  const firstEditableCol = visibleColumns.find((col) => col.editable && col.field !== 'actions');
40
38
  fieldToFocus = firstEditableCol === null || firstEditableCol === void 0 ? void 0 : firstEditableCol.field;
41
39
  }
42
- (0, utils_2.scrollToEnd)(apiRef);
40
+ (0, utils_2.scrollToNewRow)(apiRef, tableAutoHeight);
43
41
  apiRef.current.startRowEditMode({ id: newRows[0].id, fieldToFocus });
44
42
  handleStartEditing(newRows[0].id);
45
- // apiRef.current.setCellFocus(newRows[0].id, fieldToFocus);
46
- // if (!tableAutoHeight) {
47
- // apiRef.current.scrollToIndexes({ rowIndex: 0 });
48
- // }
49
43
  };
50
44
  const handleAddItem = () => {
51
45
  if (isRowEditing) {
@@ -61,19 +55,13 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setSel
61
55
  }
62
56
  const id = (0, utils_1.getTmpId)();
63
57
  const newRow = Object.assign(Object.assign(Object.assign({}, emptyItem), defaultValues), { id });
64
- const newData = tableAutoHeight ? [...dataGrid.data, newRow] : [newRow, ...dataGrid.data];
65
- if (onDataChange) {
66
- onDataChange(newData);
67
- }
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);
58
+ (0, utils_2.addNewRow)({
59
+ newRow,
60
+ indexField,
61
+ tableAutoHeight,
62
+ apiRef,
63
+ setDataGridRows,
64
+ });
77
65
  handleStartEditing(id);
78
66
  // apiRef.current.setCellFocus(id, fieldToFocus);
79
67
  // if (!tableAutoHeight) {
@@ -95,16 +83,11 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setSel
95
83
  const results = yield Promise.all(promises);
96
84
  setSelectionModel([]);
97
85
  setSelectionModelIds([]);
98
- const updatedData = dataGrid.data.map((item) => {
86
+ const updatedData = dataGridRows.map((item) => {
99
87
  const index = ids.indexOf(item.id);
100
- if (index !== -1) {
101
- apiRef.current.updateRows([newData[index]]);
102
- }
103
88
  return index === -1 ? item : newData[index];
104
89
  });
105
- if (onDataChange) {
106
- onDataChange(updatedData);
107
- }
90
+ setDataGridRows(updatedData);
108
91
  setSnackBar({
109
92
  open: true,
110
93
  severity: 'success',
@@ -121,16 +104,13 @@ const useDataGridActions = ({ apiRef, model, schema, emptyItem, dataGrid, setSel
121
104
  const promises = [];
122
105
  ids.map((id) => {
123
106
  promises.push(rawDeleteData(model, id));
124
- apiRef.current.updateRows([{ id, _action: 'delete' }]);
125
107
  });
126
108
  setDataGridLoading(true);
127
109
  const results = yield Promise.all(promises);
128
110
  setSelectionModel([]);
129
111
  setSelectionModelIds([]);
130
- const newData = dataGrid.data.filter(({ id }) => !ids.includes(id));
131
- if (onDataChange) {
132
- onDataChange(newData);
133
- }
112
+ const newData = dataGridRows.filter(({ id }) => !ids.includes(id));
113
+ setDataGridRows(newData);
134
114
  setDataGridLoading(false);
135
115
  setSnackBar({
136
116
  open: true,
@@ -17,16 +17,13 @@ interface UseProcessRowUpdateProps<T extends TField = void> {
17
17
  addExistingModel?: string;
18
18
  updateOptionsAC: () => Promise<void>;
19
19
  apiRef: RefObject<GridApiCommunity>;
20
- dataGrid: {
21
- data: Item<T>[];
22
- };
23
- onDataChange?: (p: Item<T>[]) => void;
20
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
24
21
  onProcessRow?: (p: Item<T>) => void;
25
22
  handleStopEditing: () => void;
26
23
  extraValidators?: ExtraValidators<T>;
27
24
  onEditModel?: (p: OnEditModelType<T>) => void;
28
25
  }
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>) => {
26
+ export declare const useProcessRowUpdate: <T extends TField = void>({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC, apiRef, setDataGridRows, onProcessRow, handleStopEditing, }: UseProcessRowUpdateProps<T>) => {
30
27
  processRowUpdate: (editedRow: Item<T>, originalRow: Item<T>) => Promise<any>;
31
28
  };
32
29
  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;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"}
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;AAUzB,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,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAClE,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,uPAkB1D,wBAAwB,CAAC,CAAC,CAAC;kCAEe,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;CAsMzE,CAAC"}
@@ -16,11 +16,12 @@ exports.useProcessRowUpdate = 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 utils_2 = require("../utils");
19
20
  // import { buildEditPath } from '../utils'; // TODO: Check Why it is missing here
20
21
  function isYupValidationError(err) {
21
22
  return err instanceof Error && err.name === 'ValidationError';
22
23
  }
23
- const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC, apiRef, dataGrid, onDataChange, onProcessRow, handleStopEditing,
24
+ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGridLoading, indexField, processingRow, setValidationErrors, modelParent, modelParentId, model, schema, addExistingModel, updateOptionsAC, apiRef, setDataGridRows, onProcessRow, handleStopEditing,
24
25
  // extraValidators, // TODO: Check why this is missing
25
26
  }) => {
26
27
  const { onEditRelatedModelSave, onEditModelDataGridSave } = (0, APIWrapperContext_1.useAPIWrapper)();
@@ -32,7 +33,7 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
32
33
  console.log('No changes detected, skipping save.');
33
34
  handleStopEditing();
34
35
  if ((0, utils_1.isTmpId)(editedRow.id)) {
35
- apiRef.current.updateRows([{ id: editedRow.id, _action: 'delete' }]);
36
+ (0, utils_2.deleteRow)({ id: editedRow.id, apiRef, setDataGridRows });
36
37
  throw new Error('CANCEL_TMP_ROW');
37
38
  }
38
39
  return editedRow;
@@ -132,21 +133,16 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
132
133
  return newState;
133
134
  });
134
135
  updateOptionsAC();
135
- const data = [...dataGrid.data];
136
136
  const newRow = 'data' in response && 'schema' in response ? response.data : response;
137
- for (const i in data) {
138
- if (data[i].id === editedRow.id) {
139
- data[i] = newRow;
140
- break;
141
- }
142
- }
143
- if (onDataChange) {
144
- onDataChange(data);
145
- }
146
137
  if (onProcessRow) {
147
138
  onProcessRow(newRow);
148
139
  }
149
- apiRef.current.updateRows([newRow]);
140
+ (0, utils_2.updateRow)({
141
+ newRow,
142
+ apiRef,
143
+ originalId: editedRow.id,
144
+ setDataGridRows,
145
+ });
150
146
  setDataGridLoading(false);
151
147
  handleStopEditing();
152
148
  return newRow;
@@ -188,21 +184,16 @@ const useProcessRowUpdate = ({ preparedColumns, yupValidationSchema, setDataGrid
188
184
  return newState;
189
185
  });
190
186
  updateOptionsAC();
191
- const data = [...dataGrid.data];
192
187
  const newRow = 'data' in response && 'schema' in response ? response.data : response;
193
- for (const i in data) {
194
- if (data[i].id === editedRow.id) {
195
- data[i] = newRow;
196
- break;
197
- }
198
- }
199
- if (onDataChange) {
200
- onDataChange(data);
201
- }
188
+ (0, utils_2.updateRow)({
189
+ newRow,
190
+ originalId: editedRow.id,
191
+ apiRef,
192
+ setDataGridRows,
193
+ });
202
194
  if (onProcessRow) {
203
195
  onProcessRow(newRow);
204
196
  }
205
- apiRef.current.updateRows([newRow]);
206
197
  setDataGridLoading(false);
207
198
  handleStopEditing();
208
199
  return newRow;
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from 'react';
2
2
  import { GridApiCommunity } from '@mui/x-data-grid/models/api/gridApiCommunity';
3
- import { GridEnrichedBySchemaColDef, Id } from '../../@types';
3
+ import { FieldKey, GridEnrichedBySchemaColDef, Id, Item, TField } from '../../@types';
4
4
  export type ResizeType = 'condense' | 'maxContent' | 'fitScreen';
5
5
  /**
6
6
  *
@@ -15,5 +15,24 @@ export declare const quantityOnlyOperators: ({ type }: {
15
15
  }) => GridFilterOperator[];
16
16
  export declare const buildEditPath: (basePath: string, objId: Id) => string;
17
17
  export declare const buildExitPath: (basePath: string, objId?: Id) => string;
18
- export declare const scrollToEnd: (apiRef: RefObject<GridApiCommunity>) => void;
18
+ export declare const scrollToNewRow: (apiRef: RefObject<GridApiCommunity>, tableAutoHeight?: boolean) => void;
19
+ export declare function addNewRow<T extends TField = void>({ newRow, indexField, tableAutoHeight, apiRef, setDataGridRows, }: {
20
+ newRow: Item<T>;
21
+ indexField?: FieldKey<T>;
22
+ tableAutoHeight?: boolean;
23
+ apiRef: RefObject<GridApiCommunity>;
24
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
25
+ }): void;
26
+ export declare function updateRow<T extends TField = void>({ newRow, setDataGridRows, originalId, apiRef, }: {
27
+ newRow: Item<T>;
28
+ originalId?: Id;
29
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
30
+ apiRef: RefObject<GridApiCommunity>;
31
+ }): void;
32
+ export declare function deleteRow<T extends TField = void>({ id, apiRef, setDataGridRows, }: {
33
+ id: Id;
34
+ apiRef: RefObject<GridApiCommunity>;
35
+ setDataGridRows: (value: React.SetStateAction<Item<T>[]>) => void;
36
+ }): void;
37
+ export declare function getAllRowIds(apiRef: RefObject<GridApiCommunity>): unknown[];
19
38
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
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
+ {"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,QAAQ,EAAE,0BAA0B,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAoCtF,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,cAAc,GAAI,QAAQ,SAAS,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,OAAO,SAY5F,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,EACjD,MAAM,EACN,UAAU,EACV,eAAe,EACf,MAAM,EACN,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CACnE,QAkBA;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,EACjD,MAAM,EACN,eAAe,EACf,UAAU,EACV,MAAM,GACP,EAAE;IACD,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,UAAU,CAAC,EAAE,EAAE,CAAC;IAChB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAClE,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACrC,QAqCA;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,EACjD,EAAE,EACF,MAAM,EACN,eAAe,GAChB,EAAE;IACD,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACpC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;CACnE,QAGA;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,aAM/D"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scrollToEnd = exports.buildExitPath = exports.buildEditPath = exports.quantityOnlyOperators = void 0;
3
+ exports.scrollToNewRow = exports.buildExitPath = exports.buildEditPath = exports.quantityOnlyOperators = void 0;
4
4
  exports.resizeColumns = resizeColumns;
5
+ exports.addNewRow = addNewRow;
6
+ exports.updateRow = updateRow;
7
+ exports.deleteRow = deleteRow;
8
+ exports.getAllRowIds = getAllRowIds;
5
9
  const x_data_grid_1 = require("@mui/x-data-grid");
6
10
  const InputInterval_1 = require("./InputInterval");
7
11
  /**
@@ -109,12 +113,66 @@ const buildExitPath = (basePath, objId) => {
109
113
  return basePath;
110
114
  };
111
115
  exports.buildExitPath = buildExitPath;
112
- const scrollToEnd = (apiRef) => {
116
+ const scrollToNewRow = (apiRef, tableAutoHeight) => {
113
117
  setTimeout(() => {
118
+ if (!tableAutoHeight) {
119
+ apiRef.current.scrollToIndexes({ rowIndex: 0 });
120
+ return;
121
+ }
114
122
  const rowCount = apiRef.current.getRowsCount();
115
123
  apiRef.current.scrollToIndexes({
116
124
  rowIndex: rowCount - 1,
117
125
  });
118
126
  }, 500);
119
127
  };
120
- exports.scrollToEnd = scrollToEnd;
128
+ exports.scrollToNewRow = scrollToNewRow;
129
+ function addNewRow({ newRow, indexField, tableAutoHeight, apiRef, setDataGridRows, }) {
130
+ apiRef.current.updateRows([newRow]);
131
+ let fieldToFocus = indexField;
132
+ if (!fieldToFocus) {
133
+ const visibleColumns = apiRef.current.getAllColumns();
134
+ const firstEditableCol = visibleColumns.find((col) => col.editable && col.field !== 'actions');
135
+ fieldToFocus = firstEditableCol === null || firstEditableCol === void 0 ? void 0 : firstEditableCol.field;
136
+ }
137
+ apiRef.current.startRowEditMode({ id: newRow.id, fieldToFocus });
138
+ (0, exports.scrollToNewRow)(apiRef, tableAutoHeight);
139
+ setDataGridRows((currentRows) => tableAutoHeight ? [...currentRows, newRow] : [newRow, ...currentRows]);
140
+ }
141
+ function updateRow({ newRow, setDataGridRows, originalId, apiRef, }) {
142
+ const ids = getAllRowIds(apiRef);
143
+ const exists = ids.includes(newRow.id);
144
+ apiRef.current.updateRows([newRow]);
145
+ const idToRemove = originalId && originalId !== newRow.id && ids.includes(originalId) ? originalId : undefined;
146
+ if (exists) {
147
+ if (idToRemove) {
148
+ // Remove idToRemove and replace existing newRow.id with newRow:
149
+ apiRef.current.updateRows([{ id: idToRemove, _action: 'delete' }]);
150
+ setDataGridRows((currentRows) => currentRows
151
+ .filter(({ id }) => id !== idToRemove)
152
+ .map((currentRow) => (currentRow.id === newRow.id ? newRow : currentRow)));
153
+ }
154
+ else {
155
+ // Only replace existing newRow.id with newRow:
156
+ setDataGridRows((currentRows) => currentRows.map((currentRow) => (currentRow.id === newRow.id ? newRow : currentRow)));
157
+ }
158
+ return;
159
+ }
160
+ // Add new row in the exact same index where there was the idToRemove:
161
+ if (idToRemove) {
162
+ setDataGridRows((currentRows) => currentRows.map((currentRow) => (currentRow.id === idToRemove ? newRow : currentRow)));
163
+ return;
164
+ }
165
+ // Add absolutely new row:
166
+ setDataGridRows((currentRows) => [...currentRows, newRow]);
167
+ }
168
+ function deleteRow({ id, apiRef, setDataGridRows, }) {
169
+ apiRef.current.updateRows([{ id, _action: 'delete' }]);
170
+ setDataGridRows((currentRows) => currentRows.filter((item) => item.id !== id));
171
+ }
172
+ function getAllRowIds(apiRef) {
173
+ if (!apiRef.current.getRowModels) {
174
+ return [];
175
+ }
176
+ const rowModels = apiRef.current.getRowModels();
177
+ return Array.from(rowModels.keys());
178
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridBySchemaEditable.d.ts","sourceRoot":"","sources":["../../src/components/DataGridBySchemaEditable.tsx"],"names":[],"mappings":"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"}
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,EACL,SAAS,EACT,oBAAoB,EACpB,yBAAyB,EAE1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMtD,OAAO,EACL,IAAI,EACJ,UAAU,EACV,EAAE,EACF,0BAA0B,EAC1B,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,QAAQ,EACR,sBAAsB,EACtB,WAAW,EACX,MAAM,EACP,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,eAAe,EAAiB,MAAM,8BAA8B,CAAC;AAO9E,UAAU,6BAA6B,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI;IAC7D,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,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,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACnD,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,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,CAAC,CAAC,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAErC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,qBAAqB,CAAC,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC;CACnD;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,EAAE,EACzD,MAAM,EACN,IAAI,EACJ,QAAY,EACZ,OAAO,EACP,qBAAqB,EACrB,KAAK,EACL,IAAqD,EACrD,UAAkC,EAClC,gBAAgB,EAChB,kBAAwB,EACxB,kBAAuB,EACvB,sBAAsB,EACtB,WAAgB,EAChB,QAAa,EACb,OAAO,EACP,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAkB,EAClB,aAAqB,EACrB,eAAe,EACf,YAAoB,EACpB,aAAa,EACb,oBAA4B,EAC5B,cAAc,EACd,eAA2B,EAC3B,kBAA8B,EAC9B,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,OAAkC,EAClC,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,EAAE,6BAA6B,CAAC,CAAC,CAAC,qBAkNlC;AAED,eAAe,wBAAwB,CAAC"}
@@ -55,6 +55,7 @@ const APIWrapperContext_1 = require("../context/APIWrapperContext");
55
55
  const ConfirmDialog_1 = require("./DataGridBySchemaEditable/ConfirmDialog");
56
56
  const DataGridDesktop_1 = __importDefault(require("./DataGridBySchemaEditable/DataGridDesktop"));
57
57
  const DataGridMobile_1 = __importDefault(require("./DataGridBySchemaEditable/DataGridMobile"));
58
+ const utils_2 = require("./DataGridBySchemaEditable/utils");
58
59
  function DataGridBySchemaEditable({ schema, data, 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 = false, onSelectActions, isAutoHeight = false, defaultValues, hideFooterPagination = false, setVisibleRows, paginationModel = undefined, setPaginationModel = undefined, hideFooterComponent, hideToolbarComponent, tableAutoHeight, actions = ['editInline', 'remove'], customActions, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, optionsAC, extraValidators, MobileListRenderItem, MobileRenderNoResults, }) {
59
60
  const wrapperRef = (0, react_1.useRef)(null);
60
61
  const { isMobile, onDeleteModel, onDeleteRelatedModel } = (0, APIWrapperContext_1.useAPIWrapper)();
@@ -65,9 +66,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
65
66
  };
66
67
  const [snackBar, setSnackBar] = (0, react_1.useState)(initialSnackBar);
67
68
  const apiRef = (0, x_data_grid_1.useGridApiRef)();
68
- const [dataGrid, setDataGrid] = (0, react_1.useState)({
69
- data: [],
70
- });
69
+ const [dataGridRows, setDataGridRows] = (0, react_1.useState)([]);
71
70
  const [confirmDialogOpen, setConfirmDialogOpen] = (0, react_1.useState)(false);
72
71
  const [emptyItem, setEmptyItem] = (0, react_1.useState)({});
73
72
  const yupValidationSchema = (0, react_1.useRef)(null);
@@ -80,7 +79,6 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
80
79
  setConfirmDialogOpen(false);
81
80
  return;
82
81
  }
83
- const newData = dataGrid.data.filter((row) => row.id !== idToRemove.current);
84
82
  if (modelParent && modelParentId) {
85
83
  yield onDeleteRelatedModel({
86
84
  model: modelParent,
@@ -88,11 +86,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
88
86
  relatedModel: model,
89
87
  relatedModelId: idToRemove.current,
90
88
  });
91
- apiRef.current.updateRows([{ id: idToRemove.current, _action: 'delete' }]);
92
- // Reflect changes to the outside, for example for doing global calculations over multiple rows:
93
- if (onDataChange) {
94
- onDataChange(newData);
95
- }
89
+ (0, utils_2.deleteRow)({ id: idToRemove.current, apiRef, setDataGridRows });
96
90
  }
97
91
  idToRemove.current = null;
98
92
  setConfirmDialogOpen(false);
@@ -100,12 +94,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
100
94
  const handleDeleteClick = (id) => {
101
95
  if (!modelParent || !modelParentId) {
102
96
  onDeleteModel(model, id, () => {
103
- const newData = dataGrid.data.filter((row) => row.id !== id);
104
- apiRef.current.updateRows([{ id, _action: 'delete' }]);
105
- // Reflect changes to the outside, for example for doing global calculations over multiple rows:
106
- if (onDataChange) {
107
- onDataChange(newData);
108
- }
97
+ (0, utils_2.deleteRow)({ id, apiRef, setDataGridRows });
109
98
  });
110
99
  return;
111
100
  }
@@ -114,7 +103,7 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
114
103
  };
115
104
  (0, react_1.useEffect)(() => {
116
105
  if (!columns) {
117
- setDataGrid({ data: [] });
106
+ setDataGridRows([]);
118
107
  return;
119
108
  }
120
109
  const newEmptyItem = {};
@@ -145,31 +134,35 @@ function DataGridBySchemaEditable({ schema, data, rowCount = 0, columns, columnV
145
134
  extraValidators: extraValidators,
146
135
  uiFields: columns.map(({ field }) => field),
147
136
  });
148
- setDataGrid({
149
- data,
150
- });
137
+ setDataGridRows(data);
151
138
  // eslint-disable-next-line react-hooks/exhaustive-deps
152
139
  }, [data]);
153
140
  // Accessibility requirement for DataGrid access with screenreader:
141
+ // useEffect(() => {
142
+ // const applyAria = () => {
143
+ // const scroller = wrapperRef.current?.querySelector('.MuiDataGrid-virtualScroller');
144
+ // if (scroller && scroller.getAttribute('role') !== 'region') {
145
+ // scroller.setAttribute('role', 'rowgroup');
146
+ // scroller.setAttribute('aria-label', 'Conteúdo rolável da tabela');
147
+ // scroller.setAttribute('tabindex', '0');
148
+ // }
149
+ // };
150
+ // applyAria();
151
+ // const observer = new MutationObserver(applyAria);
152
+ // if (wrapperRef.current) {
153
+ // observer.observe(wrapperRef.current, { childList: true, subtree: true });
154
+ // }
155
+ // return () => observer.disconnect();
156
+ // }, []);
157
+ // Reflect changes to the outside, for example for doing global calculations over multiple rows:
154
158
  (0, react_1.useEffect)(() => {
155
- const applyAria = () => {
156
- var _a;
157
- const scroller = (_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('.MuiDataGrid-virtualScroller');
158
- if (scroller && scroller.getAttribute('role') !== 'region') {
159
- scroller.setAttribute('role', 'rowgroup');
160
- scroller.setAttribute('aria-label', 'Conteúdo rolável da tabela');
161
- scroller.setAttribute('tabindex', '0');
162
- }
163
- };
164
- applyAria();
165
- const observer = new MutationObserver(applyAria);
166
- if (wrapperRef.current) {
167
- observer.observe(wrapperRef.current, { childList: true, subtree: true });
159
+ const hasTmpIds = (0, utils_2.getAllRowIds)(apiRef).find((currentId) => (0, utils_1.isTmpId)(currentId));
160
+ if (onDataChange && !hasTmpIds) {
161
+ onDataChange(dataGridRows);
168
162
  }
169
- return () => observer.disconnect();
170
- }, []);
163
+ }, [dataGridRows, apiRef, onDataChange]);
171
164
  return (react_1.default.createElement(Box_1.default, { sx: { height: '100%', width: '100%', maxWidth: '100%' }, ref: !isMobile || !MobileListRenderItem ? wrapperRef : undefined },
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 })),
165
+ 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, dataGridRows: dataGridRows, setDataGridRows: setDataGridRows, 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, 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 })),
173
166
  react_1.default.createElement(ConfirmDialog_1.ConfirmDialog, { open: confirmDialogOpen, onClose: handleConfirmDialogClose, onConfirm: handleDeleteRelatedSave }),
174
167
  react_1.default.createElement(Snackbar_1.default, { open: snackBar.open, autoHideDuration: 5000, onClose: () => {
175
168
  setSnackBar(Object.assign(Object.assign({}, initialSnackBar), { open: false }));
@@ -14,7 +14,6 @@ export interface GenericModelListProps<T extends TField = void> {
14
14
  addExistingModel?: string;
15
15
  onProcessRow?: (p: Item<T>) => void;
16
16
  onDataChange?: (p: Item<T>[]) => void;
17
- reloadAfterRowUpdate?: boolean;
18
17
  customColumnOperations?: CustomColumnOperations<T>;
19
18
  customFieldFormLayouts?: CustomFormFieldLayouts<T>;
20
19
  customLinkDestination?: (p: GridRenderCellParams) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"GenericModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericModelList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericModelList.d.ts","sourceRoot":"","sources":["../../src/components/GenericModelList.tsx"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ const styles_1 = require("../styles");
60
60
  const utils_1 = require("../utils");
61
61
  const DRFReactBySchemaContext_1 = require("../context/DRFReactBySchemaContext");
62
62
  const APIWrapperContext_1 = require("../context/APIWrapperContext");
63
- function GenericModelList({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, reloadAfterRowUpdate, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight = true, LinkComponent = null, hasHeader, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
63
+ function GenericModelList({ model, columnFields, hiddenFields, creatableFields, disabledFields, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, onProcessRow, onDataChange, customColumnOperations, customFieldFormLayouts, customLinkDestination, isEditable, hasBulkSelect, onSelectActions, sumRows, isAutoHeight = true, LinkComponent = null, hasHeader, paginationMode = 'client', defaultFilter, queryParams, hideFooterComponent, hideToolbarComponent, hideColumnsButton, hideFilterButton, hideDensityButton, hideExportButton, hideQuickFilterBar, tableAutoHeight, actions, customActions, optionsAC, defaultValues, disableScreenLoading, extraValidators, reloadStateStamp, MobileListRenderItem, MobileRenderNoResults, }) {
64
64
  const { isInBatches, firstBatchLength } = (0, DRFReactBySchemaContext_1.useDRFReactBySchema)();
65
65
  const { getGenericModelList, onEditModel, isMobile } = (0, APIWrapperContext_1.useAPIWrapper)();
66
66
  const [data, setData] = (0, react_1.useState)(false);
@@ -157,6 +157,14 @@ function GenericModelList({ model, columnFields, hiddenFields, creatableFields,
157
157
  queryParams,
158
158
  sumRows,
159
159
  ]);
160
+ const onDataChangeLocal = (0, react_1.useCallback)((newData) => {
161
+ if (!data) {
162
+ return;
163
+ }
164
+ if (onDataChange) {
165
+ onDataChange(newData);
166
+ }
167
+ }, [data]);
160
168
  (0, react_1.useEffect)(() => {
161
169
  loadObjectList();
162
170
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -167,12 +175,6 @@ function GenericModelList({ model, columnFields, hiddenFields, creatableFields,
167
175
  }
168
176
  setPaginationModel(Object.assign(Object.assign({}, paginationModel), { queryParams }));
169
177
  }, [queryParams, paginationModel]);
170
- // useEffect(() => {
171
- // if (paginationMode === 'server') {
172
- // loadObjectList();
173
- // }
174
- // // eslint-disable-next-line react-hooks/exhaustive-deps
175
- // }, [paginationModel]);
176
178
  return (react_1.default.createElement(react_1.default.Fragment, null, typeof data !== 'boolean' && data.columns ? (react_1.default.createElement(react_1.default.Fragment, null,
177
179
  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: data.schema, data: data.data, sumRows: sumRows, visibleRows: visibleRows })) : (react_1.default.createElement(DataTotalsServer_1.default, { schema: data.schema, sumRows: sumRows, totals: data.sumRowsTotals })))),
178
180
  hasHeader && (react_1.default.createElement(Box_1.default, { sx: Object.assign(Object.assign({}, styles_1.Layout.flexRowGrow), { mb: 2 }) },
@@ -181,16 +183,7 @@ function GenericModelList({ model, columnFields, hiddenFields, creatableFields,
181
183
  react_1.default.createElement(LinkComponent, { to: `novo` },
182
184
  react_1.default.createElement(Button_1.default, { variant: "contained", size: "medium", sx: { alignSelf: 'stretch' }, startIcon: react_1.default.createElement(AddCircleOutline_1.default, null) }, "Adicionar")))))),
183
185
  react_1.default.createElement(Box_1.default, { sx: tableAutoHeight ? {} : styles_1.Layout.dataGridWithTabs },
184
- react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, columnVisibilityModel: columnVisibilityModel, schema: data.schema || {}, model: model, 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, customLinkDestination: customLinkDestination, actions: actions, customActions: customActions, optionsAC: optionsAC, defaultValues: defaultValues, onProcessRow: onProcessRow, onDataChange: (newData) => {
185
- if (reloadAfterRowUpdate) {
186
- loadObjectList();
187
- return;
188
- }
189
- if (onDataChange) {
190
- onDataChange(newData);
191
- }
192
- setData(Object.assign(Object.assign({}, data), { data: newData }));
193
- }, LinkComponent: LinkComponent || undefined, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
186
+ react_1.default.createElement(DataGridBySchemaEditable_1.default, { data: data.data, columns: data.columns, columnVisibilityModel: columnVisibilityModel, schema: data.schema || {}, model: model, 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, customLinkDestination: customLinkDestination, actions: actions, customActions: customActions, optionsAC: optionsAC, defaultValues: defaultValues, onProcessRow: onProcessRow, onDataChange: onDataChangeLocal, LinkComponent: LinkComponent || undefined, paginationModel: paginationMode === 'server' ? paginationModel : undefined, setPaginationModel: paginationMode === 'server' ? setPaginationModel : undefined, rowCount: paginationMode === 'client'
194
187
  ? undefined
195
188
  : typeof data.rowCount !== undefined
196
189
  ? data.rowCount
@@ -18,7 +18,6 @@ interface GenericRelatedModelListProps<T extends TField = void> {
18
18
  label: string;
19
19
  onProcessRow?: (p: Item<T>) => void;
20
20
  onDataChange?: (p: Item<T>[]) => void;
21
- reloadAfterRowUpdate?: boolean;
22
21
  customColumnOperations?: CustomColumnOperations<T>;
23
22
  customFieldFormLayouts?: CustomFormFieldLayouts<T>;
24
23
  isEditable?: boolean;
@@ -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, 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, }) {
57
+ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hiddenFields = ['id'], creatableFields, disabledFields, usuaria = null, minWidthFields, indexField, indexFieldBasePath, indexFieldViewBasePath, addExistingModel, label, onProcessRow, onDataChange, 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);
@@ -159,15 +159,10 @@ function GenericRelatedModelList({ model, id, relatedModel, columnFields, hidden
159
159
  if (!data) {
160
160
  return;
161
161
  }
162
- if (reloadAfterRowUpdate) {
163
- loadObjectList();
164
- return;
165
- }
166
162
  if (onDataChange) {
167
163
  onDataChange(newData);
168
164
  }
169
- setData(Object.assign(Object.assign({}, data), { data: newData }));
170
- }, [data, reloadAfterRowUpdate, onDataChange, loadObjectList]);
165
+ }, [data]);
171
166
  (0, react_1.useEffect)(() => {
172
167
  loadObjectList();
173
168
  // eslint-disable-next-line react-hooks/exhaustive-deps
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drf-react-by-schema",
3
- "version": "0.26.8",
3
+ "version": "0.26.9",
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",