@bit.rhplus/ag-grid 0.0.37 → 0.0.39

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.
Files changed (37) hide show
  1. package/Aggregations.js +26 -3
  2. package/BulkEdit/BulkEditButton.jsx +149 -0
  3. package/BulkEdit/BulkEditPopover.jsx +301 -0
  4. package/BulkEdit/BulkEditSelect.jsx +80 -0
  5. package/BulkEdit/index.js +8 -0
  6. package/BulkEdit/useBulkCellEdit.js +348 -0
  7. package/BulkEdit/utils.js +532 -0
  8. package/Renderers/StateRenderer.jsx +17 -11
  9. package/dist/Aggregations.d.ts +2 -1
  10. package/dist/Aggregations.js +19 -2
  11. package/dist/Aggregations.js.map +1 -1
  12. package/dist/BulkEdit/BulkEditButton.d.ts +27 -0
  13. package/dist/BulkEdit/BulkEditButton.js +82 -0
  14. package/dist/BulkEdit/BulkEditButton.js.map +1 -0
  15. package/dist/BulkEdit/BulkEditPopover.d.ts +27 -0
  16. package/dist/BulkEdit/BulkEditPopover.js +122 -0
  17. package/dist/BulkEdit/BulkEditPopover.js.map +1 -0
  18. package/dist/BulkEdit/BulkEditSelect.d.ts +14 -0
  19. package/dist/BulkEdit/BulkEditSelect.js +31 -0
  20. package/dist/BulkEdit/BulkEditSelect.js.map +1 -0
  21. package/dist/BulkEdit/index.d.ts +5 -0
  22. package/dist/BulkEdit/index.js +7 -0
  23. package/dist/BulkEdit/index.js.map +1 -0
  24. package/dist/BulkEdit/useBulkCellEdit.d.ts +1 -0
  25. package/dist/BulkEdit/useBulkCellEdit.js +277 -0
  26. package/dist/BulkEdit/useBulkCellEdit.js.map +1 -0
  27. package/dist/BulkEdit/utils.d.ts +7 -0
  28. package/dist/BulkEdit/utils.js +472 -0
  29. package/dist/BulkEdit/utils.js.map +1 -0
  30. package/dist/Renderers/StateRenderer.js +16 -11
  31. package/dist/Renderers/StateRenderer.js.map +1 -1
  32. package/dist/index.d.ts +1 -0
  33. package/dist/index.js +184 -25
  34. package/dist/index.js.map +1 -1
  35. package/index.jsx +249 -25
  36. package/package.json +5 -4
  37. /package/dist/{preview-1760103803977.js → preview-1760429814166.js} +0 -0
