@bit.rhplus/ui.grid 0.0.66 → 0.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -172,7 +172,39 @@ const Grid = React.forwardRef((props, ref) => {
172
172
  },
173
173
  };
174
174
  // Kombinované rowClassRules
175
- const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
175
+ const combinedRowClassRules = useMemo(() => ({
176
+ ...defaultRowClassRules,
177
+ ...rowClassRules
178
+ }), [defaultRowClassRules, rowClassRules]);
179
+ // Memoizovaný isRowSelectable callback
180
+ const memoizedIsRowSelectable = useCallback((params) => {
181
+ return (!pendingChanges[params.data.id] ||
182
+ pendingChanges[params.data.id].operation !== OperationType.DELETE);
183
+ }, [pendingChanges]);
184
+ // Memoizovaný context object
185
+ const gridContext = useMemo(() => ({
186
+ componentParent: this,
187
+ ...(layoutEnabled && {
188
+ gridLayout: {
189
+ isLoading: gridLayout.isLoading,
190
+ isSaving: gridLayout.isSaving,
191
+ hasUnsavedChanges: gridLayout.hasUnsavedChanges,
192
+ saveLayout: gridLayout.saveLayout,
193
+ resetToDefault: gridLayout.resetToDefault,
194
+ reloadLayout: gridLayout.reloadLayout,
195
+ openColumnEditor: gridLayout.openColumnEditor
196
+ }
197
+ })
198
+ }), [
199
+ layoutEnabled,
200
+ gridLayout.isLoading,
201
+ gridLayout.isSaving,
202
+ gridLayout.hasUnsavedChanges,
203
+ gridLayout.saveLayout,
204
+ gridLayout.resetToDefault,
205
+ gridLayout.reloadLayout,
206
+ gridLayout.openColumnEditor
207
+ ]);
176
208
  // Exportovat metody pro přidání/odstranění řádků