@@ -0,0 +1,532 @@
1
+ /* eslint-disable */
2
+
3
+ /**
4
+ * Zkontroluje, zda je sloupec editovatelný
5
+ * @param {Object} column - AG Grid column objekt
6
+ * @param {Object} gridApi - AG Grid API
7
+ * @returns {boolean} - true pokud je sloupec editovatelný
8
+ */
9
+ export const isColumnEditable = (column, gridApi) => {
10
+ const colDef = column.getColDef();
11
+
12
+ // 1. Pokud je editable funkce, vyhodnotíme ji na prvním řádku
13
+ if (typeof colDef.editable === 'function') {
14
+ const firstNode = gridApi.getDisplayedRowAtIndex(0);
15
+ if (!firstNode) return false;
16
+
17
+ const params = {
18
+ node: firstNode,
19
+ data: firstNode?.data,
20
+ column: column,
21
+ colDef: colDef,
22
+ api: gridApi,
23
+ context: gridApi.gridOptionsService?.gridOptions?.context
24
+ };
25
+ return colDef.editable(params);
26
+ }
27
+
28
+ // 2. Pokud je boolean, přímo vrátíme
29
+ if (typeof colDef.editable === 'boolean') {
30
+ return colDef.editable;
31
+ }
32
+
33
+ // 3. Pokud není definováno, check defaultColDef
34
+ const gridOptions = gridApi.gridOptionsService?.gridOptions;
35
+ const defaultColDef = gridOptions?.defaultColDef;
36
+ if (defaultColDef?.editable !== undefined) {
37
+ if (typeof defaultColDef.editable === 'boolean') {
38
+ return defaultColDef.editable;
39
+ }
40
+ }
41
+
42
+ // 4. Default je false (AG Grid default)
43
+ return false;
44
+ };
45
+
46
+ /**
47
+ * Zkontroluje, zda jsou všechny buňky v range editovatelné
48
+ * @param {Object} range - AG Grid cell range
49
+ * @param {Object} gridApi - AG Grid API
50
+ * @returns {boolean} - true pokud jsou všechny buňky editovatelné
51
+ */
52
+ export const validateRangeEditable = (range, gridApi) => {
53
+ if (!range || !range.columns || range.columns.length === 0) {
54
+ return false;
55
+ }
56
+
57
+ const column = range.columns[0];
58
+ const colDef = column.getColDef();
59
+
60
+ // Pokud je editable funkce, musíme zkontrolovat každý řádek v range
61
+ if (typeof colDef.editable === 'function') {
62
+ const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
63
+ const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
64
+
65
+ // Zkontroluj každý řádek v range
66
+ for (let i = startRow; i <= endRow; i++) {
67
+ const node = gridApi.getDisplayedRowAtIndex(i);
68
+ if (!node) continue;
69
+
70
+ const params = {
71
+ node,
72
+ data: node?.data,
73
+ column,
74
+ colDef,
75
+ api: gridApi,
76
+ context: gridApi.gridOptionsService?.gridOptions?.context
77
+ };
78
+
79
+ if (!colDef.editable(params)) {
80
+ return false; // Pokud aspoň jedna buňka není editovatelná
81
+ }
82
+ }
83
+ return true;
84
+ }
85
+
86
+ // Pro boolean nebo undefined použij isColumnEditable
87
+ return isColumnEditable(column, gridApi);
88
+ };
89
+
90
+ /**
91
+ * Získá pozici poslední buňky v range pro umístění floating buttonu
92
+ * @param {Object} range - AG Grid cell range
93
+ * @param {Object} gridApi - AG Grid API
94
+ * @returns {Object} - {x, y, width, height} pozice
95
+ */
96
+ export const getLastCellPosition = (range, gridApi) => {
97
+ try {
98
+ const endRowIndex = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
99
+ const column = range.columns[0];
100
+ const colId = column.getColId();
101
+
102
+ // Najít DOM element poslední buňky
103
+ const rowElement = document.querySelector(`[row-index="${endRowIndex}"]`);
104
+ if (!rowElement) return null;
105
+
106
+ const cellElement = rowElement.querySelector(`[col-id="${colId}"]`);
107
+ if (!cellElement) return null;
108
+
109
+ const rect = cellElement.getBoundingClientRect();
110
+
111
+ return {
112
+ x: rect.right,
113
+ y: rect.bottom,
114
+ width: rect.width,
115
+ height: rect.height,
116
+ top: rect.top,
117
+ left: rect.left,
118
+ right: rect.right,
119
+ bottom: rect.bottom
120
+ };
121
+ } catch (error) {
122
+ return null;
123
+ }
124
+ };
125
+
126
+ /**
127
+ * Aplikuje hromadné změny na všechny buňky v range
128
+ * @param {Object} range - AG Grid cell range
129
+ * @param {*} newValue - Nová hodnota
130
+ * @param {Object} gridApi - AG Grid API
131
+ * @param {Function} onComplete - Callback po dokončení
132
+ * @returns {Object} - {success, updatedCount, errors}
133
+ */
134
+ export const applyBulkChanges = (range, newValue, gridApi, onComplete) => {
135
+ try {
136
+ const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
137
+ const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
138
+ const column = range.columns[0];
139
+ const field = column.getColDef().field;
140
+
141
+ if (!field) {
142
+ return {
143
+ success: false,
144
+ updatedCount: 0,
145
+ errors: ['Sloupec nemá definované field']
146
+ };
147
+ }
148
+
149
+ const rowsToUpdate = [];
150
+ const errors = [];
151
+
152
+ // Projít všechny řádky v range
153
+ for (let i = startRow; i <= endRow; i++) {
154
+ const node = gridApi.getDisplayedRowAtIndex(i);
155
+ if (!node || !node.data) {
156
+ errors.push(`Řádek ${i}: Node nenalezen`);
157
+ continue;
158
+ }
159
+
160
+ // Vytvoř kopii dat s novou hodnotou
161
+ const updatedData = {
162
+ ...node.data,
163
+ [field]: newValue
164
+ };
165
+
166
+ rowsToUpdate.push(updatedData);
167
+ }
168
+
169
+ // Aplikuj změny pomocí transaction API
170
+ if (rowsToUpdate.length > 0) {
171
+ const result = gridApi.applyTransaction({
172
+ update: rowsToUpdate
173
+ });
174
+
175
+ // Flash efekt pro aktualizované řádky
176
+ setTimeout(() => {
177
+ const updatedNodes = [];
178
+ rowsToUpdate.forEach(data => {
179
+ const node = gridApi.getRowNode(data.id);
180
+ if (node) {
181
+ updatedNodes.push(node);
182
+ }
183
+ });
184
+
185
+ if (updatedNodes.length > 0 && column) {
186
+ gridApi.flashCells({
187
+ rowNodes: updatedNodes,
188
+ columns: [column.getColId()],
189
+ flashDelay: 0,
190
+ fadeDelay: 1000
191
+ });
192
+ }
193
+ }, 100);
194
+
195
+ if (onComplete) {
196
+ onComplete({
197
+ success: true,
198
+ updatedCount: rowsToUpdate.length,
199
+ errors
200
+ });
201
+ }
202
+
203
+ return {
204
+ success: true,
205
+ updatedCount: rowsToUpdate.length,
206
+ errors
207
+ };
208
+ }
209
+
210
+ return {
211
+ success: false,
212
+ updatedCount: 0,
213
+ errors: errors.length > 0 ? errors : ['Žádné řádky k aktualizaci']
214
+ };
215
+ } catch (error) {
216
+ const errorMsg = error?.message || 'Neznámá chyba při aplikaci změn';
217
+ if (onComplete) {
218
+ onComplete({
219
+ success: false,
220
+ updatedCount: 0,
221
+ errors: [errorMsg]
222
+ });
223
+ }
224
+ return {
225
+ success: false,
226
+ updatedCount: 0,
227
+ errors: [errorMsg]
228
+ };
229
+ }
230
+ };
231
+
232
+ /**
233
+ * Validuje hodnotu podle typu sloupce
234
+ * @param {*} value - Hodnota k validaci
235
+ * @param {Object} colDef - Column definition
236
+ * @returns {Object} - {valid, error, parsedValue}
237
+ */
238
+ export const validateValue = (value, colDef) => {
239
+ // Prázdná hodnota
240
+ if (value === '' || value === null || value === undefined) {
241
+ return {
242
+ valid: true,
243
+ parsedValue: null,
244
+ error: null
245
+ };
246
+ }
247
+
248
+ // Detekce typu podle cellDataType nebo cellEditor
249
+ const dataType = colDef.cellDataType || colDef.type;
250
+ const cellEditor = colDef.cellEditor;
251
+
252
+ // Number validace
253
+ if (dataType === 'number' || cellEditor === 'agNumberCellEditor') {
254
+ const numValue = typeof value === 'number' ? value : parseFloat(value);
255
+ if (isNaN(numValue)) {
256
+ return {
257
+ valid: false,
258
+ error: 'Neplatné číslo',
259
+ parsedValue: null
260
+ };
261
+ }
262
+ return {
263
+ valid: true,
264
+ parsedValue: numValue,
265
+ error: null
266
+ };
267
+ }
268
+
269
+ // Date validace
270
+ if (dataType === 'date' || cellEditor === 'agDateCellEditor') {
271
+ const dateValue = new Date(value);
272
+ if (isNaN(dateValue.getTime())) {
273
+ return {
274
+ valid: false,
275
+ error: 'Neplatné datum',
276
+ parsedValue: null
277
+ };
278
+ }
279
+ return {
280
+ valid: true,
281
+ parsedValue: dateValue,
282
+ error: null
283
+ };
284
+ }
285
+
286
+ // Boolean validace
287
+ if (dataType === 'boolean') {
288
+ if (typeof value === 'boolean') {
289
+ return {
290
+ valid: true,
291
+ parsedValue: value,
292
+ error: null
293
+ };
294
+ }
295
+ const strValue = String(value).toLowerCase();
296
+ if (['true', '1', 'ano', 'yes'].includes(strValue)) {
297
+ return { valid: true, parsedValue: true, error: null };
298
+ }
299
+ if (['false', '0', 'ne', 'no'].includes(strValue)) {
300
+ return { valid: true, parsedValue: false, error: null };
301
+ }
302
+ return {
303
+ valid: false,
304
+ error: 'Neplatná boolean hodnota',
305
+ parsedValue: null
306
+ };
307
+ }
308
+
309
+ // Text - vše projde
310
+ return {
311
+ valid: true,
312
+ parsedValue: String(value),
313
+ error: null
314
+ };
315
+ };
316
+
317
+ /**
318
+ * Získá typ inputu podle column definition
319
+ * @param {Object} colDef - Column definition
320
+ * @returns {string} - 'number', 'date', 'text'
321
+ */
322
+ export const getInputType = (colDef) => {
323
+ const dataType = colDef.cellDataType || colDef.type;
324
+ const cellEditor = colDef.cellEditor;
325
+
326
+ if (dataType === 'number' || cellEditor === 'agNumberCellEditor') {
327
+ return 'number';
328
+ }
329
+
330
+ if (dataType === 'date' || cellEditor === 'agDateCellEditor') {
331
+ return 'date';
332
+ }
333
+
334
+ if (dataType === 'boolean') {
335
+ return 'boolean';
336
+ }
337
+
338
+ return 'text';
339
+ };
340
+
341
+ /**
342
+ * Aplikuje hromadné změny s voláním API
343
+ * @param {Object} range - AG Grid cell range
344
+ * @param {*} newValue - Nová hodnota
345
+ * @param {Object} gridApi - AG Grid API
346
+ * @param {Object} bulkEditApi - API konfigurace z colDef
347
+ * @param {string} accessToken - Access token pro API
348
+ * @param {Function} fetchDataUIAsync - Funkce pro volání API
349
+ * @param {Function} onComplete - Callback po dokončení
350
+ * @returns {Object} - {success, updatedCount, error}
351
+ */
352
+ export const applyBulkChangesWithApi = async (
353
+ range,
354
+ newValue,
355
+ gridApi,
356
+ bulkEditApi,
357
+ accessToken,
358
+ fetchDataUIAsync,
359
+ onComplete
360
+ ) => {
361
+ try {
362
+ const startRow = Math.min(range.startRow.rowIndex, range.endRow.rowIndex);
363
+ const endRow = Math.max(range.startRow.rowIndex, range.endRow.rowIndex);
364
+ const column = range.columns[0];
365
+ const field = column.getColDef().field;
366
+
367
+ // Získat IDs a data všech řádků v range
368
+ const ids = [];
369
+ const rows = [];
370
+ for (let i = startRow; i <= endRow; i++) {
371
+ const node = gridApi.getDisplayedRowAtIndex(i);
372
+ if (node?.data) {
373
+ const id = node.data.id;
374
+ if (id !== undefined && id !== null) {
375
+ ids.push(id);
376
+ rows.push(node.data);
377
+ }
378
+ }
379
+ }
380
+
381
+ if (ids.length === 0) {
382
+ return {
383
+ success: false,
384
+ updatedCount: 0,
385
+ error: 'Žádné platné záznamy k aktualizaci'
386
+ };
387
+ }
388
+
389
+ // Sestavit request podle bulkEditApi.mapRequest
390
+ const requestData = bulkEditApi.mapRequest
391
+ ? bulkEditApi.mapRequest(ids, newValue, field, rows)
392
+ : {
393
+ ids,
394
+ patch: [{ op: 'replace', path: `/${field}`, value: newValue }]
395
+ };
396
+
397
+ // Zavolat API
398
+ const response = await fetchDataUIAsync(
399
+ bulkEditApi.endpoint,
400
+ requestData,
401
+ accessToken
402
+ );
403
+
404
+ if (response.success) {
405
+ // Update grid - použít data z response nebo lokálně
406
+ let updatedData;
407
+ if (bulkEditApi.mapResponse) {
408
+ updatedData = bulkEditApi.mapResponse(response.data, ids, rows, field);
409
+ } else if (response.data?.records) {
410
+ // Mapovat response records (id + value) na existující rows
411
+ updatedData = rows.map(row => {
412
+ const responseRecord = response.data.records.find(r => r.id === row.id);
413
+ if (responseRecord) {
414
+ return {
415
+ ...row,
416
+ [field]: responseRecord.value
417
+ };
418
+ }
419
+ // Fallback - použít newValue
420
+ return {
421
+ ...row,
422
+ [field]: newValue
423
+ };
424
+ });
425
+ } else {
426
+ // Fallback - lokální update
427
+ updatedData = rows.map(row => ({
428
+ ...row,
429
+ [field]: newValue
430
+ }));
431
+ }
432
+
433
+ // Aplikovat změny do gridu
434
+ if (updatedData && updatedData.length > 0) {
435
+ gridApi.applyTransaction({ update: updatedData });
436
+ }
437
+
438
+ // Flash efekt
439
+ setTimeout(() => {
440
+ const updatedNodes = [];
441
+ ids.forEach(id => {
442
+ // Najít node podle id
443
+ let node = gridApi.getRowNode(id);
444
+ if (!node) {
445
+ // Fallback - hledat v datech
446
+ gridApi.forEachNode(n => {
447
+ if (n.data?.id === id) {
448
+ node = n;
449
+ }
450
+ });
451
+ }
452
+ if (node) {
453
+ updatedNodes.push(node);
454
+ }
455
+ });
456
+
457
+ if (updatedNodes.length > 0 && column) {
458
+ gridApi.flashCells({
459
+ rowNodes: updatedNodes,
460
+ columns: [column.getColId()],
461
+ flashDelay: 0,
462
+ fadeDelay: 1000
463
+ });
464
+ }
465
+ }, 100);
466
+
467
+ // Success callback
468
+ if (bulkEditApi.onSuccess) {
469
+ bulkEditApi.onSuccess(response.data, ids, rows);
470
+ }
471
+
472
+ if (onComplete) {
473
+ onComplete({
474
+ success: true,
475
+ updatedCount: ids.length,
476
+ data: response.data
477
+ });
478
+ }
479
+
480
+ return {
481
+ success: true,
482
+ updatedCount: ids.length,
483
+ data: response.data
484
+ };
485
+ } else {
486
+ // Error handling
487
+ const errorMessage = response.error?.message ||
488
+ response.message ||
489
+ 'Chyba při ukládání';
490
+
491
+ // Error callback
492
+ if (bulkEditApi.onError) {
493
+ bulkEditApi.onError(response.error, ids, rows);
494
+ }
495
+
496
+ if (onComplete) {
497
+ onComplete({
498
+ success: false,
499
+ updatedCount: 0,
500
+ error: errorMessage
501
+ });
502
+ }
503
+
504
+ return {
505
+ success: false,
506
+ updatedCount: 0,
507
+ error: errorMessage
508
+ };
509
+ }
510
+ } catch (error) {
511
+ const errorMessage = error?.message || 'Neznámá chyba';
512
+
513
+ // Error callback
514
+ if (bulkEditApi.onError) {
515
+ bulkEditApi.onError(error, [], []);
516
+ }
517
+
518
+ if (onComplete) {
519
+ onComplete({
520
+ success: false,
521
+ updatedCount: 0,
522
+ error: errorMessage
523
+ });
524
+ }
525
+
526
+ return {
527
+ success: false,
528
+ updatedCount: 0,
529
+ error: errorMessage
530
+ };
531
+ }
532
+ };
@@ -16,14 +16,20 @@ export default function StateRenderer(props) {
16
16
  visibleGetter = () => true,
17
17
  cellAlign = 'center',
18
18
  bgColor, // Barva pozadí nebo funkce vracející barvu
19
- textColor = 'white', // Barva textu nebo funkce vracející barvu
19
+ color, // Barva textu nebo funkce vracející barvu (nový název)
20
+ textColor, // Barva textu (starý název - zpětná kompatibilita)
20
21
  bgColorField, // Název pole obsahujícího barvu pozadí
21
- textColorField, // Název pole obsahujícího barvu textu
22
+ colorField, // Název pole obsahujícího barvu textu (nový název)
23
+ textColorField, // Název pole obsahujícího barvu textu (starý název - zpětná kompatibilita)
22
24
  displayField, // Pole pro zobrazení textu
23
25
  minWidth = 80, // Minimální šířka kruhového pozadí
24
26
  fontSize = 12, // Velikost fontu
25
27
  showOnGroup = false, // Zda zobrazit na skupinových řádcích
26
28
  } = stateRendererParams;
29
+
30
+ // Použít nový název s fallbackem na starý pro zpětnou kompatibilitu
31
+ const finalColor = color || textColor || 'white';
32
+ const finalColorField = colorField || textColorField;
27
33
 
28
34
  const visibleResult = visibleGetter ? visibleGetter(data) : true;
29
35
 
@@ -46,21 +52,21 @@ export default function StateRenderer(props) {
46
52
  };
47
53
 
48
54
  const getTextColor = () => {
49
- // Priorita: textColorField (hodnota z dat) -> textColor (funkce nebo string)
50
- if (textColorField && data) {
51
- const fieldValue = getValueByPath(data, textColorField);
55
+ // Priorita: colorField/textColorField (hodnota z dat) -> color/textColor (funkce nebo string)
56
+ if (finalColorField && data) {
57
+ const fieldValue = getValueByPath(data, finalColorField);
52
58
  if (fieldValue) return fieldValue;
53
59
  }
54
60
 
55
- if (!textColor) return 'white'; // default barva
61
+ if (!finalColor) return 'white'; // default barva
56
62
 
57
- // Pokud je textColor funkce, zavolej ji s daty
58
- if (typeof textColor === 'function') {
59
- return textColor({ data, value, props });
63
+ // Pokud je finalColor funkce, zavolej ji s daty
64
+ if (typeof finalColor === 'function') {
65
+ return finalColor({ data, value, props });
60
66
  }
61
67
 
62
- // Pokud je textColor string/hodnota
63
- return textColor;
68
+ // Pokud je finalColor string/hodnota
69
+ return finalColor;
64
70
  };
65
71
 
66
72
  const getDisplayText = () => {
@@ -1 +1,2 @@
1
- export default function Aggregations(gridRef: any): {};
1
+ export default function Aggregations(gridRef: any): any;
2
+ export function hashRanges(ranges: any): any;
@@ -49,8 +49,24 @@ const isValidDate = value => {
49
49
  }
50
50
  return typeValid;
51
51
  };
52
+ // Cache pro optimalizaci výpočtů
53
+ let cachedAggregations = null;
54
+ let cachedRangeHash = null;
55
+ // Jednoduchý hash funkce pro rychlé porovnání ranges
56
+ export const hashRanges = (ranges) => {
57
+ if (!ranges || ranges.length === 0)
58
+ return null;
59
+ return ranges.map(r => `${r.startRow?.rowIndex}-${r.endRow?.rowIndex}-${r.columns?.length}-${r.columns?.[0]?.colId}`).join('|');
60
+ };
52
61
  export default function Aggregations(gridRef) {
53
62
  const ranges = gridRef.current.api.getCellRanges();
63
+ if (!ranges[0] || !ranges[0].startRow)
64
+ return {};
65
+ // Cache check - vrátit cache pokud se ranges nezměnily
66
+ const rangeHash = hashRanges(ranges);
67
+ if (cachedRangeHash === rangeHash && cachedAggregations) {
68
+ return cachedAggregations;
69
+ }
54
70
  let sum = 0;
55
71
  let min = null;
56
72
  let max = null;
@@ -67,8 +83,6 @@ export default function Aggregations(gridRef) {
67
83
  let textValues = []; // Pro frekvenční analýzu textových hodnot
68
84
  let dateCount = 0;
69
85
  let currencyMap = {}; // Pro sledování měn
70
- if (!ranges[0] || !ranges[0].startRow)
71
- return {};
72
86
  const startRow = Math.min(ranges[0].startRow.rowIndex, ranges[0].endRow.rowIndex);
73
87
  const domensionRanges = Enumerable.from(ranges).where(w => rangeContainsRowIndex(w, startRow)).toArray();
74
88
  const dimensions = getDimensionDefinition(domensionRanges);
@@ -237,6 +251,9 @@ export default function Aggregations(gridRef) {
237
251
  rows: [...sumRows].length,
238
252
  cols: [...sumCols].length
239
253
  };
254
+ // Uložit do cache
255
+ cachedAggregations = result;
256
+ cachedRangeHash = rangeHash;
240
257
  return result;
241
258
  // ranges.map(item => {
242
259
  // var start = Math.min(item.startRow.rowIndex, item.endRow.rowIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"Aggregations.js","sourceRoot":"","sources":["../Aggregations.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aggregations.js","sourceRoot":"","sources":["../Aggregations.js"],"names":[],"mappings":"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"}