177
209
  useEffect(() => {
178
210
  if (gridApi) {
@@ -193,56 +225,57 @@ const Grid = React.forwardRef((props, ref) => {
193
225
  return gridLayout.onColumnResized(params);
194
226
  }
195
227
  }, [gridLayout.onColumnResized]);
196
- const mergedDefaultColDef = {
228
+ // ========== PERFORMANCE OPTIMIZATION: Memoizované objekty ==========
229
+ const mergedDefaultColDef = useMemo(() => ({
197
230
  editable: editableDefault,
198
231
  resizable: true,
199
232
  ...defaultColDef,
200
233
  ...(gridOptions?.defaultColDef || {}),
201
234
  enableCellChangeFlash: false, // VŽDY vypnuto - nastaveno jako poslední aby přepsalo vše
202
- };
203
- const allGridProps = {
204
- theme, // AG-Grid theme object (themeQuartz, themeBalham, themeMaterial, themeAlpine)
235
+ }), [editableDefault, defaultColDef, gridOptions?.defaultColDef]);
236
+ // ========== PERFORMANCE OPTIMIZATION: Memoizovaný allGridProps ==========
237
+ const allGridProps = useMemo(() => ({
238
+ theme,
205
239
  rowData: items,
206
- isRowSelectable: (params) => {
207
- return (!pendingChanges[params.data.id] ||
208
- pendingChanges[params.data.id].operation !== OperationType.DELETE);
209
- },
240
+ isRowSelectable: memoizedIsRowSelectable,
210
241
  isEditable: isCellEditable,
211
242
  onGridReady: handleGridReady,
212
243
  onCellValueChanged: handleCellValueChanged,
213
244
  // Grid Layout event handlers - always attached, but with internal enabled check
214
245
  onColumnMoved: gridLayout.onColumnMoved,
215
- onDragStopped: gridLayout.onDragStopped, // Handler pro konec drag operace
216
- onColumnResizing: handleColumnResizing, // Handler pro průběžné resize (NOVÝ)
246
+ onDragStopped: gridLayout.onDragStopped,
247
+ onColumnResizing: handleColumnResizing,
217
248
  onColumnResized: handleColumnResized,
218
249
  onColumnVisible: gridLayout.onColumnVisible,
219
250
  onColumnPinned: gridLayout.onColumnPinned,
220
251
  getRowId: (params) => params.data.id,
221
- // Grid Layout: maintain column order for proper column reordering
222
252
  maintainColumnOrder: true,
223
253
  ...gridOptions,
224
254
  defaultColDef: mergedDefaultColDef,
225
- context: {
226
- componentParent: this,
227
- // Grid Layout context
228
- ...(layoutEnabled && {
229
- gridLayout: {
230
- isLoading: gridLayout.isLoading,
231
- isSaving: gridLayout.isSaving,
232
- hasUnsavedChanges: gridLayout.hasUnsavedChanges,
233
- saveLayout: gridLayout.saveLayout,
234
- resetToDefault: gridLayout.resetToDefault,
235
- reloadLayout: gridLayout.reloadLayout,
236
- openColumnEditor: gridLayout.openColumnEditor // Pro přístup z AG-Grid kontextu
237
- }
238
- })
239
- },
255
+ context: gridContext,
240
256
  ...props,
241
257
  ref: gridRef,
242
- // Použijeme pre-transformované columnDefs které už obsahují AgGridColumns transformaci
243
- // Tím eliminujeme circular dependency - AgGridColumns už je aplikováno v useGridLayout
244
258
  columnDefs: gridLayout.preTransformedColumnDefs || columnDefs,
245
- };
259
+ }), [
260
+ theme,
261
+ items,
262
+ memoizedIsRowSelectable,
263
+ isCellEditable,
264
+ handleGridReady,
265
+ handleCellValueChanged,
266
+ gridLayout.onColumnMoved,
267
+ gridLayout.onDragStopped,
268
+ handleColumnResizing,
269
+ handleColumnResized,
270
+ gridLayout.onColumnVisible,
271
+ gridLayout.onColumnPinned,
272
+ gridOptions,
273
+ mergedDefaultColDef,
274
+ gridContext,
275
+ gridRef,
276
+ gridLayout.preTransformedColumnDefs,
277
+ columnDefs,
278
+ ]);
246
279
  useImperativeHandle(ref, () => ({
247
280
  showColumnEditor: () => {
248
281
  gridLayout.openColumnEditor();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.jsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.jsx"],"names":[],"mappings":"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"}
package/index.jsx CHANGED
@@ -241,7 +241,43 @@ const Grid = React.forwardRef((props, ref) => {
241
241
  };
242
242
 
243
243
  // Kombinované rowClassRules
244
- const combinedRowClassRules = { ...defaultRowClassRules, ...rowClassRules };
244
+ const combinedRowClassRules = useMemo(() => ({
245
+ ...defaultRowClassRules,
246
+ ...rowClassRules
247
+ }), [defaultRowClassRules, rowClassRules]);
248
+
249
+ // Memoizovaný isRowSelectable callback
250
+ const memoizedIsRowSelectable = useCallback((params) => {
251
+ return (
252
+ !pendingChanges[params.data.id] ||
253
+ pendingChanges[params.data.id].operation !== OperationType.DELETE
254
+ );
255
+ }, [pendingChanges]);
256
+
257
+ // Memoizovaný context object
258
+ const gridContext = useMemo(() => ({
259
+ componentParent: this,
260
+ ...(layoutEnabled && {
261
+ gridLayout: {
262
+ isLoading: gridLayout.isLoading,
263
+ isSaving: gridLayout.isSaving,
264
+ hasUnsavedChanges: gridLayout.hasUnsavedChanges,
265
+ saveLayout: gridLayout.saveLayout,
266
+ resetToDefault: gridLayout.resetToDefault,
267
+ reloadLayout: gridLayout.reloadLayout,
268
+ openColumnEditor: gridLayout.openColumnEditor
269
+ }
270
+ })
271
+ }), [
272
+ layoutEnabled,
273
+ gridLayout.isLoading,
274
+ gridLayout.isSaving,
275
+ gridLayout.hasUnsavedChanges,
276
+ gridLayout.saveLayout,
277
+ gridLayout.resetToDefault,
278
+ gridLayout.reloadLayout,
279
+ gridLayout.openColumnEditor
280
+ ]);
245
281
 
246
282
  // Exportovat metody pro přidání/odstranění řádků
247
283
  useEffect(() => {
@@ -266,60 +302,58 @@ const Grid = React.forwardRef((props, ref) => {
266
302
  }
267
303
  }, [gridLayout.onColumnResized]);
268
304
 
269
-
270
- const mergedDefaultColDef = {
305
+ // ========== PERFORMANCE OPTIMIZATION: Memoizované objekty ==========
306
+ const mergedDefaultColDef = useMemo(() => ({
271
307
  editable: editableDefault,
272
308
  resizable: true,
273
309
  ...defaultColDef,
274
310
  ...(gridOptions?.defaultColDef || {}),
275
311
  enableCellChangeFlash: false, // VŽDY vypnuto - nastaveno jako poslední aby přepsalo vše
276
- };
312
+ }), [editableDefault, defaultColDef, gridOptions?.defaultColDef]);
277
313
 
278
- const allGridProps = {
279
- theme, // AG-Grid theme object (themeQuartz, themeBalham, themeMaterial, themeAlpine)
314
+ // ========== PERFORMANCE OPTIMIZATION: Memoizovaný allGridProps ==========
315
+ const allGridProps = useMemo(() => ({
316
+ theme,
280
317
  rowData: items,
281
- isRowSelectable: (params) => {
282
- return (
283
- !pendingChanges[params.data.id] ||
284
- pendingChanges[params.data.id].operation !== OperationType.DELETE
285
- );
286
- },
318
+ isRowSelectable: memoizedIsRowSelectable,
287
319
  isEditable: isCellEditable,
288
320
  onGridReady: handleGridReady,
289
321
  onCellValueChanged: handleCellValueChanged,
290
322
  // Grid Layout event handlers - always attached, but with internal enabled check
291
323
  onColumnMoved: gridLayout.onColumnMoved,
292
- onDragStopped: gridLayout.onDragStopped, // Handler pro konec drag operace
293
- onColumnResizing: handleColumnResizing, // Handler pro průběžné resize (NOVÝ)
324
+ onDragStopped: gridLayout.onDragStopped,
325
+ onColumnResizing: handleColumnResizing,
294
326
  onColumnResized: handleColumnResized,
295
327
  onColumnVisible: gridLayout.onColumnVisible,
296
328
  onColumnPinned: gridLayout.onColumnPinned,
297
329
  getRowId: (params) => params.data.id,
298
- // Grid Layout: maintain column order for proper column reordering
299
330
  maintainColumnOrder: true,
300
331
  ...gridOptions,
301
332
  defaultColDef: mergedDefaultColDef,
302
- context: {
303
- componentParent: this,
304
- // Grid Layout context
305
- ...(layoutEnabled && {
306
- gridLayout: {
307
- isLoading: gridLayout.isLoading,
308
- isSaving: gridLayout.isSaving,
309
- hasUnsavedChanges: gridLayout.hasUnsavedChanges,
310
- saveLayout: gridLayout.saveLayout,
311
- resetToDefault: gridLayout.resetToDefault,
312
- reloadLayout: gridLayout.reloadLayout,
313
- openColumnEditor: gridLayout.openColumnEditor // Pro přístup z AG-Grid kontextu
314
- }
315
- })
316
- },
333
+ context: gridContext,
317
334
  ...props,
318
335
  ref: gridRef,
319
- // Použijeme pre-transformované columnDefs které už obsahují AgGridColumns transformaci
320
- // Tím eliminujeme circular dependency - AgGridColumns už je aplikováno v useGridLayout
321
336
  columnDefs: gridLayout.preTransformedColumnDefs || columnDefs,
322
- };
337
+ }), [
338
+ theme,
339
+ items,
340
+ memoizedIsRowSelectable,
341
+ isCellEditable,
342
+ handleGridReady,
343
+ handleCellValueChanged,
344
+ gridLayout.onColumnMoved,
345
+ gridLayout.onDragStopped,
346
+ handleColumnResizing,
347
+ handleColumnResized,
348
+ gridLayout.onColumnVisible,
349
+ gridLayout.onColumnPinned,
350
+ gridOptions,
351
+ mergedDefaultColDef,
352
+ gridContext,
353
+ gridRef,
354
+ gridLayout.preTransformedColumnDefs,
355
+ columnDefs,
356
+ ]);
323
357
 
324
358
  useImperativeHandle(ref, () => ({
325
359
  showColumnEditor: () => {
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.grid",
3
- "version": "0.0.66",
3
+ "version": "0.0.68",
4
4
  "homepage": "https://bit.cloud/remote-scope/ui/grid",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "ui/grid",
9
- "version": "0.0.66"
9
+ "version": "0.0.68"
10
10
  },
11
11
  "dependencies": {
12
12
  "antd": "^5.20.6",
13
13
  "lucide-react": "^0.503.0",
14
14
  "@axa-fr/react-oidc": "7.25.13",
15
- "@bit.rhplus/ag-grid": "0.0.48",
15
+ "@bit.rhplus/ag-grid": "0.0.50",
16
16
  "@bit.rhplus/shared-grid-form": "0.0.7",
17
17
  "@bit.rhplus/ui.grid-layout": "0.0.28"
18
18
  },